com.cyc.cycjava.cycl
Class transform_list_utilities

java.lang.Object
  extended by com.cyc.tool.subl.util.SubLTrampolineFile
      extended by com.cyc.tool.subl.util.SubLTranslatedFile
          extended by com.cyc.cycjava.cycl.transform_list_utilities
All Implemented Interfaces:
CommonSymbols, SubLFile

public final class transform_list_utilities
extends SubLTranslatedFile


Nested Class Summary
 
Nested classes/interfaces inherited from class com.cyc.tool.subl.util.SubLTranslatedFile
SubLTranslatedFile.SubL
 
Field Summary
static SubLSymbol $default_quiescent_transformation_max$
           
static SubLSymbol $default_recursion_limit$
           
static SubLSymbol $default_transformation_max$
           
static SubLInteger $int0$212
           
static SubLInteger $int1$1024
           
static SubLSymbol $kw4$TRANSFORMATION_LIMIT_EXCEEDED
           
static SubLList $list11
           
static SubLList $list13
           
static SubLList $list5
           
static SubLList $list9
           
static SubLSymbol $sym10$RPLACA
           
static SubLSymbol $sym12$CDR
           
static SubLSymbol $sym14$RPLACD
           
static SubLSymbol $sym15$QUIESCENT_TRANSFORM
           
static SubLSymbol $sym16$QUIESCENT_NTRANSFORM
           
static SubLSymbol $sym2$TRANSFORM
           
static SubLSymbol $sym3$NTRANSFORM
           
static SubLSymbol $sym6$CAR
           
static SubLSymbol $sym7$CADR
           
static SubLSymbol $sym8$CDDR
           
static SubLFile me
           
static java.lang.String myName
           
 
Fields inherited from class com.cyc.tool.subl.util.SubLTranslatedFile
EMPTY_SUBL_OBJECT_ARRAY
 
Fields inherited from interface com.cyc.tool.subl.jrtl.nativeCode.subLisp.CommonSymbols
ANSWER_TAG, APPEND_KEYWORD, APPEND_STACK_TRACES_TO_ERROR_MESSAGES, AREF, ASSEMBLE_FIXNUMS_TO_INTEGER, ATOM, BIGNUMP, BINARY_KEYWORD, BINDING_TYPE, BOOLEANP, CAAR, CADR, CAND, CAR, CCATCH, CDEC, CDESTRUCTURING_BIND, CDO, CDO_ALL_SYMBOLS, CDO_EXTERNAL_SYMBOLS, CDO_SYMBOLS, CDOHASH, CDOLIST, CDOTIMES, CDR, CHAR, CHAR_E_SYMBOL, CHAR_EQUAL_SYMBOL, CHAR_GREATER_THAN_OR_EQUAL_SYMBOL, CHAR_GREATER_THAN_SYMBOL, CHAR_GT_SYMBOL, CHAR_GTE_SYMBOL, CHAR_LESS_THAN_OR_EQUAL_SYMBOL, CHAR_LESS_THAN_SYMBOL, CHAR_LT_SYMBOL, CHAR_LTE_SYMBOL, CHAR_NE_SYMBOL, CHAR_NOT_EQUAL_SYMBOL, CHARACTERP, CHECK_TYPE, CINC, CLET, CMULTIPLE_VALUE_BIND, CNOT, CONS, CONSP, CONSTANT, COR, CPOP, CPROGV, CPUSH, CPUSHNEW, CREATE_KEYWORD, CSETF, CSETQ, CSOME, CTIME, CUNWIND_PROTECT, CVS_ID, DEBUG_IO, DECLAIM, DECLARE, DEFCONSTANT, DEFINE, DEFLEXICAL, DEFMACRO, DEFPARAMETER, DEFVAR, DIRECTION_KEYWORD, DYNAMIC, EIGHT_INTEGER, EIGHTEEN_INTEGER, ELEMENT_TYPE_KEYWORD, ELEVEN_INTEGER, END_KEYWORD, ENFORCE_MUST, ENFORCE_TYPE, EQ, EQL, EQUAL, EQUALP, ERROR, ERROR_KEYWORD, ERROR_OUTPUT, EVAL, EXTERNAL_FORMAT_KEYWORD, EXTERNAL_KEYWORD, FIF, FIFTEEN_INTEGER, FIRST, FIVE_INTEGER, FIXNUMP, FLOATP, FOUR_INTEGER, FOURTEEN_INTEGER, FUNCTION, FUNCTION_SPEC_P, FUNCTIONP, FUNLESS, FWHEN, GET, GETHASH, GETHASH_WITHOUT_VALUES, GUID_P, HASH_TABLE_ITERATOR_P, HASH_TABLE_P, IDENTITY, IF_DOES_NOT_EXIST_KEYWORD, IF_EXISTS_KEYWORD, IGNORE, INITIALIZATION_TYPE, INITIALIZER, INPUT_KEYWORD, INPUT_STREAM_P, INTEGERP, INTERNAL_KEYWORD, IO_KEYWORD, KEYWORDP, KILL_KEYWORD, LAMBDA_SYMBOL, LEXICAL, LIST, LISTP, LISTS, LOCK_P, LONG_BIGNUM_P, MACRO_ENV, MACRO_FORM, MEDIUM_BIGNUM_P, MEMBER, MINUS_ONE_INTEGER, MULTIPLE_VALUE_LIST, MUST, NCONC, NEW_VERSION_KEYWORD, NIL, NINE_INTEGER, NINETEEN_INTEGER, NREVERSE, NTH, NTH_VALUE, NULL, NULL_INPUT, NULL_OUTPUT, NUM_E_SYMBOL, NUM_GT_SYMBOL, NUM_GTE_SYMBOL, NUM_LT_SYMBOL, NUM_LTE_SYMBOL, NUM_NE_SYMBOL, NUMBERP, ONE_HUNDRED_THIRTY_SEVEN_INTEGER, ONE_HUNDRED_TWENTY_SEVEN_INTEGER, ONE_INTEGER, ONE_THOUSAND_INTEGER, OPTIONAL_SYMBOL, OTHERWISE, OUTPUT_KEYWORD, OUTPUT_STREAM_P, OVERWRITE_KEYWORD, PACKAGEP, PCASE, PCOND, PIF, PROBE_KEYWORD, PROCESS_TO_END, PROCESSP, PROCLAIM, PROGN, PUNLESS, PWHEN, QUERY_IO, QUIT, QUOTE, RENAME_AND_DELETE_KEYWORD, REST_SYMBOL, RET, RET_NIL, RET_T, RETURN_TAG, REVERSE, RW_LOCK_P, SECOND, SEQUENCEP, SEVEN_INTEGER, SEVENTEEN_INTEGER, SHORT_BIGNUM_P, SHOW_STACK_TRACES, SIX_INTEGER, SIXTEEN_INTEGER, SIXTY_FOUR_INTEGER, SORT, SSS, STANDARD_INPUT, STANDARD_OUTPUT, START_KEYWORD, STREAMP, STRING_E_SYMBOL, STRING_EQUAL_SYMBOL, STRING_GREATER_THAN_OR_EQUAL_SYMBOL, STRING_GREATER_THAN_SYMBOL, STRING_GT_SYMBOL, STRING_GTE_SYMBOL, STRING_LESS_THAN_OR_EQUAL_SYMBOL, STRING_LESS_THAN_SYMBOL, STRING_LT_SYMBOL, STRING_LTE_SYMBOL, STRING_NE_SYMBOL, STRING_NOT_EQUAL_SYMBOL, STRINGP, STRUCTURE_P, SUPERSEDE_KEYWORD, SUSPEND_TYPE_CHECKING, SYMBOL_FUNCTION, SYMBOL_VALUE, SYMBOLP, T, TEN_INTEGER, TERMINAL_IO, TEXT_KEYWORD, THIRTEEN_INTEGER, THIRTY_FOUR_INTEGER, THIRTY_THREE_INTEGER, THIRTY_TWO_INTEGER, THREE_INTEGER, TRACE_OUTPUT, TRUE, TWELVE_INTEGER, TWENTY_INTEGER, TWO_HUNDRED_FIFTY_FOUR_INTEGER, TWO_HUNDRED_FORTY_FOUR_INTEGER, TWO_INTEGER, UNDECLARED, UNPROVIDED, VALUES, VECTOR, VECTORP, WITH_ERROR_HANDLER, WITH_STATIC_AREA, WITH_THREAD_PRIVATE_AREA, WITH_WORKING_AREA, WORLD, ZERO_DOUBLE, ZERO_INTEGER
 
Method Summary
static SubLObject declare_transform_list_utilities_file()
           
 void declareFunctions()
          Declares the mapping between functions and symbols for all named functions defined in the file.
static SubLObject init_transform_list_utilities_file()
           
 void initializeVariables()
          Initializes all global variables and private internal variables for constants defined in the file.
static SubLObject ntransform_perform_transform(SubLObject object, SubLObject pred, SubLObject transform, SubLObject key)
           
static SubLObject ntransform_recursive(SubLObject object, SubLObject pred, SubLObject transform, SubLObject key, SubLObject recursion_limit, SubLObject recursion_level)
          A destructive recursive version of $xref transform.
static SubLObject ntransform(SubLObject object, SubLObject pred, SubLObject transform, SubLObject key, SubLObject recursion_limit, SubLObject transformation_max)
          A destructive version of @xref transform.
static SubLObject quiescent_ntransform(SubLObject object, SubLObject pred, SubLObject transform, SubLObject key, SubLObject quiescence, SubLObject recursion_limit, SubLObject transformation_max)
          Calls 'quiescent-ntransform-recursive' to iteratively transform object and then its transformation using 'transform' so long as 'pred' succeeds and the application of 'quiescence' to the transformation of the object fails.
static SubLObject quiescent_transform(SubLObject object, SubLObject pred, SubLObject transform, SubLObject key, SubLObject quiescence)
           
 void runTopLevelForms()
          Runs all top-level forms in order.
static SubLObject setup_transform_list_utilities_file()
           
static SubLObject shy_ntransform_perform_quiescent_transform(SubLObject object, SubLObject pred, SubLObject transform, SubLObject key, SubLObject quiescence, SubLObject transformation_max, SubLObject transformation_count)
           
static SubLObject shy_quiescent_ntransform_recursive(SubLObject object, SubLObject pred, SubLObject transform, SubLObject key, SubLObject quiescence, SubLObject recursion_limit, SubLObject recursion_level, SubLObject transformation_max, SubLObject transformation_count)
          See documentation for quiescent-ntransform.
static SubLObject transform_pred_funcall(SubLObject pred, SubLObject object)
           
static SubLObject transform_transform_funcall(SubLObject transform, SubLObject object)
           
static SubLObject transform(SubLObject object, SubLObject pred, SubLObject transform, SubLObject key)
          Recursively descends through OBJECT, destructively applying TRANSFORM when PRED succeeds.
 
Methods inherited from class com.cyc.tool.subl.util.SubLTranslatedFile
extractFunctionNamed
 
Methods inherited from class com.cyc.tool.subl.util.SubLTrampolineFile
checkType, enforceType, extractBinaryFunc, extractCount, extractEnd, extractEndUsingSize, extractPackage, extractStart, extractUnaryFunc, main
 
Methods inherited from class java.lang.Object
equals, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

me

public static final SubLFile me

myName

public static final java.lang.String myName
See Also:
Constant Field Values

$default_recursion_limit$

public static SubLSymbol $default_recursion_limit$

$default_transformation_max$

public static SubLSymbol $default_transformation_max$

$default_quiescent_transformation_max$

public static SubLSymbol $default_quiescent_transformation_max$

$int0$212

public static final SubLInteger $int0$212

$int1$1024

public static final SubLInteger $int1$1024

$sym2$TRANSFORM

public static final SubLSymbol $sym2$TRANSFORM

$sym3$NTRANSFORM

public static final SubLSymbol $sym3$NTRANSFORM

$kw4$TRANSFORMATION_LIMIT_EXCEEDED

public static final SubLSymbol $kw4$TRANSFORMATION_LIMIT_EXCEEDED

$list5

public static final SubLList $list5

$sym6$CAR

public static final SubLSymbol $sym6$CAR

$sym7$CADR

public static final SubLSymbol $sym7$CADR

$sym8$CDDR

public static final SubLSymbol $sym8$CDDR

$list9

public static final SubLList $list9

$sym10$RPLACA

public static final SubLSymbol $sym10$RPLACA

$list11

public static final SubLList $list11

$sym12$CDR

public static final SubLSymbol $sym12$CDR

$list13

public static final SubLList $list13

$sym14$RPLACD

public static final SubLSymbol $sym14$RPLACD

$sym15$QUIESCENT_TRANSFORM

public static final SubLSymbol $sym15$QUIESCENT_TRANSFORM

$sym16$QUIESCENT_NTRANSFORM

public static final SubLSymbol $sym16$QUIESCENT_NTRANSFORM
Method Detail

transform_pred_funcall

public static final SubLObject transform_pred_funcall(SubLObject pred,
                                                      SubLObject object)

transform_transform_funcall

public static final SubLObject transform_transform_funcall(SubLObject transform,
                                                           SubLObject object)

transform

public static final SubLObject transform(SubLObject object,
                                         SubLObject pred,
                                         SubLObject transform,
                                         SubLObject key)
Recursively descends through OBJECT, destructively applying TRANSFORM when PRED succeeds. Make sure that the result of TRANSFORM will not succeed on PRED, otherwise it may 'infinitely' recurse. example: (transform '(1 "2" (3 4 "5")) #'stringp 'read-from-string) -> (1 2 (3 4 5))

Throws:
:transformation-limit-exceeded

ntransform

public static final SubLObject ntransform(SubLObject object,
                                          SubLObject pred,
                                          SubLObject transform,
                                          SubLObject key,
                                          SubLObject recursion_limit,
                                          SubLObject transformation_max)
A destructive version of @xref transform.

Parameters:
object; - The object to be transformed.
pred; - A predicate that returns true if an object is to be transformed by transform.
transform; - A function that returns the result of transforming an object.
key; - A function that maps an object to a value that is to be transformed.
recursion-limit; - The maximum depth that the algorithm is allowed to recurse. Once this limit is exceeded, the transformation continues by means of an iterative algorithm.
transformation-max; - The maximum number of transformations to be performed before throwing :transformation-limit-exceeded. If this parameter is given NIL as a value, no limit is imposed on the number of transformations.
Throws:
:transformation-limit-exceeded

ntransform_recursive

public static final SubLObject ntransform_recursive(SubLObject object,
                                                    SubLObject pred,
                                                    SubLObject transform,
                                                    SubLObject key,
                                                    SubLObject recursion_limit,
                                                    SubLObject recursion_level)
A destructive recursive version of $xref transform. This function transforms as it iterates down the cdr of transformations and recurses as it transforms their cars. When the recusion limit is reached, it switches to a purely iterative algorithm by calling ntransform-iterative.


ntransform_perform_transform

public static final SubLObject ntransform_perform_transform(SubLObject object,
                                                            SubLObject pred,
                                                            SubLObject transform,
                                                            SubLObject key)

quiescent_transform

public static final SubLObject quiescent_transform(SubLObject object,
                                                   SubLObject pred,
                                                   SubLObject transform,
                                                   SubLObject key,
                                                   SubLObject quiescence)

quiescent_ntransform

public static final SubLObject quiescent_ntransform(SubLObject object,
                                                    SubLObject pred,
                                                    SubLObject transform,
                                                    SubLObject key,
                                                    SubLObject quiescence,
                                                    SubLObject recursion_limit,
                                                    SubLObject transformation_max)
Calls 'quiescent-ntransform-recursive' to iteratively transform object and then its transformation using 'transform' so long as 'pred' succeeds and the application of 'quiescence' to the transformation of the object fails. Upon finishing a series of transformations, 'quiescent-ntransform-recursive' is then recursively applied to the 'car' of the transformation while successive 'cdrs' of the transformation are transformed according to the same algorithm. If, in the process of transformation, the recursion limit 'recusion-limit' is reached, then 'quiescent-ntransform-iterative' is called to solve the subtransformation without recursion.

Parameters:
recursion-limit; - The maximum depth that the algorithm is allowed to recurse. Once this limit is exceeded, the transformation continues by means of an iterative algorithm.
transformation-max; - The maximum number of transformations to be performed before throwing :transformation-limit-exceeded. If this parameter is given NIL as a value, no limit is imposed on the number of transformations.
Throws:
:transformation-limit-exceeded

shy_quiescent_ntransform_recursive

public static final SubLObject shy_quiescent_ntransform_recursive(SubLObject object,
                                                                  SubLObject pred,
                                                                  SubLObject transform,
                                                                  SubLObject key,
                                                                  SubLObject quiescence,
                                                                  SubLObject recursion_limit,
                                                                  SubLObject recursion_level,
                                                                  SubLObject transformation_max,
                                                                  SubLObject transformation_count)
See documentation for quiescent-ntransform.


shy_ntransform_perform_quiescent_transform

public static final SubLObject shy_ntransform_perform_quiescent_transform(SubLObject object,
                                                                          SubLObject pred,
                                                                          SubLObject transform,
                                                                          SubLObject key,
                                                                          SubLObject quiescence,
                                                                          SubLObject transformation_max,
                                                                          SubLObject transformation_count)

declare_transform_list_utilities_file

public static final SubLObject declare_transform_list_utilities_file()

init_transform_list_utilities_file

public static final SubLObject init_transform_list_utilities_file()

setup_transform_list_utilities_file

public static final SubLObject setup_transform_list_utilities_file()

declareFunctions

public void declareFunctions()
Description copied from interface: SubLFile
Declares the mapping between functions and symbols for all named functions defined in the file. Like CRTL define.


initializeVariables

public void initializeVariables()
Description copied from interface: SubLFile
Initializes all global variables and private internal variables for constants defined in the file. Like CRTL init.


runTopLevelForms

public void runTopLevelForms()
Description copied from interface: SubLFile
Runs all top-level forms in order. Like CRTL setup.