CSC/CPE 430 Programming Languages I

Summer 2017

Lecture:

Tuesday, 1:40-3:00,
Thursday, 1:40-3:00,

Lab:

Tuesday, 3:10-4:30,
Thursday, 3:10-4:30,

Lab Assignments:

Each lab class starts with an introduction by the instructor giving you a distinct assignment for each class. Because of this format, it is usually difficult for a student to catch up, if he or she has missed one of the lab sessions. If you have to miss a class, let me know early!

The final goal is to develop your own language and your own compiler as described in the following Problem:

The Programming Language BRUSH.

Symboltable:

An implementation of the symbol table is found in the files: symtab.h and symtab.c.

Readings:

PostScript:

A First Guide to PostScript by Peter J. Weingartner.
Thinking in PostScript by Glenn C. Reid.
the ultimate PostScript Language Reference by Adobe,
or a Short Summary of PostScript by me (also available in German: Kurze Zusammenfassung von Postscript).

Regular Expressions:

An Introduction to regular Expressions from the gawk manual in HTML oder PostScript.

Lexical Analyzer Generator flex:

The flex manual in HTML or PostScript.

Parser Generator bison:

The Bison Reference Manual in HTML oder PostScript.

Turtle Graphik und recursive Curves:

Some interesting remarks on Turtle-Graphic and the Dragoncurve by David J. Wright at www.math.okstate.edu.

Some sample programs are: the dragon curve, the Koch snowflake, and variants of it: a quadratic version and a parameterized version. The last example generates treelike structures.

Further Manuals:

Many useful manuals for GNU/UNIX tools (for example make) you find at www.gnu.org/manual.

Last not Least...

The Dragon Book:

Aho,Sethi,Ullman,
Compilers, Principles,Techniques and Tools,
Addison Wesley.