
% notes.tex is input to index.tex
{\bf Introduction} \\

\begin{itemize}
\item \htmladdnormallink{Pre-Quiz}{notes/quiz.html}\\
\item \htmladdnormallink{Languages Used by Students}{notes/LangUsed.html} \\
\item \htmladdnormallink{First Language}{notes/FirstLang.gif} \\
\end{itemize}


{\bf History of Programming Languages}

\begin{itemize}
\item \htmladdnormallink{Tower of Babel}{notes/Babel.gif}, CACM cover, Jan. 1961 \\
\item \em A Roster of Programming Languages for 1976-77\rm , J. Sammet, ACM 
SIGPLAN Notices, 1976, pp 56-59.\\
\htmladdnormallink{Table 1-4}{notes/Table1_4.gif},
\htmladdnormallink{Table 1-5}{notes/Table1_5.gif},
\htmladdnormallink{Language Survey}{notes/Survey.gif} \\
\item \htmladdnormallink{Language Pedigrees}{notes/Pedigrees.gif}, 
 Horowitz \\
\item \htmladdnormallink{Levenez History of Programming Languages}{http://www.levenez.com/lang/history.html} \\
\end{itemize}

{\bf Pascal Syntax } \\

\begin{itemize}
\item \htmladdnormallink{ISO7185 - Pascal BNF}{notes/iso7185PascalBNF.pdf}\\
\item \htmladdnormallink{program, block}{notes/Pascal1.gif}\\
\item \htmladdnormallink{statement}{notes/Pascal2.gif}\\
\item \htmladdnormallink{simple type, type, field list}{notes/Pascal3.gif}\\
\item \htmladdnormallink{identifier, unsigned integer, unsigned number, unsigned
constant, constant}{notes/Pascal4.gif}\\
\item \htmladdnormallink{simple expression, expression, parameter list}
{notes/Pascal5.gif}\\
\item \htmladdnormallink{variable, factor, term}{notes/Pascal6.gif} \\
\end{itemize}

{\bf Recursive-Descent Parsing} \\
\begin{itemize}
\item \htmladdnormallink{LL Grammars}{notes/LL.pdf} \\
\item \htmladdnormallink{First \& Follow Sets}{notes/FirstFollow.pdf} \\
\item \htmladdnormallink{BNF to Syntax Graph}{notes/BNFGraph.gif} \\
\item \htmladdnormallink{Example 3.1 Syntax Graphs}{notes/Ex3\_1.pdf} \\
\item \htmladdnormallink{Syntax Graph to Parsing Program}{notes/GraphParse.gif} \\
\item \htmladdnormallink{Recursive-Descent Calculator: calc.c}{notes/calc.c} \\
\end{itemize}

{\bf Table-Driven Parsing} \\
\begin{itemize}
\item \htmladdnormallink{Parse Table Representation}{notes/TableParse1.gif} \\
\item \htmladdnormallink{Syntax Graph to Linked-List}
{notes/GraphTable.gif} \\
\item \htmladdnormallink{Example 3.1 Linked List}{notes/Ex3_1list.pdf} \\
\item \htmladdnormallink{Example: Positive Integers}
{notes/TableParse2.gif} \\
\item \htmladdnormallink{Table-Driven Parsing Program Outline}
{notes/ParseOutline.htm} \\
\item \htmladdnormallink{Table-Driven Parsing Procedure}{notes/ParseGraph.htm}\\
\item \htmladdnormallink{Table-Driven Parser: parsegraph.c}{notes/parsegraph.c}\\
\item \htmladdnormallink{Example: Parse Table for Positive Integers}
{notes/table.dat} \\
\end{itemize}

{\bf ALGOL-60 {\tt for} statement} \\
\begin{itemize}
\item \htmladdnormallink{Syntax Graph}{notes/Algol60for.gif} \\
\item \htmladdnormallink{Linked List}{notes/forGraph.gif} \\
\end{itemize}

\htmladdnormallink{{\bf Dependency Graphs and Topological Sorting}}
{notes/Toposort.gif} \\

{\bf Variables} \\
\begin{itemize}
\item \htmladdnormallink{Definitions}{notes/Variables1.gif} \\
\item \htmladdnormallink{Usage, Aliasing}{notes/Variables2.gif} \\
\item \htmladdnormallink{Equivalence, Declarations}{notes/Variables3.gif} \\
\item \htmladdnormallink{Binding}{notes/Binding.gif} \\
\item \htmladdnormallink{Scope}{notes/Scope1.gif} \\
\item \htmladdnormallink{Lifetime}{notes/Scope2.gif} \\
\end{itemize}

% end notes.tex

