diff --git a/components/compiler/exprparser.cpp b/components/compiler/exprparser.cpp index d94f6c4369..6dcca08df9 100644 --- a/components/compiler/exprparser.cpp +++ b/components/compiler/exprparser.cpp @@ -408,6 +408,21 @@ namespace Compiler mNextOperand = false; return true; } + else if (keyword==Scanner::K_scriptrunning) + { + start(); + + mTokenLoc = loc; + parseArguments ("c", scanner); + + Generator::scriptRunning (mCode); + mOperands.push_back ('l'); + + mExplicit.clear(); + mRefOp = false; + mNextOperand = false; + return true; + } // check for custom extensions if (const Extensions *extensions = getContext().getExtensions()) diff --git a/components/compiler/lineparser.cpp b/components/compiler/lineparser.cpp index b1b831bc25..cdbfaa04ab 100644 --- a/components/compiler/lineparser.cpp +++ b/components/compiler/lineparser.cpp @@ -269,6 +269,13 @@ namespace Compiler Generator::startScript (mCode, mLiterals, mExplicit); mState = EndState; return true; + + case Scanner::K_stopscript: + + mExprParser.parseArguments ("c", scanner, mCode); + Generator::stopScript (mCode); + mState = EndState; + return true; } // check for custom extensions