Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/ridwansharkar/recursive-descent-parser
Rutgers University - NB Fall 2024 | CS314-Principles of Programming Languages
https://github.com/ridwansharkar/recursive-descent-parser
compiler
Last synced: 20 days ago
JSON representation
Rutgers University - NB Fall 2024 | CS314-Principles of Programming Languages
- Host: GitHub
- URL: https://github.com/ridwansharkar/recursive-descent-parser
- Owner: RidwanSharkar
- Created: 2024-11-01T18:27:35.000Z (2 months ago)
- Default Branch: main
- Last Pushed: 2024-11-16T19:36:59.000Z (about 2 months ago)
- Last Synced: 2024-11-16T20:25:27.274Z (about 2 months ago)
- Topics: compiler
- Language: C
- Homepage:
- Size: 16.6 KB
- Stars: 0
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
# Recursive Descent Parser
## Overview
Compiler and Interpreter for the **tinyL** programming language, translating tinyL source code into intermediate RISC-like instructions (`tinyL.out`) to be executed by the interpreter.## Features
- **Compiler (`compile`)**
- Parses tinyL code.
- Generates `tinyL.out` with executable instructions.
- **Interpreter (`run`)**
- Executes the instructions from `tinyL.out`.
- **Utilities**
- Code formatting with Linux guidelines.
- Comprehensive error handling.## Project Structure
- `Compiler.c`: Source code for the compiler.
- `Interpreter.c`: Source code for the interpreter.
- `Instr.h` & `InstrUtils.c`: Instruction definitions and utilities.
- `Utils.h` & `Utils.c`: Utility functions for error handling.
- `Makefile`: Build configuration.
- `tests/`: Directory containing sample tinyL programs.## License
This project is released under the MIT License.