Skip to content

Latest commit

 

History

8 Commits

Folders and files

NameName
Last commit message
Last commit date
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

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.

About

Language processor for the Tiny programming language

Topics

Resources

Stars

0 stars

Watchers

1 watching

Forks

Releases

Packages

Contributors

Languages