0% found this document useful (0 votes)
28 views1 page

Course Project

Uploaded by

jamal77alqadi
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
28 views1 page

Course Project

Uploaded by

jamal77alqadi
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 1

Kingdom of Saudi Arabia

Ministry of Education
Umm Al-Qura University
College of Engineering & Computing at Al-Qunfudah
Computing Department
Computer Science Program

Course Project for Compiler Construction (CS2341)


Project summary:
The project is done in groups of 2 to 4 students (recommended). You can use any programming language you
choose to implement a front-end compiler that should include lexical analysis, parsing, building abstract syntax,
type-checking, and a few static checks.
To implement a compiler front end:
1. Define suitable data types/classes for representing abstract syntax.
2. Implement a laxer and parser that build abstract syntax from strings.
3. Implement a type checker that checks that programs are type correct.
4. Implement a main program that is called laxer, parser and type checker, and reports errors.
:Submission deadline
Sunday 06 June 2025 | 10/12/1445AH | 06:00:00am
:What to submit
1. A PDF report for your project between 5 and 10 pages without the source code which should be full of screenshots
for testing all parts of your code. Introduction, and Reference are also required.
2. The source code of your entire project with the screenshots in a “.zip” file.
3. Include on the front page a table contains the students’ names in the group and their contribution to the project.
Software tools You can use:
Many software tools are available, for front ends. We give just a few links.
 For C programmers: Flex and Bison.
 For Java programmers: JLex https://www.jflex.de/and CUP http://www2.cs.tum.edu/projects/cup/.
 Common interface to all the above: BNF Converter http://bnfc.digitalgrammars.com/.

References:
For your reference, you can look at Appendix A from the Course Book ”compilers, principles ,techniques tools”, pages 965 to 987 “ A
Complete Front End”
Collaboration and academic honesty:
As mentioned before, you work in groups of two to four on this project. You must develop your own code, and you are not
allowed to share your code with other Groups or to get, or even look at, code developed by them. On the other hand, we
encourage discussions among participants on the course about the project. If you follow the simple and absolute rule not to
share code, we have no objections to questions asked and answered at a conceptual level.

Course Project for Compiler Construction (CS2341)

You might also like