installparse.c
来自「支持SSL v2/v3, TLS, PKCS #5, PKCS #7, PKCS」· C语言 代码 · 共 430 行
C
430 行
#ifndef lintchar yysccsid[] = "@(#)yaccpar 1.4 (Berkeley) 02/25/90";#endif#line 37 "installparse.y" #define yyparse Pk11Install_yyparse#define yylex Pk11Install_yylex#define yyerror Pk11Install_yyerror#define yychar Pk11Install_yychar#define yyval Pk11Install_yyval#define yylval Pk11Install_yylval#define yydebug Pk11Install_yydebug#define yynerrs Pk11Install_yynerrs#define yyerrflag Pk11Install_yyerrflag#define yyss Pk11Install_yyss#define yyssp Pk11Install_yyssp#define yyvs Pk11Install_yyvs#define yyvsp Pk11Install_yyvsp#define yylhs Pk11Install_yylhs#define yylen Pk11Install_yylen#define yydefred Pk11Install_yydefred#define yydgoto Pk11Install_yydgoto#define yysindex Pk11Install_yysindex#define yyrindex Pk11Install_yyrindex#define yygindex Pk11Install_yygindex#define yytable Pk11Install_yytable#define yycheck Pk11Install_yycheck#define yyname Pk11Install_yyname#define yyrule Pk11Install_yyrule/* C Stuff */#include "install-ds.h"#include <prprf.h>#define YYSTYPE Pk11Install_Pointerextern char *Pk11Install_yytext;char *Pk11Install_yyerrstr=NULL;#line 40 "ytab.c"#define OPENBRACE 257#define CLOSEBRACE 258#define STRING 259#define YYERRCODE 256short yylhs[] = { -1, 0, 1, 1, 2, 2, 3, 4,};short yylen[] = { 2, 1, 2, 0, 1, 1, 4, 1,};short yydefred[] = { 0, 0, 0, 1, 0, 4, 0, 2, 0, 0, 6,};short yydgoto[] = { 2, 3, 4, 5, 6,};short yysindex[] = { -257, 0, 0, 0, -257, 0, -252, 0, -257, -251, 0,};short yyrindex[] = { 6, 1, 0, 0, 3, 0, 0, 0, -250, 0, 0,};short yygindex[] = { 0, -4, 0, 0, 0,};#define YYTABLESIZE 261short yytable[] = { 7, 5, 1, 3, 9, 8, 3, 10, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 5, 5, 3,};short yycheck[] = { 4, 0, 259, 0, 8, 257, 0, 258, 258, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 257, 258, 259, 258,};#define YYFINAL 2#ifndef YYDEBUG#define YYDEBUG 0#endif#define YYMAXTOKEN 259#if YYDEBUGchar *yyname[] = {"end-of-file",0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,"OPENBRACE","CLOSEBRACE","STRING",};char *yyrule[] = {"$accept : toplist","toplist : valuelist","valuelist : value valuelist","valuelist :","value : key_value_pair","value : STRING","key_value_pair : key OPENBRACE valuelist CLOSEBRACE","key : STRING",};#endif#ifndef YYSTYPEtypedef int YYSTYPE;#endif#define yyclearin (yychar=(-1))#define yyerrok (yyerrflag=0)#ifndef YYSTACKSIZE#ifdef YYMAXDEPTH#define YYSTACKSIZE YYMAXDEPTH#else#define YYSTACKSIZE 300#endif#endifint yydebug;int yynerrs;int yyerrflag;int yychar;short *yyssp;YYSTYPE *yyvsp;YYSTYPE yyval;YYSTYPE yylval;#define yystacksize YYSTACKSIZEshort yyss[YYSTACKSIZE];YYSTYPE yyvs[YYSTACKSIZE];#line 118 "installparse.y"/*----------------------- Program Section --------------------------------*//*************************************************************************/voidPk11Install_yyerror(char *message){ char *tmp; if(Pk11Install_yyerrstr) { tmp=PR_smprintf("%sline %d: %s\n", Pk11Install_yyerrstr, Pk11Install_yylinenum, message); PR_smprintf_free(Pk11Install_yyerrstr); } else { tmp = PR_smprintf("line %d: %s\n", Pk11Install_yylinenum, message); } Pk11Install_yyerrstr=tmp;}#line 191 "ytab.c"#define YYABORT goto yyabort#define YYACCEPT goto yyaccept#define YYERROR goto yyerrlabintyyparse(){ register int yym, yyn, yystate;#if YYDEBUG register char *yys; extern char *getenv(); if (yys = getenv("YYDEBUG")) { yyn = *yys; if (yyn >= '0' && yyn <= '9') yydebug = yyn - '0'; }#endif yynerrs = 0; yyerrflag = 0; yychar = (-1); yyssp = yyss; yyvsp = yyvs; *yyssp = yystate = 0;yyloop: if (yyn = yydefred[yystate]) goto yyreduce; if (yychar < 0) { if ((yychar = yylex()) < 0) yychar = 0;#if YYDEBUG if (yydebug) { yys = 0; if (yychar <= YYMAXTOKEN) yys = yyname[yychar]; if (!yys) yys = "illegal-symbol"; printf("yydebug: state %d, reading %d (%s)\n", yystate, yychar, yys); }#endif } if ((yyn = yysindex[yystate]) && (yyn += yychar) >= 0 && yyn <= YYTABLESIZE && yycheck[yyn] == yychar) {#if YYDEBUG if (yydebug) printf("yydebug: state %d, shifting to state %d\n", yystate, yytable[yyn]);#endif if (yyssp >= yyss + yystacksize - 1) { goto yyoverflow; } *++yyssp = yystate = yytable[yyn]; *++yyvsp = yylval; yychar = (-1); if (yyerrflag > 0) --yyerrflag; goto yyloop; } if ((yyn = yyrindex[yystate]) && (yyn += yychar) >= 0 && yyn <= YYTABLESIZE && yycheck[yyn] == yychar) { yyn = yytable[yyn]; goto yyreduce; } if (yyerrflag) goto yyinrecovery;#ifdef lint goto yynewerror;#endifyynewerror: yyerror("syntax error");#ifdef lint goto yyerrlab;#endifyyerrlab: ++yynerrs;yyinrecovery: if (yyerrflag < 3) { yyerrflag = 3; for (;;) { if ((yyn = yysindex[*yyssp]) && (yyn += YYERRCODE) >= 0 && yyn <= YYTABLESIZE && yycheck[yyn] == YYERRCODE) {#if YYDEBUG if (yydebug) printf("yydebug: state %d, error recovery shifting\ to state %d\n", *yyssp, yytable[yyn]);#endif if (yyssp >= yyss + yystacksize - 1) { goto yyoverflow; } *++yyssp = yystate = yytable[yyn]; *++yyvsp = yylval; goto yyloop; } else {#if YYDEBUG if (yydebug) printf("yydebug: error recovery discarding state %d\n", *yyssp);#endif if (yyssp <= yyss) goto yyabort; --yyssp; --yyvsp; } } } else { if (yychar == 0) goto yyabort;#if YYDEBUG if (yydebug) { yys = 0; if (yychar <= YYMAXTOKEN) yys = yyname[yychar]; if (!yys) yys = "illegal-symbol"; printf("yydebug: state %d, error recovery discards token %d (%s)\n", yystate, yychar, yys); }#endif yychar = (-1); goto yyloop; }yyreduce:#if YYDEBUG if (yydebug) printf("yydebug: state %d, reducing by rule %d (%s)\n", yystate, yyn, yyrule[yyn]);#endif yym = yylen[yyn]; yyval = yyvsp[1-yym]; switch (yyn) {case 1:#line 84 "installparse.y"{ Pk11Install_valueList = yyvsp[0].list;}break;case 2:#line 89 "installparse.y"{ Pk11Install_ValueList_AddItem(yyvsp[0].list,yyvsp[-1].value); yyval .list = yyvsp[0].list; }break;case 3:#line 94 "installparse.y"{ yyval .list = Pk11Install_ValueList_new(); }break;case 4:#line 99 "installparse.y"{ yyval .value= Pk11Install_Value_new(PAIR_VALUE,yyvsp[0]);}break;case 5:#line 103 "installparse.y"{ yyval .value= Pk11Install_Value_new(STRING_VALUE, yyvsp[0]);}break;case 6:#line 108 "installparse.y"{ yyval .pair = Pk11Install_Pair_new(yyvsp[-3].string,yyvsp[-1].list);}break;case 7:#line 113 "installparse.y"{ yyval .string = yyvsp[0].string;}break;#line 374 "ytab.c" } yyssp -= yym; yystate = *yyssp; yyvsp -= yym; yym = yylhs[yyn]; if (yystate == 0 && yym == 0) {#ifdef YYDEBUG if (yydebug) printf("yydebug: after reduction, shifting from state 0 to\ state %d\n", YYFINAL);#endif yystate = YYFINAL; *++yyssp = YYFINAL; *++yyvsp = yyval; if (yychar < 0) { if ((yychar = yylex()) < 0) yychar = 0;#if YYDEBUG if (yydebug) { yys = 0; if (yychar <= YYMAXTOKEN) yys = yyname[yychar]; if (!yys) yys = "illegal-symbol"; printf("yydebug: state %d, reading %d (%s)\n", YYFINAL, yychar, yys); }#endif } if (yychar == 0) goto yyaccept; goto yyloop; } if ((yyn = yygindex[yym]) && (yyn += yystate) >= 0 && yyn <= YYTABLESIZE && yycheck[yyn] == yystate) yystate = yytable[yyn]; else yystate = yydgoto[yym];#ifdef YYDEBUG if (yydebug) printf("yydebug: after reduction, shifting from state %d \to state %d\n", *yyssp, yystate);#endif if (yyssp >= yyss + yystacksize - 1) { goto yyoverflow; } *++yyssp = yystate; *++yyvsp = yyval; goto yyloop;yyoverflow: yyerror("yacc stack overflow");yyabort: return (1);yyaccept: return (0);}
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?