19 lines
533 B
Ruby
19 lines
533 B
Ruby
|
module RKelly
|
||
|
module Nodes
|
||
|
class BinaryNode < Node
|
||
|
attr_reader :left
|
||
|
def initialize(left, right)
|
||
|
super(right)
|
||
|
@left = left
|
||
|
end
|
||
|
end
|
||
|
|
||
|
%w[Subtract LessOrEqual GreaterOrEqual Add Multiply While NotEqual
|
||
|
DoWhile Switch LogicalAnd UnsignedRightShift Modulus While
|
||
|
NotStrictEqual Less With In Greater BitOr StrictEqual LogicalOr
|
||
|
BitXOr LeftShift Equal BitAnd InstanceOf Divide RightShift].each do |node|
|
||
|
eval "class #{node}Node < BinaryNode; end"
|
||
|
end
|
||
|
end
|
||
|
end
|