Caml1999T0364]/͜ZC)Odoc_scan*ocaml.text&_none_@@A Scanning of modules and elements. The class scanner defined in this module can be used to develop generators which perform controls on the elements and their comments. 5ocamldoc/odoc_scan.mlP77U@@@@@@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@@Р*Odoc_types*Odoc_typesWW@@ 3@@@@@A3@@@W@@ @/A@'scanner\\@'A&A%AБఠ$self(]]@AA]]@@*scan_valueA@*Odoc_value't_value@@@$unitF@@@ 3C@y@@C@w@@xC@t-scan_type_preA@)Odoc_type&t_type@@@"@@@ C@@@#C@@@C@2scan_type_recfieldA@&t_type@@@C@-@%,record_field@@@+@@@@C@*@@,@@.C@(@@)C@%/scan_type_constA@"@@@C@8@D3variant_constructor@@@6_@@@C@5@@7@@9C@3@@4C@0)scan_typeA@\?@@@Av@@@ WC@@@@BC@>@@?C@;:scan_extension_constructorA@.Odoc_extension7t_extension_constructor@@@@@@C@I@@C@G@@HC@D.scan_exceptionA@.Odoc_exception+t_exception@@@@@@ KC@@@C@@@C@.scan_attributeA@+t_attribute@@@@@@ C@@@C@@@C@+scan_methodA@(t_method@@@@@@,C@@@C@@@C@4scan_included_moduleA@+Odoc_module/included_module@@@ @@@ C@@@ C@@@C@7scan_type_extension_preA@~0t_type_extension@@@ @@@`C@ @@ C@ @@ C@ scan_type_extension_constructorsA@0t_type_extension@@@ $@@@ ?C@ @@ C@ @@ C@ 3scan_type_extensionA@0t_type_extension@@@ C@ @@ C@ @@ C@ 2scan_class_commentA@$text@@@ O@@@,C@ @@ C@ @@ C@ .scan_class_preA@*Odoc_class't_class@@@ L@@@yC@ @@ C@ @@ C@ 3scan_class_elementsA@*Odoc_class't_class@@@PC@ @@@ C@ @@ C@ @@ C@ *scan_classA@C@ C@ @@ C@ @@ C@ 7scan_class_type_commentA@$text@@@ @@@;C@ @@ C@ @@ C@ 3scan_class_type_preA@],t_class_type@@@ @@@C@ @@ C@ @@ C@ 8scan_class_type_elementsA@[,t_class_type@@@C@ @@@ 'C@ @@ C@ @@ C@ /scan_class_typeA@C@ C@ @@ C@ @@ C@ 3scan_module_commentA@K$text@@@ @@@ fC@ @@ C@ @@ C@ /scan_module_preA@*(t_module@@@ #@@@DC@ "@@ $C@ @@ !C@ 4scan_module_elementsA@+Odoc_module(t_module@@@C@ ,8@@@"C@ +@@ -C@ )@@ *C@ &+scan_moduleA@C@ 5C@ 4@@ 6C@ 2@@ 3C@ /8scan_module_type_commentA@$text@@@ >@@@nC@ =@@ ?C@ ;@@ _?_@AA࣠@&self-1Aఠ&self-*AgEA@3NMMNNNNN@s@@A  @XY@AB()@EF@A@@ABCԠ@@A @)*@ABƠ@@Alm@@ABCD@  @A@@ABhi@;<@ATU@WX@ABCwx@@A@ʠ@A@@ݠ@ABCDEF@!1@CA`A@@DA@@@SSJFAK@I@@K@࣠@%paramA@__@г頡*Odoc_value__@__@@@@@@ 3@nt@r@q|@s@)@@ @@__@@@@@@  @@@@ภ"()__@;~@@@N@@@@A@@A@@@@@@@@ @ A@A@@@'@@@ "@@ @@ +@@@=@2@@@ -@@ @@ @@ C@ @_#@@'aa@AA࣠@&self-1Aఠ!GA@\3@@@@  $HA_@_@@@࣠@tA@aa@гA?)Odoc_type&a'a!@H*a"+a(@@@@@@ 3-,,-----@+@@*3@@(@@ @@7a8a)@@@^@@@  @@@@ภ$trueDa,Ea0@; @@@M@@@AB@@AY@@@ @@@@@  @ A@A@@@~@@@ y@@ @@ ,@@@@@@@ @@ @@ @@ C@ \@ha$@@nc2=oc2O@AA࣠@&self-1Aఠ01/IA0@3|{{|||||@.@@@  2JA3@@@3@࣠@"_tAc2Pc2R@KA@@3@C@G@!@H@@@@@  @@A@c2Tc2U@г)Odoc_typec2Xc2a@c2bc2n@@@@@@ 3@&2@)@*@@ @@c2Sc2o@@@@@@ % @@@@ภc2rc2t@@@@@@@ )@AA@E A@@@@@@@ 9@@ 8@@ 7@@ 6J@ @@1@@@@@ D@@ C@@ B@@ A@@ @C@ ;j@c26"@@dudu@AA࣠@&self-1AఠLA@R3@@@@  MAU@U@@@࣠@"_tAdudu@)NA@@3@i@@!j@@@@@@  @@}A@ du!du@гJ)Odoc_type/du0du@3du4du@@@@@@ \365566666@&2$@)@*@@ @@>du?du@@@!@@@ a @@@@ภzJduKdu@y@@@&@@@ e@AA@E A@@@A@<@@@ u9@@ t@@ s@@ rJ@ @@@N@I@@@ F@@ @@ ~@@ }@@ |C@ wj@lduy"@@Crese@AA࣠@&self-1Aఠ453OA4@3@2@@@  6PA7@@@7@࣠@!tA@ee@@@@@ 3@H@L@"@M@@@@  @QAj@@@ F@ г)Odoc_typeee@ee@@@@@@ " @@ee@@@@@@ )@@@@ ఐR$selfff@}@@%3@<IA@D@7@@@Hf@@@@@@ @@  @@ఐX!tff@@@@@@ F@ F@ @@# @@ @ఐn!tg g @+@@)Odoc_type&t_type@@@ @ 8@)Odoc_type g  g &@'ty_kind g ' g .@@3'ty_kind@@@!)type_kind@@@@@C#3'ty_name $$Name!t@@@@@@ @A6ocamldoc/odoc_type.mliA " $A " 5@@*`@3'ty_info&optionL*Odoc_types$info@@@@@@A@A @AB 6 8B 6 a@@?a@3-ty_parameters.$listK@%Types)type_expr@@@@ (Variance!t@@@@@@@@@@BC@A9C b d:C b @@bb@Q3*ty_privateQi,private_flag@@@@@DN@ADE  EE  @@md@3+ty_manifest\Cx-type_manifest@@@@@@@@E^@ATF  UF  @@}e@3&ty_loclM(location@@@A@Fj@A`G  aG  @@f@3'ty_codex_&stringQ@@@ @@@A@G{@AqH ! #rH ! C@@g@@AuD  vD  @@c@@@@@@ @Ġ)Odoc_type h4> h4G@-Type_abstract h4H h4U@@;-Type_abstract@@@ @@@@BB@App@@@T@@@ @@@@@ 3        @@@@@@@@ @@@ภ h4Y h4[@@@@ @@@ @Ġ)Odoc_type i\f i\o@,Type_variant i\p i\|@@;,Type_variant2@3variant_constructor@@@@@@@A@BB@Aqq@@@U@ఠ!lĠ i\} i\~@ !RA@@@@@ @@@ 3        @A@@@@@. @@@@@ @@@@@ @@@డ$List$iter (i\ )i\@  ,i\ -i\@@@@!a@jp@@@-@@,@ @@@+@@@*@@)@@(@(list.mli@@,Stdlib__ListU@#@@@@2@@@G@v@@@x@@w@ݠ @@@u@@@t@@s@@r3 ] \ \ ] ] ] ] ]@^W@X@Y@@@@ ఐ$self qi\ ri\@@@@ vi\@@@a@\@@@Y@@@@@@ఐ!t i\ i\@@@q+@@ i\ i\@@@q@@@n@@3@@ఐ!l i\ i\@=@@(X@@@H@H@H@@ @@I@Ġ)Odoc_type j j@+Type_record j j@@;+Type_record@x,record_field@@@@@@@AABB@Arr@@@V@ఠ!lŠ j j@ SA@@@@@ @@@ @@@- @@@@@ @@@@@ @@@డ z$List$iter j j@  j j@@Ͱ@@@@ @@@G@ >@@@@@@ @@@@@@@@@@3        @AB;@<@=@@@@ ఐ$self #j $j@Ѱ@@ y@ (j@@@ 5@ -@@@ *@@@@@@ఐ!t :j ;j@h@@ E+@@ >j ?j@@@ B@@@ ?@@3@@ఐy!l Oj Pj@=@@ڠX@@@H@H@H@@f @@I@Ġ)Odoc_type gk hk@)Type_open lk mk@@;)Type_open@@@ABB@AFsGs @@@oW@@@ @@Z@@@ @@]@@@ @@@ภ k k@@@@@@@A g @@ MC@C@@@ f @@@ A@A@@@ ^@@@ \@@@@@@@ @ i@@@ g@@@@@@C@ @ e"@@ d m$ m>@AA࣠@&self-1Aఠl mk TAl@ 3        @j@@@  n UA o@ @@o@࣠@$A@ m@ mA@г ~ |.Odoc_extension mD mR@  mS mj@@@@@@3        @+ 5@@*3 6@@(@@ @@ m? mk@@@ @@@ @@@@ภ# mn mp@"@@@@@@ @A@ A@@@ @@@ @@@@%@@@ Z@ @@@ @@@@@@C@U@ m@@  nq| nq@AA࣠@&self-1Aఠر >VA@ y3 % $ $ % % % % %@@@@  ۱ AWA |@ |@@@࣠@A@ 4nq 5nq@г  Ϡ.Odoc_exception Cnq Dnq@ ذ Gnq Hnq@@@@@@*3 J I I J J J J J@+ @@*3 @@(@@ @@ Tnq Unq@@@ @@@/ @@@@ภ `nq anq@@@@<@@@3@A@ A@@@ @@@; @@:@@9%@@@ @ @@@D @@C@@B@@AC@=U@ ~nqu@@  o o@AA࣠@&self-1AఠFGE XAF@ 3        @D@@@  H YA I@ @@I@࣠@A@ o o@г  $*Odoc_value o o@ - o o@@@@@@S3        @k+ @o@*3 @p@(@@ @@ o o@@@ A@@@X @@@@ภ o o@@@@@@@\@A@ A@@@ Z@@@d W@@c@@b%@@@ 4@ e@@@m b@@l@@k@@jC@fU@ o@@ _ p p @AA࣠@&self-1Aఠ ZA@ S3        @@@@    V@ V@@@࣠@kA@ p  p @г U y*Odoc_value p  p @  !p  "p @@@@@@|3 $ # # $ $ $ $ $@+ |@@*3 }@@(@@ @@ .p  /p @@@ @@@ @@@@ภj :p  ;p "@i@@@ @@@@A@ A@@@ @@@ @@@@%@@@ @ @@@ @@@@@@C@U@ Xp@@  ^q # . _q # B@AA࣠@&self-1Aఠ ! \A @ 3 l k k l l l l l@@@@  " ]A #@ @@#@࣠@A@ {q # D |q # E@г  ̠+Odoc_module q # H q # S@ հ q # T q # c@@@@@@3        @E+ @I@*3 @J@(@@ @@ q # C q # d@@@ @@@ @@@@ภװ q # g q # i@@@@ @@@@A@ A@@@ @@@ @@@@%@@@ @ @@@ @@@@@@C@U@ q # '@@  ؐ: Scan of a type extension  s k m s k @@@@@@@  y   y  @AA࣠@&self-1Aఠ^A@ >3        @@@@  _A A@ A@@@࣠@VA@ y   y  @г  2.Odoc_extensiony   y  @ ; y   y  @@@@@@3@+ g@@*3 h@@(@@ @@y  y  @@@ O@@@ @@@@ภ%y  &y  @@@@@@@@A@ A@@@ h@@@ e@@@@%@@@ @ s@@@ p@@@@@@C@U@Cy  @)ocaml.docU Override this method to perform controls on the extension's type, private and info. This method is called before scanning the extensions's constructors. @return true if the extension's constructors must be scanned.Ru  Sx ? @@@@@@@ }Y| " -Z| " M@AA࣠@&self-1 Aఠ`A@ 3gffggggg@@@@  aA @ @@@࣠@!x!A@y| " Oz| " P@@ - @@@3}||}}}}}@1 @5@$ @6@@@@ @bA @@@F@г.Odoc_extension| " R| " `@ | " a| " q@@@$@@@" @@| " N| " r@@@ @@@)@@@@డ =$List$iter} u {} u @ } u } u @@@@@@ x@@@E@ @@@@@@ R @@@ K@@@@@@@3@Ve]@`@Q@@@@ ఐ$self} u } u @@@ :@z} u @@@ @@@ @@@@డ 6extension_constructors.Odoc_extension} u } u @ } u } u @@@.Odoc_extension0t_type_extension@@@$listK7t_extension_constructor@@@@@@@@@;ocamldoc/odoc_extension.mlim}}m}@@X@$@@@@@@!@@@ @@@@@Z@@ఐà!x9} u :} u @d@@7@@@*G@,G@+n@@D} u E} u @@ Π@@@F@-G@(y@@ @@ iC@C@lC@@A@A@@@ y@@@5 v@@4@@3@@@ @ @@@> @@=@@<@@;C@7@l| " &(@)} A This method scans the constructors of the given type extension. z{  {{  !@@@@@@@ A  A  @AA࣠@&self-1#Aఠ C" D BcA C@ 3@ A@@@   EdA  F@ @@ F@࣠@!x$A@A  A  @@ U @@@Q3@ Y @ ]@$ @ ^@@@@ @eA @@@PF@Oг.Odoc_extensionA  A  @ ðA  A  @@@$@@@M" @@A  A  @@@ @@@R)@@@@ ఐT$selfB  B  @ @@63@<KC@F@7@@@ ZB  @@@ @@@X @@W @@ఐZ!xB  B  @@@ 3@@@]F@_F@^@@# @@ 1 @ ఐ$selfB  B  @ @@d.@ B  0@@@ 2@@@d /@@c6@@ఐ!x#B  1$B  2@@@@ F@@@iF@kF@jJ@@  @@ DK@@/B   @@ FM@e A@iA@@@ =@@@t :@@s@@r@@@@ H@@@} E@@|@@{@@zC@v@HA  %@Y Scan of a type extension. Should not be overridden. It calls [scan_type_extension_pre] and if [scan_type_extension_pre] returns [true], then it calls scan_type_extension_constructors.V  W@ / @@@@@@@kj2 Scan of a class. gE 5 7hE 5 N@@@@@@@ fnH } oH } @AA࣠@&self-1&Aఠ 0% 1 /fA 0@3|{{|||||@ .@@@   2gA 3@@@ 3@࣠@ 'A@H } H } @г  H } H } @@@@@3@ L"@ P@!*@ Q@@@  @@H } H } @@@ @@@ @@@@ภ ްH } H } @ @@@ @@@@A@ A@@@ @@@ @@@@%@@@@ @@@ @@@@@@C@L@H } @ݐ # Scan of a comment inside a class. G P TG P |@@@@@@@ °M|M|@AA࣠@&self-1)Aఠ (  hA @C3@ @@@    iAF @F@@ @࣠@ [*A@M|M|@г  ڠ*Odoc_class M|M|@ M|M|@@@@@@3@ +l@ @*3m@ @(@@ @@M|M|@@@ @@@ @@@@ภ *M|+M|@ @@@ @@@@A@ A@@@@@@ @@@@%@@@@@@@@@@@@@C@U@HM|@Y Override this method to perform controls on the class comment and params. This method is called before scanning the class elements. @return true if the class elements must be scanned.VJ  WL?{@@@@@@@$]Q*^Q=@AA࣠@&self-1,Aఠ +  jA @3kjjkkkkk@ @@@   !kA "@@@ "@࣠@!c-A}Q>~Q?@lA@@@3~}}~~~~~@ 2@ 6@!@ 7@@@@@  @@డ$List$iterRBHRBL@ RBMRBQ@@m@@@@`-class_element@@@E@@@@@@@ 1@@@ *@@@@@@@3@4@v@7@8@@@@࣠@#ele.ASR_SRb@mA@@(3@@@@@@@ఐ#eleTfvTfy@7@@@@83@&@@@Ġ*Odoc_classUU@/Class_attributeUU@@;/Class_attributeN@@@ O@*Odoc_value+t_attribute@@@ L@A@@C@A7ocamldoc/odoc_class.mliWW@@@B@ఠ!a/ U U@#nA@@@@@3  @8@@@@@,@@r@@r@@@ ఐ$selfUU@ ̰@@t3@I@@@@@ ɰ&U@@@@@@ @@ @@ఐ,!a6U7U@@@@@@J@J@@@# @@y@@@#@Ġ*Odoc_classPVQV@,Class_methodUVVV@@;,Class_methodi@f(t_method@@@ M@AA@C@AdXeX@@@C@ఠ!m0mVnV@oA@@@@@3qppqqqqq@@@@@@&@@@@@@@ ఐ$selfVV@ /@@3@@@@@@ V@@@@@@@@ @@ఐ,!mVV@@@@@@J@J@@@# @@c @Ġ*Odoc_classW W@-Class_commentWW!@@;-Class_comment@*Odoc_types$text@@@ N@AB@C@AYY4@@@D@ఠ!t1W"W#@pA@@@@@@@@'@@6@@6@@@ ఐz$selfW'W+@ @@83@ @@@@@ W>@@@@@@!@@  @@ఐ+!tW?W@@@@@@@&J@+J@*@@# @@ @@@ATfp @@?@@@53@1@@@ SRZ XAJ@@@sL@@@@@F@9F@7N@@డ.class_elements*Odoc_class'YKT(YK^@ +YK_,YKm@@%trans&optionL$boolE@@@ @@@ @@@@ $listK@@@ @@@ @@ @@ @QR  RR  H@@ t@-(@@%# @@@B@@@A@@@@@@@@?@@@>@@=@@<@:ภ$None~;Ր@@W@@@@AA@A@@@@DA@@@T@@@S@@ఐ!cYKnYKo@԰@@J@@YKSYKp@@@@@F@VG@N@@ @@PC@C@C@@ A@$A@@@dZ@@[@@Z$@@@@lb@@b@@a@@`C@]?@Q#"@k ^ This method scans the elements of the given class. A VOIR : scan des classes heritees.OP@@@@@@@n]]'@AA࣠@&self-1Aఠ   rA @%3@ @@@   sA( @(@@ @࣠@!cA](])@tA@@3@ <@ @!=@ @@@@@  @@ ఐ-$self]/]3@ @@Q3@$@@@@@ ]B@@@@@@r@@q @@ఐ3!c]C]D@@@@@@@@ ఐT$self"]J#]N@ а@@x'@ ư']b@@@@@|,@@ఐT!c4]c5]d@6@@9@@@@:@@9],@@<@XA@\ A@@@@@@@\@@@@@@@@@@C@w@L]@ ] Scan of a class. Should not be overridden. It calls [scan_class_pre] and if [scan_class_pre] returns [true], then it calls scan_class_elements.Z[rv[\@@@@@@@on7 Scan of a class type. k_fhl_f@@@@@@@ rbsb@AA࣠@&self-1Aఠ453uA4@3@2@@@  6vA7@@@7@࣠@ A@bb@г')bb@@@@@3@P"@T@!*@U@@@  @@bb@@@;@@@ @@@@ภ bb@ @@@@@@@A@ A@@@T@@@R@@@@%@@@@_@@@]@@@@@@C@L@b@ᐠ ( Scan of a comment inside a class type. aa@@@@@@@igg@AA࣠@&self-1Aఠ wA@G3@@@@  xAJ@J@@@࣠@_A@gg@г*Odoc_classgg@gg@@@@@@3@+p@@*3q@@(@@ @@"g#g@@@@@@ @@@@ภ .g/g @ @@@ @@@@A@ A@@@@@@@@@@%@@@@@@@@@@@@@C@U@Lg@ ] Override this method to perform controls on the class type comment and form. This method is called before scanning the class type elements. @return true if the class type elements must be scanned.Zd[f@@@@@@@Ͱak{bk{@AA࣠@&self-1Aఠ#$"yA#@3onnooooo@!@@@  %zA&@@@&@࣠@"ctAk{k{@{A@@3@6@:@!@;@@@@@  @@డ$List$iterll@ ll@@ q@@@@@@@E@@@@@@@3 @@@,@@@@@@@3@2>@5@6@@@@࣠@#eleAmm@|A@@&3@@@@@@@ఐ#elenn@5@@@@63@&@@@Ġ*Odoc_classoo@/Class_attributeoo@@ఠ!aoo @}A@@@@@ 3@$@@@@@@@\@@\@@@ ఐ$self o  o@@@b3        @5@@@@@o @@@@@@@@ @@ఐ,!a$o!%o"@@@@@@J@J@@@# @@g@@@#@Ġ*Odoc_class>p#/?p#9@,Class_methodCp#:Dp#F@@ఠ!mMp#GNp#H@f~A@@@@@ 3QPPQQQQQ@y@@@@@@@@@@@@ ఐ$selfap#Lbp#P@@@3a``aaaaa@@@@@@ip#\@@@@@@$@@# @@ఐ,!myp#]zp#^@@@@@@)J@+J@*@@# @@U @Ġ*Odoc_classq_kq_u@-Class_commentq_vq_@@ఠ!t q_q_@A@@@@@@@@@@@@@@@ ఐF$selfq_q_@`@@3@@@@@@Sq_@@@P@@@0N@@/ @@ఐ+!tq_q_@@@d@@@5J@:J@9@@# @@ @@@An @@@@@3@@@@mr@@@?@@@@@F@F@@@డ3class_type_elements*Odoc_classss@ ss@@%transР@@@ @@@ @o@@@ ˠq@@@ @@@ @@ @@ @U | |U | @@u@&!@@@@@@@@@@@@@@@@@@@@@@|@3ภF@F@6@@@@@@@@ఐ̠"ctJsKs@@@@@NsOs@@ؠ@@@F@G@@@ @@C@C@C@@A@A@@@@@@@@@@@@@@@@@C@@pk{"@ - c This method scans the elements of the given class type. A VOIR : scan des classes heritees.~ijNz@@@@@@@ذww@AA࣠@&self-1AఠGàHF@AG@3@E@@@  IAAJ@@@J@࣠@"ctAww@BA@@3@Z@^@!@_@@@@@  @@ ఐ-$selfww@k@@3@$@@@@@Yw@@@D@@@A@@ @@ఐ3"ctww@@@#@@@@O@ ఐT$selfww@@@:'@w@@@PI@@,@@ఐT"ctww@6@@D9@@@@W:@@w@@Y<@XA@\ A@@@PN@@@@\@@@Z@XV@@@@@@C@w@w@  Scan of a class type. Should not be overridden. It calls [scan_class_type_pre] and if [scan_class_type_pre] returns [true], then it calls scan_class_type_elements.uv6@@@@@@@102 Scan of modules. -y.y@@@@@@@w4|BM5|B`@AA࣠@&self-1AఠƠ[CA@3BAABBBBB@@@@  ^DA@@@@࣠@A@Q|BbR|Bc@г\|Bf]|Bj@@@@@3^]]^^^^^@"@@!*@@@@  @@h|Bai|Bk@@@@@@ @@@@ภt|Bnu|Bp@@@@P@@@@A@ A@@@@@@@@@@%@@@@@@@ @@@@@@C@L@|BF@ O $ Scan of a comment inside a module. {{A@@@@@@@ӰCNC]@AA࣠@&self-1AఠiɠjhEAi@ 3@g@@@  kFA l@ @@l@࣠@!A@C_C`@г+Odoc_moduleCcCn@CoCw@@@@@@3@+2@@*33@@(@@ @@C^Cx@@@ @@@ @@@@ภC{C@@@@@@@!@A@ A@@@#@@@) @@(@@'%@@@W@.@@@2+@@1@@0@@/C@+U@CG@  Override this method to perform controls on the module comment and form. This method is called before scanning the module elements. @return true if the module elements must be scanned.~rvB@@@@@@@7#$@AA࣠@&self-1Aఠ̠JGA@310011111@@@@  MHA@@@@࣠@!mACD@\IA@@S3DCCDDDDD@@@!@@@@@@  @@డ$List$iter[\@ _`@@3@@@@s.module_element@@@@D@@@F@@E@@@@C@@@B@@A@@@3wvvwwwww@4@@7@8@@@@࣠@#eleA@JA@@(3@@@@@@@ఐ#ele@7@@@@83@&@@@Ġ+Odoc_module!-!8@.Element_module!9!G@@;.Element_moduleN@@@ 7@@@@ -@A@@J@A8ocamldoc/odoc_module.mliYY@@@L@ఠ!mР!H!I@KA@@@@@]3@3@@@@@'@@m@@m@@@ ఐ$self!M!Q@@@53@D@@@@@s!]@@@@@@@ఐ)!m!^!_@@@C@BC@CC@@@@@5@@@@Ġ+Odoc_module `l `w@3Element_module_type`x`@@;3Element_module_type_@@@@ .@AA@J@A\Z]Z(@@@$M@ఠ"mtѠ&`'`@?LA@@@@@`3*))*****@@@@@@#@@@@@@@ ఐ $self:`;`@@@3:99:::::@@@@@@ðB`@@@@@@@ఐ)"mtO`P`@@@C@"[C@"\C@@@@@[@Ġ+Odoc_modulede@7Element_included_moduleij@@;7Element_included_module@y/included_module@@@ /@AB@J@A[)+[)W@@@~N@ఠ"imҠ@MA@@@@@c3@@@@@@%@@"@@"@@@ ఐf$self@B@@3@@@@@@,@@@@@@@@ @@ఐ,"im@@@@@@J@J@@@# @@ @Ġ+Odoc_module @-Element_class#@@;-Element_class@*Odoc_class't_class@@@ 0@AC@J@A\XZ\X@@@O@ఠ!cӠ$%@NA@@@@@f3@J@@@@@(@@@@@@@ ఐȠ$self)-@@@L3@[@@@@@8@@@@@@@ఐ)!c 9 :@@@J@@@@@@Ġ+Odoc_module;G;R@2Element_class_type";S#;e@@;2Element_class_typep@Z,t_class_type@@@ 1@AD@J@Ap]q]@@@8P@ఠ"ctԠ:;f;;h@SOA@@@@@i3>==>>>>>@@@@@@&@@@@@@@ ఐ $selfN;lO;p@@@3NMMNNNNN@@@@@@V;@@@@@@@ఐ)"ctc;d;@@@J@@@@@l@Ġ+Odoc_moduleuv@-Element_valuez{@@;-Element_value@*Odoc_value't_value@@@ 2@AE@J@A^^@@@Q@ఠ!vՠ@PA@@@@@l3@@@@@@(@@6@@6@@@ ఐz$self@V@@3@ @@@@@@@@@@@@@ @@ఐ,!v@@@ @@@J@J@@@# @@ @Ġ+Odoc_module@6Element_type_extension@@;6Element_type_extension*@.Odoc_extension0t_type_extension@@@ 3@AF@J@A,_-_@@@R@ఠ!x֠@QA@@@@@o3@^@@@@@(@@@@@@@ ఐܠ$self  @@@`3        @o@@@@@ @@@@@@@@ @@ఐ,!x"#@@@-@@@J@J@@@# @@0 @Ġ+Odoc_module9:'@1Element_exception>(?9@@;1Element_exception@.Odoc_exception+t_exception@@@ 4@AG@J@A``K@@@VS@ఠ!eנX:Y;@qRA@@@@@r3\[[\\\\\@@@@@@(@@@@@@@ ఐ>$selfl?mC@@@3lkklllll@@@@@@tR@@@@@@ @@ @@ఐ,!eST@@@#@@@J@J@@@# @@ @Ġ+Odoc_moduleUaUl@,Element_typeUmUy@@;,Element_type@)Odoc_type&t_type@@@ 5@AH@J@AaLNaLp@@@T@ఠ!tؠUzU{@SA@@@@@u3@"@@@@@(@@\@@\@@@ ఐ$selfUU@|@@$3@3@@@@@PU@@@@@@@@ @@ఐ,!tUU@@@@@@J@J@@@# @@ @Ġ+Odoc_module@6Element_module_comment@@;6Element_module_commentP@*Odoc_types$text@@@ 6@AI@J@ARbqsSbq@@@U@ఠ!t٠@5TA@@@@@x@@@'@@@@@@@ ఐ$self/0@ݰ@@3/../////@@@@@@7@@@u@@@s@@ @@ఐ+!tGH@@@@@@J@J@@@# @@U @@@AS @@@@@3TSSTTTTT@@@@YZ@@@@@@T@@SF@F@@@డ/module_elements+Odoc_moduletu@ xy @@%trans&optionL$boolE@@@ @@@ @@@@ $listK/@@@ @@@ @@ @@ @:@@O@-(@@%# @@@ @@@ @@@@ I@@@ @@@ @@@@<@:ภ M L@@=:@@@@@@J@@ఐ!m@T@@W@@@@\t@@@RF@!G@b@@ @@C@ C@C@KC@QU@A@A@@@@@&@@%@@@B@@@-@@,@@+C@(@$@ 5 This method scans the elements of the given module. @@@@@@@  @AA࣠@&self-1Aఠڠ̱2UA@m3@@@@  ϱ5VAp@p@@@࣠@!mA+,@DWA@@3,++,,,,,@@@!@@@@@@  @@ ఐ-$selfCD@@@3CBBCCCCC@$9@@@@@ΰK@@@r@@@=o@@< @@ఐ3!m[\@@@N@@@@}@ ఐT$selfjk@@@'@o @@@~t@@G,@@ఐT!m| } @6@@o9@@@@:@@@@<@XA@\ A@@@{y@@P@@O\@@@@@@W@@V@@UC@Rw@@Q Scan of a module. Should not be overridden. It calls [scan_module_pre] and if [scan_module_pre] returns [true], then it calls scan_module_elements.a@@@@@@@7 Scan of module types.   +@@@@@@@`k`@AA࣠@&self-1Aఠ|ݠ}{XA|@3@z@@@  ~YA@@@@࣠@4A@``@гb``@@@@@f3@"<@@!*=@@@@  @@``@@@@@@k @@@@ภ*``@)@@@@@@o@A@ A@@@@@@w@@v@@u%@@@a@@@@@@@@~@@}C@yL@`d@) ) Scan of a comment inside a module type. &-1'-_@@@@@@@-v.v@AA࣠@&self-1AఠTZA@3;::;;;;;@@@@  W[A@@@@࣠@A@JvKv@г+Odoc_moduleYvZv@ ]v^v@@@@@@3`__`````@+@@*3@@(@@ @@jvkv@@@4@@@ @@@@ภ3vvwv@2@@@2@@@@A@ A@@@M@@@J@@@@%@@@@X@@@U@@@@@@C@U@vz@Q Override this method to perform controls on the module type comment and form. This method is called before scanning the module type elements. @return true if the module type elements must be scanned. 2u@@@@@@@a &@AA࣠@&self-1Aఠklj\Ak@ 3@i@@@  m]An@@@n@࣠@"mtA')@^A@@}3@~"@@!#@@@@@@  @@డf$List$iter,2,6@ ,7,;@@@@@@@@@E@*@@@@@@{ @@@t@@@@@@@3@2>@5@6@@@@࣠@#eleA <I <L@ (_A@@&3        @@@@@@@ఐ#ele P` Pc@5@@@@63        @&@@@Ġ+Odoc_module 1iu 2i@.Element_module 6i 7i@@ఠ!m @i Ai@ Y`A@@N@@@3 D C C D D D D D@$@@@@@@@\@@\@@@ ఐ$self Ti Ui@@@3 T S S T T T T T@5@@@@@ \i@@@OM@@@@ఐ)!m ii ji@@@xJ@ @@@@@@@@Ġ+Odoc_module ~ @3Element_module_type  @@rఠ"mt  @ aA@@?@@@3        @q@@@@@@@@@@@@ ఐ$self  @O@@3        @@@@@@* @@@CA@@ @@ఐ)"mt  @@@iJ@ @@@@M@Ġ+Odoc_module   @7Element_included_module   "@@dఠ"im # %@ bA@@l@@@3        @@@@@@@@@@@@@ ఐ7$self ) -@@@A3        @@@@@@ B@@@D@@@ ?@@  @@ఐ,"im!C!E@@@X@@@ J@ J@ @@# @@ @Ġ+Odoc_module!FR!F]@-Element_class!F^! Fk@@Wఠ!c!)Fl!*Fm@!BcA@@_@@@3!-!,!,!-!-!-!-!-@ @@@@@@@E@@E@@@ ఐ$self!=Fq!>Fu@@@3!=!<!<!=!=!=!=!=@@@@@@!EF@@@@@ @@ఐ)!c!RF!SF@@@J@ @@@@@Ġ+Odoc_module!d!e@2Element_class_type!i!j@@Gఠ"ct!s!t@!dA@@O@@@3!w!v!v!w!w!w!w!w@W@@@@@@@@@@@@ ఐӠ$self!!@5@@3!!!!!!!!@h@@@@@*!@@@@@ "@@ఐ)"ct!!@@@J@ &@@@@3@Ġ+Odoc_module!!@-Element_value!!@@9ఠ!v!!@!eA@@A@@@3!!!!!!!!@@@@@@@@@@@@@ ఐ$self!!@@@ '3!!!!!!!!@@@@@@F! @@@ @@@ + @@ * @@ఐ,!v! ! @@@ 2@@@ 0J@ 2J@ 1@@# @@ @Ġ+Odoc_module"  "  @6Element_type_extension"  !"  7@@)ఠ!x"  8"  9@"(fA@@1@@@3""""""""@@@@@@@@+@@+@@@ ఐo$self"#  ="$  A@Ѱ@@ y3"#"""""#"#"#"#"#@@@@@@"+  U@@@2@@@ 7/@@ 6 @@ఐ,!x";  V"<  W@@@F@@@ J@ =@@# @@ @Ġ+Odoc_module"R X d"S X o@1Element_exception"W X p"X X @@ఠ!e"a X "b X @"zgA@@!@@@3"e"d"d"e"e"e"e"e@E@@@@@@@}@@}@@@ ఐ$self"u X "v X @#@@ 3"u"t"t"u"u"u"u"u@V@@@@@"} X @@@ @@@ C @@ B @@ఐ,!e" X " X @@@ ,@@@ HJ@ JJ@ I@@# @@) @Ġ+Odoc_module"  "  @,Element_type"  "  @@ ఠ!t"  "  @"hA@@@@@3""""""""@@@@@@@@@@@@@ ఐ$self"  "  @u@@!3""""""""@@@@@@I"  @@@ @@@ O @@ N @@ఐ,!t"  "  @@@ @@@ TJ@ VJ@ U@@# @@{ @Ġ+Odoc_module"  "  @6Element_module_comment"  " !@@ఠ!t# !# !@#iA@@@@@@@@@@ @@ @@@ ఐd$self# ! # !@ư@@!n3########@@@@@@#  !$@@@^@@@ [\@@ Z @@ఐ+!t#0 !%#1 !&@@@r@@@ `J@ eJ@ d@@# @@ @@@A#<PZ @@!u@@@"3#=#<#<#=#=#=#=#=@@@@#B<D#C!'!0@@@]!@@@@@F@"F@":@@డ 4module_type_elements+Odoc_module#]!1!:#^!1!E@ #a!1!F#b!1!Z@@%trans@@@ @@@ @!@@@  @@@ @@@ @@ @@ @ } ~2g@@N@&!@@@@@"&@@@"%@<@@@"$ +@@@"#@@@""@@"!@@" @3ภ/#.@#@6@@@"8@@@"7@@ఐꠐ"mt#!1![#!1!]@@@c@@#!1!9#!1!^@@>@@@F@":G@"2@@ @@jC@"dC@@A@A@@@{t@@"?@@">@@@" @|@@"F@@"E@@"DC@"A@# @#吠 : This method scans the elements of the given module type. ##@@@@@@@#""##""3@AA࣠@&self-1Aఠ$jA@"K3########@@@@  $kA"N@"N@@@࣠@"mtA$ ""4$ ""6@$"lA@@3$ $ $ $ $ $ $ $ @"b@@!"c@@@@@@  @@ ఐ-$self$!"9"B$""9"F@ϰ@@"w3$!$ $ $!$!$!$!$!@$@@@@@$)"9"[@@@@@@"V@@"U @@ఐ3"mt$9"9"\$:"9"^@@@@@@@@ ఐT$self$H"9"d$I"9"h@@@"'@ʰ$M"9"@@@ @@"`,@@ఐT"mt$Z"9"$["9"@6@@9@@@@ :@@$_"9"?@@ <@XA@\ A@@@ @@"i@@"h\@@@"@  @@"p@@"o@@"nC@"kw@$r""@/$ Scan of a module type. Should not be overridden. It calls [scan_module_type_pre] and if [scan_module_type_pre] returns [true], then it calls scan_module_type_elements.$!`!d$!"@@@@@@@$$7 Main scanning method. $""$""@@@@@@@ &$""$""@AA࣠@&self-1AఠZ[Y$mAZ@"3$$$$$$$$@X@@@  \$nA"]@"@@]@࣠@!lA$""$""@$oA@@ B3$$$$$$$$@m#@q@!#@r@@@@@  @@డ#U$List$iter$""$""@ $""$""@@@@@@ Z#@@@"@@"@ e b@@@" ^@@@"@@"@@"~3$$$$$$$$@-9 q@0@1@@@@ ఐT$self$""$""@@@#M@$"#@@@  @@"@@ఐT!l% "#% "#@!@@ $@@=@@ %@VA@ZA@@@  @@"@@"Z@@@#k@  @@"@@"@@"C@"u@%""@%09 Scan a list of modules. %-""%.""@@@@@@@@ Lذ%0] R@ O @#@#A##hA#g#OA#N#/A#.#A#"A""A""A""A""A""A""sA"r"]A"\"KA"J"6A"5"A""A"!A!!A!!A!!A!!A!!A!!{A!z!aA!`!SA!R!=A!<!'A!&!A!!A!C@$@$<@$;@$:@$9@$8@$7@$6@$5@$4@$3@$2@$1@$0@$/@$.@$-@$,@$+@$*@$)@$(@$'@$&@$%@$$@$#@$"@$!@$ @$ @@$@@#@A@"@@@#"@@#@@#@"1@A@"-"+@@#@@#@AB"@A@"@@@#"}@@#@@#@"\@A@"X"N@@#@@#@A"{@A@"w@@@#"r@@#@@#@!@A@!!@@#@@#@ABC"C@A@"?@@@#"=@@#@@#@"@A@""@@#@@#@A"<@A@"8@@@#"5@@#@@#@B#`@A@#\@@@##W@@#@@#@CD#@A@#~@@@##y@@#@@#@#)@A@#%@@@## @@#@@#@A#I@A@#E@@@##B@@#@@#@!ܰ@A@!!@@#@@#@AB",@A@"(@@@#"&@@#@@#@"@A@"!@@#@@#@!@A@!!x@@#@@#@AB"*@A@"&@@@#"#@@#@@#@!@A@!!@@#@@#@A!@A@!@@@#!@@#@@#@!ϰ@A@!!@@#@@#@A!@A@!@@@$!@@$@@$@BCDEF#@A@#@@@$#@@$@@$@$@A@$@$@@@$ $@@$@@$@@$@#F@A@#B@@@$ #?@@$ @@$ @AB#f@A@#b@@@$#_@@$@@$ @#@A@#@@@$#@@$@@$@AC$@A@$|@@@$$w@@$@@$@$o@A@$k@$c@@@$$`@@$@@$@@$@A$@A@$@@@$$@@$@@$@BDG$Ԑ @!,& Class which defines the scanning of a list of modules and their elements. Inherit this class to develop your own scanner, by overriding some methods.&}Y&~[@@@@@@@!#@N$;@@!A$A$$A$$A$$~A$}$aA$`$LA$K$4A$3$A$$A$#A##A##A##A##A##A##mA#l#SA#R#EA#D#0A#/#A##A#"A""A""A""A""A""A""vA"u"_A"^"PA"O @$>@$\@$[@$Z@$Y@$X@$W@$V@$U@$T@$S@$R@$Q@$P@$O@$N@$M@$L@$K@$J@$I@$H@$G@$F@$E@$D@$C@$B@$A@$@@$?%+@@$=@@@@!@@@!@!W!!꠰&אWV@VV@@@V@V@%$%$##$ʠ$"""Ơ"~# "o"#&"ܠ$S$<$$#m#V##?#Π###$w@@""@3&&&&&&&&@%h@@@%[#@@""A@%]#@x;@@"bAw@@@@"@@@"@""A@%`;@@@A"e@@@@"!@@@"A@@3&&&&&&&&@"q%k#@"#%k!(@"*"'%m#@"&%n!@",")%p#@%[A@%V%S@@@%B%P@@@$@@%A@@%@%KA@%F%C@@@%?%@@@@$@@%>@@%=%=A@%6%5@@@$@%4%3@@@%<%p@@@$@@%;@@%:@@%9%.A@%I%H@@@$@%(%'@@@%8%@@@$@@%7@@%6@@%5%"A@%%[@@@%4%@@@$@@%3@@%2%A@%%@@@%1%@@@$@@%0@@%/% A@%%@@@%.%@@@$@@%-@@%,$A@$$@@@%+%@@@$`@@%*@@%)$A@$$@@@%(%@@@$@@%'@@%&$A@$$@@@%%%@@@$@@%$@@%#$A@$$@@@%"%@@@$@@%!@@% $A@$$@@@%%@@@$@@%@@%$A@$$@@@% @@%@@%$A@&L$@@@%&@@@$h@@%@@%$A@$$@@@%%@@@$n@@%@@%$A@$$@@@$e&@@@$d@@%@@%$A@  @@%@@%$A@&y$@@@%&/@@@$v@@%@@% $A@$|${@@@% &@@@$|@@% @@% $vA@$$o@@@$s&I@@@$r@@% @@%$jA@  @@%@@%$`A@&$[@@@%&\@@@$@@%@@%$VA@$Q$P@@@%&L@@@$@@%@@%$KA@$D$A@@@$&v@@@$@@$@@$$@A@&:&7@@@$W@@$@@$@A&_@A@&[&Z@@@$m@@$@@$@$@A@@@$@@$@AB%C@A@'%?@@@$@@$@@$@%@A@@@$@@$@$@A@@@$@@$@AB%B@A@%>%=@@@$@@$@@$@$@A@@@$@@$@A%@A@'% @@@$@@$@@$@$@A@@@$@@$@A%@A@%%@@@$@@$@@$@BCDEF'@A@' 'J@@@$@@$@@$@';@A@@'2'1@@@$ @@$@@$@@$@&c@A@&_&^@@@$@@$@@$@AB&@A@&&@@@$@@$@@$@&@A@&&@@@$@@$@@$@AC'@A@''@@@$V@@$@@$@'@A@T@''@@@$P@@$@@$@@$@A'Ӱ@A@''@@@$y@@$@@$@BDG##@@@$]@$%$'#@'A@''@@@%'@@@%@@%@@%'A@''@@@%'@@@%@@%@@%'A@''@@@%@''@@@%'@@@%@@%@@%@@%'A@''@@@%@''@@@%(@@@%@@%@@%@@%'A@''@@@%(@@@%@@%@@%'A@''@@@%()@@@%@@%@@%'A@''@@@%(6@@@%@@%@@%'A@''@@@%(C@@@%@@%@@%'A@'z'y@@@%(P@@@%@@%@@%'tA@'o'l@@@%(]@@@%@@%@@%'gA@'b'a@@@%(M@@@%@@%@@%'\A@'W'V@@@%(w@@@%@@%@@%'QA@'L'K@@@% @@%@@%'GA@('B@@@%(@@@%@@%@@%'=A@'8'5@@@%(~@@@%@@%@@%'0A@')'&@@@%(@@@%@@%@@%'!A@  @@%@@%'A@)'@@@%(@@@%@@%@@%' A@''@@@%(@@@%@@%@@%'A@'V&@@@%(@@@%@@%@@%&A@  @@%@@%&A@)2&@@@%(@@@%@@%@@%~&A@&&@@@%}(@@@%|@@%{@@%z&A@&&@@@%f)@@@%w@@%y@@%x&A@  @@%v@@%u&A@)_&@@@%t&@@@%s@@%r@@%q&A@&&@@@%p)@@@%o@@%n@@%m&A@&&@@@%j)/@@@%i@@%l@@%k&A@  @@%h@@%g&A@&C@@@%e&@@@%d@@%c@@%b@&F@&E@&D@&C@&B@&A@&@@&?@&>@&=@&<@&;@&:@&9@&8@&7@&6@&5@&4@&3@&2@&1@&0@&/@&.@&-@&,@&+@&*@&)&@@&(@@(@A@((@@@%@@%@@%@'̰@A@@@%@@%@AB(@A@)(@@@%@@%@@%@'@A@@@%@@%@A(@A@((@@@%@@%@@%@'@A@@@%@@%@ABC'@A@)'@@@%@@%@@%@'@A@@@%@@%@A'ڰ@A@''@@@%@@%@@%@B(@A@((@@@%i@@%@@%@CD)"@A@))@@@%@@%@@%@(ʰ@A@((@@@%W@@%@@%@A(@A@((@@@%m@@%@@%@'@A@@@%@@%@AB'ϰ@A@*'@@@%@@%@@%@'@A@@@%@@%@'+@A@@@&@@%@AB'ΰ@A@''@@@&@@&@@&@'L@A@@@&@@&@A'@A@*<'@@@&@@&@@&@'u@A@@@& @@& @A'@A@''@@@& @@& @@& @BCDEF)@A@))@@@&@@&@@&@)ǰ@A@@))@@@& @@&@@&@@&@(@A@((@@@&@@&@@&@AB)@A@) ) @@@&@@&@@&@)2@A@).)-@@@&@@&@@&@AC*,@A@*(*%@@@& V@@&@@&@*@A@T@**@@@&$P@@&#@@&"@@&!@A*_@A@*[*X@@@&'y@@&&@@&%@BDG;@@@A*oA*TA}*;Ar*Aa)AP)AE)A:)A/)A$)A)uA)_A)IA)7A)"A) A(A(A(A(A(A(A(}A(gA(MA(?A()Av(Ak'A`'A\@%a@%`@%_@%^@%]@%\@%[@%Z@%Y@%X@%W@%V@%U@%T@%S@%R@%Q@%P@%O@%N@%M@%L@%K@%J@%I@%H@%G@%F@%E@%D@@%C@@@@'@@@'@''*;@@@A)A@))@@@&*@@@&@@&@@&)"A@)7)4@@@&*@@@&@@&@@&)|A@+ )w@@@&*@@@&@@&@@&)XA@@@&@@&)xA@)s)p@@@&*@@@&@@&@@&(A@)d) @@@&*@@@&@@&@@&)LA@+:)G@@@&*@@@&@@&@@&)*A@@@&@@&)HA@)C)B@@@&*@@@&@@&@@&*qA@*l*i@@@&+@@@&@@&@@&*A@**@@@&+@@@&@@&@@&*AA@*<*9@@@&+*@@@&@@&@@&*fA@*a*`@@@&+7@@@&@@&@@&(A@))@@@&+D@@@&@@&@@&)UA@+)P@@@&+Q@@@&@@&@@&)3A@@@&@@&(A@(#@@@&(@@@&@@&@@&)^A@)Y)X@@@&+T@@@&@@&@@&(A@)L(@@@&+~@@@&@@&@@&)4A@+)/@@@&),@@@&@@&@@&)A@@@&@@&)/A@)*))@@@&+@@@&@@&@@&+=A@+8+v@@@&+@@@&@@&@@&+iA@++@@@&@+c+b@@@&+@@@&@@&@@&@@&*A@**@@@&+@@@&{@@&~@@&}*A@**@@@&| @@&z@@&y*A@**@@@&x+@@@&w@@&v@@&u+A@++@@@&t+@@@&s@@&r@@&q+A@++@@@&p@++@@@&o,@@@&n@@&m@@&l@@&k,A@,,@@@&j,@@@&i@@&h@@&g@@&f@&e@&d@&c@&b@&a@&`@&_@&^@&]@&\@&[@&Z@&Y@&X@&W@&V@&U@&T@&S@&R@&Q@&P@&O@&N@&M@&L@&K@&J@&I@&H@@&G@@@@(@@@(@@@()Odoc_scan@@@)@)@ H************************************************************************-A@@-A@L@ H -BMM-BM@ H OCaml -C-C@ H -D-D3@ H Maxence Guesdon, projet Cristal, INRIA Rocquencourt .E44.E4@ H .F.F@ H Copyright 2001 Institut National de Recherche en Informatique et . G. G@ H en Automatique. .H.Hg@ H .Ihh.Ih@ 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 .$K.%KN@ H special exception on linking described in the file LICENSE. .*LOO.+LO@ H .0M.1M@ H************************************************************************.6N.7N5@ * Scanning of modules and elements. The class scanner defined in this module can be used to develop generators which perform controls on the elements and their comments. .< * Class which defines the scanning of a list of modules and their elements. Inherit this class to develop your own scanner, by overriding some methods. ;* Scan of a type extension  m * Override this method to perform controls on the extension's type, private and info. This method is called before scanning the extensions's constructors. @return true if the extension's constructors must be scanned. B* This method scans the constructors of the given type extension. Π * Scan of a type extension. Should not be overridden. It calls [scan_type_extension_pre] and if [scan_type_extension_pre] returns [true], then it calls scan_type_extension_constructors.3* Scan of a class. 砠 $* Scan of a comment inside a class. w * Override this method to perform controls on the class comment and params. This method is called before scanning the class elements. @return true if the class elements must be scanned. _* This method scans the elements of the given class. A VOIR : scan des classes heritees. * Scan of a class. Should not be overridden. It calls [scan_class_pre] and if [scan_class_pre] returns [true], then it calls scan_class_elements.8* Scan of a class type.  )* Scan of a comment inside a class type.  * Override this method to perform controls on the class type comment and form. This method is called before scanning the class type elements. @return true if the class type elements must be scanned. d* This method scans the elements of the given class type. A VOIR : scan des classes heritees.蠠 * Scan of a class type. Should not be overridden. It calls [scan_class_type_pre] and if [scan_class_type_pre] returns [true], then it calls scan_class_type_elements.M3* Scan of modules. ? %* Scan of a comment inside a module. Ϡ * Override this method to perform controls on the module comment and form. This method is called before scanning the module elements. @return true if the module elements must be scanned.V 6* This method scans the elements of the given module. q * Scan of a module. Should not be overridden. It calls [scan_module_pre] and if [scan_module_pre] returns [true], then it calls scan_module_elements.֠8* Scan of module types. Ƞ ** Scan of a comment inside a module type. X * Override this method to perform controls on the module type comment and form. This method is called before scanning the module type elements. @return true if the module type elements must be scanned. ߠ ;* This method scans the elements of the given module type.  * Scan of a module type. Should not be overridden. It calls [scan_module_type_pre] and if [scan_module_type_pre] returns [true], then it calls scan_module_type_elements. 8* Main scanning method.  :* Scan a list of modules.  `@(./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/.-,+*)('&%$#"! @@0QOƼA*3........@.@@(Asttypes0E\eǥ]k6e5Build_path_prefix_map0gMOBnM`8CamlinternalFormatBasics0oZ2t,ݠ0CamlinternalLazy0;x#5䢜hLm*Format_doc0Mv9630A %Ident0y43a$+,Identifiable0XnAZ4eҠ(Location0nݹV 2f-V )Longident0@#j,6.Nt蠠$Misc0  =73 Z *Odoc_class0tǘ۶a"ܐ0 M.GL#M0o?Q HgStʎ!0H'ϙC)Odoc_name0ݸeBb!|ʠ.Odoc_parameter0FA07+/I0HUrn)6JWߡF(0G9Q/_;%I-0B3F;(0!$DiJpPCl+Outcometree0yl4>Yfܠ)Parsetree0Z<4$PC$Path09{ְZsv)Primitive0{mV|{J %Shape0OĸT>b&Stdlib0y{x!O!.Stdlib__Buffer0_?K|/V>O}~Nࠠ.Stdlib__Digest0 Jjrڵ6.Stdlib__Domain0iW',P6wz.Stdlib__Either0FԤ) 4'>.Stdlib__Format0)n[-Ob/Stdlib__Hashtbl0^iaxG$+,Stdlib__Lazy0OM>x9