diff options
Diffstat (limited to 'src/libs/glsl/glslparser.cpp')
-rw-r--r-- | src/libs/glsl/glslparser.cpp | 564 |
1 files changed, 282 insertions, 282 deletions
diff --git a/src/libs/glsl/glslparser.cpp b/src/libs/glsl/glslparser.cpp index a1a73aad58..594d400bdc 100644 --- a/src/libs/glsl/glslparser.cpp +++ b/src/libs/glsl/glslparser.cpp @@ -102,7 +102,7 @@ Parser::~Parser() { } -TranslationUnit *Parser::parse() +TranslationUnitAST *Parser::parse() { int action = 0; int yytoken = -1; @@ -177,25 +177,25 @@ switch(ruleno) { #line 580 "./glsl.g" case 0: { - ast(1) = makeAstNode<IdentifierExpression>(string(1)); + ast(1) = makeAstNode<IdentifierExpressionAST>(string(1)); } break; #line 587 "./glsl.g" case 1: { - ast(1) = makeAstNode<LiteralExpression>(string(1)); + ast(1) = makeAstNode<LiteralExpressionAST>(string(1)); } break; #line 594 "./glsl.g" case 2: { - ast(1) = makeAstNode<LiteralExpression>(_engine->identifier("true", 4)); + ast(1) = makeAstNode<LiteralExpressionAST>(_engine->identifier("true", 4)); } break; #line 601 "./glsl.g" case 3: { - ast(1) = makeAstNode<LiteralExpression>(_engine->identifier("false", 5)); + ast(1) = makeAstNode<LiteralExpressionAST>(_engine->identifier("false", 5)); } break; #line 608 "./glsl.g" @@ -219,7 +219,7 @@ case 6: { #line 629 "./glsl.g" case 7: { - ast(1) = makeAstNode<BinaryExpression>(AST::Kind_ArrayAccess, expression(1), expression(3)); + ast(1) = makeAstNode<BinaryExpressionAST>(AST::Kind_ArrayAccess, expression(1), expression(3)); } break; #line 636 "./glsl.g" @@ -231,19 +231,19 @@ case 8: { #line 643 "./glsl.g" case 9: { - ast(1) = makeAstNode<MemberAccessExpression>(expression(1), string(3)); + ast(1) = makeAstNode<MemberAccessExpressionAST>(expression(1), string(3)); } break; #line 650 "./glsl.g" case 10: { - ast(1) = makeAstNode<UnaryExpression>(AST::Kind_PostIncrement, expression(1)); + ast(1) = makeAstNode<UnaryExpressionAST>(AST::Kind_PostIncrement, expression(1)); } break; #line 657 "./glsl.g" case 11: { - ast(1) = makeAstNode<UnaryExpression>(AST::Kind_PostDecrement, expression(1)); + ast(1) = makeAstNode<UnaryExpressionAST>(AST::Kind_PostDecrement, expression(1)); } break; #line 664 "./glsl.g" @@ -261,14 +261,14 @@ case 13: { #line 678 "./glsl.g" case 14: { - ast(1) = makeAstNode<FunctionCallExpression> + ast(1) = makeAstNode<FunctionCallExpressionAST> (sym(1).function.id, sym(1).function.arguments); } break; #line 686 "./glsl.g" case 15: { - ast(1) = makeAstNode<FunctionCallExpression> + ast(1) = makeAstNode<FunctionCallExpressionAST> (expression(1), sym(3).function.id, sym(3).function.arguments); } break; @@ -303,14 +303,14 @@ case 19: { case 20: { sym(1).function.id = sym(1).function_identifier; sym(1).function.arguments = - makeAstNode< List<Expression *> >(expression(2)); + makeAstNode< List<ExpressionAST *> >(expression(2)); } break; #line 733 "./glsl.g" case 21: { sym(1).function.arguments = - makeAstNode< List<Expression *> > + makeAstNode< List<ExpressionAST *> > (sym(1).function.arguments, expression(3)); } break; @@ -323,13 +323,13 @@ case 22: { #line 749 "./glsl.g" case 23: { - ast(1) = makeAstNode<FunctionIdentifier>(type(1)); + ast(1) = makeAstNode<FunctionIdentifierAST>(type(1)); } break; #line 756 "./glsl.g" case 24: { - ast(1) = makeAstNode<FunctionIdentifier>(string(1)); + ast(1) = makeAstNode<FunctionIdentifierAST>(string(1)); } break; #line 763 "./glsl.g" @@ -341,19 +341,19 @@ case 25: { #line 770 "./glsl.g" case 26: { - ast(1) = makeAstNode<UnaryExpression>(AST::Kind_PreIncrement, expression(2)); + ast(1) = makeAstNode<UnaryExpressionAST>(AST::Kind_PreIncrement, expression(2)); } break; #line 777 "./glsl.g" case 27: { - ast(1) = makeAstNode<UnaryExpression>(AST::Kind_PreDecrement, expression(2)); + ast(1) = makeAstNode<UnaryExpressionAST>(AST::Kind_PreDecrement, expression(2)); } break; #line 784 "./glsl.g" case 28: { - ast(1) = makeAstNode<UnaryExpression>(sym(1).kind, expression(2)); + ast(1) = makeAstNode<UnaryExpressionAST>(sym(1).kind, expression(2)); } break; #line 791 "./glsl.g" @@ -389,19 +389,19 @@ case 33: { #line 826 "./glsl.g" case 34: { - ast(1) = makeAstNode<BinaryExpression>(AST::Kind_Multiply, expression(1), expression(3)); + ast(1) = makeAstNode<BinaryExpressionAST>(AST::Kind_Multiply, expression(1), expression(3)); } break; #line 833 "./glsl.g" case 35: { - ast(1) = makeAstNode<BinaryExpression>(AST::Kind_Divide, expression(1), expression(3)); + ast(1) = makeAstNode<BinaryExpressionAST>(AST::Kind_Divide, expression(1), expression(3)); } break; #line 840 "./glsl.g" case 36: { - ast(1) = makeAstNode<BinaryExpression>(AST::Kind_Modulus, expression(1), expression(3)); + ast(1) = makeAstNode<BinaryExpressionAST>(AST::Kind_Modulus, expression(1), expression(3)); } break; #line 847 "./glsl.g" @@ -413,13 +413,13 @@ case 37: { #line 854 "./glsl.g" case 38: { - ast(1) = makeAstNode<BinaryExpression>(AST::Kind_Plus, expression(1), expression(3)); + ast(1) = makeAstNode<BinaryExpressionAST>(AST::Kind_Plus, expression(1), expression(3)); } break; #line 861 "./glsl.g" case 39: { - ast(1) = makeAstNode<BinaryExpression>(AST::Kind_Minus, expression(1), expression(3)); + ast(1) = makeAstNode<BinaryExpressionAST>(AST::Kind_Minus, expression(1), expression(3)); } break; #line 868 "./glsl.g" @@ -431,13 +431,13 @@ case 40: { #line 875 "./glsl.g" case 41: { - ast(1) = makeAstNode<BinaryExpression>(AST::Kind_ShiftLeft, expression(1), expression(3)); + ast(1) = makeAstNode<BinaryExpressionAST>(AST::Kind_ShiftLeft, expression(1), expression(3)); } break; #line 882 "./glsl.g" case 42: { - ast(1) = makeAstNode<BinaryExpression>(AST::Kind_ShiftRight, expression(1), expression(3)); + ast(1) = makeAstNode<BinaryExpressionAST>(AST::Kind_ShiftRight, expression(1), expression(3)); } break; #line 889 "./glsl.g" @@ -449,25 +449,25 @@ case 43: { #line 896 "./glsl.g" case 44: { - ast(1) = makeAstNode<BinaryExpression>(AST::Kind_LessThan, expression(1), expression(3)); + ast(1) = makeAstNode<BinaryExpressionAST>(AST::Kind_LessThan, expression(1), expression(3)); } break; #line 903 "./glsl.g" case 45: { - ast(1) = makeAstNode<BinaryExpression>(AST::Kind_GreaterThan, expression(1), expression(3)); + ast(1) = makeAstNode<BinaryExpressionAST>(AST::Kind_GreaterThan, expression(1), expression(3)); } break; #line 910 "./glsl.g" case 46: { - ast(1) = makeAstNode<BinaryExpression>(AST::Kind_LessEqual, expression(1), expression(3)); + ast(1) = makeAstNode<BinaryExpressionAST>(AST::Kind_LessEqual, expression(1), expression(3)); } break; #line 917 "./glsl.g" case 47: { - ast(1) = makeAstNode<BinaryExpression>(AST::Kind_GreaterEqual, expression(1), expression(3)); + ast(1) = makeAstNode<BinaryExpressionAST>(AST::Kind_GreaterEqual, expression(1), expression(3)); } break; #line 924 "./glsl.g" @@ -479,13 +479,13 @@ case 48: { #line 931 "./glsl.g" case 49: { - ast(1) = makeAstNode<BinaryExpression>(AST::Kind_Equal, expression(1), expression(3)); + ast(1) = makeAstNode<BinaryExpressionAST>(AST::Kind_Equal, expression(1), expression(3)); } break; #line 938 "./glsl.g" case 50: { - ast(1) = makeAstNode<BinaryExpression>(AST::Kind_NotEqual, expression(1), expression(3)); + ast(1) = makeAstNode<BinaryExpressionAST>(AST::Kind_NotEqual, expression(1), expression(3)); } break; #line 945 "./glsl.g" @@ -497,7 +497,7 @@ case 51: { #line 952 "./glsl.g" case 52: { - ast(1) = makeAstNode<BinaryExpression>(AST::Kind_BitwiseAnd, expression(1), expression(3)); + ast(1) = makeAstNode<BinaryExpressionAST>(AST::Kind_BitwiseAnd, expression(1), expression(3)); } break; #line 959 "./glsl.g" @@ -509,7 +509,7 @@ case 53: { #line 966 "./glsl.g" case 54: { - ast(1) = makeAstNode<BinaryExpression>(AST::Kind_BitwiseXor, expression(1), expression(3)); + ast(1) = makeAstNode<BinaryExpressionAST>(AST::Kind_BitwiseXor, expression(1), expression(3)); } break; #line 973 "./glsl.g" @@ -521,7 +521,7 @@ case 55: { #line 980 "./glsl.g" case 56: { - ast(1) = makeAstNode<BinaryExpression>(AST::Kind_BitwiseOr, expression(1), expression(3)); + ast(1) = makeAstNode<BinaryExpressionAST>(AST::Kind_BitwiseOr, expression(1), expression(3)); } break; #line 987 "./glsl.g" @@ -533,7 +533,7 @@ case 57: { #line 994 "./glsl.g" case 58: { - ast(1) = makeAstNode<BinaryExpression>(AST::Kind_LogicalAnd, expression(1), expression(3)); + ast(1) = makeAstNode<BinaryExpressionAST>(AST::Kind_LogicalAnd, expression(1), expression(3)); } break; #line 1001 "./glsl.g" @@ -545,7 +545,7 @@ case 59: { #line 1008 "./glsl.g" case 60: { - ast(1) = makeAstNode<BinaryExpression>(AST::Kind_LogicalXor, expression(1), expression(3)); + ast(1) = makeAstNode<BinaryExpressionAST>(AST::Kind_LogicalXor, expression(1), expression(3)); } break; #line 1015 "./glsl.g" @@ -557,7 +557,7 @@ case 61: { #line 1022 "./glsl.g" case 62: { - ast(1) = makeAstNode<BinaryExpression>(AST::Kind_LogicalOr, expression(1), expression(3)); + ast(1) = makeAstNode<BinaryExpressionAST>(AST::Kind_LogicalOr, expression(1), expression(3)); } break; #line 1029 "./glsl.g" @@ -569,7 +569,7 @@ case 63: { #line 1036 "./glsl.g" case 64: { - ast(1) = makeAstNode<TernaryExpression>(AST::Kind_Conditional, expression(1), expression(3), expression(5)); + ast(1) = makeAstNode<TernaryExpressionAST>(AST::Kind_Conditional, expression(1), expression(3), expression(5)); } break; #line 1043 "./glsl.g" @@ -581,7 +581,7 @@ case 65: { #line 1050 "./glsl.g" case 66: { - ast(1) = makeAstNode<AssignmentExpression>(sym(2).kind, expression(1), expression(3)); + ast(1) = makeAstNode<AssignmentExpressionAST>(sym(2).kind, expression(1), expression(3)); } break; #line 1057 "./glsl.g" @@ -659,7 +659,7 @@ case 78: { #line 1141 "./glsl.g" case 79: { - ast(1) = makeAstNode<BinaryExpression>(AST::Kind_Comma, expression(1), expression(3)); + ast(1) = makeAstNode<BinaryExpressionAST>(AST::Kind_Comma, expression(1), expression(3)); } break; #line 1148 "./glsl.g" @@ -677,88 +677,88 @@ case 81: { #line 1162 "./glsl.g" case 82: { - ast(1) = makeAstNode<InitDeclaration>(sym(1).declaration_list); + ast(1) = makeAstNode<InitDeclarationAST>(sym(1).declaration_list); } break; #line 1169 "./glsl.g" case 83: { - ast(1) = makeAstNode<PrecisionDeclaration>(sym(2).precision, type(3)); + ast(1) = makeAstNode<PrecisionDeclarationAST>(sym(2).precision, type(3)); } break; #line 1176 "./glsl.g" case 84: { - if (sym(1).type_qualifier.qualifier != QualifiedType::Struct) { + if (sym(1).type_qualifier.qualifier != QualifiedTypeAST::Struct) { // TODO: issue an error if the qualifier is not "struct". } - Type *type = makeAstNode<StructType>(string(2), sym(4).field_list); - ast(1) = makeAstNode<TypeDeclaration>(type); + TypeAST *type = makeAstNode<StructTypeAST>(string(2), sym(4).field_list); + ast(1) = makeAstNode<TypeDeclarationAST>(type); } break; #line 1187 "./glsl.g" case 85: { - if ((sym(1).type_qualifier.qualifier & QualifiedType::Struct) == 0) { + if ((sym(1).type_qualifier.qualifier & QualifiedTypeAST::Struct) == 0) { // TODO: issue an error if the qualifier does not contain "struct". } - Type *type = makeAstNode<StructType>(string(2), sym(4).field_list); - Type *qualtype = type; - if (sym(1).type_qualifier.qualifier != QualifiedType::Struct) { - qualtype = makeAstNode<QualifiedType> - (sym(1).type_qualifier.qualifier & ~QualifiedType::Struct, qualtype, + TypeAST *type = makeAstNode<StructTypeAST>(string(2), sym(4).field_list); + TypeAST *qualtype = type; + if (sym(1).type_qualifier.qualifier != QualifiedTypeAST::Struct) { + qualtype = makeAstNode<QualifiedTypeAST> + (sym(1).type_qualifier.qualifier & ~QualifiedTypeAST::Struct, qualtype, sym(1).type_qualifier.layout_list); } - ast(1) = makeAstNode<TypeAndVariableDeclaration> - (makeAstNode<TypeDeclaration>(type), - makeAstNode<VariableDeclaration>(qualtype, string(6))); + ast(1) = makeAstNode<TypeAndVariableDeclarationAST> + (makeAstNode<TypeDeclarationAST>(type), + makeAstNode<VariableDeclarationAST>(qualtype, string(6))); } break; #line 1206 "./glsl.g" case 86: { - if ((sym(1).type_qualifier.qualifier & QualifiedType::Struct) == 0) { + if ((sym(1).type_qualifier.qualifier & QualifiedTypeAST::Struct) == 0) { // TODO: issue an error if the qualifier does not contain "struct". } - Type *type = makeAstNode<StructType>(string(2), sym(4).field_list); - Type *qualtype = type; - if (sym(1).type_qualifier.qualifier != QualifiedType::Struct) { - qualtype = makeAstNode<QualifiedType> - (sym(1).type_qualifier.qualifier & ~QualifiedType::Struct, qualtype, + TypeAST *type = makeAstNode<StructTypeAST>(string(2), sym(4).field_list); + TypeAST *qualtype = type; + if (sym(1).type_qualifier.qualifier != QualifiedTypeAST::Struct) { + qualtype = makeAstNode<QualifiedTypeAST> + (sym(1).type_qualifier.qualifier & ~QualifiedTypeAST::Struct, qualtype, sym(1).type_qualifier.layout_list); } - ast(1) = makeAstNode<TypeAndVariableDeclaration> - (makeAstNode<TypeDeclaration>(type), - makeAstNode<VariableDeclaration> - (makeAstNode<ArrayType>(qualtype), string(6))); + ast(1) = makeAstNode<TypeAndVariableDeclarationAST> + (makeAstNode<TypeDeclarationAST>(type), + makeAstNode<VariableDeclarationAST> + (makeAstNode<ArrayTypeAST>(qualtype), string(6))); } break; #line 1226 "./glsl.g" case 87: { - if ((sym(1).type_qualifier.qualifier & QualifiedType::Struct) == 0) { + if ((sym(1).type_qualifier.qualifier & QualifiedTypeAST::Struct) == 0) { // TODO: issue an error if the qualifier does not contain "struct". } - Type *type = makeAstNode<StructType>(string(2), sym(4).field_list); - Type *qualtype = type; - if (sym(1).type_qualifier.qualifier != QualifiedType::Struct) { - qualtype = makeAstNode<QualifiedType> - (sym(1).type_qualifier.qualifier & ~QualifiedType::Struct, qualtype, + TypeAST *type = makeAstNode<StructTypeAST>(string(2), sym(4).field_list); + TypeAST *qualtype = type; + if (sym(1).type_qualifier.qualifier != QualifiedTypeAST::Struct) { + qualtype = makeAstNode<QualifiedTypeAST> + (sym(1).type_qualifier.qualifier & ~QualifiedTypeAST::Struct, qualtype, sym(1).type_qualifier.layout_list); } - ast(1) = makeAstNode<TypeAndVariableDeclaration> - (makeAstNode<TypeDeclaration>(type), - makeAstNode<VariableDeclaration> - (makeAstNode<ArrayType>(qualtype, expression(8)), string(6))); + ast(1) = makeAstNode<TypeAndVariableDeclarationAST> + (makeAstNode<TypeDeclarationAST>(type), + makeAstNode<VariableDeclarationAST> + (makeAstNode<ArrayTypeAST>(qualtype, expression(8)), string(6))); } break; #line 1246 "./glsl.g" case 88: { - Type *type = makeAstNode<QualifiedType> - (sym(1).type_qualifier.qualifier, (Type *)0, + TypeAST *type = makeAstNode<QualifiedTypeAST> + (sym(1).type_qualifier.qualifier, (TypeAST *)0, sym(1).type_qualifier.layout_list); - ast(1) = makeAstNode<TypeDeclaration>(type); + ast(1) = makeAstNode<TypeDeclarationAST>(type); } break; #line 1256 "./glsl.g" @@ -782,21 +782,21 @@ case 91: { #line 1277 "./glsl.g" case 92: { - function(1)->params = makeAstNode< List<ParameterDeclaration *> > + function(1)->params = makeAstNode< List<ParameterDeclarationAST *> > (sym(2).param_declaration); } break; #line 1285 "./glsl.g" case 93: { - function(1)->params = makeAstNode< List<ParameterDeclaration *> > + function(1)->params = makeAstNode< List<ParameterDeclarationAST *> > (function(1)->params, sym(3).param_declaration); } break; #line 1293 "./glsl.g" case 94: { - function(1) = makeAstNode<FunctionDeclaration>(type(1), string(2)); + function(1) = makeAstNode<FunctionDeclarationAST>(type(1), string(2)); } break; #line 1300 "./glsl.g" @@ -809,70 +809,70 @@ case 95: { #line 1308 "./glsl.g" case 96: { - sym(1).param_declarator.type = makeAstNode<ArrayType>(type(1), expression(4)); + sym(1).param_declarator.type = makeAstNode<ArrayTypeAST>(type(1), expression(4)); sym(1).param_declarator.name = string(2); } break; #line 1316 "./glsl.g" case 97: { - ast(1) = makeAstNode<ParameterDeclaration> - (makeAstNode<QualifiedType> + ast(1) = makeAstNode<ParameterDeclarationAST> + (makeAstNode<QualifiedTypeAST> (sym(1).qualifier, sym(3).param_declarator.type, (List<LayoutQualifier *> *)0), - ParameterDeclaration::Qualifier(sym(2).qualifier), + ParameterDeclarationAST::Qualifier(sym(2).qualifier), sym(3).param_declarator.name); } break; #line 1328 "./glsl.g" case 98: { - ast(1) = makeAstNode<ParameterDeclaration> + ast(1) = makeAstNode<ParameterDeclarationAST> (sym(2).param_declarator.type, - ParameterDeclaration::Qualifier(sym(1).qualifier), + ParameterDeclarationAST::Qualifier(sym(1).qualifier), sym(2).param_declarator.name); } break; #line 1338 "./glsl.g" case 99: { - ast(1) = makeAstNode<ParameterDeclaration> - (makeAstNode<QualifiedType> + ast(1) = makeAstNode<ParameterDeclarationAST> + (makeAstNode<QualifiedTypeAST> (sym(1).qualifier, type(3), (List<LayoutQualifier *> *)0), - ParameterDeclaration::Qualifier(sym(2).qualifier), + ParameterDeclarationAST::Qualifier(sym(2).qualifier), (const QString *)0); } break; #line 1349 "./glsl.g" case 100: { - ast(1) = makeAstNode<ParameterDeclaration> - (type(2), ParameterDeclaration::Qualifier(sym(1).qualifier), + ast(1) = makeAstNode<ParameterDeclarationAST> + (type(2), ParameterDeclarationAST::Qualifier(sym(1).qualifier), (const QString *)0); } break; #line 1358 "./glsl.g" case 101: { - sym(1).qualifier = ParameterDeclaration::In; + sym(1).qualifier = ParameterDeclarationAST::In; } break; #line 1365 "./glsl.g" case 102: { - sym(1).qualifier = ParameterDeclaration::In; + sym(1).qualifier = ParameterDeclarationAST::In; } break; #line 1372 "./glsl.g" case 103: { - sym(1).qualifier = ParameterDeclaration::Out; + sym(1).qualifier = ParameterDeclarationAST::Out; } break; #line 1379 "./glsl.g" case 104: { - sym(1).qualifier = ParameterDeclaration::InOut; + sym(1).qualifier = ParameterDeclarationAST::InOut; } break; #line 1386 "./glsl.g" @@ -884,135 +884,135 @@ case 105: { #line 1393 "./glsl.g" case 106: { - sym(1).declaration_list = makeAstNode< List<Declaration *> > + sym(1).declaration_list = makeAstNode< List<DeclarationAST *> > (sym(1).declaration); } break; #line 1401 "./glsl.g" case 107: { - Type *type = VariableDeclaration::declarationType(sym(1).declaration_list); - Declaration *decl = makeAstNode<VariableDeclaration>(type, string(3)); - sym(1).declaration_list = makeAstNode< List<Declaration *> > + TypeAST *type = VariableDeclarationAST::declarationType(sym(1).declaration_list); + DeclarationAST *decl = makeAstNode<VariableDeclarationAST>(type, string(3)); + sym(1).declaration_list = makeAstNode< List<DeclarationAST *> > (sym(1).declaration_list, decl); } break; #line 1411 "./glsl.g" case 108: { - Type *type = VariableDeclaration::declarationType(sym(1).declaration_list); - type = makeAstNode<ArrayType>(type); - Declaration *decl = makeAstNode<VariableDeclaration>(type, string(3)); - sym(1).declaration_list = makeAstNode< List<Declaration *> > + TypeAST *type = VariableDeclarationAST::declarationType(sym(1).declaration_list); + type = makeAstNode<ArrayTypeAST>(type); + DeclarationAST *decl = makeAstNode<VariableDeclarationAST>(type, string(3)); + sym(1).declaration_list = makeAstNode< List<DeclarationAST *> > (sym(1).declaration_list, decl); } break; #line 1422 "./glsl.g" case 109: { - Type *type = VariableDeclaration::declarationType(sym(1).declaration_list); - type = makeAstNode<ArrayType>(type, expression(5)); - Declaration *decl = makeAstNode<VariableDeclaration>(type, string(3)); - sym(1).declaration_list = makeAstNode< List<Declaration *> > + TypeAST *type = VariableDeclarationAST::declarationType(sym(1).declaration_list); + type = makeAstNode<ArrayTypeAST>(type, expression(5)); + DeclarationAST *decl = makeAstNode<VariableDeclarationAST>(type, string(3)); + sym(1).declaration_list = makeAstNode< List<DeclarationAST *> > (sym(1).declaration_list, decl); } break; #line 1433 "./glsl.g" case 110: { - Type *type = VariableDeclaration::declarationType(sym(1).declaration_list); - type = makeAstNode<ArrayType>(type); - Declaration *decl = makeAstNode<VariableDeclaration> + TypeAST *type = VariableDeclarationAST::declarationType(sym(1).declaration_list); + type = makeAstNode<ArrayTypeAST>(type); + DeclarationAST *decl = makeAstNode<VariableDeclarationAST> (type, string(3), expression(7)); - sym(1).declaration_list = makeAstNode< List<Declaration *> > + sym(1).declaration_list = makeAstNode< List<DeclarationAST *> > (sym(1).declaration_list, decl); } break; #line 1445 "./glsl.g" case 111: { - Type *type = VariableDeclaration::declarationType(sym(1).declaration_list); - type = makeAstNode<ArrayType>(type, expression(5)); - Declaration *decl = makeAstNode<VariableDeclaration> + TypeAST *type = VariableDeclarationAST::declarationType(sym(1).declaration_list); + type = makeAstNode<ArrayTypeAST>(type, expression(5)); + DeclarationAST *decl = makeAstNode<VariableDeclarationAST> (type, string(3), expression(8)); - sym(1).declaration_list = makeAstNode< List<Declaration *> > + sym(1).declaration_list = makeAstNode< List<DeclarationAST *> > (sym(1).declaration_list, decl); } break; #line 1457 "./glsl.g" case 112: { - Type *type = VariableDeclaration::declarationType(sym(1).declaration_list); - Declaration *decl = makeAstNode<VariableDeclaration> + TypeAST *type = VariableDeclarationAST::declarationType(sym(1).declaration_list); + DeclarationAST *decl = makeAstNode<VariableDeclarationAST> (type, string(3), expression(5)); - sym(1).declaration_list = makeAstNode< List<Declaration *> > + sym(1).declaration_list = makeAstNode< List<DeclarationAST *> > (sym(1).declaration_list, decl); } break; #line 1468 "./glsl.g" case 113: { - ast(1) = makeAstNode<TypeDeclaration>(type(1)); + ast(1) = makeAstNode<TypeDeclarationAST>(type(1)); } break; #line 1475 "./glsl.g" case 114: { - ast(1) = makeAstNode<VariableDeclaration>(type(1), string(2)); + ast(1) = makeAstNode<VariableDeclarationAST>(type(1), string(2)); } break; #line 1482 "./glsl.g" case 115: { - ast(1) = makeAstNode<VariableDeclaration> - (makeAstNode<ArrayType>(type(1)), string(2)); + ast(1) = makeAstNode<VariableDeclarationAST> + (makeAstNode<ArrayTypeAST>(type(1)), string(2)); } break; #line 1490 "./glsl.g" case 116: { - ast(1) = makeAstNode<VariableDeclaration> - (makeAstNode<ArrayType>(type(1), expression(4)), string(2)); + ast(1) = makeAstNode<VariableDeclarationAST> + (makeAstNode<ArrayTypeAST>(type(1), expression(4)), string(2)); } break; #line 1498 "./glsl.g" case 117: { - ast(1) = makeAstNode<VariableDeclaration> - (makeAstNode<ArrayType>(type(1)), string(2), expression(6)); + ast(1) = makeAstNode<VariableDeclarationAST> + (makeAstNode<ArrayTypeAST>(type(1)), string(2), expression(6)); } break; #line 1506 "./glsl.g" case 118: { - ast(1) = makeAstNode<VariableDeclaration> - (makeAstNode<ArrayType>(type(1), expression(4)), + ast(1) = makeAstNode<VariableDeclarationAST> + (makeAstNode<ArrayTypeAST>(type(1), expression(4)), string(2), expression(7)); } break; #line 1515 "./glsl.g" case 119: { - ast(1) = makeAstNode<VariableDeclaration> + ast(1) = makeAstNode<VariableDeclarationAST> (type(1), string(2), expression(4)); } break; #line 1523 "./glsl.g" case 120: { - ast(1) = makeAstNode<InvariantDeclaration>(string(2)); + ast(1) = makeAstNode<InvariantDeclarationAST>(string(2)); } break; #line 1530 "./glsl.g" case 121: { - ast(1) = makeAstNode<QualifiedType>(0, type(1), (List<LayoutQualifier *> *)0); + ast(1) = makeAstNode<QualifiedTypeAST>(0, type(1), (List<LayoutQualifier *> *)0); } break; #line 1537 "./glsl.g" case 122: { - ast(1) = makeAstNode<QualifiedType> + ast(1) = makeAstNode<QualifiedTypeAST> (sym(1).type_qualifier.qualifier, type(2), sym(1).type_qualifier.layout_list); } break; @@ -1020,25 +1020,25 @@ case 122: { #line 1546 "./glsl.g" case 123: { - sym(1).qualifier = QualifiedType::Invariant; + sym(1).qualifier = QualifiedTypeAST::Invariant; } break; #line 1553 "./glsl.g" case 124: { - sym(1).qualifier = QualifiedType::Smooth; + sym(1).qualifier = QualifiedTypeAST::Smooth; } break; #line 1560 "./glsl.g" case 125: { - sym(1).qualifier = QualifiedType::Flat; + sym(1).qualifier = QualifiedTypeAST::Flat; } break; #line 1567 "./glsl.g" case 126: { - sym(1).qualifier = QualifiedType::NoPerspective; + sym(1).qualifier = QualifiedTypeAST::NoPerspective; } break; #line 1574 "./glsl.g" @@ -1074,7 +1074,7 @@ case 131: { #line 1609 "./glsl.g" case 132: { - sym(1).qualifier = QualifiedType::Const; + sym(1).qualifier = QualifiedTypeAST::Const; } break; #line 1616 "./glsl.g" @@ -1129,86 +1129,86 @@ case 139: { #line 1672 "./glsl.g" case 140: { - sym(1).type_qualifier.qualifier = QualifiedType::Invariant; + sym(1).type_qualifier.qualifier = QualifiedTypeAST::Invariant; sym(1).type_qualifier.layout_list = 0; } break; #line 1680 "./glsl.g" case 141: { - sym(1).qualifier = QualifiedType::Const; + sym(1).qualifier = QualifiedTypeAST::Const; } break; #line 1687 "./glsl.g" case 142: { - sym(1).qualifier = QualifiedType::Attribute; + sym(1).qualifier = QualifiedTypeAST::Attribute; } break; #line 1694 "./glsl.g" case 143: { - sym(1).qualifier = QualifiedType::Varying; + sym(1).qualifier = QualifiedTypeAST::Varying; } break; #line 1701 "./glsl.g" case 144: { - sym(1).qualifier = QualifiedType::CentroidVarying; + sym(1).qualifier = QualifiedTypeAST::CentroidVarying; } break; #line 1708 "./glsl.g" case 145: { - sym(1).qualifier = QualifiedType::In; + sym(1).qualifier = QualifiedTypeAST::In; } break; #line 1715 "./glsl.g" case 146: { - sym(1).qualifier = QualifiedType::Out; + sym(1).qualifier = QualifiedTypeAST::Out; } break; #line 1722 "./glsl.g" case 147: { - sym(1).qualifier = QualifiedType::CentroidIn; + sym(1).qualifier = QualifiedTypeAST::CentroidIn; } break; #line 1729 "./glsl.g" case 148: { - sym(1).qualifier = QualifiedType::CentroidOut; + sym(1).qualifier = QualifiedTypeAST::CentroidOut; } break; #line 1736 "./glsl.g" case 149: { - sym(1).qualifier = QualifiedType::PatchIn; + sym(1).qualifier = QualifiedTypeAST::PatchIn; } break; #line 1743 "./glsl.g" case 150: { - sym(1).qualifier = QualifiedType::PatchOut; + sym(1).qualifier = QualifiedTypeAST::PatchOut; } break; #line 1750 "./glsl.g" case 151: { - sym(1).qualifier = QualifiedType::SampleIn; + sym(1).qualifier = QualifiedTypeAST::SampleIn; } break; #line 1757 "./glsl.g" case 152: { - sym(1).qualifier = QualifiedType::SampleOut; + sym(1).qualifier = QualifiedTypeAST::SampleOut; } break; #line 1764 "./glsl.g" case 153: { - sym(1).qualifier = QualifiedType::Uniform; + sym(1).qualifier = QualifiedTypeAST::Uniform; } break; #line 1771 "./glsl.g" @@ -1235,523 +1235,523 @@ case 156: { #line 1795 "./glsl.g" case 157: { - ast(1) = makeAstNode<ArrayType>(type(1)); + ast(1) = makeAstNode<ArrayTypeAST>(type(1)); } break; #line 1802 "./glsl.g" case 158: { - ast(1) = makeAstNode<ArrayType>(type(1), expression(3)); + ast(1) = makeAstNode<ArrayTypeAST>(type(1), expression(3)); } break; #line 1809 "./glsl.g" case 159: { - ast(1) = makeBasicType(T_VOID, Type::Void); + ast(1) = makeBasicType(T_VOID, TypeAST::Void); } break; #line 1816 "./glsl.g" case 160: { - ast(1) = makeBasicType(T_FLOAT, Type::Primitive); + ast(1) = makeBasicType(T_FLOAT, TypeAST::Primitive); } break; #line 1823 "./glsl.g" case 161: { - ast(1) = makeBasicType(T_DOUBLE, Type::Primitive); + ast(1) = makeBasicType(T_DOUBLE, TypeAST::Primitive); } break; #line 1830 "./glsl.g" case 162: { - ast(1) = makeBasicType(T_INT, Type::Primitive); + ast(1) = makeBasicType(T_INT, TypeAST::Primitive); } break; #line 1837 "./glsl.g" case 163: { - ast(1) = makeBasicType(T_UINT, Type::Primitive); + ast(1) = makeBasicType(T_UINT, TypeAST::Primitive); } break; #line 1844 "./glsl.g" case 164: { - ast(1) = makeBasicType(T_BOOL, Type::Primitive); + ast(1) = makeBasicType(T_BOOL, TypeAST::Primitive); } break; #line 1851 "./glsl.g" case 165: { - ast(1) = makeBasicType(T_VEC2, Type::Vector2); + ast(1) = makeBasicType(T_VEC2, TypeAST::Vector2); } break; #line 1858 "./glsl.g" case 166: { - ast(1) = makeBasicType(T_VEC3, Type::Vector3); + ast(1) = makeBasicType(T_VEC3, TypeAST::Vector3); } break; #line 1865 "./glsl.g" case 167: { - ast(1) = makeBasicType(T_VEC4, Type::Vector4); + ast(1) = makeBasicType(T_VEC4, TypeAST::Vector4); } break; #line 1872 "./glsl.g" case 168: { - ast(1) = makeBasicType(T_DVEC2, Type::Vector2); + ast(1) = makeBasicType(T_DVEC2, TypeAST::Vector2); } break; #line 1879 "./glsl.g" case 169: { - ast(1) = makeBasicType(T_DVEC3, Type::Vector3); + ast(1) = makeBasicType(T_DVEC3, TypeAST::Vector3); } break; #line 1886 "./glsl.g" case 170: { - ast(1) = makeBasicType(T_DVEC4, Type::Vector4); + ast(1) = makeBasicType(T_DVEC4, TypeAST::Vector4); } break; #line 1893 "./glsl.g" case 171: { - ast(1) = makeBasicType(T_BVEC2, Type::Vector2); + ast(1) = makeBasicType(T_BVEC2, TypeAST::Vector2); } break; #line 1900 "./glsl.g" case 172: { - ast(1) = makeBasicType(T_BVEC3, Type::Vector3); + ast(1) = makeBasicType(T_BVEC3, TypeAST::Vector3); } break; #line 1907 "./glsl.g" case 173: { - ast(1) = makeBasicType(T_BVEC4, Type::Vector4); + ast(1) = makeBasicType(T_BVEC4, TypeAST::Vector4); } break; #line 1914 "./glsl.g" case 174: { - ast(1) = makeBasicType(T_IVEC2, Type::Vector2); + ast(1) = makeBasicType(T_IVEC2, TypeAST::Vector2); } break; #line 1921 "./glsl.g" case 175: { - ast(1) = makeBasicType(T_IVEC3, Type::Vector3); + ast(1) = makeBasicType(T_IVEC3, TypeAST::Vector3); } break; #line 1928 "./glsl.g" case 176: { - ast(1) = makeBasicType(T_IVEC4, Type::Vector4); + ast(1) = makeBasicType(T_IVEC4, TypeAST::Vector4); } break; #line 1935 "./glsl.g" case 177: { - ast(1) = makeBasicType(T_UVEC2, Type::Vector2); + ast(1) = makeBasicType(T_UVEC2, TypeAST::Vector2); } break; #line 1942 "./glsl.g" case 178: { - ast(1) = makeBasicType(T_UVEC3, Type::Vector3); + ast(1) = makeBasicType(T_UVEC3, TypeAST::Vector3); } break; #line 1949 "./glsl.g" case 179: { - ast(1) = makeBasicType(T_UVEC4, Type::Vector4); + ast(1) = makeBasicType(T_UVEC4, TypeAST::Vector4); } break; #line 1956 "./glsl.g" case 180: { - ast(1) = makeBasicType(T_MAT2, Type::Matrix); + ast(1) = makeBasicType(T_MAT2, TypeAST::Matrix); } break; #line 1963 "./glsl.g" case 181: { - ast(1) = makeBasicType(T_MAT3, Type::Matrix); + ast(1) = makeBasicType(T_MAT3, TypeAST::Matrix); } break; #line 1970 "./glsl.g" case 182: { - ast(1) = makeBasicType(T_MAT4, Type::Matrix); + ast(1) = makeBasicType(T_MAT4, TypeAST::Matrix); } break; #line 1977 "./glsl.g" case 183: { - ast(1) = makeBasicType(T_MAT2, Type::Matrix); + ast(1) = makeBasicType(T_MAT2, TypeAST::Matrix); } break; #line 1984 "./glsl.g" case 184: { - ast(1) = makeBasicType(T_MAT2X3, Type::Matrix); + ast(1) = makeBasicType(T_MAT2X3, TypeAST::Matrix); } break; #line 1991 "./glsl.g" case 185: { - ast(1) = makeBasicType(T_MAT2X4, Type::Matrix); + ast(1) = makeBasicType(T_MAT2X4, TypeAST::Matrix); } break; #line 1998 "./glsl.g" case 186: { - ast(1) = makeBasicType(T_MAT3X2, Type::Matrix); + ast(1) = makeBasicType(T_MAT3X2, TypeAST::Matrix); } break; #line 2005 "./glsl.g" case 187: { - ast(1) = makeBasicType(T_MAT3, Type::Matrix); + ast(1) = makeBasicType(T_MAT3, TypeAST::Matrix); } break; #line 2012 "./glsl.g" case 188: { - ast(1) = makeBasicType(T_MAT3X4, Type::Matrix); + ast(1) = makeBasicType(T_MAT3X4, TypeAST::Matrix); } break; #line 2019 "./glsl.g" case 189: { - ast(1) = makeBasicType(T_MAT4X2, Type::Matrix); + ast(1) = makeBasicType(T_MAT4X2, TypeAST::Matrix); } break; #line 2026 "./glsl.g" case 190: { - ast(1) = makeBasicType(T_MAT4X3, Type::Matrix); + ast(1) = makeBasicType(T_MAT4X3, TypeAST::Matrix); } break; #line 2033 "./glsl.g" case 191: { - ast(1) = makeBasicType(T_MAT4, Type::Matrix); + ast(1) = makeBasicType(T_MAT4, TypeAST::Matrix); } break; #line 2040 "./glsl.g" case 192: { - ast(1) = makeBasicType(T_DMAT2, Type::Matrix); + ast(1) = makeBasicType(T_DMAT2, TypeAST::Matrix); } break; #line 2047 "./glsl.g" case 193: { - ast(1) = makeBasicType(T_DMAT3, Type::Matrix); + ast(1) = makeBasicType(T_DMAT3, TypeAST::Matrix); } break; #line 2054 "./glsl.g" case 194: { - ast(1) = makeBasicType(T_DMAT4, Type::Matrix); + ast(1) = makeBasicType(T_DMAT4, TypeAST::Matrix); } break; #line 2061 "./glsl.g" case 195: { - ast(1) = makeBasicType(T_DMAT2, Type::Matrix); + ast(1) = makeBasicType(T_DMAT2, TypeAST::Matrix); } break; #line 2068 "./glsl.g" case 196: { - ast(1) = makeBasicType(T_DMAT2X3, Type::Matrix); + ast(1) = makeBasicType(T_DMAT2X3, TypeAST::Matrix); } break; #line 2075 "./glsl.g" case 197: { - ast(1) = makeBasicType(T_DMAT2X4, Type::Matrix); + ast(1) = makeBasicType(T_DMAT2X4, TypeAST::Matrix); } break; #line 2082 "./glsl.g" case 198: { - ast(1) = makeBasicType(T_DMAT3X2, Type::Matrix); + ast(1) = makeBasicType(T_DMAT3X2, TypeAST::Matrix); } break; #line 2089 "./glsl.g" case 199: { - ast(1) = makeBasicType(T_DMAT3, Type::Matrix); + ast(1) = makeBasicType(T_DMAT3, TypeAST::Matrix); } break; #line 2096 "./glsl.g" case 200: { - ast(1) = makeBasicType(T_DMAT3X4, Type::Matrix); + ast(1) = makeBasicType(T_DMAT3X4, TypeAST::Matrix); } break; #line 2103 "./glsl.g" case 201: { - ast(1) = makeBasicType(T_DMAT4X2, Type::Matrix); + ast(1) = makeBasicType(T_DMAT4X2, TypeAST::Matrix); } break; #line 2110 "./glsl.g" case 202: { - ast(1) = makeBasicType(T_DMAT4X3, Type::Matrix); + ast(1) = makeBasicType(T_DMAT4X3, TypeAST::Matrix); } break; #line 2117 "./glsl.g" case 203: { - ast(1) = makeBasicType(T_DMAT4, Type::Matrix); + ast(1) = makeBasicType(T_DMAT4, TypeAST::Matrix); } break; #line 2124 "./glsl.g" case 204: { - ast(1) = makeBasicType(T_SAMPLER1D, Type::Sampler1D); + ast(1) = makeBasicType(T_SAMPLER1D, TypeAST::Sampler1D); } break; #line 2131 "./glsl.g" case 205: { - ast(1) = makeBasicType(T_SAMPLER2D, Type::Sampler2D); + ast(1) = makeBasicType(T_SAMPLER2D, TypeAST::Sampler2D); } break; #line 2138 "./glsl.g" case 206: { - ast(1) = makeBasicType(T_SAMPLER3D, Type::Sampler3D); + ast(1) = makeBasicType(T_SAMPLER3D, TypeAST::Sampler3D); } break; #line 2145 "./glsl.g" case 207: { - ast(1) = makeBasicType(T_SAMPLERCUBE, Type::SamplerCube); + ast(1) = makeBasicType(T_SAMPLERCUBE, TypeAST::SamplerCube); } break; #line 2152 "./glsl.g" case 208: { - ast(1) = makeBasicType(T_SAMPLER1DSHADOW, Type::Sampler1DShadow); + ast(1) = makeBasicType(T_SAMPLER1DSHADOW, TypeAST::Sampler1DShadow); } break; #line 2159 "./glsl.g" case 209: { - ast(1) = makeBasicType(T_SAMPLER2DSHADOW, Type::Sampler2DShadow); + ast(1) = makeBasicType(T_SAMPLER2DSHADOW, TypeAST::Sampler2DShadow); } break; #line 2166 "./glsl.g" case 210: { - ast(1) = makeBasicType(T_SAMPLERCUBESHADOW, Type::SamplerCubeShadow); + ast(1) = makeBasicType(T_SAMPLERCUBESHADOW, TypeAST::SamplerCubeShadow); } break; #line 2173 "./glsl.g" case 211: { - ast(1) = makeBasicType(T_SAMPLER1DARRAY, Type::Sampler1DArray); + ast(1) = makeBasicType(T_SAMPLER1DARRAY, TypeAST::Sampler1DArray); } break; #line 2180 "./glsl.g" case 212: { - ast(1) = makeBasicType(T_SAMPLER2DARRAY, Type::Sampler2DArray); + ast(1) = makeBasicType(T_SAMPLER2DARRAY, TypeAST::Sampler2DArray); } break; #line 2187 "./glsl.g" case 213: { - ast(1) = makeBasicType(T_SAMPLER1DARRAYSHADOW, Type::Sampler1DArrayShadow); + ast(1) = makeBasicType(T_SAMPLER1DARRAYSHADOW, TypeAST::Sampler1DArrayShadow); } break; #line 2194 "./glsl.g" case 214: { - ast(1) = makeBasicType(T_SAMPLER2DARRAYSHADOW, Type::Sampler2DArrayShadow); + ast(1) = makeBasicType(T_SAMPLER2DARRAYSHADOW, TypeAST::Sampler2DArrayShadow); } break; #line 2201 "./glsl.g" case 215: { - ast(1) = makeBasicType(T_SAMPLERCUBEARRAY, Type::SamplerCubeShadow); + ast(1) = makeBasicType(T_SAMPLERCUBEARRAY, TypeAST::SamplerCubeShadow); } break; #line 2208 "./glsl.g" case 216: { - ast(1) = makeBasicType(T_SAMPLERCUBEARRAYSHADOW, Type::SamplerCubeArrayShadow); + ast(1) = makeBasicType(T_SAMPLERCUBEARRAYSHADOW, TypeAST::SamplerCubeArrayShadow); } break; #line 2215 "./glsl.g" case 217: { - ast(1) = makeBasicType(T_ISAMPLER1D, Type::Sampler1D); + ast(1) = makeBasicType(T_ISAMPLER1D, TypeAST::Sampler1D); } break; #line 2222 "./glsl.g" case 218: { - ast(1) = makeBasicType(T_ISAMPLER2D, Type::Sampler2D); + ast(1) = makeBasicType(T_ISAMPLER2D, TypeAST::Sampler2D); } break; #line 2229 "./glsl.g" case 219: { - ast(1) = makeBasicType(T_ISAMPLER3D, Type::Sampler3D); + ast(1) = makeBasicType(T_ISAMPLER3D, TypeAST::Sampler3D); } break; #line 2236 "./glsl.g" case 220: { - ast(1) = makeBasicType(T_ISAMPLERCUBE, Type::SamplerCube); + ast(1) = makeBasicType(T_ISAMPLERCUBE, TypeAST::SamplerCube); } break; #line 2243 "./glsl.g" case 221: { - ast(1) = makeBasicType(T_ISAMPLER1DARRAY, Type::Sampler1DArray); + ast(1) = makeBasicType(T_ISAMPLER1DARRAY, TypeAST::Sampler1DArray); } break; #line 2250 "./glsl.g" case 222: { - ast(1) = makeBasicType(T_ISAMPLER2DARRAY, Type::Sampler2DArray); + ast(1) = makeBasicType(T_ISAMPLER2DARRAY, TypeAST::Sampler2DArray); } break; #line 2257 "./glsl.g" case 223: { - ast(1) = makeBasicType(T_ISAMPLERCUBEARRAY, Type::SamplerCubeArray); + ast(1) = makeBasicType(T_ISAMPLERCUBEARRAY, TypeAST::SamplerCubeArray); } break; #line 2264 "./glsl.g" case 224: { - ast(1) = makeBasicType(T_USAMPLER1D, Type::Sampler1D); + ast(1) = makeBasicType(T_USAMPLER1D, TypeAST::Sampler1D); } break; #line 2271 "./glsl.g" case 225: { - ast(1) = makeBasicType(T_USAMPLER2D, Type::Sampler2D); + ast(1) = makeBasicType(T_USAMPLER2D, TypeAST::Sampler2D); } break; #line 2278 "./glsl.g" case 226: { - ast(1) = makeBasicType(T_USAMPLER3D, Type::Sampler3D); + ast(1) = makeBasicType(T_USAMPLER3D, TypeAST::Sampler3D); } break; #line 2285 "./glsl.g" case 227: { - ast(1) = makeBasicType(T_USAMPLERCUBE, Type::SamplerCube); + ast(1) = makeBasicType(T_USAMPLERCUBE, TypeAST::SamplerCube); } break; #line 2292 "./glsl.g" case 228: { - ast(1) = makeBasicType(T_USAMPLER1DARRAY, Type::Sampler1DArray); + ast(1) = makeBasicType(T_USAMPLER1DARRAY, TypeAST::Sampler1DArray); } break; #line 2299 "./glsl.g" case 229: { - ast(1) = makeBasicType(T_USAMPLER2DARRAY, Type::Sampler2DArray); + ast(1) = makeBasicType(T_USAMPLER2DARRAY, TypeAST::Sampler2DArray); } break; #line 2306 "./glsl.g" case 230: { - ast(1) = makeBasicType(T_USAMPLERCUBEARRAY, Type::SamplerCubeArray); + ast(1) = makeBasicType(T_USAMPLERCUBEARRAY, TypeAST::SamplerCubeArray); } break; #line 2313 "./glsl.g" case 231: { - ast(1) = makeBasicType(T_SAMPLER2DRECT, Type::Sampler2DRect); + ast(1) = makeBasicType(T_SAMPLER2DRECT, TypeAST::Sampler2DRect); } break; #line 2320 "./glsl.g" case 232: { - ast(1) = makeBasicType(T_SAMPLER2DRECTSHADOW, Type::Sampler2DRectShadow); + ast(1) = makeBasicType(T_SAMPLER2DRECTSHADOW, TypeAST::Sampler2DRectShadow); } break; #line 2327 "./glsl.g" case 233: { - ast(1) = makeBasicType(T_ISAMPLER2DRECT, Type::Sampler2DRect); + ast(1) = makeBasicType(T_ISAMPLER2DRECT, TypeAST::Sampler2DRect); } break; #line 2334 "./glsl.g" case 234: { - ast(1) = makeBasicType(T_USAMPLER2DRECT, Type::Sampler2DRect); + ast(1) = makeBasicType(T_USAMPLER2DRECT, TypeAST::Sampler2DRect); } break; #line 2341 "./glsl.g" case 235: { - ast(1) = makeBasicType(T_SAMPLERBUFFER, Type::SamplerBuffer); + ast(1) = makeBasicType(T_SAMPLERBUFFER, TypeAST::SamplerBuffer); } break; #line 2348 "./glsl.g" case 236: { - ast(1) = makeBasicType(T_ISAMPLERBUFFER, Type::SamplerBuffer); + ast(1) = makeBasicType(T_ISAMPLERBUFFER, TypeAST::SamplerBuffer); } break; #line 2355 "./glsl.g" case 237: { - ast(1) = makeBasicType(T_USAMPLERBUFFER, Type::SamplerBuffer); + ast(1) = makeBasicType(T_USAMPLERBUFFER, TypeAST::SamplerBuffer); } break; #line 2362 "./glsl.g" case 238: { - ast(1) = makeBasicType(T_SAMPLER2DMS, Type::Sampler2DMS); + ast(1) = makeBasicType(T_SAMPLER2DMS, TypeAST::Sampler2DMS); } break; #line 2369 "./glsl.g" case 239: { - ast(1) = makeBasicType(T_ISAMPLER2DMS, Type::Sampler2DMS); + ast(1) = makeBasicType(T_ISAMPLER2DMS, TypeAST::Sampler2DMS); } break; #line 2376 "./glsl.g" case 240: { - ast(1) = makeBasicType(T_USAMPLER2DMS, Type::Sampler2DMS); + ast(1) = makeBasicType(T_USAMPLER2DMS, TypeAST::Sampler2DMS); } break; #line 2383 "./glsl.g" case 241: { - ast(1) = makeBasicType(T_SAMPLER2DMSARRAY, Type::Sampler2DMSArray); + ast(1) = makeBasicType(T_SAMPLER2DMSARRAY, TypeAST::Sampler2DMSArray); } break; #line 2390 "./glsl.g" case 242: { - ast(1) = makeBasicType(T_ISAMPLER2DMSARRAY, Type::Sampler2DMSArray); + ast(1) = makeBasicType(T_ISAMPLER2DMSARRAY, TypeAST::Sampler2DMSArray); } break; #line 2397 "./glsl.g" case 243: { - ast(1) = makeBasicType(T_USAMPLER2DMSARRAY, Type::Sampler2DMSArray); + ast(1) = makeBasicType(T_USAMPLER2DMSARRAY, TypeAST::Sampler2DMSArray); } break; #line 2404 "./glsl.g" @@ -1763,37 +1763,37 @@ case 244: { #line 2411 "./glsl.g" case 245: { - ast(1) = makeAstNode<NamedType>(string(1)); + ast(1) = makeAstNode<NamedTypeAST>(string(1)); } break; #line 2418 "./glsl.g" case 246: { - sym(1).precision = Type::Highp; + sym(1).precision = TypeAST::Highp; } break; #line 2425 "./glsl.g" case 247: { - sym(1).precision = Type::Mediump; + sym(1).precision = TypeAST::Mediump; } break; #line 2432 "./glsl.g" case 248: { - sym(1).precision = Type::Lowp; + sym(1).precision = TypeAST::Lowp; } break; #line 2439 "./glsl.g" case 249: { - ast(1) = makeAstNode<StructType>(string(2), sym(4).field_list); + ast(1) = makeAstNode<StructTypeAST>(string(2), sym(4).field_list); } break; #line 2446 "./glsl.g" case 250: { - ast(1) = makeAstNode<StructType>(sym(3).field_list); + ast(1) = makeAstNode<StructTypeAST>(sym(3).field_list); } break; #line 2453 "./glsl.g" @@ -1811,14 +1811,14 @@ case 252: { #line 2467 "./glsl.g" case 253: { - sym(1).field_list = StructType::fixInnerTypes(type(1), sym(2).field_list); + sym(1).field_list = StructTypeAST::fixInnerTypes(type(1), sym(2).field_list); } break; #line 2474 "./glsl.g" case 254: { - sym(1).field_list = StructType::fixInnerTypes - (makeAstNode<QualifiedType> + sym(1).field_list = StructTypeAST::fixInnerTypes + (makeAstNode<QualifiedTypeAST> (sym(1).type_qualifier.qualifier, type(2), sym(1).type_qualifier.layout_list), sym(3).field_list); } break; @@ -1827,33 +1827,33 @@ case 254: { case 255: { // nothing to do. - sym(1).field_list = makeAstNode< List<StructType::Field *> >(sym(1).field); + sym(1).field_list = makeAstNode< List<StructTypeAST::Field *> >(sym(1).field); } break; #line 2492 "./glsl.g" case 256: { - sym(1).field_list = makeAstNode< List<StructType::Field *> >(sym(1).field_list, sym(3).field); + sym(1).field_list = makeAstNode< List<StructTypeAST::Field *> >(sym(1).field_list, sym(3).field); } break; #line 2499 "./glsl.g" case 257: { - sym(1).field = makeAstNode<StructType::Field>(string(1)); + sym(1).field = makeAstNode<StructTypeAST::Field>(string(1)); } break; #line 2506 "./glsl.g" case 258: { - sym(1).field = makeAstNode<StructType::Field> - (string(1), makeAstNode<ArrayType>((Type *)0)); + sym(1).field = makeAstNode<StructTypeAST::Field> + (string(1), makeAstNode<ArrayTypeAST>((TypeAST *)0)); } break; #line 2514 "./glsl.g" case 259: { - sym(1).field = makeAstNode<StructType::Field> - (string(1), makeAstNode<ArrayType>((Type *)0, expression(3))); + sym(1).field = makeAstNode<StructTypeAST::Field> + (string(1), makeAstNode<ArrayTypeAST>((TypeAST *)0, expression(3))); } break; #line 2522 "./glsl.g" @@ -1865,7 +1865,7 @@ case 260: { #line 2529 "./glsl.g" case 261: { - ast(1) = makeAstNode<DeclarationStatement>(sym(1).declaration_list); + ast(1) = makeAstNode<DeclarationStatementAST>(sym(1).declaration_list); } break; #line 2536 "./glsl.g" @@ -1925,13 +1925,13 @@ case 270: { #line 2599 "./glsl.g" case 271: { - ast(1) = makeAstNode<CompoundStatement>(); + ast(1) = makeAstNode<CompoundStatementAST>(); } break; #line 2606 "./glsl.g" case 272: { - ast(1) = makeAstNode<CompoundStatement>(sym(2).statement_list); + ast(1) = makeAstNode<CompoundStatementAST>(sym(2).statement_list); } break; #line 2613 "./glsl.g" @@ -1949,43 +1949,43 @@ case 274: { #line 2627 "./glsl.g" case 275: { - ast(1) = makeAstNode<CompoundStatement>(); + ast(1) = makeAstNode<CompoundStatementAST>(); } break; #line 2634 "./glsl.g" case 276: { - ast(1) = makeAstNode<CompoundStatement>(sym(2).statement_list); + ast(1) = makeAstNode<CompoundStatementAST>(sym(2).statement_list); } break; #line 2641 "./glsl.g" case 277: { - sym(1).statement_list = makeAstNode< List<Statement *> >(sym(1).statement); + sym(1).statement_list = makeAstNode< List<StatementAST *> >(sym(1).statement); } break; #line 2648 "./glsl.g" case 278: { - sym(1).statement_list = makeAstNode< List<Statement *> >(sym(1).statement_list, sym(2).statement); + sym(1).statement_list = makeAstNode< List<StatementAST *> >(sym(1).statement_list, sym(2).statement); } break; #line 2655 "./glsl.g" case 279: { - ast(1) = makeAstNode<CompoundStatement>(); // Empty statement + ast(1) = makeAstNode<CompoundStatementAST>(); // Empty statement } break; #line 2662 "./glsl.g" case 280: { - ast(1) = makeAstNode<ExpressionStatement>(expression(1)); + ast(1) = makeAstNode<ExpressionStatementAST>(expression(1)); } break; #line 2669 "./glsl.g" case 281: { - ast(1) = makeAstNode<IfStatement>(expression(3), sym(5).ifstmt.thenClause, sym(5).ifstmt.elseClause); + ast(1) = makeAstNode<IfStatementAST>(expression(3), sym(5).ifstmt.thenClause, sym(5).ifstmt.elseClause); } break; #line 2676 "./glsl.g" @@ -2011,56 +2011,56 @@ case 284: { #line 2699 "./glsl.g" case 285: { - ast(1) = makeAstNode<DeclarationExpression> + ast(1) = makeAstNode<DeclarationExpressionAST> (type(1), string(2), expression(4)); } break; #line 2707 "./glsl.g" case 286: { - ast(1) = makeAstNode<SwitchStatement>(expression(3), statement(6)); + ast(1) = makeAstNode<SwitchStatementAST>(expression(3), statement(6)); } break; #line 2714 "./glsl.g" case 287: { - ast(1) = makeAstNode<CompoundStatement>(); + ast(1) = makeAstNode<CompoundStatementAST>(); } break; #line 2721 "./glsl.g" case 288: { - ast(1) = makeAstNode<CompoundStatement>(sym(1).statement_list); + ast(1) = makeAstNode<CompoundStatementAST>(sym(1).statement_list); } break; #line 2728 "./glsl.g" case 289: { - ast(1) = makeAstNode<CaseLabelStatement>(expression(2)); + ast(1) = makeAstNode<CaseLabelStatementAST>(expression(2)); } break; #line 2735 "./glsl.g" case 290: { - ast(1) = makeAstNode<CaseLabelStatement>(); + ast(1) = makeAstNode<CaseLabelStatementAST>(); } break; #line 2742 "./glsl.g" case 291: { - ast(1) = makeAstNode<WhileStatement>(expression(3), statement(5)); + ast(1) = makeAstNode<WhileStatementAST>(expression(3), statement(5)); } break; #line 2749 "./glsl.g" case 292: { - ast(1) = makeAstNode<DoStatement>(statement(2), expression(5)); + ast(1) = makeAstNode<DoStatementAST>(statement(2), expression(5)); } break; #line 2756 "./glsl.g" case 293: { - ast(1) = makeAstNode<ForStatement>(statement(3), sym(4).forstmt.condition, sym(4).forstmt.increment, statement(6)); + ast(1) = makeAstNode<ForStatementAST>(statement(3), sym(4).forstmt.condition, sym(4).forstmt.increment, statement(6)); } break; #line 2763 "./glsl.g" @@ -2104,44 +2104,44 @@ case 299: { #line 2807 "./glsl.g" case 300: { - ast(1) = makeAstNode<JumpStatement>(AST::Kind_Continue); + ast(1) = makeAstNode<JumpStatementAST>(AST::Kind_Continue); } break; #line 2814 "./glsl.g" case 301: { - ast(1) = makeAstNode<JumpStatement>(AST::Kind_Break); + ast(1) = makeAstNode<JumpStatementAST>(AST::Kind_Break); } break; #line 2821 "./glsl.g" case 302: { - ast(1) = makeAstNode<ReturnStatement>(); + ast(1) = makeAstNode<ReturnStatementAST>(); } break; #line 2828 "./glsl.g" case 303: { - ast(1) = makeAstNode<ReturnStatement>(expression(2)); + ast(1) = makeAstNode<ReturnStatementAST>(expression(2)); } break; #line 2835 "./glsl.g" case 304: { - ast(1) = makeAstNode<JumpStatement>(AST::Kind_Discard); + ast(1) = makeAstNode<JumpStatementAST>(AST::Kind_Discard); } break; #line 2842 "./glsl.g" case 305: { - ast(1) = makeAstNode<TranslationUnit>(sym(1).declaration_list); + ast(1) = makeAstNode<TranslationUnitAST>(sym(1).declaration_list); } break; #line 2849 "./glsl.g" case 306: { if (sym(1).declaration) { - sym(1).declaration_list = makeAstNode< List<Declaration *> > + sym(1).declaration_list = makeAstNode< List<DeclarationAST *> > (sym(1).declaration); } else { sym(1).declaration_list = 0; @@ -2152,11 +2152,11 @@ case 306: { case 307: { if (sym(1).declaration_list && sym(2).declaration) { - sym(1).declaration_list = makeAstNode< List<Declaration *> > + sym(1).declaration_list = makeAstNode< List<DeclarationAST *> > (sym(1).declaration_list, sym(2).declaration); } else if (!sym(1).declaration_list) { if (sym(2).declaration) { - sym(1).declaration_list = makeAstNode< List<Declaration *> > + sym(1).declaration_list = makeAstNode< List<DeclarationAST *> > (sym(2).declaration); } else { sym(1).declaration_list = 0; |