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