An open API service indexing awesome lists of open source software.

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.

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.