📄 ifs_yacc.c
字号:
FOR_ITEM (i) { TBL->param[i].has_default = ITEM_BUF(i).value.has_value; if (TBL->param[i].has_default) { assign_value (TBL->param[i].type, &TBL->param[i].default_value, ITEM_BUF(i).value); } }} break; case 35:#line 710 "ifs_yacc.y" {int i; END; FOR_ITEM (i) { assign_limits (TBL->param[i].type, &TBL->param[i], ITEM_BUF(i).range); }} break; case 36:#line 718 "ifs_yacc.y" {int i; END; FOR_ITEM (i) { TBL->param[i].is_array = ITEM_BUF(i).bool; }} break; case 37:#line 724 "ifs_yacc.y" {int i; END; FOR_ITEM (i) { ASSIGN_BOUNDS (param, i); }} break; case 38:#line 730 "ifs_yacc.y" {int i; END; FOR_ITEM (i) { TBL->param[i].null_allowed = ITEM_BUF(i).bool; }} break; case 41:#line 742 "ifs_yacc.y" {int i; END; FOR_ITEM (i) { TBL->inst_var[i].name = ITEM_BUF(i).str; }} break; case 42:#line 748 "ifs_yacc.y" {int i; END; FOR_ITEM (i) { TBL->inst_var[i].description = ITEM_BUF(i).str; }} break; case 43:#line 754 "ifs_yacc.y" {int i; END; FOR_ITEM (i) { TBL->inst_var[i].type = ITEM_BUF(i).dtype; }} break; case 44:#line 760 "ifs_yacc.y" {int i; END; FOR_ITEM (i) { TBL->inst_var[i].is_array = ITEM_BUF(i).bool; }} break; case 46:#line 768 "ifs_yacc.y" {ITEM; BUF.str = yyvsp[0].str;} break; case 48:#line 773 "ifs_yacc.y" {ITEM; BUF.range = yyvsp[0].range;} break; case 49:#line 776 "ifs_yacc.y" {ITEM; BUF.range.is_named = TRUE; BUF.range.u.name = yyvsp[0].str;} break; case 51:#line 782 "ifs_yacc.y" {ITEM; BUF.str = yyvsp[0].str;} break; case 53:#line 786 "ifs_yacc.y" {ITEM; BUF.dir = yyvsp[0].dir;} break; case 54:#line 789 "ifs_yacc.y" {yyval.dir = IN;} break; case 55:#line 790 "ifs_yacc.y" {yyval.dir = OUT;} break; case 56:#line 791 "ifs_yacc.y" {yyval.dir = INOUT;} break; case 58:#line 795 "ifs_yacc.y" {ITEM; BUF.bool = yyvsp[0].bool;} break; case 60:#line 799 "ifs_yacc.y" {ITEM; BUF.ctype = yyvsp[0].ctype;} break; case 61:#line 802 "ifs_yacc.y" {yyval.ctype.kind = VOLTAGE;} break; case 62:#line 803 "ifs_yacc.y" {yyval.ctype.kind = DIFF_VOLTAGE;} break; case 63:#line 804 "ifs_yacc.y" {yyval.ctype.kind = VSOURCE_CURRENT;} break; case 64:#line 805 "ifs_yacc.y" {yyval.ctype.kind = CURRENT;} break; case 65:#line 806 "ifs_yacc.y" {yyval.ctype.kind = DIFF_CURRENT;} break; case 66:#line 807 "ifs_yacc.y" {yyval.ctype.kind = CONDUCTANCE;} break; case 67:#line 808 "ifs_yacc.y" {yyval.ctype.kind = DIFF_CONDUCTANCE;} break; case 68:#line 809 "ifs_yacc.y" {yyval.ctype.kind = RESISTANCE;} break; case 69:#line 810 "ifs_yacc.y" {yyval.ctype.kind = DIFF_RESISTANCE;} break; case 70:#line 811 "ifs_yacc.y" {yyval.ctype.kind = DIGITAL;} break; case 71:#line 812 "ifs_yacc.y" {yyval.ctype.kind = USER_DEFINED; yyval.ctype.id = yyvsp[0].str;} break; case 73:#line 817 "ifs_yacc.y" {ITEM; BUF.dtype = yyvsp[0].dtype;} break; case 74:#line 820 "ifs_yacc.y" {yyval.dtype = REAL;} break; case 75:#line 821 "ifs_yacc.y" {yyval.dtype = INTEGER;} break; case 76:#line 822 "ifs_yacc.y" {yyval.dtype = BOOLEAN;} break; case 77:#line 823 "ifs_yacc.y" {yyval.dtype = COMPLEX;} break; case 78:#line 824 "ifs_yacc.y" {yyval.dtype = STRING;} break; case 79:#line 825 "ifs_yacc.y" {yyval.dtype = POINTER;} break; case 81:#line 829 "ifs_yacc.y" {ITEM; BUF.range = yyvsp[0].range;} break; case 82:#line 832 "ifs_yacc.y" {yyval.range.is_named = FALSE; yyval.range.u.bounds.lower.has_bound = FALSE; yyval.range.u.bounds.upper.has_bound = FALSE;} break; case 83:#line 837 "ifs_yacc.y" {yyval.range.is_named = FALSE; yyval.range.u.bounds.lower = yyvsp[-3].bound; yyval.range.u.bounds.upper = yyvsp[-1].bound;} break; case 86:#line 846 "ifs_yacc.y" {yyval.bound.has_bound = FALSE;} break; case 87:#line 847 "ifs_yacc.y" {yyval.bound.has_bound = TRUE; yyval.bound.bound = yyvsp[0].value;} break; case 88:#line 851 "ifs_yacc.y" {yyval.range.is_named = FALSE; yyval.range.u.bounds.lower.has_bound = FALSE; yyval.range.u.bounds.upper.has_bound = FALSE;} break; case 89:#line 856 "ifs_yacc.y" {yyval.range.is_named = FALSE; yyval.range.u.bounds.lower = yyvsp[-3].bound; yyval.range.u.bounds.upper = yyvsp[-1].bound;} break; case 90:#line 861 "ifs_yacc.y" {yyval.bound.has_bound = FALSE;} break; case 91:#line 862 "ifs_yacc.y" {yyval.bound.has_bound = TRUE; yyval.bound.bound = yyvsp[0].value;} break; case 93:#line 867 "ifs_yacc.y" {ITEM; BUF.value = yyvsp[0].value;} break; case 94:#line 870 "ifs_yacc.y" {yyval.value.has_value = FALSE;} break; case 96:#line 874 "ifs_yacc.y" {yyval.value.has_value = TRUE; yyval.value.kind = STRING; yyval.value.u.svalue = yyvsp[0].str;} break; case 97:#line 877 "ifs_yacc.y" {yyval.value.has_value = TRUE; yyval.value.kind = BOOLEAN; yyval.value.u.bvalue = yyvsp[0].bool;} break; case 98:#line 880 "ifs_yacc.y" {yyval.value.has_value = TRUE; yyval.value.kind = COMPLEX; yyval.value.u.cvalue = yyvsp[0].cval;} break; case 100:#line 887 "ifs_yacc.y" {yyval.cval.real = yyvsp[-3].rval; yyval.cval.imag = yyvsp[-1].rval;} break; case 102:#line 893 "ifs_yacc.y" {ITEM; BUF.ctype_list = yyvsp[0].ctype_list;} break; case 103:#line 896 "ifs_yacc.y" {yyval.ctype_list = yyvsp[-1].ctype_list;} break; case 104:#line 900 "ifs_yacc.y" {yyval.ctype_list = (Ctype_List_t*)calloc (1, sizeof (Ctype_List_t)); if (!yyval.ctype_list) { fatal ("Error allocating memory"); } yyval.ctype_list->ctype = yyvsp[0].ctype; yyval.ctype_list->next = (Ctype_List_t*)0;} break; case 105:#line 908 "ifs_yacc.y" {yyval.ctype_list = (Ctype_List_t*)calloc (1, sizeof (Ctype_List_t)); if (!yyval.ctype_list) { fatal ("Error allocating memory"); } yyval.ctype_list->ctype = yyvsp[0].ctype; yyval.ctype_list->next = yyvsp[-2].ctype_list; /*$$->next = (Ctype_List_t*)0; assert ($1); $1->next = $$;*/} break; case 106:#line 920 "ifs_yacc.y" {yyval.bool = TRUE;} break; case 107:#line 921 "ifs_yacc.y" {yyval.bool = FALSE;} break; case 108:#line 924 "ifs_yacc.y" {yyval.str = strdup(ifs_yytext);} break; case 109:#line 927 "ifs_yacc.y" {yyval.str = strdup(ifs_yytext);} break; case 110:#line 930 "ifs_yacc.y" {yyval.value.has_value = TRUE; yyval.value.kind = REAL; yyval.value.u.rvalue = yyvsp[0].rval;} break; case 112:#line 936 "ifs_yacc.y" {yyval.value.has_value = TRUE; yyval.value.kind = INTEGER; yyval.value.u.ivalue = yyvsp[0].ival;} break; case 113:#line 941 "ifs_yacc.y" {yyval.rval = yydval;} break; case 114:#line 944 "ifs_yacc.y" {yyval.ival = yyival;} break; }/* Line 1010 of yacc.c. */#line 2306 "ifs_yacc.c" yyvsp -= yylen; yyssp -= yylen; YY_STACK_PRINT (yyss, yyssp); *++yyvsp = yyval; /* Now `shift' the result of the reduction. Determine what state that goes to, based on the state we popped back to and the rule number reduced by. */ yyn = yyr1[yyn]; yystate = yypgoto[yyn - YYNTOKENS] + *yyssp; if (0 <= yystate && yystate <= YYLAST && yycheck[yystate] == *yyssp) yystate = yytable[yystate]; else yystate = yydefgoto[yyn - YYNTOKENS]; goto yynewstate;/*------------------------------------.| yyerrlab -- here on detecting error |`------------------------------------*/yyerrlab: /* If not already recovering from an error, report this error. */ if (!yyerrstatus) { ++yynerrs;#if YYERROR_VERBOSE yyn = yypact[yystate]; if (YYPACT_NINF < yyn && yyn < YYLAST) { YYSIZE_T yysize = 0; int yytype = YYTRANSLATE (yychar); const char* yyprefix; char *yymsg; int yyx; /* Start YYX at -YYN if negative to avoid negative indexes in YYCHECK. */ int yyxbegin = yyn < 0 ? -yyn : 0; /* Stay within bounds of both yycheck and yytname. */ int yychecklim = YYLAST - yyn; int yyxend = yychecklim < YYNTOKENS ? yychecklim : YYNTOKENS; int yycount = 0; yyprefix = ", expecting "; for (yyx = yyxbegin; yyx < yyxend; ++yyx) if (yycheck[yyx + yyn] == yyx && yyx != YYTERROR) { yysize += yystrlen (yyprefix) + yystrlen (yytname [yyx]); yycount += 1; if (yycount == 5) { yysize = 0; break; } } yysize += (sizeof ("syntax error, unexpected ") + yystrlen (yytna
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -