summaryrefslogtreecommitdiff
path: root/web/funnelAC/hackman/h_manual.toc
blob: 41e1e43e82e0be28c57b05697d558d27c14df211 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
\contentsline {chapter}{Preface}{5}
\contentsline {chapter}{Acknowledgements}{7}
\contentsline {chapter}{Presentation Notes}{9}
\contentsline {chapter}{\numberline {1}FunnelWeb Design}{11}
\contentsline {section}{\numberline {1.1}Motivation for FunnelWeb}{11}
\contentsline {section}{\numberline {1.2}Indentation}{12}
\contentsline {section}{\numberline {1.3}Review of FunnelWeb Syntax}{14}
\contentsline {subsection}{\numberline {1.3.1}Review of Macro Definition Syntax}{14}
\contentsline {subsection}{\numberline {1.3.2}Review of Macro Call Syntax}{16}
\contentsline {subsection}{\numberline {1.3.3}Review of Parameterized Macro Call Syntax}{16}
\contentsline {section}{\numberline {1.4}Document Structuring}{16}
\contentsline {section}{\numberline {1.5}Discussion of Some Miscellaneous Issues}{18}
\contentsline {section}{\numberline {1.6}Automated Regression Testing}{18}
\contentsline {section}{\numberline {1.7}Command Line Interface}{18}
\contentsline {section}{\numberline {1.8}File Name Management}{19}
\contentsline {subsection}{\numberline {1.8.1}Filename Extensions}{20}
\contentsline {subsection}{\numberline {1.8.2}Filename Inheritance}{20}
\contentsline {subsection}{\numberline {1.8.3}Portable Structure of File Names}{21}
\contentsline {section}{\numberline {1.9}Specifying Constraints on the Number of Instantiations}{22}
\contentsline {section}{\numberline {1.10}The Relationship Between Document Structure and Macro Structure}{23}
\contentsline {section}{\numberline {1.11}Diagnostic Messages}{25}
\contentsline {section}{\numberline {1.12}Summary}{25}
\contentsline {chapter}{\numberline {2}FunnelWeb Implementation}{27}
\contentsline {section}{\numberline {2.1}Introduction}{27}
\contentsline {section}{\numberline {2.2}History of FunnelWeb Implementations}{27}
\contentsline {section}{\numberline {2.3}Why FunnelWeb Wasn't Used to Write Itself}{28}
\contentsline {section}{\numberline {2.4}Coding Style}{28}
\contentsline {section}{\numberline {2.5}Use of Memory}{29}
\contentsline {section}{\numberline {2.6}The Heap}{29}
\contentsline {section}{\numberline {2.7}The Stack}{30}
\contentsline {section}{\numberline {2.8}Static Variables}{30}
\contentsline {section}{\numberline {2.9}Implementing Text Indentation}{30}
\contentsline {chapter}{\numberline {3}FunnelWeb Modification}{35}
\contentsline {section}{\numberline {3.1}Introduction}{35}
\contentsline {section}{\numberline {3.2}The Danger of Modifying Languages}{35}
\contentsline {section}{\numberline {3.3}Authority vs User Security}{36}
\contentsline {section}{\numberline {3.4}What I Want to Protect}{37}
\contentsline {section}{\numberline {3.5}Modifying the Manuals}{38}
\contentsline {section}{\numberline {3.6}How Copyright Law Works}{38}
\contentsline {section}{\numberline {3.7}Management of the Official FunnelWeb}{39}
\contentsline {section}{\numberline {3.8}A GNU Version?}{41}
\contentsline {section}{\numberline {3.9}Summary}{41}
\contentsline {chapter}{\numberline {4}FunnelWeb Future}{43}
\contentsline {section}{\numberline {4.1}Documentation}{43}
\contentsline {section}{\numberline {4.2}Command Line Interface}{43}
\contentsline {section}{\numberline {4.3}Shell Interpreter}{43}
\contentsline {section}{\numberline {4.4}Language Design}{44}
\contentsline {section}{\numberline {4.5}Scanner/Mapper}{44}
\contentsline {section}{\numberline {4.6}Parser}{45}
\contentsline {section}{\numberline {4.7}Analyser}{45}
\contentsline {section}{\numberline {4.8}Tangle}{45}
\contentsline {section}{\numberline {4.9}Weave}{45}
\contentsline {section}{\numberline {4.10}Lister}{46}
\contentsline {section}{\numberline {4.11}Diagnostics}{47}
\contentsline {section}{\numberline {4.12}Speed}{47}
\contentsline {section}{\numberline {4.13}Correctness}{47}
\contentsline {section}{\numberline {4.14}Test Suite}{47}
\contentsline {section}{\numberline {4.15}Machine-Specific Changes}{48}
\contentsline {section}{\numberline {4.16}Summary}{48}
\contentsline {chapter}{\numberline {A}GNU General Public License Version 2}{49}
\contentsline {chapter}{\numberline {B}References}{57}
\contentsline {chapter}{Index}{57}