## Other Project Resources

A list of other resources that you might find helpful:

• C++ and UNIX:
• Thomas Anderson's Quick Introduction to C++ may be useful if you know C but are not familiar with all of the C++ subset we use in the programming projects.
• A more thorough guide to using the version of Gnu C++ installed on our Linux machines is here.
• Quick guide to UNIX development tools (one of the many useful documents available in Nick Parlante's ever-growing CS library)

• Help with the gdb debugger:

• References on lex & yacc:
Lex is the original lexical scanner developed by Lesk and Schmidt; Paxson's improved version is flex. Similarly, yacc is Johnson and Sethi's original parser; bison is the GNU-equivalent written by Corbett and Stallman. Both are designed to be upward-compatible with the original while adding extensions and improvements.
• Original documentation by the authors of the tools themselves. These papers are quite readable and serve as an excellent introduction for familiarizing yourself with the tools.
• Man pages are available from command line, e.g., man lex. We've also put up browsable versions of the Solaris man pages for lex, flex, yacc, and bison.
• GNU's online documentation (full manuals, long, but very complete)
• The lex & yacc page from Combo.org.
• An article from the Linux Journal singing the praises of lex & yacc.

• References on JLex and Java_cup:

• References on MIPS & SPIM:
• A PDF version of the SPIM Manual (appendix from Hennessy & Patterson's architecture book)