General Information
My Information
Name: | Jonathan Misurda |
Office: | 6203 Sennott Square |
Phone: | (412) 624-8408 |
Email: | jmisurda@cs.pitt.edu |
Office Hours: | Wed: 3-5 Tue, Thur: 2-4 |
You can find a copy of the syllabus here.
Announcements
Subscribe to feed(11/28/12) — Class and office hours are cancelled today, Wednesday, November 28, 2012 due to illness.
(11/27/12) — Homework 3 is assigned, due on Wednesday, December 5, at the start of class. The problems can be found below.
(11/26/12) — The third project's third and final part is assigned, due Sunday, December 9, 2012, by midnight. The assignment sheet and associated links can be found below.
Your partners are the same as for part b.
(11/17/12) — We will extend the Project 3b deadline until Midnight Sunday, November 25, 2012.
(11/17/12) — Please fix the small typo in my grammar for a
method_decl
. I have accidentally putname
wheretype
should be in the first parameter of the constructor. Change it to:{: RESULT = new MethodDecl(new IdentifierType(type), new Identifier(name), f, v, s, e); :}
The zip is updated as well.
(11/16/12) — The IR has been fixed with the missing destinations for the call, new, and length operators and the error messages have been adjusted as discussed in class.
(11/14/12) — I've updated the parser in the zipfile to return some empty *List()s on epsilon productions. This fixes the problem with it crashing on QuickSort.java. You can edit yours accordingly, or download it to see the changes.
(11/07/12) — The third project's second part is assigned, due Tuesday, November 20, 2012, by midnight. The assignment sheet and associated links can be found below.
If you are working with a partner, both of you should email me by the end of Monday's class stating who your partner will be.
(10/24/12) — The third project's first part is assigned, due Sunday, November 4, 2012, by midnight. The assignment sheet and associated links can be found below.
(10/15/12) — In anticipation of your midterm Wednesday I have put the review topic slides up below. The answers to the second homework are up as well. Finally, in the links section, there are the links to JFlap and the grammar tools to help you study.
(10/09/12) — Homework 2 is assigned, due on Monday, October 15, at the start of class. The problems can be found below.
(10/06/12) — The
sll
instruction for the second project has slightly changed. I was intending thesll
mnemonic to be what Patterson and Hennessey callsllv
but the documentation I had been using calls theirsll
sli
. This also led to confusion on the funct field encoding. We'll go with your textbook from 447 and change the encoding so that thesll
opcode is the one that uses a 5-bit immediate shamt and the assignment sheet has been updated to show this.(09/26/12) — The second project is assigned, due Sunday, October 14, 2012, by midnight. The assignment sheet and associated links can be found below.
(09/24/12) — There's a handout below with the slides stepping through the computation of the First and Follow sets. Sorry for the confusion in class.
(09/24/12) — Homework 1 is assigned, due one week from today at the start of class. The problems and some NFA/DFA symbols can be found below.
(09/17/12) — The submission site is up. Login using your full pitt.edu email address and your peoplesoft number as your password.
(09/11/12) — The MiniJava language description in the Appendix states that nested comments are supported. Since MiniJava is supposed to be a subset of Java, and Java doesn't support nested comments, neither will we.
(09/10/12) — The first project is assigned, due Sunday, September 23, 2012, by midnight. The assignment sheet and associated links can be found below.
(08/27/12) — Welcome to CS 1622 Fall Term (2131)
Slides
Topic | Slides (PDF) |
Introduction | Slides |
Lexing |
Part 1 Slides Part 2 Slides Part 3 Slides |
Parsing |
Part 1 Slides Part 2 Slides Part 3 Slides Handout on computing the first and follow sets Part 4 Slides Part 5 Slides Calculator Example from Lecture |
Midterm Exam — Review Slides
Topic | Slides (PDF) |
Semantic Analysis |
Part 1 Slides Visitor Example from Lecture Part 2 Slides |
Activation Records |
Slides |
Intermediate Representation and Control Flow |
Part 1 Slides IRVisitor Example from Lecture Part 2 Slides |
Code Generation and Register Allocation |
Part 1 Slides Part 2 Slides Part 3 Slides |
Objects | Slides |
Garbage Collection | Slides |
Optimization | Slides |
Final Exam — Review Slides
Projects
- Project 1: Pretty Printing
- Project 2: MIPS Assembler
- Project 3a: MiniJava Front End
- Project 3b: Errors & IR
- Project 3c: Code Generation