Caml1999I037O-Odoc_comments,simple_blankh&stringQ@@@@:ocamldoc/odoc_comments.mliRUURUn@@@@@&Texteri.text_of_stringm@@@@*Odoc_types$text@@@@@@X X(@@/A@@@@#U$Y).@3B@@Ӡ4Basic_info_retrieverj@9blank_line_outside_simplen@:@@@@@@@@$boolE@@@@@@@@D_E`@@TC@@+all_specialo@U@@@@[@@@@#intA@@@Ҡ@$listKT$info@@@@@@@@@@@@@rccgscc@@D@@2just_after_specialp@@@@@@@@@.@@@ڠ@&optionL$info@@@@@@@@@@@@@ij(@@E@@-first_specialq@@@@@@@@@Z@@@⠠@,$info@@@@@@@@@@@@@p 0 4q H @@F@@,get_commentsr@@$text@@@!a@@@@@@@@@@@@^$info@@@@@@@%@@@@@@@@@@@@w  y  -@@G@@@@\ff{ / 4@H@@@.info_of_stringk@@@@$info@@@@@@B  B  5@@*I@@4info_of_comment_filel@+Odoc_module(t_module@@@@@@@:@@@!$info@@@@@@@@>K  ?L  @@NJ@@@>-Odoc_comments06Q%ί3  (Warnings0mJɒkgr*%"e+Outcometree0euWS~d栠*Odoc_value0IlX+KE`*Odoc_types0fX cx3H~)Odoc_type0~b:x_B.Odoc_parameter0ץ~D3vNm)Odoc_name0{Y/3.+Odoc_module0z8P@ӽX4Id*Odoc_class0_"#C{$Misc0ob]6>Vê>)Longident0s `7mɕc(Location0a7cK_H%9,Identifiable0 {d\FX'`%Ident0">WA+9*X*Format_doc0]mWϓ:Mݠ0CamlinternalLazy0&͂7 Pˆ8CamlinternalFormatBasics0%FU(Q/Tu5Build_path_prefix_map0z HkGs(Asttypes0>n{T8cئ@@@Caml1999T037:#HC-Odoc_comments*ocaml.text&_none_@@A7 Analysis of comments. :ocamldoc/odoc_comments.mliP77P7S@@@@@@3@@@@@@#intA;@@#intA@@@@@;@A@$charB;@@$charA@@@@@A@A@&stringQ;@@&stringA@@@@@G@@@%bytesC;@@%bytesA@@@@@M@@@%floatD;@@%floatA@@@@@S@@@$boolE;@@%falsec@@]@$trued@@c@@@A@@@@@d@A@$unitF;@@"()e@@n@@@A@@@@@o@A@ #exnG;@@@A@@@@@s@@@#effH;@@O@A@A@@@@@@|@@@,continuationI;@@Q@@P@B,continuationA@nY@@@@@@@@@%arrayJ;@@R@A%arrayA@@@@@@@@@ $listK;@@S@A"[]f@@@"::g@@@T@@@ @@A@Y@@@@@@@@&optionL;@@V@A$Noneh@@@$Somei@@@@@A@Y@@@@@@@@)nativeintM;@@)nativeintA@@@@@@@@%int32N;@@%int32A@@@@@@@@%int64O;@@%int64A@@@@@@@@&lazy_tP;@@X@A&lazy_tA@Y@@@@@@@@ 5extension_constructorR;@@5extension_constructorA@@@@@@@@*floatarrayS;@@*floatarrayA@@@@@@@@&iarrayT;@@Y@A&iarrayA@Y@@@@@@@@ *atomic_locU;@@Z@A*atomic_locA@@@@@@ @@@ .Assert_failure`#@@@@@J@@@@@@@@[@@A!=ocaml.warn_on_literal_pattern%@&@0Division_by_zero]#@@@A+ . .@+End_of_file\#$@@@A366@'FailureY#,@'@@A<??@0Invalid_argumentX#5@0@@AE$H#H@-Match_failureV#>@@=@9@;@@a@@AV5Y4Y@)Not_foundZ#O@@@A^=a<a@-Out_of_memoryW#W@@@AfEiDi@.Stack_overflow^#_@@@AnMqLq@.Sys_blocked_io_#g@@@AvUyTy@)Sys_error[#o@j@@A^]@:Undefined_recursive_modulea#x@@w@s@u@@h@@Aon@:Continuation_already_takenb#@@@Awv@&Stdlib@A,simple_blankRUYRUe@гj&stringRUhRUn@@ @@@@@@RUU@@@@@ @@&Texter'AUU@B@Б.text_of_string&XX @б@г&stringXX@@ @@@3@A.@A@@г*Odoc_types$text*Odoc_typesXX#@ X$X(@@@@@@g @@@ @@h# @@@X @)ocaml.doc ( Return a text structure from a string. WW@@@@@@@A@@@@@@@@@>@T"@@3@AV$@A3@C@AVY).@@&, 3 The type of modules in argument to Info_retriever )Tpp*Tp@@@@@@@,U@3*))*****@X@A@4Basic_info_retriever-B9\fm:\f@RH@@Б9blank_line_outside_simple(G_H_@б@г&stringR`S`@@ @@@i3TSSTTTTT@k@@hA@@@@@@@@@@@=@A@@б@г9&stringr`s`@@ @@@j @@г4$bool` `@@ @@@k-@@@@@l0@@@6@@m39 @@@_@ 8 Return true if the given string contains a blank line. ^^@@@@@@@C@@@@@@@@@R+all_special)cckccv@б@г&stringccycc@@ @@@n3@k8@A@@б@г&stringcccc@@ @@@o@@В@г#intcccc@@ @@@p"@@@г^$listcccc@г$info*Odoc_typescccc@ cccc@@@@@@qD @@@ @@@sI@@@@/@ @@tP4$@@@E @@uSH'@@@Y@@vV\*@@@ccg-@% G This function retrieves all the special comments in the given string. 'b(bb@@@@@@@@D@@=@5;@@@@@@u2just_after_special*>i?i@б@г&stringIjJj@@ @@@w3KJJKKKKK@8@A@@б@г!&stringZj[j@@ @@@x@@В@г>#intkj lj@@ @@@y"@@@гΠ&optionzj"{j(@г$info*Odoc_typesjj@ jj!@@@@@@zD @@@ @@@|I@@@@/@ @@}P4$@@@E @@~SH'@@@Y@@V\*@@@i-@  [just_after_special file str] return the pair ([length], [info_opt]) where [info_opt] is the first optional special comment found in [str], without any blank line before. [length] is the number of chars from the beginning of [str] to the end of the special comment. eh@@@@@@@E@@=@Ȑ@@@@@@u-first_special+p 0 8p 0 E@б@г&stringq H Pq H V@@ @@@3@8@A@@б@г&stringq H Zq H `@@ @@@@@В@гˠ#intq H dq H g@@ @@@"@@@г[&optionq H zq H @г2$info*Odoc_typesq H jq H t@ q H uq H y@@@@@@D @@@ @@@I@@@@/@ @@P4$@@@E @@SH'@@@Y@@V\*@@@4p 0 4-@? [first_special file str] return the pair ([length], [info_opt]) where [info_opt] is the first optional special comment found in [str]. [length] is the number of chars from the beginning of [str] to the end of the special comment. Al*.Bo /@@@@@@@ZF@@=@OU@@@@@@u,get_comments,Xw  Yw  @б@б@г$text*Odoc_typesix  jx  @ mx  nx  @@@@@@3pooppppp@C@A @@А!a@C@ x  x  @@@ @@@@б@гT&stringy  y  @@ @@@@@б@гc&stringy  y  @@ @@@.@@В@г&optiony  y  #@г$info*Odoc_typesy  y  @ y  y  @@@@@@R @@@ @@@W@@@гE$listy  )y  -@А!aagy  &y  (@@@g@@@n @@@@ @ @@u.@@@M @@xP@@@_@@{b@@@p@@~x  @@@w  !@ ) Return a pair [(comment_opt, element_comment_list)], where [comment_opt] is the last special comment found in the given string and not followed by a blank line, and [element_comment_list] the list of values built from the other special comments found and the given function. s  v | @@@@@@@G@@1@@@@@@@@@h@r@R@(@@3@*@A 3@@A ]!{ / 4@@,2 0 The basic module for special comments analysis./[000[0e@@@@@@@2\ff@@.info_of_string.<B  =B  @б@г&stringGB  HB  "@@ @@@3IHHIIIII@@@<@@&@g@@d76@66@@@6@6@3)@A@@г$info*Odoc_typespB  &qB  0@ tB  1uB  5@@@@@@. @@@4@@17 @@@B   @ [info_of_string s] parses the given string like a regular ocamldoc comment and return an {!Odoc_types.info} structure. @return an empty structure if there was a syntax error. TODO: change this } 6 6A  @@@@@@@I@@@@@@@@@P4info_of_comment_filefK  K  @б@г $listL  L  @г+Odoc_module(t_module+Odoc_moduleL  L  @ L  L  @@@@@@ l3@~M@A @@@$ @@@ n!@@б@г&stringL  L  @@ @@@ o@@г$info*Odoc_typesL  L  @ L  L  @@@@@@ p, @@@@@ q/ @@@/@@ r2= @@@K  @ C [info_of_comment_file file] parses the given file and return an {!Odoc_types.info} structure. The content of the file must have the same syntax as the content of a special comment. The given module list is used for cross reference. @raise Failure if the file could not be opened or there is a syntax error.  D 7 7 J } @@@@@@@$J@@@@@@@@@Q@s@l h@@@@@+@@3$##$$$$$@_-@A@ H************************************************************************-A@@.A@L@ H 3BMM4BM@ H OCaml 9C:C@ H ?D@D3@ H Maxence Guesdon, projet Cristal, INRIA Rocquencourt EE44FE4@ H KFLF@ H Copyright 2001 Institut National de Recherche en Informatique et QGRG@ H en Automatique. WHXHg@ H ]Ihh^Ih@ H All rights reserved. This file is distributed under the terms of cJdJ@ H the GNU Lesser General Public License version 2.1, with the iKjKN@ H special exception on linking described in the file LICENSE. oLOOpLO@ H uMvM@ H************************************************************************{N|N5@8* Analysis of comments.  4* The type of modules in argument to Info_retriever [ )* Return a text structure from a string.  1* The basic module for special comments analysis.[ 9* Return true if the given string contains a blank line.  H* This function retrieves all the special comments in the given string. i !* [just_after_special file str] return the pair ([length], [info_opt]) where [info_opt] is the first optional special comment found in [str], without any blank line before. [length] is the number of chars from the beginning of [str] to the end of the special comment. ߠ * [first_special file str] return the pair ([length], [info_opt]) where [info_opt] is the first optional special comment found in [str]. [length] is the number of chars from the beginning of [str] to the end of the special comment. U ** Return a pair [(comment_opt, element_comment_list)], where [comment_opt] is the last special comment found in the given string and not followed by a blank line, and [element_comment_list] the list of values built from the other special comments found and the given function.  * [info_of_string s] parses the given string like a regular ocamldoc comment and return an {!Odoc_types.info} structure. @return an empty structure if there was a syntax error. TODO: change this  D* [info_of_comment_file file] parses the given file and return an {!Odoc_types.info} structure. The content of the file must have the same syntax as the content of a special comment. The given module list is used for cross reference. @raise Failure if the file could not be opened or there is a syntax error. @(./ocamlc)-nostdlib"-I(./stdlib"-g0-strict-sequence*-principal(-absname"-w8+a-4-9-40-41-42-44-45-48+-warn-error"+a*-bin-annot/-strict-formats"-I(ocamldoc"-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א 9/builds/workspace/main/flambda/false/label/ocaml-linux-32 <10/.-,+*)('&%$#"! @@0M-cG  3@@@(Asttypes0>n{T8cئ5Build_path_prefix_map0z HkGs8CamlinternalFormatBasics0%FU(Q/Tu0CamlinternalLazy0&͂7 Pˆ*Format_doc0]mWϓ:Mݠ%Ident0">WA+9*X,Identifiable0 {d\FX'`(Location0a7cK_H%9)Longident0s `7mɕc$Misc0ob]6>Vê>*Odoc_class0_"#C{E06Q%ί3  .Odoc_exception0>@ӽX4Id.Odoc_extension0?*sR(6]!$.0z8P*%"e$Path0Y2kf֯J._Ϡ)Primitive0²~$xzT෠%Shape0oNՄBH&Stdlib0Lku]8_٠.Stdlib__Buffer08APF< t..Stdlib__Digest0l!LHgErζ .Stdlib__Domain0:M;׉<O$Ġ.Stdlib__Either0Vy`u~c à.Stdlib__Format0ܚ#G7m|/Stdlib__Hashtbl0ѱN][/!,Stdlib__Lazy0* -S$.)"0D.Stdlib__Lexing0e<.V +Stdlib__Map0L5xE|O0~,J-.Stdlib__Result06 ]/J+Stdlib__Seq0nwzG&amg+Stdlib__Set0\$;7 .Stdlib__String0