1 <COND (<LOOKUP "COMPDEC" <MOBLIST PACKAGE!- >>
2 <USE "COMPDEC" "CHKDCL">)>
4 ; "CHKDCL Diagnostic program."
8 <DEFINE CHECKIT ('A 'B 'C 'TST OP "AUX" RES)
9 <PRINT <SETG NUMBER <+ ,NUMBER 1>>>
10 <COND (<NOT <APPLY .OP <SET RES <APPLY <EVAL .TST> .A .B>> .C>>
13 <PRINC " applied to ">
17 <PRINC " resulted in ">
19 <PRINC " instead of ">
24 <CHECKIT FIX FIX FIX ,TYPE-AND ,==?>
26 <CHECKIT FIX FIX FIX ,TYPE-MERGE ,==?>
28 <CHECKIT <PRIMTYPE FIX> FIX FIX ,TYPE-AND ,==?>
30 <CHECKIT <PRIMTYPE FIX> FIX <PRIMTYPE FIX> ,TYPE-MERGE ,=?>
32 <CHECKIT FIX FLOAT #FALSE () ,TYPE-AND ,==?>
34 <CHECKIT FIX FLOAT (<OR FIX FLOAT> <OR FLOAT FIX>) ,TYPE-MERGE ,MEMBER>
36 <CHECKIT <PRIMTYPE VECTOR> <OR FIX <VECTOR FIX>> <VECTOR FIX> ,TYPE-AND ,=?>
38 <CHECKIT <PRIMTYPE VECTOR> <OR FIX <VECTOR FIX>> (<OR FIX <PRIMTYPE VECTOR>>
39 <OR <PRIMTYPE VECTOR> FIX>)
42 <CHECKIT <LIST ANY> <LIST [REST <LIST [REST ATOM]> ATOM]>
43 <LIST <LIST [REST ATOM]> [REST ATOM <LIST [REST ATOM]>]>
46 <CHECKIT <LIST [REST FIX FLOAT]> <LIST [REST FIX ATOM]> #FALSE () ,TYPE-AND ,==?>
48 <CHECKIT <LIST [REST FIX FLOAT]> <LIST [REST FIX ATOM]>
49 (<LIST [REST FIX <OR ATOM FLOAT>]> <LIST [REST FIX <OR FLOAT ATOM>]>)
51 <CHECKIT <NOT <LIST FIX FIX>> <LIST [2 FIX]> #FALSE () ,TYPE-AND ,==?>
53 <CHECKIT <NOT <LIST [2 FIX]>> <LIST FIX FIX> #FALSE () ,TYPE-AND ,==?>
55 <CHECKIT <UVECTOR FIX [REST FIX]> <UVECTOR FIX FIX [REST FIX]> <UVECTOR FIX [REST FIX]>
58 <CHECKIT <NOT LIST> <LIST <LIST ANY ANY ANY FIX>> #FALSE () ,TYPE-AND ,==?>
60 '<CHECKIT STRUCTURED APPLICABLE <OR RSUBR RSUBR-ENTRY FUNCTION> ,TYPE-AND ,=?>
62 <CHECKIT STRUCTURED APPLICABLE <OR APPLICABLE STRUCTURED> ,TYPE-MERGE ,=?>
64 <CHECKIT <<OR FALSE LIST> [REST FIX]> <NOT <<OR LIST FALSE> [REST FIX]>> #FALSE ()
67 <CHECKIT <LIST <OR STRING ATOM VECTOR>> <NOT <LIST <OR STRING VECTOR ATOM>>> #FALSE ()
70 <CHECKIT <LIST FIX> <LIST [REST FIX]> (LIST <LIST [OPTIONAL FIX]> <LIST [OPT FIX]>) ,TYPE-MERGE ,MEMBER>
72 <CHECKIT <LIST FIX> <LIST [REST FIX]> <LIST FIX [REST FIX]> ,TYPE-AND ,=?>
74 <CHECKIT <OR <LIST [REST <NOT ANY>]>
75 <LIST FIX FLOAT [REST <NOT ANY>]>>
76 <STRUCTURED ANY ANY> <LIST FIX FLOAT [REST <NOT ANY>]> ,TYPE-AND ,=?>
78 <CHECKIT <OR <LIST [REST <NOT ANY>]>
79 <LIST FIX FLOAT [REST <NOT ANY>]>>
80 <STRUCTURED ANY> <LIST FIX FLOAT [REST <NOT ANY>]> ,TYPE-AND ,=?>
82 <CHECKIT <OR <LIST [REST <NOT ANY>]>
83 <LIST FIX FLOAT [REST <NOT ANY>]>>
84 <STRUCTURED ANY [REST <NOT ANY>]>
85 #FALSE () ,TYPE-AND ,==?>
86 <CHECKIT <OR FIX FALSE LIST> <LIST FIX> <OR FALSE FIX LIST> ,TYPE-MERGE ,=?>
88 <PUT-DECL STRING '<STRING [REST CHARACTER]>>
90 <CHECKIT <OR FIX STRING <LIST [REST STRING]>> STRING
91 <OR FIX STRING <LIST [REST STRING]>> ,TYPE-MERGE ,=?>
95 <CHECKIT ANY <PRIMTYPE FIX> ANY ,TYPE-MERGE ,=?>
97 <CHECKIT <PRIMTYPE LIST> <OR <PRIMTYPE ATOM> <PRIMTYPE LIST>>
98 <OR <PRIMTYPE ATOM> <PRIMTYPE LIST>>
102 <NEWTYPE SPACE VECTOR '<VECTOR <LIST [REST PBLOCK]> WORD WORD WORD LIST>>
104 <NEWTYPE AREAX VECTOR>
106 <NEWTYPE PBLOCK VECTOR>
108 <CHECKIT <OR <AREAX [2 ANY] WORD> <SPACE <LIST [REST PBLOCK]> [3 WORD] LIST>>
109 <OR SPACE AREAX> <OR AREAX SPACE> ,TYPE-MERGE ,=?>
111 <CHECKIT <OR <VECTOR [REST <OR ATOM FALSE LOSE>]>
112 <VECTOR <OR ATOM FALSE>
116 [REST <OR ATOM FALSE LOSE>]>>
117 <VECTOR [REST <OR ATOM FALSE LOSE>]>
118 <OR <VECTOR [REST <OR ATOM FALSE LOSE>]>
119 <VECTOR <OR ATOM FALSE>
123 [REST <OR ATOM FALSE LOSE>]>>
126 <CHECKIT <PRIMTYPE LIST> <<PRIMTYPE LIST> ANY> <PRIMTYPE LIST> ,TYPE-MERGE ,=?>
128 <CHECKIT <VECTOR FIX FIX> <VECTOR FIX FLOAT> <VECTOR FIX <OR FIX FLOAT>>
131 <CHECKIT <VECTOR FIX FIX> <VECTOR FLOAT FLOAT>
132 <OR <VECTOR FIX FIX> <VECTOR FLOAT FLOAT>> ,TYPE-MERGE ,=?>
134 <CHECKIT <OR LIST <VECTOR FIX FIX>> <OR <LIST [2 ANY]> <VECTOR [2 FIX]>>
135 <OR LIST <VECTOR [2 FIX]>> ,TYPE-MERGE ,=?>
137 <CHECKIT <OR <LIST [2 ANY]> <VECTOR [2 FIX]>> <OR LIST <VECTOR FIX FIX>>
138 <OR LIST <VECTOR [2 FIX]>> ,TYPE-MERGE ,=?>
140 <PUT-DECL NUMBER '<OR FIX FLOAT>>
142 <CHECKIT NUMBER FIX <OR FIX FLOAT> ,TYPE-MERGE ,=?>
144 <CHECKIT FIX NUMBER <OR FIX FLOAT> ,TYPE-MERGE ,=?>
146 <CHECKIT <LIST FIX FLOAT> <LIST [REST FIX FLOAT]>
147 (LIST <LIST [OPTIONAL FIX FLOAT]>) ,TYPE-MERGE ,MEMBER>
149 <CHECKIT !<LIST FIX FIX> !<LIST FIX FIX FIX> #FALSE () ,TYPE-AND ,==?>
151 <CHECKIT !<LIST FIX FIX> <LIST [REST FIX]> !<LIST [2 FIX]> ,TYPE-AND ,=?>
153 <CHECKIT <LIST [OPT FIX FLOAT]> <LIST [REST FIX FLOAT]> <LIST [OPTIONAL
154 FIX FLOAT]> ,TYPE-MERGE ,=?>
156 <CHECKIT <LIST FIX FLOAT [REST ATOM STRING]> 1 FIX ,GET-ELE-TYPE ,==?>
158 <CHECKIT <LIST FIX FLOAT [REST ATOM STRING]> 2 FLOAT ,GET-ELE-TYPE ,==?>
160 <CHECKIT <LIST FIX FLOAT [REST ATOM STRING]> 3 ATOM ,GET-ELE-TYPE ,==?>
162 <CHECKIT <LIST FIX FLOAT [REST ATOM STRING]> 4 STRING ,GET-ELE-TYPE ,==?>
164 <CHECKIT <LIST FIX FLOAT [REST ATOM STRING]> ALL
165 <OR ATOM FIX FLOAT STRING> ,GET-ELE-TYPE ,=?>
167 <DEFINE GETY (A B) <GET-ELE-TYPE .A .B T>>
169 %<SETG FOO '<LIST FIX FLOAT [REST ATOM STRING]>>
171 <CHECKIT %,FOO 1 <LIST FLOAT [REST ATOM STRING]> ,GETY ,=?>
173 <CHECKIT %,FOO 2 <LIST [REST ATOM STRING]> ,GETY ,=?>
175 <CHECKIT %,FOO 3 <LIST [REST <OR ATOM STRING>]> ,GETY ,=?>
177 <CHECKIT %,FOO ALL <LIST [REST <OR ATOM FIX FLOAT STRING>]> ,GETY ,=?>
181 <CHECKIT <OR VV FALSE> ANY <OR FALSE VECTOR> ,TYPE-AND ,=?>
184 <PUT-DECL QQ '<VECTOR FIX FIX>>
186 <CHECKIT <OR QQ FALSE> VECTOR <VECTOR FIX FIX> ,TYPE-AND ,=?>