Software

This page contains information about the software you will be using for the projects in this course.


COOL compiler and SPIM/XSPIM MIPS simulator

The COOL reference compiler ( coolc ) is installed as ~cs164/bin/coolc. The SPIM/XSPIM MIPS simulator is installed as ~cs164/bin/spim and ~cs164/bin/xspim. The instructions on running the compiler and the simulator can be found in The Cool Reference Manual. The manual for SPIM/XSPIM is also available on-line (PostScript, PDF). See below if you want to do the project at home.

GNU Make

GNU Make is a tool that we use to direct all aspects of project compilation. It is installed as /usr/sww/bin/gmake (/usr/local/bin/gmake on some machines). We provide you with working Makefiles; however, if you wish to understand and/or modify them, you may find the GNU Make Manual helpful.

Flex scanner generator

Flex is the scanner generator that you will use for the second programming assignment (if you are doing the project in C++). It is installed on instructional systems as /usr/sww/bin/flex . The Flex manual is here . If you are doing the project at home and do not have flex installed on your system (unlikely), you can get it at any GNU site (e.g. here).

Bison parser generator

Bison is the parser generator that you will use for the third programming assignment (if you are doing the project in C++). It is installed on instructional systems as /usr/sww/bin/bison. The Bison manual is here . If you are doing the project at home and do not have bison installed on your system (unlikely), you can get it at any GNU site (e.g. here).

Sun's Java Development Kit 1.4.2

If you wish to do the projects in Java, you will need to use Sun's Java Development Kit. The appropriate JDK is installed only on the Solaris x86 machines under /usr/sww/pkg/jdk1.2.2 . We provide scripts that run the javac compiler and the java interpreter under ~cs164/bin . Sun's Javasoft site is a good all-around Java site, containing the JDK documentation , the Java API reference . If you are doing the project at home and do not have the JDK installed on your system, you can get it from here.

JLex scanner generator

JLex is the Java analog of flex, the scanner generator. It is installed as ~cs164/bin/jlex. The JLex manual is available here.

CUP parser generator

CUP is the Java analog of bison, the parser generator. It is installed as ~cs164/bin/java_cup. The CUP manual is available here.

Supported architectures

The computers supported for the course project are the Solaris x86 and Solaris Sparc. The information about the equipment (including printers and such) for instructional use is available on the EECS Instructional Labs pages . (This is how you find out which which computers are which, as well as the names of the "big" machines you can log into remotely). We recommend that your UNIX path contain at least the following: /home/ff/cs164/bin:/bin:/usr/bin/:/usr/local/bin:/usr/sww/bin:/usr/sww/X11/bin:/usr/sww/share/bin:.

Doing projects at home

If you wish, you can do the projects on your home computer. For more information, see the Distributions page.