make equals signs full equals of colons -- you can use them inside of object literals now too

This commit is contained in:
Jeremy Ashkenas
2009-12-25 13:21:17 -08:00
parent bc6ec37272
commit 4b5db1181c
6 changed files with 23 additions and 16 deletions

View File

@@ -28,10 +28,10 @@ prechigh
left '&&' '||' AND OR
right '-=' '+=' '/=' '*=' '%='
right DELETE INSTANCEOF TYPEOF
left "."
left '.'
right THROW FOR IN WHILE NEW SUPER
left UNLESS IF ELSE EXTENDS
left ':' '=' '||=' '&&='
left ASSIGN '||=' '&&='
right RETURN
preclow
@@ -115,14 +115,13 @@ rule
# Assignment to a variable.
Assign:
Value ":" Expression { result = AssignNode.new(val[0], val[2]) }
| Value "=" Expression { result = AssignNode.new(val[0], val[2]) }
Value ASSIGN Expression { result = AssignNode.new(val[0], val[2]) }
;
# Assignment within an object literal.
AssignObj:
IDENTIFIER ":" Expression { result = AssignNode.new(val[0], val[2], :object) }
| STRING ":" Expression { result = AssignNode.new(val[0], val[2], :object) }
IDENTIFIER ASSIGN Expression { result = AssignNode.new(val[0], val[2], :object) }
| STRING ASSIGN Expression { result = AssignNode.new(val[0], val[2], :object) }
| Comment { result = val[0] }
;