Processing Grammars

CS2112 (Design, Use and Implementation of Programming Languages) currently uses Flex and Berkeley Yacc (Byacc) to illustrate language implementation. However, these tools look increasingly old-fashioned, and really need to be supplemented or replaced.

Facilities that could usefully be added, either to improve the tools or to improve students' understanding of them, include:

Most important of all, the tools must be simple, as students taking CS2112 have very little time available to learn and practice their use.

This project will consist of

There is even the possibility of looking at other parsing algorithms, such as LL(n), particularly with a view to animating them to aid student understanding.


COURSE PREREQUISITES: CS2112
EQUIPMENT: Sun, using software available in the department