From 387657e4cfe64808743d4be64f8557e3cee4a84c Mon Sep 17 00:00:00 2001 From: Jeff Bolz Date: Thu, 22 Aug 2019 20:28:00 -0500 Subject: [PATCH] GL_NV_integer_cooperative_matrix support --- SPIRV/GlslangToSpv.cpp | 4 + Test/baseResults/spv.intcoopmat.comp.out | 418 ++ Test/spv.intcoopmat.comp | 117 + glslang/Include/Types.h | 33 +- glslang/MachineIndependent/Initialize.cpp | 63 +- glslang/MachineIndependent/ParseHelper.cpp | 101 +- glslang/MachineIndependent/Scan.cpp | 10 + glslang/MachineIndependent/Versions.cpp | 13 +- glslang/MachineIndependent/Versions.h | 1 + glslang/MachineIndependent/glslang.m4 | 14 +- glslang/MachineIndependent/glslang.y | 14 +- glslang/MachineIndependent/glslang_tab.cpp | 5069 +++++++++--------- glslang/MachineIndependent/glslang_tab.cpp.h | 518 +- glslang/MachineIndependent/parseVersions.h | 1 + gtests/Spv.FromFile.cpp | 1 + 15 files changed, 3580 insertions(+), 2797 deletions(-) create mode 100644 Test/baseResults/spv.intcoopmat.comp.out create mode 100644 Test/spv.intcoopmat.comp diff --git a/SPIRV/GlslangToSpv.cpp b/SPIRV/GlslangToSpv.cpp index fb578f21..2c9fcd81 100644 --- a/SPIRV/GlslangToSpv.cpp +++ b/SPIRV/GlslangToSpv.cpp @@ -3485,6 +3485,10 @@ spv::Id TGlslangToSpvTraverser::convertGlslangToSpvType(const glslang::TType& ty builder.addExtension(spv::E_SPV_NV_cooperative_matrix); if (type.getBasicType() == glslang::EbtFloat16) builder.addCapability(spv::CapabilityFloat16); + if (type.getBasicType() == glslang::EbtUint8 || + type.getBasicType() == glslang::EbtInt8) { + builder.addCapability(spv::CapabilityInt8); + } spv::Id scope = makeArraySizeId(*type.getTypeParameters(), 1); spv::Id rows = makeArraySizeId(*type.getTypeParameters(), 2); diff --git a/Test/baseResults/spv.intcoopmat.comp.out b/Test/baseResults/spv.intcoopmat.comp.out new file mode 100644 index 00000000..06f5623d --- /dev/null +++ b/Test/baseResults/spv.intcoopmat.comp.out @@ -0,0 +1,418 @@ +spv.intcoopmat.comp +// Module Version 10000 +// Generated by (magic number): 80007 +// Id's are bound by 262 + + Capability Shader + Capability Float16 + Capability Int8 + Capability StorageBuffer8BitAccess + Capability VulkanMemoryModelKHR + Capability PhysicalStorageBufferAddressesEXT + Capability CooperativeMatrixNV + Extension "SPV_EXT_physical_storage_buffer" + Extension "SPV_KHR_8bit_storage" + Extension "SPV_KHR_storage_buffer_storage_class" + Extension "SPV_KHR_vulkan_memory_model" + Extension "SPV_NV_cooperative_matrix" + 1: ExtInstImport "GLSL.std.450" + MemoryModel PhysicalStorageBuffer64EXT VulkanKHR + EntryPoint GLCompute 4 "main" + ExecutionMode 4 LocalSize 64 1 1 + Source GLSL 450 + SourceExtension "GL_EXT_buffer_reference" + SourceExtension "GL_EXT_shader_explicit_arithmetic_types" + SourceExtension "GL_KHR_memory_scope_semantics" + SourceExtension "GL_NV_cooperative_matrix" + SourceExtension "GL_NV_integer_cooperative_matrix" + Name 4 "main" + Name 14 "ineg(i81;" + Name 13 "m" + Name 21 "umul(u81;" + Name 20 "m" + Name 35 "mu" + Name 39 "mi" + Name 55 "mf16_0" + Name 61 "mf32_0" + Name 64 "mf16_1" + Name 67 "mf32_1" + Name 71 "x" + Name 81 "tempArg" + Name 85 "Block" + MemberName 85(Block) 0 "y" + MemberName 85(Block) 1 "x" + Name 87 "block" + Name 98 "tempArg" + Name 103 "Block16" + MemberName 103(Block16) 0 "y" + MemberName 103(Block16) 1 "x" + MemberName 103(Block16) 2 "b" + Name 106 "Block" + MemberName 106(Block) 0 "y" + MemberName 106(Block) 1 "x" + Name 108 "block8" + Name 115 "tempArg" + Name 128 "D" + Name 129 "A" + Name 131 "B" + Name 133 "C" + Name 137 "l" + Name 142 "a" + Name 146 "md1" + Name 156 "Y" + Name 157 "Z" + Name 161 "muC2" + Name 169 "miC2" + Name 176 "tempArg" + Name 182 "tempArg" + Name 188 "p1" + Name 189 "param" + Name 192 "p2" + Name 193 "param" + Name 207 "tempArg" + Name 212 "shmatrix" + Name 217 "ms" + Name 225 "miC" + Name 226 "muC" + Name 231 "iarr" + Name 236 "iarr2" + Name 241 "uarr" + Name 246 "uarr2" + Name 251 "S" + MemberName 251(S) 0 "a" + MemberName 251(S) 1 "b" + MemberName 251(S) 2 "c" + Name 256 "SC" + Name 261 "scm" + Decorate 83 ArrayStride 4 + Decorate 84 ArrayStride 4 + MemberDecorate 85(Block) 0 Offset 0 + MemberDecorate 85(Block) 1 Offset 4194304 + Decorate 85(Block) Block + Decorate 87(block) DescriptorSet 0 + Decorate 87(block) Binding 0 + Decorate 99 ArrayStride 1 + Decorate 101 ArrayStride 1 + MemberDecorate 103(Block16) 0 Offset 0 + MemberDecorate 103(Block16) 1 Offset 1048576 + MemberDecorate 103(Block16) 2 Offset 1048584 + Decorate 103(Block16) Block + Decorate 104 ArrayStride 4 + Decorate 105 ArrayStride 4 + MemberDecorate 106(Block) 0 Offset 0 + MemberDecorate 106(Block) 1 Offset 4194304 + Decorate 106(Block) Block + Decorate 108(block8) DescriptorSet 0 + Decorate 108(block8) Binding 0 + Decorate 156(Y) SpecId 0 + Decorate 223 BuiltIn WorkgroupSize + Decorate 256(SC) SpecId 2 + 2: TypeVoid + 3: TypeFunction 2 + 6: TypeInt 8 1 + 7: TypeInt 32 0 + 8: 7(int) Constant 3 + 9: 7(int) Constant 8 + 10: TypeCooperativeMatrixNV 6(int8_t) 8 9 9 + 11: TypePointer Function 10 + 12: TypeFunction 10 11(ptr) + 16: TypeInt 8 0 + 17: TypeCooperativeMatrixNV 16(int8_t) 8 9 9 + 18: TypePointer Function 17 + 19: TypeFunction 17 18(ptr) + 28: 16(int8_t) Constant 2 + 32: 7(int) Constant 16 + 33: TypeCooperativeMatrixNV 16(int8_t) 8 32 9 + 34: TypePointer Function 33 + 36: 33 ConstantComposite 28 + 37: TypeCooperativeMatrixNV 6(int8_t) 8 32 9 + 38: TypePointer Function 37 + 40: 6(int8_t) Constant 2 + 41: 37 ConstantComposite 40 + 52: TypeFloat 16 + 53: TypeCooperativeMatrixNV 52(float16_t) 8 32 9 + 54: TypePointer Function 53 + 58: TypeFloat 32 + 59: TypeCooperativeMatrixNV 58(float) 8 32 9 + 60: TypePointer Function 59 + 70: TypePointer Function 16(int8_t) + 72: TypeInt 32 1 + 73: 72(int) Constant 1 + 76: 72(int) Constant 0 + 79: TypePointer Function 6(int8_t) + 82: 7(int) Constant 1048576 + 83: TypeArray 7(int) 82 + 84: TypeRuntimeArray 7(int) + 85(Block): TypeStruct 83 84 + 86: TypePointer StorageBuffer 85(Block) + 87(block): 86(ptr) Variable StorageBuffer + 88: 7(int) Constant 5 + 89: TypePointer StorageBuffer 7(int) + 91: 7(int) Constant 128 + 92: TypeBool + 93: 92(bool) ConstantFalse + 99: TypeArray 6(int8_t) 82 + 100: 7(int) Constant 1 + 101: TypeArray 6(int8_t) 100 + TypeForwardPointer 102 PhysicalStorageBufferEXT + 103(Block16): TypeStruct 99 101 102 + 104: TypeArray 7(int) 82 + 105: TypeRuntimeArray 7(int) + 106(Block): TypeStruct 104 105 + 102: TypePointer PhysicalStorageBufferEXT 106(Block) + 107: TypePointer StorageBuffer 103(Block16) + 108(block8): 107(ptr) Variable StorageBuffer + 109: TypePointer StorageBuffer 6(int8_t) + 116: 72(int) Constant 2 + 117: TypePointer StorageBuffer 102(ptr) + 120: TypePointer PhysicalStorageBufferEXT 7(int) + 136: TypePointer Function 72(int) + 138: 7(int) SpecConstantOp 5362 33 + 139: 72(int) SpecConstantOp 128 138 76 + 140: TypeArray 37 88 + 141: TypePointer Function 140 + 143: 72(int) Constant 3 + 144: 6(int8_t) Constant 1 + 150: 72(int) Constant 1234 + 155: 72(int) Constant 8 + 156(Y): 72(int) SpecConstant 2 + 157(Z): 72(int) SpecConstantOp 132 155 156(Y) + 158: TypeCooperativeMatrixNV 16(int8_t) 8 157(Z) 9 + 159: TypeArray 158 8 + 160: TypePointer Private 159 + 161(muC2): 160(ptr) Variable Private + 162: TypePointer Private 158 + 166: TypeCooperativeMatrixNV 6(int8_t) 8 157(Z) 9 + 167: TypeArray 166 8 + 168: TypePointer Private 167 + 169(miC2): 168(ptr) Variable Private + 170: TypePointer Private 6(int8_t) + 174: TypePointer Private 16(int8_t) + 204: 16(int8_t) Constant 4 + 208: TypeVector 7(int) 4 + 209: 7(int) Constant 32 + 210: TypeArray 208(ivec4) 209 + 211: TypePointer Workgroup 210 + 212(shmatrix): 211(ptr) Variable Workgroup + 213: 7(int) Constant 2 + 214: TypePointer Workgroup 208(ivec4) + 221: TypeVector 7(int) 3 + 222: 7(int) Constant 64 + 223: 221(ivec3) ConstantComposite 222 100 100 + 224: TypePointer Private 166 + 225(miC): 224(ptr) Variable Private + 226(muC): 162(ptr) Variable Private + 227: 7(int) SpecConstantOp 5362 166 + 228: 72(int) SpecConstantOp 128 227 76 + 229: TypeArray 72(int) 228 + 230: TypePointer Private 229 + 231(iarr): 230(ptr) Variable Private + 232: 7(int) SpecConstantOp 5362 166 + 233: 72(int) SpecConstantOp 128 232 76 + 234: TypeArray 72(int) 233 + 235: TypePointer Private 234 + 236(iarr2): 235(ptr) Variable Private + 237: 7(int) SpecConstantOp 5362 158 + 238: 72(int) SpecConstantOp 128 237 76 + 239: TypeArray 72(int) 238 + 240: TypePointer Private 239 + 241(uarr): 240(ptr) Variable Private + 242: 7(int) SpecConstantOp 5362 158 + 243: 72(int) SpecConstantOp 128 242 76 + 244: TypeArray 72(int) 243 + 245: TypePointer Private 244 + 246(uarr2): 245(ptr) Variable Private + 247: TypeCooperativeMatrixNV 72(int) 8 157(Z) 9 + 248: 247 ConstantComposite 73 + 249: 16(int8_t) Constant 1 + 250: 17 ConstantComposite 249 + 251(S): TypeStruct 72(int) 72(int) 72(int) + 252: 72(int) Constant 12 + 253: 72(int) Constant 23 + 254: 72(int) Constant 34 + 255: 251(S) ConstantComposite 252 253 254 + 256(SC): 72(int) SpecConstant 1 + 257: TypeCooperativeMatrixNV 7(int) 8 256(SC) 256(SC) + 258: TypeArray 257 256(SC) + 259: TypeArray 258 256(SC) + 260: TypePointer Private 259 + 261(scm): 260(ptr) Variable Private + 4(main): 2 Function None 3 + 5: Label + 35(mu): 34(ptr) Variable Function + 39(mi): 38(ptr) Variable Function + 55(mf16_0): 54(ptr) Variable Function + 61(mf32_0): 60(ptr) Variable Function + 64(mf16_1): 54(ptr) Variable Function + 67(mf32_1): 60(ptr) Variable Function + 71(x): 70(ptr) Variable Function + 81(tempArg): 38(ptr) Variable Function + 98(tempArg): 34(ptr) Variable Function + 115(tempArg): 38(ptr) Variable Function + 128(D): 34(ptr) Variable Function + 129(A): 34(ptr) Variable Function + 131(B): 18(ptr) Variable Function + 133(C): 34(ptr) Variable Function + 137(l): 136(ptr) Variable Function + 142(a): 141(ptr) Variable Function + 146(md1): 136(ptr) Variable Function + 176(tempArg): 38(ptr) Variable Function + 182(tempArg): 34(ptr) Variable Function + 188(p1): 11(ptr) Variable Function + 189(param): 11(ptr) Variable Function + 192(p2): 18(ptr) Variable Function + 193(param): 18(ptr) Variable Function + 207(tempArg): 38(ptr) Variable Function + 217(ms): 38(ptr) Variable Function + Store 35(mu) 36 + Store 39(mi) 41 + 42: 33 Load 35(mu) + 43: 33 Load 35(mu) + 44: 33 IAdd 42 43 + Store 35(mu) 44 + 45: 33 Load 35(mu) + 46: 33 Load 35(mu) + 47: 33 ISub 45 46 + Store 35(mu) 47 + 48: 37 Load 39(mi) + 49: 37 SNegate 48 + Store 39(mi) 49 + 50: 37 Load 39(mi) + 51: 37 MatrixTimesScalar 50 40 + Store 39(mi) 51 + 56: 33 Load 35(mu) + 57: 53 ConvertUToF 56 + Store 55(mf16_0) 57 + 62: 33 Load 35(mu) + 63: 59 ConvertUToF 62 + Store 61(mf32_0) 63 + 65: 37 Load 39(mi) + 66: 53 ConvertSToF 65 + Store 64(mf16_1) 66 + 68: 37 Load 39(mi) + 69: 59 ConvertSToF 68 + Store 67(mf32_1) 69 + 74: 70(ptr) AccessChain 35(mu) 73 + 75: 16(int8_t) Load 74 + Store 71(x) 75 + 77: 16(int8_t) Load 71(x) + 78: 6(int8_t) Bitcast 77 + 80: 79(ptr) AccessChain 39(mi) 76 + Store 80 78 + 90: 89(ptr) AccessChain 87(block) 73 32 + 94: 37 CooperativeMatrixLoadNV 90 91 93 MakePointerVisibleKHR NonPrivatePointerKHR 88 + Store 81(tempArg) 94 + 95: 37 Load 81(tempArg) + Store 39(mi) 95 + 96: 37 Load 39(mi) + 97: 89(ptr) AccessChain 87(block) 73 32 + CooperativeMatrixStoreNV 97 96 91 93 MakePointerAvailableKHR NonPrivatePointerKHR 88 + 110: 109(ptr) AccessChain 108(block8) 73 32 + 111: 33 CooperativeMatrixLoadNV 110 91 93 MakePointerVisibleKHR NonPrivatePointerKHR 88 + Store 98(tempArg) 111 + 112: 33 Load 98(tempArg) + Store 35(mu) 112 + 113: 33 Load 35(mu) + 114: 109(ptr) AccessChain 108(block8) 73 32 + CooperativeMatrixStoreNV 114 113 91 93 MakePointerAvailableKHR NonPrivatePointerKHR 88 + 118: 117(ptr) AccessChain 108(block8) 116 + 119: 102(ptr) Load 118 MakePointerVisibleKHR NonPrivatePointerKHR 88 + 121: 120(ptr) AccessChain 119 73 32 + 122: 37 CooperativeMatrixLoadNV 121 91 93 Aligned MakePointerVisibleKHR NonPrivatePointerKHR 16 88 + Store 115(tempArg) 122 + 123: 37 Load 115(tempArg) + Store 39(mi) 123 + 124: 37 Load 39(mi) + 125: 117(ptr) AccessChain 108(block8) 116 + 126: 102(ptr) Load 125 MakePointerVisibleKHR NonPrivatePointerKHR 88 + 127: 120(ptr) AccessChain 126 73 32 + CooperativeMatrixStoreNV 127 124 91 93 Aligned MakePointerAvailableKHR NonPrivatePointerKHR 16 88 + 130: 33 Load 129(A) + 132: 17 Load 131(B) + 134: 33 Load 133(C) + 135: 33 CooperativeMatrixMulAddNV 130 132 134 + Store 128(D) 135 + Store 137(l) 139 + 145: 79(ptr) AccessChain 142(a) 143 76 + Store 145 144 + Store 146(md1) 73 + 147: 37 Load 39(mi) + 148: 37 Load 39(mi) + 149: 37 IAdd 148 147 + Store 39(mi) 149 + 151: 6(int8_t) CompositeExtract 149 1234 + 152: 72(int) SConvert 151 + 153: 72(int) Load 146(md1) + 154: 72(int) IAdd 153 152 + Store 146(md1) 154 + 163: 162(ptr) AccessChain 161(muC2) 73 + 164: 158 Load 163 + 165: 162(ptr) AccessChain 161(muC2) 76 + Store 165 164 + 171: 170(ptr) AccessChain 169(miC2) 116 76 + 172: 6(int8_t) Load 171 + 173: 16(int8_t) Bitcast 172 + 175: 174(ptr) AccessChain 161(muC2) 73 76 + Store 175 173 + 177: 89(ptr) AccessChain 87(block) 76 32 + 178: 37 CooperativeMatrixLoadNV 177 91 93 MakePointerVisibleKHR NonPrivatePointerKHR 88 + Store 176(tempArg) 178 + 179: 37 Load 176(tempArg) + Store 39(mi) 179 + 180: 37 Load 39(mi) + 181: 89(ptr) AccessChain 87(block) 76 32 + CooperativeMatrixStoreNV 181 180 91 93 MakePointerAvailableKHR NonPrivatePointerKHR 88 + 183: 109(ptr) AccessChain 108(block8) 76 32 + 184: 33 CooperativeMatrixLoadNV 183 91 93 MakePointerVisibleKHR NonPrivatePointerKHR 88 + Store 182(tempArg) 184 + 185: 33 Load 182(tempArg) + Store 35(mu) 185 + 186: 33 Load 35(mu) + 187: 109(ptr) AccessChain 108(block8) 76 32 + CooperativeMatrixStoreNV 187 186 91 93 MakePointerAvailableKHR NonPrivatePointerKHR 88 + 190: 10 Load 188(p1) + Store 189(param) 190 + 191: 10 FunctionCall 14(ineg(i81;) 189(param) + Store 188(p1) 191 + 194: 17 Load 192(p2) + Store 193(param) 194 + 195: 17 FunctionCall 21(umul(u81;) 193(param) + Store 192(p2) 195 + 196: 10 Load 188(p1) + 197: 10 Load 188(p1) + 198: 10 SDiv 197 196 + Store 188(p1) 198 + 199: 17 Load 192(p2) + 200: 17 Load 192(p2) + 201: 17 UDiv 200 199 + Store 192(p2) 201 + 202: 10 Load 188(p1) + 203: 10 MatrixTimesScalar 202 40 + Store 188(p1) 203 + 205: 17 Load 192(p2) + 206: 17 MatrixTimesScalar 205 204 + Store 192(p2) 206 + 215: 214(ptr) AccessChain 212(shmatrix) 100 + 216: 37 CooperativeMatrixLoadNV 215 213 93 MakePointerVisibleKHR NonPrivatePointerKHR 213 + Store 207(tempArg) 216 + 218: 37 Load 207(tempArg) + Store 217(ms) 218 + 219: 37 Load 217(ms) + 220: 214(ptr) AccessChain 212(shmatrix) 100 + CooperativeMatrixStoreNV 220 219 213 93 MakePointerAvailableKHR NonPrivatePointerKHR 213 + Return + FunctionEnd + 14(ineg(i81;): 10 Function None 12 + 13(m): 11(ptr) FunctionParameter + 15: Label + 23: 10 Load 13(m) + 24: 10 SNegate 23 + ReturnValue 24 + FunctionEnd + 21(umul(u81;): 17 Function None 19 + 20(m): 18(ptr) FunctionParameter + 22: Label + 27: 17 Load 20(m) + 29: 17 MatrixTimesScalar 27 28 + ReturnValue 29 + FunctionEnd diff --git a/Test/spv.intcoopmat.comp b/Test/spv.intcoopmat.comp new file mode 100644 index 00000000..235aa16b --- /dev/null +++ b/Test/spv.intcoopmat.comp @@ -0,0 +1,117 @@ +#version 450 core +#extension GL_KHR_memory_scope_semantics : enable +#extension GL_NV_cooperative_matrix : enable +#extension GL_NV_integer_cooperative_matrix : enable +#extension GL_EXT_shader_explicit_arithmetic_types : enable +#extension GL_EXT_buffer_reference : enable + +layout (local_size_x = 64, local_size_y = 1, local_size_z = 1) in; + +const int X = 8; +layout(constant_id = 0) const int Y = 2; +const int Z = X*Y; + +icoopmatNV<8, gl_ScopeSubgroup, Z, 8> miC; +icoopmatNV<8, gl_ScopeSubgroup, Z, 8> miC2[3]; +ucoopmatNV<8, gl_ScopeSubgroup, Z, 8> muC; +ucoopmatNV<8, gl_ScopeSubgroup, Z, 8> muC2[3]; + +int iarr[miC.length()]; +int iarr2[miC2[1].length()]; +int uarr[muC.length()]; +int uarr2[muC2[1].length()]; + +const icoopmatNV<32, gl_ScopeSubgroup, Z, 8> mD = icoopmatNV<32, gl_ScopeSubgroup, Z, 8>(1); +const ucoopmatNV<8, gl_ScopeSubgroup, 8, 8> mD2 = ucoopmatNV<8, gl_ScopeSubgroup, 8, 8>(1); + +struct S { int a; int b; int c; }; + +const S s = S(12, 23, 34); + +layout(set = 0, binding = 0, buffer_reference) coherent buffer Block { + uint y[1024*1024]; + uint x[]; +} block; + +layout(set = 0, binding = 0) coherent buffer Block16 { + int8_t y[1024*1024]; + int8_t x[]; + + Block b; +} block8; + +icoopmatNV<8, gl_ScopeSubgroup, 8, 8> ineg(icoopmatNV<8, gl_ScopeSubgroup, 8, 8> m) { return -m; } +ucoopmatNV<8, gl_ScopeSubgroup, 8, 8> umul(ucoopmatNV<8, gl_ScopeSubgroup, 8, 8> m) { return m * uint8_t(2); } + +layout(constant_id = 2) const int SC = 1; +ucoopmatNV<32, gl_ScopeSubgroup, SC, SC> scm[SC][SC]; + +// sized for icoopmatNV<8, gl_ScopeSubgroup, 16, 16> +shared uvec4 shmatrix[16*16*2/16]; + +void main() +{ + ucoopmatNV<8, gl_ScopeSubgroup, 16, (2>1?8:4)> mu = ucoopmatNV<8, gl_ScopeSubgroup, 16, (2>1?8:4)>(2); + icoopmatNV<8, gl_ScopeSubgroup, 16, (2>1?8:4)> mi = icoopmatNV<8, gl_ScopeSubgroup, 16, (2>1?8:4)>(2); + + mu = mu + mu; + mu = mu - mu; + mi = -mi; + mi = mi * int8_t(2); + + fcoopmatNV<16, gl_ScopeSubgroup, 16, 8> mf16_0 = fcoopmatNV<16, gl_ScopeSubgroup, 16, 8>(mu); + fcoopmatNV<32, gl_ScopeSubgroup, 16, 8> mf32_0 = fcoopmatNV<32, gl_ScopeSubgroup, 16, 8>(mu); + fcoopmatNV<16, gl_ScopeSubgroup, 16, 8> mf16_1 = fcoopmatNV<16, gl_ScopeSubgroup, 16, 8>(mi); + fcoopmatNV<32, gl_ScopeSubgroup, 16, 8> mf32_1 = fcoopmatNV<32, gl_ScopeSubgroup, 16, 8>(mi); + + uint8_t x = mu[1]; + mi[0] = int8_t(x); + + coopMatLoadNV(mi, block.x, 16, 128, false); + coopMatStoreNV(mi, block.x, 16, 128, false); + coopMatLoadNV(mu, block8.x, 16, 128, false); + coopMatStoreNV(mu, block8.x, 16, 128, false); + coopMatLoadNV(mi, block8.b.x, 16, 128, false); + coopMatStoreNV(mi, block8.b.x, 16, 128, false); + + ucoopmatNV<8, gl_ScopeSubgroup, 16, 8> A; + ucoopmatNV<8, gl_ScopeSubgroup, 8, 8> B; + ucoopmatNV<8, gl_ScopeSubgroup, 16, 8> C; + ucoopmatNV<8, gl_ScopeSubgroup, 16, 8> D; + D = coopMatMulAddNV(A, B, C); + + int l = D.length(); + + + icoopmatNV<8, gl_ScopeSubgroup, 16, (2>1?8:4)> a[5]; + a[3][0] = int8_t(1); + + int md1 = mD[1]; + + md1 += (mi += mi)[1234]; + + muC2[0] = muC2[1]; + muC2[1][0] = (miC2[2][0]); + + coopMatLoadNV(mi, block.y, 16, 128, false); + coopMatStoreNV(mi, block.y, 16, 128, false); + coopMatLoadNV(mu, block8.y, 16, 128, false); + coopMatStoreNV(mu, block8.y, 16, 128, false); + + icoopmatNV<8, gl_ScopeSubgroup, 8, 8> p1; + ucoopmatNV<8, gl_ScopeSubgroup, 8, 8> p2; + + p1 = ineg(p1); + p2 = umul(p2); + + p1 /= p1; + p2 /= p2; + + p1 *= int8_t(2); + p2 *= uint8_t(4); + + icoopmatNV<8, gl_ScopeSubgroup, 16, 8> ms; + coopMatLoadNV(ms, shmatrix, 1, 2, false); + coopMatStoreNV(ms, shmatrix, 1, 2, false); + +} diff --git a/glslang/Include/Types.h b/glslang/Include/Types.h index 131b9304..3140006e 100644 --- a/glslang/Include/Types.h +++ b/glslang/Include/Types.h @@ -1433,11 +1433,18 @@ public: } typeName = NewPoolTString(p.userDef->getTypeName().c_str()); } - if (p.isCoopmat() && p.basicType == EbtFloat && - p.typeParameters && p.typeParameters->getNumDims() > 0 && - p.typeParameters->getDimSize(0) == 16) { - basicType = EbtFloat16; - qualifier.precision = EpqNone; + if (p.isCoopmat() && p.typeParameters && p.typeParameters->getNumDims() > 0) { + int numBits = p.typeParameters->getDimSize(0); + if (p.basicType == EbtFloat && numBits == 16) { + basicType = EbtFloat16; + qualifier.precision = EpqNone; + } else if (p.basicType == EbtUint && numBits == 8) { + basicType = EbtUint8; + qualifier.precision = EpqNone; + } else if (p.basicType == EbtInt && numBits == 8) { + basicType = EbtInt8; + qualifier.precision = EpqNone; + } } } // for construction of sampler types @@ -2301,10 +2308,24 @@ public: // an OK function parameter bool coopMatParameterOK(const TType& right) const { - return isCoopMat() && right.isCoopMat() && + return isCoopMat() && right.isCoopMat() && (getBasicType() == right.getBasicType()) && typeParameters == nullptr && right.typeParameters != nullptr; } + bool sameCoopMatBaseType(const TType &right) const { + bool rv = coopmat && right.coopmat; + if (getBasicType() == EbtFloat || getBasicType() == EbtFloat16) + rv = right.getBasicType() == EbtFloat || right.getBasicType() == EbtFloat16; + else if (getBasicType() == EbtUint || getBasicType() == EbtUint8) + rv = right.getBasicType() == EbtUint || right.getBasicType() == EbtUint8; + else if (getBasicType() == EbtInt || getBasicType() == EbtInt8) + rv = right.getBasicType() == EbtInt || right.getBasicType() == EbtInt8; + else + rv = false; + return rv; + } + + // See if two types match in all ways (just the actual type, not qualification) bool operator==(const TType& right) const { diff --git a/glslang/MachineIndependent/Initialize.cpp b/glslang/MachineIndependent/Initialize.cpp index fa41a6dc..8ea58ccc 100644 --- a/glslang/MachineIndependent/Initialize.cpp +++ b/glslang/MachineIndependent/Initialize.cpp @@ -4797,6 +4797,60 @@ void TBuiltIns::initialize(int version, EProfile profile, const SpvVersion& spvV "void coopMatStoreNV(fcoopmatNV m, volatile coherent uvec4[] buf, uint element, uint stride, bool colMajor);\n" "fcoopmatNV coopMatMulAddNV(fcoopmatNV A, fcoopmatNV B, fcoopmatNV C);\n" + "void coopMatLoadNV(out icoopmatNV m, volatile coherent int8_t[] buf, uint element, uint stride, bool colMajor);\n" + "void coopMatLoadNV(out icoopmatNV m, volatile coherent int16_t[] buf, uint element, uint stride, bool colMajor);\n" + "void coopMatLoadNV(out icoopmatNV m, volatile coherent int[] buf, uint element, uint stride, bool colMajor);\n" + "void coopMatLoadNV(out icoopmatNV m, volatile coherent int64_t[] buf, uint element, uint stride, bool colMajor);\n" + "void coopMatLoadNV(out icoopmatNV m, volatile coherent ivec2[] buf, uint element, uint stride, bool colMajor);\n" + "void coopMatLoadNV(out icoopmatNV m, volatile coherent ivec4[] buf, uint element, uint stride, bool colMajor);\n" + "void coopMatLoadNV(out icoopmatNV m, volatile coherent uint8_t[] buf, uint element, uint stride, bool colMajor);\n" + "void coopMatLoadNV(out icoopmatNV m, volatile coherent uint16_t[] buf, uint element, uint stride, bool colMajor);\n" + "void coopMatLoadNV(out icoopmatNV m, volatile coherent uint[] buf, uint element, uint stride, bool colMajor);\n" + "void coopMatLoadNV(out icoopmatNV m, volatile coherent uint64_t[] buf, uint element, uint stride, bool colMajor);\n" + "void coopMatLoadNV(out icoopmatNV m, volatile coherent uvec2[] buf, uint element, uint stride, bool colMajor);\n" + "void coopMatLoadNV(out icoopmatNV m, volatile coherent uvec4[] buf, uint element, uint stride, bool colMajor);\n" + + "void coopMatLoadNV(out ucoopmatNV m, volatile coherent int8_t[] buf, uint element, uint stride, bool colMajor);\n" + "void coopMatLoadNV(out ucoopmatNV m, volatile coherent int16_t[] buf, uint element, uint stride, bool colMajor);\n" + "void coopMatLoadNV(out ucoopmatNV m, volatile coherent int[] buf, uint element, uint stride, bool colMajor);\n" + "void coopMatLoadNV(out ucoopmatNV m, volatile coherent int64_t[] buf, uint element, uint stride, bool colMajor);\n" + "void coopMatLoadNV(out ucoopmatNV m, volatile coherent ivec2[] buf, uint element, uint stride, bool colMajor);\n" + "void coopMatLoadNV(out ucoopmatNV m, volatile coherent ivec4[] buf, uint element, uint stride, bool colMajor);\n" + "void coopMatLoadNV(out ucoopmatNV m, volatile coherent uint8_t[] buf, uint element, uint stride, bool colMajor);\n" + "void coopMatLoadNV(out ucoopmatNV m, volatile coherent uint16_t[] buf, uint element, uint stride, bool colMajor);\n" + "void coopMatLoadNV(out ucoopmatNV m, volatile coherent uint[] buf, uint element, uint stride, bool colMajor);\n" + "void coopMatLoadNV(out ucoopmatNV m, volatile coherent uint64_t[] buf, uint element, uint stride, bool colMajor);\n" + "void coopMatLoadNV(out ucoopmatNV m, volatile coherent uvec2[] buf, uint element, uint stride, bool colMajor);\n" + "void coopMatLoadNV(out ucoopmatNV m, volatile coherent uvec4[] buf, uint element, uint stride, bool colMajor);\n" + + "void coopMatStoreNV(icoopmatNV m, volatile coherent int8_t[] buf, uint element, uint stride, bool colMajor);\n" + "void coopMatStoreNV(icoopmatNV m, volatile coherent int16_t[] buf, uint element, uint stride, bool colMajor);\n" + "void coopMatStoreNV(icoopmatNV m, volatile coherent int[] buf, uint element, uint stride, bool colMajor);\n" + "void coopMatStoreNV(icoopmatNV m, volatile coherent int64_t[] buf, uint element, uint stride, bool colMajor);\n" + "void coopMatStoreNV(icoopmatNV m, volatile coherent ivec2[] buf, uint element, uint stride, bool colMajor);\n" + "void coopMatStoreNV(icoopmatNV m, volatile coherent ivec4[] buf, uint element, uint stride, bool colMajor);\n" + "void coopMatStoreNV(icoopmatNV m, volatile coherent uint8_t[] buf, uint element, uint stride, bool colMajor);\n" + "void coopMatStoreNV(icoopmatNV m, volatile coherent uint16_t[] buf, uint element, uint stride, bool colMajor);\n" + "void coopMatStoreNV(icoopmatNV m, volatile coherent uint[] buf, uint element, uint stride, bool colMajor);\n" + "void coopMatStoreNV(icoopmatNV m, volatile coherent uint64_t[] buf, uint element, uint stride, bool colMajor);\n" + "void coopMatStoreNV(icoopmatNV m, volatile coherent uvec2[] buf, uint element, uint stride, bool colMajor);\n" + "void coopMatStoreNV(icoopmatNV m, volatile coherent uvec4[] buf, uint element, uint stride, bool colMajor);\n" + + "void coopMatStoreNV(ucoopmatNV m, volatile coherent int8_t[] buf, uint element, uint stride, bool colMajor);\n" + "void coopMatStoreNV(ucoopmatNV m, volatile coherent int16_t[] buf, uint element, uint stride, bool colMajor);\n" + "void coopMatStoreNV(ucoopmatNV m, volatile coherent int[] buf, uint element, uint stride, bool colMajor);\n" + "void coopMatStoreNV(ucoopmatNV m, volatile coherent int64_t[] buf, uint element, uint stride, bool colMajor);\n" + "void coopMatStoreNV(ucoopmatNV m, volatile coherent ivec2[] buf, uint element, uint stride, bool colMajor);\n" + "void coopMatStoreNV(ucoopmatNV m, volatile coherent ivec4[] buf, uint element, uint stride, bool colMajor);\n" + "void coopMatStoreNV(ucoopmatNV m, volatile coherent uint8_t[] buf, uint element, uint stride, bool colMajor);\n" + "void coopMatStoreNV(ucoopmatNV m, volatile coherent uint16_t[] buf, uint element, uint stride, bool colMajor);\n" + "void coopMatStoreNV(ucoopmatNV m, volatile coherent uint[] buf, uint element, uint stride, bool colMajor);\n" + "void coopMatStoreNV(ucoopmatNV m, volatile coherent uint64_t[] buf, uint element, uint stride, bool colMajor);\n" + "void coopMatStoreNV(ucoopmatNV m, volatile coherent uvec2[] buf, uint element, uint stride, bool colMajor);\n" + "void coopMatStoreNV(ucoopmatNV m, volatile coherent uvec4[] buf, uint element, uint stride, bool colMajor);\n" + + "icoopmatNV coopMatMulAddNV(icoopmatNV A, icoopmatNV B, icoopmatNV C);\n" + "ucoopmatNV coopMatMulAddNV(ucoopmatNV A, ucoopmatNV B, ucoopmatNV C);\n" ); } @@ -8527,9 +8581,12 @@ void TBuiltIns::identifyBuiltIns(int version, EProfile profile, const SpvVersion symbolTable.setFunctionExtensions("subgroupMemoryBarrierShared", 1, &E_GL_KHR_shader_subgroup_basic); } - symbolTable.setFunctionExtensions("coopMatLoadNV", 1, &E_GL_NV_cooperative_matrix); - symbolTable.setFunctionExtensions("coopMatStoreNV", 1, &E_GL_NV_cooperative_matrix); - symbolTable.setFunctionExtensions("coopMatMulAddNV", 1, &E_GL_NV_cooperative_matrix); + { + const char *coopExt[2] = { E_GL_NV_cooperative_matrix, E_GL_NV_integer_cooperative_matrix }; + symbolTable.setFunctionExtensions("coopMatLoadNV", 2, coopExt); + symbolTable.setFunctionExtensions("coopMatStoreNV", 2, coopExt); + symbolTable.setFunctionExtensions("coopMatMulAddNV", 2, coopExt); + } if ((profile != EEsProfile && version >= 450) || (profile == EEsProfile && version >= 320)) { symbolTable.setFunctionExtensions("dFdx", 1, &E_GL_NV_compute_shader_derivatives); diff --git a/glslang/MachineIndependent/ParseHelper.cpp b/glslang/MachineIndependent/ParseHelper.cpp index 1e2a9650..8441a39d 100644 --- a/glslang/MachineIndependent/ParseHelper.cpp +++ b/glslang/MachineIndependent/ParseHelper.cpp @@ -6192,6 +6192,8 @@ const TFunction* TParseContext::findFunction400(const TSourceLoc& loc, const TFu } if (from.isArray() || to.isArray() || ! from.sameElementShape(to)) return false; + if (from.isCoopMat() && to.isCoopMat()) + return from.sameCoopMatBaseType(to); return intermediate.canImplicitlyPromote(from.getBasicType(), to.getBasicType()); }; @@ -6266,6 +6268,8 @@ const TFunction* TParseContext::findFunctionExplicitTypes(const TSourceLoc& loc, } if (from.isArray() || to.isArray() || ! from.sameElementShape(to)) return false; + if (from.isCoopMat() && to.isCoopMat()) + return from.sameCoopMatBaseType(to); return intermediate.canImplicitlyPromote(from.getBasicType(), to.getBasicType()); }; @@ -6365,12 +6369,20 @@ TIntermNode* TParseContext::declareVariable(const TSourceLoc& loc, TString& iden if (!publicType.typeParameters || publicType.typeParameters->getNumDims() != 4) { error(loc, "expected four type parameters", identifier.c_str(), ""); } - if (publicType.typeParameters && - publicType.typeParameters->getDimSize(0) != 16 && - publicType.typeParameters->getDimSize(0) != 32 && - publicType.typeParameters->getDimSize(0) != 64) { - error(loc, "expected 16, 32, or 64 bits for first type parameter", identifier.c_str(), ""); + if (publicType.typeParameters) { + if (isTypeFloat(publicType.basicType) && + publicType.typeParameters->getDimSize(0) != 16 && + publicType.typeParameters->getDimSize(0) != 32 && + publicType.typeParameters->getDimSize(0) != 64) { + error(loc, "expected 16, 32, or 64 bits for first type parameter", identifier.c_str(), ""); + } + if (isTypeInt(publicType.basicType) && + publicType.typeParameters->getDimSize(0) != 8 && + publicType.typeParameters->getDimSize(0) != 32) { + error(loc, "expected 8 or 32 bits for first type parameter", identifier.c_str(), ""); + } } + } else { if (publicType.typeParameters && publicType.typeParameters->getNumDims() != 0) { error(loc, "unexpected type parameters", identifier.c_str(), ""); @@ -7065,19 +7077,90 @@ TIntermTyped* TParseContext::constructBuiltIn(const TType& type, TOperator op, T } node = intermediate.setAggregateOperator(node, EOpConstructCooperativeMatrix, type, node->getLoc()); } else { + TOperator op; switch (type.getBasicType()) { default: assert(0); break; + case EbtInt: + { + switch (node->getType().getBasicType()) { + case EbtFloat: op = EOpConvFloatToInt; break; + case EbtFloat16: op = EOpConvFloat16ToInt; break; + case EbtUint8: op = EOpConvUint8ToInt; break; + case EbtInt8: op = EOpConvInt8ToInt; break; + case EbtUint: op = EOpConvUintToInt; break; + default: assert(0); + } + + } + break; + case EbtUint: + { + switch (node->getType().getBasicType()) { + case EbtFloat: op = EOpConvFloatToUint; break; + case EbtFloat16: op = EOpConvFloat16ToUint; break; + case EbtUint8: op = EOpConvUint8ToUint; break; + case EbtInt8: op = EOpConvInt8ToUint; break; + case EbtInt: op = EOpConvIntToUint; break; + case EbtUint: op = EOpConvUintToInt8; break; + default: assert(0); + } + + } + break; + + case EbtInt8: + { + switch (node->getType().getBasicType()) { + case EbtFloat: op = EOpConvFloatToInt8; break; + case EbtFloat16: op = EOpConvFloat16ToInt8; break; + case EbtUint8: op = EOpConvUint8ToInt8; break; + case EbtInt: op = EOpConvIntToInt8; break; + case EbtUint: op = EOpConvUintToInt8; break; + default: assert(0); + } + + } + break; + case EbtUint8: { + switch (node->getType().getBasicType()) { + case EbtFloat: op = EOpConvFloatToUint8; break; + case EbtFloat16: op = EOpConvFloat16ToUint8; break; + case EbtInt8: op = EOpConvInt8ToUint8; break; + case EbtInt: op = EOpConvIntToUint8; break; + case EbtUint: op = EOpConvUintToUint8; break; + default: assert(0); + } + } + break; case EbtFloat: - assert(node->getType().getBasicType() == EbtFloat16); - node = intermediate.addUnaryNode(EOpConvFloat16ToFloat, node, node->getLoc(), type); + { + switch (node->getType().getBasicType()) { + case EbtFloat16: op = EOpConvFloat16ToFloat; break; + case EbtInt8: op = EOpConvInt8ToFloat; break; + case EbtUint8: op = EOpConvUint8ToFloat; break; + case EbtInt: op = EOpConvIntToFloat; break; + case EbtUint: op = EOpConvUintToFloat; break; + default: assert(0); + } + } break; case EbtFloat16: - assert(node->getType().getBasicType() == EbtFloat); - node = intermediate.addUnaryNode(EOpConvFloatToFloat16, node, node->getLoc(), type); + { + switch (node->getType().getBasicType()) { + case EbtFloat: op = EOpConvFloatToFloat16; break; + case EbtInt8: op = EOpConvInt8ToFloat16; break; + case EbtUint8: op = EOpConvUint8ToFloat16; break; + case EbtInt: op = EOpConvIntToFloat16; break; + case EbtUint: op = EOpConvUintToFloat16; break; + default: assert(0); + } + } break; } + + node = intermediate.addUnaryNode(op, node, node->getLoc(), type); // If it's a (non-specialization) constant, it must be folded. if (node->getAsUnaryNode()->getOperand()->getAsConstantUnion()) return node->getAsUnaryNode()->getOperand()->getAsConstantUnion()->fold(op, node->getType()); diff --git a/glslang/MachineIndependent/Scan.cpp b/glslang/MachineIndependent/Scan.cpp index b4d8dc0d..9a9b69cc 100644 --- a/glslang/MachineIndependent/Scan.cpp +++ b/glslang/MachineIndependent/Scan.cpp @@ -713,6 +713,8 @@ void TScanContext::fillInKeywordMap() (*KeywordMap)["taskNV"] = PERTASKNV; (*KeywordMap)["fcoopmatNV"] = FCOOPMATNV; + (*KeywordMap)["icoopmatNV"] = ICOOPMATNV; + (*KeywordMap)["ucoopmatNV"] = UCOOPMATNV; ReservedSet = new std::unordered_set; @@ -1599,6 +1601,14 @@ int TScanContext::tokenizeIdentifier() return keyword; return identifierOrType(); + case UCOOPMATNV: + case ICOOPMATNV: + afterType = true; + if (parseContext.symbolTable.atBuiltInLevel() || + parseContext.extensionTurnedOn(E_GL_NV_integer_cooperative_matrix)) + return keyword; + return identifierOrType(); + case DEMOTE: if (parseContext.extensionTurnedOn(E_GL_EXT_demote_to_helper_invocation)) return keyword; diff --git a/glslang/MachineIndependent/Versions.cpp b/glslang/MachineIndependent/Versions.cpp index e96a9529..eb1314a6 100644 --- a/glslang/MachineIndependent/Versions.cpp +++ b/glslang/MachineIndependent/Versions.cpp @@ -252,6 +252,7 @@ void TParseVersions::initializeExtensionBehavior() extensionBehavior[E_GL_NV_cooperative_matrix] = EBhDisable; extensionBehavior[E_GL_NV_shader_sm_builtins] = EBhDisable; + extensionBehavior[E_GL_NV_integer_cooperative_matrix] = EBhDisable; // AEP extensionBehavior[E_GL_ANDROID_extension_pack_es31a] = EBhDisable; @@ -436,6 +437,7 @@ void TParseVersions::getPreamble(std::string& preamble) "#define GL_NV_shader_texture_footprint 1\n" "#define GL_NV_mesh_shader 1\n" "#define GL_NV_cooperative_matrix 1\n" + "#define GL_NV_integer_cooperative_matrix 1\n" "#define GL_EXT_shader_explicit_arithmetic_types 1\n" "#define GL_EXT_shader_explicit_arithmetic_types_int8 1\n" @@ -822,6 +824,8 @@ void TParseVersions::updateExtensionBehavior(int line, const char* extension, co updateExtensionBehavior(line, "GL_KHR_shader_subgroup_basic", behaviorString); else if (strcmp(extension, "GL_EXT_buffer_reference2") == 0) updateExtensionBehavior(line, "GL_EXT_buffer_reference", behaviorString); + else if (strcmp(extension, "GL_NV_integer_cooperative_matrix") == 0) + updateExtensionBehavior(line, "GL_NV_cooperative_matrix", behaviorString); } void TParseVersions::updateExtensionBehavior(const char* extension, TExtensionBehavior behavior) @@ -1088,8 +1092,15 @@ void TParseVersions::fcoopmatCheck(const TSourceLoc& loc, const char* op, bool b requireExtensions(loc, sizeof(extensions)/sizeof(extensions[0]), extensions, op); } } -#endif // GLSLANG_WEB +void TParseVersions::intcoopmatCheck(const TSourceLoc& loc, const char* op, bool builtIn) +{ + if (!builtIn) { + const char* const extensions[] = {E_GL_NV_integer_cooperative_matrix}; + requireExtensions(loc, sizeof(extensions)/sizeof(extensions[0]), extensions, op); + } +} +#endif // GLSLANG_WEB // Call for any operation removed because SPIR-V is in use. void TParseVersions::spvRemoved(const TSourceLoc& loc, const char* op) { diff --git a/glslang/MachineIndependent/Versions.h b/glslang/MachineIndependent/Versions.h index d07e9915..9535c891 100644 --- a/glslang/MachineIndependent/Versions.h +++ b/glslang/MachineIndependent/Versions.h @@ -227,6 +227,7 @@ const int Num_viewportEXTs = sizeof(viewportEXTs) / sizeof(viewportEXTs[0]); const char* const E_GL_NV_cooperative_matrix = "GL_NV_cooperative_matrix"; const char* const E_GL_NV_shader_sm_builtins = "GL_NV_shader_sm_builtins"; +const char* const E_GL_NV_integer_cooperative_matrix = "GL_NV_integer_cooperative_matrix"; // AEP const char* const E_GL_ANDROID_extension_pack_es31a = "GL_ANDROID_extension_pack_es31a"; diff --git a/glslang/MachineIndependent/glslang.m4 b/glslang/MachineIndependent/glslang.m4 index 87a692d5..cbddef1b 100644 --- a/glslang/MachineIndependent/glslang.m4 +++ b/glslang/MachineIndependent/glslang.m4 @@ -200,7 +200,7 @@ GLSLANG_WEB_EXCLUDE_ON %token F64MAT4X2 F64MAT4X3 F64MAT4X4 %token ATOMIC_UINT %token ACCSTRUCTNV -%token FCOOPMATNV +%token FCOOPMATNV ICOOPMATNV UCOOPMATNV // combined image/sampler %token SAMPLER1D SAMPLER1DARRAY SAMPLER1DARRAYSHADOW ISAMPLER1D SAMPLER1DSHADOW @@ -3183,6 +3183,18 @@ GLSLANG_WEB_EXCLUDE_ON $$.basicType = EbtFloat; $$.coopmat = true; } + | ICOOPMATNV { + parseContext.intcoopmatCheck($1.loc, "icoopmatNV", parseContext.symbolTable.atBuiltInLevel()); + $$.init($1.loc, parseContext.symbolTable.atGlobalLevel()); + $$.basicType = EbtInt; + $$.coopmat = true; + } + | UCOOPMATNV { + parseContext.intcoopmatCheck($1.loc, "ucoopmatNV", parseContext.symbolTable.atBuiltInLevel()); + $$.init($1.loc, parseContext.symbolTable.atGlobalLevel()); + $$.basicType = EbtUint; + $$.coopmat = true; + } GLSLANG_WEB_EXCLUDE_OFF | struct_specifier { $$ = $1; diff --git a/glslang/MachineIndependent/glslang.y b/glslang/MachineIndependent/glslang.y index 19c96615..008faf0e 100644 --- a/glslang/MachineIndependent/glslang.y +++ b/glslang/MachineIndependent/glslang.y @@ -200,7 +200,7 @@ extern int yylex(YYSTYPE*, TParseContext&); %token F64MAT4X2 F64MAT4X3 F64MAT4X4 %token ATOMIC_UINT %token ACCSTRUCTNV -%token FCOOPMATNV +%token FCOOPMATNV ICOOPMATNV UCOOPMATNV // combined image/sampler %token SAMPLER1D SAMPLER1DARRAY SAMPLER1DARRAYSHADOW ISAMPLER1D SAMPLER1DSHADOW @@ -3183,6 +3183,18 @@ type_specifier_nonarray $$.basicType = EbtFloat; $$.coopmat = true; } + | ICOOPMATNV { + parseContext.intcoopmatCheck($1.loc, "icoopmatNV", parseContext.symbolTable.atBuiltInLevel()); + $$.init($1.loc, parseContext.symbolTable.atGlobalLevel()); + $$.basicType = EbtInt; + $$.coopmat = true; + } + | UCOOPMATNV { + parseContext.intcoopmatCheck($1.loc, "ucoopmatNV", parseContext.symbolTable.atBuiltInLevel()); + $$.init($1.loc, parseContext.symbolTable.atGlobalLevel()); + $$.basicType = EbtUint; + $$.coopmat = true; + } | struct_specifier { $$ = $1; diff --git a/glslang/MachineIndependent/glslang_tab.cpp b/glslang/MachineIndependent/glslang_tab.cpp index 531885ed..523e4058 100644 --- a/glslang/MachineIndependent/glslang_tab.cpp +++ b/glslang/MachineIndependent/glslang_tab.cpp @@ -272,263 +272,265 @@ extern int yydebug; ATOMIC_UINT = 404, ACCSTRUCTNV = 405, FCOOPMATNV = 406, - SAMPLER1D = 407, - SAMPLER1DARRAY = 408, - SAMPLER1DARRAYSHADOW = 409, - ISAMPLER1D = 410, - SAMPLER1DSHADOW = 411, - SAMPLER2DRECT = 412, - SAMPLER2DRECTSHADOW = 413, - ISAMPLER2DRECT = 414, - USAMPLER2DRECT = 415, - SAMPLERBUFFER = 416, - ISAMPLERBUFFER = 417, - USAMPLERBUFFER = 418, - SAMPLER2DMS = 419, - ISAMPLER2DMS = 420, - USAMPLER2DMS = 421, - SAMPLER2DMSARRAY = 422, - ISAMPLER2DMSARRAY = 423, - USAMPLER2DMSARRAY = 424, - SAMPLEREXTERNALOES = 425, - SAMPLEREXTERNAL2DY2YEXT = 426, - ISAMPLER1DARRAY = 427, - USAMPLER1D = 428, - USAMPLER1DARRAY = 429, - F16SAMPLER1D = 430, - F16SAMPLER2D = 431, - F16SAMPLER3D = 432, - F16SAMPLER2DRECT = 433, - F16SAMPLERCUBE = 434, - F16SAMPLER1DARRAY = 435, - F16SAMPLER2DARRAY = 436, - F16SAMPLERCUBEARRAY = 437, - F16SAMPLERBUFFER = 438, - F16SAMPLER2DMS = 439, - F16SAMPLER2DMSARRAY = 440, - F16SAMPLER1DSHADOW = 441, - F16SAMPLER2DSHADOW = 442, - F16SAMPLER1DARRAYSHADOW = 443, - F16SAMPLER2DARRAYSHADOW = 444, - F16SAMPLER2DRECTSHADOW = 445, - F16SAMPLERCUBESHADOW = 446, - F16SAMPLERCUBEARRAYSHADOW = 447, - IMAGE1D = 448, - IIMAGE1D = 449, - UIMAGE1D = 450, - IMAGE2D = 451, - IIMAGE2D = 452, - UIMAGE2D = 453, - IMAGE3D = 454, - IIMAGE3D = 455, - UIMAGE3D = 456, - IMAGE2DRECT = 457, - IIMAGE2DRECT = 458, - UIMAGE2DRECT = 459, - IMAGECUBE = 460, - IIMAGECUBE = 461, - UIMAGECUBE = 462, - IMAGEBUFFER = 463, - IIMAGEBUFFER = 464, - UIMAGEBUFFER = 465, - IMAGE1DARRAY = 466, - IIMAGE1DARRAY = 467, - UIMAGE1DARRAY = 468, - IMAGE2DARRAY = 469, - IIMAGE2DARRAY = 470, - UIMAGE2DARRAY = 471, - IMAGECUBEARRAY = 472, - IIMAGECUBEARRAY = 473, - UIMAGECUBEARRAY = 474, - IMAGE2DMS = 475, - IIMAGE2DMS = 476, - UIMAGE2DMS = 477, - IMAGE2DMSARRAY = 478, - IIMAGE2DMSARRAY = 479, - UIMAGE2DMSARRAY = 480, - F16IMAGE1D = 481, - F16IMAGE2D = 482, - F16IMAGE3D = 483, - F16IMAGE2DRECT = 484, - F16IMAGECUBE = 485, - F16IMAGE1DARRAY = 486, - F16IMAGE2DARRAY = 487, - F16IMAGECUBEARRAY = 488, - F16IMAGEBUFFER = 489, - F16IMAGE2DMS = 490, - F16IMAGE2DMSARRAY = 491, - SAMPLER = 492, - SAMPLERSHADOW = 493, - TEXTURE1D = 494, - TEXTURE2D = 495, - TEXTURE3D = 496, - TEXTURECUBE = 497, - TEXTURE1DARRAY = 498, - TEXTURE2DARRAY = 499, - ITEXTURE1D = 500, - ITEXTURE2D = 501, - ITEXTURE3D = 502, - ITEXTURECUBE = 503, - ITEXTURE1DARRAY = 504, - ITEXTURE2DARRAY = 505, - UTEXTURE1D = 506, - UTEXTURE2D = 507, - UTEXTURE3D = 508, - UTEXTURECUBE = 509, - UTEXTURE1DARRAY = 510, - UTEXTURE2DARRAY = 511, - TEXTURE2DRECT = 512, - ITEXTURE2DRECT = 513, - UTEXTURE2DRECT = 514, - TEXTUREBUFFER = 515, - ITEXTUREBUFFER = 516, - UTEXTUREBUFFER = 517, - TEXTURECUBEARRAY = 518, - ITEXTURECUBEARRAY = 519, - UTEXTURECUBEARRAY = 520, - TEXTURE2DMS = 521, - ITEXTURE2DMS = 522, - UTEXTURE2DMS = 523, - TEXTURE2DMSARRAY = 524, - ITEXTURE2DMSARRAY = 525, - UTEXTURE2DMSARRAY = 526, - F16TEXTURE1D = 527, - F16TEXTURE2D = 528, - F16TEXTURE3D = 529, - F16TEXTURE2DRECT = 530, - F16TEXTURECUBE = 531, - F16TEXTURE1DARRAY = 532, - F16TEXTURE2DARRAY = 533, - F16TEXTURECUBEARRAY = 534, - F16TEXTUREBUFFER = 535, - F16TEXTURE2DMS = 536, - F16TEXTURE2DMSARRAY = 537, - SUBPASSINPUT = 538, - SUBPASSINPUTMS = 539, - ISUBPASSINPUT = 540, - ISUBPASSINPUTMS = 541, - USUBPASSINPUT = 542, - USUBPASSINPUTMS = 543, - F16SUBPASSINPUT = 544, - F16SUBPASSINPUTMS = 545, - LEFT_OP = 546, - RIGHT_OP = 547, - INC_OP = 548, - DEC_OP = 549, - LE_OP = 550, - GE_OP = 551, - EQ_OP = 552, - NE_OP = 553, - AND_OP = 554, - OR_OP = 555, - XOR_OP = 556, - MUL_ASSIGN = 557, - DIV_ASSIGN = 558, - ADD_ASSIGN = 559, - MOD_ASSIGN = 560, - LEFT_ASSIGN = 561, - RIGHT_ASSIGN = 562, - AND_ASSIGN = 563, - XOR_ASSIGN = 564, - OR_ASSIGN = 565, - SUB_ASSIGN = 566, - LEFT_PAREN = 567, - RIGHT_PAREN = 568, - LEFT_BRACKET = 569, - RIGHT_BRACKET = 570, - LEFT_BRACE = 571, - RIGHT_BRACE = 572, - DOT = 573, - COMMA = 574, - COLON = 575, - EQUAL = 576, - SEMICOLON = 577, - BANG = 578, - DASH = 579, - TILDE = 580, - PLUS = 581, - STAR = 582, - SLASH = 583, - PERCENT = 584, - LEFT_ANGLE = 585, - RIGHT_ANGLE = 586, - VERTICAL_BAR = 587, - CARET = 588, - AMPERSAND = 589, - QUESTION = 590, - INVARIANT = 591, - HIGH_PRECISION = 592, - MEDIUM_PRECISION = 593, - LOW_PRECISION = 594, - PRECISION = 595, - PACKED = 596, - RESOURCE = 597, - SUPERP = 598, - FLOATCONSTANT = 599, - INTCONSTANT = 600, - UINTCONSTANT = 601, - BOOLCONSTANT = 602, - IDENTIFIER = 603, - TYPE_NAME = 604, - CENTROID = 605, - IN = 606, - OUT = 607, - INOUT = 608, - STRUCT = 609, - VOID = 610, - WHILE = 611, - BREAK = 612, - CONTINUE = 613, - DO = 614, - ELSE = 615, - FOR = 616, - IF = 617, - DISCARD = 618, - RETURN = 619, - SWITCH = 620, - CASE = 621, - DEFAULT = 622, - UNIFORM = 623, - SHARED = 624, - FLAT = 625, - SMOOTH = 626, - LAYOUT = 627, - DOUBLECONSTANT = 628, - INT16CONSTANT = 629, - UINT16CONSTANT = 630, - FLOAT16CONSTANT = 631, - INT32CONSTANT = 632, - UINT32CONSTANT = 633, - INT64CONSTANT = 634, - UINT64CONSTANT = 635, - SUBROUTINE = 636, - DEMOTE = 637, - PAYLOADNV = 638, - PAYLOADINNV = 639, - HITATTRNV = 640, - CALLDATANV = 641, - CALLDATAINNV = 642, - PATCH = 643, - SAMPLE = 644, - BUFFER = 645, - NONUNIFORM = 646, - COHERENT = 647, - VOLATILE = 648, - RESTRICT = 649, - READONLY = 650, - WRITEONLY = 651, - DEVICECOHERENT = 652, - QUEUEFAMILYCOHERENT = 653, - WORKGROUPCOHERENT = 654, - SUBGROUPCOHERENT = 655, - NONPRIVATE = 656, - NOPERSPECTIVE = 657, - EXPLICITINTERPAMD = 658, - PERVERTEXNV = 659, - PERPRIMITIVENV = 660, - PERVIEWNV = 661, - PERTASKNV = 662, - PRECISE = 663 + ICOOPMATNV = 407, + UCOOPMATNV = 408, + SAMPLER1D = 409, + SAMPLER1DARRAY = 410, + SAMPLER1DARRAYSHADOW = 411, + ISAMPLER1D = 412, + SAMPLER1DSHADOW = 413, + SAMPLER2DRECT = 414, + SAMPLER2DRECTSHADOW = 415, + ISAMPLER2DRECT = 416, + USAMPLER2DRECT = 417, + SAMPLERBUFFER = 418, + ISAMPLERBUFFER = 419, + USAMPLERBUFFER = 420, + SAMPLER2DMS = 421, + ISAMPLER2DMS = 422, + USAMPLER2DMS = 423, + SAMPLER2DMSARRAY = 424, + ISAMPLER2DMSARRAY = 425, + USAMPLER2DMSARRAY = 426, + SAMPLEREXTERNALOES = 427, + SAMPLEREXTERNAL2DY2YEXT = 428, + ISAMPLER1DARRAY = 429, + USAMPLER1D = 430, + USAMPLER1DARRAY = 431, + F16SAMPLER1D = 432, + F16SAMPLER2D = 433, + F16SAMPLER3D = 434, + F16SAMPLER2DRECT = 435, + F16SAMPLERCUBE = 436, + F16SAMPLER1DARRAY = 437, + F16SAMPLER2DARRAY = 438, + F16SAMPLERCUBEARRAY = 439, + F16SAMPLERBUFFER = 440, + F16SAMPLER2DMS = 441, + F16SAMPLER2DMSARRAY = 442, + F16SAMPLER1DSHADOW = 443, + F16SAMPLER2DSHADOW = 444, + F16SAMPLER1DARRAYSHADOW = 445, + F16SAMPLER2DARRAYSHADOW = 446, + F16SAMPLER2DRECTSHADOW = 447, + F16SAMPLERCUBESHADOW = 448, + F16SAMPLERCUBEARRAYSHADOW = 449, + IMAGE1D = 450, + IIMAGE1D = 451, + UIMAGE1D = 452, + IMAGE2D = 453, + IIMAGE2D = 454, + UIMAGE2D = 455, + IMAGE3D = 456, + IIMAGE3D = 457, + UIMAGE3D = 458, + IMAGE2DRECT = 459, + IIMAGE2DRECT = 460, + UIMAGE2DRECT = 461, + IMAGECUBE = 462, + IIMAGECUBE = 463, + UIMAGECUBE = 464, + IMAGEBUFFER = 465, + IIMAGEBUFFER = 466, + UIMAGEBUFFER = 467, + IMAGE1DARRAY = 468, + IIMAGE1DARRAY = 469, + UIMAGE1DARRAY = 470, + IMAGE2DARRAY = 471, + IIMAGE2DARRAY = 472, + UIMAGE2DARRAY = 473, + IMAGECUBEARRAY = 474, + IIMAGECUBEARRAY = 475, + UIMAGECUBEARRAY = 476, + IMAGE2DMS = 477, + IIMAGE2DMS = 478, + UIMAGE2DMS = 479, + IMAGE2DMSARRAY = 480, + IIMAGE2DMSARRAY = 481, + UIMAGE2DMSARRAY = 482, + F16IMAGE1D = 483, + F16IMAGE2D = 484, + F16IMAGE3D = 485, + F16IMAGE2DRECT = 486, + F16IMAGECUBE = 487, + F16IMAGE1DARRAY = 488, + F16IMAGE2DARRAY = 489, + F16IMAGECUBEARRAY = 490, + F16IMAGEBUFFER = 491, + F16IMAGE2DMS = 492, + F16IMAGE2DMSARRAY = 493, + SAMPLER = 494, + SAMPLERSHADOW = 495, + TEXTURE1D = 496, + TEXTURE2D = 497, + TEXTURE3D = 498, + TEXTURECUBE = 499, + TEXTURE1DARRAY = 500, + TEXTURE2DARRAY = 501, + ITEXTURE1D = 502, + ITEXTURE2D = 503, + ITEXTURE3D = 504, + ITEXTURECUBE = 505, + ITEXTURE1DARRAY = 506, + ITEXTURE2DARRAY = 507, + UTEXTURE1D = 508, + UTEXTURE2D = 509, + UTEXTURE3D = 510, + UTEXTURECUBE = 511, + UTEXTURE1DARRAY = 512, + UTEXTURE2DARRAY = 513, + TEXTURE2DRECT = 514, + ITEXTURE2DRECT = 515, + UTEXTURE2DRECT = 516, + TEXTUREBUFFER = 517, + ITEXTUREBUFFER = 518, + UTEXTUREBUFFER = 519, + TEXTURECUBEARRAY = 520, + ITEXTURECUBEARRAY = 521, + UTEXTURECUBEARRAY = 522, + TEXTURE2DMS = 523, + ITEXTURE2DMS = 524, + UTEXTURE2DMS = 525, + TEXTURE2DMSARRAY = 526, + ITEXTURE2DMSARRAY = 527, + UTEXTURE2DMSARRAY = 528, + F16TEXTURE1D = 529, + F16TEXTURE2D = 530, + F16TEXTURE3D = 531, + F16TEXTURE2DRECT = 532, + F16TEXTURECUBE = 533, + F16TEXTURE1DARRAY = 534, + F16TEXTURE2DARRAY = 535, + F16TEXTURECUBEARRAY = 536, + F16TEXTUREBUFFER = 537, + F16TEXTURE2DMS = 538, + F16TEXTURE2DMSARRAY = 539, + SUBPASSINPUT = 540, + SUBPASSINPUTMS = 541, + ISUBPASSINPUT = 542, + ISUBPASSINPUTMS = 543, + USUBPASSINPUT = 544, + USUBPASSINPUTMS = 545, + F16SUBPASSINPUT = 546, + F16SUBPASSINPUTMS = 547, + LEFT_OP = 548, + RIGHT_OP = 549, + INC_OP = 550, + DEC_OP = 551, + LE_OP = 552, + GE_OP = 553, + EQ_OP = 554, + NE_OP = 555, + AND_OP = 556, + OR_OP = 557, + XOR_OP = 558, + MUL_ASSIGN = 559, + DIV_ASSIGN = 560, + ADD_ASSIGN = 561, + MOD_ASSIGN = 562, + LEFT_ASSIGN = 563, + RIGHT_ASSIGN = 564, + AND_ASSIGN = 565, + XOR_ASSIGN = 566, + OR_ASSIGN = 567, + SUB_ASSIGN = 568, + LEFT_PAREN = 569, + RIGHT_PAREN = 570, + LEFT_BRACKET = 571, + RIGHT_BRACKET = 572, + LEFT_BRACE = 573, + RIGHT_BRACE = 574, + DOT = 575, + COMMA = 576, + COLON = 577, + EQUAL = 578, + SEMICOLON = 579, + BANG = 580, + DASH = 581, + TILDE = 582, + PLUS = 583, + STAR = 584, + SLASH = 585, + PERCENT = 586, + LEFT_ANGLE = 587, + RIGHT_ANGLE = 588, + VERTICAL_BAR = 589, + CARET = 590, + AMPERSAND = 591, + QUESTION = 592, + INVARIANT = 593, + HIGH_PRECISION = 594, + MEDIUM_PRECISION = 595, + LOW_PRECISION = 596, + PRECISION = 597, + PACKED = 598, + RESOURCE = 599, + SUPERP = 600, + FLOATCONSTANT = 601, + INTCONSTANT = 602, + UINTCONSTANT = 603, + BOOLCONSTANT = 604, + IDENTIFIER = 605, + TYPE_NAME = 606, + CENTROID = 607, + IN = 608, + OUT = 609, + INOUT = 610, + STRUCT = 611, + VOID = 612, + WHILE = 613, + BREAK = 614, + CONTINUE = 615, + DO = 616, + ELSE = 617, + FOR = 618, + IF = 619, + DISCARD = 620, + RETURN = 621, + SWITCH = 622, + CASE = 623, + DEFAULT = 624, + UNIFORM = 625, + SHARED = 626, + FLAT = 627, + SMOOTH = 628, + LAYOUT = 629, + DOUBLECONSTANT = 630, + INT16CONSTANT = 631, + UINT16CONSTANT = 632, + FLOAT16CONSTANT = 633, + INT32CONSTANT = 634, + UINT32CONSTANT = 635, + INT64CONSTANT = 636, + UINT64CONSTANT = 637, + SUBROUTINE = 638, + DEMOTE = 639, + PAYLOADNV = 640, + PAYLOADINNV = 641, + HITATTRNV = 642, + CALLDATANV = 643, + CALLDATAINNV = 644, + PATCH = 645, + SAMPLE = 646, + BUFFER = 647, + NONUNIFORM = 648, + COHERENT = 649, + VOLATILE = 650, + RESTRICT = 651, + READONLY = 652, + WRITEONLY = 653, + DEVICECOHERENT = 654, + QUEUEFAMILYCOHERENT = 655, + WORKGROUPCOHERENT = 656, + SUBGROUPCOHERENT = 657, + NONPRIVATE = 658, + NOPERSPECTIVE = 659, + EXPLICITINTERPAMD = 660, + PERVERTEXNV = 661, + PERPRIMITIVENV = 662, + PERVIEWNV = 663, + PERTASKNV = 664, + PRECISE = 665 }; #endif @@ -573,7 +575,7 @@ union YYSTYPE glslang::TArraySizes* typeParameters; } interm; -#line 577 "MachineIndependent/glslang_tab.cpp" /* yacc.c:355 */ +#line 579 "MachineIndependent/glslang_tab.cpp" /* yacc.c:355 */ }; typedef union YYSTYPE YYSTYPE; @@ -604,7 +606,7 @@ int yyparse (glslang::TParseContext* pParseContext); extern int yylex(YYSTYPE*, TParseContext&); -#line 608 "MachineIndependent/glslang_tab.cpp" /* yacc.c:358 */ +#line 610 "MachineIndependent/glslang_tab.cpp" /* yacc.c:358 */ #ifdef short # undef short @@ -844,23 +846,23 @@ union yyalloc #endif /* !YYCOPY_NEEDED */ /* YYFINAL -- State number of the termination state. */ -#define YYFINAL 384 +#define YYFINAL 386 /* YYLAST -- Last index in YYTABLE. */ -#define YYLAST 9325 +#define YYLAST 9369 /* YYNTOKENS -- Number of terminals. */ -#define YYNTOKENS 409 +#define YYNTOKENS 411 /* YYNNTS -- Number of nonterminals. */ #define YYNNTS 111 /* YYNRULES -- Number of rules. */ -#define YYNRULES 580 +#define YYNRULES 582 /* YYNSTATES -- Number of states. */ -#define YYNSTATES 725 +#define YYNSTATES 727 /* YYTRANSLATE[YYX] -- Symbol number corresponding to YYX as returned by yylex, with out-of-bounds checking. */ #define YYUNDEFTOK 2 -#define YYMAXUTOK 663 +#define YYMAXUTOK 665 #define YYTRANSLATE(YYX) \ ((unsigned int) (YYX) <= YYMAXUTOK ? yytranslate[YYX] : YYUNDEFTOK) @@ -935,7 +937,7 @@ static const yytype_uint16 yytranslate[] = 375, 376, 377, 378, 379, 380, 381, 382, 383, 384, 385, 386, 387, 388, 389, 390, 391, 392, 393, 394, 395, 396, 397, 398, 399, 400, 401, 402, 403, 404, - 405, 406, 407, 408 + 405, 406, 407, 408, 409, 410 }; #if YYDEBUG @@ -990,17 +992,17 @@ static const yytype_uint16 yyrline[] = 2992, 2997, 3003, 3008, 3013, 3018, 3024, 3029, 3034, 3039, 3045, 3050, 3055, 3060, 3066, 3071, 3076, 3081, 3087, 3092, 3097, 3102, 3108, 3113, 3118, 3124, 3130, 3136, 3142, 3149, - 3156, 3162, 3168, 3174, 3180, 3187, 3192, 3208, 3213, 3218, - 3226, 3226, 3237, 3237, 3247, 3250, 3263, 3285, 3312, 3316, - 3322, 3327, 3338, 3342, 3348, 3359, 3362, 3369, 3373, 3374, - 3380, 3381, 3382, 3383, 3384, 3385, 3386, 3388, 3394, 3403, - 3404, 3408, 3404, 3420, 3421, 3425, 3425, 3432, 3432, 3446, - 3449, 3457, 3465, 3476, 3477, 3481, 3485, 3492, 3499, 3503, - 3511, 3515, 3528, 3532, 3539, 3539, 3559, 3562, 3568, 3580, - 3592, 3596, 3603, 3603, 3618, 3618, 3634, 3634, 3655, 3658, - 3664, 3667, 3673, 3677, 3684, 3689, 3694, 3701, 3704, 3713, - 3717, 3726, 3729, 3733, 3742, 3742, 3765, 3771, 3774, 3779, - 3782 + 3156, 3162, 3168, 3174, 3180, 3186, 3192, 3199, 3204, 3220, + 3225, 3230, 3238, 3238, 3249, 3249, 3259, 3262, 3275, 3297, + 3324, 3328, 3334, 3339, 3350, 3354, 3360, 3371, 3374, 3381, + 3385, 3386, 3392, 3393, 3394, 3395, 3396, 3397, 3398, 3400, + 3406, 3415, 3416, 3420, 3416, 3432, 3433, 3437, 3437, 3444, + 3444, 3458, 3461, 3469, 3477, 3488, 3489, 3493, 3497, 3504, + 3511, 3515, 3523, 3527, 3540, 3544, 3551, 3551, 3571, 3574, + 3580, 3592, 3604, 3608, 3615, 3615, 3630, 3630, 3646, 3646, + 3667, 3670, 3676, 3679, 3685, 3689, 3696, 3701, 3706, 3713, + 3716, 3725, 3729, 3738, 3741, 3745, 3754, 3754, 3777, 3783, + 3786, 3791, 3794 }; #endif @@ -1035,8 +1037,8 @@ static const char *const yytname[] = "F32MAT3X2", "F32MAT3X3", "F32MAT3X4", "F32MAT4X2", "F32MAT4X3", "F32MAT4X4", "F64MAT2X2", "F64MAT2X3", "F64MAT2X4", "F64MAT3X2", "F64MAT3X3", "F64MAT3X4", "F64MAT4X2", "F64MAT4X3", "F64MAT4X4", - "ATOMIC_UINT", "ACCSTRUCTNV", "FCOOPMATNV", "SAMPLER1D", - "SAMPLER1DARRAY", "SAMPLER1DARRAYSHADOW", "ISAMPLER1D", + "ATOMIC_UINT", "ACCSTRUCTNV", "FCOOPMATNV", "ICOOPMATNV", "UCOOPMATNV", + "SAMPLER1D", "SAMPLER1DARRAY", "SAMPLER1DARRAYSHADOW", "ISAMPLER1D", "SAMPLER1DSHADOW", "SAMPLER2DRECT", "SAMPLER2DRECTSHADOW", "ISAMPLER2DRECT", "USAMPLER2DRECT", "SAMPLERBUFFER", "ISAMPLERBUFFER", "USAMPLERBUFFER", "SAMPLER2DMS", "ISAMPLER2DMS", "USAMPLER2DMS", @@ -1182,7 +1184,8 @@ static const yytype_uint16 yytoknum[] = 625, 626, 627, 628, 629, 630, 631, 632, 633, 634, 635, 636, 637, 638, 639, 640, 641, 642, 643, 644, 645, 646, 647, 648, 649, 650, 651, 652, 653, 654, - 655, 656, 657, 658, 659, 660, 661, 662, 663 + 655, 656, 657, 658, 659, 660, 661, 662, 663, 664, + 665 }; # endif @@ -1191,7 +1194,7 @@ static const yytype_uint16 yytoknum[] = #define yypact_value_is_default(Yystate) \ (!!((Yystate) == (-367))) -#define YYTABLE_NINF -526 +#define YYTABLE_NINF -528 #define yytable_value_is_error(Yytable_value) \ 0 @@ -1200,7 +1203,7 @@ static const yytype_uint16 yytoknum[] = STATE-NUM. */ static const yytype_int16 yypact[] = { - 3976, -367, -367, -367, -367, -367, -367, -367, -367, -367, + 3994, -367, -367, -367, -367, -367, -367, -367, -367, -367, -367, -367, -367, -367, -367, -367, -367, -367, -367, -367, -367, -367, -367, -367, -367, -367, -367, -367, -367, -367, -367, -367, -367, -367, -367, -367, -367, -367, -367, -367, @@ -1229,50 +1232,50 @@ static const yytype_int16 yypact[] = -367, -367, -367, -367, -367, -367, -367, -367, -367, -367, -367, -367, -367, -367, -367, -367, -367, -367, -367, -367, -367, -367, -367, -367, -367, -367, -367, -367, -367, -367, - -367, -367, -367, -367, -13, -367, -367, -367, -367, -367, - 13, -367, -367, -367, -367, -367, 28, 40, -367, -367, + -367, -367, -367, -367, -367, -367, -13, -367, -367, -367, + -367, -367, 13, -367, -367, -367, -367, -367, 28, 40, -367, -367, -367, -367, -367, -367, -367, -367, -367, -367, -367, -367, -367, -367, -367, -367, -367, -367, -367, -367, - -367, -367, -367, -367, -367, -2, -1, 88, 98, 6006, - 116, -367, 74, -367, -367, -367, -367, 4382, -367, -367, - -367, -367, 104, -367, -367, 728, -367, -367, 11, -367, - 136, -25, 111, -367, 8, -367, 147, -367, 6006, -367, - -367, -367, 6006, 139, 140, -367, 61, -367, 78, -367, - -367, 8351, 155, -367, -367, -367, 149, 6006, -367, 152, - -367, -307, -367, -367, 80, 6799, -367, 27, 1134, -367, - -367, -367, -367, 155, 53, -367, 7187, 69, -367, 141, - -367, 117, 8351, 8351, 8351, -367, -367, -367, -367, -367, + -367, -367, -367, -367, -367, -367, -367, -2, -1, 88, + 98, 6034, 116, -367, 74, -367, -367, -367, -367, 4402, + -367, -367, -367, -367, 104, -367, -367, 730, -367, -367, + 11, -367, 136, -25, 111, -367, 8, -367, 147, -367, + 6034, -367, -367, -367, 6034, 139, 140, -367, 61, -367, + 78, -367, -367, 8391, 155, -367, -367, -367, 149, 6034, + -367, 152, -367, -309, -367, -367, 80, 6831, -367, 27, + 1138, -367, -367, -367, -367, 155, 53, -367, 7221, 69, + -367, 141, -367, 117, 8391, 8391, 8391, -367, -367, -367, -367, -367, -367, -367, -367, -367, -367, -367, -367, -367, - -367, -367, -367, -367, 77, -367, -367, -367, 164, 89, - 8739, 172, -367, 8351, -367, -367, -318, 176, -367, 6006, - 143, 4788, -367, 6006, 8351, -367, -25, -367, 145, -367, - -367, 138, 144, -229, 23, 65, 158, 153, 162, 196, - 197, 16, 182, 7575, -367, 185, 183, -367, -367, 189, - 180, 181, -367, 195, 198, 186, 7963, 200, 8351, 199, - 187, 122, -367, -367, 123, -367, -1, 203, 204, -367, - -367, -367, -367, -367, 1540, -367, -367, -367, -367, -367, - -367, -367, -367, -367, -351, 176, 7187, 71, 7187, -367, - -367, 7187, 6006, -367, 169, -367, -367, -367, 91, -367, - -367, 8351, 170, -367, -367, 8351, 207, -367, -367, -367, - 8351, -367, 143, 155, 125, -367, -367, -367, 5194, -367, - -367, -367, -367, 8351, 8351, 8351, 8351, 8351, 8351, 8351, - 8351, 8351, 8351, 8351, 8351, 8351, 8351, 8351, 8351, 8351, - 8351, 8351, -367, -367, -367, 206, 177, -367, 1946, -367, - -367, -367, 1946, -367, 8351, -367, -367, 135, 8351, 60, - -367, -367, -367, -367, -367, -367, -367, -367, -367, -367, - -367, -367, -367, 8351, 8351, -367, -367, -367, -367, -367, - -367, -367, 7187, -367, 129, -367, 5600, -367, -367, 209, - 208, -367, -367, -367, 142, 176, 143, -367, -367, -367, - -367, -367, 138, 138, 144, 144, -229, -229, -229, -229, - 23, 23, 65, 158, 153, 162, 196, 197, 8351, -367, - 214, -312, -367, 1946, 3570, 173, 3164, 93, -367, 96, - -367, -367, -367, -367, -367, 6411, -367, -367, -367, -367, - 121, 8351, 213, 177, 215, 208, 188, 6006, 217, 221, - -367, -367, 3570, 218, -367, -367, -367, 8351, 222, -367, - -367, -367, 216, 2352, 8351, -367, 219, 226, 190, 224, - 2758, -367, 227, -367, -367, 7187, -367, -367, -367, 100, - 8351, 2352, 218, -367, -367, 1946, -367, 220, 208, -367, - -367, 1946, 228, -367, -367 + -367, -367, -367, -367, -367, -367, 77, -367, -367, -367, + 164, 89, 8781, 172, -367, 8391, -367, -367, -320, 176, + -367, 6034, 143, 4810, -367, 6034, 8391, -367, -25, -367, + 145, -367, -367, 138, 144, -231, 23, 65, 158, 153, + 162, 196, 197, 16, 182, 7611, -367, 185, 183, -367, + -367, 189, 180, 181, -367, 195, 198, 186, 8001, 200, + 8391, 199, 187, 122, -367, -367, 123, -367, -1, 203, + 204, -367, -367, -367, -367, -367, 1546, -367, -367, -367, + -367, -367, -367, -367, -367, -367, -353, 176, 7221, 71, + 7221, -367, -367, 7221, 6034, -367, 169, -367, -367, -367, + 91, -367, -367, 8391, 170, -367, -367, 8391, 207, -367, + -367, -367, 8391, -367, 143, 155, 125, -367, -367, -367, + 5218, -367, -367, -367, -367, 8391, 8391, 8391, 8391, 8391, + 8391, 8391, 8391, 8391, 8391, 8391, 8391, 8391, 8391, 8391, + 8391, 8391, 8391, 8391, -367, -367, -367, 206, 177, -367, + 1954, -367, -367, -367, 1954, -367, 8391, -367, -367, 135, + 8391, 60, -367, -367, -367, -367, -367, -367, -367, -367, + -367, -367, -367, -367, -367, 8391, 8391, -367, -367, -367, + -367, -367, -367, -367, 7221, -367, 129, -367, 5626, -367, + -367, 209, 208, -367, -367, -367, 142, 176, 143, -367, + -367, -367, -367, -367, 138, 138, 144, 144, -231, -231, + -231, -231, 23, 23, 65, 158, 153, 162, 196, 197, + 8391, -367, 214, -314, -367, 1954, 3586, 173, 3178, 93, + -367, 96, -367, -367, -367, -367, -367, 6441, -367, -367, + -367, -367, 121, 8391, 213, 177, 215, 208, 188, 6034, + 217, 221, -367, -367, 3586, 218, -367, -367, -367, 8391, + 222, -367, -367, -367, 216, 2362, 8391, -367, 219, 226, + 190, 224, 2770, -367, 227, -367, -367, 7221, -367, -367, + -367, 100, 8391, 2362, 218, -367, -367, 1954, -367, 220, + 208, -367, -367, 1954, 228, -367, -367 }; /* YYDEFACT[STATE-NUM] -- Default reduction number in state STATE-NUM. @@ -1295,71 +1298,71 @@ static const yytype_uint16 yydefact[] = 291, 292, 293, 294, 295, 296, 297, 298, 299, 303, 304, 305, 306, 307, 308, 309, 310, 311, 315, 316, 317, 318, 319, 320, 321, 322, 323, 325, 324, 484, - 326, 333, 334, 352, 332, 366, 367, 370, 371, 372, - 374, 375, 376, 378, 379, 380, 382, 383, 474, 475, - 356, 359, 363, 339, 340, 341, 368, 342, 346, 347, - 350, 373, 377, 381, 343, 344, 348, 349, 369, 345, - 351, 430, 432, 433, 434, 436, 437, 438, 440, 441, - 442, 444, 445, 446, 448, 449, 450, 452, 453, 454, - 456, 457, 458, 460, 461, 462, 464, 465, 466, 468, - 469, 470, 472, 473, 431, 435, 439, 443, 447, 455, - 459, 463, 451, 467, 471, 384, 385, 386, 388, 390, - 392, 394, 396, 400, 401, 402, 403, 404, 405, 407, - 408, 409, 410, 411, 412, 414, 416, 417, 418, 420, - 421, 398, 406, 413, 422, 424, 425, 426, 428, 429, - 387, 389, 391, 415, 393, 395, 397, 399, 419, 423, - 427, 476, 477, 480, 481, 482, 483, 478, 479, 573, - 131, 487, 488, 489, 0, 486, 160, 158, 159, 157, - 0, 199, 161, 162, 133, 132, 0, 183, 169, 170, - 168, 171, 172, 166, 167, 163, 185, 173, 179, 180, - 181, 182, 174, 175, 176, 177, 178, 134, 135, 136, - 137, 138, 139, 146, 572, 0, 574, 0, 108, 107, - 0, 119, 124, 153, 152, 150, 154, 0, 147, 149, - 155, 129, 195, 151, 485, 0, 569, 571, 0, 492, - 0, 0, 0, 96, 0, 93, 0, 106, 0, 115, - 109, 117, 0, 118, 0, 94, 125, 99, 0, 148, - 130, 0, 188, 194, 1, 570, 0, 0, 490, 143, - 145, 0, 141, 186, 0, 0, 97, 0, 0, 575, - 110, 114, 116, 112, 120, 111, 0, 126, 102, 0, - 100, 0, 0, 0, 0, 42, 41, 43, 40, 5, - 6, 7, 8, 2, 15, 13, 14, 16, 9, 10, - 11, 12, 3, 17, 36, 19, 24, 25, 0, 0, - 29, 0, 197, 0, 35, 33, 0, 189, 95, 0, - 0, 0, 494, 0, 0, 140, 0, 184, 0, 190, - 44, 48, 51, 54, 59, 62, 64, 66, 68, 70, - 72, 74, 0, 0, 98, 0, 520, 529, 533, 0, - 0, 0, 554, 0, 0, 0, 0, 0, 0, 0, - 0, 44, 77, 90, 0, 507, 0, 155, 129, 510, - 531, 509, 517, 508, 0, 511, 512, 535, 513, 542, - 514, 515, 550, 516, 0, 113, 0, 121, 0, 502, - 128, 0, 0, 104, 0, 101, 37, 38, 0, 21, - 22, 0, 0, 27, 26, 0, 199, 30, 32, 39, - 0, 196, 0, 500, 0, 498, 493, 495, 0, 92, - 144, 142, 187, 0, 0, 0, 0, 0, 0, 0, + 485, 486, 326, 333, 334, 352, 332, 366, 367, 370, + 371, 372, 374, 375, 376, 378, 379, 380, 382, 383, + 474, 475, 356, 359, 363, 339, 340, 341, 368, 342, + 346, 347, 350, 373, 377, 381, 343, 344, 348, 349, + 369, 345, 351, 430, 432, 433, 434, 436, 437, 438, + 440, 441, 442, 444, 445, 446, 448, 449, 450, 452, + 453, 454, 456, 457, 458, 460, 461, 462, 464, 465, + 466, 468, 469, 470, 472, 473, 431, 435, 439, 443, + 447, 455, 459, 463, 451, 467, 471, 384, 385, 386, + 388, 390, 392, 394, 396, 400, 401, 402, 403, 404, + 405, 407, 408, 409, 410, 411, 412, 414, 416, 417, + 418, 420, 421, 398, 406, 413, 422, 424, 425, 426, + 428, 429, 387, 389, 391, 415, 393, 395, 397, 399, + 419, 423, 427, 476, 477, 480, 481, 482, 483, 478, + 479, 575, 131, 489, 490, 491, 0, 488, 160, 158, + 159, 157, 0, 199, 161, 162, 133, 132, 0, 183, + 169, 170, 168, 171, 172, 166, 167, 163, 185, 173, + 179, 180, 181, 182, 174, 175, 176, 177, 178, 134, + 135, 136, 137, 138, 139, 146, 574, 0, 576, 0, + 108, 107, 0, 119, 124, 153, 152, 150, 154, 0, + 147, 149, 155, 129, 195, 151, 487, 0, 571, 573, + 0, 494, 0, 0, 0, 96, 0, 93, 0, 106, + 0, 115, 109, 117, 0, 118, 0, 94, 125, 99, + 0, 148, 130, 0, 188, 194, 1, 572, 0, 0, + 492, 143, 145, 0, 141, 186, 0, 0, 97, 0, + 0, 577, 110, 114, 116, 112, 120, 111, 0, 126, + 102, 0, 100, 0, 0, 0, 0, 42, 41, 43, + 40, 5, 6, 7, 8, 2, 15, 13, 14, 16, + 9, 10, 11, 12, 3, 17, 36, 19, 24, 25, + 0, 0, 29, 0, 197, 0, 35, 33, 0, 189, + 95, 0, 0, 0, 496, 0, 0, 140, 0, 184, + 0, 190, 44, 48, 51, 54, 59, 62, 64, 66, + 68, 70, 72, 74, 0, 0, 98, 0, 522, 531, + 535, 0, 0, 0, 556, 0, 0, 0, 0, 0, + 0, 0, 0, 44, 77, 90, 0, 509, 0, 155, + 129, 512, 533, 511, 519, 510, 0, 513, 514, 537, + 515, 544, 516, 517, 552, 518, 0, 113, 0, 121, + 0, 504, 128, 0, 0, 104, 0, 101, 37, 38, + 0, 21, 22, 0, 0, 27, 26, 0, 199, 30, + 32, 39, 0, 196, 0, 502, 0, 500, 495, 497, + 0, 92, 144, 142, 187, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 75, 191, 192, 0, 0, 519, 0, 552, - 565, 564, 0, 556, 0, 568, 566, 0, 0, 0, - 549, 518, 80, 81, 83, 82, 85, 86, 87, 88, - 89, 84, 79, 0, 0, 534, 530, 532, 536, 543, - 551, 123, 0, 505, 0, 127, 0, 105, 4, 0, - 23, 20, 31, 198, 0, 501, 0, 496, 491, 45, - 46, 47, 50, 49, 52, 53, 57, 58, 55, 56, - 60, 61, 63, 65, 67, 69, 71, 73, 0, 193, - 579, 0, 577, 521, 0, 0, 0, 0, 567, 0, - 548, 78, 91, 122, 503, 0, 103, 18, 497, 499, - 0, 0, 0, 0, 0, 540, 0, 0, 0, 0, - 559, 558, 561, 527, 544, 504, 506, 0, 0, 576, - 578, 522, 0, 0, 0, 560, 0, 0, 539, 0, - 0, 537, 0, 76, 580, 0, 524, 553, 523, 0, - 562, 0, 527, 526, 528, 546, 541, 0, 563, 557, - 538, 547, 0, 555, 545 + 0, 0, 0, 0, 75, 191, 192, 0, 0, 521, + 0, 554, 567, 566, 0, 558, 0, 570, 568, 0, + 0, 0, 551, 520, 80, 81, 83, 82, 85, 86, + 87, 88, 89, 84, 79, 0, 0, 536, 532, 534, + 538, 545, 553, 123, 0, 507, 0, 127, 0, 105, + 4, 0, 23, 20, 31, 198, 0, 503, 0, 498, + 493, 45, 46, 47, 50, 49, 52, 53, 57, 58, + 55, 56, 60, 61, 63, 65, 67, 69, 71, 73, + 0, 193, 581, 0, 579, 523, 0, 0, 0, 0, + 569, 0, 550, 78, 91, 122, 505, 0, 103, 18, + 499, 501, 0, 0, 0, 0, 0, 542, 0, 0, + 0, 0, 561, 560, 563, 529, 546, 506, 508, 0, + 0, 578, 580, 524, 0, 0, 0, 562, 0, 0, + 541, 0, 0, 539, 0, 76, 582, 0, 526, 555, + 525, 0, 564, 0, 529, 528, 530, 548, 543, 0, + 565, 559, 540, 549, 0, 557, 547 }; /* YYPGOTO[NTERM-NUM]. */ static const yytype_int16 yypgoto[] = { -367, -367, -367, -367, -367, -367, -367, -367, -367, -367, - -367, -367, 8654, -367, -81, -78, -225, -82, -20, -18, + -367, -367, 8696, -367, -81, -78, -225, -82, -20, -18, -21, -17, -19, -16, -367, -85, -367, -98, -367, -110, -118, 2, -367, -367, -367, 4, -367, -367, -367, 184, 191, 192, -367, -367, -339, -367, -367, -367, -367, 102, @@ -1375,18 +1378,18 @@ static const yytype_int16 yypgoto[] = /* YYDEFGOTO[NTERM-NUM]. */ static const yytype_int16 yydefgoto[] = { - -1, 432, 433, 434, 619, 435, 436, 437, 438, 439, - 440, 441, 491, 443, 461, 462, 463, 464, 465, 466, - 467, 468, 469, 470, 471, 492, 648, 493, 603, 494, - 550, 495, 335, 522, 411, 496, 337, 338, 339, 369, - 370, 371, 340, 341, 342, 343, 344, 345, 391, 392, - 346, 347, 348, 349, 444, 394, 445, 397, 382, 383, - 446, 352, 353, 354, 453, 387, 451, 452, 544, 545, - 520, 614, 499, 500, 501, 502, 503, 578, 674, 707, - 698, 699, 700, 708, 504, 505, 506, 507, 701, 678, - 508, 509, 702, 722, 510, 511, 512, 654, 582, 656, - 682, 696, 697, 513, 355, 356, 357, 366, 514, 651, - 652 + -1, 434, 435, 436, 621, 437, 438, 439, 440, 441, + 442, 443, 493, 445, 463, 464, 465, 466, 467, 468, + 469, 470, 471, 472, 473, 494, 650, 495, 605, 496, + 552, 497, 337, 524, 413, 498, 339, 340, 341, 371, + 372, 373, 342, 343, 344, 345, 346, 347, 393, 394, + 348, 349, 350, 351, 446, 396, 447, 399, 384, 385, + 448, 354, 355, 356, 455, 389, 453, 454, 546, 547, + 522, 616, 501, 502, 503, 504, 505, 580, 676, 709, + 700, 701, 702, 710, 506, 507, 508, 509, 703, 680, + 510, 511, 704, 724, 512, 513, 514, 656, 584, 658, + 684, 698, 699, 515, 357, 358, 359, 368, 516, 653, + 654 }; /* YYTABLE[YYPACT[STATE-NUM]] -- What to do in state STATE-NUM. If @@ -1394,13 +1397,13 @@ static const yytype_int16 yydefgoto[] = number is the opposite. If YYTABLE_NINF, syntax error. */ static const yytype_int16 yytable[] = { - 351, 540, 334, 672, 336, 479, 455, 673, 482, 350, - 483, 484, 456, 541, 487, 2, 3, 4, 5, 6, + 353, 542, 336, 674, 338, 481, 457, 675, 484, 352, + 485, 486, 458, 543, 489, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, - 47, 48, 558, 559, 51, 52, 53, 54, 55, 56, + 47, 48, 560, 561, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, @@ -1424,131 +1427,50 @@ static const yytype_int16 yytable[] = 257, 258, 259, 260, 261, 262, 263, 264, 265, 266, 267, 268, 269, 270, 271, 272, 273, 274, 275, 276, 277, 278, 279, 280, 281, 282, 283, 284, 285, 286, - 287, 288, 372, 379, 528, 407, 607, 611, 519, 613, - 472, 447, 615, 653, 547, 676, 571, 548, 560, 561, - 363, 365, 395, 389, 291, 292, 293, 706, 379, 359, - 396, 372, 515, 517, 714, 636, 637, 638, 639, 373, - 361, 473, 537, 676, 390, 706, 364, 380, 350, 474, - 449, 572, 362, 562, 563, 351, 350, 334, 386, 336, - 295, 360, 564, 565, 350, 300, 301, 395, 373, 549, - 529, 530, 373, 405, 516, 395, 587, 350, 589, 604, - 660, 350, 406, 473, 655, 473, 616, 450, 575, -34, - 521, 531, 612, 457, 408, 532, 350, 409, 498, 458, - 410, 367, 534, 663, 618, 379, 683, 497, 535, 684, - 604, 547, 604, 717, 449, 604, 449, 368, 519, 604, - 519, 620, 376, 519, 592, 593, 594, 595, 596, 597, - 598, 599, 600, 601, 381, 374, 524, 622, 375, 525, - 604, 687, 604, 602, 626, 605, 664, 627, 665, 542, - 721, 450, 388, 450, 604, 607, 686, 658, 350, 393, - 350, 626, 350, 398, 668, 553, 554, 555, 556, 395, - 557, 448, 625, 454, 657, 632, 633, 533, 659, 547, - 634, 635, 640, 641, 538, 449, 567, 403, 404, 523, - 473, 543, 566, 552, 568, 569, 716, 573, 570, 576, - 577, 579, 580, 581, 498, 661, 662, 583, 585, 591, - 584, 449, 588, 497, 519, -35, -33, 617, 621, 590, - -28, 649, 450, 607, 667, 650, 671, 604, 689, 679, - 693, 350, 691, 694, -525, 704, 692, 705, 670, 711, - 476, 710, 723, 715, 675, 724, 642, 644, 450, 643, - 712, 646, 645, 688, 358, 647, 401, 350, 551, 400, - 624, 669, 680, 719, 402, 713, 720, 519, 399, 681, - 608, 695, 675, 609, 690, 0, 610, 0, 498, 449, - 385, 0, 498, 0, 709, 0, 549, 497, 0, 703, - 0, 497, 0, 0, 0, 0, 0, 0, 0, 0, - 718, 0, 0, 0, 0, 0, 0, 519, 0, 0, - 0, 0, 0, 0, 0, 0, 450, 677, 0, 0, - 0, 0, 0, 0, 0, 350, 0, 0, 0, 0, - 0, 0, 0, 379, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 677, 0, 0, 0, 0, - 0, 0, 0, 498, 498, 0, 498, 0, 0, 0, - 0, 0, 497, 497, 0, 497, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 380, 0, 0, - 0, 0, 498, 0, 0, 0, 350, 0, 0, 0, - 0, 497, 0, 498, 0, 0, 0, 0, 0, 0, - 498, 0, 497, 0, 0, 0, 0, 0, 0, 497, - 0, 498, 0, 0, 0, 498, 0, 0, 0, 0, - 497, 498, 0, 0, 497, 0, 0, 0, 384, 0, - 497, 1, 2, 3, 4, 5, 6, 7, 8, 9, - 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, - 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, - 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, - 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, - 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, - 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, - 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, - 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, - 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, - 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, - 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, - 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, - 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, - 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, - 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, - 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, - 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, - 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, - 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, - 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, - 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, - 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, - 230, 231, 232, 233, 234, 235, 236, 237, 238, 239, - 240, 241, 242, 243, 244, 245, 246, 247, 248, 249, - 250, 251, 252, 253, 254, 255, 256, 257, 258, 259, - 260, 261, 262, 263, 264, 265, 266, 267, 268, 269, - 270, 271, 272, 273, 274, 275, 276, 277, 278, 279, - 280, 281, 282, 283, 284, 285, 286, 287, 288, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 289, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 290, 291, 292, 293, 294, 0, - 0, 0, 0, 0, 0, 0, 0, 295, 296, 297, - 298, 299, 300, 301, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 302, 303, 304, 305, - 306, 0, 0, 0, 0, 0, 0, 0, 0, 307, - 0, 308, 309, 310, 311, 312, 313, 314, 315, 316, - 317, 318, 319, 320, 321, 322, 323, 324, 325, 326, - 327, 328, 329, 330, 331, 332, 333, 1, 2, 3, - 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, - 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, - 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, - 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, - 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, - 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, - 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, - 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, - 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, - 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, - 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, - 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, - 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, - 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, - 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, - 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, - 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, - 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, - 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, - 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, - 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, - 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, - 224, 225, 226, 227, 228, 229, 230, 231, 232, 233, - 234, 235, 236, 237, 238, 239, 240, 241, 242, 243, - 244, 245, 246, 247, 248, 249, 250, 251, 252, 253, - 254, 255, 256, 257, 258, 259, 260, 261, 262, 263, - 264, 265, 266, 267, 268, 269, 270, 271, 272, 273, - 274, 275, 276, 277, 278, 279, 280, 281, 282, 283, - 284, 285, 286, 287, 288, 0, 0, 412, 413, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 414, 0, 475, 0, - 476, 477, 0, 0, 0, 0, 478, 415, 416, 417, - 418, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 290, 291, 292, 293, 294, 0, 0, 0, 419, 420, - 421, 422, 423, 295, 296, 297, 298, 299, 300, 301, - 479, 480, 481, 482, 0, 483, 484, 485, 486, 487, - 488, 489, 302, 303, 304, 305, 306, 424, 425, 426, - 427, 428, 429, 430, 431, 307, 490, 308, 309, 310, - 311, 312, 313, 314, 315, 316, 317, 318, 319, 320, - 321, 322, 323, 324, 325, 326, 327, 328, 329, 330, - 331, 332, 333, 1, 2, 3, 4, 5, 6, 7, + 287, 288, 289, 290, 374, 381, 530, 409, 609, 613, + 521, 615, 474, 449, 617, 655, 549, 678, 573, 550, + 562, 563, 365, 367, 397, 391, 293, 294, 295, 708, + 381, 361, 398, 374, 517, 519, 716, 638, 639, 640, + 641, 375, 363, 475, 539, 678, 392, 708, 366, 382, + 352, 476, 451, 574, 364, 564, 565, 353, 352, 336, + 388, 338, 297, 362, 566, 567, 352, 302, 303, 397, + 375, 551, 531, 532, 375, 407, 518, 397, 589, 352, + 591, 606, 662, 352, 408, 475, 657, 475, 618, 452, + 577, -34, 523, 533, 614, 459, 410, 534, 352, 411, + 500, 460, 412, 369, 536, 665, 620, 381, 685, 499, + 537, 686, 606, 549, 606, 719, 451, 606, 451, 370, + 521, 606, 521, 622, 378, 521, 594, 595, 596, 597, + 598, 599, 600, 601, 602, 603, 383, 376, 526, 624, + 377, 527, 606, 689, 606, 604, 628, 607, 666, 629, + 667, 544, 723, 452, 390, 452, 606, 609, 688, 660, + 352, 395, 352, 628, 352, 400, 670, 555, 556, 557, + 558, 397, 559, 450, 627, 456, 659, 634, 635, 535, + 661, 549, 636, 637, 642, 643, 540, 451, 569, 405, + 406, 525, 475, 545, 568, 554, 570, 571, 718, 575, + 572, 578, 579, 581, 582, 583, 500, 663, 664, 585, + 587, 593, 586, 451, 590, 499, 521, -35, -33, 619, + 623, 592, -28, 651, 452, 609, 669, 652, 673, 606, + 691, 681, 695, 352, 693, 696, -527, 706, 694, 707, + 672, 713, 478, 712, 725, 717, 677, 726, 644, 646, + 452, 645, 714, 648, 647, 690, 360, 649, 403, 352, + 553, 402, 626, 671, 682, 721, 404, 715, 722, 521, + 401, 683, 610, 697, 677, 611, 692, 0, 612, 0, + 500, 451, 387, 0, 500, 0, 711, 0, 551, 499, + 0, 705, 0, 499, 0, 0, 0, 0, 0, 0, + 0, 0, 720, 0, 0, 0, 0, 0, 0, 521, + 0, 0, 0, 0, 0, 0, 0, 0, 452, 679, + 0, 0, 0, 0, 0, 0, 0, 352, 0, 0, + 0, 0, 0, 0, 0, 381, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 679, 0, 0, + 0, 0, 0, 0, 0, 500, 500, 0, 500, 0, + 0, 0, 0, 0, 499, 499, 0, 499, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 382, + 0, 0, 0, 0, 500, 0, 0, 0, 352, 0, + 0, 0, 0, 499, 0, 500, 0, 0, 0, 0, + 0, 0, 500, 0, 499, 0, 0, 0, 0, 0, + 0, 499, 0, 500, 0, 0, 0, 500, 0, 0, + 0, 0, 499, 500, 0, 0, 499, 0, 0, 0, + 386, 0, 499, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, @@ -1577,18 +1499,59 @@ static const yytype_int16 yytable[] = 258, 259, 260, 261, 262, 263, 264, 265, 266, 267, 268, 269, 270, 271, 272, 273, 274, 275, 276, 277, 278, 279, 280, 281, 282, 283, 284, 285, 286, 287, - 288, 0, 0, 412, 413, 0, 0, 0, 0, 0, + 288, 289, 290, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 414, 0, 475, 0, 476, 606, 0, 0, - 0, 0, 478, 415, 416, 417, 418, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 290, 291, 292, 293, - 294, 0, 0, 0, 419, 420, 421, 422, 423, 295, - 296, 297, 298, 299, 300, 301, 479, 480, 481, 482, - 0, 483, 484, 485, 486, 487, 488, 489, 302, 303, - 304, 305, 306, 424, 425, 426, 427, 428, 429, 430, - 431, 307, 490, 308, 309, 310, 311, 312, 313, 314, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 291, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 292, 293, + 294, 295, 296, 0, 0, 0, 0, 0, 0, 0, + 0, 297, 298, 299, 300, 301, 302, 303, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 304, 305, 306, 307, 308, 0, 0, 0, 0, 0, + 0, 0, 0, 309, 0, 310, 311, 312, 313, 314, 315, 316, 317, 318, 319, 320, 321, 322, 323, 324, - 325, 326, 327, 328, 329, 330, 331, 332, 333, 1, + 325, 326, 327, 328, 329, 330, 331, 332, 333, 334, + 335, 1, 2, 3, 4, 5, 6, 7, 8, 9, + 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, + 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, + 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, + 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, + 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, + 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, + 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, + 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, + 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, + 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, + 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, + 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, + 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, + 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, + 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, + 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, + 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, + 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, + 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, + 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, + 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, + 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, + 230, 231, 232, 233, 234, 235, 236, 237, 238, 239, + 240, 241, 242, 243, 244, 245, 246, 247, 248, 249, + 250, 251, 252, 253, 254, 255, 256, 257, 258, 259, + 260, 261, 262, 263, 264, 265, 266, 267, 268, 269, + 270, 271, 272, 273, 274, 275, 276, 277, 278, 279, + 280, 281, 282, 283, 284, 285, 286, 287, 288, 289, + 290, 0, 0, 414, 415, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 416, 0, 477, 0, 478, 479, 0, 0, + 0, 0, 480, 417, 418, 419, 420, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 292, 293, 294, 295, + 296, 0, 0, 0, 421, 422, 423, 424, 425, 297, + 298, 299, 300, 301, 302, 303, 481, 482, 483, 484, + 0, 485, 486, 487, 488, 489, 490, 491, 304, 305, + 306, 307, 308, 426, 427, 428, 429, 430, 431, 432, + 433, 309, 492, 310, 311, 312, 313, 314, 315, 316, + 317, 318, 319, 320, 321, 322, 323, 324, 325, 326, + 327, 328, 329, 330, 331, 332, 333, 334, 335, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, @@ -1617,19 +1580,60 @@ static const yytype_int16 yytable[] = 252, 253, 254, 255, 256, 257, 258, 259, 260, 261, 262, 263, 264, 265, 266, 267, 268, 269, 270, 271, 272, 273, 274, 275, 276, 277, 278, 279, 280, 281, - 282, 283, 284, 285, 286, 287, 288, 0, 0, 412, - 413, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 414, 0, - 475, 0, 476, 0, 0, 0, 0, 0, 478, 415, - 416, 417, 418, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 290, 291, 292, 293, 294, 0, 0, 0, - 419, 420, 421, 422, 423, 295, 296, 297, 298, 299, - 300, 301, 479, 480, 481, 482, 0, 483, 484, 485, - 486, 487, 488, 489, 302, 303, 304, 305, 306, 424, - 425, 426, 427, 428, 429, 430, 431, 307, 490, 308, - 309, 310, 311, 312, 313, 314, 315, 316, 317, 318, + 282, 283, 284, 285, 286, 287, 288, 289, 290, 0, + 0, 414, 415, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 416, 0, 477, 0, 478, 608, 0, 0, 0, 0, + 480, 417, 418, 419, 420, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 292, 293, 294, 295, 296, 0, + 0, 0, 421, 422, 423, 424, 425, 297, 298, 299, + 300, 301, 302, 303, 481, 482, 483, 484, 0, 485, + 486, 487, 488, 489, 490, 491, 304, 305, 306, 307, + 308, 426, 427, 428, 429, 430, 431, 432, 433, 309, + 492, 310, 311, 312, 313, 314, 315, 316, 317, 318, 319, 320, 321, 322, 323, 324, 325, 326, 327, 328, - 329, 330, 331, 332, 333, 1, 2, 3, 4, 5, + 329, 330, 331, 332, 333, 334, 335, 1, 2, 3, + 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, + 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, + 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, + 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, + 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, + 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, + 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, + 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, + 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, + 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, + 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, + 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, + 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, + 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, + 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, + 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, + 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, + 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, + 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, + 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, + 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, + 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, + 224, 225, 226, 227, 228, 229, 230, 231, 232, 233, + 234, 235, 236, 237, 238, 239, 240, 241, 242, 243, + 244, 245, 246, 247, 248, 249, 250, 251, 252, 253, + 254, 255, 256, 257, 258, 259, 260, 261, 262, 263, + 264, 265, 266, 267, 268, 269, 270, 271, 272, 273, + 274, 275, 276, 277, 278, 279, 280, 281, 282, 283, + 284, 285, 286, 287, 288, 289, 290, 0, 0, 414, + 415, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 416, 0, + 477, 0, 478, 0, 0, 0, 0, 0, 480, 417, + 418, 419, 420, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 292, 293, 294, 295, 296, 0, 0, 0, + 421, 422, 423, 424, 425, 297, 298, 299, 300, 301, + 302, 303, 481, 482, 483, 484, 0, 485, 486, 487, + 488, 489, 490, 491, 304, 305, 306, 307, 308, 426, + 427, 428, 429, 430, 431, 432, 433, 309, 492, 310, + 311, 312, 313, 314, 315, 316, 317, 318, 319, 320, + 321, 322, 323, 324, 325, 326, 327, 328, 329, 330, + 331, 332, 333, 334, 335, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, @@ -1658,100 +1662,19 @@ static const yytype_int16 yytable[] = 256, 257, 258, 259, 260, 261, 262, 263, 264, 265, 266, 267, 268, 269, 270, 271, 272, 273, 274, 275, 276, 277, 278, 279, 280, 281, 282, 283, 284, 285, - 286, 287, 288, 0, 0, 412, 413, 0, 0, 0, + 286, 287, 288, 289, 290, 0, 0, 414, 415, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 414, 0, 475, 0, 398, 0, - 0, 0, 0, 0, 478, 415, 416, 417, 418, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 290, 291, - 292, 293, 294, 0, 0, 0, 419, 420, 421, 422, - 423, 295, 296, 297, 298, 299, 300, 301, 479, 480, - 481, 482, 0, 483, 484, 485, 486, 487, 488, 489, - 302, 303, 304, 305, 306, 424, 425, 426, 427, 428, - 429, 430, 431, 307, 490, 308, 309, 310, 311, 312, + 0, 0, 0, 0, 0, 0, 416, 0, 477, 0, + 400, 0, 0, 0, 0, 0, 480, 417, 418, 419, + 420, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 292, 293, 294, 295, 296, 0, 0, 0, 421, 422, + 423, 424, 425, 297, 298, 299, 300, 301, 302, 303, + 481, 482, 483, 484, 0, 485, 486, 487, 488, 489, + 490, 491, 304, 305, 306, 307, 308, 426, 427, 428, + 429, 430, 431, 432, 433, 309, 492, 310, 311, 312, 313, 314, 315, 316, 317, 318, 319, 320, 321, 322, 323, 324, 325, 326, 327, 328, 329, 330, 331, 332, - 333, 1, 2, 3, 4, 5, 6, 7, 8, 9, - 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, - 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, - 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, - 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, - 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, - 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, - 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, - 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, - 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, - 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, - 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, - 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, - 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, - 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, - 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, - 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, - 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, - 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, - 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, - 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, - 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, - 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, - 230, 231, 232, 233, 234, 235, 236, 237, 238, 239, - 240, 241, 242, 243, 244, 245, 246, 247, 248, 249, - 250, 251, 252, 253, 254, 255, 256, 257, 258, 259, - 260, 261, 262, 263, 264, 265, 266, 267, 268, 269, - 270, 271, 272, 273, 274, 275, 276, 277, 278, 279, - 280, 281, 282, 283, 284, 285, 286, 287, 288, 0, - 0, 412, 413, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 414, 0, 475, 0, 0, 0, 0, 0, 0, 0, - 478, 415, 416, 417, 418, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 290, 291, 292, 293, 294, 0, - 0, 0, 419, 420, 421, 422, 423, 295, 296, 297, - 298, 299, 300, 301, 479, 480, 481, 482, 0, 483, - 484, 485, 486, 487, 488, 489, 302, 303, 304, 305, - 306, 424, 425, 426, 427, 428, 429, 430, 431, 307, - 490, 308, 309, 310, 311, 312, 313, 314, 315, 316, - 317, 318, 319, 320, 321, 322, 323, 324, 325, 326, - 327, 328, 329, 330, 331, 332, 333, 1, 2, 3, - 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, - 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, - 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, - 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, - 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, - 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, - 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, - 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, - 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, - 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, - 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, - 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, - 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, - 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, - 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, - 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, - 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, - 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, - 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, - 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, - 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, - 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, - 224, 225, 226, 227, 228, 229, 230, 231, 232, 233, - 234, 235, 236, 237, 238, 239, 240, 241, 242, 243, - 244, 245, 246, 247, 248, 249, 250, 251, 252, 253, - 254, 255, 256, 257, 258, 259, 260, 261, 262, 263, - 264, 265, 266, 267, 268, 269, 270, 271, 272, 273, - 274, 275, 276, 277, 278, 279, 280, 281, 282, 283, - 284, 285, 286, 287, 288, 0, 0, 412, 413, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 414, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 478, 415, 416, 417, - 418, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 290, 291, 292, 293, 294, 0, 0, 0, 419, 420, - 421, 422, 423, 295, 296, 297, 298, 299, 300, 301, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 302, 303, 304, 305, 306, 424, 425, 426, - 427, 428, 429, 430, 431, 307, 0, 308, 309, 310, - 311, 312, 313, 314, 315, 316, 317, 318, 319, 320, - 321, 322, 323, 324, 325, 326, 327, 328, 329, 330, - 331, 332, 333, 1, 2, 3, 4, 5, 6, 7, + 333, 334, 335, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, @@ -1780,18 +1703,59 @@ static const yytype_int16 yytable[] = 258, 259, 260, 261, 262, 263, 264, 265, 266, 267, 268, 269, 270, 271, 272, 273, 274, 275, 276, 277, 278, 279, 280, 281, 282, 283, 284, 285, 286, 287, - 288, 0, 0, 412, 413, 0, 0, 0, 0, 0, + 288, 289, 290, 0, 0, 414, 415, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 414, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 415, 416, 417, 418, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 290, 291, 292, 293, - 0, 0, 0, 0, 419, 420, 421, 422, 423, 295, - 296, 297, 298, 299, 300, 301, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 302, 303, - 304, 305, 306, 424, 425, 426, 427, 428, 429, 430, - 431, 307, 0, 308, 309, 310, 311, 312, 313, 314, + 0, 0, 0, 0, 416, 0, 477, 0, 0, 0, + 0, 0, 0, 0, 480, 417, 418, 419, 420, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 292, 293, + 294, 295, 296, 0, 0, 0, 421, 422, 423, 424, + 425, 297, 298, 299, 300, 301, 302, 303, 481, 482, + 483, 484, 0, 485, 486, 487, 488, 489, 490, 491, + 304, 305, 306, 307, 308, 426, 427, 428, 429, 430, + 431, 432, 433, 309, 492, 310, 311, 312, 313, 314, 315, 316, 317, 318, 319, 320, 321, 322, 323, 324, - 325, 326, 327, 328, 329, 330, 331, 332, 333, 1, + 325, 326, 327, 328, 329, 330, 331, 332, 333, 334, + 335, 1, 2, 3, 4, 5, 6, 7, 8, 9, + 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, + 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, + 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, + 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, + 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, + 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, + 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, + 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, + 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, + 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, + 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, + 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, + 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, + 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, + 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, + 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, + 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, + 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, + 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, + 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, + 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, + 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, + 230, 231, 232, 233, 234, 235, 236, 237, 238, 239, + 240, 241, 242, 243, 244, 245, 246, 247, 248, 249, + 250, 251, 252, 253, 254, 255, 256, 257, 258, 259, + 260, 261, 262, 263, 264, 265, 266, 267, 268, 269, + 270, 271, 272, 273, 274, 275, 276, 277, 278, 279, + 280, 281, 282, 283, 284, 285, 286, 287, 288, 289, + 290, 0, 0, 414, 415, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 416, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 480, 417, 418, 419, 420, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 292, 293, 294, 295, + 296, 0, 0, 0, 421, 422, 423, 424, 425, 297, + 298, 299, 300, 301, 302, 303, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 304, 305, + 306, 307, 308, 426, 427, 428, 429, 430, 431, 432, + 433, 309, 0, 310, 311, 312, 313, 314, 315, 316, + 317, 318, 319, 320, 321, 322, 323, 324, 325, 326, + 327, 328, 329, 330, 331, 332, 333, 334, 335, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, @@ -1820,19 +1784,60 @@ static const yytype_int16 yytable[] = 252, 253, 254, 255, 256, 257, 258, 259, 260, 261, 262, 263, 264, 265, 266, 267, 268, 269, 270, 271, 272, 273, 274, 275, 276, 277, 278, 279, 280, 281, - 282, 283, 284, 285, 286, 287, 288, 0, 0, 0, + 282, 283, 284, 285, 286, 287, 288, 289, 290, 0, + 0, 414, 415, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 289, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 290, 291, 292, 293, 294, 0, 0, 0, - 0, 0, 0, 0, 0, 295, 296, 297, 298, 299, - 300, 301, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 302, 303, 304, 305, 306, 0, - 0, 0, 0, 0, 0, 0, 0, 307, 0, 308, - 309, 310, 311, 312, 313, 314, 315, 316, 317, 318, + 416, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 417, 418, 419, 420, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 292, 293, 294, 295, 0, 0, + 0, 0, 421, 422, 423, 424, 425, 297, 298, 299, + 300, 301, 302, 303, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 304, 305, 306, 307, + 308, 426, 427, 428, 429, 430, 431, 432, 433, 309, + 0, 310, 311, 312, 313, 314, 315, 316, 317, 318, 319, 320, 321, 322, 323, 324, 325, 326, 327, 328, - 329, 330, 331, 332, 333, 1, 2, 3, 4, 5, + 329, 330, 331, 332, 333, 334, 335, 1, 2, 3, + 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, + 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, + 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, + 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, + 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, + 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, + 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, + 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, + 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, + 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, + 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, + 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, + 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, + 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, + 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, + 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, + 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, + 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, + 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, + 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, + 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, + 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, + 224, 225, 226, 227, 228, 229, 230, 231, 232, 233, + 234, 235, 236, 237, 238, 239, 240, 241, 242, 243, + 244, 245, 246, 247, 248, 249, 250, 251, 252, 253, + 254, 255, 256, 257, 258, 259, 260, 261, 262, 263, + 264, 265, 266, 267, 268, 269, 270, 271, 272, 273, + 274, 275, 276, 277, 278, 279, 280, 281, 282, 283, + 284, 285, 286, 287, 288, 289, 290, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 291, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 292, 293, 294, 295, 296, 0, 0, 0, + 0, 0, 0, 0, 0, 297, 298, 299, 300, 301, + 302, 303, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 304, 305, 306, 307, 308, 0, + 0, 0, 0, 0, 0, 0, 0, 309, 0, 310, + 311, 312, 313, 314, 315, 316, 317, 318, 319, 320, + 321, 322, 323, 324, 325, 326, 327, 328, 329, 330, + 331, 332, 333, 334, 335, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, @@ -1861,100 +1866,19 @@ static const yytype_int16 yytable[] = 256, 257, 258, 259, 260, 261, 262, 263, 264, 265, 266, 267, 268, 269, 270, 271, 272, 273, 274, 275, 276, 277, 278, 279, 280, 281, 282, 283, 284, 285, - 286, 287, 288, 0, 0, 0, 0, 0, 0, 0, + 286, 287, 288, 289, 290, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 377, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 290, 291, - 292, 293, 0, 0, 0, 0, 0, 0, 0, 0, - 378, 295, 296, 297, 298, 299, 300, 301, 0, 0, + 0, 0, 0, 0, 0, 0, 379, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 302, 303, 304, 305, 306, 0, 0, 0, 0, 0, - 0, 0, 0, 307, 0, 308, 309, 310, 311, 312, + 292, 293, 294, 295, 0, 0, 0, 0, 0, 0, + 0, 0, 380, 297, 298, 299, 300, 301, 302, 303, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 304, 305, 306, 307, 308, 0, 0, 0, + 0, 0, 0, 0, 0, 309, 0, 310, 311, 312, 313, 314, 315, 316, 317, 318, 319, 320, 321, 322, 323, 324, 325, 326, 327, 328, 329, 330, 331, 332, - 333, 1, 2, 3, 4, 5, 6, 7, 8, 9, - 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, - 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, - 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, - 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, - 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, - 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, - 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, - 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, - 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, - 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, - 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, - 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, - 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, - 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, - 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, - 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, - 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, - 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, - 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, - 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, - 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, - 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, - 230, 231, 232, 233, 234, 235, 236, 237, 238, 239, - 240, 241, 242, 243, 244, 245, 246, 247, 248, 249, - 250, 251, 252, 253, 254, 255, 256, 257, 258, 259, - 260, 261, 262, 263, 264, 265, 266, 267, 268, 269, - 270, 271, 272, 273, 274, 275, 276, 277, 278, 279, - 280, 281, 282, 283, 284, 285, 286, 287, 288, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 546, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 290, 291, 292, 293, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 295, 296, 297, - 298, 299, 300, 301, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 302, 303, 304, 305, - 306, 0, 0, 0, 0, 0, 0, 0, 0, 307, - 0, 308, 309, 310, 311, 312, 313, 314, 315, 316, - 317, 318, 319, 320, 321, 322, 323, 324, 325, 326, - 327, 328, 329, 330, 331, 332, 333, 1, 2, 3, - 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, - 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, - 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, - 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, - 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, - 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, - 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, - 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, - 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, - 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, - 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, - 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, - 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, - 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, - 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, - 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, - 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, - 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, - 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, - 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, - 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, - 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, - 224, 225, 226, 227, 228, 229, 230, 231, 232, 233, - 234, 235, 236, 237, 238, 239, 240, 241, 242, 243, - 244, 245, 246, 247, 248, 249, 250, 251, 252, 253, - 254, 255, 256, 257, 258, 259, 260, 261, 262, 263, - 264, 265, 266, 267, 268, 269, 270, 271, 272, 273, - 274, 275, 276, 277, 278, 279, 280, 281, 282, 283, - 284, 285, 286, 287, 288, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 628, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 290, 291, 292, 293, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 295, 296, 297, 298, 299, 300, 301, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 302, 303, 304, 305, 306, 0, 0, 0, - 0, 0, 0, 0, 0, 307, 0, 308, 309, 310, - 311, 312, 313, 314, 315, 316, 317, 318, 319, 320, - 321, 322, 323, 324, 325, 326, 327, 328, 329, 330, - 331, 332, 333, 1, 2, 3, 4, 5, 6, 7, + 333, 334, 335, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, @@ -1983,18 +1907,59 @@ static const yytype_int16 yytable[] = 258, 259, 260, 261, 262, 263, 264, 265, 266, 267, 268, 269, 270, 271, 272, 273, 274, 275, 276, 277, 278, 279, 280, 281, 282, 283, 284, 285, 286, 287, - 288, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 288, 289, 290, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 666, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 548, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 290, 291, 292, 293, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 295, - 296, 297, 298, 299, 300, 301, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 302, 303, - 304, 305, 306, 0, 0, 0, 0, 0, 0, 0, - 0, 307, 0, 308, 309, 310, 311, 312, 313, 314, + 0, 0, 0, 0, 0, 0, 0, 0, 292, 293, + 294, 295, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 297, 298, 299, 300, 301, 302, 303, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 304, 305, 306, 307, 308, 0, 0, 0, 0, 0, + 0, 0, 0, 309, 0, 310, 311, 312, 313, 314, 315, 316, 317, 318, 319, 320, 321, 322, 323, 324, - 325, 326, 327, 328, 329, 330, 331, 332, 333, 1, + 325, 326, 327, 328, 329, 330, 331, 332, 333, 334, + 335, 1, 2, 3, 4, 5, 6, 7, 8, 9, + 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, + 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, + 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, + 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, + 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, + 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, + 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, + 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, + 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, + 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, + 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, + 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, + 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, + 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, + 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, + 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, + 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, + 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, + 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, + 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, + 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, + 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, + 230, 231, 232, 233, 234, 235, 236, 237, 238, 239, + 240, 241, 242, 243, 244, 245, 246, 247, 248, 249, + 250, 251, 252, 253, 254, 255, 256, 257, 258, 259, + 260, 261, 262, 263, 264, 265, 266, 267, 268, 269, + 270, 271, 272, 273, 274, 275, 276, 277, 278, 279, + 280, 281, 282, 283, 284, 285, 286, 287, 288, 289, + 290, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 630, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 292, 293, 294, 295, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 297, + 298, 299, 300, 301, 302, 303, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 304, 305, + 306, 307, 308, 0, 0, 0, 0, 0, 0, 0, + 0, 309, 0, 310, 311, 312, 313, 314, 315, 316, + 317, 318, 319, 320, 321, 322, 323, 324, 325, 326, + 327, 328, 329, 330, 331, 332, 333, 334, 335, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, @@ -2023,19 +1988,60 @@ static const yytype_int16 yytable[] = 252, 253, 254, 255, 256, 257, 258, 259, 260, 261, 262, 263, 264, 265, 266, 267, 268, 269, 270, 271, 272, 273, 274, 275, 276, 277, 278, 279, 280, 281, - 282, 283, 284, 285, 286, 287, 288, 0, 0, 0, + 282, 283, 284, 285, 286, 287, 288, 289, 290, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 668, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 290, 291, 292, 293, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 295, 296, 297, 298, 299, - 300, 301, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 302, 303, 304, 305, 306, 0, - 0, 0, 0, 0, 0, 0, 0, 307, 0, 308, - 309, 310, 311, 312, 313, 314, 315, 316, 317, 318, + 0, 0, 0, 0, 292, 293, 294, 295, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 297, 298, 299, + 300, 301, 302, 303, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 304, 305, 306, 307, + 308, 0, 0, 0, 0, 0, 0, 0, 0, 309, + 0, 310, 311, 312, 313, 314, 315, 316, 317, 318, 319, 320, 321, 322, 323, 324, 325, 326, 327, 328, - 329, 330, 331, 332, 333, 2, 3, 4, 5, 6, + 329, 330, 331, 332, 333, 334, 335, 1, 2, 3, + 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, + 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, + 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, + 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, + 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, + 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, + 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, + 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, + 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, + 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, + 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, + 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, + 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, + 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, + 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, + 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, + 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, + 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, + 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, + 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, + 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, + 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, + 224, 225, 226, 227, 228, 229, 230, 231, 232, 233, + 234, 235, 236, 237, 238, 239, 240, 241, 242, 243, + 244, 245, 246, 247, 248, 249, 250, 251, 252, 253, + 254, 255, 256, 257, 258, 259, 260, 261, 262, 263, + 264, 265, 266, 267, 268, 269, 270, 271, 272, 273, + 274, 275, 276, 277, 278, 279, 280, 281, 282, 283, + 284, 285, 286, 287, 288, 289, 290, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 292, 293, 294, 295, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 297, 298, 299, 300, 301, + 302, 303, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 304, 305, 306, 307, 308, 0, + 0, 0, 0, 0, 0, 0, 0, 309, 0, 310, + 311, 312, 313, 314, 315, 316, 317, 318, 319, 320, + 321, 322, 323, 324, 325, 326, 327, 328, 329, 330, + 331, 332, 333, 334, 335, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, @@ -2064,172 +2070,17 @@ static const yytype_int16 yytable[] = 257, 258, 259, 260, 261, 262, 263, 264, 265, 266, 267, 268, 269, 270, 271, 272, 273, 274, 275, 276, 277, 278, 279, 280, 281, 282, 283, 284, 285, 286, - 287, 288, 0, 0, 412, 413, 0, 0, 0, 0, + 287, 288, 289, 290, 0, 0, 414, 415, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 414, 0, 0, 0, 518, 685, 0, - 0, 0, 0, 0, 415, 416, 417, 418, 0, 0, + 0, 0, 0, 0, 0, 416, 0, 0, 0, 520, + 687, 0, 0, 0, 0, 0, 417, 418, 419, 420, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 419, 420, 421, 422, 423, - 295, 0, 0, 0, 0, 300, 301, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 421, 422, 423, + 424, 425, 297, 0, 0, 0, 0, 302, 303, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 424, 425, 426, 427, 428, 429, - 430, 431, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 316, 2, 3, 4, 5, 6, 7, 8, - 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, - 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, - 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, - 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, - 0, 0, 51, 52, 53, 54, 55, 56, 57, 58, - 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, - 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, - 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, - 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, - 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, - 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, - 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, - 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, - 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, - 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, - 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, - 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, - 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, - 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, - 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, - 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, - 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, - 229, 230, 231, 232, 233, 234, 235, 236, 237, 238, - 239, 240, 241, 242, 243, 244, 245, 246, 247, 248, - 249, 250, 251, 252, 253, 254, 255, 256, 257, 258, - 259, 260, 261, 262, 263, 264, 265, 266, 267, 268, - 269, 270, 271, 272, 273, 274, 275, 276, 277, 278, - 279, 280, 281, 282, 283, 284, 285, 286, 287, 288, - 0, 0, 412, 413, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 414, 0, 0, 459, 0, 0, 0, 0, 0, - 0, 0, 415, 416, 417, 418, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 419, 420, 421, 422, 423, 295, 0, - 0, 0, 0, 300, 301, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 424, 425, 426, 427, 428, 429, 430, 431, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 316, 2, 3, 4, 5, 6, 7, 8, 9, 10, - 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, - 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, - 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, - 41, 42, 43, 44, 45, 46, 47, 48, 0, 0, - 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, - 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, - 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, - 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, - 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, - 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, - 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, - 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, - 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, - 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, - 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, - 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, - 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, - 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, - 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, - 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, - 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, - 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, - 231, 232, 233, 234, 235, 236, 237, 238, 239, 240, - 241, 242, 243, 244, 245, 246, 247, 248, 249, 250, - 251, 252, 253, 254, 255, 256, 257, 258, 259, 260, - 261, 262, 263, 264, 265, 266, 267, 268, 269, 270, - 271, 272, 273, 274, 275, 276, 277, 278, 279, 280, - 281, 282, 283, 284, 285, 286, 287, 288, 0, 0, - 412, 413, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 414, - 0, 0, 0, 518, 0, 0, 0, 0, 0, 0, - 415, 416, 417, 418, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 419, 420, 421, 422, 423, 295, 0, 0, 0, - 0, 300, 301, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 424, 425, 426, 427, 428, 429, 430, 431, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 316, 2, - 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, - 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, - 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, - 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, - 43, 44, 45, 46, 47, 48, 0, 0, 51, 52, - 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, - 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, - 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, - 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, - 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, - 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, - 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, - 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, - 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, - 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, - 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, - 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, - 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, - 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, - 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, - 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, - 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, - 223, 224, 225, 226, 227, 228, 229, 230, 231, 232, - 233, 234, 235, 236, 237, 238, 239, 240, 241, 242, - 243, 244, 245, 246, 247, 248, 249, 250, 251, 252, - 253, 254, 255, 256, 257, 258, 259, 260, 261, 262, - 263, 264, 265, 266, 267, 268, 269, 270, 271, 272, - 273, 274, 275, 276, 277, 278, 279, 280, 281, 282, - 283, 284, 285, 286, 287, 288, 0, 0, 412, 413, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 414, 0, 0, - 574, 0, 0, 0, 0, 0, 0, 0, 415, 416, - 417, 418, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 419, - 420, 421, 422, 423, 295, 0, 0, 0, 0, 300, - 301, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 424, 425, - 426, 427, 428, 429, 430, 431, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 316, 2, 3, 4, - 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, - 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, - 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, - 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, - 45, 46, 47, 48, 0, 0, 51, 52, 53, 54, - 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, - 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, - 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, - 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, - 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, - 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, - 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, - 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, - 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, - 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, - 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, - 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, - 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, - 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, - 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, - 205, 206, 207, 208, 209, 210, 211, 212, 213, 214, - 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, - 225, 226, 227, 228, 229, 230, 231, 232, 233, 234, - 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, - 245, 246, 247, 248, 249, 250, 251, 252, 253, 254, - 255, 256, 257, 258, 259, 260, 261, 262, 263, 264, - 265, 266, 267, 268, 269, 270, 271, 272, 273, 274, - 275, 276, 277, 278, 279, 280, 281, 282, 283, 284, - 285, 286, 287, 288, 0, 0, 412, 413, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 414, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 586, 415, 416, 417, 418, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 419, 420, 421, - 422, 423, 295, 0, 0, 0, 0, 300, 301, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 424, 425, 426, 427, - 428, 429, 430, 431, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 316, 2, 3, 4, 5, 6, + 0, 0, 0, 0, 0, 0, 426, 427, 428, 429, + 430, 431, 432, 433, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 318, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, @@ -2258,65 +2109,221 @@ static const yytype_int16 yytable[] = 257, 258, 259, 260, 261, 262, 263, 264, 265, 266, 267, 268, 269, 270, 271, 272, 273, 274, 275, 276, 277, 278, 279, 280, 281, 282, 283, 284, 285, 286, - 287, 288, 0, 0, 412, 413, 0, 0, 0, 0, + 287, 288, 289, 290, 0, 0, 414, 415, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 414, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 415, 416, 417, 418, 0, 0, + 0, 0, 0, 0, 0, 416, 0, 0, 461, 0, + 0, 0, 0, 0, 0, 0, 417, 418, 419, 420, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 419, 420, 421, 422, 423, - 295, 0, 0, 0, 0, 300, 301, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 421, 422, 423, + 424, 425, 297, 0, 0, 0, 0, 302, 303, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 424, 425, 426, 427, 428, 429, - 430, 431, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 316, 2, 3, 4, 5, 6, 7, 8, - 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, - 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, - 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, - 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, - 0, 0, 51, 52, 53, 54, 55, 56, 57, 58, - 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, - 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, - 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, - 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, - 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, - 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, - 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, - 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, - 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, - 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, - 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, - 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, - 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, - 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, - 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, - 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, - 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, - 229, 230, 231, 232, 233, 234, 235, 236, 237, 238, - 239, 240, 241, 242, 243, 244, 245, 246, 247, 248, - 249, 250, 251, 252, 253, 254, 255, 256, 257, 258, - 259, 260, 261, 262, 263, 264, 265, 266, 267, 268, - 269, 270, 271, 272, 273, 274, 275, 276, 277, 278, - 279, 280, 281, 282, 283, 284, 285, 286, 287, 288, - 0, 0, 412, 413, 0, 442, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 460, - 0, 414, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 415, 416, 417, 418, 526, 527, 0, 0, + 0, 0, 0, 0, 0, 0, 426, 427, 428, 429, + 430, 431, 432, 433, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 318, 2, 3, 4, 5, 6, + 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, + 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, + 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, + 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, + 47, 48, 0, 0, 51, 52, 53, 54, 55, 56, + 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, + 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, + 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, + 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, + 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, + 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, + 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, + 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, + 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, + 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, + 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, + 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, + 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, + 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, + 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, + 207, 208, 209, 210, 211, 212, 213, 214, 215, 216, + 217, 218, 219, 220, 221, 222, 223, 224, 225, 226, + 227, 228, 229, 230, 231, 232, 233, 234, 235, 236, + 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, + 247, 248, 249, 250, 251, 252, 253, 254, 255, 256, + 257, 258, 259, 260, 261, 262, 263, 264, 265, 266, + 267, 268, 269, 270, 271, 272, 273, 274, 275, 276, + 277, 278, 279, 280, 281, 282, 283, 284, 285, 286, + 287, 288, 289, 290, 0, 0, 414, 415, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 419, 420, 421, 422, 423, 295, 0, - 0, 0, 0, 300, 536, 0, 0, 539, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 460, 0, - 0, 0, 424, 425, 426, 427, 428, 429, 430, 431, - 0, 0, 0, 0, 0, 0, 0, 460, 0, 0, - 316, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 416, 0, 0, 0, 520, + 0, 0, 0, 0, 0, 0, 417, 418, 419, 420, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 421, 422, 423, + 424, 425, 297, 0, 0, 0, 0, 302, 303, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 426, 427, 428, 429, + 430, 431, 432, 433, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 318, 2, 3, 4, 5, 6, + 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, + 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, + 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, + 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, + 47, 48, 0, 0, 51, 52, 53, 54, 55, 56, + 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, + 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, + 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, + 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, + 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, + 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, + 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, + 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, + 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, + 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, + 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, + 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, + 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, + 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, + 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, + 207, 208, 209, 210, 211, 212, 213, 214, 215, 216, + 217, 218, 219, 220, 221, 222, 223, 224, 225, 226, + 227, 228, 229, 230, 231, 232, 233, 234, 235, 236, + 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, + 247, 248, 249, 250, 251, 252, 253, 254, 255, 256, + 257, 258, 259, 260, 261, 262, 263, 264, 265, 266, + 267, 268, 269, 270, 271, 272, 273, 274, 275, 276, + 277, 278, 279, 280, 281, 282, 283, 284, 285, 286, + 287, 288, 289, 290, 0, 0, 414, 415, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 416, 0, 0, 576, 0, + 0, 0, 0, 0, 0, 0, 417, 418, 419, 420, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 421, 422, 423, + 424, 425, 297, 0, 0, 0, 0, 302, 303, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 426, 427, 428, 429, + 430, 431, 432, 433, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 318, 2, 3, 4, 5, 6, + 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, + 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, + 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, + 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, + 47, 48, 0, 0, 51, 52, 53, 54, 55, 56, + 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, + 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, + 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, + 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, + 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, + 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, + 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, + 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, + 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, + 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, + 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, + 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, + 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, + 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, + 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, + 207, 208, 209, 210, 211, 212, 213, 214, 215, 216, + 217, 218, 219, 220, 221, 222, 223, 224, 225, 226, + 227, 228, 229, 230, 231, 232, 233, 234, 235, 236, + 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, + 247, 248, 249, 250, 251, 252, 253, 254, 255, 256, + 257, 258, 259, 260, 261, 262, 263, 264, 265, 266, + 267, 268, 269, 270, 271, 272, 273, 274, 275, 276, + 277, 278, 279, 280, 281, 282, 283, 284, 285, 286, + 287, 288, 289, 290, 0, 0, 414, 415, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 416, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 588, 417, 418, 419, 420, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 421, 422, 423, + 424, 425, 297, 0, 0, 0, 0, 302, 303, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 426, 427, 428, 429, + 430, 431, 432, 433, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 318, 2, 3, 4, 5, 6, + 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, + 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, + 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, + 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, + 47, 48, 0, 0, 51, 52, 53, 54, 55, 56, + 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, + 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, + 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, + 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, + 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, + 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, + 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, + 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, + 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, + 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, + 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, + 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, + 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, + 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, + 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, + 207, 208, 209, 210, 211, 212, 213, 214, 215, 216, + 217, 218, 219, 220, 221, 222, 223, 224, 225, 226, + 227, 228, 229, 230, 231, 232, 233, 234, 235, 236, + 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, + 247, 248, 249, 250, 251, 252, 253, 254, 255, 256, + 257, 258, 259, 260, 261, 262, 263, 264, 265, 266, + 267, 268, 269, 270, 271, 272, 273, 274, 275, 276, + 277, 278, 279, 280, 281, 282, 283, 284, 285, 286, + 287, 288, 289, 290, 0, 0, 414, 415, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 416, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 417, 418, 419, 420, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 421, 422, 423, + 424, 425, 297, 0, 0, 0, 0, 302, 303, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 426, 427, 428, 429, + 430, 431, 432, 433, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 318, 2, 3, 4, 5, 6, + 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, + 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, + 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, + 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, + 47, 48, 0, 0, 51, 52, 53, 54, 55, 56, + 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, + 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, + 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, + 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, + 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, + 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, + 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, + 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, + 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, + 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, + 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, + 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, + 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, + 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, + 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, + 207, 208, 209, 210, 211, 212, 213, 214, 215, 216, + 217, 218, 219, 220, 221, 222, 223, 224, 225, 226, + 227, 228, 229, 230, 231, 232, 233, 234, 235, 236, + 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, + 247, 248, 249, 250, 251, 252, 253, 254, 255, 256, + 257, 258, 259, 260, 261, 262, 263, 264, 265, 266, + 267, 268, 269, 270, 271, 272, 273, 274, 275, 276, + 277, 278, 279, 280, 281, 282, 283, 284, 285, 286, + 287, 288, 289, 290, 0, 0, 414, 415, 0, 444, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 462, 0, 416, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 417, 418, 419, 420, + 528, 529, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 421, 422, 423, + 424, 425, 297, 0, 0, 0, 0, 302, 538, 0, + 0, 541, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 462, 0, 0, 0, 426, 427, 428, 429, + 430, 431, 432, 433, 0, 0, 0, 0, 0, 0, + 0, 462, 0, 0, 318, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 623, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 629, 630, 631, - 460, 460, 460, 460, 460, 460, 460, 460, 460, 460, - 460, 460, 460, 460, 460, 460, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 625, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 631, 632, 633, 462, 462, 462, 462, 462, 462, + 462, 462, 462, 462, 462, 462, 462, 462, 462, 462, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, @@ -2326,18 +2333,18 @@ static const yytype_int16 yytable[] = 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 460 + 0, 0, 0, 0, 0, 0, 0, 0, 0, 462 }; static const yytype_int16 yycheck[] = { - 0, 319, 0, 315, 0, 356, 313, 319, 359, 0, - 361, 362, 319, 331, 365, 4, 5, 6, 7, 8, + 0, 321, 0, 317, 0, 358, 315, 321, 361, 0, + 363, 364, 321, 333, 367, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, - 49, 50, 291, 292, 53, 54, 55, 56, 57, 58, + 49, 50, 293, 294, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, @@ -2361,131 +2368,50 @@ static const yytype_int16 yycheck[] = 259, 260, 261, 262, 263, 264, 265, 266, 267, 268, 269, 270, 271, 272, 273, 274, 275, 276, 277, 278, 279, 280, 281, 282, 283, 284, 285, 286, 287, 288, - 289, 290, 339, 347, 414, 376, 504, 516, 406, 518, - 395, 382, 521, 578, 451, 654, 300, 453, 295, 296, - 322, 322, 314, 348, 337, 338, 339, 693, 372, 316, - 322, 368, 403, 404, 700, 560, 561, 562, 563, 339, - 312, 314, 440, 682, 369, 711, 348, 347, 339, 322, - 387, 335, 312, 330, 331, 355, 347, 355, 358, 355, - 349, 348, 297, 298, 355, 354, 355, 314, 368, 454, - 293, 294, 372, 312, 321, 314, 486, 368, 488, 319, - 320, 372, 321, 314, 582, 314, 522, 387, 473, 312, - 321, 314, 321, 313, 316, 318, 387, 319, 398, 319, - 322, 313, 313, 612, 313, 449, 313, 398, 319, 313, - 319, 548, 319, 313, 451, 319, 453, 319, 516, 319, - 518, 531, 348, 521, 302, 303, 304, 305, 306, 307, - 308, 309, 310, 311, 330, 319, 319, 535, 322, 322, - 319, 320, 319, 321, 319, 322, 317, 322, 319, 449, - 715, 451, 316, 453, 319, 653, 665, 322, 449, 348, - 451, 319, 453, 316, 322, 327, 328, 329, 324, 314, - 326, 322, 543, 321, 584, 556, 557, 313, 588, 616, - 558, 559, 564, 565, 312, 522, 333, 348, 348, 348, - 314, 348, 334, 348, 332, 299, 705, 315, 301, 314, - 317, 312, 322, 322, 504, 603, 604, 312, 322, 322, - 312, 548, 312, 504, 612, 312, 312, 348, 348, 320, - 313, 315, 522, 721, 315, 348, 312, 319, 315, 356, - 313, 522, 317, 312, 316, 313, 348, 321, 648, 313, - 316, 322, 322, 316, 654, 317, 566, 568, 548, 567, - 360, 570, 569, 671, 294, 571, 372, 548, 456, 368, - 542, 626, 656, 711, 372, 699, 712, 665, 366, 656, - 514, 682, 682, 514, 673, -1, 514, -1, 578, 616, - 355, -1, 582, -1, 694, -1, 671, 578, -1, 687, - -1, 582, -1, -1, -1, -1, -1, -1, -1, -1, - 710, -1, -1, -1, -1, -1, -1, 705, -1, -1, - -1, -1, -1, -1, -1, -1, 616, 654, -1, -1, - -1, -1, -1, -1, -1, 616, -1, -1, -1, -1, - -1, -1, -1, 677, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, 682, -1, -1, -1, -1, - -1, -1, -1, 653, 654, -1, 656, -1, -1, -1, - -1, -1, 653, 654, -1, 656, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, 677, -1, -1, - -1, -1, 682, -1, -1, -1, 677, -1, -1, -1, - -1, 682, -1, 693, -1, -1, -1, -1, -1, -1, - 700, -1, 693, -1, -1, -1, -1, -1, -1, 700, - -1, 711, -1, -1, -1, 715, -1, -1, -1, -1, - 711, 721, -1, -1, 715, -1, -1, -1, 0, -1, - 721, 3, 4, 5, 6, 7, 8, 9, 10, 11, - 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, - 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, - 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, - 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, - 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, - 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, - 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, - 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, - 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, - 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, - 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, - 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, - 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, - 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, - 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, - 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, - 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, - 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, - 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, - 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, - 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, - 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, - 232, 233, 234, 235, 236, 237, 238, 239, 240, 241, - 242, 243, 244, 245, 246, 247, 248, 249, 250, 251, - 252, 253, 254, 255, 256, 257, 258, 259, 260, 261, - 262, 263, 264, 265, 266, 267, 268, 269, 270, 271, - 272, 273, 274, 275, 276, 277, 278, 279, 280, 281, - 282, 283, 284, 285, 286, 287, 288, 289, 290, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - 322, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, 336, 337, 338, 339, 340, -1, - -1, -1, -1, -1, -1, -1, -1, 349, 350, 351, - 352, 353, 354, 355, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, 368, 369, 370, 371, - 372, -1, -1, -1, -1, -1, -1, -1, -1, 381, - -1, 383, 384, 385, 386, 387, 388, 389, 390, 391, - 392, 393, 394, 395, 396, 397, 398, 399, 400, 401, - 402, 403, 404, 405, 406, 407, 408, 3, 4, 5, - 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, - 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, - 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, - 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, - 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, - 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, - 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, - 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, - 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, - 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, - 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, - 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, - 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, - 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, - 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, - 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, - 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, - 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, - 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, - 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, - 206, 207, 208, 209, 210, 211, 212, 213, 214, 215, - 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, - 226, 227, 228, 229, 230, 231, 232, 233, 234, 235, - 236, 237, 238, 239, 240, 241, 242, 243, 244, 245, - 246, 247, 248, 249, 250, 251, 252, 253, 254, 255, - 256, 257, 258, 259, 260, 261, 262, 263, 264, 265, - 266, 267, 268, 269, 270, 271, 272, 273, 274, 275, - 276, 277, 278, 279, 280, 281, 282, 283, 284, 285, - 286, 287, 288, 289, 290, -1, -1, 293, 294, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, 312, -1, 314, -1, - 316, 317, -1, -1, -1, -1, 322, 323, 324, 325, - 326, -1, -1, -1, -1, -1, -1, -1, -1, -1, - 336, 337, 338, 339, 340, -1, -1, -1, 344, 345, - 346, 347, 348, 349, 350, 351, 352, 353, 354, 355, - 356, 357, 358, 359, -1, 361, 362, 363, 364, 365, - 366, 367, 368, 369, 370, 371, 372, 373, 374, 375, - 376, 377, 378, 379, 380, 381, 382, 383, 384, 385, - 386, 387, 388, 389, 390, 391, 392, 393, 394, 395, - 396, 397, 398, 399, 400, 401, 402, 403, 404, 405, - 406, 407, 408, 3, 4, 5, 6, 7, 8, 9, + 289, 290, 291, 292, 341, 349, 416, 378, 506, 518, + 408, 520, 397, 384, 523, 580, 453, 656, 302, 455, + 297, 298, 324, 324, 316, 350, 339, 340, 341, 695, + 374, 318, 324, 370, 405, 406, 702, 562, 563, 564, + 565, 341, 314, 316, 442, 684, 371, 713, 350, 349, + 341, 324, 389, 337, 314, 332, 333, 357, 349, 357, + 360, 357, 351, 350, 299, 300, 357, 356, 357, 316, + 370, 456, 295, 296, 374, 314, 323, 316, 488, 370, + 490, 321, 322, 374, 323, 316, 584, 316, 524, 389, + 475, 314, 323, 316, 323, 315, 318, 320, 389, 321, + 400, 321, 324, 315, 315, 614, 315, 451, 315, 400, + 321, 315, 321, 550, 321, 315, 453, 321, 455, 321, + 518, 321, 520, 533, 350, 523, 304, 305, 306, 307, + 308, 309, 310, 311, 312, 313, 332, 321, 321, 537, + 324, 324, 321, 322, 321, 323, 321, 324, 319, 324, + 321, 451, 717, 453, 318, 455, 321, 655, 667, 324, + 451, 350, 453, 321, 455, 318, 324, 329, 330, 331, + 326, 316, 328, 324, 545, 323, 586, 558, 559, 315, + 590, 618, 560, 561, 566, 567, 314, 524, 335, 350, + 350, 350, 316, 350, 336, 350, 334, 301, 707, 317, + 303, 316, 319, 314, 324, 324, 506, 605, 606, 314, + 324, 324, 314, 550, 314, 506, 614, 314, 314, 350, + 350, 322, 315, 317, 524, 723, 317, 350, 314, 321, + 317, 358, 315, 524, 319, 314, 318, 315, 350, 323, + 650, 315, 318, 324, 324, 318, 656, 319, 568, 570, + 550, 569, 362, 572, 571, 673, 296, 573, 374, 550, + 458, 370, 544, 628, 658, 713, 374, 701, 714, 667, + 368, 658, 516, 684, 684, 516, 675, -1, 516, -1, + 580, 618, 357, -1, 584, -1, 696, -1, 673, 580, + -1, 689, -1, 584, -1, -1, -1, -1, -1, -1, + -1, -1, 712, -1, -1, -1, -1, -1, -1, 707, + -1, -1, -1, -1, -1, -1, -1, -1, 618, 656, + -1, -1, -1, -1, -1, -1, -1, 618, -1, -1, + -1, -1, -1, -1, -1, 679, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, 684, -1, -1, + -1, -1, -1, -1, -1, 655, 656, -1, 658, -1, + -1, -1, -1, -1, 655, 656, -1, 658, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, 679, + -1, -1, -1, -1, 684, -1, -1, -1, 679, -1, + -1, -1, -1, 684, -1, 695, -1, -1, -1, -1, + -1, -1, 702, -1, 695, -1, -1, -1, -1, -1, + -1, 702, -1, 713, -1, -1, -1, 717, -1, -1, + -1, -1, 713, 723, -1, -1, 717, -1, -1, -1, + 0, -1, 723, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, @@ -2514,18 +2440,59 @@ static const yytype_int16 yycheck[] = 260, 261, 262, 263, 264, 265, 266, 267, 268, 269, 270, 271, 272, 273, 274, 275, 276, 277, 278, 279, 280, 281, 282, 283, 284, 285, 286, 287, 288, 289, - 290, -1, -1, 293, 294, -1, -1, -1, -1, -1, + 290, 291, 292, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, 312, -1, 314, -1, 316, 317, -1, -1, - -1, -1, 322, 323, 324, 325, 326, -1, -1, -1, - -1, -1, -1, -1, -1, -1, 336, 337, 338, 339, - 340, -1, -1, -1, 344, 345, 346, 347, 348, 349, - 350, 351, 352, 353, 354, 355, 356, 357, 358, 359, - -1, 361, 362, 363, 364, 365, 366, 367, 368, 369, - 370, 371, 372, 373, 374, 375, 376, 377, 378, 379, - 380, 381, 382, 383, 384, 385, 386, 387, 388, 389, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, 324, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, 338, 339, + 340, 341, 342, -1, -1, -1, -1, -1, -1, -1, + -1, 351, 352, 353, 354, 355, 356, 357, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + 370, 371, 372, 373, 374, -1, -1, -1, -1, -1, + -1, -1, -1, 383, -1, 385, 386, 387, 388, 389, 390, 391, 392, 393, 394, 395, 396, 397, 398, 399, - 400, 401, 402, 403, 404, 405, 406, 407, 408, 3, + 400, 401, 402, 403, 404, 405, 406, 407, 408, 409, + 410, 3, 4, 5, 6, 7, 8, 9, 10, 11, + 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, + 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, + 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, + 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, + 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, + 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, + 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, + 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, + 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, + 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, + 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, + 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, + 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, + 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, + 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, + 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, + 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, + 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, + 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, + 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, + 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, + 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, + 232, 233, 234, 235, 236, 237, 238, 239, 240, 241, + 242, 243, 244, 245, 246, 247, 248, 249, 250, 251, + 252, 253, 254, 255, 256, 257, 258, 259, 260, 261, + 262, 263, 264, 265, 266, 267, 268, 269, 270, 271, + 272, 273, 274, 275, 276, 277, 278, 279, 280, 281, + 282, 283, 284, 285, 286, 287, 288, 289, 290, 291, + 292, -1, -1, 295, 296, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, 314, -1, 316, -1, 318, 319, -1, -1, + -1, -1, 324, 325, 326, 327, 328, -1, -1, -1, + -1, -1, -1, -1, -1, -1, 338, 339, 340, 341, + 342, -1, -1, -1, 346, 347, 348, 349, 350, 351, + 352, 353, 354, 355, 356, 357, 358, 359, 360, 361, + -1, 363, 364, 365, 366, 367, 368, 369, 370, 371, + 372, 373, 374, 375, 376, 377, 378, 379, 380, 381, + 382, 383, 384, 385, 386, 387, 388, 389, 390, 391, + 392, 393, 394, 395, 396, 397, 398, 399, 400, 401, + 402, 403, 404, 405, 406, 407, 408, 409, 410, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, @@ -2554,19 +2521,60 @@ static const yytype_int16 yycheck[] = 254, 255, 256, 257, 258, 259, 260, 261, 262, 263, 264, 265, 266, 267, 268, 269, 270, 271, 272, 273, 274, 275, 276, 277, 278, 279, 280, 281, 282, 283, - 284, 285, 286, 287, 288, 289, 290, -1, -1, 293, - 294, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, 312, -1, - 314, -1, 316, -1, -1, -1, -1, -1, 322, 323, - 324, 325, 326, -1, -1, -1, -1, -1, -1, -1, - -1, -1, 336, 337, 338, 339, 340, -1, -1, -1, - 344, 345, 346, 347, 348, 349, 350, 351, 352, 353, - 354, 355, 356, 357, 358, 359, -1, 361, 362, 363, + 284, 285, 286, 287, 288, 289, 290, 291, 292, -1, + -1, 295, 296, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + 314, -1, 316, -1, 318, 319, -1, -1, -1, -1, + 324, 325, 326, 327, 328, -1, -1, -1, -1, -1, + -1, -1, -1, -1, 338, 339, 340, 341, 342, -1, + -1, -1, 346, 347, 348, 349, 350, 351, 352, 353, + 354, 355, 356, 357, 358, 359, 360, 361, -1, 363, 364, 365, 366, 367, 368, 369, 370, 371, 372, 373, 374, 375, 376, 377, 378, 379, 380, 381, 382, 383, 384, 385, 386, 387, 388, 389, 390, 391, 392, 393, 394, 395, 396, 397, 398, 399, 400, 401, 402, 403, - 404, 405, 406, 407, 408, 3, 4, 5, 6, 7, + 404, 405, 406, 407, 408, 409, 410, 3, 4, 5, + 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, + 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, + 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, + 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, + 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, + 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, + 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, + 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, + 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, + 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, + 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, + 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, + 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, + 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, + 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, + 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, + 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, + 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, + 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, + 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, + 206, 207, 208, 209, 210, 211, 212, 213, 214, 215, + 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, + 226, 227, 228, 229, 230, 231, 232, 233, 234, 235, + 236, 237, 238, 239, 240, 241, 242, 243, 244, 245, + 246, 247, 248, 249, 250, 251, 252, 253, 254, 255, + 256, 257, 258, 259, 260, 261, 262, 263, 264, 265, + 266, 267, 268, 269, 270, 271, 272, 273, 274, 275, + 276, 277, 278, 279, 280, 281, 282, 283, 284, 285, + 286, 287, 288, 289, 290, 291, 292, -1, -1, 295, + 296, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, 314, -1, + 316, -1, 318, -1, -1, -1, -1, -1, 324, 325, + 326, 327, 328, -1, -1, -1, -1, -1, -1, -1, + -1, -1, 338, 339, 340, 341, 342, -1, -1, -1, + 346, 347, 348, 349, 350, 351, 352, 353, 354, 355, + 356, 357, 358, 359, 360, 361, -1, 363, 364, 365, + 366, 367, 368, 369, 370, 371, 372, 373, 374, 375, + 376, 377, 378, 379, 380, 381, 382, 383, 384, 385, + 386, 387, 388, 389, 390, 391, 392, 393, 394, 395, + 396, 397, 398, 399, 400, 401, 402, 403, 404, 405, + 406, 407, 408, 409, 410, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, @@ -2595,100 +2603,19 @@ static const yytype_int16 yycheck[] = 258, 259, 260, 261, 262, 263, 264, 265, 266, 267, 268, 269, 270, 271, 272, 273, 274, 275, 276, 277, 278, 279, 280, 281, 282, 283, 284, 285, 286, 287, - 288, 289, 290, -1, -1, 293, 294, -1, -1, -1, + 288, 289, 290, 291, 292, -1, -1, 295, 296, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, 312, -1, 314, -1, 316, -1, - -1, -1, -1, -1, 322, 323, 324, 325, 326, -1, - -1, -1, -1, -1, -1, -1, -1, -1, 336, 337, - 338, 339, 340, -1, -1, -1, 344, 345, 346, 347, + -1, -1, -1, -1, -1, -1, 314, -1, 316, -1, + 318, -1, -1, -1, -1, -1, 324, 325, 326, 327, + 328, -1, -1, -1, -1, -1, -1, -1, -1, -1, + 338, 339, 340, 341, 342, -1, -1, -1, 346, 347, 348, 349, 350, 351, 352, 353, 354, 355, 356, 357, - 358, 359, -1, 361, 362, 363, 364, 365, 366, 367, + 358, 359, 360, 361, -1, 363, 364, 365, 366, 367, 368, 369, 370, 371, 372, 373, 374, 375, 376, 377, 378, 379, 380, 381, 382, 383, 384, 385, 386, 387, 388, 389, 390, 391, 392, 393, 394, 395, 396, 397, 398, 399, 400, 401, 402, 403, 404, 405, 406, 407, - 408, 3, 4, 5, 6, 7, 8, 9, 10, 11, - 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, - 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, - 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, - 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, - 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, - 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, - 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, - 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, - 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, - 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, - 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, - 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, - 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, - 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, - 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, - 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, - 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, - 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, - 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, - 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, - 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, - 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, - 232, 233, 234, 235, 236, 237, 238, 239, 240, 241, - 242, 243, 244, 245, 246, 247, 248, 249, 250, 251, - 252, 253, 254, 255, 256, 257, 258, 259, 260, 261, - 262, 263, 264, 265, 266, 267, 268, 269, 270, 271, - 272, 273, 274, 275, 276, 277, 278, 279, 280, 281, - 282, 283, 284, 285, 286, 287, 288, 289, 290, -1, - -1, 293, 294, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - 312, -1, 314, -1, -1, -1, -1, -1, -1, -1, - 322, 323, 324, 325, 326, -1, -1, -1, -1, -1, - -1, -1, -1, -1, 336, 337, 338, 339, 340, -1, - -1, -1, 344, 345, 346, 347, 348, 349, 350, 351, - 352, 353, 354, 355, 356, 357, 358, 359, -1, 361, - 362, 363, 364, 365, 366, 367, 368, 369, 370, 371, - 372, 373, 374, 375, 376, 377, 378, 379, 380, 381, - 382, 383, 384, 385, 386, 387, 388, 389, 390, 391, - 392, 393, 394, 395, 396, 397, 398, 399, 400, 401, - 402, 403, 404, 405, 406, 407, 408, 3, 4, 5, - 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, - 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, - 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, - 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, - 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, - 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, - 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, - 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, - 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, - 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, - 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, - 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, - 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, - 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, - 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, - 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, - 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, - 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, - 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, - 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, - 206, 207, 208, 209, 210, 211, 212, 213, 214, 215, - 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, - 226, 227, 228, 229, 230, 231, 232, 233, 234, 235, - 236, 237, 238, 239, 240, 241, 242, 243, 244, 245, - 246, 247, 248, 249, 250, 251, 252, 253, 254, 255, - 256, 257, 258, 259, 260, 261, 262, 263, 264, 265, - 266, 267, 268, 269, 270, 271, 272, 273, 274, 275, - 276, 277, 278, 279, 280, 281, 282, 283, 284, 285, - 286, 287, 288, 289, 290, -1, -1, 293, 294, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, 312, -1, -1, -1, - -1, -1, -1, -1, -1, -1, 322, 323, 324, 325, - 326, -1, -1, -1, -1, -1, -1, -1, -1, -1, - 336, 337, 338, 339, 340, -1, -1, -1, 344, 345, - 346, 347, 348, 349, 350, 351, 352, 353, 354, 355, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, 368, 369, 370, 371, 372, 373, 374, 375, - 376, 377, 378, 379, 380, 381, -1, 383, 384, 385, - 386, 387, 388, 389, 390, 391, 392, 393, 394, 395, - 396, 397, 398, 399, 400, 401, 402, 403, 404, 405, - 406, 407, 408, 3, 4, 5, 6, 7, 8, 9, + 408, 409, 410, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, @@ -2717,18 +2644,59 @@ static const yytype_int16 yycheck[] = 260, 261, 262, 263, 264, 265, 266, 267, 268, 269, 270, 271, 272, 273, 274, 275, 276, 277, 278, 279, 280, 281, 282, 283, 284, 285, 286, 287, 288, 289, - 290, -1, -1, 293, 294, -1, -1, -1, -1, -1, + 290, 291, 292, -1, -1, 295, 296, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, 312, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, 323, 324, 325, 326, -1, -1, -1, - -1, -1, -1, -1, -1, -1, 336, 337, 338, 339, - -1, -1, -1, -1, 344, 345, 346, 347, 348, 349, - 350, 351, 352, 353, 354, 355, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, 368, 369, + -1, -1, -1, -1, 314, -1, 316, -1, -1, -1, + -1, -1, -1, -1, 324, 325, 326, 327, 328, -1, + -1, -1, -1, -1, -1, -1, -1, -1, 338, 339, + 340, 341, 342, -1, -1, -1, 346, 347, 348, 349, + 350, 351, 352, 353, 354, 355, 356, 357, 358, 359, + 360, 361, -1, 363, 364, 365, 366, 367, 368, 369, 370, 371, 372, 373, 374, 375, 376, 377, 378, 379, - 380, 381, -1, 383, 384, 385, 386, 387, 388, 389, + 380, 381, 382, 383, 384, 385, 386, 387, 388, 389, 390, 391, 392, 393, 394, 395, 396, 397, 398, 399, - 400, 401, 402, 403, 404, 405, 406, 407, 408, 3, + 400, 401, 402, 403, 404, 405, 406, 407, 408, 409, + 410, 3, 4, 5, 6, 7, 8, 9, 10, 11, + 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, + 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, + 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, + 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, + 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, + 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, + 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, + 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, + 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, + 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, + 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, + 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, + 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, + 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, + 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, + 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, + 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, + 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, + 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, + 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, + 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, + 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, + 232, 233, 234, 235, 236, 237, 238, 239, 240, 241, + 242, 243, 244, 245, 246, 247, 248, 249, 250, 251, + 252, 253, 254, 255, 256, 257, 258, 259, 260, 261, + 262, 263, 264, 265, 266, 267, 268, 269, 270, 271, + 272, 273, 274, 275, 276, 277, 278, 279, 280, 281, + 282, 283, 284, 285, 286, 287, 288, 289, 290, 291, + 292, -1, -1, 295, 296, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, 314, -1, -1, -1, -1, -1, -1, -1, + -1, -1, 324, 325, 326, 327, 328, -1, -1, -1, + -1, -1, -1, -1, -1, -1, 338, 339, 340, 341, + 342, -1, -1, -1, 346, 347, 348, 349, 350, 351, + 352, 353, 354, 355, 356, 357, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, 370, 371, + 372, 373, 374, 375, 376, 377, 378, 379, 380, 381, + 382, 383, -1, 385, 386, 387, 388, 389, 390, 391, + 392, 393, 394, 395, 396, 397, 398, 399, 400, 401, + 402, 403, 404, 405, 406, 407, 408, 409, 410, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, @@ -2757,19 +2725,60 @@ static const yytype_int16 yycheck[] = 254, 255, 256, 257, 258, 259, 260, 261, 262, 263, 264, 265, 266, 267, 268, 269, 270, 271, 272, 273, 274, 275, 276, 277, 278, 279, 280, 281, 282, 283, - 284, 285, 286, 287, 288, 289, 290, -1, -1, -1, + 284, 285, 286, 287, 288, 289, 290, 291, 292, -1, + -1, 295, 296, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, 322, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, 336, 337, 338, 339, 340, -1, -1, -1, - -1, -1, -1, -1, -1, 349, 350, 351, 352, 353, - 354, 355, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, 368, 369, 370, 371, 372, -1, - -1, -1, -1, -1, -1, -1, -1, 381, -1, 383, - 384, 385, 386, 387, 388, 389, 390, 391, 392, 393, + 314, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, 325, 326, 327, 328, -1, -1, -1, -1, -1, + -1, -1, -1, -1, 338, 339, 340, 341, -1, -1, + -1, -1, 346, 347, 348, 349, 350, 351, 352, 353, + 354, 355, 356, 357, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, 370, 371, 372, 373, + 374, 375, 376, 377, 378, 379, 380, 381, 382, 383, + -1, 385, 386, 387, 388, 389, 390, 391, 392, 393, 394, 395, 396, 397, 398, 399, 400, 401, 402, 403, - 404, 405, 406, 407, 408, 3, 4, 5, 6, 7, + 404, 405, 406, 407, 408, 409, 410, 3, 4, 5, + 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, + 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, + 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, + 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, + 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, + 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, + 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, + 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, + 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, + 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, + 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, + 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, + 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, + 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, + 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, + 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, + 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, + 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, + 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, + 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, + 206, 207, 208, 209, 210, 211, 212, 213, 214, 215, + 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, + 226, 227, 228, 229, 230, 231, 232, 233, 234, 235, + 236, 237, 238, 239, 240, 241, 242, 243, 244, 245, + 246, 247, 248, 249, 250, 251, 252, 253, 254, 255, + 256, 257, 258, 259, 260, 261, 262, 263, 264, 265, + 266, 267, 268, 269, 270, 271, 272, 273, 274, 275, + 276, 277, 278, 279, 280, 281, 282, 283, 284, 285, + 286, 287, 288, 289, 290, 291, 292, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, 324, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, 338, 339, 340, 341, 342, -1, -1, -1, + -1, -1, -1, -1, -1, 351, 352, 353, 354, 355, + 356, 357, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, 370, 371, 372, 373, 374, -1, + -1, -1, -1, -1, -1, -1, -1, 383, -1, 385, + 386, 387, 388, 389, 390, 391, 392, 393, 394, 395, + 396, 397, 398, 399, 400, 401, 402, 403, 404, 405, + 406, 407, 408, 409, 410, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, @@ -2798,100 +2807,19 @@ static const yytype_int16 yycheck[] = 258, 259, 260, 261, 262, 263, 264, 265, 266, 267, 268, 269, 270, 271, 272, 273, 274, 275, 276, 277, 278, 279, 280, 281, 282, 283, 284, 285, 286, 287, - 288, 289, 290, -1, -1, -1, -1, -1, -1, -1, + 288, 289, 290, 291, 292, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, 322, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, 336, 337, - 338, 339, -1, -1, -1, -1, -1, -1, -1, -1, - 348, 349, 350, 351, 352, 353, 354, 355, -1, -1, + -1, -1, -1, -1, -1, -1, 324, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - 368, 369, 370, 371, 372, -1, -1, -1, -1, -1, - -1, -1, -1, 381, -1, 383, 384, 385, 386, 387, + 338, 339, 340, 341, -1, -1, -1, -1, -1, -1, + -1, -1, 350, 351, 352, 353, 354, 355, 356, 357, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, 370, 371, 372, 373, 374, -1, -1, -1, + -1, -1, -1, -1, -1, 383, -1, 385, 386, 387, 388, 389, 390, 391, 392, 393, 394, 395, 396, 397, 398, 399, 400, 401, 402, 403, 404, 405, 406, 407, - 408, 3, 4, 5, 6, 7, 8, 9, 10, 11, - 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, - 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, - 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, - 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, - 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, - 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, - 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, - 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, - 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, - 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, - 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, - 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, - 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, - 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, - 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, - 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, - 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, - 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, - 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, - 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, - 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, - 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, - 232, 233, 234, 235, 236, 237, 238, 239, 240, 241, - 242, 243, 244, 245, 246, 247, 248, 249, 250, 251, - 252, 253, 254, 255, 256, 257, 258, 259, 260, 261, - 262, 263, 264, 265, 266, 267, 268, 269, 270, 271, - 272, 273, 274, 275, 276, 277, 278, 279, 280, 281, - 282, 283, 284, 285, 286, 287, 288, 289, 290, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, 317, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, 336, 337, 338, 339, -1, -1, - -1, -1, -1, -1, -1, -1, -1, 349, 350, 351, - 352, 353, 354, 355, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, 368, 369, 370, 371, - 372, -1, -1, -1, -1, -1, -1, -1, -1, 381, - -1, 383, 384, 385, 386, 387, 388, 389, 390, 391, - 392, 393, 394, 395, 396, 397, 398, 399, 400, 401, - 402, 403, 404, 405, 406, 407, 408, 3, 4, 5, - 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, - 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, - 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, - 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, - 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, - 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, - 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, - 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, - 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, - 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, - 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, - 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, - 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, - 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, - 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, - 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, - 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, - 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, - 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, - 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, - 206, 207, 208, 209, 210, 211, 212, 213, 214, 215, - 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, - 226, 227, 228, 229, 230, 231, 232, 233, 234, 235, - 236, 237, 238, 239, 240, 241, 242, 243, 244, 245, - 246, 247, 248, 249, 250, 251, 252, 253, 254, 255, - 256, 257, 258, 259, 260, 261, 262, 263, 264, 265, - 266, 267, 268, 269, 270, 271, 272, 273, 274, 275, - 276, 277, 278, 279, 280, 281, 282, 283, 284, 285, - 286, 287, 288, 289, 290, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, 317, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - 336, 337, 338, 339, -1, -1, -1, -1, -1, -1, - -1, -1, -1, 349, 350, 351, 352, 353, 354, 355, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, 368, 369, 370, 371, 372, -1, -1, -1, - -1, -1, -1, -1, -1, 381, -1, 383, 384, 385, - 386, 387, 388, 389, 390, 391, 392, 393, 394, 395, - 396, 397, 398, 399, 400, 401, 402, 403, 404, 405, - 406, 407, 408, 3, 4, 5, 6, 7, 8, 9, + 408, 409, 410, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, @@ -2920,18 +2848,59 @@ static const yytype_int16 yycheck[] = 260, 261, 262, 263, 264, 265, 266, 267, 268, 269, 270, 271, 272, 273, 274, 275, 276, 277, 278, 279, 280, 281, 282, 283, 284, 285, 286, 287, 288, 289, - 290, -1, -1, -1, -1, -1, -1, -1, -1, -1, + 290, 291, 292, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, 317, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, 319, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, 336, 337, 338, 339, - -1, -1, -1, -1, -1, -1, -1, -1, -1, 349, - 350, 351, 352, 353, 354, 355, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, 368, 369, - 370, 371, 372, -1, -1, -1, -1, -1, -1, -1, - -1, 381, -1, 383, 384, 385, 386, 387, 388, 389, + -1, -1, -1, -1, -1, -1, -1, -1, 338, 339, + 340, 341, -1, -1, -1, -1, -1, -1, -1, -1, + -1, 351, 352, 353, 354, 355, 356, 357, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + 370, 371, 372, 373, 374, -1, -1, -1, -1, -1, + -1, -1, -1, 383, -1, 385, 386, 387, 388, 389, 390, 391, 392, 393, 394, 395, 396, 397, 398, 399, - 400, 401, 402, 403, 404, 405, 406, 407, 408, 3, + 400, 401, 402, 403, 404, 405, 406, 407, 408, 409, + 410, 3, 4, 5, 6, 7, 8, 9, 10, 11, + 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, + 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, + 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, + 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, + 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, + 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, + 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, + 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, + 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, + 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, + 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, + 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, + 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, + 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, + 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, + 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, + 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, + 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, + 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, + 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, + 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, + 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, + 232, 233, 234, 235, 236, 237, 238, 239, 240, 241, + 242, 243, 244, 245, 246, 247, 248, 249, 250, 251, + 252, 253, 254, 255, 256, 257, 258, 259, 260, 261, + 262, 263, 264, 265, 266, 267, 268, 269, 270, 271, + 272, 273, 274, 275, 276, 277, 278, 279, 280, 281, + 282, 283, 284, 285, 286, 287, 288, 289, 290, 291, + 292, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, 319, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, 338, 339, 340, 341, + -1, -1, -1, -1, -1, -1, -1, -1, -1, 351, + 352, 353, 354, 355, 356, 357, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, 370, 371, + 372, 373, 374, -1, -1, -1, -1, -1, -1, -1, + -1, 383, -1, 385, 386, 387, 388, 389, 390, 391, + 392, 393, 394, 395, 396, 397, 398, 399, 400, 401, + 402, 403, 404, 405, 406, 407, 408, 409, 410, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, @@ -2960,19 +2929,60 @@ static const yytype_int16 yycheck[] = 254, 255, 256, 257, 258, 259, 260, 261, 262, 263, 264, 265, 266, 267, 268, 269, 270, 271, 272, 273, 274, 275, 276, 277, 278, 279, 280, 281, 282, 283, - 284, 285, 286, 287, 288, 289, 290, -1, -1, -1, + 284, 285, 286, 287, 288, 289, 290, 291, 292, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, 319, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, 336, 337, 338, 339, -1, -1, -1, -1, - -1, -1, -1, -1, -1, 349, 350, 351, 352, 353, - 354, 355, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, 368, 369, 370, 371, 372, -1, - -1, -1, -1, -1, -1, -1, -1, 381, -1, 383, - 384, 385, 386, 387, 388, 389, 390, 391, 392, 393, + -1, -1, -1, -1, 338, 339, 340, 341, -1, -1, + -1, -1, -1, -1, -1, -1, -1, 351, 352, 353, + 354, 355, 356, 357, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, 370, 371, 372, 373, + 374, -1, -1, -1, -1, -1, -1, -1, -1, 383, + -1, 385, 386, 387, 388, 389, 390, 391, 392, 393, 394, 395, 396, 397, 398, 399, 400, 401, 402, 403, - 404, 405, 406, 407, 408, 4, 5, 6, 7, 8, + 404, 405, 406, 407, 408, 409, 410, 3, 4, 5, + 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, + 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, + 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, + 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, + 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, + 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, + 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, + 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, + 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, + 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, + 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, + 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, + 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, + 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, + 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, + 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, + 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, + 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, + 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, + 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, + 206, 207, 208, 209, 210, 211, 212, 213, 214, 215, + 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, + 226, 227, 228, 229, 230, 231, 232, 233, 234, 235, + 236, 237, 238, 239, 240, 241, 242, 243, 244, 245, + 246, 247, 248, 249, 250, 251, 252, 253, 254, 255, + 256, 257, 258, 259, 260, 261, 262, 263, 264, 265, + 266, 267, 268, 269, 270, 271, 272, 273, 274, 275, + 276, 277, 278, 279, 280, 281, 282, 283, 284, 285, + 286, 287, 288, 289, 290, 291, 292, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, 338, 339, 340, 341, -1, -1, -1, -1, + -1, -1, -1, -1, -1, 351, 352, 353, 354, 355, + 356, 357, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, 370, 371, 372, 373, 374, -1, + -1, -1, -1, -1, -1, -1, -1, 383, -1, 385, + 386, 387, 388, 389, 390, 391, 392, 393, 394, 395, + 396, 397, 398, 399, 400, 401, 402, 403, 404, 405, + 406, 407, 408, 409, 410, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, @@ -3001,172 +3011,17 @@ static const yytype_int16 yycheck[] = 259, 260, 261, 262, 263, 264, 265, 266, 267, 268, 269, 270, 271, 272, 273, 274, 275, 276, 277, 278, 279, 280, 281, 282, 283, 284, 285, 286, 287, 288, - 289, 290, -1, -1, 293, 294, -1, -1, -1, -1, + 289, 290, 291, 292, -1, -1, 295, 296, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, 312, -1, -1, -1, 316, 317, -1, - -1, -1, -1, -1, 323, 324, 325, 326, -1, -1, + -1, -1, -1, -1, -1, 314, -1, -1, -1, 318, + 319, -1, -1, -1, -1, -1, 325, 326, 327, 328, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, 344, 345, 346, 347, 348, - 349, -1, -1, -1, -1, 354, 355, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, 346, 347, 348, + 349, 350, 351, -1, -1, -1, -1, 356, 357, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, 373, 374, 375, 376, 377, 378, - 379, 380, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, 391, 4, 5, 6, 7, 8, 9, 10, - 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, - 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, - 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, - 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, - -1, -1, 53, 54, 55, 56, 57, 58, 59, 60, - 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, - 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, - 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, - 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, - 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, - 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, - 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, - 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, - 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, - 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, - 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, - 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, - 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, - 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, - 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, - 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, - 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, - 231, 232, 233, 234, 235, 236, 237, 238, 239, 240, - 241, 242, 243, 244, 245, 246, 247, 248, 249, 250, - 251, 252, 253, 254, 255, 256, 257, 258, 259, 260, - 261, 262, 263, 264, 265, 266, 267, 268, 269, 270, - 271, 272, 273, 274, 275, 276, 277, 278, 279, 280, - 281, 282, 283, 284, 285, 286, 287, 288, 289, 290, - -1, -1, 293, 294, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, 312, -1, -1, 315, -1, -1, -1, -1, -1, - -1, -1, 323, 324, 325, 326, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, 344, 345, 346, 347, 348, 349, -1, - -1, -1, -1, 354, 355, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, 373, 374, 375, 376, 377, 378, 379, 380, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - 391, 4, 5, 6, 7, 8, 9, 10, 11, 12, - 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, - 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, - 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, - 43, 44, 45, 46, 47, 48, 49, 50, -1, -1, - 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, - 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, - 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, - 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, - 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, - 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, - 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, - 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, - 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, - 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, - 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, - 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, - 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, - 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, - 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, - 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, - 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, - 223, 224, 225, 226, 227, 228, 229, 230, 231, 232, - 233, 234, 235, 236, 237, 238, 239, 240, 241, 242, - 243, 244, 245, 246, 247, 248, 249, 250, 251, 252, - 253, 254, 255, 256, 257, 258, 259, 260, 261, 262, - 263, 264, 265, 266, 267, 268, 269, 270, 271, 272, - 273, 274, 275, 276, 277, 278, 279, 280, 281, 282, - 283, 284, 285, 286, 287, 288, 289, 290, -1, -1, - 293, 294, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, 312, - -1, -1, -1, 316, -1, -1, -1, -1, -1, -1, - 323, 324, 325, 326, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, 344, 345, 346, 347, 348, 349, -1, -1, -1, - -1, 354, 355, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - 373, 374, 375, 376, 377, 378, 379, 380, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, 391, 4, - 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, - 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, - 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, - 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, - 45, 46, 47, 48, 49, 50, -1, -1, 53, 54, - 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, - 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, - 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, - 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, - 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, - 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, - 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, - 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, - 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, - 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, - 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, - 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, - 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, - 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, - 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, - 205, 206, 207, 208, 209, 210, 211, 212, 213, 214, - 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, - 225, 226, 227, 228, 229, 230, 231, 232, 233, 234, - 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, - 245, 246, 247, 248, 249, 250, 251, 252, 253, 254, - 255, 256, 257, 258, 259, 260, 261, 262, 263, 264, - 265, 266, 267, 268, 269, 270, 271, 272, 273, 274, - 275, 276, 277, 278, 279, 280, 281, 282, 283, 284, - 285, 286, 287, 288, 289, 290, -1, -1, 293, 294, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, 312, -1, -1, - 315, -1, -1, -1, -1, -1, -1, -1, 323, 324, - 325, 326, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, 344, - 345, 346, 347, 348, 349, -1, -1, -1, -1, 354, - 355, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, 373, 374, - 375, 376, 377, 378, 379, 380, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, 391, 4, 5, 6, - 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, - 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, - 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, - 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, - 47, 48, 49, 50, -1, -1, 53, 54, 55, 56, - 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, - 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, - 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, - 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, - 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, - 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, - 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, - 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, - 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, - 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, - 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, - 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, - 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, - 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, - 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, - 207, 208, 209, 210, 211, 212, 213, 214, 215, 216, - 217, 218, 219, 220, 221, 222, 223, 224, 225, 226, - 227, 228, 229, 230, 231, 232, 233, 234, 235, 236, - 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, - 247, 248, 249, 250, 251, 252, 253, 254, 255, 256, - 257, 258, 259, 260, 261, 262, 263, 264, 265, 266, - 267, 268, 269, 270, 271, 272, 273, 274, 275, 276, - 277, 278, 279, 280, 281, 282, 283, 284, 285, 286, - 287, 288, 289, 290, -1, -1, 293, 294, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, 312, -1, -1, -1, -1, - -1, -1, -1, -1, -1, 322, 323, 324, 325, 326, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, 344, 345, 346, - 347, 348, 349, -1, -1, -1, -1, 354, 355, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, 373, 374, 375, 376, - 377, 378, 379, 380, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, 391, 4, 5, 6, 7, 8, + -1, -1, -1, -1, -1, -1, 375, 376, 377, 378, + 379, 380, 381, 382, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, 393, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, @@ -3195,65 +3050,221 @@ static const yytype_int16 yycheck[] = 259, 260, 261, 262, 263, 264, 265, 266, 267, 268, 269, 270, 271, 272, 273, 274, 275, 276, 277, 278, 279, 280, 281, 282, 283, 284, 285, 286, 287, 288, - 289, 290, -1, -1, 293, 294, -1, -1, -1, -1, + 289, 290, 291, 292, -1, -1, 295, 296, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, 312, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, 323, 324, 325, 326, -1, -1, + -1, -1, -1, -1, -1, 314, -1, -1, 317, -1, + -1, -1, -1, -1, -1, -1, 325, 326, 327, 328, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, 344, 345, 346, 347, 348, - 349, -1, -1, -1, -1, 354, 355, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, 346, 347, 348, + 349, 350, 351, -1, -1, -1, -1, 356, 357, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, 373, 374, 375, 376, 377, 378, - 379, 380, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, 391, 4, 5, 6, 7, 8, 9, 10, - 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, - 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, - 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, - 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, - -1, -1, 53, 54, 55, 56, 57, 58, 59, 60, - 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, - 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, - 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, - 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, - 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, - 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, - 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, - 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, - 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, - 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, - 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, - 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, - 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, - 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, - 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, - 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, - 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, - 231, 232, 233, 234, 235, 236, 237, 238, 239, 240, - 241, 242, 243, 244, 245, 246, 247, 248, 249, 250, - 251, 252, 253, 254, 255, 256, 257, 258, 259, 260, - 261, 262, 263, 264, 265, 266, 267, 268, 269, 270, - 271, 272, 273, 274, 275, 276, 277, 278, 279, 280, - 281, 282, 283, 284, 285, 286, 287, 288, 289, 290, - -1, -1, 293, 294, -1, 381, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, 395, - -1, 312, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, 323, 324, 325, 326, 412, 413, -1, -1, + -1, -1, -1, -1, -1, -1, 375, 376, 377, 378, + 379, 380, 381, 382, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, 393, 4, 5, 6, 7, 8, + 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, + 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, + 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, + 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, + 49, 50, -1, -1, 53, 54, 55, 56, 57, 58, + 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, + 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, + 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, + 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, + 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, + 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, + 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, + 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, + 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, + 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, + 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, + 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, + 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, + 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, + 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, + 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, + 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, + 229, 230, 231, 232, 233, 234, 235, 236, 237, 238, + 239, 240, 241, 242, 243, 244, 245, 246, 247, 248, + 249, 250, 251, 252, 253, 254, 255, 256, 257, 258, + 259, 260, 261, 262, 263, 264, 265, 266, 267, 268, + 269, 270, 271, 272, 273, 274, 275, 276, 277, 278, + 279, 280, 281, 282, 283, 284, 285, 286, 287, 288, + 289, 290, 291, 292, -1, -1, 295, 296, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, 344, 345, 346, 347, 348, 349, -1, - -1, -1, -1, 354, 355, -1, -1, 443, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, 454, -1, - -1, -1, 373, 374, 375, 376, 377, 378, 379, 380, - -1, -1, -1, -1, -1, -1, -1, 473, -1, -1, - 391, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, 314, -1, -1, -1, 318, + -1, -1, -1, -1, -1, -1, 325, 326, 327, 328, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, 346, 347, 348, + 349, 350, 351, -1, -1, -1, -1, 356, 357, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, 375, 376, 377, 378, + 379, 380, 381, 382, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, 393, 4, 5, 6, 7, 8, + 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, + 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, + 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, + 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, + 49, 50, -1, -1, 53, 54, 55, 56, 57, 58, + 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, + 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, + 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, + 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, + 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, + 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, + 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, + 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, + 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, + 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, + 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, + 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, + 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, + 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, + 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, + 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, + 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, + 229, 230, 231, 232, 233, 234, 235, 236, 237, 238, + 239, 240, 241, 242, 243, 244, 245, 246, 247, 248, + 249, 250, 251, 252, 253, 254, 255, 256, 257, 258, + 259, 260, 261, 262, 263, 264, 265, 266, 267, 268, + 269, 270, 271, 272, 273, 274, 275, 276, 277, 278, + 279, 280, 281, 282, 283, 284, 285, 286, 287, 288, + 289, 290, 291, 292, -1, -1, 295, 296, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, 314, -1, -1, 317, -1, + -1, -1, -1, -1, -1, -1, 325, 326, 327, 328, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, 346, 347, 348, + 349, 350, 351, -1, -1, -1, -1, 356, 357, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, 375, 376, 377, 378, + 379, 380, 381, 382, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, 393, 4, 5, 6, 7, 8, + 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, + 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, + 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, + 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, + 49, 50, -1, -1, 53, 54, 55, 56, 57, 58, + 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, + 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, + 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, + 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, + 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, + 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, + 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, + 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, + 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, + 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, + 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, + 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, + 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, + 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, + 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, + 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, + 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, + 229, 230, 231, 232, 233, 234, 235, 236, 237, 238, + 239, 240, 241, 242, 243, 244, 245, 246, 247, 248, + 249, 250, 251, 252, 253, 254, 255, 256, 257, 258, + 259, 260, 261, 262, 263, 264, 265, 266, 267, 268, + 269, 270, 271, 272, 273, 274, 275, 276, 277, 278, + 279, 280, 281, 282, 283, 284, 285, 286, 287, 288, + 289, 290, 291, 292, -1, -1, 295, 296, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, 314, -1, -1, -1, -1, + -1, -1, -1, -1, -1, 324, 325, 326, 327, 328, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, 346, 347, 348, + 349, 350, 351, -1, -1, -1, -1, 356, 357, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, 375, 376, 377, 378, + 379, 380, 381, 382, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, 393, 4, 5, 6, 7, 8, + 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, + 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, + 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, + 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, + 49, 50, -1, -1, 53, 54, 55, 56, 57, 58, + 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, + 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, + 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, + 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, + 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, + 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, + 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, + 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, + 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, + 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, + 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, + 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, + 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, + 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, + 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, + 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, + 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, + 229, 230, 231, 232, 233, 234, 235, 236, 237, 238, + 239, 240, 241, 242, 243, 244, 245, 246, 247, 248, + 249, 250, 251, 252, 253, 254, 255, 256, 257, 258, + 259, 260, 261, 262, 263, 264, 265, 266, 267, 268, + 269, 270, 271, 272, 273, 274, 275, 276, 277, 278, + 279, 280, 281, 282, 283, 284, 285, 286, 287, 288, + 289, 290, 291, 292, -1, -1, 295, 296, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, 314, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, 325, 326, 327, 328, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, 346, 347, 348, + 349, 350, 351, -1, -1, -1, -1, 356, 357, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, 375, 376, 377, 378, + 379, 380, 381, 382, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, 393, 4, 5, 6, 7, 8, + 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, + 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, + 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, + 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, + 49, 50, -1, -1, 53, 54, 55, 56, 57, 58, + 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, + 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, + 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, + 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, + 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, + 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, + 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, + 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, + 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, + 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, + 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, + 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, + 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, + 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, + 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, + 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, + 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, + 229, 230, 231, 232, 233, 234, 235, 236, 237, 238, + 239, 240, 241, 242, 243, 244, 245, 246, 247, 248, + 249, 250, 251, 252, 253, 254, 255, 256, 257, 258, + 259, 260, 261, 262, 263, 264, 265, 266, 267, 268, + 269, 270, 271, 272, 273, 274, 275, 276, 277, 278, + 279, 280, 281, 282, 283, 284, 285, 286, 287, 288, + 289, 290, 291, 292, -1, -1, 295, 296, -1, 383, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, 397, -1, 314, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, 325, 326, 327, 328, + 414, 415, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, 346, 347, 348, + 349, 350, 351, -1, -1, -1, -1, 356, 357, -1, + -1, 445, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, 456, -1, -1, -1, 375, 376, 377, 378, + 379, 380, 381, 382, -1, -1, -1, -1, -1, -1, + -1, 475, -1, -1, 393, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, 540, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, 553, 554, 555, - 556, 557, 558, 559, 560, 561, 562, 563, 564, 565, - 566, 567, 568, 569, 570, 571, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, 542, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, 555, 556, 557, 558, 559, 560, 561, 562, 563, + 564, 565, 566, 567, 568, 569, 570, 571, 572, 573, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, @@ -3263,7 +3274,7 @@ static const yytype_int16 yycheck[] = -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, 671 + -1, -1, -1, -1, -1, -1, -1, -1, -1, 673 }; /* YYSTOS[STATE-NUM] -- The (internal number of the) accessing @@ -3298,115 +3309,115 @@ static const yytype_uint16 yystos[] = 252, 253, 254, 255, 256, 257, 258, 259, 260, 261, 262, 263, 264, 265, 266, 267, 268, 269, 270, 271, 272, 273, 274, 275, 276, 277, 278, 279, 280, 281, - 282, 283, 284, 285, 286, 287, 288, 289, 290, 322, - 336, 337, 338, 339, 340, 349, 350, 351, 352, 353, - 354, 355, 368, 369, 370, 371, 372, 381, 383, 384, + 282, 283, 284, 285, 286, 287, 288, 289, 290, 291, + 292, 324, 338, 339, 340, 341, 342, 351, 352, 353, + 354, 355, 356, 357, 370, 371, 372, 373, 374, 383, 385, 386, 387, 388, 389, 390, 391, 392, 393, 394, 395, 396, 397, 398, 399, 400, 401, 402, 403, 404, - 405, 406, 407, 408, 440, 441, 444, 445, 446, 447, - 451, 452, 453, 454, 455, 456, 459, 460, 461, 462, - 463, 465, 470, 471, 472, 513, 514, 515, 471, 316, - 348, 312, 312, 322, 348, 322, 516, 313, 319, 448, - 449, 450, 460, 465, 319, 322, 348, 322, 348, 461, - 465, 330, 467, 468, 0, 514, 465, 474, 316, 348, - 369, 457, 458, 348, 464, 314, 322, 466, 316, 492, - 449, 448, 450, 348, 348, 312, 321, 466, 316, 319, - 322, 443, 293, 294, 312, 323, 324, 325, 326, 344, - 345, 346, 347, 348, 373, 374, 375, 376, 377, 378, - 379, 380, 410, 411, 412, 414, 415, 416, 417, 418, - 419, 420, 421, 422, 463, 465, 469, 466, 322, 460, - 465, 475, 476, 473, 321, 313, 319, 313, 319, 315, - 421, 423, 424, 425, 426, 427, 428, 429, 430, 431, - 432, 433, 434, 314, 322, 314, 316, 317, 322, 356, - 357, 358, 359, 361, 362, 363, 364, 365, 366, 367, - 382, 421, 434, 436, 438, 440, 444, 463, 465, 481, - 482, 483, 484, 485, 493, 494, 495, 496, 499, 500, - 503, 504, 505, 512, 517, 466, 321, 466, 316, 436, - 479, 321, 442, 348, 319, 322, 421, 421, 438, 293, - 294, 314, 318, 313, 313, 319, 355, 436, 312, 421, - 319, 331, 465, 348, 477, 478, 317, 476, 475, 434, - 439, 458, 348, 327, 328, 329, 324, 326, 291, 292, - 295, 296, 330, 331, 297, 298, 334, 333, 332, 299, - 301, 300, 335, 315, 315, 434, 314, 317, 486, 312, - 322, 322, 507, 312, 312, 322, 322, 438, 312, 438, - 320, 322, 302, 303, 304, 305, 306, 307, 308, 309, - 310, 311, 321, 437, 319, 322, 317, 482, 496, 500, - 505, 479, 321, 479, 480, 479, 475, 348, 313, 413, - 438, 348, 436, 421, 477, 466, 319, 322, 317, 421, - 421, 421, 423, 423, 424, 424, 425, 425, 425, 425, - 426, 426, 427, 428, 429, 430, 431, 432, 435, 315, - 348, 518, 519, 493, 506, 482, 508, 438, 322, 438, - 320, 436, 436, 479, 317, 319, 317, 315, 322, 478, - 438, 312, 315, 319, 487, 438, 453, 460, 498, 356, - 481, 494, 509, 313, 313, 317, 479, 320, 439, 315, - 519, 317, 348, 313, 312, 498, 510, 511, 489, 490, - 491, 497, 501, 436, 313, 321, 483, 488, 492, 438, - 322, 313, 360, 485, 483, 316, 479, 313, 438, 488, - 489, 493, 502, 322, 317 + 405, 406, 407, 408, 409, 410, 442, 443, 446, 447, + 448, 449, 453, 454, 455, 456, 457, 458, 461, 462, + 463, 464, 465, 467, 472, 473, 474, 515, 516, 517, + 473, 318, 350, 314, 314, 324, 350, 324, 518, 315, + 321, 450, 451, 452, 462, 467, 321, 324, 350, 324, + 350, 463, 467, 332, 469, 470, 0, 516, 467, 476, + 318, 350, 371, 459, 460, 350, 466, 316, 324, 468, + 318, 494, 451, 450, 452, 350, 350, 314, 323, 468, + 318, 321, 324, 445, 295, 296, 314, 325, 326, 327, + 328, 346, 347, 348, 349, 350, 375, 376, 377, 378, + 379, 380, 381, 382, 412, 413, 414, 416, 417, 418, + 419, 420, 421, 422, 423, 424, 465, 467, 471, 468, + 324, 462, 467, 477, 478, 475, 323, 315, 321, 315, + 321, 317, 423, 425, 426, 427, 428, 429, 430, 431, + 432, 433, 434, 435, 436, 316, 324, 316, 318, 319, + 324, 358, 359, 360, 361, 363, 364, 365, 366, 367, + 368, 369, 384, 423, 436, 438, 440, 442, 446, 465, + 467, 483, 484, 485, 486, 487, 495, 496, 497, 498, + 501, 502, 505, 506, 507, 514, 519, 468, 323, 468, + 318, 438, 481, 323, 444, 350, 321, 324, 423, 423, + 440, 295, 296, 316, 320, 315, 315, 321, 357, 438, + 314, 423, 321, 333, 467, 350, 479, 480, 319, 478, + 477, 436, 441, 460, 350, 329, 330, 331, 326, 328, + 293, 294, 297, 298, 332, 333, 299, 300, 336, 335, + 334, 301, 303, 302, 337, 317, 317, 436, 316, 319, + 488, 314, 324, 324, 509, 314, 314, 324, 324, 440, + 314, 440, 322, 324, 304, 305, 306, 307, 308, 309, + 310, 311, 312, 313, 323, 439, 321, 324, 319, 484, + 498, 502, 507, 481, 323, 481, 482, 481, 477, 350, + 315, 415, 440, 350, 438, 423, 479, 468, 321, 324, + 319, 423, 423, 423, 425, 425, 426, 426, 427, 427, + 427, 427, 428, 428, 429, 430, 431, 432, 433, 434, + 437, 317, 350, 520, 521, 495, 508, 484, 510, 440, + 324, 440, 322, 438, 438, 481, 319, 321, 319, 317, + 324, 480, 440, 314, 317, 321, 489, 440, 455, 462, + 500, 358, 483, 496, 511, 315, 315, 319, 481, 322, + 441, 317, 521, 319, 350, 315, 314, 500, 512, 513, + 491, 492, 493, 499, 503, 438, 315, 323, 485, 490, + 494, 440, 324, 315, 362, 487, 485, 318, 481, 315, + 440, 490, 491, 495, 504, 324, 319 }; /* YYR1[YYN] -- Symbol number of symbol that rule YYN derives. */ static const yytype_uint16 yyr1[] = { - 0, 409, 410, 411, 411, 411, 411, 411, 411, 411, - 411, 411, 411, 411, 411, 411, 411, 412, 412, 412, - 412, 412, 412, 413, 414, 415, 416, 416, 417, 417, - 418, 418, 419, 420, 420, 420, 421, 421, 421, 421, - 422, 422, 422, 422, 423, 423, 423, 423, 424, 424, - 424, 425, 425, 425, 426, 426, 426, 426, 426, 427, - 427, 427, 428, 428, 429, 429, 430, 430, 431, 431, - 432, 432, 433, 433, 434, 435, 434, 436, 436, 437, - 437, 437, 437, 437, 437, 437, 437, 437, 437, 437, - 438, 438, 439, 440, 440, 440, 440, 440, 440, 440, - 440, 440, 442, 441, 443, 443, 444, 445, 445, 446, - 446, 447, 448, 448, 449, 449, 449, 449, 450, 451, - 451, 451, 451, 451, 452, 452, 452, 452, 452, 453, - 453, 454, 455, 455, 455, 455, 455, 455, 455, 455, - 456, 457, 457, 458, 458, 458, 459, 460, 460, 461, - 461, 461, 461, 461, 461, 461, 462, 462, 462, 462, - 462, 462, 462, 462, 462, 462, 462, 462, 462, 462, - 462, 462, 462, 462, 462, 462, 462, 462, 462, 462, - 462, 462, 462, 462, 462, 463, 464, 464, 465, 465, - 466, 466, 466, 466, 467, 467, 468, 469, 469, 470, - 470, 470, 470, 470, 470, 470, 470, 470, 470, 470, - 470, 470, 470, 470, 470, 470, 470, 470, 470, 470, - 470, 470, 470, 470, 470, 470, 470, 470, 470, 470, - 470, 470, 470, 470, 470, 470, 470, 470, 470, 470, - 470, 470, 470, 470, 470, 470, 470, 470, 470, 470, - 470, 470, 470, 470, 470, 470, 470, 470, 470, 470, - 470, 470, 470, 470, 470, 470, 470, 470, 470, 470, - 470, 470, 470, 470, 470, 470, 470, 470, 470, 470, - 470, 470, 470, 470, 470, 470, 470, 470, 470, 470, - 470, 470, 470, 470, 470, 470, 470, 470, 470, 470, - 470, 470, 470, 470, 470, 470, 470, 470, 470, 470, - 470, 470, 470, 470, 470, 470, 470, 470, 470, 470, - 470, 470, 470, 470, 470, 470, 470, 470, 470, 470, - 470, 470, 470, 470, 470, 470, 470, 470, 470, 470, - 470, 470, 470, 470, 470, 470, 470, 470, 470, 470, - 470, 470, 470, 470, 470, 470, 470, 470, 470, 470, - 470, 470, 470, 470, 470, 470, 470, 470, 470, 470, - 470, 470, 470, 470, 470, 470, 470, 470, 470, 470, - 470, 470, 470, 470, 470, 470, 470, 470, 470, 470, - 470, 470, 470, 470, 470, 470, 470, 470, 470, 470, - 470, 470, 470, 470, 470, 470, 470, 470, 470, 470, - 470, 470, 470, 470, 470, 470, 470, 470, 470, 470, - 470, 470, 470, 470, 470, 470, 470, 470, 470, 470, - 470, 470, 470, 470, 470, 470, 470, 470, 470, 470, - 470, 470, 470, 470, 470, 470, 470, 470, 470, 470, - 470, 470, 470, 470, 470, 470, 470, 470, 470, 470, - 470, 470, 470, 470, 470, 470, 470, 470, 470, 470, - 470, 470, 470, 470, 470, 470, 470, 470, 470, 470, - 470, 470, 470, 470, 470, 470, 470, 471, 471, 471, - 473, 472, 474, 472, 475, 475, 476, 476, 477, 477, - 478, 478, 479, 479, 479, 480, 480, 481, 482, 482, - 483, 483, 483, 483, 483, 483, 483, 483, 484, 485, - 486, 487, 485, 488, 488, 490, 489, 491, 489, 492, - 492, 493, 493, 494, 494, 495, 495, 496, 497, 497, - 498, 498, 499, 499, 501, 500, 502, 502, 503, 503, - 504, 504, 506, 505, 507, 505, 508, 505, 509, 509, - 510, 510, 511, 511, 512, 512, 512, 512, 512, 513, - 513, 514, 514, 514, 516, 515, 517, 518, 518, 519, - 519 + 0, 411, 412, 413, 413, 413, 413, 413, 413, 413, + 413, 413, 413, 413, 413, 413, 413, 414, 414, 414, + 414, 414, 414, 415, 416, 417, 418, 418, 419, 419, + 420, 420, 421, 422, 422, 422, 423, 423, 423, 423, + 424, 424, 424, 424, 425, 425, 425, 425, 426, 426, + 426, 427, 427, 427, 428, 428, 428, 428, 428, 429, + 429, 429, 430, 430, 431, 431, 432, 432, 433, 433, + 434, 434, 435, 435, 436, 437, 436, 438, 438, 439, + 439, 439, 439, 439, 439, 439, 439, 439, 439, 439, + 440, 440, 441, 442, 442, 442, 442, 442, 442, 442, + 442, 442, 444, 443, 445, 445, 446, 447, 447, 448, + 448, 449, 450, 450, 451, 451, 451, 451, 452, 453, + 453, 453, 453, 453, 454, 454, 454, 454, 454, 455, + 455, 456, 457, 457, 457, 457, 457, 457, 457, 457, + 458, 459, 459, 460, 460, 460, 461, 462, 462, 463, + 463, 463, 463, 463, 463, 463, 464, 464, 464, 464, + 464, 464, 464, 464, 464, 464, 464, 464, 464, 464, + 464, 464, 464, 464, 464, 464, 464, 464, 464, 464, + 464, 464, 464, 464, 464, 465, 466, 466, 467, 467, + 468, 468, 468, 468, 469, 469, 470, 471, 471, 472, + 472, 472, 472, 472, 472, 472, 472, 472, 472, 472, + 472, 472, 472, 472, 472, 472, 472, 472, 472, 472, + 472, 472, 472, 472, 472, 472, 472, 472, 472, 472, + 472, 472, 472, 472, 472, 472, 472, 472, 472, 472, + 472, 472, 472, 472, 472, 472, 472, 472, 472, 472, + 472, 472, 472, 472, 472, 472, 472, 472, 472, 472, + 472, 472, 472, 472, 472, 472, 472, 472, 472, 472, + 472, 472, 472, 472, 472, 472, 472, 472, 472, 472, + 472, 472, 472, 472, 472, 472, 472, 472, 472, 472, + 472, 472, 472, 472, 472, 472, 472, 472, 472, 472, + 472, 472, 472, 472, 472, 472, 472, 472, 472, 472, + 472, 472, 472, 472, 472, 472, 472, 472, 472, 472, + 472, 472, 472, 472, 472, 472, 472, 472, 472, 472, + 472, 472, 472, 472, 472, 472, 472, 472, 472, 472, + 472, 472, 472, 472, 472, 472, 472, 472, 472, 472, + 472, 472, 472, 472, 472, 472, 472, 472, 472, 472, + 472, 472, 472, 472, 472, 472, 472, 472, 472, 472, + 472, 472, 472, 472, 472, 472, 472, 472, 472, 472, + 472, 472, 472, 472, 472, 472, 472, 472, 472, 472, + 472, 472, 472, 472, 472, 472, 472, 472, 472, 472, + 472, 472, 472, 472, 472, 472, 472, 472, 472, 472, + 472, 472, 472, 472, 472, 472, 472, 472, 472, 472, + 472, 472, 472, 472, 472, 472, 472, 472, 472, 472, + 472, 472, 472, 472, 472, 472, 472, 472, 472, 472, + 472, 472, 472, 472, 472, 472, 472, 472, 472, 472, + 472, 472, 472, 472, 472, 472, 472, 472, 472, 472, + 472, 472, 472, 472, 472, 472, 472, 472, 472, 472, + 472, 472, 472, 472, 472, 472, 472, 472, 472, 472, + 472, 472, 472, 472, 472, 472, 472, 472, 472, 473, + 473, 473, 475, 474, 476, 474, 477, 477, 478, 478, + 479, 479, 480, 480, 481, 481, 481, 482, 482, 483, + 484, 484, 485, 485, 485, 485, 485, 485, 485, 485, + 486, 487, 488, 489, 487, 490, 490, 492, 491, 493, + 491, 494, 494, 495, 495, 496, 496, 497, 497, 498, + 499, 499, 500, 500, 501, 501, 503, 502, 504, 504, + 505, 505, 506, 506, 508, 507, 509, 507, 510, 507, + 511, 511, 512, 512, 513, 513, 514, 514, 514, 514, + 514, 515, 515, 516, 516, 516, 518, 517, 519, 520, + 520, 521, 521 }; /* YYR2[YYN] -- Number of symbols on the right hand side of rule YYN. */ @@ -3461,16 +3472,16 @@ static const yytype_uint8 yyr2[] = 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, - 0, 6, 0, 5, 1, 2, 3, 4, 1, 3, - 1, 2, 1, 3, 4, 1, 3, 1, 1, 1, - 1, 1, 1, 1, 1, 1, 1, 1, 2, 2, - 0, 0, 5, 1, 1, 0, 2, 0, 2, 2, - 3, 1, 2, 1, 2, 1, 2, 5, 3, 1, - 1, 4, 1, 2, 0, 8, 0, 1, 3, 2, - 1, 2, 0, 6, 0, 8, 0, 7, 1, 1, - 1, 0, 2, 3, 2, 2, 2, 3, 2, 1, - 2, 1, 1, 1, 0, 3, 5, 1, 3, 1, - 4 + 1, 1, 0, 6, 0, 5, 1, 2, 3, 4, + 1, 3, 1, 2, 1, 3, 4, 1, 3, 1, + 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, + 2, 2, 0, 0, 5, 1, 1, 0, 2, 0, + 2, 2, 3, 1, 2, 1, 2, 1, 2, 5, + 3, 1, 1, 4, 1, 2, 0, 8, 0, 1, + 3, 2, 1, 2, 0, 6, 0, 8, 0, 7, + 1, 1, 1, 0, 2, 3, 2, 2, 2, 3, + 2, 1, 2, 1, 1, 1, 0, 3, 5, 1, + 3, 1, 4 }; @@ -4157,7 +4168,7 @@ yyreduce: { (yyval.interm.intermTypedNode) = parseContext.handleVariable((yyvsp[0].lex).loc, (yyvsp[0].lex).symbol, (yyvsp[0].lex).string); } -#line 4161 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */ +#line 4172 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */ break; case 3: @@ -4165,7 +4176,7 @@ yyreduce: { (yyval.interm.intermTypedNode) = (yyvsp[0].interm.intermTypedNode); } -#line 4169 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */ +#line 4180 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */ break; case 4: @@ -4175,7 +4186,7 @@ yyreduce: if ((yyval.interm.intermTypedNode)->getAsConstantUnion()) (yyval.interm.intermTypedNode)->getAsConstantUnion()->setExpression(); } -#line 4179 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */ +#line 4190 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */ break; case 5: @@ -4183,7 +4194,7 @@ yyreduce: { (yyval.interm.intermTypedNode) = parseContext.intermediate.addConstantUnion((yyvsp[0].lex).d, EbtFloat, (yyvsp[0].lex).loc, true); } -#line 4187 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */ +#line 4198 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */ break; case 6: @@ -4191,7 +4202,7 @@ yyreduce: { (yyval.interm.intermTypedNode) = parseContext.intermediate.addConstantUnion((yyvsp[0].lex).i, (yyvsp[0].lex).loc, true); } -#line 4195 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */ +#line 4206 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */ break; case 7: @@ -4200,7 +4211,7 @@ yyreduce: parseContext.fullIntegerCheck((yyvsp[0].lex).loc, "unsigned literal"); (yyval.interm.intermTypedNode) = parseContext.intermediate.addConstantUnion((yyvsp[0].lex).u, (yyvsp[0].lex).loc, true); } -#line 4204 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */ +#line 4215 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */ break; case 8: @@ -4208,7 +4219,7 @@ yyreduce: { (yyval.interm.intermTypedNode) = parseContext.intermediate.addConstantUnion((yyvsp[0].lex).b, (yyvsp[0].lex).loc, true); } -#line 4212 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */ +#line 4223 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */ break; case 9: @@ -4217,7 +4228,7 @@ yyreduce: parseContext.explicitInt32Check((yyvsp[0].lex).loc, "32-bit signed literal"); (yyval.interm.intermTypedNode) = parseContext.intermediate.addConstantUnion((yyvsp[0].lex).i, (yyvsp[0].lex).loc, true); } -#line 4221 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */ +#line 4232 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */ break; case 10: @@ -4226,7 +4237,7 @@ yyreduce: parseContext.explicitInt32Check((yyvsp[0].lex).loc, "32-bit signed literal"); (yyval.interm.intermTypedNode) = parseContext.intermediate.addConstantUnion((yyvsp[0].lex).u, (yyvsp[0].lex).loc, true); } -#line 4230 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */ +#line 4241 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */ break; case 11: @@ -4235,7 +4246,7 @@ yyreduce: parseContext.int64Check((yyvsp[0].lex).loc, "64-bit integer literal"); (yyval.interm.intermTypedNode) = parseContext.intermediate.addConstantUnion((yyvsp[0].lex).i64, (yyvsp[0].lex).loc, true); } -#line 4239 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */ +#line 4250 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */ break; case 12: @@ -4244,7 +4255,7 @@ yyreduce: parseContext.int64Check((yyvsp[0].lex).loc, "64-bit unsigned integer literal"); (yyval.interm.intermTypedNode) = parseContext.intermediate.addConstantUnion((yyvsp[0].lex).u64, (yyvsp[0].lex).loc, true); } -#line 4248 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */ +#line 4259 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */ break; case 13: @@ -4253,7 +4264,7 @@ yyreduce: parseContext.explicitInt16Check((yyvsp[0].lex).loc, "16-bit integer literal"); (yyval.interm.intermTypedNode) = parseContext.intermediate.addConstantUnion((short)(yyvsp[0].lex).i, (yyvsp[0].lex).loc, true); } -#line 4257 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */ +#line 4268 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */ break; case 14: @@ -4262,7 +4273,7 @@ yyreduce: parseContext.explicitInt16Check((yyvsp[0].lex).loc, "16-bit unsigned integer literal"); (yyval.interm.intermTypedNode) = parseContext.intermediate.addConstantUnion((unsigned short)(yyvsp[0].lex).u, (yyvsp[0].lex).loc, true); } -#line 4266 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */ +#line 4277 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */ break; case 15: @@ -4271,7 +4282,7 @@ yyreduce: parseContext.doubleCheck((yyvsp[0].lex).loc, "double literal"); (yyval.interm.intermTypedNode) = parseContext.intermediate.addConstantUnion((yyvsp[0].lex).d, EbtDouble, (yyvsp[0].lex).loc, true); } -#line 4275 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */ +#line 4286 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */ break; case 16: @@ -4280,7 +4291,7 @@ yyreduce: parseContext.float16Check((yyvsp[0].lex).loc, "half float literal"); (yyval.interm.intermTypedNode) = parseContext.intermediate.addConstantUnion((yyvsp[0].lex).d, EbtFloat16, (yyvsp[0].lex).loc, true); } -#line 4284 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */ +#line 4295 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */ break; case 17: @@ -4288,7 +4299,7 @@ yyreduce: { (yyval.interm.intermTypedNode) = (yyvsp[0].interm.intermTypedNode); } -#line 4292 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */ +#line 4303 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */ break; case 18: @@ -4296,7 +4307,7 @@ yyreduce: { (yyval.interm.intermTypedNode) = parseContext.handleBracketDereference((yyvsp[-2].lex).loc, (yyvsp[-3].interm.intermTypedNode), (yyvsp[-1].interm.intermTypedNode)); } -#line 4300 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */ +#line 4311 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */ break; case 19: @@ -4304,7 +4315,7 @@ yyreduce: { (yyval.interm.intermTypedNode) = (yyvsp[0].interm.intermTypedNode); } -#line 4308 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */ +#line 4319 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */ break; case 20: @@ -4312,7 +4323,7 @@ yyreduce: { (yyval.interm.intermTypedNode) = parseContext.handleDotDereference((yyvsp[0].lex).loc, (yyvsp[-2].interm.intermTypedNode), *(yyvsp[0].lex).string); } -#line 4316 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */ +#line 4327 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */ break; case 21: @@ -4322,7 +4333,7 @@ yyreduce: parseContext.lValueErrorCheck((yyvsp[0].lex).loc, "++", (yyvsp[-1].interm.intermTypedNode)); (yyval.interm.intermTypedNode) = parseContext.handleUnaryMath((yyvsp[0].lex).loc, "++", EOpPostIncrement, (yyvsp[-1].interm.intermTypedNode)); } -#line 4326 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */ +#line 4337 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */ break; case 22: @@ -4332,7 +4343,7 @@ yyreduce: parseContext.lValueErrorCheck((yyvsp[0].lex).loc, "--", (yyvsp[-1].interm.intermTypedNode)); (yyval.interm.intermTypedNode) = parseContext.handleUnaryMath((yyvsp[0].lex).loc, "--", EOpPostDecrement, (yyvsp[-1].interm.intermTypedNode)); } -#line 4336 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */ +#line 4347 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */ break; case 23: @@ -4341,7 +4352,7 @@ yyreduce: parseContext.integerCheck((yyvsp[0].interm.intermTypedNode), "[]"); (yyval.interm.intermTypedNode) = (yyvsp[0].interm.intermTypedNode); } -#line 4345 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */ +#line 4356 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */ break; case 24: @@ -4350,7 +4361,7 @@ yyreduce: (yyval.interm.intermTypedNode) = parseContext.handleFunctionCall((yyvsp[0].interm).loc, (yyvsp[0].interm).function, (yyvsp[0].interm).intermNode); delete (yyvsp[0].interm).function; } -#line 4354 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */ +#line 4365 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */ break; case 25: @@ -4358,7 +4369,7 @@ yyreduce: { (yyval.interm) = (yyvsp[0].interm); } -#line 4362 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */ +#line 4373 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */ break; case 26: @@ -4367,7 +4378,7 @@ yyreduce: (yyval.interm) = (yyvsp[-1].interm); (yyval.interm).loc = (yyvsp[0].lex).loc; } -#line 4371 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */ +#line 4382 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */ break; case 27: @@ -4376,7 +4387,7 @@ yyreduce: (yyval.interm) = (yyvsp[-1].interm); (yyval.interm).loc = (yyvsp[0].lex).loc; } -#line 4380 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */ +#line 4391 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */ break; case 28: @@ -4384,7 +4395,7 @@ yyreduce: { (yyval.interm) = (yyvsp[-1].interm); } -#line 4388 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */ +#line 4399 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */ break; case 29: @@ -4392,7 +4403,7 @@ yyreduce: { (yyval.interm) = (yyvsp[0].interm); } -#line 4396 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */ +#line 4407 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */ break; case 30: @@ -4404,7 +4415,7 @@ yyreduce: (yyval.interm).function = (yyvsp[-1].interm).function; (yyval.interm).intermNode = (yyvsp[0].interm.intermTypedNode); } -#line 4408 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */ +#line 4419 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */ break; case 31: @@ -4416,7 +4427,7 @@ yyreduce: (yyval.interm).function = (yyvsp[-2].interm).function; (yyval.interm).intermNode = parseContext.intermediate.growAggregate((yyvsp[-2].interm).intermNode, (yyvsp[0].interm.intermTypedNode), (yyvsp[-1].lex).loc); } -#line 4420 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */ +#line 4431 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */ break; case 32: @@ -4424,7 +4435,7 @@ yyreduce: { (yyval.interm) = (yyvsp[-1].interm); } -#line 4428 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */ +#line 4439 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */ break; case 33: @@ -4434,7 +4445,7 @@ yyreduce: (yyval.interm).intermNode = 0; (yyval.interm).function = parseContext.handleConstructorCall((yyvsp[0].interm.type).loc, (yyvsp[0].interm.type)); } -#line 4438 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */ +#line 4449 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */ break; case 34: @@ -4466,7 +4477,7 @@ yyreduce: (yyval.interm).function = new TFunction(empty, TType(EbtVoid), EOpNull); } } -#line 4470 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */ +#line 4481 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */ break; case 35: @@ -4476,7 +4487,7 @@ yyreduce: (yyval.interm).intermNode = 0; (yyval.interm).function = parseContext.handleConstructorCall((yyvsp[0].interm.type).loc, (yyvsp[0].interm.type)); } -#line 4480 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */ +#line 4491 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */ break; case 36: @@ -4487,7 +4498,7 @@ yyreduce: if (TIntermMethod* method = (yyvsp[0].interm.intermTypedNode)->getAsMethodNode()) parseContext.error((yyvsp[0].interm.intermTypedNode)->getLoc(), "incomplete method syntax", method->getMethodName().c_str(), ""); } -#line 4491 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */ +#line 4502 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */ break; case 37: @@ -4496,7 +4507,7 @@ yyreduce: parseContext.lValueErrorCheck((yyvsp[-1].lex).loc, "++", (yyvsp[0].interm.intermTypedNode)); (yyval.interm.intermTypedNode) = parseContext.handleUnaryMath((yyvsp[-1].lex).loc, "++", EOpPreIncrement, (yyvsp[0].interm.intermTypedNode)); } -#line 4500 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */ +#line 4511 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */ break; case 38: @@ -4505,7 +4516,7 @@ yyreduce: parseContext.lValueErrorCheck((yyvsp[-1].lex).loc, "--", (yyvsp[0].interm.intermTypedNode)); (yyval.interm.intermTypedNode) = parseContext.handleUnaryMath((yyvsp[-1].lex).loc, "--", EOpPreDecrement, (yyvsp[0].interm.intermTypedNode)); } -#line 4509 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */ +#line 4520 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */ break; case 39: @@ -4526,38 +4537,38 @@ yyreduce: (yyval.interm.intermTypedNode)->getAsConstantUnion()->setExpression(); } } -#line 4530 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */ +#line 4541 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */ break; case 40: #line 582 "MachineIndependent/glslang.y" /* yacc.c:1646 */ { (yyval.interm).loc = (yyvsp[0].lex).loc; (yyval.interm).op = EOpNull; } -#line 4536 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */ +#line 4547 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */ break; case 41: #line 583 "MachineIndependent/glslang.y" /* yacc.c:1646 */ { (yyval.interm).loc = (yyvsp[0].lex).loc; (yyval.interm).op = EOpNegative; } -#line 4542 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */ +#line 4553 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */ break; case 42: #line 584 "MachineIndependent/glslang.y" /* yacc.c:1646 */ { (yyval.interm).loc = (yyvsp[0].lex).loc; (yyval.interm).op = EOpLogicalNot; } -#line 4548 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */ +#line 4559 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */ break; case 43: #line 585 "MachineIndependent/glslang.y" /* yacc.c:1646 */ { (yyval.interm).loc = (yyvsp[0].lex).loc; (yyval.interm).op = EOpBitwiseNot; parseContext.fullIntegerCheck((yyvsp[0].lex).loc, "bitwise not"); } -#line 4555 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */ +#line 4566 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */ break; case 44: #line 591 "MachineIndependent/glslang.y" /* yacc.c:1646 */ { (yyval.interm.intermTypedNode) = (yyvsp[0].interm.intermTypedNode); } -#line 4561 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */ +#line 4572 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */ break; case 45: @@ -4567,7 +4578,7 @@ yyreduce: if ((yyval.interm.intermTypedNode) == 0) (yyval.interm.intermTypedNode) = (yyvsp[-2].interm.intermTypedNode); } -#line 4571 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */ +#line 4582 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */ break; case 46: @@ -4577,7 +4588,7 @@ yyreduce: if ((yyval.interm.intermTypedNode) == 0) (yyval.interm.intermTypedNode) = (yyvsp[-2].interm.intermTypedNode); } -#line 4581 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */ +#line 4592 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */ break; case 47: @@ -4588,13 +4599,13 @@ yyreduce: if ((yyval.interm.intermTypedNode) == 0) (yyval.interm.intermTypedNode) = (yyvsp[-2].interm.intermTypedNode); } -#line 4592 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */ +#line 4603 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */ break; case 48: #line 611 "MachineIndependent/glslang.y" /* yacc.c:1646 */ { (yyval.interm.intermTypedNode) = (yyvsp[0].interm.intermTypedNode); } -#line 4598 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */ +#line 4609 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */ break; case 49: @@ -4604,7 +4615,7 @@ yyreduce: if ((yyval.interm.intermTypedNode) == 0) (yyval.interm.intermTypedNode) = (yyvsp[-2].interm.intermTypedNode); } -#line 4608 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */ +#line 4619 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */ break; case 50: @@ -4614,13 +4625,13 @@ yyreduce: if ((yyval.interm.intermTypedNode) == 0) (yyval.interm.intermTypedNode) = (yyvsp[-2].interm.intermTypedNode); } -#line 4618 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */ +#line 4629 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */ break; case 51: #line 625 "MachineIndependent/glslang.y" /* yacc.c:1646 */ { (yyval.interm.intermTypedNode) = (yyvsp[0].interm.intermTypedNode); } -#line 4624 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */ +#line 4635 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */ break; case 52: @@ -4631,7 +4642,7 @@ yyreduce: if ((yyval.interm.intermTypedNode) == 0) (yyval.interm.intermTypedNode) = (yyvsp[-2].interm.intermTypedNode); } -#line 4635 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */ +#line 4646 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */ break; case 53: @@ -4642,13 +4653,13 @@ yyreduce: if ((yyval.interm.intermTypedNode) == 0) (yyval.interm.intermTypedNode) = (yyvsp[-2].interm.intermTypedNode); } -#line 4646 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */ +#line 4657 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */ break; case 54: #line 641 "MachineIndependent/glslang.y" /* yacc.c:1646 */ { (yyval.interm.intermTypedNode) = (yyvsp[0].interm.intermTypedNode); } -#line 4652 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */ +#line 4663 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */ break; case 55: @@ -4658,7 +4669,7 @@ yyreduce: if ((yyval.interm.intermTypedNode) == 0) (yyval.interm.intermTypedNode) = parseContext.intermediate.addConstantUnion(false, (yyvsp[-1].lex).loc); } -#line 4662 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */ +#line 4673 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */ break; case 56: @@ -4668,7 +4679,7 @@ yyreduce: if ((yyval.interm.intermTypedNode) == 0) (yyval.interm.intermTypedNode) = parseContext.intermediate.addConstantUnion(false, (yyvsp[-1].lex).loc); } -#line 4672 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */ +#line 4683 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */ break; case 57: @@ -4678,7 +4689,7 @@ yyreduce: if ((yyval.interm.intermTypedNode) == 0) (yyval.interm.intermTypedNode) = parseContext.intermediate.addConstantUnion(false, (yyvsp[-1].lex).loc); } -#line 4682 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */ +#line 4693 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */ break; case 58: @@ -4688,13 +4699,13 @@ yyreduce: if ((yyval.interm.intermTypedNode) == 0) (yyval.interm.intermTypedNode) = parseContext.intermediate.addConstantUnion(false, (yyvsp[-1].lex).loc); } -#line 4692 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */ +#line 4703 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */ break; case 59: #line 665 "MachineIndependent/glslang.y" /* yacc.c:1646 */ { (yyval.interm.intermTypedNode) = (yyvsp[0].interm.intermTypedNode); } -#line 4698 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */ +#line 4709 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */ break; case 60: @@ -4708,7 +4719,7 @@ yyreduce: if ((yyval.interm.intermTypedNode) == 0) (yyval.interm.intermTypedNode) = parseContext.intermediate.addConstantUnion(false, (yyvsp[-1].lex).loc); } -#line 4712 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */ +#line 4723 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */ break; case 61: @@ -4722,13 +4733,13 @@ yyreduce: if ((yyval.interm.intermTypedNode) == 0) (yyval.interm.intermTypedNode) = parseContext.intermediate.addConstantUnion(false, (yyvsp[-1].lex).loc); } -#line 4726 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */ +#line 4737 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */ break; case 62: #line 687 "MachineIndependent/glslang.y" /* yacc.c:1646 */ { (yyval.interm.intermTypedNode) = (yyvsp[0].interm.intermTypedNode); } -#line 4732 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */ +#line 4743 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */ break; case 63: @@ -4739,13 +4750,13 @@ yyreduce: if ((yyval.interm.intermTypedNode) == 0) (yyval.interm.intermTypedNode) = (yyvsp[-2].interm.intermTypedNode); } -#line 4743 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */ +#line 4754 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */ break; case 64: #line 697 "MachineIndependent/glslang.y" /* yacc.c:1646 */ { (yyval.interm.intermTypedNode) = (yyvsp[0].interm.intermTypedNode); } -#line 4749 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */ +#line 4760 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */ break; case 65: @@ -4756,13 +4767,13 @@ yyreduce: if ((yyval.interm.intermTypedNode) == 0) (yyval.interm.intermTypedNode) = (yyvsp[-2].interm.intermTypedNode); } -#line 4760 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */ +#line 4771 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */ break; case 66: #line 707 "MachineIndependent/glslang.y" /* yacc.c:1646 */ { (yyval.interm.intermTypedNode) = (yyvsp[0].interm.intermTypedNode); } -#line 4766 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */ +#line 4777 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */ break; case 67: @@ -4773,13 +4784,13 @@ yyreduce: if ((yyval.interm.intermTypedNode) == 0) (yyval.interm.intermTypedNode) = (yyvsp[-2].interm.intermTypedNode); } -#line 4777 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */ +#line 4788 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */ break; case 68: #line 717 "MachineIndependent/glslang.y" /* yacc.c:1646 */ { (yyval.interm.intermTypedNode) = (yyvsp[0].interm.intermTypedNode); } -#line 4783 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */ +#line 4794 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */ break; case 69: @@ -4789,13 +4800,13 @@ yyreduce: if ((yyval.interm.intermTypedNode) == 0) (yyval.interm.intermTypedNode) = parseContext.intermediate.addConstantUnion(false, (yyvsp[-1].lex).loc); } -#line 4793 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */ +#line 4804 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */ break; case 70: #line 726 "MachineIndependent/glslang.y" /* yacc.c:1646 */ { (yyval.interm.intermTypedNode) = (yyvsp[0].interm.intermTypedNode); } -#line 4799 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */ +#line 4810 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */ break; case 71: @@ -4805,13 +4816,13 @@ yyreduce: if ((yyval.interm.intermTypedNode) == 0) (yyval.interm.intermTypedNode) = parseContext.intermediate.addConstantUnion(false, (yyvsp[-1].lex).loc); } -#line 4809 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */ +#line 4820 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */ break; case 72: #line 735 "MachineIndependent/glslang.y" /* yacc.c:1646 */ { (yyval.interm.intermTypedNode) = (yyvsp[0].interm.intermTypedNode); } -#line 4815 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */ +#line 4826 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */ break; case 73: @@ -4821,13 +4832,13 @@ yyreduce: if ((yyval.interm.intermTypedNode) == 0) (yyval.interm.intermTypedNode) = parseContext.intermediate.addConstantUnion(false, (yyvsp[-1].lex).loc); } -#line 4825 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */ +#line 4836 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */ break; case 74: #line 744 "MachineIndependent/glslang.y" /* yacc.c:1646 */ { (yyval.interm.intermTypedNode) = (yyvsp[0].interm.intermTypedNode); } -#line 4831 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */ +#line 4842 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */ break; case 75: @@ -4835,7 +4846,7 @@ yyreduce: { ++parseContext.controlFlowNestingLevel; } -#line 4839 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */ +#line 4850 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */ break; case 76: @@ -4852,13 +4863,13 @@ yyreduce: (yyval.interm.intermTypedNode) = (yyvsp[0].interm.intermTypedNode); } } -#line 4856 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */ +#line 4867 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */ break; case 77: #line 763 "MachineIndependent/glslang.y" /* yacc.c:1646 */ { (yyval.interm.intermTypedNode) = (yyvsp[0].interm.intermTypedNode); } -#line 4862 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */ +#line 4873 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */ break; case 78: @@ -4876,7 +4887,7 @@ yyreduce: (yyval.interm.intermTypedNode) = (yyvsp[-2].interm.intermTypedNode); } } -#line 4880 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */ +#line 4891 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */ break; case 79: @@ -4885,7 +4896,7 @@ yyreduce: (yyval.interm).loc = (yyvsp[0].lex).loc; (yyval.interm).op = EOpAssign; } -#line 4889 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */ +#line 4900 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */ break; case 80: @@ -4894,7 +4905,7 @@ yyreduce: (yyval.interm).loc = (yyvsp[0].lex).loc; (yyval.interm).op = EOpMulAssign; } -#line 4898 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */ +#line 4909 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */ break; case 81: @@ -4903,7 +4914,7 @@ yyreduce: (yyval.interm).loc = (yyvsp[0].lex).loc; (yyval.interm).op = EOpDivAssign; } -#line 4907 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */ +#line 4918 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */ break; case 82: @@ -4913,7 +4924,7 @@ yyreduce: (yyval.interm).loc = (yyvsp[0].lex).loc; (yyval.interm).op = EOpModAssign; } -#line 4917 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */ +#line 4928 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */ break; case 83: @@ -4922,7 +4933,7 @@ yyreduce: (yyval.interm).loc = (yyvsp[0].lex).loc; (yyval.interm).op = EOpAddAssign; } -#line 4926 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */ +#line 4937 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */ break; case 84: @@ -4931,7 +4942,7 @@ yyreduce: (yyval.interm).loc = (yyvsp[0].lex).loc; (yyval.interm).op = EOpSubAssign; } -#line 4935 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */ +#line 4946 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */ break; case 85: @@ -4940,7 +4951,7 @@ yyreduce: parseContext.fullIntegerCheck((yyvsp[0].lex).loc, "bit-shift left assign"); (yyval.interm).loc = (yyvsp[0].lex).loc; (yyval.interm).op = EOpLeftShiftAssign; } -#line 4944 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */ +#line 4955 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */ break; case 86: @@ -4949,7 +4960,7 @@ yyreduce: parseContext.fullIntegerCheck((yyvsp[0].lex).loc, "bit-shift right assign"); (yyval.interm).loc = (yyvsp[0].lex).loc; (yyval.interm).op = EOpRightShiftAssign; } -#line 4953 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */ +#line 4964 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */ break; case 87: @@ -4958,7 +4969,7 @@ yyreduce: parseContext.fullIntegerCheck((yyvsp[0].lex).loc, "bitwise-and assign"); (yyval.interm).loc = (yyvsp[0].lex).loc; (yyval.interm).op = EOpAndAssign; } -#line 4962 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */ +#line 4973 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */ break; case 88: @@ -4967,7 +4978,7 @@ yyreduce: parseContext.fullIntegerCheck((yyvsp[0].lex).loc, "bitwise-xor assign"); (yyval.interm).loc = (yyvsp[0].lex).loc; (yyval.interm).op = EOpExclusiveOrAssign; } -#line 4971 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */ +#line 4982 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */ break; case 89: @@ -4976,7 +4987,7 @@ yyreduce: parseContext.fullIntegerCheck((yyvsp[0].lex).loc, "bitwise-or assign"); (yyval.interm).loc = (yyvsp[0].lex).loc; (yyval.interm).op = EOpInclusiveOrAssign; } -#line 4980 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */ +#line 4991 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */ break; case 90: @@ -4984,7 +4995,7 @@ yyreduce: { (yyval.interm.intermTypedNode) = (yyvsp[0].interm.intermTypedNode); } -#line 4988 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */ +#line 4999 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */ break; case 91: @@ -4997,7 +5008,7 @@ yyreduce: (yyval.interm.intermTypedNode) = (yyvsp[0].interm.intermTypedNode); } } -#line 5001 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */ +#line 5012 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */ break; case 92: @@ -5006,7 +5017,7 @@ yyreduce: parseContext.constantValueCheck((yyvsp[0].interm.intermTypedNode), ""); (yyval.interm.intermTypedNode) = (yyvsp[0].interm.intermTypedNode); } -#line 5010 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */ +#line 5021 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */ break; case 93: @@ -5016,7 +5027,7 @@ yyreduce: (yyval.interm.intermNode) = 0; // TODO: 4.0 functionality: subroutines: make the identifier a user type for this signature } -#line 5020 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */ +#line 5031 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */ break; case 94: @@ -5026,7 +5037,7 @@ yyreduce: (yyvsp[-1].interm).intermNode->getAsAggregate()->setOperator(EOpSequence); (yyval.interm.intermNode) = (yyvsp[-1].interm).intermNode; } -#line 5030 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */ +#line 5041 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */ break; case 95: @@ -5038,7 +5049,7 @@ yyreduce: parseContext.setDefaultPrecision((yyvsp[-3].lex).loc, (yyvsp[-1].interm.type), (yyvsp[-2].interm.type).qualifier.precision); (yyval.interm.intermNode) = 0; } -#line 5042 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */ +#line 5053 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */ break; case 96: @@ -5047,7 +5058,7 @@ yyreduce: parseContext.declareBlock((yyvsp[-1].interm).loc, *(yyvsp[-1].interm).typeList); (yyval.interm.intermNode) = 0; } -#line 5051 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */ +#line 5062 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */ break; case 97: @@ -5056,7 +5067,7 @@ yyreduce: parseContext.declareBlock((yyvsp[-2].interm).loc, *(yyvsp[-2].interm).typeList, (yyvsp[-1].lex).string); (yyval.interm.intermNode) = 0; } -#line 5060 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */ +#line 5071 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */ break; case 98: @@ -5065,7 +5076,7 @@ yyreduce: parseContext.declareBlock((yyvsp[-3].interm).loc, *(yyvsp[-3].interm).typeList, (yyvsp[-2].lex).string, (yyvsp[-1].interm).arraySizes); (yyval.interm.intermNode) = 0; } -#line 5069 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */ +#line 5080 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */ break; case 99: @@ -5075,7 +5086,7 @@ yyreduce: parseContext.updateStandaloneQualifierDefaults((yyvsp[-1].interm.type).loc, (yyvsp[-1].interm.type)); (yyval.interm.intermNode) = 0; } -#line 5079 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */ +#line 5090 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */ break; case 100: @@ -5085,7 +5096,7 @@ yyreduce: parseContext.addQualifierToExisting((yyvsp[-2].interm.type).loc, (yyvsp[-2].interm.type).qualifier, *(yyvsp[-1].lex).string); (yyval.interm.intermNode) = 0; } -#line 5089 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */ +#line 5100 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */ break; case 101: @@ -5096,13 +5107,13 @@ yyreduce: parseContext.addQualifierToExisting((yyvsp[-3].interm.type).loc, (yyvsp[-3].interm.type).qualifier, *(yyvsp[-1].interm.identifierList)); (yyval.interm.intermNode) = 0; } -#line 5100 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */ +#line 5111 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */ break; case 102: #line 897 "MachineIndependent/glslang.y" /* yacc.c:1646 */ { parseContext.nestedBlockCheck((yyvsp[-2].interm.type).loc); } -#line 5106 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */ +#line 5117 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */ break; case 103: @@ -5116,7 +5127,7 @@ yyreduce: (yyval.interm).loc = (yyvsp[-5].interm.type).loc; (yyval.interm).typeList = (yyvsp[-1].interm.typeList); } -#line 5120 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */ +#line 5131 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */ break; case 104: @@ -5125,7 +5136,7 @@ yyreduce: (yyval.interm.identifierList) = new TIdentifierList; (yyval.interm.identifierList)->push_back((yyvsp[0].lex).string); } -#line 5129 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */ +#line 5140 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */ break; case 105: @@ -5134,7 +5145,7 @@ yyreduce: (yyval.interm.identifierList) = (yyvsp[-2].interm.identifierList); (yyval.interm.identifierList)->push_back((yyvsp[0].lex).string); } -#line 5138 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */ +#line 5149 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */ break; case 106: @@ -5143,7 +5154,7 @@ yyreduce: (yyval.interm).function = (yyvsp[-1].interm.function); (yyval.interm).loc = (yyvsp[0].lex).loc; } -#line 5147 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */ +#line 5158 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */ break; case 107: @@ -5151,7 +5162,7 @@ yyreduce: { (yyval.interm.function) = (yyvsp[0].interm.function); } -#line 5155 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */ +#line 5166 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */ break; case 108: @@ -5159,7 +5170,7 @@ yyreduce: { (yyval.interm.function) = (yyvsp[0].interm.function); } -#line 5163 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */ +#line 5174 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */ break; case 109: @@ -5172,7 +5183,7 @@ yyreduce: else delete (yyvsp[0].interm).param.type; } -#line 5176 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */ +#line 5187 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */ break; case 110: @@ -5194,7 +5205,7 @@ yyreduce: (yyvsp[-2].interm.function)->addParameter((yyvsp[0].interm).param); } } -#line 5198 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */ +#line 5209 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */ break; case 111: @@ -5218,7 +5229,7 @@ yyreduce: function = new TFunction((yyvsp[-1].lex).string, type); (yyval.interm.function) = function; } -#line 5222 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */ +#line 5233 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */ break; case 112: @@ -5238,7 +5249,7 @@ yyreduce: (yyval.interm).loc = (yyvsp[0].lex).loc; (yyval.interm).param = param; } -#line 5242 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */ +#line 5253 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */ break; case 113: @@ -5262,7 +5273,7 @@ yyreduce: (yyval.interm).loc = (yyvsp[-1].lex).loc; (yyval.interm).param = param; } -#line 5266 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */ +#line 5277 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */ break; case 114: @@ -5278,7 +5289,7 @@ yyreduce: parseContext.paramCheckFix((yyvsp[-1].interm.type).loc, (yyvsp[-1].interm.type).qualifier, *(yyval.interm).param.type); } -#line 5282 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */ +#line 5293 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */ break; case 115: @@ -5290,7 +5301,7 @@ yyreduce: parseContext.paramCheckFixStorage((yyvsp[0].interm).loc, EvqTemporary, *(yyval.interm).param.type); parseContext.precisionQualifierCheck((yyval.interm).loc, (yyval.interm).param.type->getBasicType(), (yyval.interm).param.type->getQualifier()); } -#line 5294 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */ +#line 5305 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */ break; case 116: @@ -5305,7 +5316,7 @@ yyreduce: parseContext.parameterTypeCheck((yyvsp[0].interm).loc, (yyvsp[-1].interm.type).qualifier.storage, *(yyval.interm).param.type); parseContext.paramCheckFix((yyvsp[-1].interm.type).loc, (yyvsp[-1].interm.type).qualifier, *(yyval.interm).param.type); } -#line 5309 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */ +#line 5320 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */ break; case 117: @@ -5317,7 +5328,7 @@ yyreduce: parseContext.paramCheckFixStorage((yyvsp[0].interm).loc, EvqTemporary, *(yyval.interm).param.type); parseContext.precisionQualifierCheck((yyval.interm).loc, (yyval.interm).param.type->getBasicType(), (yyval.interm).param.type->getQualifier()); } -#line 5321 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */ +#line 5332 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */ break; case 118: @@ -5328,7 +5339,7 @@ yyreduce: if ((yyvsp[0].interm.type).arraySizes) parseContext.arraySizeRequiredCheck((yyvsp[0].interm.type).loc, *(yyvsp[0].interm.type).arraySizes); } -#line 5332 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */ +#line 5343 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */ break; case 119: @@ -5336,7 +5347,7 @@ yyreduce: { (yyval.interm) = (yyvsp[0].interm); } -#line 5340 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */ +#line 5351 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */ break; case 120: @@ -5345,7 +5356,7 @@ yyreduce: (yyval.interm) = (yyvsp[-2].interm); parseContext.declareVariable((yyvsp[0].lex).loc, *(yyvsp[0].lex).string, (yyvsp[-2].interm).type); } -#line 5349 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */ +#line 5360 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */ break; case 121: @@ -5354,7 +5365,7 @@ yyreduce: (yyval.interm) = (yyvsp[-3].interm); parseContext.declareVariable((yyvsp[-1].lex).loc, *(yyvsp[-1].lex).string, (yyvsp[-3].interm).type, (yyvsp[0].interm).arraySizes); } -#line 5358 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */ +#line 5369 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */ break; case 122: @@ -5364,7 +5375,7 @@ yyreduce: TIntermNode* initNode = parseContext.declareVariable((yyvsp[-3].lex).loc, *(yyvsp[-3].lex).string, (yyvsp[-5].interm).type, (yyvsp[-2].interm).arraySizes, (yyvsp[0].interm.intermTypedNode)); (yyval.interm).intermNode = parseContext.intermediate.growAggregate((yyvsp[-5].interm).intermNode, initNode, (yyvsp[-1].lex).loc); } -#line 5368 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */ +#line 5379 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */ break; case 123: @@ -5374,7 +5385,7 @@ yyreduce: TIntermNode* initNode = parseContext.declareVariable((yyvsp[-2].lex).loc, *(yyvsp[-2].lex).string, (yyvsp[-4].interm).type, 0, (yyvsp[0].interm.intermTypedNode)); (yyval.interm).intermNode = parseContext.intermediate.growAggregate((yyvsp[-4].interm).intermNode, initNode, (yyvsp[-1].lex).loc); } -#line 5378 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */ +#line 5389 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */ break; case 124: @@ -5386,7 +5397,7 @@ yyreduce: parseContext.declareTypeDefaults((yyval.interm).loc, (yyval.interm).type); } -#line 5390 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */ +#line 5401 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */ break; case 125: @@ -5396,7 +5407,7 @@ yyreduce: (yyval.interm).intermNode = 0; parseContext.declareVariable((yyvsp[0].lex).loc, *(yyvsp[0].lex).string, (yyvsp[-1].interm.type)); } -#line 5400 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */ +#line 5411 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */ break; case 126: @@ -5406,7 +5417,7 @@ yyreduce: (yyval.interm).intermNode = 0; parseContext.declareVariable((yyvsp[-1].lex).loc, *(yyvsp[-1].lex).string, (yyvsp[-2].interm.type), (yyvsp[0].interm).arraySizes); } -#line 5410 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */ +#line 5421 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */ break; case 127: @@ -5416,7 +5427,7 @@ yyreduce: TIntermNode* initNode = parseContext.declareVariable((yyvsp[-3].lex).loc, *(yyvsp[-3].lex).string, (yyvsp[-4].interm.type), (yyvsp[-2].interm).arraySizes, (yyvsp[0].interm.intermTypedNode)); (yyval.interm).intermNode = parseContext.intermediate.growAggregate(0, initNode, (yyvsp[-1].lex).loc); } -#line 5420 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */ +#line 5431 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */ break; case 128: @@ -5426,7 +5437,7 @@ yyreduce: TIntermNode* initNode = parseContext.declareVariable((yyvsp[-2].lex).loc, *(yyvsp[-2].lex).string, (yyvsp[-3].interm.type), 0, (yyvsp[0].interm.intermTypedNode)); (yyval.interm).intermNode = parseContext.intermediate.growAggregate(0, initNode, (yyvsp[-1].lex).loc); } -#line 5430 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */ +#line 5441 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */ break; case 129: @@ -5441,7 +5452,7 @@ yyreduce: } parseContext.precisionQualifierCheck((yyval.interm.type).loc, (yyval.interm.type).basicType, (yyval.interm.type).qualifier); } -#line 5445 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */ +#line 5456 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */ break; case 130: @@ -5470,7 +5481,7 @@ yyreduce: (parseContext.language == EShLangFragment && (yyval.interm.type).qualifier.storage == EvqVaryingIn))) (yyval.interm.type).qualifier.smooth = true; } -#line 5474 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */ +#line 5485 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */ break; case 131: @@ -5481,7 +5492,7 @@ yyreduce: (yyval.interm.type).init((yyvsp[0].lex).loc); (yyval.interm.type).qualifier.invariant = true; } -#line 5485 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */ +#line 5496 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */ break; case 132: @@ -5493,7 +5504,7 @@ yyreduce: (yyval.interm.type).init((yyvsp[0].lex).loc); (yyval.interm.type).qualifier.smooth = true; } -#line 5497 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */ +#line 5508 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */ break; case 133: @@ -5505,7 +5516,7 @@ yyreduce: (yyval.interm.type).init((yyvsp[0].lex).loc); (yyval.interm.type).qualifier.flat = true; } -#line 5509 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */ +#line 5520 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */ break; case 134: @@ -5517,7 +5528,7 @@ yyreduce: (yyval.interm.type).init((yyvsp[0].lex).loc); (yyval.interm.type).qualifier.nopersp = true; } -#line 5521 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */ +#line 5532 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */ break; case 135: @@ -5529,7 +5540,7 @@ yyreduce: (yyval.interm.type).init((yyvsp[0].lex).loc); (yyval.interm.type).qualifier.explicitInterp = true; } -#line 5533 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */ +#line 5544 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */ break; case 136: @@ -5542,7 +5553,7 @@ yyreduce: (yyval.interm.type).init((yyvsp[0].lex).loc); (yyval.interm.type).qualifier.pervertexNV = true; } -#line 5546 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */ +#line 5557 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */ break; case 137: @@ -5557,7 +5568,7 @@ yyreduce: (yyval.interm.type).init((yyvsp[0].lex).loc); (yyval.interm.type).qualifier.perPrimitiveNV = true; } -#line 5561 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */ +#line 5572 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */ break; case 138: @@ -5569,7 +5580,7 @@ yyreduce: (yyval.interm.type).init((yyvsp[0].lex).loc); (yyval.interm.type).qualifier.perViewNV = true; } -#line 5573 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */ +#line 5584 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */ break; case 139: @@ -5581,7 +5592,7 @@ yyreduce: (yyval.interm.type).init((yyvsp[0].lex).loc); (yyval.interm.type).qualifier.perTaskNV = true; } -#line 5585 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */ +#line 5596 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */ break; case 140: @@ -5589,7 +5600,7 @@ yyreduce: { (yyval.interm.type) = (yyvsp[-1].interm.type); } -#line 5593 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */ +#line 5604 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */ break; case 141: @@ -5597,7 +5608,7 @@ yyreduce: { (yyval.interm.type) = (yyvsp[0].interm.type); } -#line 5601 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */ +#line 5612 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */ break; case 142: @@ -5607,7 +5618,7 @@ yyreduce: (yyval.interm.type).shaderQualifiers.merge((yyvsp[0].interm.type).shaderQualifiers); parseContext.mergeObjectLayoutQualifiers((yyval.interm.type).qualifier, (yyvsp[0].interm.type).qualifier, false); } -#line 5611 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */ +#line 5622 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */ break; case 143: @@ -5616,7 +5627,7 @@ yyreduce: (yyval.interm.type).init((yyvsp[0].lex).loc); parseContext.setLayoutQualifier((yyvsp[0].lex).loc, (yyval.interm.type), *(yyvsp[0].lex).string); } -#line 5620 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */ +#line 5631 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */ break; case 144: @@ -5625,7 +5636,7 @@ yyreduce: (yyval.interm.type).init((yyvsp[-2].lex).loc); parseContext.setLayoutQualifier((yyvsp[-2].lex).loc, (yyval.interm.type), *(yyvsp[-2].lex).string, (yyvsp[0].interm.intermTypedNode)); } -#line 5629 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */ +#line 5640 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */ break; case 145: @@ -5635,7 +5646,7 @@ yyreduce: TString strShared("shared"); parseContext.setLayoutQualifier((yyvsp[0].lex).loc, (yyval.interm.type), strShared); } -#line 5639 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */ +#line 5650 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */ break; case 146: @@ -5646,7 +5657,7 @@ yyreduce: (yyval.interm.type).init((yyvsp[0].lex).loc); (yyval.interm.type).qualifier.noContraction = true; } -#line 5650 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */ +#line 5661 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */ break; case 147: @@ -5654,7 +5665,7 @@ yyreduce: { (yyval.interm.type) = (yyvsp[0].interm.type); } -#line 5658 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */ +#line 5669 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */ break; case 148: @@ -5667,7 +5678,7 @@ yyreduce: (yyval.interm.type).shaderQualifiers.merge((yyvsp[0].interm.type).shaderQualifiers); parseContext.mergeQualifiers((yyval.interm.type).loc, (yyval.interm.type).qualifier, (yyvsp[0].interm.type).qualifier, false); } -#line 5671 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */ +#line 5682 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */ break; case 149: @@ -5675,7 +5686,7 @@ yyreduce: { (yyval.interm.type) = (yyvsp[0].interm.type); } -#line 5679 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */ +#line 5690 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */ break; case 150: @@ -5683,7 +5694,7 @@ yyreduce: { (yyval.interm.type) = (yyvsp[0].interm.type); } -#line 5687 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */ +#line 5698 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */ break; case 151: @@ -5692,7 +5703,7 @@ yyreduce: parseContext.checkPrecisionQualifier((yyvsp[0].interm.type).loc, (yyvsp[0].interm.type).qualifier.precision); (yyval.interm.type) = (yyvsp[0].interm.type); } -#line 5696 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */ +#line 5707 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */ break; case 152: @@ -5701,7 +5712,7 @@ yyreduce: // allow inheritance of storage qualifier from block declaration (yyval.interm.type) = (yyvsp[0].interm.type); } -#line 5705 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */ +#line 5716 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */ break; case 153: @@ -5710,7 +5721,7 @@ yyreduce: // allow inheritance of storage qualifier from block declaration (yyval.interm.type) = (yyvsp[0].interm.type); } -#line 5714 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */ +#line 5725 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */ break; case 154: @@ -5719,7 +5730,7 @@ yyreduce: // allow inheritance of storage qualifier from block declaration (yyval.interm.type) = (yyvsp[0].interm.type); } -#line 5723 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */ +#line 5734 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */ break; case 155: @@ -5727,7 +5738,7 @@ yyreduce: { (yyval.interm.type) = (yyvsp[0].interm.type); } -#line 5731 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */ +#line 5742 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */ break; case 156: @@ -5736,7 +5747,7 @@ yyreduce: (yyval.interm.type).init((yyvsp[0].lex).loc); (yyval.interm.type).qualifier.storage = EvqConst; // will later turn into EvqConstReadOnly, if the initializer is not constant } -#line 5740 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */ +#line 5751 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */ break; case 157: @@ -5746,7 +5757,7 @@ yyreduce: (yyval.interm.type).init((yyvsp[0].lex).loc); (yyval.interm.type).qualifier.storage = EvqInOut; } -#line 5750 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */ +#line 5761 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */ break; case 158: @@ -5757,7 +5768,7 @@ yyreduce: // whether this is a parameter "in" or a pipeline "in" will get sorted out a bit later (yyval.interm.type).qualifier.storage = EvqIn; } -#line 5761 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */ +#line 5772 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */ break; case 159: @@ -5768,7 +5779,7 @@ yyreduce: // whether this is a parameter "out" or a pipeline "out" will get sorted out a bit later (yyval.interm.type).qualifier.storage = EvqOut; } -#line 5772 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */ +#line 5783 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */ break; case 160: @@ -5780,7 +5791,7 @@ yyreduce: (yyval.interm.type).init((yyvsp[0].lex).loc); (yyval.interm.type).qualifier.centroid = true; } -#line 5784 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */ +#line 5795 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */ break; case 161: @@ -5790,7 +5801,7 @@ yyreduce: (yyval.interm.type).init((yyvsp[0].lex).loc); (yyval.interm.type).qualifier.storage = EvqUniform; } -#line 5794 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */ +#line 5805 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */ break; case 162: @@ -5803,7 +5814,7 @@ yyreduce: (yyval.interm.type).init((yyvsp[0].lex).loc); (yyval.interm.type).qualifier.storage = EvqShared; } -#line 5807 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */ +#line 5818 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */ break; case 163: @@ -5813,7 +5824,7 @@ yyreduce: (yyval.interm.type).init((yyvsp[0].lex).loc); (yyval.interm.type).qualifier.storage = EvqBuffer; } -#line 5817 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */ +#line 5828 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */ break; case 164: @@ -5830,7 +5841,7 @@ yyreduce: (yyval.interm.type).init((yyvsp[0].lex).loc); (yyval.interm.type).qualifier.storage = EvqVaryingIn; } -#line 5834 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */ +#line 5845 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */ break; case 165: @@ -5849,7 +5860,7 @@ yyreduce: else (yyval.interm.type).qualifier.storage = EvqVaryingIn; } -#line 5853 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */ +#line 5864 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */ break; case 166: @@ -5860,7 +5871,7 @@ yyreduce: (yyval.interm.type).init((yyvsp[0].lex).loc); (yyval.interm.type).qualifier.patch = true; } -#line 5864 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */ +#line 5875 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */ break; case 167: @@ -5870,7 +5881,7 @@ yyreduce: (yyval.interm.type).init((yyvsp[0].lex).loc); (yyval.interm.type).qualifier.sample = true; } -#line 5874 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */ +#line 5885 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */ break; case 168: @@ -5883,7 +5894,7 @@ yyreduce: (yyval.interm.type).init((yyvsp[0].lex).loc); (yyval.interm.type).qualifier.storage = EvqHitAttrNV; } -#line 5887 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */ +#line 5898 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */ break; case 169: @@ -5896,7 +5907,7 @@ yyreduce: (yyval.interm.type).init((yyvsp[0].lex).loc); (yyval.interm.type).qualifier.storage = EvqPayloadNV; } -#line 5900 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */ +#line 5911 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */ break; case 170: @@ -5909,7 +5920,7 @@ yyreduce: (yyval.interm.type).init((yyvsp[0].lex).loc); (yyval.interm.type).qualifier.storage = EvqPayloadInNV; } -#line 5913 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */ +#line 5924 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */ break; case 171: @@ -5922,7 +5933,7 @@ yyreduce: (yyval.interm.type).init((yyvsp[0].lex).loc); (yyval.interm.type).qualifier.storage = EvqCallableDataNV; } -#line 5926 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */ +#line 5937 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */ break; case 172: @@ -5934,7 +5945,7 @@ yyreduce: (yyval.interm.type).init((yyvsp[0].lex).loc); (yyval.interm.type).qualifier.storage = EvqCallableDataInNV; } -#line 5938 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */ +#line 5949 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */ break; case 173: @@ -5943,7 +5954,7 @@ yyreduce: (yyval.interm.type).init((yyvsp[0].lex).loc); (yyval.interm.type).qualifier.coherent = true; } -#line 5947 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */ +#line 5958 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */ break; case 174: @@ -5953,7 +5964,7 @@ yyreduce: parseContext.requireExtensions((yyvsp[0].lex).loc, 1, &E_GL_KHR_memory_scope_semantics, "devicecoherent"); (yyval.interm.type).qualifier.devicecoherent = true; } -#line 5957 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */ +#line 5968 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */ break; case 175: @@ -5963,7 +5974,7 @@ yyreduce: parseContext.requireExtensions((yyvsp[0].lex).loc, 1, &E_GL_KHR_memory_scope_semantics, "queuefamilycoherent"); (yyval.interm.type).qualifier.queuefamilycoherent = true; } -#line 5967 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */ +#line 5978 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */ break; case 176: @@ -5973,7 +5984,7 @@ yyreduce: parseContext.requireExtensions((yyvsp[0].lex).loc, 1, &E_GL_KHR_memory_scope_semantics, "workgroupcoherent"); (yyval.interm.type).qualifier.workgroupcoherent = true; } -#line 5977 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */ +#line 5988 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */ break; case 177: @@ -5983,7 +5994,7 @@ yyreduce: parseContext.requireExtensions((yyvsp[0].lex).loc, 1, &E_GL_KHR_memory_scope_semantics, "subgroupcoherent"); (yyval.interm.type).qualifier.subgroupcoherent = true; } -#line 5987 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */ +#line 5998 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */ break; case 178: @@ -5993,7 +6004,7 @@ yyreduce: parseContext.requireExtensions((yyvsp[0].lex).loc, 1, &E_GL_KHR_memory_scope_semantics, "nonprivate"); (yyval.interm.type).qualifier.nonprivate = true; } -#line 5997 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */ +#line 6008 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */ break; case 179: @@ -6002,7 +6013,7 @@ yyreduce: (yyval.interm.type).init((yyvsp[0].lex).loc); (yyval.interm.type).qualifier.volatil = true; } -#line 6006 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */ +#line 6017 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */ break; case 180: @@ -6011,7 +6022,7 @@ yyreduce: (yyval.interm.type).init((yyvsp[0].lex).loc); (yyval.interm.type).qualifier.restrict = true; } -#line 6015 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */ +#line 6026 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */ break; case 181: @@ -6020,7 +6031,7 @@ yyreduce: (yyval.interm.type).init((yyvsp[0].lex).loc); (yyval.interm.type).qualifier.readonly = true; } -#line 6024 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */ +#line 6035 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */ break; case 182: @@ -6029,7 +6040,7 @@ yyreduce: (yyval.interm.type).init((yyvsp[0].lex).loc); (yyval.interm.type).qualifier.writeonly = true; } -#line 6033 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */ +#line 6044 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */ break; case 183: @@ -6040,7 +6051,7 @@ yyreduce: parseContext.unimplemented((yyvsp[0].lex).loc, "subroutine"); (yyval.interm.type).init((yyvsp[0].lex).loc); } -#line 6044 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */ +#line 6055 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */ break; case 184: @@ -6051,7 +6062,7 @@ yyreduce: parseContext.unimplemented((yyvsp[-3].lex).loc, "subroutine"); (yyval.interm.type).init((yyvsp[-3].lex).loc); } -#line 6055 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */ +#line 6066 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */ break; case 185: @@ -6060,7 +6071,7 @@ yyreduce: (yyval.interm.type).init((yyvsp[0].lex).loc); (yyval.interm.type).qualifier.nonUniform = true; } -#line 6064 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */ +#line 6075 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */ break; case 186: @@ -6068,7 +6079,7 @@ yyreduce: { // TODO } -#line 6072 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */ +#line 6083 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */ break; case 187: @@ -6078,7 +6089,7 @@ yyreduce: // 1) make sure each identifier is a type declared earlier with SUBROUTINE // 2) save all of the identifiers for future comparison with the declared function } -#line 6082 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */ +#line 6093 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */ break; case 188: @@ -6088,7 +6099,7 @@ yyreduce: (yyval.interm.type).qualifier.precision = parseContext.getDefaultPrecision((yyval.interm.type)); (yyval.interm.type).typeParameters = (yyvsp[0].interm.typeParameters); } -#line 6092 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */ +#line 6103 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */ break; case 189: @@ -6100,7 +6111,7 @@ yyreduce: (yyval.interm.type).typeParameters = (yyvsp[-1].interm.typeParameters); (yyval.interm.type).arraySizes = (yyvsp[0].interm).arraySizes; } -#line 6104 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */ +#line 6115 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */ break; case 190: @@ -6110,7 +6121,7 @@ yyreduce: (yyval.interm).arraySizes = new TArraySizes; (yyval.interm).arraySizes->addInnerSize(); } -#line 6114 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */ +#line 6125 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */ break; case 191: @@ -6123,7 +6134,7 @@ yyreduce: parseContext.arraySizeCheck((yyvsp[-1].interm.intermTypedNode)->getLoc(), (yyvsp[-1].interm.intermTypedNode), size, "array size"); (yyval.interm).arraySizes->addInnerSize(size); } -#line 6127 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */ +#line 6138 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */ break; case 192: @@ -6132,7 +6143,7 @@ yyreduce: (yyval.interm) = (yyvsp[-2].interm); (yyval.interm).arraySizes->addInnerSize(); } -#line 6136 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */ +#line 6147 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */ break; case 193: @@ -6144,7 +6155,7 @@ yyreduce: parseContext.arraySizeCheck((yyvsp[-1].interm.intermTypedNode)->getLoc(), (yyvsp[-1].interm.intermTypedNode), size, "array size"); (yyval.interm).arraySizes->addInnerSize(size); } -#line 6148 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */ +#line 6159 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */ break; case 194: @@ -6152,7 +6163,7 @@ yyreduce: { (yyval.interm.typeParameters) = (yyvsp[0].interm.typeParameters); } -#line 6156 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */ +#line 6167 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */ break; case 195: @@ -6160,7 +6171,7 @@ yyreduce: { (yyval.interm.typeParameters) = 0; } -#line 6164 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */ +#line 6175 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */ break; case 196: @@ -6168,7 +6179,7 @@ yyreduce: { (yyval.interm.typeParameters) = (yyvsp[-1].interm.typeParameters); } -#line 6172 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */ +#line 6183 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */ break; case 197: @@ -6180,7 +6191,7 @@ yyreduce: parseContext.arraySizeCheck((yyvsp[0].interm.intermTypedNode)->getLoc(), (yyvsp[0].interm.intermTypedNode), size, "type parameter"); (yyval.interm.typeParameters)->addInnerSize(size); } -#line 6184 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */ +#line 6195 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */ break; case 198: @@ -6192,7 +6203,7 @@ yyreduce: parseContext.arraySizeCheck((yyvsp[0].interm.intermTypedNode)->getLoc(), (yyvsp[0].interm.intermTypedNode), size, "type parameter"); (yyval.interm.typeParameters)->addInnerSize(size); } -#line 6196 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */ +#line 6207 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */ break; case 199: @@ -6201,7 +6212,7 @@ yyreduce: (yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel()); (yyval.interm.type).basicType = EbtVoid; } -#line 6205 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */ +#line 6216 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */ break; case 200: @@ -6210,7 +6221,7 @@ yyreduce: (yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel()); (yyval.interm.type).basicType = EbtFloat; } -#line 6214 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */ +#line 6225 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */ break; case 201: @@ -6219,7 +6230,7 @@ yyreduce: (yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel()); (yyval.interm.type).basicType = EbtInt; } -#line 6223 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */ +#line 6234 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */ break; case 202: @@ -6229,7 +6240,7 @@ yyreduce: (yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel()); (yyval.interm.type).basicType = EbtUint; } -#line 6233 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */ +#line 6244 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */ break; case 203: @@ -6238,7 +6249,7 @@ yyreduce: (yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel()); (yyval.interm.type).basicType = EbtBool; } -#line 6242 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */ +#line 6253 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */ break; case 204: @@ -6248,7 +6259,7 @@ yyreduce: (yyval.interm.type).basicType = EbtFloat; (yyval.interm.type).setVector(2); } -#line 6252 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */ +#line 6263 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */ break; case 205: @@ -6258,7 +6269,7 @@ yyreduce: (yyval.interm.type).basicType = EbtFloat; (yyval.interm.type).setVector(3); } -#line 6262 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */ +#line 6273 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */ break; case 206: @@ -6268,7 +6279,7 @@ yyreduce: (yyval.interm.type).basicType = EbtFloat; (yyval.interm.type).setVector(4); } -#line 6272 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */ +#line 6283 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */ break; case 207: @@ -6278,7 +6289,7 @@ yyreduce: (yyval.interm.type).basicType = EbtBool; (yyval.interm.type).setVector(2); } -#line 6282 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */ +#line 6293 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */ break; case 208: @@ -6288,7 +6299,7 @@ yyreduce: (yyval.interm.type).basicType = EbtBool; (yyval.interm.type).setVector(3); } -#line 6292 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */ +#line 6303 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */ break; case 209: @@ -6298,7 +6309,7 @@ yyreduce: (yyval.interm.type).basicType = EbtBool; (yyval.interm.type).setVector(4); } -#line 6302 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */ +#line 6313 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */ break; case 210: @@ -6308,7 +6319,7 @@ yyreduce: (yyval.interm.type).basicType = EbtInt; (yyval.interm.type).setVector(2); } -#line 6312 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */ +#line 6323 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */ break; case 211: @@ -6318,7 +6329,7 @@ yyreduce: (yyval.interm.type).basicType = EbtInt; (yyval.interm.type).setVector(3); } -#line 6322 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */ +#line 6333 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */ break; case 212: @@ -6328,7 +6339,7 @@ yyreduce: (yyval.interm.type).basicType = EbtInt; (yyval.interm.type).setVector(4); } -#line 6332 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */ +#line 6343 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */ break; case 213: @@ -6339,7 +6350,7 @@ yyreduce: (yyval.interm.type).basicType = EbtUint; (yyval.interm.type).setVector(2); } -#line 6343 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */ +#line 6354 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */ break; case 214: @@ -6350,7 +6361,7 @@ yyreduce: (yyval.interm.type).basicType = EbtUint; (yyval.interm.type).setVector(3); } -#line 6354 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */ +#line 6365 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */ break; case 215: @@ -6361,7 +6372,7 @@ yyreduce: (yyval.interm.type).basicType = EbtUint; (yyval.interm.type).setVector(4); } -#line 6365 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */ +#line 6376 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */ break; case 216: @@ -6371,7 +6382,7 @@ yyreduce: (yyval.interm.type).basicType = EbtFloat; (yyval.interm.type).setMatrix(2, 2); } -#line 6375 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */ +#line 6386 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */ break; case 217: @@ -6381,7 +6392,7 @@ yyreduce: (yyval.interm.type).basicType = EbtFloat; (yyval.interm.type).setMatrix(3, 3); } -#line 6385 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */ +#line 6396 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */ break; case 218: @@ -6391,7 +6402,7 @@ yyreduce: (yyval.interm.type).basicType = EbtFloat; (yyval.interm.type).setMatrix(4, 4); } -#line 6395 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */ +#line 6406 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */ break; case 219: @@ -6401,7 +6412,7 @@ yyreduce: (yyval.interm.type).basicType = EbtFloat; (yyval.interm.type).setMatrix(2, 2); } -#line 6405 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */ +#line 6416 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */ break; case 220: @@ -6411,7 +6422,7 @@ yyreduce: (yyval.interm.type).basicType = EbtFloat; (yyval.interm.type).setMatrix(2, 3); } -#line 6415 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */ +#line 6426 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */ break; case 221: @@ -6421,7 +6432,7 @@ yyreduce: (yyval.interm.type).basicType = EbtFloat; (yyval.interm.type).setMatrix(2, 4); } -#line 6425 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */ +#line 6436 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */ break; case 222: @@ -6431,7 +6442,7 @@ yyreduce: (yyval.interm.type).basicType = EbtFloat; (yyval.interm.type).setMatrix(3, 2); } -#line 6435 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */ +#line 6446 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */ break; case 223: @@ -6441,7 +6452,7 @@ yyreduce: (yyval.interm.type).basicType = EbtFloat; (yyval.interm.type).setMatrix(3, 3); } -#line 6445 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */ +#line 6456 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */ break; case 224: @@ -6451,7 +6462,7 @@ yyreduce: (yyval.interm.type).basicType = EbtFloat; (yyval.interm.type).setMatrix(3, 4); } -#line 6455 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */ +#line 6466 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */ break; case 225: @@ -6461,7 +6472,7 @@ yyreduce: (yyval.interm.type).basicType = EbtFloat; (yyval.interm.type).setMatrix(4, 2); } -#line 6465 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */ +#line 6476 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */ break; case 226: @@ -6471,7 +6482,7 @@ yyreduce: (yyval.interm.type).basicType = EbtFloat; (yyval.interm.type).setMatrix(4, 3); } -#line 6475 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */ +#line 6486 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */ break; case 227: @@ -6481,7 +6492,7 @@ yyreduce: (yyval.interm.type).basicType = EbtFloat; (yyval.interm.type).setMatrix(4, 4); } -#line 6485 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */ +#line 6496 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */ break; case 228: @@ -6491,7 +6502,7 @@ yyreduce: (yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel()); (yyval.interm.type).basicType = EbtDouble; } -#line 6495 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */ +#line 6506 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */ break; case 229: @@ -6501,7 +6512,7 @@ yyreduce: (yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel()); (yyval.interm.type).basicType = EbtFloat16; } -#line 6505 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */ +#line 6516 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */ break; case 230: @@ -6511,7 +6522,7 @@ yyreduce: (yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel()); (yyval.interm.type).basicType = EbtFloat; } -#line 6515 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */ +#line 6526 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */ break; case 231: @@ -6521,7 +6532,7 @@ yyreduce: (yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel()); (yyval.interm.type).basicType = EbtDouble; } -#line 6525 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */ +#line 6536 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */ break; case 232: @@ -6531,7 +6542,7 @@ yyreduce: (yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel()); (yyval.interm.type).basicType = EbtInt8; } -#line 6535 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */ +#line 6546 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */ break; case 233: @@ -6541,7 +6552,7 @@ yyreduce: (yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel()); (yyval.interm.type).basicType = EbtUint8; } -#line 6545 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */ +#line 6556 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */ break; case 234: @@ -6551,7 +6562,7 @@ yyreduce: (yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel()); (yyval.interm.type).basicType = EbtInt16; } -#line 6555 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */ +#line 6566 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */ break; case 235: @@ -6561,7 +6572,7 @@ yyreduce: (yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel()); (yyval.interm.type).basicType = EbtUint16; } -#line 6565 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */ +#line 6576 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */ break; case 236: @@ -6571,7 +6582,7 @@ yyreduce: (yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel()); (yyval.interm.type).basicType = EbtInt; } -#line 6575 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */ +#line 6586 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */ break; case 237: @@ -6581,7 +6592,7 @@ yyreduce: (yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel()); (yyval.interm.type).basicType = EbtUint; } -#line 6585 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */ +#line 6596 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */ break; case 238: @@ -6591,7 +6602,7 @@ yyreduce: (yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel()); (yyval.interm.type).basicType = EbtInt64; } -#line 6595 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */ +#line 6606 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */ break; case 239: @@ -6601,7 +6612,7 @@ yyreduce: (yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel()); (yyval.interm.type).basicType = EbtUint64; } -#line 6605 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */ +#line 6616 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */ break; case 240: @@ -6612,7 +6623,7 @@ yyreduce: (yyval.interm.type).basicType = EbtDouble; (yyval.interm.type).setVector(2); } -#line 6616 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */ +#line 6627 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */ break; case 241: @@ -6623,7 +6634,7 @@ yyreduce: (yyval.interm.type).basicType = EbtDouble; (yyval.interm.type).setVector(3); } -#line 6627 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */ +#line 6638 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */ break; case 242: @@ -6634,7 +6645,7 @@ yyreduce: (yyval.interm.type).basicType = EbtDouble; (yyval.interm.type).setVector(4); } -#line 6638 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */ +#line 6649 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */ break; case 243: @@ -6645,7 +6656,7 @@ yyreduce: (yyval.interm.type).basicType = EbtFloat16; (yyval.interm.type).setVector(2); } -#line 6649 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */ +#line 6660 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */ break; case 244: @@ -6656,7 +6667,7 @@ yyreduce: (yyval.interm.type).basicType = EbtFloat16; (yyval.interm.type).setVector(3); } -#line 6660 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */ +#line 6671 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */ break; case 245: @@ -6667,7 +6678,7 @@ yyreduce: (yyval.interm.type).basicType = EbtFloat16; (yyval.interm.type).setVector(4); } -#line 6671 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */ +#line 6682 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */ break; case 246: @@ -6678,7 +6689,7 @@ yyreduce: (yyval.interm.type).basicType = EbtFloat; (yyval.interm.type).setVector(2); } -#line 6682 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */ +#line 6693 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */ break; case 247: @@ -6689,7 +6700,7 @@ yyreduce: (yyval.interm.type).basicType = EbtFloat; (yyval.interm.type).setVector(3); } -#line 6693 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */ +#line 6704 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */ break; case 248: @@ -6700,7 +6711,7 @@ yyreduce: (yyval.interm.type).basicType = EbtFloat; (yyval.interm.type).setVector(4); } -#line 6704 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */ +#line 6715 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */ break; case 249: @@ -6711,7 +6722,7 @@ yyreduce: (yyval.interm.type).basicType = EbtDouble; (yyval.interm.type).setVector(2); } -#line 6715 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */ +#line 6726 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */ break; case 250: @@ -6722,7 +6733,7 @@ yyreduce: (yyval.interm.type).basicType = EbtDouble; (yyval.interm.type).setVector(3); } -#line 6726 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */ +#line 6737 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */ break; case 251: @@ -6733,7 +6744,7 @@ yyreduce: (yyval.interm.type).basicType = EbtDouble; (yyval.interm.type).setVector(4); } -#line 6737 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */ +#line 6748 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */ break; case 252: @@ -6744,7 +6755,7 @@ yyreduce: (yyval.interm.type).basicType = EbtInt8; (yyval.interm.type).setVector(2); } -#line 6748 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */ +#line 6759 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */ break; case 253: @@ -6755,7 +6766,7 @@ yyreduce: (yyval.interm.type).basicType = EbtInt8; (yyval.interm.type).setVector(3); } -#line 6759 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */ +#line 6770 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */ break; case 254: @@ -6766,7 +6777,7 @@ yyreduce: (yyval.interm.type).basicType = EbtInt8; (yyval.interm.type).setVector(4); } -#line 6770 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */ +#line 6781 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */ break; case 255: @@ -6777,7 +6788,7 @@ yyreduce: (yyval.interm.type).basicType = EbtInt16; (yyval.interm.type).setVector(2); } -#line 6781 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */ +#line 6792 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */ break; case 256: @@ -6788,7 +6799,7 @@ yyreduce: (yyval.interm.type).basicType = EbtInt16; (yyval.interm.type).setVector(3); } -#line 6792 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */ +#line 6803 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */ break; case 257: @@ -6799,7 +6810,7 @@ yyreduce: (yyval.interm.type).basicType = EbtInt16; (yyval.interm.type).setVector(4); } -#line 6803 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */ +#line 6814 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */ break; case 258: @@ -6810,7 +6821,7 @@ yyreduce: (yyval.interm.type).basicType = EbtInt; (yyval.interm.type).setVector(2); } -#line 6814 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */ +#line 6825 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */ break; case 259: @@ -6821,7 +6832,7 @@ yyreduce: (yyval.interm.type).basicType = EbtInt; (yyval.interm.type).setVector(3); } -#line 6825 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */ +#line 6836 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */ break; case 260: @@ -6832,7 +6843,7 @@ yyreduce: (yyval.interm.type).basicType = EbtInt; (yyval.interm.type).setVector(4); } -#line 6836 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */ +#line 6847 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */ break; case 261: @@ -6843,7 +6854,7 @@ yyreduce: (yyval.interm.type).basicType = EbtInt64; (yyval.interm.type).setVector(2); } -#line 6847 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */ +#line 6858 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */ break; case 262: @@ -6854,7 +6865,7 @@ yyreduce: (yyval.interm.type).basicType = EbtInt64; (yyval.interm.type).setVector(3); } -#line 6858 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */ +#line 6869 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */ break; case 263: @@ -6865,7 +6876,7 @@ yyreduce: (yyval.interm.type).basicType = EbtInt64; (yyval.interm.type).setVector(4); } -#line 6869 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */ +#line 6880 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */ break; case 264: @@ -6876,7 +6887,7 @@ yyreduce: (yyval.interm.type).basicType = EbtUint8; (yyval.interm.type).setVector(2); } -#line 6880 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */ +#line 6891 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */ break; case 265: @@ -6887,7 +6898,7 @@ yyreduce: (yyval.interm.type).basicType = EbtUint8; (yyval.interm.type).setVector(3); } -#line 6891 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */ +#line 6902 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */ break; case 266: @@ -6898,7 +6909,7 @@ yyreduce: (yyval.interm.type).basicType = EbtUint8; (yyval.interm.type).setVector(4); } -#line 6902 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */ +#line 6913 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */ break; case 267: @@ -6909,7 +6920,7 @@ yyreduce: (yyval.interm.type).basicType = EbtUint16; (yyval.interm.type).setVector(2); } -#line 6913 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */ +#line 6924 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */ break; case 268: @@ -6920,7 +6931,7 @@ yyreduce: (yyval.interm.type).basicType = EbtUint16; (yyval.interm.type).setVector(3); } -#line 6924 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */ +#line 6935 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */ break; case 269: @@ -6931,7 +6942,7 @@ yyreduce: (yyval.interm.type).basicType = EbtUint16; (yyval.interm.type).setVector(4); } -#line 6935 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */ +#line 6946 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */ break; case 270: @@ -6942,7 +6953,7 @@ yyreduce: (yyval.interm.type).basicType = EbtUint; (yyval.interm.type).setVector(2); } -#line 6946 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */ +#line 6957 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */ break; case 271: @@ -6953,7 +6964,7 @@ yyreduce: (yyval.interm.type).basicType = EbtUint; (yyval.interm.type).setVector(3); } -#line 6957 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */ +#line 6968 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */ break; case 272: @@ -6964,7 +6975,7 @@ yyreduce: (yyval.interm.type).basicType = EbtUint; (yyval.interm.type).setVector(4); } -#line 6968 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */ +#line 6979 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */ break; case 273: @@ -6975,7 +6986,7 @@ yyreduce: (yyval.interm.type).basicType = EbtUint64; (yyval.interm.type).setVector(2); } -#line 6979 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */ +#line 6990 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */ break; case 274: @@ -6986,7 +6997,7 @@ yyreduce: (yyval.interm.type).basicType = EbtUint64; (yyval.interm.type).setVector(3); } -#line 6990 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */ +#line 7001 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */ break; case 275: @@ -6997,7 +7008,7 @@ yyreduce: (yyval.interm.type).basicType = EbtUint64; (yyval.interm.type).setVector(4); } -#line 7001 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */ +#line 7012 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */ break; case 276: @@ -7008,7 +7019,7 @@ yyreduce: (yyval.interm.type).basicType = EbtDouble; (yyval.interm.type).setMatrix(2, 2); } -#line 7012 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */ +#line 7023 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */ break; case 277: @@ -7019,7 +7030,7 @@ yyreduce: (yyval.interm.type).basicType = EbtDouble; (yyval.interm.type).setMatrix(3, 3); } -#line 7023 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */ +#line 7034 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */ break; case 278: @@ -7030,7 +7041,7 @@ yyreduce: (yyval.interm.type).basicType = EbtDouble; (yyval.interm.type).setMatrix(4, 4); } -#line 7034 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */ +#line 7045 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */ break; case 279: @@ -7041,7 +7052,7 @@ yyreduce: (yyval.interm.type).basicType = EbtDouble; (yyval.interm.type).setMatrix(2, 2); } -#line 7045 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */ +#line 7056 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */ break; case 280: @@ -7052,7 +7063,7 @@ yyreduce: (yyval.interm.type).basicType = EbtDouble; (yyval.interm.type).setMatrix(2, 3); } -#line 7056 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */ +#line 7067 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */ break; case 281: @@ -7063,7 +7074,7 @@ yyreduce: (yyval.interm.type).basicType = EbtDouble; (yyval.interm.type).setMatrix(2, 4); } -#line 7067 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */ +#line 7078 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */ break; case 282: @@ -7074,7 +7085,7 @@ yyreduce: (yyval.interm.type).basicType = EbtDouble; (yyval.interm.type).setMatrix(3, 2); } -#line 7078 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */ +#line 7089 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */ break; case 283: @@ -7085,7 +7096,7 @@ yyreduce: (yyval.interm.type).basicType = EbtDouble; (yyval.interm.type).setMatrix(3, 3); } -#line 7089 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */ +#line 7100 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */ break; case 284: @@ -7096,7 +7107,7 @@ yyreduce: (yyval.interm.type).basicType = EbtDouble; (yyval.interm.type).setMatrix(3, 4); } -#line 7100 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */ +#line 7111 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */ break; case 285: @@ -7107,7 +7118,7 @@ yyreduce: (yyval.interm.type).basicType = EbtDouble; (yyval.interm.type).setMatrix(4, 2); } -#line 7111 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */ +#line 7122 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */ break; case 286: @@ -7118,7 +7129,7 @@ yyreduce: (yyval.interm.type).basicType = EbtDouble; (yyval.interm.type).setMatrix(4, 3); } -#line 7122 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */ +#line 7133 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */ break; case 287: @@ -7129,7 +7140,7 @@ yyreduce: (yyval.interm.type).basicType = EbtDouble; (yyval.interm.type).setMatrix(4, 4); } -#line 7133 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */ +#line 7144 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */ break; case 288: @@ -7140,7 +7151,7 @@ yyreduce: (yyval.interm.type).basicType = EbtFloat16; (yyval.interm.type).setMatrix(2, 2); } -#line 7144 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */ +#line 7155 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */ break; case 289: @@ -7151,7 +7162,7 @@ yyreduce: (yyval.interm.type).basicType = EbtFloat16; (yyval.interm.type).setMatrix(3, 3); } -#line 7155 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */ +#line 7166 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */ break; case 290: @@ -7162,7 +7173,7 @@ yyreduce: (yyval.interm.type).basicType = EbtFloat16; (yyval.interm.type).setMatrix(4, 4); } -#line 7166 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */ +#line 7177 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */ break; case 291: @@ -7173,7 +7184,7 @@ yyreduce: (yyval.interm.type).basicType = EbtFloat16; (yyval.interm.type).setMatrix(2, 2); } -#line 7177 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */ +#line 7188 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */ break; case 292: @@ -7184,7 +7195,7 @@ yyreduce: (yyval.interm.type).basicType = EbtFloat16; (yyval.interm.type).setMatrix(2, 3); } -#line 7188 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */ +#line 7199 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */ break; case 293: @@ -7195,7 +7206,7 @@ yyreduce: (yyval.interm.type).basicType = EbtFloat16; (yyval.interm.type).setMatrix(2, 4); } -#line 7199 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */ +#line 7210 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */ break; case 294: @@ -7206,7 +7217,7 @@ yyreduce: (yyval.interm.type).basicType = EbtFloat16; (yyval.interm.type).setMatrix(3, 2); } -#line 7210 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */ +#line 7221 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */ break; case 295: @@ -7217,7 +7228,7 @@ yyreduce: (yyval.interm.type).basicType = EbtFloat16; (yyval.interm.type).setMatrix(3, 3); } -#line 7221 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */ +#line 7232 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */ break; case 296: @@ -7228,7 +7239,7 @@ yyreduce: (yyval.interm.type).basicType = EbtFloat16; (yyval.interm.type).setMatrix(3, 4); } -#line 7232 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */ +#line 7243 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */ break; case 297: @@ -7239,7 +7250,7 @@ yyreduce: (yyval.interm.type).basicType = EbtFloat16; (yyval.interm.type).setMatrix(4, 2); } -#line 7243 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */ +#line 7254 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */ break; case 298: @@ -7250,7 +7261,7 @@ yyreduce: (yyval.interm.type).basicType = EbtFloat16; (yyval.interm.type).setMatrix(4, 3); } -#line 7254 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */ +#line 7265 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */ break; case 299: @@ -7261,7 +7272,7 @@ yyreduce: (yyval.interm.type).basicType = EbtFloat16; (yyval.interm.type).setMatrix(4, 4); } -#line 7265 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */ +#line 7276 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */ break; case 300: @@ -7272,7 +7283,7 @@ yyreduce: (yyval.interm.type).basicType = EbtFloat; (yyval.interm.type).setMatrix(2, 2); } -#line 7276 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */ +#line 7287 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */ break; case 301: @@ -7283,7 +7294,7 @@ yyreduce: (yyval.interm.type).basicType = EbtFloat; (yyval.interm.type).setMatrix(3, 3); } -#line 7287 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */ +#line 7298 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */ break; case 302: @@ -7294,7 +7305,7 @@ yyreduce: (yyval.interm.type).basicType = EbtFloat; (yyval.interm.type).setMatrix(4, 4); } -#line 7298 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */ +#line 7309 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */ break; case 303: @@ -7305,7 +7316,7 @@ yyreduce: (yyval.interm.type).basicType = EbtFloat; (yyval.interm.type).setMatrix(2, 2); } -#line 7309 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */ +#line 7320 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */ break; case 304: @@ -7316,7 +7327,7 @@ yyreduce: (yyval.interm.type).basicType = EbtFloat; (yyval.interm.type).setMatrix(2, 3); } -#line 7320 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */ +#line 7331 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */ break; case 305: @@ -7327,7 +7338,7 @@ yyreduce: (yyval.interm.type).basicType = EbtFloat; (yyval.interm.type).setMatrix(2, 4); } -#line 7331 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */ +#line 7342 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */ break; case 306: @@ -7338,7 +7349,7 @@ yyreduce: (yyval.interm.type).basicType = EbtFloat; (yyval.interm.type).setMatrix(3, 2); } -#line 7342 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */ +#line 7353 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */ break; case 307: @@ -7349,7 +7360,7 @@ yyreduce: (yyval.interm.type).basicType = EbtFloat; (yyval.interm.type).setMatrix(3, 3); } -#line 7353 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */ +#line 7364 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */ break; case 308: @@ -7360,7 +7371,7 @@ yyreduce: (yyval.interm.type).basicType = EbtFloat; (yyval.interm.type).setMatrix(3, 4); } -#line 7364 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */ +#line 7375 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */ break; case 309: @@ -7371,7 +7382,7 @@ yyreduce: (yyval.interm.type).basicType = EbtFloat; (yyval.interm.type).setMatrix(4, 2); } -#line 7375 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */ +#line 7386 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */ break; case 310: @@ -7382,7 +7393,7 @@ yyreduce: (yyval.interm.type).basicType = EbtFloat; (yyval.interm.type).setMatrix(4, 3); } -#line 7386 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */ +#line 7397 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */ break; case 311: @@ -7393,7 +7404,7 @@ yyreduce: (yyval.interm.type).basicType = EbtFloat; (yyval.interm.type).setMatrix(4, 4); } -#line 7397 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */ +#line 7408 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */ break; case 312: @@ -7404,7 +7415,7 @@ yyreduce: (yyval.interm.type).basicType = EbtDouble; (yyval.interm.type).setMatrix(2, 2); } -#line 7408 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */ +#line 7419 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */ break; case 313: @@ -7415,7 +7426,7 @@ yyreduce: (yyval.interm.type).basicType = EbtDouble; (yyval.interm.type).setMatrix(3, 3); } -#line 7419 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */ +#line 7430 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */ break; case 314: @@ -7426,7 +7437,7 @@ yyreduce: (yyval.interm.type).basicType = EbtDouble; (yyval.interm.type).setMatrix(4, 4); } -#line 7430 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */ +#line 7441 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */ break; case 315: @@ -7437,7 +7448,7 @@ yyreduce: (yyval.interm.type).basicType = EbtDouble; (yyval.interm.type).setMatrix(2, 2); } -#line 7441 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */ +#line 7452 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */ break; case 316: @@ -7448,7 +7459,7 @@ yyreduce: (yyval.interm.type).basicType = EbtDouble; (yyval.interm.type).setMatrix(2, 3); } -#line 7452 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */ +#line 7463 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */ break; case 317: @@ -7459,7 +7470,7 @@ yyreduce: (yyval.interm.type).basicType = EbtDouble; (yyval.interm.type).setMatrix(2, 4); } -#line 7463 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */ +#line 7474 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */ break; case 318: @@ -7470,7 +7481,7 @@ yyreduce: (yyval.interm.type).basicType = EbtDouble; (yyval.interm.type).setMatrix(3, 2); } -#line 7474 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */ +#line 7485 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */ break; case 319: @@ -7481,7 +7492,7 @@ yyreduce: (yyval.interm.type).basicType = EbtDouble; (yyval.interm.type).setMatrix(3, 3); } -#line 7485 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */ +#line 7496 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */ break; case 320: @@ -7492,7 +7503,7 @@ yyreduce: (yyval.interm.type).basicType = EbtDouble; (yyval.interm.type).setMatrix(3, 4); } -#line 7496 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */ +#line 7507 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */ break; case 321: @@ -7503,7 +7514,7 @@ yyreduce: (yyval.interm.type).basicType = EbtDouble; (yyval.interm.type).setMatrix(4, 2); } -#line 7507 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */ +#line 7518 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */ break; case 322: @@ -7514,7 +7525,7 @@ yyreduce: (yyval.interm.type).basicType = EbtDouble; (yyval.interm.type).setMatrix(4, 3); } -#line 7518 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */ +#line 7529 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */ break; case 323: @@ -7525,7 +7536,7 @@ yyreduce: (yyval.interm.type).basicType = EbtDouble; (yyval.interm.type).setMatrix(4, 4); } -#line 7529 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */ +#line 7540 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */ break; case 324: @@ -7534,7 +7545,7 @@ yyreduce: (yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel()); (yyval.interm.type).basicType = EbtAccStructNV; } -#line 7538 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */ +#line 7549 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */ break; case 325: @@ -7544,7 +7555,7 @@ yyreduce: (yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel()); (yyval.interm.type).basicType = EbtAtomicUint; } -#line 7548 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */ +#line 7559 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */ break; case 326: @@ -7554,7 +7565,7 @@ yyreduce: (yyval.interm.type).basicType = EbtSampler; (yyval.interm.type).sampler.set(EbtFloat, Esd1D); } -#line 7558 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */ +#line 7569 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */ break; case 327: @@ -7564,7 +7575,7 @@ yyreduce: (yyval.interm.type).basicType = EbtSampler; (yyval.interm.type).sampler.set(EbtFloat, Esd2D); } -#line 7568 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */ +#line 7579 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */ break; case 328: @@ -7574,7 +7585,7 @@ yyreduce: (yyval.interm.type).basicType = EbtSampler; (yyval.interm.type).sampler.set(EbtFloat, Esd3D); } -#line 7578 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */ +#line 7589 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */ break; case 329: @@ -7584,7 +7595,7 @@ yyreduce: (yyval.interm.type).basicType = EbtSampler; (yyval.interm.type).sampler.set(EbtFloat, EsdCube); } -#line 7588 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */ +#line 7599 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */ break; case 330: @@ -7594,7 +7605,7 @@ yyreduce: (yyval.interm.type).basicType = EbtSampler; (yyval.interm.type).sampler.set(EbtFloat, Esd2D, false, true); } -#line 7598 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */ +#line 7609 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */ break; case 331: @@ -7604,7 +7615,7 @@ yyreduce: (yyval.interm.type).basicType = EbtSampler; (yyval.interm.type).sampler.set(EbtFloat, EsdCube, false, true); } -#line 7608 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */ +#line 7619 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */ break; case 332: @@ -7614,7 +7625,7 @@ yyreduce: (yyval.interm.type).basicType = EbtSampler; (yyval.interm.type).sampler.set(EbtFloat, Esd1D, false, true); } -#line 7618 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */ +#line 7629 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */ break; case 333: @@ -7624,7 +7635,7 @@ yyreduce: (yyval.interm.type).basicType = EbtSampler; (yyval.interm.type).sampler.set(EbtFloat, Esd1D, true); } -#line 7628 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */ +#line 7639 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */ break; case 334: @@ -7634,7 +7645,7 @@ yyreduce: (yyval.interm.type).basicType = EbtSampler; (yyval.interm.type).sampler.set(EbtFloat, Esd1D, true, true); } -#line 7638 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */ +#line 7649 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */ break; case 335: @@ -7644,7 +7655,7 @@ yyreduce: (yyval.interm.type).basicType = EbtSampler; (yyval.interm.type).sampler.set(EbtFloat, Esd2D, true); } -#line 7648 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */ +#line 7659 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */ break; case 336: @@ -7654,7 +7665,7 @@ yyreduce: (yyval.interm.type).basicType = EbtSampler; (yyval.interm.type).sampler.set(EbtFloat, Esd2D, true, true); } -#line 7658 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */ +#line 7669 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */ break; case 337: @@ -7664,7 +7675,7 @@ yyreduce: (yyval.interm.type).basicType = EbtSampler; (yyval.interm.type).sampler.set(EbtFloat, EsdCube, true); } -#line 7668 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */ +#line 7679 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */ break; case 338: @@ -7674,7 +7685,7 @@ yyreduce: (yyval.interm.type).basicType = EbtSampler; (yyval.interm.type).sampler.set(EbtFloat, EsdCube, true, true); } -#line 7678 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */ +#line 7689 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */ break; case 339: @@ -7685,7 +7696,7 @@ yyreduce: (yyval.interm.type).basicType = EbtSampler; (yyval.interm.type).sampler.set(EbtFloat16, Esd1D); } -#line 7689 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */ +#line 7700 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */ break; case 340: @@ -7696,7 +7707,7 @@ yyreduce: (yyval.interm.type).basicType = EbtSampler; (yyval.interm.type).sampler.set(EbtFloat16, Esd2D); } -#line 7700 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */ +#line 7711 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */ break; case 341: @@ -7707,7 +7718,7 @@ yyreduce: (yyval.interm.type).basicType = EbtSampler; (yyval.interm.type).sampler.set(EbtFloat16, Esd3D); } -#line 7711 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */ +#line 7722 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */ break; case 342: @@ -7718,7 +7729,7 @@ yyreduce: (yyval.interm.type).basicType = EbtSampler; (yyval.interm.type).sampler.set(EbtFloat16, EsdCube); } -#line 7722 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */ +#line 7733 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */ break; case 343: @@ -7729,7 +7740,7 @@ yyreduce: (yyval.interm.type).basicType = EbtSampler; (yyval.interm.type).sampler.set(EbtFloat16, Esd1D, false, true); } -#line 7733 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */ +#line 7744 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */ break; case 344: @@ -7740,7 +7751,7 @@ yyreduce: (yyval.interm.type).basicType = EbtSampler; (yyval.interm.type).sampler.set(EbtFloat16, Esd2D, false, true); } -#line 7744 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */ +#line 7755 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */ break; case 345: @@ -7751,7 +7762,7 @@ yyreduce: (yyval.interm.type).basicType = EbtSampler; (yyval.interm.type).sampler.set(EbtFloat16, EsdCube, false, true); } -#line 7755 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */ +#line 7766 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */ break; case 346: @@ -7762,7 +7773,7 @@ yyreduce: (yyval.interm.type).basicType = EbtSampler; (yyval.interm.type).sampler.set(EbtFloat16, Esd1D, true); } -#line 7766 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */ +#line 7777 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */ break; case 347: @@ -7773,7 +7784,7 @@ yyreduce: (yyval.interm.type).basicType = EbtSampler; (yyval.interm.type).sampler.set(EbtFloat16, Esd2D, true); } -#line 7777 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */ +#line 7788 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */ break; case 348: @@ -7784,7 +7795,7 @@ yyreduce: (yyval.interm.type).basicType = EbtSampler; (yyval.interm.type).sampler.set(EbtFloat16, Esd1D, true, true); } -#line 7788 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */ +#line 7799 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */ break; case 349: @@ -7795,7 +7806,7 @@ yyreduce: (yyval.interm.type).basicType = EbtSampler; (yyval.interm.type).sampler.set(EbtFloat16, Esd2D, true, true); } -#line 7799 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */ +#line 7810 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */ break; case 350: @@ -7806,7 +7817,7 @@ yyreduce: (yyval.interm.type).basicType = EbtSampler; (yyval.interm.type).sampler.set(EbtFloat16, EsdCube, true); } -#line 7810 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */ +#line 7821 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */ break; case 351: @@ -7817,7 +7828,7 @@ yyreduce: (yyval.interm.type).basicType = EbtSampler; (yyval.interm.type).sampler.set(EbtFloat16, EsdCube, true, true); } -#line 7821 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */ +#line 7832 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */ break; case 352: @@ -7827,7 +7838,7 @@ yyreduce: (yyval.interm.type).basicType = EbtSampler; (yyval.interm.type).sampler.set(EbtInt, Esd1D); } -#line 7831 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */ +#line 7842 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */ break; case 353: @@ -7837,7 +7848,7 @@ yyreduce: (yyval.interm.type).basicType = EbtSampler; (yyval.interm.type).sampler.set(EbtInt, Esd2D); } -#line 7841 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */ +#line 7852 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */ break; case 354: @@ -7847,7 +7858,7 @@ yyreduce: (yyval.interm.type).basicType = EbtSampler; (yyval.interm.type).sampler.set(EbtInt, Esd3D); } -#line 7851 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */ +#line 7862 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */ break; case 355: @@ -7857,7 +7868,7 @@ yyreduce: (yyval.interm.type).basicType = EbtSampler; (yyval.interm.type).sampler.set(EbtInt, EsdCube); } -#line 7861 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */ +#line 7872 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */ break; case 356: @@ -7867,7 +7878,7 @@ yyreduce: (yyval.interm.type).basicType = EbtSampler; (yyval.interm.type).sampler.set(EbtInt, Esd1D, true); } -#line 7871 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */ +#line 7882 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */ break; case 357: @@ -7877,7 +7888,7 @@ yyreduce: (yyval.interm.type).basicType = EbtSampler; (yyval.interm.type).sampler.set(EbtInt, Esd2D, true); } -#line 7881 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */ +#line 7892 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */ break; case 358: @@ -7887,7 +7898,7 @@ yyreduce: (yyval.interm.type).basicType = EbtSampler; (yyval.interm.type).sampler.set(EbtInt, EsdCube, true); } -#line 7891 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */ +#line 7902 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */ break; case 359: @@ -7897,7 +7908,7 @@ yyreduce: (yyval.interm.type).basicType = EbtSampler; (yyval.interm.type).sampler.set(EbtUint, Esd1D); } -#line 7901 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */ +#line 7912 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */ break; case 360: @@ -7907,7 +7918,7 @@ yyreduce: (yyval.interm.type).basicType = EbtSampler; (yyval.interm.type).sampler.set(EbtUint, Esd2D); } -#line 7911 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */ +#line 7922 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */ break; case 361: @@ -7917,7 +7928,7 @@ yyreduce: (yyval.interm.type).basicType = EbtSampler; (yyval.interm.type).sampler.set(EbtUint, Esd3D); } -#line 7921 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */ +#line 7932 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */ break; case 362: @@ -7927,7 +7938,7 @@ yyreduce: (yyval.interm.type).basicType = EbtSampler; (yyval.interm.type).sampler.set(EbtUint, EsdCube); } -#line 7931 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */ +#line 7942 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */ break; case 363: @@ -7937,7 +7948,7 @@ yyreduce: (yyval.interm.type).basicType = EbtSampler; (yyval.interm.type).sampler.set(EbtUint, Esd1D, true); } -#line 7941 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */ +#line 7952 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */ break; case 364: @@ -7947,7 +7958,7 @@ yyreduce: (yyval.interm.type).basicType = EbtSampler; (yyval.interm.type).sampler.set(EbtUint, Esd2D, true); } -#line 7951 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */ +#line 7962 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */ break; case 365: @@ -7957,7 +7968,7 @@ yyreduce: (yyval.interm.type).basicType = EbtSampler; (yyval.interm.type).sampler.set(EbtUint, EsdCube, true); } -#line 7961 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */ +#line 7972 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */ break; case 366: @@ -7967,7 +7978,7 @@ yyreduce: (yyval.interm.type).basicType = EbtSampler; (yyval.interm.type).sampler.set(EbtFloat, EsdRect); } -#line 7971 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */ +#line 7982 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */ break; case 367: @@ -7977,7 +7988,7 @@ yyreduce: (yyval.interm.type).basicType = EbtSampler; (yyval.interm.type).sampler.set(EbtFloat, EsdRect, false, true); } -#line 7981 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */ +#line 7992 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */ break; case 368: @@ -7988,7 +7999,7 @@ yyreduce: (yyval.interm.type).basicType = EbtSampler; (yyval.interm.type).sampler.set(EbtFloat16, EsdRect); } -#line 7992 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */ +#line 8003 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */ break; case 369: @@ -7999,7 +8010,7 @@ yyreduce: (yyval.interm.type).basicType = EbtSampler; (yyval.interm.type).sampler.set(EbtFloat16, EsdRect, false, true); } -#line 8003 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */ +#line 8014 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */ break; case 370: @@ -8009,7 +8020,7 @@ yyreduce: (yyval.interm.type).basicType = EbtSampler; (yyval.interm.type).sampler.set(EbtInt, EsdRect); } -#line 8013 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */ +#line 8024 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */ break; case 371: @@ -8019,7 +8030,7 @@ yyreduce: (yyval.interm.type).basicType = EbtSampler; (yyval.interm.type).sampler.set(EbtUint, EsdRect); } -#line 8023 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */ +#line 8034 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */ break; case 372: @@ -8029,7 +8040,7 @@ yyreduce: (yyval.interm.type).basicType = EbtSampler; (yyval.interm.type).sampler.set(EbtFloat, EsdBuffer); } -#line 8033 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */ +#line 8044 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */ break; case 373: @@ -8040,7 +8051,7 @@ yyreduce: (yyval.interm.type).basicType = EbtSampler; (yyval.interm.type).sampler.set(EbtFloat16, EsdBuffer); } -#line 8044 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */ +#line 8055 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */ break; case 374: @@ -8050,7 +8061,7 @@ yyreduce: (yyval.interm.type).basicType = EbtSampler; (yyval.interm.type).sampler.set(EbtInt, EsdBuffer); } -#line 8054 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */ +#line 8065 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */ break; case 375: @@ -8060,7 +8071,7 @@ yyreduce: (yyval.interm.type).basicType = EbtSampler; (yyval.interm.type).sampler.set(EbtUint, EsdBuffer); } -#line 8064 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */ +#line 8075 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */ break; case 376: @@ -8070,7 +8081,7 @@ yyreduce: (yyval.interm.type).basicType = EbtSampler; (yyval.interm.type).sampler.set(EbtFloat, Esd2D, false, false, true); } -#line 8074 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */ +#line 8085 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */ break; case 377: @@ -8081,7 +8092,7 @@ yyreduce: (yyval.interm.type).basicType = EbtSampler; (yyval.interm.type).sampler.set(EbtFloat16, Esd2D, false, false, true); } -#line 8085 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */ +#line 8096 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */ break; case 378: @@ -8091,7 +8102,7 @@ yyreduce: (yyval.interm.type).basicType = EbtSampler; (yyval.interm.type).sampler.set(EbtInt, Esd2D, false, false, true); } -#line 8095 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */ +#line 8106 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */ break; case 379: @@ -8101,7 +8112,7 @@ yyreduce: (yyval.interm.type).basicType = EbtSampler; (yyval.interm.type).sampler.set(EbtUint, Esd2D, false, false, true); } -#line 8105 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */ +#line 8116 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */ break; case 380: @@ -8111,7 +8122,7 @@ yyreduce: (yyval.interm.type).basicType = EbtSampler; (yyval.interm.type).sampler.set(EbtFloat, Esd2D, true, false, true); } -#line 8115 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */ +#line 8126 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */ break; case 381: @@ -8122,7 +8133,7 @@ yyreduce: (yyval.interm.type).basicType = EbtSampler; (yyval.interm.type).sampler.set(EbtFloat16, Esd2D, true, false, true); } -#line 8126 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */ +#line 8137 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */ break; case 382: @@ -8132,7 +8143,7 @@ yyreduce: (yyval.interm.type).basicType = EbtSampler; (yyval.interm.type).sampler.set(EbtInt, Esd2D, true, false, true); } -#line 8136 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */ +#line 8147 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */ break; case 383: @@ -8142,7 +8153,7 @@ yyreduce: (yyval.interm.type).basicType = EbtSampler; (yyval.interm.type).sampler.set(EbtUint, Esd2D, true, false, true); } -#line 8146 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */ +#line 8157 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */ break; case 384: @@ -8152,7 +8163,7 @@ yyreduce: (yyval.interm.type).basicType = EbtSampler; (yyval.interm.type).sampler.setPureSampler(false); } -#line 8156 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */ +#line 8167 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */ break; case 385: @@ -8162,7 +8173,7 @@ yyreduce: (yyval.interm.type).basicType = EbtSampler; (yyval.interm.type).sampler.setPureSampler(true); } -#line 8166 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */ +#line 8177 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */ break; case 386: @@ -8172,7 +8183,7 @@ yyreduce: (yyval.interm.type).basicType = EbtSampler; (yyval.interm.type).sampler.setTexture(EbtFloat, Esd1D); } -#line 8176 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */ +#line 8187 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */ break; case 387: @@ -8183,7 +8194,7 @@ yyreduce: (yyval.interm.type).basicType = EbtSampler; (yyval.interm.type).sampler.setTexture(EbtFloat16, Esd1D); } -#line 8187 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */ +#line 8198 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */ break; case 388: @@ -8193,7 +8204,7 @@ yyreduce: (yyval.interm.type).basicType = EbtSampler; (yyval.interm.type).sampler.setTexture(EbtFloat, Esd2D); } -#line 8197 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */ +#line 8208 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */ break; case 389: @@ -8204,7 +8215,7 @@ yyreduce: (yyval.interm.type).basicType = EbtSampler; (yyval.interm.type).sampler.setTexture(EbtFloat16, Esd2D); } -#line 8208 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */ +#line 8219 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */ break; case 390: @@ -8214,7 +8225,7 @@ yyreduce: (yyval.interm.type).basicType = EbtSampler; (yyval.interm.type).sampler.setTexture(EbtFloat, Esd3D); } -#line 8218 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */ +#line 8229 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */ break; case 391: @@ -8225,7 +8236,7 @@ yyreduce: (yyval.interm.type).basicType = EbtSampler; (yyval.interm.type).sampler.setTexture(EbtFloat16, Esd3D); } -#line 8229 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */ +#line 8240 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */ break; case 392: @@ -8235,7 +8246,7 @@ yyreduce: (yyval.interm.type).basicType = EbtSampler; (yyval.interm.type).sampler.setTexture(EbtFloat, EsdCube); } -#line 8239 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */ +#line 8250 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */ break; case 393: @@ -8246,7 +8257,7 @@ yyreduce: (yyval.interm.type).basicType = EbtSampler; (yyval.interm.type).sampler.setTexture(EbtFloat16, EsdCube); } -#line 8250 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */ +#line 8261 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */ break; case 394: @@ -8256,7 +8267,7 @@ yyreduce: (yyval.interm.type).basicType = EbtSampler; (yyval.interm.type).sampler.setTexture(EbtFloat, Esd1D, true); } -#line 8260 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */ +#line 8271 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */ break; case 395: @@ -8267,7 +8278,7 @@ yyreduce: (yyval.interm.type).basicType = EbtSampler; (yyval.interm.type).sampler.setTexture(EbtFloat16, Esd1D, true); } -#line 8271 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */ +#line 8282 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */ break; case 396: @@ -8277,7 +8288,7 @@ yyreduce: (yyval.interm.type).basicType = EbtSampler; (yyval.interm.type).sampler.setTexture(EbtFloat, Esd2D, true); } -#line 8281 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */ +#line 8292 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */ break; case 397: @@ -8288,7 +8299,7 @@ yyreduce: (yyval.interm.type).basicType = EbtSampler; (yyval.interm.type).sampler.setTexture(EbtFloat16, Esd2D, true); } -#line 8292 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */ +#line 8303 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */ break; case 398: @@ -8298,7 +8309,7 @@ yyreduce: (yyval.interm.type).basicType = EbtSampler; (yyval.interm.type).sampler.setTexture(EbtFloat, EsdCube, true); } -#line 8302 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */ +#line 8313 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */ break; case 399: @@ -8309,7 +8320,7 @@ yyreduce: (yyval.interm.type).basicType = EbtSampler; (yyval.interm.type).sampler.setTexture(EbtFloat16, EsdCube, true); } -#line 8313 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */ +#line 8324 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */ break; case 400: @@ -8319,7 +8330,7 @@ yyreduce: (yyval.interm.type).basicType = EbtSampler; (yyval.interm.type).sampler.setTexture(EbtInt, Esd1D); } -#line 8323 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */ +#line 8334 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */ break; case 401: @@ -8329,7 +8340,7 @@ yyreduce: (yyval.interm.type).basicType = EbtSampler; (yyval.interm.type).sampler.setTexture(EbtInt, Esd2D); } -#line 8333 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */ +#line 8344 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */ break; case 402: @@ -8339,7 +8350,7 @@ yyreduce: (yyval.interm.type).basicType = EbtSampler; (yyval.interm.type).sampler.setTexture(EbtInt, Esd3D); } -#line 8343 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */ +#line 8354 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */ break; case 403: @@ -8349,7 +8360,7 @@ yyreduce: (yyval.interm.type).basicType = EbtSampler; (yyval.interm.type).sampler.setTexture(EbtInt, EsdCube); } -#line 8353 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */ +#line 8364 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */ break; case 404: @@ -8359,7 +8370,7 @@ yyreduce: (yyval.interm.type).basicType = EbtSampler; (yyval.interm.type).sampler.setTexture(EbtInt, Esd1D, true); } -#line 8363 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */ +#line 8374 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */ break; case 405: @@ -8369,7 +8380,7 @@ yyreduce: (yyval.interm.type).basicType = EbtSampler; (yyval.interm.type).sampler.setTexture(EbtInt, Esd2D, true); } -#line 8373 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */ +#line 8384 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */ break; case 406: @@ -8379,7 +8390,7 @@ yyreduce: (yyval.interm.type).basicType = EbtSampler; (yyval.interm.type).sampler.setTexture(EbtInt, EsdCube, true); } -#line 8383 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */ +#line 8394 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */ break; case 407: @@ -8389,7 +8400,7 @@ yyreduce: (yyval.interm.type).basicType = EbtSampler; (yyval.interm.type).sampler.setTexture(EbtUint, Esd1D); } -#line 8393 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */ +#line 8404 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */ break; case 408: @@ -8399,7 +8410,7 @@ yyreduce: (yyval.interm.type).basicType = EbtSampler; (yyval.interm.type).sampler.setTexture(EbtUint, Esd2D); } -#line 8403 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */ +#line 8414 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */ break; case 409: @@ -8409,7 +8420,7 @@ yyreduce: (yyval.interm.type).basicType = EbtSampler; (yyval.interm.type).sampler.setTexture(EbtUint, Esd3D); } -#line 8413 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */ +#line 8424 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */ break; case 410: @@ -8419,7 +8430,7 @@ yyreduce: (yyval.interm.type).basicType = EbtSampler; (yyval.interm.type).sampler.setTexture(EbtUint, EsdCube); } -#line 8423 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */ +#line 8434 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */ break; case 411: @@ -8429,7 +8440,7 @@ yyreduce: (yyval.interm.type).basicType = EbtSampler; (yyval.interm.type).sampler.setTexture(EbtUint, Esd1D, true); } -#line 8433 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */ +#line 8444 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */ break; case 412: @@ -8439,7 +8450,7 @@ yyreduce: (yyval.interm.type).basicType = EbtSampler; (yyval.interm.type).sampler.setTexture(EbtUint, Esd2D, true); } -#line 8443 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */ +#line 8454 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */ break; case 413: @@ -8449,7 +8460,7 @@ yyreduce: (yyval.interm.type).basicType = EbtSampler; (yyval.interm.type).sampler.setTexture(EbtUint, EsdCube, true); } -#line 8453 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */ +#line 8464 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */ break; case 414: @@ -8459,7 +8470,7 @@ yyreduce: (yyval.interm.type).basicType = EbtSampler; (yyval.interm.type).sampler.setTexture(EbtFloat, EsdRect); } -#line 8463 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */ +#line 8474 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */ break; case 415: @@ -8470,7 +8481,7 @@ yyreduce: (yyval.interm.type).basicType = EbtSampler; (yyval.interm.type).sampler.setTexture(EbtFloat16, EsdRect); } -#line 8474 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */ +#line 8485 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */ break; case 416: @@ -8480,7 +8491,7 @@ yyreduce: (yyval.interm.type).basicType = EbtSampler; (yyval.interm.type).sampler.setTexture(EbtInt, EsdRect); } -#line 8484 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */ +#line 8495 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */ break; case 417: @@ -8490,7 +8501,7 @@ yyreduce: (yyval.interm.type).basicType = EbtSampler; (yyval.interm.type).sampler.setTexture(EbtUint, EsdRect); } -#line 8494 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */ +#line 8505 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */ break; case 418: @@ -8500,7 +8511,7 @@ yyreduce: (yyval.interm.type).basicType = EbtSampler; (yyval.interm.type).sampler.setTexture(EbtFloat, EsdBuffer); } -#line 8504 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */ +#line 8515 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */ break; case 419: @@ -8511,7 +8522,7 @@ yyreduce: (yyval.interm.type).basicType = EbtSampler; (yyval.interm.type).sampler.setTexture(EbtFloat16, EsdBuffer); } -#line 8515 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */ +#line 8526 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */ break; case 420: @@ -8521,7 +8532,7 @@ yyreduce: (yyval.interm.type).basicType = EbtSampler; (yyval.interm.type).sampler.setTexture(EbtInt, EsdBuffer); } -#line 8525 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */ +#line 8536 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */ break; case 421: @@ -8531,7 +8542,7 @@ yyreduce: (yyval.interm.type).basicType = EbtSampler; (yyval.interm.type).sampler.setTexture(EbtUint, EsdBuffer); } -#line 8535 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */ +#line 8546 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */ break; case 422: @@ -8541,7 +8552,7 @@ yyreduce: (yyval.interm.type).basicType = EbtSampler; (yyval.interm.type).sampler.setTexture(EbtFloat, Esd2D, false, false, true); } -#line 8545 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */ +#line 8556 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */ break; case 423: @@ -8552,7 +8563,7 @@ yyreduce: (yyval.interm.type).basicType = EbtSampler; (yyval.interm.type).sampler.setTexture(EbtFloat16, Esd2D, false, false, true); } -#line 8556 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */ +#line 8567 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */ break; case 424: @@ -8562,7 +8573,7 @@ yyreduce: (yyval.interm.type).basicType = EbtSampler; (yyval.interm.type).sampler.setTexture(EbtInt, Esd2D, false, false, true); } -#line 8566 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */ +#line 8577 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */ break; case 425: @@ -8572,7 +8583,7 @@ yyreduce: (yyval.interm.type).basicType = EbtSampler; (yyval.interm.type).sampler.setTexture(EbtUint, Esd2D, false, false, true); } -#line 8576 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */ +#line 8587 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */ break; case 426: @@ -8582,7 +8593,7 @@ yyreduce: (yyval.interm.type).basicType = EbtSampler; (yyval.interm.type).sampler.setTexture(EbtFloat, Esd2D, true, false, true); } -#line 8586 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */ +#line 8597 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */ break; case 427: @@ -8593,7 +8604,7 @@ yyreduce: (yyval.interm.type).basicType = EbtSampler; (yyval.interm.type).sampler.setTexture(EbtFloat16, Esd2D, true, false, true); } -#line 8597 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */ +#line 8608 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */ break; case 428: @@ -8603,7 +8614,7 @@ yyreduce: (yyval.interm.type).basicType = EbtSampler; (yyval.interm.type).sampler.setTexture(EbtInt, Esd2D, true, false, true); } -#line 8607 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */ +#line 8618 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */ break; case 429: @@ -8613,7 +8624,7 @@ yyreduce: (yyval.interm.type).basicType = EbtSampler; (yyval.interm.type).sampler.setTexture(EbtUint, Esd2D, true, false, true); } -#line 8617 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */ +#line 8628 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */ break; case 430: @@ -8623,7 +8634,7 @@ yyreduce: (yyval.interm.type).basicType = EbtSampler; (yyval.interm.type).sampler.setImage(EbtFloat, Esd1D); } -#line 8627 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */ +#line 8638 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */ break; case 431: @@ -8634,7 +8645,7 @@ yyreduce: (yyval.interm.type).basicType = EbtSampler; (yyval.interm.type).sampler.setImage(EbtFloat16, Esd1D); } -#line 8638 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */ +#line 8649 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */ break; case 432: @@ -8644,7 +8655,7 @@ yyreduce: (yyval.interm.type).basicType = EbtSampler; (yyval.interm.type).sampler.setImage(EbtInt, Esd1D); } -#line 8648 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */ +#line 8659 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */ break; case 433: @@ -8654,7 +8665,7 @@ yyreduce: (yyval.interm.type).basicType = EbtSampler; (yyval.interm.type).sampler.setImage(EbtUint, Esd1D); } -#line 8658 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */ +#line 8669 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */ break; case 434: @@ -8664,7 +8675,7 @@ yyreduce: (yyval.interm.type).basicType = EbtSampler; (yyval.interm.type).sampler.setImage(EbtFloat, Esd2D); } -#line 8668 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */ +#line 8679 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */ break; case 435: @@ -8675,7 +8686,7 @@ yyreduce: (yyval.interm.type).basicType = EbtSampler; (yyval.interm.type).sampler.setImage(EbtFloat16, Esd2D); } -#line 8679 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */ +#line 8690 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */ break; case 436: @@ -8685,7 +8696,7 @@ yyreduce: (yyval.interm.type).basicType = EbtSampler; (yyval.interm.type).sampler.setImage(EbtInt, Esd2D); } -#line 8689 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */ +#line 8700 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */ break; case 437: @@ -8695,7 +8706,7 @@ yyreduce: (yyval.interm.type).basicType = EbtSampler; (yyval.interm.type).sampler.setImage(EbtUint, Esd2D); } -#line 8699 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */ +#line 8710 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */ break; case 438: @@ -8705,7 +8716,7 @@ yyreduce: (yyval.interm.type).basicType = EbtSampler; (yyval.interm.type).sampler.setImage(EbtFloat, Esd3D); } -#line 8709 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */ +#line 8720 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */ break; case 439: @@ -8716,7 +8727,7 @@ yyreduce: (yyval.interm.type).basicType = EbtSampler; (yyval.interm.type).sampler.setImage(EbtFloat16, Esd3D); } -#line 8720 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */ +#line 8731 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */ break; case 440: @@ -8726,7 +8737,7 @@ yyreduce: (yyval.interm.type).basicType = EbtSampler; (yyval.interm.type).sampler.setImage(EbtInt, Esd3D); } -#line 8730 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */ +#line 8741 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */ break; case 441: @@ -8736,7 +8747,7 @@ yyreduce: (yyval.interm.type).basicType = EbtSampler; (yyval.interm.type).sampler.setImage(EbtUint, Esd3D); } -#line 8740 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */ +#line 8751 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */ break; case 442: @@ -8746,7 +8757,7 @@ yyreduce: (yyval.interm.type).basicType = EbtSampler; (yyval.interm.type).sampler.setImage(EbtFloat, EsdRect); } -#line 8750 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */ +#line 8761 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */ break; case 443: @@ -8757,7 +8768,7 @@ yyreduce: (yyval.interm.type).basicType = EbtSampler; (yyval.interm.type).sampler.setImage(EbtFloat16, EsdRect); } -#line 8761 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */ +#line 8772 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */ break; case 444: @@ -8767,7 +8778,7 @@ yyreduce: (yyval.interm.type).basicType = EbtSampler; (yyval.interm.type).sampler.setImage(EbtInt, EsdRect); } -#line 8771 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */ +#line 8782 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */ break; case 445: @@ -8777,7 +8788,7 @@ yyreduce: (yyval.interm.type).basicType = EbtSampler; (yyval.interm.type).sampler.setImage(EbtUint, EsdRect); } -#line 8781 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */ +#line 8792 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */ break; case 446: @@ -8787,7 +8798,7 @@ yyreduce: (yyval.interm.type).basicType = EbtSampler; (yyval.interm.type).sampler.setImage(EbtFloat, EsdCube); } -#line 8791 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */ +#line 8802 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */ break; case 447: @@ -8798,7 +8809,7 @@ yyreduce: (yyval.interm.type).basicType = EbtSampler; (yyval.interm.type).sampler.setImage(EbtFloat16, EsdCube); } -#line 8802 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */ +#line 8813 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */ break; case 448: @@ -8808,7 +8819,7 @@ yyreduce: (yyval.interm.type).basicType = EbtSampler; (yyval.interm.type).sampler.setImage(EbtInt, EsdCube); } -#line 8812 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */ +#line 8823 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */ break; case 449: @@ -8818,7 +8829,7 @@ yyreduce: (yyval.interm.type).basicType = EbtSampler; (yyval.interm.type).sampler.setImage(EbtUint, EsdCube); } -#line 8822 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */ +#line 8833 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */ break; case 450: @@ -8828,7 +8839,7 @@ yyreduce: (yyval.interm.type).basicType = EbtSampler; (yyval.interm.type).sampler.setImage(EbtFloat, EsdBuffer); } -#line 8832 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */ +#line 8843 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */ break; case 451: @@ -8839,7 +8850,7 @@ yyreduce: (yyval.interm.type).basicType = EbtSampler; (yyval.interm.type).sampler.setImage(EbtFloat16, EsdBuffer); } -#line 8843 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */ +#line 8854 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */ break; case 452: @@ -8849,7 +8860,7 @@ yyreduce: (yyval.interm.type).basicType = EbtSampler; (yyval.interm.type).sampler.setImage(EbtInt, EsdBuffer); } -#line 8853 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */ +#line 8864 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */ break; case 453: @@ -8859,7 +8870,7 @@ yyreduce: (yyval.interm.type).basicType = EbtSampler; (yyval.interm.type).sampler.setImage(EbtUint, EsdBuffer); } -#line 8863 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */ +#line 8874 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */ break; case 454: @@ -8869,7 +8880,7 @@ yyreduce: (yyval.interm.type).basicType = EbtSampler; (yyval.interm.type).sampler.setImage(EbtFloat, Esd1D, true); } -#line 8873 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */ +#line 8884 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */ break; case 455: @@ -8880,7 +8891,7 @@ yyreduce: (yyval.interm.type).basicType = EbtSampler; (yyval.interm.type).sampler.setImage(EbtFloat16, Esd1D, true); } -#line 8884 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */ +#line 8895 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */ break; case 456: @@ -8890,7 +8901,7 @@ yyreduce: (yyval.interm.type).basicType = EbtSampler; (yyval.interm.type).sampler.setImage(EbtInt, Esd1D, true); } -#line 8894 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */ +#line 8905 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */ break; case 457: @@ -8900,7 +8911,7 @@ yyreduce: (yyval.interm.type).basicType = EbtSampler; (yyval.interm.type).sampler.setImage(EbtUint, Esd1D, true); } -#line 8904 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */ +#line 8915 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */ break; case 458: @@ -8910,7 +8921,7 @@ yyreduce: (yyval.interm.type).basicType = EbtSampler; (yyval.interm.type).sampler.setImage(EbtFloat, Esd2D, true); } -#line 8914 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */ +#line 8925 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */ break; case 459: @@ -8921,7 +8932,7 @@ yyreduce: (yyval.interm.type).basicType = EbtSampler; (yyval.interm.type).sampler.setImage(EbtFloat16, Esd2D, true); } -#line 8925 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */ +#line 8936 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */ break; case 460: @@ -8931,7 +8942,7 @@ yyreduce: (yyval.interm.type).basicType = EbtSampler; (yyval.interm.type).sampler.setImage(EbtInt, Esd2D, true); } -#line 8935 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */ +#line 8946 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */ break; case 461: @@ -8941,7 +8952,7 @@ yyreduce: (yyval.interm.type).basicType = EbtSampler; (yyval.interm.type).sampler.setImage(EbtUint, Esd2D, true); } -#line 8945 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */ +#line 8956 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */ break; case 462: @@ -8951,7 +8962,7 @@ yyreduce: (yyval.interm.type).basicType = EbtSampler; (yyval.interm.type).sampler.setImage(EbtFloat, EsdCube, true); } -#line 8955 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */ +#line 8966 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */ break; case 463: @@ -8962,7 +8973,7 @@ yyreduce: (yyval.interm.type).basicType = EbtSampler; (yyval.interm.type).sampler.setImage(EbtFloat16, EsdCube, true); } -#line 8966 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */ +#line 8977 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */ break; case 464: @@ -8972,7 +8983,7 @@ yyreduce: (yyval.interm.type).basicType = EbtSampler; (yyval.interm.type).sampler.setImage(EbtInt, EsdCube, true); } -#line 8976 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */ +#line 8987 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */ break; case 465: @@ -8982,7 +8993,7 @@ yyreduce: (yyval.interm.type).basicType = EbtSampler; (yyval.interm.type).sampler.setImage(EbtUint, EsdCube, true); } -#line 8986 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */ +#line 8997 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */ break; case 466: @@ -8992,7 +9003,7 @@ yyreduce: (yyval.interm.type).basicType = EbtSampler; (yyval.interm.type).sampler.setImage(EbtFloat, Esd2D, false, false, true); } -#line 8996 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */ +#line 9007 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */ break; case 467: @@ -9003,7 +9014,7 @@ yyreduce: (yyval.interm.type).basicType = EbtSampler; (yyval.interm.type).sampler.setImage(EbtFloat16, Esd2D, false, false, true); } -#line 9007 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */ +#line 9018 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */ break; case 468: @@ -9013,7 +9024,7 @@ yyreduce: (yyval.interm.type).basicType = EbtSampler; (yyval.interm.type).sampler.setImage(EbtInt, Esd2D, false, false, true); } -#line 9017 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */ +#line 9028 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */ break; case 469: @@ -9023,7 +9034,7 @@ yyreduce: (yyval.interm.type).basicType = EbtSampler; (yyval.interm.type).sampler.setImage(EbtUint, Esd2D, false, false, true); } -#line 9027 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */ +#line 9038 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */ break; case 470: @@ -9033,7 +9044,7 @@ yyreduce: (yyval.interm.type).basicType = EbtSampler; (yyval.interm.type).sampler.setImage(EbtFloat, Esd2D, true, false, true); } -#line 9037 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */ +#line 9048 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */ break; case 471: @@ -9044,7 +9055,7 @@ yyreduce: (yyval.interm.type).basicType = EbtSampler; (yyval.interm.type).sampler.setImage(EbtFloat16, Esd2D, true, false, true); } -#line 9048 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */ +#line 9059 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */ break; case 472: @@ -9054,7 +9065,7 @@ yyreduce: (yyval.interm.type).basicType = EbtSampler; (yyval.interm.type).sampler.setImage(EbtInt, Esd2D, true, false, true); } -#line 9058 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */ +#line 9069 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */ break; case 473: @@ -9064,7 +9075,7 @@ yyreduce: (yyval.interm.type).basicType = EbtSampler; (yyval.interm.type).sampler.setImage(EbtUint, Esd2D, true, false, true); } -#line 9068 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */ +#line 9079 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */ break; case 474: @@ -9075,7 +9086,7 @@ yyreduce: (yyval.interm.type).sampler.set(EbtFloat, Esd2D); (yyval.interm.type).sampler.external = true; } -#line 9079 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */ +#line 9090 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */ break; case 475: @@ -9086,7 +9097,7 @@ yyreduce: (yyval.interm.type).sampler.set(EbtFloat, Esd2D); (yyval.interm.type).sampler.yuv = true; } -#line 9090 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */ +#line 9101 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */ break; case 476: @@ -9097,7 +9108,7 @@ yyreduce: (yyval.interm.type).basicType = EbtSampler; (yyval.interm.type).sampler.setSubpass(EbtFloat); } -#line 9101 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */ +#line 9112 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */ break; case 477: @@ -9108,7 +9119,7 @@ yyreduce: (yyval.interm.type).basicType = EbtSampler; (yyval.interm.type).sampler.setSubpass(EbtFloat, true); } -#line 9112 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */ +#line 9123 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */ break; case 478: @@ -9120,7 +9131,7 @@ yyreduce: (yyval.interm.type).basicType = EbtSampler; (yyval.interm.type).sampler.setSubpass(EbtFloat16); } -#line 9124 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */ +#line 9135 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */ break; case 479: @@ -9132,7 +9143,7 @@ yyreduce: (yyval.interm.type).basicType = EbtSampler; (yyval.interm.type).sampler.setSubpass(EbtFloat16, true); } -#line 9136 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */ +#line 9147 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */ break; case 480: @@ -9143,7 +9154,7 @@ yyreduce: (yyval.interm.type).basicType = EbtSampler; (yyval.interm.type).sampler.setSubpass(EbtInt); } -#line 9147 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */ +#line 9158 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */ break; case 481: @@ -9154,7 +9165,7 @@ yyreduce: (yyval.interm.type).basicType = EbtSampler; (yyval.interm.type).sampler.setSubpass(EbtInt, true); } -#line 9158 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */ +#line 9169 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */ break; case 482: @@ -9165,7 +9176,7 @@ yyreduce: (yyval.interm.type).basicType = EbtSampler; (yyval.interm.type).sampler.setSubpass(EbtUint); } -#line 9169 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */ +#line 9180 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */ break; case 483: @@ -9176,7 +9187,7 @@ yyreduce: (yyval.interm.type).basicType = EbtSampler; (yyval.interm.type).sampler.setSubpass(EbtUint, true); } -#line 9180 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */ +#line 9191 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */ break; case 484: @@ -9187,21 +9198,43 @@ yyreduce: (yyval.interm.type).basicType = EbtFloat; (yyval.interm.type).coopmat = true; } -#line 9191 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */ +#line 9202 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */ break; case 485: -#line 3187 "MachineIndependent/glslang.y" /* yacc.c:1646 */ +#line 3186 "MachineIndependent/glslang.y" /* yacc.c:1646 */ + { + parseContext.intcoopmatCheck((yyvsp[0].lex).loc, "icoopmatNV", parseContext.symbolTable.atBuiltInLevel()); + (yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel()); + (yyval.interm.type).basicType = EbtInt; + (yyval.interm.type).coopmat = true; + } +#line 9213 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */ + break; + + case 486: +#line 3192 "MachineIndependent/glslang.y" /* yacc.c:1646 */ + { + parseContext.intcoopmatCheck((yyvsp[0].lex).loc, "ucoopmatNV", parseContext.symbolTable.atBuiltInLevel()); + (yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel()); + (yyval.interm.type).basicType = EbtUint; + (yyval.interm.type).coopmat = true; + } +#line 9224 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */ + break; + + case 487: +#line 3199 "MachineIndependent/glslang.y" /* yacc.c:1646 */ { (yyval.interm.type) = (yyvsp[0].interm.type); (yyval.interm.type).qualifier.storage = parseContext.symbolTable.atGlobalLevel() ? EvqGlobal : EvqTemporary; parseContext.structTypeCheck((yyval.interm.type).loc, (yyval.interm.type)); } -#line 9201 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */ +#line 9234 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */ break; - case 486: -#line 3192 "MachineIndependent/glslang.y" /* yacc.c:1646 */ + case 488: +#line 3204 "MachineIndependent/glslang.y" /* yacc.c:1646 */ { // // This is for user defined type names. The lexical phase looked up the @@ -9215,47 +9248,47 @@ yyreduce: } else parseContext.error((yyvsp[0].lex).loc, "expected type name", (yyvsp[0].lex).string->c_str(), ""); } -#line 9219 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */ +#line 9252 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */ break; - case 487: -#line 3208 "MachineIndependent/glslang.y" /* yacc.c:1646 */ + case 489: +#line 3220 "MachineIndependent/glslang.y" /* yacc.c:1646 */ { parseContext.profileRequires((yyvsp[0].lex).loc, ENoProfile, 130, 0, "highp precision qualifier"); (yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel()); parseContext.handlePrecisionQualifier((yyvsp[0].lex).loc, (yyval.interm.type).qualifier, EpqHigh); } -#line 9229 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */ +#line 9262 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */ break; - case 488: -#line 3213 "MachineIndependent/glslang.y" /* yacc.c:1646 */ + case 490: +#line 3225 "MachineIndependent/glslang.y" /* yacc.c:1646 */ { parseContext.profileRequires((yyvsp[0].lex).loc, ENoProfile, 130, 0, "mediump precision qualifier"); (yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel()); parseContext.handlePrecisionQualifier((yyvsp[0].lex).loc, (yyval.interm.type).qualifier, EpqMedium); } -#line 9239 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */ +#line 9272 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */ break; - case 489: -#line 3218 "MachineIndependent/glslang.y" /* yacc.c:1646 */ + case 491: +#line 3230 "MachineIndependent/glslang.y" /* yacc.c:1646 */ { parseContext.profileRequires((yyvsp[0].lex).loc, ENoProfile, 130, 0, "lowp precision qualifier"); (yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel()); parseContext.handlePrecisionQualifier((yyvsp[0].lex).loc, (yyval.interm.type).qualifier, EpqLow); } -#line 9249 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */ +#line 9282 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */ break; - case 490: -#line 3226 "MachineIndependent/glslang.y" /* yacc.c:1646 */ + case 492: +#line 3238 "MachineIndependent/glslang.y" /* yacc.c:1646 */ { parseContext.nestedStructCheck((yyvsp[-2].lex).loc); } -#line 9255 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */ +#line 9288 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */ break; - case 491: -#line 3226 "MachineIndependent/glslang.y" /* yacc.c:1646 */ + case 493: +#line 3238 "MachineIndependent/glslang.y" /* yacc.c:1646 */ { TType* structure = new TType((yyvsp[-1].interm.typeList), *(yyvsp[-4].lex).string); parseContext.structArrayCheck((yyvsp[-4].lex).loc, *structure); @@ -9267,17 +9300,17 @@ yyreduce: (yyval.interm.type).userDef = structure; --parseContext.structNestingLevel; } -#line 9271 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */ +#line 9304 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */ break; - case 492: -#line 3237 "MachineIndependent/glslang.y" /* yacc.c:1646 */ + case 494: +#line 3249 "MachineIndependent/glslang.y" /* yacc.c:1646 */ { parseContext.nestedStructCheck((yyvsp[-1].lex).loc); } -#line 9277 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */ +#line 9310 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */ break; - case 493: -#line 3237 "MachineIndependent/glslang.y" /* yacc.c:1646 */ + case 495: +#line 3249 "MachineIndependent/glslang.y" /* yacc.c:1646 */ { TType* structure = new TType((yyvsp[-1].interm.typeList), TString("")); (yyval.interm.type).init((yyvsp[-4].lex).loc); @@ -9285,19 +9318,19 @@ yyreduce: (yyval.interm.type).userDef = structure; --parseContext.structNestingLevel; } -#line 9289 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */ +#line 9322 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */ break; - case 494: -#line 3247 "MachineIndependent/glslang.y" /* yacc.c:1646 */ + case 496: +#line 3259 "MachineIndependent/glslang.y" /* yacc.c:1646 */ { (yyval.interm.typeList) = (yyvsp[0].interm.typeList); } -#line 9297 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */ +#line 9330 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */ break; - case 495: -#line 3250 "MachineIndependent/glslang.y" /* yacc.c:1646 */ + case 497: +#line 3262 "MachineIndependent/glslang.y" /* yacc.c:1646 */ { (yyval.interm.typeList) = (yyvsp[-1].interm.typeList); for (unsigned int i = 0; i < (yyvsp[0].interm.typeList)->size(); ++i) { @@ -9308,11 +9341,11 @@ yyreduce: (yyval.interm.typeList)->push_back((*(yyvsp[0].interm.typeList))[i]); } } -#line 9312 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */ +#line 9345 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */ break; - case 496: -#line 3263 "MachineIndependent/glslang.y" /* yacc.c:1646 */ + case 498: +#line 3275 "MachineIndependent/glslang.y" /* yacc.c:1646 */ { if ((yyvsp[-2].interm.type).arraySizes) { parseContext.profileRequires((yyvsp[-2].interm.type).loc, ENoProfile, 120, E_GL_3DL_array_objects, "arrayed type"); @@ -9335,11 +9368,11 @@ yyreduce: (*(yyval.interm.typeList))[i].type->shallowCopy(type); } } -#line 9339 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */ +#line 9372 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */ break; - case 497: -#line 3285 "MachineIndependent/glslang.y" /* yacc.c:1646 */ + case 499: +#line 3297 "MachineIndependent/glslang.y" /* yacc.c:1646 */ { if ((yyvsp[-2].interm.type).arraySizes) { parseContext.profileRequires((yyvsp[-2].interm.type).loc, ENoProfile, 120, E_GL_3DL_array_objects, "arrayed type"); @@ -9364,38 +9397,38 @@ yyreduce: (*(yyval.interm.typeList))[i].type->shallowCopy(type); } } -#line 9368 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */ +#line 9401 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */ break; - case 498: -#line 3312 "MachineIndependent/glslang.y" /* yacc.c:1646 */ + case 500: +#line 3324 "MachineIndependent/glslang.y" /* yacc.c:1646 */ { (yyval.interm.typeList) = new TTypeList; (yyval.interm.typeList)->push_back((yyvsp[0].interm.typeLine)); } -#line 9377 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */ +#line 9410 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */ break; - case 499: -#line 3316 "MachineIndependent/glslang.y" /* yacc.c:1646 */ + case 501: +#line 3328 "MachineIndependent/glslang.y" /* yacc.c:1646 */ { (yyval.interm.typeList)->push_back((yyvsp[0].interm.typeLine)); } -#line 9385 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */ +#line 9418 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */ break; - case 500: -#line 3322 "MachineIndependent/glslang.y" /* yacc.c:1646 */ + case 502: +#line 3334 "MachineIndependent/glslang.y" /* yacc.c:1646 */ { (yyval.interm.typeLine).type = new TType(EbtVoid); (yyval.interm.typeLine).loc = (yyvsp[0].lex).loc; (yyval.interm.typeLine).type->setFieldName(*(yyvsp[0].lex).string); } -#line 9395 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */ +#line 9428 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */ break; - case 501: -#line 3327 "MachineIndependent/glslang.y" /* yacc.c:1646 */ + case 503: +#line 3339 "MachineIndependent/glslang.y" /* yacc.c:1646 */ { parseContext.arrayOfArrayVersionCheck((yyvsp[-1].lex).loc, (yyvsp[0].interm).arraySizes); @@ -9404,235 +9437,235 @@ yyreduce: (yyval.interm.typeLine).type->setFieldName(*(yyvsp[-1].lex).string); (yyval.interm.typeLine).type->transferArraySizes((yyvsp[0].interm).arraySizes); } -#line 9408 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */ +#line 9441 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */ break; - case 502: -#line 3338 "MachineIndependent/glslang.y" /* yacc.c:1646 */ + case 504: +#line 3350 "MachineIndependent/glslang.y" /* yacc.c:1646 */ { (yyval.interm.intermTypedNode) = (yyvsp[0].interm.intermTypedNode); } -#line 9416 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */ +#line 9449 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */ break; - case 503: -#line 3342 "MachineIndependent/glslang.y" /* yacc.c:1646 */ + case 505: +#line 3354 "MachineIndependent/glslang.y" /* yacc.c:1646 */ { const char* initFeature = "{ } style initializers"; parseContext.requireProfile((yyvsp[-2].lex).loc, ~EEsProfile, initFeature); parseContext.profileRequires((yyvsp[-2].lex).loc, ~EEsProfile, 420, E_GL_ARB_shading_language_420pack, initFeature); (yyval.interm.intermTypedNode) = (yyvsp[-1].interm.intermTypedNode); } -#line 9427 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */ +#line 9460 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */ break; - case 504: -#line 3348 "MachineIndependent/glslang.y" /* yacc.c:1646 */ + case 506: +#line 3360 "MachineIndependent/glslang.y" /* yacc.c:1646 */ { const char* initFeature = "{ } style initializers"; parseContext.requireProfile((yyvsp[-3].lex).loc, ~EEsProfile, initFeature); parseContext.profileRequires((yyvsp[-3].lex).loc, ~EEsProfile, 420, E_GL_ARB_shading_language_420pack, initFeature); (yyval.interm.intermTypedNode) = (yyvsp[-2].interm.intermTypedNode); } -#line 9438 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */ - break; - - case 505: -#line 3359 "MachineIndependent/glslang.y" /* yacc.c:1646 */ - { - (yyval.interm.intermTypedNode) = parseContext.intermediate.growAggregate(0, (yyvsp[0].interm.intermTypedNode), (yyvsp[0].interm.intermTypedNode)->getLoc()); - } -#line 9446 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */ - break; - - case 506: -#line 3362 "MachineIndependent/glslang.y" /* yacc.c:1646 */ - { - (yyval.interm.intermTypedNode) = parseContext.intermediate.growAggregate((yyvsp[-2].interm.intermTypedNode), (yyvsp[0].interm.intermTypedNode)); - } -#line 9454 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */ +#line 9471 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */ break; case 507: -#line 3369 "MachineIndependent/glslang.y" /* yacc.c:1646 */ - { (yyval.interm.intermNode) = (yyvsp[0].interm.intermNode); } -#line 9460 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */ +#line 3371 "MachineIndependent/glslang.y" /* yacc.c:1646 */ + { + (yyval.interm.intermTypedNode) = parseContext.intermediate.growAggregate(0, (yyvsp[0].interm.intermTypedNode), (yyvsp[0].interm.intermTypedNode)->getLoc()); + } +#line 9479 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */ break; case 508: -#line 3373 "MachineIndependent/glslang.y" /* yacc.c:1646 */ - { (yyval.interm.intermNode) = (yyvsp[0].interm.intermNode); } -#line 9466 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */ +#line 3374 "MachineIndependent/glslang.y" /* yacc.c:1646 */ + { + (yyval.interm.intermTypedNode) = parseContext.intermediate.growAggregate((yyvsp[-2].interm.intermTypedNode), (yyvsp[0].interm.intermTypedNode)); + } +#line 9487 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */ break; case 509: -#line 3374 "MachineIndependent/glslang.y" /* yacc.c:1646 */ +#line 3381 "MachineIndependent/glslang.y" /* yacc.c:1646 */ { (yyval.interm.intermNode) = (yyvsp[0].interm.intermNode); } -#line 9472 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */ +#line 9493 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */ break; case 510: -#line 3380 "MachineIndependent/glslang.y" /* yacc.c:1646 */ +#line 3385 "MachineIndependent/glslang.y" /* yacc.c:1646 */ { (yyval.interm.intermNode) = (yyvsp[0].interm.intermNode); } -#line 9478 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */ +#line 9499 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */ break; case 511: -#line 3381 "MachineIndependent/glslang.y" /* yacc.c:1646 */ +#line 3386 "MachineIndependent/glslang.y" /* yacc.c:1646 */ { (yyval.interm.intermNode) = (yyvsp[0].interm.intermNode); } -#line 9484 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */ +#line 9505 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */ break; case 512: -#line 3382 "MachineIndependent/glslang.y" /* yacc.c:1646 */ +#line 3392 "MachineIndependent/glslang.y" /* yacc.c:1646 */ { (yyval.interm.intermNode) = (yyvsp[0].interm.intermNode); } -#line 9490 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */ +#line 9511 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */ break; case 513: -#line 3383 "MachineIndependent/glslang.y" /* yacc.c:1646 */ +#line 3393 "MachineIndependent/glslang.y" /* yacc.c:1646 */ { (yyval.interm.intermNode) = (yyvsp[0].interm.intermNode); } -#line 9496 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */ +#line 9517 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */ break; case 514: -#line 3384 "MachineIndependent/glslang.y" /* yacc.c:1646 */ +#line 3394 "MachineIndependent/glslang.y" /* yacc.c:1646 */ { (yyval.interm.intermNode) = (yyvsp[0].interm.intermNode); } -#line 9502 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */ +#line 9523 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */ break; case 515: -#line 3385 "MachineIndependent/glslang.y" /* yacc.c:1646 */ +#line 3395 "MachineIndependent/glslang.y" /* yacc.c:1646 */ { (yyval.interm.intermNode) = (yyvsp[0].interm.intermNode); } -#line 9508 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */ +#line 9529 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */ break; case 516: -#line 3386 "MachineIndependent/glslang.y" /* yacc.c:1646 */ +#line 3396 "MachineIndependent/glslang.y" /* yacc.c:1646 */ { (yyval.interm.intermNode) = (yyvsp[0].interm.intermNode); } -#line 9514 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */ +#line 9535 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */ break; case 517: -#line 3388 "MachineIndependent/glslang.y" /* yacc.c:1646 */ +#line 3397 "MachineIndependent/glslang.y" /* yacc.c:1646 */ { (yyval.interm.intermNode) = (yyvsp[0].interm.intermNode); } -#line 9520 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */ +#line 9541 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */ break; case 518: -#line 3394 "MachineIndependent/glslang.y" /* yacc.c:1646 */ +#line 3398 "MachineIndependent/glslang.y" /* yacc.c:1646 */ + { (yyval.interm.intermNode) = (yyvsp[0].interm.intermNode); } +#line 9547 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */ + break; + + case 519: +#line 3400 "MachineIndependent/glslang.y" /* yacc.c:1646 */ + { (yyval.interm.intermNode) = (yyvsp[0].interm.intermNode); } +#line 9553 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */ + break; + + case 520: +#line 3406 "MachineIndependent/glslang.y" /* yacc.c:1646 */ { parseContext.requireStage((yyvsp[-1].lex).loc, EShLangFragment, "demote"); parseContext.requireExtensions((yyvsp[-1].lex).loc, 1, &E_GL_EXT_demote_to_helper_invocation, "demote"); (yyval.interm.intermNode) = parseContext.intermediate.addBranch(EOpDemote, (yyvsp[-1].lex).loc); } -#line 9530 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */ +#line 9563 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */ break; - case 519: -#line 3403 "MachineIndependent/glslang.y" /* yacc.c:1646 */ + case 521: +#line 3415 "MachineIndependent/glslang.y" /* yacc.c:1646 */ { (yyval.interm.intermNode) = 0; } -#line 9536 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */ +#line 9569 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */ break; - case 520: -#line 3404 "MachineIndependent/glslang.y" /* yacc.c:1646 */ + case 522: +#line 3416 "MachineIndependent/glslang.y" /* yacc.c:1646 */ { parseContext.symbolTable.push(); ++parseContext.statementNestingLevel; } -#line 9545 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */ +#line 9578 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */ break; - case 521: -#line 3408 "MachineIndependent/glslang.y" /* yacc.c:1646 */ + case 523: +#line 3420 "MachineIndependent/glslang.y" /* yacc.c:1646 */ { parseContext.symbolTable.pop(&parseContext.defaultPrecision[0]); --parseContext.statementNestingLevel; } -#line 9554 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */ +#line 9587 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */ break; - case 522: -#line 3412 "MachineIndependent/glslang.y" /* yacc.c:1646 */ + case 524: +#line 3424 "MachineIndependent/glslang.y" /* yacc.c:1646 */ { if ((yyvsp[-2].interm.intermNode) && (yyvsp[-2].interm.intermNode)->getAsAggregate()) (yyvsp[-2].interm.intermNode)->getAsAggregate()->setOperator(EOpSequence); (yyval.interm.intermNode) = (yyvsp[-2].interm.intermNode); } -#line 9564 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */ - break; - - case 523: -#line 3420 "MachineIndependent/glslang.y" /* yacc.c:1646 */ - { (yyval.interm.intermNode) = (yyvsp[0].interm.intermNode); } -#line 9570 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */ - break; - - case 524: -#line 3421 "MachineIndependent/glslang.y" /* yacc.c:1646 */ - { (yyval.interm.intermNode) = (yyvsp[0].interm.intermNode); } -#line 9576 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */ +#line 9597 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */ break; case 525: -#line 3425 "MachineIndependent/glslang.y" /* yacc.c:1646 */ - { - ++parseContext.controlFlowNestingLevel; - } -#line 9584 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */ +#line 3432 "MachineIndependent/glslang.y" /* yacc.c:1646 */ + { (yyval.interm.intermNode) = (yyvsp[0].interm.intermNode); } +#line 9603 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */ break; case 526: -#line 3428 "MachineIndependent/glslang.y" /* yacc.c:1646 */ +#line 3433 "MachineIndependent/glslang.y" /* yacc.c:1646 */ + { (yyval.interm.intermNode) = (yyvsp[0].interm.intermNode); } +#line 9609 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */ + break; + + case 527: +#line 3437 "MachineIndependent/glslang.y" /* yacc.c:1646 */ + { + ++parseContext.controlFlowNestingLevel; + } +#line 9617 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */ + break; + + case 528: +#line 3440 "MachineIndependent/glslang.y" /* yacc.c:1646 */ { --parseContext.controlFlowNestingLevel; (yyval.interm.intermNode) = (yyvsp[0].interm.intermNode); } -#line 9593 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */ +#line 9626 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */ break; - case 527: -#line 3432 "MachineIndependent/glslang.y" /* yacc.c:1646 */ + case 529: +#line 3444 "MachineIndependent/glslang.y" /* yacc.c:1646 */ { parseContext.symbolTable.push(); ++parseContext.statementNestingLevel; ++parseContext.controlFlowNestingLevel; } -#line 9603 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */ +#line 9636 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */ break; - case 528: -#line 3437 "MachineIndependent/glslang.y" /* yacc.c:1646 */ + case 530: +#line 3449 "MachineIndependent/glslang.y" /* yacc.c:1646 */ { parseContext.symbolTable.pop(&parseContext.defaultPrecision[0]); --parseContext.statementNestingLevel; --parseContext.controlFlowNestingLevel; (yyval.interm.intermNode) = (yyvsp[0].interm.intermNode); } -#line 9614 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */ +#line 9647 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */ break; - case 529: -#line 3446 "MachineIndependent/glslang.y" /* yacc.c:1646 */ + case 531: +#line 3458 "MachineIndependent/glslang.y" /* yacc.c:1646 */ { (yyval.interm.intermNode) = 0; } -#line 9622 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */ +#line 9655 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */ break; - case 530: -#line 3449 "MachineIndependent/glslang.y" /* yacc.c:1646 */ + case 532: +#line 3461 "MachineIndependent/glslang.y" /* yacc.c:1646 */ { if ((yyvsp[-1].interm.intermNode) && (yyvsp[-1].interm.intermNode)->getAsAggregate()) (yyvsp[-1].interm.intermNode)->getAsAggregate()->setOperator(EOpSequence); (yyval.interm.intermNode) = (yyvsp[-1].interm.intermNode); } -#line 9632 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */ +#line 9665 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */ break; - case 531: -#line 3457 "MachineIndependent/glslang.y" /* yacc.c:1646 */ + case 533: +#line 3469 "MachineIndependent/glslang.y" /* yacc.c:1646 */ { (yyval.interm.intermNode) = parseContext.intermediate.makeAggregate((yyvsp[0].interm.intermNode)); if ((yyvsp[0].interm.intermNode) && (yyvsp[0].interm.intermNode)->getAsBranchNode() && ((yyvsp[0].interm.intermNode)->getAsBranchNode()->getFlowOp() == EOpCase || @@ -9641,11 +9674,11 @@ yyreduce: (yyval.interm.intermNode) = 0; // start a fresh subsequence for what's after this case } } -#line 9645 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */ +#line 9678 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */ break; - case 532: -#line 3465 "MachineIndependent/glslang.y" /* yacc.c:1646 */ + case 534: +#line 3477 "MachineIndependent/glslang.y" /* yacc.c:1646 */ { if ((yyvsp[0].interm.intermNode) && (yyvsp[0].interm.intermNode)->getAsBranchNode() && ((yyvsp[0].interm.intermNode)->getAsBranchNode()->getFlowOp() == EOpCase || (yyvsp[0].interm.intermNode)->getAsBranchNode()->getFlowOp() == EOpDefault)) { @@ -9654,76 +9687,76 @@ yyreduce: } else (yyval.interm.intermNode) = parseContext.intermediate.growAggregate((yyvsp[-1].interm.intermNode), (yyvsp[0].interm.intermNode)); } -#line 9658 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */ - break; - - case 533: -#line 3476 "MachineIndependent/glslang.y" /* yacc.c:1646 */ - { (yyval.interm.intermNode) = 0; } -#line 9664 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */ - break; - - case 534: -#line 3477 "MachineIndependent/glslang.y" /* yacc.c:1646 */ - { (yyval.interm.intermNode) = static_cast((yyvsp[-1].interm.intermTypedNode)); } -#line 9670 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */ +#line 9691 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */ break; case 535: -#line 3481 "MachineIndependent/glslang.y" /* yacc.c:1646 */ - { - (yyval.interm.intermNode) = (yyvsp[0].interm.intermNode); - } -#line 9678 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */ +#line 3488 "MachineIndependent/glslang.y" /* yacc.c:1646 */ + { (yyval.interm.intermNode) = 0; } +#line 9697 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */ break; case 536: -#line 3485 "MachineIndependent/glslang.y" /* yacc.c:1646 */ +#line 3489 "MachineIndependent/glslang.y" /* yacc.c:1646 */ + { (yyval.interm.intermNode) = static_cast((yyvsp[-1].interm.intermTypedNode)); } +#line 9703 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */ + break; + + case 537: +#line 3493 "MachineIndependent/glslang.y" /* yacc.c:1646 */ + { + (yyval.interm.intermNode) = (yyvsp[0].interm.intermNode); + } +#line 9711 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */ + break; + + case 538: +#line 3497 "MachineIndependent/glslang.y" /* yacc.c:1646 */ { parseContext.handleSelectionAttributes(*(yyvsp[-1].interm.attributes), (yyvsp[0].interm.intermNode)); (yyval.interm.intermNode) = (yyvsp[0].interm.intermNode); } -#line 9687 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */ +#line 9720 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */ break; - case 537: -#line 3492 "MachineIndependent/glslang.y" /* yacc.c:1646 */ + case 539: +#line 3504 "MachineIndependent/glslang.y" /* yacc.c:1646 */ { parseContext.boolCheck((yyvsp[-4].lex).loc, (yyvsp[-2].interm.intermTypedNode)); (yyval.interm.intermNode) = parseContext.intermediate.addSelection((yyvsp[-2].interm.intermTypedNode), (yyvsp[0].interm.nodePair), (yyvsp[-4].lex).loc); } -#line 9696 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */ - break; - - case 538: -#line 3499 "MachineIndependent/glslang.y" /* yacc.c:1646 */ - { - (yyval.interm.nodePair).node1 = (yyvsp[-2].interm.intermNode); - (yyval.interm.nodePair).node2 = (yyvsp[0].interm.intermNode); - } -#line 9705 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */ - break; - - case 539: -#line 3503 "MachineIndependent/glslang.y" /* yacc.c:1646 */ - { - (yyval.interm.nodePair).node1 = (yyvsp[0].interm.intermNode); - (yyval.interm.nodePair).node2 = 0; - } -#line 9714 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */ +#line 9729 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */ break; case 540: #line 3511 "MachineIndependent/glslang.y" /* yacc.c:1646 */ { - (yyval.interm.intermTypedNode) = (yyvsp[0].interm.intermTypedNode); - parseContext.boolCheck((yyvsp[0].interm.intermTypedNode)->getLoc(), (yyvsp[0].interm.intermTypedNode)); + (yyval.interm.nodePair).node1 = (yyvsp[-2].interm.intermNode); + (yyval.interm.nodePair).node2 = (yyvsp[0].interm.intermNode); } -#line 9723 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */ +#line 9738 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */ break; case 541: #line 3515 "MachineIndependent/glslang.y" /* yacc.c:1646 */ + { + (yyval.interm.nodePair).node1 = (yyvsp[0].interm.intermNode); + (yyval.interm.nodePair).node2 = 0; + } +#line 9747 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */ + break; + + case 542: +#line 3523 "MachineIndependent/glslang.y" /* yacc.c:1646 */ + { + (yyval.interm.intermTypedNode) = (yyvsp[0].interm.intermTypedNode); + parseContext.boolCheck((yyvsp[0].interm.intermTypedNode)->getLoc(), (yyvsp[0].interm.intermTypedNode)); + } +#line 9756 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */ + break; + + case 543: +#line 3527 "MachineIndependent/glslang.y" /* yacc.c:1646 */ { parseContext.boolCheck((yyvsp[-2].lex).loc, (yyvsp[-3].interm.type)); @@ -9734,28 +9767,28 @@ yyreduce: else (yyval.interm.intermTypedNode) = 0; } -#line 9738 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */ +#line 9771 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */ break; - case 542: -#line 3528 "MachineIndependent/glslang.y" /* yacc.c:1646 */ + case 544: +#line 3540 "MachineIndependent/glslang.y" /* yacc.c:1646 */ { (yyval.interm.intermNode) = (yyvsp[0].interm.intermNode); } -#line 9746 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */ +#line 9779 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */ break; - case 543: -#line 3532 "MachineIndependent/glslang.y" /* yacc.c:1646 */ + case 545: +#line 3544 "MachineIndependent/glslang.y" /* yacc.c:1646 */ { parseContext.handleSwitchAttributes(*(yyvsp[-1].interm.attributes), (yyvsp[0].interm.intermNode)); (yyval.interm.intermNode) = (yyvsp[0].interm.intermNode); } -#line 9755 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */ +#line 9788 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */ break; - case 544: -#line 3539 "MachineIndependent/glslang.y" /* yacc.c:1646 */ + case 546: +#line 3551 "MachineIndependent/glslang.y" /* yacc.c:1646 */ { // start new switch sequence on the switch stack ++parseContext.controlFlowNestingLevel; @@ -9764,11 +9797,11 @@ yyreduce: parseContext.switchLevel.push_back(parseContext.statementNestingLevel); parseContext.symbolTable.push(); } -#line 9768 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */ +#line 9801 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */ break; - case 545: -#line 3547 "MachineIndependent/glslang.y" /* yacc.c:1646 */ + case 547: +#line 3559 "MachineIndependent/glslang.y" /* yacc.c:1646 */ { (yyval.interm.intermNode) = parseContext.addSwitch((yyvsp[-7].lex).loc, (yyvsp[-5].interm.intermTypedNode), (yyvsp[-1].interm.intermNode) ? (yyvsp[-1].interm.intermNode)->getAsAggregate() : 0); delete parseContext.switchSequenceStack.back(); @@ -9778,27 +9811,27 @@ yyreduce: --parseContext.statementNestingLevel; --parseContext.controlFlowNestingLevel; } -#line 9782 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */ - break; - - case 546: -#line 3559 "MachineIndependent/glslang.y" /* yacc.c:1646 */ - { - (yyval.interm.intermNode) = 0; - } -#line 9790 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */ - break; - - case 547: -#line 3562 "MachineIndependent/glslang.y" /* yacc.c:1646 */ - { - (yyval.interm.intermNode) = (yyvsp[0].interm.intermNode); - } -#line 9798 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */ +#line 9815 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */ break; case 548: -#line 3568 "MachineIndependent/glslang.y" /* yacc.c:1646 */ +#line 3571 "MachineIndependent/glslang.y" /* yacc.c:1646 */ + { + (yyval.interm.intermNode) = 0; + } +#line 9823 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */ + break; + + case 549: +#line 3574 "MachineIndependent/glslang.y" /* yacc.c:1646 */ + { + (yyval.interm.intermNode) = (yyvsp[0].interm.intermNode); + } +#line 9831 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */ + break; + + case 550: +#line 3580 "MachineIndependent/glslang.y" /* yacc.c:1646 */ { (yyval.interm.intermNode) = 0; if (parseContext.switchLevel.size() == 0) @@ -9811,11 +9844,11 @@ yyreduce: (yyval.interm.intermNode) = parseContext.intermediate.addBranch(EOpCase, (yyvsp[-1].interm.intermTypedNode), (yyvsp[-2].lex).loc); } } -#line 9815 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */ +#line 9848 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */ break; - case 549: -#line 3580 "MachineIndependent/glslang.y" /* yacc.c:1646 */ + case 551: +#line 3592 "MachineIndependent/glslang.y" /* yacc.c:1646 */ { (yyval.interm.intermNode) = 0; if (parseContext.switchLevel.size() == 0) @@ -9825,28 +9858,28 @@ yyreduce: else (yyval.interm.intermNode) = parseContext.intermediate.addBranch(EOpDefault, (yyvsp[-1].lex).loc); } -#line 9829 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */ +#line 9862 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */ break; - case 550: -#line 3592 "MachineIndependent/glslang.y" /* yacc.c:1646 */ + case 552: +#line 3604 "MachineIndependent/glslang.y" /* yacc.c:1646 */ { (yyval.interm.intermNode) = (yyvsp[0].interm.intermNode); } -#line 9837 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */ +#line 9870 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */ break; - case 551: -#line 3596 "MachineIndependent/glslang.y" /* yacc.c:1646 */ + case 553: +#line 3608 "MachineIndependent/glslang.y" /* yacc.c:1646 */ { parseContext.handleLoopAttributes(*(yyvsp[-1].interm.attributes), (yyvsp[0].interm.intermNode)); (yyval.interm.intermNode) = (yyvsp[0].interm.intermNode); } -#line 9846 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */ +#line 9879 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */ break; - case 552: -#line 3603 "MachineIndependent/glslang.y" /* yacc.c:1646 */ + case 554: +#line 3615 "MachineIndependent/glslang.y" /* yacc.c:1646 */ { if (! parseContext.limits.whileLoops) parseContext.error((yyvsp[-1].lex).loc, "while loops not available", "limitation", ""); @@ -9855,11 +9888,11 @@ yyreduce: ++parseContext.statementNestingLevel; ++parseContext.controlFlowNestingLevel; } -#line 9859 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */ +#line 9892 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */ break; - case 553: -#line 3611 "MachineIndependent/glslang.y" /* yacc.c:1646 */ + case 555: +#line 3623 "MachineIndependent/glslang.y" /* yacc.c:1646 */ { parseContext.symbolTable.pop(&parseContext.defaultPrecision[0]); (yyval.interm.intermNode) = parseContext.intermediate.addLoop((yyvsp[0].interm.intermNode), (yyvsp[-2].interm.intermTypedNode), 0, true, (yyvsp[-5].lex).loc); @@ -9867,21 +9900,21 @@ yyreduce: --parseContext.statementNestingLevel; --parseContext.controlFlowNestingLevel; } -#line 9871 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */ +#line 9904 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */ break; - case 554: -#line 3618 "MachineIndependent/glslang.y" /* yacc.c:1646 */ + case 556: +#line 3630 "MachineIndependent/glslang.y" /* yacc.c:1646 */ { ++parseContext.loopNestingLevel; ++parseContext.statementNestingLevel; ++parseContext.controlFlowNestingLevel; } -#line 9881 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */ +#line 9914 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */ break; - case 555: -#line 3623 "MachineIndependent/glslang.y" /* yacc.c:1646 */ + case 557: +#line 3635 "MachineIndependent/glslang.y" /* yacc.c:1646 */ { if (! parseContext.limits.whileLoops) parseContext.error((yyvsp[-7].lex).loc, "do-while loops not available", "limitation", ""); @@ -9893,22 +9926,22 @@ yyreduce: --parseContext.statementNestingLevel; --parseContext.controlFlowNestingLevel; } -#line 9897 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */ +#line 9930 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */ break; - case 556: -#line 3634 "MachineIndependent/glslang.y" /* yacc.c:1646 */ + case 558: +#line 3646 "MachineIndependent/glslang.y" /* yacc.c:1646 */ { parseContext.symbolTable.push(); ++parseContext.loopNestingLevel; ++parseContext.statementNestingLevel; ++parseContext.controlFlowNestingLevel; } -#line 9908 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */ +#line 9941 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */ break; - case 557: -#line 3640 "MachineIndependent/glslang.y" /* yacc.c:1646 */ + case 559: +#line 3652 "MachineIndependent/glslang.y" /* yacc.c:1646 */ { parseContext.symbolTable.pop(&parseContext.defaultPrecision[0]); (yyval.interm.intermNode) = parseContext.intermediate.makeAggregate((yyvsp[-3].interm.intermNode), (yyvsp[-5].lex).loc); @@ -9921,81 +9954,81 @@ yyreduce: --parseContext.statementNestingLevel; --parseContext.controlFlowNestingLevel; } -#line 9925 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */ - break; - - case 558: -#line 3655 "MachineIndependent/glslang.y" /* yacc.c:1646 */ - { - (yyval.interm.intermNode) = (yyvsp[0].interm.intermNode); - } -#line 9933 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */ - break; - - case 559: -#line 3658 "MachineIndependent/glslang.y" /* yacc.c:1646 */ - { - (yyval.interm.intermNode) = (yyvsp[0].interm.intermNode); - } -#line 9941 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */ +#line 9958 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */ break; case 560: -#line 3664 "MachineIndependent/glslang.y" /* yacc.c:1646 */ - { - (yyval.interm.intermTypedNode) = (yyvsp[0].interm.intermTypedNode); - } -#line 9949 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */ - break; - - case 561: #line 3667 "MachineIndependent/glslang.y" /* yacc.c:1646 */ { - (yyval.interm.intermTypedNode) = 0; - } -#line 9957 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */ - break; - - case 562: -#line 3673 "MachineIndependent/glslang.y" /* yacc.c:1646 */ - { - (yyval.interm.nodePair).node1 = (yyvsp[-1].interm.intermTypedNode); - (yyval.interm.nodePair).node2 = 0; + (yyval.interm.intermNode) = (yyvsp[0].interm.intermNode); } #line 9966 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */ break; - case 563: -#line 3677 "MachineIndependent/glslang.y" /* yacc.c:1646 */ + case 561: +#line 3670 "MachineIndependent/glslang.y" /* yacc.c:1646 */ { - (yyval.interm.nodePair).node1 = (yyvsp[-2].interm.intermTypedNode); - (yyval.interm.nodePair).node2 = (yyvsp[0].interm.intermTypedNode); + (yyval.interm.intermNode) = (yyvsp[0].interm.intermNode); } -#line 9975 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */ +#line 9974 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */ + break; + + case 562: +#line 3676 "MachineIndependent/glslang.y" /* yacc.c:1646 */ + { + (yyval.interm.intermTypedNode) = (yyvsp[0].interm.intermTypedNode); + } +#line 9982 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */ + break; + + case 563: +#line 3679 "MachineIndependent/glslang.y" /* yacc.c:1646 */ + { + (yyval.interm.intermTypedNode) = 0; + } +#line 9990 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */ break; case 564: -#line 3684 "MachineIndependent/glslang.y" /* yacc.c:1646 */ +#line 3685 "MachineIndependent/glslang.y" /* yacc.c:1646 */ { - if (parseContext.loopNestingLevel <= 0) - parseContext.error((yyvsp[-1].lex).loc, "continue statement only allowed in loops", "", ""); - (yyval.interm.intermNode) = parseContext.intermediate.addBranch(EOpContinue, (yyvsp[-1].lex).loc); + (yyval.interm.nodePair).node1 = (yyvsp[-1].interm.intermTypedNode); + (yyval.interm.nodePair).node2 = 0; } -#line 9985 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */ +#line 9999 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */ break; case 565: #line 3689 "MachineIndependent/glslang.y" /* yacc.c:1646 */ + { + (yyval.interm.nodePair).node1 = (yyvsp[-2].interm.intermTypedNode); + (yyval.interm.nodePair).node2 = (yyvsp[0].interm.intermTypedNode); + } +#line 10008 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */ + break; + + case 566: +#line 3696 "MachineIndependent/glslang.y" /* yacc.c:1646 */ + { + if (parseContext.loopNestingLevel <= 0) + parseContext.error((yyvsp[-1].lex).loc, "continue statement only allowed in loops", "", ""); + (yyval.interm.intermNode) = parseContext.intermediate.addBranch(EOpContinue, (yyvsp[-1].lex).loc); + } +#line 10018 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */ + break; + + case 567: +#line 3701 "MachineIndependent/glslang.y" /* yacc.c:1646 */ { if (parseContext.loopNestingLevel + parseContext.switchSequenceStack.size() <= 0) parseContext.error((yyvsp[-1].lex).loc, "break statement only allowed in switch and loops", "", ""); (yyval.interm.intermNode) = parseContext.intermediate.addBranch(EOpBreak, (yyvsp[-1].lex).loc); } -#line 9995 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */ +#line 10028 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */ break; - case 566: -#line 3694 "MachineIndependent/glslang.y" /* yacc.c:1646 */ + case 568: +#line 3706 "MachineIndependent/glslang.y" /* yacc.c:1646 */ { (yyval.interm.intermNode) = parseContext.intermediate.addBranch(EOpReturn, (yyvsp[-1].lex).loc); if (parseContext.currentFunctionType->getBasicType() != EbtVoid) @@ -10003,83 +10036,83 @@ yyreduce: if (parseContext.inMain) parseContext.postEntryPointReturn = true; } -#line 10007 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */ - break; - - case 567: -#line 3701 "MachineIndependent/glslang.y" /* yacc.c:1646 */ - { - (yyval.interm.intermNode) = parseContext.handleReturnValue((yyvsp[-2].lex).loc, (yyvsp[-1].interm.intermTypedNode)); - } -#line 10015 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */ - break; - - case 568: -#line 3704 "MachineIndependent/glslang.y" /* yacc.c:1646 */ - { - parseContext.requireStage((yyvsp[-1].lex).loc, EShLangFragment, "discard"); - (yyval.interm.intermNode) = parseContext.intermediate.addBranch(EOpKill, (yyvsp[-1].lex).loc); - } -#line 10024 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */ +#line 10040 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */ break; case 569: #line 3713 "MachineIndependent/glslang.y" /* yacc.c:1646 */ { - (yyval.interm.intermNode) = (yyvsp[0].interm.intermNode); - parseContext.intermediate.setTreeRoot((yyval.interm.intermNode)); + (yyval.interm.intermNode) = parseContext.handleReturnValue((yyvsp[-2].lex).loc, (yyvsp[-1].interm.intermTypedNode)); } -#line 10033 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */ +#line 10048 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */ break; case 570: -#line 3717 "MachineIndependent/glslang.y" /* yacc.c:1646 */ +#line 3716 "MachineIndependent/glslang.y" /* yacc.c:1646 */ + { + parseContext.requireStage((yyvsp[-1].lex).loc, EShLangFragment, "discard"); + (yyval.interm.intermNode) = parseContext.intermediate.addBranch(EOpKill, (yyvsp[-1].lex).loc); + } +#line 10057 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */ + break; + + case 571: +#line 3725 "MachineIndependent/glslang.y" /* yacc.c:1646 */ + { + (yyval.interm.intermNode) = (yyvsp[0].interm.intermNode); + parseContext.intermediate.setTreeRoot((yyval.interm.intermNode)); + } +#line 10066 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */ + break; + + case 572: +#line 3729 "MachineIndependent/glslang.y" /* yacc.c:1646 */ { if ((yyvsp[0].interm.intermNode) != nullptr) { (yyval.interm.intermNode) = parseContext.intermediate.growAggregate((yyvsp[-1].interm.intermNode), (yyvsp[0].interm.intermNode)); parseContext.intermediate.setTreeRoot((yyval.interm.intermNode)); } } -#line 10044 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */ - break; - - case 571: -#line 3726 "MachineIndependent/glslang.y" /* yacc.c:1646 */ - { - (yyval.interm.intermNode) = (yyvsp[0].interm.intermNode); - } -#line 10052 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */ - break; - - case 572: -#line 3729 "MachineIndependent/glslang.y" /* yacc.c:1646 */ - { - (yyval.interm.intermNode) = (yyvsp[0].interm.intermNode); - } -#line 10060 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */ +#line 10077 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */ break; case 573: -#line 3733 "MachineIndependent/glslang.y" /* yacc.c:1646 */ +#line 3738 "MachineIndependent/glslang.y" /* yacc.c:1646 */ + { + (yyval.interm.intermNode) = (yyvsp[0].interm.intermNode); + } +#line 10085 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */ + break; + + case 574: +#line 3741 "MachineIndependent/glslang.y" /* yacc.c:1646 */ + { + (yyval.interm.intermNode) = (yyvsp[0].interm.intermNode); + } +#line 10093 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */ + break; + + case 575: +#line 3745 "MachineIndependent/glslang.y" /* yacc.c:1646 */ { parseContext.requireProfile((yyvsp[0].lex).loc, ~EEsProfile, "extraneous semicolon"); parseContext.profileRequires((yyvsp[0].lex).loc, ~EEsProfile, 460, nullptr, "extraneous semicolon"); (yyval.interm.intermNode) = nullptr; } -#line 10070 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */ +#line 10103 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */ break; - case 574: -#line 3742 "MachineIndependent/glslang.y" /* yacc.c:1646 */ + case 576: +#line 3754 "MachineIndependent/glslang.y" /* yacc.c:1646 */ { (yyvsp[0].interm).function = parseContext.handleFunctionDeclarator((yyvsp[0].interm).loc, *(yyvsp[0].interm).function, false /* not prototype */); (yyvsp[0].interm).intermNode = parseContext.handleFunctionDefinition((yyvsp[0].interm).loc, *(yyvsp[0].interm).function); } -#line 10079 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */ +#line 10112 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */ break; - case 575: -#line 3746 "MachineIndependent/glslang.y" /* yacc.c:1646 */ + case 577: +#line 3758 "MachineIndependent/glslang.y" /* yacc.c:1646 */ { // May be best done as post process phase on intermediate code if (parseContext.currentFunctionType->getBasicType() != EbtVoid && ! parseContext.functionReturnsValue) @@ -10095,52 +10128,52 @@ yyreduce: (yyval.interm.intermNode)->getAsAggregate()->setDebug(parseContext.contextPragma.debug); (yyval.interm.intermNode)->getAsAggregate()->setPragmaTable(parseContext.contextPragma.pragmaTable); } -#line 10099 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */ +#line 10132 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */ break; - case 576: -#line 3765 "MachineIndependent/glslang.y" /* yacc.c:1646 */ + case 578: +#line 3777 "MachineIndependent/glslang.y" /* yacc.c:1646 */ { (yyval.interm.attributes) = (yyvsp[-2].interm.attributes); parseContext.requireExtensions((yyvsp[-4].lex).loc, 1, &E_GL_EXT_control_flow_attributes, "attribute"); } -#line 10108 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */ - break; - - case 577: -#line 3771 "MachineIndependent/glslang.y" /* yacc.c:1646 */ - { - (yyval.interm.attributes) = (yyvsp[0].interm.attributes); - } -#line 10116 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */ - break; - - case 578: -#line 3774 "MachineIndependent/glslang.y" /* yacc.c:1646 */ - { - (yyval.interm.attributes) = parseContext.mergeAttributes((yyvsp[-2].interm.attributes), (yyvsp[0].interm.attributes)); - } -#line 10124 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */ +#line 10141 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */ break; case 579: -#line 3779 "MachineIndependent/glslang.y" /* yacc.c:1646 */ +#line 3783 "MachineIndependent/glslang.y" /* yacc.c:1646 */ { - (yyval.interm.attributes) = parseContext.makeAttributes(*(yyvsp[0].lex).string); + (yyval.interm.attributes) = (yyvsp[0].interm.attributes); } -#line 10132 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */ +#line 10149 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */ break; case 580: -#line 3782 "MachineIndependent/glslang.y" /* yacc.c:1646 */ +#line 3786 "MachineIndependent/glslang.y" /* yacc.c:1646 */ + { + (yyval.interm.attributes) = parseContext.mergeAttributes((yyvsp[-2].interm.attributes), (yyvsp[0].interm.attributes)); + } +#line 10157 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */ + break; + + case 581: +#line 3791 "MachineIndependent/glslang.y" /* yacc.c:1646 */ + { + (yyval.interm.attributes) = parseContext.makeAttributes(*(yyvsp[0].lex).string); + } +#line 10165 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */ + break; + + case 582: +#line 3794 "MachineIndependent/glslang.y" /* yacc.c:1646 */ { (yyval.interm.attributes) = parseContext.makeAttributes(*(yyvsp[-3].lex).string, (yyvsp[-1].interm.intermTypedNode)); } -#line 10140 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */ +#line 10173 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */ break; -#line 10144 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */ +#line 10177 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */ default: break; } /* User semantic actions sometimes alter yychar, and that requires @@ -10368,5 +10401,5 @@ yyreturn: #endif return yyresult; } -#line 3787 "MachineIndependent/glslang.y" /* yacc.c:1906 */ +#line 3799 "MachineIndependent/glslang.y" /* yacc.c:1906 */ diff --git a/glslang/MachineIndependent/glslang_tab.cpp.h b/glslang/MachineIndependent/glslang_tab.cpp.h index ceb00fef..f3f0251f 100644 --- a/glslang/MachineIndependent/glslang_tab.cpp.h +++ b/glslang/MachineIndependent/glslang_tab.cpp.h @@ -194,263 +194,265 @@ extern int yydebug; ATOMIC_UINT = 404, ACCSTRUCTNV = 405, FCOOPMATNV = 406, - SAMPLER1D = 407, - SAMPLER1DARRAY = 408, - SAMPLER1DARRAYSHADOW = 409, - ISAMPLER1D = 410, - SAMPLER1DSHADOW = 411, - SAMPLER2DRECT = 412, - SAMPLER2DRECTSHADOW = 413, - ISAMPLER2DRECT = 414, - USAMPLER2DRECT = 415, - SAMPLERBUFFER = 416, - ISAMPLERBUFFER = 417, - USAMPLERBUFFER = 418, - SAMPLER2DMS = 419, - ISAMPLER2DMS = 420, - USAMPLER2DMS = 421, - SAMPLER2DMSARRAY = 422, - ISAMPLER2DMSARRAY = 423, - USAMPLER2DMSARRAY = 424, - SAMPLEREXTERNALOES = 425, - SAMPLEREXTERNAL2DY2YEXT = 426, - ISAMPLER1DARRAY = 427, - USAMPLER1D = 428, - USAMPLER1DARRAY = 429, - F16SAMPLER1D = 430, - F16SAMPLER2D = 431, - F16SAMPLER3D = 432, - F16SAMPLER2DRECT = 433, - F16SAMPLERCUBE = 434, - F16SAMPLER1DARRAY = 435, - F16SAMPLER2DARRAY = 436, - F16SAMPLERCUBEARRAY = 437, - F16SAMPLERBUFFER = 438, - F16SAMPLER2DMS = 439, - F16SAMPLER2DMSARRAY = 440, - F16SAMPLER1DSHADOW = 441, - F16SAMPLER2DSHADOW = 442, - F16SAMPLER1DARRAYSHADOW = 443, - F16SAMPLER2DARRAYSHADOW = 444, - F16SAMPLER2DRECTSHADOW = 445, - F16SAMPLERCUBESHADOW = 446, - F16SAMPLERCUBEARRAYSHADOW = 447, - IMAGE1D = 448, - IIMAGE1D = 449, - UIMAGE1D = 450, - IMAGE2D = 451, - IIMAGE2D = 452, - UIMAGE2D = 453, - IMAGE3D = 454, - IIMAGE3D = 455, - UIMAGE3D = 456, - IMAGE2DRECT = 457, - IIMAGE2DRECT = 458, - UIMAGE2DRECT = 459, - IMAGECUBE = 460, - IIMAGECUBE = 461, - UIMAGECUBE = 462, - IMAGEBUFFER = 463, - IIMAGEBUFFER = 464, - UIMAGEBUFFER = 465, - IMAGE1DARRAY = 466, - IIMAGE1DARRAY = 467, - UIMAGE1DARRAY = 468, - IMAGE2DARRAY = 469, - IIMAGE2DARRAY = 470, - UIMAGE2DARRAY = 471, - IMAGECUBEARRAY = 472, - IIMAGECUBEARRAY = 473, - UIMAGECUBEARRAY = 474, - IMAGE2DMS = 475, - IIMAGE2DMS = 476, - UIMAGE2DMS = 477, - IMAGE2DMSARRAY = 478, - IIMAGE2DMSARRAY = 479, - UIMAGE2DMSARRAY = 480, - F16IMAGE1D = 481, - F16IMAGE2D = 482, - F16IMAGE3D = 483, - F16IMAGE2DRECT = 484, - F16IMAGECUBE = 485, - F16IMAGE1DARRAY = 486, - F16IMAGE2DARRAY = 487, - F16IMAGECUBEARRAY = 488, - F16IMAGEBUFFER = 489, - F16IMAGE2DMS = 490, - F16IMAGE2DMSARRAY = 491, - SAMPLER = 492, - SAMPLERSHADOW = 493, - TEXTURE1D = 494, - TEXTURE2D = 495, - TEXTURE3D = 496, - TEXTURECUBE = 497, - TEXTURE1DARRAY = 498, - TEXTURE2DARRAY = 499, - ITEXTURE1D = 500, - ITEXTURE2D = 501, - ITEXTURE3D = 502, - ITEXTURECUBE = 503, - ITEXTURE1DARRAY = 504, - ITEXTURE2DARRAY = 505, - UTEXTURE1D = 506, - UTEXTURE2D = 507, - UTEXTURE3D = 508, - UTEXTURECUBE = 509, - UTEXTURE1DARRAY = 510, - UTEXTURE2DARRAY = 511, - TEXTURE2DRECT = 512, - ITEXTURE2DRECT = 513, - UTEXTURE2DRECT = 514, - TEXTUREBUFFER = 515, - ITEXTUREBUFFER = 516, - UTEXTUREBUFFER = 517, - TEXTURECUBEARRAY = 518, - ITEXTURECUBEARRAY = 519, - UTEXTURECUBEARRAY = 520, - TEXTURE2DMS = 521, - ITEXTURE2DMS = 522, - UTEXTURE2DMS = 523, - TEXTURE2DMSARRAY = 524, - ITEXTURE2DMSARRAY = 525, - UTEXTURE2DMSARRAY = 526, - F16TEXTURE1D = 527, - F16TEXTURE2D = 528, - F16TEXTURE3D = 529, - F16TEXTURE2DRECT = 530, - F16TEXTURECUBE = 531, - F16TEXTURE1DARRAY = 532, - F16TEXTURE2DARRAY = 533, - F16TEXTURECUBEARRAY = 534, - F16TEXTUREBUFFER = 535, - F16TEXTURE2DMS = 536, - F16TEXTURE2DMSARRAY = 537, - SUBPASSINPUT = 538, - SUBPASSINPUTMS = 539, - ISUBPASSINPUT = 540, - ISUBPASSINPUTMS = 541, - USUBPASSINPUT = 542, - USUBPASSINPUTMS = 543, - F16SUBPASSINPUT = 544, - F16SUBPASSINPUTMS = 545, - LEFT_OP = 546, - RIGHT_OP = 547, - INC_OP = 548, - DEC_OP = 549, - LE_OP = 550, - GE_OP = 551, - EQ_OP = 552, - NE_OP = 553, - AND_OP = 554, - OR_OP = 555, - XOR_OP = 556, - MUL_ASSIGN = 557, - DIV_ASSIGN = 558, - ADD_ASSIGN = 559, - MOD_ASSIGN = 560, - LEFT_ASSIGN = 561, - RIGHT_ASSIGN = 562, - AND_ASSIGN = 563, - XOR_ASSIGN = 564, - OR_ASSIGN = 565, - SUB_ASSIGN = 566, - LEFT_PAREN = 567, - RIGHT_PAREN = 568, - LEFT_BRACKET = 569, - RIGHT_BRACKET = 570, - LEFT_BRACE = 571, - RIGHT_BRACE = 572, - DOT = 573, - COMMA = 574, - COLON = 575, - EQUAL = 576, - SEMICOLON = 577, - BANG = 578, - DASH = 579, - TILDE = 580, - PLUS = 581, - STAR = 582, - SLASH = 583, - PERCENT = 584, - LEFT_ANGLE = 585, - RIGHT_ANGLE = 586, - VERTICAL_BAR = 587, - CARET = 588, - AMPERSAND = 589, - QUESTION = 590, - INVARIANT = 591, - HIGH_PRECISION = 592, - MEDIUM_PRECISION = 593, - LOW_PRECISION = 594, - PRECISION = 595, - PACKED = 596, - RESOURCE = 597, - SUPERP = 598, - FLOATCONSTANT = 599, - INTCONSTANT = 600, - UINTCONSTANT = 601, - BOOLCONSTANT = 602, - IDENTIFIER = 603, - TYPE_NAME = 604, - CENTROID = 605, - IN = 606, - OUT = 607, - INOUT = 608, - STRUCT = 609, - VOID = 610, - WHILE = 611, - BREAK = 612, - CONTINUE = 613, - DO = 614, - ELSE = 615, - FOR = 616, - IF = 617, - DISCARD = 618, - RETURN = 619, - SWITCH = 620, - CASE = 621, - DEFAULT = 622, - UNIFORM = 623, - SHARED = 624, - FLAT = 625, - SMOOTH = 626, - LAYOUT = 627, - DOUBLECONSTANT = 628, - INT16CONSTANT = 629, - UINT16CONSTANT = 630, - FLOAT16CONSTANT = 631, - INT32CONSTANT = 632, - UINT32CONSTANT = 633, - INT64CONSTANT = 634, - UINT64CONSTANT = 635, - SUBROUTINE = 636, - DEMOTE = 637, - PAYLOADNV = 638, - PAYLOADINNV = 639, - HITATTRNV = 640, - CALLDATANV = 641, - CALLDATAINNV = 642, - PATCH = 643, - SAMPLE = 644, - BUFFER = 645, - NONUNIFORM = 646, - COHERENT = 647, - VOLATILE = 648, - RESTRICT = 649, - READONLY = 650, - WRITEONLY = 651, - DEVICECOHERENT = 652, - QUEUEFAMILYCOHERENT = 653, - WORKGROUPCOHERENT = 654, - SUBGROUPCOHERENT = 655, - NONPRIVATE = 656, - NOPERSPECTIVE = 657, - EXPLICITINTERPAMD = 658, - PERVERTEXNV = 659, - PERPRIMITIVENV = 660, - PERVIEWNV = 661, - PERTASKNV = 662, - PRECISE = 663 + ICOOPMATNV = 407, + UCOOPMATNV = 408, + SAMPLER1D = 409, + SAMPLER1DARRAY = 410, + SAMPLER1DARRAYSHADOW = 411, + ISAMPLER1D = 412, + SAMPLER1DSHADOW = 413, + SAMPLER2DRECT = 414, + SAMPLER2DRECTSHADOW = 415, + ISAMPLER2DRECT = 416, + USAMPLER2DRECT = 417, + SAMPLERBUFFER = 418, + ISAMPLERBUFFER = 419, + USAMPLERBUFFER = 420, + SAMPLER2DMS = 421, + ISAMPLER2DMS = 422, + USAMPLER2DMS = 423, + SAMPLER2DMSARRAY = 424, + ISAMPLER2DMSARRAY = 425, + USAMPLER2DMSARRAY = 426, + SAMPLEREXTERNALOES = 427, + SAMPLEREXTERNAL2DY2YEXT = 428, + ISAMPLER1DARRAY = 429, + USAMPLER1D = 430, + USAMPLER1DARRAY = 431, + F16SAMPLER1D = 432, + F16SAMPLER2D = 433, + F16SAMPLER3D = 434, + F16SAMPLER2DRECT = 435, + F16SAMPLERCUBE = 436, + F16SAMPLER1DARRAY = 437, + F16SAMPLER2DARRAY = 438, + F16SAMPLERCUBEARRAY = 439, + F16SAMPLERBUFFER = 440, + F16SAMPLER2DMS = 441, + F16SAMPLER2DMSARRAY = 442, + F16SAMPLER1DSHADOW = 443, + F16SAMPLER2DSHADOW = 444, + F16SAMPLER1DARRAYSHADOW = 445, + F16SAMPLER2DARRAYSHADOW = 446, + F16SAMPLER2DRECTSHADOW = 447, + F16SAMPLERCUBESHADOW = 448, + F16SAMPLERCUBEARRAYSHADOW = 449, + IMAGE1D = 450, + IIMAGE1D = 451, + UIMAGE1D = 452, + IMAGE2D = 453, + IIMAGE2D = 454, + UIMAGE2D = 455, + IMAGE3D = 456, + IIMAGE3D = 457, + UIMAGE3D = 458, + IMAGE2DRECT = 459, + IIMAGE2DRECT = 460, + UIMAGE2DRECT = 461, + IMAGECUBE = 462, + IIMAGECUBE = 463, + UIMAGECUBE = 464, + IMAGEBUFFER = 465, + IIMAGEBUFFER = 466, + UIMAGEBUFFER = 467, + IMAGE1DARRAY = 468, + IIMAGE1DARRAY = 469, + UIMAGE1DARRAY = 470, + IMAGE2DARRAY = 471, + IIMAGE2DARRAY = 472, + UIMAGE2DARRAY = 473, + IMAGECUBEARRAY = 474, + IIMAGECUBEARRAY = 475, + UIMAGECUBEARRAY = 476, + IMAGE2DMS = 477, + IIMAGE2DMS = 478, + UIMAGE2DMS = 479, + IMAGE2DMSARRAY = 480, + IIMAGE2DMSARRAY = 481, + UIMAGE2DMSARRAY = 482, + F16IMAGE1D = 483, + F16IMAGE2D = 484, + F16IMAGE3D = 485, + F16IMAGE2DRECT = 486, + F16IMAGECUBE = 487, + F16IMAGE1DARRAY = 488, + F16IMAGE2DARRAY = 489, + F16IMAGECUBEARRAY = 490, + F16IMAGEBUFFER = 491, + F16IMAGE2DMS = 492, + F16IMAGE2DMSARRAY = 493, + SAMPLER = 494, + SAMPLERSHADOW = 495, + TEXTURE1D = 496, + TEXTURE2D = 497, + TEXTURE3D = 498, + TEXTURECUBE = 499, + TEXTURE1DARRAY = 500, + TEXTURE2DARRAY = 501, + ITEXTURE1D = 502, + ITEXTURE2D = 503, + ITEXTURE3D = 504, + ITEXTURECUBE = 505, + ITEXTURE1DARRAY = 506, + ITEXTURE2DARRAY = 507, + UTEXTURE1D = 508, + UTEXTURE2D = 509, + UTEXTURE3D = 510, + UTEXTURECUBE = 511, + UTEXTURE1DARRAY = 512, + UTEXTURE2DARRAY = 513, + TEXTURE2DRECT = 514, + ITEXTURE2DRECT = 515, + UTEXTURE2DRECT = 516, + TEXTUREBUFFER = 517, + ITEXTUREBUFFER = 518, + UTEXTUREBUFFER = 519, + TEXTURECUBEARRAY = 520, + ITEXTURECUBEARRAY = 521, + UTEXTURECUBEARRAY = 522, + TEXTURE2DMS = 523, + ITEXTURE2DMS = 524, + UTEXTURE2DMS = 525, + TEXTURE2DMSARRAY = 526, + ITEXTURE2DMSARRAY = 527, + UTEXTURE2DMSARRAY = 528, + F16TEXTURE1D = 529, + F16TEXTURE2D = 530, + F16TEXTURE3D = 531, + F16TEXTURE2DRECT = 532, + F16TEXTURECUBE = 533, + F16TEXTURE1DARRAY = 534, + F16TEXTURE2DARRAY = 535, + F16TEXTURECUBEARRAY = 536, + F16TEXTUREBUFFER = 537, + F16TEXTURE2DMS = 538, + F16TEXTURE2DMSARRAY = 539, + SUBPASSINPUT = 540, + SUBPASSINPUTMS = 541, + ISUBPASSINPUT = 542, + ISUBPASSINPUTMS = 543, + USUBPASSINPUT = 544, + USUBPASSINPUTMS = 545, + F16SUBPASSINPUT = 546, + F16SUBPASSINPUTMS = 547, + LEFT_OP = 548, + RIGHT_OP = 549, + INC_OP = 550, + DEC_OP = 551, + LE_OP = 552, + GE_OP = 553, + EQ_OP = 554, + NE_OP = 555, + AND_OP = 556, + OR_OP = 557, + XOR_OP = 558, + MUL_ASSIGN = 559, + DIV_ASSIGN = 560, + ADD_ASSIGN = 561, + MOD_ASSIGN = 562, + LEFT_ASSIGN = 563, + RIGHT_ASSIGN = 564, + AND_ASSIGN = 565, + XOR_ASSIGN = 566, + OR_ASSIGN = 567, + SUB_ASSIGN = 568, + LEFT_PAREN = 569, + RIGHT_PAREN = 570, + LEFT_BRACKET = 571, + RIGHT_BRACKET = 572, + LEFT_BRACE = 573, + RIGHT_BRACE = 574, + DOT = 575, + COMMA = 576, + COLON = 577, + EQUAL = 578, + SEMICOLON = 579, + BANG = 580, + DASH = 581, + TILDE = 582, + PLUS = 583, + STAR = 584, + SLASH = 585, + PERCENT = 586, + LEFT_ANGLE = 587, + RIGHT_ANGLE = 588, + VERTICAL_BAR = 589, + CARET = 590, + AMPERSAND = 591, + QUESTION = 592, + INVARIANT = 593, + HIGH_PRECISION = 594, + MEDIUM_PRECISION = 595, + LOW_PRECISION = 596, + PRECISION = 597, + PACKED = 598, + RESOURCE = 599, + SUPERP = 600, + FLOATCONSTANT = 601, + INTCONSTANT = 602, + UINTCONSTANT = 603, + BOOLCONSTANT = 604, + IDENTIFIER = 605, + TYPE_NAME = 606, + CENTROID = 607, + IN = 608, + OUT = 609, + INOUT = 610, + STRUCT = 611, + VOID = 612, + WHILE = 613, + BREAK = 614, + CONTINUE = 615, + DO = 616, + ELSE = 617, + FOR = 618, + IF = 619, + DISCARD = 620, + RETURN = 621, + SWITCH = 622, + CASE = 623, + DEFAULT = 624, + UNIFORM = 625, + SHARED = 626, + FLAT = 627, + SMOOTH = 628, + LAYOUT = 629, + DOUBLECONSTANT = 630, + INT16CONSTANT = 631, + UINT16CONSTANT = 632, + FLOAT16CONSTANT = 633, + INT32CONSTANT = 634, + UINT32CONSTANT = 635, + INT64CONSTANT = 636, + UINT64CONSTANT = 637, + SUBROUTINE = 638, + DEMOTE = 639, + PAYLOADNV = 640, + PAYLOADINNV = 641, + HITATTRNV = 642, + CALLDATANV = 643, + CALLDATAINNV = 644, + PATCH = 645, + SAMPLE = 646, + BUFFER = 647, + NONUNIFORM = 648, + COHERENT = 649, + VOLATILE = 650, + RESTRICT = 651, + READONLY = 652, + WRITEONLY = 653, + DEVICECOHERENT = 654, + QUEUEFAMILYCOHERENT = 655, + WORKGROUPCOHERENT = 656, + SUBGROUPCOHERENT = 657, + NONPRIVATE = 658, + NOPERSPECTIVE = 659, + EXPLICITINTERPAMD = 660, + PERVERTEXNV = 661, + PERPRIMITIVENV = 662, + PERVIEWNV = 663, + PERTASKNV = 664, + PRECISE = 665 }; #endif @@ -495,7 +497,7 @@ union YYSTYPE glslang::TArraySizes* typeParameters; } interm; -#line 499 "MachineIndependent/glslang_tab.cpp.h" /* yacc.c:1909 */ +#line 501 "MachineIndependent/glslang_tab.cpp.h" /* yacc.c:1909 */ }; typedef union YYSTYPE YYSTYPE; diff --git a/glslang/MachineIndependent/parseVersions.h b/glslang/MachineIndependent/parseVersions.h index bed64743..aa1964fc 100755 --- a/glslang/MachineIndependent/parseVersions.h +++ b/glslang/MachineIndependent/parseVersions.h @@ -161,6 +161,7 @@ public: virtual void explicitFloat32Check(const TSourceLoc&, const char* op, bool builtIn = false); virtual void explicitFloat64Check(const TSourceLoc&, const char* op, bool builtIn = false); virtual void fcoopmatCheck(const TSourceLoc&, const char* op, bool builtIn = false); + virtual void intcoopmatCheck(const TSourceLoc&, const char *op, bool builtIn = false); bool relaxedErrors() const { return (messages & EShMsgRelaxedErrors) != 0; } bool suppressWarnings() const { return (messages & EShMsgSuppressWarnings) != 0; } bool isForwardCompatible() const { return forwardCompatible; } diff --git a/gtests/Spv.FromFile.cpp b/gtests/Spv.FromFile.cpp index cc564b37..d12d39ac 100644 --- a/gtests/Spv.FromFile.cpp +++ b/gtests/Spv.FromFile.cpp @@ -325,6 +325,7 @@ INSTANTIATE_TEST_CASE_P( "spv.GeometryShaderPassthrough.geom", "spv.interpOps.frag", "spv.int64.frag", + "spv.intcoopmat.comp", "spv.intOps.vert", "spv.layoutNested.vert", "spv.length.frag",