From 5e1afcfaf3f2fa3cee4d2a2f7648880b5cfa5831 Mon Sep 17 00:00:00 2001 From: "B. Watson" Date: Sun, 7 Jul 2024 05:26:20 -0400 Subject: whichbas: consolidate op logic. --- whichbas.c | 30 ++++++++---------------------- 1 file changed, 8 insertions(+), 22 deletions(-) (limited to 'whichbas.c') diff --git a/whichbas.c b/whichbas.c index 85a9038..2bb3778 100644 --- a/whichbas.c +++ b/whichbas.c @@ -322,38 +322,24 @@ CALLBACK(handle_op) { /* 5d: see 5a, above (same logic). */ /* 5e! FRAC (num func, 1 arg) or DPEEK (num func, 1 arg), can't tell apart :( */ - if(tok == 0x5f) { - /* TIME$ in TB, SYS (function) in BXL/BXE */ - if(nexttok == OP_FUNC_LPAR) { - remove_type(BT_TURBO); - } - } - - if(tok == 0x60) { - /* TIME in TB, VSTICK (function) in BXL/BXE */ + /* 5f: TIME$ in TB, SYS (function) in BXL/BXE */ + /* 60: TIME in TB, VSTICK (function) in BXL/BXE */ + /* 61: MOD (infix op) in TB, HSTICK (function) in BXL/BXE */ + /* 62: EXEC (infix op, with ON) in TB, PMADR (function) in BXL/BXE */ + if(tok == 0x5f || tok == 0x60 || tok == 0x61 || tok == 0x62) { if(nexttok == OP_FUNC_LPAR) { remove_type(BT_TURBO); + } else { + remove_type(BT_BXL_BXE); } } - if(tok == 0x61) { - /* MOD (infix op) in TB, HSTICK (function) in BXL/BXE */ - if(nexttok == OP_FUNC_LPAR) - remove_type(BT_TURBO); - } - - if(tok == 0x62) { - /* EXEC (infix op, with ON) in TB, PMADR (function) in BXL/BXE */ - if(nexttok == OP_FUNC_LPAR) - remove_type(BT_TURBO); - } - /* 63! RND (func, 1 num arg) or ERR (func, 1 num arg), can't tell apart */ /* 64! RAND (func, 1 num arg) or TAB (func, 1 num arg), can't tell apart */ /* 65! TRUNC (func, 1 num arg) or PEN (func, 1 num arg), can't tell apart */ if(tok == 0x66 || tok == 0x67 || tok == 0x68) { - /* either %0 %1 %2 (TB), or LEFT$ RIGHT$ MID$ (BXL/XE) */ + /* either %0 %1 %2 (TB), or LEFT$ RIGHT$ MID$ (BXL/XE, *no* OP_FUNC_LPAR) */ if(nexttok == OP_STRCONST || nexttok >= 0x80) { /* %0 %1 %2 can't be followed by a string constant *or* a variable */ remove_type(BT_TURBO); -- cgit v1.2.3