jashkenas--coffeescript/vendor/jison/examples/precedence.json

27 lines
645 B
JSON

{
"comment": "Grammar showing precedence operators and semantic actions.",
"lex": {
"rules": [
["\\s+", "/* skip whitespace */"],
["[0-9]+", "return 'NAT';"],
["\\+", "return '+';"],
["\\*", "return '*';"],
["$", "return 'EOF';"]
]
},
"tokens": "NAT + * EOF",
"operators": [
["left", "+"],
["left", "*"]
],
"bnf": {
"S" :[[ "e EOF", "return $1;" ]],
"e" :[[ "e + e", "$$ = [$1,'+', $3];" ],
[ "e * e", "$$ = [$1, '*', $3];" ],
[ "NAT", "$$ = parseInt(yytext);" ]]
}
}