Análisis léxico y sintáctico
$30-250 USD
Paiement à la livraison
En el repositorio de ejemplos para la materia:
[login to view URL] (Enlaces a un sitio externo.)
Encontrarás la carpeta proyecto_etapa1y2 con los archivos base para esta etapa del proyecto. Al correr [login to view URL] ú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 [login to view URL] 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
Tambien como una pagina aparte.
En el repositorio de código existen varios archivos para comenzar el analizador semántico. En particular:
[login to view URL] (Enlaces a un sitio externo.)
[login to view URL] y [login to view URL] tienen las pruebas unitarias para los correspondientes casos (erróneos). Hay que modificar las rutas para que funcione la prueba.
[login to view URL] contiene las pruebas unitarias en casos de éxito, aquí hay que ponerle los tipos a las expresiones. Se debe emitir la salida equivalente a resources/semantic/reference (el archivo [login to view URL] contiene el código para producirlo, solo el formato ha cambiado un poco).
El target es pasar el 80% de las pruebas anteriores (etapa1=12, etapa2=24, etapa3=36, 72 pruebas totales).
Nº du projet : #32004789
À propos du projet
2 freelances font une offre moyenne de 145 $ pour ce travail
Hey, i am interested in to design Análisis léxico y sintáctico I know you have several tempting proposals here, but I guarantee you to be impressed by my work. I have various skills in design, Illustration, Photoshop, Plus
Hello, I analyzed your project and noticed that I have the necessary training and skills for an effective development, of high quality and in the shortest possible time. I have ten years of programming experience and t Plus