10c8de5b0SBaptiste Daroussin #undef YYBTYACC 20c8de5b0SBaptiste Daroussin #define YYBTYACC 0 30c8de5b0SBaptiste Daroussin #define YYDEBUGSTR YYPREFIX "debug" 40c8de5b0SBaptiste Daroussin typedef short YYINT; 50c8de5b0SBaptiste Daroussin const YYINT calc_lhs[] = { -1, 60c8de5b0SBaptiste Daroussin 0, 0, 0, 1, 1, 2, 2, 2, 2, 2, 70c8de5b0SBaptiste Daroussin 2, 2, 2, 2, 2, 2, 3, 3, 80c8de5b0SBaptiste Daroussin }; 90c8de5b0SBaptiste Daroussin const YYINT calc_len[] = { 2, 100c8de5b0SBaptiste Daroussin 0, 3, 3, 1, 3, 3, 3, 3, 3, 3, 110c8de5b0SBaptiste Daroussin 3, 3, 3, 2, 1, 1, 1, 2, 120c8de5b0SBaptiste Daroussin }; 130c8de5b0SBaptiste Daroussin const YYINT calc_defred[] = { 1, 140c8de5b0SBaptiste Daroussin 0, 0, 17, 0, 0, 0, 0, 0, 0, 3, 150c8de5b0SBaptiste Daroussin 0, 15, 14, 0, 2, 0, 0, 0, 0, 0, 160c8de5b0SBaptiste Daroussin 0, 0, 18, 0, 6, 0, 0, 0, 0, 9, 170c8de5b0SBaptiste Daroussin 10, 11, 180c8de5b0SBaptiste Daroussin }; 190c8de5b0SBaptiste Daroussin const YYINT calc_stos[] = { 0, 200c8de5b0SBaptiste Daroussin 261, 256, 257, 258, 45, 40, 262, 263, 264, 10, 210c8de5b0SBaptiste Daroussin 61, 258, 263, 263, 10, 124, 38, 43, 45, 42, 220c8de5b0SBaptiste Daroussin 47, 37, 257, 263, 41, 263, 263, 263, 263, 263, 230c8de5b0SBaptiste Daroussin 263, 263, 240c8de5b0SBaptiste Daroussin }; 250c8de5b0SBaptiste Daroussin const YYINT calc_dgoto[] = { 1, 260c8de5b0SBaptiste Daroussin 7, 8, 9, 270c8de5b0SBaptiste Daroussin }; 280c8de5b0SBaptiste Daroussin const YYINT calc_sindex[] = { 0, 290c8de5b0SBaptiste Daroussin -40, -7, 0, -55, -38, -38, 1, -29, -247, 0, 300c8de5b0SBaptiste Daroussin -38, 0, 0, 22, 0, -38, -38, -38, -38, -38, 310c8de5b0SBaptiste Daroussin -38, -38, 0, -29, 0, 51, 60, -20, -20, 0, 320c8de5b0SBaptiste Daroussin 0, 0, 330c8de5b0SBaptiste Daroussin }; 340c8de5b0SBaptiste Daroussin const YYINT calc_rindex[] = { 0, 350c8de5b0SBaptiste Daroussin 0, 0, 0, 2, 0, 0, 0, 9, -9, 0, 360c8de5b0SBaptiste Daroussin 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 370c8de5b0SBaptiste Daroussin 0, 0, 0, 10, 0, -6, 14, 5, 13, 0, 380c8de5b0SBaptiste Daroussin 0, 0, 390c8de5b0SBaptiste Daroussin }; 400c8de5b0SBaptiste Daroussin #if YYBTYACC 410c8de5b0SBaptiste Daroussin const YYINT calc_cindex[] = { 0, 420c8de5b0SBaptiste Daroussin 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 430c8de5b0SBaptiste Daroussin 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 440c8de5b0SBaptiste Daroussin 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 450c8de5b0SBaptiste Daroussin 0, 0, 460c8de5b0SBaptiste Daroussin }; 470c8de5b0SBaptiste Daroussin #endif 480c8de5b0SBaptiste Daroussin const YYINT calc_gindex[] = { 0, 490c8de5b0SBaptiste Daroussin 0, 65, 0, 500c8de5b0SBaptiste Daroussin }; 510c8de5b0SBaptiste Daroussin const YYINT calc_table[] = { 6, 520c8de5b0SBaptiste Daroussin 16, 6, 10, 13, 5, 11, 5, 22, 17, 23, 530c8de5b0SBaptiste Daroussin 15, 15, 20, 18, 7, 19, 22, 21, 4, 5, 540c8de5b0SBaptiste Daroussin 0, 20, 8, 12, 0, 0, 21, 16, 16, 0, 550c8de5b0SBaptiste Daroussin 0, 16, 16, 16, 13, 16, 0, 16, 15, 15, 560c8de5b0SBaptiste Daroussin 0, 0, 7, 15, 15, 7, 15, 7, 15, 7, 570c8de5b0SBaptiste Daroussin 8, 12, 0, 8, 12, 8, 0, 8, 22, 17, 580c8de5b0SBaptiste Daroussin 0, 0, 25, 20, 18, 0, 19, 0, 21, 13, 590c8de5b0SBaptiste Daroussin 14, 0, 0, 0, 0, 24, 0, 0, 0, 0, 600c8de5b0SBaptiste Daroussin 26, 27, 28, 29, 30, 31, 32, 22, 17, 0, 610c8de5b0SBaptiste Daroussin 0, 0, 20, 18, 16, 19, 22, 21, 0, 0, 620c8de5b0SBaptiste Daroussin 0, 20, 18, 0, 19, 0, 21, 0, 0, 0, 630c8de5b0SBaptiste Daroussin 0, 0, 0, 0, 16, 0, 0, 13, 0, 0, 640c8de5b0SBaptiste Daroussin 0, 0, 0, 0, 0, 15, 0, 0, 7, 0, 650c8de5b0SBaptiste Daroussin 0, 0, 0, 0, 0, 0, 8, 12, 0, 0, 660c8de5b0SBaptiste Daroussin 0, 0, 0, 0, 0, 16, 0, 0, 0, 0, 670c8de5b0SBaptiste Daroussin 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 680c8de5b0SBaptiste Daroussin 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 690c8de5b0SBaptiste Daroussin 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 700c8de5b0SBaptiste Daroussin 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 710c8de5b0SBaptiste Daroussin 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 720c8de5b0SBaptiste Daroussin 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 730c8de5b0SBaptiste Daroussin 0, 0, 0, 0, 0, 2, 3, 4, 3, 12, 740c8de5b0SBaptiste Daroussin }; 750c8de5b0SBaptiste Daroussin const YYINT calc_check[] = { 40, 760c8de5b0SBaptiste Daroussin 10, 40, 10, 10, 45, 61, 45, 37, 38, 257, 770c8de5b0SBaptiste Daroussin 10, 10, 42, 43, 10, 45, 37, 47, 10, 10, 780c8de5b0SBaptiste Daroussin -1, 42, 10, 10, -1, -1, 47, 37, 38, -1, 790c8de5b0SBaptiste Daroussin -1, 41, 42, 43, 41, 45, -1, 47, 37, 38, 800c8de5b0SBaptiste Daroussin -1, -1, 38, 42, 43, 41, 45, 43, 47, 45, 810c8de5b0SBaptiste Daroussin 38, 38, -1, 41, 41, 43, -1, 45, 37, 38, 820c8de5b0SBaptiste Daroussin -1, -1, 41, 42, 43, -1, 45, -1, 47, 5, 830c8de5b0SBaptiste Daroussin 6, -1, -1, -1, -1, 11, -1, -1, -1, -1, 840c8de5b0SBaptiste Daroussin 16, 17, 18, 19, 20, 21, 22, 37, 38, -1, 850c8de5b0SBaptiste Daroussin -1, -1, 42, 43, 124, 45, 37, 47, -1, -1, 860c8de5b0SBaptiste Daroussin -1, 42, 43, -1, 45, -1, 47, -1, -1, -1, 870c8de5b0SBaptiste Daroussin -1, -1, -1, -1, 124, -1, -1, 124, -1, -1, 880c8de5b0SBaptiste Daroussin -1, -1, -1, -1, -1, 124, -1, -1, 124, -1, 890c8de5b0SBaptiste Daroussin -1, -1, -1, -1, -1, -1, 124, 124, -1, -1, 900c8de5b0SBaptiste Daroussin -1, -1, -1, -1, -1, 124, -1, -1, -1, -1, 910c8de5b0SBaptiste Daroussin -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 920c8de5b0SBaptiste Daroussin -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 930c8de5b0SBaptiste Daroussin -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 940c8de5b0SBaptiste Daroussin -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 950c8de5b0SBaptiste Daroussin -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 960c8de5b0SBaptiste Daroussin -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 970c8de5b0SBaptiste Daroussin -1, -1, -1, -1, -1, 256, 257, 258, 257, 258, 980c8de5b0SBaptiste Daroussin }; 99*11fce282SBaptiste Daroussin #if YYBTYACC 100*11fce282SBaptiste Daroussin const YYINT calc_ctable[] = { -1, 101*11fce282SBaptiste Daroussin -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 102*11fce282SBaptiste Daroussin -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 103*11fce282SBaptiste Daroussin -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 104*11fce282SBaptiste Daroussin -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 105*11fce282SBaptiste Daroussin -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 106*11fce282SBaptiste Daroussin -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 107*11fce282SBaptiste Daroussin -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 108*11fce282SBaptiste Daroussin -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 109*11fce282SBaptiste Daroussin -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 110*11fce282SBaptiste Daroussin -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 111*11fce282SBaptiste Daroussin -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 112*11fce282SBaptiste Daroussin -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 113*11fce282SBaptiste Daroussin -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 114*11fce282SBaptiste Daroussin -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 115*11fce282SBaptiste Daroussin -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 116*11fce282SBaptiste Daroussin -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 117*11fce282SBaptiste Daroussin -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 118*11fce282SBaptiste Daroussin -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 119*11fce282SBaptiste Daroussin -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 120*11fce282SBaptiste Daroussin -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 121*11fce282SBaptiste Daroussin -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 122*11fce282SBaptiste Daroussin -1, -1, -1, -1, -1, -1, -1, -1, -1, 123*11fce282SBaptiste Daroussin }; 124*11fce282SBaptiste Daroussin #endif 1250c8de5b0SBaptiste Daroussin #ifndef YYDEBUG 1260c8de5b0SBaptiste Daroussin #define YYDEBUG 0 1270c8de5b0SBaptiste Daroussin #endif 1280c8de5b0SBaptiste Daroussin #if YYDEBUG 1290c8de5b0SBaptiste Daroussin const char *const calc_name[] = { 1300c8de5b0SBaptiste Daroussin 1310c8de5b0SBaptiste Daroussin "$end",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,0,0,0, 1320c8de5b0SBaptiste Daroussin 0,0,0,"'%'","'&'",0,"'('","')'","'*'","'+'",0,"'-'",0,"'/'",0,0,0,0,0,0,0,0,0,0, 1330c8de5b0SBaptiste Daroussin 0,0,0,"'='",0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, 1340c8de5b0SBaptiste Daroussin 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,"'|'",0,0,0,0,0,0,0,0,0, 1350c8de5b0SBaptiste Daroussin 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, 1360c8de5b0SBaptiste Daroussin 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, 1370c8de5b0SBaptiste Daroussin 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, 1380c8de5b0SBaptiste Daroussin 0,0,"error","DIGIT","LETTER","UMINUS","$accept","list","stat","expr","number", 1390c8de5b0SBaptiste Daroussin "illegal-symbol", 1400c8de5b0SBaptiste Daroussin }; 1410c8de5b0SBaptiste Daroussin const char *const calc_rule[] = { 1420c8de5b0SBaptiste Daroussin "$accept : list", 1430c8de5b0SBaptiste Daroussin "list :", 1440c8de5b0SBaptiste Daroussin "list : list stat '\\n'", 1450c8de5b0SBaptiste Daroussin "list : list error '\\n'", 1460c8de5b0SBaptiste Daroussin "stat : expr", 1470c8de5b0SBaptiste Daroussin "stat : LETTER '=' expr", 1480c8de5b0SBaptiste Daroussin "expr : '(' expr ')'", 1490c8de5b0SBaptiste Daroussin "expr : expr '+' expr", 1500c8de5b0SBaptiste Daroussin "expr : expr '-' expr", 1510c8de5b0SBaptiste Daroussin "expr : expr '*' expr", 1520c8de5b0SBaptiste Daroussin "expr : expr '/' expr", 1530c8de5b0SBaptiste Daroussin "expr : expr '%' expr", 1540c8de5b0SBaptiste Daroussin "expr : expr '&' expr", 1550c8de5b0SBaptiste Daroussin "expr : expr '|' expr", 1560c8de5b0SBaptiste Daroussin "expr : '-' expr", 1570c8de5b0SBaptiste Daroussin "expr : LETTER", 1580c8de5b0SBaptiste Daroussin "expr : number", 1590c8de5b0SBaptiste Daroussin "number : DIGIT", 1600c8de5b0SBaptiste Daroussin "number : number DIGIT", 1610c8de5b0SBaptiste Daroussin 1620c8de5b0SBaptiste Daroussin }; 1630c8de5b0SBaptiste Daroussin #endif 164