Skip to content
This repository has been archived by the owner on Feb 14, 2021. It is now read-only.

Entrega final #49

Open
wants to merge 79 commits into
base: entrega-final
Choose a base branch
from
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
79 commits
Select commit Hold shift + click to select a range
35d8461
Primera entrega lexer y parser
Liset97 Feb 26, 2020
da58db6
cambio
Liset97 Feb 29, 2020
1b45de5
modifica
Liset97 Feb 29, 2020
2d113f5
dos nombres
Liset97 Mar 1, 2020
1be3007
Se agregaron las clases para el lexer y el parser
pablodearmas Mar 1, 2020
b6eb94d
todos los miembros
Liset97 Mar 1, 2020
3d366b6
Merge branch 'entrega-parser' of https://github.com/Liset97/cool-comp…
pablodearmas Mar 1, 2020
6de05c4
Movimiento de los fuente a las carpeta src
pablodearmas Mar 1, 2020
b584b04
Se actualizó nombre y versión del compilador
pablodearmas Mar 1, 2020
6a63002
Se arreglaron varios errores
pablodearmas Mar 1, 2020
a3af1e6
Se arreglaron errores en el lexer y el parser para los casos de prueba
pablodearmas Mar 2, 2020
288d420
Se arreglo el lexer para detectar caracter nulo
pablodearmas Mar 16, 2020
440f719
Se arregló un bug del lexer relativo a las cadenas simples no termina…
pablodearmas Mar 16, 2020
dc91b15
Se arreglo un bug de las cadenas simples
pablodearmas Mar 16, 2020
c6f2775
Se arreglo otro bug
pablodearmas Mar 16, 2020
6e08c09
Se arregló el mensaje de error del lexer
pablodearmas Mar 16, 2020
a618a37
Se arregló un bug relacionado con la diferencia en el EOL entre Windo…
pablodearmas Mar 17, 2020
d3cf8de
Se agregó el análisis semántico
pablodearmas Oct 12, 2020
072a322
Se agregaron los casos de prueba par el análisis semántico
pablodearmas Nov 17, 2020
3d72577
Se creo un metodo que impide la ejecucion de la generarcion de codigo…
pablodearmas Nov 18, 2020
10043a7
Ajustes en la generación de código
pablodearmas Nov 26, 2020
d242872
Se resolvieron varios bugs de la generación de código.
pablodearmas Nov 28, 2020
046088f
Se depuro la generacion de codigo usando los ejemplos de la definicio…
pablodearmas Nov 29, 2020
ec24a5a
Primera entrega lexer y parser
Liset97 Feb 26, 2020
8d3d764
cambio
Liset97 Feb 29, 2020
2b502be
modifica
Liset97 Feb 29, 2020
ebf8679
dos nombres
Liset97 Mar 1, 2020
b330fdf
Se agregaron las clases para el lexer y el parser
pablodearmas Mar 1, 2020
bf7eb15
todos los miembros
Liset97 Mar 1, 2020
5ab16af
Movimiento de los fuente a las carpeta src
pablodearmas Mar 1, 2020
e211893
Se actualizó nombre y versión del compilador
pablodearmas Mar 1, 2020
328a1f9
Se arreglaron varios errores
pablodearmas Mar 1, 2020
5a5e2e6
Se arreglaron errores en el lexer y el parser para los casos de prueba
pablodearmas Mar 2, 2020
e458ce5
Se arreglo el lexer para detectar caracter nulo
pablodearmas Mar 16, 2020
ca3b55a
Se arregló un bug del lexer relativo a las cadenas simples no termina…
pablodearmas Mar 16, 2020
79b21c6
Se arreglo un bug de las cadenas simples
pablodearmas Mar 16, 2020
304a33b
Se arreglo otro bug
pablodearmas Mar 16, 2020
4cf80ad
Se arregló el mensaje de error del lexer
pablodearmas Mar 16, 2020
7e608c8
Se arregló un bug relacionado con la diferencia en el EOL entre Windo…
pablodearmas Mar 17, 2020
24455b6
Se agregó el análisis semántico
pablodearmas Oct 12, 2020
a1775ad
Se agregaron los casos de prueba par el análisis semántico
pablodearmas Nov 17, 2020
fcada45
Se creo un metodo que impide la ejecucion de la generarcion de codigo…
pablodearmas Nov 18, 2020
cd7e200
Ajustes en la generación de código
pablodearmas Nov 26, 2020
00cc56c
Se resolvieron varios bugs de la generación de código.
pablodearmas Nov 28, 2020
0b9b099
Se depuro la generacion de codigo usando los ejemplos de la definicio…
pablodearmas Nov 29, 2020
6411cae
Se hicieron modificaciones para que las pruebas (test) se ejecuten lo…
pablodearmas Nov 29, 2020
2050072
Se restablecio el uso de BASH en lugar de SH para los test
pablodearmas Nov 29, 2020
442c88b
Se arregló el formato de algunos errores
pablodearmas Nov 29, 2020
fe810c2
Se restauró el uso de bash en lugar de sh
pablodearmas Nov 29, 2020
d9a2855
Prueba para ver por qué los test fallan en GitHub
pablodearmas Nov 29, 2020
e832d7b
Prueba para ver por qué los test fallan en GitHub (2)
pablodearmas Nov 29, 2020
535d4ed
Prueba para ver por qué los test fallan en GitHub (3)
pablodearmas Nov 29, 2020
7e5a871
Prueba para ver por qué los test fallan en GitHub (4)
pablodearmas Nov 29, 2020
f5c5304
Prueba para ver por qué los test fallan en GitHub (5)
pablodearmas Nov 29, 2020
3012fb3
Se ajustaron errores en la generación de código
pablodearmas Nov 30, 2020
bc61c3c
Pruebas para encontrar el problema de los test en GitHub
pablodearmas Nov 30, 2020
0856325
Pruebas para encontrar el problema de los test en GitHub (2)
pablodearmas Nov 30, 2020
24947a4
Pruebas para encontrar el problema de los test en GitHub (3)
pablodearmas Nov 30, 2020
aca6937
Pruebas para encontrar el problema de los test en GitHub (4)
pablodearmas Nov 30, 2020
9816cd8
Pruebas para encontrar el problema de los test en GitHub (5)
pablodearmas Nov 30, 2020
e4de63c
Pruebas para encontrar el problema de los test en GitHub (6)
pablodearmas Nov 30, 2020
b8053b6
Pruebas para encontrar el problema de los test en GitHub (6)
pablodearmas Nov 30, 2020
779795a
Pruebas para encontrar el problema de los test en GitHub (7)
pablodearmas Nov 30, 2020
20b83f3
Pruebas para encontrar el problema de los test en GitHub (8)
pablodearmas Nov 30, 2020
59d7b82
Pruebas para encontrar el problema de los test en GitHub (9)
pablodearmas Nov 30, 2020
d75b3ec
Pruebas para encontrar el problema de los test en GitHub (10)
pablodearmas Nov 30, 2020
9b50700
test en GitHub (11)
pablodearmas Nov 30, 2020
62839a9
test en GitHub (12)
pablodearmas Nov 30, 2020
51352a8
test en GitHub (12)
pablodearmas Nov 30, 2020
8dda8b3
test en GitHub (13)
pablodearmas Nov 30, 2020
805b31b
test en GitHub (14)
pablodearmas Nov 30, 2020
199d7de
test en GitHub (15)
pablodearmas Nov 30, 2020
d530a64
Arreglo a la generación de código (quitar mensaje final de la consola)
pablodearmas Nov 30, 2020
cf342c2
Arreglo a la generación de código (quitar mensaje del GC)
pablodearmas Nov 30, 2020
f8da25a
Se eliminaron errores que se introdujeron en el commit anterior
pablodearmas Nov 30, 2020
b1850bd
Se eliminaron errores que se introdujeron en el commit anterior (cont)
pablodearmas Nov 30, 2020
3519a33
Se arreglo un error relacionado con la ejecucion de uno de los progra…
pablodearmas Nov 30, 2020
fc86691
Se termino el informe
Liset97 Dec 1, 2020
a3b4b2c
Merge remote-tracking branch 'remotes/origin/entrega-parser' into ent…
pablodearmas Dec 8, 2020
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
5 changes: 5 additions & 0 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -408,3 +408,8 @@ dmypy.json

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

/.idea
/gen
/grammar/antlr_cool.bat
/tests/codegen/*.s
/tests/codegen/*.mips
Binary file added doc/Informe/Informe.pdf
Binary file not shown.
6 changes: 3 additions & 3 deletions doc/Readme.md
Original file line number Diff line number Diff line change
Expand Up @@ -4,9 +4,9 @@

**Nombre** | **Grupo** | **Github**
--|--|--
Nombre1 Apellido1 Apellido2 | C4xx | [@github_user](https://github.com/<user>)
Nombre2 Apellido1 Apellido2 | C4xx | [@github_user](https://github.com/<user>)
Nombre3 Apellido1 Apellido2 | C4xx | [@github_user](https://github.com/<user>)
Liset Silva Oropesa | C411 | [@Liset97](https://github.com/Liset97)
Pablo Antonio de Armas Suarez | C411 | [@pablodearmas](https://github.com/pablodearmas)
Yenli Gil Machado | C412 | [@YenGM](https://github.com/YenGM)

## Readme

Expand Down
58 changes: 58 additions & 0 deletions grammar/COOL.g4
Original file line number Diff line number Diff line change
@@ -0,0 +1,58 @@
parser grammar COOL;

options {
tokenVocab=COOL_LEX;
output=AST;
}

program
: programBlocks EOF
;

programBlocks
: classDefine SEMICOLON programBlocks? # classes
;

classDefine
: CLASS TYPEID (INHERITS TYPEID)? OPEN_CURLY (feature SEMICOLON)* CLOSE_CURLY
;

feature
: OBJECTID OPEN_ROUND (formal (COMMA formal)*)* CLOSE_ROUND COLON TYPEID OPEN_CURLY expression CLOSE_CURLY # method
| OBJECTID COLON TYPEID (ASSIGNMENT expression)? # property
;

formal
: OBJECTID COLON TYPEID
;
/* method argument */


expression
: expression (AT TYPEID)? DOT OBJECTID OPEN_ROUND (expression (COMMA expression)*)? CLOSE_ROUND # methodCall
| OBJECTID OPEN_ROUND (expression (COMMA expression)*)? CLOSE_ROUND # ownMethodCall
| IF expression THEN expression ELSE expression FI # if
| WHILE expression LOOP expression POOL # while
| OPEN_CURLY (expression SEMICOLON)+ CLOSE_CURLY # block
| LET OBJECTID COLON TYPEID (ASSIGNMENT expression)? (COMMA OBJECTID COLON TYPEID (ASSIGNMENT expression)?)* IN expression # letIn
| CASE expression OF (OBJECTID COLON TYPEID CASE_ARROW expression SEMICOLON)+ ESAC # case
| NEW TYPEID # new
| INTEGER_NEGATIVE expression # negative
| ISVOID expression # isvoid
| expression MULTIPLY expression # multiply
| expression DIVISION expression # division
| expression ADD expression # add
| expression MINUS expression # minus
| expression LESS_THAN expression # lessThan
| expression LESS_EQUAL expression # lessEqual
| expression EQUAL expression # equal
| NOT expression # boolNot
| OPEN_ROUND expression CLOSE_ROUND # parentheses
| OBJECTID # id
| INT # int
| STRING # string
| TRUE # true
| FALSE # false
| OBJECTID ASSIGNMENT expression # assignment
;
// key words
Loading