view python/burg.x @ 318:e84047f29c78

Add burg and yacc initial attempts
author Windel Bouwman
date Tue, 31 Dec 2013 12:38:15 +0100
parents
children 8d07a4254f04
line wrap: on
line source


from tree import Tree
%tokens ':' ';' '(' ')' ',' template id number '%%' header

%%

rule: id ':' tree template cost { self.add_rule($1, $3, $4, $5) };

cost: number { return number.val };

tree: id { return Tree($1) }
    | id '(' tree ')' { return Tree($1, $3) }
    | id '(' tree ',' tree ')' { return Tree($1, $3, $5) };