|
|
DataMuseum.dkPresents historical artifacts from the history of: CP/M |
This is an automatic "excavation" of a thematic subset of
See our Wiki for more about CP/M Excavated with: AutoArchaeologist - Free & Open Source Software. |
top - metrics - download
Length: 6016 (0x1780)
Types: TextFile
Names: »MICRO.LOG«
└─⟦0c23030ba⟧ Bits:30005892 LPA Prolog rel 2.0 (RC855)
└─⟦this⟧ »MICRO.LOG«
micro-mod
(which all ask one add kill edit cedit space delete list true-of
accept function # save load dir PROD
ON APPEND CONS reserved @ % = ü - + *)
(yes c func end help Expression-Parse exptran-mod)
((COPYRIGHT 1983 LPA LTD (V 12-2)))
((dir x)(DIR x X)(PP X))
((save x)(SAVE x))
((load x)(LOAD x)(SPACE X)(PP X K free))
((which (XøY))(exp-parse Y Y1)
(? Y1)
(PP X)
FAIL)
((which X)(PP No (more) answers))
((all X)(which X))
((one (XøY))(exp-parse Y Y1)
(? Y1)
(P X)
(R Z)
(NOT EQ Z c))
((one X)(PP No (more) answers))
((ask X)(exp-parse X X1)(IF (? X1)((PP yes))((PP no))))
((add X)
(INT X)
/(LESS 0 X)
(R Z)(EQ Z (xøY))(SUM 1 X1 X)(exp-parse Y Y1)
(ADDCL (xøY1) X1))
((add Z)(EQ Z (xøX))(exp-parse X X1)
(ADDCL (xøX1) 32767))
((exp-parse ()())/)
((exp-parse ((= x y)øZ) ((# (EQ x1 y1) Y)øZ1))
("?EQNTEST?" Y)/
(Expression-Parse (x y) (x1 y1) Y)(exp-parse Z Z1))
((exp-parse ((# xøy)øZ) ((# (xø y1) Y)øZ1))
(NOT LST x)("?EQNTEST?" Y)/
(Expression-Parse y y1 Y)(exp-parse Z Z1))
((exp-parse (XøY) (XøZ))(exp-parse Y Z))
(("?EQNTEST?" X)(VAR X)/)
(("?EQNTEST?" X)(OPMOD exptran-mod)CLMOD)
((kill all)
/
(P Whole program "?(yes/no)")
(R X)
(EQ X yes)
(KILL ALL)(SPACE Y)
(PP Whole program deleted Y K free))
((kill X)
(OPMOD X)
/
CLMOD
(KILL X)(SPACE Y)
(PP Module X deleted Y K free))
((kill X)
(KILL X)
(PP All clauses for X deleted))
((delete X)
(CON X)/(R Y)
(IF (DELCL X Y) () ((PP No such clause))))
((delete X)
(OR ((DELCL X)) ((PP No such clause))))
((list all)/(LIST ALL))
((list X)
(LIST X))
((accept X)
(CON X)(P X)
(R Y)
(OR ((LST Y) (ADDCL ((X øY))) /(accept X))
((OR ((EQ Y end)) ((P " " Y not a list)(PP)(accept X))))
))
((function x)(CON x)(OR ((CL ((func x)))/) ((ADDCL ((func x))))))
((reserved Y)(DICT x1 y YøZ))
((cedit X) (ed X /*))
((edit X) (ed X DELCL))
((ed X X5)
(CON X)
(R Y)
(INT Y)
(CL ((XøZ)øx) Y Y)(exp-parse Z1 x)
(RFILL (Y ((XøZ)øZ1)) y1) (INT y1)(R Z3)(LESS 0 y1)(EQ Z3 (Z4øy))
(exp-parse y Z2)
(EQ Z4 (zøX1))(NOT SYS (zøX1))(SUM 1 y2 y1) (X5 X Y)(ADDCL (Z4øZ2) y2)
(IF (EQ X z)() ((PP relation changed to z))))
((space X)
(SPACE Y)
(P Y)
(PP K left))
((# X Y)
(? Y)/
X)
((APPEND () X X))
((APPEND (XøY) Z (Xøx))
(APPEND Y Z x))
((ON X (XøY)))
((ON X (YøZ))
(ON X Z))
((CONS X Y (XøY)))
((@ x øy) (xøy))
((true-of x y)(xøy))
((% Y Z X)
(TIMES X Z Y))
(("-" Y Z X)
(SUM Z X Y))
((+ Y Z X)
(SUM Y Z X))
((* Y Z X)
(TIMES Y Z X))
((PROD X Y Z)/
(TIMES X Y Z)
(INT X)
(INT Y)
(INT Z))
((PROD X Y Z x)
(VAR Y)
(VAR x)
/
(TIMES X y Z)
(INT y Y)
(TIMES X Y z)
(SUM x z Z))
((PROD X Y Z x)
(VAR X)
(VAR x)
(TIMES Y y Z)
(INT y X)
(TIMES Y X z)
(SUM x z Z))
CLMOD
errtrap-mod ("?ERROR?") (q e s f c is-told tell)
((P-code 0 "Arithmetic overflow"))
((P-code 1 "Arithmetic underflow"))
((P-code 2 "No clauses for"))
((P-code 3 "Control error"))
((P-code 4 "Error in adding clause"))
((P-code 5 "File error"))
((P-code 6 "Too many files opened at once"))
((P-code 7 "Close all files first"))
((P-code 8 "Bad data in file"))
((P-code 9 "Write error"))
((P-code 10 "Disk or directory is full"))
((P-code 11 "Break !"))
((P-code 12 "Illegal use of modules"))
((P-code X (Error X)))
(("?ERROR?" X Y)
(P-code X Z)/
(P Z Y)(PP)
(P "error&(? for info)") (R x)(respond x Y))
((respond q X)
(ABORT))
((respond e X)
/(RFILL (X) Y)Y)
((respond c X)
/ X)
((respond tell X)/(is-told (X)))
((respond f X)/FAIL)
((respond s X)/)
((respond / X)/
(R x)(R Y)
(x Y)
(P "error&") (R Z)
(respond Z X))
((respond y (YøY1))
(PP to quit enter: q )
(PP to fail call enter:f)
(PP to succeed call enter:s)
(PP to line edit call and resume enter:e)
(P or enter / "<any command>" (eg / add "<clause>",/ LOAD file))(PP)
(PP or enter:tell(see manual))
(PP to resume enter: c)
(P "error&")(R x)
(respond x (YøY1)))
CLMOD
told-mod (is-told)(yes no just ans)
((is-told X)( LST X)/(told X))
((is-told øX)(told X))
((told X)(P øX)(P " ? ")
(R Y)(answer X Y))
((answer X yes)/)
((answer X no)/FAIL)
((answer X just)/(match X))
((answer X ans) (match X))
((answer X x) (NOT EQ x ans)(P x ignored - enter: yes/no/ans ..
/just ..)(PP)FAIL)
((answer X x)(told X))
((match ())/)
((match (xøX))
(VAR x)/(R x)(match X))
((match ((xøy)øX))/
(match (xøy))
(match X))
((match (xøX))
(match X))
CLMOD
exptran-mod
( Expression-Parse )
(@ # + - ü * %
APPEND CONS func & and yes rel-form)
((less + x2))
((less "-" x2))
((less ü x2))
((op x)
(NOT VAR x)
(sysop x))
((fn x)
(CON x)(fn1 x))
((fn1 APPEND))
((fn1 @))
((fn1 x)(CL ((func x))))
((fn1 x)
(PP x assumed not to be function name)FAIL)
((sysop +))
((sysop ü))
((sysop "-"))
((sysop *))
((sysop %))
((sysop /))
(("?EQNS-IN?"))
((Expression-Parse x y z)
(VAR z)/
(X-parse x y z ()))
((Expression-Parse x x z)
(NOT CL ((rel-form)))(symbval z))
((symbval ())/)
((symbval ((XøY)øZ))
(APPEND Y1 (x) Y)/
(IF (sysop X) ((EQ Y1 (y1 y2))(EQ x (y1 X y2))) ((EQ x (XøY1))))
(symbval Z))
((name / %)/)
((name ü -)/)
((name x x))
((X-parse x x y y) (NOT LST x)/)
((X-parse (y1 x y2) z Z Y)
(op x)
(X-parse y1 z1 Z Y1)(name x x1)
(X-parse y2 z2 Y1 ((x1 z1 z2 z)øY))
/)
((X-parse (y1 x1 y2 x2 øY) z Z X)
(op x1)(op x2)/
(IF (less x1 x2) ((X-parse (y1 x1 (y2 x2øY)) z Z X))
((X-parse ((y1 x1 y2)x2øY) z Z X)))
)
((X-parse (x y Y) z ((CONS y1 Y1 z)øZ) Z1)
(NOT VAR x)(EQ x CONS)/
(Zip (y Y) (y1 Y1) Z Z1))
((X-parse (xøY) z Z Z1)
(fn x)/
(Zip Y Y1 Z ((xøY2)øZ1))
(APPEND Y1 (z) Y2))
((X-parse X Y Z Z1)
(Zip X Y Z Z1))
((Zip x x y y )
(NOT LST x)
/)
((Zip ()() y y)/)
((Zip (yøY) (y1øY1) Z Z2)
(X-parse y y1 Z Z1)
(Zip Y Y1 Z1 Z2))
CLMOD
«eof»