\documentstyle [12pt]{article}
\setlength{\oddsidemargin}{-.4cm}
\setlength{\topmargin}{-2cm}
\setlength{\headheight}{0cm}
\setlength{\textheight}{24.5cm}
\setlength{\textwidth}{17.3cm}
\setlength{\topskip}{0cm}
\setlength{\parindent}{0cm}
\setlength{\parskip}{.15in}
%
\pagestyle{plain}
\begin{document}
\vspace*{-.5cm}

\begin{minipage}[b]{19mm}
\setlength{\unitlength}{.4mm}
\begin{picture}(45,30)(-22.5,-15)
\thicklines
%
\put(0,0){\circle{15}}
%
\thinlines
\put( 7.5,  0){\oval(30,30)[t]}
\put( 7.5,-15){\line(1,0){15}}
\put( 7.5,-15){\line(0,1){15}}
\put(22.5,-15){\line(0,1){15}}
%
\put( -7.5, 0){\oval(30,30)[b]}
\put( -7.5,15){\line(-1,0){15}}
\put( -7.5,15){\line(0,-1){15}}
\put(-22.5,15){\line(0,-1){15}}
%
\end{picture}
\end{minipage}
\begin{minipage}[b]{6cm}
\footnotesize \sf
Computer Science and Engineering
\\
Ferguson Hall -- 0115
\\
472-2402
\end{minipage}
\hfill
\begin{minipage}[b]{8cm}
\begin{flushright}
\LARGE \bf
Course Specification\vspace*{3mm}
\end{flushright}
\end {minipage}
\vspace{.2cm}
{\bf \hrule}
\vspace{.5cm}

%------------------------------------------------------------------------
% NOTES TO USERS: 
%
% 1. Underlined text in this form is notes to you; please delete them.
%
% 2. DO NOT UNDERLINE your replacement text.
%
% 3. Try to observe the prescribed page-break, if at all possible.
%
%------------------------------------------------------------------------

{\Large \bf \begin{center} CSCE-425\\
Compiler Construction
\end{center} }

\paragraph{Catalogue Description:}~ \newline
425/825. Compiler Construction (3 cr) Prereq: CSCE 310, 322.  Review of
program language structures, translation, loading, execution, and
storage allocation.  Compilation of simple expressions and statements.
Organization of a compiler including compile-time and run-time symbol
tables, lexical scan, syntax scan, object code generation, error
diagnostics, object code optimization techniques, and overall design.

\paragraph{Textbook(s) and/or Other Required Materials:}~ \newline
Aho, Sethi, Ullman, {\em Compilers: Principles, Techniques, and Tools},
Addison-Wesley; or \\
Louden, {\em Compiler Construction: Principles and Practice}, PWS

\paragraph{Prerequisites by Topic:}~ 
\begin{enumerate}
\item {\bf Mastery} of principle concepts of multiple programming paradigms;
  types and control structures and their implementation; Algorithms for
  searching and sorting, indexing, hashing; Data structures including
  trees and dag's.
\item {\bf Familiarity} with representative languages of various programming
  paradigms, language description, context-free grammars and regular
  expressions.
\item {\bf Exposure} to compilation and interpretation implementation.
\end{enumerate}


\paragraph{Course Objectives:}~ 
\begin{enumerate}
\item {\bf Mastery} of lexical analysis, context-free grammars and parsing,
 top-down and bottom up parsing, semantic analysis, type checking, symbol
 tables. 
\item {\bf Familiarity} with run-time environments, intermediate code
 and code generation; tools for scanning and parsing.
\item {\bf Exposure} to error diagnostics, code optimization.
\item {\bf Practice} of design and implementation of compilers.
\end{enumerate}

\vfill
{\small ~ \hfill  \today}
\newpage
\paragraph{Topics Covered:}~ \newline
It is expected that students will engage in a substantial compiler
design term project.
\begin{enumerate}
\item Regular expressions and lexical analysis, LEX - primarilly review.
\item Context-free grammars and parsing - primarilly review.
\item Top-down parsing: LL(1), recursive descent.
\item Bottom-up parsing: LR(0), SLR(1), LR(1), LALR(1), YACC.
\item Semantic analysis: attributes, types, syntax-directed translation.
\item Type checking: type equivalence, conversions, overloading.
\item Run-time environments: storage, symbol tables, parameter passing.
\item Code generation: intermediate code, language structures, registers.
\item Code optimization survey.
\end{enumerate}


\paragraph{Relationship of Course to Program Objectives:}~ \newline
\underline{{\bf Ignore for Fall 1998}. Details will 
be firmed up during Spring 1998 Semester.}


\paragraph{Contribution of Course to Meeting the Professional Component:}~ \newline
\underline{{\bf Ignore for Fall 1998}. Details will 
be firmed up during Spring 1998 Semester.}


\paragraph{Class/Laboratory Schedule:}~ \newline
Lecture: 45 hours.

\paragraph{Prepared by:}~ \newline
Charles Riedesel, Senior Lecturer.

\end{document}


