Skip to content

Repository files navigation

XSM simulator for eXpl

This repository contains the implementation of a compiler for the ExpL language, following the roadmap outlined on the SILC NITC ExpL Documentation website.

Project Overview

The ExpL compiler is developed in stages, each building upon the previous one to create a fully functional compiler for the ExpL language. This project assumes background knowledge in C programming, Data Structures, and Principles of Computer Organization.

ExpL Grammar Visualization

Below is a rough Abstract Syntax Tree (AST) representation of the ExpL language grammar:

AST

Roadmap

The compiler development is divided into the following stages:

  1. Installation: Setting up the necessary environment and tools.

  2. Code Generation for Arithmetic Expressions: Implementing basic arithmetic operations.

  3. Introduction to Static Storage Allocation: Managing memory for static variables.

  4. Adding Flow Control Statements: Implementing conditional statements and loops.

  5. User Defined Variables and Arrays: Supporting custom variables and array data structures.

  6. Adding Functions: Implementing function calls and definitions.

  7. User Defined Types and Dynamic Memory Allocation: Supporting custom data types and dynamic memory management.

  8. Adding Objects – Data Encapsulation: Implementing object-oriented programming concepts.

  9. Inheritance and Sub-type Polymorphism: Adding support for inheritance and polymorphism.

Acknowledgments

This project is based on the curriculum and roadmap provided by Compiler Lab NITC. I thank them for their comprehensive documentation and guidance.

About

No description, website, or topics provided.

Resources

Stars

0 stars

Watchers

1 watching

Forks

Releases

Packages

Contributors

Languages