You are on page 1of 3

PROJECT WRITE UP

(Compiler in C#)

Introduction:
Compiler is a software which converts a program written in high level language (Source
Language) to low level language (Object/Target/Machine Language).

We know a computer is a logical assembly of Software and Hardware. The hardware knows a
language, that is hard for us to grasp, consequently we tend to write programs in high-level
language, that is much less complicated for us to comprehend and maintain in thoughts. Now
these programs go through a series of transformation so that they can readily be used
machines. This is where language procedure systems come handy.
Phases of a Compiler:
There are two major phases of compilation, which in turn have many parts. Each of them take
input from the output of the previous level and work in a coordinated way.

Functions of each stage:


Lexical Analyzer: Lexical analyzer divides the program into “tokens”.
Syntax Analyzer: Syntax analyzer recognizes “sentences” in the program using syntax of
language.
Semantic Analyzer: Semantic analyzer checks static semantics of each construct.
Intermediate Code Generator: Intermediate Code Generator generates “abstract” code.
Code Optimizer: Code Optimizer optimizes the abstract code.
Target Code Generation: Code Generator translates abstract intermediate code into specific
machine instructions.

Objective:
To build a compiler using C# and .NET core for a sample language which will take input a
piece of code in this new language and provide output. The code will be manually checked
against some test programs to validate the performance of the compiler.
Methodology:
An extensive piece of code will be written in C# with .NET core for implementing all the
stages of the compiler. Additionally, we’ll try to load the program through the VS Code and
write additional code for highlighting real time code checking in the new language for which
the compiler is being written.

-Submitted By:
Vardaan Bajaj (16103116)
Harsimran Singh (16103117)

You might also like