CSC 355 Language Processing
Fall 2005
Language Specification Project - working document
Last update:11/29/05 new submission
guidelines
Significant update:
Official language design document - Language
Definition .
Deadlines
Project submission:
- Thursday Dec 8; In-class demo & report submission
- Show progress on project; sample files; some key elements
of spec
- Show the build process for your system
- Approximately 10 minutes
- Written report (Word) summarizing accomplishments; supply
key portions of spec files
- Reminder:
Take home exam on 12/8 due 12/13; in-class final on 12/13 at 8:00 am
Tuesday 11/1: Turn
in: Prototype for Programs, Scanner & Parser
- Completed lex
file
- Program that
reads source text and tokenizes it
- BNF rules for
the language constructs
- Read source program and print some rules to trace
progress
- Sample programs
- Each group should develop 1 interesting sample program
- Interesting --> uses features of the language and/or does
something useful/creative
Thursday 11/3: Validate sample programs
- Determine if the proposed sample programs are valid.
- If a program is approved, it will become a part of our
test suite.
- If a program has issues, we must address them now to be
sure our understanding of the language specification is correct.
Nov 19 - Front-end should be nearly complete
- Scanner
- Parser
- Static Semantics
- variables are declared
- type usage is consistent
- continue to improve error messages
- Should be able to handle some small programs
- begin with a subset of the language features, and then add
- Better to have one complete end-to-end example than only
one phase complete
Sample Programs - supplied by teams
Program Score Sheet
Strict
| |
Program |
|
Group |
1 |
2 |
3 |
4 |
5 |
6 |
7 |
| 1 |
n |
|
n |
n |
|
n |
|
| 2 |
n |
|
n |
n |
|
n |
|
| 3 |
n |
|
n |
n |
|
n |
|
| 4 |
n |
|
n |
y |
|
y |
|
| 5 |
y |
|
y |
n |
|
y |
|
| 6 |
n |
|
n |
y |
|
n |
|
| 7 |
n |
|
n |
n |
|
n |
|
Can be fixed
|
Program |
Corrected |
| 1 |
y |
| 2 |
|
| 3 |
y |
| 4 |
y |
| 5 |
y |
| 6 |
y |
| 7 |
|
Progress report
|
Group |
Comments |
| 1 |
lex complete, working on yacc |
| 2 |
lex complete, designing BNF offline |
| 3 |
working on lex, started BNF |
| 4 |
lex complete, BNF designed offline |
| 5 |
|
| 6 |
lex complete, starting with yacc |
| 7 |
|