mirror of https://github.com/google/oss-fuzz.git
316 lines
3.1 KiB
Plaintext
316 lines
3.1 KiB
Plaintext
![]() |
# Adapted from sksl.lex and SkSLBuiltinTypes.cpp
|
||
|
|
||
|
# positive float literals
|
||
|
"0.1"
|
||
|
"1.2"
|
||
|
"2.3"
|
||
|
|
||
|
# negative float literals
|
||
|
"-3.4"
|
||
|
"-4.5"
|
||
|
"-5.6"
|
||
|
|
||
|
# exponential float literals
|
||
|
"1e2"
|
||
|
"2e3"
|
||
|
"-3e4"
|
||
|
"-4e5"
|
||
|
|
||
|
# positive int literals
|
||
|
"0"
|
||
|
"1"
|
||
|
"2"
|
||
|
|
||
|
# unsigned int literals
|
||
|
"3u"
|
||
|
"4u"
|
||
|
|
||
|
# negative int literals
|
||
|
"-5"
|
||
|
"-6"
|
||
|
|
||
|
# hexadecimal prefix
|
||
|
"0x"
|
||
|
|
||
|
# bad octal
|
||
|
"08"
|
||
|
|
||
|
# unsigned bad octal
|
||
|
"09u"
|
||
|
|
||
|
# keywords
|
||
|
"true "
|
||
|
"false "
|
||
|
"if "
|
||
|
"@if "
|
||
|
"else "
|
||
|
"for "
|
||
|
"while "
|
||
|
"do "
|
||
|
"switch "
|
||
|
"@switch "
|
||
|
"case "
|
||
|
"default "
|
||
|
"break "
|
||
|
"continue "
|
||
|
"discard "
|
||
|
"return "
|
||
|
"in "
|
||
|
"out "
|
||
|
"inout "
|
||
|
"uniform "
|
||
|
"const "
|
||
|
"flat "
|
||
|
"noperspective "
|
||
|
"inline "
|
||
|
"noinline "
|
||
|
"sk_has_side_effects "
|
||
|
"struct "
|
||
|
"layout "
|
||
|
"location "
|
||
|
"offset "
|
||
|
"binding "
|
||
|
"index "
|
||
|
"set "
|
||
|
"builtin "
|
||
|
"input_attachment_index "
|
||
|
"origin_upper_left "
|
||
|
"blend_support_all_equations "
|
||
|
"push_constant "
|
||
|
"color "
|
||
|
"highp "
|
||
|
"mediump "
|
||
|
"lowp "
|
||
|
"$es3 "
|
||
|
"main "
|
||
|
"#extension "
|
||
|
"disable "
|
||
|
"require "
|
||
|
"enable "
|
||
|
"warn "
|
||
|
|
||
|
# reserved words are all treated the same, and always invalidate the whole
|
||
|
# program, so we only include a handful of them in the dictionary
|
||
|
"attribute "
|
||
|
"varying "
|
||
|
"precision "
|
||
|
#"invariant "
|
||
|
#"asm "
|
||
|
#"class "
|
||
|
#"union "
|
||
|
#"enum "
|
||
|
#"typedef "
|
||
|
#"template "
|
||
|
#"this "
|
||
|
#"packed "
|
||
|
#"goto "
|
||
|
#"volatile "
|
||
|
#"public "
|
||
|
#"static "
|
||
|
#"extern "
|
||
|
#"external "
|
||
|
#"interface "
|
||
|
#"long "
|
||
|
#"double "
|
||
|
#"fixed "
|
||
|
#"unsigned "
|
||
|
#"superp "
|
||
|
#"input "
|
||
|
#"output "
|
||
|
#"sizeof "
|
||
|
#"cast "
|
||
|
#"namespace "
|
||
|
#"using "
|
||
|
#"gl_reservedWord "
|
||
|
|
||
|
# a selection of swizzles
|
||
|
".x "
|
||
|
".xx "
|
||
|
".xxx "
|
||
|
".xxxx "
|
||
|
".y "
|
||
|
".yy "
|
||
|
".yyy "
|
||
|
".yyyy "
|
||
|
".x0 "
|
||
|
".x00 "
|
||
|
".x000 "
|
||
|
".1y "
|
||
|
".11y "
|
||
|
".111y "
|
||
|
".r "
|
||
|
".rg "
|
||
|
".rgb "
|
||
|
".rgba "
|
||
|
".abgr "
|
||
|
".ga "
|
||
|
".xy01 "
|
||
|
".1xw0 "
|
||
|
|
||
|
# array indexing
|
||
|
"[0]"
|
||
|
"[1]"
|
||
|
"[2]"
|
||
|
"[3]"
|
||
|
"[4]"
|
||
|
"[-1]"
|
||
|
"[12345]"
|
||
|
"[-12345]"
|
||
|
|
||
|
# symbol tokens
|
||
|
"("
|
||
|
")"
|
||
|
"{"
|
||
|
"}"
|
||
|
"["
|
||
|
"]"
|
||
|
"."
|
||
|
","
|
||
|
"++"
|
||
|
"--"
|
||
|
"+"
|
||
|
"-"
|
||
|
"*"
|
||
|
"/"
|
||
|
"%"
|
||
|
"<<"
|
||
|
">>"
|
||
|
"|"
|
||
|
"^"
|
||
|
"&"
|
||
|
"~"
|
||
|
"||"
|
||
|
"^^"
|
||
|
"&&"
|
||
|
"!"
|
||
|
"?"
|
||
|
":"
|
||
|
"="
|
||
|
"=="
|
||
|
"!="
|
||
|
">"
|
||
|
"<"
|
||
|
">="
|
||
|
"<="
|
||
|
"+="
|
||
|
"-="
|
||
|
"*="
|
||
|
"/="
|
||
|
"%="
|
||
|
"<<="
|
||
|
">>="
|
||
|
"|="
|
||
|
"^="
|
||
|
"&="
|
||
|
";"
|
||
|
"->"
|
||
|
"//"
|
||
|
"/*"
|
||
|
"*/"
|
||
|
|
||
|
# types
|
||
|
"void "
|
||
|
"float "
|
||
|
"float2 "
|
||
|
"float3 "
|
||
|
"float4 "
|
||
|
"vec2 "
|
||
|
"vec3 "
|
||
|
"vec4 "
|
||
|
"half "
|
||
|
"half2 "
|
||
|
"half3 "
|
||
|
"half4 "
|
||
|
"int "
|
||
|
"int2 "
|
||
|
"int3 "
|
||
|
"int4 "
|
||
|
"uint "
|
||
|
"uint2 "
|
||
|
"uint3 "
|
||
|
"uint4 "
|
||
|
"short "
|
||
|
"short2 "
|
||
|
"short3 "
|
||
|
"short4 "
|
||
|
"ushort "
|
||
|
"ushort2 "
|
||
|
"ushort3 "
|
||
|
"ushort4 "
|
||
|
"bool "
|
||
|
"bool2 "
|
||
|
"bool3 "
|
||
|
"bool4 "
|
||
|
"$floatLiteral "
|
||
|
"$intLiteral "
|
||
|
"float2x2 "
|
||
|
"float3x2 "
|
||
|
"float4x2 "
|
||
|
"float2x3 "
|
||
|
"float3x3 "
|
||
|
"float4x3 "
|
||
|
"float2x4 "
|
||
|
"float3x4 "
|
||
|
"float4x4 "
|
||
|
"half2x2 "
|
||
|
"half3x2 "
|
||
|
"half4x2 "
|
||
|
"half2x3 "
|
||
|
"half3x3 "
|
||
|
"half4x3 "
|
||
|
"half2x4 "
|
||
|
"half3x4 "
|
||
|
"half4x4 "
|
||
|
"mat2 "
|
||
|
"mat3 "
|
||
|
"mat4 "
|
||
|
"mat2x2 "
|
||
|
"mat3x2 "
|
||
|
"mat4x2 "
|
||
|
"mat2x3 "
|
||
|
"mat3x3 "
|
||
|
"mat4x3 "
|
||
|
"mat2x4 "
|
||
|
"mat3x4 "
|
||
|
"mat4x4 "
|
||
|
"colorFilter "
|
||
|
"shader "
|
||
|
"blender "
|
||
|
|
||
|
# types that aren't accepted in a runtime effect; skip most of them
|
||
|
"texture2D "
|
||
|
"sampler2D "
|
||
|
"sampler "
|
||
|
#"texture1D "
|
||
|
#"texture3D "
|
||
|
#"textureExternalOES "
|
||
|
#"texture2DRect "
|
||
|
#"itexture2D "
|
||
|
#"sampler1D "
|
||
|
#"sampler3D "
|
||
|
#"samplerExternalOES "
|
||
|
#"sampler2DRect "
|
||
|
#"isampler2D "
|
||
|
#"subpassInput "
|
||
|
#"subpassInputMS "
|
||
|
#"subpassInputMS "
|
||
|
|
||
|
# generic types shouldn't be accepted; skip most of them
|
||
|
"$genType"
|
||
|
"$sk_Caps"
|
||
|
#"$genHType"
|
||
|
#"$genIType"
|
||
|
#"$genUType"
|
||
|
#"$genBType"
|
||
|
#"$mat"
|
||
|
#"$hmat"
|
||
|
#"$squareMat"
|
||
|
#"$squareHMat"
|
||
|
#"$vec"
|
||
|
#"$hvec"
|
||
|
#"$ivec"
|
||
|
#"$uvec"
|
||
|
#"$svec"
|
||
|
#"$usvec"
|
||
|
#"$bvec"
|