
# parsetab.py
# This file is automatically generated. Do not edit.
_tabversion = '3.2'

_lr_method = 'LALR'

_lr_signature = '\xbdg\xb8\xfc6(\xf8\xdf\x8e\xe2x\xd9\x17\x83\xb76'
    
_lr_action_items = {'THEN':([67,68,70,71,75,76,77,79,93,94,111,113,132,133,134,135,136,137,138,161,166,168,174,178,197,198,199,200,201,202,203,204,205,206,207,208,209,210,211,212,213,214,215,216,217,221,235,238,242,250,256,257,261,262,],[-127,-125,-126,-124,-134,-123,-133,139,139,139,-134,139,-119,-120,-121,139,-128,-132,-118,139,139,139,139,-128,-122,-104,-99,-107,-114,-112,139,-111,-106,-98,-113,-115,-108,-101,-100,-109,-116,-117,-110,-103,-102,-129,-126,139,139,139,139,139,139,139,]),'EXECUTE':([0,6,16,27,29,60,61,165,169,],[1,-5,1,-1,1,-2,-3,-4,1,]),'CONDITIONAL':([65,],[131,]),'PRINT_FORMAT':([0,6,16,27,29,60,61,165,169,],[3,-5,3,-1,3,-2,-3,-4,3,]),'NORMAL':([0,6,16,27,29,60,61,165,169,],[4,-5,4,-1,4,-2,-3,-4,4,]),'DOTRANGE':([175,178,221,],[226,226,-129,]),'FLOATNUM':([22,30,31,43,69,72,73,74,78,83,90,91,103,114,115,123,139,140,141,142,143,144,145,146,147,148,149,150,151,152,153,154,155,156,157,158,177,196,220,229,245,252,253,259,260,],[67,67,67,67,67,67,67,67,67,67,67,67,67,67,67,189,67,67,67,67,67,67,67,67,67,67,67,67,67,67,67,67,67,67,67,67,67,67,67,67,67,67,67,67,67,]),'NE':([67,68,70,71,75,76,77,79,93,94,111,113,132,133,134,135,136,137,138,161,166,168,174,178,197,198,199,200,201,202,203,204,205,206,207,208,209,210,211,212,213,214,215,216,217,221,235,238,242,250,256,257,261,262,],[-127,-125,-126,-124,-134,-123,-133,145,145,145,-134,145,-119,-120,-121,145,-128,-132,145,145,145,145,145,-128,-122,145,-99,-107,-114,-112,145,-111,-106,-98,-113,-115,-108,-101,-100,-109,-116,-117,-110,145,145,-129,-126,145,145,145,145,145,145,145,]),'EOS':([0,6,8,10,14,15,16,17,27,31,32,33,34,38,42,44,45,50,51,52,54,55,56,57,58,59,60,61,62,63,66,67,68,70,71,75,76,77,79,80,82,85,86,89,93,94,95,96,97,100,101,102,104,105,106,107,108,109,110,111,112,113,117,121,129,130,131,132,133,134,136,137,138,159,160,161,164,165,166,168,172,174,178,179,180,181,182,183,184,185,186,188,192,193,195,197,198,199,200,201,202,203,204,205,206,207,208,209,210,211,212,213,214,215,216,217,219,221,222,223,225,227,228,230,231,232,233,234,235,237,238,242,246,247,255,256,258,261,262,],[6,-5,-73,-9,-58,-72,6,61,-1,-44,-35,-39,-83,-81,-37,-64,-63,-53,-45,-46,-15,-16,-10,-11,-14,-71,-2,-3,-48,-49,-84,-127,-125,-126,-124,-134,-123,-133,-59,-60,-42,-25,-26,165,-91,-43,-38,-6,-7,-21,-24,-22,-79,-70,-77,-78,-36,-82,-66,-134,-67,-68,-89,-52,-33,-31,-32,-119,-120,-121,-128,-132,-118,-40,-41,-96,-80,-4,-95,-130,-34,-92,-128,-62,-61,-55,-57,-56,-54,-74,-75,-47,-17,-12,-50,-122,-104,-99,-107,-114,-112,-105,-111,-106,-98,-113,-115,-108,-101,-100,-109,-116,-117,-110,-103,-102,-27,-129,-90,-8,-23,-76,-65,-20,-19,-18,-13,-94,-93,-28,-131,-51,-69,-29,-86,-87,-30,-88,-85,]),'READ_FORMAT':([0,6,16,27,29,60,61,165,169,],[7,-5,7,-1,7,-2,-3,-4,7,]),'READ_AND_PRINT_DATA':([0,6,16,27,29,60,61,165,169,],[8,-5,8,-1,8,-2,-3,-4,8,]),'PROGRAM':([65,],[130,]),'A':([67,68,70,71,75,76,77,79,93,94,111,113,132,133,134,135,136,137,138,161,166,168,174,178,197,198,199,200,201,202,203,204,205,206,207,208,209,210,211,212,213,214,215,216,217,221,235,238,242,250,256,257,261,262,],[-127,-125,-126,-124,-134,-123,-133,149,149,149,-134,149,149,-120,-121,149,-128,-132,149,149,149,149,149,-128,-122,149,149,149,-114,149,149,149,149,149,-113,-115,149,149,149,149,149,149,149,149,149,-129,-126,149,149,149,149,149,149,149,]),'FLOATING_POINT':([0,6,16,27,29,60,61,116,165,169,],[11,-5,11,-1,11,-2,-3,181,-4,11,]),'SAVE_RETURN':([0,6,16,27,29,60,61,165,169,],[34,-5,34,-1,34,-2,-3,-4,34,]),'PARAMETER':([0,6,16,27,29,60,61,165,169,],[12,-5,12,-1,12,-2,-3,-4,12,]),'MINUS':([22,30,31,43,67,68,69,70,71,72,73,74,75,76,77,78,79,83,90,91,93,94,103,111,113,114,115,132,133,134,135,136,137,138,139,140,141,142,143,144,145,146,147,148,149,150,151,152,153,154,155,156,157,158,161,166,168,174,177,178,196,197,198,199,200,201,202,203,204,205,206,207,208,209,210,211,212,213,214,215,216,217,220,221,229,235,238,242,245,250,252,253,256,257,259,260,261,262,],[69,69,69,69,-127,-125,69,-126,-124,69,69,69,-134,-123,-133,69,140,69,69,69,140,140,69,-134,140,69,69,-119,-120,-121,140,-128,-132,140,69,69,69,69,69,69,69,69,69,69,69,69,69,69,69,69,69,69,69,69,140,140,140,140,69,-128,69,-122,140,-99,140,-114,-112,140,140,140,-98,-113,-115,140,-101,-100,140,-116,-117,140,140,140,69,-129,69,-126,140,140,69,140,69,69,140,140,69,69,140,140,]),'PROGRAM_COMMON':([0,6,16,27,29,60,61,165,169,],[13,-5,13,-1,13,-2,-3,-4,13,]),'OTHERWISE':([0,6,16,27,29,60,61,165,169,],[14,-5,14,-1,14,-2,-3,-4,14,]),'COMMENT':([0,6,16,27,29,60,61,165,169,],[15,-5,15,-1,15,-2,-3,-4,15,]),'VALUES':([19,224,],[64,239,]),'INTNUM':([22,30,31,43,69,72,73,74,78,83,90,91,103,114,115,123,126,139,140,141,142,143,144,145,146,147,148,149,150,151,152,153,154,155,156,157,158,162,177,196,220,229,245,248,252,253,259,260,],[68,68,68,68,68,68,68,68,68,68,68,68,68,68,68,190,194,68,68,68,68,68,68,68,68,68,68,68,68,68,68,68,68,68,68,68,68,218,68,68,68,68,68,251,68,68,68,68,]),'RPAREN':([67,68,70,71,75,76,77,132,133,134,135,136,137,138,167,168,189,190,191,194,197,198,199,200,201,202,203,204,205,206,207,208,209,210,211,212,213,214,215,216,217,218,221,238,243,251,254,],[-127,-125,-126,-124,-134,-123,-133,-119,-120,-121,197,-128,-132,-118,221,-130,230,231,232,233,-122,-104,-99,-107,-114,-112,-105,-111,-106,-98,-113,-115,-108,-101,-100,-109,-116,-117,-110,-103,-102,237,-129,-131,247,254,258,]),'FOR':([171,],[224,]),'BOOLNUM':([22,30,31,43,69,72,73,74,78,83,90,91,103,114,115,139,140,141,142,143,144,145,146,147,148,149,150,151,152,153,154,155,156,157,158,177,196,220,229,245,252,253,259,260,],[76,76,76,76,76,76,76,76,76,76,76,76,76,76,76,76,76,76,76,76,76,76,76,76,76,76,76,76,76,76,76,76,76,76,76,76,76,76,76,76,76,76,76,76,]),'RESTORE_RETURN':([0,6,16,27,29,60,61,165,169,],[38,-5,38,-1,38,-2,-3,-4,38,]),'EQV':([67,68,70,71,75,76,77,79,93,94,111,113,132,133,134,135,136,137,138,161,166,168,174,178,197,198,199,200,201,202,203,204,205,206,207,208,209,210,211,212,213,214,215,216,217,221,235,238,242,250,256,257,261,262,],[-127,-125,-126,-124,-134,-123,-133,144,144,144,-134,144,-119,-120,-121,144,-128,-132,-118,144,144,144,144,-128,-122,-104,-99,-107,-114,-112,-105,-111,-106,-98,-113,-115,-108,-101,-100,-109,-116,-117,-110,-103,-102,-129,-126,144,144,144,144,144,144,144,]),'INTERNAL':([0,6,16,27,29,60,61,165,169,],[9,-5,9,-1,9,-2,-3,-4,9,]),'LE':([67,68,70,71,75,76,77,79,93,94,111,113,132,133,134,135,136,137,138,161,166,168,174,178,197,198,199,200,201,202,203,204,205,206,207,208,209,210,211,212,213,214,215,216,217,221,235,238,242,250,256,257,261,262,],[-127,-125,-126,-124,-134,-123,-133,141,141,141,-134,141,-119,-120,-121,141,-128,-132,141,141,141,141,141,-128,-122,141,-99,-107,-114,-112,141,-111,-106,-98,-113,-115,-108,-101,-100,-109,-116,-117,-110,141,141,-129,-126,141,141,141,141,141,141,141,]),'OCTNUM':([22,30,31,43,69,72,73,74,78,83,90,91,103,114,115,139,140,141,142,143,144,145,146,147,148,149,150,151,152,153,154,155,156,157,158,177,196,220,229,245,252,253,259,260,],[71,71,71,71,71,71,71,71,71,71,71,71,71,71,71,71,71,71,71,71,71,71,71,71,71,71,71,71,71,71,71,71,71,71,71,71,71,71,71,71,71,71,71,71,]),'TO':([5,37,],[47,99,]),'LT':([67,68,70,71,75,76,77,79,93,94,111,113,132,133,134,135,136,137,138,161,166,168,174,178,197,198,199,200,201,202,203,204,205,206,207,208,209,210,211,212,213,214,215,216,217,221,235,238,242,250,256,257,261,262,],[-127,-125,-126,-124,-134,-123,-133,146,146,146,-134,146,-119,-120,-121,146,-128,-132,146,146,146,146,146,-128,-122,146,-99,-107,-114,-112,146,-111,-106,-98,-113,-115,-108,-101,-100,-109,-116,-117,-110,146,146,-129,-126,146,146,146,146,146,146,146,]),'VECTOR':([0,6,16,27,29,60,61,165,169,],[19,-5,19,-1,19,-2,-3,-4,19,]),'PLUS':([22,30,31,43,67,68,69,70,71,72,73,74,75,76,77,78,79,83,90,91,93,94,103,111,113,114,115,132,133,134,135,136,137,138,139,140,141,142,143,144,145,146,147,148,149,150,151,152,153,154,155,156,157,158,161,166,168,174,177,178,196,197,198,199,200,201,202,203,204,205,206,207,208,209,210,211,212,213,214,215,216,217,220,221,229,235,238,242,245,250,252,253,256,257,259,260,261,262,],[72,72,72,72,-127,-125,72,-126,-124,72,72,72,-134,-123,-133,72,147,72,72,72,147,147,72,-134,147,72,72,-119,-120,-121,147,-128,-132,147,72,72,72,72,72,72,72,72,72,72,72,72,72,72,72,72,72,72,72,72,147,147,147,147,72,-128,72,-122,147,-99,147,-114,-112,147,147,147,-98,-113,-115,147,-101,-100,147,-116,-117,147,147,147,72,-129,72,-126,147,147,72,147,72,72,147,147,72,72,147,147,]),'MODE':([4,],[46,]),'INTEGER':([0,6,16,27,29,60,61,116,165,169,],[18,-5,18,-1,18,-2,-3,183,-4,18,]),'$end':([6,16,27,60,61,165,],[-5,0,-1,-2,-3,-4,]),'FUNCTION':([9,24,65,],[50,82,129,]),'PAUSE':([0,6,16,27,29,60,61,165,169,],[22,-5,22,-1,22,-2,-3,-4,22,]),'END':([0,6,16,27,29,60,61,165,169,],[20,-5,20,-1,20,-2,-3,-4,20,]),'STRING':([3,7,15,22,23,30,31,43,69,72,73,74,78,83,90,91,103,114,115,139,140,141,142,143,144,145,146,147,148,149,150,151,152,153,154,155,156,157,158,177,196,220,229,245,252,253,259,260,],[44,49,59,70,80,70,70,70,70,70,70,70,70,70,70,70,70,70,70,70,70,70,70,70,70,70,70,70,70,70,70,70,70,70,70,70,70,70,70,70,235,70,70,70,70,70,70,70,]),'SET_LIST_TO':([0,6,16,27,29,60,61,165,169,],[21,-5,21,-1,21,-2,-3,-4,21,]),'LS':([67,68,70,71,75,76,77,79,93,94,111,113,132,133,134,135,136,137,138,161,166,168,174,178,197,198,199,200,201,202,203,204,205,206,207,208,209,210,211,212,213,214,215,216,217,221,235,238,242,250,256,257,261,262,],[-127,-125,-126,-124,-134,-123,-133,148,148,148,-134,148,148,148,148,148,-128,-132,148,148,148,148,148,-128,-122,148,148,148,148,148,148,148,148,148,148,148,148,148,148,148,148,148,148,148,148,-129,-126,148,148,148,148,148,148,148,]),'IS':([46,],[116,]),'EQUALS':([25,29,88,92,128,187,221,240,249,],[83,90,-97,90,196,229,-129,245,252,]),'DIVIDE':([67,68,70,71,75,76,77,79,93,94,111,113,132,133,134,135,136,137,138,161,166,168,174,178,197,198,199,200,201,202,203,204,205,206,207,208,209,210,211,212,213,214,215,216,217,221,235,238,242,250,256,257,261,262,],[-127,-125,-126,-124,-134,-123,-133,151,151,151,-134,151,-119,-120,-121,151,-128,-132,151,151,151,151,151,-128,-122,151,151,151,-114,-112,151,151,151,151,-113,-115,151,-101,-100,151,-116,-117,151,151,151,-129,-126,151,151,151,151,151,151,151,]),'TIMES':([67,68,70,71,75,76,77,79,93,94,111,113,132,133,134,135,136,137,138,161,166,168,174,178,197,198,199,200,201,202,203,204,205,206,207,208,209,210,211,212,213,214,215,216,217,221,235,238,242,250,256,257,261,262,],[-127,-125,-126,-124,-134,-123,-133,152,152,152,-134,152,-119,-120,-121,152,-128,-132,152,152,152,152,152,-128,-122,152,152,152,-114,-112,152,152,152,152,-113,-115,152,-101,-100,152,-116,-117,152,152,152,-129,-126,152,152,152,152,152,152,152,]),'COMMA':([44,45,48,49,51,52,54,55,56,57,58,62,63,67,68,70,71,75,76,77,85,86,93,96,97,98,100,101,102,104,105,106,107,109,110,111,112,113,132,133,134,136,137,138,164,167,168,178,179,180,185,186,188,192,193,195,197,198,199,200,201,202,203,204,205,206,207,208,209,210,211,212,213,214,215,216,217,218,219,221,223,225,227,228,230,231,232,233,234,235,237,238,246,247,250,255,256,257,258,261,],[114,115,118,119,122,-46,124,-16,125,-11,-14,127,-49,-127,-125,-126,-124,-134,-123,-133,163,-26,169,170,-7,171,173,-24,-22,-79,176,-77,-78,177,-66,-134,-67,-68,-119,-120,-121,-128,-132,-118,176,220,-130,-128,177,177,176,176,-47,-17,-12,-50,-122,-104,-99,-107,-114,-112,-105,-111,-106,-98,-113,-115,-108,-101,-100,-109,-116,-117,-110,-103,-102,236,-27,-129,-8,-23,-76,-65,-20,-19,-18,-13,220,-126,-28,-131,-69,-29,253,259,-87,260,-30,-88,]),'PRINT_COMMENT':([0,6,16,27,29,60,61,165,169,],[23,-5,23,-1,23,-2,-3,-4,23,]),'ABS':([22,30,31,43,69,72,73,74,78,83,90,91,103,114,115,139,140,141,142,143,144,145,146,147,148,149,150,151,152,153,154,155,156,157,158,177,196,220,229,245,252,253,259,260,],[73,73,73,73,73,73,73,73,73,73,73,73,73,73,73,73,73,73,73,73,73,73,73,73,73,73,73,73,73,73,73,73,73,73,73,73,73,73,73,73,73,73,73,73,]),'EXTERNAL':([0,6,16,27,29,60,61,165,169,],[24,-5,24,-1,24,-2,-3,-4,24,]),'LPAREN':([22,29,30,31,33,42,43,50,53,58,69,72,73,74,75,77,78,81,82,83,84,90,91,92,103,104,111,114,115,120,139,140,141,142,143,144,145,146,147,148,149,150,151,152,153,154,155,156,157,158,177,196,220,229,241,243,245,252,253,259,260,],[74,91,74,74,91,91,74,91,123,126,74,74,74,74,91,91,74,91,91,74,162,74,74,91,74,91,91,74,74,91,74,74,74,74,74,74,74,74,74,74,74,74,74,74,74,74,74,74,74,74,74,74,74,74,91,248,74,74,74,74,74,]),'V':([67,68,70,71,75,76,77,79,93,94,111,113,132,133,134,135,136,137,138,161,166,168,174,178,197,198,199,200,201,202,203,204,205,206,207,208,209,210,211,212,213,214,215,216,217,221,235,238,242,250,256,257,261,262,],[-127,-125,-126,-124,-134,-123,-133,154,154,154,-134,154,154,-120,-121,154,-128,-132,154,154,154,154,154,-128,-122,154,154,154,-114,154,154,154,154,154,-113,-115,154,154,154,154,-116,-117,154,154,154,-129,-126,154,154,154,154,154,154,154,]),'ENTRY':([0,6,16,27,29,60,61,165,169,],[37,-5,37,-1,37,-2,-3,-4,37,]),'DATA':([2,28,],[43,87,]),'BOOLEAN':([0,6,16,27,29,60,61,116,165,169,],[35,-5,35,-1,35,-2,-3,182,-4,35,]),'EQ':([67,68,70,71,75,76,77,79,93,94,111,113,132,133,134,135,136,137,138,161,166,168,174,178,197,198,199,200,201,202,203,204,205,206,207,208,209,210,211,212,213,214,215,216,217,221,235,238,242,250,256,257,261,262,],[-127,-125,-126,-124,-134,-123,-133,156,156,156,-134,156,-119,-120,-121,156,-128,-132,156,156,156,156,156,-128,-122,156,-99,-107,-114,-112,156,-111,-106,-98,-113,-115,-108,-101,-100,-109,-116,-117,-110,156,156,-129,-126,156,156,156,156,156,156,156,]),'DIMENSION':([0,6,16,27,29,60,61,165,169,],[26,-5,26,-1,26,-2,-3,-4,26,]),'AND':([67,68,70,71,75,76,77,79,93,94,111,113,132,133,134,135,136,137,138,161,166,168,174,178,197,198,199,200,201,202,203,204,205,206,207,208,209,210,211,212,213,214,215,216,217,221,235,238,242,250,256,257,261,262,],[-127,-125,-126,-124,-134,-123,-133,157,157,157,-134,157,-119,-120,-121,157,-128,-132,-118,157,157,157,157,-128,-122,157,-99,-107,-114,-112,157,-111,-106,-98,-113,-115,-108,-101,-100,-109,-116,-117,-110,-103,157,-129,-126,157,157,157,157,157,157,157,]),'RESTORE':([0,6,16,27,29,60,61,165,169,],[28,-5,28,-1,28,-2,-3,-4,28,]),'GT':([67,68,70,71,75,76,77,79,93,94,111,113,132,133,134,135,136,137,138,161,166,168,174,178,197,198,199,200,201,202,203,204,205,206,207,208,209,210,211,212,213,214,215,216,217,221,235,238,242,250,256,257,261,262,],[-127,-125,-126,-124,-134,-123,-133,150,150,150,-134,150,-119,-120,-121,150,-128,-132,150,150,150,150,150,-128,-122,150,-99,-107,-114,-112,150,-111,-106,-98,-113,-115,-108,-101,-100,-109,-116,-117,-110,150,150,-129,-126,150,150,150,150,150,150,150,]),'FORMAT_VARIABLE':([0,6,16,27,29,60,61,165,169,],[39,-5,39,-1,39,-2,-3,-4,39,]),'NAME':([0,3,6,7,11,12,13,16,18,21,22,26,27,29,30,31,35,36,39,41,43,47,60,61,64,69,72,73,74,78,83,87,90,91,103,114,115,118,119,122,123,124,125,127,139,140,141,142,143,144,145,146,147,148,149,150,151,152,153,154,155,156,157,158,163,165,169,170,173,176,177,196,220,224,226,229,236,244,245,252,253,259,260,],[29,45,-5,48,52,53,58,29,63,66,75,84,-1,92,75,75,97,98,101,104,111,117,-2,-3,128,75,75,75,75,75,75,104,75,75,75,111,111,104,104,188,191,53,58,195,75,75,75,75,75,75,75,75,75,75,75,75,75,75,75,75,75,75,75,75,84,-4,92,223,101,104,111,75,75,240,241,75,243,249,75,75,75,75,75,]),'WHENEVER':([0,6,16,27,29,40,60,61,165,169,],[30,-5,30,-1,30,103,-2,-3,-4,30,]),'TRANSFER':([0,6,16,27,29,60,61,165,169,],[5,-5,5,-1,5,-2,-3,-4,5,]),'FUNCTION_RETURN':([0,6,16,27,29,60,61,165,169,],[31,-5,31,-1,31,-2,-3,-4,31,]),'RS':([67,68,70,71,75,76,77,79,93,94,111,113,132,133,134,135,136,137,138,161,166,168,174,178,197,198,199,200,201,202,203,204,205,206,207,208,209,210,211,212,213,214,215,216,217,221,235,238,242,250,256,257,261,262,],[-127,-125,-126,-124,-134,-123,-133,142,142,142,-134,142,142,142,142,142,-128,-132,142,142,142,142,142,-128,-122,142,142,142,142,142,142,142,142,142,142,142,142,142,142,142,142,142,142,142,142,-129,-126,142,142,142,142,142,142,142,]),'GE':([67,68,70,71,75,76,77,79,93,94,111,113,132,133,134,135,136,137,138,161,166,168,174,178,197,198,199,200,201,202,203,204,205,206,207,208,209,210,211,212,213,214,215,216,217,221,235,238,242,250,256,257,261,262,],[-127,-125,-126,-124,-134,-123,-133,153,153,153,-134,153,-119,-120,-121,153,-128,-132,153,153,153,153,153,-128,-122,153,-99,-107,-114,-112,153,-111,-106,-98,-113,-115,-108,-101,-100,-109,-116,-117,-110,153,153,-129,-126,153,153,153,153,153,153,153,]),'ERROR_RETURN':([0,6,16,27,29,60,61,165,169,],[32,-5,32,-1,32,-2,-3,-4,32,]),'FUNCALL':([0,1,6,16,22,24,27,29,30,31,43,50,60,61,69,72,73,74,78,83,90,91,99,103,114,115,139,140,141,142,143,144,145,146,147,148,149,150,151,152,153,154,155,156,157,158,165,169,177,196,220,229,245,252,253,259,260,],[33,42,-5,33,77,81,-1,33,77,77,77,120,-2,-3,77,77,77,77,77,77,77,77,172,77,77,77,77,77,77,77,77,77,77,77,77,77,77,77,77,77,77,77,77,77,77,77,-4,33,77,77,77,77,77,77,77,77,77,]),'POW':([67,68,70,71,75,76,77,79,93,94,111,113,132,133,134,135,136,137,138,161,166,168,174,178,197,198,199,200,201,202,203,204,205,206,207,208,209,210,211,212,213,214,215,216,217,221,235,238,242,250,256,257,261,262,],[-127,-125,-126,-124,-134,-123,-133,143,143,143,-134,143,143,-120,-121,143,-128,-132,143,143,143,143,143,-128,-122,143,143,143,-114,-112,143,143,143,143,-113,-115,143,143,143,143,-116,-117,143,143,143,-129,-126,143,143,143,143,143,143,143,]),'EV':([67,68,70,71,75,76,77,79,93,94,111,113,132,133,134,135,136,137,138,161,166,168,174,178,197,198,199,200,201,202,203,204,205,206,207,208,209,210,211,212,213,214,215,216,217,221,235,238,242,250,256,257,261,262,],[-127,-125,-126,-124,-134,-123,-133,155,155,155,-134,155,155,-120,-121,155,-128,-132,155,155,155,155,155,-128,-122,155,155,155,-114,155,155,155,155,155,-113,-115,155,155,155,155,-116,-117,155,155,155,-129,-126,155,155,155,155,155,155,155,]),'CONTINUE':([0,6,16,27,29,60,61,165,169,],[10,-5,10,-1,10,-2,-3,-4,10,]),'THROUGH':([0,6,16,27,29,60,61,165,169,],[36,-5,36,-1,36,-2,-3,-4,36,]),'OF':([20,239,],[65,244,]),'NOT':([22,30,31,43,69,72,73,74,78,83,90,91,103,114,115,139,140,141,142,143,144,145,146,147,148,149,150,151,152,153,154,155,156,157,158,177,196,220,229,245,252,253,259,260,],[78,78,78,78,78,78,78,78,78,78,78,78,78,78,78,78,78,78,78,78,78,78,78,78,78,78,78,78,78,78,78,78,78,78,78,78,78,78,78,78,78,78,78,78,]),'SAVE':([0,6,16,27,29,60,61,165,169,],[2,-5,2,-1,2,-2,-3,-4,2,]),'OR':([0,6,16,27,29,60,61,67,68,70,71,75,76,77,79,93,94,111,113,132,133,134,135,136,137,138,161,165,166,168,169,174,178,197,198,199,200,201,202,203,204,205,206,207,208,209,210,211,212,213,214,215,216,217,221,235,238,242,250,256,257,261,262,],[40,-5,40,-1,40,-2,-3,-127,-125,-126,-124,-134,-123,-133,158,158,158,-134,158,-119,-120,-121,158,-128,-132,-118,158,-4,158,158,40,158,-128,-122,158,-99,-107,-114,-112,158,-111,-106,-98,-113,-115,-108,-101,-100,-109,-116,-117,-110,-103,-102,-129,-126,158,158,158,158,158,158,158,]),'PRINT_RESULTS':([0,6,16,27,29,60,61,165,169,],[41,-5,41,-1,41,-2,-3,-4,41,]),}

_lr_action = { }
for _k, _v in _lr_action_items.items():
   for _x,_y in zip(_v[0],_v[1]):
      if not _x in _lr_action:  _lr_action[_x] = { }
      _lr_action[_x][_k] = _y
del _lr_action_items

_lr_goto_items = {'parmspec':([12,124,],[55,192,]),'arglist':([91,196,],[167,234,]),'common_list':([13,],[56,]),'outlist':([43,114,115,],[109,179,180,]),'comspec':([13,125,],[57,193,]),'formatspec':([39,173,],[102,225,]),'varlist':([41,87,118,119,],[105,164,185,186,]),'application':([29,33,42,50,75,77,81,82,92,104,111,120,241,],[88,95,108,121,136,137,159,160,88,175,178,187,246,]),'program':([0,],[16,]),'statement':([0,16,29,169,],[17,17,89,222,]),'intlist':([18,],[62,]),'dimspec':([26,163,],[86,219,]),'outval':([43,114,115,177,],[110,110,110,228,]),'format_variable_list':([39,],[100,]),'value_list':([252,],[255,]),'lval':([41,87,118,119,176,],[106,106,106,106,227,]),'boollist':([35,],[96,]),'arrayref':([0,16,29,169,],[25,25,25,25,]),'dimension_list':([26,],[85,]),'typeval':([116,],[184,]),'card':([0,16,],[27,60,]),'parameter_list':([12,],[54,]),'range':([41,43,87,114,115,118,119,176,177,],[107,112,107,112,112,107,107,107,112,]),'floatlist':([11,],[51,]),'expression':([22,30,31,43,69,72,73,74,78,83,90,91,103,114,115,139,140,141,142,143,144,145,146,147,148,149,150,151,152,153,154,155,156,157,158,177,196,220,229,245,252,253,259,260,],[79,93,94,113,132,133,134,135,138,161,166,168,174,113,113,198,199,200,201,202,203,204,205,206,207,208,209,210,211,212,213,214,215,216,217,113,168,238,242,250,256,257,261,262,]),}

_lr_goto = { }
for _k, _v in _lr_goto_items.items():
   for _x,_y in zip(_v[0],_v[1]):
       if not _x in _lr_goto: _lr_goto[_x] = { }
       _lr_goto[_x][_k] = _y
del _lr_goto_items
_lr_productions = [
  ("S' -> program","S'",1,None,None,None),
  ('program -> card','program',1,'p_program','../mad',535),
  ('program -> program card','program',2,'p_program','../mad',536),
  ('card -> statement EOS','card',2,'p_card','../mad',539),
  ('card -> NAME statement EOS','card',3,'p_labeled_card','../mad',543),
  ('card -> EOS','card',1,'p_empty_card','../mad',547),
  ('statement -> BOOLEAN boollist','statement',2,'p_boolean','../mad',554),
  ('boollist -> NAME','boollist',1,'p_boollist','../mad',557),
  ('boollist -> boollist COMMA NAME','boollist',3,'p_boollist_continue','../mad',560),
  ('statement -> CONTINUE','statement',1,'p_statement_continue','../mad',565),
  ('statement -> PROGRAM_COMMON common_list','statement',2,'p_statement_common','../mad',570),
  ('common_list -> comspec','common_list',1,'p_common_list','../mad',573),
  ('common_list -> common_list COMMA comspec','common_list',3,'p_common_list_continue','../mad',576),
  ('comspec -> NAME LPAREN INTNUM RPAREN','comspec',4,'p_comspec','../mad',579),
  ('comspec -> NAME','comspec',1,'p_comspec_0','../mad',583),
  ('statement -> PARAMETER parameter_list','statement',2,'p_statement_parameter','../mad',589),
  ('parameter_list -> parmspec','parameter_list',1,'p_parameter_list','../mad',592),
  ('parameter_list -> parameter_list COMMA parmspec','parameter_list',3,'p_parameter_list_continue','../mad',595),
  ('parmspec -> NAME LPAREN NAME RPAREN','parmspec',4,'p_parmspec','../mad',598),
  ('parmspec -> NAME LPAREN INTNUM RPAREN','parmspec',4,'p_parmspec_0','../mad',602),
  ('parmspec -> NAME LPAREN FLOATNUM RPAREN','parmspec',4,'p_parmspec_1','../mad',606),
  ('statement -> FORMAT_VARIABLE format_variable_list','statement',2,'p_statement_format_variable','../mad',612),
  ('format_variable_list -> formatspec','format_variable_list',1,'p_format_variable_list','../mad',615),
  ('format_variable_list -> format_variable_list COMMA formatspec','format_variable_list',3,'p_format_variable_list_continue','../mad',618),
  ('formatspec -> NAME','formatspec',1,'p_formatspec','../mad',621),
  ('statement -> DIMENSION dimension_list','statement',2,'p_statement_dimension','../mad',628),
  ('dimension_list -> dimspec','dimension_list',1,'p_dimension_list','../mad',631),
  ('dimension_list -> dimension_list COMMA dimspec','dimension_list',3,'p_dimension_list_continue','../mad',634),
  ('dimspec -> NAME LPAREN INTNUM RPAREN','dimspec',4,'p_dimspec_0','../mad',639),
  ('dimspec -> NAME LPAREN INTNUM COMMA NAME RPAREN','dimspec',6,'p_dimspec_1','../mad',643),
  ('dimspec -> NAME LPAREN INTNUM COMMA NAME LPAREN INTNUM RPAREN RPAREN','dimspec',9,'p_dimspec_2','../mad',648),
  ('statement -> END OF PROGRAM','statement',3,'p_end_of_program','../mad',655),
  ('statement -> END OF CONDITIONAL','statement',3,'p_end_of_conditional','../mad',658),
  ('statement -> END OF FUNCTION','statement',3,'p_end_of_functions','../mad',661),
  ('statement -> ENTRY TO FUNCALL','statement',3,'p_entry','../mad',666),
  ('statement -> ERROR_RETURN','statement',1,'p_error_return','../mad',671),
  ('statement -> EXECUTE FUNCALL application','statement',3,'p_execute','../mad',676),
  ('statement -> EXECUTE FUNCALL','statement',2,'p_execute_noargs','../mad',679),
  ('statement -> FUNCALL application','statement',2,'p_procedure','../mad',684),
  ('statement -> FUNCALL','statement',1,'p_procedure_noargs','../mad',687),
  ('statement -> EXTERNAL FUNCALL application','statement',3,'p_external_call','../mad',693),
  ('statement -> EXTERNAL FUNCTION application','statement',3,'p_external_function','../mad',698),
  ('statement -> EXTERNAL FUNCTION','statement',2,'p_external_function0','../mad',701),
  ('statement -> FUNCTION_RETURN expression','statement',2,'p_function_return','../mad',706),
  ('statement -> FUNCTION_RETURN','statement',1,'p_function_return_void','../mad',709),
  ('statement -> FLOATING_POINT floatlist','statement',2,'p_float','../mad',714),
  ('floatlist -> NAME','floatlist',1,'p_floatlist','../mad',717),
  ('floatlist -> floatlist COMMA NAME','floatlist',3,'p_floatlist_continue','../mad',720),
  ('statement -> INTEGER intlist','statement',2,'p_integer','../mad',725),
  ('intlist -> NAME','intlist',1,'p_intlist','../mad',728),
  ('intlist -> intlist COMMA NAME','intlist',3,'p_intlist_continue','../mad',731),
  ('statement -> INTERNAL FUNCTION FUNCALL application EQUALS expression','statement',6,'p_internal','../mad',736),
  ('statement -> INTERNAL FUNCTION application','statement',3,'p_internal_function0','../mad',739),
  ('statement -> INTERNAL FUNCTION','statement',2,'p_internal_function1','../mad',742),
  ('statement -> NORMAL MODE IS typeval','statement',4,'p_normal','../mad',747),
  ('typeval -> FLOATING_POINT','typeval',1,'p_typeval_float','../mad',750),
  ('typeval -> INTEGER','typeval',1,'p_typeval_int','../mad',754),
  ('typeval -> BOOLEAN','typeval',1,'p_typeval_bool','../mad',758),
  ('statement -> OTHERWISE','statement',1,'p_otherwise','../mad',764),
  ('statement -> PAUSE expression','statement',2,'p_pause','../mad',769),
  ('statement -> PRINT_COMMENT STRING','statement',2,'p_print_comment','../mad',774),
  ('statement -> PRINT_FORMAT NAME COMMA outlist','statement',4,'p_print_format','../mad',779),
  ('statement -> PRINT_FORMAT STRING COMMA outlist','statement',4,'p_print_format0','../mad',784),
  ('statement -> PRINT_FORMAT NAME','statement',2,'p_print_format1','../mad',789),
  ('statement -> PRINT_FORMAT STRING','statement',2,'p_print_format2','../mad',794),
  ('outlist -> outlist COMMA outval','outlist',3,'p_outlist_continue','../mad',800),
  ('outlist -> outval','outlist',1,'p_outlist','../mad',803),
  ('outval -> range','outval',1,'p_outval','../mad',806),
  ('outval -> expression','outval',1,'p_outval','../mad',807),
  ('range -> NAME application DOTRANGE NAME application','range',5,'p_range','../mad',810),
  ('statement -> PRINT_RESULTS varlist','statement',2,'p_print_results','../mad',819),
  ('statement -> COMMENT STRING','statement',2,'p_remark1','../mad',824),
  ('statement -> COMMENT','statement',1,'p_remark2','../mad',827),
  ('statement -> READ_AND_PRINT_DATA','statement',1,'p_read_and_print_data','../mad',832),
  ('statement -> READ_FORMAT NAME COMMA varlist','statement',4,'p_read_format','../mad',840),
  ('statement -> READ_FORMAT STRING COMMA varlist','statement',4,'p_read_format0','../mad',846),
  ('varlist -> varlist COMMA lval','varlist',3,'p_varlist_continue','../mad',853),
  ('varlist -> lval','varlist',1,'p_varlist','../mad',856),
  ('lval -> range','lval',1,'p_lval','../mad',859),
  ('lval -> NAME','lval',1,'p_lval','../mad',860),
  ('statement -> RESTORE DATA varlist','statement',3,'p_restore_data','../mad',865),
  ('statement -> RESTORE_RETURN','statement',1,'p_restore_return','../mad',868),
  ('statement -> SAVE DATA outlist','statement',3,'p_save_data','../mad',873),
  ('statement -> SAVE_RETURN','statement',1,'p_save_return','../mad',876),
  ('statement -> SET_LIST_TO NAME','statement',2,'p_set_list','../mad',881),
  ('statement -> THROUGH NAME COMMA FOR NAME EQUALS expression COMMA expression COMMA expression','statement',11,'p_through_for','../mad',889),
  ('statement -> THROUGH NAME COMMA FOR VALUES OF NAME EQUALS value_list','statement',9,'p_through_map','../mad',894),
  ('value_list -> expression','value_list',1,'p_map','../mad',897),
  ('value_list -> value_list COMMA expression','value_list',3,'p_map_continue','../mad',900),
  ('statement -> TRANSFER TO NAME','statement',3,'p_transfer','../mad',905),
  ('statement -> WHENEVER expression COMMA statement','statement',4,'p_whenever_simple','../mad',911),
  ('statement -> WHENEVER expression','statement',2,'p_whenever_complex','../mad',914),
  ('statement -> OR WHENEVER expression','statement',3,'p_whenever_or','../mad',917),
  ('statement -> VECTOR VALUES NAME EQUALS STRING','statement',5,'p_vector_values_string','../mad',922),
  ('statement -> VECTOR VALUES NAME EQUALS arglist','statement',5,'p_vector_values_array','../mad',925),
  ('statement -> NAME EQUALS expression','statement',3,'p_statement_substitution1','../mad',930),
  ('statement -> arrayref EQUALS expression','statement',3,'p_statement_substitution2','../mad',934),
  ('arrayref -> NAME application','arrayref',2,'p_arrayref','../mad',937),
  ('expression -> expression PLUS expression','expression',3,'p_expression_binop1','../mad',943),
  ('expression -> expression MINUS expression','expression',3,'p_expression_binop1','../mad',944),
  ('expression -> expression TIMES expression','expression',3,'p_expression_binop1','../mad',945),
  ('expression -> expression DIVIDE expression','expression',3,'p_expression_binop1','../mad',946),
  ('expression -> expression OR expression','expression',3,'p_expression_binop2','../mad',950),
  ('expression -> expression AND expression','expression',3,'p_expression_binop2','../mad',951),
  ('expression -> expression THEN expression','expression',3,'p_expression_binop2','../mad',952),
  ('expression -> expression EQV expression','expression',3,'p_expression_binop2','../mad',953),
  ('expression -> expression LT expression','expression',3,'p_expression_binop2','../mad',954),
  ('expression -> expression LE expression','expression',3,'p_expression_binop2','../mad',955),
  ('expression -> expression GT expression','expression',3,'p_expression_binop2','../mad',956),
  ('expression -> expression GE expression','expression',3,'p_expression_binop2','../mad',957),
  ('expression -> expression EQ expression','expression',3,'p_expression_binop2','../mad',958),
  ('expression -> expression NE expression','expression',3,'p_expression_binop2','../mad',959),
  ('expression -> expression POW expression','expression',3,'p_expression_binop2','../mad',960),
  ('expression -> expression LS expression','expression',3,'p_expression_binop2','../mad',961),
  ('expression -> expression RS expression','expression',3,'p_expression_binop2','../mad',962),
  ('expression -> expression A expression','expression',3,'p_expression_binop2','../mad',963),
  ('expression -> expression V expression','expression',3,'p_expression_binop2','../mad',964),
  ('expression -> expression EV expression','expression',3,'p_expression_binop2','../mad',965),
  ('expression -> NOT expression','expression',2,'p_expression_not','../mad',974),
  ('expression -> MINUS expression','expression',2,'p_expression_uminus','../mad',978),
  ('expression -> PLUS expression','expression',2,'p_expression_uplus','../mad',982),
  ('expression -> ABS expression','expression',2,'p_expression_abs','../mad',986),
  ('expression -> LPAREN expression RPAREN','expression',3,'p_expression_group','../mad',990),
  ('expression -> BOOLNUM','expression',1,'p_expression_bool','../mad',994),
  ('expression -> OCTNUM','expression',1,'p_expression_octint','../mad',998),
  ('expression -> INTNUM','expression',1,'p_expression_integer','../mad',1002),
  ('expression -> STRING','expression',1,'p_expression_string','../mad',1006),
  ('expression -> FLOATNUM','expression',1,'p_expression_float','../mad',1012),
  ('expression -> NAME application','expression',2,'p_expression_subscript','../mad',1016),
  ('application -> LPAREN arglist RPAREN','application',3,'p_application','../mad',1023),
  ('arglist -> expression','arglist',1,'p_application_tail_empty','../mad',1027),
  ('arglist -> arglist COMMA expression','arglist',3,'p_application_tail_nonempty','../mad',1031),
  ('expression -> FUNCALL application','expression',2,'p_function_application','../mad',1035),
  ('expression -> FUNCALL','expression',1,'p_expression_funcall0','../mad',1042),
  ('expression -> NAME','expression',1,'p_expression_name','../mad',1048),
]
