1/* $NetBSD$ */ 2 3 4#ifndef yyparse 5#define yyparse calc_parse 6#endif /* yyparse */ 7 8#ifndef yylex 9#define yylex calc_lex 10#endif /* yylex */ 11 12#ifndef yyerror 13#define yyerror calc_error 14#endif /* yyerror */ 15 16#ifndef yychar 17#define yychar calc_char 18#endif /* yychar */ 19 20#ifndef yyval 21#define yyval calc_val 22#endif /* yyval */ 23 24#ifndef yylval 25#define yylval calc_lval 26#endif /* yylval */ 27 28#ifndef yydebug 29#define yydebug calc_debug 30#endif /* yydebug */ 31 32#ifndef yynerrs 33#define yynerrs calc_nerrs 34#endif /* yynerrs */ 35 36#ifndef yyerrflag 37#define yyerrflag calc_errflag 38#endif /* yyerrflag */ 39 40#ifndef yylhs 41#define yylhs calc_lhs 42#endif /* yylhs */ 43 44#ifndef yylen 45#define yylen calc_len 46#endif /* yylen */ 47 48#ifndef yydefred 49#define yydefred calc_defred 50#endif /* yydefred */ 51 52#ifndef yydgoto 53#define yydgoto calc_dgoto 54#endif /* yydgoto */ 55 56#ifndef yysindex 57#define yysindex calc_sindex 58#endif /* yysindex */ 59 60#ifndef yyrindex 61#define yyrindex calc_rindex 62#endif /* yyrindex */ 63 64#ifndef yygindex 65#define yygindex calc_gindex 66#endif /* yygindex */ 67 68#ifndef yytable 69#define yytable calc_table 70#endif /* yytable */ 71 72#ifndef yycheck 73#define yycheck calc_check 74#endif /* yycheck */ 75 76#ifndef yyname 77#define yyname calc_name 78#endif /* yyname */ 79 80#ifndef yyrule 81#define yyrule calc_rule 82#endif /* yyrule */ 83#define YYPREFIX "calc_" 84const short calc_lhs[] = { -1, 85 0, 0, 0, 1, 1, 2, 2, 2, 2, 2, 86 2, 2, 2, 2, 2, 2, 3, 3, 87}; 88const short calc_len[] = { 2, 89 0, 3, 3, 1, 3, 3, 3, 3, 3, 3, 90 3, 3, 3, 2, 1, 1, 1, 2, 91}; 92const short calc_defred[] = { 1, 93 0, 0, 17, 0, 0, 0, 0, 0, 0, 3, 94 0, 15, 14, 0, 2, 0, 0, 0, 0, 0, 95 0, 0, 18, 0, 6, 0, 0, 0, 0, 9, 96 10, 11, 97}; 98const short calc_dgoto[] = { 1, 99 7, 8, 9, 100}; 101const short calc_sindex[] = { 0, 102 -40, -7, 0, -55, -38, -38, 1, -29, -247, 0, 103 -38, 0, 0, 22, 0, -38, -38, -38, -38, -38, 104 -38, -38, 0, -29, 0, 51, 60, -20, -20, 0, 105 0, 0, 106}; 107const short calc_rindex[] = { 0, 108 0, 0, 0, 2, 0, 0, 0, 9, -9, 0, 109 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 110 0, 0, 0, 10, 0, -6, 14, 5, 13, 0, 111 0, 0, 112}; 113const short calc_gindex[] = { 0, 114 0, 65, 0, 115}; 116const short calc_table[] = { 6, 117 16, 6, 10, 13, 5, 11, 5, 22, 17, 23, 118 15, 15, 20, 18, 7, 19, 22, 21, 4, 5, 119 0, 20, 8, 12, 0, 0, 21, 16, 16, 0, 120 0, 16, 16, 16, 13, 16, 0, 16, 15, 15, 121 0, 0, 7, 15, 15, 7, 15, 7, 15, 7, 122 8, 12, 0, 8, 12, 8, 0, 8, 22, 17, 123 0, 0, 25, 20, 18, 0, 19, 0, 21, 13, 124 14, 0, 0, 0, 0, 24, 0, 0, 0, 0, 125 26, 27, 28, 29, 30, 31, 32, 22, 17, 0, 126 0, 0, 20, 18, 16, 19, 22, 21, 0, 0, 127 0, 20, 18, 0, 19, 0, 21, 0, 0, 0, 128 0, 0, 0, 0, 16, 0, 0, 13, 0, 0, 129 0, 0, 0, 0, 0, 15, 0, 0, 7, 0, 130 0, 0, 0, 0, 0, 0, 8, 12, 0, 0, 131 0, 0, 0, 0, 0, 16, 0, 0, 0, 0, 132 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 133 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 134 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 135 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 136 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 137 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 138 0, 0, 0, 0, 0, 2, 3, 4, 3, 12, 139}; 140const short calc_check[] = { 40, 141 10, 40, 10, 10, 45, 61, 45, 37, 38, 257, 142 10, 10, 42, 43, 10, 45, 37, 47, 10, 10, 143 -1, 42, 10, 10, -1, -1, 47, 37, 38, -1, 144 -1, 41, 42, 43, 41, 45, -1, 47, 37, 38, 145 -1, -1, 38, 42, 43, 41, 45, 43, 47, 45, 146 38, 38, -1, 41, 41, 43, -1, 45, 37, 38, 147 -1, -1, 41, 42, 43, -1, 45, -1, 47, 5, 148 6, -1, -1, -1, -1, 11, -1, -1, -1, -1, 149 16, 17, 18, 19, 20, 21, 22, 37, 38, -1, 150 -1, -1, 42, 43, 124, 45, 37, 47, -1, -1, 151 -1, 42, 43, -1, 45, -1, 47, -1, -1, -1, 152 -1, -1, -1, -1, 124, -1, -1, 124, -1, -1, 153 -1, -1, -1, -1, -1, 124, -1, -1, 124, -1, 154 -1, -1, -1, -1, -1, -1, 124, 124, -1, -1, 155 -1, -1, -1, -1, -1, 124, -1, -1, -1, -1, 156 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 157 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 158 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 159 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 160 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 161 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 162 -1, -1, -1, -1, -1, 256, 257, 258, 257, 258, 163}; 164#ifndef YYDEBUG 165#define YYDEBUG 0 166#endif 167#if YYDEBUG 168const char *yyname[] = { 169 170"end-of-file",0,0,0,0,0,0,0,0,0,"'\\n'",0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, 1710,0,0,0,0,0,"'%'","'&'",0,"'('","')'","'*'","'+'",0,"'-'",0,"'/'",0,0,0,0,0,0,0, 1720,0,0,0,0,0,"'='",0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, 1730,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,"'|'",0,0,0,0,0,0, 1740,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, 1750,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, 1760,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, 1770,0,0,0,0,0,"DIGIT","LETTER","UMINUS", 178}; 179const char *yyrule[] = { 180"$accept : list", 181"list :", 182"list : list stat '\\n'", 183"list : list error '\\n'", 184"stat : expr", 185"stat : LETTER '=' expr", 186"expr : '(' expr ')'", 187"expr : expr '+' expr", 188"expr : expr '-' expr", 189"expr : expr '*' expr", 190"expr : expr '/' expr", 191"expr : expr '%' expr", 192"expr : expr '&' expr", 193"expr : expr '|' expr", 194"expr : '-' expr", 195"expr : LETTER", 196"expr : number", 197"number : DIGIT", 198"number : number DIGIT", 199 200}; 201#endif 202