1234567891011121314151617181920 |
- class AST::Assignment
- attr_reader :name, :value
-
- def initialize(name, value)
- @name = name
- @value = value
- end
-
- def ==(other)
- other.is_a?(AST::Assignment) && other.name == @name && other.value == @value
- end
-
- def execute(env)
- if env.get(@name.name)
- env.set(@name.name, @value)
- else
- raise "Invalid assignment to undeclared variable #{@name.name}"
- end
- end
- end
|