Programming Project 4 due Tonight
August 10, 2011
The final programming project is due tonight at 11:59PM. I will be holding extra office hours today from 1 – 4 instead of the usual 1 – 3, and Hrysoula will be holding office hours from 4 – 6. As always, feel free to email us or ask questions on Piazza.
Congratulations on completing the final project of the quarter! How does it feel to have a working compiler?
More on Dataflow Analysis
August 3, 2011
For those of you interested in learning more about data flow analysis and the history of the technique, you can read Kildall’s original paper describing this framework here.
Programming Assignment 3 Due, Programming Assignment 4 Out
July 27, 2011
Programming Assignment 4 (TAC generation) went out today. The assignment is the final piece of your compiler, and by the time you’re finished you’ll have written a complete compiler in just 8 weeks! It’s due Wednesday, August 10 at 11:59PM . You may use up to four late days on this assignment.
Programming Assignment 3 is due tonight at 11:59PM.
Practice Midterm Available
July 16, 2011
A practice midterm has been posted to the handouts section of the course webpage. This is a (slightly longer) version of a midterm given a few years back. The questions on the actual midterm don’t necessarily correspond directly to the topics covered in the practice midterm, but they will be on similar material and I strongly suggest taking the time to work through these problems.
As mentioned in class, there will be a midterm review session next Monday in class.
Programming Assignment 2 Due, Programming Assignment 3 Out
July 13, 2011
Programming Assignment 3 (semantic analysis) went out today. This assignment has two parts to it, a scoping component and a typing component, each with a separate deadline. Scoping is due Saturday, July 23 at 11:59PM, and the entire assignment is due on Wednesday, July 27 at 11:59PM. The scoping deadline is a hard deadline and no late days may be used, whereas the overall assignment is subject to the standard late day rules.
This assignment is substantially larger than both of the previous assignments combined, so be sure to start early. As always, if you have questions, please ask on Piazza, drop by office hours, or email the course staff list.
Programming Assignment 2 is due tonight at 11:59PM.
Good luck, and happy semantic analyzing!
Problem Set 2 Out, Due Monday, July 18
July 8, 2011
Problem Set 2 is out and is due Monday, July 18 at 5:00PM. This written assignment will give you a chance to explore the parsing techniques we’ve covered in the last few weeks in more detail, and hopefully will make you feel much more comfortable with LL and LR parsing.
Programming Assignment 1 Due, Programming Assignment 2 Out
July 1, 2011
Programming Assignment 2 is out and is due Wednesday, July 13 at 11:59PM. It should be a great way to learn how to use the bison tool and will give you a feel for harnessing the parsing techniques from class in the real world. I hope you have a lot of fun with this one – after all, once you’ve completed it, you’ll know how to parse all sorts of languages!
Programming Assignment 1 is due tonight at 11:59PM. If you have any questions, be sure to let us know.
June 30, 2011
I’ve posted submission instructions for the first programming assignment. You can submit either using the Paperless submission site, or through the command-line using our provided tool. Please let us know if you have any trouble submitting, and best of luck on the assignment!
Office Hours and Piazzza
June 24, 2011
We have set up our office hours for the quarter. There are six two-hour slots each week:
- Keith (Gates 160): Monday/Wednesday, 1:00PM – 3:00PM
- Hrysoula (Gates 24A): Thursday 7:00PM – 9:00PM, Friday 1:00PM – 3:00PM
- Riddhi (Gates 24A): Tuesday 7:00PM – 9:00PM, Sunday 12:00PM – 2:00PM
Additionally, we’ve set up CS143 on Piazzza , so feel free to ask questions there as well.
Problem Set 1 Out, Due July 6
June 23, 2011
Problem Set 1 is out and is due at 5:00PM on July 6 . This will give you a chance to play around with the automata constructions we talked about in class, and with the limitations of the scanning algorithm we’ll be using.
Good luck, and have fun!
Logging in Remotely
June 23, 2011
Several of you have asked how to log in to the Stanford machines remotely. To do so, you will need an SSH client. On Linux or Mac computers, you can do this from the command-line with ssh . On Windows, you will need to download a SSH client such as PuTTY or SecureCRT (available with your SUNetID here ). From there, you will want to connect to either myth.stanford.edu or corn.stanford.edu . You will probably get a warning about a RSA key not matching, which is perfectly fine; these above hostnames will forward you to a free machine on the cluster. From there, you should be good to go!
If you’re having trouble logging in, or if you have any other questions, as always feel free to contact us.
Hope this helps!
Programming Assignment 1 Out
June 22, 2011
Assignment 1: Lexical Analysis is out and is due Friday, July 1 at 11:59 PM . This will be a great way to show off your scanning skills and is the first step toward getting a full Decaf compiler up and running.
You will probably want to read over the first section of the Decaf specification before starting this assignment. You’ll also certainly want to read our introduction to flex to learn more about the tool you’ll be using. As always, feel free to email us if you have any questions!
Office Hours Preferences
June 20, 2011
Our excellent TA Riddhi put together a Doodle form where you can submit times that do not work for you for office hours. Feel free to fill out this form over the next few days so that we can try to find good times for office hours. We’re hoping to ensure that there are always office hours you can attend, so if you have some hard conflicts please let us know via the form.
The Doodle can be found here
Welcome to CS143!
June 17, 2011
Welcome to CS143, Stanford’s course in the practical and theoretical aspects of compiler construction. We have an exciting quarter ahead of us loaded with that wonderful combination of concepts and coding that makes compilers so cool. Class meets Monday/Wednesday/Friday in Gates B01 from 11:00AM – 12:15PM, and I hope that you’re able to join.
In the meantime, feel free to check out the course information handout to learn more about what this class is all about, the prerequisites, and the course policies. If you have any questions in the meantime, feel free to email me at firstname.lastname@example.org .
04:Top-Down Parsing II, Bottom-Up Parsing
05:Bottom-Up Parsing II