C01 - CS421 COMPILERS AND INTERPRETERS CS421 COMPILERS AND INTERPRETERS Course Structure Course home page CS421 Compilers and Interpreters

Info iconThis preview shows pages 1–3. Sign up to view the full content.

View Full Document Right Arrow Icon
CS421 COMPILERS AND INTERPRETERS Copyright 1994 - 2010 Zhong Shao, Yale University Introduction : Page 1 of 24 CS421 Compilers and Interpreters Zhong Shao Dept. of Computer Science Yale University Fall 2010 CS421 COMPILERS AND INTERPRETERS Copyright 1994 - 2010 Zhong Shao, Yale University Introduction : Page 2 of 24 Course Structure • Course home page: http://flint.cs.yale.edu/cs421 all lecture notes and other course-related information are available on this class home page. • 13-week lectures (based on Appel book + Ullman book + other) compiler basics, internals, algorithms, and advanced topics, etc. • 7 programming assignments build a compiler compiling Tiger progs into the X86 assembly code. • Occasional problem sets plus a final exam • Use the SML/NJ environment on the Zoo Linux PCs CS421 COMPILERS AND INTERPRETERS Copyright 1994 - 2010 Zhong Shao, Yale University Introduction : Page 3 of 24 Why Study Compilers? or why take CS421 ? • To enhance understanding of programming languages • To have an in-depths knowledge of low-level machine executables • To write compilers and interpreters for various programming languages and domain-specific languages Examples: Java, JavaScript, C, C++, C#, Modula-3, Scheme, ML, Tcl/Tk, Database Query Lang., Mathematica, Matlab, Shell-Command-Languages, Awk, Perl, your .mailrc file, HTML, TeX, PostScript, Kermit scripts, . .... • To learn various system-building tools : Lex, Yacc, . .. • To learn interesting compiler theory and algorithms. • To learn the beauty of programming in modern programming lang. CS421 COMPILERS AND INTERPRETERS Copyright 1994 - 2010 Zhong Shao, Yale University Introduction : Page 4 of 24 Systems Environments • To become a real computer professional, you must not only know how to write good programs, but also know how programs are compiled and executed on different machines. Core Systems Environments include: programming languages , compilers , computer architectures , and operating systems 1. a language for you to express what to do 2. a translator that translates what you say to what machine knows 3. an execution engine to execute the actions 4. a friendly operating environment that connects all the devices Application Systems Environments include: distributed systems, computer networks, parallel computations, database systems, computer graphics, multimedia systems.
Background image of page 1

Info iconThis preview has intentionally blurred sections. Sign up to view the full version.

View Full DocumentRight Arrow Icon
CS421 COMPILERS AND INTERPRETERS Copyright 1994 - 2010 Zhong Shao, Yale University Introduction : Page 5 of 24 Compilers are Translators Table 1: various forms of translators LL t r a n s l a t o r C++, ML, Java assembly/machine code compiler assembly lang. machine code assembler “object” code (*.o file) “executable” code (a.out) linker/loader macros/text text macro processor (cpp) troff/Tex/HTML PostScript document formatter any file (e.g., foo) compressed file (foo.Z)
Background image of page 2
Image of page 3
This is the end of the preview. Sign up to access the rest of the document.

This document was uploaded on 01/06/2012.

Page1 / 6

C01 - CS421 COMPILERS AND INTERPRETERS CS421 COMPILERS AND INTERPRETERS Course Structure Course home page CS421 Compilers and Interpreters

This preview shows document pages 1 - 3. Sign up to view the full document.

View Full Document Right Arrow Icon
Ask a homework question - tutors are online