Skip to content

snow-flaky/Compiler-Construction

Repository files navigation

Complier-Construction

Language Specification

The language ERPLAG is a strongly typed language with primitive data types as integer and floating point. It also supports two other data types: boolean and arrays. The language supports arithmetic and boolean expressions. The language supports assignment statements, input/output statements, declarative, conditional, iterative and function call statements. The language supports modular implementation of the functionalities. Functions can return multiple values. The function may or may not return a value as well. The scope of the variables is static and the variable is visible only in the block where it is declared. The language is designed for the course CS F363. The language has been evolving to provide a minimal feature set for the project in Compiler Construction course.

Modules

The Project is fully executable and testcases have been added for reference.

The Modules implemented are:

  • Lexer
  • Parser
  • Abstract Syntax Tree
  • Symbol Table
  • TypeChecking and Semantic Analysis

About

Coded ERPLAG from scratch with C-like capabilities.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages