diff options
author | Joe Hunkeler <jhunkeler@gmail.com> | 2015-08-11 16:51:37 -0400 |
---|---|---|
committer | Joe Hunkeler <jhunkeler@gmail.com> | 2015-08-11 16:51:37 -0400 |
commit | 40e5a5811c6ffce9b0974e93cdd927cbcf60c157 (patch) | |
tree | 4464880c571602d54f6ae114729bf62a89518057 /noao/digiphot/photcal/parser/parser.x | |
download | iraf-osx-40e5a5811c6ffce9b0974e93cdd927cbcf60c157.tar.gz |
Repatch (from linux) of OSX IRAF
Diffstat (limited to 'noao/digiphot/photcal/parser/parser.x')
-rw-r--r-- | noao/digiphot/photcal/parser/parser.x | 849 |
1 files changed, 849 insertions, 0 deletions
diff --git a/noao/digiphot/photcal/parser/parser.x b/noao/digiphot/photcal/parser/parser.x new file mode 100644 index 00000000..47d8ce5b --- /dev/null +++ b/noao/digiphot/photcal/parser/parser.x @@ -0,0 +1,849 @@ + +# line 2 "parser.y" + +include <ctype.h> +include <lexnum.h> +include "../lib/lexer.h" +include "../lib/parser.h" +include "../lib/prdefs.h" + +# Parser stack and structure lengths +define YYMAXDEPTH 128 +define YYOPLEN LEN_LEX + +# Redefine the name of the parser +define yyparse parse + +define OBSSECT 257 +define CATSECT 258 +define EXTSECT 259 +define TRNSECT 260 +define FITID 261 +define CONSTID 262 +define DELTAID 263 +define ERRORID 264 +define WEIGHTID 265 +define MINID 266 +define MAXID 267 +define DERIVID 268 +define PLOTID 269 +define SETID 270 +define F_ABS 271 +define F_ACOS 272 +define F_ASIN 273 +define F_ATAN 274 +define F_COS 275 +define F_EXP 276 +define F_LOG 277 +define F_LOG10 278 +define F_SIN 279 +define F_SQRT 280 +define F_TAN 281 +define IDENTIFIER 282 +define INUMBER 283 +define RNUMBER 284 +define PLUS 285 +define MINUS 286 +define STAR 287 +define SLASH 288 +define EXPON 289 +define COLON 290 +define SEMICOLON 291 +define COMMA 292 +define EQUAL 293 +define LPAR 294 +define RPAR 295 +define EOFILE 296 +define UPLUS 297 +define UMINUS 298 +define yyclearin yychar = -1 +define yyerrok yyerrflag = 0 +define YYMOVE call amovi (Memi[$1], Memi[$2], YYOPLEN) +define YYERRCODE 256 + +define YYNPROD 104 +define YYLAST 337 +# line 1 "/iraf/iraf/lib/yaccpar.x" +# Copyright(c) 1986 Association of Universities for Research in Astronomy Inc. + +# Parser for yacc output, translated to the IRAF SPP language. The contents +# of this file form the bulk of the source of the parser produced by Yacc. +# Yacc recognizes several macros in the yaccpar input source and replaces +# them as follows: +# A user suppled "global" definitions and declarations +# B parser tables +# C user supplied actions (reductions) +# The remainder of the yaccpar code is not changed. + +define yystack_ 10 # statement labels for gotos +define yynewstate_ 20 +define yydefault_ 30 +define yyerrlab_ 40 +define yyabort_ 50 + +define YYFLAG (-1000) # defs used in user actions +define YYERROR goto yyerrlab_ +define YYACCEPT return (OK) +define YYABORT return (ERR) + + +# YYPARSE -- Parse the input stream, returning OK if the source is +# syntactically acceptable (i.e., if compilation is successful), +# otherwise ERR. The parameters YYMAXDEPTH and YYOPLEN must be +# supplied by the caller in the %{ ... %} section of the Yacc source. +# The token value stack is a dynamically allocated array of operand +# structures, with the length and makeup of the operand structure being +# application dependent. + +int procedure yyparse (fd, yydebug, yylex) + +int fd # stream to be parsed +bool yydebug # print debugging information? +int yylex() # user-supplied lexical input function +extern yylex() + +short yys[YYMAXDEPTH] # parser stack -- stacks tokens +pointer yyv # pointer to token value stack +pointer yyval # value returned by action +pointer yylval # value of token +int yyps # token stack pointer +pointer yypv # value stack pointer +int yychar # current input token number +int yyerrflag # error recovery flag +int yynerrs # number of errors + +short yyj, yym # internal variables +pointer yysp, yypvt +short yystate, yyn +int yyxi, i +errchk salloc, yylex + +short yyexca[6] +data (yyexca(i),i= 1, 6) / -1, 1, 0, -1, -2, 0/ +short yyact[337] +data (yyact(i),i= 1, 8) / 131, 132, 133, 134, 135, 136, 137, 138/ +data (yyact(i),i= 9, 16) / 139, 140, 141, 130, 142, 143, 125, 126/ +data (yyact(i),i= 17, 24) / 152, 153, 154, 155, 156, 40, 161, 128/ +data (yyact(i),i= 25, 32) / 183, 112, 180, 152, 153, 154, 155, 156/ +data (yyact(i),i= 33, 40) / 60, 61, 62, 58, 59, 175, 111, 52/ +data (yyact(i),i= 41, 48) / 53, 57, 108, 86, 85, 84, 83, 159/ +data (yyact(i),i= 49, 56) / 73, 72, 70, 69, 39, 51, 38, 34/ +data (yyact(i),i= 57, 64) / 33, 24, 25, 18, 19, 198, 42, 196/ +data (yyact(i),i= 65, 72) / 35, 176, 152, 153, 154, 155, 156, 148/ +data (yyact(i),i= 73, 80) / 147, 145, 107, 23, 123, 17, 99, 97/ +data (yyact(i),i= 81, 88) / 95, 91, 98, 96, 21, 29, 15, 68/ +data (yyact(i),i= 89, 96) / 94, 154, 155, 156, 28, 60, 61, 62/ +data (yyact(i),i= 97,104) / 58, 59, 156, 32, 52, 53, 57, 116/ +data (yyact(i),i=105,112) / 117, 142, 143, 24, 25, 18, 19, 144/ +data (yyact(i),i=113,120) / 82, 79, 51, 76, 93, 92, 90, 89/ +data (yyact(i),i=121,128) / 71, 66, 65, 64, 63, 23, 194, 17/ +data (yyact(i),i=129,136) / 190, 27, 12, 3, 129, 4, 7, 106/ +data (yyact(i),i=137,144) / 5, 104, 8, 193, 10, 124, 13, 189/ +data (yyact(i),i=145,152) / 184, 114, 74, 80, 41, 20, 14, 115/ +data (yyact(i),i=153,160) / 77, 31, 127, 105, 109, 81, 78, 75/ +data (yyact(i),i=161,168) / 56, 55, 54, 166, 164, 162, 181, 30/ +data (yyact(i),i=169,176) / 150, 87, 50, 49, 36, 48, 47, 46/ +data (yyact(i),i=177,184) / 45, 37, 44, 43, 22, 9, 16, 26/ +data (yyact(i),i=185,192) / 11, 6, 2, 1, 0, 0, 0, 0/ +data (yyact(i),i=193,200) / 67, 0, 0, 0, 0, 0, 0, 0/ +data (yyact(i),i=201,208) / 0, 0, 0, 0, 88, 0, 0, 0/ +data (yyact(i),i=209,216) / 0, 0, 0, 0, 0, 0, 0, 0/ +data (yyact(i),i=217,224) / 0, 0, 0, 0, 0, 0, 0, 0/ +data (yyact(i),i=225,232) / 0, 0, 0, 110, 0, 0, 0, 118/ +data (yyact(i),i=233,240) / 0, 118, 0, 118, 0, 100, 101, 102/ +data (yyact(i),i=241,248) / 103, 113, 0, 120, 0, 122, 121, 146/ +data (yyact(i),i=249,256) / 149, 119, 0, 0, 0, 0, 0, 0/ +data (yyact(i),i=257,264) / 0, 0, 0, 151, 0, 0, 0, 0/ +data (yyact(i),i=265,272) / 0, 0, 0, 157, 158, 0, 160, 0/ +data (yyact(i),i=273,280) / 0, 0, 0, 0, 0, 0, 0, 0/ +data (yyact(i),i=281,288) / 0, 163, 0, 165, 167, 0, 0, 0/ +data (yyact(i),i=289,296) / 168, 0, 0, 0, 0, 0, 169, 170/ +data (yyact(i),i=297,304) / 171, 172, 173, 0, 177, 174, 178, 0/ +data (yyact(i),i=305,312) / 179, 0, 0, 0, 0, 0, 0, 0/ +data (yyact(i),i=313,320) / 182, 0, 185, 185, 0, 0, 0, 187/ +data (yyact(i),i=321,328) / 191, 188, 191, 0, 186, 195, 0, 0/ +data (yyact(i),i=329,336) / 195, 0, 192, 0, 197, 0, 199, 0/ +data (yyact(i),i=337,337) / 200/ +short yypact[201] +data (yypact(i),i= 1, 8) /-125,-1000,-123,-1000,-1000,-1000,-129,-205/ +data (yypact(i),i= 9, 16) /-1000,-207,-1000,-131,-199,-1000,-206,-1000/ +data (yypact(i),i= 17, 24) /-155,-184,-238,-239,-227,-1000,-157,-184/ +data (yypact(i),i= 25, 32) /-240,-242,-275,-229,-1000,-1000,-1000,-1000/ +data (yypact(i),i= 33, 40) /-1000,-158,-159,-1000,-1000,-1000,-160,-161/ +data (yypact(i),i= 41, 48) /-1000,-1000,-1000,-168,-1000,-1000,-1000,-1000/ +data (yypact(i),i= 49, 56) /-1000,-1000,-1000,-203,-243,-244,-1000,-1000/ +data (yypact(i),i= 57, 64) /-1000,-162,-245,-246,-167,-169,-170,-249/ +data (yypact(i),i= 65, 72) /-250,-251,-252,-1000,-1000,-163,-164,-212/ +data (yypact(i),i= 73, 80) /-165,-166,-1000,-204,-213,-1000,-209,-214/ +data (yypact(i),i= 81, 88) /-1000,-210,-215,-184,-184,-184,-184,-1000/ +data (yypact(i),i= 89, 96) /-1000,-218,-253,-1000,-257,-270,-167,-182/ +data (yypact(i),i= 97,104) /-169,-182,-170,-182,-1000,-1000,-1000,-1000/ +data (yypact(i),i=105,112) /-217,-271,-1000,-171,-220,-1000,-1000,-221/ +data (yypact(i),i=113,120) /-222,-1000,-1000,-178,-1000,-1000,-1000,-1000/ +data (yypact(i),i=121,128) /-1000,-1000,-1000,-1000,-219,-271,-271,-247/ +data (yypact(i),i=129,136) /-271,-1000,-1000,-1000,-1000,-1000,-1000,-1000/ +data (yypact(i),i=137,144) /-1000,-1000,-1000,-1000,-1000,-1000,-1000,-1000/ +data (yypact(i),i=145,152) /-273,-1000,-1000,-1000,-1000,-1000,-1000,-1000/ +data (yypact(i),i=153,160) /-271,-271,-271,-271,-271,-1000,-1000,-271/ +data (yypact(i),i=161,168) /-258,-228,-1000,-1000,-1000,-1000,-1000,-1000/ +data (yypact(i),i=169,176) /-1000,-198,-198,-191,-191,-1000,-269,-1000/ +data (yypact(i),i=177,184) /-1000,-268,-1000,-1000,-1000,-1000,-1000,-1000/ +data (yypact(i),i=185,192) /-138,-1000,-138,-1000,-1000,-141,-230,-1000/ +data (yypact(i),i=193,200) /-141,-1000,-232,-1000,-1000,-1000,-1000,-1000/ +data (yypact(i),i=201,201) /-1000/ +short yypgo[48] +data (yypgo(i),i= 1, 8) / 0, 187, 186, 185, 184, 183, 150, 135/ +data (yypgo(i),i= 9, 16) / 182, 153, 181, 149, 180, 148, 179, 178/ +data (yypgo(i),i= 17, 24) / 176, 175, 174, 173, 171, 170, 169, 137/ +data (yypgo(i),i= 25, 32) / 168, 166, 165, 164, 144, 143, 139, 163/ +data (yypgo(i),i= 33, 40) / 162, 161, 160, 146, 159, 145, 152, 158/ +data (yypgo(i),i= 41, 48) / 147, 157, 156, 155, 141, 154, 132, 151/ +short yyr1[104] +data (yyr1(i),i= 1, 8) / 0, 1, 1, 3, 3, 3, 3, 3/ +data (yyr1(i),i= 9, 16) / 6, 6, 8, 8, 8, 2, 2, 2/ +data (yyr1(i),i= 17, 24) / 2, 2, 10, 11, 11, 12, 12, 12/ +data (yyr1(i),i= 25, 32) / 9, 4, 4, 4, 5, 5, 5, 13/ +data (yyr1(i),i= 33, 40) / 13, 14, 14, 14, 14, 14, 14, 14/ +data (yyr1(i),i= 41, 48) / 15, 22, 24, 16, 25, 17, 26, 20/ +data (yyr1(i),i= 49, 56) / 27, 21, 31, 28, 29, 29, 30, 30/ +data (yyr1(i),i= 57, 64) / 18, 18, 18, 32, 35, 35, 36, 33/ +data (yyr1(i),i= 65, 72) / 38, 38, 39, 34, 40, 40, 41, 19/ +data (yyr1(i),i= 73, 80) / 42, 23, 43, 44, 44, 44, 44, 44/ +data (yyr1(i),i= 81, 88) / 44, 44, 44, 44, 44, 44, 45, 45/ +data (yyr1(i),i= 89, 96) / 45, 45, 45, 45, 45, 45, 45, 45/ +data (yyr1(i),i= 97,104) / 45, 37, 47, 47, 47, 46, 46, 7/ +short yyr2[104] +data (yyr2(i),i= 1, 8) / 0, 5, 1, 2, 3, 2, 1, 1/ +data (yyr2(i),i= 9, 16) / 1, 2, 2, 5, 5, 3, 4, 3/ +data (yyr2(i),i= 17, 24) / 2, 1, 1, 1, 2, 2, 5, 5/ +data (yyr2(i),i= 25, 32) / 1, 2, 1, 1, 2, 2, 1, 1/ +data (yyr2(i),i= 33, 40) / 2, 1, 1, 1, 1, 1, 1, 1/ +data (yyr2(i),i= 41, 48) / 7, 1, 1, 9, 1, 9, 1, 10/ +data (yyr2(i),i= 49, 56) / 1, 10, 1, 1, 3, 1, 3, 1/ +data (yyr2(i),i= 57, 64) / 1, 1, 1, 2, 1, 3, 3, 2/ +data (yyr2(i),i= 65, 72) / 1, 3, 3, 2, 1, 3, 3, 5/ +data (yyr2(i),i= 73, 80) / 1, 2, 1, 3, 3, 3, 3, 3/ +data (yyr2(i),i= 81, 88) / 2, 2, 4, 3, 1, 1, 1, 1/ +data (yyr2(i),i= 89, 96) / 1, 1, 1, 1, 1, 1, 1, 1/ +data (yyr2(i),i= 97,104) / 1, 2, 1, 1, 1, 1, 1, 0/ +short yychk[201] +data (yychk(i),i= 1, 8) /-1000, -1, -2, 256, 258, -7, -3, 257/ +data (yychk(i),i= 9, 16) / -7, -10, -7, -4, 259, -7, -6, 291/ +data (yychk(i),i= 17, 24) / -8, 282, 264, 265, -11, 291, -12, 282/ +data (yychk(i),i= 25, 32) / 264, 265, -5, 260, 291, 291, -6, -9/ +data (yychk(i),i= 33, 40) / 283, 294, 294, 291, -11, -9, 294, 294/ +data (yychk(i),i= 41, 48) / 296, -13, 291, -14, -15, -16, -17, -18/ +data (yychk(i),i= 49, 56) / -19, -20, -21, 282, 268, 269, -32, -33/ +data (yychk(i),i= 57, 64) / -34, 270, 264, 265, 261, 262, 263, 282/ +data (yychk(i),i= 65, 72) / 282, 282, 282, -13, 290, 294, 294, 282/ +data (yychk(i),i= 73, 80) / 294, 294, -35, -36, 282, -38, -39, 282/ +data (yychk(i),i= 81, 88) / -40, -41, 282, 295, 295, 295, 295, -22/ +data (yychk(i),i= 89, 96) / -7, 282, 282, 293, 282, 282, 292, 293/ +data (yychk(i),i= 97,104) / 292, 293, 292, 293, -9, -9, -9, -9/ +data (yychk(i),i=105,112) / -23, -43, -7, 292, 295, -42, -7, 295/ +data (yychk(i),i=113,120) / 295, -35, -37, -47, 285, 286, -7, -38/ +data (yychk(i),i=121,128) / -37, -40, -37, 293, -44, 285, 286, -45/ +data (yychk(i),i=129,136) / 294, -46, 282, 271, 272, 273, 274, 275/ +data (yychk(i),i=137,144) / 276, 277, 278, 279, 280, 281, 283, 284/ +data (yychk(i),i=145,152) / 282, 293, -23, 293, 293, -46, -24, -7/ +data (yychk(i),i=153,160) / 285, 286, 287, 288, 289, -44, -44, 294/ +data (yychk(i),i=161,168) / -44, 295, -26, -7, -27, -7, -31, -7/ +data (yychk(i),i=169,176) / -23, -44, -44, -44, -44, -44, -44, 295/ +data (yychk(i),i=177,184) / 293, -23, -23, -23, 295, -25, -7, 292/ +data (yychk(i),i=185,192) / -28, -7, -28, -23, -23, -29, 266, -7/ +data (yychk(i),i=193,200) / -29, -30, 267, -7, 293, -30, 293, -23/ +data (yychk(i),i=201,201) / -23/ +short yydef[201] +data (yydef(i),i= 1, 8) / 103, -2, 103, 2, 103, 17, 103, 6/ +data (yydef(i),i= 9, 16) / 7, 16, 18, 0, 26, 27, 3, 5/ +data (yydef(i),i= 17, 24) / 8, 0, 0, 0, 13, 15, 19, 0/ +data (yydef(i),i= 25, 32) / 0, 0, 0, 30, 25, 4, 9, 10/ +data (yydef(i),i= 33, 40) / 24, 0, 0, 14, 20, 21, 0, 0/ +data (yydef(i),i= 41, 48) / 1, 28, 29, 31, 33, 34, 35, 36/ +data (yydef(i),i= 49, 56) / 37, 38, 39, 0, 0, 0, 56, 57/ +data (yydef(i),i= 57, 64) / 58, 0, 0, 0, 0, 0, 0, 0/ +data (yydef(i),i= 65, 72) / 0, 0, 0, 32, 103, 0, 0, 0/ +data (yydef(i),i= 73, 80) / 0, 0, 59, 60, 0, 63, 64, 0/ +data (yydef(i),i= 81, 88) / 67, 68, 0, 0, 0, 0, 0, 103/ +data (yydef(i),i= 89, 96) / 41, 0, 0, 103, 0, 0, 0, 103/ +data (yydef(i),i= 97,104) / 0, 103, 0, 103, 11, 12, 22, 23/ +data (yydef(i),i=105,112) / 0, 0, 74, 0, 0, 103, 72, 0/ +data (yydef(i),i=113,120) / 0, 61, 62, 0, 98, 99, 100, 65/ +data (yydef(i),i=121,128) / 66, 69, 70, 103, 73, 0, 0, 0/ +data (yydef(i),i=129,136) / 0, 84, 85, 86, 87, 88, 89, 90/ +data (yydef(i),i=137,144) / 91, 92, 93, 94, 95, 96, 101, 102/ +data (yydef(i),i=145,152) / 0, 103, 71, 103, 103, 97, 103, 42/ +data (yydef(i),i=153,160) / 0, 0, 0, 0, 0, 80, 81, 0/ +data (yydef(i),i=161,168) / 0, 0, 103, 46, 103, 48, 103, 50/ +data (yydef(i),i=169,176) / 40, 75, 76, 77, 78, 79, 0, 83/ +data (yydef(i),i=177,184) / 103, 0, 103, 103, 82, 103, 44, 103/ +data (yydef(i),i=185,192) / 103, 51, 103, 43, 45, 103, 0, 53/ +data (yydef(i),i=193,200) / 103, 47, 0, 55, 103, 49, 103, 52/ +data (yydef(i),i=201,201) / 54/ + +begin + call smark (yysp) + call salloc (yyv, (YYMAXDEPTH+2) * YYOPLEN, TY_STRUCT) + + # Initialization. The first element of the dynamically allocated + # token value stack (yyv) is used for yyval, the second for yylval, + # and the actual stack starts with the third element. + + yystate = 0 + yychar = -1 + yynerrs = 0 + yyerrflag = 0 + yyps = 0 + yyval = yyv + yylval = yyv + YYOPLEN + yypv = yylval + +yystack_ + # SHIFT -- Put a state and value onto the stack. The token and + # value stacks are logically the same stack, implemented as two + # separate arrays. + + if (yydebug) { + call printf ("state %d, char 0%o\n") + call pargs (yystate) + call pargi (yychar) + } + yyps = yyps + 1 + yypv = yypv + YYOPLEN + if (yyps > YYMAXDEPTH) { + call sfree (yysp) + call eprintf ("yacc stack overflow\n") + return (ERR) + } + yys[yyps] = yystate + YYMOVE (yyval, yypv) + +yynewstate_ + # Process the new state. + yyn = yypact[yystate+1] + + if (yyn <= YYFLAG) + goto yydefault_ # simple state + + # The variable "yychar" is the lookahead token. + if (yychar < 0) { + yychar = yylex (fd, yylval) + if (yychar < 0) + yychar = 0 + } + yyn = yyn + yychar + if (yyn < 0 || yyn >= YYLAST) + goto yydefault_ + + yyn = yyact[yyn+1] + if (yychk[yyn+1] == yychar) { # valid shift + yychar = -1 + YYMOVE (yylval, yyval) + yystate = yyn + if (yyerrflag > 0) + yyerrflag = yyerrflag - 1 + goto yystack_ + } + +yydefault_ + # Default state action. + + yyn = yydef[yystate+1] + if (yyn == -2) { + if (yychar < 0) { + yychar = yylex (fd, yylval) + if (yychar < 0) + yychar = 0 + } + + # Look through exception table. + yyxi = 1 + while ((yyexca[yyxi] != (-1)) || (yyexca[yyxi+1] != yystate)) + yyxi = yyxi + 2 + for (yyxi=yyxi+2; yyexca[yyxi] >= 0; yyxi=yyxi+2) { + if (yyexca[yyxi] == yychar) + break + } + + yyn = yyexca[yyxi+1] + if (yyn < 0) { + call sfree (yysp) + return (OK) # ACCEPT -- all done + } + } + + + # SYNTAX ERROR -- resume parsing if possible. + + if (yyn == 0) { + switch (yyerrflag) { + case 0, 1, 2: + if (yyerrflag == 0) { # brand new error + call eprintf ("syntax error\n") +yyerrlab_ + yynerrs = yynerrs + 1 + # fall through... + } + + # case 1: + # case 2: incompletely recovered error ... try again + yyerrflag = 3 + + # Find a state where "error" is a legal shift action. + while (yyps >= 1) { + yyn = yypact[yys[yyps]+1] + YYERRCODE + if ((yyn >= 0) && (yyn < YYLAST) && + (yychk[yyact[yyn+1]+1] == YYERRCODE)) { + # Simulate a shift of "error". + yystate = yyact[yyn+1] + goto yystack_ + } + yyn = yypact[yys[yyps]+1] + + # The current yyps has no shift on "error", pop stack. + if (yydebug) { + call printf ("error recovery pops state %d, ") + call pargs (yys[yyps]) + call printf ("uncovers %d\n") + call pargs (yys[yyps-1]) + } + yyps = yyps - 1 + yypv = yypv - YYOPLEN + } + + # ABORT -- There is no state on the stack with an error shift. +yyabort_ + call sfree (yysp) + return (ERR) + + + case 3: # No shift yet; clobber input char. + + if (yydebug) { + call printf ("error recovery discards char %d\n") + call pargi (yychar) + } + + if (yychar == 0) + goto yyabort_ # don't discard EOF, quit + yychar = -1 + goto yynewstate_ # try again in the same state + } + } + + + # REDUCE -- Reduction by production yyn. + + if (yydebug) { + call printf ("reduce %d\n") + call pargs (yyn) + } + yyps = yyps - yyr2[yyn+1] + yypvt = yypv + yypv = yypv - yyr2[yyn+1] * YYOPLEN + YYMOVE (yypv + YYOPLEN, yyval) + yym = yyn + + # Consult goto table to find next state. + yyn = yyr1[yyn+1] + yyj = yypgo[yyn+1] + yys[yyps] + 1 + if (yyj >= YYLAST) + yystate = yyact[yypgo[yyn+1]+1] + else { + yystate = yyact[yyj+1] + if (yychk[yystate+1] != -yyn) + yystate = yyact[yypgo[yyn+1]+1] + } + + # Perform action associated with the grammar rule, if any. + switch (yym) { + +case 1: +# line 41 "parser.y" +{ + return (OK) + } +case 2: +# line 44 "parser.y" +{ + return (ERR) + } +case 5: +# line 55 "parser.y" +{ + call pr_error ("The observation section is empty", + PERR_WARNING) + } +case 6: +# line 59 "parser.y" +{ + call pr_error ("The observation section is empty", + PERR_WARNING) + } +case 7: +# line 63 "parser.y" +{ + call pr_error ("The observation section is undefined", + PERR_WARNING) + } +case 10: +# line 71 "parser.y" +{ + call pr_obscol (LEX_ID (yypvt-YYOPLEN), LEX_ID (yypvt)) + } +case 11: +# line 74 "parser.y" +{ + call pr_errcol (LEX_ID (yypvt-2*YYOPLEN), LEX_ID (yypvt)) + } +case 12: +# line 77 "parser.y" +{ + call pr_wtscol (LEX_ID (yypvt-2*YYOPLEN), LEX_ID (yypvt)) + } +case 15: +# line 88 "parser.y" +{ + call pr_error ("The catalog section is empty", + PERR_WARNING) + } +case 16: +# line 92 "parser.y" +{ + call pr_error ("The catalog section is empty", + PERR_WARNING) + } +case 18: +# line 99 "parser.y" +{ + call pr_puti (MINCOL, 2) + } +case 21: +# line 105 "parser.y" +{ + call pr_catcol (LEX_ID (yypvt-YYOPLEN), LEX_ID (yypvt)) + } +case 22: +# line 108 "parser.y" +{ + call pr_errcol (LEX_ID (yypvt-2*YYOPLEN), LEX_ID (yypvt)) + } +case 23: +# line 111 "parser.y" +{ + call pr_wtscol (LEX_ID (yypvt-2*YYOPLEN), LEX_ID (yypvt)) + } +case 24: +# line 117 "parser.y" +{ + YYMOVE (yypvt, yyval) + } +case 29: +# line 134 "parser.y" +{ + call pr_error ("The transformation section is empty", + PERR_WARNING) + } +case 30: +# line 138 "parser.y" +{ + call pr_error ("The transformation section is empty", + PERR_WARNING) + } +case 40: +# line 154 "parser.y" +{ + call pr_treq (LEX_ID (yypvt-6*YYOPLEN), + LEX_ID (yypvt-3*YYOPLEN), LEX_ID (yypvt), + LEX_CODE (yypvt-3*YYOPLEN), LEX_CLEN (yypvt-3*YYOPLEN), + LEX_CODE (yypvt), LEX_CLEN (yypvt)) + } +case 41: +# line 162 "parser.y" +{ + call pr_section (PRS_TRNREF) + } +case 42: +# line 167 "parser.y" +{ + call pr_section (PRS_TRNFIT) + } +case 43: +# line 175 "parser.y" +{ + call pr_trder (LEX_ID (yypvt-6*YYOPLEN), LEX_ID (yypvt-4*YYOPLEN), + LEX_ID (yypvt), LEX_CODE (yypvt), LEX_CLEN (yypvt)) + } +case 44: +# line 181 "parser.y" +{ + call pr_section (PRS_TRNDER) + } +case 45: +# line 189 "parser.y" +{ + call pr_trplot (LEX_ID (yypvt-6*YYOPLEN), + LEX_ID (yypvt-2*YYOPLEN), LEX_ID (yypvt), + LEX_CODE (yypvt-2*YYOPLEN), LEX_CLEN (yypvt-2*YYOPLEN), + LEX_CODE (yypvt), LEX_CLEN (yypvt)) + } +case 46: +# line 197 "parser.y" +{ + call pr_section (PRS_TRNPLOT) + } +case 47: +# line 207 "parser.y" +{ + call pr_erreq (LEX_ID (yypvt-7*YYOPLEN), LEX_ID (yypvt-3*YYOPLEN), + LEX_ID (yypvt-YYOPLEN), LEX_ID (yypvt), + LEX_CODE (yypvt-3*YYOPLEN), LEX_CLEN (yypvt-3*YYOPLEN), + LEX_CODE (yypvt-YYOPLEN), LEX_CLEN (yypvt-YYOPLEN), + LEX_CODE (yypvt), LEX_CLEN (yypvt)) + } +case 48: +# line 216 "parser.y" +{ + call pr_section (PRS_ERREQ) + } +case 49: +# line 226 "parser.y" +{ + call pr_wtseq (LEX_ID (yypvt-7*YYOPLEN), LEX_ID (yypvt-3*YYOPLEN), + LEX_ID (yypvt-YYOPLEN), LEX_ID (yypvt), + LEX_CODE (yypvt-3*YYOPLEN), LEX_CLEN (yypvt-3*YYOPLEN), + LEX_CODE (yypvt-YYOPLEN), LEX_CLEN (yypvt-YYOPLEN), + LEX_CODE (yypvt), LEX_CLEN (yypvt)) + } +case 50: +# line 235 "parser.y" +{ + call pr_section (PRS_WTSEQ) + } +case 51: +# line 243 "parser.y" +{ + call pr_section (PRS_LMTEQ) + } +case 52: +# line 248 "parser.y" +{ + YYMOVE (yypvt, yyval) + } +case 53: +# line 251 "parser.y" +{ + call strcpy ("", LEX_ID (yyval), LEN_ID) + LEX_CLEN (yyval) = 0 + } +case 54: +# line 257 "parser.y" +{ + YYMOVE (yypvt, yyval) + } +case 55: +# line 260 "parser.y" +{ + call strcpy ("", LEX_ID (yyval), LEN_ID) + LEX_CLEN (yyval) = 0 + } +case 62: +# line 279 "parser.y" +{ + call pr_fitpar (LEX_ID (yypvt-2*YYOPLEN), LEX_ID (yypvt)) + } +case 66: +# line 288 "parser.y" +{ + call pr_const (LEX_ID (yypvt-2*YYOPLEN), LEX_ID (yypvt)) + } +case 70: +# line 297 "parser.y" +{ + call pr_delta (LEX_ID (yypvt-2*YYOPLEN), LEX_ID (yypvt)) + } +case 71: +# line 305 "parser.y" +{ + call pr_seteq (LEX_ID (yypvt-3*YYOPLEN), LEX_ID (yypvt), + LEX_CODE (yypvt), LEX_CLEN (yypvt)) + } +case 72: +# line 311 "parser.y" +{ + call pr_section (PRS_SETEQ) + } +case 73: +# line 331 "parser.y" +{ + YYMOVE (yypvt, yyval) + call pr_cend (yyval) + } +case 74: +# line 337 "parser.y" +{ + call pr_cinit () + } +case 75: +# line 342 "parser.y" +{ + call pr_cat3 (LEX_ID (yypvt-2*YYOPLEN), LEX_ID (yypvt-YYOPLEN), LEX_ID (yypvt), + LEX_ID (yyval), LEN_ID) + call pr_cgen (PLUS, "", INDEFR) + } +case 76: +# line 347 "parser.y" +{ + call pr_cat3 (LEX_ID (yypvt-2*YYOPLEN), LEX_ID (yypvt-YYOPLEN), LEX_ID (yypvt), + LEX_ID (yyval), LEN_ID) + call pr_cgen (MINUS, "", INDEFR) + } +case 77: +# line 352 "parser.y" +{ + call pr_cat3 (LEX_ID (yypvt-2*YYOPLEN), LEX_ID (yypvt-YYOPLEN), LEX_ID (yypvt), + LEX_ID (yyval), LEN_ID) + call pr_cgen (STAR, "", INDEFR) + } +case 78: +# line 357 "parser.y" +{ + call pr_cat3 (LEX_ID (yypvt-2*YYOPLEN), LEX_ID (yypvt-YYOPLEN), LEX_ID (yypvt), + LEX_ID (yyval), LEN_ID) + call pr_cgen (SLASH, "", INDEFR) + } +case 79: +# line 362 "parser.y" +{ + call pr_cat3 (LEX_ID (yypvt-2*YYOPLEN), LEX_ID (yypvt-YYOPLEN), LEX_ID (yypvt), + LEX_ID (yyval), LEN_ID) + call pr_cgen (EXPON, "", INDEFR) + } +case 80: +# line 367 "parser.y" +{ + call pr_cat2 (LEX_ID (yypvt-YYOPLEN), LEX_ID (yypvt), LEX_ID (yyval), LEN_ID) + call pr_cgen (UPLUS, "", INDEFR) + } +case 81: +# line 371 "parser.y" +{ + call pr_cat2 (LEX_ID (yypvt-YYOPLEN), LEX_ID (yypvt), LEX_ID (yyval), LEN_ID) + call pr_cgen (UMINUS, "", INDEFR) + } +case 82: +# line 375 "parser.y" +{ + call pr_cat4 (LEX_ID (yypvt-3*YYOPLEN), LEX_ID (yypvt-2*YYOPLEN), LEX_ID (yypvt-YYOPLEN), + LEX_ID (yypvt), LEX_ID (yyval), LEN_ID) + call pr_cgen (LEX_TOK (yypvt-3*YYOPLEN), "", INDEFR) + } +case 83: +# line 380 "parser.y" +{ + call pr_cat3 (LEX_ID (yypvt-2*YYOPLEN), LEX_ID (yypvt-YYOPLEN), LEX_ID (yypvt), + LEX_ID (yyval), LEN_ID) + } +case 84: +# line 384 "parser.y" +{ + YYMOVE (yypvt, yyval) + call pr_cgen (RNUMBER, "", LEX_VAL (yypvt)) + } +case 85: +# line 388 "parser.y" +{ + call pr_chkid (LEX_ID (yypvt)) + YYMOVE (yypvt, yyval) + call pr_cgen (IDENTIFIER, LEX_ID (yypvt), INDEFR) + } +case 86: +# line 395 "parser.y" +{ + YYMOVE (yypvt, yyval) + } +case 87: +# line 398 "parser.y" +{ + YYMOVE (yypvt, yyval) + } +case 88: +# line 401 "parser.y" +{ + YYMOVE (yypvt, yyval) + } +case 89: +# line 404 "parser.y" +{ + YYMOVE (yypvt, yyval) + } +case 90: +# line 407 "parser.y" +{ + YYMOVE (yypvt, yyval) + } +case 91: +# line 410 "parser.y" +{ + YYMOVE (yypvt, yyval) + } +case 92: +# line 413 "parser.y" +{ + YYMOVE (yypvt, yyval) + } +case 93: +# line 416 "parser.y" +{ + YYMOVE (yypvt, yyval) + } +case 94: +# line 419 "parser.y" +{ + YYMOVE (yypvt, yyval) + } +case 95: +# line 422 "parser.y" +{ + YYMOVE (yypvt, yyval) + } +case 96: +# line 425 "parser.y" +{ + YYMOVE (yypvt, yyval) + } +case 97: +# line 431 "parser.y" +{ + call pr_cat2 (LEX_ID (yypvt-YYOPLEN), LEX_ID (yypvt), + LEX_ID (yyval), LEN_ID) + LEX_VAL (yyval) = LEX_VAL (yypvt) + } +case 98: +# line 438 "parser.y" +{ + YYMOVE (yypvt, yyval) + } +case 99: +# line 441 "parser.y" +{ + YYMOVE (yypvt, yyval) + } +case 100: +# line 444 "parser.y" +{ + call strcpy ("", LEX_ID (yyval), LEN_ID) + } +case 101: +# line 449 "parser.y" +{ + YYMOVE (yypvt, yyval) + } +case 102: +# line 452 "parser.y" +{ + YYMOVE (yypvt, yyval) + } } + + goto yystack_ # stack new state and value +end |