CSE 756: Programming Projects
Project 1: simpleC Scanner
Project 2: simpleC Parser
Project 3: simpleC Pretty Printer with ROSE
- Project description
- See Resources for setup details
- Main: main.cpp. Use this for your project; do not change it,
since it will be used for grading.
- Start with pretty.cpp — this code shows examples of a few
AST nodes and their traversal. Read the code carefully and run it on a few examples.
- Read the following notes on AST nodes.
- Consult the web documentation
- Useful information on conversions to string values
- Test programs: modfft1.c and modfft2.c, same as in Project 2.
- [ Results: median 58, max possible 60, distribution of scores ]
Project 4: Intermediate Code for Expressions
- Project description
- Main: main.cpp from Project 3; do not change it, since it will be used for grading.
- Test program: modfft1.c, same as in Project 2 and Project
3.
- [ Results: median 52, max possible 60, distribution of scores ]
Project 5: Intermediate Code for Statements
- Project description
- Main: main.cpp from Project 4; do not change it, since it will be used for grading.
- Test program: modfft1.c, same as in Projects 2, 3, and 4.
- [ Results: median ?, max possible 60, distribution of scores ]
Project 6: Control-Flow Analysis
- Project description
- Main: main.cpp from Project 5; do not change it, since it will be used for grading.
- The AST for the sample input program from the project
description: ast.jpg
- Interesting test program:
cfg_test.c: five loops, three of them at depth
0, one at depth 1, and one at depth 2
- [ Results: median ?, max possible 50, distribution of scores ]
Course Policies
-
There will be several programming projects, which must be submitted
electronically on stdsun by midnight on the due date, using the
submit command.
-
The projects should be done independently from other students in the
class. General discussion of the projects with others in the class is
allowed, but you have to do all the design, programming, and testing
independently. Projects that show excessive similarities will be taken
as evidence of cheating and dealt with accordingly.
-
The projects are due by 11:59 pm on the due day. Absolutely no exceptions will be made to this
deadline: if you submit at 12:00 am, your submission will be
considered to be late. The time stamp on the electronic submission
will be used as the submission time. A reduction of 10% per day will be applied to late
submissions. Submissions more than three days late will not be accepted.