Skip to content

Latest commit

 

History

History

parsergenerator

Folders and files

NameName
Last commit message
Last commit date

parent directory

..
 
 
 
 
 
 
 
 

Parser-generator

Parser generator for LL1 grammar.

Generator

First and follow generators

Example of grammars

Grammar file

start returns (String s)
    : HELLO { s = "Hello, World!"; } COMMA WORLD MARK
    | WORLD { s = "World"; }
    | name<"Hello"> { s = nameNode.getValue(); }
    | value<"Hello", "your value: "> { s = valueNode.getValue(); }
    ;

name(String input) returns (String s)
    : NAME { s = input + ", " + getLastTerminal(); }
    ;

value(String s1, String s2) returns (String s)
    : DIGITS { s = s1 + ", " + s2 + "'" + getLastTerminal() + "'"; }
    ;

Tokens

HELLO:  'Hello';
WORLD:  'World';

COMMA:  '\\,';
MARK:   '\\!';

NAME:   [A-Z][a-z]+;
DIGITS: [1-9][0-9]*;

Other test examples