123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081 |
- % MAIN3.RED - Test CASE and CONS
- % Need: SUB2.RED simple print routines
- % SUB3.RED simple allocator
- IN "XXX-HEADER.RED"$
- IN "PT:STUBS3.RED"$
- on syslisp;
- syslsp Procedure FirstCall;
- begin scalar X, Y;
- Init();
- Print '"MAIN3: Casetest"$
- CaseTest();
- Print '"MAIN3: test CONS"$
- InitHeap();
- ConsTest();
- quit;
- end;
- syslsp procedure CaseTest;
- <<Prin2t '"Test case from -1 to 11";
- Prin2t '"Will classify argument";
- Ctest (-1);
- Ctest 0;
- Ctest 1;
- Ctest 2;
- Ctest 3;
- Ctest 4;
- Ctest 5;
- Ctest 6;
- Ctest 7;
- Ctest 8;
- Ctest 9;
- Ctest 10;
- Ctest 11;
- Ctest 12>>;
- syslsp procedure CTest N;
- Case N of
- 0: Show(N,"0 case");
- 1,2,3: Show(N,"1,2,3 case");
- 6 to 10:Show(N,"6 ... 10 case");
- default:Show(N,"default case");
- end;
- syslsp procedure Show(N,S);
- <<Prin2String "Show for N=";
- Prin1Int N;
- Prin2String ", expect ";
- Prin2String S;
- Terpri()>>;
- Procedure CONStest();
- Begin scalar Z,N;
- Z:='1;
- N:='2;
- While N<10 do
- <<z:=cons(N,z);
- Print z;
- N:=N+1>>;
- End;
- FLUID '(UndefnCode!* UndefnNarg!*);
- syslsp procedure UndefinedFunctionAux;
- % Should preserve all regs
- <<Terpri();
- Prin2String "**** Undefined Function: ";
- Prin1ID LispVar UndefnCode!*;
- Prin2String " , called with ";
- Prin2 LispVar UndefnNarg!*;
- Prin2T " arguments";
- Quit;>>;
- Off syslisp;
- End;
|