Lines Matching refs:pToken

464  * @param   pToken        The uninitialized token.
466 static void vdScriptTokenizerGetIdeOrKeyword(PVDTOKENIZER pTokenizer, PVDSCRIPTTOKEN pToken)
473 pToken->Pos = pTokenizer->Pos;
491 pToken->enmClass = VDTOKENCLASS_KEYWORD;
492 pToken->Class.Keyword.enmKeyword = g_aKeywords[i].enmKeyword;
499 pToken->enmClass = VDTOKENCLASS_IDENTIFIER;
500 pToken->Class.Ide.pszIde = pszIde;
501 pToken->Class.Ide.cchIde = cchIde;
503 pToken->Pos.iChEnd += cchIde;
511 * @param pToken The uninitialized token.
513 static void vdScriptTokenizerGetNumberConst(PVDTOKENIZER pTokenizer, PVDSCRIPTTOKEN pToken)
521 pToken->enmClass = VDTOKENCLASS_NUMCONST;
522 int rc = RTStrToUInt64Ex(pTokenizer->pszInput, &pszNext, 0, &pToken->Class.NumConst.u64);
533 pToken->Class.NumConst.u64 *= _1K;
538 pToken->Class.NumConst.u64 *= _1M;
543 pToken->Class.NumConst.u64 *= _1G;
548 pToken->Class.NumConst.u64 *= _1T;
558 * @param pToken The uninitialized token.
562 static void vdScriptTokenizerGetStringConst(PVDTOKENIZER pTokenizer, PVDSCRIPTTOKEN pToken)
569 pToken->enmClass = VDTOKENCLASS_STRINGCONST;
570 pToken->Pos = pTokenizer->Pos;
571 pToken->Class.StringConst.pszString = pTokenizer->pszInput;
581 pToken->Class.StringConst.cchString = cchStr;
582 pToken->Pos.iChEnd += cchStr;
590 * @param pToken The uninitialized token.
592 static void vdScriptTokenizerGetEos(PVDTOKENIZER pTokenizer, PVDSCRIPTTOKEN pToken)
596 pToken->enmClass = VDTOKENCLASS_EOS;
597 pToken->Pos = pTokenizer->Pos;
605 * @param pToken The uninitialized token.
607 static void vdScriptTokenizerGetOperatorOrPunctuator(PVDTOKENIZER pTokenizer, PVDSCRIPTTOKEN pToken)
611 pToken->enmClass = VDTOKENCLASS_INVALID;
612 pToken->Pos = pTokenizer->Pos;
622 memset(pToken->Class.Operator.aszOp, 0, sizeof(pToken->Class.Operator.aszOp));
624 int rc = RTStrCopy(pToken->Class.Operator.aszOp, sizeof(pToken->Class.Operator.aszOp), g_aScriptOps[i].pszOp);
627 pToken->enmClass = VDTOKENCLASS_OPERATORS;
628 pToken->Pos.iChEnd += g_aScriptOps[i].cchOp;
644 pToken->Pos.iChEnd += g_aScriptPunctuators[i].cchOp;
645 pToken->enmClass = VDTOKENCLASS_PUNCTUATOR;
646 pToken->Class.Punctuator.chPunctuator = *g_aScriptPunctuators[i].pszOp;
661 * @param pToken Uninitialized token to fill the token data into.
663 static void vdScriptTokenizerReadNextToken(PVDTOKENIZER pTokenizer, PVDSCRIPTTOKEN pToken)
670 vdScriptTokenizerGetIdeOrKeyword(pTokenizer, pToken);
672 vdScriptTokenizerGetNumberConst(pTokenizer, pToken);
674 vdScriptTokenizerGetStringConst(pTokenizer, pToken);
676 vdScriptTokenizerGetEos(pTokenizer, pToken);
678 vdScriptTokenizerGetOperatorOrPunctuator(pTokenizer, pToken);
778 PCVDSCRIPTTOKEN pToken = vdScriptTokenizerGetToken(pTokenizer);
780 if ( pToken->enmClass == VDTOKENCLASS_PUNCTUATOR
781 && pToken->Class.Punctuator.chPunctuator == chCheck)
816 PCVDSCRIPTTOKEN pToken = vdScriptTokenizerGetToken(pTokenizer);
818 if ( pToken->enmClass == VDTOKENCLASS_KEYWORD
819 && pToken->Class.Keyword.enmKeyword == enmKeyword)
854 PCVDSCRIPTTOKEN pToken = vdScriptTokenizerGetToken(pTokenizer);
856 if ( pToken->enmClass == VDTOKENCLASS_OPERATORS
857 && !RTStrCmp(pToken->Class.Operator.aszOp, pszOp))
904 PCVDSCRIPTTOKEN pToken;
908 pToken = vdScriptTokenizerGetToken(pThis->pTokenizer);
909 if (pToken->enmClass != VDTOKENCLASS_IDENTIFIER)
914 PVDSCRIPTASTIDE pAstNodeIde = vdScriptAstNodeIdeAlloc(pToken->Class.Ide.cchIde);
917 rc = RTStrCopyEx(pAstNodeIde->aszIde, pToken->Class.Ide.cchIde + 1, pToken->Class.Ide.pszIde, pToken->Class.Ide.cchIde);
919 pAstNodeIde->cchIde = pToken->Class.Ide.cchIde;
969 PCVDSCRIPTTOKEN pToken = vdScriptTokenizerGetToken(pThis->pTokenizer);
971 pExpr->u64 = pToken->Class.NumConst.u64;
976 PCVDSCRIPTTOKEN pToken = vdScriptTokenizerGetToken(pThis->pTokenizer);
978 pExpr->pszStr = RTStrDupN(pToken->Class.StringConst.pszString, pToken->Class.StringConst.cchString);
986 PCVDSCRIPTTOKEN pToken = vdScriptTokenizerGetToken(pThis->pTokenizer);
989 if (pToken->Class.Keyword.enmKeyword == VDSCRIPTTOKENKEYWORD_TRUE)
991 else if (pToken->Class.Keyword.enmKeyword == VDSCRIPTTOKENKEYWORD_FALSE)