42e494f18074231bfded26f514baa23e2245f277
[cc1516.git] / deliverables / report / report.tex
1 \documentclass[titlepage]{article}
2
3 \usepackage{listings}
4 \usepackage{clean}
5 \usepackage{spl}
6 \usepackage[a4paper]{geometry}
7
8 \title{SPLC}
9 \author{Pim Jager\and Mart Lubbers}
10 \date{\today}
11
12 \lstset{%
13 basicstyle=\ttfamily\footnotesize,
14 breaklines
15 }
16
17 \newcommand{\SPLC}{\texttt{SPLC}}
18 \newcommand{\SPL}{\texttt{SPLC}}
19 \newcommand{\SSM}{\texttt{SPLC}}
20
21 \begin{document}
22 \maketitle
23 \section{Introduction}
24 \SPLC{} is a program that, in several phases, generates \SSM{}
25 assembly for a given \SPL{} program. \SPLC{} is a program that acts as a
26 filter. The tool reads the standard input and the output is printed on standard
27 output. By default only the generated assembly code is outputted. But if the
28 user wants to inspect outputs of intermediate phases it can be done so by
29 setting command line flags. Listing~\ref{lst:splchelp} shows the output for
30 \texttt{spl -h}. There is also a \emph{manpage} that shows the same info.
31
32 \begin{lstlisting}[label={lst:splchelp},caption={\texttt{./spl -h}}]
33 Usage: spl [OPTION] [FILE]
34 <splc> ::= <spl> <compiler>
35 Compile spl code from FILE or stdin
36
37 Options:
38 --help Show this help
39 --version Show the version
40 --[no-]lex Lexer output(default: disabled)
41 --[no-]parse Parser output(default: disabled)
42 --[no-]sem Semantic analysis output(default: disabled)
43 --[no-]code Code generation output(default: enabled)
44 \end{lstlisting}
45
46 \input{pars.tex}
47
48 \input{sem.tex}
49
50 \input{gen.tex}
51
52 \input{ext.tex}
53
54 \end{document}