class ADSL::Parser::ASTExists
Public Instance Methods
to_adsl()
click to toggle source
# File lib/adsl/parser/ast_nodes.rb, line 1256 def to_adsl v = @vars.map{ |var, objset| "#{ var.text } in #{ objset.to_adsl }" }.join ", " "exists(#{v}: #{ @subformula.to_adsl })" end
typecheck_and_resolve(context)
click to toggle source
# File lib/adsl/parser/ast_nodes.rb, line 1238 def typecheck_and_resolve(context) context.in_stack_frame do vars = [] objsets = [] @vars.each do |var_node, objset_node| objset = objset_node.typecheck_and_resolve context var = ADSL::DS::DSVariable.new :name => var_node.text, :type => objset.type context.define_var var, var_node vars << var objsets << objset end subformula = @subformula.nil? ? nil : @subformula.typecheck_and_resolve(context) return ADSL::DS::DSExists.new :vars => vars, :objsets => objsets, :subformula => subformula end end