Skip to content

Latest commit

 

History

13 Commits

Folders and files

NameName
Last commit message
Last commit date
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

ic5701

Compiladores e Intérpretes

GrammarParser

Parser de gramáticas libres de contexto. No detecta ni se recupera de errores.

Ejemplo de gramática soportada por este parser:

expr  -> term expr' ;
expr' -> '+' term expr' ;
expr' -> ε ;
term  -> fact term' ;
term' -> '*' fact term' ;
term' -> ε ;
fact  -> ID ;
fact  -> '(' expr ')' ;

Genera una lista de objetos Rule.

class Rule {
   Symbol leftHand;
   List<Symbol> rightHand;
}

class Symbol {
   String label;
   boolean terminal;
}

Ejemplo de uso:

import ac.tec.ic5701.grammarparser.*;

...

GParser parser = new GParser();
List<Rule> rules = parser.parse(new FileReader("expresiones.gramatica"));
System.out.println("rules = " + rules);

About

Compiladores e Intérpretes

Resources

Stars

0 stars

Watchers

1 watching

Forks

Releases

Packages

Contributors

Languages