📄 asn1p_y.c
字号:
break;}case 11:#line 384 "asn1p_y.y"{ /* iso */ yyval.a_oid_arc.name = yyvsp[0].tv_str; yyval.a_oid_arc.number = -1; ; break;}case 12:#line 388 "asn1p_y.y"{ /* iso(1) */ yyval.a_oid_arc.name = yyvsp[-3].tv_str; yyval.a_oid_arc.number = yyvsp[-1].a_int; ; break;}case 13:#line 392 "asn1p_y.y"{ /* 1 */ yyval.a_oid_arc.name = 0; yyval.a_oid_arc.number = yyvsp[0].a_int; ; break;}case 14:#line 402 "asn1p_y.y"{ yyval.a_module_flags = MSF_NOFLAGS; ; break;}case 15:#line 403 "asn1p_y.y"{ yyval.a_module_flags = yyvsp[0].a_module_flags; ; break;}case 16:#line 412 "asn1p_y.y"{ yyval.a_module_flags = yyvsp[0].a_module_flags; ; break;}case 17:#line 415 "asn1p_y.y"{ yyval.a_module_flags = yyvsp[-1].a_module_flags | yyvsp[0].a_module_flags; ; break;}case 18:#line 424 "asn1p_y.y"{ yyval.a_module_flags = MSF_EXPLICIT_TAGS; ; break;}case 19:#line 427 "asn1p_y.y"{ yyval.a_module_flags = MSF_IMPLICIT_TAGS; ; break;}case 20:#line 430 "asn1p_y.y"{ yyval.a_module_flags = MSF_AUTOMATIC_TAGS; ; break;}case 21:#line 433 "asn1p_y.y"{ yyval.a_module_flags = MSF_EXTENSIBILITY_IMPLIED; ; break;}case 22:#line 437 "asn1p_y.y"{ /* X.680Amd1 specifies TAG and XER */ if(strcmp(yyvsp[-1].tv_str, "TAG") == 0) { yyval.a_module_flags = MSF_TAG_INSTRUCTIONS; } else if(strcmp(yyvsp[-1].tv_str, "XER") == 0) { yyval.a_module_flags = MSF_XER_INSTRUCTIONS; } else { fprintf(stderr, "WARNING: %s INSTRUCTIONS at line %d: " "Unrecognized encoding reference\n", yyvsp[-1].tv_str, yylineno); yyval.a_module_flags = MSF_unk_INSTRUCTIONS; } free(yyvsp[-1].tv_str); ; break;}case 23:#line 458 "asn1p_y.y"{ yyval.a_module = 0; ; break;}case 24:#line 459 "asn1p_y.y"{ yyval.a_module = yyvsp[0].a_module; ; break;}case 25:#line 468 "asn1p_y.y"{ yyval.a_module = yyvsp[0].a_module; ; break;}case 26:#line 471 "asn1p_y.y"{ yyval.a_module = yyvsp[-1].a_module; /* Behave well when one of them is skipped. */ if(!(yyvsp[-1].a_module)) { if(yyvsp[0].a_module) yyval.a_module = yyvsp[0].a_module; break; }#ifdef MY_IMPORT#error MY_IMPORT DEFINED ELSEWHERE!#endif#define MY_IMPORT(foo,field) do { \ while(TQ_FIRST(&(yyvsp[0].a_module->foo))) { \ TQ_ADD(&(yyval.a_module->foo), \ TQ_REMOVE(&(yyvsp[0].a_module->foo), field), \ field); \ } \ assert(TQ_FIRST(&(yyvsp[0].a_module->foo)) == 0); \ } while(0) MY_IMPORT(imports, xp_next); MY_IMPORT(exports, xp_next); MY_IMPORT(members, next);#undef MY_IMPORT ; break;}case 27:#line 504 "asn1p_y.y"{ yyval.a_module = yyvsp[0].a_module; ; break;}case 28:#line 507 "asn1p_y.y"{ yyval.a_module = asn1p_module_new(); checkmem(yyval.a_module); if(yyvsp[0].a_xports) { TQ_ADD(&(yyval.a_module->exports), yyvsp[0].a_xports, xp_next); } else { /* "EXPORTS ALL;" ? */ } ; break;}case 29:#line 516 "asn1p_y.y"{ yyval.a_module = asn1p_module_new(); checkmem(yyval.a_module); assert(yyvsp[0].a_expr->expr_type != A1TC_INVALID); assert(yyvsp[0].a_expr->meta_type != AMT_INVALID); TQ_ADD(&(yyval.a_module->members), yyvsp[0].a_expr, next); ; break;}case 30:#line 523 "asn1p_y.y"{ yyval.a_module = asn1p_module_new(); checkmem(yyval.a_module); assert(yyvsp[0].a_expr->expr_type != A1TC_INVALID); assert(yyvsp[0].a_expr->meta_type != AMT_INVALID); TQ_ADD(&(yyval.a_module->members), yyvsp[0].a_expr, next); ; break;}case 31:#line 536 "asn1p_y.y"{ yyval.a_module = asn1p_module_new(); checkmem(yyval.a_module); assert(yyvsp[0].a_expr->expr_type != A1TC_INVALID); assert(yyvsp[0].a_expr->meta_type != AMT_INVALID); TQ_ADD(&(yyval.a_module->members), yyvsp[0].a_expr, next); ; break;}case 32:#line 544 "asn1p_y.y"{ asn1p_lexer_hack_push_encoding_control(); ; break;}case 33:#line 545 "asn1p_y.y"{ fprintf(stderr, "WARNING: ENCODING-CONTROL %s " "specification at line %d ignored\n", yyvsp[-1].tv_str, yylineno); free(yyvsp[-1].tv_str); yyval.a_module = 0; ; break;}case 34:#line 557 "asn1p_y.y"{ return yyerror( "Attempt to redefine a standard basic type, " "use -ftypesXY to switch back " "to older version of ASN.1 standard"); ; break;}case 35:#line 571 "asn1p_y.y"{ yyval.a_module = yyvsp[-1].a_module; ; break;}case 36:#line 577 "asn1p_y.y"{ return yyerror("Empty IMPORTS list"); ; break;}case 37:#line 583 "asn1p_y.y"{ yyval.a_module = asn1p_module_new(); checkmem(yyval.a_module); TQ_ADD(&(yyval.a_module->imports), yyvsp[0].a_xports, xp_next); ; break;}case 38:#line 588 "asn1p_y.y"{ yyval.a_module = yyvsp[-1].a_module; TQ_ADD(&(yyval.a_module->imports), yyvsp[0].a_xports, xp_next); ; break;}case 39:#line 595 "asn1p_y.y"{ yyval.a_xports = yyvsp[-3].a_xports; yyval.a_xports->from = yyvsp[-1].tv_str; yyval.a_xports->from_oid = yyvsp[0].a_oid; checkmem(yyval.a_xports); ; break;}case 40:#line 604 "asn1p_y.y"{ yyval.a_xports = asn1p_xports_new(); checkmem(yyval.a_xports); TQ_ADD(&(yyval.a_xports->members), yyvsp[0].a_expr, next); ; break;}case 41:#line 609 "asn1p_y.y"{ yyval.a_xports = yyvsp[-2].a_xports; TQ_ADD(&(yyval.a_xports->members), yyvsp[0].a_expr, next); ; break;}case 42:#line 616 "asn1p_y.y"{ yyval.a_expr = asn1p_expr_new(yylineno); checkmem(yyval.a_expr); yyval.a_expr->Identifier = yyvsp[0].tv_str; yyval.a_expr->expr_type = A1TC_REFERENCE; ; break;}case 43:#line 622 "asn1p_y.y"{ /* Completely equivalent to above */ yyval.a_expr = asn1p_expr_new(yylineno); checkmem(yyval.a_expr); yyval.a_expr->Identifier = yyvsp[-2].tv_str; yyval.a_expr->expr_type = A1TC_REFERENCE; ; break;}case 44:#line 628 "asn1p_y.y"{ yyval.a_expr = asn1p_expr_new(yylineno); checkmem(yyval.a_expr); yyval.a_expr->Identifier = yyvsp[0].tv_str; yyval.a_expr->expr_type = A1TC_REFERENCE; ; break;}case 45:#line 637 "asn1p_y.y"{ yyval.a_xports = yyvsp[-1].a_xports; ; break;}case 46:#line 640 "asn1p_y.y"{ yyval.a_xports = 0; ; break;}case 47:#line 643 "asn1p_y.y"{ /* Empty EXPORTS clause effectively prohibits export. */ yyval.a_xports = asn1p_xports_new(); checkmem(yyval.a_xports); ; break;}case 48:#line 651 "asn1p_y.y"{ yyval.a_xports = asn1p_xports_new(); assert(yyval.a_xports); TQ_ADD(&(yyval.a_xports->members), yyvsp[0].a_expr, next); ; break;}case 49:#line 656 "asn1p_y.y"{ yyval.a_xports = yyvsp[-2].a_xports; TQ_ADD(&(yyval.a_xports->members), yyvsp[0].a_expr, next); ; break;}case 50:#line 663 "asn1p_y.y"{ yyval.a_expr = asn1p_expr_new(yylineno); checkmem(yyval.a_expr); yyval.a_expr->Identifier = yyvsp[0].tv_str; yyval.a_expr->expr_type = A1TC_EXPORTVAR; ; break;}case 51:#line 669 "asn1p_y.y"{ yyval.a_expr = asn1p_expr_new(yylineno); checkmem(yyval.a_expr); yyval.a_expr->Identifier = yyvsp[-2].tv_str; yyval.a_expr->expr_type = A1TC_EXPORTVAR; ; break;}case 52:#line 675 "asn1p_y.y"{ yyval.a_expr = asn1p_expr_new(yylineno); checkmem(yyval.a_expr); yyval.a_expr->Identifier = yyvsp[0].tv_str; yyval.a_expr->expr_type = A1TC_EXPORTVAR; ; bre
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -