P2P Group Notes - xsawyerx/thelittlecompilerthatcould GitHub Wiki
#Week 0
- We decided to work on a group project, but individually. We will track group progress on GitHub, but each week, we will work individually on our own branch. At weekly meetings, we can work to merge our collective work into a single, shared branch, as appropriate.
- As we're using a shared project, we will implement our compiler in Perl because it is a common language for all of us.
- We decided to follow Jack Crenshaw's book, Let's Build a Compiler, and implement the language he describes in the book.
- Our compiler will output NASM, with a Linux/i386 target. [Sawyer may add multiple target support :)]
- We may ask some guest speakers to address the group. SawyerX had some good suggestions for some subject experts.
- We will meet every Friday, from 2-4pm. Location wasn't discussed, so we'll continue in the canteen near the game area, unless/until further notice.
- Before next week, we will read sections 1-3 of Let's Build a Compiler, and implement our own versions of the exercise.
- If you missed the meeting today, you are still welcome to join us.
##Resource links:
- Let's Build a Compiler by Jack Crenshaw (Also available in PDF)
- Group Git repo
- 68000 Assembly Reference
- NASM documentation
- A NASM tutorial: Writing A Useful Program With NASM
#Week 1
- We discussed our individual progress, and Sami spent some time discussing his approach to parsing, which was inspired by Simple Top-Down Parsing in Python
- We decided to try a sort of two-track approach to the P2P group; We will continue with the homework of writing a compiler, but will also try to get guest speakers (or ourselves) to discuss more in-depth topics related to compilers, which won't necessarily related directly to the topic of the homework.
- Next week we won't meet, due to Hackathon.
- Friday, March 4, we will meet in the City View room (6th floor) at the normal time, 2-4pm. Sami will give a more in-depth presentation about parsing.
- Homework is to finish the exercises through Part 4 of the book, and to read (or at least skim) through the entire book, to get a feel for what's to come, to help with planning the rest of our P2P Group.