# parsetab.py
# This file is automatically generated. Do not edit.
# pylint: disable=W,C,R
_tabversion = '3.10'

_lr_method = 'LALR'

_lr_signature = 'AND EQ ISLATESTVERSION LPAREN RPAREN STRING TOLOWER_ID\n    expression : expression AND expression\n               | LPAREN expression RPAREN\n    expression : ISLATESTVERSIONexpression : TOLOWER_ID EQ STRING'

_lr_action_items = {
    'LPAREN': ([
        0,
        2,
        5,
    ], [
        2,
        2,
        2,
    ]),
    'ISLATESTVERSION': ([
        0,
        2,
        5,
    ], [
        3,
        3,
        3,
    ]),
    'TOLOWER_ID': ([
        0,
        2,
        5,
    ], [
        4,
        4,
        4,
    ]),
    '$end': ([
        1,
        3,
        8,
        9,
        10,
    ], [
        0,
        -3,
        -1,
        -2,
        -4,
    ]),
    'AND': ([
        1,
        3,
        6,
        8,
        9,
        10,
    ], [
        5,
        -3,
        5,
        5,
        -2,
        -4,
    ]),
    'RPAREN': ([
        3,
        6,
        8,
        9,
        10,
    ], [
        -3,
        9,
        -1,
        -2,
        -4,
    ]),
    'EQ': ([
        4,
    ], [
        7,
    ]),
    'STRING': ([
        7,
    ], [
        10,
    ]),
}

_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 = {
    'expression': ([
        0,
        2,
        5,
    ], [
        1,
        6,
        8,
    ]),
}

_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' -> expression", "S'", 1, None, None, None),
    ('expression -> expression AND expression', 'expression', 3, 'p_expression', 'filteryacc.py',
     16),
    ('expression -> LPAREN expression RPAREN', 'expression', 3, 'p_expression', 'filteryacc.py',
     17),
    ('expression -> ISLATESTVERSION', 'expression', 1, 'p_islatestversion', 'filteryacc.py', 28),
    ('expression -> TOLOWER_ID EQ STRING', 'expression', 3, 'p_tolower_id_eq_package',
     'filteryacc.py', 33),
]
