package ocaml-protoc
sectionYPositions = computeSectionYPositions($el), 10)"
x-init="setTimeout(() => sectionYPositions = computeSectionYPositions($el), 10)"
>
Pure OCaml compiler for .proto files
Install
dune-project
Dependency
Authors
Maintainers
Sources
ocaml-protoc-4.1.tbz
sha256=89ea27f87d96fda79fd7a8f86a9e3ac978bdaa9c2ab989442d110123104bed3f
sha512=d5910fa17d60754c0ba273e4fa96137bb1129fbbc235a6601960a1cafb2ef41627b06a6486e539c5b206b73c249fe834ba910b2ce741d5f8ded137f042bbce4d
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.
Source
val group :
Pb_field_type.resolved Tt.proto_type list ->
Pb_field_type.resolved Tt.proto_type list listgroup 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.
sectionYPositions = computeSectionYPositions($el), 10)"
x-init="setTimeout(() => sectionYPositions = computeSectionYPositions($el), 10)"
>