use super::action::{pack_accept, pack_error, pack_reduce, pack_shift};
use super::{LrTables, Production};
pub const TOK_ID: u32 = 0;
pub const TOK_NUM: u32 = 1;
pub const TOK_PLUS: u32 = 2;
pub const TOK_MINUS: u32 = 3;
pub const TOK_STAR: u32 = 4;
pub const TOK_SLASH: u32 = 5;
pub const TOK_LPAREN: u32 = 6;
pub const TOK_RPAREN: u32 = 7;
pub const TOK_EOF: u32 = 8;
pub const NT_E: u32 = 0;
pub const NT_T: u32 = 1;
pub const NT_F: u32 = 2;
pub static ACTION_TABLE: &[u32] = &[
pack_shift(4),
pack_shift(5),
pack_error(),
pack_error(),
pack_error(),
pack_error(),
pack_shift(6),
pack_error(),
pack_error(),
pack_error(),
pack_error(),
pack_shift(7),
pack_shift(8),
pack_error(),
pack_error(),
pack_error(),
pack_error(),
pack_accept(),
pack_error(),
pack_error(),
pack_reduce(3),
pack_reduce(3),
pack_shift(9),
pack_shift(10),
pack_error(),
pack_reduce(3),
pack_reduce(3),
pack_error(),
pack_error(),
pack_reduce(6),
pack_reduce(6),
pack_reduce(6),
pack_reduce(6),
pack_error(),
pack_reduce(6),
pack_reduce(6),
pack_error(),
pack_error(),
pack_reduce(8),
pack_reduce(8),
pack_reduce(8),
pack_reduce(8),
pack_error(),
pack_reduce(8),
pack_reduce(8),
pack_error(),
pack_error(),
pack_reduce(9),
pack_reduce(9),
pack_reduce(9),
pack_reduce(9),
pack_error(),
pack_reduce(9),
pack_reduce(9),
pack_shift(4),
pack_shift(5),
pack_error(),
pack_error(),
pack_error(),
pack_error(),
pack_shift(6),
pack_error(),
pack_error(),
pack_shift(4),
pack_shift(5),
pack_error(),
pack_error(),
pack_error(),
pack_error(),
pack_shift(6),
pack_error(),
pack_error(),
pack_shift(4),
pack_shift(5),
pack_error(),
pack_error(),
pack_error(),
pack_error(),
pack_shift(6),
pack_error(),
pack_error(),
pack_shift(4),
pack_shift(5),
pack_error(),
pack_error(),
pack_error(),
pack_error(),
pack_shift(6),
pack_error(),
pack_error(),
pack_shift(4),
pack_shift(5),
pack_error(),
pack_error(),
pack_error(),
pack_error(),
pack_shift(6),
pack_error(),
pack_error(),
pack_error(),
pack_error(),
pack_shift(7),
pack_shift(8),
pack_error(),
pack_error(),
pack_error(),
pack_shift(16),
pack_error(),
pack_error(),
pack_error(),
pack_reduce(1),
pack_reduce(1),
pack_shift(9),
pack_shift(10),
pack_error(),
pack_reduce(1),
pack_reduce(1),
pack_error(),
pack_error(),
pack_reduce(2),
pack_reduce(2),
pack_shift(9),
pack_shift(10),
pack_error(),
pack_reduce(2),
pack_reduce(2),
pack_error(),
pack_error(),
pack_reduce(4),
pack_reduce(4),
pack_reduce(4),
pack_reduce(4),
pack_error(),
pack_reduce(4),
pack_reduce(4),
pack_error(),
pack_error(),
pack_reduce(5),
pack_reduce(5),
pack_reduce(5),
pack_reduce(5),
pack_error(),
pack_reduce(5),
pack_reduce(5),
pack_error(),
pack_error(),
pack_reduce(7),
pack_reduce(7),
pack_reduce(7),
pack_reduce(7),
pack_error(),
pack_reduce(7),
pack_reduce(7),
];
pub static GOTO_TABLE: &[u32] = &[
1,
2,
3,
u32::MAX,
u32::MAX,
u32::MAX,
u32::MAX,
u32::MAX,
u32::MAX,
u32::MAX,
u32::MAX,
u32::MAX,
u32::MAX,
u32::MAX,
u32::MAX,
u32::MAX,
u32::MAX,
u32::MAX,
11,
2,
3,
u32::MAX,
12,
3,
u32::MAX,
13,
3,
u32::MAX,
u32::MAX,
14,
u32::MAX,
u32::MAX,
15,
u32::MAX,
u32::MAX,
u32::MAX,
u32::MAX,
u32::MAX,
u32::MAX,
u32::MAX,
u32::MAX,
u32::MAX,
u32::MAX,
u32::MAX,
u32::MAX,
u32::MAX,
u32::MAX,
u32::MAX,
u32::MAX,
u32::MAX,
u32::MAX,
];
pub static PRODUCTIONS: &[Production] = &[
Production {
lhs: NT_E,
rhs_len: 1,
},
Production {
lhs: NT_E,
rhs_len: 3,
},
Production {
lhs: NT_E,
rhs_len: 3,
},
Production {
lhs: NT_E,
rhs_len: 1,
},
Production {
lhs: NT_T,
rhs_len: 3,
},
Production {
lhs: NT_T,
rhs_len: 3,
},
Production {
lhs: NT_T,
rhs_len: 1,
},
Production {
lhs: NT_F,
rhs_len: 3,
},
Production {
lhs: NT_F,
rhs_len: 1,
},
Production {
lhs: NT_F,
rhs_len: 1,
},
];
pub static C11_EXPR: LrTables = LrTables {
num_states: 17,
num_tokens: 9,
num_nonterminals: 3,
action: ACTION_TABLE,
goto: GOTO_TABLE,
productions: PRODUCTIONS,
};