chiark / gitweb /
src/lexer-{proto,impl}.lisp: Enhance `skip-until' to match token values.
[sod] / doc / sod.tex
CommitLineData
1f7d590d
MW
1%%% -*-latex-*-
2%%%
3%%% Description of the internal class structure and protocol
4%%%
5%%% (c) 2009 Straylight/Edgeware
6%%%
7
8%%%----- Licensing notice ---------------------------------------------------
9%%%
10%%% This file is part of the Simple Object Definition system.
11%%%
12%%% SOD is free software; you can redistribute it and/or modify
13%%% it under the terms of the GNU General Public License as published by
14%%% the Free Software Foundation; either version 2 of the License, or
15%%% (at your option) any later version.
16%%%
17%%% SOD is distributed in the hope that it will be useful,
18%%% but WITHOUT ANY WARRANTY; without even the implied warranty of
19%%% MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
20%%% GNU General Public License for more details.
21%%%
22%%% You should have received a copy of the GNU General Public License
23%%% along with SOD; if not, write to the Free Software Foundation,
24%%% Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
25
b18dfd74 26\documentclass[noarticle, titlepage]{strayman}
1f1d88f5 27
1f7d590d
MW
28\errorcontextlines=999
29
1f1d88f5
MW
30\usepackage[T1]{fontenc}
31\usepackage[utf8]{inputenc}
32\usepackage[palatino, helvetica, courier, maths=cmr]{mdwfonts}
b59108e2
MW
33\usepackage{makeidx}
34\usepackage
35 [columns=2, itemlayout=singlepar, justific=raggedright,
36 totoc=true, font=small]
37 {idxlayout}
fca95fc1 38\usepackage{tikz}
1f1d88f5
MW
39\usepackage{syntax}
40\usepackage{sverb}
dea4d055 41\usepackage{mdwtab}
fca95fc1
MW
42\usepackage[mdwmargin]{mdwthm}
43\usepackage{amssymb}
dea4d055 44\usepackage{footnote}
1f1d88f5
MW
45\usepackage{at}
46\usepackage{mdwref}
47
1f7d590d
MW
48\usepackage{sod}
49
ddfe4265
MW
50\makeindex
51
1f1d88f5
MW
52\title{A Sensible Object Design for C}
53\author{Mark Wooding}
54
1f1d88f5
MW
55\begin{document}
56
43cb10f9 57\frontmatter
1f1d88f5
MW
58\maketitle
59
1f1d88f5 60%%%--------------------------------------------------------------------------
1f1d88f5 61
1f7d590d 62\tableofcontents
1f1d88f5 63
1f7d590d 64\mainmatter
1f1d88f5
MW
65
66%%%--------------------------------------------------------------------------
1f7d590d 67\part{Tutorial} \label{p:tut}
1f1d88f5 68
1f7d590d 69\include{tutorial}
1f1d88f5
MW
70
71%%%--------------------------------------------------------------------------
1f7d590d 72\part{Reference} \label{p:ref}
1f1d88f5 73
1f7d590d
MW
74\include{concepts}
75\include{cmdline}
76\include{syntax}
1f7d590d 77\include{runtime}
45e10a4f 78\include{structures}
fca95fc1
MW
79
80%%%--------------------------------------------------------------------------
1f7d590d
MW
81\part{Lisp interface} \label{p:lisp}
82
83\include{lispintro}
84%% package.lisp
85%% sod.asd.in
86%% sod-frontend.asd.in
87%% auto.lisp.in
88
89\include{misc}
5ea92e79 90%% utilities.lisp
1f7d590d
MW
91%% pset-impl.lisp
92%% pset-parse.lisp
93%% pset-proto.lisp
1f7d590d
MW
94%% optparse.lisp
95%% frontend.lisp
96%% final.lisp
97
98\include{parsing}
99%% package.lisp
100%% floc-impl.lisp
101%% floc-proto.lisp
102%% streams-impl.lisp
103%% streams-proto.lisp
104%% scanner-context-impl.lisp
105%% scanner-impl.lisp
106%% scanner-proto.lisp
107%% scanner-token-impl.lisp
108%% scanner-charbuf-impl.lisp
109%% parser-impl.lisp
110%% parser-proto.lisp
111%% parser-expr-impl.lisp
112%% parser-expr-proto.lisp
5ea92e79
MW
113%% lexer-impl.lisp
114%% lexer-proto.lisp
1f7d590d
MW
115
116\include{clang}
117%% c-types-class-impl.lisp
118%% c-types-impl.lisp
119%% c-types-parse.lisp
120%% c-types-proto.lisp
121%% codegen-impl.lisp
122%% codegen-proto.lisp
123%% fragment-parse.lisp
124
125\include{meta}
126%% classes.lisp
127%% class-utilities.lisp
128%% class-make-impl.lisp
129%% class-make-proto.lisp
130%% class-finalize-impl.lisp
131%% class-finalize-proto.lisp
132
133\include{layout}
134%% class-layout-impl.lisp
135%% class-layout-proto.lisp
136%% method-impl.lisp
137%% method-proto.lisp
138%% method-aggregate.lisp
139
140\include{module}
141%% module-impl.lisp
142%% module-parse.lisp
143%% module-proto.lisp
144%% builtin.lisp
145
146\include{output}
147%% output-impl.lisp
148%% output-proto.lisp
149%% class-output.lisp
150%% module-output.lisp
fca95fc1
MW
151
152%%%--------------------------------------------------------------------------
1f7d590d
MW
153\part{Appendices}
154\appendix
1f1d88f5 155
1f7d590d 156\include{cutting-room-floor}
1f1d88f5 157
ddfe4265
MW
158%%%--------------------------------------------------------------------------
159\backmatter
160
b59108e2 161\printindex
ddfe4265 162
1f7d590d 163%%%----- That's all, folks --------------------------------------------------
1f1d88f5 164\end{document}
1f7d590d 165
1f1d88f5
MW
166%%% Local variables:
167%%% mode: LaTeX
168%%% TeX-PDF-mode: t
169%%% End: