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

https://github.com/joseruiz01/tinylanguageprocessor

Language processor for the Tiny programming language
https://github.com/joseruiz01/tinylanguageprocessor

compiler lexical-analysis processor syntax-analysis

Last synced: 6 months ago
JSON representation

Language processor for the Tiny programming language

Awesome Lists containing this project

README

          

# Tiny Language Processor

This repository contains the complete development of a language processor for the **Tiny** programming language, created as part of the **Language Processors** course at *Universidad Complutense de Madrid*.

## 👥 Team G01
- Esther Babón Arcauz
- Pablo Campo Gómez
- Claudia López-Mingo Moreno
- José Antonio Ruiz Heredia

## 📘 Project Overview

The project involves designing and implementing a full compiler for the Tiny language, starting from lexical analysis and ending in code generation for a stack-based abstract machine.

## 🔧 Project Phases

### 1. Lexical Analysis
- Definition of lexical classes for Tiny(0) and Tiny
- Regular expressions specification
- Transition diagrams for token recognition

### 2. Syntax Analysis
- Manual parser for Tiny(0) using recursive descent
- Top-down and bottom-up parsers for Tiny
- Grammar conditioning and director sets

### 3. AST Construction
- Abstract syntax specification via function signatures
- Attribute grammar for AST construction
- Implementation-ready grammar transformations
- Token stream printing

### 4. Final Compiler Stages
- Type checking procedures
- Memory allocation strategy
- Instruction set for a target abstract machine (code-p)
- Labeling and code generation logic

## 📂 Structure
The repository is organized by phase, each containing detailed documentation, code, and diagrams for its components.