adds logical statements to vool

This commit is contained in:
Torsten Ruger
2017-04-04 18:35:15 +03:00
parent 91fdfb0c1e
commit de8b48975b
5 changed files with 64 additions and 5 deletions

View File

@ -155,6 +155,14 @@ module Vool
w
end
def on_and expression
name = expression.type
left = process(expression.children[0])
right = process( expression.children[1] )
LogicalStatement.new( name , left , right)
end
alias :on_or :on_and
# this is a call to super without args (z = zero arity)
def on_zsuper exp
w = SendStatement.new( nil )

View File

@ -0,0 +1,11 @@
module Vool
# Logical Statements are guaranteed to return boolean
# either :and or :or, which may be written as && and ||
class LogicalStatement < Statement
attr_reader :name , :left , :right
def initialize(name , left , right)
@name , @left , @right = name , left , right
end
end
end