% HTML: htlatex tpg html,2			1 time
% DVI : latex tpg					3 times
% PDF : pdflatex tpg				3 times

%\documentclass[a4paper,twoside,11pt]{report}
\documentclass[a4paper,twoside]{report}

\usepackage{a4wide, moreverb}

\newif\ifpdf
\ifx\pdfoutput\undefined
	\pdffalse
\else
	\pdfoutput=1
	\pdftrue
\fi

\ifpdf
	\usepackage[
		pdftex,
		pdftitle={Toy Parser Generator},
		pdfsubject={A simple parser generator for Python},
		pdfcreator={Christophe Delord <christophe.delord@free.fr>},
		pdfauthor={Christophe Delord <christophe.delord@free.fr>},
		pdfproducer={Christophe Delord <christophe.delord@free.fr>},
		pdfkeywords={Python, Parser, Generator, Toy Parser Generator},
		colorlinks=true
	]{hyperref}
	\pdfcompresslevel=9
\else
	\usepackage[
		pdftitle={Toy Parser Generator},
		pdfsubject={A simple parser generator for Python},
		pdfcreator={Christophe Delord <christophe.delord@free.fr>},
		pdfauthor={Christophe Delord <christophe.delord@free.fr>},
		pdfproducer={Christophe Delord <christophe.delord@free.fr>},
		pdfkeywords={Python, Parser, Generator, Toy Parser Generator},
		colorlinks=true
	]{hyperref}
\fi

\renewcommand{\url}[1]{\href{#1}{#1}}

\author{
	Christophe~Delord\\
	christophe.delord@free.fr \\
	\url{http://christophe.delord.free.fr/en/tpg/} \\
}
\title{
	Toy~Parser~Generator \\
	or\\
	How to easily write parsers in Python \\
}

\pagestyle{headings}

\newenvironment{tableau}
{
	\begin{figure}[ht]
	\begin{center}
}
{
	\end{center}
	\end{figure}
}

\newenvironment{code}
{
	\begin{figure}[ht]
	\begin{tabular}{| p{\textwidth} |}
	\hline
}
{
	\\
	\hline
	\end{tabular}
	\end{figure}
}

\begin{document}

\maketitle
\tableofcontents

\listoffigures
%\listoftables

\cleardoublepage
\part{Introduction and tutorial}							\label{tpg:intro}
	\chapter{Introduction}
		\input{intro}
	\chapter{Installation}
		\input{install}
	\chapter{Tutorial}										\label{tpg:tutorial}
		\input{tutorial}

\cleardoublepage
\part{TPG reference}										\label{tpg:core}
	\chapter{Usage}
		\input{usage}
	\chapter{Grammar structure}
		\input{grammar}
	\chapter{Lexer}
		\input{lexer}
	\chapter{Parser}
		\input{parser}
	\chapter{Context sensitive lexer}						\label{tpg:CSL}
		\input{CSL}
    \chapter{Debugging}
        \input{debug}

\cleardoublepage
\part{Some examples to illustrate TPG}						\label{tpg:examples}
	\chapter{Complete interactive calculator}
		\input{calc}
	\chapter{Infix/Prefix/Postfix notation converter}
		\input{notation}

\end{document}
