CSCI 310 Language Design Project

 

 

Date Due:  4 May 2015

 

For this project you will design a small, application specific language to solve a problem of your own choosing.  Your design should take into consideration the concepts we have been discussing all semester.  You should provide the rationale behind each design decision in your writeup, and should specify the syntax and semantics of your language in your final report (the semantics can be specified very informally using English descriptions, but the syntax specification should be a bit more formal).  You should get your problem domain approved by the instructor before the first semester break.

 

The writeup you turn in at the end of the project should describe the problem you chose and explain why that problem would be a good candidate for a small, application-specific language.  You should then describe the language you designed, specifying the syntax and semantics of it, and showing some sample programs that use your language to solve parts of the problem you chose.

 

This should be a fun project, but it will take a lot of time to do well, so don’t put it off until the last minute!

 

Here are some possibly interesting links that might be useful:

 

BNF

 

Railroad diagrams

http://cui.unige.ch/isi/bnf/Ada95/BNFindex.html

 

Standard C

 

Pascal

http://www.pascal-central.com/pascal-syntax.html

 

And here are some possibly interesting previous projects from former students (note they aren’t necessarily perfect!):

 

sample 1  sample 2  sample 3  sample 4  sample 5  sample 6  sample 7