chiark / gitweb /
STYLE: Document Lisp programming style.
[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}
fca95fc1 33\usepackage{tikz}
1f1d88f5
MW
34\usepackage{syntax}
35\usepackage{sverb}
dea4d055 36\usepackage{mdwtab}
fca95fc1
MW
37\usepackage[mdwmargin]{mdwthm}
38\usepackage{amssymb}
dea4d055 39\usepackage{footnote}
1f1d88f5
MW
40\usepackage{at}
41\usepackage{mdwref}
42
1f7d590d
MW
43\usepackage{sod}
44
1f1d88f5
MW
45\title{A Sensible Object Design for C}
46\author{Mark Wooding}
47
1f1d88f5
MW
48\begin{document}
49
43cb10f9 50\frontmatter
1f1d88f5
MW
51\maketitle
52
1f1d88f5 53%%%--------------------------------------------------------------------------
1f1d88f5 54
1f7d590d 55\tableofcontents
1f1d88f5 56
1f7d590d 57\mainmatter
1f1d88f5
MW
58
59%%%--------------------------------------------------------------------------
1f7d590d 60\part{Tutorial} \label{p:tut}
1f1d88f5 61
1f7d590d 62\include{tutorial}
1f1d88f5
MW
63
64%%%--------------------------------------------------------------------------
1f7d590d 65\part{Reference} \label{p:ref}
1f1d88f5 66
1f7d590d
MW
67\include{concepts}
68\include{cmdline}
69\include{syntax}
1f7d590d 70\include{runtime}
45e10a4f 71\include{structures}
fca95fc1
MW
72
73%%%--------------------------------------------------------------------------
1f7d590d
MW
74\part{Lisp interface} \label{p:lisp}
75
76\include{lispintro}
77%% package.lisp
78%% sod.asd.in
79%% sod-frontend.asd.in
80%% auto.lisp.in
81
82\include{misc}
5ea92e79 83%% utilities.lisp
1f7d590d
MW
84%% pset-impl.lisp
85%% pset-parse.lisp
86%% pset-proto.lisp
1f7d590d
MW
87%% optparse.lisp
88%% frontend.lisp
89%% final.lisp
90
91\include{parsing}
92%% package.lisp
93%% floc-impl.lisp
94%% floc-proto.lisp
95%% streams-impl.lisp
96%% streams-proto.lisp
97%% scanner-context-impl.lisp
98%% scanner-impl.lisp
99%% scanner-proto.lisp
100%% scanner-token-impl.lisp
101%% scanner-charbuf-impl.lisp
102%% parser-impl.lisp
103%% parser-proto.lisp
104%% parser-expr-impl.lisp
105%% parser-expr-proto.lisp
5ea92e79
MW
106%% lexer-impl.lisp
107%% lexer-proto.lisp
1f7d590d
MW
108
109\include{clang}
110%% c-types-class-impl.lisp
111%% c-types-impl.lisp
112%% c-types-parse.lisp
113%% c-types-proto.lisp
114%% codegen-impl.lisp
115%% codegen-proto.lisp
116%% fragment-parse.lisp
117
118\include{meta}
119%% classes.lisp
120%% class-utilities.lisp
121%% class-make-impl.lisp
122%% class-make-proto.lisp
123%% class-finalize-impl.lisp
124%% class-finalize-proto.lisp
125
126\include{layout}
127%% class-layout-impl.lisp
128%% class-layout-proto.lisp
129%% method-impl.lisp
130%% method-proto.lisp
131%% method-aggregate.lisp
132
133\include{module}
134%% module-impl.lisp
135%% module-parse.lisp
136%% module-proto.lisp
137%% builtin.lisp
138
139\include{output}
140%% output-impl.lisp
141%% output-proto.lisp
142%% class-output.lisp
143%% module-output.lisp
fca95fc1
MW
144
145%%%--------------------------------------------------------------------------
1f7d590d
MW
146\part{Appendices}
147\appendix
1f1d88f5 148
1f7d590d 149\include{cutting-room-floor}
1f1d88f5 150
1f7d590d 151%%%----- That's all, folks --------------------------------------------------
1f1d88f5 152\end{document}
1f7d590d 153
1f1d88f5
MW
154%%% Local variables:
155%%% mode: LaTeX
156%%% TeX-PDF-mode: t
157%%% End: