You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

30 lines
498 B

require_relative "visitable"
module Lox
module Expr
Assign = Struct.new(:name, :value) do
include Visitable
end
Binary = Struct.new(:left, :op, :right) do
include Visitable
end
Grouping = Struct.new(:expr) do
include Visitable
end
Literal = Struct.new(:value) do
include Visitable
end
Unary = Struct.new(:op, :right) do
include Visitable
end
Variable = Struct.new(:name) do
include Visitable
end
end
end