diff --git a/assets/basic.js b/assets/basic.js index 85816b4..8ebda94 100644 --- a/assets/basic.js +++ b/assets/basic.js @@ -1706,7 +1706,7 @@ FUNCTION_CALL (type: function, value: PRINT or something) // @returns BasicAST bF._EquationIllegalTokens = ["IF","THEN","ELSE","DEFUN","ON"]; bF.isSemanticLiteral = function(token, state) { - return "]" == token || ")" == token || + return undefined == token || "]" == token || ")" == token || "qot" == state || "num" == state || "bool" == state || "lit" == state; } bF.parserDoDebugPrint = true; diff --git a/assets/tbas/parser_wip.js b/assets/tbas/parser_wip.js index 98b4d1c..9c2d1c3 100644 --- a/assets/tbas/parser_wip.js +++ b/assets/tbas/parser_wip.js @@ -660,7 +660,7 @@ bF._parseLit = function(lnum, tokens, states, recDepth, functionMode) { bF._EquationIllegalTokens = ["IF","THEN","ELSE","DEFUN","ON"]; bF.isSemanticLiteral = function(token, state) { - return "]" == token || ")" == token || + return undefined == token || "]" == token || ")" == token || "qot" == state || "num" == state || "bool" == state || "lit" == state; } @@ -756,6 +756,14 @@ let states8 = ["lit","num","op","num","op","num"]; let tokens9 = ["NEXT"]; let states9 = ["lit"]; +// PRINT -3 +let tokens10 = ["PRINT","-","3"]; +let states10 = ["lit","op","num"]; + +// PRINT SPC(20-I); +let tokens11 = ["PRINT","SPC","(","20","-","I",")",";"]; +let states11 = ["lit"],"lit","paren","num","op","lit","paren","sep"]; + try { let trees = bF._parseTokens(lnum, tokens6,