Skip to content

SRMIST Kattankulathur Compiler Design-18CSC304J lab exercises Implemented in C/C++

License

Notifications You must be signed in to change notification settings

VikashPR/18CSC304J-CD

Repository files navigation

18CSC304J-COMPILER-DESIGN-LAB

Hits

C C++

S.No Experiment Name Link
1 Write a program to implement the Lexical Analyzer View➚
2 Write a program to construct a Non Deterministic Finite Automata (NFA) from Regular Expression View➚
3 Write the program to implement the conversion from NFA to DFA View➚
4.1 Implement elimination of ambiguity using Left Recursion and Left Factoring (LeftFactoring) View➚
4.2 Implement elimination of ambiguity using Left Recursion and Left Factoring (LeftRecursion) View➚
5 Compute the FIRST() and FOLLOW() View➚
6 Implement Predictive Parsing Table View➚
7 Implement Shift Reduce Parsing View➚
8 Implement LEADING AND TRAILING for the given grammar View➚
9 Implement LR(0) items for the given grammar View➚
10.1 Implement Intermediate code generation – Postfix, Prefix (Infix to Postfix) View➚
10.2 Implement Intermediate code generation – Postfix, Prefix (Postfix to Prefix) View➚
11 Implement the front end of a compiler that generates the three address code ( Quadruple, Triple, Indirect triple) Lab View➚
12 Design and develop a simple code generator (back end of the compiler) View➚
13 Implement the construction of DAG View➚

More contributions by the same author 🚀

Subject Code Subject Name Repo Link
18CSC305J-AI Artificial Intelligence View➚
18CSC303J-DBMS Database management system View➚
18CSE316J-DEVOPS Essentials in Cloud and Devops View➚

Credit for being partners in crime

ChatGPT Github Co-Pilot

Contribution Guidelines

Types of Contributions:

  • Pull Requests: Propose new features or changes to existing code. Make sure your code follows our conventions and does not break existing functionality. Test your code thoroughly and add the programming language used and the version.
  • Issues: Report bugs or suggest new features. Provide detailed information.

Contribution Process:

  1. Fork the repository.
  2. Clone the forked repository to your local machine.
  3. Create a new branch for your changes.
  4. Make changes and commit them to your branch.
  5. Push your branch to your forked repository.
  6. Submit a pull request to the main repository.