Add member access operators

pull/70/head
Max Brunsfeld 2014-07-31 13:32:11 +07:00
parent 016c86dd45
commit d89c887440
3 changed files with 30 additions and 1 deletions

@ -34,7 +34,20 @@ module.exports = compiler.grammar
@undefined,
@object,
@array,
@function)
@function,
@member_access,
@subscript_access)
member_access: -> seq(
@expression,
".",
@identifier)
subscript_access: -> seq(
@expression,
"[",
@expression,
"]")
object: -> seq(
"{",

@ -122,3 +122,19 @@ function(arg1, arg2) {
(formal_parameters (identifier) (identifier))
(statement_block
(expression_statement (identifier))))))
============================================
Property access
============================================
x.someProperty;
x[someVariable];
x["some-string"];
---
(program
(expression_statement (member_access (identifier) (identifier)))
(expression_statement (subscript_access (identifier) (identifier)))
(expression_statement (subscript_access (identifier) (string))))