Time Sheet
ASCII Tables
uPascal EBNF
First Languages
header.txt
tokens
flex driver
flex tokens
uPascal cfg
LL(1) tool
Empty LL(1) Table
ll table
mMachine
mM language
final 2002
final 2003
microMachine

Resources


Most of the class resources can be reached by following the links listed along the left margin of this page.  Those that must be retrieved by ftp are listed below.

Programming Language Links

How many programming languages are there?  What are their names?  Check these links.

http://cui.unige.ch/langlist
http://www.levenez.com/lang/
http://people.ku.edu/~nkinners/LangList/Extras/langlist.htm

CVS from home

This from Luke:

It is possible to use cvs via ssh from home or similar.

YOU NEED TO BACKUP YOUR MASTER CVS BEFORE DOING THIS AS YOU WILL PROBABLE DO IT WRONG THE FIRST TIME.

LISTEN TO THIS ADVICE!

I WILL NOT RESTORE YOUR CVS FILES IF YOU WIPE THEM.

Create a working cvs on esus that is accessible from esus.

Assume cvs works from local acces first.

Then define your ssh transport, like such.

export CVS_RSH=ssh

Then from your remote machine do this:

cvs -z3 -d:ext:username@cs.montana.edu:/home/cs450/GROUPNUMBER/CVS checkout modulename

These directions are for cs450, and you need to replace the directory with your actual directory.

You should refer to the directory that contains the CVS directory.

In most cases your modulename is working, the module directory on the local machine, should have the following files on it:

Under that is your modulename which most people call working, it could also be /.

You need to know this.

From windows you can use the following cvs program to checkout files:

http://www.tortoisecvs.org/ <http://www.tortoisecvs.org/>

You can read these directions on the faq.

http://www.cs.montana.edu/faq/faqw.py?query=cvs <http://www.cs.montana.edu/faq/faqw.py?query=cvs&querytype=simple&casefold=y es&req=search> &querytype=simple&casefold=yes&req=search

 

Compendium of Programming Languages Link

http://www.levenez.com/lang/

Check out the above link.  Especially notice the chart (click on the chart) and The Language List link on this page.  How many programming languages have existed?

Textbooks on Reserve

  • Crafting a Compiler by Fischer and LeBlanc
  • Compilers by Aho, Sethi, and Ullman
  • Compiler Construction by Louden
  • Design of Compilers by Lemone
  • Another one by an author whose name I have forgotten

Time Sheet

A time sheet has also been provided for you to use in keeping track of your time and effort on the project.  The time sheet is in Microsoft Excel format.  You should be able to use this on many of the PCs on campus.

Pascal Links

CVS Links

Pascal Compiler

The Pascal compiler for use on esus is invoked with the "fpc" command.  Remember that this is for real Pascal programs, not for microPascal.  However, for answering questions about, say, how the div and mod operators work, you can run some test programs through this compiler.  For example, I typed in the following program as an ascii file which I named pascal1.pas (notice the .pas extension. (Notice that the first line is different that the first line of microPascal programs; just copy this line verbatim into programs you test with the compiler).

program tester(input, output);

begin {tester}
  writeln('1 div 3 = ', 1 div 3);
  writeln('2 div 3 = ', 2 div 3);
  writeln('3 div 3 = ', 3 div 3);
 end.

Then I compiled this program by typing

fpc pascal1

This produced the executable file named

pascal

I then ran this program by typing its name at the prompt.  The output was

1 div 3 = 0
2 div 3 = 0
3 div 3 = 1

which lets one know that div only retains the integer quotient of the division of two integers (i.e., it does not round).