GOOF----LE-8-2.0¨A]¦4h! ] gfoo¤ gbar¤ gfoo/bar¤ f0.0.2¤ gdoc-snarf-version¤ gguile¤ ¤ gdefine-module*¤ ¤ ¤ gscripts¤ g doc-snarf¤   ¤ gfilenameS¤ fscripts/doc-snarf.scm¤ gimportsS¤ gice-9¤ g getopt-long¤ ¤ ¤ gregex¤ ¤ ¤ g string-fun¤ ¤ ¤ grdelim¤ ¤ ¤ ¤ gexportsS¤  ¤ !gset-current-module¤ "!¤ #!¤ $f$Snarf out documentation from a file.¤ %g%summary¤ &gversion¤ 'g single-char¤ ('v¤ )gvalue¤ *)¤ +&(*¤ ,ghelp¤ -'h¤ .,-*¤ /goutput¤ 0'o¤ 1)¤ 2/01¤ 3gtexinfo¤ 4't¤ 534*¤ 6glang¤ 7'l¤ 8671¤ 9+.258¤ :gcommand-synopsis¤ ;gdisplay¤ gdisplay-version¤ ?f(Usage: doc-snarf [options...] inputfile ¤ @f6 --help, -h Show this usage information ¤ Af3 --version, -v Show version information ¤ Bf? --output=FILE, -o Specify output file [default=stdout] ¤ Cf3 --texinfo, -t Format output as texinfo ¤ Df5 --lang=[c,scheme], -l Specify the input language ¤ Eg display-help¤ Ff doc-snarf¤ Gg option-ref¤ Hgstring->symbol¤ Igstring-downcase¤ Jfscheme¤ Kg snarf-file¤ Lgmain¤ Mgc¤ Nf^/\*(.*)¤ Of^ \*/¤ Pf ^ \* (.*)¤ Qf ^ \*-(.*)¤ RfNOTHING AT THIS TIME!!!¤ SMNOPQR¤ Tgscheme¤ Uf^;; (.*)¤ Vf^;;\.¤ Wf^;;-(.*)¤ Xf ^\(define¤ YTUVUWX¤ ZSY¤ [gsupported-languages¤ \glist-ref¤ ]gassq-ref¤ ^gdocstring-start¤ _g docstring-end¤ `gdocstring-prefix¤ ag option-prefix¤ bgsignature-start¤ cg std-int-doc?¤ dg lang-parm¤ egmemq¤ fgmap¤ ggcar¤ hgerror¤ if.doc-snarf: input language must be c or scheme.¤ jg write-output¤ kgsnarf¤ lgformat-texinfo¤ mg format-plain¤ ng unread-string¤ ogread¤ pglength¤ qgdefine¤ rglambda¤ sgstring?¤ tgfind-std-int-doc¤ ugseparate-fields-discarding-char¤ vg string-append¤ wgsplit-prefixed¤ xgopen-input-file¤ yg make-regexp¤ zg eof-object?¤ {gclose-input-port¤ |greverse¤ }gneutral¤ ~g regexp-exec¤ g read-line¤ €g doc-string¤ gmatch:substring¤ ‚goptions¤ ƒf internal: ¤ „gappend¤ …g parse-entry¤ †gentry¤ ‡g make-entry¤ ˆg entry-symbol¤ ‰gentry-signature¤ Šgentry-docstrings¤ ‹g entry-options¤ Œgentry-filename¤ g entry-line¤ Žg get-symbol¤ gmake-prototype¤ f¤ ‘gcall-with-input-string¤ ’g read-char¤ “g join-symbols¤ ”gsymbol->string¤ •f. ¤ –f ¤ —gwith-output-to-port¤ ˜gopen-output-file¤ ™gcurrent-output-port¤ šgfor-each¤ ›f ¤ œf@c snarfed from ¤ f:¤ žf@deffn procedure ¤ Ÿg write-line¤  f@c ¤ ¡f @end deffn¤ ¢f Procedure: ¤ £f;; ¤ ¤f Snarfed from ¤ ¥f ¤C5h@3v]h†]$CC~gbraz  gfilenamefscripts/doc-snarf.scmŒ 1 ŒŒ  2 ŒŒ 2 ŒŒ 2 ŒŒ   gnamegfoo/barŒCRR4   54#>"G$%R9:R;<=h0‹]4>"G4>"G6ƒgfilenamefscripts/doc-snarf.scmŒ ` ŒŒ  a ŒŒ  a ŒŒ a ŒŒ  a ŒŒ * a 5ŒŒ  * gnamegdisplay-versionŒC>R;?@ABCDhhè]4>"G4>"G4>"G4>"G4>"G6àgfilenamefscripts/doc-snarf.scmŒ e ŒŒ  f ŒŒ  f ŒŒ f ŒŒ  g ŒŒ  g ŒŒ  g ŒŒ ' h ŒŒ + h ŒŒ 0 h ŒŒ 9 i ŒŒ = j ŒŒ B i ŒŒ K k ŒŒ O k ŒŒ T k ŒŒ ` l ŒŒ b l ŒŒ  b gnameg display-helpŒCERF:G,&3HI6J>E/Kh˜Z-134Œ545454544 4  555$ 6$ 64545ˆ$ 6 6Rgargs •goptions  •g help-wanted  J •gversion-wanted  J •gtexinfo-wanted  J •glang  J •ginput  y •goutput  y •gfilenamefscripts/doc-snarf.scmŒ p ŒŒ q ŒŒ  q $ŒŒ  q ŒŒ  q ŒŒ  q ŒŒ  r ŒŒ  r +ŒŒ ! r ŒŒ " s ŒŒ ( s .ŒŒ + s ŒŒ , t ŒŒ 2 t .ŒŒ 5 t ŒŒ 6 u ŒŒ 9 v ŒŒ < v "ŒŒ B v 6ŒŒ D v <ŒŒ F v "ŒŒ H v ŒŒ J u ŒŒ J r ŒŒ X w ŒŒ \ x ŒŒ b w ŒŒ f y ŒŒ g { ŒŒ l { )ŒŒ o { ŒŒ p | ŒŒ v | *ŒŒ y | ŒŒ y { ŒŒ € € ŒŒ „ } ŒŒ ‰ ŒŒ ‘ ŒŒ • ‚ ŒŒ) • gnameg doc-snarfŒC R iLRZ[R\][^_`abc hhž]45†$ "K†$ "=†$ ".†$ "†$ " †$ "6–glang  hgparm  hgfilenamefscripts/doc-snarf.scmŒ   ŒŒ  ¡ ŒŒ  ¢ ŒŒ h ¡ ŒŒ  h gnameg lang-parmŒCdRefg[hijklm hP] 4455$"4>"G45$ " 6ginput  Pgoutput  Pgtexinfo?   Pglang   Pgt   3gfilenamefscripts/doc-snarf.scmŒ ® ŒŒ  ¯ ŒŒ  ¯ ŒŒ  ¯ ŒŒ  ¯ ŒŒ  ° ŒŒ # ° ŒŒ ( ° ŒŒ 6 ± ŒŒ F ² ŒŒ P ± ŒŒ  P gnameg snarf-fileŒCKRnopqrshð)] 4>"G45‰$Å"o 45’$_&TŽŠ$IŽŽ‰$= 4ŽŽ5’$*ŽŽ&4ŽŽŽŽ5$ ŽŽŽŽCCCCCCCC 45’$@&3Žˆ$&ŽŠ$4ŽŽ5$ŽŽC"ÿÿO"ÿÿK"ÿÿG"ÿÿC"ÿÿ?C!gline  íg input-port  ígform   ígfilenamefscripts/doc-snarf.scmŒ · ŒŒ  º ŒŒ  » ŒŒ  » ŒŒ " ¼ ŒŒ & ¼ ŒŒ - Ä ŒŒ 4 Ä ŒŒ 8 à ŒŒ : Å ŒŒ = Å ŒŒ A à ŒŒ D Æ ŒŒ F Æ ŒŒ J à ŒŒ M Ç ŒŒ P Ç ŒŒ T à ŒŒ W È ŒŒ \ È ŒŒ ` È ŒŒ a È ŒŒ e à ŒŒ g É ŒŒ j É "ŒŒ m É ŒŒ q à ŒŒ r Ê ŒŒ w Ê ŒŒ z Ê ŒŒ ~ Ê ŒŒ ‚ à ŒŒ … Ë ŒŒ ˆ Ë ŒŒ ™ ¼ ŒŒ œ ½ ŒŒ £ ½ ŒŒ § ¼ ŒŒ © ¾ ŒŒ ¬ ¾ ŒŒ ° ¼ ŒŒ ³ ¿ ŒŒ µ ¿ ŒŒ ¹ ¼ ŒŒ ¼ À ŒŒ ¿ À ŒŒ à ¼ ŒŒ Ä Á ŒŒ É Á ŒŒ Í Á ŒŒ Ñ ¼ ŒŒ Ô Â ŒŒ5  í gnamegfind-std-int-docŒg documentationfUnread @var{line} from @var{input-port}, then read in the entire form and return the standard internal docstring if found. Return #f if not.ŒCtRufvhe]L6]gline  gfilenamefscripts/doc-snarf.scmŒ Ô ŒŒ Õ ŒŒ  Chh-13LO6`glines gfilenamefscripts/doc-snarf.scmŒ Ó ŒŒ  Ô ŒŒ  Ch•] O6gstring  gprefix  gfilenamefscripts/doc-snarf.scmŒ Ð ŒŒ  Ñ ŒŒ   gnamegsplit-prefixedŒCwRxyd^_`abz{|}~€‚ctwƒ„…h¸u ]Š4544554455445544554455"74 5$4 >"G  6  &[4 5$*454 5  —     "ÿÿš45   —     "ÿÿz &m4 54 54 54 5$*454 5 Œ  —     "ÿÿ$+45 4 5 Œ  —     "ÿþå$…45$&45$ 45""$44 5 5" 45 4  5 Œ —     "ÿþZ$/45 4   5 Œ —     "ÿþ%45   —     "ÿþ &24 54 54 5$+45 4 5 Œ  —     "ÿý«$…45$&45$ 45""$44 5 5" 45 4  5 Œ —     "ÿý $/45 4   5 Œ —     "ÿüë45   —     "ÿüËC45       "ÿü¬m g input-file  ³glang  ³gi-p  ³gdocstring-start   ³g docstring-end  ) ³gdocstring-prefix  9 ³g option-prefix  I ³gsignature-start  Y ³gline  _ –gstate _ –g doc-strings _ –goptions _ –gentries _ –glno _ –gm  “ ågm0   Zgm1   Zgm2   Zgm3   Zgd  – ¯gint-doc  ´ Ógoptions  Ó gm1  } ”gm2  } ”gm3  } ”gd  Ð égint-doc  î  goptions   ?gfilenamefscripts/doc-snarf.scmŒ Þ ŒŒ  ß ŒŒ ß ŒŒ à %ŒŒ  à 2ŒŒ  á (ŒŒ  à 2ŒŒ  à %ŒŒ  ß ŒŒ  à %ŒŒ  à 2ŒŒ % â (ŒŒ ' à 2ŒŒ ) à %ŒŒ ) ß ŒŒ , à %ŒŒ / à 2ŒŒ 5 ã (ŒŒ 7 à 2ŒŒ 9 à %ŒŒ 9 ß ŒŒ < à %ŒŒ ? à 2ŒŒ E ä (ŒŒ G à 2ŒŒ I à %ŒŒ I ß ŒŒ L à %ŒŒ O à 2ŒŒ U å (ŒŒ W à 2ŒŒ Y à %ŒŒ Y ß ŒŒ _ ï ŒŒ ` ò ŒŒ j ñ ŒŒ k ó ŒŒ ‚ ô ŒŒ † ø ŒŒ Š ñ ŒŒ ‹ ù ŒŒ “ ù ŒŒ › ú ŒŒ œ û ŒŒ ¤ û ŒŒ ¥ ü ŒŒ ¯ ü ŒŒ ° ü -ŒŒ µ ü 9ŒŒ Å û ŒŒ Æ ý ŒŒ Ï ý &ŒŒ Ð ý *ŒŒ Õ ý 6ŒŒ å ý ŒŒ é  ŒŒ í ñ ŒŒ î  ŒŒ ÷  ŒŒ   ŒŒ   ŒŒ   ŒŒ   ŒŒ   ŒŒ (  ŒŒ )  ŒŒ 3  ŒŒ 4  :ŒŒ 9  ŒŒ I  ŒŒ O  ŒŒ P  ŒŒ X  ŒŒ [  "ŒŒ e  ŒŒ j  ŒŒ z  ŒŒ €  ŒŒ  è ŒŒ ‡ è 0ŒŒ ‰ è ŒŒ  è ŒŒ Ž é )ŒŒ – é ŒŒ ž ê "ŒŒ Ÿ ê )ŒŒ ¥ ê ;ŒŒ § ê )ŒŒ ´ è ŒŒ ¼ ë ŒŒ ½ ì ŒŒ À ì ŒŒ Ê ì ŒŒ Ó  ŒŒ Ö  ŒŒ Þ  "ŒŒ ß  +ŒŒ à  /ŒŒ á  ŒŒ ò  ŒŒ õ  ŒŒ   ŒŒ   ŒŒ   ŒŒ   ŒŒ   )ŒŒ   -ŒŒ   ŒŒ '  ŒŒ *  ŒŒ :  ŒŒ ;  ŒŒ C  ŒŒ D  )ŒŒ E  -ŒŒ J  9ŒŒ Z  ŒŒ ^  ŒŒ b ñ ŒŒ c  ŒŒ l ! ŒŒ u " ŒŒ }  ŒŒ ‰ # ŒŒ Š % ŒŒ ’ % ŒŒ • & "ŒŒ Ÿ & ŒŒ ¤ ' ŒŒ ´ % ŒŒ º # ŒŒ » è ŒŒ Á è 0ŒŒ Ã è ŒŒ Ç è ŒŒ È é )ŒŒ Ð é ŒŒ Ø ê "ŒŒ Ù ê )ŒŒ ß ê ;ŒŒ á ê )ŒŒ î è ŒŒ ö ë ŒŒ ÷ ì ŒŒ ú ì ŒŒ  ì ŒŒ  ) ŒŒ  * ŒŒ  * "ŒŒ  * +ŒŒ  * /ŒŒ  + ŒŒ , + ŒŒ / - ŒŒ ? * ŒŒ E # ŒŒ F / ŒŒ N / ŒŒ O / )ŒŒ P / -ŒŒ Q 0 ŒŒ a 0 ŒŒ d 2 ŒŒ t / ŒŒ u 4 ŒŒ } 4 ŒŒ ~ 4 )ŒŒ  4 -ŒŒ „ 4 9ŒŒ ” 4 ŒŒ – ï ŒŒ — ï ŒŒ Ÿ ï +ŒŒ   ï BŒŒ ¡ 𠌌 ¢ ð $ŒŒ ³ ï ŒŒ²  ³ gnamegsnarfŒCkR†hò]Cêgsymbol  g signature  g docstrings   goptions   gfilename   gline   gfilenamefscripts/doc-snarf.scmŒ 6 ŒŒ  7 ŒŒ  7 ŒŒ   gnameg make-entryŒC‡Rhz] £Crge  gfilenamefscripts/doc-snarf.scmŒ 8 ŒŒ  9 ŒŒ   gnameg entry-symbolŒCˆRh}] £Cuge  gfilenamefscripts/doc-snarf.scmŒ : ŒŒ  ; ŒŒ   gnamegentry-signatureŒC‰Rh~] £Cvge  gfilenamefscripts/doc-snarf.scmŒ < ŒŒ  = ŒŒ   gnamegentry-docstringsŒCŠRh{] £Csge  gfilenamefscripts/doc-snarf.scmŒ > ŒŒ  ? ŒŒ   gnameg entry-optionsŒC‹Rh|] £Ctge  gfilenamefscripts/doc-snarf.scmŒ @ ŒŒ  A ŒŒ   gnamegentry-filenameŒCŒRhÂ] £Cºge  gfilenamefscripts/doc-snarf.scmŒ B ŒŒ  D ŒŒ   gnameg entry-lineŒg documentationf4This docstring will not be snarfed, unfortunately...ŒCR‡Ž|pH h¸A]$54545454545˜45˜—645 ”$=44554545Ž4545˜45˜—6454545˜45˜—69g docstrings  ²goptions  ²gdef-line   ²gfilename   ²gline-no   ²gfilenamefscripts/doc-snarf.scmŒ I ŒŒ  K ŒŒ M ŒŒ  N ŒŒ  N +ŒŒ O ŒŒ + P ŒŒ 2 P ŒŒ 3 P 3ŒŒ : P ŒŒ ; P ŒŒ = M ŒŒ > Q ŒŒ F Q ŒŒ J K ŒŒ M R ŒŒ P R %ŒŒ W R ŒŒ Y R ŒŒ Z S ŒŒ a S ŒŒ b T ŒŒ i T ŒŒ j U ŒŒ u V ŒŒ | V ŒŒ } V 2ŒŒ „ V ŒŒ … V ŒŒ ‡ R ŒŒ ‹ X ŒŒ X ŒŒ Ž X ŒŒ • X -ŒŒ   Y ŒŒ § Y ŒŒ ¨ Y 2ŒŒ ¯ Y ŒŒ ° Y ŒŒ ² X ŒŒ)  ² gnameg parse-entryŒC…R‘’o“”hPÎ] 4>"G4>"G45ˆ$6Š$6CÆgs-p  Lgtmp - Lgfilenamefscripts/doc-snarf.scmŒ a ŒŒ  b ŒŒ  c ŒŒ ' d ŒŒ - b ŒŒ 2 f ŒŒ 6 e ŒŒ < g ŒŒ ? h ŒŒ C e ŒŒ I i ŒŒ K k ŒŒ  L Chƒ]6{gdef-line  gfilenamefscripts/doc-snarf.scmŒ ^ ŒŒ _ ŒŒ  gnamegmake-prototypeŒCR‘’ohHÅ] 4>"G4>"G45ˆ$CŠ$CC½gs-p  Ggtmp - Ggfilenamefscripts/doc-snarf.scmŒ p ŒŒ  q ŒŒ  r ŒŒ ' s ŒŒ - q ŒŒ 2 u ŒŒ 6 t ŒŒ 9 v ŒŒ = w ŒŒ A t ŒŒ F z ŒŒ  G Ch]6wgdef-line  gfilenamefscripts/doc-snarf.scmŒ m ŒŒ n ŒŒ  gnameg get-symbolŒCŽRv•”–“hH](CŠ$ 456Ž(6454Ž56gs  Cgfilenamefscripts/doc-snarf.scmŒ ~ ŒŒ   ŒŒ € ŒŒ   ŒŒ   ŒŒ  ‚ ŒŒ  ‚ ŒŒ  ‚ ŒŒ " ƒ ŒŒ &  ŒŒ + „ ŒŒ - „ ŒŒ 0 † ŒŒ 5 † (ŒŒ 7 † ŒŒ 9 † 1ŒŒ : † 5ŒŒ ? † CŒŒ A † 5ŒŒ C † ŒŒ  C gnameg join-symbolsŒC“R—˜™šhR]LL6Jgfilenamefscripts/doc-snarf.scmŒ  ŒŒ  ŒŒ  Ch(È]$ 45"45O6Àgentries  %g output-file  %gwriter   %gfilenamefscripts/doc-snarf.scmŒ Œ ŒŒ  ŒŒ  *ŒŒ  Ž #ŒŒ %  ŒŒ  % gnameg write-outputŒCjR;›ˆ=œŒž‰šŸhb]6Zgs  gfilenamefscripts/doc-snarf.scmŒ Ÿ ŒŒ  Ÿ ŒŒ   CŠ; Ÿh }]4>"G6ugs  gfilenamefscripts/doc-snarf.scmŒ ¡ ŒŒ  ¡ ŒŒ  ¡ !ŒŒ ¡ ŒŒ  ¡ (ŒŒ   C‹Ÿ¡hÅ]4>"G445>"G4>"G4>"G445>"G4>"G445>"G4>"G4 >"G44 5>"G4>"G4  4 5>"G4 45>"G6½gentry  gfilenamefscripts/doc-snarf.scmŒ “ ŒŒ  ” ŒŒ  ” ŒŒ ” ŒŒ  • ŒŒ  • ŒŒ # • ŒŒ , – ŒŒ < — ŒŒ @ — ŒŒ E — ŒŒ N ˜ ŒŒ Q ˜ ŒŒ \ ˜ ŒŒ e ™ ŒŒ i ™ ŒŒ n ™ ŒŒ w š ŒŒ z š ŒŒ … š ŒŒ Ž › ŒŒ ž œ ŒŒ ¢ œ ŒŒ § œ ŒŒ °  ŒŒ ³  ŒŒ ¾  ŒŒ Ç ž ŒŒ × Ÿ ŒŒ Ü   ŒŒ ç Ÿ ŒŒ ð ¡ ŒŒ õ ¢ ŒŒ  ¡ ŒŒ  £ ŒŒ  £ ŒŒ%   gnamegformat-texinfoŒClR;¢‰=šŸhb]6Zgs  gfilenamefscripts/doc-snarf.scmŒ « ŒŒ  « ŒŒ   CŠ;£Ÿh }]4>"G6ugs  gfilenamefscripts/doc-snarf.scmŒ ­ ŒŒ  ­ ŒŒ  ­ !ŒŒ ­ ŒŒ  ­ (ŒŒ   C‹¤ŒŸ¥hØ]4>"G445>"G4>"G445>"G44 5>"G4 >"G44 5>"G4 >"G44 5>"G4>"G6wgentry  Õgfilenamefscripts/doc-snarf.scmŒ § ŒŒ  ¨ ŒŒ  ¨ ŒŒ ¨ ŒŒ  © ŒŒ  © ŒŒ # © ŒŒ , ª ŒŒ < « ŒŒ A ¬ ŒŒ L « ŒŒ U ­ ŒŒ Z ® ŒŒ e ­ ŒŒ n ¯ ŒŒ r ¯ ŒŒ w ¯ ŒŒ € ° ŒŒ ƒ ° ŒŒ Ž ° ŒŒ — ± ŒŒ › ± ŒŒ   ± ŒŒ © ² ŒŒ ¬ ² ŒŒ · ² ŒŒ À ³ ŒŒ Ó ´ ŒŒ Õ ´ ŒŒ  Õ gnameg format-plainŒCmRCngm É àgfilenamefscripts/doc-snarf.scmŒ ± 1 ŒŒ ³ J ŒŒ ¶ J ŒŒ · N ŒŒ â U ŒŒ å U ŒŒ ç X ŒŒ ê W ŒŒ ¾ ` ŒŒ 3 e ŒŒ U p ŒŒ \ „ ŒŒ ^ ŒŒ a Œ ŒŒ ‰   ŒŒ  ® ŒŒ T · ŒŒ 8 Ð ŒŒ ¨ Þ ŒŒ Å 6 ŒŒ U 8 ŒŒ è : ŒŒ  < ŒŒ  > ŒŒ § @ ŒŒ !… B ŒŒ $¤ I ŒŒ &† ^ ŒŒ (R m ŒŒ )× ~ ŒŒ +S Œ ŒŒ /ˆ “ ŒŒ 3: § ŒŒ"  3< C6