Skip to content

Un compilador pequeño construido con Flex, GNU Bison & LLVM

Notifications You must be signed in to change notification settings

santiagoahl/ProyectoCompiladores

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

16 Commits
 
 
 
 
 
 
 
 

Repository files navigation


Compilers!
Proyecto Compiladores

Un lenguaje de programación junto con su compilador propio desarrollado en C/C++ basado en el uso de expresiones regulares.

c flex gnu llvm

CaracterísticasCómo usarCreditosLicencia

Características

En este proyecto hemos desarrollado a baja escala un lenguaje de programación cuyo compilador está construido con C/C++. Se han programado todas las fases de un compilador: Un analizador léxico con Flex, un parser con Bison y un ensamblador con LLVM.

  • Analizador léxico. Construido con Flex. Como se estudió en el curso, este tendrá como objetivo separar las cadenas de caracteres en tokens. En particular, aprovechamos la experiencia obtenida en el desarrollo del primer proyecto del curso, en donde pudimos crear un lexer basado en expresiones regulares.
  • Analizador sintáctico. Construido con Bison.El obje- tivo principal de este componente es generar árboles de sintaxis abstracta cada vez que se tokeniza una instrucción.
  • Assembly. Construido con la colección de módulos de compilador reutilizables del proyecto LLVM. En esta etapa codificamos cada árbol de sintaxis abstracta en código de máquina

Cómo usar

Para clonar este proyecto, siga estos pasos:

# Clone el repositorio
$ git clone https://github.com/eguar11011/ProyectoCompiladores.git

# Ingrese al repositorio
$ cd ProyectoCompiladores

# Ingrese al código fuente
$ cd finalproject

Creditos

Este software utiliza los siguientes paquetes:

Licencia

MIT


Santiago Ahumada @santiagoahl  ·  David Mora @DavidFM43  ·  Eduards Mendez @eguar11011  · 

About

Un compilador pequeño construido con Flex, GNU Bison & LLVM

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Contributors 3

  •  
  •  
  •