package ocaml-protoc

  1. Overview
  2. Docs
Pure OCaml compiler for .proto files

Install

Dune Dependency

Authors

Maintainers

Sources

ocaml-protoc-3.1.tbz
sha256=4bd16bb119f5c55a9d5e906173d8611cb7664a0c926f108077eb05f1ceb7de03
sha512=01266efcc926dd7042e9eddc874b0c41c65688b36ec3e30756a69e09d6cc57eaa8d4a043015b668a2e61cc45cac7efa51cdbad06757a98a55ff53416af98c44d

doc/ocaml-protoc.compiler-lib/Ocaml_protoc_compiler_lib/Pb_typing_recursion/index.html

Module Ocaml_protoc_compiler_lib.Pb_typing_recursionSource

Mutually recursive type resolution

The protobuf syntax allows the definition of mutually recursive types, however this declaration is implicit (ie no dedicated syntax to group together types which are mutually recursive).

OCaml requires mutually recursive types to be defined with an explicit syntax (using the and keyword), therefore it is necessary to find all the mutually recursive protobuf types.

This module performs the recursion analysis using the Tarjan graph algorithm to find all the Strongly Connnected Components.

group types returns the list of all the mutually recursive group of types in reverse order of dependency. In other the last group of types of the returned list don't depend on any other types.

OCaml

Innovation. Community. Security.