from __future__ import (absolute_import, division, print_function,
                        unicode_literals)

# astropy/units/format/ogip_parsetab.py
# This file is automatically generated. Do not edit.
_tabversion = '3.2'

_lr_method = 'LALR'

_lr_signature = b'j\xd6\xe7(dC\xb5\x9d}\xf3)\xe67\x8b\xfck'

_lr_action_items = {'DIVISION':([0,4,5,6,7,10,11,15,16,17,19,20,24,26,27,34,37,38,41,44,46,47,49,50,53,57,59,60,62,63,66,67,],[1,-10,1,1,-6,1,-17,-30,35,-16,-41,-40,35,-7,42,1,-9,-8,-12,-33,-32,-18,-19,-31,-15,1,-11,-14,-35,-34,-13,-36,]),'STAR':([4,5,7,15,19,20,24,26,37,38,41,44,46,50,59,60,62,63,66,67,],[-10,23,-6,-30,-41,-40,40,-7,-9,-8,-12,-33,-32,-31,-11,-14,-35,-34,-13,-36,]),'WHITESPACE':([0,1,4,5,6,7,10,11,15,17,19,20,23,26,27,34,35,37,38,40,41,42,44,46,47,49,50,53,57,59,60,62,63,66,67,],[16,18,-10,24,16,-6,27,-17,-30,-16,-41,-40,39,-7,16,16,52,-9,-8,54,-12,56,-33,-32,-18,-19,-31,-15,16,-11,-14,-35,-34,-13,-36,]),'STARSTAR':([11,13,15,17,19,20,31,41,59,],[29,29,29,29,-41,-40,-39,29,29,]),'UNKNOWN':([0,],[2,]),'LIT10':([0,],[17,]),'SIGN':([0,29,30,32,33,36,45,55,64,],[12,-29,48,48,48,48,12,48,48,]),'OPEN_PAREN':([0,1,6,9,10,11,15,17,18,19,20,21,22,23,24,27,29,30,32,33,34,35,36,39,40,42,44,46,47,49,52,53,54,55,56,62,63,64,67,],[6,-20,6,6,6,-17,34,-16,-23,-41,-40,6,6,-25,-24,6,-29,45,45,45,6,-21,45,-28,-26,-20,-33,-32,-18,-19,-22,-15,-27,45,-22,-35,-34,45,-36,]),'UINT':([0,1,3,12,18,29,30,32,33,35,36,45,48,52,55,61,64,],[-38,-20,20,31,-23,-29,46,46,46,-21,46,-38,-37,-22,46,65,46,]),'CLOSE_PAREN':([4,5,7,15,19,20,25,26,31,37,38,41,44,46,50,51,57,58,59,60,62,63,65,66,67,],[-10,-5,-6,-30,-41,-40,41,-7,-39,-9,-8,-12,-33,-32,-31,59,62,63,-11,-14,-35,-34,67,-13,-36,]),'$end':([2,4,5,7,8,14,15,19,20,26,28,37,38,41,43,44,46,50,59,60,62,63,66,67,],[-1,-10,-5,-6,0,-2,-30,-41,-40,-7,-3,-9,-8,-12,-4,-33,-32,-31,-11,-14,-35,-34,-13,-36,]),'UNIT':([0,1,6,9,10,11,17,18,19,20,21,22,23,24,27,34,35,39,40,42,44,46,47,49,52,53,54,56,62,63,67,],[15,-20,15,15,15,-17,-16,-23,-41,-40,15,15,-25,-24,15,15,-21,-28,-26,-20,-33,-32,-18,-19,-22,-15,-27,-22,-35,-34,-36,]),'UFLOAT':([0,3,12,29,30,32,33,36,45,48,55,64,],[-38,19,-37,-29,-38,-38,-38,-38,-38,-37,-38,-38,]),}

_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 = {'division':([0,5,6,10,27,34,57,],[9,21,9,9,9,9,61,]),'product':([5,],[22,]),'scale_factor':([0,],[10,]),'power':([11,13,15,17,41,59,],[30,32,33,36,55,64,]),'signed_float':([0,30,32,33,36,45,55,64,],[11,44,44,44,44,57,44,44,]),'sign':([0,30,32,33,36,45,55,64,],[3,3,3,3,3,3,3,3,]),'product_of_units':([0,6,10,27,34,],[5,5,5,5,5,]),'signed_int':([0,45,],[13,58,]),'unit_expression':([0,6,9,10,21,22,27,34,],[7,7,26,7,37,38,7,7,]),'numeric_power':([30,32,33,36,55,64,],[47,49,50,53,60,66,]),'main':([0,],[8,]),'complete_expression':([0,6,10,27,34,],[14,25,28,43,51,]),'unit':([0,6,9,10,21,22,27,34,],[4,4,4,4,4,4,4,4,]),}

_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' -> main","S'",1,None,None,None),
  ('main -> UNKNOWN','main',1,'p_main','astropy/units/format/ogip.py',182),
  ('main -> complete_expression','main',1,'p_main','astropy/units/format/ogip.py',183),
  ('main -> scale_factor complete_expression','main',2,'p_main','astropy/units/format/ogip.py',184),
  ('main -> scale_factor WHITESPACE complete_expression','main',3,'p_main','astropy/units/format/ogip.py',185),
  ('complete_expression -> product_of_units','complete_expression',1,'p_complete_expression','astropy/units/format/ogip.py',196),
  ('product_of_units -> unit_expression','product_of_units',1,'p_product_of_units','astropy/units/format/ogip.py',202),
  ('product_of_units -> division unit_expression','product_of_units',2,'p_product_of_units','astropy/units/format/ogip.py',203),
  ('product_of_units -> product_of_units product unit_expression','product_of_units',3,'p_product_of_units','astropy/units/format/ogip.py',204),
  ('product_of_units -> product_of_units division unit_expression','product_of_units',3,'p_product_of_units','astropy/units/format/ogip.py',205),
  ('unit_expression -> unit','unit_expression',1,'p_unit_expression','astropy/units/format/ogip.py',219),
  ('unit_expression -> UNIT OPEN_PAREN complete_expression CLOSE_PAREN','unit_expression',4,'p_unit_expression','astropy/units/format/ogip.py',220),
  ('unit_expression -> OPEN_PAREN complete_expression CLOSE_PAREN','unit_expression',3,'p_unit_expression','astropy/units/format/ogip.py',221),
  ('unit_expression -> UNIT OPEN_PAREN complete_expression CLOSE_PAREN power numeric_power','unit_expression',6,'p_unit_expression','astropy/units/format/ogip.py',222),
  ('unit_expression -> OPEN_PAREN complete_expression CLOSE_PAREN power numeric_power','unit_expression',5,'p_unit_expression','astropy/units/format/ogip.py',223),
  ('scale_factor -> LIT10 power numeric_power','scale_factor',3,'p_scale_factor','astropy/units/format/ogip.py',250),
  ('scale_factor -> LIT10','scale_factor',1,'p_scale_factor','astropy/units/format/ogip.py',251),
  ('scale_factor -> signed_float','scale_factor',1,'p_scale_factor','astropy/units/format/ogip.py',252),
  ('scale_factor -> signed_float power numeric_power','scale_factor',3,'p_scale_factor','astropy/units/format/ogip.py',253),
  ('scale_factor -> signed_int power numeric_power','scale_factor',3,'p_scale_factor','astropy/units/format/ogip.py',254),
  ('division -> DIVISION','division',1,'p_division','astropy/units/format/ogip.py',269),
  ('division -> WHITESPACE DIVISION','division',2,'p_division','astropy/units/format/ogip.py',270),
  ('division -> WHITESPACE DIVISION WHITESPACE','division',3,'p_division','astropy/units/format/ogip.py',271),
  ('division -> DIVISION WHITESPACE','division',2,'p_division','astropy/units/format/ogip.py',272),
  ('product -> WHITESPACE','product',1,'p_product','astropy/units/format/ogip.py',278),
  ('product -> STAR','product',1,'p_product','astropy/units/format/ogip.py',279),
  ('product -> WHITESPACE STAR','product',2,'p_product','astropy/units/format/ogip.py',280),
  ('product -> WHITESPACE STAR WHITESPACE','product',3,'p_product','astropy/units/format/ogip.py',281),
  ('product -> STAR WHITESPACE','product',2,'p_product','astropy/units/format/ogip.py',282),
  ('power -> STARSTAR','power',1,'p_power','astropy/units/format/ogip.py',288),
  ('unit -> UNIT','unit',1,'p_unit','astropy/units/format/ogip.py',294),
  ('unit -> UNIT power numeric_power','unit',3,'p_unit','astropy/units/format/ogip.py',295),
  ('numeric_power -> UINT','numeric_power',1,'p_numeric_power','astropy/units/format/ogip.py',304),
  ('numeric_power -> signed_float','numeric_power',1,'p_numeric_power','astropy/units/format/ogip.py',305),
  ('numeric_power -> OPEN_PAREN signed_int CLOSE_PAREN','numeric_power',3,'p_numeric_power','astropy/units/format/ogip.py',306),
  ('numeric_power -> OPEN_PAREN signed_float CLOSE_PAREN','numeric_power',3,'p_numeric_power','astropy/units/format/ogip.py',307),
  ('numeric_power -> OPEN_PAREN signed_float division UINT CLOSE_PAREN','numeric_power',5,'p_numeric_power','astropy/units/format/ogip.py',308),
  ('sign -> SIGN','sign',1,'p_sign','astropy/units/format/ogip.py',319),
  ('sign -> <empty>','sign',0,'p_sign','astropy/units/format/ogip.py',320),
  ('signed_int -> SIGN UINT','signed_int',2,'p_signed_int','astropy/units/format/ogip.py',329),
  ('signed_float -> sign UINT','signed_float',2,'p_signed_float','astropy/units/format/ogip.py',335),
  ('signed_float -> sign UFLOAT','signed_float',2,'p_signed_float','astropy/units/format/ogip.py',336),
]
