Overview Schemas Index

PRODUCTION_RULE_XIM (jsdai.SProduction_rule_xim)


FUNCTION local_vars_aux
          (thing : GENERIC, accum : SET [0:?] OF scalar_variable_armx) : SET [0:?] OF scalar_variable_armx;

LOCAL i,j,k : INTEGER; END_LOCAL;
  IF  (('PRODUCTION_RULE_XIM.ABSTRACT_VARIABLE_ARMX' IN  TYPEOF(thing)) AND 
      ('PRODUCTION_RULE_XIM.RULE_DEFINITION' IN  (TYPEOF(thing.scope))))
   THEN  accum := accum + thing;
   ELSE  IF  ('PRODUCTION_RULE_XIM.RULE_CONDITION_ARMX' IN  TYPEOF(thing))
        THEN  REPEAT  i := 1 TO  HIINDEX(thing\Atomic_formula_armx.terms);
                accum := local_vars_aux(thing\Atomic_formula_armx.terms[i],accum);
             END_REPEAT;
        ELSE  IF  ('PRODUCTION_RULE_XIM.SIMPLE_CLAUSE_ARMX' IN  TYPEOF(thing))
             THEN  REPEAT  j := 1 TO  HIINDEX(thing.formulas);
                        accum := local_vars_aux(thing.formulas[j],accum);
                  END_REPEAT;
             ELSE IF ('PRODUCTION_RULE_XIM.COMPLEX_CLAUSE_ARMX' IN TYPEOF(thing))
                  THEN REPEAT k := 1 TO HIINDEX(thing.clauses);
                        accum := local_vars_aux(thing.clauses[k],accum);
                       END_REPEAT;
                  END_IF;
             END_IF;
        END_IF;
  END_IF;
  RETURN(accum);

END_FUNCTION; -- local_vars_aux

public class FLocal_vars_aux
          public static Value run(SdaiContext _context, Value thing, Value accum)