breaklines
}
+\newcommand{\SPLC}{\texttt{SPLC}}
+\newcommand{\SPL}{\texttt{SPLC}}
+\newcommand{\SSM}{\texttt{SPLC}}
+
\begin{document}
\maketitle
+\section{Introduction}
+\SPLC{} is a program that, in several phases, generates \SSM{}
+assembly for a given \SPL{} program. \SPLC{} is a program that acts as a
+filter. The tool reads the standard input and the output is printed on standard
+output. By default only the generated assembly code is outputted. But if the
+user wants to inspect outputs of intermediate phases it can be done so by
+setting command line flags. Listing~\ref{lst:splchelp} shows the output for
+\texttt{spl -h}. There is also a \emph{manpage} that shows the same info.
+
+\begin{lstlisting}[label={lst:splchelp},caption={\texttt{./spl -h}}]
+Usage: spl [OPTION] [FILE]
+<splc> ::= <spl> <compiler>
+Compile spl code from FILE or stdin
+
+Options:
+ --help Show this help
+ --version Show the version
+ --[no-]lex Lexer output(default: disabled)
+ --[no-]parse Parser output(default: disabled)
+ --[no-]sem Semantic analysis output(default: disabled)
+ --[no-]code Code generation output(default: enabled)
+\end{lstlisting}
+
\input{pars.tex}
\input{sem.tex}