Lines Matching refs:infoPtr

233 			    ExprInfo *infoPtr, int prec, Value *valuePtr));
238 ExprInfo *infoPtr, Value *valuePtr));
243 ExprInfo *infoPtr, Value *valuePtr));
430 * and field in infoPtr is updated to refer to the next symbol in
442 ExprLex(interp, infoPtr, valuePtr)
445 register ExprInfo *infoPtr; /* Describes the state of the parse. */
455 p = infoPtr->expr;
460 infoPtr->token = END;
461 infoPtr->expr = p;
482 infoPtr->token = VALUE;
483 infoPtr->expr = term;
494 infoPtr->token = VALUE;
495 infoPtr->expr = term;
502 infoPtr->expr = p+1;
511 infoPtr->token = VALUE;
512 var = Tcl_ParseVar(interp, p, &infoPtr->expr);
525 infoPtr->token = VALUE;
528 infoPtr->expr = ((Interp *) interp)->termPtr;
532 infoPtr->expr++;
547 infoPtr->token = VALUE;
548 result = TclParseQuotes(interp, infoPtr->expr, '"', 0,
549 &infoPtr->expr, &valuePtr->pv);
557 infoPtr->token = VALUE;
558 result = TclParseBraces(interp, infoPtr->expr, &infoPtr->expr,
567 infoPtr->token = OPEN_PAREN;
571 infoPtr->token = CLOSE_PAREN;
575 infoPtr->token = COMMA;
579 infoPtr->token = MULT;
583 infoPtr->token = DIVIDE;
587 infoPtr->token = MOD;
591 infoPtr->token = PLUS;
595 infoPtr->token = MINUS;
599 infoPtr->token = QUESTY;
603 infoPtr->token = COLON;
609 infoPtr->expr = p+2;
610 infoPtr->token = LEFT_SHIFT;
613 infoPtr->expr = p+2;
614 infoPtr->token = LEQ;
617 infoPtr->token = LESS;
625 infoPtr->expr = p+2;
626 infoPtr->token = RIGHT_SHIFT;
629 infoPtr->expr = p+2;
630 infoPtr->token = GEQ;
633 infoPtr->token = GREATER;
640 infoPtr->expr = p+2;
641 infoPtr->token = EQUAL;
643 infoPtr->token = UNKNOWN;
649 infoPtr->expr = p+2;
650 infoPtr->token = NEQ;
652 infoPtr->token = NOT;
658 infoPtr->expr = p+2;
659 infoPtr->token = AND;
661 infoPtr->token = BIT_AND;
666 infoPtr->token = BIT_XOR;
671 infoPtr->expr = p+2;
672 infoPtr->token = OR;
674 infoPtr->token = BIT_OR;
679 infoPtr->token = BIT_NOT;
684 infoPtr->expr = p;
685 return ExprMathFunc(interp, infoPtr, valuePtr);
687 infoPtr->expr = p+1;
688 infoPtr->token = UNKNOWN;
699 * Parse a "value" from the remainder of the expression in infoPtr.
706 * expression, and infoPtr->expr will point to the character just
716 ExprGetValue(interp, infoPtr, prec, valuePtr)
719 register ExprInfo *infoPtr; /* Describes the state of the parse
753 result = ExprLex(interp, infoPtr, valuePtr);
757 if (infoPtr->token == OPEN_PAREN) {
763 result = ExprGetValue(interp, infoPtr, -1, valuePtr);
767 if (infoPtr->token != CLOSE_PAREN) {
769 infoPtr->originalExpr, "\"", (char *) NULL);
774 if (infoPtr->token == MINUS) {
775 infoPtr->token = UNARY_MINUS;
777 if (infoPtr->token == PLUS) {
778 infoPtr->token = UNARY_PLUS;
780 if (infoPtr->token >= UNARY_MINUS) {
786 operator = infoPtr->token;
787 result = ExprGetValue(interp, infoPtr, precTable[infoPtr->token],
842 } else if (infoPtr->token != VALUE) {
852 result = ExprLex(interp, infoPtr, &value2);
858 operator = infoPtr->token;
901 result = ExprGetValue(interp, infoPtr, precTable[operator],
920 result = ExprGetValue(interp, infoPtr,
925 if (infoPtr->token != COLON) {
930 result = ExprGetValue(interp, infoPtr,
935 result = ExprGetValue(interp, infoPtr,
941 if (infoPtr->token != COLON) {
945 result = ExprGetValue(interp, infoPtr,
953 result = ExprGetValue(interp, infoPtr, precTable[operator],
957 result = ExprGetValue(interp, infoPtr, precTable[operator],
963 if ((infoPtr->token < MULT) && (infoPtr->token != VALUE)
964 && (infoPtr->token != END) && (infoPtr->token != COMMA)
965 && (infoPtr->token != CLOSE_PAREN)) {
1298 infoPtr->originalExpr, "\"", (char *) NULL);
1651 * After a successful return infoPtr has been updated to refer
1662 ExprMathFunc(interp, infoPtr, valuePtr)
1665 register ExprInfo *infoPtr; /* Describes the state of the parse.
1666 * infoPtr->expr must point to the
1687 p = funcName = infoPtr->expr;
1691 infoPtr->expr = p;
1692 result = ExprLex(interp, infoPtr, valuePtr);
1696 if (infoPtr->token != OPEN_PAREN) {
1716 result = ExprLex(interp, infoPtr, valuePtr);
1717 if ((result != TCL_OK) || (infoPtr->token != CLOSE_PAREN)) {
1723 result = ExprGetValue(interp, infoPtr, -1, valuePtr);
1762 if (infoPtr->token == CLOSE_PAREN) {
1765 if (infoPtr->token == COMMA) {
1772 if (infoPtr->token != COMMA) {
1773 if (infoPtr->token == CLOSE_PAREN) {
1785 infoPtr->token = VALUE;
1807 infoPtr->token = VALUE;
1812 infoPtr->originalExpr, "\"", (char *) NULL);