How to Build a C Compiler and Look Good Doing it
By John Dulin
The Four Things in A Context Free Grammar:
2) A starting point for the production.
3) Terminals are only on the right side of a production. When you reach one, you are done.
Non terminals appear on the left side of at least one production.
Parse Tree - A start symbol, followed by branches and leaves of terminals and non-terminals, until all leaves are terminals.
4 file extensions used to code a compiler:
.y, .c, .h, .l
Regular expression are coded in the lex.l file inbetween % and %.