{"id":23554302,"url":"https://github.com/akarshjha03/compiler-design","last_synced_at":"2025-05-15T19:14:15.578Z","repository":{"id":269731942,"uuid":"908152150","full_name":"Akarshjha03/Compiler-Design","owner":"Akarshjha03","description":"This repository is dedicated to understanding and implementing the core concepts of compiler design. It covers various stages of a compiler, including lexical analysis, syntax analysis, semantic analysis, intermediate code generation, optimization, and code generation.","archived":false,"fork":false,"pushed_at":"2025-01-17T17:47:56.000Z","size":108,"stargazers_count":1,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-05-15T19:13:33.802Z","etag":null,"topics":["clanguage","compiler","compiler-design","flex","lalr-parser","lex","lexical-analyzer","parser"],"latest_commit_sha":null,"homepage":"https://www.geeksforgeeks.org/introduction-of-compiler-design/","language":"C","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/Akarshjha03.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null}},"created_at":"2024-12-25T09:26:11.000Z","updated_at":"2025-01-17T17:47:57.000Z","dependencies_parsed_at":"2024-12-25T18:20:19.962Z","dependency_job_id":"a349ad82-5977-4aa1-9237-fb1cb5d5943f","html_url":"https://github.com/Akarshjha03/Compiler-Design","commit_stats":null,"previous_names":["akarshjha03/compiler-design"],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Akarshjha03%2FCompiler-Design","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Akarshjha03%2FCompiler-Design/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Akarshjha03%2FCompiler-Design/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Akarshjha03%2FCompiler-Design/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/Akarshjha03","download_url":"https://codeload.github.com/Akarshjha03/Compiler-Design/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":254404334,"owners_count":22065641,"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","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":["clanguage","compiler","compiler-design","flex","lalr-parser","lex","lexical-analyzer","parser"],"created_at":"2024-12-26T12:13:53.068Z","updated_at":"2025-05-15T19:14:15.552Z","avatar_url":"https://github.com/Akarshjha03.png","language":"C","funding_links":[],"categories":[],"sub_categories":[],"readme":"# ⚙️ Compiler Design Repository\n\nWelcome to the Compiler Design Repository! This repository is a collection of programs and resources aimed at helping you understand and implement various aspects of compiler design. Each section focuses on a specific concept or parsing technique, complete with examples and code.\n\n---\n\n## Table of Contents\n\n1. ✨ Lexical Analyzer\n2. 🔢 Count Digits, Vowels, and Symbols\n3. 🔒 Username and Password Validation\n4. 📘 Predictive Parsing LL(1)\n5. 📚 Recursive Descent Parsing\n6. ➗ Operator Precedence Parsing\n7. 📈 LALR Parsing\n8. 🔍 Study of LEX and FLEX\n9. 📊 LEX Programs - Count Features\n10. ⚙️ LEX Programs - Various Tasks\n\n---\n\n## 1. ✨ Lexical Analyzer\n- **Description:**\n  A program to implement lexical analysis, which identifies tokens in source code such as keywords, identifiers, operators, and symbols.\n- **Features:**\n  - Token classification.\n  - Error detection for invalid tokens.\n- **Usage:**\n  - Input: Source code.\n  - Output: List of tokens.\n\n---\n\n## 2. 🔢 Count Digits, Vowels, and Symbols\n- **Description:**\n  A simple program to count the number of digits, vowels, and special symbols in a given input string.\n- **Features:**\n  - Accurate counts for different character types.\n- **Usage:**\n  - Input: String.\n  - Output: Count of digits, vowels, and symbols.\n\n---\n\n## 3. 🔒 Username and Password Validation\n- **Description:**\n  A program to validate usernames and passwords based on predefined rules such as length, allowed characters, and format.\n- **Features:**\n  - Checks for valid usernames.\n  - Ensures strong password compliance.\n- **Usage:**\n  - Input: Username and password.\n  - Output: Validation result.\n\n---\n\n## 4. 📘 Predictive Parsing LL(1)\n- **Description:**\n  Implementation of LL(1) predictive parsing using a parsing table and grammar rules.\n- **Features:**\n  - Handles grammars satisfying the LL(1) condition.\n  - Efficient error handling.\n- **Usage:**\n  - Input: Grammar and string.\n  - Output: Parsing result.\n\n---\n\n## 5. 📚 Recursive Descent Parsing\n- **Description:**\n  Demonstrates top-down parsing using recursive functions for each non-terminal.\n- **Features:**\n  - Handles recursive grammar rules.\n  - Detailed parsing steps.\n- **Usage:**\n  - Input: Grammar and string.\n  - Output: Parsing steps and result.\n\n---\n\n## 6. ➗ Operator Precedence Parsing\n- **Description:**\n  Implements operator precedence parsing for arithmetic expressions.\n- **Features:**\n  - Supports arithmetic operations and operator precedence.\n- **Usage:**\n  - Input: Arithmetic expression.\n  - Output: Evaluation result.\n\n---\n\n## 7. 📈 LALR Parsing\n- **Description:**\n  Study and implementation of Look-Ahead LR (LALR) parsing for grammar analysis.\n- **Features:**\n  - Combines the power of LR and SLR parsers.\n  - Efficient parsing for complex grammars.\n- **Usage:**\n  - Input: Grammar and string.\n  - Output: Parsing result.\n\n---\n\n## 8. 🔍 Study of LEX and FLEX\n- **Description:**\n  An overview of the LEX and FLEX tools used for generating lexical analyzers.\n- **Features:**\n  - Introduction to LEX and FLEX.\n  - Examples of token generation.\n- **Usage:**\n  - Input: LEX/FLEX rules.\n  - Output: Generated lexical analyzer.\n\n---\n\n## 9. 📊 LEX Programs - Count Features\n- **Description:**\n  Programs using LEX to count various features such as lines, words, and characters in text input.\n- **Features:**\n  - Line, word, and character counting.\n  - Simple LEX scripts.\n- **Usage:**\n  - Input: Text file or string.\n  - Output: Count results.\n\n---\n\n## 10. ⚙️ LEX Programs - Various Tasks\n- **Description:**\n  A collection of LEX programs to perform various tasks, including pattern matching and string manipulation.\n- **Features:**\n  - Demonstrates versatility of LEX.\n  - Includes multiple examples.\n- **Usage:**\n  - Input: Custom patterns.\n  - Output: Results based on tasks.\n\n---\n\n## How to Use This Repository\n1. Clone the repository:\n   ```bash\n   git clone https://github.com/\u003cyour-username\u003e/compiler-design.git\n   ```\n2. Navigate to the desired section to explore the code and examples.\n3. Follow the usage instructions provided in each folder.\n\n---\n\n## Contribution Guidelines\nWe welcome contributions to improve this repository! If you'd like to contribute:\n\n- Fork the repository.\n- Create a new branch for your changes.\n- Submit a pull request with a clear description of your changes.\n\n## License\nThis repository is licensed under the MIT License.\n\n---\n\n### Feel free to explore, learn, and contribute! Happy coding!\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fakarshjha03%2Fcompiler-design","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fakarshjha03%2Fcompiler-design","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fakarshjha03%2Fcompiler-design/lists"}