A toy dynamic programming language written in Ruby
Ви не можете вибрати більше 25 тем Теми мають розпочинатися з літери або цифри, можуть містити дефіси (-) і не повинні перевищувати 35 символів.

1234567891011121314151617181920
  1. class AST::Assignment
  2. attr_reader :name, :value
  3. def initialize(name, value)
  4. @name = name
  5. @value = value
  6. end
  7. def ==(other)
  8. other.is_a?(AST::Assignment) && other.name == @name && other.value == @value
  9. end
  10. def execute(env)
  11. if env.get(@name.name)
  12. env.set(@name.name, @value)
  13. else
  14. raise "Invalid assignment to undeclared variable #{@name.name}"
  15. end
  16. end
  17. end