soml-parser/lib/ast/module_expression.rb
2015-09-14 19:50:39 +03:00

38 lines
750 B
Ruby

module Ast
class ModuleExpression < Expression
attr_reader :name ,:expressions
def initialize name , expressions
@name = name.to_sym
@expressions = expressions
end
def attributes
[:name , :expressions]
end
def to_s
name.inspect + " ," + expressions.inspect
end
end
class ClassExpression < ModuleExpression
def initialize name , derived , expressions
super(name , expressions)
@derived_from = derived
end
def attributes
[:name , :derived_from , :expressions]
end
def derived_from
@derived_from ? @derived_from : :Object
end
def to_s
name.inspect + " ," + derived_from.inspect + ", " + expressions.inspect
end
end
end