"55.5.0+dev0-2025-04-28/%Parse.implementationx@&Stdlib&Lexing&lexbuf@@@@@A)Parsetree)structure@@@@@@B@7../../parsing/parse.mliWW@@%ParseB@@)interfacey@&Stdlib&Lexing&lexbuf@@@C@@E)Parsetree)signature@@@D@@F@!X"X @@ C@@/toplevel_phrasez@&Stdlib&Lexing&lexbuf@@@G@@I)Parsetree/toplevel_phrase@@@H@@J@@Y!!AY!a@@?D@@(use_file{@&Stdlib&Lexing&lexbuf@@@K@@O$list)Parsetree/toplevel_phrase@@@L@@@N@@P@fZbbgZb@@eE@@)core_type|@&Stdlib&Lexing&lexbuf@@@Q@@S)Parsetree)core_type@@@R@@T@[[@@F@@*expression}@&Stdlib&Lexing&lexbuf@@@U@@W)Parsetree*expression@@@V@@X@\\ @@G@@'pattern~@&Stdlib&Lexing&lexbuf@@@Y@@[)Parsetree'pattern@@@Z@@\@]  ] =@@H@@+module_type@&Stdlib&Lexing&lexbuf@@@]@@_)Parsetree+module_type@@@^@@`@^>>^>v@@I@@+module_expr@&Stdlib&Lexing&lexbuf@@@a@@c)Parsetree+module_expr@@@b@@d@_ww_w@@J@@)longident@&Stdlib&Lexing&lexbuf@@@e@@)Longident!t@@@@@@ c!c@@K@@)val_ident@&Stdlib&Lexing&lexbuf@@@@@)Longident!t@@@@@@?v O O@v O z@@>L@@,constr_ident@&Stdlib&Lexing&lexbuf@@@@@)Longident!t@@@@@@^A  _A  @@]M@@2simple_module_path@&Stdlib&Lexing&lexbuf@@@@@)Longident!t@@@@@@}P~PI@@|N@@4extended_module_path@&Stdlib&Lexing&lexbuf@@@@@)Longident!t@@@@@@[mm[m@@O@@*type_ident@&Stdlib&Lexing&lexbuf@@@@@)Longident!t@@@@@@ee@@P@@@3:Entry points in the parser@# (Warning:@ ' this module is unstable and part of -Compiler_libs@-compiler-libs@!.@@@@@@@@@@@@Aِ4Parse.implementation@@ @@@@栕/Parse.interface@@ @@@@Π5Parse.toplevel_phrase@@@@@@.Parse.use_file@@@@@@/Parse.core_type@@%@@@@0Parse.expression@@.@@@@o-Parse.pattern@j@7k@@@@Y1Parse.module_type@T@@U@@@@C1Parse.module_expr@>@I?@@@@- :The functions below can be used to parse Longident safely.@/Parse.longident3-The function )longident - is guaranteed to parse all subclasses of +Longident.t@@ d used in OCaml: values, constructors, simple or extended module paths, and types or module types.@ However, this function accepts inputs which are not accepted by the compiler, because they combine functor applications and infix operators. In valid OCaml syntax, only value-level identifiers may end with infix operators )Foo.( + ) :. Moreover, in value-level identifiers the module path #Foo4 must be simple (#M.N- rather than $F(X) j): functor applications may only appear in type-level identifiers. As a consequence, a path such as *F(X).( + ) I is not a valid OCaml identifier; but it is accepted by this function.@@@@@@@@@@@@a@b@@@@P 4The next functions are specialized to a subclass of +Longident.t@@@/Parse.val_ident3 NThis function parses a syntactically valid path for a value. For instance, !x", #M.x&, and $(+.)8 are valid. Contrarily, #M.A", &F(X).x&, and $true1 are rejected.@ a Longident for OCaml's value cannot contain functor application. The last component of the +Longident.t@@ / is not capitalized, but can be an operator 8A.Path.To.(.%.%.(;..)<-)@@@@@@@@@@@@@@@@@y2Parse.constr_ident3 \This function parses a syntactically valid path for a variant constructor. For instance, !A", #M.A% and &M.(::)5 are valid, but both #M.a( and &F(X).A. are rejected.@ s Longident for OCaml's variant constructors cannot contain functor application. The last component of the +Longident.t@@ ? is capitalized, or it may be one the special constructors: $true!,%false!,"()!,"[]!,$(::) ,. Among those special constructors, only $(::) & can be prefixed by a module path (*A.B.C.(::)").@@@@@@@@@@@@@4@@@@8Parse.simple_module_path3 OThis function parses a syntactically valid path for a module. For instance, !A&, and #M.A5 are valid, but both #M.a( and &F(X).A. are rejected.@ b Longident for OCaml's module cannot contain functor application. The last component of the +Longident.t@@0 is capitalized.@@@@@@@@@@@@@e@@@@͠:Parse.extended_module_path3 VThis function parse syntactically valid path for an extended module. For instance, #A.B% and &F(A).B; are valid. Contrarily, &(.%())$ or "[]3 are both rejected.@> The last component of the +Longident.t@@0 is capitalized.@@@@@@@@@@@@@@@@@ߠ0Parse.type_ident3 [This function parse syntactically valid path for a type or a module type. For instance, !A", !t", #M.t% and &F(X).t; are valid. Contrarily, &(.%())$ or "[]3 are both rejected.@ _ In path for type and module types, only operators and special constructors are rejected.@@@@@@@@@@@@@ @@@@@@@@A)Parsetree)Longident&Lexing@@@@@