/*
 |            file: glsl/glsltree.c
 |        language: 1	(ANSI C)
 |     produced by: GNU C 4.2.1
 |    compiler dir: /OST/GraphicsGFX/SDP3430/Source/SGX12.19/GFX_Linux_DDK/src/eurasia/tools/intern/oglcompiler
 | program counter: <0x48320;0x57a00>
 */
typedef unsigned char IMG_UINT8

typedef unsigned char IMG_BYTE

typedef char IMG_CHAR

typedef long unsigned int IMG_UINT32

typedef long int IMG_INT32

typedef float IMG_FLOAT

enum tag_img_bool {
	IMG_FALSE = 0; //0x0
	IMG_TRUE = 1; //0x1
	IMG_FORCE_ALIGN = 2147483647; //0x7fffffff
}

typedef enum tag_img_bool IMG_BOOL

typedef void IMG_VOID

enum TokenNameTag {
	TOK_INVALID_TOKEN = 0; //0x0
	TOK_ARRAY_LENGTH = 1; //0x1
	TOK_ATTRIBUTE = 2; //0x2
	TOK_BOOL = 3; //0x3
	TOK_BREAK = 4; //0x4
	TOK_BVEC2 = 5; //0x5
	TOK_BVEC3 = 6; //0x6
	TOK_BVEC4 = 7; //0x7
	TOK_CENTROID = 8; //0x8
	TOK_CONST = 9; //0x9
	TOK_CONTINUE = 10; //0xa
	TOK_DISCARD = 11; //0xb
	TOK_DO = 12; //0xc
	TOK_ELSE = 13; //0xd
	TOK_FALSE = 14; //0xe
	TOK_FLAT = 15; //0xf
	TOK_FLOAT = 16; //0x10
	TOK_FOR = 17; //0x11
	TOK_HIGH_PRECISION = 18; //0x12
	TOK_IF = 19; //0x13
	TOK_IN = 20; //0x14
	TOK_INOUT = 21; //0x15
	TOK_INT = 22; //0x16
	TOK_INVARIANT = 23; //0x17
	TOK_IVEC2 = 24; //0x18
	TOK_IVEC3 = 25; //0x19
	TOK_IVEC4 = 26; //0x1a
	TOK_LOW_PRECISION = 27; //0x1b
	TOK_MAT2X2 = 28; //0x1c
	TOK_MAT2X3 = 29; //0x1d
	TOK_MAT2X4 = 30; //0x1e
	TOK_MAT3X2 = 31; //0x1f
	TOK_MAT3X3 = 32; //0x20
	TOK_MAT3X4 = 33; //0x21
	TOK_MAT4X2 = 34; //0x22
	TOK_MAT4X3 = 35; //0x23
	TOK_MAT4X4 = 36; //0x24
	TOK_MEDIUM_PRECISION = 37; //0x25
	TOK_OUT = 38; //0x26
	TOK_PRECISION = 39; //0x27
	TOK_RETURN = 40; //0x28
	TOK_SAMPLER1D = 41; //0x29
	TOK_SAMPLER2D = 42; //0x2a
	TOK_SAMPLER3D = 43; //0x2b
	TOK_SAMPLER1DSHADOW = 44; //0x2c
	TOK_SAMPLER2DSHADOW = 45; //0x2d
	TOK_SAMPLERCUBE = 46; //0x2e
	TOK_STRUCT = 47; //0x2f
	TOK_SUPER_PRECISION = 48; //0x30
	TOK_TRUE = 49; //0x31
	TOK_UNIFORM = 50; //0x32
	TOK_VARYING = 51; //0x33
	TOK_VEC2 = 52; //0x34
	TOK_VEC3 = 53; //0x35
	TOK_VEC4 = 54; //0x36
	TOK_VOID = 55; //0x37
	TOK_WHILE = 56; //0x38
	TOK_ASM = 57; //0x39
	TOK_CAST = 58; //0x3a
	TOK_CLASS = 59; //0x3b
	TOK_DEFAULT = 60; //0x3c
	TOK_DOUBLE = 61; //0x3d
	TOK_DVEC2 = 62; //0x3e
	TOK_DVEC3 = 63; //0x3f
	TOK_DVEC4 = 64; //0x40
	TOK_ENUM = 65; //0x41
	TOK_EXTERN = 66; //0x42
	TOK_EXTERNAL = 67; //0x43
	TOK_FIXED = 68; //0x44
	TOK_FVEC2 = 69; //0x45
	TOK_FVEC3 = 70; //0x46
	TOK_FVEC4 = 71; //0x47
	TOK_GOTO = 72; //0x48
	TOK_HALF = 73; //0x49
	TOK_HVEC2 = 74; //0x4a
	TOK_HVEC3 = 75; //0x4b
	TOK_HVEC4 = 76; //0x4c
	TOK_INLINE = 77; //0x4d
	TOK_INPUT = 78; //0x4e
	TOK_INTERFACE = 79; //0x4f
	TOK_LONG = 80; //0x50
	TOK_NAMESPACE = 81; //0x51
	TOK_NOINLINE = 82; //0x52
	TOK_OUTPUT = 83; //0x53
	TOK_PACKED = 84; //0x54
	TOK_PUBLIC = 85; //0x55
	TOK_SAMPLER2DRECT = 86; //0x56
	TOK_SAMPLER2DRECTSHADOW = 87; //0x57
	TOK_SAMPLER3DRECT = 88; //0x58
	TOK_SHORT = 89; //0x59
	TOK_SIZEOF = 90; //0x5a
	TOK_STATIC = 91; //0x5b
	TOK_SWITCH = 92; //0x5c
	TOK_TEMPLATE = 93; //0x5d
	TOK_THIS = 94; //0x5e
	TOK_TYPEDEF = 95; //0x5f
	TOK_UNION = 96; //0x60
	TOK_UNSIGNED = 97; //0x61
	TOK_USING = 98; //0x62
	TOK_VOLATILE = 99; //0x63
	TOK_CASE = 100; //0x64
	TOK_CHAR = 101; //0x65
	TOK_BYTE = 102; //0x66
	TOK_INCOMMENT = 103; //0x67
	TOK_OUTCOMMENT = 104; //0x68
	TOK_COMMENT = 105; //0x69
	TOK_AMPERSAND = 106; //0x6a
	TOK_BANG = 107; //0x6b
	TOK_CARET = 108; //0x6c
	TOK_COMMA = 109; //0x6d
	TOK_COLON = 110; //0x6e
	TOK_DASH = 111; //0x6f
	TOK_DOT = 112; //0x70
	TOK_DOTDOT = 113; //0x71
	TOK_EQUAL = 114; //0x72
	TOK_LEFT_ANGLE = 115; //0x73
	TOK_LEFT_BRACE = 116; //0x74
	TOK_LEFT_BRACKET = 117; //0x75
	TOK_LEFT_PAREN = 118; //0x76
	TOK_PERCENT = 119; //0x77
	TOK_PLUS = 120; //0x78
	TOK_QUESTION = 121; //0x79
	TOK_RIGHT_ANGLE = 122; //0x7a
	TOK_RIGHT_BRACE = 123; //0x7b
	TOK_RIGHT_BRACKET = 124; //0x7c
	TOK_RIGHT_PAREN = 125; //0x7d
	TOK_SEMICOLON = 126; //0x7e
	TOK_SLASH = 127; //0x7f
	TOK_STAR = 128; //0x80
	TOK_TILDA = 129; //0x81
	TOK_VERTICAL_BAR = 130; //0x82
	TOK_APOSTROPHE = 131; //0x83
	TOK_AT = 132; //0x84
	TOK_BACK_SLASH = 133; //0x85
	TOK_DOLLAR = 134; //0x86
	TOK_HASH = 135; //0x87
	TOK_SPEECH_MARK = 136; //0x88
	TOK_UNDERSCORE = 137; //0x89
	TOK_ADD_ASSIGN = 138; //0x8a
	TOK_AND_ASSIGN = 139; //0x8b
	TOK_AND_OP = 140; //0x8c
	TOK_DEC_OP = 141; //0x8d
	TOK_DIV_ASSIGN = 142; //0x8e
	TOK_EQ_OP = 143; //0x8f
	TOK_INC_OP = 144; //0x90
	TOK_GE_OP = 145; //0x91
	TOK_LE_OP = 146; //0x92
	TOK_LEFT_ASSIGN = 147; //0x93
	TOK_LEFT_OP = 148; //0x94
	TOK_MOD_ASSIGN = 149; //0x95
	TOK_MUL_ASSIGN = 150; //0x96
	TOK_NE_OP = 151; //0x97
	TOK_OR_ASSIGN = 152; //0x98
	TOK_OR_OP = 153; //0x99
	TOK_RIGHT_ASSIGN = 154; //0x9a
	TOK_RIGHT_OP = 155; //0x9b
	TOK_SUB_ASSIGN = 156; //0x9c
	TOK_XOR_OP = 157; //0x9d
	TOK_XOR_ASSIGN = 158; //0x9e
	TOK_FLOATCONSTANT = 159; //0x9f
	TOK_BOOLCONSTANT = 160; //0xa0
	TOK_INTCONSTANT = 161; //0xa1
	TOK_IDENTIFIER = 162; //0xa2
	TOK_PROGRAMHEADER = 163; //0xa3
	TOK_ABS = 164; //0xa4
	TOK_ADD = 165; //0xa5
	TOK_ADDRESS = 166; //0xa6
	TOK_ALIAS = 167; //0xa7
	TOK_ARL = 168; //0xa8
	TOK_ATTRIB = 169; //0xa9
	TOK_DP3 = 170; //0xaa
	TOK_DP4 = 171; //0xab
	TOK_DPH = 172; //0xac
	TOK_DST = 173; //0xad
	TOK_END = 174; //0xae
	TOK_EX2 = 175; //0xaf
	TOK_EXP = 176; //0xb0
	TOK_FLR = 177; //0xb1
	TOK_FRC = 178; //0xb2
	TOK_LIT = 179; //0xb3
	TOK_LG2 = 180; //0xb4
	TOK_LOG = 181; //0xb5
	TOK_MAD = 182; //0xb6
	TOK_MAX = 183; //0xb7
	TOK_MIN = 184; //0xb8
	TOK_MOV = 185; //0xb9
	TOK_MUL = 186; //0xba
	TOK_OPTION = 187; //0xbb
	TOK_PARAM = 188; //0xbc
	TOK_POW = 189; //0xbd
	TOK_PROGRAM = 190; //0xbe
	TOK_RCP = 191; //0xbf
	TOK_RESULT = 192; //0xc0
	TOK_RSQ = 193; //0xc1
	TOK_SGE = 194; //0xc2
	TOK_SLT = 195; //0xc3
	TOK_SUB = 196; //0xc4
	TOK_STATE = 197; //0xc5
	TOK_SWZ = 198; //0xc6
	TOK_TEMP = 199; //0xc7
	TOK_VERTEX = 200; //0xc8
	TOK_XPD = 201; //0xc9
	TOK_ATTRIB_LC = 202; //0xca
	TOK_COLOR = 203; //0xcb
	TOK_FOGCOORD = 204; //0xcc
	TOK_MATRIXINDEX = 205; //0xcd
	TOK_NORMAL = 206; //0xce
	TOK_POSITION = 207; //0xcf
	TOK_PRIMARY = 208; //0xd0
	TOK_SECONDARY = 209; //0xd1
	TOK_TEXCOORD = 210; //0xd2
	TOK_WEIGHT = 211; //0xd3
	TOK_ENV = 212; //0xd4
	TOK_LOCAL = 213; //0xd5
	TOK_AMBIENT = 214; //0xd6
	TOK_BACK = 215; //0xd7
	TOK_DIFFUSE = 216; //0xd8
	TOK_EMISSION = 217; //0xd9
	TOK_FRONT = 218; //0xda
	TOK_MATERIAL = 219; //0xdb
	TOK_SHININESS = 220; //0xdc
	TOK_SPECULAR = 221; //0xdd
	TOK_ATTENUATION = 222; //0xde
	TOK_DIRECTION = 223; //0xdf
	TOK_LIGHT = 224; //0xe0
	TOK_LIGHTMODEL = 225; //0xe1
	TOK_LIGHTPROD = 226; //0xe2
	TOK_SCENECOLOR = 227; //0xe3
	TOK_SPOT = 228; //0xe4
	TOK_EYE = 229; //0xe5
	TOK_OBJECT = 230; //0xe6
	TOK_TEXGEN = 231; //0xe7
	TOK_FOG = 232; //0xe8
	TOK_PARAMS = 233; //0xe9
	TOK_CLIP = 234; //0xea
	TOK_PLANE = 235; //0xeb
	TOK_POINT = 236; //0xec
	TOK_SIZE = 237; //0xed
	TOK_INVERSE = 238; //0xee
	TOK_INVTRANS = 239; //0xef
	TOK_MATRIX = 240; //0xf0
	TOK_MODELVIEW = 241; //0xf1
	TOK_MVP = 242; //0xf2
	TOK_PALETTE = 243; //0xf3
	TOK_PROJECTION = 244; //0xf4
	TOK_ROW = 245; //0xf5
	TOK_TEXTURE = 246; //0xf6
	TOK_TRANSPOSE = 247; //0xf7
	TOK_POINTSIZE = 248; //0xf8
	TOK_1SWIZZLE = 249; //0xf9
	TOK_2SWIZZLE = 250; //0xfa
	TOK_3SWIZZLE = 251; //0xfb
	TOK_4SWIZZLE = 252; //0xfc
	TOK_TEXGENCOORD = 253; //0xfd
	TOK_SWIZZLE = 254; //0xfe
	TOK_WRITEMASK = 255; //0xff
	TOK_SET_PREDICATE = 256; //0x100
	TOK_TEST_PREDICATE = 257; //0x101
	TOK_NEWLINE = 258; //0x102
	TOK_CARRIGE_RETURN = 259; //0x103
	TOK_TAB = 260; //0x104
	TOK_VTAB = 261; //0x105
	TOK_LANGUAGE_VERSION = 262; //0x106
	TOK_EXTENSION_CHANGE = 263; //0x107
	TOK_STRING = 264; //0x108
	TOK_ENDOFSTRING = 265; //0x109
	TOK_TERMINATEPARSING = 266; //0x10a
	TOKLAST = 267; //0x10b
}

typedef enum TokenNameTag TokenName

struct TokenTAG {
	TokenName eTokenName // @0
	IMG_CHAR* pszStartOfLine // @4
	IMG_UINT32 uStringNumber // @8
	IMG_UINT32 uLineNumber // @c
	IMG_UINT32 uCharNumber // @10
	IMG_UINT32 uSizeOfDataInBytes // @14
	IMG_VOID* pvData // @18
}

typedef struct TokenTAG Token

enum SyntaxSymbolMatchTAG {
	SYNTAX_SYMBOL_NO_MATCH = 0; //0x0
	SYNTAX_SYMBOL_MATCH = 1; //0x1
}

typedef enum SyntaxSymbolMatchTAG SyntaxSymbolMatch

enum SyntaxSymbolTypeTAG {
	SYMTYPE_RULE = 0; //0x0
	SYMTYPE_TOKEN = 1; //0x1
}

typedef enum SyntaxSymbolTypeTAG SyntaxSymbolType

typedef struct SyntaxSymbolTAG* PSyntaxSymbol

struct SyntaxSymbolTAG {
	IMG_UINT32 uSyntaxSymbolName // @0
	const IMG_CHAR* pSyntaxSymbolName // @4
	SyntaxSymbolType eSyntaxSymbolType // @8
	TokenName eTokenName // @c
	PFN_STATEMENT_MATCH pfnSyntaxSymbolMatchFN // @10
	PFN_STATEMENT_UNMATCH pfnSyntaxSymbolUnmatchFN // @14
	IMG_CHAR* pszDataMatch // @18
	IMG_UINT32 uLRSyntaxSymbolName // @1c
}

typedef SyntaxSymbolMatch* PFN_STATEMENT_MATCH

typedef enum SyntaxSymbolMatchTAG SyntaxSymbolMatch

typedef void* PFN_STATEMENT_UNMATCH

void

typedef struct SyntaxSymbolTAG SyntaxSymbol

struct SyntaxSymbolLookupEntryTAG {
	IMG_UINT32 uSyntaxSymbolGrammarStartPos // @0
	IMG_UINT32 uRuleNumber // @4
	IMG_UINT32 uNumVariants // @8
}

typedef struct SyntaxSymbolLookupEntryTAG SyntaxSymbolLookupEntry

struct SyntaxTableTAG {
	SyntaxSymbol* psSyntaxSymbolTable // @0
	IMG_UINT32 uSyntaxSymbolTableSize // @4
	SyntaxSymbolLookupEntry* psLookupTable // @8
	IMG_UINT32* psSyntaxGrammar // @c
	IMG_UINT32 uNumberSyntaxGrammarRules // @10
	IMG_UINT32 uEmptySyntaxSymbolName // @14
}

typedef struct SyntaxTableTAG SyntaxTable

enum GLSLSyntaxSymbolNamesTag {
	SYMGLSL_additive_expression = 0; //0x0
	SYMGLSL_and_expression = 1; //0x1
	SYMGLSL_array_specifier = 2; //0x2
	SYMGLSL_array_specifier_opt = 3; //0x3
	SYMGLSL_assignment_expression = 4; //0x4
	SYMGLSL_assignment_operator = 5; //0x5
	SYMGLSL_closed_statement = 6; //0x6
	SYMGLSL_conditional_expression = 7; //0x7
	SYMGLSL_compound_statement = 8; //0x8
	SYMGLSL_compound_statement_no_new_scope = 9; //0x9
	SYMGLSL_condition = 10; //0xa
	SYMGLSL_conditionopt = 11; //0xb
	SYMGLSL_constant_expression = 12; //0xc
	SYMGLSL_constructor_identifier = 13; //0xd
	SYMGLSL_declaration = 14; //0xe
	SYMGLSL_declaration_statement = 15; //0xf
	SYMGLSL_equality_expression = 16; //0x10
	SYMGLSL_exclusive_or_expression = 17; //0x11
	SYMGLSL_expression = 18; //0x12
	SYMGLSL_expression_statement = 19; //0x13
	SYMGLSL_extension_change = 20; //0x14
	SYMGLSL_external_declaration = 21; //0x15
	SYMGLSL_field_selection = 22; //0x16
	SYMGLSL_for_cond_statement = 23; //0x17
	SYMGLSL_for_init_statement = 24; //0x18
	SYMGLSL_for_loop_statement = 25; //0x19
	SYMGLSL_fully_specified_type = 26; //0x1a
	SYMGLSL_function_call = 27; //0x1b
	SYMGLSL_function_call_generic = 28; //0x1c
	SYMGLSL_function_call_header_with_parameters = 29; //0x1d
	SYMGLSL_function_call_header_no_parameters = 30; //0x1e
	SYMGLSL_function_call_header = 31; //0x1f
	SYMGLSL_function_declarator = 32; //0x20
	SYMGLSL_function_definition = 33; //0x21
	SYMGLSL_function_header = 34; //0x22
	SYMGLSL_function_header_with_parameters = 35; //0x23
	SYMGLSL_function_identifier = 36; //0x24
	SYMGLSL_function_prototype = 37; //0x25
	SYMGLSL_inclusive_or_expression = 38; //0x26
	SYMGLSL_init_declarator_list = 39; //0x27
	SYMGLSL_initializer = 40; //0x28
	SYMGLSL_integer_expression = 41; //0x29
	SYMGLSL_iteration_statement = 42; //0x2a
	SYMGLSL_jump_statement = 43; //0x2b
	SYMGLSL_language_version = 44; //0x2c
	SYMGLSL_logical_and_expression = 45; //0x2d
	SYMGLSL_logical_or_expression = 46; //0x2e
	SYMGLSL_logical_xor_expression = 47; //0x2f
	SYMGLSL_multiplicative_expression = 48; //0x30
	SYMGLSL_open_statement = 49; //0x31
	SYMGLSL_parameter_declaration = 50; //0x32
	SYMGLSL_parameter_declarator = 51; //0x33
	SYMGLSL_parameter_qualifier = 52; //0x34
	SYMGLSL_parameter_type_specifier = 53; //0x35
	SYMGLSL_postfix_expression = 54; //0x36
	SYMGLSL_precision_qualifier = 55; //0x37
	SYMGLSL_primary_expression = 56; //0x38
	SYMGLSL_program = 57; //0x39
	SYMGLSL_question_expression = 58; //0x3a
	SYMGLSL_relational_expression = 59; //0x3b
	SYMGLSL_shift_expression = 60; //0x3c
	SYMGLSL_simple_statement = 61; //0x3d
	SYMGLSL_single_declaration = 62; //0x3e
	SYMGLSL_statement = 63; //0x3f
	SYMGLSL_statement_list = 64; //0x40
	SYMGLSL_statement_no_new_scope = 65; //0x41
	SYMGLSL_struct_declarator = 66; //0x42
	SYMGLSL_struct_declarator_list = 67; //0x43
	SYMGLSL_struct_declaration = 68; //0x44
	SYMGLSL_struct_declaration_list = 69; //0x45
	SYMGLSL_struct_specifier = 70; //0x46
	SYMGLSL_translation_unit = 71; //0x47
	SYMGLSL_type_qualifier = 72; //0x48
	SYMGLSL_type_specifier = 73; //0x49
	SYMGLSL_type_specifier_no_prec = 74; //0x4a
	SYMGLSL_unary_expression = 75; //0x4b
	SYMGLSL_unary_operator = 76; //0x4c
	SYMGLSL_variable_identifier = 77; //0x4d
	SYMGLSL_ADD_ASSIGN = 78; //0x4e
	SYMGLSL_AND_ASSIGN = 79; //0x4f
	SYMGLSL_AMPERSAND = 80; //0x50
	SYMGLSL_AND_OP = 81; //0x51
	SYMGLSL_ATTRIBUTE = 82; //0x52
	SYMGLSL_BANG = 83; //0x53
	SYMGLSL_BOOL = 84; //0x54
	SYMGLSL_BOOLCONSTANT = 85; //0x55
	SYMGLSL_BREAK = 86; //0x56
	SYMGLSL_BVEC2 = 87; //0x57
	SYMGLSL_BVEC3 = 88; //0x58
	SYMGLSL_BVEC4 = 89; //0x59
	SYMGLSL_CARET = 90; //0x5a
	SYMGLSL_COLON = 91; //0x5b
	SYMGLSL_COMMA = 92; //0x5c
	SYMGLSL_CONST = 93; //0x5d
	SYMGLSL_CONTINUE = 94; //0x5e
	SYMGLSL_DASH = 95; //0x5f
	SYMGLSL_DEC_OP = 96; //0x60
	SYMGLSL_DISCARD = 97; //0x61
	SYMGLSL_DIV_ASSIGN = 98; //0x62
	SYMGLSL_DO = 99; //0x63
	SYMGLSL_DOT = 100; //0x64
	SYMGLSL_ELSE = 101; //0x65
	SYMGLSL_EMPTY = 102; //0x66
	SYMGLSL_EQ_OP = 103; //0x67
	SYMGLSL_EQUAL = 104; //0x68
	SYMGLSL_FLOAT = 105; //0x69
	SYMGLSL_FLOATCONSTANT = 106; //0x6a
	SYMGLSL_FOR = 107; //0x6b
	SYMGLSL_GE_OP = 108; //0x6c
	SYMGLSL_HIGH_PRECISION = 109; //0x6d
	SYMGLSL_IDENTIFIER = 110; //0x6e
	SYMGLSL_IF = 111; //0x6f
	SYMGLSL_IN = 112; //0x70
	SYMGLSL_INOUT = 113; //0x71
	SYMGLSL_INC_OP = 114; //0x72
	SYMGLSL_INT = 115; //0x73
	SYMGLSL_INTCONSTANT = 116; //0x74
	SYMGLSL_INVARIANT = 117; //0x75
	SYMGLSL_IVEC2 = 118; //0x76
	SYMGLSL_IVEC3 = 119; //0x77
	SYMGLSL_IVEC4 = 120; //0x78
	SYMGLSL_LE_OP = 121; //0x79
	SYMGLSL_LEFT_ANGLE = 122; //0x7a
	SYMGLSL_LEFT_ASSIGN = 123; //0x7b
	SYMGLSL_LEFT_BRACE = 124; //0x7c
	SYMGLSL_LEFT_BRACKET = 125; //0x7d
	SYMGLSL_LEFT_OP = 126; //0x7e
	SYMGLSL_LEFT_PAREN = 127; //0x7f
	SYMGLSL_LOW_PRECISION = 128; //0x80
	SYMGLSL_MAT2X2 = 129; //0x81
	SYMGLSL_MAT3X3 = 130; //0x82
	SYMGLSL_MAT4X4 = 131; //0x83
	SYMGLSL_MEDIUM_PRECISION = 132; //0x84
	SYMGLSL_MOD_ASSIGN = 133; //0x85
	SYMGLSL_MUL_ASSIGN = 134; //0x86
	SYMGLSL_NE_OP = 135; //0x87
	SYMGLSL_OR_ASSIGN = 136; //0x88
	SYMGLSL_OR_OP = 137; //0x89
	SYMGLSL_OUT = 138; //0x8a
	SYMGLSL_PERCENT = 139; //0x8b
	SYMGLSL_PLUS = 140; //0x8c
	SYMGLSL_PRECISION = 141; //0x8d
	SYMGLSL_QUESTION = 142; //0x8e
	SYMGLSL_RETURN = 143; //0x8f
	SYMGLSL_RIGHT_ANGLE = 144; //0x90
	SYMGLSL_RIGHT_ASSIGN = 145; //0x91
	SYMGLSL_RIGHT_BRACE = 146; //0x92
	SYMGLSL_RIGHT_BRACKET = 147; //0x93
	SYMGLSL_RIGHT_OP = 148; //0x94
	SYMGLSL_RIGHT_PAREN = 149; //0x95
	SYMGLSL_SAMPLER1D = 150; //0x96
	SYMGLSL_SAMPLER2D = 151; //0x97
	SYMGLSL_SAMPLER3D = 152; //0x98
	SYMGLSL_SAMPLERCUBE = 153; //0x99
	SYMGLSL_SAMPLER1DSHADOW = 154; //0x9a
	SYMGLSL_SAMPLER2DSHADOW = 155; //0x9b
	SYMGLSL_SEMICOLON = 156; //0x9c
	SYMGLSL_SLASH = 157; //0x9d
	SYMGLSL_STAR = 158; //0x9e
	SYMGLSL_STRUCT = 159; //0x9f
	SYMGLSL_SUB_ASSIGN = 160; //0xa0
	SYMGLSL_TILDA = 161; //0xa1
	SYMGLSL_TYPE_NAME = 162; //0xa2
	SYMGLSL_UNIFORM = 163; //0xa3
	SYMGLSL_VARYING = 164; //0xa4
	SYMGLSL_VEC2 = 165; //0xa5
	SYMGLSL_VEC3 = 166; //0xa6
	SYMGLSL_VEC4 = 167; //0xa7
	SYMGLSL_VERTICAL_BAR = 168; //0xa8
	SYMGLSL_VOID = 169; //0xa9
	SYMGLSL_WHILE = 170; //0xaa
	SYMGLSL_XOR_ASSIGN = 171; //0xab
	SYMGLSL_XOR_OP = 172; //0xac
	SYMGLSL_EXTENSION_CHANGE = 173; //0xad
	SYMGLSL_LANGUAGE_VERSION = 174; //0xae
	SYMGLSL_TERMINATEPARSING = 175; //0xaf
	SYMGLSL_LAST_SYMBOL = 176; //0xb0
	SYMGLSL_END_OF_SYMBOLS = 2147483647; //0x7fffffff
}

typedef struct GLSLCompilerPrivateDataTAG GLSLCompilerPrivateData

struct GLSLCompilerPrivateDataTAG {
	LanguageContext* psLanguageContext // @0
	SymbolTableContext* psSymbolTableContext // @4
	SymTable* psVertexSymbolTable // @8
	SymTable* psFragmentSymbolTable // @c
	GLSLIdentifierList sVertexBuiltInsReferenced // @10
	GLSLIdentifierList sFragmentBuiltInsReferenced // @1c
	IMG_VOID* pvUniFlexContext // @28
	ErrorLog* psErrorLog // @2c
	IMG_UINT32 uPointCoordTC // @30
	IMG_UINT32 uCurSrcLine // @34
}

typedef void* PFN_SYMBOL_DECONSTRUCTOR

void

struct SymTableEntry_TAG {
	IMG_CHAR* pszString // @0
	IMG_UINT32 uSymbolID // @4
	IMG_UINT32 bScopeModifier // @8
	IMG_UINT32 uScopeLevel // @8
	IMG_UINT32 uRefCount // @8
	IMG_UINT32 uDataSizeInBytes // @8
	IMG_VOID* pvData // @c
	PFN_SYMBOL_DECONSTRUCTOR pfnSymbolDeconstructor // @10
}

typedef struct SymTableEntry_TAG SymTableEntry

struct SymTable_TAG {
	IMG_CHAR[20] acDesc // @0
	IMG_UINT32 uNumEntries // @14
	IMG_UINT32 uMaxNumEntries // @18
	IMG_UINT32 uMaxNumBitsForSymbolTableIDs // @1c
	IMG_UINT32 uSymbolIDShift // @20
	IMG_UINT32 uSymbolIDMask // @24
	IMG_UINT32 uMaxTableSize // @28
	IMG_UINT32 uMaxNumUniqueSymbolIDs // @2c
	IMG_UINT32 uCurrentScopeLevel // @30
	IMG_UINT32 uUniqueSymbolTableID // @34
	IMG_UINT32 uGetNextSymbolCounter // @38
	IMG_UINT32 uGetNextSymbolScopeLevel // @3c
	struct SymTable_TAG* psSecondarySymbolTable // @40
	SymTableEntry* psEntries // @44
}

typedef struct SymTable_TAG SymTable

struct SymbolTableContextTAG {
	IMG_UINT32 uSymbolTableListSize // @0
	SymTable** ppsSymbolTables // @4
}

typedef struct SymbolTableContextTAG SymbolTableContext

typedef unsigned int size_t

typedef long long int __quad_t

typedef long int __off_t

typedef __quad_t __off64_t

struct MemHeapTAG {
	IMG_UINT32 uHeapItemSizeInBytes // @0
	IMG_UINT32 uHeapSizeInBytes // @4
	IMG_BYTE* pbHeap // @8
	IMG_BYTE* pbEndOfHeap // @c
	IMG_BYTE* pbCurrentWaterMark // @10
	IMG_VOID* pvFreeListHead // @14
}

typedef struct MemHeapTAG MemHeap

struct ParseTreeEntryTAG {
	IMG_UINT32 uSyntaxSymbolName // @0
	IMG_UINT32 eSyntaxSymbolType // @0
	IMG_UINT32 uSyntaxTablePos // @0
	IMG_UINT32 uSyntaxRuleOffset // @0
	IMG_UINT32 uNumRuleVariantsChecked // @0
	IMG_UINT32 bStopBackTracking // @0
	Token* psToken // @4
	struct ParseTreeEntryTAG* psNextRule // @8
	struct ParseTreeEntryTAG* psPrevRule // @c
	struct ParseTreeEntryTAG* psChildRule // @10
	struct ParseTreeEntryTAG* psParentRule // @14
	PFN_STATEMENT_UNMATCH pfnSyntaxSymbolUnmatchFN // @18
}

typedef struct ParseTreeEntryTAG ParseTreeEntry

struct LanguageContextTAG {
	SyntaxTable* psSyntaxTable // @0
	IMG_UINT32 uLastSyntaxSymbolName // @4
	IMG_UINT32 uEmptySyntaxSymbolName // @8
	IMG_UINT32 uHeadSyntaxSymbolName // @c
}

typedef struct LanguageContextTAG LanguageContext

struct ParseContextTAG {
	GLSLCompilerPrivateData* psCPD // @0
	IMG_CHAR** ppszSources // @4
	IMG_UINT32 uNumSources // @8
	Token* psTokenList // @c
	IMG_UINT32 uNumTokens // @10
	IMG_UINT32 uCurrentToken // @14
	IMG_UINT32 uFurthestMatchedToken // @18
	IMG_UINT32 uFurthestMatchedSyntaxSymbol // @1c
	ParseTreeEntry* psParseTree // @20
	MemHeap* psParseTreeMemHeap // @24
	IMG_UINT32 uNumParseTreeBranchesCreated // @28
	IMG_UINT32 uNumParseTreeBranchesRemoved // @2c
	IMG_UINT32 uMaxNumParseTreeBranches // @30
	IMG_VOID* pvPreProcessorData // @34
}

typedef struct ParseContextTAG ParseContext

enum ErrorTypeTAG {
	ERRORTYPE_INTERNAL = 1; //0x1
	ERRORTYPE_PROGRAM_ERROR = 2; //0x2
	ERRORTYPE_PROGRAM_WARNING = 4; //0x4
	ERRORTYPE_ALL = 7; //0x7
}

typedef enum ErrorTypeTAG ErrorType

struct ErrorMessageTAG {
	ErrorType eErrorType // @0
	IMG_CHAR* pszErrorMessageString // @4
	IMG_CHAR* pszStartOfLine // @8
	IMG_UINT32 uCharNumber // @c
}

typedef struct ErrorMessageTAG ErrorMessage

struct ErrorLogTAG {
	ErrorMessage[100] sErrorMessages // @0
	IMG_UINT32 uNumProgramErrorMessages // @640
	IMG_UINT32 uNumProgramWarningMessages // @644
	IMG_UINT32 uNumInternalErrorMessages // @648
	IMG_UINT32 uTotalNumErrorMessages // @64c
	IMG_BOOL bDisplayMessages // @650
}

typedef struct ErrorLogTAG ErrorLog

struct _IO_FILE {
	int _flags // @0
	char* _IO_read_ptr // @4
	char* _IO_read_end // @8
	char* _IO_read_base // @c
	char* _IO_write_base // @10
	char* _IO_write_ptr // @14
	char* _IO_write_end // @18
	char* _IO_buf_base // @1c
	char* _IO_buf_end // @20
	char* _IO_save_base // @24
	char* _IO_backup_base // @28
	char* _IO_save_end // @2c
	struct _IO_marker* _markers // @30
	struct _IO_FILE* _chain // @34
	int _fileno // @38
	int _flags2 // @3c
	__off_t _old_offset // @40
	short unsigned int _cur_column // @44
	signed char _vtable_offset // @46
	char[1] _shortbuf // @47
	_IO_lock_t* _lock // @48
	__off64_t _offset // @50
	void* __pad1 // @58
	void* __pad2 // @5c
	void* __pad3 // @60
	void* __pad4 // @64
	size_t __pad5 // @68
	int _mode // @6c
	char[40] _unused2 // @70
}

typedef void _IO_lock_t

struct _IO_marker {
	struct _IO_marker* _next // @0
	struct _IO_FILE* _sbuf // @4
	int _pos // @8
}

enum GLSLLogFilesTAG {
	GLSLLF_NOT_LOG = 0; //0x0
	GLSLLF_LOG_ICODE_ONLY = 1; //0x1
	GLSLLF_LOG_ALL = 2; //0x2
}

typedef enum GLSLLogFilesTAG GLSLLogFiles

enum GLSLProgramTypeTAG {
	GLSLPT_VERTEX = 0; //0x0
	GLSLPT_FRAGMENT = 1; //0x1
}

typedef enum GLSLProgramTypeTAG GLSLProgramType

enum GLSLExtensionTAG {
	GLSLEXT_NONE = 0; //0x0
	GLSLEXT_OES_TEXTURE_3D = 1; //0x1
	GLSLEXT_OES_STANDARD_NOISE = 2; //0x2
	GLSLEXT_OES_STANDARD_DERIVATIVES = 4; //0x4
	GLSLEXT_OES_INVARIANTALL = 8; //0x8
	GLSLEXT_IMG_PRECISION = 16; //0x10
	GLSLEXT_FORCE_I32 = 2147483647; //0x7fffffff
}

typedef enum GLSLExtensionTAG GLSLExtension

enum GLSLTypeSpecifierTAG {
	GLSLTS_INVALID = 0; //0x0
	GLSLTS_VOID = 1; //0x1
	GLSLTS_FLOAT = 2; //0x2
	GLSLTS_VEC2 = 3; //0x3
	GLSLTS_VEC3 = 4; //0x4
	GLSLTS_VEC4 = 5; //0x5
	GLSLTS_INT = 6; //0x6
	GLSLTS_IVEC2 = 7; //0x7
	GLSLTS_IVEC3 = 8; //0x8
	GLSLTS_IVEC4 = 9; //0x9
	GLSLTS_BOOL = 10; //0xa
	GLSLTS_BVEC2 = 11; //0xb
	GLSLTS_BVEC3 = 12; //0xc
	GLSLTS_BVEC4 = 13; //0xd
	GLSLTS_MAT2X2 = 14; //0xe
	GLSLTS_MAT2X3 = 15; //0xf
	GLSLTS_MAT2X4 = 16; //0x10
	GLSLTS_MAT3X2 = 17; //0x11
	GLSLTS_MAT3X3 = 18; //0x12
	GLSLTS_MAT3X4 = 19; //0x13
	GLSLTS_MAT4X2 = 20; //0x14
	GLSLTS_MAT4X3 = 21; //0x15
	GLSLTS_MAT4X4 = 22; //0x16
	GLSLTS_SAMPLER1D = 23; //0x17
	GLSLTS_SAMPLER2D = 24; //0x18
	GLSLTS_SAMPLER3D = 25; //0x19
	GLSLTS_SAMPLERCUBE = 26; //0x1a
	GLSLTS_SAMPLER1DSHADOW = 27; //0x1b
	GLSLTS_SAMPLER2DSHADOW = 28; //0x1c
	GLSLTS_STRUCT = 29; //0x1d
}

typedef enum GLSLTypeSpecifierTAG GLSLTypeSpecifier

enum GLSLTypeQualifierTAG {
	GLSLTQ_INVALID = 0; //0x0
	GLSLTQ_TEMP = 1; //0x1
	GLSLTQ_CONST = 2; //0x2
	GLSLTQ_UNIFORM = 3; //0x3
	GLSLTQ_ATTRIBUTE = 4; //0x4
	GLSLTQ_VARYING = 5; //0x5
}

enum GLSLVaryingModifierFlagsTAG {
	GLSLVMOD_NONE = 0; //0x0
	GLSLVMOD_INVARIANT = 1; //0x1
	GLSLVMOD_CENTROID = 2; //0x2
	GLSLVMOD_ALL = 3; //0x3
	GLSLVMOD_INVALID = 4; //0x4
}

typedef enum GLSLVaryingModifierFlagsTAG GLSLVaryingModifierFlags

enum GLSLPrecisionQualifierTAG {
	GLSLPRECQ_UNKNOWN = 0; //0x0
	GLSLPRECQ_LOW = 1; //0x1
	GLSLPRECQ_MEDIUM = 2; //0x2
	GLSLPRECQ_HIGH = 3; //0x3
	GLSLPRECQ_INVALID = 4; //0x4
}

typedef enum GLSLPrecisionQualifierTAG GLSLPrecisionQualifier

enum GLSLBuiltInVariableIDTAG {
	GLSLBV_NOT_BTIN = 0; //0x0
	GLSLBV_POSITION = 1; //0x1
	GLSLBV_POINTSIZE = 2; //0x2
	GLSLBV_CLIPVERTEX = 3; //0x3
	GLSLBV_FRAGCOORD = 4; //0x4
	GLSLBV_FRONTFACING = 5; //0x5
	GLSLBV_FRAGCOLOR = 6; //0x6
	GLSLBV_FRAGDATA = 7; //0x7
	GLSLBV_FRAGDEPTH = 8; //0x8
	GLSLBV_COLOR = 9; //0x9
	GLSLBV_SECONDARYCOLOR = 10; //0xa
	GLSLBV_NORMAL = 11; //0xb
	GLSLBV_VERTEX = 12; //0xc
	GLSLBV_MULTITEXCOORD0 = 13; //0xd
	GLSLBV_MULTITEXCOORD1 = 14; //0xe
	GLSLBV_MULTITEXCOORD2 = 15; //0xf
	GLSLBV_MULTITEXCOORD3 = 16; //0x10
	GLSLBV_MULTITEXCOORD4 = 17; //0x11
	GLSLBV_MULTITEXCOORD5 = 18; //0x12
	GLSLBV_MULTITEXCOORD6 = 19; //0x13
	GLSLBV_MULTITEXCOORD7 = 20; //0x14
	GLSLBV_FOGCOORD = 21; //0x15
	GLSLBV_MODELVIEWMATRIX = 22; //0x16
	GLSLBV_PROJECTMATRIX = 23; //0x17
	GLSLBV_MODELVIEWPROJECTIONMATRIX = 24; //0x18
	GLSLBV_TEXTUREMATRIX = 25; //0x19
	GLSLBV_NORMALMATRIX = 26; //0x1a
	GLSLBV_MODELVIEWMATRIXINVERSE = 27; //0x1b
	GLSLBV_PROJECTMATRIXINVERSE = 28; //0x1c
	GLSLBV_MODELVIEWPROJECTIONMATRIXINVERSE = 29; //0x1d
	GLSLBV_TEXTUREMATRIXINVERSE = 30; //0x1e
	GLSLBV_MODELVIEWMATRIXTRANSPOSE = 31; //0x1f
	GLSLBV_PROJECTIONMATRIXTRANSPOSE = 32; //0x20
	GLSLBV_MODELVIEWPROJECTIONMATRIXTRANSPOSE = 33; //0x21
	GLSLBV_TEXTUREMATRIXTRANSPOSE = 34; //0x22
	GLSLBV_MODELVIEWMATRIXINVERSETRANSPOSE = 35; //0x23
	GLSLBV_PROJECTMATRIXINVERSETRANSPOSE = 36; //0x24
	GLSLBV_MODELVIEWPROJECTIONMATRIXINVERSETRANSPOSE = 37; //0x25
	GLSLBV_TEXTUREMATRIXINVERSETRANSPOSE = 38; //0x26
	GLSLBV_NORMALSCALE = 39; //0x27
	GLSLBV_DEPTHRANGE = 40; //0x28
	GLSLBV_CLIPPLANE = 41; //0x29
	GLSLBV_POINT = 42; //0x2a
	GLSLBV_FRONTMATERIAL = 43; //0x2b
	GLSLBV_BACKMATERIAL = 44; //0x2c
	GLSLBV_LIGHTSOURCE = 45; //0x2d
	GLSLBV_LIGHTMODEL = 46; //0x2e
	GLSLBV_FRONTLIGHTMODELPRODUCT = 47; //0x2f
	GLSLBV_BACKLIGHTMODELPRODUCT = 48; //0x30
	GLSLBV_FRONTLIGHTPRODUCT = 49; //0x31
	GLSLBV_BACKLIGHTPRODUCT = 50; //0x32
	GLSLBV_TEXTUREENVCOLOR = 51; //0x33
	GLSLBV_EYEPLANES = 52; //0x34
	GLSLBV_EYEPLANET = 53; //0x35
	GLSLBV_EYEPLANER = 54; //0x36
	GLSLBV_EYEPLANEQ = 55; //0x37
	GLSLBV_OBJECTPLANES = 56; //0x38
	GLSLBV_OBJECTPLANET = 57; //0x39
	GLSLBV_OBJECTPLANER = 58; //0x3a
	GLSLBV_OBJECTPLANEQ = 59; //0x3b
	GLSLBV_FOG = 60; //0x3c
	GLSLBV_FRONTCOLOR = 61; //0x3d
	GLSLBV_BACKCOLOR = 62; //0x3e
	GLSLBV_FRONTSECONDARYCOLOR = 63; //0x3f
	GLSLBV_BACKSECONDARYCOLOR = 64; //0x40
	GLSLBV_TEXCOORD = 65; //0x41
	GLSLBV_FOGFRAGCOORD = 66; //0x42
	GLSLBV_POINTCOORD = 67; //0x43
	GLSLESBV_POINTCOORD = 67; //0x43
	GLSLBV_PMXTWOSIDEENABLE = 68; //0x44
	GLSLBV_PMXSWAPFRONTFACE = 69; //0x45
	GLSLBV_PMXPOINTSIZEENABLE = 70; //0x46
	GLSLBV_PMXPOINTSIZE = 71; //0x47
	GLSLBV_PMXDEPTHTEXTUREDESC0 = 72; //0x48
	GLSLBV_PMXDEPTHTEXTUREDESC1 = 73; //0x49
	GLSLBV_PMXDEPTHTEXTUREDESC2 = 74; //0x4a
	GLSLBV_PMXDEPTHTEXTUREDESC3 = 75; //0x4b
	GLSLBV_PMXDEPTHTEXTUREDESC4 = 76; //0x4c
	GLSLBV_PMXDEPTHTEXTUREDESC5 = 77; //0x4d
	GLSLBV_PMXDEPTHTEXTUREDESC6 = 78; //0x4e
	GLSLBV_PMXDEPTHTEXTUREDESC7 = 79; //0x4f
	GLSLBV_PMXPERMTEXTURE = 80; //0x50
	GLSLBV_PMXGRADTEXTURE = 81; //0x51
	GLSLBV_PMXCOLOURCLAMPMIN = 82; //0x52
	GLSLBV_PMXCOLOURCLAMPMAX = 83; //0x53
	GLSLBV_PMXFOGMODE = 84; //0x54
	GLSLBV_PMXFOGPARAM = 85; //0x55
	GLSLBV_PMXCLIPPLANE = 86; //0x56
	GLSLBV_PMXPOSADJUST = 87; //0x57
	GLSLBV_NUM_BUILTINS = 88; //0x58
	GLSLBV_SPECIAL_VERTEXBLENDWEIGHT = 89; //0x59
	GLSLBV_SPECIAL_VERTEXMATRIXINDEX = 90; //0x5a
	GLSLBV_SPECIAL_MODELVIEWMATRIXTRANSPOSEPALETTE = 91; //0x5b
	GLSLBV_SPECIAL_MODELVIEWMATRIXINVERSEPALETTE = 92; //0x5c
	GLSLBV_PMXLIGHTSOURCE0 = 93; //0x5d
	GLSLBV_PMXLIGHTSOURCE1 = 94; //0x5e
	GLSLBV_PMXLIGHTSOURCE2 = 95; //0x5f
	GLSLBV_PMXLIGHTSOURCE3 = 96; //0x60
	GLSLBV_PMXLIGHTSOURCE4 = 97; //0x61
	GLSLBV_PMXLIGHTSOURCE5 = 98; //0x62
	GLSLBV_PMXLIGHTSOURCE6 = 99; //0x63
	GLSLBV_PMXLIGHTSOURCE7 = 100; //0x64
	GLSLBV_PMXLINEPARAMS = 101; //0x65
	GLSLBV_MATRIXPALETTEINDEXCLAMP = 102; //0x66
	GLSLBV_NUM_BUILTINS_WITH_SPECIALS = 103; //0x67
}

enum GLSLBuiltInVariableWrittenToTAG {
	GLSLBVWT_POSITION = 1; //0x1
	GLSLBVWT_POINTSIZE = 2; //0x2
	GLSLBVWT_CLIPVERTEX = 4; //0x4
	GLSLBVWT_FRONTCOLOR = 8; //0x8
	GLSLBVWT_BACKCOLOR = 16; //0x10
	GLSLBVWT_FRONTSECONDARYCOLOR = 32; //0x20
	GLSLBVWT_BACKSECONDARYCOLOR = 64; //0x40
	GLSLBVWT_TEXCOORD = 128; //0x80
	GLSLBVWT_FRAGCOLOR = 256; //0x100
	GLSLBVWT_FRAGDATA = 512; //0x200
	GLSLBVWT_FRAGDEPTH = 1024; //0x400
	GLSLBVWT_FOGFRAGCOORD = 2048; //0x800
	GLSLBVWT_FORCE_I32 = 2147483647; //0x7fffffff
}

typedef enum GLSLBuiltInVariableWrittenToTAG GLSLBuiltInVariableWrittenTo

enum GLSLCompilerWarningsTAG {
	GLSLCW_WARN_GRADIENT_CALC_INSIDE_CONDITIONAL = 1; //0x1
	GLSLCW_WARN_USE_OF_UNINITIALISED_DATA = 2; //0x2
	GLSLCW_WARN_FUNCTION_NOT_CALLED = 4; //0x4
	GLSLCW_WARN_RECURSIVE_FUNCTION_CALL = 8; //0x8
	GLSLCW_WARN_ALL = 2147483647; //0x7fffffff
}

typedef enum GLSLCompilerWarningsTAG GLSLCompilerWarnings

struct GLSLRequestedPrecisionsTAG {
	GLSLPrecisionQualifier eDefaultUserVertFloat // @0
	GLSLPrecisionQualifier eDefaultUserVertInt // @4
	GLSLPrecisionQualifier eDefaultUserVertSampler // @8
	GLSLPrecisionQualifier eDefaultUserFragFloat // @c
	GLSLPrecisionQualifier eDefaultUserFragInt // @10
	GLSLPrecisionQualifier eDefaultUserFragSampler // @14
	GLSLPrecisionQualifier eVertBooleanPrecision // @18
	GLSLPrecisionQualifier eFragBooleanPrecision // @1c
	GLSLPrecisionQualifier eBIStateFloat // @20
	GLSLPrecisionQualifier eBIStateInt // @24
	GLSLPrecisionQualifier eBIVertAttribFloat // @28
	GLSLPrecisionQualifier eBIVaryingFloat // @2c
	GLSLPrecisionQualifier eBIFragFloat // @30
	GLSLPrecisionQualifier eGLPosition // @34
	GLSLPrecisionQualifier eGLPointSize // @38
	GLSLPrecisionQualifier eGLPointCoord // @3c
	GLSLPrecisionQualifier eDepthRange // @40
	GLSLPrecisionQualifier eForceUserVertFloat // @44
	GLSLPrecisionQualifier eForceUserVertInt // @48
	GLSLPrecisionQualifier eForceUserVertSampler // @4c
	GLSLPrecisionQualifier eForceUserFragFloat // @50
	GLSLPrecisionQualifier eForceUserFragInt // @54
	GLSLPrecisionQualifier eForceUserFragSampler // @58
}

typedef struct GLSLRequestedPrecisionsTAG GLSLRequestedPrecisions

struct GLSLCompilerResourcesTAG {
	IMG_INT32 iGLMaxVertexAttribs // @0
	IMG_INT32 iGLMaxTextureImageUnits // @4
	IMG_INT32 iGLMaxDrawBuffers // @8
	IMG_INT32 iGLMaxVertexTextureImageUnits // @c
	IMG_INT32 iGLMaxCombinedTextureImageUnits // @10
	IMG_INT32 iGLMaxVertexUniformVectors // @14
	IMG_INT32 iGLMaxVaryingVectors // @18
	IMG_INT32 iGLMaxFragmentUniformVectors // @1c
}

typedef struct GLSLCompilerResourcesTAG GLSLCompilerResources

struct GLSLInlineFuncRulesTAG {
	IMG_BOOL bInlineSamplerParamFunc // @0
	IMG_BOOL bInlineCalledOnceFunc // @4
	IMG_UINT32 uNumICInstrsBodyLessThan // @8
	IMG_UINT32 uNumParamComponentsGreaterThan // @c
}

typedef struct GLSLInlineFuncRulesTAG GLSLInlineFuncRules

struct GLSLUnrollLoopRulesTAG {
	IMG_BOOL bEnableUnroll // @0
	IMG_BOOL bUnrollRelativeAddressingOnly // @4
	IMG_UINT32 uMaxNumIterations // @8
}

typedef struct GLSLUnrollLoopRulesTAG GLSLUnrollLoopRules

struct GLSLInitCompilerContextTAG {
	GLSLLogFiles eLogFiles // @0
	IMG_BOOL bSuccessfulInit // @4
	GLSLRequestedPrecisions sRequestedPrecisions // @8
	GLSLCompilerResources sCompilerResources // @64
	GLSLInlineFuncRules sInlineFuncRules // @84
	GLSLUnrollLoopRules sUnrollLoopRules // @94
	IMG_VOID* pvCompilerPrivateData // @a0
}

typedef struct GLSLInitCompilerContextTAG GLSLInitCompilerContext

enum GLSLNodeTypeTAG {
	GLSLNT_IDENTIFIER = 0; //0x0
	GLSLNT_FIELD_SELECTION = 1; //0x1
	GLSLNT_ARRAY_SPECIFIER = 2; //0x2
	GLSLNT_POST_INC = 3; //0x3
	GLSLNT_POST_DEC = 4; //0x4
	GLSLNT_FUNCTION_CALL = 5; //0x5
	GLSLNT_ARRAY_LENGTH = 6; //0x6
	GLSLNT_PRE_INC = 7; //0x7
	GLSLNT_PRE_DEC = 8; //0x8
	GLSLNT_NEGATE = 9; //0x9
	GLSLNT_POSITIVE = 10; //0xa
	GLSLNT_NOT = 11; //0xb
	GLSLNT_BITWISE_NOT = 12; //0xc
	GLSLNT_MULTIPLY = 13; //0xd
	GLSLNT_DIVIDE = 14; //0xe
	GLSLNT_MODULUS = 15; //0xf
	GLSLNT_ADD = 16; //0x10
	GLSLNT_SUBTRACT = 17; //0x11
	GLSLNT_SHIFT_LEFT = 18; //0x12
	GLSLNT_SHIFT_RIGHT = 19; //0x13
	GLSLNT_LESS_THAN = 20; //0x14
	GLSLNT_GREATER_THAN = 21; //0x15
	GLSLNT_LESS_THAN_EQUAL = 22; //0x16
	GLSLNT_GREATER_THAN_EQUAL = 23; //0x17
	GLSLNT_EQUAL_TO = 24; //0x18
	GLSLNT_NOTEQUAL_TO = 25; //0x19
	GLSLNT_INCLUSIVE_OR = 26; //0x1a
	GLSLNT_EXCLUSIVE_OR = 27; //0x1b
	GLSLNT_AND = 28; //0x1c
	GLSLNT_LOGICAL_OR = 29; //0x1d
	GLSLNT_LOGICAL_XOR = 30; //0x1e
	GLSLNT_LOGICAL_AND = 31; //0x1f
	GLSLNT_QUESTION = 32; //0x20
	GLSLNT_EQUAL = 33; //0x21
	GLSLNT_MUL_ASSIGN = 34; //0x22
	GLSLNT_DIV_ASSIGN = 35; //0x23
	GLSLNT_MOD_ASSIGN = 36; //0x24
	GLSLNT_ADD_ASSIGN = 37; //0x25
	GLSLNT_SUB_ASSIGN = 38; //0x26
	GLSLNT_RIGHT_ASSIGN = 39; //0x27
	GLSLNT_LEFT_ASSIGN = 40; //0x28
	GLSLNT_AND_ASSIGN = 41; //0x29
	GLSLNT_XOR_ASSIGN = 42; //0x2a
	GLSLNT_OR_ASSIGN = 43; //0x2b
	GLSLNT_SUBEXPRESSION = 44; //0x2c
	GLSLNT_EXPRESSION = 45; //0x2d
	GLSLNT_CONTINUE = 46; //0x2e
	GLSLNT_BREAK = 47; //0x2f
	GLSLNT_DISCARD = 48; //0x30
	GLSLNT_RETURN = 49; //0x31
	GLSLNT_FOR = 50; //0x32
	GLSLNT_WHILE = 51; //0x33
	GLSLNT_DO = 52; //0x34
	GLSLNT_IF = 53; //0x35
	GLSLNT_STATEMENT_LIST = 54; //0x36
	GLSLNT_FUNCTION_DEFINITION = 55; //0x37
	GLSLNT_DECLARATION = 56; //0x38
	GLSLNT_SHADER = 57; //0x39
	GLSLNT_ERROR = 58; //0x3a
}

typedef enum GLSLNodeTypeTAG GLSLNodeType

enum GLSLSymbolTableDataTypeTAG {
	GLSLSTDT_IDENTIFIER = 0; //0x0
	GLSLSTDT_FUNCTION_DEFINITION = 1; //0x1
	GLSLSTDT_FUNCTION_CALL = 2; //0x2
	GLSLSTDT_SWIZZLE = 3; //0x3
	GLSLSTDT_MEMBER_SELECTION = 4; //0x4
	GLSLSTDT_STRUCTURE_DEFINITION = 5; //0x5
	GLSLSTDT_PRECISION_MODIFIER = 6; //0x6
}

typedef enum GLSLSymbolTableDataTypeTAG GLSLSymbolTableDataType

enum GLSLBuiltInFunctionIDTAG {
	GLSLBFID_RADIANS = 0; //0x0
	GLSLBFID_DEGREES = 1; //0x1
	GLSLBFID_SIN = 2; //0x2
	GLSLBFID_COS = 3; //0x3
	GLSLBFID_TAN = 4; //0x4
	GLSLBFID_ASIN = 5; //0x5
	GLSLBFID_ACOS = 6; //0x6
	GLSLBFID_ATAN = 7; //0x7
	GLSLBFID_POW = 8; //0x8
	GLSLBFID_EXP = 9; //0x9
	GLSLBFID_LOG = 10; //0xa
	GLSLBFID_EXP2 = 11; //0xb
	GLSLBFID_LOG2 = 12; //0xc
	GLSLBFID_SQRT = 13; //0xd
	GLSLBFID_INVERSESQRT = 14; //0xe
	GLSLBFID_ABS = 15; //0xf
	GLSLBFID_SIGN = 16; //0x10
	GLSLBFID_FLOOR = 17; //0x11
	GLSLBFID_CEIL = 18; //0x12
	GLSLBFID_FRACT = 19; //0x13
	GLSLBFID_MOD = 20; //0x14
	GLSLBFID_MIN = 21; //0x15
	GLSLBFID_MAX = 22; //0x16
	GLSLBFID_CLAMP = 23; //0x17
	GLSLBFID_MIX = 24; //0x18
	GLSLBFID_STEP = 25; //0x19
	GLSLBFID_SMOOTHSTEP = 26; //0x1a
	GLSLBFID_LENGTH = 27; //0x1b
	GLSLBFID_DISTANCE = 28; //0x1c
	GLSLBFID_DOT = 29; //0x1d
	GLSLBFID_CROSS = 30; //0x1e
	GLSLBFID_NORMALIZE = 31; //0x1f
	GLSLBFID_FTRANSFORM = 32; //0x20
	GLSLBFID_FACEFORWARD = 33; //0x21
	GLSLBFID_REFLECT = 34; //0x22
	GLSLBFID_REFRACT = 35; //0x23
	GLSLBFID_MATRIXCOMPMULT = 36; //0x24
	GLSLBFID_TRANSPOSE = 37; //0x25
	GLSLBFID_OUTERPRODUCT = 38; //0x26
	GLSLBFID_LESSTHAN = 39; //0x27
	GLSLBFID_LESSTHANEQUAL = 40; //0x28
	GLSLBFID_GREATERTHAN = 41; //0x29
	GLSLBFID_GREATERTHANEQUAL = 42; //0x2a
	GLSLBFID_EQUAL = 43; //0x2b
	GLSLBFID_NOTEQUAL = 44; //0x2c
	GLSLBFID_ANY = 45; //0x2d
	GLSLBFID_ALL = 46; //0x2e
	GLSLBFID_NOT = 47; //0x2f
	GLSLBFID_TEXTURE1D = 48; //0x30
	GLSLBFID_TEXTURE1DPROJ = 49; //0x31
	GLSLBFID_TEXTURE1DLOD = 50; //0x32
	GLSLBFID_TEXTURE1DPROJLOD = 51; //0x33
	GLSLBFID_TEXTURE1DGRAD = 52; //0x34
	GLSLBFID_TEXTURE1DPROJGRAD = 53; //0x35
	GLSLBFID_TEXTURE2D = 54; //0x36
	GLSLBFID_TEXTURE2DPROJ = 55; //0x37
	GLSLBFID_TEXTURE2DLOD = 56; //0x38
	GLSLBFID_TEXTURE2DPROJLOD = 57; //0x39
	GLSLBFID_TEXTURE2DGRAD = 58; //0x3a
	GLSLBFID_TEXTURE2DPROJGRAD = 59; //0x3b
	GLSLBFID_TEXTURE3D = 60; //0x3c
	GLSLBFID_TEXTURE3DPROJ = 61; //0x3d
	GLSLBFID_TEXTURE3DLOD = 62; //0x3e
	GLSLBFID_TEXTURE3DPROJLOD = 63; //0x3f
	GLSLBFID_TEXTURE3DGRAD = 64; //0x40
	GLSLBFID_TEXTURE3DPROJGRAD = 65; //0x41
	GLSLBFID_TEXTURECUBE = 66; //0x42
	GLSLBFID_TEXTURECUBELOD = 67; //0x43
	GLSLBFID_TEXTURECUBEGRAD = 68; //0x44
	GLSLBFID_SHADOW1D = 69; //0x45
	GLSLBFID_SHADOW1DPROJ = 70; //0x46
	GLSLBFID_SHADOW1DLOD = 71; //0x47
	GLSLBFID_SHADOW1DPROJLOD = 72; //0x48
	GLSLBFID_SHADOW1DGRAD = 73; //0x49
	GLSLBFID_SHADOW1DPROJGRAD = 74; //0x4a
	GLSLBFID_SHADOW2D = 75; //0x4b
	GLSLBFID_SHADOW2DPROJ = 76; //0x4c
	GLSLBFID_SHADOW2DLOD = 77; //0x4d
	GLSLBFID_SHADOW2DPROJLOD = 78; //0x4e
	GLSLBFID_SHADOW2DGRAD = 79; //0x4f
	GLSLBFID_SHADOW2DPROJGRAD = 80; //0x50
	GLSLBFID_DFDX = 81; //0x51
	GLSLBFID_DFDY = 82; //0x52
	GLSLBFID_FWIDTH = 83; //0x53
	GLSLBFID_NOISE1 = 84; //0x54
	GLSLBFID_NOISE2 = 85; //0x55
	GLSLBFID_NOISE3 = 86; //0x56
	GLSLBFID_NOISE4 = 87; //0x57
	GLSLBFID_NOT_BUILT_IN = 88; //0x58
}

typedef enum GLSLBuiltInFunctionIDTAG GLSLBuiltInFunctionID

enum GLSLParamQualifierTAG {
	GLSLPQ_INVALID = 0; //0x0
	GLSLPQ_IN = 1; //0x1
	GLSLPQ_OUT = 2; //0x2
	GLSLPQ_INOUT = 3; //0x3
}

enum GLSLFunctionTypeTAG {
	GLSLFT_INVALID = 0; //0x0
	GLSLFT_USER = 1; //0x1
	GLSLFT_CONSTRUCTOR = 2; //0x2
	GLSLFT_USERDEFINED_CONSTRUCTOR = 3; //0x3
	GLSLFT_BUILT_IN = 4; //0x4
}

typedef enum GLSLFunctionTypeTAG GLSLFunctionType

enum GLSLFunctionFlagsTAG {
	GLSLFF_NOT_VALID = 0; //0x0
	GLSLFF_VALID_FOR_VERTEX_SHADERS = 1; //0x1
	GLSLFF_VALID_FOR_FRAGMENT_SHADERS = 2; //0x2
	GLSLFF_VALID_FOR_GLSL = 3; //0x3
	GLSLFF_VALID_FOR_GLSL_ES = 4; //0x4
	GLSLFF_VALID_IN_ALL_CASES = 2147483647; //0x7fffffff
}

typedef enum GLSLFunctionFlagsTAG GLSLFunctionFlags

enum GLSLLValueStatusTAG {
	GLSLLV_INVALID = 0; //0x0
	GLSLLV_NOT_L_VALUE = 1; //0x1
	GLSLLV_NOT_L_VALUE_DUP_SWIZZLE = 2; //0x2
	GLSLLV_L_VALUE = 3; //0x3
}

enum GLSLArrayStatusTAG {
	GLSLAS_INVALID = 0; //0x0
	GLSLAS_NOT_ARRAY = 1; //0x1
	GLSLAS_ARRAY_SIZE_NOT_FIXED = 2; //0x2
	GLSLAS_ARRAY_SIZE_FIXED = 3; //0x3
}

typedef enum GLSLArrayStatusTAG GLSLArrayStatus

enum GLSLIdentifierUsageTAG {
	GLSLIU_WRITTEN = 1; //0x1
	GLSLIU_READ = 2; //0x2
	GLSLIU_CONDITIONAL = 4; //0x4
	GLSLIU_PARAM = 8; //0x8
	GLSLIU_INIT_WARNED = 16; //0x10
	GLSLIU_DYNAMICALLY_INDEXED = 32; //0x20
	GLSLIU_INTERNALRESULT = 64; //0x40
	GLSLIU_UNINITIALISED = 128; //0x80
	GLSLIU_ERROR_INITIALISING = 256; //0x100
	GLSLIU_BUILT_IN = 512; //0x200
	GLSLIU_BOOL_AS_PREDICATE = 1024; //0x400
}

struct GLSLFullySpecifiedTypeTAG {
	IMG_UINT32 eParameterQualifier // @0
	IMG_UINT32 ePrecisionQualifier // @0
	IMG_UINT32 eTypeQualifier // @0
	IMG_UINT32 eVaryingModifierFlags // @0
	IMG_UINT32 eTypeSpecifier // @0
	IMG_UINT32 uStructDescSymbolTableID // @0
	IMG_INT32 iArraySize // @4
}

typedef struct GLSLFullySpecifiedTypeTAG GLSLFullySpecifiedType

struct GLSLIdentifierDataTAG {
	GLSLSymbolTableDataType eSymbolTableDataType // @0
	GLSLFullySpecifiedType sFullySpecifiedType // @4
	IMG_INT32 iActiveArraySize // @c
	IMG_UINT32 eArrayStatus // @10
	IMG_UINT32 eLValueStatus // @10
	IMG_UINT32 eBuiltInVariableID // @10
	IMG_UINT32 eIdentifierUsage // @10
	IMG_UINT32 uConstantDataSize // @14
	IMG_UINT32 uConstantAssociationSymbolID // @14
	IMG_VOID* pvConstantData // @18
}

typedef struct GLSLIdentifierDataTAG GLSLIdentifierData

struct GLSLPrecisionModifierTAG {
	GLSLSymbolTableDataType eSymbolTableDataType // @0
	GLSLPrecisionQualifier ePrecisionQualifier // @4
	GLSLTypeSpecifier eTypeSpecifier // @8
}

typedef struct GLSLPrecisionModifierTAG GLSLPrecisionModifier

struct GLSLFunctionCallDataTAG {
	GLSLSymbolTableDataType eSymbolTableDataType // @0
	GLSLFullySpecifiedType sFullySpecifiedType // @4
	GLSLArrayStatus eArrayStatus // @c
	IMG_UINT32 uFunctionDefinitionSymbolID // @10
	IMG_UINT32 uLoopLevel // @14
	IMG_UINT32 uConditionLevel // @18
}

typedef struct GLSLFunctionCallDataTAG GLSLFunctionCallData

struct GLSLMemberSelectionDataTAG {
	GLSLSymbolTableDataType eSymbolTableDataType // @0
	IMG_UINT32 uMemberOffset // @4
	IMG_UINT32 uStructureInstanceSymbolTableID // @8
}

typedef struct GLSLMemberSelectionDataTAG GLSLMemberSelectionData

struct GLSLStructureMemberTAG {
	IMG_CHAR* pszMemberName // @0
	IMG_UINT32 uConstantDataOffSetInBytes // @4
	GLSLIdentifierData sIdentifierData // @8
}

typedef struct GLSLStructureMemberTAG GLSLStructureMember

struct GLSLStructureDefinitionDataTAG {
	GLSLSymbolTableDataType eSymbolTableDataType // @0
	IMG_UINT32 uStructureSizeInBytes // @4
	IMG_UINT32 uNumMembers // @8
	GLSLStructureMember* psMembers // @c
}

typedef struct GLSLStructureDefinitionDataTAG GLSLStructureDefinitionData

struct GLSLGenericDataTAG {
	GLSLSymbolTableDataType eSymbolTableDataType // @0
}

typedef struct GLSLGenericDataTAG GLSLGenericData

struct GLSLFunctionDefinitionDataTAG {
	GLSLSymbolTableDataType eSymbolTableDataType // @0
	IMG_CHAR* pszOriginalFunctionName // @4
	GLSLFunctionType eFunctionType // @8
	GLSLFunctionFlags eFunctionFlags // @c
	GLSLFullySpecifiedType sReturnFullySpecifiedType // @10
	IMG_UINT32 uReturnDataSymbolID // @18
	IMG_BOOL bPrototype // @1c
	IMG_UINT32 uFunctionCalledCount // @20
	IMG_UINT32 uMaxFunctionCallDepth // @24
	IMG_UINT32* puCalledFunctionIDs // @28
	IMG_UINT32 uNumCalledFunctions // @2c
	IMG_BOOL bGradientFnCalled // @30
	IMG_BOOL bCalledFromConditionalBlock // @34
	IMG_UINT32 uNumParameters // @38
	GLSLBuiltInFunctionID eBuiltInFunctionID // @3c
	IMG_UINT32* puParameterSymbolTableIDs // @40
	GLSLFullySpecifiedType* psFullySpecifiedTypes // @44
}

typedef struct GLSLFunctionDefinitionDataTAG GLSLFunctionDefinitionData

struct GLSLSwizzleDataTAG {
	GLSLSymbolTableDataType eSymbolTableDataType // @0
	IMG_UINT32 uNumComponents // @4
	IMG_UINT32[4] uComponentIndex // @8
}

typedef struct GLSLSwizzleDataTAG GLSLSwizzleData

struct GLSLNodeTAG {
	GLSLNodeType eNodeType // @0
	struct GLSLNodeTAG* psParent // @4
	IMG_UINT32 uNumChildren // @8
	struct GLSLNodeTAG** ppsChildren // @c
	IMG_UINT32 uSymbolTableID // @10
	ParseTreeEntry* psParseTreeEntry // @14
	Token* psToken // @18
	IMG_BOOL bEvaluated // @1c
}

typedef struct GLSLNodeTAG GLSLNode

struct GLSLPrototypedFunctionTAG {
	IMG_UINT32 uSymbolTableID // @0
	struct GLSLPrototypedFunctionTAG* psNext // @4
	struct GLSLPrototypedFunctionTAG* psPrev // @8
}

typedef struct GLSLPrototypedFunctionTAG GLSLPrototypedFunction

struct GLSLIdentifierListTAG {
	IMG_UINT32* puIdentifiersReferenced // @0
	IMG_UINT32 uNumIdentifiersReferenced // @4
	IMG_UINT32 uIdentifiersReferencedListSize // @8
}

typedef struct GLSLIdentifierListTAG GLSLIdentifierList

struct GLSLTreeContextTAG {
	IMG_UINT32 uNumResults // @0
	IMG_UINT32 uNumUnnamedStructures // @4
	IMG_UINT32 uCurrentFunctionDefinitionSymbolID // @8
	IMG_BOOL bFunctionReturnStatus // @c
	IMG_UINT32 uLoopLevel // @10
	IMG_UINT32 uConditionLevel // @14
	GLSLProgramType eProgramType // @18
	GLSLInitCompilerContext* psInitCompilerContext // @1c
	GLSLPrecisionQualifier eDefaultFloatPrecision // @20
	GLSLPrecisionQualifier eDefaultIntPrecision // @24
	GLSLPrecisionQualifier eDefaultSamplerPrecision // @28
	GLSLPrecisionQualifier eForceUserFloatPrecision // @2c
	GLSLPrecisionQualifier eForceUserIntPrecision // @30
	GLSLPrecisionQualifier eForceUserSamplerPrecision // @34
	IMG_BOOL bShaderHasModifiedPrecision // @38
	ParseContext* psParseContext // @3c
	SymTable* psSymbolTable // @40
	GLSLNode* psAbstractSyntaxTree // @44
	GLSLBuiltInVariableWrittenTo eBuiltInsWrittenTo // @48
	GLSLIdentifierList* psBuiltInsReferenced // @4c
	IMG_UINT32* puBuiltInFunctionsCalled // @50
	IMG_UINT32 uNumBuiltInFunctionsCalled // @54
	GLSLNode* psMainFunctionNode // @58
	IMG_BOOL bDiscardExecuted // @5c
	GLSLPrototypedFunction* psPrototypedFunction // @60
	GLSLCompilerWarnings eEnabledWarnings // @64
	GLSLExtension eEnabledExtensions // @68
	IMG_UINT32 uSupportedLanguageVersion // @6c
}

typedef struct GLSLTreeContextTAG GLSLTreeContext

struct GLSLPreProcessorDataTAG {
	GLSLExtension eEnabledExtensions // @0
}

typedef struct GLSLPreProcessorDataTAG GLSLPreProcessorData

struct ASTFunctionCallStateTAG {
	ParseTreeEntry* psIDENTIFIEREntry // @0
	IMG_BOOL bConstructor // @4
	GLSLTypeSpecifier eConstructorTypeSpecifier // @8
	IMG_INT32 iConstructorArraySize // @c
}

typedef struct ASTFunctionCallStateTAG ASTFunctionCallState

struct ASTFunctionStateTAG {
	ParseTreeEntry* psIDENTIFIEREntry // @0
	GLSLIdentifierData sReturnData // @4
	IMG_UINT32 uNumParameters // @20
	GLSLIdentifierData* psParameterData // @24
	ParseTreeEntry** ppsParamIDENTIFIEREntries // @28
}

typedef struct ASTFunctionStateTAG ASTFunctionState

// function
ParseTreeEntry* GetRule(
	ParseTreeEntry* psCurrent
	IMG_UINT32 uRuleNumber
	)
{
	IMG_UINT32 i
	ParseTreeEntry* psRule
}


// external function
long int strtol(
	const char* __nptr
	char** __endptr
	int __base
	)
{
}


// external function
double strtod(
	const char* __nptr
	char** __endptr
	)
{
}


// function
IMG_BOOL ASTIncreaseScope(
	GLSLTreeContext* psGLSLTreeContext
	)
{
}


// function PC=<0x48320;0x4832c>
void FreePrecisionModifierData(
	IMG_VOID* pvData
	)
{
}


// function PC=<0x4832c;0x48488>
IMG_BOOL ModifyDefaultPrecision(
	GLSLTreeContext* psGLSLTreeContext
	GLSLPrecisionQualifier ePrecisionQualifier
	GLSLTypeSpecifier eTypeSpecifier
	)
{
	GLSLCompilerPrivateData* psCPD
	IMG_UINT32 uSymbolTableID
	IMG_CHAR[256] acPrecModName
	GLSLPrecisionModifier* psPrecisionModifier
	SymTable* psSymbolTable
}


// function PC=<0x48488;0x4857c>
IMG_BOOL ASTUpdateInvariantStatus(
	GLSLTreeContext* psGLSLTreeContext
	ParseTreeEntry* psIDENTIFIEREntry
	)
{
	GLSLCompilerPrivateData* psCPD
	IMG_CHAR* pszIdentifierName
	IMG_UINT32 ui32SymbolTableID
	{
		GLSLIdentifierData* psIdentifierData
	}
}


// function PC=<0x4857c;0x486f8>
void ASTAddFunctionState(
	GLSLCompilerPrivateData* psCPD
	ASTFunctionState* psFunctionState
	ParseTreeEntry* psParamIDENTIFIEREntry
	GLSLIdentifierData* psParameterData
	)
{
}


// function PC=<0x486f8;0x48840>
GLSLNode* ASTCreateIDENTIFIERNode(
	GLSLTreeContext* psGLSLTreeContext
	ParseTreeEntry* psIDENTIFIEREntry
	IMG_BOOL bDeclaration
	GLSLFullySpecifiedType* psFullySpecifiedType
	)
{
	GLSLCompilerPrivateData* psCPD
	IMG_CHAR* pszIdentifierName
	GLSLNode* psIDENTIFIERNode
}


// function
void ASTDestroyFunctionState(
	ASTFunctionState* psFunctionState
	)
{
}


// function PC=<0x48840;0x48ff0>
GLSLNode* ASTCreateFunctionNode(
	GLSLTreeContext* psGLSLTreeContext
	ASTFunctionState* psFunctionState
	IMG_BOOL bPrototype
	)
{
	GLSLCompilerPrivateData* psCPD
	IMG_CHAR* pszFunctionName
	IMG_CHAR* pszHashedFunctionName
	IMG_UINT32 uSymbolTableID
	IMG_UINT32 i
	IMG_BOOL bFoundSymbol
	IMG_BOOL bMainFunction
	GLSLNode* psFunctionDefinitionNode
	GLSLFunctionDefinitionData* psFunctionDefinitionData
	GLSLFullySpecifiedType* psFullySpecifiedTypes
	// inlined
	// function
	void ASTDestroyFunctionState(
		ASTFunctionState* psFunctionState
		)
	{
	}

	// inlined
	// function
	IMG_BOOL ASTIncreaseScope(
		GLSLTreeContext* psGLSLTreeContext
		)
	{
	}

	{
		ParseTreeEntry* psParamIDENTIFIEREntry
		IMG_CHAR* pszParameterName
	}
	{
		GLSLFunctionDefinitionData sFunctionDefinitionData
		IMG_CHAR* pszReturnValueName
	}
}


// function
IMG_BOOL CheckWhichFunctionsCalled(
	GLSLTreeContext* psGLSLTreeContext
	IMG_UINT32 uSymbolID
	IMG_BOOL bCalledFromConditionalBlock
	IMG_UINT32* puDepth
	)
{
	GLSLCompilerPrivateData* psCPD
	IMG_UINT32 i
	GLSLFunctionDefinitionData* psFunctionDefinitionData
	{
		{
			GLSLCompilerPrivateData* psCPD
			IMG_UINT32 i
			GLSLFunctionDefinitionData* psFunctionDefinitionData
		}
	}
}


// function
IMG_BOOL CheckWhichFunctionsCalled(
	GLSLTreeContext* psGLSLTreeContext
	IMG_UINT32 uSymbolID
	IMG_BOOL bCalledFromConditionalBlock
	IMG_UINT32* puDepth
	)
{
	GLSLCompilerPrivateData* psCPD
	IMG_UINT32 i
	GLSLFunctionDefinitionData* psFunctionDefinitionData
	{
		{
			GLSLCompilerPrivateData* psCPD
			IMG_UINT32 i
			GLSLFunctionDefinitionData* psFunctionDefinitionData
		}
	}
}


// function
IMG_BOOL ReOrderTopLevelNodes(
	GLSLTreeContext* psGLSLTreeContext
	)
{
	GLSLCompilerPrivateData* psCPD
	IMG_BOOL bSwapped
	GLSLNode* psTopLevelNode
	IMG_UINT32 i
	{
		GLSLNode* psPrevNode
		GLSLNode* psCurrentNode
		{
			GLSLFunctionDefinitionData* psCurrentFunctionDefinitionData
			GLSLFunctionDefinitionData* psPrevFunctionDefinitionData
		}
	}
}


// external function PC=<0x497d8;0x49be0>
IMG_BOOL CheckGLSLTreeCompleteness(
	GLSLTreeContext* psGLSLTreeContext
	)
{
	GLSLCompilerPrivateData* psCPD
	IMG_BOOL bSuccess
	IMG_UINT32 uSymbolID
	IMG_UINT32 uFunctionCallDepth
	// inlined
	// function
	IMG_BOOL CheckWhichFunctionsCalled(
		GLSLTreeContext* psGLSLTreeContext
		IMG_UINT32 uSymbolID
		IMG_BOOL bCalledFromConditionalBlock
		IMG_UINT32* puDepth
		)
	{
		GLSLCompilerPrivateData* psCPD
		IMG_UINT32 i
		GLSLFunctionDefinitionData* psFunctionDefinitionData
		{
			{
				GLSLCompilerPrivateData* psCPD
				IMG_UINT32 i
				GLSLFunctionDefinitionData* psFunctionDefinitionData
			}
		}
	}

	// inlined
	// function
	IMG_BOOL ReOrderTopLevelNodes(
		GLSLTreeContext* psGLSLTreeContext
		)
	{
		GLSLCompilerPrivateData* psCPD
		IMG_BOOL bSwapped
		GLSLNode* psTopLevelNode
		IMG_UINT32 i
		{
			GLSLNode* psPrevNode
			GLSLNode* psCurrentNode
			{
				GLSLFunctionDefinitionData* psCurrentFunctionDefinitionData
				GLSLFunctionDefinitionData* psPrevFunctionDefinitionData
			}
		}
	}

	{
		GLSLGenericData* psGenericData
		{
			GLSLFunctionDefinitionData* psFunctionDefinitionData
		}
	}
}


// function
GLSLPrecisionQualifier GetCurrentPrecision(
	GLSLTreeContext* psGLSLTreeContext
	GLSLTypeSpecifier eTypeSpecifier
	)
{
	GLSLCompilerPrivateData* psCPD
	IMG_CHAR[256] acPrecModName
	IMG_UINT32 uSymbolTableID
	SymTable* psSymbolTable
	{
		GLSLPrecisionModifier* psPrecisionModifier
	}
}


// function PC=<0x49be0;0x49e3c>
IMG_BOOL ASTDecreaseScope(
	GLSLTreeContext* psGLSLTreeContext
	)
{
	// inlined
	// function
	GLSLPrecisionQualifier GetCurrentPrecision(
		GLSLTreeContext* psGLSLTreeContext
		GLSLTypeSpecifier eTypeSpecifier
		)
	{
		GLSLCompilerPrivateData* psCPD
		IMG_CHAR[256] acPrecModName
		IMG_UINT32 uSymbolTableID
		SymTable* psSymbolTable
		{
			GLSLPrecisionModifier* psPrecisionModifier
		}
	}

	// inlined
	// function
	GLSLPrecisionQualifier GetCurrentPrecision(
		GLSLTreeContext* psGLSLTreeContext
		GLSLTypeSpecifier eTypeSpecifier
		)
	{
		GLSLCompilerPrivateData* psCPD
		IMG_CHAR[256] acPrecModName
		IMG_UINT32 uSymbolTableID
		SymTable* psSymbolTable
		{
			GLSLPrecisionModifier* psPrecisionModifier
		}
	}

	// inlined
	// function
	GLSLPrecisionQualifier GetCurrentPrecision(
		GLSLTreeContext* psGLSLTreeContext
		GLSLTypeSpecifier eTypeSpecifier
		)
	{
		GLSLCompilerPrivateData* psCPD
		IMG_CHAR[256] acPrecModName
		IMG_UINT32 uSymbolTableID
		SymTable* psSymbolTable
		{
			GLSLPrecisionModifier* psPrecisionModifier
		}
	}

}


// function
IMG_BOOL CheckRule(
	ParseTreeEntry* psCurrent
	IMG_UINT32 uRuleNumber
	IMG_UINT32 uSyntaxSymbolName
	)
{
	ParseTreeEntry* psRule
	{
		{
			IMG_UINT32 i
			ParseTreeEntry* psRule
		}
	}
}


// function
GLSLNode* ASTProcessConstructorIdentifier(
	GLSLTreeContext* psGLSLTreeContext
	ParseTreeEntry* psConstructorIdentifierEntry
	ASTFunctionCallState* psFunctionCallState
	)
{
	GLSLCompilerPrivateData* psCPD
	GLSLNode* psConstructorNode
	{
		{
			IMG_UINT32 i
			ParseTreeEntry* psRule
		}
	}
	{
		{
			IMG_UINT32 i
			ParseTreeEntry* psRule
		}
	}
}


// function PC=<0x49e3c;0x4a318>
GLSLNode* ASTProcessFunctionIdentifier(
	GLSLTreeContext* psGLSLTreeContext
	ParseTreeEntry* psFunctionIdentifierEntry
	ASTFunctionCallState* psFunctionCallState
	)
{
	GLSLCompilerPrivateData* psCPD
	// inlined
	// function
	IMG_BOOL CheckRule(
		ParseTreeEntry* psCurrent
		IMG_UINT32 uRuleNumber
		IMG_UINT32 uSyntaxSymbolName
		)
	{
		ParseTreeEntry* psRule
		{
			{
				IMG_UINT32 i
				ParseTreeEntry* psRule
			}
		}
	}

	// inlined
	// function
	IMG_BOOL CheckRule(
		ParseTreeEntry* psCurrent
		IMG_UINT32 uRuleNumber
		IMG_UINT32 uSyntaxSymbolName
		)
	{
		ParseTreeEntry* psRule
		{
			{
				IMG_UINT32 i
				ParseTreeEntry* psRule
			}
		}
	}

	{
		ParseTreeEntry* psConstructorIdentifierEntry
		// inlined
		// function
		GLSLNode* ASTProcessConstructorIdentifier(
			GLSLTreeContext* psGLSLTreeContext
			ParseTreeEntry* psConstructorIdentifierEntry
			ASTFunctionCallState* psFunctionCallState
			)
		{
			GLSLCompilerPrivateData* psCPD
			GLSLNode* psConstructorNode
			{
				{
					IMG_UINT32 i
					ParseTreeEntry* psRule
				}
			}
			{
				{
					IMG_UINT32 i
					ParseTreeEntry* psRule
				}
			}
		}

		// inlined
		// function
		ParseTreeEntry* GetRule(
			ParseTreeEntry* psCurrent
			IMG_UINT32 uRuleNumber
			)
		{
			IMG_UINT32 i
			ParseTreeEntry* psRule
		}

	}
	{
		GLSLNode* psFunctionCallNode
		ParseTreeEntry* psIDENTIFIEREntry
		// inlined
		// function
		ParseTreeEntry* GetRule(
			ParseTreeEntry* psCurrent
			IMG_UINT32 uRuleNumber
			)
		{
			IMG_UINT32 i
			ParseTreeEntry* psRule
		}

	}
}


// function
GLSLNode* ASTProcessPostFixExpression(
	GLSLTreeContext* psGLSLTreeContext
	ParseTreeEntry* psPostFixExpressionEntry
	)
{
	GLSLCompilerPrivateData* psCPD
	GLSLNode* psChildNode
	ParseTreeEntry* psPostFixExpressionLREntry
	{
		ParseTreeEntry* psPrimaryExpressionEntry
		{
			{
				IMG_UINT32 i
				ParseTreeEntry* psRule
			}
		}
	}
	{
		ParseTreeEntry* psFunctionCallEntry
		{
			{
				IMG_UINT32 i
				ParseTreeEntry* psRule
			}
		}
	}
	{
		{
			IMG_UINT32 i
			ParseTreeEntry* psRule
		}
	}
}


// function
GLSLNode* ASTProcessPrimaryExpression(
	GLSLTreeContext* psGLSLTreeContext
	ParseTreeEntry* psPrimaryExpressionEntry
	)
{
	GLSLCompilerPrivateData* psCPD
	{
		ParseTreeEntry* psVariableIdentifierEntry
		{
			{
				IMG_UINT32 i
				ParseTreeEntry* psRule
			}
		}
	}
	{
		ParseTreeEntry* psINTCONSTANTEntry
		{
			{
				IMG_UINT32 i
				ParseTreeEntry* psRule
			}
		}
	}
	{
		ParseTreeEntry* psFLOATCONSTANTEntry
		{
			{
				IMG_UINT32 i
				ParseTreeEntry* psRule
			}
		}
	}
	{
		ParseTreeEntry* psBOOLCONSTANTEntry
		{
			{
				IMG_UINT32 i
				ParseTreeEntry* psRule
			}
		}
	}
	{
		ParseTreeEntry* psExpressionEntry
		GLSLNode* psExpressionNode
		{
			{
				IMG_UINT32 i
				ParseTreeEntry* psRule
			}
		}
	}
	{
		{
			IMG_UINT32 i
			ParseTreeEntry* psRule
		}
	}
}


// function
GLSLNode* ASTProcessVariableIdentifier(
	GLSLTreeContext* psGLSLTreeContext
	ParseTreeEntry* psVariableIdentifierEntry
	)
{
	ParseTreeEntry* psIDENTIFIEREntry
	{
		{
			IMG_UINT32 i
			ParseTreeEntry* psRule
		}
	}
}


// function
GLSLNode* ASTCreateIDENTIFIERUseNode(
	GLSLTreeContext* psGLSLTreeContext
	ParseTreeEntry* psIDENTIFIEREntry
	)
{
}


// function
GLSLNode* ASTCreateINTCONSTANTNode(
	GLSLTreeContext* psGLSLTreeContext
	ParseTreeEntry* psINTCONSTANTEntry
	)
{
	GLSLCompilerPrivateData* psCPD
	GLSLNode* psIDENTIFIERNode
	IMG_CHAR* pszName
	IMG_INT32 iData
	{
	}
}


// function
GLSLNode* ASTCreateFLOATCONSTANTNode(
	GLSLTreeContext* psGLSLTreeContext
	ParseTreeEntry* psFLOATCONSTANTEntry
	)
{
	GLSLCompilerPrivateData* psCPD
	GLSLNode* psIDENTIFIERNode
	IMG_CHAR* pszName
	IMG_FLOAT fData
	{
		IMG_CHAR cLastChar
	}
	{
	}
}


// function
GLSLNode* ASTCreateBOOLCONSTANTNode(
	GLSLTreeContext* psGLSLTreeContext
	ParseTreeEntry* psBOOLCONSTANTEntry
	)
{
	GLSLCompilerPrivateData* psCPD
	GLSLNode* psIDENTIFIERNode
	IMG_CHAR* pszName
	IMG_BOOL bData
	{
		size_t __s1_len
		size_t __s2_len
		{
			const unsigned char* __s1
			int __result
		}
	}
	{
		size_t __s1_len
		size_t __s2_len
		{
			const unsigned char* __s1
			int __result
		}
	}
}


// function
GLSLNode* ASTProcessFunctionCall(
	GLSLTreeContext* psGLSLTreeContext
	ParseTreeEntry* psFunctionCallEntry
	)
{
	GLSLCompilerPrivateData* psCPD
	ParseTreeEntry* psFunctionCallGenericEntry
	GLSLNode* psFunctionCallNode
	ASTFunctionCallState sFunctionCallState
	IMG_UINT32 uFunctionDefinitionSymbolTableID
	GLSLFunctionCallData sFunctionCallData
	GLSLFunctionDefinitionData* psFunctionDefinitionData
	IMG_CHAR[256] acFunctionCallName
	IMG_CHAR[256] acConstructorName
	IMG_CHAR* pszFunctionName
	{
		IMG_UINT32 i
		GLSLFullySpecifiedType* psFullySpecifiedTypes
		{
			GLSLArrayStatus eArrayStatus
		}
	}
	{
		{
			IMG_UINT32 i
			ParseTreeEntry* psRule
		}
	}
}


// function
GLSLNode* ASTProcessFunctionCallGeneric(
	GLSLTreeContext* psGLSLTreeContext
	ParseTreeEntry* psFunctionCallGenericEntry
	ASTFunctionCallState* psFunctionCallState
	)
{
	GLSLCompilerPrivateData* psCPD
	{
		ParseTreeEntry* psFunctionCallHeaderWithParametersEntry
		{
			{
				IMG_UINT32 i
				ParseTreeEntry* psRule
			}
		}
	}
	{
		ParseTreeEntry* psFunctionCallHeaderNoParametersEntry
		{
			{
				IMG_UINT32 i
				ParseTreeEntry* psRule
			}
		}
	}
}


// function
GLSLNode* ASTProcessFunctionCallHeaderWithParameters(
	GLSLTreeContext* psGLSLTreeContext
	ParseTreeEntry* psFunctionCallHeaderWithParametersEntry
	ASTFunctionCallState* psFunctionCallState
	)
{
	ParseTreeEntry* psFunctionCallHeaderEntry
	ParseTreeEntry* psAssignmentExpressionEntry
	ParseTreeEntry* psFunctionCallHeaderWithParametersLREntry
	GLSLNode* psFunctionCallNode
	{
		GLSLNode* psAssignmentExpressionNode
		GLSLNode* psExpressionNode
		{
			{
				IMG_UINT32 i
				ParseTreeEntry* psRule
			}
		}
		{
			{
				IMG_UINT32 i
				ParseTreeEntry* psRule
			}
		}
	}
	{
		{
			IMG_UINT32 i
			ParseTreeEntry* psRule
		}
	}
	{
		{
			IMG_UINT32 i
			ParseTreeEntry* psRule
		}
	}
	{
		{
			IMG_UINT32 i
			ParseTreeEntry* psRule
		}
	}
}


// function
GLSLNode* ASTProcessFunctionCallHeader(
	GLSLTreeContext* psGLSLTreeContext
	ParseTreeEntry* psFunctionCallHeaderEntry
	ASTFunctionCallState* psFunctionCallState
	)
{
	ParseTreeEntry* psFunctionIdentifierEntry
	{
		{
			IMG_UINT32 i
			ParseTreeEntry* psRule
		}
	}
}


// function
GLSLNode* ASTProcessFunctionCallHeaderNoParameters(
	GLSLTreeContext* psGLSLTreeContext
	ParseTreeEntry* psFunctionCallHeaderNoParametersEntry
	ASTFunctionCallState* psFunctionCallState
	)
{
	ParseTreeEntry* psFunctionCallHeaderEntry
	{
		{
			IMG_UINT32 i
			ParseTreeEntry* psRule
		}
	}
}


// function
IMG_UINT32 ASTFindFunction(
	GLSLTreeContext* psGLSLTreeContext
	GLSLNode* psFunctionCallNode
	IMG_CHAR* pszFunctionName
	GLSLFullySpecifiedType* psFullySpecifiedTypes
	)
{
	GLSLCompilerPrivateData* psCPD
	IMG_BOOL bFoundFunction
	IMG_UINT32 uFunctionDefinitionSymbolTableID
	IMG_CHAR* pszHashedFunctionName
	IMG_UINT32 uNumParams
	GLSLFunctionDefinitionData* psFunctionData
	{
		IMG_CHAR[280] acConstructorName
	}
	{
		IMG_UINT32 i
		IMG_UINT32 j
		IMG_UINT32 uNumberFunctionsFound
		IMG_UINT32 uNumberIntParams
		IMG_UINT32 uNumberOfCombinations
		IMG_UINT32* puIntParams
		IMG_UINT32 uTempFunctionDefinitionSymbolTableID
		{
			IMG_UINT32 uParamIndex
		}
		{
			IMG_UINT32 uParamIndex
		}
	}
	{
		const IMG_CHAR* pszRequiredExtensionName
	}
}


// function
IMG_BOOL ASTRegisterFunctionCall(
	GLSLTreeContext* psGLSLTreeContext
	GLSLFunctionDefinitionData* psCalledFunctionData
	IMG_UINT32 uCalledFunctionSymbolTableID
	)
{
	GLSLCompilerPrivateData* psCPD
	GLSLFunctionDefinitionData* psCurrentFnData
}


// function
GLSLNode* ASTProcessUnaryOperator(
	GLSLTreeContext* psGLSLTreeContext
	ParseTreeEntry* psUnaryOperatorEntry
	)
{
	GLSLCompilerPrivateData* psCPD
	GLSLNodeType eNodeType
	GLSLNode* psUnaryOperatorNode
	{
		{
			IMG_UINT32 i
			ParseTreeEntry* psRule
		}
	}
	{
		{
			IMG_UINT32 i
			ParseTreeEntry* psRule
		}
	}
}


// function PC=<0x4a318;0x4bdb8>
GLSLNode* ASTProcessUnaryExpression(
	GLSLTreeContext* psGLSLTreeContext
	ParseTreeEntry* psUnaryExpressionEntry
	)
{
	GLSLCompilerPrivateData* psCPD
	GLSLNode* psParentNode
	GLSLNode* psRecursiveUnaryExpressionNode
	ParseTreeEntry* psRecursiveUnaryExpressionEntry
	// inlined
	// function
	ParseTreeEntry* GetRule(
		ParseTreeEntry* psCurrent
		IMG_UINT32 uRuleNumber
		)
	{
		IMG_UINT32 i
		ParseTreeEntry* psRule
	}

	// inlined
	// function
	IMG_BOOL CheckRule(
		ParseTreeEntry* psCurrent
		IMG_UINT32 uRuleNumber
		IMG_UINT32 uSyntaxSymbolName
		)
	{
		ParseTreeEntry* psRule
		{
			{
				IMG_UINT32 i
				ParseTreeEntry* psRule
			}
		}
	}

	// inlined
	// function
	IMG_BOOL CheckRule(
		ParseTreeEntry* psCurrent
		IMG_UINT32 uRuleNumber
		IMG_UINT32 uSyntaxSymbolName
		)
	{
		ParseTreeEntry* psRule
		{
			{
				IMG_UINT32 i
				ParseTreeEntry* psRule
			}
		}
	}

	// inlined
	// function
	IMG_BOOL CheckRule(
		ParseTreeEntry* psCurrent
		IMG_UINT32 uRuleNumber
		IMG_UINT32 uSyntaxSymbolName
		)
	{
		ParseTreeEntry* psRule
		{
			{
				IMG_UINT32 i
				ParseTreeEntry* psRule
			}
		}
	}

	// inlined
	// function
	IMG_BOOL CheckRule(
		ParseTreeEntry* psCurrent
		IMG_UINT32 uRuleNumber
		IMG_UINT32 uSyntaxSymbolName
		)
	{
		ParseTreeEntry* psRule
		{
			{
				IMG_UINT32 i
				ParseTreeEntry* psRule
			}
		}
	}

	{
		GLSLNode* psPreDecNode
		// inlined
		// function
		ParseTreeEntry* GetRule(
			ParseTreeEntry* psCurrent
			IMG_UINT32 uRuleNumber
			)
		{
			IMG_UINT32 i
			ParseTreeEntry* psRule
		}

	}
	{
		ParseTreeEntry* psPostFixExpression
		// inlined
		// function
		GLSLNode* ASTProcessPostFixExpression(
			GLSLTreeContext* psGLSLTreeContext
			ParseTreeEntry* psPostFixExpressionEntry
			)
		{
			GLSLCompilerPrivateData* psCPD
			GLSLNode* psChildNode
			ParseTreeEntry* psPostFixExpressionLREntry
			{
				ParseTreeEntry* psPrimaryExpressionEntry
				{
					{
						IMG_UINT32 i
						ParseTreeEntry* psRule
					}
				}
			}
			{
				ParseTreeEntry* psFunctionCallEntry
				{
					{
						IMG_UINT32 i
						ParseTreeEntry* psRule
					}
				}
			}
			{
				{
					IMG_UINT32 i
					ParseTreeEntry* psRule
				}
			}
		}

		// inlined
		// function
		ParseTreeEntry* GetRule(
			ParseTreeEntry* psCurrent
			IMG_UINT32 uRuleNumber
			)
		{
			IMG_UINT32 i
			ParseTreeEntry* psRule
		}

	}
	{
		GLSLNode* psPreIncNode
		// inlined
		// function
		ParseTreeEntry* GetRule(
			ParseTreeEntry* psCurrent
			IMG_UINT32 uRuleNumber
			)
		{
			IMG_UINT32 i
			ParseTreeEntry* psRule
		}

	}
	{
		GLSLNode* psUnaryOperatorNode
		ParseTreeEntry* psUnaryOperatorEntry
		// inlined
		// function
		GLSLNode* ASTProcessUnaryOperator(
			GLSLTreeContext* psGLSLTreeContext
			ParseTreeEntry* psUnaryOperatorEntry
			)
		{
			GLSLCompilerPrivateData* psCPD
			GLSLNodeType eNodeType
			GLSLNode* psUnaryOperatorNode
			{
				{
					IMG_UINT32 i
					ParseTreeEntry* psRule
				}
			}
			{
				{
					IMG_UINT32 i
					ParseTreeEntry* psRule
				}
			}
		}

		// inlined
		// function
		ParseTreeEntry* GetRule(
			ParseTreeEntry* psCurrent
			IMG_UINT32 uRuleNumber
			)
		{
			IMG_UINT32 i
			ParseTreeEntry* psRule
		}

	}
}


// function PC=<0x4bdb8;0x4c0f0>
GLSLNode* ASTProcessMultiplicativeExpressionLR(
	GLSLTreeContext* psGLSLTreeContext
	ParseTreeEntry* psMultiplicativeExpressionLREntry
	GLSLNode* psLeftUnaryExpressionNode
	)
{
	GLSLCompilerPrivateData* psCPD
	IMG_UINT32 uSYMGLSL_multiplicative_expression_LR
	IMG_UINT32 uSyntaxSymbolName
	// inlined
	// function
	ParseTreeEntry* GetRule(
		ParseTreeEntry* psCurrent
		IMG_UINT32 uRuleNumber
		)
	{
		IMG_UINT32 i
		ParseTreeEntry* psRule
	}

	{
		ParseTreeEntry* psUnaryExpressionEntry
		ParseTreeEntry* psRecursiveMultiplicativeExpressionLREntry
		GLSLNode* psRightUnaryExpressionNode
		GLSLNode* psMultiplicativeExpressionLRNode
		GLSLNodeType eNodeType
		// inlined
		// function
		ParseTreeEntry* GetRule(
			ParseTreeEntry* psCurrent
			IMG_UINT32 uRuleNumber
			)
		{
			IMG_UINT32 i
			ParseTreeEntry* psRule
		}

		// inlined
		// function
		ParseTreeEntry* GetRule(
			ParseTreeEntry* psCurrent
			IMG_UINT32 uRuleNumber
			)
		{
			IMG_UINT32 i
			ParseTreeEntry* psRule
		}

		// inlined
		// function
		ParseTreeEntry* GetRule(
			ParseTreeEntry* psCurrent
			IMG_UINT32 uRuleNumber
			)
		{
			IMG_UINT32 i
			ParseTreeEntry* psRule
		}

	}
}


// function PC=<0x4c0f0;0x4c258>
GLSLNode* ASTProcessMultiplicativeExpression(
	GLSLTreeContext* psGLSLTreeContext
	ParseTreeEntry* psMultiplicativeExpressionEntry
	)
{
	ParseTreeEntry* psUnaryExpressionEntry
	ParseTreeEntry* psMultiplicativeExpressionLREntry
	GLSLNode* psUnaryExpressionNode
	// inlined
	// function
	ParseTreeEntry* GetRule(
		ParseTreeEntry* psCurrent
		IMG_UINT32 uRuleNumber
		)
	{
		IMG_UINT32 i
		ParseTreeEntry* psRule
	}

	// inlined
	// function
	ParseTreeEntry* GetRule(
		ParseTreeEntry* psCurrent
		IMG_UINT32 uRuleNumber
		)
	{
		IMG_UINT32 i
		ParseTreeEntry* psRule
	}

}


// function PC=<0x4c258;0x4c580>
GLSLNode* ASTProcessAdditiveExpressionLR(
	GLSLTreeContext* psGLSLTreeContext
	ParseTreeEntry* psAdditiveExpressionLREntry
	GLSLNode* psLeftMultiplicativeExpressionNode
	)
{
	GLSLCompilerPrivateData* psCPD
	IMG_UINT32 uSYMGLSL_additive_expression_LR
	IMG_UINT32 uSyntaxSymbolName
	// inlined
	// function
	ParseTreeEntry* GetRule(
		ParseTreeEntry* psCurrent
		IMG_UINT32 uRuleNumber
		)
	{
		IMG_UINT32 i
		ParseTreeEntry* psRule
	}

	{
		ParseTreeEntry* psMultiplicativeExpressionEntry
		ParseTreeEntry* psRecursiveAdditiveExpressionLREntry
		GLSLNode* psRightMultiplicativeExpressionNode
		GLSLNode* psAdditiveExpressionLRNode
		GLSLNodeType eNodeType
		// inlined
		// function
		ParseTreeEntry* GetRule(
			ParseTreeEntry* psCurrent
			IMG_UINT32 uRuleNumber
			)
		{
			IMG_UINT32 i
			ParseTreeEntry* psRule
		}

		// inlined
		// function
		ParseTreeEntry* GetRule(
			ParseTreeEntry* psCurrent
			IMG_UINT32 uRuleNumber
			)
		{
			IMG_UINT32 i
			ParseTreeEntry* psRule
		}

		// inlined
		// function
		ParseTreeEntry* GetRule(
			ParseTreeEntry* psCurrent
			IMG_UINT32 uRuleNumber
			)
		{
			IMG_UINT32 i
			ParseTreeEntry* psRule
		}

	}
}


// function PC=<0x4c580;0x4c6e8>
GLSLNode* ASTProcessAdditiveExpression(
	GLSLTreeContext* psGLSLTreeContext
	ParseTreeEntry* psAdditiveExpressionEntry
	)
{
	ParseTreeEntry* psMultiplicativeExpressionEntry
	ParseTreeEntry* psAdditiveExpressionLREntry
	GLSLNode* psMultiplicativeExpressionNode
	// inlined
	// function
	ParseTreeEntry* GetRule(
		ParseTreeEntry* psCurrent
		IMG_UINT32 uRuleNumber
		)
	{
		IMG_UINT32 i
		ParseTreeEntry* psRule
	}

	// inlined
	// function
	ParseTreeEntry* GetRule(
		ParseTreeEntry* psCurrent
		IMG_UINT32 uRuleNumber
		)
	{
		IMG_UINT32 i
		ParseTreeEntry* psRule
	}

}


// function PC=<0x4c6e8;0x4ca10>
GLSLNode* ASTProcessShiftExpressionLR(
	GLSLTreeContext* psGLSLTreeContext
	ParseTreeEntry* psShiftExpressionLREntry
	GLSLNode* psLeftAdditiveExpressionNode
	)
{
	GLSLCompilerPrivateData* psCPD
	IMG_UINT32 uSYMGLSL_shift_expression_LR
	IMG_UINT32 uSyntaxSymbolName
	// inlined
	// function
	ParseTreeEntry* GetRule(
		ParseTreeEntry* psCurrent
		IMG_UINT32 uRuleNumber
		)
	{
		IMG_UINT32 i
		ParseTreeEntry* psRule
	}

	{
		ParseTreeEntry* psAdditiveExpressionEntry
		ParseTreeEntry* psRecursiveShiftExpressionLREntry
		GLSLNode* psRightAdditiveExpressionNode
		GLSLNode* psShiftExpressionLRNode
		GLSLNodeType eNodeType
		// inlined
		// function
		ParseTreeEntry* GetRule(
			ParseTreeEntry* psCurrent
			IMG_UINT32 uRuleNumber
			)
		{
			IMG_UINT32 i
			ParseTreeEntry* psRule
		}

		// inlined
		// function
		ParseTreeEntry* GetRule(
			ParseTreeEntry* psCurrent
			IMG_UINT32 uRuleNumber
			)
		{
			IMG_UINT32 i
			ParseTreeEntry* psRule
		}

		// inlined
		// function
		ParseTreeEntry* GetRule(
			ParseTreeEntry* psCurrent
			IMG_UINT32 uRuleNumber
			)
		{
			IMG_UINT32 i
			ParseTreeEntry* psRule
		}

	}
}


// function PC=<0x4ca10;0x4cb78>
GLSLNode* ASTProcessShiftExpression(
	GLSLTreeContext* psGLSLTreeContext
	ParseTreeEntry* psShiftExpressionEntry
	)
{
	ParseTreeEntry* psAdditiveExpressionEntry
	ParseTreeEntry* psShiftExpressionLREntry
	GLSLNode* psAdditiveExpressionNode
	// inlined
	// function
	ParseTreeEntry* GetRule(
		ParseTreeEntry* psCurrent
		IMG_UINT32 uRuleNumber
		)
	{
		IMG_UINT32 i
		ParseTreeEntry* psRule
	}

	// inlined
	// function
	ParseTreeEntry* GetRule(
		ParseTreeEntry* psCurrent
		IMG_UINT32 uRuleNumber
		)
	{
		IMG_UINT32 i
		ParseTreeEntry* psRule
	}

}


// function PC=<0x4cb78;0x4cec4>
GLSLNode* ASTProcessRelationalExpressionLR(
	GLSLTreeContext* psGLSLTreeContext
	ParseTreeEntry* psRelationalExpressionLREntry
	GLSLNode* psLeftShiftExpressionNode
	)
{
	GLSLCompilerPrivateData* psCPD
	IMG_UINT32 uSYMGLSL_relational_expression_LR
	IMG_UINT32 uSyntaxSymbolName
	// inlined
	// function
	ParseTreeEntry* GetRule(
		ParseTreeEntry* psCurrent
		IMG_UINT32 uRuleNumber
		)
	{
		IMG_UINT32 i
		ParseTreeEntry* psRule
	}

	{
		ParseTreeEntry* psShiftExpressionEntry
		ParseTreeEntry* psRecursiveRelationalExpressionLREntry
		GLSLNode* psRightShiftExpressionNode
		GLSLNode* psRelationalExpressionLRNode
		GLSLNodeType eNodeType
		// inlined
		// function
		ParseTreeEntry* GetRule(
			ParseTreeEntry* psCurrent
			IMG_UINT32 uRuleNumber
			)
		{
			IMG_UINT32 i
			ParseTreeEntry* psRule
		}

		// inlined
		// function
		ParseTreeEntry* GetRule(
			ParseTreeEntry* psCurrent
			IMG_UINT32 uRuleNumber
			)
		{
			IMG_UINT32 i
			ParseTreeEntry* psRule
		}

		// inlined
		// function
		ParseTreeEntry* GetRule(
			ParseTreeEntry* psCurrent
			IMG_UINT32 uRuleNumber
			)
		{
			IMG_UINT32 i
			ParseTreeEntry* psRule
		}

	}
}


// function PC=<0x4cec4;0x4d02c>
GLSLNode* ASTProcessRelationalExpression(
	GLSLTreeContext* psGLSLTreeContext
	ParseTreeEntry* psRelationalExpressionEntry
	)
{
	ParseTreeEntry* psShiftExpressionEntry
	ParseTreeEntry* psRelationalExpressionLREntry
	GLSLNode* psShiftExpressionNode
	// inlined
	// function
	ParseTreeEntry* GetRule(
		ParseTreeEntry* psCurrent
		IMG_UINT32 uRuleNumber
		)
	{
		IMG_UINT32 i
		ParseTreeEntry* psRule
	}

	// inlined
	// function
	ParseTreeEntry* GetRule(
		ParseTreeEntry* psCurrent
		IMG_UINT32 uRuleNumber
		)
	{
		IMG_UINT32 i
		ParseTreeEntry* psRule
	}

}


// function PC=<0x4d02c;0x4d354>
GLSLNode* ASTProcessEqualityExpressionLR(
	GLSLTreeContext* psGLSLTreeContext
	ParseTreeEntry* psEqualityExpressionLREntry
	GLSLNode* psLeftRelationalExpressionNode
	)
{
	GLSLCompilerPrivateData* psCPD
	IMG_UINT32 uSYMGLSL_equality_expression_LR
	IMG_UINT32 uSyntaxSymbolName
	// inlined
	// function
	ParseTreeEntry* GetRule(
		ParseTreeEntry* psCurrent
		IMG_UINT32 uRuleNumber
		)
	{
		IMG_UINT32 i
		ParseTreeEntry* psRule
	}

	{
		ParseTreeEntry* psRelationalExpressionEntry
		ParseTreeEntry* psRecursiveEqualityExpressionLREntry
		GLSLNode* psRightRelationalExpressionNode
		GLSLNode* psEqualityExpressionLRNode
		GLSLNodeType eNodeType
		// inlined
		// function
		ParseTreeEntry* GetRule(
			ParseTreeEntry* psCurrent
			IMG_UINT32 uRuleNumber
			)
		{
			IMG_UINT32 i
			ParseTreeEntry* psRule
		}

		// inlined
		// function
		ParseTreeEntry* GetRule(
			ParseTreeEntry* psCurrent
			IMG_UINT32 uRuleNumber
			)
		{
			IMG_UINT32 i
			ParseTreeEntry* psRule
		}

		// inlined
		// function
		ParseTreeEntry* GetRule(
			ParseTreeEntry* psCurrent
			IMG_UINT32 uRuleNumber
			)
		{
			IMG_UINT32 i
			ParseTreeEntry* psRule
		}

	}
}


// function PC=<0x4d354;0x4d4bc>
GLSLNode* ASTProcessEqualityExpression(
	GLSLTreeContext* psGLSLTreeContext
	ParseTreeEntry* psEqualityExpressionEntry
	)
{
	ParseTreeEntry* psRelationalExpressionEntry
	ParseTreeEntry* psEqualityExpressionLREntry
	GLSLNode* psRelationalExpressionNode
	// inlined
	// function
	ParseTreeEntry* GetRule(
		ParseTreeEntry* psCurrent
		IMG_UINT32 uRuleNumber
		)
	{
		IMG_UINT32 i
		ParseTreeEntry* psRule
	}

	// inlined
	// function
	ParseTreeEntry* GetRule(
		ParseTreeEntry* psCurrent
		IMG_UINT32 uRuleNumber
		)
	{
		IMG_UINT32 i
		ParseTreeEntry* psRule
	}

}


// function PC=<0x4d4bc;0x4d774>
GLSLNode* ASTProcessAndExpressionLR(
	GLSLTreeContext* psGLSLTreeContext
	ParseTreeEntry* psAndExpressionLREntry
	GLSLNode* psLeftEqualityExpressionNode
	)
{
	GLSLCompilerPrivateData* psCPD
	IMG_UINT32 uSYMGLSL_and_expression_LR
	// inlined
	// function
	IMG_BOOL CheckRule(
		ParseTreeEntry* psCurrent
		IMG_UINT32 uRuleNumber
		IMG_UINT32 uSyntaxSymbolName
		)
	{
		ParseTreeEntry* psRule
		{
			{
				IMG_UINT32 i
				ParseTreeEntry* psRule
			}
		}
	}

	{
		ParseTreeEntry* psEqualityExpressionEntry
		ParseTreeEntry* psRecursiveAndExpressionLREntry
		GLSLNode* psRightEqualityExpressionNode
		GLSLNode* psAndExpressionLRNode
		// inlined
		// function
		ParseTreeEntry* GetRule(
			ParseTreeEntry* psCurrent
			IMG_UINT32 uRuleNumber
			)
		{
			IMG_UINT32 i
			ParseTreeEntry* psRule
		}

		// inlined
		// function
		ParseTreeEntry* GetRule(
			ParseTreeEntry* psCurrent
			IMG_UINT32 uRuleNumber
			)
		{
			IMG_UINT32 i
			ParseTreeEntry* psRule
		}

		// inlined
		// function
		ParseTreeEntry* GetRule(
			ParseTreeEntry* psCurrent
			IMG_UINT32 uRuleNumber
			)
		{
			IMG_UINT32 i
			ParseTreeEntry* psRule
		}

	}
}


// function PC=<0x4d774;0x4d8dc>
GLSLNode* ASTProcessAndExpression(
	GLSLTreeContext* psGLSLTreeContext
	ParseTreeEntry* psAndExpressionEntry
	)
{
	ParseTreeEntry* psEqualityExpressionEntry
	ParseTreeEntry* psAndExpressionLREntry
	GLSLNode* psEqualityExpressionNode
	// inlined
	// function
	ParseTreeEntry* GetRule(
		ParseTreeEntry* psCurrent
		IMG_UINT32 uRuleNumber
		)
	{
		IMG_UINT32 i
		ParseTreeEntry* psRule
	}

	// inlined
	// function
	ParseTreeEntry* GetRule(
		ParseTreeEntry* psCurrent
		IMG_UINT32 uRuleNumber
		)
	{
		IMG_UINT32 i
		ParseTreeEntry* psRule
	}

}


// function PC=<0x4d8dc;0x4db94>
GLSLNode* ASTProcessExclusiveOrExpressionLR(
	GLSLTreeContext* psGLSLTreeContext
	ParseTreeEntry* psExclusiveOrExpressionLREntry
	GLSLNode* psLeftAndExpressionNode
	)
{
	GLSLCompilerPrivateData* psCPD
	IMG_UINT32 uSYMGLSL_exclusive_or_expression_LR
	// inlined
	// function
	IMG_BOOL CheckRule(
		ParseTreeEntry* psCurrent
		IMG_UINT32 uRuleNumber
		IMG_UINT32 uSyntaxSymbolName
		)
	{
		ParseTreeEntry* psRule
		{
			{
				IMG_UINT32 i
				ParseTreeEntry* psRule
			}
		}
	}

	{
		ParseTreeEntry* psAndExpressionEntry
		ParseTreeEntry* psRecursiveExclusiveOrExpressionLREntry
		GLSLNode* psRightAndExpressionNode
		GLSLNode* psExclusiveOrExpressionLRNode
		// inlined
		// function
		ParseTreeEntry* GetRule(
			ParseTreeEntry* psCurrent
			IMG_UINT32 uRuleNumber
			)
		{
			IMG_UINT32 i
			ParseTreeEntry* psRule
		}

		// inlined
		// function
		ParseTreeEntry* GetRule(
			ParseTreeEntry* psCurrent
			IMG_UINT32 uRuleNumber
			)
		{
			IMG_UINT32 i
			ParseTreeEntry* psRule
		}

		// inlined
		// function
		ParseTreeEntry* GetRule(
			ParseTreeEntry* psCurrent
			IMG_UINT32 uRuleNumber
			)
		{
			IMG_UINT32 i
			ParseTreeEntry* psRule
		}

	}
}


// function PC=<0x4db94;0x4dcfc>
GLSLNode* ASTProcessExclusiveOrExpression(
	GLSLTreeContext* psGLSLTreeContext
	ParseTreeEntry* psExclusiveOrExpressionEntry
	)
{
	ParseTreeEntry* psAndExpressionEntry
	ParseTreeEntry* psExclusiveOrExpressionLREntry
	GLSLNode* psAndExpressionNode
	// inlined
	// function
	ParseTreeEntry* GetRule(
		ParseTreeEntry* psCurrent
		IMG_UINT32 uRuleNumber
		)
	{
		IMG_UINT32 i
		ParseTreeEntry* psRule
	}

	// inlined
	// function
	ParseTreeEntry* GetRule(
		ParseTreeEntry* psCurrent
		IMG_UINT32 uRuleNumber
		)
	{
		IMG_UINT32 i
		ParseTreeEntry* psRule
	}

}


// function PC=<0x4dcfc;0x4dfb4>
GLSLNode* ASTProcessInclusiveOrExpressionLR(
	GLSLTreeContext* psGLSLTreeContext
	ParseTreeEntry* psInclusiveOrExpressionLREntry
	GLSLNode* psLeftExclusiveOrExpressionNode
	)
{
	GLSLCompilerPrivateData* psCPD
	IMG_UINT32 uSYMGLSL_inclusive_or_expression_LR
	// inlined
	// function
	IMG_BOOL CheckRule(
		ParseTreeEntry* psCurrent
		IMG_UINT32 uRuleNumber
		IMG_UINT32 uSyntaxSymbolName
		)
	{
		ParseTreeEntry* psRule
		{
			{
				IMG_UINT32 i
				ParseTreeEntry* psRule
			}
		}
	}

	{
		ParseTreeEntry* psExclusiveOrExpressionEntry
		ParseTreeEntry* psRecursiveInclusiveOrExpressionLREntry
		GLSLNode* psRightExclusiveOrExpressionNode
		GLSLNode* psInclusiveOrExpressionLRNode
		// inlined
		// function
		ParseTreeEntry* GetRule(
			ParseTreeEntry* psCurrent
			IMG_UINT32 uRuleNumber
			)
		{
			IMG_UINT32 i
			ParseTreeEntry* psRule
		}

		// inlined
		// function
		ParseTreeEntry* GetRule(
			ParseTreeEntry* psCurrent
			IMG_UINT32 uRuleNumber
			)
		{
			IMG_UINT32 i
			ParseTreeEntry* psRule
		}

		// inlined
		// function
		ParseTreeEntry* GetRule(
			ParseTreeEntry* psCurrent
			IMG_UINT32 uRuleNumber
			)
		{
			IMG_UINT32 i
			ParseTreeEntry* psRule
		}

	}
}


// function PC=<0x4dfb4;0x4e11c>
GLSLNode* ASTProcessInclusiveOrExpression(
	GLSLTreeContext* psGLSLTreeContext
	ParseTreeEntry* psInclusiveOrExpressionEntry
	)
{
	ParseTreeEntry* psExclusiveOrExpressionEntry
	ParseTreeEntry* psInclusiveOrExpressionLREntry
	GLSLNode* psExclusiveOrExpressionNode
	// inlined
	// function
	ParseTreeEntry* GetRule(
		ParseTreeEntry* psCurrent
		IMG_UINT32 uRuleNumber
		)
	{
		IMG_UINT32 i
		ParseTreeEntry* psRule
	}

	// inlined
	// function
	ParseTreeEntry* GetRule(
		ParseTreeEntry* psCurrent
		IMG_UINT32 uRuleNumber
		)
	{
		IMG_UINT32 i
		ParseTreeEntry* psRule
	}

}


// function PC=<0x4e11c;0x4e3d4>
GLSLNode* ASTProcessLogicalAndExpressionLR(
	GLSLTreeContext* psGLSLTreeContext
	ParseTreeEntry* psLogicalAndExpressionLREntry
	GLSLNode* psLeftInclusiveOrExpressionNode
	)
{
	GLSLCompilerPrivateData* psCPD
	IMG_UINT32 uSYMGLSL_logical_and_expression_LR
	// inlined
	// function
	IMG_BOOL CheckRule(
		ParseTreeEntry* psCurrent
		IMG_UINT32 uRuleNumber
		IMG_UINT32 uSyntaxSymbolName
		)
	{
		ParseTreeEntry* psRule
		{
			{
				IMG_UINT32 i
				ParseTreeEntry* psRule
			}
		}
	}

	{
		ParseTreeEntry* psInclusiveOrExpressionEntry
		ParseTreeEntry* psRecursiveLogicalAndExpressionLREntry
		GLSLNode* psRightInclusiveOrExpressionNode
		GLSLNode* psLogicalAndExpressionLRNode
		// inlined
		// function
		ParseTreeEntry* GetRule(
			ParseTreeEntry* psCurrent
			IMG_UINT32 uRuleNumber
			)
		{
			IMG_UINT32 i
			ParseTreeEntry* psRule
		}

		// inlined
		// function
		ParseTreeEntry* GetRule(
			ParseTreeEntry* psCurrent
			IMG_UINT32 uRuleNumber
			)
		{
			IMG_UINT32 i
			ParseTreeEntry* psRule
		}

		// inlined
		// function
		ParseTreeEntry* GetRule(
			ParseTreeEntry* psCurrent
			IMG_UINT32 uRuleNumber
			)
		{
			IMG_UINT32 i
			ParseTreeEntry* psRule
		}

	}
}


// function PC=<0x4e3d4;0x4e53c>
GLSLNode* ASTProcessLogicalAndExpression(
	GLSLTreeContext* psGLSLTreeContext
	ParseTreeEntry* psLogicalAndExpressionEntry
	)
{
	ParseTreeEntry* psInclusiveOrExpressionEntry
	ParseTreeEntry* psLogicalAndExpressionLREntry
	GLSLNode* psInclusiveOrExpressionNode
	// inlined
	// function
	ParseTreeEntry* GetRule(
		ParseTreeEntry* psCurrent
		IMG_UINT32 uRuleNumber
		)
	{
		IMG_UINT32 i
		ParseTreeEntry* psRule
	}

	// inlined
	// function
	ParseTreeEntry* GetRule(
		ParseTreeEntry* psCurrent
		IMG_UINT32 uRuleNumber
		)
	{
		IMG_UINT32 i
		ParseTreeEntry* psRule
	}

}


// function PC=<0x4e53c;0x4e7f4>
GLSLNode* ASTProcessLogicalXorExpressionLR(
	GLSLTreeContext* psGLSLTreeContext
	ParseTreeEntry* psLogicalXorExpressionLREntry
	GLSLNode* psLeftLogicalAndExpressionNode
	)
{
	GLSLCompilerPrivateData* psCPD
	IMG_UINT32 uSYMGLSL_logical_xor_expression_LR
	// inlined
	// function
	IMG_BOOL CheckRule(
		ParseTreeEntry* psCurrent
		IMG_UINT32 uRuleNumber
		IMG_UINT32 uSyntaxSymbolName
		)
	{
		ParseTreeEntry* psRule
		{
			{
				IMG_UINT32 i
				ParseTreeEntry* psRule
			}
		}
	}

	{
		ParseTreeEntry* psLogicalAndExpressionEntry
		ParseTreeEntry* psRecursiveLogicalXorExpressionLREntry
		GLSLNode* psRightLogicalAndExpressionNode
		GLSLNode* psLogicalXorExpressionLRNode
		// inlined
		// function
		ParseTreeEntry* GetRule(
			ParseTreeEntry* psCurrent
			IMG_UINT32 uRuleNumber
			)
		{
			IMG_UINT32 i
			ParseTreeEntry* psRule
		}

		// inlined
		// function
		ParseTreeEntry* GetRule(
			ParseTreeEntry* psCurrent
			IMG_UINT32 uRuleNumber
			)
		{
			IMG_UINT32 i
			ParseTreeEntry* psRule
		}

		// inlined
		// function
		ParseTreeEntry* GetRule(
			ParseTreeEntry* psCurrent
			IMG_UINT32 uRuleNumber
			)
		{
			IMG_UINT32 i
			ParseTreeEntry* psRule
		}

	}
}


// function PC=<0x4e7f4;0x4e95c>
GLSLNode* ASTProcessLogicalXorExpression(
	GLSLTreeContext* psGLSLTreeContext
	ParseTreeEntry* psLogicalXorExpressionEntry
	)
{
	ParseTreeEntry* psLogicalAndExpressionEntry
	ParseTreeEntry* psLogicalXorExpressionLREntry
	GLSLNode* psLogicalAndExpressionNode
	// inlined
	// function
	ParseTreeEntry* GetRule(
		ParseTreeEntry* psCurrent
		IMG_UINT32 uRuleNumber
		)
	{
		IMG_UINT32 i
		ParseTreeEntry* psRule
	}

	// inlined
	// function
	ParseTreeEntry* GetRule(
		ParseTreeEntry* psCurrent
		IMG_UINT32 uRuleNumber
		)
	{
		IMG_UINT32 i
		ParseTreeEntry* psRule
	}

}


// function PC=<0x4e95c;0x4ec14>
GLSLNode* ASTProcessLogicalOrExpressionLR(
	GLSLTreeContext* psGLSLTreeContext
	ParseTreeEntry* psLogicalOrExpressionLREntry
	GLSLNode* psLeftLogicalXorExpressionNode
	)
{
	GLSLCompilerPrivateData* psCPD
	IMG_UINT32 uSYMGLSL_logical_or_expression_LR
	// inlined
	// function
	IMG_BOOL CheckRule(
		ParseTreeEntry* psCurrent
		IMG_UINT32 uRuleNumber
		IMG_UINT32 uSyntaxSymbolName
		)
	{
		ParseTreeEntry* psRule
		{
			{
				IMG_UINT32 i
				ParseTreeEntry* psRule
			}
		}
	}

	{
		ParseTreeEntry* psLogicalXorExpressionEntry
		ParseTreeEntry* psRecursiveLogicalOrExpressionLREntry
		GLSLNode* psRightLogicalXorExpressionNode
		GLSLNode* psLogicalOrExpressionLRNode
		// inlined
		// function
		ParseTreeEntry* GetRule(
			ParseTreeEntry* psCurrent
			IMG_UINT32 uRuleNumber
			)
		{
			IMG_UINT32 i
			ParseTreeEntry* psRule
		}

		// inlined
		// function
		ParseTreeEntry* GetRule(
			ParseTreeEntry* psCurrent
			IMG_UINT32 uRuleNumber
			)
		{
			IMG_UINT32 i
			ParseTreeEntry* psRule
		}

		// inlined
		// function
		ParseTreeEntry* GetRule(
			ParseTreeEntry* psCurrent
			IMG_UINT32 uRuleNumber
			)
		{
			IMG_UINT32 i
			ParseTreeEntry* psRule
		}

	}
}


// function
GLSLNode* ASTProcessLogicalOrExpression(
	GLSLTreeContext* psGLSLTreeContext
	ParseTreeEntry* psLogicalOrExpressionEntry
	)
{
	ParseTreeEntry* psLogicalXorExpressionEntry
	ParseTreeEntry* psLogicalOrExpressionLREntry
	GLSLNode* psLogicalXorExpressionNode
	{
		{
			IMG_UINT32 i
			ParseTreeEntry* psRule
		}
	}
	{
		{
			IMG_UINT32 i
			ParseTreeEntry* psRule
		}
	}
}


// function
GLSLNode* ASTProcessQuestionExpression(
	GLSLTreeContext* psGLSLTreeContext
	ParseTreeEntry* psQuestionExpressionEntry
	GLSLNode* psLogicalOrExpressionNode
	)
{
	ParseTreeEntry* psExpressionEntry
	ParseTreeEntry* psConditionalExpressionEntry
	GLSLNode* psQuestionNode
	GLSLNode*[2] psExpressionNode
	GLSLNode* psConditionalExpressionNode
	{
		{
			IMG_UINT32 i
			ParseTreeEntry* psRule
		}
	}
	{
		{
			IMG_UINT32 i
			ParseTreeEntry* psRule
		}
	}
}


// function PC=<0x4ec14;0x4f0c0>
GLSLNode* ASTProcessConditionalExpression(
	GLSLTreeContext* psGLSLTreeContext
	ParseTreeEntry* psConditionalExpressionEntry
	)
{
	ParseTreeEntry* psLogicalOrExpressionEntry
	ParseTreeEntry* psQuestionExpressionEntry
	GLSLNode* psLogicalOrExpressionNode
	// inlined
	// function
	GLSLNode* ASTProcessQuestionExpression(
		GLSLTreeContext* psGLSLTreeContext
		ParseTreeEntry* psQuestionExpressionEntry
		GLSLNode* psLogicalOrExpressionNode
		)
	{
		ParseTreeEntry* psExpressionEntry
		ParseTreeEntry* psConditionalExpressionEntry
		GLSLNode* psQuestionNode
		GLSLNode*[2] psExpressionNode
		GLSLNode* psConditionalExpressionNode
		{
			{
				IMG_UINT32 i
				ParseTreeEntry* psRule
			}
		}
		{
			{
				IMG_UINT32 i
				ParseTreeEntry* psRule
			}
		}
	}

	// inlined
	// function
	ParseTreeEntry* GetRule(
		ParseTreeEntry* psCurrent
		IMG_UINT32 uRuleNumber
		)
	{
		IMG_UINT32 i
		ParseTreeEntry* psRule
	}

	// inlined
	// function
	GLSLNode* ASTProcessLogicalOrExpression(
		GLSLTreeContext* psGLSLTreeContext
		ParseTreeEntry* psLogicalOrExpressionEntry
		)
	{
		ParseTreeEntry* psLogicalXorExpressionEntry
		ParseTreeEntry* psLogicalOrExpressionLREntry
		GLSLNode* psLogicalXorExpressionNode
		{
			{
				IMG_UINT32 i
				ParseTreeEntry* psRule
			}
		}
		{
			{
				IMG_UINT32 i
				ParseTreeEntry* psRule
			}
		}
	}

	// inlined
	// function
	IMG_BOOL CheckRule(
		ParseTreeEntry* psCurrent
		IMG_UINT32 uRuleNumber
		IMG_UINT32 uSyntaxSymbolName
		)
	{
		ParseTreeEntry* psRule
		{
			{
				IMG_UINT32 i
				ParseTreeEntry* psRule
			}
		}
	}

	// inlined
	// function
	ParseTreeEntry* GetRule(
		ParseTreeEntry* psCurrent
		IMG_UINT32 uRuleNumber
		)
	{
		IMG_UINT32 i
		ParseTreeEntry* psRule
	}

}


// function
GLSLNode* ASTProcessAssignmentOperator(
	GLSLTreeContext* psGLSLTreeContext
	ParseTreeEntry* psAssignmentOperatorEntry
	)
{
	GLSLCompilerPrivateData* psCPD
	GLSLNodeType eNodeType
	GLSLNode* psAssignmentOperatorNode
	{
		{
			IMG_UINT32 i
			ParseTreeEntry* psRule
		}
	}
	{
		{
			IMG_UINT32 i
			ParseTreeEntry* psRule
		}
	}
}


// function PC=<0x4f0c0;0x4f6e4>
GLSLNode* ASTProcessAssignmentExpression(
	GLSLTreeContext* psGLSLTreeContext
	ParseTreeEntry* psAssignmentExpressionEntry
	)
{
	GLSLCompilerPrivateData* psCPD
	// inlined
	// function
	IMG_BOOL CheckRule(
		ParseTreeEntry* psCurrent
		IMG_UINT32 uRuleNumber
		IMG_UINT32 uSyntaxSymbolName
		)
	{
		ParseTreeEntry* psRule
		{
			{
				IMG_UINT32 i
				ParseTreeEntry* psRule
			}
		}
	}

	// inlined
	// function
	ParseTreeEntry* GetRule(
		ParseTreeEntry* psCurrent
		IMG_UINT32 uRuleNumber
		)
	{
		IMG_UINT32 i
		ParseTreeEntry* psRule
	}

	{
		ParseTreeEntry* psConditionalExpressionEntry
		// inlined
		// function
		ParseTreeEntry* GetRule(
			ParseTreeEntry* psCurrent
			IMG_UINT32 uRuleNumber
			)
		{
			IMG_UINT32 i
			ParseTreeEntry* psRule
		}

	}
	{
		GLSLNode* psAssignmentOperatorNode
		GLSLNode* psUnaryExpressionNode
		GLSLNode* psAssignmentExpressionNode
		ParseTreeEntry* psUnaryExpressionEntry
		ParseTreeEntry* psAssignmentOperatorEntry
		ParseTreeEntry* psRecursiveAssignmentExpressionEntry
		// inlined
		// function
		ParseTreeEntry* GetRule(
			ParseTreeEntry* psCurrent
			IMG_UINT32 uRuleNumber
			)
		{
			IMG_UINT32 i
			ParseTreeEntry* psRule
		}

		// inlined
		// function
		ParseTreeEntry* GetRule(
			ParseTreeEntry* psCurrent
			IMG_UINT32 uRuleNumber
			)
		{
			IMG_UINT32 i
			ParseTreeEntry* psRule
		}

		// inlined
		// function
		ParseTreeEntry* GetRule(
			ParseTreeEntry* psCurrent
			IMG_UINT32 uRuleNumber
			)
		{
			IMG_UINT32 i
			ParseTreeEntry* psRule
		}

		// inlined
		// function
		GLSLNode* ASTProcessAssignmentOperator(
			GLSLTreeContext* psGLSLTreeContext
			ParseTreeEntry* psAssignmentOperatorEntry
			)
		{
			GLSLCompilerPrivateData* psCPD
			GLSLNodeType eNodeType
			GLSLNode* psAssignmentOperatorNode
			{
				{
					IMG_UINT32 i
					ParseTreeEntry* psRule
				}
			}
			{
				{
					IMG_UINT32 i
					ParseTreeEntry* psRule
				}
			}
		}

	}
}


// function PC=<0x4f6e4;0x4f9c8>
GLSLNode* ASTProcessExpression(
	GLSLTreeContext* psGLSLTreeContext
	ParseTreeEntry* psExpressionEntry
	)
{
	ParseTreeEntry* psAssignmentExpressionEntry
	ParseTreeEntry* psExpressionLREntry
	GLSLNode* psExpressionNode
	GLSLNode* psChildNode
	// inlined
	// function
	ParseTreeEntry* GetRule(
		ParseTreeEntry* psCurrent
		IMG_UINT32 uRuleNumber
		)
	{
		IMG_UINT32 i
		ParseTreeEntry* psRule
	}

	// inlined
	// function
	ParseTreeEntry* GetRule(
		ParseTreeEntry* psCurrent
		IMG_UINT32 uRuleNumber
		)
	{
		IMG_UINT32 i
		ParseTreeEntry* psRule
	}

	{
		IMG_UINT32 uSYMGLSL_expression_LR
		// inlined
		// function
		ParseTreeEntry* GetRule(
			ParseTreeEntry* psCurrent
			IMG_UINT32 uRuleNumber
			)
		{
			IMG_UINT32 i
			ParseTreeEntry* psRule
		}

		// inlined
		// function
		ParseTreeEntry* GetRule(
			ParseTreeEntry* psCurrent
			IMG_UINT32 uRuleNumber
			)
		{
			IMG_UINT32 i
			ParseTreeEntry* psRule
		}

	}
}


// function
GLSLNode* ASTProcessIntegerExpression(
	GLSLTreeContext* psGLSLTreeContext
	ParseTreeEntry* psIntegerExpressionEntry
	)
{
	GLSLNode* psIntegerExpressionNode
	ParseTreeEntry* psExpressionEntry
	{
		{
			IMG_UINT32 i
			ParseTreeEntry* psRule
		}
	}
}


// function
GLSLNode* ASTProcessFieldSelection(
	GLSLTreeContext* psGLSLTreeContext
	ParseTreeEntry* psFieldSelectionEntry
	GLSLNode* psLeftNode
	)
{
	GLSLCompilerPrivateData* psCPD
	ParseTreeEntry* psIDENTIFIEREntry
	IMG_CHAR* pszFieldName
	GLSLFullySpecifiedType sFullySpecifiedType
	{
		GLSLNode* psMemberSelectionNode
	}
	{
		GLSLNode* psMemberSelectionNode
		GLSLMemberSelectionData sMemberSelection
		IMG_UINT32 i
		GLSLStructureDefinitionData* psStructureDefinitionData
		IMG_CHAR* pszHashedMemberSelectName
		IMG_CHAR* pszStructName
		{
			size_t __s1_len
			size_t __s2_len
		}
	}
	{
		{
			IMG_UINT32 i
			ParseTreeEntry* psRule
		}
	}
}


// function
GLSLNode* ASTCreateSwizzleNode(
	GLSLTreeContext* psGLSLTreeContext
	ParseTreeEntry* psIDENTIFIEREntry
	)
{
	GLSLCompilerPrivateData* psCPD
	IMG_UINT32 uSymbolTableID
	GLSLNode* psIDENTIFIERNode
	IMG_CHAR* pszFieldName
	IMG_CHAR[15] acSymbolName
	IMG_UINT32 i
	GLSLSwizzleData sSwizzleData
}


// function PC=<0x4f9c8;0x508ac>
GLSLNode* ASTProcessPostFixExpressionLR(
	GLSLTreeContext* psGLSLTreeContext
	ParseTreeEntry* psPostFixExpressionLREntry
	GLSLNode* psChildNode
	)
{
	GLSLCompilerPrivateData* psCPD
	IMG_UINT32 uSYMGLSL_postfix_expression_LR
	ParseTreeEntry* psRecursivePostFixExpressionLREntry
	GLSLNode* psPostFixNode
	GLSLNode* psRightNode
	// inlined
	// function
	ParseTreeEntry* GetRule(
		ParseTreeEntry* psCurrent
		IMG_UINT32 uRuleNumber
		)
	{
		IMG_UINT32 i
		ParseTreeEntry* psRule
	}

	{
		GLSLNode* psPostIncDecNode
		GLSLNodeType eNodeType
		// inlined
		// function
		ParseTreeEntry* GetRule(
			ParseTreeEntry* psCurrent
			IMG_UINT32 uRuleNumber
			)
		{
			IMG_UINT32 i
			ParseTreeEntry* psRule
		}

		// inlined
		// function
		ParseTreeEntry* GetRule(
			ParseTreeEntry* psCurrent
			IMG_UINT32 uRuleNumber
			)
		{
			IMG_UINT32 i
			ParseTreeEntry* psRule
		}

		// inlined
		// function
		IMG_BOOL CheckRule(
			ParseTreeEntry* psCurrent
			IMG_UINT32 uRuleNumber
			IMG_UINT32 uSyntaxSymbolName
			)
		{
			ParseTreeEntry* psRule
			{
				{
					IMG_UINT32 i
					ParseTreeEntry* psRule
				}
			}
		}

	}
	{
		GLSLNode* psFieldNode
		ParseTreeEntry* psFieldSelectionEntry
		GLSLNode* psFieldSelectionNode
		// inlined
		// function
		ParseTreeEntry* GetRule(
			ParseTreeEntry* psCurrent
			IMG_UINT32 uRuleNumber
			)
		{
			IMG_UINT32 i
			ParseTreeEntry* psRule
		}

		// inlined
		// function
		ParseTreeEntry* GetRule(
			ParseTreeEntry* psCurrent
			IMG_UINT32 uRuleNumber
			)
		{
			IMG_UINT32 i
			ParseTreeEntry* psRule
		}

		// inlined
		// function
		ParseTreeEntry* GetRule(
			ParseTreeEntry* psCurrent
			IMG_UINT32 uRuleNumber
			)
		{
			IMG_UINT32 i
			ParseTreeEntry* psRule
		}

		// inlined
		// function
		GLSLNode* ASTProcessFieldSelection(
			GLSLTreeContext* psGLSLTreeContext
			ParseTreeEntry* psFieldSelectionEntry
			GLSLNode* psLeftNode
			)
		{
			GLSLCompilerPrivateData* psCPD
			ParseTreeEntry* psIDENTIFIEREntry
			IMG_CHAR* pszFieldName
			GLSLFullySpecifiedType sFullySpecifiedType
			{
				GLSLNode* psMemberSelectionNode
			}
			{
				GLSLNode* psMemberSelectionNode
				GLSLMemberSelectionData sMemberSelection
				IMG_UINT32 i
				GLSLStructureDefinitionData* psStructureDefinitionData
				IMG_CHAR* pszHashedMemberSelectName
				IMG_CHAR* pszStructName
				{
					size_t __s1_len
					size_t __s2_len
				}
			}
			{
				{
					IMG_UINT32 i
					ParseTreeEntry* psRule
				}
			}
		}

	}
	{
		GLSLNode* psIntegerExpressionNode
		ParseTreeEntry* psIntegerExpressionEntry
		GLSLNode* psArraySpecifierNode
		// inlined
		// function
		GLSLNode* ASTProcessIntegerExpression(
			GLSLTreeContext* psGLSLTreeContext
			ParseTreeEntry* psIntegerExpressionEntry
			)
		{
			GLSLNode* psIntegerExpressionNode
			ParseTreeEntry* psExpressionEntry
			{
				{
					IMG_UINT32 i
					ParseTreeEntry* psRule
				}
			}
		}

		// inlined
		// function
		ParseTreeEntry* GetRule(
			ParseTreeEntry* psCurrent
			IMG_UINT32 uRuleNumber
			)
		{
			IMG_UINT32 i
			ParseTreeEntry* psRule
		}

		// inlined
		// function
		ParseTreeEntry* GetRule(
			ParseTreeEntry* psCurrent
			IMG_UINT32 uRuleNumber
			)
		{
			IMG_UINT32 i
			ParseTreeEntry* psRule
		}

		// inlined
		// function
		ParseTreeEntry* GetRule(
			ParseTreeEntry* psCurrent
			IMG_UINT32 uRuleNumber
			)
		{
			IMG_UINT32 i
			ParseTreeEntry* psRule
		}

	}
}


// function
void DestroyAbstractSyntaxTree(
	GLSLNode* psASTree
	)
{
	IMG_UINT32 i
	{
		{
			IMG_UINT32 i
		}
	}
}


// function
void DestroyAbstractSyntaxTree(
	GLSLNode* psASTree
	)
{
	IMG_UINT32 i
	{
		{
			IMG_UINT32 i
		}
	}
}


// external function PC=<0x50bf4;0x50c60>
void DestroyGLSLTreeContext(
	GLSLTreeContext* psGLSLTreeContext
	)
{
	// inlined
	// function
	void DestroyAbstractSyntaxTree(
		GLSLNode* psASTree
		)
	{
		IMG_UINT32 i
		{
			{
				IMG_UINT32 i
			}
		}
	}

}


// function
GLSLNode* ASTProcessConstantExpression(
	GLSLTreeContext* psGLSLTreeContext
	ParseTreeEntry* psConstantExpressionEntry
	)
{
	ParseTreeEntry* psConditionalExpressionEntry
	{
		{
			IMG_UINT32 i
			ParseTreeEntry* psRule
		}
	}
}


// function PC=<0x50c60;0x50f84>
IMG_INT32 ASTProcessArraySpecifier(
	GLSLTreeContext* psGLSLTreeContext
	ParseTreeEntry* psArraySpecifierEntry
	ParseTreeEntry* psIdentifierEntry
	IMG_BOOL bMustHaveSize
	)
{
	GLSLCompilerPrivateData* psCPD
	// inlined
	// function
	IMG_BOOL CheckRule(
		ParseTreeEntry* psCurrent
		IMG_UINT32 uRuleNumber
		IMG_UINT32 uSyntaxSymbolName
		)
	{
		ParseTreeEntry* psRule
		{
			{
				IMG_UINT32 i
				ParseTreeEntry* psRule
			}
		}
	}

	{
		IMG_INT32 iArraySize
		ParseTreeEntry* psConstantExpressionEntry
		GLSLNode* psConstantExpressionNode
		// inlined
		// function
		void DestroyAbstractSyntaxTree(
			GLSLNode* psASTree
			)
		{
			IMG_UINT32 i
			{
				{
					IMG_UINT32 i
				}
			}
		}

		// inlined
		// function
		GLSLNode* ASTProcessConstantExpression(
			GLSLTreeContext* psGLSLTreeContext
			ParseTreeEntry* psConstantExpressionEntry
			)
		{
			ParseTreeEntry* psConditionalExpressionEntry
			{
				{
					IMG_UINT32 i
					ParseTreeEntry* psRule
				}
			}
		}

		// inlined
		// function
		ParseTreeEntry* GetRule(
			ParseTreeEntry* psCurrent
			IMG_UINT32 uRuleNumber
			)
		{
			IMG_UINT32 i
			ParseTreeEntry* psRule
		}

		// inlined
		// function
		void DestroyAbstractSyntaxTree(
			GLSLNode* psASTree
			)
		{
			IMG_UINT32 i
			{
				{
					IMG_UINT32 i
				}
			}
		}

	}
	// inlined
	// function
	ParseTreeEntry* GetRule(
		ParseTreeEntry* psCurrent
		IMG_UINT32 uRuleNumber
		)
	{
		IMG_UINT32 i
		ParseTreeEntry* psRule
	}

}


// function
IMG_INT32 ASTProcessArraySpecifierOpt(
	GLSLTreeContext* psGLSLTreeContext
	ParseTreeEntry* psArraySpecifierOptEntry
	ParseTreeEntry* psIdentifierEntry
	IMG_BOOL bMustHaveSize
	)
{
	ParseTreeEntry* psArraySpecifierEntry
	{
		{
			IMG_UINT32 i
			ParseTreeEntry* psRule
		}
	}
}


// function
GLSLNode* ASTProcessInitializer(
	GLSLTreeContext* psGLSLTreeContext
	ParseTreeEntry* psInitializerEntry
	)
{
	ParseTreeEntry* psAssignmentExpressionEntry
	{
		{
			IMG_UINT32 i
			ParseTreeEntry* psRule
		}
	}
}


// function PC=<0x50f84;0x515d4>
GLSLNode* ASTGenerateDeclarationChildNode(
	GLSLTreeContext* psGLSLTreeContext
	ParseTreeEntry* psIDENTIFIEREntry
	GLSLFullySpecifiedType* psFullySpecifiedType
	)
{
	GLSLCompilerPrivateData* psCPD
	GLSLNode* psIDENTIFIERNode
	ParseTreeEntry* psEQUALEntry
	ParseTreeEntry* psInitializerEntry
	// inlined
	// function
	IMG_BOOL CheckRule(
		ParseTreeEntry* psCurrent
		IMG_UINT32 uRuleNumber
		IMG_UINT32 uSyntaxSymbolName
		)
	{
		ParseTreeEntry* psRule
		{
			{
				IMG_UINT32 i
				ParseTreeEntry* psRule
			}
		}
	}

	// inlined
	// function
	IMG_BOOL CheckRule(
		ParseTreeEntry* psCurrent
		IMG_UINT32 uRuleNumber
		IMG_UINT32 uSyntaxSymbolName
		)
	{
		ParseTreeEntry* psRule
		{
			{
				IMG_UINT32 i
				ParseTreeEntry* psRule
			}
		}
	}

	// inlined
	// function
	IMG_BOOL CheckRule(
		ParseTreeEntry* psCurrent
		IMG_UINT32 uRuleNumber
		IMG_UINT32 uSyntaxSymbolName
		)
	{
		ParseTreeEntry* psRule
		{
			{
				IMG_UINT32 i
				ParseTreeEntry* psRule
			}
		}
	}

	// inlined
	// function
	ParseTreeEntry* GetRule(
		ParseTreeEntry* psCurrent
		IMG_UINT32 uRuleNumber
		)
	{
		IMG_UINT32 i
		ParseTreeEntry* psRule
	}

	// inlined
	// function
	ParseTreeEntry* GetRule(
		ParseTreeEntry* psCurrent
		IMG_UINT32 uRuleNumber
		)
	{
		IMG_UINT32 i
		ParseTreeEntry* psRule
	}

	// inlined
	// function
	ParseTreeEntry* GetRule(
		ParseTreeEntry* psCurrent
		IMG_UINT32 uRuleNumber
		)
	{
		IMG_UINT32 i
		ParseTreeEntry* psRule
	}

	{
		GLSLNode* psInitializerNode
		GLSLNode* psEQUALNode
		GLSLNode* psExpressionNode
		// inlined
		// function
		GLSLNode* ASTProcessInitializer(
			GLSLTreeContext* psGLSLTreeContext
			ParseTreeEntry* psInitializerEntry
			)
		{
			ParseTreeEntry* psAssignmentExpressionEntry
			{
				{
					IMG_UINT32 i
					ParseTreeEntry* psRule
				}
			}
		}

	}
	{
		ParseTreeEntry* psArraySpecifierOptEntry
		// inlined
		// function
		IMG_INT32 ASTProcessArraySpecifierOpt(
			GLSLTreeContext* psGLSLTreeContext
			ParseTreeEntry* psArraySpecifierOptEntry
			ParseTreeEntry* psIdentifierEntry
			IMG_BOOL bMustHaveSize
			)
		{
			ParseTreeEntry* psArraySpecifierEntry
			{
				{
					IMG_UINT32 i
					ParseTreeEntry* psRule
				}
			}
		}

		// inlined
		// function
		ParseTreeEntry* GetRule(
			ParseTreeEntry* psCurrent
			IMG_UINT32 uRuleNumber
			)
		{
			IMG_UINT32 i
			ParseTreeEntry* psRule
		}

	}
	// inlined
	// function
	ParseTreeEntry* GetRule(
		ParseTreeEntry* psCurrent
		IMG_UINT32 uRuleNumber
		)
	{
		IMG_UINT32 i
		ParseTreeEntry* psRule
	}

}


// function
IMG_UINT32 ASTProcessStructSpecifier(
	GLSLTreeContext* psGLSLTreeContext
	ParseTreeEntry* psStructSpecifierEntry
	)
{
	GLSLCompilerPrivateData* psCPD
	IMG_UINT32 uSymbolTableID
	IMG_CHAR* pszStructureName
	GLSLStructureDefinitionData sStructureDefinitionData
	IMG_UINT32 i
	ParseTreeEntry* psIDENTIFIEREntry
	ParseTreeEntry* psStructDeclarationListEntry
	IMG_CHAR[40] acUnnamedStructureMem
	{
		{
			IMG_UINT32 i
			ParseTreeEntry* psRule
		}
	}
	{
		{
			IMG_UINT32 i
			ParseTreeEntry* psRule
		}
	}
	{
		{
			IMG_UINT32 i
			ParseTreeEntry* psRule
		}
	}
}


// function
GLSLNode* ASTProcessStructDeclarationList(
	GLSLTreeContext* psGLSLTreeContext
	ParseTreeEntry* psStructDeclarationListEntry
	GLSLStructureDefinitionData* psStructure
	)
{
	ParseTreeEntry* psStructDeclarationEntry
	ParseTreeEntry* psStructDeclarationListLREntry
	{
		{
			IMG_UINT32 i
			ParseTreeEntry* psRule
		}
	}
	{
		{
			IMG_UINT32 i
			ParseTreeEntry* psRule
		}
	}
	{
		{
			IMG_UINT32 i
			ParseTreeEntry* psRule
		}
	}
	{
		{
			IMG_UINT32 i
			ParseTreeEntry* psRule
		}
	}
}


// function
GLSLNode* ASTProcessStructDeclaration(
	GLSLTreeContext* psGLSLTreeContext
	ParseTreeEntry* psStructDeclarationEntry
	GLSLStructureDefinitionData* psStructure
	)
{
	GLSLFullySpecifiedType sFullySpecifiedType
	ParseTreeEntry* peTypeSpecifierEntry
	ParseTreeEntry* psStructDeclaratorListEntry
	{
		{
			IMG_UINT32 i
			ParseTreeEntry* psRule
		}
	}
	{
		{
			IMG_UINT32 i
			ParseTreeEntry* psRule
		}
	}
}


// function
GLSLNode* ASTProcessStructDeclaratorList(
	GLSLTreeContext* psGLSLTreeContext
	ParseTreeEntry* psStructDeclaratorListEntry
	GLSLStructureDefinitionData* psStructure
	GLSLFullySpecifiedType* psFullySpecifiedType
	)
{
	ParseTreeEntry* psStructDeclaratorEntry
	ParseTreeEntry* psStructDeclaratorListLREntry
	{
		{
			IMG_UINT32 i
			ParseTreeEntry* psRule
		}
	}
	{
		{
			IMG_UINT32 i
			ParseTreeEntry* psRule
		}
	}
	{
		{
			IMG_UINT32 i
			ParseTreeEntry* psRule
		}
	}
	{
		{
			IMG_UINT32 i
			ParseTreeEntry* psRule
		}
	}
}


// function
GLSLNode* ASTProcessStructDeclarator(
	GLSLTreeContext* psGLSLTreeContext
	ParseTreeEntry* psStructDeclaratorEntry
	GLSLStructureMember* psStructureMember
	)
{
	GLSLCompilerPrivateData* psCPD
	ParseTreeEntry* psIDENTIFIEREntry
	{
		IMG_INT32 iArraySize
		ParseTreeEntry* psArraySpecifierOptEntry
		{
			{
				IMG_UINT32 i
				ParseTreeEntry* psRule
			}
		}
	}
	{
		{
			IMG_UINT32 i
			ParseTreeEntry* psRule
		}
	}
}


// function PC=<0x515d4;0x526ac>
IMG_BOOL ASTProcessTypeSpecifierNoPrec(
	GLSLTreeContext* psGLSLTreeContext
	ParseTreeEntry* psTypeSpecifierNoPrecEntry
	GLSLFullySpecifiedType* psFullySpecifiedType
	IMG_BOOL bArraySizeMustBeDeclared
	)
{
	GLSLCompilerPrivateData* psCPD
	// inlined
	// function
	ParseTreeEntry* GetRule(
		ParseTreeEntry* psCurrent
		IMG_UINT32 uRuleNumber
		)
	{
		IMG_UINT32 i
		ParseTreeEntry* psRule
	}

	// inlined
	// function
	IMG_BOOL CheckRule(
		ParseTreeEntry* psCurrent
		IMG_UINT32 uRuleNumber
		IMG_UINT32 uSyntaxSymbolName
		)
	{
		ParseTreeEntry* psRule
		{
			{
				IMG_UINT32 i
				ParseTreeEntry* psRule
			}
		}
	}

	{
		ParseTreeEntry* psArraySpecifierOptEntry
		// inlined
		// function
		ParseTreeEntry* GetRule(
			ParseTreeEntry* psCurrent
			IMG_UINT32 uRuleNumber
			)
		{
			IMG_UINT32 i
			ParseTreeEntry* psRule
		}

		// inlined
		// function
		IMG_INT32 ASTProcessArraySpecifierOpt(
			GLSLTreeContext* psGLSLTreeContext
			ParseTreeEntry* psArraySpecifierOptEntry
			ParseTreeEntry* psIdentifierEntry
			IMG_BOOL bMustHaveSize
			)
		{
			ParseTreeEntry* psArraySpecifierEntry
			{
				{
					IMG_UINT32 i
					ParseTreeEntry* psRule
				}
			}
		}

	}
	{
		ParseTreeEntry* psStructSpecifierEntry
		// inlined
		// function
		ParseTreeEntry* GetRule(
			ParseTreeEntry* psCurrent
			IMG_UINT32 uRuleNumber
			)
		{
			IMG_UINT32 i
			ParseTreeEntry* psRule
		}

		// inlined
		// function
		IMG_UINT32 ASTProcessStructSpecifier(
			GLSLTreeContext* psGLSLTreeContext
			ParseTreeEntry* psStructSpecifierEntry
			)
		{
			GLSLCompilerPrivateData* psCPD
			IMG_UINT32 uSymbolTableID
			IMG_CHAR* pszStructureName
			GLSLStructureDefinitionData sStructureDefinitionData
			IMG_UINT32 i
			ParseTreeEntry* psIDENTIFIEREntry
			ParseTreeEntry* psStructDeclarationListEntry
			IMG_CHAR[40] acUnnamedStructureMem
			{
				{
					IMG_UINT32 i
					ParseTreeEntry* psRule
				}
			}
			{
				{
					IMG_UINT32 i
					ParseTreeEntry* psRule
				}
			}
			{
				{
					IMG_UINT32 i
					ParseTreeEntry* psRule
				}
			}
		}

	}
	{
		ParseTreeEntry* psIDENTIFEREntry
		IMG_CHAR* pszStructName
		IMG_CHAR[300] acName
		IMG_UINT32 uSymbolID
		// inlined
		// function
		ParseTreeEntry* GetRule(
			ParseTreeEntry* psCurrent
			IMG_UINT32 uRuleNumber
			)
		{
			IMG_UINT32 i
			ParseTreeEntry* psRule
		}

	}
}


// function
IMG_BOOL ASTProcessPrecisionQualifier(
	GLSLTreeContext* psGLSLTreeContext
	ParseTreeEntry* psPrecisionQualifierEntry
	GLSLFullySpecifiedType* psFullySpecifiedType
	)
{
	GLSLCompilerPrivateData* psCPD
	{
		{
			IMG_UINT32 i
			ParseTreeEntry* psRule
		}
	}
}


// function PC=<0x526ac;0x52b10>
IMG_BOOL ASTProcessTypeSpecifier(
	GLSLTreeContext* psGLSLTreeContext
	ParseTreeEntry* psTypeSpecifierEntry
	GLSLFullySpecifiedType* psFullySpecifiedType
	IMG_BOOL bArraySizeMustBeDeclared
	)
{
	GLSLCompilerPrivateData* psCPD
	IMG_BOOL bUserDefinedPrecision
	ParseTreeEntry* psTypeSpecifierNoPrecEntry
	// inlined
	// function
	IMG_BOOL CheckRule(
		ParseTreeEntry* psCurrent
		IMG_UINT32 uRuleNumber
		IMG_UINT32 uSyntaxSymbolName
		)
	{
		ParseTreeEntry* psRule
		{
			{
				IMG_UINT32 i
				ParseTreeEntry* psRule
			}
		}
	}

	// inlined
	// function
	ParseTreeEntry* GetRule(
		ParseTreeEntry* psCurrent
		IMG_UINT32 uRuleNumber
		)
	{
		IMG_UINT32 i
		ParseTreeEntry* psRule
	}

	{
		GLSLPrecisionQualifier eForcedPrecision
	}
	{
		ParseTreeEntry* psPrecisionQualifierEntry
		// inlined
		// function
		IMG_BOOL ASTProcessPrecisionQualifier(
			GLSLTreeContext* psGLSLTreeContext
			ParseTreeEntry* psPrecisionQualifierEntry
			GLSLFullySpecifiedType* psFullySpecifiedType
			)
		{
			GLSLCompilerPrivateData* psCPD
			{
				{
					IMG_UINT32 i
					ParseTreeEntry* psRule
				}
			}
		}

		// inlined
		// function
		ParseTreeEntry* GetRule(
			ParseTreeEntry* psCurrent
			IMG_UINT32 uRuleNumber
			)
		{
			IMG_UINT32 i
			ParseTreeEntry* psRule
		}

		// inlined
		// function
		ParseTreeEntry* GetRule(
			ParseTreeEntry* psCurrent
			IMG_UINT32 uRuleNumber
			)
		{
			IMG_UINT32 i
			ParseTreeEntry* psRule
		}

	}
}


// function
IMG_BOOL ASTProcessTypeQualifier(
	GLSLTreeContext* psGLSLTreeContext
	ParseTreeEntry* psTypeQualifierEntry
	GLSLFullySpecifiedType* psFullySpecifiedType
	)
{
	GLSLCompilerPrivateData* psCPD
	GLSLVaryingModifierFlags eForcedVaryingModifierFlags
	{
		{
			IMG_UINT32 i
			ParseTreeEntry* psRule
		}
	}
}


// function PC=<0x52b10;0x52e28>
IMG_BOOL ASTProcessFullySpecifiedType(
	GLSLTreeContext* psGLSLTreeContext
	ParseTreeEntry* psFullySpecifiedTypeEntry
	GLSLFullySpecifiedType* psFullySpecifiedType
	IMG_BOOL bArraySizeMustBeDeclared
	)
{
	ParseTreeEntry* psTypeSpecifierEntry
	// inlined
	// function
	IMG_BOOL CheckRule(
		ParseTreeEntry* psCurrent
		IMG_UINT32 uRuleNumber
		IMG_UINT32 uSyntaxSymbolName
		)
	{
		ParseTreeEntry* psRule
		{
			{
				IMG_UINT32 i
				ParseTreeEntry* psRule
			}
		}
	}

	// inlined
	// function
	ParseTreeEntry* GetRule(
		ParseTreeEntry* psCurrent
		IMG_UINT32 uRuleNumber
		)
	{
		IMG_UINT32 i
		ParseTreeEntry* psRule
	}

	{
		ParseTreeEntry* psTypeQualifierEntry
		// inlined
		// function
		ParseTreeEntry* GetRule(
			ParseTreeEntry* psCurrent
			IMG_UINT32 uRuleNumber
			)
		{
			IMG_UINT32 i
			ParseTreeEntry* psRule
		}

		// inlined
		// function
		IMG_BOOL ASTProcessTypeQualifier(
			GLSLTreeContext* psGLSLTreeContext
			ParseTreeEntry* psTypeQualifierEntry
			GLSLFullySpecifiedType* psFullySpecifiedType
			)
		{
			GLSLCompilerPrivateData* psCPD
			GLSLVaryingModifierFlags eForcedVaryingModifierFlags
			{
				{
					IMG_UINT32 i
					ParseTreeEntry* psRule
				}
			}
		}

		// inlined
		// function
		ParseTreeEntry* GetRule(
			ParseTreeEntry* psCurrent
			IMG_UINT32 uRuleNumber
			)
		{
			IMG_UINT32 i
			ParseTreeEntry* psRule
		}

	}
}


// function PC=<0x52e28;0x530ec>
GLSLNode* ASTProcessCondition(
	GLSLTreeContext* psGLSLTreeContext
	ParseTreeEntry* psConditionEntry
	)
{
	GLSLCompilerPrivateData* psCPD
	// inlined
	// function
	ParseTreeEntry* GetRule(
		ParseTreeEntry* psCurrent
		IMG_UINT32 uRuleNumber
		)
	{
		IMG_UINT32 i
		ParseTreeEntry* psRule
	}

	{
		ParseTreeEntry* psFullySpecifiedTypeEntry
		ParseTreeEntry* psIDENTIFIEREntry
		GLSLFullySpecifiedType sFullySpecifiedType
		GLSLNode* psDeclarationNode
		GLSLNode* psExpressionNode
		// inlined
		// function
		ParseTreeEntry* GetRule(
			ParseTreeEntry* psCurrent
			IMG_UINT32 uRuleNumber
			)
		{
			IMG_UINT32 i
			ParseTreeEntry* psRule
		}

		// inlined
		// function
		ParseTreeEntry* GetRule(
			ParseTreeEntry* psCurrent
			IMG_UINT32 uRuleNumber
			)
		{
			IMG_UINT32 i
			ParseTreeEntry* psRule
		}

	}
	{
		ParseTreeEntry* psExpressionEntry
		GLSLNode* psExpressionNode
		// inlined
		// function
		ParseTreeEntry* GetRule(
			ParseTreeEntry* psCurrent
			IMG_UINT32 uRuleNumber
			)
		{
			IMG_UINT32 i
			ParseTreeEntry* psRule
		}

	}
}


// function
IMG_BOOL IsSamplerTypeSupported(
	GLSLTreeContext* psGLSLTreeContext
	ParseTreeEntry* psFullySpecifiedTypeEntry
	GLSLFullySpecifiedType* psFullySpecifiedType
	)
{
	{
		GLSLCompilerPrivateData* psCPD
	}
}


// function PC=<0x530ec;0x532e8>
IMG_BOOL ASTProcessFunctionHeader(
	GLSLTreeContext* psGLSLTreeContext
	ParseTreeEntry* psFunctionHeaderEntry
	ASTFunctionState* psFunctionState
	)
{
	ParseTreeEntry* psFullySpecifiedTypeEntry
	GLSLFullySpecifiedType sFullySpecifiedType
	// inlined
	// function
	ParseTreeEntry* GetRule(
		ParseTreeEntry* psCurrent
		IMG_UINT32 uRuleNumber
		)
	{
		IMG_UINT32 i
		ParseTreeEntry* psRule
	}

	// inlined
	// function
	IMG_BOOL IsSamplerTypeSupported(
		GLSLTreeContext* psGLSLTreeContext
		ParseTreeEntry* psFullySpecifiedTypeEntry
		GLSLFullySpecifiedType* psFullySpecifiedType
		)
	{
		{
			GLSLCompilerPrivateData* psCPD
		}
	}

	// inlined
	// function
	ParseTreeEntry* GetRule(
		ParseTreeEntry* psCurrent
		IMG_UINT32 uRuleNumber
		)
	{
		IMG_UINT32 i
		ParseTreeEntry* psRule
	}

}


// function
IMG_BOOL ASTProcessFunctionHeaderWithParameters(
	GLSLTreeContext* psGLSLTreeContext
	ParseTreeEntry* psFunctionHeaderWithParametersEntry
	ASTFunctionState* psFunctionState
	)
{
	ParseTreeEntry* psFunctionHeaderEntry
	ParseTreeEntry* psParameterDeclaration
	ParseTreeEntry* psFunctionHeaderWithParametersLREntry
	{
		{
			IMG_UINT32 i
			ParseTreeEntry* psRule
		}
	}
	{
		{
			IMG_UINT32 i
			ParseTreeEntry* psRule
		}
	}
	{
		{
			IMG_UINT32 i
			ParseTreeEntry* psRule
		}
	}
	{
		{
			IMG_UINT32 i
			ParseTreeEntry* psRule
		}
	}
	{
		{
			IMG_UINT32 i
			ParseTreeEntry* psRule
		}
	}
}


// function
IMG_BOOL ASTProcessParameterDeclaration(
	GLSLTreeContext* psGLSLTreeContext
	ParseTreeEntry* psParameterDeclarationEntry
	ASTFunctionState* psFunctionState
	)
{
	GLSLCompilerPrivateData* psCPD
	ParseTreeEntry* psTypeQualifierEntry
	ParseTreeEntry* psParameterQualifierEntry
	ParseTreeEntry* psParameterDeclaratorEntry
	ParseTreeEntry* psParameterTypeSpecifierEntry
	GLSLIdentifierData sParameterData
	{
		{
			IMG_UINT32 i
			ParseTreeEntry* psRule
		}
	}
	{
		{
			IMG_UINT32 i
			ParseTreeEntry* psRule
		}
	}
	{
		{
			IMG_UINT32 i
			ParseTreeEntry* psRule
		}
	}
	{
		{
			IMG_UINT32 i
			ParseTreeEntry* psRule
		}
	}
	{
		{
			IMG_UINT32 i
			ParseTreeEntry* psRule
		}
	}
	{
		{
			IMG_UINT32 i
			ParseTreeEntry* psRule
		}
	}
	{
		{
			IMG_UINT32 i
			ParseTreeEntry* psRule
		}
	}
	{
		{
			IMG_UINT32 i
			ParseTreeEntry* psRule
		}
	}
	{
		{
			IMG_UINT32 i
			ParseTreeEntry* psRule
		}
	}
}


// function
IMG_BOOL ASTProcessParameterQualifier(
	GLSLTreeContext* psGLSLTreeContext
	ParseTreeEntry* psParameterQualifierEntry
	GLSLFullySpecifiedType* psFullySpecifiedType
	)
{
	GLSLCompilerPrivateData* psCPD
	{
		{
			IMG_UINT32 i
			ParseTreeEntry* psRule
		}
	}
}


// function
IMG_BOOL ASTProcessParameterDeclarator(
	GLSLTreeContext* psGLSLTreeContext
	ParseTreeEntry* psParameterDeclaratorEntry
	GLSLIdentifierData* psParameterData
	ASTFunctionState* psFunctionState
	)
{
	GLSLCompilerPrivateData* psCPD
	ParseTreeEntry* psTypeSpecifierEntry
	ParseTreeEntry* psIDENTIFIEREntry
	ParseTreeEntry* psArraySpecifierOptEntry
	{
		{
			IMG_UINT32 i
			ParseTreeEntry* psRule
		}
	}
	{
		{
			IMG_UINT32 i
			ParseTreeEntry* psRule
		}
	}
	{
		{
			IMG_UINT32 i
			ParseTreeEntry* psRule
		}
	}
}


// function
IMG_BOOL ASTProcessParameterTypeSpecifier(
	GLSLTreeContext* psGLSLTreeContext
	ParseTreeEntry* psParameterTypeSpecifierEntry
	GLSLIdentifierData* psParameterData
	ASTFunctionState* psFunctionState
	)
{
	GLSLCompilerPrivateData* psCPD
	ParseTreeEntry* psTypeSpecifierEntry
	{
		{
			IMG_UINT32 i
			ParseTreeEntry* psRule
		}
	}
}


// function PC=<0x532e8;0x542ac>
IMG_BOOL ASTProcessFunctionDeclarator(
	GLSLTreeContext* psGLSLTreeContext
	ParseTreeEntry* psFunctionDeclaratorEntry
	ASTFunctionState* psFunctionState
	)
{
	GLSLCompilerPrivateData* psCPD
	// inlined
	// function
	IMG_BOOL CheckRule(
		ParseTreeEntry* psCurrent
		IMG_UINT32 uRuleNumber
		IMG_UINT32 uSyntaxSymbolName
		)
	{
		ParseTreeEntry* psRule
		{
			{
				IMG_UINT32 i
				ParseTreeEntry* psRule
			}
		}
	}

	// inlined
	// function
	IMG_BOOL CheckRule(
		ParseTreeEntry* psCurrent
		IMG_UINT32 uRuleNumber
		IMG_UINT32 uSyntaxSymbolName
		)
	{
		ParseTreeEntry* psRule
		{
			{
				IMG_UINT32 i
				ParseTreeEntry* psRule
			}
		}
	}

	{
		ParseTreeEntry* psFunctionHeaderWithParametersEntry
		// inlined
		// function
		ParseTreeEntry* GetRule(
			ParseTreeEntry* psCurrent
			IMG_UINT32 uRuleNumber
			)
		{
			IMG_UINT32 i
			ParseTreeEntry* psRule
		}

		// inlined
		// function
		IMG_BOOL ASTProcessFunctionHeaderWithParameters(
			GLSLTreeContext* psGLSLTreeContext
			ParseTreeEntry* psFunctionHeaderWithParametersEntry
			ASTFunctionState* psFunctionState
			)
		{
			ParseTreeEntry* psFunctionHeaderEntry
			ParseTreeEntry* psParameterDeclaration
			ParseTreeEntry* psFunctionHeaderWithParametersLREntry
			{
				{
					IMG_UINT32 i
					ParseTreeEntry* psRule
				}
			}
			{
				{
					IMG_UINT32 i
					ParseTreeEntry* psRule
				}
			}
			{
				{
					IMG_UINT32 i
					ParseTreeEntry* psRule
				}
			}
			{
				{
					IMG_UINT32 i
					ParseTreeEntry* psRule
				}
			}
			{
				{
					IMG_UINT32 i
					ParseTreeEntry* psRule
				}
			}
		}

	}
	{
		ParseTreeEntry* psFunctionHeaderEntry
		// inlined
		// function
		ParseTreeEntry* GetRule(
			ParseTreeEntry* psCurrent
			IMG_UINT32 uRuleNumber
			)
		{
			IMG_UINT32 i
			ParseTreeEntry* psRule
		}

	}
}


// function
IMG_BOOL ASTProcessFunctionPrototype(
	GLSLTreeContext* psGLSLTreeContext
	ParseTreeEntry* psFunctionPrototypeEntry
	ASTFunctionState* psFunctionState
	)
{
	ParseTreeEntry* psFunctionDeclaratorEntry
	{
		{
			IMG_UINT32 i
			ParseTreeEntry* psRule
		}
	}
}


// function
GLSLNode* ASTProcessInitDeclaratorList(
	GLSLTreeContext* psGLSLTreeContext
	ParseTreeEntry* psInitDeclaratorListEntry
	)
{
	IMG_BOOL bInvarianceModifier
	IMG_BOOL bTypeSpecifierHadArraySize
	GLSLNode* psSingleDeclarationNode
	GLSLNode* psInitDeclaratorListNode
	GLSLFullySpecifiedType sFullySpecifiedType
	ParseTreeEntry* psSingleDeclarationEntry
	ParseTreeEntry* psInitDeclaratorListLREntry
	{
		IMG_UINT32 uSYMGLSL_init_declarator_list_LR
		GLSLNode* psInitDeclaratorListLRNode
		ParseTreeEntry* psIDENTIFIEREntry
		{
			{
				IMG_UINT32 i
				ParseTreeEntry* psRule
			}
		}
		{
			{
				IMG_UINT32 i
				ParseTreeEntry* psRule
			}
		}
		{
			{
				IMG_UINT32 i
				ParseTreeEntry* psRule
			}
		}
	}
	{
		{
			IMG_UINT32 i
			ParseTreeEntry* psRule
		}
	}
	{
		{
			IMG_UINT32 i
			ParseTreeEntry* psRule
		}
	}
}


// function
GLSLNode* ASTProcessSingleDeclaration(
	GLSLTreeContext* psGLSLTreeContext
	ParseTreeEntry* psSingleDeclarationEntry
	GLSLFullySpecifiedType* psFullySpecifiedType
	IMG_BOOL* pbInvarianceModifier
	IMG_BOOL* pbTypeSpecifierArraySize
	)
{
	ParseTreeEntry* psFullySpecifiedTypeEntry
	ParseTreeEntry* psIDENTIFIEREntry
	{
		{
			IMG_UINT32 i
			ParseTreeEntry* psRule
		}
	}
	{
		{
			IMG_UINT32 i
			ParseTreeEntry* psRule
		}
	}
	{
		{
			IMG_UINT32 i
			ParseTreeEntry* psRule
		}
	}
}


// function PC=<0x542ac;0x54f24>
GLSLNode* ASTProcessDeclaration(
	GLSLTreeContext* psGLSLTreeContext
	ParseTreeEntry* psDeclarationEntry
	)
{
	GLSLCompilerPrivateData* psCPD
	// inlined
	// function
	ParseTreeEntry* GetRule(
		ParseTreeEntry* psCurrent
		IMG_UINT32 uRuleNumber
		)
	{
		IMG_UINT32 i
		ParseTreeEntry* psRule
	}

	{
		ParseTreeEntry* psPrecisionQualifierEntry
		ParseTreeEntry* psTypeSpecifierNoPrecEntry
		GLSLFullySpecifiedType sFullySpecifiedType
		// inlined
		// function
		ParseTreeEntry* GetRule(
			ParseTreeEntry* psCurrent
			IMG_UINT32 uRuleNumber
			)
		{
			IMG_UINT32 i
			ParseTreeEntry* psRule
		}

		// inlined
		// function
		ParseTreeEntry* GetRule(
			ParseTreeEntry* psCurrent
			IMG_UINT32 uRuleNumber
			)
		{
			IMG_UINT32 i
			ParseTreeEntry* psRule
		}

		// inlined
		// function
		IMG_BOOL ASTProcessPrecisionQualifier(
			GLSLTreeContext* psGLSLTreeContext
			ParseTreeEntry* psPrecisionQualifierEntry
			GLSLFullySpecifiedType* psFullySpecifiedType
			)
		{
			GLSLCompilerPrivateData* psCPD
			{
				{
					IMG_UINT32 i
					ParseTreeEntry* psRule
				}
			}
		}

		{
			GLSLPrecisionQualifier eForcedPrecision
		}
	}
	{
		ParseTreeEntry* psInitDeclaratorListEntry
		// inlined
		// function
		GLSLNode* ASTProcessInitDeclaratorList(
			GLSLTreeContext* psGLSLTreeContext
			ParseTreeEntry* psInitDeclaratorListEntry
			)
		{
			IMG_BOOL bInvarianceModifier
			IMG_BOOL bTypeSpecifierHadArraySize
			GLSLNode* psSingleDeclarationNode
			GLSLNode* psInitDeclaratorListNode
			GLSLFullySpecifiedType sFullySpecifiedType
			ParseTreeEntry* psSingleDeclarationEntry
			ParseTreeEntry* psInitDeclaratorListLREntry
			{
				IMG_UINT32 uSYMGLSL_init_declarator_list_LR
				GLSLNode* psInitDeclaratorListLRNode
				ParseTreeEntry* psIDENTIFIEREntry
				{
					{
						IMG_UINT32 i
						ParseTreeEntry* psRule
					}
				}
				{
					{
						IMG_UINT32 i
						ParseTreeEntry* psRule
					}
				}
				{
					{
						IMG_UINT32 i
						ParseTreeEntry* psRule
					}
				}
			}
			{
				{
					IMG_UINT32 i
					ParseTreeEntry* psRule
				}
			}
			{
				{
					IMG_UINT32 i
					ParseTreeEntry* psRule
				}
			}
		}

		// inlined
		// function
		ParseTreeEntry* GetRule(
			ParseTreeEntry* psCurrent
			IMG_UINT32 uRuleNumber
			)
		{
			IMG_UINT32 i
			ParseTreeEntry* psRule
		}

	}
	{
		ASTFunctionState sFunctionState
		ParseTreeEntry* psFunctionPrototypeEntry
		// inlined
		// function
		IMG_BOOL ASTProcessFunctionPrototype(
			GLSLTreeContext* psGLSLTreeContext
			ParseTreeEntry* psFunctionPrototypeEntry
			ASTFunctionState* psFunctionState
			)
		{
			ParseTreeEntry* psFunctionDeclaratorEntry
			{
				{
					IMG_UINT32 i
					ParseTreeEntry* psRule
				}
			}
		}

		// inlined
		// function
		ParseTreeEntry* GetRule(
			ParseTreeEntry* psCurrent
			IMG_UINT32 uRuleNumber
			)
		{
			IMG_UINT32 i
			ParseTreeEntry* psRule
		}

	}
}


// function
GLSLNode* ASTProcessDeclarationStatement(
	GLSLTreeContext* psGLSLTreeContext
	ParseTreeEntry* psDeclarationStatementEntry
	)
{
	ParseTreeEntry* psDeclarationEntry
	{
		{
			IMG_UINT32 i
			ParseTreeEntry* psRule
		}
	}
}


// function
GLSLNode* ASTProcessExpressionStatement(
	GLSLTreeContext* psGLSLTreeContext
	ParseTreeEntry* psExpressionStatementEntry
	)
{
	ParseTreeEntry* psExpressionEntry
	{
		{
			IMG_UINT32 i
			ParseTreeEntry* psRule
		}
	}
}


// function
GLSLNode* ASTProcessIterationStatement(
	GLSLTreeContext* psGLSLTreeContext
	ParseTreeEntry* psIterationStatementEntry
	)
{
	GLSLCompilerPrivateData* psCPD
	GLSLNode* psIterationNode
	{
		ParseTreeEntry* psConditionEntry
		ParseTreeEntry* psStatementNoNewScopeEntry
		GLSLNode* psConditionNode
		GLSLNode* psStatementNoNewScopeNode
		{
			{
				IMG_UINT32 i
				ParseTreeEntry* psRule
			}
		}
		{
			{
				IMG_UINT32 i
				ParseTreeEntry* psRule
			}
		}
		{
		}
		{
			{
				IMG_UINT32 i
				ParseTreeEntry* psRule
			}
		}
	}
	{
		ParseTreeEntry* psStatementEntry
		ParseTreeEntry* psExpressionEntry
		GLSLNode* psStatementNode
		GLSLNode* psExpressionNode
		{
			{
				IMG_UINT32 i
				ParseTreeEntry* psRule
			}
		}
		{
			{
				IMG_UINT32 i
				ParseTreeEntry* psRule
			}
		}
		{
		}
		{
			{
				IMG_UINT32 i
				ParseTreeEntry* psRule
			}
		}
	}
	{
		ParseTreeEntry* psForInitStatementEntry
		ParseTreeEntry* psForCondStatementEntry
		ParseTreeEntry* psForLoopStatementEntry
		ParseTreeEntry* psStatementNoNewScopeEntry
		GLSLNode* psForInitStatementNode
		GLSLNode* psForCondStatementNode
		GLSLNode* psForLoopStatementNode
		GLSLNode* psStatementNoNewScopeNode
		{
			{
				IMG_UINT32 i
				ParseTreeEntry* psRule
			}
		}
		{
			{
				IMG_UINT32 i
				ParseTreeEntry* psRule
			}
		}
		{
			{
				IMG_UINT32 i
				ParseTreeEntry* psRule
			}
		}
		{
			{
				IMG_UINT32 i
				ParseTreeEntry* psRule
			}
		}
		{
		}
		{
			{
				IMG_UINT32 i
				ParseTreeEntry* psRule
			}
		}
	}
	{
		{
			IMG_UINT32 i
			ParseTreeEntry* psRule
		}
	}
}


// function
GLSLNode* ASTProcessForInitStatement(
	GLSLTreeContext* psGLSLTreeContext
	ParseTreeEntry* psForInitStatementEntry
	)
{
	GLSLCompilerPrivateData* psCPD
	{
		ParseTreeEntry* psExpressionStatementEntry
		{
			{
				IMG_UINT32 i
				ParseTreeEntry* psRule
			}
		}
	}
	{
		ParseTreeEntry* psDeclarationStatementEntry
		{
			{
				IMG_UINT32 i
				ParseTreeEntry* psRule
			}
		}
	}
	{
		{
			IMG_UINT32 i
			ParseTreeEntry* psRule
		}
	}
}


// function
GLSLNode* ASTProcessForCondStatement(
	GLSLTreeContext* psGLSLTreeContext
	ParseTreeEntry* psForCondStatementEntry
	)
{
	ParseTreeEntry* psConditionOptEntry
	{
		{
			IMG_UINT32 i
			ParseTreeEntry* psRule
		}
	}
}


// function
GLSLNode* ASTProcessConditionOpt(
	GLSLTreeContext* psGLSLTreeContext
	ParseTreeEntry* psConditionOptEntry
	)
{
	ParseTreeEntry* psConditionEntry
	{
		{
			IMG_UINT32 i
			ParseTreeEntry* psRule
		}
	}
}


// function
GLSLNode* ASTProcessForLoopStatement(
	GLSLTreeContext* psGLSLTreeContext
	ParseTreeEntry* psForLoopStatementEntry
	)
{
	ParseTreeEntry* psExpressionEntry
	{
		{
			IMG_UINT32 i
			ParseTreeEntry* psRule
		}
	}
}


// function
GLSLNode* ASTProcessJumpStatement(
	GLSLTreeContext* psGLSLTreeContext
	ParseTreeEntry* psJumpStatementEntry
	)
{
	GLSLCompilerPrivateData* psCPD
	GLSLNode* psJumpNode
	GLSLNode* psExpressionNode
	GLSLNodeType eNodeType
	{
		ParseTreeEntry* psExpressionEntry
		{
			{
				IMG_UINT32 i
				ParseTreeEntry* psRule
			}
		}
	}
	{
		{
			IMG_UINT32 i
			ParseTreeEntry* psRule
		}
	}
	{
		{
			IMG_UINT32 i
			ParseTreeEntry* psRule
		}
	}
	{
		{
			IMG_UINT32 i
			ParseTreeEntry* psRule
		}
	}
	{
		{
			IMG_UINT32 i
			ParseTreeEntry* psRule
		}
	}
}


// function PC=<0x54f24;0x560b0>
GLSLNode* ASTProcessSimpleStatement(
	GLSLTreeContext* psGLSLTreeContext
	ParseTreeEntry* psSimpleStatementEntry
	)
{
	GLSLCompilerPrivateData* psCPD
	// inlined
	// function
	ParseTreeEntry* GetRule(
		ParseTreeEntry* psCurrent
		IMG_UINT32 uRuleNumber
		)
	{
		IMG_UINT32 i
		ParseTreeEntry* psRule
	}

	{
		ParseTreeEntry* psDeclarationStatementEntry
		// inlined
		// function
		GLSLNode* ASTProcessDeclarationStatement(
			GLSLTreeContext* psGLSLTreeContext
			ParseTreeEntry* psDeclarationStatementEntry
			)
		{
			ParseTreeEntry* psDeclarationEntry
			{
				{
					IMG_UINT32 i
					ParseTreeEntry* psRule
				}
			}
		}

		// inlined
		// function
		ParseTreeEntry* GetRule(
			ParseTreeEntry* psCurrent
			IMG_UINT32 uRuleNumber
			)
		{
			IMG_UINT32 i
			ParseTreeEntry* psRule
		}

	}
	{
		ParseTreeEntry* psJumpStatementEntry
		// inlined
		// function
		ParseTreeEntry* GetRule(
			ParseTreeEntry* psCurrent
			IMG_UINT32 uRuleNumber
			)
		{
			IMG_UINT32 i
			ParseTreeEntry* psRule
		}

		// inlined
		// function
		GLSLNode* ASTProcessJumpStatement(
			GLSLTreeContext* psGLSLTreeContext
			ParseTreeEntry* psJumpStatementEntry
			)
		{
			GLSLCompilerPrivateData* psCPD
			GLSLNode* psJumpNode
			GLSLNode* psExpressionNode
			GLSLNodeType eNodeType
			{
				ParseTreeEntry* psExpressionEntry
				{
					{
						IMG_UINT32 i
						ParseTreeEntry* psRule
					}
				}
			}
			{
				{
					IMG_UINT32 i
					ParseTreeEntry* psRule
				}
			}
			{
				{
					IMG_UINT32 i
					ParseTreeEntry* psRule
				}
			}
			{
				{
					IMG_UINT32 i
					ParseTreeEntry* psRule
				}
			}
			{
				{
					IMG_UINT32 i
					ParseTreeEntry* psRule
				}
			}
		}

	}
	{
		ParseTreeEntry* psExpressionStatementEntry
		// inlined
		// function
		GLSLNode* ASTProcessExpressionStatement(
			GLSLTreeContext* psGLSLTreeContext
			ParseTreeEntry* psExpressionStatementEntry
			)
		{
			ParseTreeEntry* psExpressionEntry
			{
				{
					IMG_UINT32 i
					ParseTreeEntry* psRule
				}
			}
		}

		// inlined
		// function
		ParseTreeEntry* GetRule(
			ParseTreeEntry* psCurrent
			IMG_UINT32 uRuleNumber
			)
		{
			IMG_UINT32 i
			ParseTreeEntry* psRule
		}

	}
	{
		ParseTreeEntry* psIterationStatementEntry
		// inlined
		// function
		GLSLNode* ASTProcessIterationStatement(
			GLSLTreeContext* psGLSLTreeContext
			ParseTreeEntry* psIterationStatementEntry
			)
		{
			GLSLCompilerPrivateData* psCPD
			GLSLNode* psIterationNode
			{
				ParseTreeEntry* psConditionEntry
				ParseTreeEntry* psStatementNoNewScopeEntry
				GLSLNode* psConditionNode
				GLSLNode* psStatementNoNewScopeNode
				{
					{
						IMG_UINT32 i
						ParseTreeEntry* psRule
					}
				}
				{
					{
						IMG_UINT32 i
						ParseTreeEntry* psRule
					}
				}
				{
				}
				{
					{
						IMG_UINT32 i
						ParseTreeEntry* psRule
					}
				}
			}
			{
				ParseTreeEntry* psStatementEntry
				ParseTreeEntry* psExpressionEntry
				GLSLNode* psStatementNode
				GLSLNode* psExpressionNode
				{
					{
						IMG_UINT32 i
						ParseTreeEntry* psRule
					}
				}
				{
					{
						IMG_UINT32 i
						ParseTreeEntry* psRule
					}
				}
				{
				}
				{
					{
						IMG_UINT32 i
						ParseTreeEntry* psRule
					}
				}
			}
			{
				ParseTreeEntry* psForInitStatementEntry
				ParseTreeEntry* psForCondStatementEntry
				ParseTreeEntry* psForLoopStatementEntry
				ParseTreeEntry* psStatementNoNewScopeEntry
				GLSLNode* psForInitStatementNode
				GLSLNode* psForCondStatementNode
				GLSLNode* psForLoopStatementNode
				GLSLNode* psStatementNoNewScopeNode
				{
					{
						IMG_UINT32 i
						ParseTreeEntry* psRule
					}
				}
				{
					{
						IMG_UINT32 i
						ParseTreeEntry* psRule
					}
				}
				{
					{
						IMG_UINT32 i
						ParseTreeEntry* psRule
					}
				}
				{
					{
						IMG_UINT32 i
						ParseTreeEntry* psRule
					}
				}
				{
				}
				{
					{
						IMG_UINT32 i
						ParseTreeEntry* psRule
					}
				}
			}
			{
				{
					IMG_UINT32 i
					ParseTreeEntry* psRule
				}
			}
		}

		// inlined
		// function
		ParseTreeEntry* GetRule(
			ParseTreeEntry* psCurrent
			IMG_UINT32 uRuleNumber
			)
		{
			IMG_UINT32 i
			ParseTreeEntry* psRule
		}

	}
}


// function PC=<0x560b0;0x56494>
GLSLNode* ASTProcessClosedStatement(
	GLSLTreeContext* psGLSLTreeContext
	ParseTreeEntry* psClosedStatementEntry
	)
{
	GLSLCompilerPrivateData* psCPD
	// inlined
	// function
	ParseTreeEntry* GetRule(
		ParseTreeEntry* psCurrent
		IMG_UINT32 uRuleNumber
		)
	{
		IMG_UINT32 i
		ParseTreeEntry* psRule
	}

	{
		GLSLNode* psSelectionStatementNode
		GLSLNode* psExpressionNode
		GLSLNode* psIfNode
		GLSLNode* psElseNode
		// inlined
		// function
		ParseTreeEntry* GetRule(
			ParseTreeEntry* psCurrent
			IMG_UINT32 uRuleNumber
			)
		{
			IMG_UINT32 i
			ParseTreeEntry* psRule
		}

		// inlined
		// function
		ParseTreeEntry* GetRule(
			ParseTreeEntry* psCurrent
			IMG_UINT32 uRuleNumber
			)
		{
			IMG_UINT32 i
			ParseTreeEntry* psRule
		}

		// inlined
		// function
		ParseTreeEntry* GetRule(
			ParseTreeEntry* psCurrent
			IMG_UINT32 uRuleNumber
			)
		{
			IMG_UINT32 i
			ParseTreeEntry* psRule
		}

	}
	// inlined
	// function
	ParseTreeEntry* GetRule(
		ParseTreeEntry* psCurrent
		IMG_UINT32 uRuleNumber
		)
	{
		IMG_UINT32 i
		ParseTreeEntry* psRule
	}

	// inlined
	// function
	ParseTreeEntry* GetRule(
		ParseTreeEntry* psCurrent
		IMG_UINT32 uRuleNumber
		)
	{
		IMG_UINT32 i
		ParseTreeEntry* psRule
	}

}


// function PC=<0x56494;0x568a0>
GLSLNode* ASTProcessOpenStatement(
	GLSLTreeContext* psGLSLTreeContext
	ParseTreeEntry* psOpenStatementEntry
	)
{
	GLSLCompilerPrivateData* psCPD
	ParseTreeEntry* psFirstEntry
	// inlined
	// function
	ParseTreeEntry* GetRule(
		ParseTreeEntry* psCurrent
		IMG_UINT32 uRuleNumber
		)
	{
		IMG_UINT32 i
		ParseTreeEntry* psRule
	}

	{
		GLSLNode* psExpressionNode
		GLSLNode* psSelectionStatementNode
		// inlined
		// function
		ParseTreeEntry* GetRule(
			ParseTreeEntry* psCurrent
			IMG_UINT32 uRuleNumber
			)
		{
			IMG_UINT32 i
			ParseTreeEntry* psRule
		}

		// inlined
		// function
		ParseTreeEntry* GetRule(
			ParseTreeEntry* psCurrent
			IMG_UINT32 uRuleNumber
			)
		{
			IMG_UINT32 i
			ParseTreeEntry* psRule
		}

		{
			GLSLNode* psIfNode
			GLSLNode* psElseNode
			// inlined
			// function
			ParseTreeEntry* GetRule(
				ParseTreeEntry* psCurrent
				IMG_UINT32 uRuleNumber
				)
			{
				IMG_UINT32 i
				ParseTreeEntry* psRule
			}

			// inlined
			// function
			ParseTreeEntry* GetRule(
				ParseTreeEntry* psCurrent
				IMG_UINT32 uRuleNumber
				)
			{
				IMG_UINT32 i
				ParseTreeEntry* psRule
			}

		}
		{
			GLSLNode* psIfNode
			// inlined
			// function
			ParseTreeEntry* GetRule(
				ParseTreeEntry* psCurrent
				IMG_UINT32 uRuleNumber
				)
			{
				IMG_UINT32 i
				ParseTreeEntry* psRule
			}

		}
	}
}


// function PC=<0x568a0;0x569fc>
GLSLNode* ASTProcessStatement(
	GLSLTreeContext* psGLSLTreeContext
	ParseTreeEntry* psStatementEntry
	)
{
	GLSLCompilerPrivateData* psCPD
	// inlined
	// function
	ParseTreeEntry* GetRule(
		ParseTreeEntry* psCurrent
		IMG_UINT32 uRuleNumber
		)
	{
		IMG_UINT32 i
		ParseTreeEntry* psRule
	}

	{
		ParseTreeEntry* psClosedStatementEntry
		// inlined
		// function
		ParseTreeEntry* GetRule(
			ParseTreeEntry* psCurrent
			IMG_UINT32 uRuleNumber
			)
		{
			IMG_UINT32 i
			ParseTreeEntry* psRule
		}

	}
	{
		ParseTreeEntry* psOpenStatementEntry
		// inlined
		// function
		ParseTreeEntry* GetRule(
			ParseTreeEntry* psCurrent
			IMG_UINT32 uRuleNumber
			)
		{
			IMG_UINT32 i
			ParseTreeEntry* psRule
		}

	}
}


// function PC=<0x569fc;0x56c18>
GLSLNode* ASTProcessStatementList(
	GLSLTreeContext* psGLSLTreeContext
	ParseTreeEntry* psStatementListEntry
	)
{
	ParseTreeEntry* psStatementEntry
	ParseTreeEntry* psStatementListLREntry
	GLSLNode* psStatementListNode
	// inlined
	// function
	ParseTreeEntry* GetRule(
		ParseTreeEntry* psCurrent
		IMG_UINT32 uRuleNumber
		)
	{
		IMG_UINT32 i
		ParseTreeEntry* psRule
	}

	// inlined
	// function
	ParseTreeEntry* GetRule(
		ParseTreeEntry* psCurrent
		IMG_UINT32 uRuleNumber
		)
	{
		IMG_UINT32 i
		ParseTreeEntry* psRule
	}

	{
		GLSLNode* psStatementNode
		// inlined
		// function
		ParseTreeEntry* GetRule(
			ParseTreeEntry* psCurrent
			IMG_UINT32 uRuleNumber
			)
		{
			IMG_UINT32 i
			ParseTreeEntry* psRule
		}

		// inlined
		// function
		ParseTreeEntry* GetRule(
			ParseTreeEntry* psCurrent
			IMG_UINT32 uRuleNumber
			)
		{
			IMG_UINT32 i
			ParseTreeEntry* psRule
		}

	}
}


// function PC=<0x56c18;0x56dc0>
GLSLNode* ASTProcessCompoundStatementNoNewScope(
	GLSLTreeContext* psGLSLTreeContext
	ParseTreeEntry* psCompoundStatementNoNewScopeEntry
	)
{
	GLSLCompilerPrivateData* psCPD
	// inlined
	// function
	ParseTreeEntry* GetRule(
		ParseTreeEntry* psCurrent
		IMG_UINT32 uRuleNumber
		)
	{
		IMG_UINT32 i
		ParseTreeEntry* psRule
	}

	{
		ParseTreeEntry* psStatementListEntry
		// inlined
		// function
		ParseTreeEntry* GetRule(
			ParseTreeEntry* psCurrent
			IMG_UINT32 uRuleNumber
			)
		{
			IMG_UINT32 i
			ParseTreeEntry* psRule
		}

	}
	{
		GLSLNode* psStatementListNode
	}
}


// function
GLSLNode* ASTProcessProgram(
	GLSLTreeContext* psGLSLTreeContext
	ParseTreeEntry* psProgramEntry
	)
{
	ParseTreeEntry* psTranslationUnitEntry
	{
		{
			IMG_UINT32 i
			ParseTreeEntry* psRule
		}
	}
}


// function
GLSLNode* ASTProcessTranslationUnit(
	GLSLTreeContext* psGLSLTreeContext
	ParseTreeEntry* psTranslationUnitEntry
	)
{
	GLSLNode* psShaderNode
	ParseTreeEntry* psExternalDeclarationEntry
	ParseTreeEntry* psTranslationUnitLREntry
	{
		GLSLNode* psExternalDeclarationNode
		{
			{
				IMG_UINT32 i
				ParseTreeEntry* psRule
			}
		}
		{
			{
				IMG_UINT32 i
				ParseTreeEntry* psRule
			}
		}
	}
	{
		{
			IMG_UINT32 i
			ParseTreeEntry* psRule
		}
	}
	{
		{
			IMG_UINT32 i
			ParseTreeEntry* psRule
		}
	}
}


// function
GLSLNode* ASTProcessExternalDeclaration(
	GLSLTreeContext* psGLSLTreeContext
	ParseTreeEntry* psExternalDeclarationEntry
	)
{
	{
		ParseTreeEntry* psFunctionDefinitionEntry
		{
			{
				IMG_UINT32 i
				ParseTreeEntry* psRule
			}
		}
	}
	{
		ParseTreeEntry* psDeclarationEntry
		{
			{
				IMG_UINT32 i
				ParseTreeEntry* psRule
			}
		}
	}
	{
		ParseTreeEntry* psLanguageVersionEntry
		{
			{
				IMG_UINT32 i
				ParseTreeEntry* psRule
			}
		}
	}
	{
		ParseTreeEntry* psExtensionChangeEntry
		{
			{
				IMG_UINT32 i
				ParseTreeEntry* psRule
			}
		}
	}
	{
		{
			IMG_UINT32 i
			ParseTreeEntry* psRule
		}
	}
}


// function
GLSLNode* ASTProcessFunctionDefinition(
	GLSLTreeContext* psGLSLTreeContext
	ParseTreeEntry* psFunctionDefinitionEntry
	)
{
	GLSLCompilerPrivateData* psCPD
	ParseTreeEntry* psFunctionPrototypeEntry
	ParseTreeEntry* psCompoundStatementNoNewScopeEntry
	GLSLNode* psFunctionDefinitionNode
	GLSLNode* psCompoundStatementNoNewScopeNode
	ASTFunctionState sFunctionState
	{
		{
			IMG_UINT32 i
			ParseTreeEntry* psRule
		}
	}
	{
		{
			IMG_UINT32 i
			ParseTreeEntry* psRule
		}
	}
}


// function
GLSLNode* ASTProcessLanguageVersion(
	GLSLTreeContext* psGLSLTreeContext
	ParseTreeEntry* psLanguageVersionEntry
	)
{
	GLSLCompilerPrivateData* psCPD
	IMG_INT32 iData
	{
		{
			IMG_UINT32 i
			ParseTreeEntry* psRule
		}
	}
}


// function
GLSLNode* ASTProcessExtensionChange(
	GLSLTreeContext* psGLSLTreeContext
	ParseTreeEntry* psExtensionChangeEntry
	)
{
	GLSLCompilerPrivateData* psCPD
	ParseTreeEntry* psINTCONSTANTEntry
	{
		{
			IMG_UINT32 i
			ParseTreeEntry* psRule
		}
	}
}


// external function PC=<0x56dc0;0x57728>
GLSLTreeContext* CreateGLSLTreeContext(
	ParseContext* psParseContext
	SymTable* psSymbolTable
	GLSLProgramType eProgramType
	GLSLCompilerWarnings eEnabledWarnings
	GLSLInitCompilerContext* psInitCompilerContext
	)
{
	GLSLTreeContext* psGLSLTreeContext
	GLSLPreProcessorData* psData
	GLSLRequestedPrecisions* psRequestedPrecisions
	GLSLCompilerPrivateData* psCPD
	// inlined
	// function
	GLSLNode* ASTProcessProgram(
		GLSLTreeContext* psGLSLTreeContext
		ParseTreeEntry* psProgramEntry
		)
	{
		ParseTreeEntry* psTranslationUnitEntry
		{
			{
				IMG_UINT32 i
				ParseTreeEntry* psRule
			}
		}
	}

}


// function PC=<0x57728;0x57884>
GLSLNode* ASTProcessStatementNoNewScope(
	GLSLTreeContext* psGLSLTreeContext
	ParseTreeEntry* psStatementNoNewScopeEntry
	)
{
	GLSLCompilerPrivateData* psCPD
	// inlined
	// function
	ParseTreeEntry* GetRule(
		ParseTreeEntry* psCurrent
		IMG_UINT32 uRuleNumber
		)
	{
		IMG_UINT32 i
		ParseTreeEntry* psRule
	}

	{
		ParseTreeEntry* psCompoundStatementNoNewScopeEntry
		GLSLNode* psCompoundStatementNoNewScopeNode
		// inlined
		// function
		ParseTreeEntry* GetRule(
			ParseTreeEntry* psCurrent
			IMG_UINT32 uRuleNumber
			)
		{
			IMG_UINT32 i
			ParseTreeEntry* psRule
		}

	}
	{
		ParseTreeEntry* psSimpleStatementEntry
		// inlined
		// function
		ParseTreeEntry* GetRule(
			ParseTreeEntry* psCurrent
			IMG_UINT32 uRuleNumber
			)
		{
			IMG_UINT32 i
			ParseTreeEntry* psRule
		}

	}
}


// function PC=<0x57884;0x57a00>
GLSLNode* ASTProcessCompoundStatement(
	GLSLTreeContext* psGLSLTreeContext
	ParseTreeEntry* psCompoundStatementEntry
	)
{
	GLSLCompilerPrivateData* psCPD
	// inlined
	// function
	ParseTreeEntry* GetRule(
		ParseTreeEntry* psCurrent
		IMG_UINT32 uRuleNumber
		)
	{
		IMG_UINT32 i
		ParseTreeEntry* psRule
	}

	{
		ParseTreeEntry* psStatementListEntry
		GLSLNode* psStatementListNode
		// inlined
		// function
		ParseTreeEntry* GetRule(
			ParseTreeEntry* psCurrent
			IMG_UINT32 uRuleNumber
			)
		{
			IMG_UINT32 i
			ParseTreeEntry* psRule
		}

		// inlined
		// function
		IMG_BOOL ASTIncreaseScope(
			GLSLTreeContext* psGLSLTreeContext
			)
		{
		}

	}
}


struct _IO_FILE* stdin

struct _IO_FILE* stdout

const const IMG_CHAR*[30] GLSLTypeSpecifierFullDescTable

const const IMG_CHAR*[30] GLSLTypeSpecifierNormDescTable

const const IMG_CHAR*[30] GLSLTypeSpecifierDescTable

const IMG_UINT8[30] GLSLTypeSpecifierIsNumberTable

const const IMG_CHAR*[6] GLSLTypeQualifierFullDescTable

const const IMG_CHAR*[4] GLSLPrecisionQualifierFullDescTable

const IMG_UINT8[NaN] GLSLBuiltInFunctionUseGradientsTable

const const IMG_CHAR*[4] GLSLParameterQualifierFullDescTable

