\indexentry{Ross Williams}{1} \indexentry{Williams Ross}{1} \indexentry{copyright notice}{1} \indexentry{notice copyright}{1} \indexentry{preface}{9} \indexentry{Donald Knuth}{9} \indexentry{Knuth Donald}{9} \indexentry{Knuth83}{9} \indexentry{Web}{9} \indexentry{GNU license}{9} \indexentry{license GNU}{9} \indexentry{acknowledgements}{11} \indexentry{David Hulse}{11} \indexentry{Hulse David}{11} \indexentry{Ada}{11} \indexentry{Simon Hackett}{11} \indexentry{Hackett Simon}{11} \indexentry{Jeremy Begg}{11} \indexentry{Begg Jeremy}{11} \indexentry{Barry Dwyer}{11} \indexentry{Dwyer Barry}{11} \indexentry{Roger Brissenden}{11} \indexentry{Brissenden Roger}{11} \indexentry{Donald Knuth}{11} \indexentry{Knuth Donald}{11} \indexentry{presentation notes}{13} \indexentry{typesetting}{13} \indexentry{Andrew Trevorrow}{13} \indexentry{Trevorrow Andrew}{13} \indexentry{OzTeX}{13} \indexentry{Knuth84}{13} \indexentry{Lamport86}{13} \indexentry{TeX}{13} \indexentry{LaTeX}{13} \indexentry{Macintosh}{13} \indexentry{tutorial}{15} \indexentry{literate programming}{15} \indexentry{literate programming}{15} \indexentry{magic trick}{15} \indexentry{tools literate programming}{15} \indexentry{literate programming tools}{15} \indexentry{hypertext}{15} \indexentry{literate programming, facilities}{15} \indexentry{program ordering}{15} \indexentry{ordering program}{15} \indexentry{Pascal}{15} \indexentry{BSI82}{15} \indexentry{cross referencing}{17} \indexentry{literate programming, most significant benefit}{17} \indexentry{Rosovsky90}{17} \indexentry{universities}{17} \indexentry{explaining code}{17} \indexentry{code explaining}{17} \indexentry{development time}{17} \indexentry{time development}{17} \indexentry{Knuth83}{17} \indexentry{Knuth84}{17} \indexentry{Smith91}{17} \indexentry{FunnelWeb overview}{18} \indexentry{overview FunnelWeb}{18} \indexentry{input file}{18} \indexentry{product files}{18} \indexentry{documentation file}{18} \indexentry{output files}{18} \indexentry{simplicity}{18} \indexentry{reliability}{18} \indexentry{language independence}{18} \indexentry{independence language}{18} \indexentry{typesetter independence}{18} \indexentry{independence typesetter}{18} \indexentry{BSI82}{18} \indexentry{Knuth84}{18} \indexentry{TeX}{18} \indexentry{portability}{18} \indexentry{controllability}{18} \indexentry{GNU license}{18} \indexentry{license GNU}{18} \indexentry{production tool}{19} \indexentry{FunnelWeb name}{19} \indexentry{name FunnelWeb}{19} \indexentry{Funnel-web spider}{19} \indexentry{spider Funnel-web}{19} \indexentry{Sydney}{19} \indexentry{Atrax robustus}{19} \indexentry{ANZE}{19} \indexentry{tiger snake}{19} \indexentry{snake tiger}{19} \indexentry{white pointer shark}{19} \indexentry{shark white pointer}{19} \indexentry{Edna Everage}{19} \indexentry{Everage Edna}{19} \indexentry{Barry Humphries}{19} \indexentry{Humphries Barry}{19} \indexentry{Humphries91}{19} \indexentry{tutorial}{19} \indexentry{tutorial introduction}{19} \indexentry{introduction tutorial}{19} \indexentry{hello world document}{20} \indexentry{invoking FunnelWeb}{20} \indexentry{special character}{20} \indexentry{special sequence}{20} \indexentry{@<}{20} \indexentry{@>}{20} \indexentry{@O}{20} \indexentry{@braces}{20} \indexentry{@+}{20} \indexentry{simple rule}{20} \indexentry{rule simple}{20} \indexentry{C preprocessor}{20} \indexentry{preprocessor C}{20} \indexentry{@=}{20} \indexentry{Hello Northern Hemisphere Program}{21} \indexentry{FunnelWeb two main aspects}{21} \indexentry{two main aspects FunnelWeb}{21} \indexentry{Tangling}{21} \indexentry{Weaving}{21} \indexentry{WEB}{21} \indexentry{tutorial macro facilities}{22} \indexentry{macro facilities tutorial}{22} \indexentry{tutorial simple macros}{22} \indexentry{simple macros tutorial}{22} \indexentry{tutorial macros simple}{22} \indexentry{macros simple tutorial}{22} \indexentry{@O}{22} \indexentry{@dollar}{22} \indexentry{order program}{22} \indexentry{program order}{22} \indexentry{program layout}{22} \indexentry{layout program}{22} \indexentry{macro bindings}{22} \indexentry{bindings macro}{22} \indexentry{TeX}{22} \indexentry{number of times called}{23} \indexentry{calls number}{23} \indexentry{number calls}{23} \indexentry{invocation number}{23} \indexentry{number invocation}{23} \indexentry{EOL suppression}{23} \indexentry{suppression EOL}{23} \indexentry{@-}{23} \indexentry{@Z tutorial}{24} \indexentry{tutorial @Z}{24} \indexentry{@M tutorial}{24} \indexentry{tutorial @M}{24} \indexentry{indentation macro calls}{25} \indexentry{macro calls indentation}{25} \indexentry{pragma}{25} \indexentry{WEB}{25} \indexentry{Knuth83}{25} \indexentry{Pascal}{25} \indexentry{output WEB}{25} \indexentry{WEB output}{25} \indexentry{Knuth83}{25} \indexentry{object code}{26} \indexentry{additive macros}{26} \indexentry{macros additive}{26} \indexentry{additive macro}{26} \indexentry{tutorial ==}{26} \indexentry{== tutorial}{26} \indexentry{tutorial +=}{26} \indexentry{+= tutorial}{26} \indexentry{data abstraction}{26} \indexentry{abstraction data}{26} \indexentry{Pascal}{26} \indexentry{program layout}{28} \indexentry{layout program}{28} \indexentry{parameterized macros}{28} \indexentry{macros parameterized}{28} \indexentry{formal parameters}{28} \indexentry{parameters formal}{28} \indexentry{@1...}{28} \indexentry{formal parameters}{28} \indexentry{parameters formal}{28} \indexentry{actual parameters}{29} \indexentry{parameters actual}{29} \indexentry{@(}{29} \indexentry{@)}{29} \indexentry{@,}{29} \indexentry{@"}{29} \indexentry{parameter list, absent}{29} \indexentry{song}{29} \indexentry{twelve bugs of christmas}{29} \indexentry{rec.humor.funny}{29} \indexentry{Pat Scannel}{29} \indexentry{Scannel Pat}{29} \indexentry{macro expansion}{30} \indexentry{expansion macro}{30} \indexentry{memory use of}{30} \indexentry{use of memory}{30} \indexentry{include files}{30} \indexentry{files include}{30} \indexentry{@i}{30} \indexentry{poem camera}{30} \indexentry{camera poem}{30} \indexentry{animal poem}{30} \indexentry{poem animal}{30} \indexentry{shooting}{31} \indexentry{special character changing}{31} \indexentry{changing special character}{31} \indexentry{include files recursive}{31} \indexentry{recursive include files}{31} \indexentry{macro libraries}{31} \indexentry{libraries macro}{31} \indexentry{tutorial typesetting}{32} \indexentry{typesetting tutorial}{32} \indexentry{documentation vs code}{32} \indexentry{code vs documentation}{32} \indexentry{overview typesetting}{32} \indexentry{typesetting overview}{32} \indexentry{macro definitions}{32} \indexentry{directives}{32} \indexentry{free text}{32} \indexentry{typesetter independence}{34} \indexentry{independence typesetter}{34} \indexentry{typesetter independent}{34} \indexentry{hierarchical structure}{34} \indexentry{structure hierarchical}{34} \indexentry{section headings}{34} \indexentry{headings section}{34} \indexentry{@A...}{34} \indexentry{name section}{34} \indexentry{section name}{34} \indexentry{section name inheritance}{35} \indexentry{inheritance section name}{35} \indexentry{programmer's cheer}{35} \indexentry{cheer programmer's}{35} \indexentry{hacker's cheer}{35} \indexentry{cheer hacker's}{35} \indexentry{hacker's dictionary}{35} \indexentry{dictionary hacker's}{35} \indexentry{literal construct}{37} \indexentry{emphasis construct}{37} \indexentry{@slash}{37} \indexentry{@braces}{37} \indexentry{header page}{37} \indexentry{vskip directive}{37} \indexentry{directive vskip}{37} \indexentry{title directive}{37} \indexentry{directive title}{37} \indexentry{newpage directive}{37} \indexentry{directive newpage}{37} \indexentry{table of contents directive}{37} \indexentry{directive table of contents}{37} \indexentry{comments}{37} \indexentry{@!}{37} \indexentry{complete example}{38} \indexentry{example complete}{38} \indexentry{FunnelWeb Example}{38} \indexentry{Example FunnelWeb}{38} \indexentry{FunnelWeb hints}{41} \indexentry{hints FunnelWeb}{41} \indexentry{macro names}{41} \indexentry{names macro}{41} \indexentry{macro identifiers}{41} \indexentry{identifiers macro}{41} \indexentry{quick names}{42} \indexentry{names quick}{42} \indexentry{empty name}{42} \indexentry{name empty}{42} \indexentry{quick name}{42} \indexentry{FunnelWeb rules}{42} \indexentry{rules FunnelWeb}{42} \indexentry{FunnelWeb martinet}{42} \indexentry{martinet FunnelWeb}{42} \indexentry{trailing blanks}{42} \indexentry{blanks trailing}{42} \indexentry{input line length}{42} \indexentry{length input line}{42} \indexentry{output line length}{42} \indexentry{length output line}{42} \indexentry{Fortran compilers}{42} \indexentry{compilers Fortran}{42} \indexentry{control characters}{42} \indexentry{characters control}{42} \indexentry{text editors}{42} \indexentry{editors text}{42} \indexentry{tabs}{42} \indexentry{invocations number}{42} \indexentry{number invocations}{42} \indexentry{recursion macro}{43} \indexentry{macro recursion}{43} \indexentry{EOL fiddling with}{43} \indexentry{fiddling with EOL}{43} \indexentry{end-of-line fiddling with}{43} \indexentry{fiddling with end-of-line}{43} \indexentry{spacing}{43} \indexentry{fudging conditionals}{44} \indexentry{conditionals fudging}{44} \indexentry{Ada}{44} \indexentry{headings strength}{46} \indexentry{strength headings}{46} \indexentry{typesetting strength}{46} \indexentry{strength typesetting}{46} \indexentry{section strength}{46} \indexentry{strength section}{46} \indexentry{font size}{46} \indexentry{size font}{46} \indexentry{FunnelWeb efficiency}{47} \indexentry{efficiency FunnelWeb}{47} \indexentry{efficiency notes}{47} \indexentry{notes efficiency}{47} \indexentry{memory}{47} \indexentry{input files}{47} \indexentry{files input}{47} \indexentry{speed}{47} \indexentry{macro expansion}{47} \indexentry{expansion macro}{47} \indexentry{interactive mode}{47} \indexentry{keyboard mode}{47} \indexentry{regression testing}{47} \indexentry{testing regression}{47} \indexentry{command interpreter}{47} \indexentry{interpreter command}{47} \indexentry{useful commands}{47} \indexentry{commands useful}{47} \indexentry{FunnelWeb proper}{48} \indexentry{set command}{48} \indexentry{command set}{48} \indexentry{show command}{48} \indexentry{command show}{48} \indexentry{trace on command}{48} \indexentry{command trace on}{48} \indexentry{workstations}{48} \indexentry{options setting defaults}{49} \indexentry{setting defaults options}{49} \indexentry{default options}{49} \indexentry{options default}{49} \indexentry{alias}{49} \indexentry{fwinit.fws}{49} \indexentry{startup script}{49} \indexentry{script startup}{49} \indexentry{initialization script}{49} \indexentry{script initialization}{49} \indexentry{make utility}{49} \indexentry{file dependencies}{49} \indexentry{dependencies file}{49} \indexentry{Ada}{49} \indexentry{D option}{49} \indexentry{option D}{49} \indexentry{delete output files}{49} \indexentry{output files delete}{49} \indexentry{suppression file}{49} \indexentry{file suppression}{49} \indexentry{FunnelWeb dangers}{50} \indexentry{dangers FunnelWeb}{50} \indexentry{FunnelWeb pitfalls}{50} \indexentry{pitfalls FunnelWeb}{50} \indexentry{Donald Knuth}{50} \indexentry{Knuth Donald}{50} \indexentry{literate programming}{50} \indexentry{programming literate}{50} \indexentry{spaghetti organization}{50} \indexentry{organization spaghetti}{50} \indexentry{stream of consciousness}{50} \indexentry{boring organization}{50} \indexentry{organization boring}{50} \indexentry{random access}{50} \indexentry{access random}{50} \indexentry{novels}{50} \indexentry{maintenance programmer}{50} \indexentry{programmer maintenance}{50} \indexentry{documentation interdependent}{50} \indexentry{interdependent documentation}{50} \indexentry{pavlov documentation}{51} \indexentry{documentation pavlov}{51} \indexentry{MIL-STD-2167A}{51} \indexentry{2167A}{51} \indexentry{Strunk79}{51} \indexentry{duplicate documentation}{51} \indexentry{documentation duplicate}{51} \indexentry{Ada}{51} \indexentry{over documentation}{51} \indexentry{documentation over}{51} \indexentry{Gries81}{51} \indexentry{wholistic debugging}{53} \indexentry{debugging wholistic}{53} \indexentry{wholistic debugging}{53} \indexentry{debugger}{53} \indexentry{code gardening}{53} \indexentry{gardening code}{53} \indexentry{wholistic medicine}{53} \indexentry{medicine wholistic}{53} \indexentry{FunnelWeb example applications}{53} \indexentry{example applications FunnelWeb}{53} \indexentry{FunnelWeb applications}{53} \indexentry{applications FunnelWeb}{53} \indexentry{monster file postscript}{54} \indexentry{postscript monster file}{54} \indexentry{MacDraw}{54} \indexentry{TeX}{54} \indexentry{PhD thesis}{54} \indexentry{thesis PhD}{54} \indexentry{Macintosh}{54} \indexentry{PostScript}{54} \indexentry{postscript header file}{54} \indexentry{header file postscript}{54} \indexentry{cryptic text files}{55} \indexentry{text files cryptic}{55} \indexentry{Ada}{55} \indexentry{abstract data type}{55} \indexentry{ADT}{55} \indexentry{package}{55} \indexentry{DOD83}{55} \indexentry{multiple languages}{55} \indexentry{languages multiple}{55} \indexentry{open systems}{55} \indexentry{printing system}{55} \indexentry{system printing}{55} \indexentry{laser printer}{55} \indexentry{printer laser}{55} \indexentry{sharing information}{56} \indexentry{small functions}{56} \indexentry{functions small}{56} \indexentry{code abstraction}{56} \indexentry{abstraction code}{56} \indexentry{Pascal}{57} \indexentry{preprocessor C}{57} \indexentry{C preprocessor}{57} \indexentry{procedure call overhead}{57} \indexentry{overhead procedure call}{57} \indexentry{binding problems}{57} \indexentry{problems binding}{57} \indexentry{comments abuse}{57} \indexentry{abuse comments}{57} \indexentry{eliminating comments}{57} \indexentry{comments eliminating}{57} \indexentry{good old days}{57} \indexentry{BASIC}{57} \indexentry{REM statement}{57} \indexentry{statement REM}{57} \indexentry{header files}{57} \indexentry{files header}{57} \indexentry{C header}{57} \indexentry{header C}{57} \indexentry{postscript}{57} \indexentry{sharing text}{58} \indexentry{text sharing}{58} \indexentry{annual report}{58} \indexentry{report annual}{58} \indexentry{examples documentation}{58} \indexentry{documentation examples}{58} \indexentry{generics fudging}{59} \indexentry{fudging generics}{59} \indexentry{Pascal}{59} \indexentry{Barry Dwyer}{59} \indexentry{Dwyer Barry}{59} \indexentry{University Adelaide}{59} \indexentry{Adelaide University}{59} \indexentry{set abstraction}{59} \indexentry{abstraction set}{59} \indexentry{typesafe generics}{61} \indexentry{generics typesafe}{61} \indexentry{FunnelWeb definition}{63} \indexentry{definition FunnelWeb}{63} \indexentry{notation}{63} \indexentry{EBNF syntax}{63} \indexentry{syntax EBNF}{63} \indexentry{terminology}{63} \indexentry{semantic architecture}{64} \indexentry{architecture semantic}{64} \indexentry{FunnelWeb overview}{64} \indexentry{overview FunnelWeb}{64} \indexentry{execution phases}{64} \indexentry{phases execution}{64} \indexentry{input file}{64} \indexentry{FunnelWeb file}{64} \indexentry{phases}{64} \indexentry{output files}{64} \indexentry{journal file}{64} \indexentry{listing file}{64} \indexentry{documentation}{64} \indexentry{product files}{64} \indexentry{scanner}{64} \indexentry{parser}{64} \indexentry{document list}{64} \indexentry{list document}{64} \indexentry{macro table}{64} \indexentry{table macro}{64} \indexentry{analyser}{65} \indexentry{tangle}{65} \indexentry{weave}{65} \indexentry{FunnelWeb proper}{65} \indexentry{FunnelWeb program}{65} \indexentry{diagnostics}{65} \indexentry{diagnostics levels of}{65} \indexentry{levels of diagnostics}{65} \indexentry{severity}{65} \indexentry{warning severity}{65} \indexentry{severity warning}{65} \indexentry{error severity}{65} \indexentry{severity error}{65} \indexentry{severe severity}{65} \indexentry{severity severe}{65} \indexentry{fatal severity}{65} \indexentry{severity fatal}{65} \indexentry{assertion severity}{65} \indexentry{severity assertion}{65} \indexentry{return status}{65} \indexentry{status return}{65} \indexentry{typesetter independence}{65} \indexentry{independence typesetter}{65} \indexentry{Kernighan88}{65} \indexentry{typesetter directives}{66} \indexentry{command line interface}{66} \indexentry{interface command line}{66} \indexentry{FunnelWeb invoking}{66} \indexentry{invoking FunnelWeb}{66} \indexentry{FunnelWeb running}{66} \indexentry{running FunnelWeb}{66} \indexentry{command line processing}{66} \indexentry{processing command line}{66} \indexentry{command line parsing}{66} \indexentry{parsing command line}{66} \indexentry{fw command verb}{66} \indexentry{command verb fw}{66} \indexentry{command line argument}{67} \indexentry{argument command line}{67} \indexentry{syntax command line}{67} \indexentry{command line syntax}{67} \indexentry{arguments}{67} \indexentry{case dependence}{67} \indexentry{dependence case}{67} \indexentry{Unix}{67} \indexentry{sign}{67} \indexentry{letter}{67} \indexentry{string}{67} \indexentry{command line options syntax}{67} \indexentry{syntax command line options}{67} \indexentry{options syntax}{67} \indexentry{syntax options}{67} \indexentry{options}{67} \indexentry{options}{68} \indexentry{list options}{68} \indexentry{options list}{68} \indexentry{B option}{68} \indexentry{option B}{68} \indexentry{tracedump options}{68} \indexentry{options tracedump}{68} \indexentry{dump option}{68} \indexentry{option dump}{68} \indexentry{dump mapped file}{68} \indexentry{mapped file dump}{68} \indexentry{dump global line list}{68} \indexentry{global line list dump}{68} \indexentry{dump token list}{68} \indexentry{token list dump}{68} \indexentry{dump macro table}{68} \indexentry{macro table dump}{68} \indexentry{dump document list}{68} \indexentry{document list dump}{68} \indexentry{dump times}{68} \indexentry{times dump}{68} \indexentry{non-determinism}{68} \indexentry{C option}{68} \indexentry{option C}{68} \indexentry{listing file context}{68} \indexentry{context listing file}{68} \indexentry{infinite context}{68} \indexentry{context infinite}{68} \indexentry{D option}{68} \indexentry{option D}{68} \indexentry{delete output option}{68} \indexentry{option delete output}{68} \indexentry{F option}{68} \indexentry{option F}{68} \indexentry{input file option}{68} \indexentry{option input file}{68} \indexentry{H option}{68} \indexentry{option H}{68} \indexentry{help option}{68} \indexentry{option help}{68} \indexentry{I option}{69} \indexentry{option I}{69} \indexentry{include file option}{69} \indexentry{option include file}{69} \indexentry{include file}{69} \indexentry{file include}{69} \indexentry{J option}{69} \indexentry{option J}{69} \indexentry{journal file option}{69} \indexentry{option journal file}{69} \indexentry{journal file}{69} \indexentry{file journal}{69} \indexentry{K option}{69} \indexentry{option K}{69} \indexentry{keyboard option}{69} \indexentry{option keyboard}{69} \indexentry{interactive option}{69} \indexentry{option interactive}{69} \indexentry{L option}{69} \indexentry{option L}{69} \indexentry{listing file option}{69} \indexentry{option listing file}{69} \indexentry{listing file}{69} \indexentry{file listing}{69} \indexentry{Q option}{69} \indexentry{option Q}{69} \indexentry{quiet option}{69} \indexentry{option quiet}{69} \indexentry{suppress console output}{69} \indexentry{console output suppress}{69} \indexentry{S option}{69} \indexentry{option S}{69} \indexentry{screen option}{69} \indexentry{option screen}{69} \indexentry{context}{69} \indexentry{T option}{69} \indexentry{option T}{69} \indexentry{typeset option}{69} \indexentry{option typeset}{69} \indexentry{typeset file}{69} \indexentry{file typeset}{69} \indexentry{W option}{69} \indexentry{option W}{69} \indexentry{width option}{69} \indexentry{option width}{69} \indexentry{product file width}{69} \indexentry{width product file}{69} \indexentry{X option}{69} \indexentry{option X}{69} \indexentry{execute script option}{69} \indexentry{option execute script}{69} \indexentry{filename inheritance}{70} \indexentry{inheritance filename}{70} \indexentry{filename fields}{70} \indexentry{fields filename}{70} \indexentry{directory}{70} \indexentry{name}{70} \indexentry{extension}{70} \indexentry{filename inheritance example}{70} \indexentry{example filename inheritance}{70} \indexentry{FunnelWeb startup}{70} \indexentry{startup FunnelWeb}{70} \indexentry{FunnelWeb initialization}{70} \indexentry{initialization FunnelWeb}{70} \indexentry{Action options}{70} \indexentry{Ordinary options}{70} \indexentry{action execution order}{71} \indexentry{order action execution}{71} \indexentry{initialization script}{71} \indexentry{script initialization}{71} \indexentry{fwinit.fws}{71} \indexentry{scanner}{71} \indexentry{mapper}{71} \indexentry{file termination}{71} \indexentry{termination file}{71} \indexentry{line termination}{71} \indexentry{termination line}{71} \indexentry{unprintable characters}{71} \indexentry{characters unprintable}{71} \indexentry{line length}{71} \indexentry{length line}{71} \indexentry{special sequences}{72} \indexentry{sequences special}{72} \indexentry{special character}{72} \indexentry{special sequence}{72} \indexentry{default special character}{72} \indexentry{special character default}{72} \indexentry{simple sequence}{72} \indexentry{setting special character}{74} \indexentry{special character setting}{74} \indexentry{special character inserting into text}{74} \indexentry{inserting into text special character}{74} \indexentry{arbitrary characters inserting into text}{74} \indexentry{inserting into text arbitrary characters}{74} \indexentry{control characters inserting into text}{74} \indexentry{inserting into text control characters}{74} \indexentry{@circumflex}{74} \indexentry{Unix newline}{75} \indexentry{comments FunnelWeb}{75} \indexentry{FunnelWeb comments}{75} \indexentry{@!}{75} \indexentry{quick names}{76} \indexentry{names quick}{76} \indexentry{quick name}{76} \indexentry{@hash}{76} \indexentry{EOL markers inserting}{76} \indexentry{inserting EOL markers}{76} \indexentry{@+}{76} \indexentry{EOL markers suppressing}{77} \indexentry{suppressing EOL markers}{77} \indexentry{@-}{77} \indexentry{include files}{77} \indexentry{files include}{77} \indexentry{@i}{77} \indexentry{input file}{77} \indexentry{include files}{77} \indexentry{pragmas}{78} \indexentry{pragmas visible}{78} \indexentry{visible pragmas}{78} \indexentry{pragmas invisible}{78} \indexentry{invisible pragmas}{78} \indexentry{pragma}{78} \indexentry{indentation macro expansion}{78} \indexentry{macro expansion indentation}{78} \indexentry{no indentation}{78} \indexentry{indentation none}{78} \indexentry{none indentation}{78} \indexentry{blank indentation}{78} \indexentry{indentation blank}{78} \indexentry{blank indentation}{78} \indexentry{input line length}{79} \indexentry{line length input}{79} \indexentry{maximum input line length}{79} \indexentry{input line length maximum}{79} \indexentry{pragma input line length}{79} \indexentry{input line length pragma}{79} \indexentry{maximum product file line length}{79} \indexentry{product file line length maximum}{79} \indexentry{pragma maximum product file line length}{79} \indexentry{maximum product file line length pragma}{79} \indexentry{maximum output file line length}{79} \indexentry{output file line length maximum}{79} \indexentry{pragma maximum output file line length}{79} \indexentry{maximum output file line length pragma}{79} \indexentry{typesetter pragma}{80} \indexentry{pragma typesetter}{80} \indexentry{typesetter independence}{80} \indexentry{independence typesetter}{80} \indexentry{typesetter directives}{81} \indexentry{directives typesetter}{81} \indexentry{inline}{81} \indexentry{freestanding}{81} \indexentry{new page}{81} \indexentry{pragma new page}{81} \indexentry{new page pragma}{81} \indexentry{table of contents}{81} \indexentry{contents table of}{81} \indexentry{pragma table of contents}{81} \indexentry{table of contents pragma}{81} \indexentry{vertical skip}{81} \indexentry{skip vertical}{81} \indexentry{pragma vskip}{81} \indexentry{vskip pragma}{81} \indexentry{title}{82} \indexentry{pragma title}{82} \indexentry{title pragma}{82} \indexentry{parser}{82} \indexentry{text tokens}{82} \indexentry{special tokens}{82} \indexentry{typesetter directive tokens}{82} \indexentry{syntax high level}{82} \indexentry{high level syntax}{82} \indexentry{free text}{83} \indexentry{text free}{83} \indexentry{Free text}{83} \indexentry{directives}{83} \indexentry{freestanding typesetter directives}{83} \indexentry{inline typesetter directives}{83} \indexentry{section constructs}{83} \indexentry{constructs section}{83} \indexentry{tree structure}{83} \indexentry{structure tree}{83} \indexentry{LaTeX}{84} \indexentry{section name}{84} \indexentry{name section}{84} \indexentry{literal directive}{84} \indexentry{directive literal}{84} \indexentry{emphasis directive}{85} \indexentry{directive emphasis}{85} \indexentry{macro definition}{85} \indexentry{definition macro}{85} \indexentry{macro name}{85} \indexentry{macro body}{85} \indexentry{expression}{85} \indexentry{macro attributes}{85} \indexentry{attributes macro}{85} \indexentry{@Z}{85} \indexentry{@M}{85} \indexentry{==}{85} \indexentry{+=}{85} \indexentry{additively defined}{85} \indexentry{names}{86} \indexentry{macro names}{86} \indexentry{names macro}{86} \indexentry{section names}{86} \indexentry{names section}{86} \indexentry{parameter lists formal}{86} \indexentry{formal parameter lists}{86} \indexentry{@1...}{86} \indexentry{macro expressions}{86} \indexentry{expressions macro}{86} \indexentry{macro calls}{86} \indexentry{calls macro}{86} \indexentry{macro parameter delimiting}{87} \indexentry{delimiting macro parameter}{87} \indexentry{formal parameters}{87} \indexentry{parameters formal}{87} \indexentry{macro definition}{87} \indexentry{definition macro}{87} \indexentry{macro expansion}{87} \indexentry{expansion macro}{87} \indexentry{macros static}{87} \indexentry{static macros}{87} \indexentry{analyser}{88} \indexentry{checks macro}{88} \indexentry{macro checks}{88} \indexentry{static analysis}{88} \indexentry{analysis static}{88} \indexentry{macro recursion}{88} \indexentry{recursion macro}{88} \indexentry{tangle}{88} \indexentry{weave}{89} \indexentry{typesetting}{89} \indexentry{target typesetter}{89} \indexentry{typesetter target}{89} \indexentry{cross referencing}{89} \indexentry{referencing cross}{89} \indexentry{cross reference numbering}{89} \indexentry{numbering cross reference}{89} \indexentry{section numbering}{89} \indexentry{numbering section}{89} \indexentry{FunnelWeb command shell}{90} \indexentry{command shell FunnelWeb}{90} \indexentry{commands FunnelWeb}{90} \indexentry{FunnelWeb commands}{90} \indexentry{FunnelWeb shell}{90} \indexentry{shell FunnelWeb}{90} \indexentry{FunnelWeb command shell}{90} \indexentry{uses shell}{90} \indexentry{shell uses}{90} \indexentry{workstation}{90} \indexentry{errors shell}{90} \indexentry{shell errors}{90} \indexentry{status success}{90} \indexentry{success status}{90} \indexentry{status warning}{90} \indexentry{warning status}{90} \indexentry{status error}{90} \indexentry{error status}{90} \indexentry{status severe}{90} \indexentry{severe status}{90} \indexentry{status fatal}{90} \indexentry{fatal status}{90} \indexentry{status assertion}{90} \indexentry{assertion status}{90} \indexentry{command length}{91} \indexentry{length command}{91} \indexentry{string substitution}{91} \indexentry{substitution string}{91} \indexentry{define command}{91} \indexentry{command define}{91} \indexentry{command line processing}{92} \indexentry{processing command line}{92} \indexentry{command options}{92} \indexentry{options command}{92} \indexentry{default options}{92} \indexentry{options default}{92} \indexentry{shell commands list}{93} \indexentry{list shell commands}{93} \indexentry{commands shell}{93} \indexentry{shell commands}{93} \indexentry{command absent}{93} \indexentry{absent command}{93} \indexentry{command codify}{93} \indexentry{codify command}{93} \indexentry{command compare}{93} \indexentry{compare command}{93} \indexentry{command define}{94} \indexentry{define command}{94} \indexentry{string substitution}{94} \indexentry{substitution string}{94} \indexentry{command diff}{94} \indexentry{diff command}{94} \indexentry{file differences}{94} \indexentry{differences file}{94} \indexentry{command diffsummary}{95} \indexentry{diffsummary command}{95} \indexentry{command diffzero}{95} \indexentry{diffzero command}{95} \indexentry{command eneo}{95} \indexentry{eneo command}{95} \indexentry{command execute}{96} \indexentry{execute command}{96} \indexentry{command exists}{96} \indexentry{exists command}{96} \indexentry{command fixeols}{96} \indexentry{fixeols command}{96} \indexentry{non-printable characters}{96} \indexentry{characters non-printable}{96} \indexentry{command fw}{97} \indexentry{fw command}{97} \indexentry{command help}{97} \indexentry{help command}{97} \indexentry{command here}{98} \indexentry{here command}{98} \indexentry{command quit}{98} \indexentry{quit command}{98} \indexentry{command set}{98} \indexentry{set command}{98} \indexentry{command show}{98} \indexentry{show command}{98} \indexentry{command skipto}{98} \indexentry{skipto command}{98} \indexentry{command status}{99} \indexentry{status command}{99} \indexentry{command tolerate}{100} \indexentry{tolerate command}{100} \indexentry{command trace}{100} \indexentry{trace command}{100} \indexentry{command write}{100} \indexentry{write command}{100} \indexentry{command writeu}{100} \indexentry{writeu command}{100} \indexentry{FunnelWeb installation}{101} \indexentry{installation FunnelWeb}{101} \indexentry{FunnelWeb obtaining}{101} \indexentry{obtaining FunnelWeb}{101} \indexentry{ftp anonymous}{101} \indexentry{anonymous ftp}{101} \indexentry{directory tree}{102} \indexentry{tree directory}{102} \indexentry{admin directory}{102} \indexentry{directory admin}{102} \indexentry{answers directory}{102} \indexentry{directory answers}{102} \indexentry{correct answers}{102} \indexentry{answers correct}{102} \indexentry{hackman directory}{103} \indexentry{directory hackman}{103} \indexentry{results directory}{103} \indexentry{directory results}{103} \indexentry{scripts directory}{103} \indexentry{directory scripts}{103} \indexentry{regression testing}{103} \indexentry{testing regression}{103} \indexentry{sources directory}{103} \indexentry{directory sources}{103} \indexentry{tests directory}{104} \indexentry{directory tests}{104} \indexentry{userman directory}{105} \indexentry{directory userman}{105} \indexentry{compiling FunnelWeb}{105} \indexentry{FunnelWeb compiling}{105} \indexentry{testing FunnelWeb}{105} \indexentry{FunnelWeb testing}{105} \indexentry{installing FunnelWeb}{106} \indexentry{FunnelWeb installing}{106} \indexentry{FunnelWeb executable}{106} \indexentry{executable FunnelWeb}{106} \indexentry{printing manuals}{107} \indexentry{manuals printing}{107} \indexentry{problems installation}{107} \indexentry{installation problems}{107} \indexentry{FunnelWeb administration}{109} \indexentry{administration FunnelWeb}{109} \indexentry{commitment FunnelWeb}{109} \indexentry{FunnelWeb commitment}{109} \indexentry{ANSI}{109} \indexentry{FunnelWeb documentation}{110} \indexentry{documentation FunnelWeb}{110} \indexentry{FunnelWeb registration}{110} \indexentry{registration FunnelWeb}{110} \indexentry{FunnelWeb support}{110} \indexentry{support FunnelWeb}{110} \indexentry{copyright FunnelWeb}{112} \indexentry{FunnelWeb copyright}{112} \indexentry{FunnelWeb license}{112} \indexentry{license FunnelWeb}{112} \indexentry{GNU license}{112} \indexentry{license GNU}{112} \indexentry{warranty}{112} \indexentry{FunnelWeb Distribution}{113} \indexentry{Distribution FunnelWeb}{113} \indexentry{FunnelWeb versions}{114} \indexentry{versions FunnelWeb}{114} \indexentry{author contacting}{114} \indexentry{contacting author}{114} \indexentry{ftp archive}{114} \indexentry{archive ftp}{114} \indexentry{FunnelWeb archive}{114} \indexentry{archive FunnelWeb}{114} \indexentry{glossary}{115} \indexentry{Analyser}{115} \indexentry{Argument}{115} \indexentry{Directive}{115} \indexentry{Documentation}{115} \indexentry{Documentation file}{115} \indexentry{Free text}{115} \indexentry{FunnelWeb}{115} \indexentry{FunnelWeb file}{115} \indexentry{FunnelWeb language}{115} \indexentry{FunnelWeb proper}{115} \indexentry{FW}{115} \indexentry{Include file}{115} \indexentry{Input file}{115} \indexentry{Journal file}{115} \indexentry{Listing file}{115} \indexentry{Macro}{115} \indexentry{Macro definition}{116} \indexentry{Mapper}{116} \indexentry{Option}{116} \indexentry{Output file}{116} \indexentry{Parser}{116} \indexentry{Pragma}{116} \indexentry{Printed documentation}{116} \indexentry{Product file}{116} \indexentry{Scanner}{116} \indexentry{Script}{116} \indexentry{Shell}{116} \indexentry{Special character}{116} \indexentry{Special sequence}{116} \indexentry{Tangle}{116} \indexentry{Typesetting directive}{116} \indexentry{Weave}{116} \indexentry{references}{117} \indexentry{ANSI}{117} \indexentry{ANZE}{117} \indexentry{BSI82}{117} \indexentry{Gries81}{117} \indexentry{Humphries91}{117} \indexentry{Kernighan88}{117} \indexentry{Knuth83}{117} \indexentry{Knuth84}{117} \indexentry{Knuth84}{117} \indexentry{Lamport86}{117} \indexentry{Rosovsky90}{117} \indexentry{Smith91}{117} \indexentry{Strunk79}{117} \indexentry{USDOD83}{117}