⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 arbprogram_syn.h

📁 这是一个开放源代码的与WINNT/WIN2K/WIN2003兼容的操作系统
💻 H
📖 第 1 页 / 共 4 页
字号:
"programSingleItem_1\n"
" progEnvParam .or progLocalParam;\n"
"programMultipleItem\n"
" \"program\" .and dot .and programMultipleItem_1 .error INVALID_PROGRAM_PROPERTY;\n"
"programMultipleItem_1\n"
" progEnvParams .or progLocalParams;\n"
"progEnvParams\n"
" \"env\" .emit PROGRAM_PARAM_ENV .and lbracket .and progEnvParamNums .and rbracket;\n"
"progEnvParamNums\n"
" progEnvParamNums_1 .or progEnvParamNums_2;\n"
"progEnvParamNums_1\n"
" progEnvParamNum .and dotdot_ne .and progEnvParamNum;\n"
"progEnvParamNums_2\n"
" progEnvParamNum .and .true .emit 0x00;\n"
"progEnvParam\n"
" \"env\" .emit PROGRAM_PARAM_ENV .and lbracket .and progEnvParamNum .and rbracket .emit 0x00;\n"
"progLocalParams\n"
" \"local\" .emit PROGRAM_PARAM_LOCAL .and lbracket .and progLocalParamNums .and rbracket;\n"
"progLocalParamNums\n"
" progLocalParamNums_1 .or progLocalParamNums_2;\n"
"progLocalParamNums_1\n"
" progLocalParamNum .and dotdot_ne .and progLocalParamNum;\n"
"progLocalParamNums_2\n"
" progLocalParamNum .and .true .emit 0x00;\n"
"progLocalParam\n"
" \"local\" .emit PROGRAM_PARAM_LOCAL .and lbracket .and progLocalParamNum .and rbracket .emit 0x00;\n"
"progEnvParamNum\n"
" integer;\n"
"progLocalParamNum\n"
" integer;\n"
"paramConstDecl\n"
" paramConstScalarDecl .emit CONSTANT_SCALAR .or paramConstVector .emit CONSTANT_VECTOR;\n"
"paramConstUse\n"
" paramConstScalarUse .emit CONSTANT_SCALAR .or paramConstVector .emit CONSTANT_VECTOR;\n"
"paramConstScalarDecl\n"
" signedFloatConstant;\n"
"paramConstScalarUse\n"
" floatConstant;\n"
"paramConstVector\n"
" paramConstVector_4 .emit 0x04 .or paramConstVector_3 .emit 0x03 .or\n"
" paramConstVector_2 .emit 0x02 .or paramConstVector_1 .emit 0x01;\n"
"paramConstVector_1\n"
" lbrace_ne .and signedFloatConstant .and rbrace;\n"
"paramConstVector_2\n"
" lbrace_ne .and signedFloatConstant .and comma_ne .and signedFloatConstant .and rbrace;\n"
"paramConstVector_3\n"
" lbrace_ne .and signedFloatConstant .and comma_ne .and signedFloatConstant .and comma_ne .and\n"
" signedFloatConstant .and rbrace;\n"
"paramConstVector_4\n"
" lbrace_ne .and signedFloatConstant .and comma_ne .and signedFloatConstant .and comma_ne .and\n"
" signedFloatConstant .and comma_ne .and signedFloatConstant .and rbrace;\n"
"signedFloatConstant\n"
" optionalSign .and floatConstant;\n"
"floatConstant\n"
" float;\n"
"optionalSign\n"
" optional_sign_ne;\n"
"fp_TEMP_statement\n"
" \"TEMP\" .and space .and fp_varNameList .and .true .emit 0x00;\n"
"vp_TEMP_statement\n"
" \"TEMP\" .and space .and vp_varNameList .and .true .emit 0x00;\n"
"ADDRESS_statement\n"
" \"ADDRESS\" .and space .and vp_varNameList .and .true .emit 0x00;\n"
"fp_varNameList\n"
" fp_varNameList_1 .or fp_establishName;\n"
"vp_varNameList\n"
" vp_varNameList_1 .or vp_establishName;\n"
"fp_varNameList_1\n"
" fp_establishName .and comma_ne .and fp_varNameList;\n"
"vp_varNameList_1\n"
" vp_establishName .and comma_ne .and vp_varNameList;\n"
"fp_OUTPUT_statement\n"
" \"OUTPUT\" .and space .and fp_establishName .and equal .and\n"
" fp_resultBinding .error RESULT_EXPECTED;\n"
"vp_OUTPUT_statement\n"
" \"OUTPUT\" .and space .and vp_establishName .and equal .and\n"
" vp_resultBinding .error RESULT_EXPECTED;\n"
"fp_resultBinding\n"
" \"result\" .and dot .and fp_resultBinding_1 .error INVALID_RESULT_PROPERTY;\n"
"vp_resultBinding\n"
" \"result\" .and dot .and vp_resultBinding_1 .error INVALID_RESULT_PROPERTY;\n"
"fp_resultBinding_1\n"
" fp_resultBinding_2 .emit FRAGMENT_RESULT_COLOR .or\n"
" \"depth\" .emit FRAGMENT_RESULT_DEPTH;\n"
"fp_resultBinding_2\n"
" \"color\" .and optOutputColorNum;\n"
"vp_resultBinding_1\n"
" .if (ARB_position_invariant == 0x00) \"position\" .emit VERTEX_RESULT_POSITION .or\n"
" resultColBinding .emit VERTEX_RESULT_COLOR .or\n"
" \"fogcoord\" .emit VERTEX_RESULT_FOGCOORD .or\n"
" \"pointsize\" .emit VERTEX_RESULT_POINTSIZE .or\n"
" vp_resultBinding_2 .emit VERTEX_RESULT_TEXCOORD;\n"
"vp_resultBinding_2\n"
" \"texcoord\" .and optTexCoordNum;\n"
"optOutputColorNum\n"
" .if (ARB_draw_buffers != 0x00) optOutputColorNum_1 .or .true .emit 0x00;\n"
"optOutputColorNum_1\n"
" lbracket_ne .and outputColorNum .and rbracket;\n"
"outputColorNum\n"
" integer;\n"
"resultColBinding\n"
" \"color\" .and optFaceType .and optColorType;\n"
"optFaceType\n"
" FaceType .or .true .emit FACE_FRONT;\n"
"FaceType\n"
" dot_ne .and FaceProperty;\n"
"FaceProperty\n"
" \"front\" .emit FACE_FRONT .or \"back\" .emit FACE_BACK;\n"
"optColorType\n"
" ColorType .or .true .emit COLOR_PRIMARY;\n"
"ColorType\n"
" dot_ne .and ColorProperty;\n"
"ColorProperty\n"
" \"primary\" .emit COLOR_PRIMARY .or\n"
" .if (secondary_color != 0x00) \"secondary\" .emit COLOR_SECONDARY;\n"
"fp_ALIAS_statement\n"
" \"ALIAS\" .and fp_ALIAS_statement_1 .error IDENTIFIER_EXPECTED .and equal .and fp_establishedName;\n"
"vp_ALIAS_statement\n"
" \"ALIAS\" .and vp_ALIAS_statement_1 .error IDENTIFIER_EXPECTED .and equal .and vp_establishedName;\n"
"fp_ALIAS_statement_1\n"
" space .and fp_establishName;\n"
"vp_ALIAS_statement_1\n"
" space .and vp_establishName;\n"
"fp_establishName\n"
" fp_identifier;\n"
"vp_establishName\n"
" vp_identifier;\n"
"fp_establishedName\n"
" fp_identifier;\n"
"vp_establishedName\n"
" vp_identifier;\n"
"fp_establishedName_no_error_on_identifier\n"
" fp_identifier_ne;\n"
"vp_establishedName_no_error_on_identifier\n"
" vp_identifier_ne;\n"
"fp_identifier\n"
" fp_identifier_ne .error IDENTIFIER_EXPECTED;\n"
"vp_identifier\n"
" vp_identifier_ne .error IDENTIFIER_EXPECTED;\n"
"fp_identifier_ne\n"
" fp_not_reserved_identifier .and identifier_ne;\n"
"vp_identifier_ne\n"
" vp_not_reserved_identifier .and identifier_ne;\n"
"fp_not_reserved_identifier\n"
" fp_not_reserved_identifier_1 .or .true;\n"
"fp_not_reserved_identifier_1\n"
" fp_reserved_identifier .and .false .error RESERVED_KEYWORD;\n"
"vp_not_reserved_identifier\n"
" vp_not_reserved_identifier_1 .or .true;\n"
"vp_not_reserved_identifier_1\n"
" vp_reserved_identifier .and .false .error RESERVED_KEYWORD;\n"
"fp_reserved_identifier\n"
" \"ABS\" .or \"ABS_SAT\" .or \"ADD\" .or \"ADD_SAT\" .or \"ALIAS\" .or \"ATTRIB\" .or \"CMP\" .or \"CMP_SAT\" .or\n"
" \"COS\" .or \"COS_SAT\" .or \"DP3\" .or \"DP3_SAT\" .or \"DP4\" .or \"DP4_SAT\" .or \"DPH\" .or \"DPH_SAT\" .or\n"
" \"DST\" .or \"DST_SAT\" .or \"END\" .or \"EX2\" .or \"EX2_SAT\" .or \"FLR\" .or \"FLR_SAT\" .or \"FRC\" .or\n"
" \"FRC_SAT\" .or \"KIL\" .or \"LG2\" .or \"LG2_SAT\" .or \"LIT\" .or \"LIT_SAT\" .or \"LRP\" .or \"LRP_SAT\" .or\n"
" \"MAD\" .or \"MAD_SAT\" .or \"MAX\" .or \"MAX_SAT\" .or \"MIN\" .or \"MIN_SAT\" .or \"MOV\" .or \"MOV_SAT\" .or\n"
" \"MUL\" .or \"MUL_SAT\" .or \"OPTION\" .or \"OUTPUT\" .or \"PARAM\" .or \"POW\" .or \"POW_SAT\" .or \"RCP\" .or\n"
" \"RCP_SAT\" .or \"RSQ\" .or \"RSQ_SAT\" .or \"SIN\" .or \"SIN_SAT\" .or \"SCS\" .or \"SCS_SAT\" .or \"SGE\" .or\n"
" \"SGE_SAT\" .or \"SLT\" .or \"SLT_SAT\" .or \"SUB\" .or \"SUB_SAT\" .or \"SWZ\" .or \"SWZ_SAT\" .or \"TEMP\" .or\n"
" \"TEX\" .or \"TEX_SAT\" .or \"TXB\" .or \"TXB_SAT\" .or \"TXP\" .or \"TXP_SAT\" .or \"XPD\" .or \"XPD_SAT\" .or\n"
" \"fragment\" .or \"program\" .or \"result\" .or \"state\" .or \"texture\";\n"
"vp_reserved_identifier\n"
" \"ABS\" .or \"ADD\" .or \"ADDRESS\" .or \"ALIAS\" .or \"ARL\" .or \"ATTRIB\" .or \"DP3\" .or \"DP4\" .or\n"
" \"DPH\" .or \"DST\" .or \"END\" .or \"EX2\" .or \"EXP\" .or \"FLR\" .or \"FRC\" .or \"LG2\" .or \"LIT\" .or\n"
" \"LOG\" .or \"MAD\" .or \"MAX\" .or \"MIN\" .or \"MOV\" .or \"MUL\" .or \"OPTION\" .or \"OUTPUT\" .or\n"
" \"PARAM\" .or \"POW\" .or \"RCP\" .or \"RSQ\" .or \"SGE\" .or \"SLT\" .or \"SUB\" .or \"SWZ\" .or \"TEMP\" .or\n"
" \"XPD\" .or \"program\" .or \"result\" .or \"state\" .or \"vertex\";\n"
"integer\n"
" integer_ne .error INTEGER_EXPECTED;\n"
"zero\n"
" '0';\n"
"leading_zeroes\n"
" .loop zero;\n"
"no_digit\n"
" no_digit_1 .or .true;\n"
"no_digit_1\n"
" digit10 .and .false .error INTEGER_OUT_OF_RANGE;\n"
"all_zeroes\n"
" all_zeroes_1 .or no_digit_1;\n"
"all_zeroes_1\n"
" '0' .and .loop zero .and no_digit;\n"
"integer_0_3\n"
" integer_0_3_1 .error INTEGER_EXPECTED .and .true .emit 0x00 .emit $;\n"
"integer_0_3_1\n"
" integer_0_3_2 .or all_zeroes .emit '0';\n"
"integer_0_3_2 \n"
" leading_zeroes .and '1'-'3' .emit * .and no_digit;\n"
"integer_0_63\n"
" integer_0_63_1 .error INTEGER_EXPECTED .and .true .emit 0x00 .emit $;\n"
"integer_0_63_1\n"
" integer_0_63_2 .or integer_0_63_3 .or integer_0_63_4 .or integer_0_63_5 .or\n"
" all_zeroes .emit '0';\n"
"integer_0_63_2 \n"
" leading_zeroes .and '7'-'9' .emit * .and no_digit;\n"
"integer_0_63_3 \n"
" leading_zeroes .and '1'-'5' .emit * .and '0'-'9' .emit * .and no_digit;\n"
"integer_0_63_4 \n"
" leading_zeroes .and '6' .emit * .and '0'-'3' .emit * .and no_digit;\n"
"integer_0_63_5 \n"
" leading_zeroes .and '1'-'6' .emit * .and no_digit;\n"
"integer_0_64\n"
" integer_0_64_1 .error INTEGER_EXPECTED .and .true .emit 0x00 .emit $;\n"
"integer_0_64_1\n"
" integer_0_64_2 .or integer_0_64_3 .or integer_0_64_4 .or integer_0_64_5 .or\n"
" all_zeroes .emit '0';\n"
"integer_0_64_2 \n"
" leading_zeroes .and '7'-'9' .emit * .and no_digit;\n"
"integer_0_64_3 \n"
" leading_zeroes .and '1'-'5' .emit * .and '0'-'9' .emit * .and no_digit;\n"
"integer_0_64_4 \n"
" leading_zeroes .and '6' .emit * .and '0'-'4' .emit * .and no_digit;\n"
"integer_0_64_5 \n"
" leading_zeroes .and '1'-'6' .emit * .and no_digit;\n"
"optional_space\n"
" space .or .true;\n"
"space_dst\n"
" space .error OPERATION_NEEDS_DESTINATION_VARIABLE;\n"
"space_src\n"
" space .error OPERATION_NEEDS_SOURCE_VARIABLE;\n"
"space\n"
" single_space .and .loop single_space;\n"
"single_space\n"
" white_char .or comment_block;\n"
"white_char\n"
" ' ' .or '\\t' .or '\\n' .or '\\r';\n"
"comment_block\n"
" '#' .and .loop comment_char .and new_line;\n"
"comment_char\n"
" '\\x0E'-'\\xFF' .or '\\x01'-'\\x09' .or '\\x0B'-'\\x0C';\n"
"new_line\n"
" '\\n' .or crlf .or '\\0';\n"
"crlf\n"
" '\\r' .and '\\n';\n"
"semicolon\n"
" optional_space .and ';' .error MISSING_SEMICOLON .and optional_space;\n"
"comma\n"
" optional_space .and ',' .error MISSING_COMMA .and optional_space;\n"
"comma_ne\n"
" optional_space .and ',' .and optional_space;\n"
"lbracket\n"
" optional_space .and '[' .error MISSING_LBRACKET .and optional_space;\n"
"lbracket_ne\n"
" optional_space .and '[' .and optional_space;\n"
"rbracket\n"
" optional_space .and ']' .error MISSING_RBRACKET .and optional_space;\n"
"dot\n"
" optional_space .and '.' .error MISSING_DOT .and optional_space;\n"
"dot_ne\n"
" optional_space .and '.' .and optional_space;\n"
"equal\n"
" optional_space .and '=' .error MISSING_EQUAL .and optional_space;\n"
"lbrace\n"
" optional_space .and '{' .error MISSING_LBRACE .and optional_space;\n"
"lbrace_ne\n"
" optional_space .and '{' .and optional_space;\n"
"rbrace\n"
" optional_space .and '}' .error MISSING_RBRACE .and optional_space;\n"
"dotdot\n"
" optional_space .and '.' .and '.' .error MISSING_DOTDOT .and optional_space;\n"
"dotdot_ne\n"
" optional_space .and '.' .and '.' .and optional_space;\n"
"float\n"
" float_1 .or float_2 .or float_legacy;\n"
"float_1\n"
" '.' .emit 0x00 .and integer_ne .error MISSING_FRACTION_OR_EXPONENT .and optional_exponent;\n"
"float_2\n"
" integer_ne .and float_3;\n"
"float_3\n"
" float_4 .or float_5;\n"
"float_4\n"
" '.' .and optional_integer .and optional_exponent;\n"
"float_5\n"
" exponent .emit 0x00;\n"
"float_legacy\n"
" integer_ne .and .true .emit 0x00 .emit 0x00;\n"
"integer_ne\n"
" integer_ne_1 .and .true .emit 0x00 .emit $;\n"
"integer_ne_1\n"
" digit10 .emit * .and .loop digit10 .emit *;\n"
"optional_integer\n"
" integer_ne .or .true .emit 0x00;\n"
"optional_exponent\n"
" exponent .or .true .emit 0x00;\n"
"exponent\n"
" exponent_1 .and optional_sign_ne .and integer_ne .error EXPONENT_VALUE_EXPECTED;\n"
"exponent_1\n"
" 'e' .or 'E';\n"
"optional_sign_ne\n"
" minus_ne .or plus_ne .or .true;\n"
"plus_ne\n"
" optional_space .and '+' .and optional_space;\n"
"minus_ne\n"
" optional_space .and '-' .emit '-' .and optional_space;\n"
"identifier_ne\n"
" first_idchar .emit * .and .loop follow_idchar .emit * .and .true .emit 0x00 .emit $;\n"
"follow_idchar\n"
" first_idchar .or digit10;\n"
"first_idchar\n"
" 'a'-'z' .or 'A'-'Z' .or '_' .or '$';\n"
"digit10\n"
" '0'-'9';\n"
".string __string_filter;\n"
"__string_filter\n"
" .loop __identifier_char;\n"
"__identifier_char\n"
" 'a'-'z' .or 'A'-'Z' .or '_' .or '$' .or '0'-'9';\n"
"e_signature\n"
" e_signature_char .and .loop e_signature_char;\n"
"e_signature_char\n"
" '!' .or '.' .or 'A'-'Z' .or 'a'-'z' .or '0'-'9';\n"
"e_statement\n"
" .loop e_statement_not_term;\n"
"e_statement_not_term\n"
" '\\x3C'-'\\xFF' .or '\\x0E'-'\\x3A' .or '\\x01'-'\\x09' .or '\\x0B'-'\\x0C';\n"
"e_identifier\n"
" e_identifier_first .and .loop e_identifier_next;\n"
"e_identifier_first\n"
" 'a'-'z' .or 'A'-'Z' .or '_' .or '$';\n"
"e_identifier_next\n"
" e_identifier_first .or '0'-'9';\n"
"e_token\n"
" e_identifier .or e_token_number .or '[' .or ']' .or '.' .or '{' .or '}' .or '=' .or '+' .or\n"
" '-' .or ',' .or ';';\n"
"e_token_number\n"
" e_token_digit .and .loop e_token_digit;\n"
"e_token_digit\n"
" '0'-'9';\n"
"e_charordigit\n"
" 'A'-'Z' .or 'a'-'z' .or '0'-'9';\n"
""

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -