{"id":18282139,"url":"https://github.com/vikashpr/18csc304j-cd","last_synced_at":"2025-07-22T10:07:36.811Z","repository":{"id":112434298,"uuid":"596170468","full_name":"VikashPR/18CSC304J-CD","owner":"VikashPR","description":"SRMIST Kattankulathur Compiler Design-18CSC304J lab exercises Implemented in C/C++","archived":false,"fork":false,"pushed_at":"2024-01-06T16:53:59.000Z","size":89,"stargazers_count":8,"open_issues_count":0,"forks_count":9,"subscribers_count":2,"default_branch":"main","last_synced_at":"2025-04-05T06:31:57.169Z","etag":null,"topics":["18csc304j","18csc304j-cd","compiler-design","compiler-design-lab","cpp","srm-compiler-design-18csc304j","srmist-cd","srmist-cd-lab","vikashpr"],"latest_commit_sha":null,"homepage":"","language":"C++","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/VikashPR.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null}},"created_at":"2023-02-01T16:05:37.000Z","updated_at":"2025-02-12T15:19:59.000Z","dependencies_parsed_at":"2023-05-15T02:45:24.573Z","dependency_job_id":null,"html_url":"https://github.com/VikashPR/18CSC304J-CD","commit_stats":null,"previous_names":["vikashpr/18csc304j-cd"],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/VikashPR/18CSC304J-CD","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/VikashPR%2F18CSC304J-CD","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/VikashPR%2F18CSC304J-CD/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/VikashPR%2F18CSC304J-CD/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/VikashPR%2F18CSC304J-CD/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/VikashPR","download_url":"https://codeload.github.com/VikashPR/18CSC304J-CD/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/VikashPR%2F18CSC304J-CD/sbom","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":266473100,"owners_count":23934477,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","status":"online","status_checked_at":"2025-07-22T02:00:09.085Z","response_time":66,"last_error":null,"robots_txt_status":null,"robots_txt_updated_at":null,"robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["18csc304j","18csc304j-cd","compiler-design","compiler-design-lab","cpp","srm-compiler-design-18csc304j","srmist-cd","srmist-cd-lab","vikashpr"],"created_at":"2024-11-05T13:04:25.070Z","updated_at":"2025-07-22T10:07:36.785Z","avatar_url":"https://github.com/VikashPR.png","language":"C++","readme":"# 18CSC304J-COMPILER-DESIGN-LAB\n[![Hits](https://hits.sh/github.com/VikashPR/18CSC304J-CD.svg?extraCount=2700)](https://hits.sh/github.com/VikashPR/18CSC304J-CD/)\n\n![C](https://img.shields.io/badge/C-00599C?style=for-the-badge\u0026logo=c\u0026logoColor=white)\n![C++](https://img.shields.io/badge/C++-00599C?style=for-the-badge\u0026logo=c%2B%2B\u0026logoColor=white)\n\n| S.No | Experiment Name | Link | \n| --- | --- | --- |\n| 1 | Write a program to implement the Lexical Analyzer | [View➚](  https://github.com/VikashPR/CD/blob/main/LexicalAnalyzer.cpp  ) |\n| 2 | Write a program to construct a Non Deterministic Finite Automata (NFA) from Regular Expression | [View➚](  https://github.com/VikashPR/CD/blob/main/NFA-from-RE.c  ) |\n| 3 | Write the program to implement the conversion from NFA to DFA | [View➚](  https://github.com/VikashPR/CD/blob/main/NFA-to-DFA.cpp  ) |\n| 4.1 | Implement elimination of ambiguity using Left Recursion and Left Factoring (LeftFactoring) | [View➚](  https://github.com/VikashPR/CD/blob/main/LeftFactoring.cpp  ) |\n| 4.2 | Implement elimination of ambiguity using Left Recursion and Left Factoring (LeftRecursion) | [View➚](  https://github.com/VikashPR/CD/blob/main/LeftRecursion.cpp  ) |\n| 5 | Compute the FIRST() and FOLLOW() | [View➚](  https://github.com/VikashPR/CD/blob/main/First-Follow.c  ) |\n| 6 | Implement Predictive Parsing Table | [View➚](  https://github.com/VikashPR/CD/blob/main/PredictiveParsing.c  ) | \n| 7 | Implement Shift Reduce Parsing | [View➚](  https://github.com/VikashPR/CD/blob/main/ShiftReduceParser.cpp  ) |\n| 8 | Implement LEADING AND TRAILING for the given grammar | [View➚](  https://github.com/VikashPR/CD/blob/main/Lead-Trail.cpp  ) |\n| 9 | Implement LR(0) items for the given grammar | [View➚](  https://github.com/VikashPR/CD/blob/main/LR0.cpp  ) |\n| 10.1 | Implement Intermediate code generation – Postfix, Prefix (Infix to Postfix) | [View➚](  https://github.com/VikashPR/CD/blob/main/Infix-to-Postfix.c  ) |\n| 10.2 | Implement Intermediate code generation – Postfix, Prefix (Postfix to Prefix) | [View➚](  https://github.com/VikashPR/CD/blob/main/Postfix-to-Prefix.c  ) |\n| 11 | Implement the front end of a compiler that generates the three address code ( Quadruple, Triple, Indirect triple) Lab | [View➚](  https://github.com/VikashPR/CD/blob/main/FrontEnd.c  ) |\n| 12 | Design and develop a simple code generator (back end of the compiler) | [View➚](  https://github.com/VikashPR/CD/blob/main/BackEnd.c  ) |\n| 13 | Implement the construction of DAG | [View➚](  https://github.com/VikashPR/CD/blob/main/DAG.cpp  ) |\n\n## More contributions by the same author 🚀\n| Subject Code | Subject Name| Repo Link |\n| -- | -- | -- |\n| 18CSC305J-AI | Artificial Intelligence | [View➚](https://github.com/VikashPR/18CSC305J-AI) | \n| 18CSC303J-DBMS | Database management system | [View➚](https://github.com/VikashPR/18CSC303J-DBMS) | \n| 18CSE316J-DEVOPS | Essentials in Cloud and Devops | [View➚](https://github.com/VikashPR/18CSE316J-DEVOPS) | \n\n## Credit for being partners in crime \n\n\u003cp align=\"left\"\u003e\n  \u003ca  href=\"https://openai.com/blog/chatgpt\" target=\"_blank\"\u003e\n  \u003cimg width=\"50\" src=\"https://raw.githubusercontent.com/lencx/ChatGPT/main/public/logo.png\" alt=\"ChatGPT\"\u003e\n  \u003c/a\u003e\n  \u003ca href=\"https://github.com/features/copilot\" target=\"_blank\"\u003e\n  \u003cimg width=\"50\" src=\"https://github.gallerycdn.vsassets.io/extensions/github/copilot/1.77.9225/1677787102885/Microsoft.VisualStudio.Services.Icons.Default\" alt=\"Github Co-Pilot\"\u003e\n  \u003c/a\u003e\n\u003c/p\u003e\n\n## Contribution Guidelines\n\n**Types of Contributions:**\n- 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.\n- Issues: Report bugs or suggest new features. Provide detailed information.\n\n**Contribution Process:**\n1. Fork the repository.\n2. Clone the forked repository to your local machine.\n3. Create a new branch for your changes.\n4. Make changes and commit them to your branch.\n5. Push your branch to your forked repository.\n6. Submit a pull request to the main repository.\n","funding_links":[],"categories":[],"sub_categories":[],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fvikashpr%2F18csc304j-cd","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fvikashpr%2F18csc304j-cd","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fvikashpr%2F18csc304j-cd/lists"}