|
|
@@ -11,19 +11,33 @@
|
|
|
\usepackage{hyperref}
|
|
|
|
|
|
\title{Peephole Optimizer}
|
|
|
-\author{Jayke Meijer (6049885), Richard Torenvliet (6138861), Taddeus Kroes (6054129)}
|
|
|
+\author{Jayke Meijer (6049885), Richard Torenvliet (6138861), Taddeus Kroes
|
|
|
+ (6054129)}
|
|
|
|
|
|
\begin{document}
|
|
|
\maketitle
|
|
|
|
|
|
\section{Introduction}
|
|
|
-The goal of the assignment is to implement the optimization stage of the compiler. To reach this goal the parser part of the compiler has to be implemented.
|
|
|
-
|
|
|
-The output of the gcc cross compiler on a c program is our input, the output of the gcc cross compiler is in the form of Assembly code, but not optimized. Our assignment includes a number of c programs, an important part of the assignment is parsing the data. Parsing the data is done with lex and yacc. The lexer is a program that finds keywords that meets the regular expression provided in the lexer. After the lexer, the yaccer takes over. Yaccer can turn the keywords in to an action.
|
|
|
+The goal of the assignment is to implement the optimization stage of the
|
|
|
+compiler. To reach this goal the parser part of the compiler has to be
|
|
|
+implemented.
|
|
|
+
|
|
|
+The output of the gcc cross compiler on a c program is our input, the output of
|
|
|
+the gcc cross compiler is in the form of Assembly code, but not optimized. Our
|
|
|
+assignment includes a number of c programs, an important part of the assignment
|
|
|
+is parsing the data. Parsing the data is done with lex and yacc. The lexer is a
|
|
|
+program that finds keywords that meets the regular expression provided in the
|
|
|
+lexer. After the lexer, the yaccer takes over. Yaccer can turn the keywords in
|
|
|
+to an action.
|
|
|
|
|
|
\section{Design \& Implementation}
|
|
|
-We decided to implement the optimization in python. We chose this programming language because python is an easy language to manipulate strings, work objective ori\"ented etc.
|
|
|
-It turns out that a lex and yacc are also implemented in a python version, named PLY(Python Lex-Yacc). This allows us to use one language, Python, instead of two i.e. C and Python. Also no debugging is needed in C, only in Python which makes our assignment more feasible.
|
|
|
+We decided to implement the optimization in python. We chose this programming
|
|
|
+language because python is an easy language to manipulate strings, work
|
|
|
+objective ori\"ented etc.
|
|
|
+It turns out that a lex and yacc are also implemented in a python version,
|
|
|
+named PLY(Python Lex-Yacc). This allows us to use one language, Python, instead
|
|
|
+of two i.e. C and Python. Also no debugging is needed in C, only in Python
|
|
|
+which makes our assignment more feasible.
|
|
|
|
|
|
\subsection{Design}
|
|
|
|
|
|
@@ -46,4 +60,4 @@ This
|
|
|
\subsection*{clinpack.c}
|
|
|
|
|
|
\section{conclusion}
|
|
|
-\end{document}
|
|
|
+\end{document}
|