Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- start
- = s:Statements
- { return ['Program', {}].concat(s); }
- / _
- Statements
- = s:Statement ";"
- { return s; }
- / ss:Statements s:Statement ";"
- { return ss; ss.push(s); }
- / _
- Statement
- = SetVar
- SetVar
- = i:Ident "=" e:Expr
- { return ['SetVarStmt', {}, i, e]; }
- Expr
- = Ident
- / Number
- Number
- = n:[0-9]+
- { return ['Number', { val: parseInt(n.join(""), 10) }]; }
- Ident
- = i:[a-zA-Z._]*
- { return ['Ident', { name: i.join("") }]; }
- _ = [ \t\r\n]*
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement