Skip to content

A Decaf compiler written in Python for the course, 40414 Sharif University of Technology, Spring 2022.

Notifications You must be signed in to change notification settings

The-Continuers/CD-Project

Repository files navigation

Compiler project

Introduction

A project with not too much scalability, but more of a hard problem, rather be called a dragon among the CS community. Besides its hard problems, it needs too much global testing for any changes, so that a feature doesn't act like a bug for other parts of the problem.

Features

mostly any feature a language like Cpp has, has been implemented, except the Object-Orientation feature.

Significance

as you may know, there are routine and non-routine parts in a compiler.

Routine

Scanning and Parsing the language, is the routine part. You just have to watch over the language Grammar, and extract the LALR(1) grammar and also the tokens. The code part is implemented under a library.

Non-Routine

The code-generation part, is the non-routine part. We didn't see others' works. We just get inspired by the course, and implemented every part by ourselves. So, it's something new.