private void ParseTokens(STTokens argTokens) { for (; ;) { mCancelToken.ThrowIfCancellationRequested(); if (!mLastChar.HasValue) { return; } ParseToken(out STToken pToken, out char pCar); if (pToken != null) { argTokens.Tokens.AddLast(pToken); } else if (!mLastChar.HasValue) { return; } else { switch (mLastChar.Value) { case STTokenChars.Terminate: case STTokenChars.TerminateNoShowOut: return; } } } }
public STTokensReader(STTokens argTokens, CancellationToken argCancelToken) { Tokens = argTokens; CancelToken = argCancelToken; TokensList = Tokens.Tokens; NodeAct = TokensList.First; }
public static TokensExpr Tokens(ST.STTokens argTokens) => new TokensExpr(argTokens);
public Exprs.Expr STToExprs(ST.STTokens argTokens, CancellationToken argCancelToken) { return(Exprs.Expr.Number(BigDecimal.Parse(argTokens.Tokens.OfType <ST.STTokenStr>().First().Text))); }