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

First pr for testing #27

wants to merge 4 commits into from

Conversation

sheycc
Copy link

@sheycc sheycc commented Nov 2, 2021

No description provided.

sheycc and others added 4 commits May 7, 2021 15:22
* Set up egg-shell

* Add some basic nodes

* Add LetDef and FormalParam nodes

* Add new module for expression nodes, add dispatch nodes

* Add more expression nodes

* Add constant nodes and more

* Add module for operation nodes, add atomic nodes for arithmetic and logical binary operations

* Add some arithmetic and logical operation nodes

* Improve node's structure for binary and unary operations

* Set up ply for lexer, add lexer egg-shell

* Add some basic tokens for the tokens list

* Add reserved words dictionary, setup required property tokens list

* Add regular expression rules for simple tokens

* Add some regular expression rules with action code

* Make some changes, separate builtin types from reserved keywords

* Add some ignore and track line numbers rules

* Add string exclusive state and starts the string recognition

* Add comment exclusive state and start multiple comment recognition

* Add error token class and t_error rule

* Add comment and string errors

* Add row and col in nodes for handling errors

* Specify some regular expression rules

* Make some changes to the project structure

* Add initial structure for parser development

* Add precedence rules

* Add some basic grammar rules functions

* Add more grammar rules declaration

* Add more grammar rules for dispatch methods

* Add more grammar rules for assignment and control flow

* Add more grammar rules for expression nodes, block let and case nodes

* Add more grammar rules for expression nodes, new isvoid and id nodes

* Add more grammar rules for expression nodes, constant nodes like integer string and boolean nodes

* Add more grammar rules for expression nodes, binary and unary operations nodes

* Add more grammar rules for empty and expressions with parenthesis declarations

* Add error class for syntactic errors and error production for handling errors

* Linking projects scripts for start testing

* Add necessary descriptions on productions

* Include some args to the yacc for building

* Include some args to the lex for building and fix some typos

* Fix some imports bugs

* Fix more typos

* Make some changes in main file for testing and make some corrections

* Include find_col method in parser to fix bug, and more corrections in parser

* Fixmore bugs in parser

* Set up final details, include some comments and clean code

* Phase one done, two to go.
* Set up egg-shell

* Add some basic nodes

* Add LetDef and FormalParam nodes

* Add new module for expression nodes, add dispatch nodes

* Add more expression nodes

* Add constant nodes and more

* Add module for operation nodes, add atomic nodes for arithmetic and logical binary operations

* Add some arithmetic and logical operation nodes

* Improve node's structure for binary and unary operations

* Set up ply for lexer, add lexer egg-shell

* Add some basic tokens for the tokens list

* Add reserved words dictionary, setup required property tokens list

* Add regular expression rules for simple tokens

* Add some regular expression rules with action code

* Make some changes, separate builtin types from reserved keywords

* Add some ignore and track line numbers rules

* Add string exclusive state and starts the string recognition

* Add comment exclusive state and start multiple comment recognition

* Add error token class and t_error rule

* Add comment and string errors

* Add row and col in nodes for handling errors

* Specify some regular expression rules

* Make some changes to the project structure

* Add initial structure for parser development

* Add precedence rules

* Add some basic grammar rules functions

* Add more grammar rules declaration

* Add more grammar rules for dispatch methods

* Add more grammar rules for assignment and control flow

* Add more grammar rules for expression nodes, block let and case nodes

* Add more grammar rules for expression nodes, new isvoid and id nodes

* Add more grammar rules for expression nodes, constant nodes like integer string and boolean nodes

* Add more grammar rules for expression nodes, binary and unary operations nodes

* Add more grammar rules for empty and expressions with parenthesis declarations

* Add error class for syntactic errors and error production for handling errors

* Linking projects scripts for start testing

* Add necessary descriptions on productions

* Include some args to the yacc for building

* Include some args to the lex for building and fix some typos

* Fix some imports bugs

* Fix more typos

* Make some changes in main file for testing and make some corrections

* Include find_col method in parser to fix bug, and more corrections in parser

* Fixmore bugs in parser

* Set up final details, include some comments and clean code

* Phase one done, two to go.

* adding semantic structure

* all semantic part

* venv deleted from src

Co-authored-by: LauryGirl <[email protected]>
@huertaariel1
Copy link

Entrega del compilador

@jpconsuegra jpconsuegra self-assigned this Mar 17, 2022
@jpconsuegra
Copy link
Contributor

jpconsuegra commented Mar 17, 2022

Evaluación

  • Laura Brito Guerrero
  • Sheyla Cruz Castro
  • Ariel A. Huerta Martı́n

Requisitos mínimos (3)

  • El proyecto pasa todos los tests
  • El informe existe y explica el uso del compilador y la arquitectura básica

Requisitos intermedios (4)

  • Se implementaron las fases de chequeo semántico de forma separada y utilizando patrones adecuados
  • La arquitectura del compilador está organizada de forma coherente y mantenible

Requisitos extra (5)

  • Se implementaron las fases de generación de código intermedio y código objeto con patrones adecuados
  • Se resolvieron los problemas de representación de objetos en memoria e invocación de métodos virtuales de forma eficiente
  • Se resolvieron los problemas de boxing/unboxing de forma eficiente
  • Se resuelve el case de forma eficiente

Comentarios

  • Implementan AUTO_TYPE pero no lo explican.
  • Siempre hacen boxing.

Nota final

Evaluación Nota
Final 5

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants