summaryrefslogtreecommitdiff
path: root/src/libs/glsl/glslparser.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/libs/glsl/glslparser.cpp')
-rw-r--r--src/libs/glsl/glslparser.cpp564
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;