Evaluating bids

Análisis léxico y sintáctico

Published on the September 27, 2021 in IT & Programming

About this project

Open

En el repositorio de ejemplos para la materia:

https://bitbucket.org/abdul_itesm/compiladores_ago2021/ (Enlaces a un sitio externo.)

Encontrarás la carpeta proyecto_etapa1y2 con los archivos base para esta etapa del proyecto. Al correr cliente.py únicamente se imprimen los tokens reconocidos.

También hay una carpeta resources con archivos de pruebas tipo para las distintas etapas del compilador.

A continuación un esqueleto de cómo quedaría la gramática, esto es, el archivo Cool.g4 debe contener las definiciones correspondiente al capítulo 10 y 11 del manual de Cool.

Grammar Cool;         

program
    : ( klass ';' ) *
    ;

klass
    : klass type ( 'inherits' type )? '{' ( feature ';' )* '}'
    ;

feature
    : ...  #Method
    | ...  #Attribute
    ;

formal
    : ...
    ;

Expr
    :
    primary                                                        #base
    |  ...          #Simplecall
    |  ...          #If
    |  ...          #While
    |  ...          #Objectcall
    |  ...          #Let
    |  ...          #Case
    |  ...          #New
    |  ...          #Block
    |  ...          #At
    |  ...          #Neg
    |  ...          #Isvoid
    |  ...          #Mult
    |  ...          #Div
    |  ...          #Plus
    |  ...          #Less
    |  ...          #Lt
    |  ...          #Le
    |  ...          #Eq
    |  ...          #Not
    |  ...          #Assign
    ;

case_stat:
    ...
    ;

Let_decl:
    ...
    ;

Primary:
    ...Son 6 casos...
    ;



Se deberán reconocer los siguientes tokens:


Palabras reservadas:
KLASS FI IF IN INHERITS ISVOID LET LOOP POOL THEN ELSE WHILE CASE ESAC NEW OF NOT TRUE FALSE

Con expresión regular:
TYPE ID INTEGER STRING

Ignorar:
COMMENT LINE_COMENT WHITESPACE

Category IT & Programming
Subcategory Web development
What is the scope of the project? Create a new custom site
Is this a project or a position? Project
I currently have I have an idea
Required availability As needed
Roles needed Design a landing page, Developer

Delivery term: September 28, 2021

Skills needed

Other projects posted by J. A.