refactor name expression for compiler
This commit is contained in:
@ -1,39 +1,41 @@
|
||||
module Typed
|
||||
class IntegerExpression < Expression
|
||||
attr_accessor :value
|
||||
def initialize(value)
|
||||
@value = value
|
||||
module Tree
|
||||
class IntegerExpression < Expression
|
||||
attr_accessor :value
|
||||
def initialize(value)
|
||||
@value = value
|
||||
end
|
||||
end
|
||||
end
|
||||
class FloatExpression < Expression
|
||||
attr_accessor :value
|
||||
def initialize(value)
|
||||
@value = value
|
||||
class FloatExpression < Expression
|
||||
attr_accessor :value
|
||||
def initialize(value)
|
||||
@value = value
|
||||
end
|
||||
end
|
||||
end
|
||||
class TrueExpression < Expression
|
||||
end
|
||||
class FalseExpression < Expression
|
||||
end
|
||||
class NilExpression < Expression
|
||||
end
|
||||
class StringExpression < Expression
|
||||
attr_accessor :value
|
||||
def initialize(value)
|
||||
@value = value
|
||||
class TrueExpression < Expression
|
||||
end
|
||||
end
|
||||
class NameExpression < Expression
|
||||
attr_accessor :value
|
||||
alias :name :value
|
||||
def initialize(value)
|
||||
@value = value
|
||||
class FalseExpression < Expression
|
||||
end
|
||||
end
|
||||
class ClassExpression < Expression
|
||||
attr_accessor :value
|
||||
def initialize(value)
|
||||
@value = value
|
||||
class NilExpression < Expression
|
||||
end
|
||||
class StringExpression < Expression
|
||||
attr_accessor :value
|
||||
def initialize(value)
|
||||
@value = value
|
||||
end
|
||||
end
|
||||
class NameExpression < Expression
|
||||
attr_accessor :value
|
||||
alias :name :value
|
||||
def initialize(value)
|
||||
@value = value
|
||||
end
|
||||
end
|
||||
class ClassExpression < Expression
|
||||
attr_accessor :value
|
||||
def initialize(value)
|
||||
@value = value
|
||||
end
|
||||
end
|
||||
end
|
||||
end
|
||||
|
@ -125,26 +125,26 @@ module Typed
|
||||
end
|
||||
|
||||
def on_int expression
|
||||
IntegerExpression.new(expression.children.first)
|
||||
Tree::IntegerExpression.new(expression.children.first)
|
||||
end
|
||||
|
||||
def on_true expression
|
||||
TrueExpression.new
|
||||
Tree::TrueExpression.new
|
||||
end
|
||||
|
||||
def on_false expression
|
||||
FalseExpression.new
|
||||
Tree::FalseExpression.new
|
||||
end
|
||||
|
||||
def on_nil expression
|
||||
NilExpression.new
|
||||
Tree::NilExpression.new
|
||||
end
|
||||
|
||||
def on_name statement
|
||||
NameExpression.new(statement.children.first)
|
||||
Tree::NameExpression.new(statement.children.first)
|
||||
end
|
||||
def on_string expression
|
||||
StringExpression.new(expression.children.first)
|
||||
Tree::StringExpression.new(expression.children.first)
|
||||
end
|
||||
|
||||
def on_class_name expression
|
||||
|
Reference in New Issue
Block a user