LLVM. The Documentation link will take you to all kinds of
documentation. Do not get overwhelmed and try to read everything. Stick to the problem at hand.
I recommend that you begin by writing llvm assembly (documentation link below) by hand to gain an
understanding of how the language works.
Personally, however, I would probably just generate the
raw LLVM assembly language and then use the
llc assembler to translate it into machine code (the llvm tool chain also provides an
interpreter for its assembly language called lli that you might want to use).
Student Assessment and Grading
Students must participate in organizing and delivering lectures on an approved topic
(generally in the area of compiler tools) in order to receive a passing grade in this
Grades will be established by project milestones completed.
Semantic Analysis: C
Coded Generation: B
Runtime System: A
The project compiler must pass all test programs generating errors for the incorrect
programs and correctly executing code for the others. Meaningful errors must be emitted
for the incorrect programs and reasonable parser resynchronization must be achieved for
the erroneous programs.
Projects are normally due by the last day of finals week. However, a one semester
extension is granted without penalty. This extension only goes to the last day of
classes of the summer semester. You can incrementally turn in projects for grades
beginning at the end of this quarter and improve it thereafter (as per the