https://github.com/domamaric/ppj
Python solutions for Programming Language Translation laboratory exercies.
https://github.com/domamaric/ppj
compiler lexical-analyzer ll1-grammar ll1-parser semantic-analyzer syntax-analyzer
Last synced: 5 months ago
JSON representation
Python solutions for Programming Language Translation laboratory exercies.
- Host: GitHub
- URL: https://github.com/domamaric/ppj
- Owner: domamaric
- License: mit
- Created: 2021-10-24T19:32:35.000Z (over 4 years ago)
- Default Branch: master
- Last Pushed: 2023-12-08T20:18:28.000Z (over 2 years ago)
- Last Synced: 2025-01-05T20:42:24.320Z (over 1 year ago)
- Topics: compiler, lexical-analyzer, ll1-grammar, ll1-parser, semantic-analyzer, syntax-analyzer
- Language: Python
- Homepage:
- Size: 518 KB
- Stars: 1
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# Programming Language Translation Course Project
This repository contains my solutions for the laboratory exercises in the
Programming Language Translation course at the Faculty of Electrical Engineering and Computing.
## Laboratory Exercises Overview
### Laboratory Exercise 1: Lexical Analyzer Construction
#### Overview
The first laboratory exercise focuses on the construction of a lexical analyzer.
The goal is to implement a tool capable of recognizing and tokenizing the
lexical elements of a programming language.
#### Implementation
- **Lexical Analyzer:** Construct a lexical analyzer to identify and tokenize keywords, identifiers, operators, and other lexical elements.
### Laboratory Exercise 2: Syntax Analysis
#### Overview
The second laboratory exercise delves into syntax analysis. The task involves
building a parser that can analyze the structure of a program and identify its
syntactic elements.
#### Implementation
- **Parser:** Develop a syntax analyzer capable of parsing the grammatical structure of a program and generating an appropriate parse tree.
### Laboratory Exercise 3: Semantic Analysis
#### Overview
The third laboratory exercise focuses on semantic analysis. The objective is to
implement a tool that can analyze and check the meaning of a program in terms of
its semantic correctness.
#### Implementation
- **Semantic Analyzer:** Construct a semantic analyzer to perform checks on the program's meaning and identify potential semantic errors.
### Laboratory Exercise 4 (Incomplete): Code generator for FRISC
#### Overview
The topic of the fourth laboratory exercise is code generation. The task is to
programmatically realize the generator of the FRISC processor mnemonic code for
the PJ language.
#### Implementation
- **Unfortunately**: This laboratory exercise is not implemented because I already had satisfactory grade :grin:.
## Getting Started
1. Clone the repository:
```bash
git clone https://github.com/domamaric/PPJ.git
cd PPJ/
## TO-DO
- [ ] Add docstring for second laboratory exercise.