Lines Matching refs:yyval

2334   YYSTYPE yyval;
2539 yyval = yyvsp[1-yylen];
2556 (yyval.interm.intermTypedNode) = context->intermediate.addConstantUnion(constArray, t, (yylsp[(1) - (1)]));
2560 (yyval.interm.intermTypedNode) = context->intermediate.addSymbol(variable->getUniqueId(),
2574 (yyval.interm.intermTypedNode) = (yyvsp[(1) - (1)].interm.intermTypedNode);
2583 (yyval.interm.intermTypedNode) = context->intermediate.addConstantUnion(unionArray, TType(EbtInt, EbpUndefined, EvqConst), (yylsp[(1) - (1)]));
2592 (yyval.interm.intermTypedNode) = context->intermediate.addConstantUnion(unionArray, TType(EbtUInt, EbpUndefined, EvqConst), (yylsp[(1) - (1)]));
2601 (yyval.interm.intermTypedNode) = context->intermediate.addConstantUnion(unionArray, TType(EbtFloat, EbpUndefined, EvqConst), (yylsp[(1) - (1)]));
2610 (yyval.interm.intermTypedNode) = context->intermediate.addConstantUnion(unionArray, TType(EbtBool, EbpUndefined, EvqConst), (yylsp[(1) - (1)]));
2617 (yyval.interm.intermTypedNode) = (yyvsp[(2) - (3)].interm.intermTypedNode);
2624 (yyval.interm.intermTypedNode) = (yyvsp[(1) - (1)].interm.intermTypedNode);
2631 (yyval.interm.intermTypedNode) = context->addIndexExpression((yyvsp[(1) - (4)].interm.intermTypedNode), (yylsp[(2) - (4)]), (yyvsp[(3) - (4)].interm.intermTypedNode));
2638 (yyval.interm.intermTypedNode) = (yyvsp[(1) - (1)].interm.intermTypedNode);
2645 (yyval.interm.intermTypedNode) = context->addFieldSelectionExpression((yyvsp[(1) - (3)].interm.intermTypedNode), (yylsp[(2) - (3)]), *(yyvsp[(3) - (3)].lex).string, (yylsp[(3) - (3)]));
2654 (yyval.interm.intermTypedNode) = context->intermediate.addUnaryMath(EOpPostIncrement, (yyvsp[(1) - (2)].interm.intermTypedNode), (yylsp[(2) - (2)]));
2655 if ((yyval.interm.intermTypedNode) == 0) {
2658 (yyval.interm.intermTypedNode) = (yyvsp[(1) - (2)].interm.intermTypedNode);
2668 (yyval.interm.intermTypedNode) = context->intermediate.addUnaryMath(EOpPostDecrement, (yyvsp[(1) - (2)].interm.intermTypedNode), (yylsp[(2) - (2)]));
2669 if ((yyval.interm.intermTypedNode) == 0) {
2672 (yyval.interm.intermTypedNode) = (yyvsp[(1) - (2)].interm.intermTypedNode);
2682 (yyval.interm.intermTypedNode) = (yyvsp[(1) - (1)].interm.intermTypedNode);
2701 (yyval.interm.intermTypedNode) = 0;
2706 (yyval.interm.intermTypedNode) = context->addConstructor((yyvsp[(1) - (1)].interm).intermNode, &type, op, fnCall, (yylsp[(1) - (1)]));
2709 if ((yyval.interm.intermTypedNode) == 0) {
2711 (yyval.interm.intermTypedNode) = context->intermediate.setAggregateOperator(0, op, (yylsp[(1) - (1)]));
2713 (yyval.interm.intermTypedNode)->setType(type);
2738 (yyval.interm.intermTypedNode) = context->intermediate.addUnaryMath(op, (yyvsp[(1) - (1)].interm).intermNode, (yylsp[(1) - (1)]));
2739 if ((yyval.interm.intermTypedNode) == 0) {
2747 (yyval.interm.intermTypedNode) = context->intermediate.setAggregateOperator((yyvsp[(1) - (1)].interm).intermAggregate, op, (yylsp[(1) - (1)]));
2752 (yyval.interm.intermTypedNode) = context->intermediate.setAggregateOperator((yyvsp[(1) - (1)].interm).intermAggregate, EOpFunctionCall, (yylsp[(1) - (1)]));
2753 (yyval.interm.intermTypedNode)->setType(fnCandidate->getReturnType());
2759 (yyval.interm.intermTypedNode)->getAsAggregate()->setUserDefined();
2760 (yyval.interm.intermTypedNode)->getAsAggregate()->setName(fnCandidate->getMangledName());
2766 if (context->lValueErrorCheck((yyval.interm.intermTypedNode)->getLine(), "assign", (*((yyval.interm.intermTypedNode)->getAsAggregate()->getSequence()))[i]->getAsTyped())) {
2773 (yyval.interm.intermTypedNode)->setType(fnCandidate->getReturnType());
2779 (yyval.interm.intermTypedNode) = context->intermediate.addConstantUnion(unionArray, TType(EbtFloat, EbpUndefined, EvqConst), (yylsp[(1) - (1)]));
2790 (yyval.interm) = (yyvsp[(1) - (1)].interm);
2799 (yyval.interm) = (yyvsp[(3) - (3)].interm);
2806 (yyval.interm) = (yyvsp[(1) - (2)].interm);
2813 (yyval.interm) = (yyvsp[(1) - (2)].interm);
2820 (yyval.interm).function = (yyvsp[(1) - (2)].interm.function);
2821 (yyval.interm).intermNode = 0;
2828 (yyval.interm).function = (yyvsp[(1) - (1)].interm.function);
2829 (yyval.interm).intermNode = 0;
2838 (yyval.interm).function = (yyvsp[(1) - (2)].interm.function);
2839 (yyval.interm).intermNode = (yyvsp[(2) - (2)].interm.intermTypedNode);
2848 (yyval.interm).function = (yyvsp[(1) - (3)].interm).function;
2849 (yyval.interm).intermNode = context->intermediate.growAggregate((yyvsp[(1) - (3)].interm).intermNode, (yyvsp[(3) - (3)].interm.intermTypedNode), (yylsp[(2) - (3)]));
2856 (yyval.interm.function) = (yyvsp[(1) - (2)].interm.function);
2863 (yyval.interm.function) = context->addConstructorFunc((yyvsp[(1) - (1)].interm.type));
2874 (yyval.interm.function) = function;
2881 (yyval.interm.intermTypedNode) = (yyvsp[(1) - (1)].interm.intermTypedNode);
2890 (yyval.interm.intermTypedNode) = context->intermediate.addUnaryMath(EOpPreIncrement, (yyvsp[(2) - (2)].interm.intermTypedNode), (yylsp[(1) - (2)]));
2891 if ((yyval.interm.intermTypedNode) == 0) {
2894 (yyval.interm.intermTypedNode) = (yyvsp[(2) - (2)].interm.intermTypedNode);
2904 (yyval.interm.intermTypedNode) = context->intermediate.addUnaryMath(EOpPreDecrement, (yyvsp[(2) - (2)].interm.intermTypedNode), (yylsp[(1) - (2)]));
2905 if ((yyval.interm.intermTypedNode) == 0) {
2908 (yyval.interm.intermTypedNode) = (yyvsp[(2) - (2)].interm.intermTypedNode);
2917 (yyval.interm.intermTypedNode) = context->intermediate.addUnaryMath((yyvsp[(1) - (2)].interm).op, (yyvsp[(2) - (2)].interm.intermTypedNode), (yylsp[(1) - (2)]));
2918 if ((yyval.interm.intermTypedNode) == 0) {
2927 (yyval.interm.intermTypedNode) = (yyvsp[(2) - (2)].interm.intermTypedNode);
2930 (yyval.interm.intermTypedNode) = (yyvsp[(2) - (2)].interm.intermTypedNode);
2936 { (yyval.interm).op = EOpNull; }
2941 { (yyval.interm).op = EOpNegative; }
2946 { (yyval.interm).op = EOpLogicalNot; }
2951 { (yyval.interm.intermTypedNode) = (yyvsp[(1) - (1)].interm.intermTypedNode); }
2957 (yyval.interm.intermTypedNode) = context->intermediate.addBinaryMath(EOpMul, (yyvsp[(1) - (3)].interm.intermTypedNode), (yyvsp[(3) - (3)].interm.intermTypedNode), (yylsp[(2) - (3)]));
2958 if ((yyval.interm.intermTypedNode) == 0) {
2961 (yyval.interm.intermTypedNode) = (yyvsp[(1) - (3)].interm.intermTypedNode);
2969 (yyval.interm.intermTypedNode) = context->intermediate.addBinaryMath(EOpDiv, (yyvsp[(1) - (3)].interm.intermTypedNode), (yyvsp[(3) - (3)].interm.intermTypedNode), (yylsp[(2) - (3)]));
2970 if ((yyval.interm.intermTypedNode) == 0) {
2973 (yyval.interm.intermTypedNode) = (yyvsp[(1) - (3)].interm.intermTypedNode);
2980 { (yyval.interm.intermTypedNode) = (yyvsp[(1) - (1)].interm.intermTypedNode); }
2986 (yyval.interm.intermTypedNode) = context->intermediate.addBinaryMath(EOpAdd, (yyvsp[(1) - (3)].interm.intermTypedNode), (yyvsp[(3) - (3)].interm.intermTypedNode), (yylsp[(2) - (3)]));
2987 if ((yyval.interm.intermTypedNode) == 0) {
2990 (yyval.interm.intermTypedNode) = (yyvsp[(1) - (3)].interm.intermTypedNode);
2998 (yyval.interm.intermTypedNode) = context->intermediate.addBinaryMath(EOpSub, (yyvsp[(1) - (3)].interm.intermTypedNode), (yyvsp[(3) - (3)].interm.intermTypedNode), (yylsp[(2) - (3)]));
2999 if ((yyval.interm.intermTypedNode) == 0) {
3002 (yyval.interm.intermTypedNode) = (yyvsp[(1) - (3)].interm.intermTypedNode);
3009 { (yyval.interm.intermTypedNode) = (yyvsp[(1) - (1)].interm.intermTypedNode); }
3014 { (yyval.interm.intermTypedNode) = (yyvsp[(1) - (1)].interm.intermTypedNode); }
3020 (yyval.interm.intermTypedNode) = context->intermediate.addBinaryMath(EOpLessThan, (yyvsp[(1) - (3)].interm.intermTypedNode), (yyvsp[(3) - (3)].interm.intermTypedNode), (yylsp[(2) - (3)]));
3021 if ((yyval.interm.intermTypedNode) == 0) {
3026 (yyval.interm.intermTypedNode) = context->intermediate.addConstantUnion(unionArray, TType(EbtBool, EbpUndefined, EvqConst), (yylsp[(2) - (3)]));
3034 (yyval.interm.intermTypedNode) = context->intermediate.addBinaryMath(EOpGreaterThan, (yyvsp[(1) - (3)].interm.intermTypedNode), (yyvsp[(3) - (3)].interm.intermTypedNode), (yylsp[(2) - (3)]));
3035 if ((yyval.interm.intermTypedNode) == 0) {
3040 (yyval.interm.intermTypedNode) = context->intermediate.addConstantUnion(unionArray, TType(EbtBool, EbpUndefined, EvqConst), (yylsp[(2) - (3)]));
3048 (yyval.interm.intermTypedNode) = context->intermediate.addBinaryMath(EOpLessThanEqual, (yyvsp[(1) - (3)].interm.intermTypedNode), (yyvsp[(3) - (3)].interm.intermTypedNode), (yylsp[(2) - (3)]));
3049 if ((yyval.interm.intermTypedNode) == 0) {
3054 (yyval.interm.intermTypedNode) = context->intermediate.addConstantUnion(unionArray, TType(EbtBool, EbpUndefined, EvqConst), (yylsp[(2) - (3)]));
3062 (yyval.interm.intermTypedNode) = context->intermediate.addBinaryMath(EOpGreaterThanEqual, (yyvsp[(1) - (3)].interm.intermTypedNode), (yyvsp[(3) - (3)].interm.intermTypedNode), (yylsp[(2) - (3)]));
3063 if ((yyval.interm.intermTypedNode) == 0) {
3068 (yyval.interm.intermTypedNode) = context->intermediate.addConstantUnion(unionArray, TType(EbtBool, EbpUndefined, EvqConst), (yylsp[(2) - (3)]));
3075 { (yyval.interm.intermTypedNode) = (yyvsp[(1) - (1)].interm.intermTypedNode); }
3081 (yyval.interm.intermTypedNode) = context->intermediate.addBinaryMath(EOpEqual, (yyvsp[(1) - (3)].interm.intermTypedNode), (yyvsp[(3) - (3)].interm.intermTypedNode), (yylsp[(2) - (3)]));
3082 if ((yyval.interm.intermTypedNode) == 0) {
3087 (yyval.interm.intermTypedNode) = context->intermediate.addConstantUnion(unionArray, TType(EbtBool, EbpUndefined, EvqConst), (yylsp[(2) - (3)]));
3095 (yyval.interm.intermTypedNode) = context->intermediate.addBinaryMath(EOpNotEqual, (yyvsp[(1) - (3)].interm.intermTypedNode), (yyvsp[(3) - (3)].interm.intermTypedNode), (yylsp[(2) - (3)]));
3096 if ((yyval.interm.intermTypedNode) == 0) {
3101 (yyval.interm.intermTypedNode) = context->intermediate.addConstantUnion(unionArray, TType(EbtBool, EbpUndefined, EvqConst), (yylsp[(2) - (3)]));
3108 { (yyval.interm.intermTypedNode) = (yyvsp[(1) - (1)].interm.intermTypedNode); }
3113 { (yyval.interm.intermTypedNode) = (yyvsp[(1) - (1)].interm.intermTypedNode); }
3118 { (yyval.interm.intermTypedNode) = (yyvsp[(1) - (1)].interm.intermTypedNode); }
3123 { (yyval.interm.intermTypedNode) = (yyvsp[(1) - (1)].interm.intermTypedNode); }
3129 (yyval.interm.intermTypedNode) = context->intermediate.addBinaryMath(EOpLogicalAnd, (yyvsp[(1) - (3)].interm.intermTypedNode), (yyvsp[(3) - (3)].interm.intermTypedNode), (yylsp[(2) - (3)]));
3130 if ((yyval.interm.intermTypedNode) == 0) {
3135 (yyval.interm.intermTypedNode) = context->intermediate.addConstantUnion(unionArray, TType(EbtBool, EbpUndefined, EvqConst), (yylsp[(2) - (3)]));
3142 { (yyval.interm.intermTypedNode) = (yyvsp[(1) - (1)].interm.intermTypedNode); }
3148 (yyval.interm.intermTypedNode) = context->intermediate.addBinaryMath(EOpLogicalXor, (yyvsp[(1) - (3)].interm.intermTypedNode), (yyvsp[(3) - (3)].interm.intermTypedNode), (yylsp[(2) - (3)]));
3149 if ((yyval.interm.intermTypedNode) == 0) {
3154 (yyval.interm.intermTypedNode) = context->intermediate.addConstantUnion(unionArray, TType(EbtBool, EbpUndefined, EvqConst), (yylsp[(2) - (3)]));
3161 { (yyval.interm.intermTypedNode) = (yyvsp[(1) - (1)].interm.intermTypedNode); }
3167 (yyval.interm.intermTypedNode) = context->intermediate.addBinaryMath(EOpLogicalOr, (yyvsp[(1) - (3)].interm.intermTypedNode), (yyvsp[(3) - (3)].interm.intermTypedNode), (yylsp[(2) - (3)]));
3168 if ((yyval.interm.intermTypedNode) == 0) {
3173 (yyval.interm.intermTypedNode) = context->intermediate.addConstantUnion(unionArray, TType(EbtBool, EbpUndefined, EvqConst), (yylsp[(2) - (3)]));
3180 { (yyval.interm.intermTypedNode) = (yyvsp[(1) - (1)].interm.intermTypedNode); }
3189 (yyval.interm.intermTypedNode) = context->intermediate.addSelection((yyvsp[(1) - (5)].interm.intermTypedNode), (yyvsp[(3) - (5)].interm.intermTypedNode), (yyvsp[(5) - (5)].interm.intermTypedNode), (yylsp[(2) - (5)]));
3191 (yyval.interm.intermTypedNode) = 0;
3193 if ((yyval.interm.intermTypedNode) == 0) {
3196 (yyval.interm.intermTypedNode) = (yyvsp[(5) - (5)].interm.intermTypedNode);
3203 { (yyval.interm.intermTypedNode) = (yyvsp[(1) - (1)].interm.intermTypedNode); }
3211 (yyval.interm.intermTypedNode) = context->intermediate.addAssign((yyvsp[(2) - (3)].interm).op, (yyvsp[(1) - (3)].interm.intermTypedNode), (yyvsp[(3) - (3)].interm.intermTypedNode), (yylsp[(2) - (3)]));
3212 if ((yyval.interm.intermTypedNode) == 0) {
3215 (yyval.interm.intermTypedNode) = (yyvsp[(1) - (3)].interm.intermTypedNode);
3222 { (yyval.interm).op = EOpAssign; }
3227 { (yyval.interm).op = EOpMulAssign; }
3232 { (yyval.interm).op = EOpDivAssign; }
3237 { (yyval.interm).op = EOpAddAssign; }
3242 { (yyval.interm).op = EOpSubAssign; }
3248 (yyval.interm.intermTypedNode) = (yyvsp[(1) - (1)].interm.intermTypedNode);
3255 (yyval.interm.intermTypedNode) = context->intermediate.addComma((yyvsp[(1) - (3)].interm.intermTypedNode), (yyvsp[(3) - (3)].interm.intermTypedNode), (yylsp[(2) - (3)]));
3256 if ((yyval.interm.intermTypedNode) == 0) {
3259 (yyval.interm.intermTypedNode) = (yyvsp[(3) - (3)].interm.intermTypedNode);
3269 (yyval.interm.intermTypedNode) = (yyvsp[(1) - (1)].interm.intermTypedNode);
3278 (yyval.lex) = (yyvsp[(1) - (2)].lex);
3307 (yyval.interm.intermNode) = prototype;
3319 (yyval.interm.intermNode) = aggNode;
3334 (yyval.interm.intermNode) = 0;
3342 (yyval.interm.intermNode) = context->addInterfaceBlock((yyvsp[(1) - (5)].interm.type), (yylsp[(2) - (5)]), *(yyvsp[(2) - (5)].lex).string, (yyvsp[(3) - (5)].interm.fieldList), NULL, (yyloc), NULL, (yyloc));
3350 (yyval.interm.intermNode) = context->addInterfaceBlock((yyvsp[(1) - (6)].interm.type), (yylsp[(2) - (6)]), *(yyvsp[(2) - (6)].lex).string, (yyvsp[(3) - (6)].interm.fieldList), (yyvsp[(5) - (6)].lex).string, (yylsp[(5) - (6)]), NULL, (yyloc));
3358 (yyval.interm.intermNode) = context->addInterfaceBlock((yyvsp[(1) - (9)].interm.type), (yylsp[(2) - (9)]), *(yyvsp[(2) - (9)].lex).string, (yyvsp[(3) - (9)].interm.fieldList), (yyvsp[(5) - (9)].lex).string, (yylsp[(5) - (9)]), (yyvsp[(7) - (9)].interm.intermTypedNode), (yylsp[(6) - (9)]));
3366 (yyval.interm.intermNode) = 0;
3419 (yyval.interm).function = (yyvsp[(1) - (2)].interm.function);
3423 context->symbolTable.getOuterLevel()->insert((yyval.interm).function);
3430 (yyval.interm.function) = (yyvsp[(1) - (1)].interm.function);
3437 (yyval.interm.function) = (yyvsp[(1) - (1)].interm.function);
3445 (yyval.interm.function) = (yyvsp[(1) - (2)].interm.function);
3469 (yyval.interm.function) = (yyvsp[(1) - (3)].interm.function);
3490 (yyval.interm.function) = function;
3506 (yyval.interm).param = param;
3527 (yyval.interm).param = param;
3534 (yyval.interm) = (yyvsp[(3) - (3)].interm);
3535 if (context->paramErrorCheck((yylsp[(3) - (3)]), (yyvsp[(1) - (3)].interm.qualifier), (yyvsp[(2) - (3)].interm.qualifier), (yyval.interm).param.type))
3543 (yyval.interm) = (yyvsp[(2) - (2)].interm);
3546 if (context->paramErrorCheck((yylsp[(2) - (2)]), EvqTemporary, (yyvsp[(1) - (2)].interm.qualifier), (yyval.interm).param.type))
3554 (yyval.interm) = (yyvsp[(3) - (3)].interm);
3555 if (context->paramErrorCheck((yylsp[(3) - (3)]), (yyvsp[(1) - (3)].interm.qualifier), (yyvsp[(2) - (3)].interm.qualifier), (yyval.interm).param.type))
3563 (yyval.interm) = (yyvsp[(2) - (2)].interm);
3566 if (context->paramErrorCheck((yylsp[(2) - (2)]), EvqTemporary, (yyvsp[(1) - (2)].interm.qualifier), (yyval.interm).param.type))
3574 (yyval.interm.qualifier) = EvqIn;
3581 (yyval.interm.qualifier) = EvqIn;
3588 (yyval.interm.qualifier) = EvqOut;
3595 (yyval.interm.qualifier) = EvqInOut;
3603 (yyval.interm).param = param;
3610 (yyval.interm) = (yyvsp[(1) - (1)].interm);
3617 (yyval.interm) = (yyvsp[(1) - (3)].interm);
3618 (yyval.interm).intermAggregate = context->parseDeclarator((yyval.interm).type, (yyvsp[(1) - (3)].interm).intermAggregate, (yyvsp[(3) - (3)].lex).symbol, (yylsp[(3) - (3)]), *(yyvsp[(3) - (3)].lex).string);
3625 (yyval.interm) = (yyvsp[(1) - (5)].interm);
3626 context->parseArrayDeclarator((yyval.interm).type, (yylsp[(3) - (5)]), *(yyvsp[(3) - (5)].lex).string, (yylsp[(4) - (5)]), NULL, NULL);
3633 (yyval.interm) = (yyvsp[(1) - (6)].interm);
3634 (yyval.interm).intermAggregate = context->parseArrayDeclarator((yyval.interm).type, (yylsp[(3) - (6)]), *(yyvsp[(3) - (6)].lex).string, (yylsp[(4) - (6)]), (yyvsp[(1) - (6)].interm).intermNode, (yyvsp[(5) - (6)].interm.intermTypedNode));
3641 (yyval.interm) = (yyvsp[(1) - (5)].interm);
3642 (yyval.interm).intermAggregate = context->parseInitDeclarator((yyval.interm).type, (yyvsp[(1) - (5)].interm).intermAggregate, (yylsp[(3) - (5)]), *(yyvsp[(3) - (5)].lex).string, (yylsp[(4) - (5)]), (yyvsp[(5) - (5)].interm.intermTypedNode));
3649 (yyval.interm).type = (yyvsp[(1) - (1)].interm.type);
3650 (yyval.interm).intermAggregate = context->parseSingleDeclaration((yyval.interm).type, (yylsp[(1) - (1)]), "");
3657 (yyval.interm).type = (yyvsp[(1) - (2)].interm.type);
3658 (yyval.interm).intermAggregate = context->parseSingleDeclaration((yyval.interm).type, (yylsp[(2) - (2)]), *(yyvsp[(2) - (2)].lex).string);
3668 (yyval.interm).type = (yyvsp[(1) - (4)].interm.type);
3669 (yyval.interm).intermAggregate = context->parseSingleDeclaration((yyval.interm).type, (yylsp[(2) - (4)]), *(yyvsp[(2) - (4)].lex).string);
3676 (yyval.interm).type = (yyvsp[(1) - (5)].interm.type);
3677 (yyval.interm).intermAggregate = context->parseSingleArrayDeclaration((yyval.interm).type, (yylsp[(2) - (5)]), *(yyvsp[(2) - (5)].lex).string, (yylsp[(3) - (5)]), (yyvsp[(4) - (5)].interm.intermTypedNode));
3684 (yyval.interm).type = (yyvsp[(1) - (4)].interm.type);
3685 (yyval.interm).intermAggregate = context->parseSingleInitDeclaration((yyval.interm).type, (yylsp[(2) - (4)]), *(yyvsp[(2) - (4)].lex).string, (yylsp[(3) - (4)]), (yyvsp[(4) - (4)].interm.intermTypedNode));
3693 (yyval.interm).intermAggregate = context->parseInvariantDeclaration((yylsp[(1) - (2)]), (yylsp[(2) - (2)]), (yyvsp[(2) - (2)].lex).string, (yyvsp[(2) - (2)].lex).symbol);
3700 (yyval.interm.type) = (yyvsp[(1) - (1)].interm.type);
3713 (yyval.interm.type) = context->addFullySpecifiedType((yyvsp[(1) - (2)].interm.type).qualifier, (yyvsp[(1) - (2)].interm.type).layoutQualifier, (yyvsp[(2) - (2)].interm.type));
3720 (yyval.interm.type).qualifier = EvqSmooth;
3727 (yyval.interm.type).qualifier = EvqFlat;
3734 (yyval.interm.qualifier) = EvqConst;
3745 (yyval.interm.type).setBasic(EbtVoid, EvqAttribute, (yylsp[(1) - (1)]));
3756 (yyval.interm.type).setBasic(EbtVoid, EvqVaryingOut, (yylsp[(1) - (1)]));
3758 (yyval.interm.type).setBasic(EbtVoid, EvqVaryingIn, (yylsp[(1) - (1)]));
3769 (yyval.interm.type).setBasic(EbtVoid, EvqInvariantVaryingOut, (yylsp[(1) - (2)]));
3771 (yyval.interm.type).setBasic(EbtVoid, EvqInvariantVaryingIn, (yylsp[(1) - (2)]));
3782 (yyval.interm.type).setBasic(EbtVoid, (yyvsp[(1) - (1)].interm.type).qualifier, (yylsp[(1) - (1)]));
3790 (yyval.interm.type) = context->joinInterpolationQualifiers((yylsp[(1) - (2)]), (yyvsp[(1) - (2)].interm.type).qualifier, (yylsp[(2) - (2)]), (yyvsp[(2) - (2)].interm.type).qualifier);
3801 (yyval.interm.type).setBasic(EbtVoid, qual, (yylsp[(1) - (1)]));
3808 (yyval.interm.type).qualifier = context->symbolTable.atGlobalLevel() ? EvqGlobal : EvqTemporary;
3809 (yyval.interm.type).layoutQualifier = (yyvsp[(1) - (1)].interm.layoutQualifier);
3816 (yyval.interm.type).setBasic(EbtVoid, (yyvsp[(2) - (2)].interm.type).qualifier, (yylsp[(2) - (2)]));
3817 (yyval.interm.type).layoutQualifier = (yyvsp[(1) - (2)].interm.layoutQualifier);
3824 (yyval.interm.type).qualifier = EvqConst;
3832 (yyval.interm.type).qualifier = (context->shaderType == GL_FRAGMENT_SHADER) ? EvqFragmentIn : EvqVertexIn;
3840 (yyval.interm.type).qualifier = (context->shaderType == GL_FRAGMENT_SHADER) ? EvqFragmentOut : EvqVertexOut;
3853 (yyval.interm.type).qualifier = (context->shaderType == GL_FRAGMENT_SHADER) ? EvqCentroidIn : EvqVertexIn;
3866 (yyval.interm.type).qualifier = (context->shaderType == GL_FRAGMENT_SHADER) ? EvqFragmentOut : EvqCentroidOut;
3875 (yyval.interm.type).qualifier = EvqUniform;
3882 (yyval.interm.type) = (yyvsp[(1) - (1)].interm.type);
3884 if ((yyval.interm.type).precision == EbpUndefined) {
3885 (yyval.interm.type).precision = context->symbolTable.getDefaultPrecision((yyvsp[(1) - (1)].interm.type).type);
3886 if (context->precisionErrorCheck((yylsp[(1) - (1)]), (yyval.interm.type).precision, (yyvsp[(1) - (1)].interm.type).type)) {
3896 (yyval.interm.type) = (yyvsp[(2) - (2)].interm.type);
3897 (yyval.interm.type).precision = (yyvsp[(1) - (2)].interm.precision);
3909 (yyval.interm.precision) = EbpHigh;
3916 (yyval.interm.precision) = EbpMedium;
3923 (yyval.interm.precision) = EbpLow;
3931 (yyval.interm.layoutQualifier) = (yyvsp[(3) - (4)].interm.layoutQualifier);
3938 (yyval.interm.layoutQualifier) = (yyvsp[(1) - (1)].interm.layoutQualifier);
3945 (yyval.interm.layoutQualifier) = context->joinLayoutQualifiers((yyvsp[(1) - (3)].interm.layoutQualifier), (yyvsp[(3) - (3)].interm.layoutQualifier));
3952 (yyval.interm.layoutQualifier) = context->parseLayoutQualifier(*(yyvsp[(1) - (1)].lex).string, (yylsp[(1) - (1)]));
3959 (yyval.interm.layoutQualifier) = context->parseLayoutQualifier(*(yyvsp[(1) - (3)].lex).string, (yylsp[(1) - (3)]), *(yyvsp[(3) - (3)].lex).string, (yyvsp[(3) - (3)].lex).i, (yylsp[(3) - (3)]));
3966 (yyval.interm.layoutQualifier) = context->parseLayoutQualifier(*(yyvsp[(1) - (3)].lex).string, (yylsp[(1) - (3)]), *(yyvsp[(3) - (3)].lex).string, (yyvsp[(3) - (3)].lex).i, (yylsp[(3) - (3)]));
3973 (yyval.interm.type) = (yyvsp[(1) - (1)].interm.type);
3980 (yyval.interm.type) = (yyvsp[(1) - (4)].interm.type);
3988 (yyval.interm.type).setArray(true, size);
3997 (yyval.interm.type).setBasic(EbtVoid, qual, (yylsp[(1) - (1)]));
4005 (yyval.interm.type).setBasic(EbtFloat, qual, (yylsp[(1) - (1)]));
4013 (yyval.interm.type).setBasic(EbtInt, qual, (yylsp[(1) - (1)]));
4021 (yyval.interm.type).setBasic(EbtUInt, qual, (yylsp[(1) - (1)]));
4029 (yyval.interm.type).setBasic(EbtBool, qual, (yylsp[(1) - (1)]));
4037 (yyval.interm.type).setBasic(EbtFloat, qual, (yylsp[(1) - (1)]));
4038 (yyval.interm.type).setAggregate(2);
4046 (yyval.interm.type).setBasic(EbtFloat, qual, (yylsp[(1) - (1)]));
4047 (yyval.interm.type).setAggregate(3);
4055 (yyval.interm.type).setBasic(EbtFloat, qual, (yylsp[(1) - (1)]));
4056 (yyval.interm.type).setAggregate(4);
4064 (yyval.interm.type).setBasic(EbtBool, qual, (yylsp[(1) - (1)]));
4065 (yyval.interm.type).setAggregate(2);
4073 (yyval.interm.type).setBasic(EbtBool, qual, (yylsp[(1) - (1)]));
4074 (yyval.interm.type).setAggregate(3);
4082 (yyval.interm.type).setBasic(EbtBool, qual, (yylsp[(1) - (1)]));
4083 (yyval.interm.type).setAggregate(4);
4091 (yyval.interm.type).setBasic(EbtInt, qual, (yylsp[(1) - (1)]));
4092 (yyval.interm.type).setAggregate(2);
4100 (yyval.interm.type).setBasic(EbtInt, qual, (yylsp[(1) - (1)]));
4101 (yyval.interm.type).setAggregate(3);
4109 (yyval.interm.type).setBasic(EbtInt, qual, (yylsp[(1) - (1)]));
4110 (yyval.interm.type).setAggregate(4);
4118 (yyval.interm.type).setBasic(EbtUInt, qual, (yylsp[(1) - (1)]));
4119 (yyval.interm.type).setAggregate(2);
4127 (yyval.interm.type).setBasic(EbtUInt, qual, (yylsp[(1) - (1)]));
4128 (yyval.interm.type).setAggregate(3);
4136 (yyval.interm.type).setBasic(EbtUInt, qual, (yylsp[(1) - (1)]));
4137 (yyval.interm.type).setAggregate(4);
4145 (yyval.interm.type).setBasic(EbtFloat, qual, (yylsp[(1) - (1)]));
4146 (yyval.interm.type).setMatrix(2, 2);
4154 (yyval.interm.type).setBasic(EbtFloat, qual, (yylsp[(1) - (1)]));
4155 (yyval.interm.type).setMatrix(3, 3);
4163 (yyval.interm.type).setBasic(EbtFloat, qual, (yylsp[(1) - (1)]));
4164 (yyval.interm.type).setMatrix(4, 4);
4172 (yyval.interm.type).setBasic(EbtFloat, qual, (yylsp[(1) - (1)]));
4173 (yyval.interm.type).setMatrix(2, 3);
4181 (yyval.interm.type).setBasic(EbtFloat, qual, (yylsp[(1) - (1)]));
4182 (yyval.interm.type).setMatrix(3, 2);
4190 (yyval.interm.type).setBasic(EbtFloat, qual, (yylsp[(1) - (1)]));
4191 (yyval.interm.type).setMatrix(2, 4);
4199 (yyval.interm.type).setBasic(EbtFloat, qual, (yylsp[(1) - (1)]));
4200 (yyval.interm.type).setMatrix(4, 2);
4208 (yyval.interm.type).setBasic(EbtFloat, qual, (yylsp[(1) - (1)]));
4209 (yyval.interm.type).setMatrix(3, 4);
4217 (yyval.interm.type).setBasic(EbtFloat, qual, (yylsp[(1) - (1)]));
4218 (yyval.interm.type).setMatrix(4, 3);
4226 (yyval.interm.type).setBasic(EbtSampler2D, qual, (yylsp[(1) - (1)]));
4234 (yyval.interm.type).setBasic(EbtSampler3D, qual, (yylsp[(1) - (1)]));
4242 (yyval.interm.type).setBasic(EbtSamplerCube, qual, (yylsp[(1) - (1)]));
4250 (yyval.interm.type).setBasic(EbtSampler2DArray, qual, (yylsp[(1) - (1)]));
4258 (yyval.interm.type).setBasic(EbtISampler2D, qual, (yylsp[(1) - (1)]));
4266 (yyval.interm.type).setBasic(EbtISampler3D, qual, (yylsp[(1) - (1)]));
4274 (yyval.interm.type).setBasic(EbtISamplerCube, qual, (yylsp[(1) - (1)]));
4282 (yyval.interm.type).setBasic(EbtISampler2DArray, qual, (yylsp[(1) - (1)]));
4290 (yyval.interm.type).setBasic(EbtUSampler2D, qual, (yylsp[(1) - (1)]));
4298 (yyval.interm.type).setBasic(EbtUSampler3D, qual, (yylsp[(1) - (1)]));
4306 (yyval.interm.type).setBasic(EbtUSamplerCube, qual, (yylsp[(1) - (1)]));
4314 (yyval.interm.type).setBasic(EbtUSampler2DArray, qual, (yylsp[(1) - (1)]));
4322 (yyval.interm.type).setBasic(EbtSampler2DShadow, qual, (yylsp[(1) - (1)]));
4330 (yyval.interm.type).setBasic(EbtSamplerCubeShadow, qual, (yylsp[(1) - (1)]));
4338 (yyval.interm.type).setBasic(EbtSampler2DArrayShadow, qual, (yylsp[(1) - (1)]));
4350 (yyval.interm.type).setBasic(EbtSamplerExternalOES, qual, (yylsp[(1) - (1)]));
4362 (yyval.interm.type).setBasic(EbtSampler2DRect, qual, (yylsp[(1) - (1)]));
4369 (yyval.interm.type) = (yyvsp[(1) - (1)].interm.type);
4370 (yyval.interm.type).qualifier = context->symbolTable.atGlobalLevel() ? EvqGlobal : EvqTemporary;
4383 (yyval.interm.type).setBasic(EbtStruct, qual, (yylsp[(1) - (1)]));
4384 (yyval.interm.type).userDef = &structure;
4396 (yyval.interm.type) = context->addStructure((yylsp[(1) - (6)]), (yylsp[(2) - (6)]), (yyvsp[(2) - (6)].lex).string, (yyvsp[(5) - (6)].interm.fieldList));
4408 (yyval.interm.type) = context->addStructure((yylsp[(1) - (5)]), (yyloc), NewPoolTString(""), (yyvsp[(4) - (5)].interm.fieldList));
4415 (yyval.interm.fieldList) = (yyvsp[(1) - (1)].interm.fieldList);
4422 (yyval.interm.fieldList) = (yyvsp[(1) - (2)].interm.fieldList);
4425 for (size_t j = 0; j < (yyval.interm.fieldList)->size(); ++j) {
4426 if ((*(yyval.interm.fieldList))[j]->name() == field->name()) {
4431 (yyval.interm.fieldList)->push_back(field);
4439 (yyval.interm.fieldList) = context->addStructDeclaratorList((yyvsp[(1) - (3)].interm.type), (yyvsp[(2) - (3)].interm.fieldList));
4449 (yyval.interm.fieldList) = context->addStructDeclaratorList((yyvsp[(2) - (4)].interm.type), (yyvsp[(3) - (4)].interm.fieldList));
4456 (yyval.interm.fieldList) = NewPoolTFieldList();
4457 (yyval.interm.fieldList)->push_back((yyvsp[(1) - (1)].interm.field));
4464 (yyval.interm.fieldList)->push_back((yyvsp[(3) - (3)].interm.field));
4475 (yyval.interm.field) = new TField(type, (yyvsp[(1) - (1)].lex).string, (yylsp[(1) - (1)]));
4491 (yyval.interm.field) = new TField(type, (yyvsp[(1) - (4)].lex).string, (yylsp[(1) - (4)]));
4497 { (yyval.interm.intermTypedNode) = (yyvsp[(1) - (1)].interm.intermTypedNode); }
4502 { (yyval.interm.intermNode) = (yyvsp[(1) - (1)].interm.intermNode); }
4507 { (yyval.interm.intermNode) = (yyvsp[(1) - (1)].interm.intermAggregate); }
4512 { (yyval.interm.intermNode) = (yyvsp[(1) - (1)].interm.intermNode); }
4517 { (yyval.interm.intermNode) = (yyvsp[(1) - (1)].interm.intermNode); }
4522 { (yyval.interm.intermNode) = (yyvsp[(1) - (1)].interm.intermNode); }
4527 { (yyval.interm.intermNode) = (yyvsp[(1) - (1)].interm.intermNode); }
4532 { (yyval.interm.intermNode) = (yyvsp[(1) - (1)].interm.intermNode); }
4537 { (yyval.interm.intermNode) = (yyvsp[(1) - (1)].interm.intermNode); }
4542 { (yyval.interm.intermAggregate) = 0; }
4562 (yyval.interm.intermAggregate) = (yyvsp[(3) - (5)].interm.intermAggregate);
4568 { (yyval.interm.intermNode) = (yyvsp[(1) - (1)].interm.intermNode); }
4573 { (yyval.interm.intermNode) = (yyvsp[(1) - (1)].interm.intermNode); }
4583 { context->symbolTable.pop(); (yyval.interm.intermNode) = (yyvsp[(2) - (2)].interm.intermNode); }
4593 { context->symbolTable.pop(); (yyval.interm.intermNode) = (yyvsp[(2) - (2)].interm.intermNode); }
4599 (yyval.interm.intermNode) = 0;
4610 (yyval.interm.intermNode) = (yyvsp[(2) - (3)].interm.intermAggregate);
4617 (yyval.interm.intermAggregate) = context->intermediate.makeAggregate((yyvsp[(1) - (1)].interm.intermNode), (yyloc));
4624 (yyval.interm.intermAggregate) = context->intermediate.growAggregate((yyvsp[(1) - (2)].interm.intermAggregate), (yyvsp[(2) - (2)].interm.intermNode), (yyloc));
4630 { (yyval.interm.intermNode) = 0; }
4635 { (yyval.interm.intermNode) = static_cast<TIntermNode*>((yyvsp[(1) - (2)].interm.intermTypedNode)); }
4643 (yyval.interm.intermNode) = context->intermediate.addSelection((yyvsp[(3) - (5)].interm.intermTypedNode), (yyvsp[(5) - (5)].interm.nodePair), (yylsp[(1) - (5)]));
4650 (yyval.interm.nodePair).node1 = (yyvsp[(1) - (3)].interm.intermNode);
4651 (yyval.interm.nodePair).node2 = (yyvsp[(3) - (3)].interm.intermNode);
4658 (yyval.interm.nodePair).node1 = (yyvsp[(1) - (1)].interm.intermNode);
4659 (yyval.interm.nodePair).node2 = 0;
4666 (yyval.interm.intermTypedNode) = (yyvsp[(1) - (1)].interm.intermTypedNode);
4682 (yyval.interm.intermTypedNode) = (yyvsp[(4) - (4)].interm.intermTypedNode);
4685 (yyval.interm.intermTypedNode) = 0;
4699 (yyval.interm.intermNode) = context->intermediate.addLoop(ELoopWhile, 0, (yyvsp[(4) - (6)].interm.intermTypedNode), 0, (yyvsp[(6) - (6)].interm.intermNode), (yylsp[(1) - (6)]));
4715 (yyval.interm.intermNode) = context->intermediate.addLoop(ELoopDoWhile, 0, (yyvsp[(6) - (8)].interm.intermTypedNode), 0, (yyvsp[(3) - (8)].interm.intermNode), (yylsp[(4) - (8)]));
4729 (yyval.interm.intermNode) = context->intermediate.addLoop(ELoopFor, (yyvsp[(4) - (7)].interm.intermNode), reinterpret_cast<TIntermTyped*>((yyvsp[(5) - (7)].interm.nodePair).node1), reinterpret_cast<TIntermTyped*>((yyvsp[(5) - (7)].interm.nodePair).node2), (yyvsp[(7) - (7)].interm.intermNode), (yylsp[(1) - (7)]));
4737 (yyval.interm.intermNode) = (yyvsp[(1) - (1)].interm.intermNode);
4744 (yyval.interm.intermNode) = (yyvsp[(1) - (1)].interm.intermNode);
4751 (yyval.interm.intermTypedNode) = (yyvsp[(1) - (1)].interm.intermTypedNode);
4758 (yyval.interm.intermTypedNode) = 0;
4765 (yyval.interm.nodePair).node1 = (yyvsp[(1) - (2)].interm.intermTypedNode);
4766 (yyval.interm.nodePair).node2 = 0;
4773 (yyval.interm.nodePair).node1 = (yyvsp[(1) - (3)].interm.intermTypedNode);
4774 (yyval.interm.nodePair).node2 = (yyvsp[(3) - (3)].interm.intermTypedNode);
4785 (yyval.interm.intermNode) = context->intermediate.addBranch(EOpContinue, (yylsp[(1) - (2)]));
4796 (yyval.interm.intermNode) = context->intermediate.addBranch(EOpBreak, (yylsp[(1) - (2)]));
4803 (yyval.interm.intermNode) = context->intermediate.addBranch(EOpReturn, (yylsp[(1) - (2)]));
4814 (yyval.interm.intermNode) = context->intermediate.addBranch(EOpReturn, (yyvsp[(2) - (3)].interm.intermTypedNode), (yylsp[(1) - (3)]));
4830 (yyval.interm.intermNode) = context->intermediate.addBranch(EOpKill, (yylsp[(1) - (2)]));
4837 (yyval.interm.intermNode) = (yyvsp[(1) - (1)].interm.intermNode);
4838 context->treeRoot = (yyval.interm.intermNode);
4845 (yyval.interm.intermNode) = context->intermediate.growAggregate((yyvsp[(1) - (2)].interm.intermNode), (yyvsp[(2) - (2)].interm.intermNode), (yyloc));
4846 context->treeRoot = (yyval.interm.intermNode);
4853 (yyval.interm.intermNode) = (yyvsp[(1) - (1)].interm.intermNode);
4860 (yyval.interm.intermNode) = (yyvsp[(1) - (1)].interm.intermNode);
4963 (yyval.interm.intermNode) = context->intermediate.growAggregate((yyvsp[(1) - (3)].interm).intermAggregate, (yyvsp[(3) - (3)].interm.intermNode), (yyloc));
4964 context->intermediate.setAggregateOperator((yyval.interm.intermNode), EOpFunction, (yylsp[(1) - (3)]));
4965 (yyval.interm.intermNode)->getAsAggregate()->setName((yyvsp[(1) - (3)].interm).function->getMangledName().c_str());
4966 (yyval.interm.intermNode)->getAsAggregate()->setType((yyvsp[(1) - (3)].interm).function->getReturnType());
4970 (yyval.interm.intermNode)->getAsAggregate()->setOptimize(context->pragma().optimize);
4971 (yyval.interm.intermNode)->getAsAggregate()->setDebug(context->pragma().debug);
4992 YY_SYMBOL_PRINT ("-> $$ =", yyr1[yyn], &yyval, &yyloc);
4998 *++yyvsp = yyval;