Caml1999I031ib*Docstrings$init@$unitF@@@k@@@l@@m@6parsing/docstrings.mliXX@@@@3warn_bad_docstrings@@@@n@@@o@@p@[..[.T@@*A@)docstring8@@@A@@@@@``@@@@3BA@)docstring@&stringO@@@q@(Location!t@@@r!@@@s@@t@@u@!t@@@}@@~@tlul@@F@2set_pre_docstrings@&Stdlib&Lexing(position@@@@$listIY@@@@@@@@@@@@@@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@@@@@@@@@@@@@@@@@@@  @  @@/K@$docs8@@(docs_prem@&optionJ@@@@@@1G 4 82G 4 S@@GM)docs_postn@@@@@@@AH T XBH T t@@WN@@A@@@@@EF ( (FH T v@@@@[LA@*empty_docs2@@@@RJ x xSJ x @@hO@)docs_attr@%@@@)Parsetree)attribute@@@@@@hL  iL  @@~P@.add_docs_attrs@%@@@@*attributes@@@*attributes@@@@@@@@P  P  `@@Q@+symbol_docs@@@@E@@@@@@T  T  @@R@0symbol_docs_lazy @@@@&$Lazy!t^@@@@@@@@@U  U  (@@S@(rhs_docs @#intA@@@@@@@y@@@@@@@@Z  Z  @@T@-rhs_docs_lazy @@@@@ @@@`$Lazy!t@@@@@@@@@@@[  [  @@U@0mark_symbol_docs @@@@@@@@@@_ c c_ c @@V@-mark_rhs_docs @M@@@@S@@@@@@@@@@@c  c "@@,W@$info8@@@A@@@@@@@@@@(j)j@@@@>XA@*empty_info@@@@5l6l@@KY@)info_attr@@@@)attribute@@@@@@InJn@@_Z@.add_info_attrs@#@@@@*attributes@@@*attributes@@@@@@@@erTTfrT@@{[@+symbol_info@z@@@C@@@@@@wuxu@@\@(rhs_info@@@@U@@@@@@x99x9S@@]@$text8@@@A_@@@@@@@@@@@@@@^A@*empty_text@@@@@@_@/empty_text_lazy2$Lazy!t@@@@@@@@@`@)text_attr@@@@j)attribute@@@@@@   P@@a@.add_text_attrs@7@@@@*attributes@@@*attributes@@@@@@@@@@b@+symbol_text@@@@W@@@@@@3@@c@0symbol_text_lazy@@@@$Lazy!tp@@@@@@@@@444^@@.d@(rhs_text@h@@@@@@@@@*+@@@e@-rhs_text_lazy@z@@@$Lazy!t@@@@@@@@@DE@@Zf@5symbol_pre_extra_text@Y@@@@@@@@@VWD@@lg@6symbol_post_extra_text@k@@@@@@@@@hi@@~h@2rhs_pre_extra_text@@@@@@@@@@z{@@i@3rhs_post_extra_text @@@@@@@@@@aaa@@j@-rhs_post_text!@@@@@@@@@@@@k@Ӡ*WithMenhir"@+symbol_docs#@3&Lexing(position@@@);&Lexing(position@@@(@@*s@@@+@@,@zzz@@l@0symbol_docs_lazy$@S&Lexing(position@@@.[&Lexing(position@@@-@@/b$Lazy!t@@@0@@@1@@2@@@m@(rhs_docs%@x&Lexing(position@@@3@&Lexing(position@@@4@@@5@@6@@7@  @@ n@-rhs_docs_lazy&@&Lexing(position@@@8@&Lexing(position@@@9$Lazy!t@@@:@@@;@@<@@=@01@@Fo@0mark_symbol_docs'@&Lexing(position@@@?&Lexing(position@@@>@@@W@@@A@@B@QhhRh@@gp@-mark_rhs_docs(@&Lexing(position@@@C@&Lexing(position@@@Dv@@@E@@F@@G@pq\@@q@+symbol_info)@&Lexing(position@@@HQ@@@I@@J@@@r@(rhs_info*@&Lexing(position@@@Kf@@@L@@M@)@@s@+symbol_text+@&&Lexing(position@@@N@@@O@@P@___@@t@0symbol_text_lazy,@;&Lexing(position@@@QB$Lazy!t$@@@R@@@S@@T@@@u@(rhs_text-@X&Lexing(position@@@U:@@@V@@W@(@@v@-rhs_text_lazy.@m&Lexing(position@@@Xt$Lazy!tV@@@Y@@@Z@@[@)))[@@w@5symbol_pre_extra_text/@&Lexing(position@@@\l@@@]@@^@@@)x@6symbol_post_extra_text0@&Lexing(position@@@_@@@`@@a@()7@@>y@2rhs_pre_extra_text1@&Lexing(position@@@b@@@c@@d@=>@@Sz@3rhs_post_extra_text2@&Lexing(position@@@e@@@f@@g@RS,@@h{@-rhs_post_text3@&Lexing(position@@@h@@@i@@j@gkkhk@@}|@@@kl@}@@@P+*Docstrings0 [I_ϳ(Warnings0zdͦkUe$-Stdlib__Uchar0*Ujmyc6]]W+Stdlib__Seq05"g1<)b.Stdlib__Lexing01'jh,-k4,Stdlib__Lazy0C 4 "$p1tU.Stdlib__Format0{hXsHW#ȼ.Stdlib__Either0&]XF.Stdlib__Buffer0K ɦb+Z8)#KH"&Stdlib0yӶ~*)Parsetree0`ⰧkRE)Longident0,xeuK⠠(Location0SP=u;0CamlinternalLazy0Seĥ!}䠠8CamlinternalFormatBasics0cEXyX@б@г$unitHXIX@@ @@@J@@г$unitUXVX@@ @@@W@@@@@Z@@@`X @)ocaml.docq $ (Re)Initialise all docstring state nWoW@@@@@@@@@@o3warn_bad_docstrings z[.2{[.E@б@гޠ$unit[.H[.L@@ @@@0@S.@A@@г$unit[.P[.T@@ @@@@@@@@@@@[.. @? 7 Emit warnings for unattached and ambiguous docstrings ZZ-@@@@@@@A@@%0 {2 Docstrings} ]VV]Vk@@@@@@0@5J#@AA()docstring A``@@8@@@A@@@@@`@m8 Documentation comments _mm_m@@@@@@@@@B@@A@@@)docstringKcc@б@гM&stringcc@@ @@@0@82,@A@@б@г(Location!t(Locationcc@@@@@@@гJ)docstringcc@@ @@@#@@@@@&@@@,@@)/ @@@!c@4 Create a docstring -b.b@@@@@@@EC@@<(registerL9f:f@б@г{)docstringDfEf@@ @@@0FEEFFFFF@Uj,@A@@г$unitSf Tf$@@ @@@@@@@@@@@^f @6 Register a docstring jeke@@@@@@@D@@%.docstring_bodyMviIMwiI[@б@г)docstringiI^iIg@@ @@@0@>S,@A@@г&stringiIkiIq@@ @@@@@@@@@@@iII @;= Get the text of a docstring h&&h&H@@@@@@@E@@%-docstring_locNll@б@г)docstringll@@ @@@0@>S,@A@@г!t(Locationll@@ @@@@@@@@@@@l @{ ! 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"@@@@@@@0@8M#@A2set_pre_docstringsgtrvtr@б@г&Lexing(positiontrtr@@ @@@ @@б@г$list!tr"tr@гb)docstring+tr,tr@@ @@@ 6@@@@@@ ; @@г$unit=tr>tr@@ @@@ H@@@@@ K@@@4@@ N7 @@@Ktrr@될 * Docstrings immediately preceding a token WsBBXsBq@@@@@@@oG@@a3set_post_docstringshcwdw@б@г9&Lexing(positionqwrw@@ @@@ 0srrsssss@}x/@A@@б@г$listww!@гà)docstringww@@ @@@ @@@@@@   @@г$unitw%w)@@ @@@ -@@@@@ 0@@@6@@ 39 @@@w@L * Docstrings immediately following a token vv@@@@@@@H@@F7set_floating_docstringsizaeza|@б@г&Lexing(positionzaza@@ @@@ 0@bz/@A@@б@гx$listzaza@г$)docstringzaza@@ @@@ @@@@@@   @@гX$unitzaza@@ @@@ -@@@@@ 0@@@6@@ 39 @@@ zaa@ 0 Docstrings not immediately adjacent to a token y++y+`@@@@@@@1I@@F8set_pre_extra_docstringsj%}&} @б@г&Lexing(position3} 4} "@@ @@@ 054455555@bz/@A@@б@г٠$listD} 0E} 4@г)docstringN} &O} /@@ @@@ @@@@@@   @@г$unit`} 8a} <@@ @@@ -@@@@@ 0@@@6@@ 39 @@@n}@ D Docstrings immediately following the token which precedes this one z|{|@@@@@@@J@@F9set_post_extra_docstringsk@  @  @б@г\&Lexing(position@  @  @@ @@@ 0@bz/@A@@б@г:$list@  @  @г栐)docstring@  @  @@ @@@ @@@@@@   @@г$unit@  @  @@ @@@ -@@@@@ 0@@@6@@ 39 @@@@  @o C Docstrings immediately preceding the token which follows this one  > > > @@@@@@@K@@F񐠠 O {2 Items} The {!docs} type represents documentation attached to an item. B  D  &@@@@@@0@Vn#@AA($docslBF ( -F ( 1@@8@@(docs_prem@|C@@@ @@@ ߰ G 4 8 G 4 S@@#M)docs_postn@T@@@ @@@ H T XH T t@@4N@@A@@@@@ F ( (!H T v@@@@8L@''(G 4 @@@Ш@г*&option1G 4 L2G 4 R@г/)docstring:G 4 B;G 4 K@@7098899999@OI8@@@A@@@@@ @@@@A@@@?@@B@D@ @9@55+GH T a@@Ш@г8&optionPH T mQH T s@г=)docstringYH T cZH T l@@E@@@J  @@M@D@ #@D@@A@@@@q@?@*empty_docsohJ x |iJ x @гx$docsqJ x rJ x @@ @@@ 0srrsssss@}@A@@@{J x x @@O@ @@)docs_attrL  L  @б@гȠ)docstringL  L  @@ @@@ 0@!4@A@@г)Parsetree)attribute)ParsetreeL  L  @@@@@@@@@@@@@L   @@P@ @@.add_docs_attrsP  P  )@б@г͠$docsP  ,P  0@@ @@@0@6K@A@@б@г7*attributes)ParsetreeP  4P  H@@ @@@@@гG*attributes)ParsetreeP  LP  `@@ @@@$@@@@@'@@@-@@*0 @@@P  @ P Convert item documentation to attributes and add them to an attribute list N  O  @@@@@@@Q@@=+symbol_docsT  T  @б@гt$unitT  T  @@ @@@0@Vk,@A@@г1$docs*T  +T  @@ @@@@@@@@@@@5T   @Ր w Fetch the item documentation for the current symbol. This also marks this documentation (for ambiguity warnings). AR b bBS  @@@@@@@YR@@%0symbol_docs_lazyǠMU  NU  @б@г$unitXU  YU  @@ @@@ 0ZYYZZZZZ@>S,@A@@г2$Lazy!tjU  "kU  (@г{$docstU  uU  !@@ @@@Z@@@@@@\! @@@'@@]$*@@@U  @@S@@@*(rhs_docsȠZ  Z  @б@гD#intZ  Z  @@ @@@^0@CX@A@@б@гU#intZ  Z  @@ @@@_@@г$docsZ  Z  @@ @@@`@@@@@a!@@@'@@b$* @@@Z  @f Fetch the item documentation for the symbols between two positions. This also marks this documentation (for ambiguity warnings). W * *Y  @@@@@@@T@@7-rhs_docs_lazyɠ[  [  @б@г#int[  [  @@ @@@c0@Pe,@A@@б@г#int[  [  @@ @@@d@@г$Lazy!t [   [  @г$docs[  [  @@ @@@e+@@@@@@g0 @@@%@@h3(@@@9@@i6<@@@'[  @@>U@@@<0mark_symbol_docsʠ2_ c g3_ c w@б@г$unit=_ c z>_ c ~@@ @@@j0?>>?????@Uj@A@@г$unitL_ c M_ c @@ @@@k@@@@@l@@@W_ c c @ R Mark the item documentation for the current symbol (for ambiguity warnings). c]  d^ Q b@@@@@@@{V@@%-mark_rhs_docsˠoc pc  @б@г$#intzc {c @@ @@@m0|{{|||||@>S,@A@@б@г5#intc c @@ @@@n@@г$unitc c "@@ @@@o@@@@@p!@@@'@@q$* @@@c  @F n Mark as associated the item documentation for the symbols between two positions (for ambiguity warnings) a  b  @@@@@@@W@@7Ȑ t {2 Fields and constructors} The {!info} type represents documentation attached to a field or constructor. e$$h@@@@@@0@G\#@AA($infoCjj@@8@@@AO@@@s@@@u@@@@jj@@@@X@@Aг&optionj @г)docstringjj@@0@.(8@@@A/@@D@vD@r@@@@@@@@A  @@@) @@!@@9! @*empty_info͠ll@г@$infoll@@ @@@0@QKE@A@@@l @@1Y@ @@)info_attrΠ%n&n@б@гg)docstring0n1n@@ @@@021122222@!4@A@@г)attribute)ParsetreeBnCn@@ @@@@@@@@@@@Mn @@dZ@ @@.add_info_attrsϠXrTXYrTf@б@г$infocrTidrTm@@ @@@0eddeeeee@4I@A@@б@г*attributes)ParsetreewrTqxrT@@ @@@@@г*attributes)ParsetreerTrT@@ @@@$@@@@@'@@@-@@*0 @@@rTT@5 H Convert field info to attributes and add them to an attribute list pq>S@@@@@@@[@@=+symbol_infoРuu@б@г$unituu@@ @@@0@Vk,@A@@г$infouu@@ @@@@@@@@@@@u @r . Fetch the field info for the current symbol. tt@@@@@@@\@@%(rhs_infoѠx9=x9E@б@г#intx9Hx9K@@ @@@0@>S,@A@@г4$info x9O x9S@@ @@@@@@@@@@@ x99 @ @ Fetch the field info following the symbol at a given position.  w w8@@@@@@@ 3]@@% 1 o {2 Unattached comments} The {!text} type represents documentation which is not attached to anything.  ,zUU -}@@@@@@0 + * * + + + + +@5J#@AA($textD 9 :@@8@@@A٠@@@@@@@@@@ G H@@@@ _^@@Aг$list Q @г)docstring Y Z@@0 X W W X X X X X@.(8@@@A/@@E@E@@@@@@@@@A  @@@) @@!@@9! @*empty_textӠ p q@г@$text y z@@ @@@0 { z z { { { { {@QKE@A@@@  @@ _@ @@/empty_text_lazyԠ  @гb$Lazy!t  @гk$text  @@ @@@0        @,?*@A@@@ @@@ @@@ @@ `@@@ )text_attrՠ  $  -@б@г)docstring  0  9@@ @@@0        @&F@A@@г8)attribute)Parsetree  =  P@@ @@@@@@@@@@@    @@ a@ @@.add_text_attrs֠  @б@гà$text  @@ @@@0        @4I@A@@б@гm*attributes)Parsetree  @@ @@@@@г}*attributes)Parsetree  !@@ @@@$@@@@@'@@@-@@*0 @@@ .@ΐ > Convert text to attributes and add them to an attribute list  :RR ;R@@@@@@@ Rb@@=+symbol_textנ F G$@б@г $unit Q' R+@@ @@@0 S R R S S S S S@Vk,@A@@г'$text `/ a3@@ @@@@@@@@@@@ k @ . Fetch the text preceding the current symbol.  w x@@@@@@@ c@@%0symbol_text_lazyؠ 48 4H@б@г 砐$unit 4K 4O@@ @@@0        @>S,@A@@г h$Lazy!t 4X 4^@гq$text 4S 4W@@ @@@@@@@@@! @@@'@@$*@@@ 44@@ d@@@*(rhs_text٠  @б@г z#int  @@ @@@0        @CX@A@@г$text  @@ @@@@@@@@@@@  @ < Fetch the text preceding the symbol at the given position.  `` `@@@@@@@ e@@%-rhs_text_lazyڠ  @б@г #int  @@ @@@0        @>S,@A@@г $Lazy!t  @г$text ) *@@ @@@@@@@@@! @@@'@@$*@@@ 9@@ Pf@@@* N {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.  I J@@@@@@0 H G G H H H H H@:O@A5symbol_pre_extra_text۠ U  V5@б@г $unit `8 a<@@ @@@@@г4$text m@ nD@@ @@@'@@@@@*@@@ x @  4 Fetch additional text preceding the current symbol   @@@@@@@ g@@=6symbol_post_extra_textܠ  @б@г $unit  @@ @@@0        @VQ,@A@@гq$text  @@ @@@@@@@@@@@  @ U 4 Fetch additional text following the current symbol  FF F@@@@@@@ h@@%2rhs_pre_extra_textݠ   @б@г #int   @@ @@@0        @>S,@A@@г$text  @@ @@@@@@@@@@@  @ B Fetch additional text preceding the symbol at the given position   @@@@@@@ i@@%3rhs_post_extra_textޠ ae ax@б@г #int a{ a~@@ @@@0        @>S,@A@@г렐$text $a %a@@ @@@@@@@@@@@ /aa @ ϐ B Fetch additional text following the symbol at the given position  ; <`@@@@@@@ Sj@@%-rhs_post_textߠ G H@б@г #int R S@@ @@@0 T S S T T T T T@>S,@A@@г($text a b@@ @@@@@@@@@@@ l @ 7 Fetch text following the symbol at the given position  x y@@@@@@@ k@@%*WithMenhirE  @@Б+symbol_docs z~ z@б@Вг l&Lexing(position z z@@ @@@0        @ShA@A@@г &Lexing(position z z@@ @@@@@@@@ @@гР$docs z z@@ @@@%@@@@@(.@@@ zz @ t w Fetch the item documentation for the current symbol. This also marks this documentation (for ambiguity warnings).   @y@@@@@@@ l@@;0symbol_docs_lazy  @б@Вг &Lexing(position  @@ @@@0        @Zu2@A@@г &Lexing(position  @@ @@@@@@@@ @@г $Lazy!t % &@г6$docs / 0@@ @@@2@@@@@@7 @@@&@@:@@@@ ?@@ Vm@@@@(rhs_docs J K@б@г &Lexing(position X Y@@ @@@0 Z Y Y Z Z Z Z Z@\w"@A@@б@г 4&Lexing(position l m@@ @@@@@г$docs y z@@ @@@!@@@@@$@@@*@@'- @@@ @ ' Fetch the item documentation for the symbols between two positions. This also marks this documentation (for ambiguity warnings).   }@@@@@@@ n@@:-rhs_docs_lazy  @б@г u&Lexing(position  @@ @@@0        @Vn/@A@@б@г &Lexing(position  @@ @@@@@г $Lazy!t  @г⠐$docs  @@ @@@.@@@@@@3 @@@%@@6(@@@<@@9?@@@ @@o@@@?0mark_symbol_docs hl h|@б@Вг &Lexing(position h h@@ @@@0        @^v%@A@@г &Lexing(positionhh@@ @@@@@@@@ @@г $unit/h0h@@ @@@%@@@@@(.@@@:hh @ ڐ R Mark the item documentation for the current symbol (for ambiguity warnings). FGVg@@@@@@@^p@@;-mark_rhs_docsR"S/@б@г (&Lexing(position`2aA@@ @@@0baabbbbb@Wr/@A@@б@г <&Lexing(positiontEuT@@ @@@@@г ڠ$unitX\@@ @@@!@@@@@$@@@*@@'- @@@@ / n Mark as associated the item documentation for the symbols between two positions (for ambiguity warnings) @@@@@@@q@@:+symbol_info@б@г }&Lexing(position@@ @@@0@Vn/@A@@г$info@@ @@@@@@@@@@@ @ o . Fetch the field info for the current symbol. ^^^@@@@@@@r@@%(rhs_info@б@г &Lexing(position!@@ @@@0@AY/@A@@г4$info%)@@ @@@@@@@@@@@ @ @ Fetch the field info following the symbol at a given position. @@@@@@@3s@@%+symbol_text'_c(_n@б@г &Lexing(position5_q6_@@ @@@076677777@AY/@A@@г $textD_E_@@ @@@@@@@@@@@O__ @  . Fetch the text preceding the current symbol. [++\+^@@@@@@@st@@%0symbol_text_lazygh@б@г=&Lexing(positionuv@@ @@@0wvvwwwww@AY/@A@@гO$Lazy!t@гX$text@@ @@@@@@@@@! @@@'@@$*@@@@@u@@@*(rhs_text@б@г&Lexing(position @@ @@@0@F^"@A@@г$text$(@@ @@@@@@@@@@@ @t < Fetch the text preceding the symbol at the given position. @@@@@@@v@@%-rhs_text_lazy)-):@б@г&Lexing(position)=)L@@ @@@0@AY/@A@@г$Lazy!t )U )[@гݠ$text)P)T@@ @@@@@@@@@! @@@'@@$*@@@&))@@=w@@@*; {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. 6]]7=X@@@@@@054455555@:R@A5symbol_pre_extra_textBC@б@г&Lexing(positionPQ@@ @@@@@г$$text]^@@ @@@*@@@@@-@@@h @ 4 Fetch additional text preceding the current symbol tZZuZ@@@@@@@x@@@6symbol_post_extra_text@б@гV&Lexing(position /@@ @@@0@\W/@A@@гd$text37@@ @@@@@@@@@@@ @H 4 Fetch additional text following the current symbol @@@@@@@y@@%2rhs_pre_extra_text@б@г&Lexing(position@@ @@@0@AY/@A@@г$text@@ @@@ @@@@@ @@@ @ B Fetch additional text preceding the symbol at the given position 999@@@@@@@ z@@%3rhs_post_extra_text@б@г&Lexing(position$@@ @@@ 0@AY/@A@@г䠐$text(,@@ @@@ @@@@@ @@@( @Ȑ B Fetch additional text following the symbol at the given position 45@@@@@@@L{@@%-rhs_post_text@koAk|@б@г&Lexing(positionNkOk@@ @@@0POOPPPPP@AY/@A@@г$$text]k^k@@ @@@@@@@@@@@hkk @ 7 Fetch text following the symbol at the given position t..u.j@@@@@@@|@@%@@?@8@@J@6@@{@g=@)@@l@T,@@@r@^4@@0@H`6@A%0@@A@@@@@@mH@2 @A@@yR@>@@k@W @  @  N@ : @  A@ \ G@ @ @  @  @  F@ ? @  @  y@ e ,@  A@  @  @  E@ 1 @@A@t_@X1@*@@@k2@+@@z@f?@+@@@y@_@Z}@@@0@T}@s0@@@m@@@kA@-@@u@nD@0@@v@b8@$@@@@'@A@ H************************************************************************&A@@'A@L@ H ,BMM-BM@ H OCaml 2C3C@ H 8D9D3@ H Leo White >E44?E4@ H DFEF@ H Copyright 1996 Institut National de Recherche en Informatique et JGKG@ H en Automatique. PHQHg@ H VIhhWIh@ H All rights reserved. This file is distributed under the terms of \J]J@ H the GNU Lesser General Public License version 2.1, with the bKcKN@ H special exception on linking described in the file LICENSE. hLOOiLO@ H nMoM@ H************************************************************************tNuN5@ q* Documentation comments {b Warning:} this module is unstable and part of {{!Compiler_libs}compiler-libs}. z %* (Re)Initialise all docstring state  8* Emit warnings for unattached and ambiguous docstrings ՠ1* {2 Docstrings} Ǡ9* Documentation comments 5* Create a docstring \7* 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.  +* Docstrings immediately preceding a token A +* 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).  l * 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).  P 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.  ?* Convert text to attributes and add them to an attribute list  /* Fetch the text preceding the current symbol. T =* Fetch the text preceding the symbol at the given position. ؠ * {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 P 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 h 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 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) Q /* Fetch the field info for the current symbol.  A* Fetch the field info following the symbol at a given position. נ /* 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 M 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"-g)-nostdlib"-I$boot*-use-prims2runtime/primitives0-strict-sequence*-principal(-absname"-w>+a-4-9-40-41-42-44-45-48-66-70+-warn-error"+a*-bin-annot,-safe-string/-strict-formats"-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"-c56 3/home/barsac/ci/builds/workspace/step-by-step-build - @0ӯI#`w0GFFGGGGG@E@@(Asttypes0'$O~78CamlinternalFormatBasics0cEXy=@@@@{z @ ?@ V U 7 6@@  @*)DC@ x {@"!@ONVU@@~   & %@  PO@  @  װ  @! @  @98  ~@@P@