simple.cc - generated code example
[prop.git] / docs / refman.aux
blob03835a5f71da684cc18065661a6d11a3159a1a6b
1 \relax 
2 \bibstyle{alpha}
3 \citation{C++}
4 \citation{vcg}
5 \citation{vcg-manual}
6 \@writefile{toc}{\protect \contentsline {section}{\protect \numberline {1}Introduction}{4}}
7 \newlabel{sec:intro}{{1}{4}}
8 \@writefile{toc}{\protect \contentsline {subsection}{\protect \numberline {1.1}Availability}{4}}
9 \@writefile{toc}{\protect \contentsline {subsection}{\protect \numberline {1.2}Organization of this Reference Manual}{4}}
10 \@writefile{toc}{\protect \contentsline {section}{\protect \numberline {2}General Concepts}{5}}
11 \newlabel{sec:general}{{2}{5}}
12 \@writefile{toc}{\protect \contentsline {subsection}{\protect \numberline {2.1}Syntactic Conventions}{5}}
13 \@writefile{toc}{\protect \contentsline {subsection}{\protect \numberline {2.2}Basic syntactic classes}{5}}
14 \@writefile{toc}{\protect \contentsline {subsection}{\protect \numberline {2.3}Literals}{5}}
15 \@writefile{toc}{\protect \contentsline {subsection}{\protect \numberline {2.4}The {\bsf Prop}{} Language}{5}}
16 \citation{lex}
17 \citation{flex}
18 \@writefile{toc}{\protect \contentsline {section}{\protect \numberline {3}Lexer and Parser Generation}{7}}
19 \newlabel{sec:parser}{{3}{7}}
20 \@writefile{toc}{\protect \contentsline {subsection}{\protect \numberline {3.1}Lexer Specification}{7}}
21 \@writefile{toc}{\protect \contentsline {subsubsection}{\protect \numberline {3.1.1}Regular expressions}{7}}
22 \newlabel{sec:regular-expressions}{{3.1.1}{7}}
23 \@writefile{lof}{\protect \contentsline {figure}{\protect \numberline {1}{\ignorespaces  Regular expressions.}}{7}}
24 \newlabel{fig:regexp}{{1}{7}}
25 \@writefile{toc}{\protect \contentsline {subsubsection}{\protect \numberline {3.1.2}Lexeme}{8}}
26 \@writefile{toc}{\protect \contentsline {subsubsection}{\protect \numberline {3.1.3}Lexeme class}{8}}
27 \@writefile{toc}{\protect \contentsline {subsubsection}{\protect \numberline {3.1.4}Tokens}{9}}
28 \@writefile{toc}{\protect \contentsline {subsubsection}{\protect \numberline {3.1.5}The {\protect \tt  matchscan} statement}{9}}
29 \newlabel{sec:matchscan}{{3.1.5}{9}}
30 \@writefile{toc}{\protect \contentsline {subsubsection}{\protect \numberline {3.1.6}Class {\protect \tt  LexerBuffer}}{11}}
31 \@writefile{toc}{\protect \contentsline {subsubsection}{\protect \numberline {3.1.7}Class {\protect \tt  IOLexerBuffer}}{12}}
32 \@writefile{toc}{\protect \contentsline {subsubsection}{\protect \numberline {3.1.8}Class {\protect \tt  IOLexerStack}}{12}}
33 \@writefile{toc}{\protect \contentsline {subsection}{\protect \numberline {3.2}Parser Specification}{13}}
34 \@writefile{toc}{\protect \contentsline {subsubsection}{\protect \numberline {3.2.1}Syntax class}{13}}
35 \@writefile{toc}{\protect \contentsline {subsubsection}{\protect \numberline {3.2.2}Syntax declaration}{13}}
36 \@writefile{toc}{\protect \contentsline {subsubsection}{\protect \numberline {3.2.3}Precedence}{14}}
37 \@writefile{toc}{\protect \contentsline {subsubsection}{\protect \numberline {3.2.4}{\protect \tt  expect:} $n$}{14}}
38 \@writefile{toc}{\protect \contentsline {subsubsection}{\protect \numberline {3.2.5}Production rules}{15}}
39 \@writefile{toc}{\protect \contentsline {subsubsection}{\protect \numberline {3.2.6}Parser report}{16}}
40 \@writefile{toc}{\protect \contentsline {subsubsection}{\protect \numberline {3.2.7}Interfacing with the generated lexer}{16}}
41 \@writefile{toc}{\protect \contentsline {subsection}{\protect \numberline {3.3}Debugging Parsers}{16}}
42 \citation{SML}
43 \@writefile{toc}{\protect \contentsline {section}{\protect \numberline {4}Algebraic Datatypes and Pattern Matching}{17}}
44 \newlabel{sec:datatype}{{4}{17}}
45 \@writefile{toc}{\protect \contentsline {subsection}{\protect \numberline {4.1}A quick tour of pattern matching}{17}}
46 \@writefile{toc}{\protect \contentsline {subsubsection}{\protect \numberline {4.1.1}Pattern matching versus object-oriented style}{18}}
47 \@writefile{toc}{\protect \contentsline {subsubsection}{\protect \numberline {4.1.2}More examples}{19}}
48 \newlabel{sec:Wff}{{4.1.2}{19}}
49 \@writefile{toc}{\protect \contentsline {subsubsection}{\protect \numberline {4.1.3}Variants of match}{22}}
50 \@writefile{toc}{\protect \contentsline {subsection}{\protect \numberline {4.2}Algebraic Datatypes}{23}}
51 \newlabel{sec:algebraic-datatypes}{{4.2}{23}}
52 \@writefile{toc}{\protect \contentsline {subsubsection}{\protect \numberline {4.2.1}Instantiating a datatype}{25}}
53 \@writefile{toc}{\protect \contentsline {subsection}{\protect \numberline {4.3}Pattern Matching}{25}}
54 \newlabel{sec:pattern-matching}{{4.3}{25}}
55 \@writefile{toc}{\protect \contentsline {paragraph}{Cost minimization}{26}}
56 \@writefile{toc}{\protect \contentsline {paragraph}{Match all rules}{26}}
57 \@writefile{toc}{\protect \contentsline {paragraph}{Repetition}{26}}
58 \@writefile{toc}{\protect \contentsline {paragraph}{Pattern syntax}{26}}
59 \@writefile{toc}{\protect \contentsline {subsection}{\protect \numberline {4.4}Refining a datatype}{27}}
60 \citation{Mostly-copying}
61 \citation{Gen-mostly-copying}
62 \@writefile{toc}{\protect \contentsline {subsection}{\protect \numberline {4.5}Memory management}{29}}
63 \@writefile{toc}{\protect \contentsline {subsubsection}{\protect \numberline {4.5.1}Garbage collection}{29}}
64 \@writefile{toc}{\protect \contentsline {subsubsection}{\protect \numberline {4.5.2}Persistence}{30}}
65 \@writefile{toc}{\protect \contentsline {section}{\protect \numberline {5}Inference}{32}}
66 \newlabel{sec:inference}{{5}{32}}
67 \@writefile{toc}{\protect \contentsline {subsection}{\protect \numberline {5.1}An Example}{32}}
68 \@writefile{toc}{\protect \contentsline {subsubsection}{\protect \numberline {5.1.1}Another example}{33}}
69 \@writefile{toc}{\protect \contentsline {subsection}{\protect \numberline {5.2}Inference Class}{33}}
70 \@writefile{toc}{\protect \contentsline {subsection}{\protect \numberline {5.3}Inference Rules}{34}}
71 \citation{codegen-with-trees}
72 \@writefile{toc}{\protect \contentsline {section}{\protect \numberline {6}Tree Rewriting}{35}}
73 \newlabel{sec:tree-rewriting}{{6}{35}}
74 \@writefile{toc}{\protect \contentsline {subsection}{\protect \numberline {6.1}A rewriting example}{35}}
75 \@writefile{toc}{\protect \contentsline {subsubsection}{\protect \numberline {6.1.1}Conditional rewriting and actions}{36}}
76 \@writefile{toc}{\protect \contentsline {subsection}{\protect \numberline {6.2}Rewrite class}{37}}
77 \newlabel{sec:rewrite-class}{{6.2}{37}}
78 \@writefile{toc}{\protect \contentsline {subsection}{\protect \numberline {6.3}Rewriting rules}{37}}
79 \@writefile{toc}{\protect \contentsline {subsection}{\protect \numberline {6.4}Rewriting modifiers}{38}}
80 \@writefile{toc}{\protect \contentsline {subsubsection}{\protect \numberline {6.4.1}Rewriting modifier example}{38}}
81 \newlabel{sec:rewriting-modifier}{{6.4.1}{38}}
82 \@writefile{toc}{\protect \contentsline {subsection}{\protect \numberline {6.5}The {\protect \tt  rewrite} statement}{40}}
83 \@writefile{toc}{\protect \contentsline {subsubsection}{\protect \numberline {6.5.1}Rewriting modes}{41}}
84 \newlabel{sec:rewriting-modes}{{6.5.1}{41}}
85 \@writefile{toc}{\protect \contentsline {subsubsection}{\protect \numberline {6.5.2}State caching optimization}{41}}
86 \newlabel{sec:state-caching}{{6.5.2}{41}}
87 \@writefile{toc}{\protect \contentsline {subsubsection}{\protect \numberline {6.5.3}Specifying secondary indices}{42}}
88 \@writefile{toc}{\protect \contentsline {subsubsection}{\protect \numberline {6.5.4}Using an internal index}{42}}
89 \@writefile{toc}{\protect \contentsline {subsubsection}{\protect \numberline {6.5.5}Using an external index}{43}}
90 \@writefile{toc}{\protect \contentsline {paragraph}{Class {\protect \tt  RewriteCache}}{44}}
91 \@writefile{toc}{\protect \contentsline {paragraph}{Class {\protect \tt  GCRewriteCache}}{44}}
92 \@writefile{toc}{\protect \contentsline {subsection}{\protect \numberline {6.6}Short circuiting rewrite paths with {\protect \tt  cutrewrite}}{45}}
93 \@writefile{toc}{\protect \contentsline {subsection}{\protect \numberline {6.7}Conditional failure with {\protect \tt  failrewrite}}{46}}
94 \@writefile{toc}{\protect \contentsline {subsection}{\protect \numberline {6.8}Confluence and termination}{46}}
95 \@writefile{toc}{\protect \contentsline {subsection}{\protect \numberline {6.9}Debugging Tree Rewriting}{47}}
96 \@writefile{toc}{\protect \contentsline {subsection}{\protect \numberline {6.10}Optimizing Tree Rewriting}{47}}
97 \newlabel{sec:optimize-rewriting}{{6.10}{47}}
98 \@writefile{toc}{\protect \contentsline {section}{\protect \numberline {7}User defined datatypes: Views}{49}}
99 \newlabel{sec:views}{{7}{49}}
100 \@writefile{toc}{\protect \contentsline {subsection}{\protect \numberline {7.1}A first example}{49}}
101 \newlabel{sec:tagged-union}{{7.1}{49}}
102 \@writefile{toc}{\protect \contentsline {subsection}{\protect \numberline {7.2}Another view example}{51}}
103 \@writefile{toc}{\protect \contentsline {subsection}{\protect \numberline {7.3}Syntax of view definitions}{52}}
104 \citation{real-time-SETL}
105 \citation{subtype-SETL}
106 \citation{SETL}
107 \@writefile{toc}{\protect \contentsline {section}{\protect \numberline {8}Graph Types and Graph Rewriting}{54}}
108 \newlabel{sec:graph}{{8}{54}}
109 \@writefile{toc}{\protect \contentsline {subsection}{\protect \numberline {8.1}Graph Types}{54}}
110 \newlabel{sec:graph-types}{{8.1}{54}}
111 \@writefile{toc}{\protect \contentsline {subsection}{\protect \numberline {8.2}The Graph Interface}{54}}
112 \newlabel{sec:graph-interface}{{8.2}{54}}
113 \@writefile{toc}{\protect \contentsline {subsection}{\protect \numberline {8.3}Set Formalisms}{54}}
114 \newlabel{sec:set-formalisms}{{8.3}{54}}
115 \@writefile{toc}{\protect \contentsline {subsection}{\protect \numberline {8.4}Graph Rewriting}{55}}
116 \newlabel{sec:graph-rewriting}{{8.4}{55}}
117 \@writefile{toc}{\protect \contentsline {section}{\protect \numberline {9}Running the Translator}{56}}
118 \newlabel{sec:usage}{{9}{56}}
119 \@writefile{toc}{\protect \contentsline {subsection}{\protect \numberline {9.1}Options}{56}}
120 \newlabel{option:save-space}{{9.1}{57}}
121 \@writefile{toc}{\protect \contentsline {subsection}{\protect \numberline {9.2}Error Messages}{57}}
122 \citation{CMM}
123 \citation{Mostly-copying}
124 \citation{Boehm}
125 \citation{Safe-C++-GC}
126 \citation{CMM}
127 \citation{Mostly-copying}
128 \citation{CMM}
129 \@writefile{toc}{\protect \contentsline {section}{\protect \numberline {A}Garbage Collection in the {\protect \sf  Prop} Library}{63}}
130 \newlabel{appendix:gc}{{A}{63}}
131 \@writefile{toc}{\protect \contentsline {subsection}{\protect \numberline {A.1}Introduction}{63}}
132 \@writefile{toc}{\protect \contentsline {subsection}{\protect \numberline {A.2}The Framework}{63}}
133 \@writefile{toc}{\protect \contentsline {subsection}{\protect \numberline {A.3}Our Framework}{63}}
134 \citation{Boehm}
135 \@writefile{toc}{\protect \contentsline {subsection}{\protect \numberline {A.4}The Implementation}{64}}
136 \@writefile{toc}{\protect \contentsline {subsection}{\protect \numberline {A.5}Architecture}{64}}
137 \@writefile{toc}{\protect \contentsline {subsection}{\protect \numberline {A.6}The Programmatic Interface}{64}}
138 \@writefile{lot}{\protect \contentsline {table}{\protect \numberline {1}{\ignorespaces  Garbage Collection Classes.}}{65}}
139 \newlabel{GC-Classes}{{1}{65}}
140 \@writefile{toc}{\protect \contentsline {subsection}{\protect \numberline {A.7}Memory Allocation}{65}}
141 \@writefile{toc}{\protect \contentsline {subsection}{\protect \numberline {A.8}The GC Protocol}{66}}
142 \@writefile{toc}{\protect \contentsline {subsection}{\protect \numberline {A.9}Messages and Statistics}{66}}
143 \@writefile{toc}{\protect \contentsline {subsection}{\protect \numberline {A.10}The Bartlett style mostly copying collector}{68}}
144 \@writefile{toc}{\protect \contentsline {subsection}{\protect \numberline {A.11}The Mark Sweep collector}{68}}
145 \@writefile{toc}{\protect \contentsline {subsection}{\protect \numberline {A.12}Finalization}{68}}
146 \@writefile{toc}{\protect \contentsline {subsubsection}{\protect \numberline {A.12.1}Weak Pointers}{69}}
147 \@writefile{toc}{\protect \contentsline {subsubsection}{\protect \numberline {A.12.2}The Heap Walker}{70}}
148 \bibdata{refman}
149 \bibcite{CMM}{AF}
150 \bibcite{codegen-with-trees}{AGT89}
151 \bibcite{Mostly-copying}{Bar88}
152 \bibcite{Gen-mostly-copying}{Bar89}
153 \bibcite{Boehm}{Boe93}
154 \bibcite{subtype-SETL}{CFH{$^{+}$}91}
155 \bibcite{Safe-C++-GC}{ED93}
156 \bibcite{SML}{HMM86}
157 \bibcite{lex}{Les75}
158 \bibcite{real-time-SETL}{Pai89}
159 \bibcite{flex}{Pax90}
160 \bibcite{vcg}{San94}
161 \bibcite{vcg-manual}{San95}
162 \bibcite{SETL}{SDDS86}
163 \bibcite{C++}{Str91}