Overview Schemas Index

Production_rule_arm (jsdai.SProduction_rule_arm)


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

LOCAL i,j,k : INTEGER; END_LOCAL;
  IF  (('PRODUCTION_RULE_ARM.ABSTRACT_VARIABLE' IN  TYPEOF(thing)) AND 
      ('PRODUCTION_RULE_ARM.RULE_DEFINITION' IN  (TYPEOF(thing.scope))))
   THEN  accum := accum + thing;
   ELSE  IF  ('PRODUCTION_RULE_ARM.RULE_CONDITION' IN  TYPEOF(thing))
        THEN  REPEAT  i := 1 TO  HIINDEX(thing\Atomic_formula.terms);
                accum := local_vars_aux(thing\Atomic_formula.terms[i],accum);
             END_REPEAT;
        ELSE  IF  ('PRODUCTION_RULE_ARM.SIMPLE_CLAUSE' 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_ARM.COMPLEX_CLAUSE' 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)