class ADSL::Parser::ASTForAll

Public Instance Methods

to_adsl() click to toggle source
# File lib/adsl/parser/ast_nodes.rb, line 1229
def to_adsl
  v = @vars.map{ |var, objset| "#{ var.text } in #{ objset.to_adsl }" }.join ", " 
  "forall(#{v}: #{ @subformula.to_adsl })"
end
typecheck_and_resolve(context) click to toggle source
# File lib/adsl/parser/ast_nodes.rb, line 1211
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.typecheck_and_resolve context
    return ADSL::DS::DSForAll.new :vars => vars, :objsets => objsets, :subformula => subformula
  end
end