You cannot select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
pegjs/examples/arithmetics.pegjs

18 lines
544 B
Plaintext

/*
* Classic example grammar, which recognizes simple arithmetic expressions like
* "2*(3+4)". The parser generated from this grammar then computes their value.
*/
15 years ago
start = additive
15 years ago
additive = multiplicative "+" additive { return $1 + $3; }
/ multiplicative
15 years ago
multiplicative = primary "*" multiplicative { return $1 * $3; }
/ primary
15 years ago
primary = integer
/ "(" additive ")" { return $2; }
15 years ago
integer "integer" = [0-9]+ { return parseInt($1.join(""), 10); }