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
- Host: GitHub
- URL: https://github.com/joseruiz01/tinylanguageprocessor
- Owner: JoseRuiz01
- Created: 2025-05-05T21:47:36.000Z (11 months ago)
- Default Branch: main
- Last Pushed: 2025-05-05T22:03:10.000Z (11 months ago)
- Last Synced: 2025-07-06T13:03:12.854Z (9 months ago)
- Topics: compiler, lexical-analysis, processor, syntax-analysis
- Language: Java
- Homepage:
- Size: 3.82 MB
- Stars: 0
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
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.