add bools and nil
This commit is contained in:
@ -43,6 +43,7 @@ module Parser
|
||||
|
||||
rule(:float) { integer >> dot >> integer >>
|
||||
(exponent >> sign.maybe >> digit.repeat(1,3)).maybe >> space?}
|
||||
rule(:basic_type){ integer | name | string | float | instance_variable | module_name }
|
||||
rule(:basic_type){ integer | name | string | float | instance_variable | module_name |
|
||||
keyword_true | keyword_false | keyword_nil }
|
||||
end
|
||||
end
|
@ -6,7 +6,10 @@ module Parser
|
||||
rule(:string => sequence(:chars)) { Ast::StringExpression.new chars.join }
|
||||
rule(:esc => simple(:esc)) { '\\' + esc }
|
||||
rule(char: simple(:char)) { char }
|
||||
|
||||
|
||||
rule(:true => simple(:true)) { Ast::TrueExpression.new() }
|
||||
rule(:false => simple(:false)) { Ast::FalseExpression.new() }
|
||||
rule(:nil => simple(:nil)) { Ast::NilExpression.new() }
|
||||
rule(:integer => simple(:value)) { Ast::IntegerExpression.new(value.to_i) }
|
||||
rule(:name => simple(:name)) { Ast::NameExpression.new(name.to_s) }
|
||||
rule(:instance_variable => simple(:instance_variable)) { Ast::VariableExpression.new(instance_variable.name) }
|
||||
|
Reference in New Issue
Block a user