PEG.js Mode

1
/*
2
 * Classic example grammar, which recognizes simple arithmetic expressions like
3
 * "2*(3+4)". The parser generated from this grammar then computes their value.
4
 */
5
 
6
start
7
  = additive
8
 
9
additive
10
  = left:multiplicative "+" right:additive { return left + right; }
11
  / multiplicative
12
 
13
multiplicative
14
  = left:primary "*" right:multiplicative { return left * right; }
15
  / primary
16
 
17
primary
18
  = integer
19
  / "(" additive:additive ")" { return additive; }
20
 
21
integer "integer"
22
  = digits:[0-9]+ { return parseInt(digits.join(""), 10); }
23
 
24
letter = [a-z]+
 

The PEG.js Mode

Created by Forbes Lindesay.