jp test .inc "ascii.h" .inc "core.asm" .inc "str.asm" .inc "lib/util.asm" .inc "lib/ari.asm" .inc "lib/parse.asm" .equ EXPR_PARSE parseLiteral .inc "lib/expr.asm" .inc "basic/parse.asm" .inc "lib/fmt.asm" .inc "stdio.asm" .inc "common.asm" test: ld sp, 0xffff call testParseThruth ; success xor a halt testParseThruth: ld hl, .t1 call .true ld hl, .t2 call .true ld hl, .t3 call .true ld hl, .t4 call .true ld hl, .t5 call .true ld hl, .t6 call .true ld hl, .t7 call .true ld hl, .t8 call .true ld hl, .f1 call .false ld hl, .f2 call .false ld hl, .f3 call .false ld hl, .f4 call .false ld hl, .f5 call .false ld hl, .f6 call .false ld hl, .e1 call .error ret .true: call parseTruth call assertZ or a call assertNZ jp nexttest .false: call parseTruth call assertZ or a call assertZ jp nexttest .error: call parseTruth call assertNZ jp nexttest .t1: .db "42", 0 .t2: .db "42+4=50-4", 0 .t3: .db "1<2", 0 .t4: .db "2>1", 0 .t5: .db "2>=1", 0 .t6: .db "2>=2", 0 .t7: .db "1<=2", 0 .t8: .db "2<=2", 0 .f1: .db "42-42", 0 .f2: .db "42+4=33+2", 0 .f3: .db "2<2", 0 .f4: .db "1>2", 0 .f5: .db "1>=2", 0 .f6: .db "2<=1", 0 .e1: .db "foo", 0 STDIO_RAMSTART: