CSCI 310
Language Design Project
Date Due: 27 April 2009
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
http://cui.unige.ch/db-research/Enseignement/analyseinfo/AboutBNF.html
Railroad diagrams
http://cui.unige.ch/db-research/Enseignement/analyseinfo/BNFweb.html
http://cui.unige.ch/isi/bnf/Ada95/BNFindex.html
Standard C
Pascal
http://pascal.comsci.us/syntax/
http://www.pascal-central.com/pascal-syntax.html