🛠️ Projects

Projects

I have worked on various technical projects some of which I have listed below -

CC-LOAD Clustering Algorithm

ccload

Implemented the CC-LOAD Clustering Algorithm in C++ which solves the problem of allocating processes on a multiprocessor enviornment via load balancing of computation and communication load of processes suboptimally in polynomial time compared to the exponential time optimal solution.

Link ➚ (opens in a new tab)


ERPLAG Compiler

erplag

Createad a compiler for a strongly typed language called ERPLAG in C which consists of the following modules -

  • Lexer - breaks the source code in ERPLAG as a stream of charaters and converts sequence of characters to meaningful tokens.

  • Parser - it takes in the sequence of tokens and verifies the syntactical correctness of source code by constructing parse tree and also has error recovery mechanism to parse the complete sequence of tokens even if a syntactical error exists.

  • AST Construction - it takes in the parse tree and deletes all the irrelevant tokens and converts it to AST which type checking and semantic analysis to be more efficient

  • Symbol Table and Scoping - constructs the symbol-table for the corresponding AST. The symbol table has a tree structure that depicts the scoping of the blocks of code. Each node of the tree has a linked list of its locally defined variables. It also reports the errors related to redundant declaration, no declaration of variables and modules.

  • Type Checker and Semantic Analyser - performs semantic checks on the AST for verifiying semantic correctness of the source code and also determines the correctness of the arithmetic and boolean expressions

  • Intermediate Code Generation - generates the intermediate 3 address codes, which enable easy mapping of variables and temporaries to registers in the codegen phase.

  • Code Generation - Generates the NASM-assembly code of the source code.

Link ➚ (opens in a new tab)


Studydeck Webapp

studydeck

Createad a webapp in React.js and Redux which acts a timetable management system for students of BITS and helps in crowd sourcing academic resources

  • Time table creator - helps in creating clash free (class timing clash / exam timing clash) multiple timetables before the registration process.

  • Studyzone - helps in crowd sourcing of academic resources and acts as a one stop solution for all previous year questions papers , lecture materials , handouts etc.

Link ➚ (opens in a new tab)


‼️

Work in progress more projects will be added soon

© 2024 | All rights reserved.