|
School of Computer Science University of Windsor
03-60-214: Computer Languages, Grammars and Translators (Winter 2012)
Marks are postedInstructor: Dr. Jianguo Lu. email: jlu at u windsorTime and Places
Course OutlineThis course covers both pragmatic and theoretical aspects of grammars, recognizers, and translators for computer languages. The theoretical aspect contains regular language, context free language, finite state machine, different paring techniques including recursive descent parsing, LL(1), SLR, LALR, and LR(1) parsing. The practical aspect contains automatic generation of scanners using a scanner generator JLex, automatic parser generation using parser generator JavaCUP, and language translation techniques. The prerequisites are 03-60-212, 03-60-140, 03-60-104, and 03-60-100. All the assignments will use Java, hence you should have a solid knowledge in Java programming. After this course, you will be able to understand grammars, write grammars, write parsers according to a grammar, and write a translator between different languages. Attendance in lectures and labs is very important to be successful in this course - students who do not attend lectures and labs generally score very low on exams and assignments. You must keep up with the material as the semester progresses.Interaction with the instructorThe most convenient and effective way to communicate with professor is via email (jlu at uwindsor), since you can also attach in your email the error messages while you are debugging your program. I will reply every email within 24 hours. When you send me emails, please start the subject line with 214, for example, “Subject: 214—I can’t figure out the error after many hours, error message attached”. Emails without 214 subject line may be filtered out by my email program and hence may not be answered. Questions regarding the marking of assignments should be directed to the TAs. Another effective way to communicate with me is in the class. You are encouraged to ask questions any time during the class. Course web site (http://cs.uwindsor.ca/~jlu/214) will provide all the information about this course, including lecture slides, schedules, assignment descriptions, lab instructions and sample programs, tools and manuals, and more importantly, your marks for assignments and exams. You are also welcome to my office during my office hours. For very short questions that take less than a few minutes, you are welcome to drop by anytime.Reference bookThere is no assigned textbook for this course. However, it would be helpful to read the first a few chapters of the following classic for compiler construction:Compilers: Principles, Techniques, and Tools (2nd Edition) by Alfred V. Aho, Monica S. Lam, Ravi Sethi, and Jeffrey D. Ullman (Aug 31, 2006) There are two editions, but there are not many differences between them. Hence you can read either one of them. |
|
Instructor: Dr. Jianguo Lu Email: jlu at uwindsor Office: 5111 Lambton Tower Phone: 519.253.3000 ext 3786 |