\contentsline {section}{\numberline {0.1}Makefile}{1}{section.0.1}
\contentsline {chapter}{\numberline {1}Overview}{3}{chapter.1}
\contentsline {section}{\numberline {1.1}The Input}{4}{section.1.1}
\contentsline {section}{\numberline {1.2}The Output, the EQ.nrlib directory}{8}{section.1.2}
\contentsline {section}{\numberline {1.3}The code.lsp and EQ.lsp files}{9}{section.1.3}
\contentsline {section}{\numberline {1.4}The code.o file}{23}{section.1.4}
\contentsline {section}{\numberline {1.5}The info file}{23}{section.1.5}
\contentsline {section}{\numberline {1.6}The EQ.fn file}{26}{section.1.6}
\contentsline {section}{\numberline {1.7}The index.kaf file}{31}{section.1.7}
\contentsline {subsection}{\numberline {1.7.1}The index offset byte}{33}{subsection.1.7.1}
\contentsline {subsection}{\numberline {1.7.2}The ``loadTimeStuff''}{33}{subsection.1.7.2}
\contentsline {subsection}{\numberline {1.7.3}The ``compilerInfo''}{35}{subsection.1.7.3}
\contentsline {subsection}{\numberline {1.7.4}The ``constructorForm''}{42}{subsection.1.7.4}
\contentsline {subsection}{\numberline {1.7.5}The ``constructorKind''}{42}{subsection.1.7.5}
\contentsline {subsection}{\numberline {1.7.6}The ``constructorModemap''}{42}{subsection.1.7.6}
\contentsline {subsection}{\numberline {1.7.7}The ``constructorCategory''}{44}{subsection.1.7.7}
\contentsline {subsection}{\numberline {1.7.8}The ``sourceFile''}{45}{subsection.1.7.8}
\contentsline {subsection}{\numberline {1.7.9}The ``modemaps''}{45}{subsection.1.7.9}
\contentsline {subsection}{\numberline {1.7.10}The ``operationAlist''}{47}{subsection.1.7.10}
\contentsline {subsection}{\numberline {1.7.11}The ``superDomain''}{49}{subsection.1.7.11}
\contentsline {subsection}{\numberline {1.7.12}The ``signaturesAndLocals''}{49}{subsection.1.7.12}
\contentsline {subsection}{\numberline {1.7.13}The ``attributes''}{49}{subsection.1.7.13}
\contentsline {subsection}{\numberline {1.7.14}The ``predicates''}{49}{subsection.1.7.14}
\contentsline {subsection}{\numberline {1.7.15}The ``abbreviation''}{50}{subsection.1.7.15}
\contentsline {subsection}{\numberline {1.7.16}The ``parents''}{50}{subsection.1.7.16}
\contentsline {subsection}{\numberline {1.7.17}The ``ancestors''}{51}{subsection.1.7.17}
\contentsline {subsection}{\numberline {1.7.18}The ``documentation''}{51}{subsection.1.7.18}
\contentsline {subsection}{\numberline {1.7.19}The ``slotInfo''}{53}{subsection.1.7.19}
\contentsline {subsection}{\numberline {1.7.20}The ``index''}{55}{subsection.1.7.20}
\contentsline {chapter}{\numberline {2}Compiler top level}{57}{chapter.2}
\contentsline {section}{\numberline {2.1}Global Data Structures}{57}{section.2.1}
\contentsline {section}{\numberline {2.2}Pratt Parsing}{57}{section.2.2}
\contentsline {section}{\numberline {2.3})compile}{58}{section.2.3}
\contentsline {subsection}{\numberline {2.3.1}Spad compiler}{61}{subsection.2.3.1}
\contentsline {section}{\numberline {2.4}Operator Precedence Table Initialization}{62}{section.2.4}
\contentsline {subsection}{\numberline {2.4.1}LED and NUD Tables}{62}{subsection.2.4.1}
\contentsline {section}{\numberline {2.5}Gliph Table}{65}{section.2.5}
\contentsline {subsection}{\numberline {2.5.1}Rename Token Table}{65}{subsection.2.5.1}
\contentsline {subsection}{\numberline {2.5.2}Generic function table}{66}{subsection.2.5.2}
\contentsline {section}{\numberline {2.6}Giant steps, Baby steps}{66}{section.2.6}
\contentsline {chapter}{\numberline {3}The Parser}{67}{chapter.3}
\contentsline {section}{\numberline {3.1}EQ.spad}{67}{section.3.1}
\contentsline {section}{\numberline {3.2}boot transformations}{71}{section.3.2}
\contentsline {subsection}{\numberline {3.2.1}defun string2BootTree}{71}{subsection.3.2.1}
\contentsline {subsection}{\numberline {3.2.2}defun new2OldLisp}{72}{subsection.3.2.2}
\contentsline {subsection}{\numberline {3.2.3}defun new2OldTran}{72}{subsection.3.2.3}
\contentsline {subsection}{\numberline {3.2.4}defun newIf2Cond}{73}{subsection.3.2.4}
\contentsline {subsection}{\numberline {3.2.5}defun newDef2Def}{74}{subsection.3.2.5}
\contentsline {subsection}{\numberline {3.2.6}defun new2OldDefForm}{74}{subsection.3.2.6}
\contentsline {subsection}{\numberline {3.2.7}defun newConstruct}{74}{subsection.3.2.7}
\contentsline {section}{\numberline {3.3}preparse}{75}{section.3.3}
\contentsline {subsection}{\numberline {3.3.1}defvar \${index}}{75}{subsection.3.3.1}
\contentsline {subsection}{\numberline {3.3.2}defvar \${linelist}}{75}{subsection.3.3.2}
\contentsline {subsection}{\numberline {3.3.3}defvar \${echolinestack}}{75}{subsection.3.3.3}
\contentsline {subsection}{\numberline {3.3.4}defvar \${preparse-last-line}}{76}{subsection.3.3.4}
\contentsline {section}{\numberline {3.4}Parsing routines}{76}{section.3.4}
\contentsline {subsection}{\numberline {3.4.1}defun initialize-preparse}{76}{subsection.3.4.1}
\contentsline {subsection}{\numberline {3.4.2}defun preparse}{80}{subsection.3.4.2}
\contentsline {subsection}{\numberline {3.4.3}defun Build the lines from the input for piles}{84}{subsection.3.4.3}
\contentsline {subsection}{\numberline {3.4.4}defun parsepiles}{87}{subsection.3.4.4}
\contentsline {subsection}{\numberline {3.4.5}defun add-parens-and-semis-to-line}{88}{subsection.3.4.5}
\contentsline {subsection}{\numberline {3.4.6}defun preparseReadLine}{89}{subsection.3.4.6}
\contentsline {subsection}{\numberline {3.4.7}defun skip-ifblock}{89}{subsection.3.4.7}
\contentsline {subsection}{\numberline {3.4.8}defun preparseReadLine1}{90}{subsection.3.4.8}
\contentsline {subsection}{\numberline {3.4.9}defun expand-tabs}{91}{subsection.3.4.9}
\contentsline {section}{\numberline {3.5}I/O Handling}{92}{section.3.5}
\contentsline {subsection}{\numberline {3.5.1}defun preparse-echo}{92}{subsection.3.5.1}
\contentsline {subsection}{\numberline {3.5.2}Parsing stack}{92}{subsection.3.5.2}
\contentsline {subsection}{\numberline {3.5.3}defstruct \${stack}}{92}{subsection.3.5.3}
\contentsline {subsection}{\numberline {3.5.4}defun stack-load}{92}{subsection.3.5.4}
\contentsline {subsection}{\numberline {3.5.5}defun stack-clear}{93}{subsection.3.5.5}
\contentsline {subsection}{\numberline {3.5.6}defmacro {stack-/-empty}}{93}{subsection.3.5.6}
\contentsline {subsection}{\numberline {3.5.7}defun stack-push}{93}{subsection.3.5.7}
\contentsline {subsection}{\numberline {3.5.8}defun stack-pop}{94}{subsection.3.5.8}
\contentsline {subsection}{\numberline {3.5.9}Parsing token}{94}{subsection.3.5.9}
\contentsline {subsection}{\numberline {3.5.10}defstruct \${token}}{94}{subsection.3.5.10}
\contentsline {subsection}{\numberline {3.5.11}defvar \${prior-token}}{94}{subsection.3.5.11}
\contentsline {subsection}{\numberline {3.5.12}defvar \${nonblank}}{95}{subsection.3.5.12}
\contentsline {subsection}{\numberline {3.5.13}defvar \${current-token}}{95}{subsection.3.5.13}
\contentsline {subsection}{\numberline {3.5.14}defvar \${next-token}}{95}{subsection.3.5.14}
\contentsline {subsection}{\numberline {3.5.15}defvar \${valid-tokens}}{95}{subsection.3.5.15}
\contentsline {subsection}{\numberline {3.5.16}defun token-install}{96}{subsection.3.5.16}
\contentsline {subsection}{\numberline {3.5.17}defun token-print}{96}{subsection.3.5.17}
\contentsline {subsection}{\numberline {3.5.18}Parsing reduction}{96}{subsection.3.5.18}
\contentsline {subsection}{\numberline {3.5.19}defstruct \${reduction}}{96}{subsection.3.5.19}
\contentsline {chapter}{\numberline {4}Parse Transformers}{97}{chapter.4}
\contentsline {section}{\numberline {4.1}Direct called parse routines}{97}{section.4.1}
\contentsline {subsection}{\numberline {4.1.1}defun parseTransform}{97}{subsection.4.1.1}
\contentsline {subsection}{\numberline {4.1.2}defun parseTran}{97}{subsection.4.1.2}
\contentsline {subsection}{\numberline {4.1.3}defun parseAtom}{98}{subsection.4.1.3}
\contentsline {subsection}{\numberline {4.1.4}defun parseTranList}{99}{subsection.4.1.4}
\contentsline {subsection}{\numberline {4.1.5}defplist parseConstruct}{99}{subsection.4.1.5}
\contentsline {subsection}{\numberline {4.1.6}defun parseConstruct}{99}{subsection.4.1.6}
\contentsline {section}{\numberline {4.2}Indirect called parse routines}{100}{section.4.2}
\contentsline {subsection}{\numberline {4.2.1}defplist parseAnd}{101}{subsection.4.2.1}
\contentsline {subsection}{\numberline {4.2.2}defun parseAnd}{101}{subsection.4.2.2}
\contentsline {subsection}{\numberline {4.2.3}defplist parseAtSign}{101}{subsection.4.2.3}
\contentsline {subsection}{\numberline {4.2.4}defun parseAtSign}{102}{subsection.4.2.4}
\contentsline {subsection}{\numberline {4.2.5}defun parseType}{102}{subsection.4.2.5}
\contentsline {subsection}{\numberline {4.2.6}defplist parseCategory}{102}{subsection.4.2.6}
\contentsline {subsection}{\numberline {4.2.7}defun parseCategory}{103}{subsection.4.2.7}
\contentsline {subsection}{\numberline {4.2.8}defun parseDropAssertions}{103}{subsection.4.2.8}
\contentsline {subsection}{\numberline {4.2.9}defplist parseCoerce}{103}{subsection.4.2.9}
\contentsline {subsection}{\numberline {4.2.10}defun parseCoerce}{104}{subsection.4.2.10}
\contentsline {subsection}{\numberline {4.2.11}defplist parseColon}{104}{subsection.4.2.11}
\contentsline {subsection}{\numberline {4.2.12}defun parseColon}{104}{subsection.4.2.12}
\contentsline {subsection}{\numberline {4.2.13}defplist parseDEF}{105}{subsection.4.2.13}
\contentsline {subsection}{\numberline {4.2.14}defun parseDEF}{105}{subsection.4.2.14}
\contentsline {subsection}{\numberline {4.2.15}defun parseLhs}{106}{subsection.4.2.15}
\contentsline {subsection}{\numberline {4.2.16}defun transIs}{106}{subsection.4.2.16}
\contentsline {subsection}{\numberline {4.2.17}defun transIs1}{106}{subsection.4.2.17}
\contentsline {subsection}{\numberline {4.2.18}defun isListConstructor}{107}{subsection.4.2.18}
\contentsline {subsection}{\numberline {4.2.19}defplist parseDollarGreaterthan}{107}{subsection.4.2.19}
\contentsline {subsection}{\numberline {4.2.20}defun parseDollarGreaterThan}{108}{subsection.4.2.20}
\contentsline {subsection}{\numberline {4.2.21}defplist parseDollarGreaterEqual}{108}{subsection.4.2.21}
\contentsline {subsection}{\numberline {4.2.22}defun parseDollarGreaterEqual}{108}{subsection.4.2.22}
\contentsline {subsection}{\numberline {4.2.23}defun parseDollarLessEqual}{109}{subsection.4.2.23}
\contentsline {subsection}{\numberline {4.2.24}defplist parseDollarNotEqual}{109}{subsection.4.2.24}
\contentsline {subsection}{\numberline {4.2.25}defun parseDollarNotEqual}{109}{subsection.4.2.25}
\contentsline {subsection}{\numberline {4.2.26}defplist parseEquivalence}{110}{subsection.4.2.26}
\contentsline {subsection}{\numberline {4.2.27}defun parseEquivalence}{110}{subsection.4.2.27}
\contentsline {subsection}{\numberline {4.2.28}defplist parseExit}{110}{subsection.4.2.28}
\contentsline {subsection}{\numberline {4.2.29}defun parseExit}{110}{subsection.4.2.29}
\contentsline {subsection}{\numberline {4.2.30}defplist parseGreaterEqual}{111}{subsection.4.2.30}
\contentsline {subsection}{\numberline {4.2.31}defun parseGreaterEqual}{111}{subsection.4.2.31}
\contentsline {subsection}{\numberline {4.2.32}defplist parseGreaterThan}{111}{subsection.4.2.32}
\contentsline {subsection}{\numberline {4.2.33}defun parseGreaterThan}{112}{subsection.4.2.33}
\contentsline {subsection}{\numberline {4.2.34}defplist parseHas}{112}{subsection.4.2.34}
\contentsline {subsection}{\numberline {4.2.35}defun parseHas}{112}{subsection.4.2.35}
\contentsline {subsection}{\numberline {4.2.36}defun parseHasRhs}{114}{subsection.4.2.36}
\contentsline {subsection}{\numberline {4.2.37}defun loadIfNecessary}{114}{subsection.4.2.37}
\contentsline {subsection}{\numberline {4.2.38}defun loadLibIfNecessary}{115}{subsection.4.2.38}
\contentsline {subsection}{\numberline {4.2.39}defun updateCategoryFrameForConstructor}{116}{subsection.4.2.39}
\contentsline {subsection}{\numberline {4.2.40}defun convertOpAlist2compilerInfo}{116}{subsection.4.2.40}
\contentsline {subsection}{\numberline {4.2.41}defun updateCategoryFrameForCategory}{117}{subsection.4.2.41}
\contentsline {subsection}{\numberline {4.2.42}defplist parseIf}{117}{subsection.4.2.42}
\contentsline {subsection}{\numberline {4.2.43}defun parseIf}{118}{subsection.4.2.43}
\contentsline {subsection}{\numberline {4.2.44}defun parseIf,ifTran}{118}{subsection.4.2.44}
\contentsline {subsection}{\numberline {4.2.45}defplist parseImplies}{120}{subsection.4.2.45}
\contentsline {subsection}{\numberline {4.2.46}defun parseImplies}{120}{subsection.4.2.46}
\contentsline {subsection}{\numberline {4.2.47}defplist parseIn}{121}{subsection.4.2.47}
\contentsline {subsection}{\numberline {4.2.48}defun parseIn}{121}{subsection.4.2.48}
\contentsline {subsection}{\numberline {4.2.49}defplist parseInBy}{122}{subsection.4.2.49}
\contentsline {subsection}{\numberline {4.2.50}defun parseInBy}{122}{subsection.4.2.50}
\contentsline {subsection}{\numberline {4.2.51}defplist parseIs}{123}{subsection.4.2.51}
\contentsline {subsection}{\numberline {4.2.52}defun parseIs}{123}{subsection.4.2.52}
\contentsline {subsection}{\numberline {4.2.53}defplist parseIsnt}{123}{subsection.4.2.53}
\contentsline {subsection}{\numberline {4.2.54}defun parseIsnt}{123}{subsection.4.2.54}
\contentsline {subsection}{\numberline {4.2.55}defplist parseJoin}{124}{subsection.4.2.55}
\contentsline {subsection}{\numberline {4.2.56}defun parseJoin}{124}{subsection.4.2.56}
\contentsline {subsection}{\numberline {4.2.57}defplist parseLeave}{124}{subsection.4.2.57}
\contentsline {subsection}{\numberline {4.2.58}defun parseLeave}{125}{subsection.4.2.58}
\contentsline {subsection}{\numberline {4.2.59}defplist parseLessEqual}{125}{subsection.4.2.59}
\contentsline {subsection}{\numberline {4.2.60}defun parseLessEqual}{125}{subsection.4.2.60}
\contentsline {subsection}{\numberline {4.2.61}defplist parseLET}{126}{subsection.4.2.61}
\contentsline {subsection}{\numberline {4.2.62}defun parseLET}{126}{subsection.4.2.62}
\contentsline {subsection}{\numberline {4.2.63}defplist parseLETD}{126}{subsection.4.2.63}
\contentsline {subsection}{\numberline {4.2.64}defun parseLETD}{127}{subsection.4.2.64}
\contentsline {subsection}{\numberline {4.2.65}defplist parseMDEF}{127}{subsection.4.2.65}
\contentsline {subsection}{\numberline {4.2.66}defun parseMDEF}{127}{subsection.4.2.66}
\contentsline {subsection}{\numberline {4.2.67}defplist parseNot}{128}{subsection.4.2.67}
\contentsline {subsection}{\numberline {4.2.68}defplist parseNot}{128}{subsection.4.2.68}
\contentsline {subsection}{\numberline {4.2.69}defun parseNot}{128}{subsection.4.2.69}
\contentsline {subsection}{\numberline {4.2.70}defplist parseNotEqual}{129}{subsection.4.2.70}
\contentsline {subsection}{\numberline {4.2.71}defun parseNotEqual}{129}{subsection.4.2.71}
\contentsline {subsection}{\numberline {4.2.72}defplist parseOr}{129}{subsection.4.2.72}
\contentsline {subsection}{\numberline {4.2.73}defun parseOr}{129}{subsection.4.2.73}
\contentsline {subsection}{\numberline {4.2.74}defplist parsePretend}{130}{subsection.4.2.74}
\contentsline {subsection}{\numberline {4.2.75}defun parsePretend}{130}{subsection.4.2.75}
\contentsline {subsection}{\numberline {4.2.76}defplist parseReturn}{131}{subsection.4.2.76}
\contentsline {subsection}{\numberline {4.2.77}defun parseReturn}{131}{subsection.4.2.77}
\contentsline {subsection}{\numberline {4.2.78}defplist parseSegment}{131}{subsection.4.2.78}
\contentsline {subsection}{\numberline {4.2.79}defun parseSegment}{131}{subsection.4.2.79}
\contentsline {subsection}{\numberline {4.2.80}defplist parseSeq}{132}{subsection.4.2.80}
\contentsline {subsection}{\numberline {4.2.81}defun parseSeq}{132}{subsection.4.2.81}
\contentsline {subsection}{\numberline {4.2.82}defplist parseVCONS}{132}{subsection.4.2.82}
\contentsline {subsection}{\numberline {4.2.83}defun parseVCONS}{133}{subsection.4.2.83}
\contentsline {subsection}{\numberline {4.2.84}defplist parseWhere}{133}{subsection.4.2.84}
\contentsline {subsection}{\numberline {4.2.85}defun parseWhere}{133}{subsection.4.2.85}
\contentsline {chapter}{\numberline {5}Compile Transformers}{135}{chapter.5}
\contentsline {subsection}{\numberline {5.0.86}defun compExpression}{135}{subsection.5.0.86}
\contentsline {section}{\numberline {5.1}Handline Category DEF forms}{138}{section.5.1}
\contentsline {subsection}{\numberline {5.1.1}defplist compDefine plist}{140}{subsection.5.1.1}
\contentsline {subsection}{\numberline {5.1.2}defun compDefine}{140}{subsection.5.1.2}
\contentsline {subsection}{\numberline {5.1.3}defun compDefine1}{141}{subsection.5.1.3}
\contentsline {subsection}{\numberline {5.1.4}defun compDefineAddSignature}{143}{subsection.5.1.4}
\contentsline {subsection}{\numberline {5.1.5}defun compDefineFunctor}{144}{subsection.5.1.5}
\contentsline {subsection}{\numberline {5.1.6}defun compDefineFunctor1}{144}{subsection.5.1.6}
\contentsline {subsection}{\numberline {5.1.7}defun compDefineCapsuleFunction}{151}{subsection.5.1.7}
\contentsline {subsection}{\numberline {5.1.8}defun compInternalFunction}{155}{subsection.5.1.8}
\contentsline {subsection}{\numberline {5.1.9}defun compDefWhereClause}{155}{subsection.5.1.9}
\contentsline {subsection}{\numberline {5.1.10}defun compDefineCategory}{158}{subsection.5.1.10}
\contentsline {subsection}{\numberline {5.1.11}defun compDefineCategory1}{158}{subsection.5.1.11}
\contentsline {subsection}{\numberline {5.1.12}defun compDefineCategory2}{159}{subsection.5.1.12}
\contentsline {subsection}{\numberline {5.1.13}defun compDefineLisplib}{163}{subsection.5.1.13}
\contentsline {subsection}{\numberline {5.1.14}defun compileDocumentation}{165}{subsection.5.1.14}
\contentsline {subsection}{\numberline {5.1.15}defun compArgumentConditions}{166}{subsection.5.1.15}
\contentsline {subsection}{\numberline {5.1.16}defun compileCases}{167}{subsection.5.1.16}
\contentsline {subsection}{\numberline {5.1.17}defun compFunctorBody}{168}{subsection.5.1.17}
\contentsline {subsection}{\numberline {5.1.18}defun compile}{169}{subsection.5.1.18}
\contentsline {subsection}{\numberline {5.1.19}defvar \${NoValueMode}}{172}{subsection.5.1.19}
\contentsline {subsection}{\numberline {5.1.20}defvar \${EmptyMode}}{172}{subsection.5.1.20}
\contentsline {subsection}{\numberline {5.1.21}defun hasFullSignature}{172}{subsection.5.1.21}
\contentsline {subsection}{\numberline {5.1.22}defun addEmptyCapsuleIfNecessary}{173}{subsection.5.1.22}
\contentsline {subsection}{\numberline {5.1.23}defun getTargetFromRhs}{173}{subsection.5.1.23}
\contentsline {subsection}{\numberline {5.1.24}defun giveFormalParametersValues}{174}{subsection.5.1.24}
\contentsline {subsection}{\numberline {5.1.25}defun macroExpandInPlace}{174}{subsection.5.1.25}
\contentsline {subsection}{\numberline {5.1.26}defun macroExpand}{174}{subsection.5.1.26}
\contentsline {subsection}{\numberline {5.1.27}defun macroExpandList}{175}{subsection.5.1.27}
\contentsline {subsection}{\numberline {5.1.28}defun makeCategoryPredicates}{175}{subsection.5.1.28}
\contentsline {subsection}{\numberline {5.1.29}defun mkCategoryPackage}{176}{subsection.5.1.29}
\contentsline {subsection}{\numberline {5.1.30}defun mkEvalableCategoryForm}{178}{subsection.5.1.30}
\contentsline {subsection}{\numberline {5.1.31}defun encodeFunctionName}{179}{subsection.5.1.31}
\contentsline {subsection}{\numberline {5.1.32}defun mkRepititionAssoc}{180}{subsection.5.1.32}
\contentsline {subsection}{\numberline {5.1.33}defun splitEncodedFunctionName}{180}{subsection.5.1.33}
\contentsline {subsection}{\numberline {5.1.34}defun encodeItem}{181}{subsection.5.1.34}
\contentsline {subsection}{\numberline {5.1.35}defun getCaps}{181}{subsection.5.1.35}
\contentsline {subsection}{\numberline {5.1.36}defun constructMacro}{182}{subsection.5.1.36}
\contentsline {subsection}{\numberline {5.1.37}defun spadCompileOrSetq}{182}{subsection.5.1.37}
\contentsline {subsection}{\numberline {5.1.38}defun compileConstructor}{183}{subsection.5.1.38}
\contentsline {subsection}{\numberline {5.1.39}defun compileConstructor1}{184}{subsection.5.1.39}
\contentsline {subsection}{\numberline {5.1.40}defun compAndDefine}{185}{subsection.5.1.40}
\contentsline {subsection}{\numberline {5.1.41}defun putInLocalDomainReferences}{185}{subsection.5.1.41}
\contentsline {subsection}{\numberline {5.1.42}defun NRTputInTail}{185}{subsection.5.1.42}
\contentsline {subsection}{\numberline {5.1.43}defun NRTputInHead}{186}{subsection.5.1.43}
\contentsline {subsection}{\numberline {5.1.44}defun getArgumentModeOrMoan}{187}{subsection.5.1.44}
\contentsline {subsection}{\numberline {5.1.45}defun augLisplibModemapsFromCategory}{187}{subsection.5.1.45}
\contentsline {subsection}{\numberline {5.1.46}defun mkAlistOfExplicitCategoryOps}{189}{subsection.5.1.46}
\contentsline {subsection}{\numberline {5.1.47}defun flattenSignatureList}{190}{subsection.5.1.47}
\contentsline {subsection}{\numberline {5.1.48}defun interactiveModemapForm}{191}{subsection.5.1.48}
\contentsline {subsection}{\numberline {5.1.49}defun replaceVars}{192}{subsection.5.1.49}
\contentsline {subsection}{\numberline {5.1.50}defun fixUpPredicate}{192}{subsection.5.1.50}
\contentsline {subsection}{\numberline {5.1.51}defun orderPredicateItems}{193}{subsection.5.1.51}
\contentsline {subsection}{\numberline {5.1.52}defun signatureTran}{193}{subsection.5.1.52}
\contentsline {subsection}{\numberline {5.1.53}defun orderPredTran}{194}{subsection.5.1.53}
\contentsline {subsection}{\numberline {5.1.54}defun isDomainSubst}{196}{subsection.5.1.54}
\contentsline {subsection}{\numberline {5.1.55}defun moveORsOutside}{197}{subsection.5.1.55}
\contentsline {subsection}{\numberline {5.1.56}defun substVars}{198}{subsection.5.1.56}
\contentsline {subsection}{\numberline {5.1.57}defun modemapPattern}{199}{subsection.5.1.57}
\contentsline {subsection}{\numberline {5.1.58}defun evalAndRwriteLispForm}{200}{subsection.5.1.58}
\contentsline {subsection}{\numberline {5.1.59}defun rwriteLispForm}{200}{subsection.5.1.59}
\contentsline {subsection}{\numberline {5.1.60}defun mkConstructor}{201}{subsection.5.1.60}
\contentsline {subsection}{\numberline {5.1.61}defun unloadOneConstructor}{201}{subsection.5.1.61}
\contentsline {subsection}{\numberline {5.1.62}defun lisplibDoRename}{201}{subsection.5.1.62}
\contentsline {subsection}{\numberline {5.1.63}defun initializeLisplib}{202}{subsection.5.1.63}
\contentsline {subsection}{\numberline {5.1.64}defun writeLib1}{203}{subsection.5.1.64}
\contentsline {subsection}{\numberline {5.1.65}defun finalizeLisplib}{203}{subsection.5.1.65}
\contentsline {subsection}{\numberline {5.1.66}defun getConstructorOpsAndAtts}{205}{subsection.5.1.66}
\contentsline {subsection}{\numberline {5.1.67}defun getCategoryOpsAndAtts}{205}{subsection.5.1.67}
\contentsline {subsection}{\numberline {5.1.68}defun getSlotFromCategoryForm}{206}{subsection.5.1.68}
\contentsline {subsection}{\numberline {5.1.69}defun transformOperationAlist}{206}{subsection.5.1.69}
\contentsline {subsection}{\numberline {5.1.70}defun getFunctorOpsAndAtts}{208}{subsection.5.1.70}
\contentsline {subsection}{\numberline {5.1.71}defun getSlotFromFunctor}{208}{subsection.5.1.71}
\contentsline {subsection}{\numberline {5.1.72}defun compMakeCategoryObject}{208}{subsection.5.1.72}
\contentsline {subsection}{\numberline {5.1.73}defun mergeSignatureAndLocalVarAlists}{209}{subsection.5.1.73}
\contentsline {subsection}{\numberline {5.1.74}defun lisplibWrite}{209}{subsection.5.1.74}
\contentsline {subsection}{\numberline {5.1.75}defun isCategoryPackageName}{210}{subsection.5.1.75}
\contentsline {subsection}{\numberline {5.1.76}defun NRTgetLookupFunction}{210}{subsection.5.1.76}
\contentsline {subsection}{\numberline {5.1.77}defun NRTgetLocalIndex}{211}{subsection.5.1.77}
\contentsline {subsection}{\numberline {5.1.78}defun augmentLisplibModemapsFromFunctor}{212}{subsection.5.1.78}
\contentsline {subsection}{\numberline {5.1.79}defun allLASSOCs}{213}{subsection.5.1.79}
\contentsline {subsection}{\numberline {5.1.80}defun formal2Pattern}{214}{subsection.5.1.80}
\contentsline {subsection}{\numberline {5.1.81}defun mkDatabasePred}{214}{subsection.5.1.81}
\contentsline {subsection}{\numberline {5.1.82}defun disallowNilAttribute}{214}{subsection.5.1.82}
\contentsline {subsection}{\numberline {5.1.83}defun bootStrapError}{215}{subsection.5.1.83}
\contentsline {subsection}{\numberline {5.1.84}defun reportOnFunctorCompilation}{215}{subsection.5.1.84}
\contentsline {subsection}{\numberline {5.1.85}defun displayMissingFunctions}{216}{subsection.5.1.85}
\contentsline {subsection}{\numberline {5.1.86}defun makeFunctorArgumentParameters}{217}{subsection.5.1.86}
\contentsline {subsection}{\numberline {5.1.87}defun genDomainViewList0}{219}{subsection.5.1.87}
\contentsline {subsection}{\numberline {5.1.88}defun genDomainViewList}{219}{subsection.5.1.88}
\contentsline {subsection}{\numberline {5.1.89}defun genDomainView}{219}{subsection.5.1.89}
\contentsline {subsection}{\numberline {5.1.90}defun genDomainOps}{220}{subsection.5.1.90}
\contentsline {subsection}{\numberline {5.1.91}defun mkOpVec}{221}{subsection.5.1.91}
\contentsline {subsection}{\numberline {5.1.92}defun AssocBarGensym}{222}{subsection.5.1.92}
\contentsline {subsection}{\numberline {5.1.93}defun orderByDependency}{222}{subsection.5.1.93}
\contentsline {section}{\numberline {5.2}Code optimization routines}{223}{section.5.2}
\contentsline {subsection}{\numberline {5.2.1}defun optimizeFunctionDef}{223}{subsection.5.2.1}
\contentsline {subsection}{\numberline {5.2.2}defun optimize}{225}{subsection.5.2.2}
\contentsline {subsection}{\numberline {5.2.3}defun optXLAMCond}{226}{subsection.5.2.3}
\contentsline {subsection}{\numberline {5.2.4}defun optCONDtail}{226}{subsection.5.2.4}
\contentsline {subsection}{\numberline {5.2.5}defvar \${BasicPredicates}}{227}{subsection.5.2.5}
\contentsline {subsection}{\numberline {5.2.6}defun optPredicateIfTrue}{227}{subsection.5.2.6}
\contentsline {subsection}{\numberline {5.2.7}defun optIF2COND}{227}{subsection.5.2.7}
\contentsline {subsection}{\numberline {5.2.8}defun subrname}{228}{subsection.5.2.8}
\contentsline {subsection}{\numberline {5.2.9}Special case optimizers}{228}{subsection.5.2.9}
\contentsline {subsection}{\numberline {5.2.10}defplist optCall}{229}{subsection.5.2.10}
\contentsline {subsection}{\numberline {5.2.11}defun Optimize ``call'' expressions}{229}{subsection.5.2.11}
\contentsline {subsection}{\numberline {5.2.12}defun optPackageCall}{230}{subsection.5.2.12}
\contentsline {subsection}{\numberline {5.2.13}defun optCallSpecially}{231}{subsection.5.2.13}
\contentsline {subsection}{\numberline {5.2.14}defun optSpecialCall}{232}{subsection.5.2.14}
\contentsline {subsection}{\numberline {5.2.15}defun compileTimeBindingOf}{233}{subsection.5.2.15}
\contentsline {subsection}{\numberline {5.2.16}defun optCallEval}{233}{subsection.5.2.16}
\contentsline {subsection}{\numberline {5.2.17}defplist optSEQ}{234}{subsection.5.2.17}
\contentsline {subsection}{\numberline {5.2.18}defun optSEQ}{234}{subsection.5.2.18}
\contentsline {subsection}{\numberline {5.2.19}defplist optEQ}{235}{subsection.5.2.19}
\contentsline {subsection}{\numberline {5.2.20}defun optEQ}{236}{subsection.5.2.20}
\contentsline {subsection}{\numberline {5.2.21}defplist optMINUS}{236}{subsection.5.2.21}
\contentsline {subsection}{\numberline {5.2.22}defun optMINUS}{236}{subsection.5.2.22}
\contentsline {subsection}{\numberline {5.2.23}defplist optQSMINUS}{237}{subsection.5.2.23}
\contentsline {subsection}{\numberline {5.2.24}defun optQSMINUS}{237}{subsection.5.2.24}
\contentsline {subsection}{\numberline {5.2.25}defplist opt-}{237}{subsection.5.2.25}
\contentsline {subsection}{\numberline {5.2.26}defun opt-}{238}{subsection.5.2.26}
\contentsline {subsection}{\numberline {5.2.27}defplist optLESSP}{238}{subsection.5.2.27}
\contentsline {subsection}{\numberline {5.2.28}defun optLESSP}{238}{subsection.5.2.28}
\contentsline {subsection}{\numberline {5.2.29}defplist optSPADCALL}{239}{subsection.5.2.29}
\contentsline {subsection}{\numberline {5.2.30}defun optSPADCALL}{239}{subsection.5.2.30}
\contentsline {subsection}{\numberline {5.2.31}defplist optSuchthat}{240}{subsection.5.2.31}
\contentsline {subsection}{\numberline {5.2.32}defun optSuchthat}{240}{subsection.5.2.32}
\contentsline {subsection}{\numberline {5.2.33}defplist optCatch}{240}{subsection.5.2.33}
\contentsline {subsection}{\numberline {5.2.34}defun optCatch}{240}{subsection.5.2.34}
\contentsline {subsection}{\numberline {5.2.35}defplist optCond}{242}{subsection.5.2.35}
\contentsline {subsection}{\numberline {5.2.36}defun optCond}{242}{subsection.5.2.36}
\contentsline {subsection}{\numberline {5.2.37}defun EqualBarGensym}{244}{subsection.5.2.37}
\contentsline {subsection}{\numberline {5.2.38}defplist optMkRecord}{245}{subsection.5.2.38}
\contentsline {subsection}{\numberline {5.2.39}defun optMkRecord}{245}{subsection.5.2.39}
\contentsline {subsection}{\numberline {5.2.40}defplist optRECORDELT}{245}{subsection.5.2.40}
\contentsline {subsection}{\numberline {5.2.41}defun optRECORDELT}{245}{subsection.5.2.41}
\contentsline {subsection}{\numberline {5.2.42}defplist optSETRECORDELT}{246}{subsection.5.2.42}
\contentsline {subsection}{\numberline {5.2.43}defun optSETRECORDELT}{246}{subsection.5.2.43}
\contentsline {subsection}{\numberline {5.2.44}defplist optRECORDCOPY}{247}{subsection.5.2.44}
\contentsline {subsection}{\numberline {5.2.45}defun optRECORDCOPY}{247}{subsection.5.2.45}
\contentsline {section}{\numberline {5.3}Functions to manipulate modemaps}{248}{section.5.3}
\contentsline {subsection}{\numberline {5.3.1}defun addDomain}{248}{subsection.5.3.1}
\contentsline {subsection}{\numberline {5.3.2}defun unknownTypeError}{249}{subsection.5.3.2}
\contentsline {subsection}{\numberline {5.3.3}defun isFunctor}{249}{subsection.5.3.3}
\contentsline {subsection}{\numberline {5.3.4}defun getDomainsInScope}{250}{subsection.5.3.4}
\contentsline {subsection}{\numberline {5.3.5}defun putDomainsInScope}{250}{subsection.5.3.5}
\contentsline {subsection}{\numberline {5.3.6}defun isSuperDomain}{251}{subsection.5.3.6}
\contentsline {subsection}{\numberline {5.3.7}defun addNewDomain}{251}{subsection.5.3.7}
\contentsline {subsection}{\numberline {5.3.8}defun augModemapsFromDomain}{252}{subsection.5.3.8}
\contentsline {subsection}{\numberline {5.3.9}defun augModemapsFromDomain1}{252}{subsection.5.3.9}
\contentsline {subsection}{\numberline {5.3.10}defun substituteCategoryArguments}{253}{subsection.5.3.10}
\contentsline {subsection}{\numberline {5.3.11}defun addConstructorModemaps}{254}{subsection.5.3.11}
\contentsline {subsection}{\numberline {5.3.12}defun getModemap}{254}{subsection.5.3.12}
\contentsline {subsection}{\numberline {5.3.13}defun compApplyModemap}{255}{subsection.5.3.13}
\contentsline {subsection}{\numberline {5.3.14}defun compMapCond}{256}{subsection.5.3.14}
\contentsline {subsection}{\numberline {5.3.15}defun compMapCond'}{257}{subsection.5.3.15}
\contentsline {subsection}{\numberline {5.3.16}defun compMapCond''}{257}{subsection.5.3.16}
\contentsline {subsection}{\numberline {5.3.17}defun compMapCondFun}{258}{subsection.5.3.17}
\contentsline {subsection}{\numberline {5.3.18}defun getUniqueSignature}{259}{subsection.5.3.18}
\contentsline {subsection}{\numberline {5.3.19}defun getUniqueModemap}{259}{subsection.5.3.19}
\contentsline {subsection}{\numberline {5.3.20}defun getModemapList}{259}{subsection.5.3.20}
\contentsline {subsection}{\numberline {5.3.21}defun getModemapListFromDomain}{260}{subsection.5.3.21}
\contentsline {subsection}{\numberline {5.3.22}defun domainMember}{260}{subsection.5.3.22}
\contentsline {subsection}{\numberline {5.3.23}defun augModemapsFromCategory}{260}{subsection.5.3.23}
\contentsline {subsection}{\numberline {5.3.24}defun addEltModemap}{261}{subsection.5.3.24}
\contentsline {subsection}{\numberline {5.3.25}defun mkNewModemapList}{262}{subsection.5.3.25}
\contentsline {subsection}{\numberline {5.3.26}defun insertModemap}{263}{subsection.5.3.26}
\contentsline {subsection}{\numberline {5.3.27}defun mergeModemap}{263}{subsection.5.3.27}
\contentsline {subsection}{\numberline {5.3.28}defun TruthP}{264}{subsection.5.3.28}
\contentsline {subsection}{\numberline {5.3.29}defun evalAndSub}{265}{subsection.5.3.29}
\contentsline {subsection}{\numberline {5.3.30}defun getOperationAlist}{265}{subsection.5.3.30}
\contentsline {subsection}{\numberline {5.3.31}defvar \${FormalMapVariableList}}{266}{subsection.5.3.31}
\contentsline {subsection}{\numberline {5.3.32}defun substNames}{266}{subsection.5.3.32}
\contentsline {subsection}{\numberline {5.3.33}defun augModemapsFromCategoryRep}{267}{subsection.5.3.33}
\contentsline {section}{\numberline {5.4}Maintaining Modemaps}{268}{section.5.4}
\contentsline {subsection}{\numberline {5.4.1}defun addModemapKnown}{268}{subsection.5.4.1}
\contentsline {subsection}{\numberline {5.4.2}defun addModemap}{269}{subsection.5.4.2}
\contentsline {subsection}{\numberline {5.4.3}defun addModemap0}{269}{subsection.5.4.3}
\contentsline {subsection}{\numberline {5.4.4}defun addModemap1}{270}{subsection.5.4.4}
\contentsline {section}{\numberline {5.5}Indirect called comp routines}{270}{section.5.5}
\contentsline {subsection}{\numberline {5.5.1}defplist compAdd plist}{271}{subsection.5.5.1}
\contentsline {subsection}{\numberline {5.5.2}defun compAdd}{271}{subsection.5.5.2}
\contentsline {subsection}{\numberline {5.5.3}defun compTuple2Record}{273}{subsection.5.5.3}
\contentsline {subsection}{\numberline {5.5.4}defplist compCapsule plist}{273}{subsection.5.5.4}
\contentsline {subsection}{\numberline {5.5.5}defun compCapsule}{274}{subsection.5.5.5}
\contentsline {subsection}{\numberline {5.5.6}defun compCapsuleInner}{274}{subsection.5.5.6}
\contentsline {subsection}{\numberline {5.5.7}defun processFunctor}{275}{subsection.5.5.7}
\contentsline {subsection}{\numberline {5.5.8}defun compCapsuleItems}{275}{subsection.5.5.8}
\contentsline {subsection}{\numberline {5.5.9}defun compSingleCapsuleItem}{276}{subsection.5.5.9}
\contentsline {subsection}{\numberline {5.5.10}defun doIt}{276}{subsection.5.5.10}
\contentsline {subsection}{\numberline {5.5.11}defun doItIf}{281}{subsection.5.5.11}
\contentsline {subsection}{\numberline {5.5.12}defun isMacro}{282}{subsection.5.5.12}
\contentsline {subsection}{\numberline {5.5.13}defplist compCase plist}{283}{subsection.5.5.13}
\contentsline {subsection}{\numberline {5.5.14}defun compCase}{283}{subsection.5.5.14}
\contentsline {subsection}{\numberline {5.5.15}defun compCase1}{284}{subsection.5.5.15}
\contentsline {subsection}{\numberline {5.5.16}defplist compCat plist}{284}{subsection.5.5.16}
\contentsline {subsection}{\numberline {5.5.17}defplist compCat plist}{285}{subsection.5.5.17}
\contentsline {subsection}{\numberline {5.5.18}defplist compCat plist}{285}{subsection.5.5.18}
\contentsline {subsection}{\numberline {5.5.19}defun compCat}{285}{subsection.5.5.19}
\contentsline {subsection}{\numberline {5.5.20}defplist compCategory plist}{286}{subsection.5.5.20}
\contentsline {subsection}{\numberline {5.5.21}defun compCategory}{286}{subsection.5.5.21}
\contentsline {subsection}{\numberline {5.5.22}defun compCategoryItem}{287}{subsection.5.5.22}
\contentsline {subsection}{\numberline {5.5.23}defun mkExplicitCategoryFunction}{288}{subsection.5.5.23}
\contentsline {subsection}{\numberline {5.5.24}defun mustInstantiate}{289}{subsection.5.5.24}
\contentsline {subsection}{\numberline {5.5.25}defun wrapDomainSub}{290}{subsection.5.5.25}
\contentsline {subsection}{\numberline {5.5.26}defplist compColon plist}{290}{subsection.5.5.26}
\contentsline {subsection}{\numberline {5.5.27}defun compColon}{290}{subsection.5.5.27}
\contentsline {subsection}{\numberline {5.5.28}defun makeCategoryForm}{293}{subsection.5.5.28}
\contentsline {subsection}{\numberline {5.5.29}defplist compCons plist}{294}{subsection.5.5.29}
\contentsline {subsection}{\numberline {5.5.30}defun compCons}{294}{subsection.5.5.30}
\contentsline {subsection}{\numberline {5.5.31}defun compCons1}{294}{subsection.5.5.31}
\contentsline {subsection}{\numberline {5.5.32}defplist compConstruct plist}{295}{subsection.5.5.32}
\contentsline {subsection}{\numberline {5.5.33}defun compConstruct}{295}{subsection.5.5.33}
\contentsline {subsection}{\numberline {5.5.34}defplist compConstructorCategory plist}{296}{subsection.5.5.34}
\contentsline {subsection}{\numberline {5.5.35}defplist compConstructorCategory plist}{296}{subsection.5.5.35}
\contentsline {subsection}{\numberline {5.5.36}defplist compConstructorCategory plist}{297}{subsection.5.5.36}
\contentsline {subsection}{\numberline {5.5.37}defplist compConstructorCategory plist}{297}{subsection.5.5.37}
\contentsline {subsection}{\numberline {5.5.38}defun compConstructorCategory}{297}{subsection.5.5.38}
\contentsline {subsection}{\numberline {5.5.39}defun getAbbreviation}{298}{subsection.5.5.39}
\contentsline {subsection}{\numberline {5.5.40}defun mkAbbrev}{298}{subsection.5.5.40}
\contentsline {subsection}{\numberline {5.5.41}defun addSuffix}{299}{subsection.5.5.41}
\contentsline {subsection}{\numberline {5.5.42}defun alistSize}{299}{subsection.5.5.42}
\contentsline {subsection}{\numberline {5.5.43}defun getSignatureFromMode}{299}{subsection.5.5.43}
\contentsline {subsection}{\numberline {5.5.44}defun getSpecialCaseAssoc}{300}{subsection.5.5.44}
\contentsline {subsection}{\numberline {5.5.45}defun addArgumentConditions}{300}{subsection.5.5.45}
\contentsline {subsection}{\numberline {5.5.46}defun stripOffSubdomainConditions}{301}{subsection.5.5.46}
\contentsline {subsection}{\numberline {5.5.47}defun stripOffArgumentConditions}{302}{subsection.5.5.47}
\contentsline {subsection}{\numberline {5.5.48}defun getSignature}{302}{subsection.5.5.48}
\contentsline {subsection}{\numberline {5.5.49}defun checkAndDeclare}{304}{subsection.5.5.49}
\contentsline {subsection}{\numberline {5.5.50}defun hasSigInTargetCategory}{304}{subsection.5.5.50}
\contentsline {subsection}{\numberline {5.5.51}defun getArgumentMode}{305}{subsection.5.5.51}
\contentsline {subsection}{\numberline {5.5.52}defplist compElt plist}{306}{subsection.5.5.52}
\contentsline {subsection}{\numberline {5.5.53}defun compElt}{306}{subsection.5.5.53}
\contentsline {subsection}{\numberline {5.5.54}defplist compExit plist}{307}{subsection.5.5.54}
\contentsline {subsection}{\numberline {5.5.55}defun compExit}{308}{subsection.5.5.55}
\contentsline {subsection}{\numberline {5.5.56}defplist compHas plist}{308}{subsection.5.5.56}
\contentsline {subsection}{\numberline {5.5.57}defun compHas}{309}{subsection.5.5.57}
\contentsline {subsection}{\numberline {5.5.58}defun compHasFormat}{309}{subsection.5.5.58}
\contentsline {subsection}{\numberline {5.5.59}defun mkList}{310}{subsection.5.5.59}
\contentsline {subsection}{\numberline {5.5.60}defplist compIf plist}{310}{subsection.5.5.60}
\contentsline {subsection}{\numberline {5.5.61}defun compIf}{311}{subsection.5.5.61}
\contentsline {subsection}{\numberline {5.5.62}defun compFromIf}{312}{subsection.5.5.62}
\contentsline {subsection}{\numberline {5.5.63}defun canReturn}{312}{subsection.5.5.63}
\contentsline {subsection}{\numberline {5.5.64}defun compBoolean}{314}{subsection.5.5.64}
\contentsline {subsection}{\numberline {5.5.65}defun getSuccessEnvironment}{314}{subsection.5.5.65}
\contentsline {subsection}{\numberline {5.5.66}defun getInverseEnvironment}{316}{subsection.5.5.66}
\contentsline {subsection}{\numberline {5.5.67}defun getUnionMode}{317}{subsection.5.5.67}
\contentsline {subsection}{\numberline {5.5.68}defun isUnionMode}{317}{subsection.5.5.68}
\contentsline {subsection}{\numberline {5.5.69}defplist compImport plist}{318}{subsection.5.5.69}
\contentsline {subsection}{\numberline {5.5.70}defun compImport}{318}{subsection.5.5.70}
\contentsline {subsection}{\numberline {5.5.71}defplist compIs plist}{318}{subsection.5.5.71}
\contentsline {subsection}{\numberline {5.5.72}defun compIs}{318}{subsection.5.5.72}
\contentsline {subsection}{\numberline {5.5.73}defplist compJoin plist}{319}{subsection.5.5.73}
\contentsline {subsection}{\numberline {5.5.74}defun compJoin}{319}{subsection.5.5.74}
\contentsline {subsection}{\numberline {5.5.75}defun compForMode}{321}{subsection.5.5.75}
\contentsline {subsection}{\numberline {5.5.76}defplist compLambda plist}{321}{subsection.5.5.76}
\contentsline {subsection}{\numberline {5.5.77}defun compLambda}{321}{subsection.5.5.77}
\contentsline {subsection}{\numberline {5.5.78}defplist compLeave plist}{322}{subsection.5.5.78}
\contentsline {subsection}{\numberline {5.5.79}defun compLeave}{323}{subsection.5.5.79}
\contentsline {subsection}{\numberline {5.5.80}defplist compMacro plist}{323}{subsection.5.5.80}
\contentsline {subsection}{\numberline {5.5.81}defun compMacro}{323}{subsection.5.5.81}
\contentsline {subsection}{\numberline {5.5.82}defplist compPretend plist}{324}{subsection.5.5.82}
\contentsline {subsection}{\numberline {5.5.83}defun compPretend}{324}{subsection.5.5.83}
\contentsline {subsection}{\numberline {5.5.84}defplist compQuote plist}{325}{subsection.5.5.84}
\contentsline {subsection}{\numberline {5.5.85}defun compQuote}{326}{subsection.5.5.85}
\contentsline {subsection}{\numberline {5.5.86}defplist compReduce plist}{326}{subsection.5.5.86}
\contentsline {subsection}{\numberline {5.5.87}defun compReduce}{326}{subsection.5.5.87}
\contentsline {subsection}{\numberline {5.5.88}defun compReduce1}{326}{subsection.5.5.88}
\contentsline {subsection}{\numberline {5.5.89}defplist compRepeatOrCollect plist}{328}{subsection.5.5.89}
\contentsline {subsection}{\numberline {5.5.90}defplist compRepeatOrCollect plist}{328}{subsection.5.5.90}
\contentsline {subsection}{\numberline {5.5.91}defun compRepeatOrCollect}{329}{subsection.5.5.91}
\contentsline {subsection}{\numberline {5.5.92}defplist compReturn plist}{331}{subsection.5.5.92}
\contentsline {subsection}{\numberline {5.5.93}defun compReturn}{331}{subsection.5.5.93}
\contentsline {subsection}{\numberline {5.5.94}defplist compSeq plist}{332}{subsection.5.5.94}
\contentsline {subsection}{\numberline {5.5.95}defun compSeq}{332}{subsection.5.5.95}
\contentsline {subsection}{\numberline {5.5.96}defun compSeq1}{332}{subsection.5.5.96}
\contentsline {subsection}{\numberline {5.5.97}defun replaceExitEtc}{333}{subsection.5.5.97}
\contentsline {subsection}{\numberline {5.5.98}defun convertOrCroak}{334}{subsection.5.5.98}
\contentsline {subsection}{\numberline {5.5.99}defun compSeqItem}{334}{subsection.5.5.99}
\contentsline {subsection}{\numberline {5.5.100}defplist compSetq plist}{335}{subsection.5.5.100}
\contentsline {subsection}{\numberline {5.5.101}defplist compSetq plist}{335}{subsection.5.5.101}
\contentsline {subsection}{\numberline {5.5.102}defun compSetq}{335}{subsection.5.5.102}
\contentsline {subsection}{\numberline {5.5.103}defun compSetq1}{335}{subsection.5.5.103}
\contentsline {subsection}{\numberline {5.5.104}defun uncons}{336}{subsection.5.5.104}
\contentsline {subsection}{\numberline {5.5.105}defun setqMultiple}{337}{subsection.5.5.105}
\contentsline {subsection}{\numberline {5.5.106}defun setqMultipleExplicit}{339}{subsection.5.5.106}
\contentsline {subsection}{\numberline {5.5.107}defun setqSetelt}{340}{subsection.5.5.107}
\contentsline {subsection}{\numberline {5.5.108}defun setqSingle}{340}{subsection.5.5.108}
\contentsline {subsection}{\numberline {5.5.109}defun NRTassocIndex}{342}{subsection.5.5.109}
\contentsline {subsection}{\numberline {5.5.110}defun assignError}{342}{subsection.5.5.110}
\contentsline {subsection}{\numberline {5.5.111}defun outputComp}{343}{subsection.5.5.111}
\contentsline {subsection}{\numberline {5.5.112}defun maxSuperType}{344}{subsection.5.5.112}
\contentsline {subsection}{\numberline {5.5.113}defun isDomainForm}{344}{subsection.5.5.113}
\contentsline {subsection}{\numberline {5.5.114}defun isDomainConstructorForm}{344}{subsection.5.5.114}
\contentsline {subsection}{\numberline {5.5.115}defplist compString plist}{345}{subsection.5.5.115}
\contentsline {subsection}{\numberline {5.5.116}defun compString}{345}{subsection.5.5.116}
\contentsline {subsection}{\numberline {5.5.117}defplist compSubDomain plist}{346}{subsection.5.5.117}
\contentsline {subsection}{\numberline {5.5.118}defun compSubDomain}{346}{subsection.5.5.118}
\contentsline {subsection}{\numberline {5.5.119}defun compSubDomain1}{346}{subsection.5.5.119}
\contentsline {subsection}{\numberline {5.5.120}defun lispize}{347}{subsection.5.5.120}
\contentsline {subsection}{\numberline {5.5.121}defplist compSubsetCategory plist}{348}{subsection.5.5.121}
\contentsline {subsection}{\numberline {5.5.122}defun compSubsetCategory}{348}{subsection.5.5.122}
\contentsline {subsection}{\numberline {5.5.123}defplist compSuchthat plist}{348}{subsection.5.5.123}
\contentsline {subsection}{\numberline {5.5.124}defun compSuchthat}{349}{subsection.5.5.124}
\contentsline {subsection}{\numberline {5.5.125}defplist compVector plist}{349}{subsection.5.5.125}
\contentsline {subsection}{\numberline {5.5.126}defun compVector}{349}{subsection.5.5.126}
\contentsline {subsection}{\numberline {5.5.127}defplist compWhere plist}{350}{subsection.5.5.127}
\contentsline {subsection}{\numberline {5.5.128}defun compWhere}{350}{subsection.5.5.128}
\contentsline {section}{\numberline {5.6}Functions for coercion}{351}{section.5.6}
\contentsline {subsection}{\numberline {5.6.1}defun coerce}{351}{subsection.5.6.1}
\contentsline {subsection}{\numberline {5.6.2}defun coerceEasy}{352}{subsection.5.6.2}
\contentsline {subsection}{\numberline {5.6.3}defun coerceSubset}{353}{subsection.5.6.3}
\contentsline {subsection}{\numberline {5.6.4}defun coerceHard}{354}{subsection.5.6.4}
\contentsline {subsection}{\numberline {5.6.5}defun coerceExtraHard}{355}{subsection.5.6.5}
\contentsline {subsection}{\numberline {5.6.6}defun hasType}{356}{subsection.5.6.6}
\contentsline {subsection}{\numberline {5.6.7}defun coerceable}{356}{subsection.5.6.7}
\contentsline {subsection}{\numberline {5.6.8}defun coerceExit}{357}{subsection.5.6.8}
\contentsline {subsection}{\numberline {5.6.9}defplist compAtSign plist}{357}{subsection.5.6.9}
\contentsline {subsection}{\numberline {5.6.10}defun compAtSign}{357}{subsection.5.6.10}
\contentsline {subsection}{\numberline {5.6.11}defplist compCoerce plist}{358}{subsection.5.6.11}
\contentsline {subsection}{\numberline {5.6.12}defun compCoerce}{358}{subsection.5.6.12}
\contentsline {subsection}{\numberline {5.6.13}defun compCoerce1}{359}{subsection.5.6.13}
\contentsline {subsection}{\numberline {5.6.14}defun coerceByModemap}{359}{subsection.5.6.14}
\contentsline {subsection}{\numberline {5.6.15}defun autoCoerceByModemap}{360}{subsection.5.6.15}
\contentsline {subsection}{\numberline {5.6.16}defun resolve}{361}{subsection.5.6.16}
\contentsline {subsection}{\numberline {5.6.17}defun mkUnion}{362}{subsection.5.6.17}
\contentsline {subsection}{\numberline {5.6.18}defun This orders Unions}{362}{subsection.5.6.18}
\contentsline {subsection}{\numberline {5.6.19}defun modeEqualSubst}{363}{subsection.5.6.19}
\contentsline {chapter}{\numberline {6}Post Transformers}{365}{chapter.6}
\contentsline {section}{\numberline {6.1}Direct called postparse routines}{365}{section.6.1}
\contentsline {subsection}{\numberline {6.1.1}defun postTransform}{365}{subsection.6.1.1}
\contentsline {subsection}{\numberline {6.1.2}defun postTran}{366}{subsection.6.1.2}
\contentsline {subsection}{\numberline {6.1.3}defun postOp}{367}{subsection.6.1.3}
\contentsline {subsection}{\numberline {6.1.4}defun postAtom}{367}{subsection.6.1.4}
\contentsline {subsection}{\numberline {6.1.5}defun postTranList}{368}{subsection.6.1.5}
\contentsline {subsection}{\numberline {6.1.6}defun postScriptsForm}{368}{subsection.6.1.6}
\contentsline {subsection}{\numberline {6.1.7}defun postTranScripts}{368}{subsection.6.1.7}
\contentsline {subsection}{\numberline {6.1.8}defun postTransformCheck}{369}{subsection.6.1.8}
\contentsline {subsection}{\numberline {6.1.9}defun postcheck}{369}{subsection.6.1.9}
\contentsline {subsection}{\numberline {6.1.10}defun postError}{370}{subsection.6.1.10}
\contentsline {subsection}{\numberline {6.1.11}defun postForm}{370}{subsection.6.1.11}
\contentsline {section}{\numberline {6.2}Indirect called postparse routines}{371}{section.6.2}
\contentsline {subsection}{\numberline {6.2.1}defplist postAdd plist}{372}{subsection.6.2.1}
\contentsline {subsection}{\numberline {6.2.2}defun postAdd}{372}{subsection.6.2.2}
\contentsline {subsection}{\numberline {6.2.3}defun postCapsule}{373}{subsection.6.2.3}
\contentsline {subsection}{\numberline {6.2.4}defun postBlockItemList}{373}{subsection.6.2.4}
\contentsline {subsection}{\numberline {6.2.5}defun postBlockItem}{373}{subsection.6.2.5}
\contentsline {subsection}{\numberline {6.2.6}defplist postAtSign plist}{374}{subsection.6.2.6}
\contentsline {subsection}{\numberline {6.2.7}defun postAtSign}{374}{subsection.6.2.7}
\contentsline {subsection}{\numberline {6.2.8}defun postType}{375}{subsection.6.2.8}
\contentsline {subsection}{\numberline {6.2.9}defplist postBigFloat plist}{375}{subsection.6.2.9}
\contentsline {subsection}{\numberline {6.2.10}defun postBigFloat}{376}{subsection.6.2.10}
\contentsline {subsection}{\numberline {6.2.11}defplist postBlock plist}{376}{subsection.6.2.11}
\contentsline {subsection}{\numberline {6.2.12}defun postBlock}{376}{subsection.6.2.12}
\contentsline {subsection}{\numberline {6.2.13}defplist postCategory plist}{377}{subsection.6.2.13}
\contentsline {subsection}{\numberline {6.2.14}defun postCategory}{377}{subsection.6.2.14}
\contentsline {subsection}{\numberline {6.2.15}defun postCollect,finish}{377}{subsection.6.2.15}
\contentsline {subsection}{\numberline {6.2.16}defun postMakeCons}{378}{subsection.6.2.16}
\contentsline {subsection}{\numberline {6.2.17}defplist postCollect plist}{379}{subsection.6.2.17}
\contentsline {subsection}{\numberline {6.2.18}defun postCollect}{379}{subsection.6.2.18}
\contentsline {subsection}{\numberline {6.2.19}defun postIteratorList}{380}{subsection.6.2.19}
\contentsline {subsection}{\numberline {6.2.20}defplist postColon plist}{380}{subsection.6.2.20}
\contentsline {subsection}{\numberline {6.2.21}defun postColon}{381}{subsection.6.2.21}
\contentsline {subsection}{\numberline {6.2.22}defplist postColonColon plist}{381}{subsection.6.2.22}
\contentsline {subsection}{\numberline {6.2.23}defun postColonColon}{381}{subsection.6.2.23}
\contentsline {subsection}{\numberline {6.2.24}defplist postComma plist}{382}{subsection.6.2.24}
\contentsline {subsection}{\numberline {6.2.25}defun postComma}{382}{subsection.6.2.25}
\contentsline {subsection}{\numberline {6.2.26}defun comma2Tuple}{382}{subsection.6.2.26}
\contentsline {subsection}{\numberline {6.2.27}defun postFlatten}{382}{subsection.6.2.27}
\contentsline {subsection}{\numberline {6.2.28}defplist postConstruct plist}{383}{subsection.6.2.28}
\contentsline {subsection}{\numberline {6.2.29}defun postConstruct}{383}{subsection.6.2.29}
\contentsline {subsection}{\numberline {6.2.30}defun postTranSegment}{384}{subsection.6.2.30}
\contentsline {subsection}{\numberline {6.2.31}defplist postDef plist}{384}{subsection.6.2.31}
\contentsline {subsection}{\numberline {6.2.32}defun postDef}{384}{subsection.6.2.32}
\contentsline {subsection}{\numberline {6.2.33}defun postDefArgs}{386}{subsection.6.2.33}
\contentsline {subsection}{\numberline {6.2.34}defplist postExit plist}{386}{subsection.6.2.34}
\contentsline {subsection}{\numberline {6.2.35}defun postExit}{387}{subsection.6.2.35}
\contentsline {subsection}{\numberline {6.2.36}defplist postIf plist}{387}{subsection.6.2.36}
\contentsline {subsection}{\numberline {6.2.37}defun postIf}{387}{subsection.6.2.37}
\contentsline {subsection}{\numberline {6.2.38}defplist postin plist}{388}{subsection.6.2.38}
\contentsline {subsection}{\numberline {6.2.39}defun postin}{388}{subsection.6.2.39}
\contentsline {subsection}{\numberline {6.2.40}defun postInSeq}{388}{subsection.6.2.40}
\contentsline {subsection}{\numberline {6.2.41}defplist postIn plist}{389}{subsection.6.2.41}
\contentsline {subsection}{\numberline {6.2.42}defun postIn}{389}{subsection.6.2.42}
\contentsline {subsection}{\numberline {6.2.43}defplist postJoin plist}{389}{subsection.6.2.43}
\contentsline {subsection}{\numberline {6.2.44}defun postJoin}{390}{subsection.6.2.44}
\contentsline {subsection}{\numberline {6.2.45}defplist postMapping plist}{390}{subsection.6.2.45}
\contentsline {subsection}{\numberline {6.2.46}defun postMapping}{390}{subsection.6.2.46}
\contentsline {subsection}{\numberline {6.2.47}defplist postMDef plist}{391}{subsection.6.2.47}
\contentsline {subsection}{\numberline {6.2.48}defun postMDef}{391}{subsection.6.2.48}
\contentsline {subsection}{\numberline {6.2.49}defplist postPretend plist}{392}{subsection.6.2.49}
\contentsline {subsection}{\numberline {6.2.50}defun postPretend}{392}{subsection.6.2.50}
\contentsline {subsection}{\numberline {6.2.51}defplist postQUOTE plist}{392}{subsection.6.2.51}
\contentsline {subsection}{\numberline {6.2.52}defun postQUOTE}{393}{subsection.6.2.52}
\contentsline {subsection}{\numberline {6.2.53}defplist postReduce plist}{393}{subsection.6.2.53}
\contentsline {subsection}{\numberline {6.2.54}defun postReduce}{393}{subsection.6.2.54}
\contentsline {subsection}{\numberline {6.2.55}defplist postRepeat plist}{394}{subsection.6.2.55}
\contentsline {subsection}{\numberline {6.2.56}defun postRepeat}{394}{subsection.6.2.56}
\contentsline {subsection}{\numberline {6.2.57}defplist postScripts plist}{394}{subsection.6.2.57}
\contentsline {subsection}{\numberline {6.2.58}defun postScripts}{394}{subsection.6.2.58}
\contentsline {subsection}{\numberline {6.2.59}defplist postSemiColon plist}{395}{subsection.6.2.59}
\contentsline {subsection}{\numberline {6.2.60}defun postSemiColon}{395}{subsection.6.2.60}
\contentsline {subsection}{\numberline {6.2.61}defun postFlattenLeft}{395}{subsection.6.2.61}
\contentsline {subsection}{\numberline {6.2.62}defplist postSignature plist}{396}{subsection.6.2.62}
\contentsline {subsection}{\numberline {6.2.63}defun postSignature}{396}{subsection.6.2.63}
\contentsline {subsection}{\numberline {6.2.64}defun removeSuperfluousMapping}{396}{subsection.6.2.64}
\contentsline {subsection}{\numberline {6.2.65}defun killColons}{397}{subsection.6.2.65}
\contentsline {subsection}{\numberline {6.2.66}defplist postSlash plist}{397}{subsection.6.2.66}
\contentsline {subsection}{\numberline {6.2.67}defun postSlash}{397}{subsection.6.2.67}
\contentsline {subsection}{\numberline {6.2.68}defplist postTuple plist}{398}{subsection.6.2.68}
\contentsline {subsection}{\numberline {6.2.69}defun postTuple}{398}{subsection.6.2.69}
\contentsline {subsection}{\numberline {6.2.70}defplist postTupleCollect plist}{398}{subsection.6.2.70}
\contentsline {subsection}{\numberline {6.2.71}defun postTupleCollect}{398}{subsection.6.2.71}
\contentsline {subsection}{\numberline {6.2.72}defplist postWhere plist}{399}{subsection.6.2.72}
\contentsline {subsection}{\numberline {6.2.73}defun postWhere}{399}{subsection.6.2.73}
\contentsline {subsection}{\numberline {6.2.74}defplist postWith plist}{399}{subsection.6.2.74}
\contentsline {subsection}{\numberline {6.2.75}defun postWith}{400}{subsection.6.2.75}
\contentsline {section}{\numberline {6.3}Support routines}{400}{section.6.3}
\contentsline {subsection}{\numberline {6.3.1}defun setDefOp}{400}{subsection.6.3.1}
\contentsline {subsection}{\numberline {6.3.2}defun aplTran}{401}{subsection.6.3.2}
\contentsline {subsection}{\numberline {6.3.3}defun aplTran1}{401}{subsection.6.3.3}
\contentsline {subsection}{\numberline {6.3.4}defun aplTranList}{403}{subsection.6.3.4}
\contentsline {subsection}{\numberline {6.3.5}defun hasAplExtension}{403}{subsection.6.3.5}
\contentsline {subsection}{\numberline {6.3.6}defun deepestExpression}{404}{subsection.6.3.6}
\contentsline {subsection}{\numberline {6.3.7}defun containsBang}{404}{subsection.6.3.7}
\contentsline {subsection}{\numberline {6.3.8}defun getScriptName}{404}{subsection.6.3.8}
\contentsline {subsection}{\numberline {6.3.9}defun decodeScripts}{405}{subsection.6.3.9}
\contentsline {chapter}{\numberline {7}DEF forms}{407}{chapter.7}
\contentsline {subsection}{\numberline {7.0.10}defvar \${defstack}}{407}{subsection.7.0.10}
\contentsline {subsection}{\numberline {7.0.11}defvar \${is-spill}}{407}{subsection.7.0.11}
\contentsline {subsection}{\numberline {7.0.12}defvar \${is-spill-list}}{407}{subsection.7.0.12}
\contentsline {subsection}{\numberline {7.0.13}defvar \${vl}}{408}{subsection.7.0.13}
\contentsline {subsection}{\numberline {7.0.14}defvar \${is-gensymlist}}{408}{subsection.7.0.14}
\contentsline {subsection}{\numberline {7.0.15}defvar \${initial-gensym}}{408}{subsection.7.0.15}
\contentsline {subsection}{\numberline {7.0.16}defvar \${is-eqlist}}{408}{subsection.7.0.16}
\contentsline {subsection}{\numberline {7.0.17}defun hackforis}{408}{subsection.7.0.17}
\contentsline {subsection}{\numberline {7.0.18}defun hackforis1}{409}{subsection.7.0.18}
\contentsline {subsection}{\numberline {7.0.19}defun unTuple}{409}{subsection.7.0.19}
\contentsline {subsection}{\numberline {7.0.20}defun errhuh}{409}{subsection.7.0.20}
\contentsline {chapter}{\numberline {8}PARSE forms}{411}{chapter.8}
\contentsline {section}{\numberline {8.1}The original meta specification}{411}{section.8.1}
\contentsline {section}{\numberline {8.2}The PARSE code}{416}{section.8.2}
\contentsline {subsection}{\numberline {8.2.1}defvar \${tmptok}}{416}{subsection.8.2.1}
\contentsline {subsection}{\numberline {8.2.2}defvar \${tok}}{416}{subsection.8.2.2}
\contentsline {subsection}{\numberline {8.2.3}defvar \${ParseMode}}{417}{subsection.8.2.3}
\contentsline {subsection}{\numberline {8.2.4}defvar \${definition-name}}{417}{subsection.8.2.4}
\contentsline {subsection}{\numberline {8.2.5}defvar \${lablasoc}}{417}{subsection.8.2.5}
\contentsline {subsection}{\numberline {8.2.6}defun PARSE-NewExpr}{417}{subsection.8.2.6}
\contentsline {subsection}{\numberline {8.2.7}defun PARSE-Command}{418}{subsection.8.2.7}
\contentsline {subsection}{\numberline {8.2.8}defun PARSE-SpecialKeyWord}{418}{subsection.8.2.8}
\contentsline {subsection}{\numberline {8.2.9}defun PARSE-SpecialCommand}{419}{subsection.8.2.9}
\contentsline {subsection}{\numberline {8.2.10}defun PARSE-TokenCommandTail}{419}{subsection.8.2.10}
\contentsline {subsection}{\numberline {8.2.11}defun PARSE-TokenOption}{420}{subsection.8.2.11}
\contentsline {subsection}{\numberline {8.2.12}defun PARSE-TokenList}{420}{subsection.8.2.12}
\contentsline {subsection}{\numberline {8.2.13}defun PARSE-CommandTail}{421}{subsection.8.2.13}
\contentsline {subsection}{\numberline {8.2.14}defun PARSE-PrimaryOrQM}{421}{subsection.8.2.14}
\contentsline {subsection}{\numberline {8.2.15}defun PARSE-Option}{422}{subsection.8.2.15}
\contentsline {subsection}{\numberline {8.2.16}defun PARSE-Statement}{422}{subsection.8.2.16}
\contentsline {subsection}{\numberline {8.2.17}defun PARSE-InfixWith}{423}{subsection.8.2.17}
\contentsline {subsection}{\numberline {8.2.18}defun PARSE-With}{423}{subsection.8.2.18}
\contentsline {subsection}{\numberline {8.2.19}defun PARSE-Category}{423}{subsection.8.2.19}
\contentsline {subsection}{\numberline {8.2.20}defun PARSE-Expression}{425}{subsection.8.2.20}
\contentsline {subsection}{\numberline {8.2.21}defun PARSE-Import}{425}{subsection.8.2.21}
\contentsline {subsection}{\numberline {8.2.22}defun PARSE-Expr}{426}{subsection.8.2.22}
\contentsline {subsection}{\numberline {8.2.23}defun PARSE-LedPart}{426}{subsection.8.2.23}
\contentsline {subsection}{\numberline {8.2.24}defun PARSE-NudPart}{426}{subsection.8.2.24}
\contentsline {subsection}{\numberline {8.2.25}defun PARSE-Operation}{427}{subsection.8.2.25}
\contentsline {subsection}{\numberline {8.2.26}defun PARSE-leftBindingPowerOf}{427}{subsection.8.2.26}
\contentsline {subsection}{\numberline {8.2.27}defun PARSE-rightBindingPowerOf}{428}{subsection.8.2.27}
\contentsline {subsection}{\numberline {8.2.28}defun PARSE-getSemanticForm}{428}{subsection.8.2.28}
\contentsline {subsection}{\numberline {8.2.29}defun PARSE-Prefix}{428}{subsection.8.2.29}
\contentsline {subsection}{\numberline {8.2.30}defun PARSE-Infix}{429}{subsection.8.2.30}
\contentsline {subsection}{\numberline {8.2.31}defun PARSE-TokTail}{430}{subsection.8.2.31}
\contentsline {subsection}{\numberline {8.2.32}defun PARSE-Qualification}{430}{subsection.8.2.32}
\contentsline {subsection}{\numberline {8.2.33}defun PARSE-Reduction}{431}{subsection.8.2.33}
\contentsline {subsection}{\numberline {8.2.34}defun PARSE-ReductionOp}{431}{subsection.8.2.34}
\contentsline {subsection}{\numberline {8.2.35}defun PARSE-Form}{431}{subsection.8.2.35}
\contentsline {subsection}{\numberline {8.2.36}defun PARSE-Application}{432}{subsection.8.2.36}
\contentsline {subsection}{\numberline {8.2.37}defun PARSE-Label}{433}{subsection.8.2.37}
\contentsline {subsection}{\numberline {8.2.38}defun PARSE-Selector}{433}{subsection.8.2.38}
\contentsline {subsection}{\numberline {8.2.39}defun PARSE-PrimaryNoFloat}{434}{subsection.8.2.39}
\contentsline {subsection}{\numberline {8.2.40}defun PARSE-Primary}{434}{subsection.8.2.40}
\contentsline {subsection}{\numberline {8.2.41}defun PARSE-Primary1}{434}{subsection.8.2.41}
\contentsline {subsection}{\numberline {8.2.42}defun PARSE-Float}{435}{subsection.8.2.42}
\contentsline {subsection}{\numberline {8.2.43}defun PARSE-FloatBase}{436}{subsection.8.2.43}
\contentsline {subsection}{\numberline {8.2.44}defun PARSE-FloatBasePart}{436}{subsection.8.2.44}
\contentsline {subsection}{\numberline {8.2.45}defun PARSE-FloatExponent}{437}{subsection.8.2.45}
\contentsline {subsection}{\numberline {8.2.46}defun PARSE-Enclosure}{438}{subsection.8.2.46}
\contentsline {subsection}{\numberline {8.2.47}defun PARSE-IntegerTok}{438}{subsection.8.2.47}
\contentsline {subsection}{\numberline {8.2.48}defun PARSE-FormalParameter}{439}{subsection.8.2.48}
\contentsline {subsection}{\numberline {8.2.49}defun PARSE-FormalParameterTok}{439}{subsection.8.2.49}
\contentsline {subsection}{\numberline {8.2.50}defun PARSE-Quad}{439}{subsection.8.2.50}
\contentsline {subsection}{\numberline {8.2.51}defun PARSE-String}{439}{subsection.8.2.51}
\contentsline {subsection}{\numberline {8.2.52}defun PARSE-VarForm}{440}{subsection.8.2.52}
\contentsline {subsection}{\numberline {8.2.53}defun PARSE-Scripts}{440}{subsection.8.2.53}
\contentsline {subsection}{\numberline {8.2.54}defun PARSE-ScriptItem}{441}{subsection.8.2.54}
\contentsline {subsection}{\numberline {8.2.55}defun PARSE-Name}{441}{subsection.8.2.55}
\contentsline {subsection}{\numberline {8.2.56}defun PARSE-Data}{442}{subsection.8.2.56}
\contentsline {subsection}{\numberline {8.2.57}defun PARSE-Sexpr}{442}{subsection.8.2.57}
\contentsline {subsection}{\numberline {8.2.58}defun PARSE-Sexpr1}{442}{subsection.8.2.58}
\contentsline {subsection}{\numberline {8.2.59}defun PARSE-NBGliphTok}{443}{subsection.8.2.59}
\contentsline {subsection}{\numberline {8.2.60}defun PARSE-GliphTok}{444}{subsection.8.2.60}
\contentsline {subsection}{\numberline {8.2.61}defun PARSE-AnyId}{444}{subsection.8.2.61}
\contentsline {subsection}{\numberline {8.2.62}defun PARSE-Sequence}{445}{subsection.8.2.62}
\contentsline {subsection}{\numberline {8.2.63}defun PARSE-Sequence1}{445}{subsection.8.2.63}
\contentsline {subsection}{\numberline {8.2.64}defun PARSE-OpenBracket}{446}{subsection.8.2.64}
\contentsline {subsection}{\numberline {8.2.65}defun PARSE-OpenBrace}{446}{subsection.8.2.65}
\contentsline {subsection}{\numberline {8.2.66}defun PARSE-IteratorTail}{447}{subsection.8.2.66}
\contentsline {subsection}{\numberline {8.2.67}defun PARSE-Iterator}{447}{subsection.8.2.67}
\contentsline {subsection}{\numberline {8.2.68}The PARSE implicit routines}{448}{subsection.8.2.68}
\contentsline {subsection}{\numberline {8.2.69}defun PARSE-Suffix}{448}{subsection.8.2.69}
\contentsline {subsection}{\numberline {8.2.70}defun PARSE-SemiColon}{449}{subsection.8.2.70}
\contentsline {subsection}{\numberline {8.2.71}defun PARSE-Return}{449}{subsection.8.2.71}
\contentsline {subsection}{\numberline {8.2.72}defun PARSE-Exit}{449}{subsection.8.2.72}
\contentsline {subsection}{\numberline {8.2.73}defun PARSE-Leave}{450}{subsection.8.2.73}
\contentsline {subsection}{\numberline {8.2.74}defun PARSE-Seg}{450}{subsection.8.2.74}
\contentsline {subsection}{\numberline {8.2.75}defun PARSE-Conditional}{451}{subsection.8.2.75}
\contentsline {subsection}{\numberline {8.2.76}defun PARSE-ElseClause}{451}{subsection.8.2.76}
\contentsline {subsection}{\numberline {8.2.77}defun PARSE-Loop}{452}{subsection.8.2.77}
\contentsline {subsection}{\numberline {8.2.78}defun PARSE-LabelExpr}{452}{subsection.8.2.78}
\contentsline {subsection}{\numberline {8.2.79}defun PARSE-FloatTok}{453}{subsection.8.2.79}
\contentsline {section}{\numberline {8.3}The PARSE support routines}{453}{section.8.3}
\contentsline {subsection}{\numberline {8.3.1}String grabbing}{454}{subsection.8.3.1}
\contentsline {subsection}{\numberline {8.3.2}defun match-string}{454}{subsection.8.3.2}
\contentsline {subsection}{\numberline {8.3.3}defun skip-blanks}{454}{subsection.8.3.3}
\contentsline {subsection}{\numberline {8.3.4}defun token-lookahead-type}{455}{subsection.8.3.4}
\contentsline {subsection}{\numberline {8.3.5}defun match-advance-string}{455}{subsection.8.3.5}
\contentsline {subsection}{\numberline {8.3.6}defun initial-substring-p}{456}{subsection.8.3.6}
\contentsline {subsection}{\numberline {8.3.7}defun quote-if-string}{456}{subsection.8.3.7}
\contentsline {subsection}{\numberline {8.3.8}defun escape-keywords}{457}{subsection.8.3.8}
\contentsline {subsection}{\numberline {8.3.9}defun isTokenDelimiter}{457}{subsection.8.3.9}
\contentsline {subsection}{\numberline {8.3.10}defun underscore}{458}{subsection.8.3.10}
\contentsline {subsection}{\numberline {8.3.11}Token Handling}{458}{subsection.8.3.11}
\contentsline {subsection}{\numberline {8.3.12}defun getToken}{458}{subsection.8.3.12}
\contentsline {subsection}{\numberline {8.3.13}defun unget-tokens}{458}{subsection.8.3.13}
\contentsline {subsection}{\numberline {8.3.14}defun match-current-token}{459}{subsection.8.3.14}
\contentsline {subsection}{\numberline {8.3.15}defun match-token}{460}{subsection.8.3.15}
\contentsline {subsection}{\numberline {8.3.16}defun match-next-token}{460}{subsection.8.3.16}
\contentsline {subsection}{\numberline {8.3.17}defun current-symbol}{460}{subsection.8.3.17}
\contentsline {subsection}{\numberline {8.3.18}defun make-symbol-of}{460}{subsection.8.3.18}
\contentsline {subsection}{\numberline {8.3.19}defun current-token}{461}{subsection.8.3.19}
\contentsline {subsection}{\numberline {8.3.20}defun try-get-token}{461}{subsection.8.3.20}
\contentsline {subsection}{\numberline {8.3.21}defun next-token}{462}{subsection.8.3.21}
\contentsline {subsection}{\numberline {8.3.22}defun advance-token}{462}{subsection.8.3.22}
\contentsline {subsection}{\numberline {8.3.23}defvar \${XTokenReader}}{463}{subsection.8.3.23}
\contentsline {subsection}{\numberline {8.3.24}defun get-token}{463}{subsection.8.3.24}
\contentsline {subsection}{\numberline {8.3.25}Character handling}{463}{subsection.8.3.25}
\contentsline {subsection}{\numberline {8.3.26}defun current-char}{463}{subsection.8.3.26}
\contentsline {subsection}{\numberline {8.3.27}defun next-char}{463}{subsection.8.3.27}
\contentsline {subsection}{\numberline {8.3.28}defun char-eq}{464}{subsection.8.3.28}
\contentsline {subsection}{\numberline {8.3.29}defun char-ne}{464}{subsection.8.3.29}
\contentsline {subsection}{\numberline {8.3.30}Error handling}{464}{subsection.8.3.30}
\contentsline {subsection}{\numberline {8.3.31}defvar \${meta-error-handler}}{464}{subsection.8.3.31}
\contentsline {subsection}{\numberline {8.3.32}defun meta-syntax-error}{465}{subsection.8.3.32}
\contentsline {subsection}{\numberline {8.3.33}Floating Point Support}{465}{subsection.8.3.33}
\contentsline {subsection}{\numberline {8.3.34}defun floatexpid}{465}{subsection.8.3.34}
\contentsline {subsection}{\numberline {8.3.35}Dollar Translation}{465}{subsection.8.3.35}
\contentsline {subsection}{\numberline {8.3.36}defun dollarTran}{465}{subsection.8.3.36}
\contentsline {subsection}{\numberline {8.3.37}Applying metagrammatical elements of a production (e.g., Star).}{466}{subsection.8.3.37}
\contentsline {subsection}{\numberline {8.3.38}defmacro {Bang}}{466}{subsection.8.3.38}
\contentsline {subsection}{\numberline {8.3.39}defmacro {must}}{466}{subsection.8.3.39}
\contentsline {subsection}{\numberline {8.3.40}defun action}{467}{subsection.8.3.40}
\contentsline {subsection}{\numberline {8.3.41}defun optional}{467}{subsection.8.3.41}
\contentsline {subsection}{\numberline {8.3.42}defmacro {star}}{467}{subsection.8.3.42}
\contentsline {subsection}{\numberline {8.3.43}Stacking and retrieving reductions of rules.}{468}{subsection.8.3.43}
\contentsline {subsection}{\numberline {8.3.44}defvar \${reduce-stack}}{468}{subsection.8.3.44}
\contentsline {subsection}{\numberline {8.3.45}defmacro {reduce-stack-clear}}{468}{subsection.8.3.45}
\contentsline {subsection}{\numberline {8.3.46}defun push-reduction}{468}{subsection.8.3.46}
\contentsline {chapter}{\numberline {9}Comment Recording}{469}{chapter.9}
\contentsline {section}{\numberline {9.1}Comment Recording Layer 0 -- API}{470}{section.9.1}
\contentsline {subsection}{\numberline {9.1.1}defun recordSignatureDocumentation}{470}{subsection.9.1.1}
\contentsline {subsection}{\numberline {9.1.2}defun recordAttributeDocumentation}{470}{subsection.9.1.2}
\contentsline {section}{\numberline {9.2}Comment Recording Layer 1}{471}{section.9.2}
\contentsline {subsection}{\numberline {9.2.1}defun recordDocumentation}{471}{subsection.9.2.1}
\contentsline {section}{\numberline {9.3}Comment Recording Layer 2}{471}{section.9.3}
\contentsline {subsection}{\numberline {9.3.1}defun collectComBlock}{471}{subsection.9.3.1}
\contentsline {section}{\numberline {9.4}Comment Recording Layer 3}{472}{section.9.4}
\contentsline {subsection}{\numberline {9.4.1}defun recordHeaderDocumentation}{472}{subsection.9.4.1}
\contentsline {subsection}{\numberline {9.4.2}defun collectAndDeleteAssoc}{472}{subsection.9.4.2}
\contentsline {chapter}{\numberline {10}Category handling}{475}{chapter.10}
\contentsline {subsection}{\numberline {10.0.3}defun getConstructorExports}{475}{subsection.10.0.3}
\contentsline {chapter}{\numberline {11}Building libdb.text}{477}{chapter.11}
\contentsline {subsection}{\numberline {11.0.4}defun extendLocalLibdb}{477}{subsection.11.0.4}
\contentsline {subsection}{\numberline {11.0.5}defun buildLibdb}{478}{subsection.11.0.5}
\contentsline {subsection}{\numberline {11.0.6}defun buildLibdbString}{480}{subsection.11.0.6}
\contentsline {subsection}{\numberline {11.0.7}defun dbReadLines}{481}{subsection.11.0.7}
\contentsline {subsection}{\numberline {11.0.8}defun purgeNewConstructorLines}{481}{subsection.11.0.8}
\contentsline {subsection}{\numberline {11.0.9}defun dbWriteLines}{481}{subsection.11.0.9}
\contentsline {subsection}{\numberline {11.0.10}defun buildLibdbConEntry}{482}{subsection.11.0.10}
\contentsline {subsection}{\numberline {11.0.11}defun buildLibOps}{484}{subsection.11.0.11}
\contentsline {subsection}{\numberline {11.0.12}defun buildLibOp}{484}{subsection.11.0.12}
\contentsline {subsection}{\numberline {11.0.13}defun buildLibAttrs}{485}{subsection.11.0.13}
\contentsline {subsection}{\numberline {11.0.14}defun buildLibAttr}{485}{subsection.11.0.14}
\contentsline {subsection}{\numberline {11.0.15}defun screenLocalLine}{486}{subsection.11.0.15}
\contentsline {chapter}{\numberline {12}Comment Syntax Checking}{487}{chapter.12}
\contentsline {section}{\numberline {12.1}Comment Checking Layer 0 -- API}{492}{section.12.1}
\contentsline {subsection}{\numberline {12.1.1}defun finalizeDocumentation}{492}{subsection.12.1.1}
\contentsline {section}{\numberline {12.2}Comment Checking Layer 1}{495}{section.12.2}
\contentsline {subsection}{\numberline {12.2.1}defun transDocList}{495}{subsection.12.2.1}
\contentsline {section}{\numberline {12.3}Comment Checking Layer 2}{496}{section.12.3}
\contentsline {subsection}{\numberline {12.3.1}defun transDoc}{496}{subsection.12.3.1}
\contentsline {section}{\numberline {12.4}Comment Checking Layer 3}{497}{section.12.4}
\contentsline {subsection}{\numberline {12.4.1}defun transformAndRecheckComments}{497}{subsection.12.4.1}
\contentsline {section}{\numberline {12.5}Comment Checking Layer 4}{498}{section.12.5}
\contentsline {subsection}{\numberline {12.5.1}defun checkComments}{498}{subsection.12.5.1}
\contentsline {subsection}{\numberline {12.5.2}defun checkRewrite}{499}{subsection.12.5.2}
\contentsline {section}{\numberline {12.6}Comment Checking Layer 5}{501}{section.12.6}
\contentsline {subsection}{\numberline {12.6.1}defun checkArguments}{501}{subsection.12.6.1}
\contentsline {subsection}{\numberline {12.6.2}defun checkBalance}{501}{subsection.12.6.2}
\contentsline {section}{\numberline {12.7}Comment Checking Layer 6}{502}{section.12.7}
\contentsline {subsection}{\numberline {12.7.1}defun checkBeginEnd}{502}{subsection.12.7.1}
\contentsline {subsection}{\numberline {12.7.2}defun checkDecorate}{504}{subsection.12.7.2}
\contentsline {subsection}{\numberline {12.7.3}defun checkDecorateForHt}{506}{subsection.12.7.3}
\contentsline {subsection}{\numberline {12.7.4}defun checkDocError1}{507}{subsection.12.7.4}
\contentsline {subsection}{\numberline {12.7.5}defun checkFixCommonProblem}{508}{subsection.12.7.5}
\contentsline {subsection}{\numberline {12.7.6}defun checkGetLispFunctionName}{508}{subsection.12.7.6}
\contentsline {subsection}{\numberline {12.7.7}defun checkHTargs}{509}{subsection.12.7.7}
\contentsline {subsection}{\numberline {12.7.8}defun checkRecordHash}{509}{subsection.12.7.8}
\contentsline {subsection}{\numberline {12.7.9}defun checkTexht}{512}{subsection.12.7.9}
\contentsline {subsection}{\numberline {12.7.10}defun checkTransformFirsts}{513}{subsection.12.7.10}
\contentsline {subsection}{\numberline {12.7.11}defun checkTrim}{516}{subsection.12.7.11}
\contentsline {section}{\numberline {12.8}Comment Checking Layer 7}{517}{section.12.8}
\contentsline {subsection}{\numberline {12.8.1}defun checkDocError}{517}{subsection.12.8.1}
\contentsline {subsection}{\numberline {12.8.2}defun checkRemoveComments}{518}{subsection.12.8.2}
\contentsline {subsection}{\numberline {12.8.3}defun checkSkipToken}{518}{subsection.12.8.3}
\contentsline {subsection}{\numberline {12.8.4}defun checkSplit2Words}{518}{subsection.12.8.4}
\contentsline {section}{\numberline {12.9}Comment Checking Layer 8}{519}{section.12.9}
\contentsline {subsection}{\numberline {12.9.1}defun checkAddIndented}{519}{subsection.12.9.1}
\contentsline {subsection}{\numberline {12.9.2}defun checkDocMessage}{519}{subsection.12.9.2}
\contentsline {subsection}{\numberline {12.9.3}defun checkExtract}{520}{subsection.12.9.3}
\contentsline {subsection}{\numberline {12.9.4}defun checkGetArgs}{521}{subsection.12.9.4}
\contentsline {subsection}{\numberline {12.9.5}defun checkGetMargin}{522}{subsection.12.9.5}
\contentsline {subsection}{\numberline {12.9.6}defun checkGetParse}{522}{subsection.12.9.6}
\contentsline {subsection}{\numberline {12.9.7}defun checkGetStringBeforeRightBrace}{523}{subsection.12.9.7}
\contentsline {subsection}{\numberline {12.9.8}defun checkIeEg}{523}{subsection.12.9.8}
\contentsline {subsection}{\numberline {12.9.9}defun checkIndentedLines}{524}{subsection.12.9.9}
\contentsline {subsection}{\numberline {12.9.10}defun checkSkipIdentifierToken}{525}{subsection.12.9.10}
\contentsline {subsection}{\numberline {12.9.11}defun checkSkipOpToken}{525}{subsection.12.9.11}
\contentsline {subsection}{\numberline {12.9.12}defun checkSplitBrace}{525}{subsection.12.9.12}
\contentsline {subsection}{\numberline {12.9.13}defun checkTrimCommented}{526}{subsection.12.9.13}
\contentsline {subsection}{\numberline {12.9.14}defun newString2Words}{527}{subsection.12.9.14}
\contentsline {section}{\numberline {12.10}Comment Checking Layer 9}{527}{section.12.10}
\contentsline {subsection}{\numberline {12.10.1}defun checkAddBackSlashes}{527}{subsection.12.10.1}
\contentsline {subsection}{\numberline {12.10.2}defun checkAddMacros}{528}{subsection.12.10.2}
\contentsline {subsection}{\numberline {12.10.3}defun checkAddPeriod}{529}{subsection.12.10.3}
\contentsline {subsection}{\numberline {12.10.4}defun checkAddSpaceSegments}{529}{subsection.12.10.4}
\contentsline {subsection}{\numberline {12.10.5}defun checkAddSpaces}{530}{subsection.12.10.5}
\contentsline {subsection}{\numberline {12.10.6}defun checkAlphabetic}{531}{subsection.12.10.6}
\contentsline {subsection}{\numberline {12.10.7}defun checkIeEgfun}{531}{subsection.12.10.7}
\contentsline {subsection}{\numberline {12.10.8}defun checkIsValidType}{532}{subsection.12.10.8}
\contentsline {subsection}{\numberline {12.10.9}defun checkLookForLeftBrace}{533}{subsection.12.10.9}
\contentsline {subsection}{\numberline {12.10.10}defun checkLookForRightBrace}{533}{subsection.12.10.10}
\contentsline {subsection}{\numberline {12.10.11}defun checkNumOfArgs}{534}{subsection.12.10.11}
\contentsline {subsection}{\numberline {12.10.12}defun checkSayBracket}{534}{subsection.12.10.12}
\contentsline {subsection}{\numberline {12.10.13}defun checkSkipBlanks}{534}{subsection.12.10.13}
\contentsline {subsection}{\numberline {12.10.14}defun checkSplitBackslash}{535}{subsection.12.10.14}
\contentsline {subsection}{\numberline {12.10.15}defun checkSplitOn}{536}{subsection.12.10.15}
\contentsline {subsection}{\numberline {12.10.16}defun checkSplitPunctuation}{537}{subsection.12.10.16}
\contentsline {subsection}{\numberline {12.10.17}defun firstNonBlankPosition}{538}{subsection.12.10.17}
\contentsline {subsection}{\numberline {12.10.18}defun getMatchingRightPren}{538}{subsection.12.10.18}
\contentsline {subsection}{\numberline {12.10.19}defun hasNoVowels}{539}{subsection.12.10.19}
\contentsline {subsection}{\numberline {12.10.20}defun htcharPosition}{539}{subsection.12.10.20}
\contentsline {subsection}{\numberline {12.10.21}defun newWordFrom}{540}{subsection.12.10.21}
\contentsline {subsection}{\numberline {12.10.22}defun removeBackslashes}{541}{subsection.12.10.22}
\contentsline {subsection}{\numberline {12.10.23}defun whoOwns}{541}{subsection.12.10.23}
\contentsline {chapter}{\numberline {13}Utility Functions}{543}{chapter.13}
\contentsline {subsection}{\numberline {13.0.24}defun translabel}{543}{subsection.13.0.24}
\contentsline {subsection}{\numberline {13.0.25}defun translabel1}{543}{subsection.13.0.25}
\contentsline {subsection}{\numberline {13.0.26}defun displayPreCompilationErrors}{544}{subsection.13.0.26}
\contentsline {subsection}{\numberline {13.0.27}defun bumperrorcount}{545}{subsection.13.0.27}
\contentsline {subsection}{\numberline {13.0.28}defun parseTranCheckForRecord}{545}{subsection.13.0.28}
\contentsline {subsection}{\numberline {13.0.29}defun makeSimplePredicateOrNil}{546}{subsection.13.0.29}
\contentsline {subsection}{\numberline {13.0.30}defun parse-spadstring}{546}{subsection.13.0.30}
\contentsline {subsection}{\numberline {13.0.31}defun parse-string}{546}{subsection.13.0.31}
\contentsline {subsection}{\numberline {13.0.32}defun parse-identifier}{547}{subsection.13.0.32}
\contentsline {subsection}{\numberline {13.0.33}defun parse-number}{547}{subsection.13.0.33}
\contentsline {subsection}{\numberline {13.0.34}defun parse-keyword}{548}{subsection.13.0.34}
\contentsline {subsection}{\numberline {13.0.35}defun parse-argument-designator}{548}{subsection.13.0.35}
\contentsline {subsection}{\numberline {13.0.36}defun print-package}{549}{subsection.13.0.36}
\contentsline {subsection}{\numberline {13.0.37}defun checkWarning}{549}{subsection.13.0.37}
\contentsline {subsection}{\numberline {13.0.38}defun tuple2List}{549}{subsection.13.0.38}
\contentsline {subsection}{\numberline {13.0.39}defmacro {pop-stack-1}}{550}{subsection.13.0.39}
\contentsline {subsection}{\numberline {13.0.40}defmacro {pop-stack-2}}{550}{subsection.13.0.40}
\contentsline {subsection}{\numberline {13.0.41}defmacro {pop-stack-3}}{551}{subsection.13.0.41}
\contentsline {subsection}{\numberline {13.0.42}defmacro {pop-stack-4}}{551}{subsection.13.0.42}
\contentsline {subsection}{\numberline {13.0.43}defmacro {nth-stack}}{551}{subsection.13.0.43}
\contentsline {subsection}{\numberline {13.0.44}defun Pop-Reduction}{552}{subsection.13.0.44}
\contentsline {subsection}{\numberline {13.0.45}defun addclose}{552}{subsection.13.0.45}
\contentsline {subsection}{\numberline {13.0.46}defun blankp}{552}{subsection.13.0.46}
\contentsline {subsection}{\numberline {13.0.47}defun drop}{553}{subsection.13.0.47}
\contentsline {subsection}{\numberline {13.0.48}defun escaped}{553}{subsection.13.0.48}
\contentsline {subsection}{\numberline {13.0.49}defvar \${comblocklist}}{553}{subsection.13.0.49}
\contentsline {subsection}{\numberline {13.0.50}defun fincomblock}{553}{subsection.13.0.50}
\contentsline {subsection}{\numberline {13.0.51}defun indent-pos}{554}{subsection.13.0.51}
\contentsline {subsection}{\numberline {13.0.52}defun infixtok}{555}{subsection.13.0.52}
\contentsline {subsection}{\numberline {13.0.53}defun is-console}{555}{subsection.13.0.53}
\contentsline {subsection}{\numberline {13.0.54}defun next-tab-loc}{555}{subsection.13.0.54}
\contentsline {subsection}{\numberline {13.0.55}defun nonblankloc}{555}{subsection.13.0.55}
\contentsline {subsection}{\numberline {13.0.56}defun parseprint}{556}{subsection.13.0.56}
\contentsline {subsection}{\numberline {13.0.57}defun skip-to-endif}{556}{subsection.13.0.57}
\contentsline {chapter}{\numberline {14}The Compiler}{557}{chapter.14}
\contentsline {subsection}{\numberline {14.0.58}defvar \${newConlist}}{557}{subsection.14.0.58}
\contentsline {section}{\numberline {14.1}Compiling EQ.spad}{557}{section.14.1}
\contentsline {section}{\numberline {14.2}The top level compiler command}{560}{section.14.2}
\contentsline {subsection}{\numberline {14.2.1}defun compiler}{562}{subsection.14.2.1}
\contentsline {subsection}{\numberline {14.2.2}defun compileSpad2Cmd}{565}{subsection.14.2.2}
\contentsline {subsection}{\numberline {14.2.3}defun compileSpadLispCmd}{568}{subsection.14.2.3}
\contentsline {subsection}{\numberline {14.2.4}compilerDoitWithScreenedLisplib}{569}{subsection.14.2.4}
\contentsline {subsection}{\numberline {14.2.5}defun compilerDoit}{570}{subsection.14.2.5}
\contentsline {subsection}{\numberline {14.2.6}defun /rq}{571}{subsection.14.2.6}
\contentsline {subsection}{\numberline {14.2.7}defun /rf}{571}{subsection.14.2.7}
\contentsline {subsection}{\numberline {14.2.8}defun /RQ,LIB}{572}{subsection.14.2.8}
\contentsline {subsection}{\numberline {14.2.9}defun /rf-1}{572}{subsection.14.2.9}
\contentsline {subsection}{\numberline {14.2.10}defun spad}{573}{subsection.14.2.10}
\contentsline {subsection}{\numberline {14.2.11}defun Interpreter interface to the compiler}{576}{subsection.14.2.11}
\contentsline {subsection}{\numberline {14.2.12}defun compTopLevel}{586}{subsection.14.2.12}
\contentsline {subsection}{\numberline {14.2.13}defun print-defun}{587}{subsection.14.2.13}
\contentsline {subsection}{\numberline {14.2.14}defun def-rename}{587}{subsection.14.2.14}
\contentsline {subsection}{\numberline {14.2.15}defun compOrCroak}{588}{subsection.14.2.15}
\contentsline {subsection}{\numberline {14.2.16}defun compOrCroak1}{589}{subsection.14.2.16}
\contentsline {subsection}{\numberline {14.2.17}defun comp}{590}{subsection.14.2.17}
\contentsline {subsection}{\numberline {14.2.18}defun compNoStacking}{590}{subsection.14.2.18}
\contentsline {subsection}{\numberline {14.2.19}defun compNoStacking1}{591}{subsection.14.2.19}
\contentsline {subsection}{\numberline {14.2.20}defun comp2}{591}{subsection.14.2.20}
\contentsline {subsection}{\numberline {14.2.21}defun comp3}{592}{subsection.14.2.21}
\contentsline {subsection}{\numberline {14.2.22}defun applyMapping}{593}{subsection.14.2.22}
\contentsline {subsection}{\numberline {14.2.23}defun compApply}{595}{subsection.14.2.23}
\contentsline {subsection}{\numberline {14.2.24}defun compTypeOf}{596}{subsection.14.2.24}
\contentsline {subsection}{\numberline {14.2.25}defun compColonInside}{596}{subsection.14.2.25}
\contentsline {subsection}{\numberline {14.2.26}defun compAtom}{597}{subsection.14.2.26}
\contentsline {subsection}{\numberline {14.2.27}defun compAtomWithModemap}{598}{subsection.14.2.27}
\contentsline {subsection}{\numberline {14.2.28}defun transImplementation}{599}{subsection.14.2.28}
\contentsline {subsection}{\numberline {14.2.29}defun convert}{600}{subsection.14.2.29}
\contentsline {subsection}{\numberline {14.2.30}defun primitiveType}{600}{subsection.14.2.30}
\contentsline {subsection}{\numberline {14.2.31}defun compSymbol}{600}{subsection.14.2.31}
\contentsline {subsection}{\numberline {14.2.32}defun compList}{602}{subsection.14.2.32}
\contentsline {subsection}{\numberline {14.2.33}defun compForm}{602}{subsection.14.2.33}
\contentsline {subsection}{\numberline {14.2.34}defun compForm1}{603}{subsection.14.2.34}
\contentsline {subsection}{\numberline {14.2.35}defun compToApply}{605}{subsection.14.2.35}
\contentsline {subsection}{\numberline {14.2.36}defun compApplication}{605}{subsection.14.2.36}
\contentsline {subsection}{\numberline {14.2.37}defun getFormModemaps}{607}{subsection.14.2.37}
\contentsline {subsection}{\numberline {14.2.38}defun eltModemapFilter}{608}{subsection.14.2.38}
\contentsline {subsection}{\numberline {14.2.39}defun seteltModemapFilter}{609}{subsection.14.2.39}
\contentsline {subsection}{\numberline {14.2.40}defun compExpressionList}{609}{subsection.14.2.40}
\contentsline {subsection}{\numberline {14.2.41}defun compForm2}{610}{subsection.14.2.41}
\contentsline {subsection}{\numberline {14.2.42}defun compForm3}{612}{subsection.14.2.42}
\contentsline {subsection}{\numberline {14.2.43}defun compFocompFormWithModemap}{613}{subsection.14.2.43}
\contentsline {subsection}{\numberline {14.2.44}defun substituteIntoFunctorModemap}{614}{subsection.14.2.44}
\contentsline {subsection}{\numberline {14.2.45}defun compFormPartiallyBottomUp}{615}{subsection.14.2.45}
\contentsline {subsection}{\numberline {14.2.46}defun compFormMatch}{615}{subsection.14.2.46}
\contentsline {subsection}{\numberline {14.2.47}defun compUniquely}{616}{subsection.14.2.47}
\contentsline {subsection}{\numberline {14.2.48}defun compArgumentsAndTryAgain}{616}{subsection.14.2.48}
\contentsline {subsection}{\numberline {14.2.49}defun compWithMappingMode}{617}{subsection.14.2.49}
\contentsline {subsection}{\numberline {14.2.50}defun compWithMappingMode1}{617}{subsection.14.2.50}
\contentsline {subsection}{\numberline {14.2.51}defun extractCodeAndConstructTriple}{622}{subsection.14.2.51}
\contentsline {subsection}{\numberline {14.2.52}defun hasFormalMapVariable}{623}{subsection.14.2.52}
\contentsline {subsection}{\numberline {14.2.53}defun argsToSig}{623}{subsection.14.2.53}
\contentsline {subsection}{\numberline {14.2.54}defun compMakeDeclaration}{624}{subsection.14.2.54}
\contentsline {subsection}{\numberline {14.2.55}defun modifyModeStack}{625}{subsection.14.2.55}
\contentsline {subsection}{\numberline {14.2.56}defun Create a list of unbound symbols}{625}{subsection.14.2.56}
\contentsline {subsection}{\numberline {14.2.57}defun compOrCroak1,compactify}{626}{subsection.14.2.57}
\contentsline {subsection}{\numberline {14.2.58}defun Compiler/Interpreter interface}{627}{subsection.14.2.58}
\contentsline {subsection}{\numberline {14.2.59}defun recompile-lib-file-if-necessary}{627}{subsection.14.2.59}
\contentsline {subsection}{\numberline {14.2.60}defun spad-fixed-arg}{627}{subsection.14.2.60}
\contentsline {subsection}{\numberline {14.2.61}defun compile-lib-file}{628}{subsection.14.2.61}
\contentsline {subsection}{\numberline {14.2.62}defun compileFileQuietly}{628}{subsection.14.2.62}
\contentsline {subsection}{\numberline {14.2.63}defvar \${byConstructors}}{629}{subsection.14.2.63}
\contentsline {subsection}{\numberline {14.2.64}defvar \${constructorsSeen}}{629}{subsection.14.2.64}
\contentsline {chapter}{\numberline {15}Level 1}{631}{chapter.15}
\contentsline {subsection}{\numberline {15.0.65}defvar \${current-fragment}}{631}{subsection.15.0.65}
\contentsline {subsection}{\numberline {15.0.66}defun read-a-line}{631}{subsection.15.0.66}
\contentsline {chapter}{\numberline {16}Level 0}{633}{chapter.16}
\contentsline {section}{\numberline {16.1}Line Handling}{633}{section.16.1}
\contentsline {subsection}{\numberline {16.1.1}Line Buffer}{633}{subsection.16.1.1}
\contentsline {subsection}{\numberline {16.1.2}defstruct \${line}}{633}{subsection.16.1.2}
\contentsline {subsection}{\numberline {16.1.3}defvar \${current-line}}{634}{subsection.16.1.3}
\contentsline {subsection}{\numberline {16.1.4}defmacro {line-clear}}{634}{subsection.16.1.4}
\contentsline {subsection}{\numberline {16.1.5}defun line-print}{634}{subsection.16.1.5}
\contentsline {subsection}{\numberline {16.1.6}defun line-at-end-p}{634}{subsection.16.1.6}
\contentsline {subsection}{\numberline {16.1.7}defun line-past-end-p}{635}{subsection.16.1.7}
\contentsline {subsection}{\numberline {16.1.8}defun line-next-char}{635}{subsection.16.1.8}
\contentsline {subsection}{\numberline {16.1.9}defun line-advance-char}{635}{subsection.16.1.9}
\contentsline {subsection}{\numberline {16.1.10}defun line-current-segment}{636}{subsection.16.1.10}
\contentsline {subsection}{\numberline {16.1.11}defun line-new-line}{636}{subsection.16.1.11}
\contentsline {subsection}{\numberline {16.1.12}defun next-line}{636}{subsection.16.1.12}
\contentsline {subsection}{\numberline {16.1.13}defun Advance-Char}{637}{subsection.16.1.13}
\contentsline {subsection}{\numberline {16.1.14}defun storeblanks}{637}{subsection.16.1.14}
\contentsline {subsection}{\numberline {16.1.15}defun initial-substring}{637}{subsection.16.1.15}
\contentsline {subsection}{\numberline {16.1.16}defun get-a-line}{638}{subsection.16.1.16}
\contentsline {chapter}{\numberline {17}The Chunks}{639}{chapter.17}
\contentsline {chapter}{\numberline {18}Index}{657}{chapter.18}
