lex and yacc on gl.umbc.edu and windows

lex and yacc have been around for many years and are standard utilities on virtually all Unix systems. The GNU Project supports open sourced, backwards compatible versions, named flex and bison.

For your homework I recommend you use lex and yacc on a linux machine, such as linx.gl.umbc.edu. If you use another Unix system (e.g., Mac OS X, Irix, solaris) you may have to tweak some of the files (e.g., the Makefile). Note that in the umbc linux environment, lex is actually the gnu version (flex) but there seem to be seperate version fo lex and the gnu version, bison:

linux2[31] % which lex flex yacc bison
/usr/bin/lex
/usr/bin/flex
/usr/bin/yacc
/usr/bin/bison
linux2[32] % cd /usr/bin
linux2[33] % ls -l lex flex yacc bison
-rwxr-xr-x    1 root     root        68284 Jun 24  2001 bison
-rwxr-xr-x    1 root     root       147900 Jun 24  2001 flex
lrwxrwxrwx    1 root     root            4 Jan 26  2002 lex -> flex
-rwxr-xr-x    1 root     root        61076 Jun 24  2001 yacc
As usual, you can get basic information on lex, flex, yacc and bison from the Unix man pages.

If you want to run this on your own computer running windows, you will have to download and install versions. GNU has versions of both flex (http://gnuwin32.sourceforge.net/packages/flex.htm) and bison (http://gnuwin32.sourceforge.net/packages/bison.htm) for windows.