; ; express.sh ; ; Evaluation of BASIC expressions ; ; © 1995 Straylight ; ;----- Overview ------------------------------------------------------------- ; ; Functions provided: ; ; express_pop ; express_popTwo ; express_push ; express_fnCont ; express_read [ :LNOT::DEF:express__dfn GBLL express__dfn ; --- express_pop --- ; ; On entry: -- ; ; On exit: R0,R1 == value popped off ; ; Use: Pops a value from the stack. IMPORT express_pop ; --- express_popTwo --- ; ; On entry: -- ; ; On exit: R0-R3 == two values popped from the stack ; ; Use: Pops two values from the stack. IMPORT express_popTwo ; --- express_push --- ; ; On entry: R0,R1 == l/rvalue to push ; ; On exit: -- ; ; Use: Pushes a value onto the expression stack. IMPORT express_push ; --- express_fnCont --- ; ; On entry: Involved ; ; On exit: Similarly involved. ; ; Use: We continue here after executing a function. IMPORT express_fnCont ; --- express_read --- ; ; On entry: R0 == 1 to read an lvalue, 2 to read ident, 0 otherwise ; R7, R8, R9 == lookahead token ; R10 == pointer into tokenised buffer ; R11 == evaluation stack pointer ; R12 == anchor pointer ; ; On exit: R0,R1 == value of expression ; R7, R8, R9 == lookahead token ; R0, R1 == result of expression ; R10 == moved on to first char after expression ; ; Use: Reads an expression for the current position in the ; tokenised file. IMPORT express_read ] ;----- That's all, folks ---------------------------------------------------- END