CS 540 Language Processors - Spring 2011

    Dr. Elizabeth White
    Office: Engineering, Rm. 5315
    Phone: 993-1586
    email: white@gmu.edu - put CS540 in subject line

    Course Content

    This course will cover the theoretical and implementation aspects of language processing. Emphasis will be on the design and construction of compilers. There are several substantial programming assignments associated with this course.
    • Compiler Design
    • Lexical Analysis
    • Syntax Analysis - grammars, LL(1) parsers, LR(1) parsers
    • Semantic Processing
    • Code generation and optimization

    Textbooks

    • Compilers: Principles, Techniques and Tools, Aho, Lam, Sethi & Ullman, 2006 (2nd edition)
    • lex & yacc, Levine et. al. (recommended)
    • Other course materials, including slides, will be available on Blackboard

    Grading Policies

    • There will be 4 programming assignments, together worth 45% of your grade (5% + 10% + 10% + 20%). These are to be individual efforts, meaning no sharing of code or discussion of problem solution allowed with anyone but me or the TA.
    • Midterm exam, worth 25% of your grade
    • The final exam, worth 30% of your grade, will be commulative with the primary emphasis (70-90%) on the material not tested in the midterm.
    • Both the final and midterm are closed book. You must have a written excuse (doctor's note, for example) to miss an exam. I reserve the right to give oral makeup exams in lieu of written.
    • It has been my experience that time is the biggest determiner of your final grade in this class. I suggest that you start assignments when I hand them out. They often take more time than you think.

    Note: This course will be taught with a distance options

    Honor Code

    You are expected to abide by the honor code. Programming assignments and exams are individual efforts. Information on the university honor code can be found at:
    http://jiju.gmu.edu/catalog/apolicies/honor.html

    This semester I will probably be using similarity detection software to assist me in finding honor code violations, should they occur.