Caml1999I037*Docstrings$init @$unitF@@@k@@@l@@m@6parsing/docstrings.mliXX@@@@@3warn_bad_docstrings @@@@n@@@o@@p@[..[.T@@*A@@)docstring ;@@@A@@@@@``@@@@4B@A@)docstring @&stringQ@@@q@(Location!t@@@r"@@@s@@t@@u@=c>c@@SC@@(register @@@@vU@@@w@@x@OfPf$@@eD@@.docstring_body@!@@@y4@@@z@@{@aiIIbiIq@@wE@@-docstring_loc@3@@@|>!t@@@}@@~@ulvl@@F@@2set_pre_docstrings@&Stdlib&Lexing(position@@@@$listKY@@@@@@@@@@@@@@trrtr@@G@@3set_post_docstrings@%&Lexing(position@@@@"y@@@@@@@@@@@@@@ww)@@H@@7set_floating_docstrings@E&Lexing(position@@@@B@@@@@@@@@@@@@@zaaza@@I@@8set_pre_extra_docstrings@e&Lexing(position@@@@b@@@@@@@@@@@@@@}} <@@J@@9set_post_extra_docstrings@&Lexing(position@@@@@@@@@@ @@@@@@@@@  @  @@0K@@$docs;@@(docs_pre|@@&optionL@@@@@@2G 4 83G 4 S@@HM@)docs_post}@@@@@@@@BH T XCH T t@@XN@@@A@@@@@FF ( (GH T v@@@@\L@A@*empty_docs2@@@@SJ x xTJ x @@iO@@)docs_attr@%@@@)Parsetree)attribute@@@@@@iL  jL  @@R@@.add_docs_attrs@%@@@@*attributes@@@*attributes@@@@@@@@P  P  `@@S@@+symbol_docs@@@@E@@@@@@T  T  @@T@@0symbol_docs_lazy@@@@&$Lazy!t^@@@@@@@@@U  U  (@@U@@(rhs_docs@#intA@@@@@@@y@@@@@@@@Z  Z  @@V@@-rhs_docs_lazy@@@@@ @@@`$Lazy!t@@@@@@@@@@@[  [  @@W@@0mark_symbol_docs@@@@@@@@@@_ c c_ c @@X@@-mark_rhs_docs@M@@@@S@@@@@@@@@@@c  c "@@-Y@@$info;@@@A@@@@@@@@@@*j+j@@@@@Z@A@*empty_info @@@@7l8l@@M[@@)info_attr!@ @@@)attribute@@@@@@KnLn@@a\@@.add_info_attrs"@#@@@@*attributes@@@*attributes@@@@@@@@grTThrT@@}]@@+symbol_info#@|@@@C@@@@@@yuzu@@^@@(rhs_info$@@@@U@@@@@@x99x9S@@_@@$text%;@@@A a@@@@@@@@@@@@@@`@A@*empty_text&@@@@@@a@@/empty_text_lazy'4$Lazy!t@@@@@@@@@b@@)text_attr(@@@@l)attribute@@@@@@   P@@c@@.add_text_attrs)@7@@@@*attributes@@@*attributes@@@@@@@@@@d@@+symbol_text*@@@@W@@@@@@3@@e@@0symbol_text_lazy+@@@@$Lazy!tp@@@@@@@@@444^@@1f@@(rhs_text,@j@@@@@@@@@-.@@Cg@@-rhs_text_lazy-@|@@@$Lazy!t@@@@@@@@@GH@@]h@@5symbol_pre_extra_text.@\@@@@@@@@@YZD@@oi@@6symbol_post_extra_text/@n@@@@@@@@@kl@@j@@2rhs_pre_extra_text0@@@@@@@@@@}~@@k@@3rhs_post_extra_text1@@@@@@@@@@aaa@@l@@-rhs_post_text2@@@@@@@@@@@@m@@Ӡ*WithMenhir3@+symbol_docs4@@6&Lexing(position@@@)@?&Lexing(position@@@(@@*w@@@+@@,@zzz@@n@@0symbol_docs_lazy5@@X&Lexing(position@@@.@a&Lexing(position@@@-@@/h$Lazy!t@@@0@@@1@@2@@@ o@@(rhs_docs6@~&Lexing(position@@@3@&Lexing(position@@@4@@@5@@6@@7@@@'p@@-rhs_docs_lazy7@&Lexing(position@@@8@&Lexing(position@@@9$Lazy!t@@@:@@@;@@<@@=@78@@Mq@@0mark_symbol_docs8@@&Lexing(position@@@?@&Lexing(position@@@>@@@`@@@A@@B@Zhh[h@@pr@@-mark_rhs_docs9@&Lexing(position@@@C@&Lexing(position@@@D@@@E@@F@@G@yz\@@s@@+symbol_info:@&Lexing(position@@@HX@@@I@@J@@@t@@(rhs_info;@&Lexing(position@@@Km@@@L@@M@)@@u@@+symbol_text<@.&Lexing(position@@@N@@@O@@P@___@@v@@0symbol_text_lazy=@C&Lexing(position@@@QJ$Lazy!t*@@@R@@@S@@T@@@w@@(rhs_text>@`&Lexing(position@@@U@@@@V@@W@(@@x@@-rhs_text_lazy?@u&Lexing(position@@@X|$Lazy!t\@@@Y@@@Z@@[@)))[@@y@@5symbol_pre_extra_text@@&Lexing(position@@@\r@@@]@@^@@@2z@@6symbol_post_extra_textA@&Lexing(position@@@_@@@`@@a@127@@G{@@2rhs_pre_extra_textB@&Lexing(position@@@b@@@c@@d@FG@@\|@@3rhs_post_extra_textC@&Lexing(position@@@e@@@f@@g@[\,@@q}@@-rhs_post_textD@&Lexing(position@@@h@@@i@@j@pkkqk@@~@@@@tu@@@@@q_b*Docstrings0IN$W-Ԡ(Warnings0mJɒkgrn{T8cئ@@@Caml1999T037e_*C*Docstrings*ocaml.text&_none_@@A p Documentation comments {b Warning:} this module is unstable and part of {{!Compiler_libs}compiler-libs}. 6parsing/docstrings.mliP77U@@@@@@3@@@@@@#intA;@@@A@@@@@:@A@$charB;@@A@@@@@>@A@&stringQ;@@ A@@@@@B@@@%bytesC;@@ A@@@@@F@@@%floatD;@@A@@@@@J@@@$boolE;@@%falsec@@T@$trued@@Z@@@A@@@@@[@A@$unitF;@@"()e@@e@@@A@@@@@f@A@ #exnG;@@@A@@@@@j@@@#effH;@@O@A@A@@@@@@s@@@,continuationI;@@Q@@P@B@A@nY@@@@@@@@@%arrayJ;@@R@A@A@@@@@@@@@ $listK;@@S@A"[]f@@@"::g@@@T@@@ @@A@Y@@@@@@@@&optionL;@@V@A$Noneh@@@$Somei@@@@@A@Y@@@@@@@@)nativeintM;@@A@@@@@@@@%int32N;@@A@@@@@@@@%int64O;@@A@@@@@@@@&lazy_tP;@@X@AJA@Y@@@@@@@@5extension_constructorR;@@A@@@@@@@@*floatarrayS;@@A@@@@@@@@&iarrayT;@@Y@A[A@Y@@@@@@@@*atomic_locU;@@Z@AdA@@@@@@@@@.Assert_failure`#@@@@@J@@@@@@@@[@@A=ocaml.warn_on_literal_pattern @ @0Division_by_zero]#@@@A  @+End_of_file\#$@@@A@'FailureY#,@'@@A!$$@0Invalid_argumentX#5@0@@A*$-#-@-Match_failureV#>@@=@9@;@@a@@A;5>4>@)Not_foundZ#O@@@AC=F<F@-Out_of_memoryW#W@@@AKENDN@.Stack_overflow^#_@@@ASMVLV@.Sys_blocked_io_#g@@@A[U^T^@)Sys_error[#o@j@@Ad^g]g@:Undefined_recursive_modulea#x@@w@s@u@@h@@Auoxnx@:Continuation_already_takenb#@@@A}wv@&Stdlib@Ax$initXX@б@г7$unitXX@@ @@@@@гD$unitXX@@ @@@@@@@@@@@X @)ocaml.doc $ (Re)Initialise all docstring state WW@@@@@@@@@@@Ő@@@@@@3warn_bad_docstrings[.2[.E@б@г$unit[.H[.L@@ @@@3@_:@A@@г$unit[.P[.T@@ @@@@@@@@@@@[.. @K 7 Emit warnings for unattached and ambiguous docstrings ZZ-@@@@@@@A@@@[@@@@@@10 {2 Docstrings} ]VV]Vk@@@@@@3@CX1@AA+)docstringA%`&`@@;@@@A@@@@@*`@8 Documentation comments 7_mm8_m@@@@@@@@@PB@@@A@J@@@@@@@+ @)docstringZNcOc@б@г#&stringYcZc@@ @@@3[ZZ[[[[[@E?9@A@@б@г(Location!t(Locationpcqc@ tcuc@@@@@@ @@г])docstringcc@@ @@@)@@@@@,@@@2@@/5 @@@c@4 Create a docstring bb@@@@@@@C@@@@@@@@@N(register[ff@б@г)docstringff@@ @@@3@g|8@A@@г{$unitf f$@@ @@@@@@@@@@@f @76 Register a docstring ee@@@@@@@D@@@G@@@@@@1.docstring_body\iIMiI[@б@г㠐)docstringiI^ iIg@@ @@@3        @J_8@A@@г᠐&stringiIkiIq@@ @@@@@@@@@@@"iII @= Get the text of a docstring /h&&0h&H@@@@@@@HE@@@C@@@@@@1-docstring_loc]FlGl@б@г,)docstringQlRl@@ @@@3SRRSSSSS@J_8@A@@г!t(Locationdlel@ hlil@@@@@@  @@@@@ ! @@@tl @Ґ ! Get the location of a docstring kssks@@@@@@@F@@@@@@@@@: t {2 Set functions} These functions are used by the lexer to associate docstrings to the locations of tokens. nq"@@@@@@@3@La1@A2set_pre_docstringsvtrvtr@б@г?&Lexing(positiontrtr@ trtr@@@@@@ # @@б@гJ$listtrtr@г)docstringtrtr@@ @@@ <@@@@@@ A @@г$unittrtr@@ @@@ N@@@@@ Q@@@4@@ T< @@@trr@V * Docstrings immediately preceding a token sBBsBq@@@@@@@G@@@f@@@@@@s3set_post_docstringswww@б@г&Lexing(position+w,w@ /w0w@@@@@@ 321122222@A@A @@б@г$listAwBw!@г&)docstringKwLw@@ @@@ @@@@@@   @@г $unit]w%^w)@@ @@@ -@@@@@ 0@@@6@@ 3> @@@kw@ɐ * Docstrings immediately following a token xvyv@@@@@@@H@@@@@@@@@R7set_floating_docstringsxzaeza|@б@г#&Lexing(positionzaza@ zaza@@@@@@ !3@tA@A @@б@г0$listzaza@г)docstringzaza@@ @@@ "@@@@@@ $  @@г}$unitzaza@@ @@@ %-@@@@@ &0@@@6@@ '3> @@@zaa@< 0 Docstrings not immediately adjacent to a token y++y+`@@@@@@@I@@@L@@@@@@R8set_pre_extra_docstringsy}} @б@г&Lexing(position} } @ } } "@@@@@@ (3@tA@A @@б@г$list'} 0(} 4@г )docstring1} &2} /@@ @@@ )@@@@@@ +  @@г$unitC} 8D} <@@ @@@ ,-@@@@@ -0@@@6@@ .3> @@@Q}@ D Docstrings immediately following the token which precedes this one ^|_|@@@@@@@wJ@@@r@@@@@@R9set_post_extra_docstringszu@  v@  @б@г &Lexing(position@  @  @ @  @  @@@@@@ /3@tA@A @@б@г$list@  @  @г)docstring@  @  @@ @@@ 0@@@@@@ 2  @@гc$unit@  @  @@ @@@ 3-@@@@@ 40@@@6@@ 53> @@@@  @" C Docstrings immediately preceding the token which follows this one  > > > @@@@@@@K@@@2吠@@@@@@R򐠠 O {2 Items} The {!docs} type represents documentation attached to an item. B  D  &@@@@@@3@d1@AA+$docs{BF ( -F ( 1@@;@@(docs_pre|@@j@@@ 6@@@ 8G 4 8G 4 S@@'M@)docs_post}@@{@@@ ;@@@ =H T X H T t@@8N@@@A@@@@@#F ( ($H T v@@@@G 4 K@@73<;;<<<<<@OI;@@@A@@@@@!@@@@A@@@@@@C@@ 9@:@#66,KH T a@+@@Ш@г9&optionTH T mUH T s@г>)docstring]H T c^H T l@@F @@@K! @@N@@ >$@E@@A@A@@rA@@*empty_docs~lJ x |mJ x @гy$docsuJ x vJ x @@ @@@ O3wvvwwwww@~@A@@@J x x @@O@@ @@)docs_attr͠L  L  @б@гp)docstringL  L  @@ @@@ P3@!4@A@@г)Parsetree)attribute)ParsetreeL  L  @ L  L  @@@@@@ @@@ @@# @@@L   @@R@@@@#.add_docs_attrsΠP  P  )@б@гԠ$docsP  ,P  0@@ @@@3@<Q@A@@б@г=*attributes)ParsetreeP  4P  =@ P  >P  H@@@@@@ @@гS*attributes)ParsetreeP  LP  U@ P  VP  `@@@@@@0 @@@@@3$ @@@9@@6< @@@P  @l P Convert item documentation to attributes and add them to an attribute list N  O  @@@@@@@4S@@@|/@@@@@@U+symbol_docsϠ2T  3T  @б@гꠐ$unit=T  >T  @@ @@@3?>>?????@n8@A@@гP$docsLT  MT  @@ @@@@@@@@@@@WT   @ w Fetch the item documentation for the current symbol. This also marks this documentation (for ambiguity warnings). dR b beS  @@@@@@@}T@@@x@@@@@@10symbol_docs_lazy٠{U  |U  @б@г3$unitU  U  @@ @@@3@J_8@A@@г$Lazy!tU  "U  &@ U  'U  (@@г$docsU  U  !@@ @@@"@@@ @@@' @@@-@@*0@@@U  @@U@@@@0(rhs_docsڠZ  Z  @б@г#intZ  Z  @@ @@@3@I^@A@@б@г#intZ  Z  @@ @@@@@г$docsZ  Z  @@ @@@@@@@@!@@@'@@$* @@@Z  @X Fetch the item documentation for the symbols between two positions. This also marks this documentation (for ambiguity warnings). W * *Y  @@@@@@@ V@@@h@@@@@@C-rhs_docs_lazy۠[  [  @б@г#int)[  *[  @@ @@@3+**+++++@\q8@A@@б@г #int:[  ;[  @@ @@@@@г$Lazy!tK[  L[  @ O[  P[  @@г^$docsZ[  [[  @@ @@@1@@@ @@@6 @@@+@@9.@@@?@@<B@@@m[  @@W@@ @@B0mark_symbol_docsܠx_ c gy_ c w@б@г0$unit_ c z_ c ~@@ @@@3@[p@A@@г?$unit_ c _ c @@ @@@@@@@@@@@_ c c @ R Mark the item documentation for the current symbol (for ambiguity warnings). ]  ^ Q b@@@@@@@X@@@ @@@@@@1-mark_rhs_docsݠc c  @б@г#intc c @@ @@@ 3@J_8@A@@б@г#intc c @@ @@@ @@г$unitc c "@@ @@@ @@@@@ !@@@'@@ $* @@@c  @V n Mark as associated the item documentation for the symbols between two positions (for ambiguity warnings)  a   b  @@@@@@@ Y@@@f @@@@@@C ' & t {2 Fields and constructors} The {!info} type represents documentation attached to a field or constructor.  #e$$ $h@@@@@@3 " ! ! " " " " "@Uj1@AA+$infoC 0j 1j@@;@@ A@@@@@@@@@@ >j ?j@@@@ WZ@@@Aг&option Hj @г)docstring Pj Qj@@3 O N N O O O O O@.(;@@@A0@@@@@@@@ @@@@A @@@*  @@"@@:"!@*empty_infoߠ hl il@гA$info ql rl@@ @@@3 s r r s s s s s@RLF@A@@@ {l @@ [@@ @@)info_attr n n@б@гl)docstring n n@@ @@@3        @!4@A@@г)attribute)Parsetree n n@  n n@@@@@@ @@@@@! @@@ n @@ \@@@@!.add_info_attrs rTX rTf@б@г$info rTi rTm@@ @@@ 3        @:O@A@@б@г7*attributes)Parsetree rTq rTz@  rT{ rT@@@@@@! @@гM*attributes)Parsetree rT rT@  rT rT@@@@@@"0 @@@@@#3$ @@@9@@$6< @@@ rTT@f H Convert field info to attributes and add them to an attribute list  p q>S@@@@@@@ .]@@@v )@@@@@@U+symbol_info ,u -u@б@г 䠐$unit 7u 8u@@ @@@%3 9 8 8 9 9 9 9 9@n8@A@@г$info Fu Gu@@ @@@&@@@@@'@@@ Qu @ . Fetch the field info for the current symbol.  ^t _t@@@@@@@ w^@@@ r@@@@@@1(rhs_info ux9= vx9E@б@г S#int x9H x9K@@ @@@(3        @J_8@A@@г_$info x9O x9S@@ @@@)@@@@@*@@@ x99 @ @ Fetch the field info following the symbol at a given position.  w w8@@@@@@@ _@@@  @@@@@@1  Ȑ o {2 Unattached comments} The {!text} type represents documentation which is not attached to anything.  zUU }@@@@@@3        @CX1@AA+$textD  @@;@@A Y@@@,@@@.@@@@  @@@@ `@@@Aг$list  @г)docstring  @@3        @.(;@@@A0@@@5@+@@@@ @@@@A @@@*  @@"@@:"!@*empty_text  @гA$text  @@ @@@93        @RLF@A@@@  @@ 5a@@ @@/empty_text_lazy ( )@г $Lazy!t 5 6@  9 :@@гr$text D E@@ @@@:3 F E E F F F F F@2E0@A@@@" @@@< @@@ S@@ kb@@@@ )text_attr ^ $ _ -@б@г D)docstring i 0 j 9@@ @@@=3 k j j k k k k k@&L@A@@г)attribute)Parsetree | = } F@   G  P@@@@@@> @@@@@?! @@@    @@ c@@@@!.add_text_attrs  @б@гР$text  @@ @@@@3        @:O@A@@б@г*attributes)Parsetree  @   @@@@@@A @@г%*attributes)Parsetree  @   @@@@@@B0 @@@@@C3$ @@@9@@D6< @@@ @ > > Convert text to attributes and add them to an attribute list  RR R@@@@@@@ d@@@ N @@@@@@U+symbol_text  $@б@г $unit ' +@@ @@@E3        @n8@A@@гL$text / 3@@ @@@F@@@@@G@@@ ) @ . Fetch the text preceding the current symbol.  6 7@@@@@@@ Oe@@@  J@@@@@@10symbol_text_lazy M48 N4H@б@г $unit X4K Y4O@@ @@@H3 Z Y Y Z Z Z Z Z@J_8@A@@г $Lazy!t k4X l4\@  o4] p4^@@г$text z4S {4W@@ @@@I"@@@ @@@K' @@@-@@L*0@@@ 44@@ f@@@@0(rhs_text  @б@г s#int  @@ @@@M3        @I^@A@@гݠ$text  @@ @@@N@@@@@O@@@  @  < Fetch the text preceding the symbol at the given position.  `` `@@@@@@@ g@@@ ( ې@@@@@@1-rhs_text_lazy  @б@г #int  @@ @@@P3        @J_8@A@@г $Lazy!t  @   @@г9$text  @@ @@@Q"@@@ @@@S' @@@-@@T*0@@@ @@ 3h@@@@0 1 0 {2 Extra text} There may be additional text attached to the delimiters of a block (e.g. [struct] and [end]). This is fetched by the following functions, which are applied to the contents of the block rather than the delimiters.  - .@@@@@@3 , + + , , , , ,@BW@A5symbol_pre_extra_text 9  :5@б@г $unit D8 E<@@ @@@U@@г$text Q@ RD@@ @@@V'@@@@@W*@@@ \ @ 4 Fetch additional text preceding the current symbol  i j@@@@@@@ i@@@  }@@@@@@I6symbol_post_extra_text  @б@г 8$unit  @@ @@@X3        @b]8@A@@гȠ$text  @@ @@@Y@@@@@Z@@@  @  4 Fetch additional text following the current symbol  FF F@@@@@@@ j@@@  Ɛ@@@@@@12rhs_pre_extra_text   @б@г #int   @@ @@@[3        @J_8@A@@г$text  @@ @@@\@@@@@]@@@  @ L B Fetch additional text preceding the symbol at the given position   @@@@@@@k@@@ \@@@@@@13rhs_post_extra_textaeax@б@г #inta{a~@@ @@@^3@J_8@A@@гZ$text,a-a@@ @@@_@@@@@`@@@7aa @ B Fetch additional text following the symbol at the given position DE`@@@@@@@]l@@@ X@@@@@@1-rhs_post_text[\@б@г9#intfg@@ @@@a3hgghhhhh@J_8@A@@г$textuv@@ @@@b@@@@@c@@@ @ ސ 7 Fetch text following the symbol at the given position @@@@@@@m@@@ @@@@@@1*WithMenhirE@@@Б+symbol_docsz~z@б@В@г L&Lexing(positionzz@ zz@@@@@@d3@g|U@A @@@г f&Lexing(positionzz@ zz@@@@@@e @@@@"@ @@f!, @@г$docszz@@ @@@g.@@@@@h1<@@@zz @ c w Fetch the item documentation for the current symbol. This also marks this documentation (for ambiguity warnings). @y@@@@@@@+n@@@ s&@@@@@@P0symbol_docs_lazy)*@б@В@г &Lexing(position<=@ @A@@@@@@i3CBBCCCCC@vE@A @@@г &Lexing(positionVW@ Z[@@@@@@j @@@@"@ @@k!, @@г $Lazy!tst@ wx@@г $docs@@ @@@lA@@@ @@@nF @@@.@@oIT@@@@@o@@@@O(rhs_docs@б@г1&Lexing(position@ @@@@@@p3@q(@A @@б@гK&Lexing(position@ @@@@@@q @@г ܠ$docs@@ @@@r'@@@@@s*@@@0@@t-8 @@@@D Fetch the item documentation for the symbols between two positions. This also marks this documentation (for ambiguity warnings). }@@@@@@@ p@@@T@@@@@@L-rhs_docs_lazy  @б@г&Lexing(position@ @@@@@@u3      @nA@A @@б@г&Lexing(position34@ 78@@@@@@v @@г$Lazy!tIJ @ M N@@г \$docsXY@@ @@@w:@@@ @@@y? @@@+@@zB3@@@H@@{EP@@@k@@q@@ @@K0mark_symbol_docsvhlwh|@б@В@г&Lexing(positionhh@ hh@@@@@@|3@q,@A @@@г(&Lexing(positionhh@ hh@@@@@@} @@@@"@ @@~!, @@гi$unithh@@ @@@.@@@@@1<@@@hh @% R Mark the item documentation for the current symbol (for ambiguity warnings). Vg@@@@@@@r@@@5萠@@@@@@P-mark_rhs_docs"/@б@г&Lexing(position28@ 9A@@@@@@3@rA@A @@б@г&Lexing(positionEK@ LT@@@@@@ @@гӠ$unit&X'\@@ @@@'@@@@@*@@@0@@-8 @@@4@ n Mark as associated the item documentation for the symbols between two positions (for ambiguity warnings) AB@@@@@@@Zs@@@U@@@@@@L+symbol_infoXY@б@г&Lexing(positiongh@ kl@@@@@@3nmmnnnnn@nA@A @@гK$info{|@@ @@@@@@@@@@@ @䐠 . Fetch the field info for the current symbol. ^^^@@@@@@@t@@@@@@@@@1(rhs_info@б@г>&Lexing(position@ !@@@@@@3@SqA@A @@г$info%)@@ @@@@@@@@@@@ @6 @ Fetch the field info following the symbol at a given position. @@@@@@@u@@@F@@@@@@1+symbol_text_c_n@б@г&Lexing(position _q _w@ _x_@@@@@@3@SqA@A @@гM$text_ _@@ @@@@@@@@@@@*__ @ . Fetch the text preceding the current symbol. 7++8+^@@@@@@@Pv@@@K@@@@@@10symbol_text_lazyNO@б@г&Lexing(position]^@ ab@@@@@@3dccddddd@SqA@A @@г$Lazy!tuv@ yz@@г$text@@ @@@"@@@ @@@' @@@-@@*5@@@@@w@@@@0(rhs_text@б@г3&Lexing(position@  @@@@@@3@Rp(@A @@г$text$(@@ @@@@@@@@@@@ @+ < Fetch the text preceding the symbol at the given position. @@@@@@@x@@@;@@@@@@1-rhs_text_lazy)-):@б@г&Lexing(position)=)C@ )D)L@@@@@@3@SqA@A @@г$Lazy!t)U)Y@ )Z)[@@гU$text')P()T@@ @@@"@@@ @@@' @@@-@@*5@@@7))@@Oy@@@@0ML {3 Extra text} There may be additional text attached to the delimiters of a block (e.g. [struct] and [end]). This is fetched by the following functions, which are applied to the contents of the block rather than the delimiters. I]]J=X@@@@@@3HGGHHHHH@B`@A5symbol_pre_extra_textUV@б@г&Lexing(positionde@ hi@@@@@@# @@г$textvw@@ @@@0@@@@@3@@@ @ߐ 4 Fetch additional text preceding the current symbol ZZZ@@@@@@@z@@@@@@@@@R6symbol_post_extra_text@б@г9&Lexing(position &@ '/@@@@@@3@toA@A @@г$text37@@ @@@@@@@@@@@ @1 4 Fetch additional text following the current symbol @@@@@@@{@@@A@@@@@@12rhs_pre_extra_text@б@г&Lexing(position@   @@@@@@3        @SqA@A @@г H$text@@ @@@@@@@@@@@% @ B Fetch additional text preceding the symbol at the given position 29939@@@@@@@K|@@@F@@@@@@13rhs_post_extra_textIJ@б@г&Lexing(positionXY@ \]$@@@@@@3_^^_____@SqA@A @@г $textl(m,@@ @@@@@@@@@@@w @Ր B Fetch additional text following the symbol at the given position @@@@@@@}@@@@@@@@@1-rhs_post_textkok|@б@г/&Lexing(positionkk@ kk@@@@@@3@SqA@A @@г 점$textkk@@ @@@@@@@@@@@kk @' 7 Fetch text following the symbol at the given position ...j@@@@@@@~@@@7ꐠ@@@@@@1@7@Y@R@@}*@ @o@O@@g@`0@@@`0@@@p@@@3@TrB@A%3@9@A  @@@@@@s@Q*@A@@kD@$@@z+@ @I@)@g@3-A@@w@p%@ @  @ x ?@  @  @  G@  A@  @  @  ?@  @  @ } wA@ G 2@ + @  @  u@ U .@ @@B@(@@u@U.@@@_@Z@@@3eddeeeee@@k@K@@n @@F@&@@V@6@@O@5@@g@G@@@@@A@ H************************************************************************A@@A@L@ H BMMBM@ H OCaml CC@ H DD3@ H Leo White E44E4@ H FF@ H Copyright 1996 Institut National de Recherche en Informatique et GG@ H en Automatique. HHg@ H IhhIh@ H All rights reserved. This file is distributed under the terms of JJ@ H the GNU Lesser General Public License version 2.1, with the KKN@ H special exception on linking described in the file LICENSE. LOOLO@ H MM@ H************************************************************************NN5@ q* Documentation comments {b Warning:} this module is unstable and part of {{!Compiler_libs}compiler-libs}. 栠 %* (Re)Initialise all docstring state 8 8* Emit warnings for unattached and ambiguous docstrings 1* {2 Docstrings} נ9* Documentation comments 5* Create a docstring X7* Register a docstring >* Get the text of a docstring ̠ "* Get the location of a docstring } u* {2 Set functions} These functions are used by the lexer to associate docstrings to the locations of tokens. b +* Docstrings immediately preceding a token  +* Docstrings immediately following a token  1* Docstrings not immediately adjacent to a token  E* Docstrings immediately following the token which precedes this one  D* Docstrings immediately preceding the token which follows this one ? P* {2 Items} The {!docs} type represents documentation attached to an item. $ Q* Convert item documentation to attributes and add them to an attribute list  x* Fetch the item documentation for the current symbol. This also marks this documentation (for ambiguity warnings).  * Fetch the item documentation for the symbols between two positions. This also marks this documentation (for ambiguity warnings).  S* Mark the item documentation for the current symbol (for ambiguity warnings).  u o* Mark as associated the item documentation for the symbols between two positions (for ambiguity warnings)   u* {2 Fields and constructors} The {!info} type represents documentation attached to a field or constructor.   I* Convert field info to attributes and add them to an attribute list   /* Fetch the field info for the current symbol.  ͠ A* Fetch the field info following the symbol at a given position.  p* {2 Unattached comments} The {!text} type represents documentation which is not attached to anything.  l ?* Convert text to attributes and add them to an attribute list  G /* Fetch the text preceding the current symbol.   =* Fetch the text preceding the symbol at the given position.  s * {2 Extra text} There may be additional text attached to the delimiters of a block (e.g. [struct] and [end]). This is fetched by the following functions, which are applied to the contents of the block rather than the delimiters.   5* Fetch additional text preceding the current symbol נ 5* Fetch additional text following the current symbol  C* Fetch additional text preceding the symbol at the given position K C* Fetch additional text following the symbol at the given position  8* Fetch text following the symbol at the given position  x* Fetch the item documentation for the current symbol. This also marks this documentation (for ambiguity warnings). = * Fetch the item documentation for the symbols between two positions. This also marks this documentation (for ambiguity warnings). _ S* Mark the item documentation for the current symbol (for ambiguity warnings).  o* Mark as associated the item documentation for the symbols between two positions (for ambiguity warnings)  /* Fetch the field info for the current symbol. Ƞ A* Fetch the field info following the symbol at a given position. y /* Fetch the text preceding the current symbol. * =* Fetch the text preceding the symbol at the given position.  * {3 Extra text} There may be additional text attached to the delimiters of a block (e.g. [struct] and [end]). This is fetched by the following functions, which are applied to the contents of the block rather than the delimiters.  5* Fetch additional text preceding the current symbol ܠ 5* Fetch additional text following the current symbol  C* Fetch additional text preceding the symbol at the given position > C* Fetch additional text following the symbol at the given position  8* Fetch text following the symbol at the given position @-./boot/ocamlc)-nostdlib"-I&./boot*-use-prims2runtime/primitives"-g0-strict-sequence*-principal(-absname"-w8+a-4-9-40-41-42-44-45-48+-warn-error"+a*-bin-annot/-strict-formats"-I'parsing"-I%utils"-I'parsing"-I&typing"-I(bytecomp"-I,file_formats"-I&lambda"-I*middle_end"-I2middle_end/closure"-I2middle_end/flambda"-I=middle_end/flambda/base_types"-I'asmcomp"-I&driver"-I(toplevel"-I%tools"-I'runtime"-I1otherlibs/dynlink"-I-otherlibs/str"-I4otherlibs/systhreads"-I.otherlibs/unix"-I8otherlibs/runtime_events"-c =/builds/workspace/precheck/flambda/false/label/ocaml-linux-32 >10/.-,+*)('&%$#"! @@0ӯI#`w3@@@(Asttypes0>n{T8cئ8CamlinternalFormatBasics0%FU(Q/Tu0CamlinternalLazy0&͂7 Pˆ0IN$W-Ԡ*Format_doc0]mWϓ:Mݠ{0a7cK_H%9)Longident0s `7mɕcJ0T鿁ۘ7Qu&Stdlib0Lku]8_٠.Stdlib__Buffer08APF< t..Stdlib__Domain0:M;׉<O$Ġ.Stdlib__Either0Vy`u~c à.Stdlib__Format0ܚ#G7m|,Stdlib__Lazy0* -S$.)"0D.Stdlib__Lexing0e<.V +Stdlib__Seq0nwzG&amg+Stdlib__Sys0 -ռ鱦s5/-Stdlib__Uchar056uf4[_(Warnings0mJɒkgr@@ @^@F@ϰ^@S  а  @:I@a e ð  4 A mѰF@ΐ Ӑ R;@@+n J @ 0 j  D@ߐ   )Z@@߰  ̐A[@@ Ӑ >@@@w@@a;@  i@@@Yِ@K  t   @^@Fw :ː/@4  @aʐ  b @@P@@