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

_lr_method = 'LALR'

_lr_signature = 'm4lF\xd8\x05\xf4-\xeei\xb4\x1e\xf1\xec.\xa8'
    
_lr_action_items = {'AND':([21,23,24,29,31,32,39,40,41,43,44,45,47,48,49,51,52,],[33,-14,-15,33,33,33,33,33,-20,33,33,-22,-23,-21,-16,33,-24,]),'SET':([0,],[1,]),'STAR':([3,],[7,]),'LIKE':([22,],[35,]),'TAGS':([8,],[17,]),'DISTINCT':([3,],[8,]),'LVALUE':([1,3,4,8,13,15,18,19,20,25,26,27,33,34,42,46,],[5,9,9,16,22,22,9,22,22,22,22,41,22,22,5,22,]),'TILDE':([22,],[37,]),'OR':([21,23,24,29,31,32,39,40,41,43,44,45,47,48,49,51,52,],[34,-14,-15,34,34,34,34,34,-20,34,34,-22,-23,-21,-16,34,-24,]),'HAS':([13,15,19,20,25,26,33,34,46,],[27,27,27,27,27,27,27,27,27,]),'COMMA':([9,28,],[18,42,]),'QSTRING':([14,35,37,38,],[28,45,47,48,]),'LPAREN':([13,15,19,20,25,26,33,34,36,46,],[25,25,25,25,25,25,25,25,46,25,]),'IN':([22,],[36,]),'NOT':([13,15,19,20,25,26,33,34,46,],[26,26,26,26,26,26,26,26,26,]),'RPAREN':([23,24,39,40,41,43,44,45,47,48,49,51,52,],[-14,-15,49,-19,-20,-17,-18,-22,-23,-21,-16,52,-24,]),'DELETE':([0,],[4,]),'WHERE':([4,6,7,9,10,11,12,16,17,28,30,50,],[13,15,-7,-10,19,-6,20,-8,-9,-12,-11,-13,]),'EQ':([5,22,],[14,38,]),'SELECT':([0,],[3,]),'$end':([2,7,9,10,11,16,17,21,23,24,29,30,31,32,40,41,43,44,45,47,48,49,52,],[0,-7,-10,-2,-6,-8,-9,-4,-14,-15,-5,-11,-1,-3,-19,-20,-17,-18,-22,-23,-21,-16,-24,]),}

_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 = {'set_list':([1,42,],[6,50,]),'statement_unary':([13,15,19,20,25,26,33,34,46,],[23,23,23,23,23,23,23,23,23,]),'selector':([3,],[10,]),'statement_binary':([13,15,19,20,25,26,33,34,46,],[24,24,24,24,24,24,24,24,24,]),'statement':([13,15,19,20,25,26,33,34,46,],[21,29,31,32,39,40,43,44,51,]),'query':([0,],[2,]),'tag_list':([3,4,18,],[11,12,30,]),}

_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' -> query","S'",1,None,None,None),
  ('query -> SELECT selector WHERE statement','query',4,'p_query','/Users/stevedh/src/svn/code/smap2/smap-data/python/smap/archiver/queryparse.py',99),
  ('query -> SELECT selector','query',2,'p_query','/Users/stevedh/src/svn/code/smap2/smap-data/python/smap/archiver/queryparse.py',100),
  ('query -> DELETE tag_list WHERE statement','query',4,'p_query','/Users/stevedh/src/svn/code/smap2/smap-data/python/smap/archiver/queryparse.py',101),
  ('query -> DELETE WHERE statement','query',3,'p_query','/Users/stevedh/src/svn/code/smap2/smap-data/python/smap/archiver/queryparse.py',102),
  ('query -> SET set_list WHERE statement','query',4,'p_query','/Users/stevedh/src/svn/code/smap2/smap-data/python/smap/archiver/queryparse.py',103),
  ('selector -> tag_list','selector',1,'p_selector','/Users/stevedh/src/svn/code/smap2/smap-data/python/smap/archiver/queryparse.py',167),
  ('selector -> STAR','selector',1,'p_selector','/Users/stevedh/src/svn/code/smap2/smap-data/python/smap/archiver/queryparse.py',168),
  ('selector -> DISTINCT LVALUE','selector',2,'p_selector','/Users/stevedh/src/svn/code/smap2/smap-data/python/smap/archiver/queryparse.py',169),
  ('selector -> DISTINCT TAGS','selector',2,'p_selector','/Users/stevedh/src/svn/code/smap2/smap-data/python/smap/archiver/queryparse.py',170),
  ('tag_list -> LVALUE','tag_list',1,'p_tag_list','/Users/stevedh/src/svn/code/smap2/smap-data/python/smap/archiver/queryparse.py',225),
  ('tag_list -> LVALUE COMMA tag_list','tag_list',3,'p_tag_list','/Users/stevedh/src/svn/code/smap2/smap-data/python/smap/archiver/queryparse.py',226),
  ('set_list -> LVALUE EQ QSTRING','set_list',3,'p_set_list','/Users/stevedh/src/svn/code/smap2/smap-data/python/smap/archiver/queryparse.py',233),
  ('set_list -> LVALUE EQ QSTRING COMMA set_list','set_list',5,'p_set_list','/Users/stevedh/src/svn/code/smap2/smap-data/python/smap/archiver/queryparse.py',234),
  ('statement -> statement_unary','statement',1,'p_statement','/Users/stevedh/src/svn/code/smap2/smap-data/python/smap/archiver/queryparse.py',251),
  ('statement -> statement_binary','statement',1,'p_statement','/Users/stevedh/src/svn/code/smap2/smap-data/python/smap/archiver/queryparse.py',252),
  ('statement -> LPAREN statement RPAREN','statement',3,'p_statement','/Users/stevedh/src/svn/code/smap2/smap-data/python/smap/archiver/queryparse.py',253),
  ('statement -> statement AND statement','statement',3,'p_statement','/Users/stevedh/src/svn/code/smap2/smap-data/python/smap/archiver/queryparse.py',254),
  ('statement -> statement OR statement','statement',3,'p_statement','/Users/stevedh/src/svn/code/smap2/smap-data/python/smap/archiver/queryparse.py',255),
  ('statement -> NOT statement','statement',2,'p_statement','/Users/stevedh/src/svn/code/smap2/smap-data/python/smap/archiver/queryparse.py',256),
  ('statement_unary -> HAS LVALUE','statement_unary',2,'p_statement_unary','/Users/stevedh/src/svn/code/smap2/smap-data/python/smap/archiver/queryparse.py',270),
  ('statement_binary -> LVALUE EQ QSTRING','statement_binary',3,'p_statement_binary','/Users/stevedh/src/svn/code/smap2/smap-data/python/smap/archiver/queryparse.py',276),
  ('statement_binary -> LVALUE LIKE QSTRING','statement_binary',3,'p_statement_binary','/Users/stevedh/src/svn/code/smap2/smap-data/python/smap/archiver/queryparse.py',277),
  ('statement_binary -> LVALUE TILDE QSTRING','statement_binary',3,'p_statement_binary','/Users/stevedh/src/svn/code/smap2/smap-data/python/smap/archiver/queryparse.py',278),
  ('statement_binary -> LVALUE IN LPAREN statement RPAREN','statement_binary',5,'p_statement_binary','/Users/stevedh/src/svn/code/smap2/smap-data/python/smap/archiver/queryparse.py',279),
]
