Docsity
Docsity

Prepare for your exams
Prepare for your exams

Study with the several resources on Docsity


Earn points to download
Earn points to download

Earn points by helping other students or get them with a premium plan


Guidelines and tips
Guidelines and tips

Course Outline - Compiler Design | CS 4110, Lecture notes of Computer Science

Material Type: ClassMaterial; Professor: Reiter; Class: Compiler Design; Subject: Computer Science; University: California State University-East Bay; Term: Fall 2013;

Typology: Lecture notes

2012/2013

Uploaded on 11/18/2013

harshal-1
harshal-1 🇺🇸

2 documents

1 / 3

Toggle sidebar

Related documents


Partial preview of the text

Download Course Outline - Compiler Design | CS 4110 and more Lecture notes Computer Science in PDF only on Docsity! COMPILER DESIGN C.S. 4110/6110 Instructor: Dr. Eddie Reiter Office: NS 432 Phone: 885-4997 Email: eddie.reiter@csueastbay.edu Office hours: TuTh 9:30-10, 12-12:30, 1:30-2:00, (and by appt). Text: Parsons: Introduction to Compiler Construction (Alternate: Aho, Sethi, Ullman; Compilers, Principles....) Approximate Syllabus Chapters (Parsons) Week: 1 1, 8.1 2 2 ----- Symbol Table routines due Oct 8 6110: TBD 3 2,3 4 4 ------- Lexical Analyzer due Oct 22 5 Midterm I Thurs Oct 24 6 ---------- Parser due now –Nov 5 (?) 7 5 8 6 Midterm II Tuesday Nov 7 Code Gen I due now Nov 19 9 6 (continued) ------- 10 Final project due Dec 5 Grade Scheme Midterms 25-30% Programs (sections of compiler) 25-30% Written assignments 10-20% Final 30-35% (Thurs 12/12 2 PM)) Late Homework and Programs: You may have 5 "grace class-days" through the quarter without penalty. Each grace day is one class meeting. They can be distributed however you please (5 assignments turned in one class meeting late, or 1 assignment turned in 5 meetings late, or ...). However, all work must be in by the last day of classes. One more note: There will be no make-up exams, except in very unusual circumstances. If you have to miss an exam, notify me ON THE DAY OF THE EXAM. Call office,885-3997 or send email. Missing an exam for an acceptable reason results in heavier weights to other work and exams. Plagiarism: Will not be tolerated. Homeworks and programs may be discussed but NOT copied. No collaboration or notes/texts/etc. will be allowed on exams. Any instance of plagiarism will result in 0 score. Grading policy: Approximate letter grades will be given to exams, etc. Final grades will be calculated by adding all (weighted) scores and curving the class totals. This usually gives the same result as averaging letter grades (but is not guaranteed to do so). Programs: May be in C, C++, Java. Must use good programming style, be well documented and tested. Learning objectives: At the end of this course, the 4110 student will be able to Define compiler theory and terminology from grammars, interpreters and compilers Describe theory and use techniques from translation and compiling (LL, LR, recursive descent) Understand theories (DFA, etc) and use them to implement lexical analysis Use. analyze & write context free grammars; use to implement the parser phase of a compiler Design and implement a symbol table for a compiler Implement code generation built on the lexical analyzer, symbol table, and parser Understand aims and elementary methods of code optimization. The 6110 student will know all these areas in more depth Assignment: Read Parsons, chapter 1 and 8.1 (or ASU 1 and 7.6). Begin thinking about your symbol table. Submission of code: Hard copies of code, input, and output Final project: submission of both hard copy and electronic copy. Grading for Code (all) 10 – 10 – 10 10 Style. Well formatted (indentation, white space, organization) Good organization (can the reader find the routines he/she wants to read?) Well chosen names for variables “properly” commented: header comments, function comments, block comments, … Use local variables (not global) where appropriate Restrict side effects (functions changing global variables) as much as possible If using OOP, choose classes carefully and logically 10: Correct Does the code seem to be correct – does it meet the specifications? Handle correct cases correctly Adequate output Adequate handling of exceptional, unusual, or erroneous input 10: Testing Did the programmer write and run enough tests to show as completely as possible that the code meets the specifications All correct input demonstrated to produce correct output All error cases that should be handled are tested Resources: Wilson & Oram: Beautiful Code Straker, David: C Style, Standards and Guidelines Connell, Steve: Code Complete Kernighan and Plauger: Elements of C Programming Style Cargill: C++ Programming Style Oualline: C Elements of Style Vermeulen et al, Elements of Java Style Web resources http://www.javaranch.com/style.jsp http://geosoft.no/development/javastyle.html http://www.cs.arizona.edu/~mccann/style_c.html http://www.nyu.edu/classes/nagler/quant2/coding_style.html http://msdn.microsoft.com/en-us/library/aa260844%28v=vs.60%29.aspx 6110: Project and assignments will be based on student background – will include CS 4110 assignments with some additions and/or substitutions.
Docsity logo



Copyright © 2024 Ladybird Srl - Via Leonardo da Vinci 16, 10126, Torino, Italy - VAT 10816460017 - All rights reserved