Skip to content

ULL-ESIT-PL-1617/analizador-usando-peg-victor-pamela-jesus

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

19 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Gramática

Ejemplo de uso

VAR a = 2; VAR b = 3; hola = FUNCTION () { IF (a < b) { a = 3; }; };

Esta es la gramática:

1.  Σ = { 'VAR', ID, '=', 'FUNCTION', 'IF', 'ELSEIF', 'ELSE', NUM, ADDOP, MULOP, 
          '{', '}', '(', ')', COMPARISONOPERATOR, '||', '&&', 'WHILE' ';' }
2.  V = { primario, declaracion, asignacion, funcion, instruccion, expression,
          term, factor, condicion, sentencia, bucle, llamada, parametro}
3.  Producciones:
    1.  primario → (declaracion | (llamada | asignacion))* //Esto es lo que puede haber en global
    2.  declaracion → 'VAR' asignacion 
    3.  asignacion → ID '=' (funcion | expression | asignacion) ';'
    4.  funcion → 'FUNCTION' '(' (parametro)* ')' '{' (instruccion)* '}' ';'
    5.  instruccion → ((declaracion | sentencia | bucle | llamada | asignacion) ';')*
    6.  expression → term ADDOP expression | term 
    7.  term → factor MULOP term | factor
    8.  factor → '(' expression ')' | NUM
    9.  condicion → parametro COMPARISONOPERATOR parametro
    10. sentencia → 'IF' (condicion) '{' instruccion '}' 
        ('ELSEIF' (condicion) '{' instruccion '}')* ('ELSE' '{' instruccion '}')? ';'
    11. bucle → 'WHILE' '(' condicion ')' '{' instruccion '}' ';'
    12. llamada → ID '(' (parametro)* ')' ';'
    13. parametro → expression | ID

About

analizador-usando-peg-victor-pamela-jesus created by GitHub Classroom

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published