allowing numbers to be used as object keys

This commit is contained in:
Jeremy Ashkenas
2010-02-08 11:48:43 -05:00
parent e2d75e6771
commit 78a4974de9
4 changed files with 1063 additions and 1038 deletions

View File

@@ -115,6 +115,7 @@ rule
AssignObj:
IDENTIFIER ASSIGN Expression { result = AssignNode.new(ValueNode.new(val[0]), val[2], :object) }
| STRING ASSIGN Expression { result = AssignNode.new(ValueNode.new(LiteralNode.new(val[0])), val[2], :object) }
| NUMBER ASSIGN Expression { result = AssignNode.new(ValueNode.new(LiteralNode.new(val[0])), val[2], :object) }
| Comment { result = val[0] }
;

File diff suppressed because it is too large Load Diff

View File

@@ -112,6 +112,7 @@ grammar: {
AssignObj: [
o "IDENTIFIER ASSIGN Expression", -> new AssignNode(new ValueNode(yytext), $3, 'object')
o "STRING ASSIGN Expression", -> new AssignNode(new ValueNode(new LiteralNode(yytext)), $3, 'object')
o "NUMBER ASSIGN Expression", -> new AssignNode(new ValueNode(new LiteralNode(yytext)), $3, 'object')
o "Comment"
]

View File

@@ -43,6 +43,8 @@ bob: {
salutation + " " + @name
hello: ->
@greet "Hello"
10: 'number'
}
puts bob.hello() is "Hello Bob"
puts bob[10] is 'number'