Algernon Software

org.algernon.aam.opcode
Class Subroutine

java.lang.Object
  extended byorg.jatha.dynatype.StandardLispValue
      extended byorg.algernon.aam.Opcode
          extended byorg.algernon.aam.opcode.Subroutine
All Implemented Interfaces:
Comparable, LispValue

public class Subroutine
extends Opcode

This class represents a Test Opcode in the AAM. The system should only need to make one instance of this.


Field Summary
 
Fields inherited from class org.algernon.aam.Opcode
f_algy, m_name, m_numberOfArguments
 
Fields inherited from class org.jatha.dynatype.StandardLispValue
f_lisp
 
Constructor Summary
Subroutine(Algernon algy, String name, int numArgs)
          Create a new AAM :TEST Opcode.
 
Method Summary
protected  BindingSet consolidateBindings(Processor processor, LispValue result, Object var)
          Consolidates a list of results into one binding set.
 void execute(Processor processor, AlgernonKBSet kbSet)
          Executes the SUBROUTINE opcode.
 
Methods inherited from class org.algernon.aam.Opcode
argumentToClass, argumentToClass, argumentToFacet, argumentToFacet, argumentToFrame, argumentToFrame, argumentToInstance, argumentToInstance, argumentToInstance, argumentToRelation, argumentToRelation, getName, getNumberOfArguments, setName, setNumberOfArguments, toString
 
Methods inherited from class org.jatha.dynatype.StandardLispValue
abs, acos, add, adjustSpecialCount, append, apply, apropos_print, asin, assoc, atan, atan2, atom, basic_atom, basic_bignump, basic_consp, basic_constantp, basic_floatp, basic_foreignp, basic_functionp, basic_integerp, basic_keywordp, basic_length, basic_listp, basic_macrop, basic_null, basic_numberp, basic_stringp, basic_symbolp, bignump, boundp, butlast, car, cdr, ceiling, characterp, clrhash, compareTo, concatenate, consp, constantp, contains, copy_list, copy, cos, cot, csc, degreesToRadians, divide, eighth, elt, elt, eq, eql, equal, equalNumeric, factorial, fboundp, fifth, first, floatp, floor, fourth, funcall, functionp, get_specialCount, gethash, gethash, getLisp, greaterThan, greaterThanOrEqual, hash_table_count, hash_table_rehash_size, hash_table_rehash_threshold, hash_table_size, hash_table_test, hashtablep, integerp, internal_getName, internal_prin1_as_cdr, internal_prin1, internal_princ_as_cdr, internal_princ, internal_print_as_cdr, internal_print, iterator, keywordp, last, length, lessThan, lessThanOrEqual, lisp_null, list, listp, max, member, min, multiply, nconc, negate, neql, ninth, nreverse, nstringCapitalize, nstringDowncase, nstringUpcase, numberp, pop, position, prin1, princ, print, push, radiansToDegrees, rassoc, reciprocal, remhash, remove, rest, reverse, rplaca, rplacd, sec, second, set_special, setf_gethash, setf_symbol_function, setf_symbol_plist, setf_symbol_value, setLisp, setPackage, setq, seventh, sin, sixth, specialP, sqrt, string, stringCapitalize, stringDowncase, stringEndsWith, stringEq, stringEqual, stringGreaterP, stringGreaterThan, stringGreaterThanOrEqual, stringLeftTrim, stringLeftTrim, stringLessP, stringLessThan, stringLessThanOrEqual, stringNeq, stringNotGreaterP, stringNotLessP, stringp, stringRightTrim, stringRightTrim, stringStartsWith, stringTrim, stringTrim, stringUpcase, subst, substring, substring, subtract, symbol_function, symbol_name, symbol_package, symbol_plist, symbol_value, symbolp, tan, tenth, third, toCollection, toJava, toJava, toString, toStringAsCdr_internal, toStringAsCdr, toStringShort, toStringShort, toStringSimple, type_of, typep, zerop
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
 

Constructor Detail

Subroutine

public Subroutine(Algernon algy,
                  String name,
                  int numArgs)
Create a new AAM :TEST Opcode.

Method Detail

execute

public void execute(Processor processor,
                    AlgernonKBSet kbSet)
             throws AlgernonDataException
Executes the SUBROUTINE opcode. Executes the supplied code in a recursive call to the processor.

Overrides:
execute in class Opcode
Throws:
AlgernonDataException

consolidateBindings

protected BindingSet consolidateBindings(Processor processor,
                                         LispValue result,
                                         Object var)
Consolidates a list of results into one binding set. It appends all the binding lists into one binding set unfiltered unless you send in a variable, in which it only keeps those variable bindings. If any of the binding sets is :FAILURE, this method returns null.

Parameters:
result - the set of results, form (:SUCCESS . bindingSet)
var - an optional variable to be collected.

Algernon Software