---input--- enable f16; alias int=i32; alias uint=u32; alias float=f32; alias half=f16; alias ivec2=vec2i; alias uvec2=vec2u; alias vec2=vec2f; alias ivec3=vec3i; alias uvec3=vec3u; alias vec3=vec3f; alias ivec4=vec4i; alias uvec4=vec4u; alias ivec2_=vec2; alias uvec2_=vec2; alias vec2_=vec2; alias ivec3_=vec3; alias uvec3_=vec3; alias vec3_=vec3; alias ivec4_=vec4; alias uvec4_=vec4; alias vec4_=vec4; alias hvec2=vec2h; alias hvec3=vec3h; alias hvec4=vec4h; alias hvec4_=vec4; alias m22=mat2x2f; alias m23=mat2x3f; alias m24=mat2x4f; alias m32=mat3x2f; alias m33=mat3x3f; alias m34=mat3x4f; alias m42=mat4x2f; alias m43=mat4x3f; alias m44=mat4x4f; alias m22_=mat2x2; alias m23_=mat2x3; alias m24_=mat2x4; alias m32_=mat3x2; alias m33_=mat3x3; alias m34_=mat3x4; alias m42_=mat4x2; alias m43_=mat4x3; alias m44_=mat4x4; alias m22=mat2x2h; alias m23=mat2x3h; alias h24=mat2x4h; alias h32=mat3x2h; alias h33=mat3x3h; alias h34=mat3x4h; alias h42=mat4x2h; alias h43=mat4x3h; alias h44=mat4x4h; alias h22_=mat2x2; alias h23_=mat2x3; alias h24_=mat2x4; alias h32_=mat3x2; alias h33_=mat3x3; alias h34_=mat3x4; alias h42_=mat4x2; alias h43_=mat4x3; alias h44_=mat4x4; ---tokens--- 'enable' Keyword ' ' Text.Whitespace 'f16' Name.Builtin ';' Punctuation '\n' Text.Whitespace 'alias' Keyword ' ' Text.Whitespace 'int' Name '=' Operator 'i32' Name.Builtin ';' Punctuation '\n' Text.Whitespace 'alias' Keyword ' ' Text.Whitespace 'uint' Name '=' Operator 'u32' Name.Builtin ';' Punctuation '\n' Text.Whitespace 'alias' Keyword ' ' Text.Whitespace 'float' Name '=' Operator 'f32' Name.Builtin ';' Punctuation '\n' Text.Whitespace 'alias' Keyword ' ' Text.Whitespace 'half' Name '=' Operator 'f16' Name.Builtin ';' Punctuation '\n' Text.Whitespace 'alias' Keyword ' ' Text.Whitespace 'ivec2' Name '=' Operator 'vec2i' Name.Builtin ';' Punctuation '\n' Text.Whitespace 'alias' Keyword ' ' Text.Whitespace 'uvec2' Name '=' Operator 'vec2u' Name.Builtin ';' Punctuation '\n' Text.Whitespace 'alias' Keyword ' ' Text.Whitespace 'vec2' Name.Builtin '=' Operator 'vec2f' Name.Builtin ';' Punctuation '\n' Text.Whitespace 'alias' Keyword ' ' Text.Whitespace 'ivec3' Name '=' Operator 'vec3i' Name.Builtin ';' Punctuation '\n' Text.Whitespace 'alias' Keyword ' ' Text.Whitespace 'uvec3' Name '=' Operator 'vec3u' Name.Builtin ';' Punctuation '\n' Text.Whitespace 'alias' Keyword ' ' Text.Whitespace 'vec3' Name.Builtin '=' Operator 'vec3f' Name.Builtin ';' Punctuation '\n' Text.Whitespace 'alias' Keyword ' ' Text.Whitespace 'ivec4' Name '=' Operator 'vec4i' Name.Builtin ';' Punctuation '\n' Text.Whitespace 'alias' Keyword ' ' Text.Whitespace 'uvec4' Name '=' Operator 'vec4u' Name.Builtin ';' Punctuation '\n' Text.Whitespace 'alias' Keyword ' ' Text.Whitespace 'ivec2_' Name '=' Operator 'vec2' Name.Builtin '<' Operator 'i32' Name.Builtin '>' Operator ';' Punctuation '\n' Text.Whitespace 'alias' Keyword ' ' Text.Whitespace 'uvec2_' Name '=' Operator 'vec2' Name.Builtin '<' Operator 'u32' Name.Builtin '>' Operator ';' Punctuation '\n' Text.Whitespace 'alias' Keyword ' ' Text.Whitespace 'vec2_' Name '=' Operator 'vec2' Name.Builtin '<' Operator 'f32' Name.Builtin '>' Operator ';' Punctuation '\n' Text.Whitespace 'alias' Keyword ' ' Text.Whitespace 'ivec3_' Name '=' Operator 'vec3' Name.Builtin '<' Operator 'i32' Name.Builtin '>' Operator ';' Punctuation '\n' Text.Whitespace 'alias' Keyword ' ' Text.Whitespace 'uvec3_' Name '=' Operator 'vec3' Name.Builtin '<' Operator 'u32' Name.Builtin '>' Operator ';' Punctuation '\n' Text.Whitespace 'alias' Keyword ' ' Text.Whitespace 'vec3_' Name '=' Operator 'vec3' Name.Builtin '<' Operator 'f32' Name.Builtin '>' Operator ';' Punctuation '\n' Text.Whitespace 'alias' Keyword ' ' Text.Whitespace 'ivec4_' Name '=' Operator 'vec4' Name.Builtin '<' Operator 'i32' Name.Builtin '>' Operator ';' Punctuation '\n' Text.Whitespace 'alias' Keyword ' ' Text.Whitespace 'uvec4_' Name '=' Operator 'vec4' Name.Builtin '<' Operator 'u32' Name.Builtin '>' Operator ';' Punctuation '\n' Text.Whitespace 'alias' Keyword ' ' Text.Whitespace 'vec4_' Name '=' Operator 'vec4' Name.Builtin '<' Operator 'f32' Name.Builtin '>' Operator ';' Punctuation '\n' Text.Whitespace 'alias' Keyword ' ' Text.Whitespace 'hvec2' Name '=' Operator 'vec2h' Name.Builtin ';' Punctuation '\n' Text.Whitespace 'alias' Keyword ' ' Text.Whitespace 'hvec3' Name '=' Operator 'vec3h' Name.Builtin ';' Punctuation '\n' Text.Whitespace 'alias' Keyword ' ' Text.Whitespace 'hvec4' Name '=' Operator 'vec4h' Name.Builtin ';' Punctuation '\n' Text.Whitespace 'alias' Keyword ' ' Text.Whitespace 'hvec4_' Name '=' Operator 'vec4' Name.Builtin '<' Operator 'f16' Name.Builtin '>' Operator ';' Punctuation '\n' Text.Whitespace 'alias' Keyword ' ' Text.Whitespace 'm22' Name '=' Operator 'mat2x2f' Name.Builtin ';' Punctuation '\n' Text.Whitespace 'alias' Keyword ' ' Text.Whitespace 'm23' Name '=' Operator 'mat2x3f' Name.Builtin ';' Punctuation '\n' Text.Whitespace 'alias' Keyword ' ' Text.Whitespace 'm24' Name '=' Operator 'mat2x4f' Name.Builtin ';' Punctuation '\n' Text.Whitespace 'alias' Keyword ' ' Text.Whitespace 'm32' Name '=' Operator 'mat3x2f' Name.Builtin ';' Punctuation '\n' Text.Whitespace 'alias' Keyword ' ' Text.Whitespace 'm33' Name '=' Operator 'mat3x3f' Name.Builtin ';' Punctuation '\n' Text.Whitespace 'alias' Keyword ' ' Text.Whitespace 'm34' Name '=' Operator 'mat3x4f' Name.Builtin ';' Punctuation '\n' Text.Whitespace 'alias' Keyword ' ' Text.Whitespace 'm42' Name '=' Operator 'mat4x2f' Name.Builtin ';' Punctuation '\n' Text.Whitespace 'alias' Keyword ' ' Text.Whitespace 'm43' Name '=' Operator 'mat4x3f' Name.Builtin ';' Punctuation '\n' Text.Whitespace 'alias' Keyword ' ' Text.Whitespace 'm44' Name '=' Operator 'mat4x4f' Name.Builtin ';' Punctuation '\n' Text.Whitespace 'alias' Keyword ' ' Text.Whitespace 'm22_' Name '=' Operator 'mat2x2' Name.Builtin '<' Operator 'f32' Name.Builtin '>' Operator ';' Punctuation '\n' Text.Whitespace 'alias' Keyword ' ' Text.Whitespace 'm23_' Name '=' Operator 'mat2x3' Name.Builtin '<' Operator 'f32' Name.Builtin '>' Operator ';' Punctuation '\n' Text.Whitespace 'alias' Keyword ' ' Text.Whitespace 'm24_' Name '=' Operator 'mat2x4' Name.Builtin '<' Operator 'f32' Name.Builtin '>' Operator ';' Punctuation '\n' Text.Whitespace 'alias' Keyword ' ' Text.Whitespace 'm32_' Name '=' Operator 'mat3x2' Name.Builtin '<' Operator 'f32' Name.Builtin '>' Operator ';' Punctuation '\n' Text.Whitespace 'alias' Keyword ' ' Text.Whitespace 'm33_' Name '=' Operator 'mat3x3' Name.Builtin '<' Operator 'f32' Name.Builtin '>' Operator ';' Punctuation '\n' Text.Whitespace 'alias' Keyword ' ' Text.Whitespace 'm34_' Name '=' Operator 'mat3x4' Name.Builtin '<' Operator 'f32' Name.Builtin '>' Operator ';' Punctuation '\n' Text.Whitespace 'alias' Keyword ' ' Text.Whitespace 'm42_' Name '=' Operator 'mat4x2' Name.Builtin '<' Operator 'f32' Name.Builtin '>' Operator ';' Punctuation '\n' Text.Whitespace 'alias' Keyword ' ' Text.Whitespace 'm43_' Name '=' Operator 'mat4x3' Name.Builtin '<' Operator 'f32' Name.Builtin '>' Operator ';' Punctuation '\n' Text.Whitespace 'alias' Keyword ' ' Text.Whitespace 'm44_' Name '=' Operator 'mat4x4' Name.Builtin '<' Operator 'f32' Name.Builtin '>' Operator ';' Punctuation '\n' Text.Whitespace 'alias' Keyword ' ' Text.Whitespace 'm22' Name '=' Operator 'mat2x2h' Name.Builtin ';' Punctuation '\n' Text.Whitespace 'alias' Keyword ' ' Text.Whitespace 'm23' Name '=' Operator 'mat2x3h' Name.Builtin ';' Punctuation '\n' Text.Whitespace 'alias' Keyword ' ' Text.Whitespace 'h24' Name '=' Operator 'mat2x4h' Name.Builtin ';' Punctuation '\n' Text.Whitespace 'alias' Keyword ' ' Text.Whitespace 'h32' Name '=' Operator 'mat3x2h' Name.Builtin ';' Punctuation '\n' Text.Whitespace 'alias' Keyword ' ' Text.Whitespace 'h33' Name '=' Operator 'mat3x3h' Name.Builtin ';' Punctuation '\n' Text.Whitespace 'alias' Keyword ' ' Text.Whitespace 'h34' Name '=' Operator 'mat3x4h' Name.Builtin ';' Punctuation '\n' Text.Whitespace 'alias' Keyword ' ' Text.Whitespace 'h42' Name '=' Operator 'mat4x2h' Name.Builtin ';' Punctuation '\n' Text.Whitespace 'alias' Keyword ' ' Text.Whitespace 'h43' Name '=' Operator 'mat4x3h' Name.Builtin ';' Punctuation '\n' Text.Whitespace 'alias' Keyword ' ' Text.Whitespace 'h44' Name '=' Operator 'mat4x4h' Name.Builtin ';' Punctuation '\n' Text.Whitespace 'alias' Keyword ' ' Text.Whitespace 'h22_' Name '=' Operator 'mat2x2' Name.Builtin '<' Operator 'f16' Name.Builtin '>' Operator ';' Punctuation '\n' Text.Whitespace 'alias' Keyword ' ' Text.Whitespace 'h23_' Name '=' Operator 'mat2x3' Name.Builtin '<' Operator 'f16' Name.Builtin '>' Operator ';' Punctuation '\n' Text.Whitespace 'alias' Keyword ' ' Text.Whitespace 'h24_' Name '=' Operator 'mat2x4' Name.Builtin '<' Operator 'f16' Name.Builtin '>' Operator ';' Punctuation '\n' Text.Whitespace 'alias' Keyword ' ' Text.Whitespace 'h32_' Name '=' Operator 'mat3x2' Name.Builtin '<' Operator 'f16' Name.Builtin '>' Operator ';' Punctuation '\n' Text.Whitespace 'alias' Keyword ' ' Text.Whitespace 'h33_' Name '=' Operator 'mat3x3' Name.Builtin '<' Operator 'f16' Name.Builtin '>' Operator ';' Punctuation '\n' Text.Whitespace 'alias' Keyword ' ' Text.Whitespace 'h34_' Name '=' Operator 'mat3x4' Name.Builtin '<' Operator 'f16' Name.Builtin '>' Operator ';' Punctuation '\n' Text.Whitespace 'alias' Keyword ' ' Text.Whitespace 'h42_' Name '=' Operator 'mat4x2' Name.Builtin '<' Operator 'f16' Name.Builtin '>' Operator ';' Punctuation '\n' Text.Whitespace 'alias' Keyword ' ' Text.Whitespace 'h43_' Name '=' Operator 'mat4x3' Name.Builtin '<' Operator 'f16' Name.Builtin '>' Operator ';' Punctuation '\n' Text.Whitespace 'alias' Keyword ' ' Text.Whitespace 'h44_' Name '=' Operator 'mat4x4' Name.Builtin '<' Operator 'f16' Name.Builtin '>' Operator ';' Punctuation '\n' Text.Whitespace