Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

First pr for testing #27

Open
wants to merge 4 commits into
base: master
Choose a base branch
from
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
The table of contents is too big for display.
Diff view
Diff view
  •  
  •  
  •  
Empty file modified .github/workflows/tests.yml
100644 → 100755
Empty file.
1 change: 1 addition & 0 deletions .gitignore
100644 → 100755
Original file line number Diff line number Diff line change
Expand Up @@ -408,3 +408,4 @@ dmypy.json

# Custom rules (everything added below won't be overriden by 'Generate .gitignore File' if you use 'Update' option)

/venv
Empty file modified LICENSE
100644 → 100755
Empty file.
Empty file modified Readme.md
100644 → 100755
Empty file.
Binary file added doc/Intro_ply.pdf
Binary file not shown.
49 changes: 28 additions & 21 deletions doc/Readme.md
100644 → 100755
Original file line number Diff line number Diff line change
@@ -1,33 +1,40 @@
# Documentación

## Readme
**Nombre** | **Grupo** | **Github**
--|--|--
Laura Brito Guerrero | C412 | [@LauryGirl](https://github.com/LauryGirl)
Sheyla Cruz Castro | C412 | [@sheycc](https://github.com/sheycc)
Ariel Antonio Huerta Martín | C412 | [@huertaariel1](https://github.com/huertaariel1)

Modifique el contenido de este documento para documentar de forma clara y concisa los siguientes aspectos:
# Uso del compilador

- Cómo ejecutar (y compilar si es necesario) su compilador.
- Requisitos adicionales, dependencias, configuración, etc.
- Opciones adicionales que tenga su compilador.
Para utilizar el compilador es necesario instalar todas las dependencias utilizadas por este como
son los paquetes `ply` para la generación del lexer y el parser, y para la ejecución de los tests, `pytest`
y `pytest-ordering`, todo esto se logra ejecutando el fichero `requirements.txt` de la forma:

## Sobre los Equipos de Desarrollo
```bash
pip install -r requirements.txt
```

Para desarrollar el compilador del lenguaje COOL se trabajará en equipos de 2 o 3 integrantes. El proyecto de Compilación será recogido y evaluado únicamente a través de Github. Es imprescindible tener una cuenta de Github para cada participante, y que su proyecto esté correctamente hosteado en esta plataforma.
Para ejecutar el compilador es necesario correr el archivo ```cool.sh``` ubicado en `/src/` dando como entrada la dirección del archivo a compilar de la siguiente forma:

**⚠️ NOTA**: Debe completar el archivo `team.yml` con los datos correctos de cada miembro de su equipo.
```bash
cd src/
./cool.sh '../tests/codegen/arith.cl'
```

## Sobre los Materiales a Entregar
El archivo principal del compilador es `main.py`, módulo que contiene toda la lógica del compilador, si desea ejecutarlo debe pasar como argumento el `path` del fichero **.cl** con código fuente de COOL que se desea compilar, de la siguiente forma:

Para la evaluación del proyecto Ud. debe entregar un informe en formato PDF (`report.pdf`) en esta carpeta, que resuma de manera organizada y comprensible la arquitectura e implementación de su compilador.
El documento no tiene límite de extensión.
En él explicará en más detalle su solución a los problemas que, durante la implementación de cada una de las fases del proceso de compilación, hayan requerido de Ud. especial atención.
```bash
python3 main.py '../tests/codegen/arith.cl'
```

## Estructura del reporte
Un archivo en el mismo path del código fuente será creado, con el mismo nombre, pero con extensión **.mips** que puede ser ejecutado con **spim**.

Usted es libre de estructurar su reporte escrito como más conveniente le parezca. A continuación le sugerimos algunas secciones que no deberían faltar, aunque puede mezclar, renombrar y organizarlas de la manera que mejor le parezca:
Para ejecutar las pruebas localmente, debe tener instalado `Python 3.7`, `pip` y `make` que normalmente viene incluido en Linux, para hacerlo ejecute los siguientes comandos:

- **Uso del compilador**: detalles sobre las opciones de líneas de comando, si tiene opciones adicionales (e.j., `--ast` genera un AST en JSON, etc.). Básicamente lo mismo que pondrá en este Readme.
- **Arquitectura del compilador**: una explicación general de la arquitectura, en cuántos módulos se divide el proyecto, cuantas fases tiene, qué tipo de gramática se utiliza, y en general, como se organiza el proyecto. Una buena imagen siempre ayuda.
- **Problemas técnicos**: detalles sobre cualquier problema teórico o técnico interesante que haya necesitado resolver de forma particular.

## Sobre la Fecha de Entrega

Se realizarán recogidas parciales del proyecto a lo largo del curso. En el Canal de Telegram se anunciará la fecha y requisitos de cada entrega.
```bash
cd src/
make clean
make test
```
Binary file added doc/Report.pdf
Binary file not shown.
Binary file added doc/Report.pdf:Zone.Identifier
Binary file not shown.
Empty file modified doc/cool-manual.pdf
100644 → 100755
Empty file.
Empty file modified doc/github-git-cheat-sheet.pdf
100644 → 100755
Empty file.
18 changes: 9 additions & 9 deletions doc/team.yml
100644 → 100755
Original file line number Diff line number Diff line change
@@ -1,10 +1,10 @@
members:
- name: Nombre Apellido1 Apellido2
github: github_id
group: CXXX
- name: Nombre Apellido1 Apellido2
github: github_id
group: CXXX
- name: Nombre Apellido1 Apellido2
github: github_id
group: CXXX
- name: Laura Brito Guerrero
github: LauryGirl
group: C412
- name: Sheyla Cruz Castro
github: sheycc
group: C412
- name: Ariel Antonio Huerta Martín
github: huertaariel1
group: C412
Empty file modified img/img1.png
100644 → 100755
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Empty file modified img/img10.png
100644 → 100755
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Empty file modified img/img11.png
100644 → 100755
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Empty file modified img/img12.png
100644 → 100755
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Empty file modified img/img2.png
100644 → 100755
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Empty file modified img/img3.png
100644 → 100755
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Empty file modified img/img4.png
100644 → 100755
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Empty file modified img/img5.png
100644 → 100755
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Empty file modified img/img6.png
100644 → 100755
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Empty file modified img/img7.png
100644 → 100755
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Empty file modified img/img8.png
100644 → 100755
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Empty file modified img/img9.png
100644 → 100755
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
1 change: 1 addition & 0 deletions requirements.txt
100644 → 100755
Original file line number Diff line number Diff line change
@@ -1,2 +1,3 @@
pytest
pytest-ordering
ply
Empty file modified src/Readme.md
100644 → 100755
Empty file.
1 change: 1 addition & 0 deletions src/code_generation/__init__.py
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
from .code_generation import MyCodeGenerator
Loading