use symbol::Symbol;
use ast::{Literal, Op, Pattern, PrintStyle};
use cst::{Decl, Expr};
use eval::{CallByName, CallByValue, LazyEvaluation};
use repl::ReplCommand;
#[allow(unused_extern_crates)]
extern crate lalrpop_util as __lalrpop_util;
#[cfg_attr(rustfmt, rustfmt_skip)]
mod __parse__Decl {
#![allow(non_snake_case, non_camel_case_types, unused_mut, unused_variables, unused_imports, unused_parens)]
use symbol::Symbol;
use ast::{Literal, Op, Pattern, PrintStyle};
use cst::{Decl, Expr};
use eval::{CallByName, CallByValue, LazyEvaluation};
use repl::ReplCommand;
#[allow(unused_extern_crates)]
extern crate lalrpop_util as __lalrpop_util;
use super::__intern_token::Token;
#[allow(dead_code)]
pub enum __Symbol<'input>
{
Variant0(&'input str),
Variant1(::std::option::Option<&'input str>),
Variant2(Decl),
Variant3(::std::vec::Vec<Decl>),
Variant4(Expr),
Variant5(Literal),
Variant6(Symbol),
Variant7(Pattern<()>),
Variant8(::std::vec::Vec<Pattern<()>>),
Variant9(ReplCommand),
Variant10(::std::vec::Vec<Expr>),
}
const __ACTION: &'static [i8] = &[
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
9, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 10, 11, 0, 0, 12, 0, 0, 0, 13, 14, 4,
-33, -33, -33, -33, -33, -33, -33, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -33, 0, -33, -33, -33, -33, -33, 0, -33, -33, -33, -33, -33,
-38, -38, 0, 0, 0, 0, -38, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -38, -38, 0, 0, -38, 0, 0, 0, -38, -38, -38,
-37, -37, 0, 0, 0, 0, -37, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -37, -37, 0, 0, -37, 0, 0, 0, -37, -37, -37,
-41, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -41, -41, 0, 0, -41, 0, 0, 0, -41, -41, -41,
9, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 11, 0, 0, 12, 0, 0, 0, 13, 14, 4,
9, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 11, 0, 0, 12, 0, 0, 0, 13, 14, 4,
26, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 27, 0, 0, 12, 28, 0, 0, 13, 14, 4,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 29, 0, 0, 0, 0, 0, 0, 0, 0,
-30, -30, -30, -30, -30, -30, -30, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -30, 0, -30, -30, -30, -30, -30, 0, -30, -30, -30, -30, -30,
-31, -31, -31, -31, -31, -31, -31, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -31, 0, -31, -31, -31, -31, -31, 0, -31, -31, -31, -31, -31,
-32, -32, -32, -32, -32, -32, -32, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -32, 0, -32, -32, -32, -32, -32, 0, -32, -32, -32, -32, -32,
-42, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -42, -42, 0, 0, -42, 0, 0, 0, -42, -42, -42,
26, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 27, 0, 0, 12, 28, 0, 0, 13, 14, 4,
0, 31, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, -35, 0, 0, 0, 0, 32, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, -14, 0, 33, 34, 0, 35, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -14, 0, 0, 0, -14, -14, 0, 0, 0, -14, 0, 0, 0,
0, -17, 36, -17, -17, 37, -17, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -17, 0, 0, 0, -17, -17, 0, 0, 38, -17, 0, 0, 0,
26, -21, -21, -21, -21, -21, -21, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -21, 0, 0, 27, -21, -21, 12, 0, -21, -21, 13, 14, 4,
-23, -23, -23, -23, -23, -23, -23, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -23, 0, 0, -23, -23, -23, -23, 0, -23, -23, -23, -23, -23,
-26, -26, -26, -26, -26, -26, -26, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -26, 0, 0, -26, -26, -26, -26, 0, -26, -26, -26, -26, -26,
-25, -25, -25, -25, -25, -25, -25, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -25, 0, 0, -25, -25, -25, -25, 0, -25, -25, -25, -25, -25,
26, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 27, 0, 0, 12, 28, 0, 0, 13, 14, 4,
26, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 27, 29, 0, 12, 28, 0, 0, 13, 14, 4,
26, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 27, 0, 0, 12, 28, 0, 0, 13, 14, 4,
-29, -29, -29, -29, -29, -29, -29, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -29, 0, -29, -29, -29, -29, -29, 0, -29, -29, -29, -29, -29,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-36, -36, 0, 0, 0, 0, -36, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -36, -36, 0, 0, -36, 0, 0, 0, -36, -36, -36,
9, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 11, 0, 0, 12, 0, 0, 0, 13, 14, 4,
26, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 27, 0, 0, 12, 0, 0, 0, 13, 14, 4,
26, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 27, 0, 0, 12, 0, 0, 0, 13, 14, 4,
26, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 27, 0, 0, 12, 28, 0, 0, 13, 14, 4,
26, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 27, 0, 0, 12, 0, 0, 0, 13, 14, 4,
26, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 27, 0, 0, 12, 0, 0, 0, 13, 14, 4,
26, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 27, 0, 0, 12, 0, 0, 0, 13, 14, 4,
-22, -22, -22, -22, -22, -22, -22, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -22, 0, 0, -22, -22, -22, -22, 0, -22, -22, -22, -22, -22,
0, 50, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 53, 0, 0, 0, 54, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 55, 0, 0, 0,
0, -34, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, -15, 36, -15, -15, 37, -15, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -15, 0, 0, 0, -15, -15, 0, 0, 38, -15, 0, 0, 0,
0, -16, 36, -16, -16, 37, -16, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -16, 0, 0, 0, -16, -16, 0, 0, 38, -16, 0, 0, 0,
0, -13, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -13, 0, 0, 0, -13, -13, 0, 0, 0, -13, 0, 0, 0,
26, -18, -18, -18, -18, -18, -18, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -18, 0, 0, 27, -18, -18, 12, 0, -18, -18, 13, 14, 4,
26, -19, -19, -19, -19, -19, -19, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -19, 0, 0, 27, -19, -19, 12, 0, -19, -19, 13, 14, 4,
26, -20, -20, -20, -20, -20, -20, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -20, 0, 0, 27, -20, -20, 12, 0, -20, -20, 13, 14, 4,
-24, -24, -24, -24, -24, -24, -24, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -24, 0, 0, -24, -24, -24, -24, 0, -24, -24, -24, -24, -24,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -62, 0, 0, 0, -62, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 53, 0, 0, 0, 57, 0, 0, 0, 0, 0, 0, 0, 0,
26, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 27, 0, 0, 12, 28, 0, 0, 13, 14, 4,
-27, -27, -27, -27, -27, -27, -27, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -27, 0, 0, -27, -27, -27, -27, 0, -27, -27, -27, -27, -27,
26, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 27, 0, 0, 12, 28, 0, 0, 13, 14, 4,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -63, 0, 0, 0, -63, 0, 0, 0, 0, 0, 0, 0, 0,
-28, -28, -28, -28, -28, -28, -28, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -28, 0, 0, -28, -28, -28, -28, 0, -28, -28, -28, -28, -28,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -59, 0, 0, 0, -59, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 60, 0, 0, 0, 0, 0, 0, 0,
26, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 27, 0, 0, 12, 28, 0, 0, 13, 14, 4,
0, -12, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -12, 0, 0, 0, -12, -12, 0, 0, 0, -12, 0, 0, 0,
];
const __EOF_ACTION: &'static [i8] = &[
0,
-64,
0,
-33,
0,
0,
0,
0,
0,
0,
0,
-30,
-31,
-32,
0,
0,
0,
0,
-3,
-14,
-17,
-21,
-23,
-26,
-25,
0,
0,
0,
-29,
-4,
0,
0,
0,
0,
0,
0,
0,
0,
-22,
0,
0,
0,
0,
-15,
-16,
-13,
-18,
-19,
-20,
-24,
0,
0,
0,
-27,
0,
0,
-28,
0,
0,
0,
-12,
];
const __GOTO: &'static [i8] = &[
0, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 5, 6, 0, 7, 0, 8, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 5, 6, 0, 15, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 5, 6, 17, 18, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 19, 20, 21, 22, 23, 24, 25, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 30, 20, 21, 22, 23, 24, 25, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 39, 24, 25, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 40, 20, 21, 22, 23, 24, 25, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 41, 20, 21, 22, 23, 24, 25, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 42, 20, 21, 22, 23, 24, 25, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 5, 6, 43, 18, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 44, 22, 23, 24, 25, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 45, 22, 23, 24, 25, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 46, 20, 21, 22, 23, 24, 25, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 47, 23, 24, 25, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 48, 23, 24, 25, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 49, 23, 24, 25, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 51, 0, 52, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 39, 24, 25, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 39, 24, 25, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 39, 24, 25, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 56, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 58, 20, 21, 22, 23, 24, 25, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 59, 20, 21, 22, 23, 24, 25, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 61, 20, 21, 22, 23, 24, 25, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
];
fn __expected_tokens(__state: usize) -> Vec<::std::string::String> {
const __TERMINAL: &'static [&'static str] = &[
r###""(""###,
r###"")""###,
r###""*""###,
r###""+""###,
r###""-""###,
r###""/""###,
r###""::""###,
r###"":ast""###,
r###"":cbn""###,
r###"":cbv""###,
r###"":cst""###,
r###"":decl""###,
r###"":help""###,
r###"":l""###,
r###"":lazy""###,
r###"":list""###,
r###"":q""###,
r###"":quit""###,
r###"":reset""###,
r###"":t""###,
r###"";""###,
r###"";;""###,
r###""=""###,
r###""[""###,
r###""]""###,
r###""else""###,
r###""false""###,
r###""if""###,
r###""mod""###,
r###""then""###,
r###""true""###,
r###"r#"[0-9]+"#"###,
r###"r#"[a-zA-Z_][0-9a-zA-Z_]*"#"###,
];
__ACTION[(__state * 33)..].iter().zip(__TERMINAL).filter_map(|(&state, terminal)| {
if state == 0 {
None
} else {
Some(terminal.to_string())
}
}).collect()
}
pub struct DeclParser {
builder: super::__intern_token::__MatcherBuilder,
_priv: (),
}
impl DeclParser {
pub fn new() -> DeclParser {
let __builder = super::__intern_token::__MatcherBuilder::new();
DeclParser {
builder: __builder,
_priv: (),
}
}
#[allow(dead_code)]
pub fn parse<
'input,
>(
&self,
input: &'input str,
) -> Result<Decl, __lalrpop_util::ParseError<usize, Token<'input>, &'static str>>
{
let mut __tokens = self.builder.matcher(input);
let mut __states = vec![0_i8];
let mut __symbols = vec![];
let mut __integer;
let mut __lookahead;
let __last_location = &mut Default::default();
'__shift: loop {
__lookahead = match __tokens.next() {
Some(Ok(v)) => v,
None => break '__shift,
Some(Err(e)) => return Err(e),
};
*__last_location = __lookahead.2.clone();
__integer = match __lookahead.1 {
Token(2, _) if true => 0,
Token(3, _) if true => 1,
Token(4, _) if true => 2,
Token(5, _) if true => 3,
Token(6, _) if true => 4,
Token(7, _) if true => 5,
Token(8, _) if true => 6,
Token(9, _) if true => 7,
Token(10, _) if true => 8,
Token(11, _) if true => 9,
Token(12, _) if true => 10,
Token(13, _) if true => 11,
Token(14, _) if true => 12,
Token(15, _) if true => 13,
Token(16, _) if true => 14,
Token(17, _) if true => 15,
Token(18, _) if true => 16,
Token(19, _) if true => 17,
Token(20, _) if true => 18,
Token(21, _) if true => 19,
Token(22, _) if true => 20,
Token(23, _) if true => 21,
Token(24, _) if true => 22,
Token(25, _) if true => 23,
Token(26, _) if true => 24,
Token(27, _) if true => 25,
Token(28, _) if true => 26,
Token(29, _) if true => 27,
Token(30, _) if true => 28,
Token(31, _) if true => 29,
Token(32, _) if true => 30,
Token(0, _) if true => 31,
Token(1, _) if true => 32,
_ => {
let __state = *__states.last().unwrap() as usize;
let __error = __lalrpop_util::ParseError::UnrecognizedToken {
token: Some(__lookahead),
expected: __expected_tokens(__state),
};
return Err(__error);
}
};
'__inner: loop {
let __state = *__states.last().unwrap() as usize;
let __action = __ACTION[__state * 33 + __integer];
if __action > 0 {
let __symbol = match __integer {
0 => match __lookahead.1 {
Token(2, __tok0) => __Symbol::Variant0((__tok0)),
_ => unreachable!(),
},
1 => match __lookahead.1 {
Token(3, __tok0) => __Symbol::Variant0((__tok0)),
_ => unreachable!(),
},
2 => match __lookahead.1 {
Token(4, __tok0) => __Symbol::Variant0((__tok0)),
_ => unreachable!(),
},
3 => match __lookahead.1 {
Token(5, __tok0) => __Symbol::Variant0((__tok0)),
_ => unreachable!(),
},
4 => match __lookahead.1 {
Token(6, __tok0) => __Symbol::Variant0((__tok0)),
_ => unreachable!(),
},
5 => match __lookahead.1 {
Token(7, __tok0) => __Symbol::Variant0((__tok0)),
_ => unreachable!(),
},
6 => match __lookahead.1 {
Token(8, __tok0) => __Symbol::Variant0((__tok0)),
_ => unreachable!(),
},
7 => match __lookahead.1 {
Token(9, __tok0) => __Symbol::Variant0((__tok0)),
_ => unreachable!(),
},
8 => match __lookahead.1 {
Token(10, __tok0) => __Symbol::Variant0((__tok0)),
_ => unreachable!(),
},
9 => match __lookahead.1 {
Token(11, __tok0) => __Symbol::Variant0((__tok0)),
_ => unreachable!(),
},
10 => match __lookahead.1 {
Token(12, __tok0) => __Symbol::Variant0((__tok0)),
_ => unreachable!(),
},
11 => match __lookahead.1 {
Token(13, __tok0) => __Symbol::Variant0((__tok0)),
_ => unreachable!(),
},
12 => match __lookahead.1 {
Token(14, __tok0) => __Symbol::Variant0((__tok0)),
_ => unreachable!(),
},
13 => match __lookahead.1 {
Token(15, __tok0) => __Symbol::Variant0((__tok0)),
_ => unreachable!(),
},
14 => match __lookahead.1 {
Token(16, __tok0) => __Symbol::Variant0((__tok0)),
_ => unreachable!(),
},
15 => match __lookahead.1 {
Token(17, __tok0) => __Symbol::Variant0((__tok0)),
_ => unreachable!(),
},
16 => match __lookahead.1 {
Token(18, __tok0) => __Symbol::Variant0((__tok0)),
_ => unreachable!(),
},
17 => match __lookahead.1 {
Token(19, __tok0) => __Symbol::Variant0((__tok0)),
_ => unreachable!(),
},
18 => match __lookahead.1 {
Token(20, __tok0) => __Symbol::Variant0((__tok0)),
_ => unreachable!(),
},
19 => match __lookahead.1 {
Token(21, __tok0) => __Symbol::Variant0((__tok0)),
_ => unreachable!(),
},
20 => match __lookahead.1 {
Token(22, __tok0) => __Symbol::Variant0((__tok0)),
_ => unreachable!(),
},
21 => match __lookahead.1 {
Token(23, __tok0) => __Symbol::Variant0((__tok0)),
_ => unreachable!(),
},
22 => match __lookahead.1 {
Token(24, __tok0) => __Symbol::Variant0((__tok0)),
_ => unreachable!(),
},
23 => match __lookahead.1 {
Token(25, __tok0) => __Symbol::Variant0((__tok0)),
_ => unreachable!(),
},
24 => match __lookahead.1 {
Token(26, __tok0) => __Symbol::Variant0((__tok0)),
_ => unreachable!(),
},
25 => match __lookahead.1 {
Token(27, __tok0) => __Symbol::Variant0((__tok0)),
_ => unreachable!(),
},
26 => match __lookahead.1 {
Token(28, __tok0) => __Symbol::Variant0((__tok0)),
_ => unreachable!(),
},
27 => match __lookahead.1 {
Token(29, __tok0) => __Symbol::Variant0((__tok0)),
_ => unreachable!(),
},
28 => match __lookahead.1 {
Token(30, __tok0) => __Symbol::Variant0((__tok0)),
_ => unreachable!(),
},
29 => match __lookahead.1 {
Token(31, __tok0) => __Symbol::Variant0((__tok0)),
_ => unreachable!(),
},
30 => match __lookahead.1 {
Token(32, __tok0) => __Symbol::Variant0((__tok0)),
_ => unreachable!(),
},
31 => match __lookahead.1 {
Token(0, __tok0) => __Symbol::Variant0((__tok0)),
_ => unreachable!(),
},
32 => match __lookahead.1 {
Token(1, __tok0) => __Symbol::Variant0((__tok0)),
_ => unreachable!(),
},
_ => unreachable!(),
};
__states.push(__action - 1);
__symbols.push((__lookahead.0, __symbol, __lookahead.2));
continue '__shift;
} else if __action < 0 {
if let Some(r) = __reduce(input, __action, Some(&__lookahead.0), &mut __states, &mut __symbols, ::std::marker::PhantomData::<()>) {
if r.is_err() {
return r;
}
return Err(__lalrpop_util::ParseError::ExtraToken { token: __lookahead });
}
} else {
let mut __err_lookahead = Some(__lookahead);
let mut __err_integer: Option<usize> = Some(__integer);
let __state = *__states.last().unwrap() as usize;
let __error = __lalrpop_util::ParseError::UnrecognizedToken {
token: __err_lookahead,
expected: __expected_tokens(__state),
};
return Err(__error)
}
}
}
loop {
let __state = *__states.last().unwrap() as usize;
let __action = __EOF_ACTION[__state];
if __action < 0 {
if let Some(r) = __reduce(input, __action, None, &mut __states, &mut __symbols, ::std::marker::PhantomData::<()>) {
return r;
}
} else {
let mut __err_lookahead = None;
let mut __err_integer: Option<usize> = None;
let __state = *__states.last().unwrap() as usize;
let __error = __lalrpop_util::ParseError::UnrecognizedToken {
token: __err_lookahead,
expected: __expected_tokens(__state),
};
return Err(__error)
}
}
}
}
pub(crate) fn __reduce<
'input,
>(
input: &'input str,
__action: i8,
__lookahead_start: Option<&usize>,
__states: &mut ::std::vec::Vec<i8>,
__symbols: &mut ::std::vec::Vec<(usize,__Symbol<'input>,usize)>,
_: ::std::marker::PhantomData<()>,
) -> Option<Result<Decl,__lalrpop_util::ParseError<usize, Token<'input>, &'static str>>>
{
let (__pop_states, __symbol, __nonterminal) = match -__action {
1 => {
__reduce1(input, __action, __lookahead_start, __states, __symbols, ::std::marker::PhantomData::<()>)
}
2 => {
__reduce2(input, __action, __lookahead_start, __states, __symbols, ::std::marker::PhantomData::<()>)
}
3 => {
__reduce3(input, __action, __lookahead_start, __states, __symbols, ::std::marker::PhantomData::<()>)
}
4 => {
__reduce4(input, __action, __lookahead_start, __states, __symbols, ::std::marker::PhantomData::<()>)
}
5 => {
__reduce5(input, __action, __lookahead_start, __states, __symbols, ::std::marker::PhantomData::<()>)
}
6 => {
__reduce6(input, __action, __lookahead_start, __states, __symbols, ::std::marker::PhantomData::<()>)
}
7 => {
__reduce7(input, __action, __lookahead_start, __states, __symbols, ::std::marker::PhantomData::<()>)
}
8 => {
__reduce8(input, __action, __lookahead_start, __states, __symbols, ::std::marker::PhantomData::<()>)
}
9 => {
__reduce9(input, __action, __lookahead_start, __states, __symbols, ::std::marker::PhantomData::<()>)
}
10 => {
__reduce10(input, __action, __lookahead_start, __states, __symbols, ::std::marker::PhantomData::<()>)
}
11 => {
__reduce11(input, __action, __lookahead_start, __states, __symbols, ::std::marker::PhantomData::<()>)
}
12 => {
__reduce12(input, __action, __lookahead_start, __states, __symbols, ::std::marker::PhantomData::<()>)
}
13 => {
__reduce13(input, __action, __lookahead_start, __states, __symbols, ::std::marker::PhantomData::<()>)
}
14 => {
__reduce14(input, __action, __lookahead_start, __states, __symbols, ::std::marker::PhantomData::<()>)
}
15 => {
__reduce15(input, __action, __lookahead_start, __states, __symbols, ::std::marker::PhantomData::<()>)
}
16 => {
__reduce16(input, __action, __lookahead_start, __states, __symbols, ::std::marker::PhantomData::<()>)
}
17 => {
__reduce17(input, __action, __lookahead_start, __states, __symbols, ::std::marker::PhantomData::<()>)
}
18 => {
__reduce18(input, __action, __lookahead_start, __states, __symbols, ::std::marker::PhantomData::<()>)
}
19 => {
__reduce19(input, __action, __lookahead_start, __states, __symbols, ::std::marker::PhantomData::<()>)
}
20 => {
__reduce20(input, __action, __lookahead_start, __states, __symbols, ::std::marker::PhantomData::<()>)
}
21 => {
__reduce21(input, __action, __lookahead_start, __states, __symbols, ::std::marker::PhantomData::<()>)
}
22 => {
__reduce22(input, __action, __lookahead_start, __states, __symbols, ::std::marker::PhantomData::<()>)
}
23 => {
__reduce23(input, __action, __lookahead_start, __states, __symbols, ::std::marker::PhantomData::<()>)
}
24 => {
__reduce24(input, __action, __lookahead_start, __states, __symbols, ::std::marker::PhantomData::<()>)
}
25 => {
__reduce25(input, __action, __lookahead_start, __states, __symbols, ::std::marker::PhantomData::<()>)
}
26 => {
__reduce26(input, __action, __lookahead_start, __states, __symbols, ::std::marker::PhantomData::<()>)
}
27 => {
__reduce27(input, __action, __lookahead_start, __states, __symbols, ::std::marker::PhantomData::<()>)
}
28 => {
__reduce28(input, __action, __lookahead_start, __states, __symbols, ::std::marker::PhantomData::<()>)
}
29 => {
__reduce29(input, __action, __lookahead_start, __states, __symbols, ::std::marker::PhantomData::<()>)
}
30 => {
__reduce30(input, __action, __lookahead_start, __states, __symbols, ::std::marker::PhantomData::<()>)
}
31 => {
__reduce31(input, __action, __lookahead_start, __states, __symbols, ::std::marker::PhantomData::<()>)
}
32 => {
__reduce32(input, __action, __lookahead_start, __states, __symbols, ::std::marker::PhantomData::<()>)
}
33 => {
__reduce33(input, __action, __lookahead_start, __states, __symbols, ::std::marker::PhantomData::<()>)
}
34 => {
__reduce34(input, __action, __lookahead_start, __states, __symbols, ::std::marker::PhantomData::<()>)
}
35 => {
__reduce35(input, __action, __lookahead_start, __states, __symbols, ::std::marker::PhantomData::<()>)
}
36 => {
__reduce36(input, __action, __lookahead_start, __states, __symbols, ::std::marker::PhantomData::<()>)
}
37 => {
__reduce37(input, __action, __lookahead_start, __states, __symbols, ::std::marker::PhantomData::<()>)
}
38 => {
__reduce38(input, __action, __lookahead_start, __states, __symbols, ::std::marker::PhantomData::<()>)
}
39 => {
__reduce39(input, __action, __lookahead_start, __states, __symbols, ::std::marker::PhantomData::<()>)
}
40 => {
__reduce40(input, __action, __lookahead_start, __states, __symbols, ::std::marker::PhantomData::<()>)
}
41 => {
__reduce41(input, __action, __lookahead_start, __states, __symbols, ::std::marker::PhantomData::<()>)
}
42 => {
__reduce42(input, __action, __lookahead_start, __states, __symbols, ::std::marker::PhantomData::<()>)
}
43 => {
__reduce43(input, __action, __lookahead_start, __states, __symbols, ::std::marker::PhantomData::<()>)
}
44 => {
__reduce44(input, __action, __lookahead_start, __states, __symbols, ::std::marker::PhantomData::<()>)
}
45 => {
__reduce45(input, __action, __lookahead_start, __states, __symbols, ::std::marker::PhantomData::<()>)
}
46 => {
__reduce46(input, __action, __lookahead_start, __states, __symbols, ::std::marker::PhantomData::<()>)
}
47 => {
__reduce47(input, __action, __lookahead_start, __states, __symbols, ::std::marker::PhantomData::<()>)
}
48 => {
__reduce48(input, __action, __lookahead_start, __states, __symbols, ::std::marker::PhantomData::<()>)
}
49 => {
__reduce49(input, __action, __lookahead_start, __states, __symbols, ::std::marker::PhantomData::<()>)
}
50 => {
__reduce50(input, __action, __lookahead_start, __states, __symbols, ::std::marker::PhantomData::<()>)
}
51 => {
__reduce51(input, __action, __lookahead_start, __states, __symbols, ::std::marker::PhantomData::<()>)
}
52 => {
__reduce52(input, __action, __lookahead_start, __states, __symbols, ::std::marker::PhantomData::<()>)
}
53 => {
__reduce53(input, __action, __lookahead_start, __states, __symbols, ::std::marker::PhantomData::<()>)
}
54 => {
__reduce54(input, __action, __lookahead_start, __states, __symbols, ::std::marker::PhantomData::<()>)
}
55 => {
__reduce55(input, __action, __lookahead_start, __states, __symbols, ::std::marker::PhantomData::<()>)
}
56 => {
__reduce56(input, __action, __lookahead_start, __states, __symbols, ::std::marker::PhantomData::<()>)
}
57 => {
__reduce57(input, __action, __lookahead_start, __states, __symbols, ::std::marker::PhantomData::<()>)
}
58 => {
__reduce58(input, __action, __lookahead_start, __states, __symbols, ::std::marker::PhantomData::<()>)
}
59 => {
__reduce59(input, __action, __lookahead_start, __states, __symbols, ::std::marker::PhantomData::<()>)
}
60 => {
__reduce60(input, __action, __lookahead_start, __states, __symbols, ::std::marker::PhantomData::<()>)
}
61 => {
__reduce61(input, __action, __lookahead_start, __states, __symbols, ::std::marker::PhantomData::<()>)
}
62 => {
__reduce62(input, __action, __lookahead_start, __states, __symbols, ::std::marker::PhantomData::<()>)
}
63 => {
__reduce63(input, __action, __lookahead_start, __states, __symbols, ::std::marker::PhantomData::<()>)
}
64 => {
let __sym0 = __pop_Variant2(__symbols);
let __start = __sym0.0.clone();
let __end = __sym0.2.clone();
let __nt = super::__action2::<>(input, __sym0);
return Some(Ok(__nt));
}
65 => {
__reduce65(input, __action, __lookahead_start, __states, __symbols, ::std::marker::PhantomData::<()>)
}
66 => {
__reduce66(input, __action, __lookahead_start, __states, __symbols, ::std::marker::PhantomData::<()>)
}
67 => {
__reduce67(input, __action, __lookahead_start, __states, __symbols, ::std::marker::PhantomData::<()>)
}
_ => panic!("invalid action code {}", __action)
};
let __states_len = __states.len();
__states.truncate(__states_len - __pop_states);
__symbols.push(__symbol);
let __state = *__states.last().unwrap() as usize;
let __next_state = __GOTO[__state * 25 + __nonterminal] - 1;
__states.push(__next_state);
None
}
fn __pop_Variant2<
'input,
>(
__symbols: &mut ::std::vec::Vec<(usize,__Symbol<'input>,usize)>
) -> (usize, Decl, usize)
{
match __symbols.pop().unwrap() {
(__l, __Symbol::Variant2(__v), __r) => (__l, __v, __r),
_ => panic!("symbol type mismatch")
}
}
fn __pop_Variant4<
'input,
>(
__symbols: &mut ::std::vec::Vec<(usize,__Symbol<'input>,usize)>
) -> (usize, Expr, usize)
{
match __symbols.pop().unwrap() {
(__l, __Symbol::Variant4(__v), __r) => (__l, __v, __r),
_ => panic!("symbol type mismatch")
}
}
fn __pop_Variant5<
'input,
>(
__symbols: &mut ::std::vec::Vec<(usize,__Symbol<'input>,usize)>
) -> (usize, Literal, usize)
{
match __symbols.pop().unwrap() {
(__l, __Symbol::Variant5(__v), __r) => (__l, __v, __r),
_ => panic!("symbol type mismatch")
}
}
fn __pop_Variant7<
'input,
>(
__symbols: &mut ::std::vec::Vec<(usize,__Symbol<'input>,usize)>
) -> (usize, Pattern<()>, usize)
{
match __symbols.pop().unwrap() {
(__l, __Symbol::Variant7(__v), __r) => (__l, __v, __r),
_ => panic!("symbol type mismatch")
}
}
fn __pop_Variant9<
'input,
>(
__symbols: &mut ::std::vec::Vec<(usize,__Symbol<'input>,usize)>
) -> (usize, ReplCommand, usize)
{
match __symbols.pop().unwrap() {
(__l, __Symbol::Variant9(__v), __r) => (__l, __v, __r),
_ => panic!("symbol type mismatch")
}
}
fn __pop_Variant6<
'input,
>(
__symbols: &mut ::std::vec::Vec<(usize,__Symbol<'input>,usize)>
) -> (usize, Symbol, usize)
{
match __symbols.pop().unwrap() {
(__l, __Symbol::Variant6(__v), __r) => (__l, __v, __r),
_ => panic!("symbol type mismatch")
}
}
fn __pop_Variant1<
'input,
>(
__symbols: &mut ::std::vec::Vec<(usize,__Symbol<'input>,usize)>
) -> (usize, ::std::option::Option<&'input str>, usize)
{
match __symbols.pop().unwrap() {
(__l, __Symbol::Variant1(__v), __r) => (__l, __v, __r),
_ => panic!("symbol type mismatch")
}
}
fn __pop_Variant3<
'input,
>(
__symbols: &mut ::std::vec::Vec<(usize,__Symbol<'input>,usize)>
) -> (usize, ::std::vec::Vec<Decl>, usize)
{
match __symbols.pop().unwrap() {
(__l, __Symbol::Variant3(__v), __r) => (__l, __v, __r),
_ => panic!("symbol type mismatch")
}
}
fn __pop_Variant10<
'input,
>(
__symbols: &mut ::std::vec::Vec<(usize,__Symbol<'input>,usize)>
) -> (usize, ::std::vec::Vec<Expr>, usize)
{
match __symbols.pop().unwrap() {
(__l, __Symbol::Variant10(__v), __r) => (__l, __v, __r),
_ => panic!("symbol type mismatch")
}
}
fn __pop_Variant8<
'input,
>(
__symbols: &mut ::std::vec::Vec<(usize,__Symbol<'input>,usize)>
) -> (usize, ::std::vec::Vec<Pattern<()>>, usize)
{
match __symbols.pop().unwrap() {
(__l, __Symbol::Variant8(__v), __r) => (__l, __v, __r),
_ => panic!("symbol type mismatch")
}
}
fn __pop_Variant0<
'input,
>(
__symbols: &mut ::std::vec::Vec<(usize,__Symbol<'input>,usize)>
) -> (usize, &'input str, usize)
{
match __symbols.pop().unwrap() {
(__l, __Symbol::Variant0(__v), __r) => (__l, __v, __r),
_ => panic!("symbol type mismatch")
}
}
pub(crate) fn __reduce1<
'input,
>(
input: &'input str,
__action: i8,
__lookahead_start: Option<&usize>,
__states: &mut ::std::vec::Vec<i8>,
__symbols: &mut ::std::vec::Vec<(usize,__Symbol<'input>,usize)>,
_: ::std::marker::PhantomData<()>,
) -> (usize, (usize,__Symbol<'input>,usize), usize)
{
let __sym0 = __pop_Variant0(__symbols);
let __start = __sym0.0.clone();
let __end = __sym0.2.clone();
let __nt = super::__action54::<>(input, __sym0);
let __symbol = (__start, __Symbol::Variant1(__nt), __end);
(1, __symbol, 0)
}
pub(crate) fn __reduce2<
'input,
>(
input: &'input str,
__action: i8,
__lookahead_start: Option<&usize>,
__states: &mut ::std::vec::Vec<i8>,
__symbols: &mut ::std::vec::Vec<(usize,__Symbol<'input>,usize)>,
_: ::std::marker::PhantomData<()>,
) -> (usize, (usize,__Symbol<'input>,usize), usize)
{
let __start = __symbols.last().map(|s| s.2.clone()).unwrap_or_default();
let __end = __lookahead_start.cloned().unwrap_or_else(|| __start.clone());
let __nt = super::__action55::<>(input, &__start, &__end);
let __symbol = (__start, __Symbol::Variant1(__nt), __end);
(0, __symbol, 0)
}
pub(crate) fn __reduce3<
'input,
>(
input: &'input str,
__action: i8,
__lookahead_start: Option<&usize>,
__states: &mut ::std::vec::Vec<i8>,
__symbols: &mut ::std::vec::Vec<(usize,__Symbol<'input>,usize)>,
_: ::std::marker::PhantomData<()>,
) -> (usize, (usize,__Symbol<'input>,usize), usize)
{
let __sym2 = __pop_Variant4(__symbols);
let __sym1 = __pop_Variant0(__symbols);
let __sym0 = __pop_Variant6(__symbols);
let __start = __sym0.0.clone();
let __end = __sym2.2.clone();
let __nt = super::__action68::<>(input, __sym0, __sym1, __sym2);
let __symbol = (__start, __Symbol::Variant2(__nt), __end);
(3, __symbol, 1)
}
pub(crate) fn __reduce4<
'input,
>(
input: &'input str,
__action: i8,
__lookahead_start: Option<&usize>,
__states: &mut ::std::vec::Vec<i8>,
__symbols: &mut ::std::vec::Vec<(usize,__Symbol<'input>,usize)>,
_: ::std::marker::PhantomData<()>,
) -> (usize, (usize,__Symbol<'input>,usize), usize)
{
let __sym3 = __pop_Variant4(__symbols);
let __sym2 = __pop_Variant0(__symbols);
let __sym1 = __pop_Variant8(__symbols);
let __sym0 = __pop_Variant6(__symbols);
let __start = __sym0.0.clone();
let __end = __sym3.2.clone();
let __nt = super::__action69::<>(input, __sym0, __sym1, __sym2, __sym3);
let __symbol = (__start, __Symbol::Variant2(__nt), __end);
(4, __symbol, 1)
}
pub(crate) fn __reduce5<
'input,
>(
input: &'input str,
__action: i8,
__lookahead_start: Option<&usize>,
__states: &mut ::std::vec::Vec<i8>,
__symbols: &mut ::std::vec::Vec<(usize,__Symbol<'input>,usize)>,
_: ::std::marker::PhantomData<()>,
) -> (usize, (usize,__Symbol<'input>,usize), usize)
{
let __sym1 = __pop_Variant0(__symbols);
let __sym0 = __pop_Variant2(__symbols);
let __start = __sym0.0.clone();
let __end = __sym1.2.clone();
let __nt = super::__action19::<>(input, __sym0, __sym1);
let __symbol = (__start, __Symbol::Variant2(__nt), __end);
(2, __symbol, 2)
}
pub(crate) fn __reduce6<
'input,
>(
input: &'input str,
__action: i8,
__lookahead_start: Option<&usize>,
__states: &mut ::std::vec::Vec<i8>,
__symbols: &mut ::std::vec::Vec<(usize,__Symbol<'input>,usize)>,
_: ::std::marker::PhantomData<()>,
) -> (usize, (usize,__Symbol<'input>,usize), usize)
{
let __start = __symbols.last().map(|s| s.2.clone()).unwrap_or_default();
let __end = __lookahead_start.cloned().unwrap_or_else(|| __start.clone());
let __nt = super::__action52::<>(input, &__start, &__end);
let __symbol = (__start, __Symbol::Variant3(__nt), __end);
(0, __symbol, 3)
}
pub(crate) fn __reduce7<
'input,
>(
input: &'input str,
__action: i8,
__lookahead_start: Option<&usize>,
__states: &mut ::std::vec::Vec<i8>,
__symbols: &mut ::std::vec::Vec<(usize,__Symbol<'input>,usize)>,
_: ::std::marker::PhantomData<()>,
) -> (usize, (usize,__Symbol<'input>,usize), usize)
{
let __sym0 = __pop_Variant3(__symbols);
let __start = __sym0.0.clone();
let __end = __sym0.2.clone();
let __nt = super::__action53::<>(input, __sym0);
let __symbol = (__start, __Symbol::Variant3(__nt), __end);
(1, __symbol, 3)
}
pub(crate) fn __reduce8<
'input,
>(
input: &'input str,
__action: i8,
__lookahead_start: Option<&usize>,
__states: &mut ::std::vec::Vec<i8>,
__symbols: &mut ::std::vec::Vec<(usize,__Symbol<'input>,usize)>,
_: ::std::marker::PhantomData<()>,
) -> (usize, (usize,__Symbol<'input>,usize), usize)
{
let __sym0 = __pop_Variant2(__symbols);
let __start = __sym0.0.clone();
let __end = __sym0.2.clone();
let __nt = super::__action56::<>(input, __sym0);
let __symbol = (__start, __Symbol::Variant3(__nt), __end);
(1, __symbol, 4)
}
pub(crate) fn __reduce9<
'input,
>(
input: &'input str,
__action: i8,
__lookahead_start: Option<&usize>,
__states: &mut ::std::vec::Vec<i8>,
__symbols: &mut ::std::vec::Vec<(usize,__Symbol<'input>,usize)>,
_: ::std::marker::PhantomData<()>,
) -> (usize, (usize,__Symbol<'input>,usize), usize)
{
let __sym1 = __pop_Variant2(__symbols);
let __sym0 = __pop_Variant3(__symbols);
let __start = __sym0.0.clone();
let __end = __sym1.2.clone();
let __nt = super::__action57::<>(input, __sym0, __sym1);
let __symbol = (__start, __Symbol::Variant3(__nt), __end);
(2, __symbol, 4)
}
pub(crate) fn __reduce10<
'input,
>(
input: &'input str,
__action: i8,
__lookahead_start: Option<&usize>,
__states: &mut ::std::vec::Vec<i8>,
__symbols: &mut ::std::vec::Vec<(usize,__Symbol<'input>,usize)>,
_: ::std::marker::PhantomData<()>,
) -> (usize, (usize,__Symbol<'input>,usize), usize)
{
let __start = __symbols.last().map(|s| s.2.clone()).unwrap_or_default();
let __end = __lookahead_start.cloned().unwrap_or_else(|| __start.clone());
let __nt = super::__action66::<>(input, &__start, &__end);
let __symbol = (__start, __Symbol::Variant3(__nt), __end);
(0, __symbol, 5)
}
pub(crate) fn __reduce11<
'input,
>(
input: &'input str,
__action: i8,
__lookahead_start: Option<&usize>,
__states: &mut ::std::vec::Vec<i8>,
__symbols: &mut ::std::vec::Vec<(usize,__Symbol<'input>,usize)>,
_: ::std::marker::PhantomData<()>,
) -> (usize, (usize,__Symbol<'input>,usize), usize)
{
let __sym0 = __pop_Variant3(__symbols);
let __start = __sym0.0.clone();
let __end = __sym0.2.clone();
let __nt = super::__action67::<>(input, __sym0);
let __symbol = (__start, __Symbol::Variant3(__nt), __end);
(1, __symbol, 5)
}
pub(crate) fn __reduce12<
'input,
>(
input: &'input str,
__action: i8,
__lookahead_start: Option<&usize>,
__states: &mut ::std::vec::Vec<i8>,
__symbols: &mut ::std::vec::Vec<(usize,__Symbol<'input>,usize)>,
_: ::std::marker::PhantomData<()>,
) -> (usize, (usize,__Symbol<'input>,usize), usize)
{
let __sym5 = __pop_Variant4(__symbols);
let __sym4 = __pop_Variant0(__symbols);
let __sym3 = __pop_Variant4(__symbols);
let __sym2 = __pop_Variant0(__symbols);
let __sym1 = __pop_Variant4(__symbols);
let __sym0 = __pop_Variant0(__symbols);
let __start = __sym0.0.clone();
let __end = __sym5.2.clone();
let __nt = super::__action21::<>(input, __sym0, __sym1, __sym2, __sym3, __sym4, __sym5);
let __symbol = (__start, __Symbol::Variant4(__nt), __end);
(6, __symbol, 6)
}
pub(crate) fn __reduce13<
'input,
>(
input: &'input str,
__action: i8,
__lookahead_start: Option<&usize>,
__states: &mut ::std::vec::Vec<i8>,
__symbols: &mut ::std::vec::Vec<(usize,__Symbol<'input>,usize)>,
_: ::std::marker::PhantomData<()>,
) -> (usize, (usize,__Symbol<'input>,usize), usize)
{
let __sym2 = __pop_Variant4(__symbols);
let __sym1 = __pop_Variant0(__symbols);
let __sym0 = __pop_Variant4(__symbols);
let __start = __sym0.0.clone();
let __end = __sym2.2.clone();
let __nt = super::__action22::<>(input, __sym0, __sym1, __sym2);
let __symbol = (__start, __Symbol::Variant4(__nt), __end);
(3, __symbol, 6)
}
pub(crate) fn __reduce14<
'input,
>(
input: &'input str,
__action: i8,
__lookahead_start: Option<&usize>,
__states: &mut ::std::vec::Vec<i8>,
__symbols: &mut ::std::vec::Vec<(usize,__Symbol<'input>,usize)>,
_: ::std::marker::PhantomData<()>,
) -> (usize, (usize,__Symbol<'input>,usize), usize)
{
let __sym0 = __pop_Variant4(__symbols);
let __start = __sym0.0.clone();
let __end = __sym0.2.clone();
let __nt = super::__action23::<>(input, __sym0);
let __symbol = (__start, __Symbol::Variant4(__nt), __end);
(1, __symbol, 6)
}
pub(crate) fn __reduce15<
'input,
>(
input: &'input str,
__action: i8,
__lookahead_start: Option<&usize>,
__states: &mut ::std::vec::Vec<i8>,
__symbols: &mut ::std::vec::Vec<(usize,__Symbol<'input>,usize)>,
_: ::std::marker::PhantomData<()>,
) -> (usize, (usize,__Symbol<'input>,usize), usize)
{
let __sym2 = __pop_Variant4(__symbols);
let __sym1 = __pop_Variant0(__symbols);
let __sym0 = __pop_Variant4(__symbols);
let __start = __sym0.0.clone();
let __end = __sym2.2.clone();
let __nt = super::__action24::<>(input, __sym0, __sym1, __sym2);
let __symbol = (__start, __Symbol::Variant4(__nt), __end);
(3, __symbol, 7)
}
pub(crate) fn __reduce16<
'input,
>(
input: &'input str,
__action: i8,
__lookahead_start: Option<&usize>,
__states: &mut ::std::vec::Vec<i8>,
__symbols: &mut ::std::vec::Vec<(usize,__Symbol<'input>,usize)>,
_: ::std::marker::PhantomData<()>,
) -> (usize, (usize,__Symbol<'input>,usize), usize)
{
let __sym2 = __pop_Variant4(__symbols);
let __sym1 = __pop_Variant0(__symbols);
let __sym0 = __pop_Variant4(__symbols);
let __start = __sym0.0.clone();
let __end = __sym2.2.clone();
let __nt = super::__action25::<>(input, __sym0, __sym1, __sym2);
let __symbol = (__start, __Symbol::Variant4(__nt), __end);
(3, __symbol, 7)
}
pub(crate) fn __reduce17<
'input,
>(
input: &'input str,
__action: i8,
__lookahead_start: Option<&usize>,
__states: &mut ::std::vec::Vec<i8>,
__symbols: &mut ::std::vec::Vec<(usize,__Symbol<'input>,usize)>,
_: ::std::marker::PhantomData<()>,
) -> (usize, (usize,__Symbol<'input>,usize), usize)
{
let __sym0 = __pop_Variant4(__symbols);
let __start = __sym0.0.clone();
let __end = __sym0.2.clone();
let __nt = super::__action26::<>(input, __sym0);
let __symbol = (__start, __Symbol::Variant4(__nt), __end);
(1, __symbol, 7)
}
pub(crate) fn __reduce18<
'input,
>(
input: &'input str,
__action: i8,
__lookahead_start: Option<&usize>,
__states: &mut ::std::vec::Vec<i8>,
__symbols: &mut ::std::vec::Vec<(usize,__Symbol<'input>,usize)>,
_: ::std::marker::PhantomData<()>,
) -> (usize, (usize,__Symbol<'input>,usize), usize)
{
let __sym2 = __pop_Variant4(__symbols);
let __sym1 = __pop_Variant0(__symbols);
let __sym0 = __pop_Variant4(__symbols);
let __start = __sym0.0.clone();
let __end = __sym2.2.clone();
let __nt = super::__action27::<>(input, __sym0, __sym1, __sym2);
let __symbol = (__start, __Symbol::Variant4(__nt), __end);
(3, __symbol, 8)
}
pub(crate) fn __reduce19<
'input,
>(
input: &'input str,
__action: i8,
__lookahead_start: Option<&usize>,
__states: &mut ::std::vec::Vec<i8>,
__symbols: &mut ::std::vec::Vec<(usize,__Symbol<'input>,usize)>,
_: ::std::marker::PhantomData<()>,
) -> (usize, (usize,__Symbol<'input>,usize), usize)
{
let __sym2 = __pop_Variant4(__symbols);
let __sym1 = __pop_Variant0(__symbols);
let __sym0 = __pop_Variant4(__symbols);
let __start = __sym0.0.clone();
let __end = __sym2.2.clone();
let __nt = super::__action28::<>(input, __sym0, __sym1, __sym2);
let __symbol = (__start, __Symbol::Variant4(__nt), __end);
(3, __symbol, 8)
}
pub(crate) fn __reduce20<
'input,
>(
input: &'input str,
__action: i8,
__lookahead_start: Option<&usize>,
__states: &mut ::std::vec::Vec<i8>,
__symbols: &mut ::std::vec::Vec<(usize,__Symbol<'input>,usize)>,
_: ::std::marker::PhantomData<()>,
) -> (usize, (usize,__Symbol<'input>,usize), usize)
{
let __sym2 = __pop_Variant4(__symbols);
let __sym1 = __pop_Variant0(__symbols);
let __sym0 = __pop_Variant4(__symbols);
let __start = __sym0.0.clone();
let __end = __sym2.2.clone();
let __nt = super::__action29::<>(input, __sym0, __sym1, __sym2);
let __symbol = (__start, __Symbol::Variant4(__nt), __end);
(3, __symbol, 8)
}
pub(crate) fn __reduce21<
'input,
>(
input: &'input str,
__action: i8,
__lookahead_start: Option<&usize>,
__states: &mut ::std::vec::Vec<i8>,
__symbols: &mut ::std::vec::Vec<(usize,__Symbol<'input>,usize)>,
_: ::std::marker::PhantomData<()>,
) -> (usize, (usize,__Symbol<'input>,usize), usize)
{
let __sym0 = __pop_Variant4(__symbols);
let __start = __sym0.0.clone();
let __end = __sym0.2.clone();
let __nt = super::__action30::<>(input, __sym0);
let __symbol = (__start, __Symbol::Variant4(__nt), __end);
(1, __symbol, 8)
}
pub(crate) fn __reduce22<
'input,
>(
input: &'input str,
__action: i8,
__lookahead_start: Option<&usize>,
__states: &mut ::std::vec::Vec<i8>,
__symbols: &mut ::std::vec::Vec<(usize,__Symbol<'input>,usize)>,
_: ::std::marker::PhantomData<()>,
) -> (usize, (usize,__Symbol<'input>,usize), usize)
{
let __sym1 = __pop_Variant4(__symbols);
let __sym0 = __pop_Variant4(__symbols);
let __start = __sym0.0.clone();
let __end = __sym1.2.clone();
let __nt = super::__action31::<>(input, __sym0, __sym1);
let __symbol = (__start, __Symbol::Variant4(__nt), __end);
(2, __symbol, 9)
}
pub(crate) fn __reduce23<
'input,
>(
input: &'input str,
__action: i8,
__lookahead_start: Option<&usize>,
__states: &mut ::std::vec::Vec<i8>,
__symbols: &mut ::std::vec::Vec<(usize,__Symbol<'input>,usize)>,
_: ::std::marker::PhantomData<()>,
) -> (usize, (usize,__Symbol<'input>,usize), usize)
{
let __sym0 = __pop_Variant4(__symbols);
let __start = __sym0.0.clone();
let __end = __sym0.2.clone();
let __nt = super::__action32::<>(input, __sym0);
let __symbol = (__start, __Symbol::Variant4(__nt), __end);
(1, __symbol, 9)
}
pub(crate) fn __reduce24<
'input,
>(
input: &'input str,
__action: i8,
__lookahead_start: Option<&usize>,
__states: &mut ::std::vec::Vec<i8>,
__symbols: &mut ::std::vec::Vec<(usize,__Symbol<'input>,usize)>,
_: ::std::marker::PhantomData<()>,
) -> (usize, (usize,__Symbol<'input>,usize), usize)
{
let __sym2 = __pop_Variant0(__symbols);
let __sym1 = __pop_Variant4(__symbols);
let __sym0 = __pop_Variant0(__symbols);
let __start = __sym0.0.clone();
let __end = __sym2.2.clone();
let __nt = super::__action33::<>(input, __sym0, __sym1, __sym2);
let __symbol = (__start, __Symbol::Variant4(__nt), __end);
(3, __symbol, 10)
}
pub(crate) fn __reduce25<
'input,
>(
input: &'input str,
__action: i8,
__lookahead_start: Option<&usize>,
__states: &mut ::std::vec::Vec<i8>,
__symbols: &mut ::std::vec::Vec<(usize,__Symbol<'input>,usize)>,
_: ::std::marker::PhantomData<()>,
) -> (usize, (usize,__Symbol<'input>,usize), usize)
{
let __sym0 = __pop_Variant6(__symbols);
let __start = __sym0.0.clone();
let __end = __sym0.2.clone();
let __nt = super::__action34::<>(input, __sym0);
let __symbol = (__start, __Symbol::Variant4(__nt), __end);
(1, __symbol, 10)
}
pub(crate) fn __reduce26<
'input,
>(
input: &'input str,
__action: i8,
__lookahead_start: Option<&usize>,
__states: &mut ::std::vec::Vec<i8>,
__symbols: &mut ::std::vec::Vec<(usize,__Symbol<'input>,usize)>,
_: ::std::marker::PhantomData<()>,
) -> (usize, (usize,__Symbol<'input>,usize), usize)
{
let __sym0 = __pop_Variant5(__symbols);
let __start = __sym0.0.clone();
let __end = __sym0.2.clone();
let __nt = super::__action35::<>(input, __sym0);
let __symbol = (__start, __Symbol::Variant4(__nt), __end);
(1, __symbol, 10)
}
pub(crate) fn __reduce27<
'input,
>(
input: &'input str,
__action: i8,
__lookahead_start: Option<&usize>,
__states: &mut ::std::vec::Vec<i8>,
__symbols: &mut ::std::vec::Vec<(usize,__Symbol<'input>,usize)>,
_: ::std::marker::PhantomData<()>,
) -> (usize, (usize,__Symbol<'input>,usize), usize)
{
let __sym2 = __pop_Variant0(__symbols);
let __sym1 = __pop_Variant4(__symbols);
let __sym0 = __pop_Variant0(__symbols);
let __start = __sym0.0.clone();
let __end = __sym2.2.clone();
let __nt = super::__action70::<>(input, __sym0, __sym1, __sym2);
let __symbol = (__start, __Symbol::Variant4(__nt), __end);
(3, __symbol, 10)
}
pub(crate) fn __reduce28<
'input,
>(
input: &'input str,
__action: i8,
__lookahead_start: Option<&usize>,
__states: &mut ::std::vec::Vec<i8>,
__symbols: &mut ::std::vec::Vec<(usize,__Symbol<'input>,usize)>,
_: ::std::marker::PhantomData<()>,
) -> (usize, (usize,__Symbol<'input>,usize), usize)
{
let __sym3 = __pop_Variant0(__symbols);
let __sym2 = __pop_Variant10(__symbols);
let __sym1 = __pop_Variant4(__symbols);
let __sym0 = __pop_Variant0(__symbols);
let __start = __sym0.0.clone();
let __end = __sym3.2.clone();
let __nt = super::__action71::<>(input, __sym0, __sym1, __sym2, __sym3);
let __symbol = (__start, __Symbol::Variant4(__nt), __end);
(4, __symbol, 10)
}
pub(crate) fn __reduce29<
'input,
>(
input: &'input str,
__action: i8,
__lookahead_start: Option<&usize>,
__states: &mut ::std::vec::Vec<i8>,
__symbols: &mut ::std::vec::Vec<(usize,__Symbol<'input>,usize)>,
_: ::std::marker::PhantomData<()>,
) -> (usize, (usize,__Symbol<'input>,usize), usize)
{
let __sym1 = __pop_Variant0(__symbols);
let __sym0 = __pop_Variant0(__symbols);
let __start = __sym0.0.clone();
let __end = __sym1.2.clone();
let __nt = super::__action43::<>(input, __sym0, __sym1);
let __symbol = (__start, __Symbol::Variant5(__nt), __end);
(2, __symbol, 11)
}
pub(crate) fn __reduce30<
'input,
>(
input: &'input str,
__action: i8,
__lookahead_start: Option<&usize>,
__states: &mut ::std::vec::Vec<i8>,
__symbols: &mut ::std::vec::Vec<(usize,__Symbol<'input>,usize)>,
_: ::std::marker::PhantomData<()>,
) -> (usize, (usize,__Symbol<'input>,usize), usize)
{
let __sym0 = __pop_Variant0(__symbols);
let __start = __sym0.0.clone();
let __end = __sym0.2.clone();
let __nt = super::__action44::<>(input, __sym0);
let __symbol = (__start, __Symbol::Variant5(__nt), __end);
(1, __symbol, 11)
}
pub(crate) fn __reduce31<
'input,
>(
input: &'input str,
__action: i8,
__lookahead_start: Option<&usize>,
__states: &mut ::std::vec::Vec<i8>,
__symbols: &mut ::std::vec::Vec<(usize,__Symbol<'input>,usize)>,
_: ::std::marker::PhantomData<()>,
) -> (usize, (usize,__Symbol<'input>,usize), usize)
{
let __sym0 = __pop_Variant0(__symbols);
let __start = __sym0.0.clone();
let __end = __sym0.2.clone();
let __nt = super::__action45::<>(input, __sym0);
let __symbol = (__start, __Symbol::Variant5(__nt), __end);
(1, __symbol, 11)
}
pub(crate) fn __reduce32<
'input,
>(
input: &'input str,
__action: i8,
__lookahead_start: Option<&usize>,
__states: &mut ::std::vec::Vec<i8>,
__symbols: &mut ::std::vec::Vec<(usize,__Symbol<'input>,usize)>,
_: ::std::marker::PhantomData<()>,
) -> (usize, (usize,__Symbol<'input>,usize), usize)
{
let __sym0 = __pop_Variant0(__symbols);
let __start = __sym0.0.clone();
let __end = __sym0.2.clone();
let __nt = super::__action46::<>(input, __sym0);
let __symbol = (__start, __Symbol::Variant5(__nt), __end);
(1, __symbol, 11)
}
pub(crate) fn __reduce33<
'input,
>(
input: &'input str,
__action: i8,
__lookahead_start: Option<&usize>,
__states: &mut ::std::vec::Vec<i8>,
__symbols: &mut ::std::vec::Vec<(usize,__Symbol<'input>,usize)>,
_: ::std::marker::PhantomData<()>,
) -> (usize, (usize,__Symbol<'input>,usize), usize)
{
let __sym0 = __pop_Variant0(__symbols);
let __start = __sym0.0.clone();
let __end = __sym0.2.clone();
let __nt = super::__action47::<>(input, __sym0);
let __symbol = (__start, __Symbol::Variant6(__nt), __end);
(1, __symbol, 12)
}
pub(crate) fn __reduce34<
'input,
>(
input: &'input str,
__action: i8,
__lookahead_start: Option<&usize>,
__states: &mut ::std::vec::Vec<i8>,
__symbols: &mut ::std::vec::Vec<(usize,__Symbol<'input>,usize)>,
_: ::std::marker::PhantomData<()>,
) -> (usize, (usize,__Symbol<'input>,usize), usize)
{
let __sym2 = __pop_Variant7(__symbols);
let __sym1 = __pop_Variant0(__symbols);
let __sym0 = __pop_Variant7(__symbols);
let __start = __sym0.0.clone();
let __end = __sym2.2.clone();
let __nt = super::__action38::<>(input, __sym0, __sym1, __sym2);
let __symbol = (__start, __Symbol::Variant7(__nt), __end);
(3, __symbol, 13)
}
pub(crate) fn __reduce35<
'input,
>(
input: &'input str,
__action: i8,
__lookahead_start: Option<&usize>,
__states: &mut ::std::vec::Vec<i8>,
__symbols: &mut ::std::vec::Vec<(usize,__Symbol<'input>,usize)>,
_: ::std::marker::PhantomData<()>,
) -> (usize, (usize,__Symbol<'input>,usize), usize)
{
let __sym0 = __pop_Variant7(__symbols);
let __start = __sym0.0.clone();
let __end = __sym0.2.clone();
let __nt = super::__action39::<>(input, __sym0);
let __symbol = (__start, __Symbol::Variant7(__nt), __end);
(1, __symbol, 13)
}
pub(crate) fn __reduce36<
'input,
>(
input: &'input str,
__action: i8,
__lookahead_start: Option<&usize>,
__states: &mut ::std::vec::Vec<i8>,
__symbols: &mut ::std::vec::Vec<(usize,__Symbol<'input>,usize)>,
_: ::std::marker::PhantomData<()>,
) -> (usize, (usize,__Symbol<'input>,usize), usize)
{
let __sym2 = __pop_Variant0(__symbols);
let __sym1 = __pop_Variant7(__symbols);
let __sym0 = __pop_Variant0(__symbols);
let __start = __sym0.0.clone();
let __end = __sym2.2.clone();
let __nt = super::__action40::<>(input, __sym0, __sym1, __sym2);
let __symbol = (__start, __Symbol::Variant7(__nt), __end);
(3, __symbol, 14)
}
pub(crate) fn __reduce37<
'input,
>(
input: &'input str,
__action: i8,
__lookahead_start: Option<&usize>,
__states: &mut ::std::vec::Vec<i8>,
__symbols: &mut ::std::vec::Vec<(usize,__Symbol<'input>,usize)>,
_: ::std::marker::PhantomData<()>,
) -> (usize, (usize,__Symbol<'input>,usize), usize)
{
let __sym0 = __pop_Variant6(__symbols);
let __start = __sym0.0.clone();
let __end = __sym0.2.clone();
let __nt = super::__action41::<>(input, __sym0);
let __symbol = (__start, __Symbol::Variant7(__nt), __end);
(1, __symbol, 14)
}
pub(crate) fn __reduce38<
'input,
>(
input: &'input str,
__action: i8,
__lookahead_start: Option<&usize>,
__states: &mut ::std::vec::Vec<i8>,
__symbols: &mut ::std::vec::Vec<(usize,__Symbol<'input>,usize)>,
_: ::std::marker::PhantomData<()>,
) -> (usize, (usize,__Symbol<'input>,usize), usize)
{
let __sym0 = __pop_Variant5(__symbols);
let __start = __sym0.0.clone();
let __end = __sym0.2.clone();
let __nt = super::__action42::<>(input, __sym0);
let __symbol = (__start, __Symbol::Variant7(__nt), __end);
(1, __symbol, 14)
}
pub(crate) fn __reduce39<
'input,
>(
input: &'input str,
__action: i8,
__lookahead_start: Option<&usize>,
__states: &mut ::std::vec::Vec<i8>,
__symbols: &mut ::std::vec::Vec<(usize,__Symbol<'input>,usize)>,
_: ::std::marker::PhantomData<()>,
) -> (usize, (usize,__Symbol<'input>,usize), usize)
{
let __start = __symbols.last().map(|s| s.2.clone()).unwrap_or_default();
let __end = __lookahead_start.cloned().unwrap_or_else(|| __start.clone());
let __nt = super::__action50::<>(input, &__start, &__end);
let __symbol = (__start, __Symbol::Variant8(__nt), __end);
(0, __symbol, 15)
}
pub(crate) fn __reduce40<
'input,
>(
input: &'input str,
__action: i8,
__lookahead_start: Option<&usize>,
__states: &mut ::std::vec::Vec<i8>,
__symbols: &mut ::std::vec::Vec<(usize,__Symbol<'input>,usize)>,
_: ::std::marker::PhantomData<()>,
) -> (usize, (usize,__Symbol<'input>,usize), usize)
{
let __sym0 = __pop_Variant8(__symbols);
let __start = __sym0.0.clone();
let __end = __sym0.2.clone();
let __nt = super::__action51::<>(input, __sym0);
let __symbol = (__start, __Symbol::Variant8(__nt), __end);
(1, __symbol, 15)
}
pub(crate) fn __reduce41<
'input,
>(
input: &'input str,
__action: i8,
__lookahead_start: Option<&usize>,
__states: &mut ::std::vec::Vec<i8>,
__symbols: &mut ::std::vec::Vec<(usize,__Symbol<'input>,usize)>,
_: ::std::marker::PhantomData<()>,
) -> (usize, (usize,__Symbol<'input>,usize), usize)
{
let __sym0 = __pop_Variant7(__symbols);
let __start = __sym0.0.clone();
let __end = __sym0.2.clone();
let __nt = super::__action58::<>(input, __sym0);
let __symbol = (__start, __Symbol::Variant8(__nt), __end);
(1, __symbol, 16)
}
pub(crate) fn __reduce42<
'input,
>(
input: &'input str,
__action: i8,
__lookahead_start: Option<&usize>,
__states: &mut ::std::vec::Vec<i8>,
__symbols: &mut ::std::vec::Vec<(usize,__Symbol<'input>,usize)>,
_: ::std::marker::PhantomData<()>,
) -> (usize, (usize,__Symbol<'input>,usize), usize)
{
let __sym1 = __pop_Variant7(__symbols);
let __sym0 = __pop_Variant8(__symbols);
let __start = __sym0.0.clone();
let __end = __sym1.2.clone();
let __nt = super::__action59::<>(input, __sym0, __sym1);
let __symbol = (__start, __Symbol::Variant8(__nt), __end);
(2, __symbol, 16)
}
pub(crate) fn __reduce43<
'input,
>(
input: &'input str,
__action: i8,
__lookahead_start: Option<&usize>,
__states: &mut ::std::vec::Vec<i8>,
__symbols: &mut ::std::vec::Vec<(usize,__Symbol<'input>,usize)>,
_: ::std::marker::PhantomData<()>,
) -> (usize, (usize,__Symbol<'input>,usize), usize)
{
let __sym1 = __pop_Variant0(__symbols);
let __sym0 = __pop_Variant4(__symbols);
let __start = __sym0.0.clone();
let __end = __sym1.2.clone();
let __nt = super::__action62::<>(input, __sym0, __sym1);
let __symbol = (__start, __Symbol::Variant9(__nt), __end);
(2, __symbol, 17)
}
pub(crate) fn __reduce44<
'input,
>(
input: &'input str,
__action: i8,
__lookahead_start: Option<&usize>,
__states: &mut ::std::vec::Vec<i8>,
__symbols: &mut ::std::vec::Vec<(usize,__Symbol<'input>,usize)>,
_: ::std::marker::PhantomData<()>,
) -> (usize, (usize,__Symbol<'input>,usize), usize)
{
let __sym0 = __pop_Variant4(__symbols);
let __start = __sym0.0.clone();
let __end = __sym0.2.clone();
let __nt = super::__action63::<>(input, __sym0);
let __symbol = (__start, __Symbol::Variant9(__nt), __end);
(1, __symbol, 17)
}
pub(crate) fn __reduce45<
'input,
>(
input: &'input str,
__action: i8,
__lookahead_start: Option<&usize>,
__states: &mut ::std::vec::Vec<i8>,
__symbols: &mut ::std::vec::Vec<(usize,__Symbol<'input>,usize)>,
_: ::std::marker::PhantomData<()>,
) -> (usize, (usize,__Symbol<'input>,usize), usize)
{
let __sym0 = __pop_Variant0(__symbols);
let __start = __sym0.0.clone();
let __end = __sym0.2.clone();
let __nt = super::__action5::<>(input, __sym0);
let __symbol = (__start, __Symbol::Variant9(__nt), __end);
(1, __symbol, 17)
}
pub(crate) fn __reduce46<
'input,
>(
input: &'input str,
__action: i8,
__lookahead_start: Option<&usize>,
__states: &mut ::std::vec::Vec<i8>,
__symbols: &mut ::std::vec::Vec<(usize,__Symbol<'input>,usize)>,
_: ::std::marker::PhantomData<()>,
) -> (usize, (usize,__Symbol<'input>,usize), usize)
{
let __sym0 = __pop_Variant0(__symbols);
let __start = __sym0.0.clone();
let __end = __sym0.2.clone();
let __nt = super::__action6::<>(input, __sym0);
let __symbol = (__start, __Symbol::Variant9(__nt), __end);
(1, __symbol, 17)
}
pub(crate) fn __reduce47<
'input,
>(
input: &'input str,
__action: i8,
__lookahead_start: Option<&usize>,
__states: &mut ::std::vec::Vec<i8>,
__symbols: &mut ::std::vec::Vec<(usize,__Symbol<'input>,usize)>,
_: ::std::marker::PhantomData<()>,
) -> (usize, (usize,__Symbol<'input>,usize), usize)
{
let __sym0 = __pop_Variant0(__symbols);
let __start = __sym0.0.clone();
let __end = __sym0.2.clone();
let __nt = super::__action7::<>(input, __sym0);
let __symbol = (__start, __Symbol::Variant9(__nt), __end);
(1, __symbol, 17)
}
pub(crate) fn __reduce48<
'input,
>(
input: &'input str,
__action: i8,
__lookahead_start: Option<&usize>,
__states: &mut ::std::vec::Vec<i8>,
__symbols: &mut ::std::vec::Vec<(usize,__Symbol<'input>,usize)>,
_: ::std::marker::PhantomData<()>,
) -> (usize, (usize,__Symbol<'input>,usize), usize)
{
let __sym0 = __pop_Variant0(__symbols);
let __start = __sym0.0.clone();
let __end = __sym0.2.clone();
let __nt = super::__action8::<>(input, __sym0);
let __symbol = (__start, __Symbol::Variant9(__nt), __end);
(1, __symbol, 17)
}
pub(crate) fn __reduce49<
'input,
>(
input: &'input str,
__action: i8,
__lookahead_start: Option<&usize>,
__states: &mut ::std::vec::Vec<i8>,
__symbols: &mut ::std::vec::Vec<(usize,__Symbol<'input>,usize)>,
_: ::std::marker::PhantomData<()>,
) -> (usize, (usize,__Symbol<'input>,usize), usize)
{
let __sym2 = __pop_Variant0(__symbols);
let __sym1 = __pop_Variant2(__symbols);
let __sym0 = __pop_Variant0(__symbols);
let __start = __sym0.0.clone();
let __end = __sym2.2.clone();
let __nt = super::__action64::<>(input, __sym0, __sym1, __sym2);
let __symbol = (__start, __Symbol::Variant9(__nt), __end);
(3, __symbol, 17)
}
pub(crate) fn __reduce50<
'input,
>(
input: &'input str,
__action: i8,
__lookahead_start: Option<&usize>,
__states: &mut ::std::vec::Vec<i8>,
__symbols: &mut ::std::vec::Vec<(usize,__Symbol<'input>,usize)>,
_: ::std::marker::PhantomData<()>,
) -> (usize, (usize,__Symbol<'input>,usize), usize)
{
let __sym1 = __pop_Variant2(__symbols);
let __sym0 = __pop_Variant0(__symbols);
let __start = __sym0.0.clone();
let __end = __sym1.2.clone();
let __nt = super::__action65::<>(input, __sym0, __sym1);
let __symbol = (__start, __Symbol::Variant9(__nt), __end);
(2, __symbol, 17)
}
pub(crate) fn __reduce51<
'input,
>(
input: &'input str,
__action: i8,
__lookahead_start: Option<&usize>,
__states: &mut ::std::vec::Vec<i8>,
__symbols: &mut ::std::vec::Vec<(usize,__Symbol<'input>,usize)>,
_: ::std::marker::PhantomData<()>,
) -> (usize, (usize,__Symbol<'input>,usize), usize)
{
let __sym0 = __pop_Variant0(__symbols);
let __start = __sym0.0.clone();
let __end = __sym0.2.clone();
let __nt = super::__action10::<>(input, __sym0);
let __symbol = (__start, __Symbol::Variant9(__nt), __end);
(1, __symbol, 17)
}
pub(crate) fn __reduce52<
'input,
>(
input: &'input str,
__action: i8,
__lookahead_start: Option<&usize>,
__states: &mut ::std::vec::Vec<i8>,
__symbols: &mut ::std::vec::Vec<(usize,__Symbol<'input>,usize)>,
_: ::std::marker::PhantomData<()>,
) -> (usize, (usize,__Symbol<'input>,usize), usize)
{
let __sym0 = __pop_Variant0(__symbols);
let __start = __sym0.0.clone();
let __end = __sym0.2.clone();
let __nt = super::__action11::<>(input, __sym0);
let __symbol = (__start, __Symbol::Variant9(__nt), __end);
(1, __symbol, 17)
}
pub(crate) fn __reduce53<
'input,
>(
input: &'input str,
__action: i8,
__lookahead_start: Option<&usize>,
__states: &mut ::std::vec::Vec<i8>,
__symbols: &mut ::std::vec::Vec<(usize,__Symbol<'input>,usize)>,
_: ::std::marker::PhantomData<()>,
) -> (usize, (usize,__Symbol<'input>,usize), usize)
{
let __sym0 = __pop_Variant0(__symbols);
let __start = __sym0.0.clone();
let __end = __sym0.2.clone();
let __nt = super::__action12::<>(input, __sym0);
let __symbol = (__start, __Symbol::Variant9(__nt), __end);
(1, __symbol, 17)
}
pub(crate) fn __reduce54<
'input,
>(
input: &'input str,
__action: i8,
__lookahead_start: Option<&usize>,
__states: &mut ::std::vec::Vec<i8>,
__symbols: &mut ::std::vec::Vec<(usize,__Symbol<'input>,usize)>,
_: ::std::marker::PhantomData<()>,
) -> (usize, (usize,__Symbol<'input>,usize), usize)
{
let __sym0 = __pop_Variant0(__symbols);
let __start = __sym0.0.clone();
let __end = __sym0.2.clone();
let __nt = super::__action13::<>(input, __sym0);
let __symbol = (__start, __Symbol::Variant9(__nt), __end);
(1, __symbol, 17)
}
pub(crate) fn __reduce55<
'input,
>(
input: &'input str,
__action: i8,
__lookahead_start: Option<&usize>,
__states: &mut ::std::vec::Vec<i8>,
__symbols: &mut ::std::vec::Vec<(usize,__Symbol<'input>,usize)>,
_: ::std::marker::PhantomData<()>,
) -> (usize, (usize,__Symbol<'input>,usize), usize)
{
let __sym0 = __pop_Variant0(__symbols);
let __start = __sym0.0.clone();
let __end = __sym0.2.clone();
let __nt = super::__action14::<>(input, __sym0);
let __symbol = (__start, __Symbol::Variant9(__nt), __end);
(1, __symbol, 17)
}
pub(crate) fn __reduce56<
'input,
>(
input: &'input str,
__action: i8,
__lookahead_start: Option<&usize>,
__states: &mut ::std::vec::Vec<i8>,
__symbols: &mut ::std::vec::Vec<(usize,__Symbol<'input>,usize)>,
_: ::std::marker::PhantomData<()>,
) -> (usize, (usize,__Symbol<'input>,usize), usize)
{
let __sym0 = __pop_Variant0(__symbols);
let __start = __sym0.0.clone();
let __end = __sym0.2.clone();
let __nt = super::__action15::<>(input, __sym0);
let __symbol = (__start, __Symbol::Variant9(__nt), __end);
(1, __symbol, 17)
}
pub(crate) fn __reduce57<
'input,
>(
input: &'input str,
__action: i8,
__lookahead_start: Option<&usize>,
__states: &mut ::std::vec::Vec<i8>,
__symbols: &mut ::std::vec::Vec<(usize,__Symbol<'input>,usize)>,
_: ::std::marker::PhantomData<()>,
) -> (usize, (usize,__Symbol<'input>,usize), usize)
{
let __sym0 = __pop_Variant0(__symbols);
let __start = __sym0.0.clone();
let __end = __sym0.2.clone();
let __nt = super::__action16::<>(input, __sym0);
let __symbol = (__start, __Symbol::Variant9(__nt), __end);
(1, __symbol, 17)
}
pub(crate) fn __reduce58<
'input,
>(
input: &'input str,
__action: i8,
__lookahead_start: Option<&usize>,
__states: &mut ::std::vec::Vec<i8>,
__symbols: &mut ::std::vec::Vec<(usize,__Symbol<'input>,usize)>,
_: ::std::marker::PhantomData<()>,
) -> (usize, (usize,__Symbol<'input>,usize), usize)
{
let __sym1 = __pop_Variant4(__symbols);
let __sym0 = __pop_Variant0(__symbols);
let __start = __sym0.0.clone();
let __end = __sym1.2.clone();
let __nt = super::__action17::<>(input, __sym0, __sym1);
let __symbol = (__start, __Symbol::Variant9(__nt), __end);
(2, __symbol, 17)
}
pub(crate) fn __reduce59<
'input,
>(
input: &'input str,
__action: i8,
__lookahead_start: Option<&usize>,
__states: &mut ::std::vec::Vec<i8>,
__symbols: &mut ::std::vec::Vec<(usize,__Symbol<'input>,usize)>,
_: ::std::marker::PhantomData<()>,
) -> (usize, (usize,__Symbol<'input>,usize), usize)
{
let __sym1 = __pop_Variant4(__symbols);
let __sym0 = __pop_Variant0(__symbols);
let __start = __sym0.0.clone();
let __end = __sym1.2.clone();
let __nt = super::__action37::<>(input, __sym0, __sym1);
let __symbol = (__start, __Symbol::Variant4(__nt), __end);
(2, __symbol, 18)
}
pub(crate) fn __reduce60<
'input,
>(
input: &'input str,
__action: i8,
__lookahead_start: Option<&usize>,
__states: &mut ::std::vec::Vec<i8>,
__symbols: &mut ::std::vec::Vec<(usize,__Symbol<'input>,usize)>,
_: ::std::marker::PhantomData<()>,
) -> (usize, (usize,__Symbol<'input>,usize), usize)
{
let __start = __symbols.last().map(|s| s.2.clone()).unwrap_or_default();
let __end = __lookahead_start.cloned().unwrap_or_else(|| __start.clone());
let __nt = super::__action48::<>(input, &__start, &__end);
let __symbol = (__start, __Symbol::Variant10(__nt), __end);
(0, __symbol, 19)
}
pub(crate) fn __reduce61<
'input,
>(
input: &'input str,
__action: i8,
__lookahead_start: Option<&usize>,
__states: &mut ::std::vec::Vec<i8>,
__symbols: &mut ::std::vec::Vec<(usize,__Symbol<'input>,usize)>,
_: ::std::marker::PhantomData<()>,
) -> (usize, (usize,__Symbol<'input>,usize), usize)
{
let __sym0 = __pop_Variant10(__symbols);
let __start = __sym0.0.clone();
let __end = __sym0.2.clone();
let __nt = super::__action49::<>(input, __sym0);
let __symbol = (__start, __Symbol::Variant10(__nt), __end);
(1, __symbol, 19)
}
pub(crate) fn __reduce62<
'input,
>(
input: &'input str,
__action: i8,
__lookahead_start: Option<&usize>,
__states: &mut ::std::vec::Vec<i8>,
__symbols: &mut ::std::vec::Vec<(usize,__Symbol<'input>,usize)>,
_: ::std::marker::PhantomData<()>,
) -> (usize, (usize,__Symbol<'input>,usize), usize)
{
let __sym0 = __pop_Variant4(__symbols);
let __start = __sym0.0.clone();
let __end = __sym0.2.clone();
let __nt = super::__action60::<>(input, __sym0);
let __symbol = (__start, __Symbol::Variant10(__nt), __end);
(1, __symbol, 20)
}
pub(crate) fn __reduce63<
'input,
>(
input: &'input str,
__action: i8,
__lookahead_start: Option<&usize>,
__states: &mut ::std::vec::Vec<i8>,
__symbols: &mut ::std::vec::Vec<(usize,__Symbol<'input>,usize)>,
_: ::std::marker::PhantomData<()>,
) -> (usize, (usize,__Symbol<'input>,usize), usize)
{
let __sym1 = __pop_Variant4(__symbols);
let __sym0 = __pop_Variant10(__symbols);
let __start = __sym0.0.clone();
let __end = __sym1.2.clone();
let __nt = super::__action61::<>(input, __sym0, __sym1);
let __symbol = (__start, __Symbol::Variant10(__nt), __end);
(2, __symbol, 20)
}
pub(crate) fn __reduce65<
'input,
>(
input: &'input str,
__action: i8,
__lookahead_start: Option<&usize>,
__states: &mut ::std::vec::Vec<i8>,
__symbols: &mut ::std::vec::Vec<(usize,__Symbol<'input>,usize)>,
_: ::std::marker::PhantomData<()>,
) -> (usize, (usize,__Symbol<'input>,usize), usize)
{
let __sym0 = __pop_Variant3(__symbols);
let __start = __sym0.0.clone();
let __end = __sym0.2.clone();
let __nt = super::__action1::<>(input, __sym0);
let __symbol = (__start, __Symbol::Variant3(__nt), __end);
(1, __symbol, 22)
}
pub(crate) fn __reduce66<
'input,
>(
input: &'input str,
__action: i8,
__lookahead_start: Option<&usize>,
__states: &mut ::std::vec::Vec<i8>,
__symbols: &mut ::std::vec::Vec<(usize,__Symbol<'input>,usize)>,
_: ::std::marker::PhantomData<()>,
) -> (usize, (usize,__Symbol<'input>,usize), usize)
{
let __sym0 = __pop_Variant4(__symbols);
let __start = __sym0.0.clone();
let __end = __sym0.2.clone();
let __nt = super::__action3::<>(input, __sym0);
let __symbol = (__start, __Symbol::Variant4(__nt), __end);
(1, __symbol, 23)
}
pub(crate) fn __reduce67<
'input,
>(
input: &'input str,
__action: i8,
__lookahead_start: Option<&usize>,
__states: &mut ::std::vec::Vec<i8>,
__symbols: &mut ::std::vec::Vec<(usize,__Symbol<'input>,usize)>,
_: ::std::marker::PhantomData<()>,
) -> (usize, (usize,__Symbol<'input>,usize), usize)
{
let __sym0 = __pop_Variant9(__symbols);
let __start = __sym0.0.clone();
let __end = __sym0.2.clone();
let __nt = super::__action0::<>(input, __sym0);
let __symbol = (__start, __Symbol::Variant9(__nt), __end);
(1, __symbol, 24)
}
}
pub use self::__parse__Decl::DeclParser;
#[cfg_attr(rustfmt, rustfmt_skip)]
mod __parse__Decls {
#![allow(non_snake_case, non_camel_case_types, unused_mut, unused_variables, unused_imports, unused_parens)]
use symbol::Symbol;
use ast::{Literal, Op, Pattern, PrintStyle};
use cst::{Decl, Expr};
use eval::{CallByName, CallByValue, LazyEvaluation};
use repl::ReplCommand;
#[allow(unused_extern_crates)]
extern crate lalrpop_util as __lalrpop_util;
use super::__intern_token::Token;
#[allow(dead_code)]
pub enum __Symbol<'input>
{
Variant0(&'input str),
Variant1(::std::option::Option<&'input str>),
Variant2(Decl),
Variant3(::std::vec::Vec<Decl>),
Variant4(Expr),
Variant5(Literal),
Variant6(Symbol),
Variant7(Pattern<()>),
Variant8(::std::vec::Vec<Pattern<()>>),
Variant9(ReplCommand),
Variant10(::std::vec::Vec<Expr>),
}
const __ACTION: &'static [i8] = &[
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -8,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
14, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 15, 16, 0, 0, 17, 0, 0, 0, 18, 19, 7,
-33, -33, -33, -33, -33, -33, -33, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -33, -33, -33, -33, -33, -33, -33, 0, -33, -33, -33, -33, -33,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -5,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -9,
-38, -38, 0, 0, 0, 0, -38, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -38, -38, 0, 0, -38, 0, 0, 0, -38, -38, -38,
-37, -37, 0, 0, 0, 0, -37, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -37, -37, 0, 0, -37, 0, 0, 0, -37, -37, -37,
-41, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -41, -41, 0, 0, -41, 0, 0, 0, -41, -41, -41,
14, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 21, 16, 0, 0, 17, 0, 0, 0, 18, 19, 7,
14, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 17, 0, 0, 0, 18, 19, 7,
31, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 32, 0, 0, 17, 33, 0, 0, 18, 19, 7,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 34, 0, 0, 0, 0, 0, 0, 0, 0,
-30, -30, -30, -30, -30, -30, -30, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -30, -30, -30, -30, -30, -30, -30, 0, -30, -30, -30, -30, -30,
-31, -31, -31, -31, -31, -31, -31, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -31, -31, -31, -31, -31, -31, -31, 0, -31, -31, -31, -31, -31,
-32, -32, -32, -32, -32, -32, -32, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -32, -32, -32, -32, -32, -32, -32, 0, -32, -32, -32, -32, -32,
-42, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -42, -42, 0, 0, -42, 0, 0, 0, -42, -42, -42,
31, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 32, 0, 0, 17, 33, 0, 0, 18, 19, 7,
0, 36, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, -35, 0, 0, 0, 0, 37, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, -14, 0, 38, 39, 0, 40, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -14, -14, 0, 0, -14, -14, 0, 0, 0, -14, 0, 0, 0,
0, -17, 41, -17, -17, 42, -17, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -17, -17, 0, 0, -17, -17, 0, 0, 43, -17, 0, 0, 0,
31, -21, -21, -21, -21, -21, -21, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -21, -21, 0, 32, -21, -21, 17, 0, -21, -21, 18, 19, 7,
-23, -23, -23, -23, -23, -23, -23, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -23, -23, 0, -23, -23, -23, -23, 0, -23, -23, -23, -23, -23,
-26, -26, -26, -26, -26, -26, -26, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -26, -26, 0, -26, -26, -26, -26, 0, -26, -26, -26, -26, -26,
-25, -25, -25, -25, -25, -25, -25, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -25, -25, 0, -25, -25, -25, -25, 0, -25, -25, -25, -25, -25,
31, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 32, 0, 0, 17, 33, 0, 0, 18, 19, 7,
31, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 32, 34, 0, 17, 33, 0, 0, 18, 19, 7,
31, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 32, 0, 0, 17, 33, 0, 0, 18, 19, 7,
-29, -29, -29, -29, -29, -29, -29, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -29, -29, -29, -29, -29, -29, -29, 0, -29, -29, -29, -29, -29,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-36, -36, 0, 0, 0, 0, -36, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -36, -36, 0, 0, -36, 0, 0, 0, -36, -36, -36,
14, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 17, 0, 0, 0, 18, 19, 7,
31, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 32, 0, 0, 17, 0, 0, 0, 18, 19, 7,
31, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 32, 0, 0, 17, 0, 0, 0, 18, 19, 7,
31, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 32, 0, 0, 17, 33, 0, 0, 18, 19, 7,
31, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 32, 0, 0, 17, 0, 0, 0, 18, 19, 7,
31, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 32, 0, 0, 17, 0, 0, 0, 18, 19, 7,
31, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 32, 0, 0, 17, 0, 0, 0, 18, 19, 7,
-22, -22, -22, -22, -22, -22, -22, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -22, -22, 0, -22, -22, -22, -22, 0, -22, -22, -22, -22, -22,
0, 55, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 58, 0, 0, 0, 59, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 60, 0, 0, 0,
0, -34, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, -15, 41, -15, -15, 42, -15, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -15, -15, 0, 0, -15, -15, 0, 0, 43, -15, 0, 0, 0,
0, -16, 41, -16, -16, 42, -16, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -16, -16, 0, 0, -16, -16, 0, 0, 43, -16, 0, 0, 0,
0, -13, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -13, -13, 0, 0, -13, -13, 0, 0, 0, -13, 0, 0, 0,
31, -18, -18, -18, -18, -18, -18, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -18, -18, 0, 32, -18, -18, 17, 0, -18, -18, 18, 19, 7,
31, -19, -19, -19, -19, -19, -19, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -19, -19, 0, 32, -19, -19, 17, 0, -19, -19, 18, 19, 7,
31, -20, -20, -20, -20, -20, -20, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -20, -20, 0, 32, -20, -20, 17, 0, -20, -20, 18, 19, 7,
-24, -24, -24, -24, -24, -24, -24, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -24, -24, 0, -24, -24, -24, -24, 0, -24, -24, -24, -24, -24,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -62, 0, 0, 0, -62, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 58, 0, 0, 0, 62, 0, 0, 0, 0, 0, 0, 0, 0,
31, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 32, 0, 0, 17, 33, 0, 0, 18, 19, 7,
-27, -27, -27, -27, -27, -27, -27, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -27, -27, 0, -27, -27, -27, -27, 0, -27, -27, -27, -27, -27,
31, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 32, 0, 0, 17, 33, 0, 0, 18, 19, 7,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -63, 0, 0, 0, -63, 0, 0, 0, 0, 0, 0, 0, 0,
-28, -28, -28, -28, -28, -28, -28, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -28, -28, 0, -28, -28, -28, -28, 0, -28, -28, -28, -28, -28,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -59, 0, 0, 0, -59, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 65, 0, 0, 0, 0, 0, 0, 0,
31, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 32, 0, 0, 17, 33, 0, 0, 18, 19, 7,
0, -12, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -12, -12, 0, 0, -12, -12, 0, 0, 0, -12, 0, 0, 0,
];
const __EOF_ACTION: &'static [i8] = &[
-10,
0,
-8,
-11,
-65,
0,
0,
-5,
-9,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
];
const __GOTO: &'static [i8] = &[
0, 2, 3, 0, 4, 5, 0, 0, 0, 0, 0, 0, 6, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 2, 9, 0, 0, 0, 0, 0, 0, 0, 0, 0, 6, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 10, 11, 0, 12, 0, 13, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 10, 11, 0, 20, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 10, 11, 22, 23, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 24, 25, 26, 27, 28, 29, 30, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 35, 25, 26, 27, 28, 29, 30, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 44, 29, 30, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 45, 25, 26, 27, 28, 29, 30, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 46, 25, 26, 27, 28, 29, 30, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 47, 25, 26, 27, 28, 29, 30, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 10, 11, 48, 23, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 49, 27, 28, 29, 30, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 50, 27, 28, 29, 30, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 51, 25, 26, 27, 28, 29, 30, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 52, 28, 29, 30, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 53, 28, 29, 30, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 54, 28, 29, 30, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 56, 0, 57, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 44, 29, 30, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 44, 29, 30, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 44, 29, 30, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 61, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 63, 25, 26, 27, 28, 29, 30, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 64, 25, 26, 27, 28, 29, 30, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 66, 25, 26, 27, 28, 29, 30, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
];
fn __expected_tokens(__state: usize) -> Vec<::std::string::String> {
const __TERMINAL: &'static [&'static str] = &[
r###""(""###,
r###"")""###,
r###""*""###,
r###""+""###,
r###""-""###,
r###""/""###,
r###""::""###,
r###"":ast""###,
r###"":cbn""###,
r###"":cbv""###,
r###"":cst""###,
r###"":decl""###,
r###"":help""###,
r###"":l""###,
r###"":lazy""###,
r###"":list""###,
r###"":q""###,
r###"":quit""###,
r###"":reset""###,
r###"":t""###,
r###"";""###,
r###"";;""###,
r###""=""###,
r###""[""###,
r###""]""###,
r###""else""###,
r###""false""###,
r###""if""###,
r###""mod""###,
r###""then""###,
r###""true""###,
r###"r#"[0-9]+"#"###,
r###"r#"[a-zA-Z_][0-9a-zA-Z_]*"#"###,
];
__ACTION[(__state * 33)..].iter().zip(__TERMINAL).filter_map(|(&state, terminal)| {
if state == 0 {
None
} else {
Some(terminal.to_string())
}
}).collect()
}
pub struct DeclsParser {
builder: super::__intern_token::__MatcherBuilder,
_priv: (),
}
impl DeclsParser {
pub fn new() -> DeclsParser {
let __builder = super::__intern_token::__MatcherBuilder::new();
DeclsParser {
builder: __builder,
_priv: (),
}
}
#[allow(dead_code)]
pub fn parse<
'input,
>(
&self,
input: &'input str,
) -> Result<::std::vec::Vec<Decl>, __lalrpop_util::ParseError<usize, Token<'input>, &'static str>>
{
let mut __tokens = self.builder.matcher(input);
let mut __states = vec![0_i8];
let mut __symbols = vec![];
let mut __integer;
let mut __lookahead;
let __last_location = &mut Default::default();
'__shift: loop {
__lookahead = match __tokens.next() {
Some(Ok(v)) => v,
None => break '__shift,
Some(Err(e)) => return Err(e),
};
*__last_location = __lookahead.2.clone();
__integer = match __lookahead.1 {
Token(2, _) if true => 0,
Token(3, _) if true => 1,
Token(4, _) if true => 2,
Token(5, _) if true => 3,
Token(6, _) if true => 4,
Token(7, _) if true => 5,
Token(8, _) if true => 6,
Token(9, _) if true => 7,
Token(10, _) if true => 8,
Token(11, _) if true => 9,
Token(12, _) if true => 10,
Token(13, _) if true => 11,
Token(14, _) if true => 12,
Token(15, _) if true => 13,
Token(16, _) if true => 14,
Token(17, _) if true => 15,
Token(18, _) if true => 16,
Token(19, _) if true => 17,
Token(20, _) if true => 18,
Token(21, _) if true => 19,
Token(22, _) if true => 20,
Token(23, _) if true => 21,
Token(24, _) if true => 22,
Token(25, _) if true => 23,
Token(26, _) if true => 24,
Token(27, _) if true => 25,
Token(28, _) if true => 26,
Token(29, _) if true => 27,
Token(30, _) if true => 28,
Token(31, _) if true => 29,
Token(32, _) if true => 30,
Token(0, _) if true => 31,
Token(1, _) if true => 32,
_ => {
let __state = *__states.last().unwrap() as usize;
let __error = __lalrpop_util::ParseError::UnrecognizedToken {
token: Some(__lookahead),
expected: __expected_tokens(__state),
};
return Err(__error);
}
};
'__inner: loop {
let __state = *__states.last().unwrap() as usize;
let __action = __ACTION[__state * 33 + __integer];
if __action > 0 {
let __symbol = match __integer {
0 => match __lookahead.1 {
Token(2, __tok0) => __Symbol::Variant0((__tok0)),
_ => unreachable!(),
},
1 => match __lookahead.1 {
Token(3, __tok0) => __Symbol::Variant0((__tok0)),
_ => unreachable!(),
},
2 => match __lookahead.1 {
Token(4, __tok0) => __Symbol::Variant0((__tok0)),
_ => unreachable!(),
},
3 => match __lookahead.1 {
Token(5, __tok0) => __Symbol::Variant0((__tok0)),
_ => unreachable!(),
},
4 => match __lookahead.1 {
Token(6, __tok0) => __Symbol::Variant0((__tok0)),
_ => unreachable!(),
},
5 => match __lookahead.1 {
Token(7, __tok0) => __Symbol::Variant0((__tok0)),
_ => unreachable!(),
},
6 => match __lookahead.1 {
Token(8, __tok0) => __Symbol::Variant0((__tok0)),
_ => unreachable!(),
},
7 => match __lookahead.1 {
Token(9, __tok0) => __Symbol::Variant0((__tok0)),
_ => unreachable!(),
},
8 => match __lookahead.1 {
Token(10, __tok0) => __Symbol::Variant0((__tok0)),
_ => unreachable!(),
},
9 => match __lookahead.1 {
Token(11, __tok0) => __Symbol::Variant0((__tok0)),
_ => unreachable!(),
},
10 => match __lookahead.1 {
Token(12, __tok0) => __Symbol::Variant0((__tok0)),
_ => unreachable!(),
},
11 => match __lookahead.1 {
Token(13, __tok0) => __Symbol::Variant0((__tok0)),
_ => unreachable!(),
},
12 => match __lookahead.1 {
Token(14, __tok0) => __Symbol::Variant0((__tok0)),
_ => unreachable!(),
},
13 => match __lookahead.1 {
Token(15, __tok0) => __Symbol::Variant0((__tok0)),
_ => unreachable!(),
},
14 => match __lookahead.1 {
Token(16, __tok0) => __Symbol::Variant0((__tok0)),
_ => unreachable!(),
},
15 => match __lookahead.1 {
Token(17, __tok0) => __Symbol::Variant0((__tok0)),
_ => unreachable!(),
},
16 => match __lookahead.1 {
Token(18, __tok0) => __Symbol::Variant0((__tok0)),
_ => unreachable!(),
},
17 => match __lookahead.1 {
Token(19, __tok0) => __Symbol::Variant0((__tok0)),
_ => unreachable!(),
},
18 => match __lookahead.1 {
Token(20, __tok0) => __Symbol::Variant0((__tok0)),
_ => unreachable!(),
},
19 => match __lookahead.1 {
Token(21, __tok0) => __Symbol::Variant0((__tok0)),
_ => unreachable!(),
},
20 => match __lookahead.1 {
Token(22, __tok0) => __Symbol::Variant0((__tok0)),
_ => unreachable!(),
},
21 => match __lookahead.1 {
Token(23, __tok0) => __Symbol::Variant0((__tok0)),
_ => unreachable!(),
},
22 => match __lookahead.1 {
Token(24, __tok0) => __Symbol::Variant0((__tok0)),
_ => unreachable!(),
},
23 => match __lookahead.1 {
Token(25, __tok0) => __Symbol::Variant0((__tok0)),
_ => unreachable!(),
},
24 => match __lookahead.1 {
Token(26, __tok0) => __Symbol::Variant0((__tok0)),
_ => unreachable!(),
},
25 => match __lookahead.1 {
Token(27, __tok0) => __Symbol::Variant0((__tok0)),
_ => unreachable!(),
},
26 => match __lookahead.1 {
Token(28, __tok0) => __Symbol::Variant0((__tok0)),
_ => unreachable!(),
},
27 => match __lookahead.1 {
Token(29, __tok0) => __Symbol::Variant0((__tok0)),
_ => unreachable!(),
},
28 => match __lookahead.1 {
Token(30, __tok0) => __Symbol::Variant0((__tok0)),
_ => unreachable!(),
},
29 => match __lookahead.1 {
Token(31, __tok0) => __Symbol::Variant0((__tok0)),
_ => unreachable!(),
},
30 => match __lookahead.1 {
Token(32, __tok0) => __Symbol::Variant0((__tok0)),
_ => unreachable!(),
},
31 => match __lookahead.1 {
Token(0, __tok0) => __Symbol::Variant0((__tok0)),
_ => unreachable!(),
},
32 => match __lookahead.1 {
Token(1, __tok0) => __Symbol::Variant0((__tok0)),
_ => unreachable!(),
},
_ => unreachable!(),
};
__states.push(__action - 1);
__symbols.push((__lookahead.0, __symbol, __lookahead.2));
continue '__shift;
} else if __action < 0 {
if let Some(r) = __reduce(input, __action, Some(&__lookahead.0), &mut __states, &mut __symbols, ::std::marker::PhantomData::<()>) {
if r.is_err() {
return r;
}
return Err(__lalrpop_util::ParseError::ExtraToken { token: __lookahead });
}
} else {
let mut __err_lookahead = Some(__lookahead);
let mut __err_integer: Option<usize> = Some(__integer);
let __state = *__states.last().unwrap() as usize;
let __error = __lalrpop_util::ParseError::UnrecognizedToken {
token: __err_lookahead,
expected: __expected_tokens(__state),
};
return Err(__error)
}
}
}
loop {
let __state = *__states.last().unwrap() as usize;
let __action = __EOF_ACTION[__state];
if __action < 0 {
if let Some(r) = __reduce(input, __action, None, &mut __states, &mut __symbols, ::std::marker::PhantomData::<()>) {
return r;
}
} else {
let mut __err_lookahead = None;
let mut __err_integer: Option<usize> = None;
let __state = *__states.last().unwrap() as usize;
let __error = __lalrpop_util::ParseError::UnrecognizedToken {
token: __err_lookahead,
expected: __expected_tokens(__state),
};
return Err(__error)
}
}
}
}
pub(crate) fn __reduce<
'input,
>(
input: &'input str,
__action: i8,
__lookahead_start: Option<&usize>,
__states: &mut ::std::vec::Vec<i8>,
__symbols: &mut ::std::vec::Vec<(usize,__Symbol<'input>,usize)>,
_: ::std::marker::PhantomData<()>,
) -> Option<Result<::std::vec::Vec<Decl>,__lalrpop_util::ParseError<usize, Token<'input>, &'static str>>>
{
let (__pop_states, __symbol, __nonterminal) = match -__action {
1 => {
__reduce1(input, __action, __lookahead_start, __states, __symbols, ::std::marker::PhantomData::<()>)
}
2 => {
__reduce2(input, __action, __lookahead_start, __states, __symbols, ::std::marker::PhantomData::<()>)
}
3 => {
__reduce3(input, __action, __lookahead_start, __states, __symbols, ::std::marker::PhantomData::<()>)
}
4 => {
__reduce4(input, __action, __lookahead_start, __states, __symbols, ::std::marker::PhantomData::<()>)
}
5 => {
__reduce5(input, __action, __lookahead_start, __states, __symbols, ::std::marker::PhantomData::<()>)
}
6 => {
__reduce6(input, __action, __lookahead_start, __states, __symbols, ::std::marker::PhantomData::<()>)
}
7 => {
__reduce7(input, __action, __lookahead_start, __states, __symbols, ::std::marker::PhantomData::<()>)
}
8 => {
__reduce8(input, __action, __lookahead_start, __states, __symbols, ::std::marker::PhantomData::<()>)
}
9 => {
__reduce9(input, __action, __lookahead_start, __states, __symbols, ::std::marker::PhantomData::<()>)
}
10 => {
__reduce10(input, __action, __lookahead_start, __states, __symbols, ::std::marker::PhantomData::<()>)
}
11 => {
__reduce11(input, __action, __lookahead_start, __states, __symbols, ::std::marker::PhantomData::<()>)
}
12 => {
__reduce12(input, __action, __lookahead_start, __states, __symbols, ::std::marker::PhantomData::<()>)
}
13 => {
__reduce13(input, __action, __lookahead_start, __states, __symbols, ::std::marker::PhantomData::<()>)
}
14 => {
__reduce14(input, __action, __lookahead_start, __states, __symbols, ::std::marker::PhantomData::<()>)
}
15 => {
__reduce15(input, __action, __lookahead_start, __states, __symbols, ::std::marker::PhantomData::<()>)
}
16 => {
__reduce16(input, __action, __lookahead_start, __states, __symbols, ::std::marker::PhantomData::<()>)
}
17 => {
__reduce17(input, __action, __lookahead_start, __states, __symbols, ::std::marker::PhantomData::<()>)
}
18 => {
__reduce18(input, __action, __lookahead_start, __states, __symbols, ::std::marker::PhantomData::<()>)
}
19 => {
__reduce19(input, __action, __lookahead_start, __states, __symbols, ::std::marker::PhantomData::<()>)
}
20 => {
__reduce20(input, __action, __lookahead_start, __states, __symbols, ::std::marker::PhantomData::<()>)
}
21 => {
__reduce21(input, __action, __lookahead_start, __states, __symbols, ::std::marker::PhantomData::<()>)
}
22 => {
__reduce22(input, __action, __lookahead_start, __states, __symbols, ::std::marker::PhantomData::<()>)
}
23 => {
__reduce23(input, __action, __lookahead_start, __states, __symbols, ::std::marker::PhantomData::<()>)
}
24 => {
__reduce24(input, __action, __lookahead_start, __states, __symbols, ::std::marker::PhantomData::<()>)
}
25 => {
__reduce25(input, __action, __lookahead_start, __states, __symbols, ::std::marker::PhantomData::<()>)
}
26 => {
__reduce26(input, __action, __lookahead_start, __states, __symbols, ::std::marker::PhantomData::<()>)
}
27 => {
__reduce27(input, __action, __lookahead_start, __states, __symbols, ::std::marker::PhantomData::<()>)
}
28 => {
__reduce28(input, __action, __lookahead_start, __states, __symbols, ::std::marker::PhantomData::<()>)
}
29 => {
__reduce29(input, __action, __lookahead_start, __states, __symbols, ::std::marker::PhantomData::<()>)
}
30 => {
__reduce30(input, __action, __lookahead_start, __states, __symbols, ::std::marker::PhantomData::<()>)
}
31 => {
__reduce31(input, __action, __lookahead_start, __states, __symbols, ::std::marker::PhantomData::<()>)
}
32 => {
__reduce32(input, __action, __lookahead_start, __states, __symbols, ::std::marker::PhantomData::<()>)
}
33 => {
__reduce33(input, __action, __lookahead_start, __states, __symbols, ::std::marker::PhantomData::<()>)
}
34 => {
__reduce34(input, __action, __lookahead_start, __states, __symbols, ::std::marker::PhantomData::<()>)
}
35 => {
__reduce35(input, __action, __lookahead_start, __states, __symbols, ::std::marker::PhantomData::<()>)
}
36 => {
__reduce36(input, __action, __lookahead_start, __states, __symbols, ::std::marker::PhantomData::<()>)
}
37 => {
__reduce37(input, __action, __lookahead_start, __states, __symbols, ::std::marker::PhantomData::<()>)
}
38 => {
__reduce38(input, __action, __lookahead_start, __states, __symbols, ::std::marker::PhantomData::<()>)
}
39 => {
__reduce39(input, __action, __lookahead_start, __states, __symbols, ::std::marker::PhantomData::<()>)
}
40 => {
__reduce40(input, __action, __lookahead_start, __states, __symbols, ::std::marker::PhantomData::<()>)
}
41 => {
__reduce41(input, __action, __lookahead_start, __states, __symbols, ::std::marker::PhantomData::<()>)
}
42 => {
__reduce42(input, __action, __lookahead_start, __states, __symbols, ::std::marker::PhantomData::<()>)
}
43 => {
__reduce43(input, __action, __lookahead_start, __states, __symbols, ::std::marker::PhantomData::<()>)
}
44 => {
__reduce44(input, __action, __lookahead_start, __states, __symbols, ::std::marker::PhantomData::<()>)
}
45 => {
__reduce45(input, __action, __lookahead_start, __states, __symbols, ::std::marker::PhantomData::<()>)
}
46 => {
__reduce46(input, __action, __lookahead_start, __states, __symbols, ::std::marker::PhantomData::<()>)
}
47 => {
__reduce47(input, __action, __lookahead_start, __states, __symbols, ::std::marker::PhantomData::<()>)
}
48 => {
__reduce48(input, __action, __lookahead_start, __states, __symbols, ::std::marker::PhantomData::<()>)
}
49 => {
__reduce49(input, __action, __lookahead_start, __states, __symbols, ::std::marker::PhantomData::<()>)
}
50 => {
__reduce50(input, __action, __lookahead_start, __states, __symbols, ::std::marker::PhantomData::<()>)
}
51 => {
__reduce51(input, __action, __lookahead_start, __states, __symbols, ::std::marker::PhantomData::<()>)
}
52 => {
__reduce52(input, __action, __lookahead_start, __states, __symbols, ::std::marker::PhantomData::<()>)
}
53 => {
__reduce53(input, __action, __lookahead_start, __states, __symbols, ::std::marker::PhantomData::<()>)
}
54 => {
__reduce54(input, __action, __lookahead_start, __states, __symbols, ::std::marker::PhantomData::<()>)
}
55 => {
__reduce55(input, __action, __lookahead_start, __states, __symbols, ::std::marker::PhantomData::<()>)
}
56 => {
__reduce56(input, __action, __lookahead_start, __states, __symbols, ::std::marker::PhantomData::<()>)
}
57 => {
__reduce57(input, __action, __lookahead_start, __states, __symbols, ::std::marker::PhantomData::<()>)
}
58 => {
__reduce58(input, __action, __lookahead_start, __states, __symbols, ::std::marker::PhantomData::<()>)
}
59 => {
__reduce59(input, __action, __lookahead_start, __states, __symbols, ::std::marker::PhantomData::<()>)
}
60 => {
__reduce60(input, __action, __lookahead_start, __states, __symbols, ::std::marker::PhantomData::<()>)
}
61 => {
__reduce61(input, __action, __lookahead_start, __states, __symbols, ::std::marker::PhantomData::<()>)
}
62 => {
__reduce62(input, __action, __lookahead_start, __states, __symbols, ::std::marker::PhantomData::<()>)
}
63 => {
__reduce63(input, __action, __lookahead_start, __states, __symbols, ::std::marker::PhantomData::<()>)
}
64 => {
__reduce64(input, __action, __lookahead_start, __states, __symbols, ::std::marker::PhantomData::<()>)
}
65 => {
let __sym0 = __pop_Variant3(__symbols);
let __start = __sym0.0.clone();
let __end = __sym0.2.clone();
let __nt = super::__action1::<>(input, __sym0);
return Some(Ok(__nt));
}
66 => {
__reduce66(input, __action, __lookahead_start, __states, __symbols, ::std::marker::PhantomData::<()>)
}
67 => {
__reduce67(input, __action, __lookahead_start, __states, __symbols, ::std::marker::PhantomData::<()>)
}
_ => panic!("invalid action code {}", __action)
};
let __states_len = __states.len();
__states.truncate(__states_len - __pop_states);
__symbols.push(__symbol);
let __state = *__states.last().unwrap() as usize;
let __next_state = __GOTO[__state * 25 + __nonterminal] - 1;
__states.push(__next_state);
None
}
fn __pop_Variant2<
'input,
>(
__symbols: &mut ::std::vec::Vec<(usize,__Symbol<'input>,usize)>
) -> (usize, Decl, usize)
{
match __symbols.pop().unwrap() {
(__l, __Symbol::Variant2(__v), __r) => (__l, __v, __r),
_ => panic!("symbol type mismatch")
}
}
fn __pop_Variant4<
'input,
>(
__symbols: &mut ::std::vec::Vec<(usize,__Symbol<'input>,usize)>
) -> (usize, Expr, usize)
{
match __symbols.pop().unwrap() {
(__l, __Symbol::Variant4(__v), __r) => (__l, __v, __r),
_ => panic!("symbol type mismatch")
}
}
fn __pop_Variant5<
'input,
>(
__symbols: &mut ::std::vec::Vec<(usize,__Symbol<'input>,usize)>
) -> (usize, Literal, usize)
{
match __symbols.pop().unwrap() {
(__l, __Symbol::Variant5(__v), __r) => (__l, __v, __r),
_ => panic!("symbol type mismatch")
}
}
fn __pop_Variant7<
'input,
>(
__symbols: &mut ::std::vec::Vec<(usize,__Symbol<'input>,usize)>
) -> (usize, Pattern<()>, usize)
{
match __symbols.pop().unwrap() {
(__l, __Symbol::Variant7(__v), __r) => (__l, __v, __r),
_ => panic!("symbol type mismatch")
}
}
fn __pop_Variant9<
'input,
>(
__symbols: &mut ::std::vec::Vec<(usize,__Symbol<'input>,usize)>
) -> (usize, ReplCommand, usize)
{
match __symbols.pop().unwrap() {
(__l, __Symbol::Variant9(__v), __r) => (__l, __v, __r),
_ => panic!("symbol type mismatch")
}
}
fn __pop_Variant6<
'input,
>(
__symbols: &mut ::std::vec::Vec<(usize,__Symbol<'input>,usize)>
) -> (usize, Symbol, usize)
{
match __symbols.pop().unwrap() {
(__l, __Symbol::Variant6(__v), __r) => (__l, __v, __r),
_ => panic!("symbol type mismatch")
}
}
fn __pop_Variant1<
'input,
>(
__symbols: &mut ::std::vec::Vec<(usize,__Symbol<'input>,usize)>
) -> (usize, ::std::option::Option<&'input str>, usize)
{
match __symbols.pop().unwrap() {
(__l, __Symbol::Variant1(__v), __r) => (__l, __v, __r),
_ => panic!("symbol type mismatch")
}
}
fn __pop_Variant3<
'input,
>(
__symbols: &mut ::std::vec::Vec<(usize,__Symbol<'input>,usize)>
) -> (usize, ::std::vec::Vec<Decl>, usize)
{
match __symbols.pop().unwrap() {
(__l, __Symbol::Variant3(__v), __r) => (__l, __v, __r),
_ => panic!("symbol type mismatch")
}
}
fn __pop_Variant10<
'input,
>(
__symbols: &mut ::std::vec::Vec<(usize,__Symbol<'input>,usize)>
) -> (usize, ::std::vec::Vec<Expr>, usize)
{
match __symbols.pop().unwrap() {
(__l, __Symbol::Variant10(__v), __r) => (__l, __v, __r),
_ => panic!("symbol type mismatch")
}
}
fn __pop_Variant8<
'input,
>(
__symbols: &mut ::std::vec::Vec<(usize,__Symbol<'input>,usize)>
) -> (usize, ::std::vec::Vec<Pattern<()>>, usize)
{
match __symbols.pop().unwrap() {
(__l, __Symbol::Variant8(__v), __r) => (__l, __v, __r),
_ => panic!("symbol type mismatch")
}
}
fn __pop_Variant0<
'input,
>(
__symbols: &mut ::std::vec::Vec<(usize,__Symbol<'input>,usize)>
) -> (usize, &'input str, usize)
{
match __symbols.pop().unwrap() {
(__l, __Symbol::Variant0(__v), __r) => (__l, __v, __r),
_ => panic!("symbol type mismatch")
}
}
pub(crate) fn __reduce1<
'input,
>(
input: &'input str,
__action: i8,
__lookahead_start: Option<&usize>,
__states: &mut ::std::vec::Vec<i8>,
__symbols: &mut ::std::vec::Vec<(usize,__Symbol<'input>,usize)>,
_: ::std::marker::PhantomData<()>,
) -> (usize, (usize,__Symbol<'input>,usize), usize)
{
let __sym0 = __pop_Variant0(__symbols);
let __start = __sym0.0.clone();
let __end = __sym0.2.clone();
let __nt = super::__action54::<>(input, __sym0);
let __symbol = (__start, __Symbol::Variant1(__nt), __end);
(1, __symbol, 0)
}
pub(crate) fn __reduce2<
'input,
>(
input: &'input str,
__action: i8,
__lookahead_start: Option<&usize>,
__states: &mut ::std::vec::Vec<i8>,
__symbols: &mut ::std::vec::Vec<(usize,__Symbol<'input>,usize)>,
_: ::std::marker::PhantomData<()>,
) -> (usize, (usize,__Symbol<'input>,usize), usize)
{
let __start = __symbols.last().map(|s| s.2.clone()).unwrap_or_default();
let __end = __lookahead_start.cloned().unwrap_or_else(|| __start.clone());
let __nt = super::__action55::<>(input, &__start, &__end);
let __symbol = (__start, __Symbol::Variant1(__nt), __end);
(0, __symbol, 0)
}
pub(crate) fn __reduce3<
'input,
>(
input: &'input str,
__action: i8,
__lookahead_start: Option<&usize>,
__states: &mut ::std::vec::Vec<i8>,
__symbols: &mut ::std::vec::Vec<(usize,__Symbol<'input>,usize)>,
_: ::std::marker::PhantomData<()>,
) -> (usize, (usize,__Symbol<'input>,usize), usize)
{
let __sym2 = __pop_Variant4(__symbols);
let __sym1 = __pop_Variant0(__symbols);
let __sym0 = __pop_Variant6(__symbols);
let __start = __sym0.0.clone();
let __end = __sym2.2.clone();
let __nt = super::__action68::<>(input, __sym0, __sym1, __sym2);
let __symbol = (__start, __Symbol::Variant2(__nt), __end);
(3, __symbol, 1)
}
pub(crate) fn __reduce4<
'input,
>(
input: &'input str,
__action: i8,
__lookahead_start: Option<&usize>,
__states: &mut ::std::vec::Vec<i8>,
__symbols: &mut ::std::vec::Vec<(usize,__Symbol<'input>,usize)>,
_: ::std::marker::PhantomData<()>,
) -> (usize, (usize,__Symbol<'input>,usize), usize)
{
let __sym3 = __pop_Variant4(__symbols);
let __sym2 = __pop_Variant0(__symbols);
let __sym1 = __pop_Variant8(__symbols);
let __sym0 = __pop_Variant6(__symbols);
let __start = __sym0.0.clone();
let __end = __sym3.2.clone();
let __nt = super::__action69::<>(input, __sym0, __sym1, __sym2, __sym3);
let __symbol = (__start, __Symbol::Variant2(__nt), __end);
(4, __symbol, 1)
}
pub(crate) fn __reduce5<
'input,
>(
input: &'input str,
__action: i8,
__lookahead_start: Option<&usize>,
__states: &mut ::std::vec::Vec<i8>,
__symbols: &mut ::std::vec::Vec<(usize,__Symbol<'input>,usize)>,
_: ::std::marker::PhantomData<()>,
) -> (usize, (usize,__Symbol<'input>,usize), usize)
{
let __sym1 = __pop_Variant0(__symbols);
let __sym0 = __pop_Variant2(__symbols);
let __start = __sym0.0.clone();
let __end = __sym1.2.clone();
let __nt = super::__action19::<>(input, __sym0, __sym1);
let __symbol = (__start, __Symbol::Variant2(__nt), __end);
(2, __symbol, 2)
}
pub(crate) fn __reduce6<
'input,
>(
input: &'input str,
__action: i8,
__lookahead_start: Option<&usize>,
__states: &mut ::std::vec::Vec<i8>,
__symbols: &mut ::std::vec::Vec<(usize,__Symbol<'input>,usize)>,
_: ::std::marker::PhantomData<()>,
) -> (usize, (usize,__Symbol<'input>,usize), usize)
{
let __start = __symbols.last().map(|s| s.2.clone()).unwrap_or_default();
let __end = __lookahead_start.cloned().unwrap_or_else(|| __start.clone());
let __nt = super::__action52::<>(input, &__start, &__end);
let __symbol = (__start, __Symbol::Variant3(__nt), __end);
(0, __symbol, 3)
}
pub(crate) fn __reduce7<
'input,
>(
input: &'input str,
__action: i8,
__lookahead_start: Option<&usize>,
__states: &mut ::std::vec::Vec<i8>,
__symbols: &mut ::std::vec::Vec<(usize,__Symbol<'input>,usize)>,
_: ::std::marker::PhantomData<()>,
) -> (usize, (usize,__Symbol<'input>,usize), usize)
{
let __sym0 = __pop_Variant3(__symbols);
let __start = __sym0.0.clone();
let __end = __sym0.2.clone();
let __nt = super::__action53::<>(input, __sym0);
let __symbol = (__start, __Symbol::Variant3(__nt), __end);
(1, __symbol, 3)
}
pub(crate) fn __reduce8<
'input,
>(
input: &'input str,
__action: i8,
__lookahead_start: Option<&usize>,
__states: &mut ::std::vec::Vec<i8>,
__symbols: &mut ::std::vec::Vec<(usize,__Symbol<'input>,usize)>,
_: ::std::marker::PhantomData<()>,
) -> (usize, (usize,__Symbol<'input>,usize), usize)
{
let __sym0 = __pop_Variant2(__symbols);
let __start = __sym0.0.clone();
let __end = __sym0.2.clone();
let __nt = super::__action56::<>(input, __sym0);
let __symbol = (__start, __Symbol::Variant3(__nt), __end);
(1, __symbol, 4)
}
pub(crate) fn __reduce9<
'input,
>(
input: &'input str,
__action: i8,
__lookahead_start: Option<&usize>,
__states: &mut ::std::vec::Vec<i8>,
__symbols: &mut ::std::vec::Vec<(usize,__Symbol<'input>,usize)>,
_: ::std::marker::PhantomData<()>,
) -> (usize, (usize,__Symbol<'input>,usize), usize)
{
let __sym1 = __pop_Variant2(__symbols);
let __sym0 = __pop_Variant3(__symbols);
let __start = __sym0.0.clone();
let __end = __sym1.2.clone();
let __nt = super::__action57::<>(input, __sym0, __sym1);
let __symbol = (__start, __Symbol::Variant3(__nt), __end);
(2, __symbol, 4)
}
pub(crate) fn __reduce10<
'input,
>(
input: &'input str,
__action: i8,
__lookahead_start: Option<&usize>,
__states: &mut ::std::vec::Vec<i8>,
__symbols: &mut ::std::vec::Vec<(usize,__Symbol<'input>,usize)>,
_: ::std::marker::PhantomData<()>,
) -> (usize, (usize,__Symbol<'input>,usize), usize)
{
let __start = __symbols.last().map(|s| s.2.clone()).unwrap_or_default();
let __end = __lookahead_start.cloned().unwrap_or_else(|| __start.clone());
let __nt = super::__action66::<>(input, &__start, &__end);
let __symbol = (__start, __Symbol::Variant3(__nt), __end);
(0, __symbol, 5)
}
pub(crate) fn __reduce11<
'input,
>(
input: &'input str,
__action: i8,
__lookahead_start: Option<&usize>,
__states: &mut ::std::vec::Vec<i8>,
__symbols: &mut ::std::vec::Vec<(usize,__Symbol<'input>,usize)>,
_: ::std::marker::PhantomData<()>,
) -> (usize, (usize,__Symbol<'input>,usize), usize)
{
let __sym0 = __pop_Variant3(__symbols);
let __start = __sym0.0.clone();
let __end = __sym0.2.clone();
let __nt = super::__action67::<>(input, __sym0);
let __symbol = (__start, __Symbol::Variant3(__nt), __end);
(1, __symbol, 5)
}
pub(crate) fn __reduce12<
'input,
>(
input: &'input str,
__action: i8,
__lookahead_start: Option<&usize>,
__states: &mut ::std::vec::Vec<i8>,
__symbols: &mut ::std::vec::Vec<(usize,__Symbol<'input>,usize)>,
_: ::std::marker::PhantomData<()>,
) -> (usize, (usize,__Symbol<'input>,usize), usize)
{
let __sym5 = __pop_Variant4(__symbols);
let __sym4 = __pop_Variant0(__symbols);
let __sym3 = __pop_Variant4(__symbols);
let __sym2 = __pop_Variant0(__symbols);
let __sym1 = __pop_Variant4(__symbols);
let __sym0 = __pop_Variant0(__symbols);
let __start = __sym0.0.clone();
let __end = __sym5.2.clone();
let __nt = super::__action21::<>(input, __sym0, __sym1, __sym2, __sym3, __sym4, __sym5);
let __symbol = (__start, __Symbol::Variant4(__nt), __end);
(6, __symbol, 6)
}
pub(crate) fn __reduce13<
'input,
>(
input: &'input str,
__action: i8,
__lookahead_start: Option<&usize>,
__states: &mut ::std::vec::Vec<i8>,
__symbols: &mut ::std::vec::Vec<(usize,__Symbol<'input>,usize)>,
_: ::std::marker::PhantomData<()>,
) -> (usize, (usize,__Symbol<'input>,usize), usize)
{
let __sym2 = __pop_Variant4(__symbols);
let __sym1 = __pop_Variant0(__symbols);
let __sym0 = __pop_Variant4(__symbols);
let __start = __sym0.0.clone();
let __end = __sym2.2.clone();
let __nt = super::__action22::<>(input, __sym0, __sym1, __sym2);
let __symbol = (__start, __Symbol::Variant4(__nt), __end);
(3, __symbol, 6)
}
pub(crate) fn __reduce14<
'input,
>(
input: &'input str,
__action: i8,
__lookahead_start: Option<&usize>,
__states: &mut ::std::vec::Vec<i8>,
__symbols: &mut ::std::vec::Vec<(usize,__Symbol<'input>,usize)>,
_: ::std::marker::PhantomData<()>,
) -> (usize, (usize,__Symbol<'input>,usize), usize)
{
let __sym0 = __pop_Variant4(__symbols);
let __start = __sym0.0.clone();
let __end = __sym0.2.clone();
let __nt = super::__action23::<>(input, __sym0);
let __symbol = (__start, __Symbol::Variant4(__nt), __end);
(1, __symbol, 6)
}
pub(crate) fn __reduce15<
'input,
>(
input: &'input str,
__action: i8,
__lookahead_start: Option<&usize>,
__states: &mut ::std::vec::Vec<i8>,
__symbols: &mut ::std::vec::Vec<(usize,__Symbol<'input>,usize)>,
_: ::std::marker::PhantomData<()>,
) -> (usize, (usize,__Symbol<'input>,usize), usize)
{
let __sym2 = __pop_Variant4(__symbols);
let __sym1 = __pop_Variant0(__symbols);
let __sym0 = __pop_Variant4(__symbols);
let __start = __sym0.0.clone();
let __end = __sym2.2.clone();
let __nt = super::__action24::<>(input, __sym0, __sym1, __sym2);
let __symbol = (__start, __Symbol::Variant4(__nt), __end);
(3, __symbol, 7)
}
pub(crate) fn __reduce16<
'input,
>(
input: &'input str,
__action: i8,
__lookahead_start: Option<&usize>,
__states: &mut ::std::vec::Vec<i8>,
__symbols: &mut ::std::vec::Vec<(usize,__Symbol<'input>,usize)>,
_: ::std::marker::PhantomData<()>,
) -> (usize, (usize,__Symbol<'input>,usize), usize)
{
let __sym2 = __pop_Variant4(__symbols);
let __sym1 = __pop_Variant0(__symbols);
let __sym0 = __pop_Variant4(__symbols);
let __start = __sym0.0.clone();
let __end = __sym2.2.clone();
let __nt = super::__action25::<>(input, __sym0, __sym1, __sym2);
let __symbol = (__start, __Symbol::Variant4(__nt), __end);
(3, __symbol, 7)
}
pub(crate) fn __reduce17<
'input,
>(
input: &'input str,
__action: i8,
__lookahead_start: Option<&usize>,
__states: &mut ::std::vec::Vec<i8>,
__symbols: &mut ::std::vec::Vec<(usize,__Symbol<'input>,usize)>,
_: ::std::marker::PhantomData<()>,
) -> (usize, (usize,__Symbol<'input>,usize), usize)
{
let __sym0 = __pop_Variant4(__symbols);
let __start = __sym0.0.clone();
let __end = __sym0.2.clone();
let __nt = super::__action26::<>(input, __sym0);
let __symbol = (__start, __Symbol::Variant4(__nt), __end);
(1, __symbol, 7)
}
pub(crate) fn __reduce18<
'input,
>(
input: &'input str,
__action: i8,
__lookahead_start: Option<&usize>,
__states: &mut ::std::vec::Vec<i8>,
__symbols: &mut ::std::vec::Vec<(usize,__Symbol<'input>,usize)>,
_: ::std::marker::PhantomData<()>,
) -> (usize, (usize,__Symbol<'input>,usize), usize)
{
let __sym2 = __pop_Variant4(__symbols);
let __sym1 = __pop_Variant0(__symbols);
let __sym0 = __pop_Variant4(__symbols);
let __start = __sym0.0.clone();
let __end = __sym2.2.clone();
let __nt = super::__action27::<>(input, __sym0, __sym1, __sym2);
let __symbol = (__start, __Symbol::Variant4(__nt), __end);
(3, __symbol, 8)
}
pub(crate) fn __reduce19<
'input,
>(
input: &'input str,
__action: i8,
__lookahead_start: Option<&usize>,
__states: &mut ::std::vec::Vec<i8>,
__symbols: &mut ::std::vec::Vec<(usize,__Symbol<'input>,usize)>,
_: ::std::marker::PhantomData<()>,
) -> (usize, (usize,__Symbol<'input>,usize), usize)
{
let __sym2 = __pop_Variant4(__symbols);
let __sym1 = __pop_Variant0(__symbols);
let __sym0 = __pop_Variant4(__symbols);
let __start = __sym0.0.clone();
let __end = __sym2.2.clone();
let __nt = super::__action28::<>(input, __sym0, __sym1, __sym2);
let __symbol = (__start, __Symbol::Variant4(__nt), __end);
(3, __symbol, 8)
}
pub(crate) fn __reduce20<
'input,
>(
input: &'input str,
__action: i8,
__lookahead_start: Option<&usize>,
__states: &mut ::std::vec::Vec<i8>,
__symbols: &mut ::std::vec::Vec<(usize,__Symbol<'input>,usize)>,
_: ::std::marker::PhantomData<()>,
) -> (usize, (usize,__Symbol<'input>,usize), usize)
{
let __sym2 = __pop_Variant4(__symbols);
let __sym1 = __pop_Variant0(__symbols);
let __sym0 = __pop_Variant4(__symbols);
let __start = __sym0.0.clone();
let __end = __sym2.2.clone();
let __nt = super::__action29::<>(input, __sym0, __sym1, __sym2);
let __symbol = (__start, __Symbol::Variant4(__nt), __end);
(3, __symbol, 8)
}
pub(crate) fn __reduce21<
'input,
>(
input: &'input str,
__action: i8,
__lookahead_start: Option<&usize>,
__states: &mut ::std::vec::Vec<i8>,
__symbols: &mut ::std::vec::Vec<(usize,__Symbol<'input>,usize)>,
_: ::std::marker::PhantomData<()>,
) -> (usize, (usize,__Symbol<'input>,usize), usize)
{
let __sym0 = __pop_Variant4(__symbols);
let __start = __sym0.0.clone();
let __end = __sym0.2.clone();
let __nt = super::__action30::<>(input, __sym0);
let __symbol = (__start, __Symbol::Variant4(__nt), __end);
(1, __symbol, 8)
}
pub(crate) fn __reduce22<
'input,
>(
input: &'input str,
__action: i8,
__lookahead_start: Option<&usize>,
__states: &mut ::std::vec::Vec<i8>,
__symbols: &mut ::std::vec::Vec<(usize,__Symbol<'input>,usize)>,
_: ::std::marker::PhantomData<()>,
) -> (usize, (usize,__Symbol<'input>,usize), usize)
{
let __sym1 = __pop_Variant4(__symbols);
let __sym0 = __pop_Variant4(__symbols);
let __start = __sym0.0.clone();
let __end = __sym1.2.clone();
let __nt = super::__action31::<>(input, __sym0, __sym1);
let __symbol = (__start, __Symbol::Variant4(__nt), __end);
(2, __symbol, 9)
}
pub(crate) fn __reduce23<
'input,
>(
input: &'input str,
__action: i8,
__lookahead_start: Option<&usize>,
__states: &mut ::std::vec::Vec<i8>,
__symbols: &mut ::std::vec::Vec<(usize,__Symbol<'input>,usize)>,
_: ::std::marker::PhantomData<()>,
) -> (usize, (usize,__Symbol<'input>,usize), usize)
{
let __sym0 = __pop_Variant4(__symbols);
let __start = __sym0.0.clone();
let __end = __sym0.2.clone();
let __nt = super::__action32::<>(input, __sym0);
let __symbol = (__start, __Symbol::Variant4(__nt), __end);
(1, __symbol, 9)
}
pub(crate) fn __reduce24<
'input,
>(
input: &'input str,
__action: i8,
__lookahead_start: Option<&usize>,
__states: &mut ::std::vec::Vec<i8>,
__symbols: &mut ::std::vec::Vec<(usize,__Symbol<'input>,usize)>,
_: ::std::marker::PhantomData<()>,
) -> (usize, (usize,__Symbol<'input>,usize), usize)
{
let __sym2 = __pop_Variant0(__symbols);
let __sym1 = __pop_Variant4(__symbols);
let __sym0 = __pop_Variant0(__symbols);
let __start = __sym0.0.clone();
let __end = __sym2.2.clone();
let __nt = super::__action33::<>(input, __sym0, __sym1, __sym2);
let __symbol = (__start, __Symbol::Variant4(__nt), __end);
(3, __symbol, 10)
}
pub(crate) fn __reduce25<
'input,
>(
input: &'input str,
__action: i8,
__lookahead_start: Option<&usize>,
__states: &mut ::std::vec::Vec<i8>,
__symbols: &mut ::std::vec::Vec<(usize,__Symbol<'input>,usize)>,
_: ::std::marker::PhantomData<()>,
) -> (usize, (usize,__Symbol<'input>,usize), usize)
{
let __sym0 = __pop_Variant6(__symbols);
let __start = __sym0.0.clone();
let __end = __sym0.2.clone();
let __nt = super::__action34::<>(input, __sym0);
let __symbol = (__start, __Symbol::Variant4(__nt), __end);
(1, __symbol, 10)
}
pub(crate) fn __reduce26<
'input,
>(
input: &'input str,
__action: i8,
__lookahead_start: Option<&usize>,
__states: &mut ::std::vec::Vec<i8>,
__symbols: &mut ::std::vec::Vec<(usize,__Symbol<'input>,usize)>,
_: ::std::marker::PhantomData<()>,
) -> (usize, (usize,__Symbol<'input>,usize), usize)
{
let __sym0 = __pop_Variant5(__symbols);
let __start = __sym0.0.clone();
let __end = __sym0.2.clone();
let __nt = super::__action35::<>(input, __sym0);
let __symbol = (__start, __Symbol::Variant4(__nt), __end);
(1, __symbol, 10)
}
pub(crate) fn __reduce27<
'input,
>(
input: &'input str,
__action: i8,
__lookahead_start: Option<&usize>,
__states: &mut ::std::vec::Vec<i8>,
__symbols: &mut ::std::vec::Vec<(usize,__Symbol<'input>,usize)>,
_: ::std::marker::PhantomData<()>,
) -> (usize, (usize,__Symbol<'input>,usize), usize)
{
let __sym2 = __pop_Variant0(__symbols);
let __sym1 = __pop_Variant4(__symbols);
let __sym0 = __pop_Variant0(__symbols);
let __start = __sym0.0.clone();
let __end = __sym2.2.clone();
let __nt = super::__action70::<>(input, __sym0, __sym1, __sym2);
let __symbol = (__start, __Symbol::Variant4(__nt), __end);
(3, __symbol, 10)
}
pub(crate) fn __reduce28<
'input,
>(
input: &'input str,
__action: i8,
__lookahead_start: Option<&usize>,
__states: &mut ::std::vec::Vec<i8>,
__symbols: &mut ::std::vec::Vec<(usize,__Symbol<'input>,usize)>,
_: ::std::marker::PhantomData<()>,
) -> (usize, (usize,__Symbol<'input>,usize), usize)
{
let __sym3 = __pop_Variant0(__symbols);
let __sym2 = __pop_Variant10(__symbols);
let __sym1 = __pop_Variant4(__symbols);
let __sym0 = __pop_Variant0(__symbols);
let __start = __sym0.0.clone();
let __end = __sym3.2.clone();
let __nt = super::__action71::<>(input, __sym0, __sym1, __sym2, __sym3);
let __symbol = (__start, __Symbol::Variant4(__nt), __end);
(4, __symbol, 10)
}
pub(crate) fn __reduce29<
'input,
>(
input: &'input str,
__action: i8,
__lookahead_start: Option<&usize>,
__states: &mut ::std::vec::Vec<i8>,
__symbols: &mut ::std::vec::Vec<(usize,__Symbol<'input>,usize)>,
_: ::std::marker::PhantomData<()>,
) -> (usize, (usize,__Symbol<'input>,usize), usize)
{
let __sym1 = __pop_Variant0(__symbols);
let __sym0 = __pop_Variant0(__symbols);
let __start = __sym0.0.clone();
let __end = __sym1.2.clone();
let __nt = super::__action43::<>(input, __sym0, __sym1);
let __symbol = (__start, __Symbol::Variant5(__nt), __end);
(2, __symbol, 11)
}
pub(crate) fn __reduce30<
'input,
>(
input: &'input str,
__action: i8,
__lookahead_start: Option<&usize>,
__states: &mut ::std::vec::Vec<i8>,
__symbols: &mut ::std::vec::Vec<(usize,__Symbol<'input>,usize)>,
_: ::std::marker::PhantomData<()>,
) -> (usize, (usize,__Symbol<'input>,usize), usize)
{
let __sym0 = __pop_Variant0(__symbols);
let __start = __sym0.0.clone();
let __end = __sym0.2.clone();
let __nt = super::__action44::<>(input, __sym0);
let __symbol = (__start, __Symbol::Variant5(__nt), __end);
(1, __symbol, 11)
}
pub(crate) fn __reduce31<
'input,
>(
input: &'input str,
__action: i8,
__lookahead_start: Option<&usize>,
__states: &mut ::std::vec::Vec<i8>,
__symbols: &mut ::std::vec::Vec<(usize,__Symbol<'input>,usize)>,
_: ::std::marker::PhantomData<()>,
) -> (usize, (usize,__Symbol<'input>,usize), usize)
{
let __sym0 = __pop_Variant0(__symbols);
let __start = __sym0.0.clone();
let __end = __sym0.2.clone();
let __nt = super::__action45::<>(input, __sym0);
let __symbol = (__start, __Symbol::Variant5(__nt), __end);
(1, __symbol, 11)
}
pub(crate) fn __reduce32<
'input,
>(
input: &'input str,
__action: i8,
__lookahead_start: Option<&usize>,
__states: &mut ::std::vec::Vec<i8>,
__symbols: &mut ::std::vec::Vec<(usize,__Symbol<'input>,usize)>,
_: ::std::marker::PhantomData<()>,
) -> (usize, (usize,__Symbol<'input>,usize), usize)
{
let __sym0 = __pop_Variant0(__symbols);
let __start = __sym0.0.clone();
let __end = __sym0.2.clone();
let __nt = super::__action46::<>(input, __sym0);
let __symbol = (__start, __Symbol::Variant5(__nt), __end);
(1, __symbol, 11)
}
pub(crate) fn __reduce33<
'input,
>(
input: &'input str,
__action: i8,
__lookahead_start: Option<&usize>,
__states: &mut ::std::vec::Vec<i8>,
__symbols: &mut ::std::vec::Vec<(usize,__Symbol<'input>,usize)>,
_: ::std::marker::PhantomData<()>,
) -> (usize, (usize,__Symbol<'input>,usize), usize)
{
let __sym0 = __pop_Variant0(__symbols);
let __start = __sym0.0.clone();
let __end = __sym0.2.clone();
let __nt = super::__action47::<>(input, __sym0);
let __symbol = (__start, __Symbol::Variant6(__nt), __end);
(1, __symbol, 12)
}
pub(crate) fn __reduce34<
'input,
>(
input: &'input str,
__action: i8,
__lookahead_start: Option<&usize>,
__states: &mut ::std::vec::Vec<i8>,
__symbols: &mut ::std::vec::Vec<(usize,__Symbol<'input>,usize)>,
_: ::std::marker::PhantomData<()>,
) -> (usize, (usize,__Symbol<'input>,usize), usize)
{
let __sym2 = __pop_Variant7(__symbols);
let __sym1 = __pop_Variant0(__symbols);
let __sym0 = __pop_Variant7(__symbols);
let __start = __sym0.0.clone();
let __end = __sym2.2.clone();
let __nt = super::__action38::<>(input, __sym0, __sym1, __sym2);
let __symbol = (__start, __Symbol::Variant7(__nt), __end);
(3, __symbol, 13)
}
pub(crate) fn __reduce35<
'input,
>(
input: &'input str,
__action: i8,
__lookahead_start: Option<&usize>,
__states: &mut ::std::vec::Vec<i8>,
__symbols: &mut ::std::vec::Vec<(usize,__Symbol<'input>,usize)>,
_: ::std::marker::PhantomData<()>,
) -> (usize, (usize,__Symbol<'input>,usize), usize)
{
let __sym0 = __pop_Variant7(__symbols);
let __start = __sym0.0.clone();
let __end = __sym0.2.clone();
let __nt = super::__action39::<>(input, __sym0);
let __symbol = (__start, __Symbol::Variant7(__nt), __end);
(1, __symbol, 13)
}
pub(crate) fn __reduce36<
'input,
>(
input: &'input str,
__action: i8,
__lookahead_start: Option<&usize>,
__states: &mut ::std::vec::Vec<i8>,
__symbols: &mut ::std::vec::Vec<(usize,__Symbol<'input>,usize)>,
_: ::std::marker::PhantomData<()>,
) -> (usize, (usize,__Symbol<'input>,usize), usize)
{
let __sym2 = __pop_Variant0(__symbols);
let __sym1 = __pop_Variant7(__symbols);
let __sym0 = __pop_Variant0(__symbols);
let __start = __sym0.0.clone();
let __end = __sym2.2.clone();
let __nt = super::__action40::<>(input, __sym0, __sym1, __sym2);
let __symbol = (__start, __Symbol::Variant7(__nt), __end);
(3, __symbol, 14)
}
pub(crate) fn __reduce37<
'input,
>(
input: &'input str,
__action: i8,
__lookahead_start: Option<&usize>,
__states: &mut ::std::vec::Vec<i8>,
__symbols: &mut ::std::vec::Vec<(usize,__Symbol<'input>,usize)>,
_: ::std::marker::PhantomData<()>,
) -> (usize, (usize,__Symbol<'input>,usize), usize)
{
let __sym0 = __pop_Variant6(__symbols);
let __start = __sym0.0.clone();
let __end = __sym0.2.clone();
let __nt = super::__action41::<>(input, __sym0);
let __symbol = (__start, __Symbol::Variant7(__nt), __end);
(1, __symbol, 14)
}
pub(crate) fn __reduce38<
'input,
>(
input: &'input str,
__action: i8,
__lookahead_start: Option<&usize>,
__states: &mut ::std::vec::Vec<i8>,
__symbols: &mut ::std::vec::Vec<(usize,__Symbol<'input>,usize)>,
_: ::std::marker::PhantomData<()>,
) -> (usize, (usize,__Symbol<'input>,usize), usize)
{
let __sym0 = __pop_Variant5(__symbols);
let __start = __sym0.0.clone();
let __end = __sym0.2.clone();
let __nt = super::__action42::<>(input, __sym0);
let __symbol = (__start, __Symbol::Variant7(__nt), __end);
(1, __symbol, 14)
}
pub(crate) fn __reduce39<
'input,
>(
input: &'input str,
__action: i8,
__lookahead_start: Option<&usize>,
__states: &mut ::std::vec::Vec<i8>,
__symbols: &mut ::std::vec::Vec<(usize,__Symbol<'input>,usize)>,
_: ::std::marker::PhantomData<()>,
) -> (usize, (usize,__Symbol<'input>,usize), usize)
{
let __start = __symbols.last().map(|s| s.2.clone()).unwrap_or_default();
let __end = __lookahead_start.cloned().unwrap_or_else(|| __start.clone());
let __nt = super::__action50::<>(input, &__start, &__end);
let __symbol = (__start, __Symbol::Variant8(__nt), __end);
(0, __symbol, 15)
}
pub(crate) fn __reduce40<
'input,
>(
input: &'input str,
__action: i8,
__lookahead_start: Option<&usize>,
__states: &mut ::std::vec::Vec<i8>,
__symbols: &mut ::std::vec::Vec<(usize,__Symbol<'input>,usize)>,
_: ::std::marker::PhantomData<()>,
) -> (usize, (usize,__Symbol<'input>,usize), usize)
{
let __sym0 = __pop_Variant8(__symbols);
let __start = __sym0.0.clone();
let __end = __sym0.2.clone();
let __nt = super::__action51::<>(input, __sym0);
let __symbol = (__start, __Symbol::Variant8(__nt), __end);
(1, __symbol, 15)
}
pub(crate) fn __reduce41<
'input,
>(
input: &'input str,
__action: i8,
__lookahead_start: Option<&usize>,
__states: &mut ::std::vec::Vec<i8>,
__symbols: &mut ::std::vec::Vec<(usize,__Symbol<'input>,usize)>,
_: ::std::marker::PhantomData<()>,
) -> (usize, (usize,__Symbol<'input>,usize), usize)
{
let __sym0 = __pop_Variant7(__symbols);
let __start = __sym0.0.clone();
let __end = __sym0.2.clone();
let __nt = super::__action58::<>(input, __sym0);
let __symbol = (__start, __Symbol::Variant8(__nt), __end);
(1, __symbol, 16)
}
pub(crate) fn __reduce42<
'input,
>(
input: &'input str,
__action: i8,
__lookahead_start: Option<&usize>,
__states: &mut ::std::vec::Vec<i8>,
__symbols: &mut ::std::vec::Vec<(usize,__Symbol<'input>,usize)>,
_: ::std::marker::PhantomData<()>,
) -> (usize, (usize,__Symbol<'input>,usize), usize)
{
let __sym1 = __pop_Variant7(__symbols);
let __sym0 = __pop_Variant8(__symbols);
let __start = __sym0.0.clone();
let __end = __sym1.2.clone();
let __nt = super::__action59::<>(input, __sym0, __sym1);
let __symbol = (__start, __Symbol::Variant8(__nt), __end);
(2, __symbol, 16)
}
pub(crate) fn __reduce43<
'input,
>(
input: &'input str,
__action: i8,
__lookahead_start: Option<&usize>,
__states: &mut ::std::vec::Vec<i8>,
__symbols: &mut ::std::vec::Vec<(usize,__Symbol<'input>,usize)>,
_: ::std::marker::PhantomData<()>,
) -> (usize, (usize,__Symbol<'input>,usize), usize)
{
let __sym1 = __pop_Variant0(__symbols);
let __sym0 = __pop_Variant4(__symbols);
let __start = __sym0.0.clone();
let __end = __sym1.2.clone();
let __nt = super::__action62::<>(input, __sym0, __sym1);
let __symbol = (__start, __Symbol::Variant9(__nt), __end);
(2, __symbol, 17)
}
pub(crate) fn __reduce44<
'input,
>(
input: &'input str,
__action: i8,
__lookahead_start: Option<&usize>,
__states: &mut ::std::vec::Vec<i8>,
__symbols: &mut ::std::vec::Vec<(usize,__Symbol<'input>,usize)>,
_: ::std::marker::PhantomData<()>,
) -> (usize, (usize,__Symbol<'input>,usize), usize)
{
let __sym0 = __pop_Variant4(__symbols);
let __start = __sym0.0.clone();
let __end = __sym0.2.clone();
let __nt = super::__action63::<>(input, __sym0);
let __symbol = (__start, __Symbol::Variant9(__nt), __end);
(1, __symbol, 17)
}
pub(crate) fn __reduce45<
'input,
>(
input: &'input str,
__action: i8,
__lookahead_start: Option<&usize>,
__states: &mut ::std::vec::Vec<i8>,
__symbols: &mut ::std::vec::Vec<(usize,__Symbol<'input>,usize)>,
_: ::std::marker::PhantomData<()>,
) -> (usize, (usize,__Symbol<'input>,usize), usize)
{
let __sym0 = __pop_Variant0(__symbols);
let __start = __sym0.0.clone();
let __end = __sym0.2.clone();
let __nt = super::__action5::<>(input, __sym0);
let __symbol = (__start, __Symbol::Variant9(__nt), __end);
(1, __symbol, 17)
}
pub(crate) fn __reduce46<
'input,
>(
input: &'input str,
__action: i8,
__lookahead_start: Option<&usize>,
__states: &mut ::std::vec::Vec<i8>,
__symbols: &mut ::std::vec::Vec<(usize,__Symbol<'input>,usize)>,
_: ::std::marker::PhantomData<()>,
) -> (usize, (usize,__Symbol<'input>,usize), usize)
{
let __sym0 = __pop_Variant0(__symbols);
let __start = __sym0.0.clone();
let __end = __sym0.2.clone();
let __nt = super::__action6::<>(input, __sym0);
let __symbol = (__start, __Symbol::Variant9(__nt), __end);
(1, __symbol, 17)
}
pub(crate) fn __reduce47<
'input,
>(
input: &'input str,
__action: i8,
__lookahead_start: Option<&usize>,
__states: &mut ::std::vec::Vec<i8>,
__symbols: &mut ::std::vec::Vec<(usize,__Symbol<'input>,usize)>,
_: ::std::marker::PhantomData<()>,
) -> (usize, (usize,__Symbol<'input>,usize), usize)
{
let __sym0 = __pop_Variant0(__symbols);
let __start = __sym0.0.clone();
let __end = __sym0.2.clone();
let __nt = super::__action7::<>(input, __sym0);
let __symbol = (__start, __Symbol::Variant9(__nt), __end);
(1, __symbol, 17)
}
pub(crate) fn __reduce48<
'input,
>(
input: &'input str,
__action: i8,
__lookahead_start: Option<&usize>,
__states: &mut ::std::vec::Vec<i8>,
__symbols: &mut ::std::vec::Vec<(usize,__Symbol<'input>,usize)>,
_: ::std::marker::PhantomData<()>,
) -> (usize, (usize,__Symbol<'input>,usize), usize)
{
let __sym0 = __pop_Variant0(__symbols);
let __start = __sym0.0.clone();
let __end = __sym0.2.clone();
let __nt = super::__action8::<>(input, __sym0);
let __symbol = (__start, __Symbol::Variant9(__nt), __end);
(1, __symbol, 17)
}
pub(crate) fn __reduce49<
'input,
>(
input: &'input str,
__action: i8,
__lookahead_start: Option<&usize>,
__states: &mut ::std::vec::Vec<i8>,
__symbols: &mut ::std::vec::Vec<(usize,__Symbol<'input>,usize)>,
_: ::std::marker::PhantomData<()>,
) -> (usize, (usize,__Symbol<'input>,usize), usize)
{
let __sym2 = __pop_Variant0(__symbols);
let __sym1 = __pop_Variant2(__symbols);
let __sym0 = __pop_Variant0(__symbols);
let __start = __sym0.0.clone();
let __end = __sym2.2.clone();
let __nt = super::__action64::<>(input, __sym0, __sym1, __sym2);
let __symbol = (__start, __Symbol::Variant9(__nt), __end);
(3, __symbol, 17)
}
pub(crate) fn __reduce50<
'input,
>(
input: &'input str,
__action: i8,
__lookahead_start: Option<&usize>,
__states: &mut ::std::vec::Vec<i8>,
__symbols: &mut ::std::vec::Vec<(usize,__Symbol<'input>,usize)>,
_: ::std::marker::PhantomData<()>,
) -> (usize, (usize,__Symbol<'input>,usize), usize)
{
let __sym1 = __pop_Variant2(__symbols);
let __sym0 = __pop_Variant0(__symbols);
let __start = __sym0.0.clone();
let __end = __sym1.2.clone();
let __nt = super::__action65::<>(input, __sym0, __sym1);
let __symbol = (__start, __Symbol::Variant9(__nt), __end);
(2, __symbol, 17)
}
pub(crate) fn __reduce51<
'input,
>(
input: &'input str,
__action: i8,
__lookahead_start: Option<&usize>,
__states: &mut ::std::vec::Vec<i8>,
__symbols: &mut ::std::vec::Vec<(usize,__Symbol<'input>,usize)>,
_: ::std::marker::PhantomData<()>,
) -> (usize, (usize,__Symbol<'input>,usize), usize)
{
let __sym0 = __pop_Variant0(__symbols);
let __start = __sym0.0.clone();
let __end = __sym0.2.clone();
let __nt = super::__action10::<>(input, __sym0);
let __symbol = (__start, __Symbol::Variant9(__nt), __end);
(1, __symbol, 17)
}
pub(crate) fn __reduce52<
'input,
>(
input: &'input str,
__action: i8,
__lookahead_start: Option<&usize>,
__states: &mut ::std::vec::Vec<i8>,
__symbols: &mut ::std::vec::Vec<(usize,__Symbol<'input>,usize)>,
_: ::std::marker::PhantomData<()>,
) -> (usize, (usize,__Symbol<'input>,usize), usize)
{
let __sym0 = __pop_Variant0(__symbols);
let __start = __sym0.0.clone();
let __end = __sym0.2.clone();
let __nt = super::__action11::<>(input, __sym0);
let __symbol = (__start, __Symbol::Variant9(__nt), __end);
(1, __symbol, 17)
}
pub(crate) fn __reduce53<
'input,
>(
input: &'input str,
__action: i8,
__lookahead_start: Option<&usize>,
__states: &mut ::std::vec::Vec<i8>,
__symbols: &mut ::std::vec::Vec<(usize,__Symbol<'input>,usize)>,
_: ::std::marker::PhantomData<()>,
) -> (usize, (usize,__Symbol<'input>,usize), usize)
{
let __sym0 = __pop_Variant0(__symbols);
let __start = __sym0.0.clone();
let __end = __sym0.2.clone();
let __nt = super::__action12::<>(input, __sym0);
let __symbol = (__start, __Symbol::Variant9(__nt), __end);
(1, __symbol, 17)
}
pub(crate) fn __reduce54<
'input,
>(
input: &'input str,
__action: i8,
__lookahead_start: Option<&usize>,
__states: &mut ::std::vec::Vec<i8>,
__symbols: &mut ::std::vec::Vec<(usize,__Symbol<'input>,usize)>,
_: ::std::marker::PhantomData<()>,
) -> (usize, (usize,__Symbol<'input>,usize), usize)
{
let __sym0 = __pop_Variant0(__symbols);
let __start = __sym0.0.clone();
let __end = __sym0.2.clone();
let __nt = super::__action13::<>(input, __sym0);
let __symbol = (__start, __Symbol::Variant9(__nt), __end);
(1, __symbol, 17)
}
pub(crate) fn __reduce55<
'input,
>(
input: &'input str,
__action: i8,
__lookahead_start: Option<&usize>,
__states: &mut ::std::vec::Vec<i8>,
__symbols: &mut ::std::vec::Vec<(usize,__Symbol<'input>,usize)>,
_: ::std::marker::PhantomData<()>,
) -> (usize, (usize,__Symbol<'input>,usize), usize)
{
let __sym0 = __pop_Variant0(__symbols);
let __start = __sym0.0.clone();
let __end = __sym0.2.clone();
let __nt = super::__action14::<>(input, __sym0);
let __symbol = (__start, __Symbol::Variant9(__nt), __end);
(1, __symbol, 17)
}
pub(crate) fn __reduce56<
'input,
>(
input: &'input str,
__action: i8,
__lookahead_start: Option<&usize>,
__states: &mut ::std::vec::Vec<i8>,
__symbols: &mut ::std::vec::Vec<(usize,__Symbol<'input>,usize)>,
_: ::std::marker::PhantomData<()>,
) -> (usize, (usize,__Symbol<'input>,usize), usize)
{
let __sym0 = __pop_Variant0(__symbols);
let __start = __sym0.0.clone();
let __end = __sym0.2.clone();
let __nt = super::__action15::<>(input, __sym0);
let __symbol = (__start, __Symbol::Variant9(__nt), __end);
(1, __symbol, 17)
}
pub(crate) fn __reduce57<
'input,
>(
input: &'input str,
__action: i8,
__lookahead_start: Option<&usize>,
__states: &mut ::std::vec::Vec<i8>,
__symbols: &mut ::std::vec::Vec<(usize,__Symbol<'input>,usize)>,
_: ::std::marker::PhantomData<()>,
) -> (usize, (usize,__Symbol<'input>,usize), usize)
{
let __sym0 = __pop_Variant0(__symbols);
let __start = __sym0.0.clone();
let __end = __sym0.2.clone();
let __nt = super::__action16::<>(input, __sym0);
let __symbol = (__start, __Symbol::Variant9(__nt), __end);
(1, __symbol, 17)
}
pub(crate) fn __reduce58<
'input,
>(
input: &'input str,
__action: i8,
__lookahead_start: Option<&usize>,
__states: &mut ::std::vec::Vec<i8>,
__symbols: &mut ::std::vec::Vec<(usize,__Symbol<'input>,usize)>,
_: ::std::marker::PhantomData<()>,
) -> (usize, (usize,__Symbol<'input>,usize), usize)
{
let __sym1 = __pop_Variant4(__symbols);
let __sym0 = __pop_Variant0(__symbols);
let __start = __sym0.0.clone();
let __end = __sym1.2.clone();
let __nt = super::__action17::<>(input, __sym0, __sym1);
let __symbol = (__start, __Symbol::Variant9(__nt), __end);
(2, __symbol, 17)
}
pub(crate) fn __reduce59<
'input,
>(
input: &'input str,
__action: i8,
__lookahead_start: Option<&usize>,
__states: &mut ::std::vec::Vec<i8>,
__symbols: &mut ::std::vec::Vec<(usize,__Symbol<'input>,usize)>,
_: ::std::marker::PhantomData<()>,
) -> (usize, (usize,__Symbol<'input>,usize), usize)
{
let __sym1 = __pop_Variant4(__symbols);
let __sym0 = __pop_Variant0(__symbols);
let __start = __sym0.0.clone();
let __end = __sym1.2.clone();
let __nt = super::__action37::<>(input, __sym0, __sym1);
let __symbol = (__start, __Symbol::Variant4(__nt), __end);
(2, __symbol, 18)
}
pub(crate) fn __reduce60<
'input,
>(
input: &'input str,
__action: i8,
__lookahead_start: Option<&usize>,
__states: &mut ::std::vec::Vec<i8>,
__symbols: &mut ::std::vec::Vec<(usize,__Symbol<'input>,usize)>,
_: ::std::marker::PhantomData<()>,
) -> (usize, (usize,__Symbol<'input>,usize), usize)
{
let __start = __symbols.last().map(|s| s.2.clone()).unwrap_or_default();
let __end = __lookahead_start.cloned().unwrap_or_else(|| __start.clone());
let __nt = super::__action48::<>(input, &__start, &__end);
let __symbol = (__start, __Symbol::Variant10(__nt), __end);
(0, __symbol, 19)
}
pub(crate) fn __reduce61<
'input,
>(
input: &'input str,
__action: i8,
__lookahead_start: Option<&usize>,
__states: &mut ::std::vec::Vec<i8>,
__symbols: &mut ::std::vec::Vec<(usize,__Symbol<'input>,usize)>,
_: ::std::marker::PhantomData<()>,
) -> (usize, (usize,__Symbol<'input>,usize), usize)
{
let __sym0 = __pop_Variant10(__symbols);
let __start = __sym0.0.clone();
let __end = __sym0.2.clone();
let __nt = super::__action49::<>(input, __sym0);
let __symbol = (__start, __Symbol::Variant10(__nt), __end);
(1, __symbol, 19)
}
pub(crate) fn __reduce62<
'input,
>(
input: &'input str,
__action: i8,
__lookahead_start: Option<&usize>,
__states: &mut ::std::vec::Vec<i8>,
__symbols: &mut ::std::vec::Vec<(usize,__Symbol<'input>,usize)>,
_: ::std::marker::PhantomData<()>,
) -> (usize, (usize,__Symbol<'input>,usize), usize)
{
let __sym0 = __pop_Variant4(__symbols);
let __start = __sym0.0.clone();
let __end = __sym0.2.clone();
let __nt = super::__action60::<>(input, __sym0);
let __symbol = (__start, __Symbol::Variant10(__nt), __end);
(1, __symbol, 20)
}
pub(crate) fn __reduce63<
'input,
>(
input: &'input str,
__action: i8,
__lookahead_start: Option<&usize>,
__states: &mut ::std::vec::Vec<i8>,
__symbols: &mut ::std::vec::Vec<(usize,__Symbol<'input>,usize)>,
_: ::std::marker::PhantomData<()>,
) -> (usize, (usize,__Symbol<'input>,usize), usize)
{
let __sym1 = __pop_Variant4(__symbols);
let __sym0 = __pop_Variant10(__symbols);
let __start = __sym0.0.clone();
let __end = __sym1.2.clone();
let __nt = super::__action61::<>(input, __sym0, __sym1);
let __symbol = (__start, __Symbol::Variant10(__nt), __end);
(2, __symbol, 20)
}
pub(crate) fn __reduce64<
'input,
>(
input: &'input str,
__action: i8,
__lookahead_start: Option<&usize>,
__states: &mut ::std::vec::Vec<i8>,
__symbols: &mut ::std::vec::Vec<(usize,__Symbol<'input>,usize)>,
_: ::std::marker::PhantomData<()>,
) -> (usize, (usize,__Symbol<'input>,usize), usize)
{
let __sym0 = __pop_Variant2(__symbols);
let __start = __sym0.0.clone();
let __end = __sym0.2.clone();
let __nt = super::__action2::<>(input, __sym0);
let __symbol = (__start, __Symbol::Variant2(__nt), __end);
(1, __symbol, 21)
}
pub(crate) fn __reduce66<
'input,
>(
input: &'input str,
__action: i8,
__lookahead_start: Option<&usize>,
__states: &mut ::std::vec::Vec<i8>,
__symbols: &mut ::std::vec::Vec<(usize,__Symbol<'input>,usize)>,
_: ::std::marker::PhantomData<()>,
) -> (usize, (usize,__Symbol<'input>,usize), usize)
{
let __sym0 = __pop_Variant4(__symbols);
let __start = __sym0.0.clone();
let __end = __sym0.2.clone();
let __nt = super::__action3::<>(input, __sym0);
let __symbol = (__start, __Symbol::Variant4(__nt), __end);
(1, __symbol, 23)
}
pub(crate) fn __reduce67<
'input,
>(
input: &'input str,
__action: i8,
__lookahead_start: Option<&usize>,
__states: &mut ::std::vec::Vec<i8>,
__symbols: &mut ::std::vec::Vec<(usize,__Symbol<'input>,usize)>,
_: ::std::marker::PhantomData<()>,
) -> (usize, (usize,__Symbol<'input>,usize), usize)
{
let __sym0 = __pop_Variant9(__symbols);
let __start = __sym0.0.clone();
let __end = __sym0.2.clone();
let __nt = super::__action0::<>(input, __sym0);
let __symbol = (__start, __Symbol::Variant9(__nt), __end);
(1, __symbol, 24)
}
}
pub use self::__parse__Decls::DeclsParser;
#[cfg_attr(rustfmt, rustfmt_skip)]
mod __parse__Expr {
#![allow(non_snake_case, non_camel_case_types, unused_mut, unused_variables, unused_imports, unused_parens)]
use symbol::Symbol;
use ast::{Literal, Op, Pattern, PrintStyle};
use cst::{Decl, Expr};
use eval::{CallByName, CallByValue, LazyEvaluation};
use repl::ReplCommand;
#[allow(unused_extern_crates)]
extern crate lalrpop_util as __lalrpop_util;
use super::__intern_token::Token;
#[allow(dead_code)]
pub enum __Symbol<'input>
{
Variant0(&'input str),
Variant1(::std::option::Option<&'input str>),
Variant2(Decl),
Variant3(::std::vec::Vec<Decl>),
Variant4(Expr),
Variant5(Literal),
Variant6(Symbol),
Variant7(Pattern<()>),
Variant8(::std::vec::Vec<Pattern<()>>),
Variant9(ReplCommand),
Variant10(::std::vec::Vec<Expr>),
}
const __ACTION: &'static [i8] = &[
9, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 10, 0, 0, 11, 12, 0, 0, 13, 14, 15,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, -14, 0, 16, 17, 0, 18, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -14, 0, 0, 0, -14, -14, 0, 0, 0, -14, 0, 0, 0,
0, -17, 19, -17, -17, 20, -17, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -17, 0, 0, 0, -17, -17, 0, 0, 21, -17, 0, 0, 0,
9, -21, -21, -21, -21, -21, -21, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -21, 0, 0, 10, -21, -21, 11, 0, -21, -21, 13, 14, 15,
-23, -23, -23, -23, -23, -23, -23, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -23, 0, 0, -23, -23, -23, -23, 0, -23, -23, -23, -23, -23,
-26, -26, -26, -26, -26, -26, -26, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -26, 0, 0, -26, -26, -26, -26, 0, -26, -26, -26, -26, -26,
-25, -25, -25, -25, -25, -25, -25, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -25, 0, 0, -25, -25, -25, -25, 0, -25, -25, -25, -25, -25,
9, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 10, 0, 0, 11, 12, 0, 0, 13, 14, 15,
9, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 10, 25, 0, 11, 12, 0, 0, 13, 14, 15,
-30, -30, -30, -30, -30, -30, -30, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -30, 0, 0, -30, -30, -30, -30, 0, -30, -30, -30, -30, -30,
9, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 10, 0, 0, 11, 12, 0, 0, 13, 14, 15,
-31, -31, -31, -31, -31, -31, -31, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -31, 0, 0, -31, -31, -31, -31, 0, -31, -31, -31, -31, -31,
-32, -32, -32, -32, -32, -32, -32, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -32, 0, 0, -32, -32, -32, -32, 0, -32, -32, -32, -32, -32,
-33, -33, -33, -33, -33, -33, -33, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -33, 0, 0, -33, -33, -33, -33, 0, -33, -33, -33, -33, -33,
9, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 10, 0, 0, 11, 0, 0, 0, 13, 14, 15,
9, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 10, 0, 0, 11, 0, 0, 0, 13, 14, 15,
9, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 10, 0, 0, 11, 12, 0, 0, 13, 14, 15,
9, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 10, 0, 0, 11, 0, 0, 0, 13, 14, 15,
9, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 10, 0, 0, 11, 0, 0, 0, 13, 14, 15,
9, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 10, 0, 0, 11, 0, 0, 0, 13, 14, 15,
-22, -22, -22, -22, -22, -22, -22, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -22, 0, 0, -22, -22, -22, -22, 0, -22, -22, -22, -22, -22,
0, 33, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 36, 0, 0, 0, 37, 0, 0, 0, 0, 0, 0, 0, 0,
-29, -29, -29, -29, -29, -29, -29, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -29, 0, 0, -29, -29, -29, -29, 0, -29, -29, -29, -29, -29,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 38, 0, 0, 0,
0, -15, 19, -15, -15, 20, -15, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -15, 0, 0, 0, -15, -15, 0, 0, 21, -15, 0, 0, 0,
0, -16, 19, -16, -16, 20, -16, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -16, 0, 0, 0, -16, -16, 0, 0, 21, -16, 0, 0, 0,
0, -13, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -13, 0, 0, 0, -13, -13, 0, 0, 0, -13, 0, 0, 0,
9, -18, -18, -18, -18, -18, -18, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -18, 0, 0, 10, -18, -18, 11, 0, -18, -18, 13, 14, 15,
9, -19, -19, -19, -19, -19, -19, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -19, 0, 0, 10, -19, -19, 11, 0, -19, -19, 13, 14, 15,
9, -20, -20, -20, -20, -20, -20, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -20, 0, 0, 10, -20, -20, 11, 0, -20, -20, 13, 14, 15,
-24, -24, -24, -24, -24, -24, -24, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -24, 0, 0, -24, -24, -24, -24, 0, -24, -24, -24, -24, -24,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -62, 0, 0, 0, -62, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 36, 0, 0, 0, 40, 0, 0, 0, 0, 0, 0, 0, 0,
9, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 10, 0, 0, 11, 12, 0, 0, 13, 14, 15,
-27, -27, -27, -27, -27, -27, -27, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -27, 0, 0, -27, -27, -27, -27, 0, -27, -27, -27, -27, -27,
9, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 10, 0, 0, 11, 12, 0, 0, 13, 14, 15,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -63, 0, 0, 0, -63, 0, 0, 0, 0, 0, 0, 0, 0,
-28, -28, -28, -28, -28, -28, -28, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -28, 0, 0, -28, -28, -28, -28, 0, -28, -28, -28, -28, -28,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -59, 0, 0, 0, -59, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 43, 0, 0, 0, 0, 0, 0, 0,
9, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 10, 0, 0, 11, 12, 0, 0, 13, 14, 15,
0, -12, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -12, 0, 0, 0, -12, -12, 0, 0, 0, -12, 0, 0, 0,
];
const __EOF_ACTION: &'static [i8] = &[
0,
-66,
-14,
-17,
-21,
-23,
-26,
-25,
0,
0,
-30,
0,
-31,
-32,
-33,
0,
0,
0,
0,
0,
0,
-22,
0,
0,
-29,
0,
-15,
-16,
-13,
-18,
-19,
-20,
-24,
0,
0,
0,
-27,
0,
0,
-28,
0,
0,
0,
-12,
];
const __GOTO: &'static [i8] = &[
0, 0, 0, 0, 0, 0, 2, 3, 4, 5, 6, 7, 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 22, 7, 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 23, 3, 4, 5, 6, 7, 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 24, 3, 4, 5, 6, 7, 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 26, 3, 4, 5, 6, 7, 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 27, 5, 6, 7, 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 28, 5, 6, 7, 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 29, 3, 4, 5, 6, 7, 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 30, 6, 7, 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 31, 6, 7, 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 32, 6, 7, 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 34, 0, 35, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 22, 7, 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 22, 7, 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 22, 7, 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 39, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 41, 3, 4, 5, 6, 7, 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 42, 3, 4, 5, 6, 7, 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 44, 3, 4, 5, 6, 7, 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
];
fn __expected_tokens(__state: usize) -> Vec<::std::string::String> {
const __TERMINAL: &'static [&'static str] = &[
r###""(""###,
r###"")""###,
r###""*""###,
r###""+""###,
r###""-""###,
r###""/""###,
r###""::""###,
r###"":ast""###,
r###"":cbn""###,
r###"":cbv""###,
r###"":cst""###,
r###"":decl""###,
r###"":help""###,
r###"":l""###,
r###"":lazy""###,
r###"":list""###,
r###"":q""###,
r###"":quit""###,
r###"":reset""###,
r###"":t""###,
r###"";""###,
r###"";;""###,
r###""=""###,
r###""[""###,
r###""]""###,
r###""else""###,
r###""false""###,
r###""if""###,
r###""mod""###,
r###""then""###,
r###""true""###,
r###"r#"[0-9]+"#"###,
r###"r#"[a-zA-Z_][0-9a-zA-Z_]*"#"###,
];
__ACTION[(__state * 33)..].iter().zip(__TERMINAL).filter_map(|(&state, terminal)| {
if state == 0 {
None
} else {
Some(terminal.to_string())
}
}).collect()
}
pub struct ExprParser {
builder: super::__intern_token::__MatcherBuilder,
_priv: (),
}
impl ExprParser {
pub fn new() -> ExprParser {
let __builder = super::__intern_token::__MatcherBuilder::new();
ExprParser {
builder: __builder,
_priv: (),
}
}
#[allow(dead_code)]
pub fn parse<
'input,
>(
&self,
input: &'input str,
) -> Result<Expr, __lalrpop_util::ParseError<usize, Token<'input>, &'static str>>
{
let mut __tokens = self.builder.matcher(input);
let mut __states = vec![0_i8];
let mut __symbols = vec![];
let mut __integer;
let mut __lookahead;
let __last_location = &mut Default::default();
'__shift: loop {
__lookahead = match __tokens.next() {
Some(Ok(v)) => v,
None => break '__shift,
Some(Err(e)) => return Err(e),
};
*__last_location = __lookahead.2.clone();
__integer = match __lookahead.1 {
Token(2, _) if true => 0,
Token(3, _) if true => 1,
Token(4, _) if true => 2,
Token(5, _) if true => 3,
Token(6, _) if true => 4,
Token(7, _) if true => 5,
Token(8, _) if true => 6,
Token(9, _) if true => 7,
Token(10, _) if true => 8,
Token(11, _) if true => 9,
Token(12, _) if true => 10,
Token(13, _) if true => 11,
Token(14, _) if true => 12,
Token(15, _) if true => 13,
Token(16, _) if true => 14,
Token(17, _) if true => 15,
Token(18, _) if true => 16,
Token(19, _) if true => 17,
Token(20, _) if true => 18,
Token(21, _) if true => 19,
Token(22, _) if true => 20,
Token(23, _) if true => 21,
Token(24, _) if true => 22,
Token(25, _) if true => 23,
Token(26, _) if true => 24,
Token(27, _) if true => 25,
Token(28, _) if true => 26,
Token(29, _) if true => 27,
Token(30, _) if true => 28,
Token(31, _) if true => 29,
Token(32, _) if true => 30,
Token(0, _) if true => 31,
Token(1, _) if true => 32,
_ => {
let __state = *__states.last().unwrap() as usize;
let __error = __lalrpop_util::ParseError::UnrecognizedToken {
token: Some(__lookahead),
expected: __expected_tokens(__state),
};
return Err(__error);
}
};
'__inner: loop {
let __state = *__states.last().unwrap() as usize;
let __action = __ACTION[__state * 33 + __integer];
if __action > 0 {
let __symbol = match __integer {
0 => match __lookahead.1 {
Token(2, __tok0) => __Symbol::Variant0((__tok0)),
_ => unreachable!(),
},
1 => match __lookahead.1 {
Token(3, __tok0) => __Symbol::Variant0((__tok0)),
_ => unreachable!(),
},
2 => match __lookahead.1 {
Token(4, __tok0) => __Symbol::Variant0((__tok0)),
_ => unreachable!(),
},
3 => match __lookahead.1 {
Token(5, __tok0) => __Symbol::Variant0((__tok0)),
_ => unreachable!(),
},
4 => match __lookahead.1 {
Token(6, __tok0) => __Symbol::Variant0((__tok0)),
_ => unreachable!(),
},
5 => match __lookahead.1 {
Token(7, __tok0) => __Symbol::Variant0((__tok0)),
_ => unreachable!(),
},
6 => match __lookahead.1 {
Token(8, __tok0) => __Symbol::Variant0((__tok0)),
_ => unreachable!(),
},
7 => match __lookahead.1 {
Token(9, __tok0) => __Symbol::Variant0((__tok0)),
_ => unreachable!(),
},
8 => match __lookahead.1 {
Token(10, __tok0) => __Symbol::Variant0((__tok0)),
_ => unreachable!(),
},
9 => match __lookahead.1 {
Token(11, __tok0) => __Symbol::Variant0((__tok0)),
_ => unreachable!(),
},
10 => match __lookahead.1 {
Token(12, __tok0) => __Symbol::Variant0((__tok0)),
_ => unreachable!(),
},
11 => match __lookahead.1 {
Token(13, __tok0) => __Symbol::Variant0((__tok0)),
_ => unreachable!(),
},
12 => match __lookahead.1 {
Token(14, __tok0) => __Symbol::Variant0((__tok0)),
_ => unreachable!(),
},
13 => match __lookahead.1 {
Token(15, __tok0) => __Symbol::Variant0((__tok0)),
_ => unreachable!(),
},
14 => match __lookahead.1 {
Token(16, __tok0) => __Symbol::Variant0((__tok0)),
_ => unreachable!(),
},
15 => match __lookahead.1 {
Token(17, __tok0) => __Symbol::Variant0((__tok0)),
_ => unreachable!(),
},
16 => match __lookahead.1 {
Token(18, __tok0) => __Symbol::Variant0((__tok0)),
_ => unreachable!(),
},
17 => match __lookahead.1 {
Token(19, __tok0) => __Symbol::Variant0((__tok0)),
_ => unreachable!(),
},
18 => match __lookahead.1 {
Token(20, __tok0) => __Symbol::Variant0((__tok0)),
_ => unreachable!(),
},
19 => match __lookahead.1 {
Token(21, __tok0) => __Symbol::Variant0((__tok0)),
_ => unreachable!(),
},
20 => match __lookahead.1 {
Token(22, __tok0) => __Symbol::Variant0((__tok0)),
_ => unreachable!(),
},
21 => match __lookahead.1 {
Token(23, __tok0) => __Symbol::Variant0((__tok0)),
_ => unreachable!(),
},
22 => match __lookahead.1 {
Token(24, __tok0) => __Symbol::Variant0((__tok0)),
_ => unreachable!(),
},
23 => match __lookahead.1 {
Token(25, __tok0) => __Symbol::Variant0((__tok0)),
_ => unreachable!(),
},
24 => match __lookahead.1 {
Token(26, __tok0) => __Symbol::Variant0((__tok0)),
_ => unreachable!(),
},
25 => match __lookahead.1 {
Token(27, __tok0) => __Symbol::Variant0((__tok0)),
_ => unreachable!(),
},
26 => match __lookahead.1 {
Token(28, __tok0) => __Symbol::Variant0((__tok0)),
_ => unreachable!(),
},
27 => match __lookahead.1 {
Token(29, __tok0) => __Symbol::Variant0((__tok0)),
_ => unreachable!(),
},
28 => match __lookahead.1 {
Token(30, __tok0) => __Symbol::Variant0((__tok0)),
_ => unreachable!(),
},
29 => match __lookahead.1 {
Token(31, __tok0) => __Symbol::Variant0((__tok0)),
_ => unreachable!(),
},
30 => match __lookahead.1 {
Token(32, __tok0) => __Symbol::Variant0((__tok0)),
_ => unreachable!(),
},
31 => match __lookahead.1 {
Token(0, __tok0) => __Symbol::Variant0((__tok0)),
_ => unreachable!(),
},
32 => match __lookahead.1 {
Token(1, __tok0) => __Symbol::Variant0((__tok0)),
_ => unreachable!(),
},
_ => unreachable!(),
};
__states.push(__action - 1);
__symbols.push((__lookahead.0, __symbol, __lookahead.2));
continue '__shift;
} else if __action < 0 {
if let Some(r) = __reduce(input, __action, Some(&__lookahead.0), &mut __states, &mut __symbols, ::std::marker::PhantomData::<()>) {
if r.is_err() {
return r;
}
return Err(__lalrpop_util::ParseError::ExtraToken { token: __lookahead });
}
} else {
let mut __err_lookahead = Some(__lookahead);
let mut __err_integer: Option<usize> = Some(__integer);
let __state = *__states.last().unwrap() as usize;
let __error = __lalrpop_util::ParseError::UnrecognizedToken {
token: __err_lookahead,
expected: __expected_tokens(__state),
};
return Err(__error)
}
}
}
loop {
let __state = *__states.last().unwrap() as usize;
let __action = __EOF_ACTION[__state];
if __action < 0 {
if let Some(r) = __reduce(input, __action, None, &mut __states, &mut __symbols, ::std::marker::PhantomData::<()>) {
return r;
}
} else {
let mut __err_lookahead = None;
let mut __err_integer: Option<usize> = None;
let __state = *__states.last().unwrap() as usize;
let __error = __lalrpop_util::ParseError::UnrecognizedToken {
token: __err_lookahead,
expected: __expected_tokens(__state),
};
return Err(__error)
}
}
}
}
pub(crate) fn __reduce<
'input,
>(
input: &'input str,
__action: i8,
__lookahead_start: Option<&usize>,
__states: &mut ::std::vec::Vec<i8>,
__symbols: &mut ::std::vec::Vec<(usize,__Symbol<'input>,usize)>,
_: ::std::marker::PhantomData<()>,
) -> Option<Result<Expr,__lalrpop_util::ParseError<usize, Token<'input>, &'static str>>>
{
let (__pop_states, __symbol, __nonterminal) = match -__action {
1 => {
__reduce1(input, __action, __lookahead_start, __states, __symbols, ::std::marker::PhantomData::<()>)
}
2 => {
__reduce2(input, __action, __lookahead_start, __states, __symbols, ::std::marker::PhantomData::<()>)
}
3 => {
__reduce3(input, __action, __lookahead_start, __states, __symbols, ::std::marker::PhantomData::<()>)
}
4 => {
__reduce4(input, __action, __lookahead_start, __states, __symbols, ::std::marker::PhantomData::<()>)
}
5 => {
__reduce5(input, __action, __lookahead_start, __states, __symbols, ::std::marker::PhantomData::<()>)
}
6 => {
__reduce6(input, __action, __lookahead_start, __states, __symbols, ::std::marker::PhantomData::<()>)
}
7 => {
__reduce7(input, __action, __lookahead_start, __states, __symbols, ::std::marker::PhantomData::<()>)
}
8 => {
__reduce8(input, __action, __lookahead_start, __states, __symbols, ::std::marker::PhantomData::<()>)
}
9 => {
__reduce9(input, __action, __lookahead_start, __states, __symbols, ::std::marker::PhantomData::<()>)
}
10 => {
__reduce10(input, __action, __lookahead_start, __states, __symbols, ::std::marker::PhantomData::<()>)
}
11 => {
__reduce11(input, __action, __lookahead_start, __states, __symbols, ::std::marker::PhantomData::<()>)
}
12 => {
__reduce12(input, __action, __lookahead_start, __states, __symbols, ::std::marker::PhantomData::<()>)
}
13 => {
__reduce13(input, __action, __lookahead_start, __states, __symbols, ::std::marker::PhantomData::<()>)
}
14 => {
__reduce14(input, __action, __lookahead_start, __states, __symbols, ::std::marker::PhantomData::<()>)
}
15 => {
__reduce15(input, __action, __lookahead_start, __states, __symbols, ::std::marker::PhantomData::<()>)
}
16 => {
__reduce16(input, __action, __lookahead_start, __states, __symbols, ::std::marker::PhantomData::<()>)
}
17 => {
__reduce17(input, __action, __lookahead_start, __states, __symbols, ::std::marker::PhantomData::<()>)
}
18 => {
__reduce18(input, __action, __lookahead_start, __states, __symbols, ::std::marker::PhantomData::<()>)
}
19 => {
__reduce19(input, __action, __lookahead_start, __states, __symbols, ::std::marker::PhantomData::<()>)
}
20 => {
__reduce20(input, __action, __lookahead_start, __states, __symbols, ::std::marker::PhantomData::<()>)
}
21 => {
__reduce21(input, __action, __lookahead_start, __states, __symbols, ::std::marker::PhantomData::<()>)
}
22 => {
__reduce22(input, __action, __lookahead_start, __states, __symbols, ::std::marker::PhantomData::<()>)
}
23 => {
__reduce23(input, __action, __lookahead_start, __states, __symbols, ::std::marker::PhantomData::<()>)
}
24 => {
__reduce24(input, __action, __lookahead_start, __states, __symbols, ::std::marker::PhantomData::<()>)
}
25 => {
__reduce25(input, __action, __lookahead_start, __states, __symbols, ::std::marker::PhantomData::<()>)
}
26 => {
__reduce26(input, __action, __lookahead_start, __states, __symbols, ::std::marker::PhantomData::<()>)
}
27 => {
__reduce27(input, __action, __lookahead_start, __states, __symbols, ::std::marker::PhantomData::<()>)
}
28 => {
__reduce28(input, __action, __lookahead_start, __states, __symbols, ::std::marker::PhantomData::<()>)
}
29 => {
__reduce29(input, __action, __lookahead_start, __states, __symbols, ::std::marker::PhantomData::<()>)
}
30 => {
__reduce30(input, __action, __lookahead_start, __states, __symbols, ::std::marker::PhantomData::<()>)
}
31 => {
__reduce31(input, __action, __lookahead_start, __states, __symbols, ::std::marker::PhantomData::<()>)
}
32 => {
__reduce32(input, __action, __lookahead_start, __states, __symbols, ::std::marker::PhantomData::<()>)
}
33 => {
__reduce33(input, __action, __lookahead_start, __states, __symbols, ::std::marker::PhantomData::<()>)
}
34 => {
__reduce34(input, __action, __lookahead_start, __states, __symbols, ::std::marker::PhantomData::<()>)
}
35 => {
__reduce35(input, __action, __lookahead_start, __states, __symbols, ::std::marker::PhantomData::<()>)
}
36 => {
__reduce36(input, __action, __lookahead_start, __states, __symbols, ::std::marker::PhantomData::<()>)
}
37 => {
__reduce37(input, __action, __lookahead_start, __states, __symbols, ::std::marker::PhantomData::<()>)
}
38 => {
__reduce38(input, __action, __lookahead_start, __states, __symbols, ::std::marker::PhantomData::<()>)
}
39 => {
__reduce39(input, __action, __lookahead_start, __states, __symbols, ::std::marker::PhantomData::<()>)
}
40 => {
__reduce40(input, __action, __lookahead_start, __states, __symbols, ::std::marker::PhantomData::<()>)
}
41 => {
__reduce41(input, __action, __lookahead_start, __states, __symbols, ::std::marker::PhantomData::<()>)
}
42 => {
__reduce42(input, __action, __lookahead_start, __states, __symbols, ::std::marker::PhantomData::<()>)
}
43 => {
__reduce43(input, __action, __lookahead_start, __states, __symbols, ::std::marker::PhantomData::<()>)
}
44 => {
__reduce44(input, __action, __lookahead_start, __states, __symbols, ::std::marker::PhantomData::<()>)
}
45 => {
__reduce45(input, __action, __lookahead_start, __states, __symbols, ::std::marker::PhantomData::<()>)
}
46 => {
__reduce46(input, __action, __lookahead_start, __states, __symbols, ::std::marker::PhantomData::<()>)
}
47 => {
__reduce47(input, __action, __lookahead_start, __states, __symbols, ::std::marker::PhantomData::<()>)
}
48 => {
__reduce48(input, __action, __lookahead_start, __states, __symbols, ::std::marker::PhantomData::<()>)
}
49 => {
__reduce49(input, __action, __lookahead_start, __states, __symbols, ::std::marker::PhantomData::<()>)
}
50 => {
__reduce50(input, __action, __lookahead_start, __states, __symbols, ::std::marker::PhantomData::<()>)
}
51 => {
__reduce51(input, __action, __lookahead_start, __states, __symbols, ::std::marker::PhantomData::<()>)
}
52 => {
__reduce52(input, __action, __lookahead_start, __states, __symbols, ::std::marker::PhantomData::<()>)
}
53 => {
__reduce53(input, __action, __lookahead_start, __states, __symbols, ::std::marker::PhantomData::<()>)
}
54 => {
__reduce54(input, __action, __lookahead_start, __states, __symbols, ::std::marker::PhantomData::<()>)
}
55 => {
__reduce55(input, __action, __lookahead_start, __states, __symbols, ::std::marker::PhantomData::<()>)
}
56 => {
__reduce56(input, __action, __lookahead_start, __states, __symbols, ::std::marker::PhantomData::<()>)
}
57 => {
__reduce57(input, __action, __lookahead_start, __states, __symbols, ::std::marker::PhantomData::<()>)
}
58 => {
__reduce58(input, __action, __lookahead_start, __states, __symbols, ::std::marker::PhantomData::<()>)
}
59 => {
__reduce59(input, __action, __lookahead_start, __states, __symbols, ::std::marker::PhantomData::<()>)
}
60 => {
__reduce60(input, __action, __lookahead_start, __states, __symbols, ::std::marker::PhantomData::<()>)
}
61 => {
__reduce61(input, __action, __lookahead_start, __states, __symbols, ::std::marker::PhantomData::<()>)
}
62 => {
__reduce62(input, __action, __lookahead_start, __states, __symbols, ::std::marker::PhantomData::<()>)
}
63 => {
__reduce63(input, __action, __lookahead_start, __states, __symbols, ::std::marker::PhantomData::<()>)
}
64 => {
__reduce64(input, __action, __lookahead_start, __states, __symbols, ::std::marker::PhantomData::<()>)
}
65 => {
__reduce65(input, __action, __lookahead_start, __states, __symbols, ::std::marker::PhantomData::<()>)
}
66 => {
let __sym0 = __pop_Variant4(__symbols);
let __start = __sym0.0.clone();
let __end = __sym0.2.clone();
let __nt = super::__action3::<>(input, __sym0);
return Some(Ok(__nt));
}
67 => {
__reduce67(input, __action, __lookahead_start, __states, __symbols, ::std::marker::PhantomData::<()>)
}
_ => panic!("invalid action code {}", __action)
};
let __states_len = __states.len();
__states.truncate(__states_len - __pop_states);
__symbols.push(__symbol);
let __state = *__states.last().unwrap() as usize;
let __next_state = __GOTO[__state * 25 + __nonterminal] - 1;
__states.push(__next_state);
None
}
fn __pop_Variant2<
'input,
>(
__symbols: &mut ::std::vec::Vec<(usize,__Symbol<'input>,usize)>
) -> (usize, Decl, usize)
{
match __symbols.pop().unwrap() {
(__l, __Symbol::Variant2(__v), __r) => (__l, __v, __r),
_ => panic!("symbol type mismatch")
}
}
fn __pop_Variant4<
'input,
>(
__symbols: &mut ::std::vec::Vec<(usize,__Symbol<'input>,usize)>
) -> (usize, Expr, usize)
{
match __symbols.pop().unwrap() {
(__l, __Symbol::Variant4(__v), __r) => (__l, __v, __r),
_ => panic!("symbol type mismatch")
}
}
fn __pop_Variant5<
'input,
>(
__symbols: &mut ::std::vec::Vec<(usize,__Symbol<'input>,usize)>
) -> (usize, Literal, usize)
{
match __symbols.pop().unwrap() {
(__l, __Symbol::Variant5(__v), __r) => (__l, __v, __r),
_ => panic!("symbol type mismatch")
}
}
fn __pop_Variant7<
'input,
>(
__symbols: &mut ::std::vec::Vec<(usize,__Symbol<'input>,usize)>
) -> (usize, Pattern<()>, usize)
{
match __symbols.pop().unwrap() {
(__l, __Symbol::Variant7(__v), __r) => (__l, __v, __r),
_ => panic!("symbol type mismatch")
}
}
fn __pop_Variant9<
'input,
>(
__symbols: &mut ::std::vec::Vec<(usize,__Symbol<'input>,usize)>
) -> (usize, ReplCommand, usize)
{
match __symbols.pop().unwrap() {
(__l, __Symbol::Variant9(__v), __r) => (__l, __v, __r),
_ => panic!("symbol type mismatch")
}
}
fn __pop_Variant6<
'input,
>(
__symbols: &mut ::std::vec::Vec<(usize,__Symbol<'input>,usize)>
) -> (usize, Symbol, usize)
{
match __symbols.pop().unwrap() {
(__l, __Symbol::Variant6(__v), __r) => (__l, __v, __r),
_ => panic!("symbol type mismatch")
}
}
fn __pop_Variant1<
'input,
>(
__symbols: &mut ::std::vec::Vec<(usize,__Symbol<'input>,usize)>
) -> (usize, ::std::option::Option<&'input str>, usize)
{
match __symbols.pop().unwrap() {
(__l, __Symbol::Variant1(__v), __r) => (__l, __v, __r),
_ => panic!("symbol type mismatch")
}
}
fn __pop_Variant3<
'input,
>(
__symbols: &mut ::std::vec::Vec<(usize,__Symbol<'input>,usize)>
) -> (usize, ::std::vec::Vec<Decl>, usize)
{
match __symbols.pop().unwrap() {
(__l, __Symbol::Variant3(__v), __r) => (__l, __v, __r),
_ => panic!("symbol type mismatch")
}
}
fn __pop_Variant10<
'input,
>(
__symbols: &mut ::std::vec::Vec<(usize,__Symbol<'input>,usize)>
) -> (usize, ::std::vec::Vec<Expr>, usize)
{
match __symbols.pop().unwrap() {
(__l, __Symbol::Variant10(__v), __r) => (__l, __v, __r),
_ => panic!("symbol type mismatch")
}
}
fn __pop_Variant8<
'input,
>(
__symbols: &mut ::std::vec::Vec<(usize,__Symbol<'input>,usize)>
) -> (usize, ::std::vec::Vec<Pattern<()>>, usize)
{
match __symbols.pop().unwrap() {
(__l, __Symbol::Variant8(__v), __r) => (__l, __v, __r),
_ => panic!("symbol type mismatch")
}
}
fn __pop_Variant0<
'input,
>(
__symbols: &mut ::std::vec::Vec<(usize,__Symbol<'input>,usize)>
) -> (usize, &'input str, usize)
{
match __symbols.pop().unwrap() {
(__l, __Symbol::Variant0(__v), __r) => (__l, __v, __r),
_ => panic!("symbol type mismatch")
}
}
pub(crate) fn __reduce1<
'input,
>(
input: &'input str,
__action: i8,
__lookahead_start: Option<&usize>,
__states: &mut ::std::vec::Vec<i8>,
__symbols: &mut ::std::vec::Vec<(usize,__Symbol<'input>,usize)>,
_: ::std::marker::PhantomData<()>,
) -> (usize, (usize,__Symbol<'input>,usize), usize)
{
let __sym0 = __pop_Variant0(__symbols);
let __start = __sym0.0.clone();
let __end = __sym0.2.clone();
let __nt = super::__action54::<>(input, __sym0);
let __symbol = (__start, __Symbol::Variant1(__nt), __end);
(1, __symbol, 0)
}
pub(crate) fn __reduce2<
'input,
>(
input: &'input str,
__action: i8,
__lookahead_start: Option<&usize>,
__states: &mut ::std::vec::Vec<i8>,
__symbols: &mut ::std::vec::Vec<(usize,__Symbol<'input>,usize)>,
_: ::std::marker::PhantomData<()>,
) -> (usize, (usize,__Symbol<'input>,usize), usize)
{
let __start = __symbols.last().map(|s| s.2.clone()).unwrap_or_default();
let __end = __lookahead_start.cloned().unwrap_or_else(|| __start.clone());
let __nt = super::__action55::<>(input, &__start, &__end);
let __symbol = (__start, __Symbol::Variant1(__nt), __end);
(0, __symbol, 0)
}
pub(crate) fn __reduce3<
'input,
>(
input: &'input str,
__action: i8,
__lookahead_start: Option<&usize>,
__states: &mut ::std::vec::Vec<i8>,
__symbols: &mut ::std::vec::Vec<(usize,__Symbol<'input>,usize)>,
_: ::std::marker::PhantomData<()>,
) -> (usize, (usize,__Symbol<'input>,usize), usize)
{
let __sym2 = __pop_Variant4(__symbols);
let __sym1 = __pop_Variant0(__symbols);
let __sym0 = __pop_Variant6(__symbols);
let __start = __sym0.0.clone();
let __end = __sym2.2.clone();
let __nt = super::__action68::<>(input, __sym0, __sym1, __sym2);
let __symbol = (__start, __Symbol::Variant2(__nt), __end);
(3, __symbol, 1)
}
pub(crate) fn __reduce4<
'input,
>(
input: &'input str,
__action: i8,
__lookahead_start: Option<&usize>,
__states: &mut ::std::vec::Vec<i8>,
__symbols: &mut ::std::vec::Vec<(usize,__Symbol<'input>,usize)>,
_: ::std::marker::PhantomData<()>,
) -> (usize, (usize,__Symbol<'input>,usize), usize)
{
let __sym3 = __pop_Variant4(__symbols);
let __sym2 = __pop_Variant0(__symbols);
let __sym1 = __pop_Variant8(__symbols);
let __sym0 = __pop_Variant6(__symbols);
let __start = __sym0.0.clone();
let __end = __sym3.2.clone();
let __nt = super::__action69::<>(input, __sym0, __sym1, __sym2, __sym3);
let __symbol = (__start, __Symbol::Variant2(__nt), __end);
(4, __symbol, 1)
}
pub(crate) fn __reduce5<
'input,
>(
input: &'input str,
__action: i8,
__lookahead_start: Option<&usize>,
__states: &mut ::std::vec::Vec<i8>,
__symbols: &mut ::std::vec::Vec<(usize,__Symbol<'input>,usize)>,
_: ::std::marker::PhantomData<()>,
) -> (usize, (usize,__Symbol<'input>,usize), usize)
{
let __sym1 = __pop_Variant0(__symbols);
let __sym0 = __pop_Variant2(__symbols);
let __start = __sym0.0.clone();
let __end = __sym1.2.clone();
let __nt = super::__action19::<>(input, __sym0, __sym1);
let __symbol = (__start, __Symbol::Variant2(__nt), __end);
(2, __symbol, 2)
}
pub(crate) fn __reduce6<
'input,
>(
input: &'input str,
__action: i8,
__lookahead_start: Option<&usize>,
__states: &mut ::std::vec::Vec<i8>,
__symbols: &mut ::std::vec::Vec<(usize,__Symbol<'input>,usize)>,
_: ::std::marker::PhantomData<()>,
) -> (usize, (usize,__Symbol<'input>,usize), usize)
{
let __start = __symbols.last().map(|s| s.2.clone()).unwrap_or_default();
let __end = __lookahead_start.cloned().unwrap_or_else(|| __start.clone());
let __nt = super::__action52::<>(input, &__start, &__end);
let __symbol = (__start, __Symbol::Variant3(__nt), __end);
(0, __symbol, 3)
}
pub(crate) fn __reduce7<
'input,
>(
input: &'input str,
__action: i8,
__lookahead_start: Option<&usize>,
__states: &mut ::std::vec::Vec<i8>,
__symbols: &mut ::std::vec::Vec<(usize,__Symbol<'input>,usize)>,
_: ::std::marker::PhantomData<()>,
) -> (usize, (usize,__Symbol<'input>,usize), usize)
{
let __sym0 = __pop_Variant3(__symbols);
let __start = __sym0.0.clone();
let __end = __sym0.2.clone();
let __nt = super::__action53::<>(input, __sym0);
let __symbol = (__start, __Symbol::Variant3(__nt), __end);
(1, __symbol, 3)
}
pub(crate) fn __reduce8<
'input,
>(
input: &'input str,
__action: i8,
__lookahead_start: Option<&usize>,
__states: &mut ::std::vec::Vec<i8>,
__symbols: &mut ::std::vec::Vec<(usize,__Symbol<'input>,usize)>,
_: ::std::marker::PhantomData<()>,
) -> (usize, (usize,__Symbol<'input>,usize), usize)
{
let __sym0 = __pop_Variant2(__symbols);
let __start = __sym0.0.clone();
let __end = __sym0.2.clone();
let __nt = super::__action56::<>(input, __sym0);
let __symbol = (__start, __Symbol::Variant3(__nt), __end);
(1, __symbol, 4)
}
pub(crate) fn __reduce9<
'input,
>(
input: &'input str,
__action: i8,
__lookahead_start: Option<&usize>,
__states: &mut ::std::vec::Vec<i8>,
__symbols: &mut ::std::vec::Vec<(usize,__Symbol<'input>,usize)>,
_: ::std::marker::PhantomData<()>,
) -> (usize, (usize,__Symbol<'input>,usize), usize)
{
let __sym1 = __pop_Variant2(__symbols);
let __sym0 = __pop_Variant3(__symbols);
let __start = __sym0.0.clone();
let __end = __sym1.2.clone();
let __nt = super::__action57::<>(input, __sym0, __sym1);
let __symbol = (__start, __Symbol::Variant3(__nt), __end);
(2, __symbol, 4)
}
pub(crate) fn __reduce10<
'input,
>(
input: &'input str,
__action: i8,
__lookahead_start: Option<&usize>,
__states: &mut ::std::vec::Vec<i8>,
__symbols: &mut ::std::vec::Vec<(usize,__Symbol<'input>,usize)>,
_: ::std::marker::PhantomData<()>,
) -> (usize, (usize,__Symbol<'input>,usize), usize)
{
let __start = __symbols.last().map(|s| s.2.clone()).unwrap_or_default();
let __end = __lookahead_start.cloned().unwrap_or_else(|| __start.clone());
let __nt = super::__action66::<>(input, &__start, &__end);
let __symbol = (__start, __Symbol::Variant3(__nt), __end);
(0, __symbol, 5)
}
pub(crate) fn __reduce11<
'input,
>(
input: &'input str,
__action: i8,
__lookahead_start: Option<&usize>,
__states: &mut ::std::vec::Vec<i8>,
__symbols: &mut ::std::vec::Vec<(usize,__Symbol<'input>,usize)>,
_: ::std::marker::PhantomData<()>,
) -> (usize, (usize,__Symbol<'input>,usize), usize)
{
let __sym0 = __pop_Variant3(__symbols);
let __start = __sym0.0.clone();
let __end = __sym0.2.clone();
let __nt = super::__action67::<>(input, __sym0);
let __symbol = (__start, __Symbol::Variant3(__nt), __end);
(1, __symbol, 5)
}
pub(crate) fn __reduce12<
'input,
>(
input: &'input str,
__action: i8,
__lookahead_start: Option<&usize>,
__states: &mut ::std::vec::Vec<i8>,
__symbols: &mut ::std::vec::Vec<(usize,__Symbol<'input>,usize)>,
_: ::std::marker::PhantomData<()>,
) -> (usize, (usize,__Symbol<'input>,usize), usize)
{
let __sym5 = __pop_Variant4(__symbols);
let __sym4 = __pop_Variant0(__symbols);
let __sym3 = __pop_Variant4(__symbols);
let __sym2 = __pop_Variant0(__symbols);
let __sym1 = __pop_Variant4(__symbols);
let __sym0 = __pop_Variant0(__symbols);
let __start = __sym0.0.clone();
let __end = __sym5.2.clone();
let __nt = super::__action21::<>(input, __sym0, __sym1, __sym2, __sym3, __sym4, __sym5);
let __symbol = (__start, __Symbol::Variant4(__nt), __end);
(6, __symbol, 6)
}
pub(crate) fn __reduce13<
'input,
>(
input: &'input str,
__action: i8,
__lookahead_start: Option<&usize>,
__states: &mut ::std::vec::Vec<i8>,
__symbols: &mut ::std::vec::Vec<(usize,__Symbol<'input>,usize)>,
_: ::std::marker::PhantomData<()>,
) -> (usize, (usize,__Symbol<'input>,usize), usize)
{
let __sym2 = __pop_Variant4(__symbols);
let __sym1 = __pop_Variant0(__symbols);
let __sym0 = __pop_Variant4(__symbols);
let __start = __sym0.0.clone();
let __end = __sym2.2.clone();
let __nt = super::__action22::<>(input, __sym0, __sym1, __sym2);
let __symbol = (__start, __Symbol::Variant4(__nt), __end);
(3, __symbol, 6)
}
pub(crate) fn __reduce14<
'input,
>(
input: &'input str,
__action: i8,
__lookahead_start: Option<&usize>,
__states: &mut ::std::vec::Vec<i8>,
__symbols: &mut ::std::vec::Vec<(usize,__Symbol<'input>,usize)>,
_: ::std::marker::PhantomData<()>,
) -> (usize, (usize,__Symbol<'input>,usize), usize)
{
let __sym0 = __pop_Variant4(__symbols);
let __start = __sym0.0.clone();
let __end = __sym0.2.clone();
let __nt = super::__action23::<>(input, __sym0);
let __symbol = (__start, __Symbol::Variant4(__nt), __end);
(1, __symbol, 6)
}
pub(crate) fn __reduce15<
'input,
>(
input: &'input str,
__action: i8,
__lookahead_start: Option<&usize>,
__states: &mut ::std::vec::Vec<i8>,
__symbols: &mut ::std::vec::Vec<(usize,__Symbol<'input>,usize)>,
_: ::std::marker::PhantomData<()>,
) -> (usize, (usize,__Symbol<'input>,usize), usize)
{
let __sym2 = __pop_Variant4(__symbols);
let __sym1 = __pop_Variant0(__symbols);
let __sym0 = __pop_Variant4(__symbols);
let __start = __sym0.0.clone();
let __end = __sym2.2.clone();
let __nt = super::__action24::<>(input, __sym0, __sym1, __sym2);
let __symbol = (__start, __Symbol::Variant4(__nt), __end);
(3, __symbol, 7)
}
pub(crate) fn __reduce16<
'input,
>(
input: &'input str,
__action: i8,
__lookahead_start: Option<&usize>,
__states: &mut ::std::vec::Vec<i8>,
__symbols: &mut ::std::vec::Vec<(usize,__Symbol<'input>,usize)>,
_: ::std::marker::PhantomData<()>,
) -> (usize, (usize,__Symbol<'input>,usize), usize)
{
let __sym2 = __pop_Variant4(__symbols);
let __sym1 = __pop_Variant0(__symbols);
let __sym0 = __pop_Variant4(__symbols);
let __start = __sym0.0.clone();
let __end = __sym2.2.clone();
let __nt = super::__action25::<>(input, __sym0, __sym1, __sym2);
let __symbol = (__start, __Symbol::Variant4(__nt), __end);
(3, __symbol, 7)
}
pub(crate) fn __reduce17<
'input,
>(
input: &'input str,
__action: i8,
__lookahead_start: Option<&usize>,
__states: &mut ::std::vec::Vec<i8>,
__symbols: &mut ::std::vec::Vec<(usize,__Symbol<'input>,usize)>,
_: ::std::marker::PhantomData<()>,
) -> (usize, (usize,__Symbol<'input>,usize), usize)
{
let __sym0 = __pop_Variant4(__symbols);
let __start = __sym0.0.clone();
let __end = __sym0.2.clone();
let __nt = super::__action26::<>(input, __sym0);
let __symbol = (__start, __Symbol::Variant4(__nt), __end);
(1, __symbol, 7)
}
pub(crate) fn __reduce18<
'input,
>(
input: &'input str,
__action: i8,
__lookahead_start: Option<&usize>,
__states: &mut ::std::vec::Vec<i8>,
__symbols: &mut ::std::vec::Vec<(usize,__Symbol<'input>,usize)>,
_: ::std::marker::PhantomData<()>,
) -> (usize, (usize,__Symbol<'input>,usize), usize)
{
let __sym2 = __pop_Variant4(__symbols);
let __sym1 = __pop_Variant0(__symbols);
let __sym0 = __pop_Variant4(__symbols);
let __start = __sym0.0.clone();
let __end = __sym2.2.clone();
let __nt = super::__action27::<>(input, __sym0, __sym1, __sym2);
let __symbol = (__start, __Symbol::Variant4(__nt), __end);
(3, __symbol, 8)
}
pub(crate) fn __reduce19<
'input,
>(
input: &'input str,
__action: i8,
__lookahead_start: Option<&usize>,
__states: &mut ::std::vec::Vec<i8>,
__symbols: &mut ::std::vec::Vec<(usize,__Symbol<'input>,usize)>,
_: ::std::marker::PhantomData<()>,
) -> (usize, (usize,__Symbol<'input>,usize), usize)
{
let __sym2 = __pop_Variant4(__symbols);
let __sym1 = __pop_Variant0(__symbols);
let __sym0 = __pop_Variant4(__symbols);
let __start = __sym0.0.clone();
let __end = __sym2.2.clone();
let __nt = super::__action28::<>(input, __sym0, __sym1, __sym2);
let __symbol = (__start, __Symbol::Variant4(__nt), __end);
(3, __symbol, 8)
}
pub(crate) fn __reduce20<
'input,
>(
input: &'input str,
__action: i8,
__lookahead_start: Option<&usize>,
__states: &mut ::std::vec::Vec<i8>,
__symbols: &mut ::std::vec::Vec<(usize,__Symbol<'input>,usize)>,
_: ::std::marker::PhantomData<()>,
) -> (usize, (usize,__Symbol<'input>,usize), usize)
{
let __sym2 = __pop_Variant4(__symbols);
let __sym1 = __pop_Variant0(__symbols);
let __sym0 = __pop_Variant4(__symbols);
let __start = __sym0.0.clone();
let __end = __sym2.2.clone();
let __nt = super::__action29::<>(input, __sym0, __sym1, __sym2);
let __symbol = (__start, __Symbol::Variant4(__nt), __end);
(3, __symbol, 8)
}
pub(crate) fn __reduce21<
'input,
>(
input: &'input str,
__action: i8,
__lookahead_start: Option<&usize>,
__states: &mut ::std::vec::Vec<i8>,
__symbols: &mut ::std::vec::Vec<(usize,__Symbol<'input>,usize)>,
_: ::std::marker::PhantomData<()>,
) -> (usize, (usize,__Symbol<'input>,usize), usize)
{
let __sym0 = __pop_Variant4(__symbols);
let __start = __sym0.0.clone();
let __end = __sym0.2.clone();
let __nt = super::__action30::<>(input, __sym0);
let __symbol = (__start, __Symbol::Variant4(__nt), __end);
(1, __symbol, 8)
}
pub(crate) fn __reduce22<
'input,
>(
input: &'input str,
__action: i8,
__lookahead_start: Option<&usize>,
__states: &mut ::std::vec::Vec<i8>,
__symbols: &mut ::std::vec::Vec<(usize,__Symbol<'input>,usize)>,
_: ::std::marker::PhantomData<()>,
) -> (usize, (usize,__Symbol<'input>,usize), usize)
{
let __sym1 = __pop_Variant4(__symbols);
let __sym0 = __pop_Variant4(__symbols);
let __start = __sym0.0.clone();
let __end = __sym1.2.clone();
let __nt = super::__action31::<>(input, __sym0, __sym1);
let __symbol = (__start, __Symbol::Variant4(__nt), __end);
(2, __symbol, 9)
}
pub(crate) fn __reduce23<
'input,
>(
input: &'input str,
__action: i8,
__lookahead_start: Option<&usize>,
__states: &mut ::std::vec::Vec<i8>,
__symbols: &mut ::std::vec::Vec<(usize,__Symbol<'input>,usize)>,
_: ::std::marker::PhantomData<()>,
) -> (usize, (usize,__Symbol<'input>,usize), usize)
{
let __sym0 = __pop_Variant4(__symbols);
let __start = __sym0.0.clone();
let __end = __sym0.2.clone();
let __nt = super::__action32::<>(input, __sym0);
let __symbol = (__start, __Symbol::Variant4(__nt), __end);
(1, __symbol, 9)
}
pub(crate) fn __reduce24<
'input,
>(
input: &'input str,
__action: i8,
__lookahead_start: Option<&usize>,
__states: &mut ::std::vec::Vec<i8>,
__symbols: &mut ::std::vec::Vec<(usize,__Symbol<'input>,usize)>,
_: ::std::marker::PhantomData<()>,
) -> (usize, (usize,__Symbol<'input>,usize), usize)
{
let __sym2 = __pop_Variant0(__symbols);
let __sym1 = __pop_Variant4(__symbols);
let __sym0 = __pop_Variant0(__symbols);
let __start = __sym0.0.clone();
let __end = __sym2.2.clone();
let __nt = super::__action33::<>(input, __sym0, __sym1, __sym2);
let __symbol = (__start, __Symbol::Variant4(__nt), __end);
(3, __symbol, 10)
}
pub(crate) fn __reduce25<
'input,
>(
input: &'input str,
__action: i8,
__lookahead_start: Option<&usize>,
__states: &mut ::std::vec::Vec<i8>,
__symbols: &mut ::std::vec::Vec<(usize,__Symbol<'input>,usize)>,
_: ::std::marker::PhantomData<()>,
) -> (usize, (usize,__Symbol<'input>,usize), usize)
{
let __sym0 = __pop_Variant6(__symbols);
let __start = __sym0.0.clone();
let __end = __sym0.2.clone();
let __nt = super::__action34::<>(input, __sym0);
let __symbol = (__start, __Symbol::Variant4(__nt), __end);
(1, __symbol, 10)
}
pub(crate) fn __reduce26<
'input,
>(
input: &'input str,
__action: i8,
__lookahead_start: Option<&usize>,
__states: &mut ::std::vec::Vec<i8>,
__symbols: &mut ::std::vec::Vec<(usize,__Symbol<'input>,usize)>,
_: ::std::marker::PhantomData<()>,
) -> (usize, (usize,__Symbol<'input>,usize), usize)
{
let __sym0 = __pop_Variant5(__symbols);
let __start = __sym0.0.clone();
let __end = __sym0.2.clone();
let __nt = super::__action35::<>(input, __sym0);
let __symbol = (__start, __Symbol::Variant4(__nt), __end);
(1, __symbol, 10)
}
pub(crate) fn __reduce27<
'input,
>(
input: &'input str,
__action: i8,
__lookahead_start: Option<&usize>,
__states: &mut ::std::vec::Vec<i8>,
__symbols: &mut ::std::vec::Vec<(usize,__Symbol<'input>,usize)>,
_: ::std::marker::PhantomData<()>,
) -> (usize, (usize,__Symbol<'input>,usize), usize)
{
let __sym2 = __pop_Variant0(__symbols);
let __sym1 = __pop_Variant4(__symbols);
let __sym0 = __pop_Variant0(__symbols);
let __start = __sym0.0.clone();
let __end = __sym2.2.clone();
let __nt = super::__action70::<>(input, __sym0, __sym1, __sym2);
let __symbol = (__start, __Symbol::Variant4(__nt), __end);
(3, __symbol, 10)
}
pub(crate) fn __reduce28<
'input,
>(
input: &'input str,
__action: i8,
__lookahead_start: Option<&usize>,
__states: &mut ::std::vec::Vec<i8>,
__symbols: &mut ::std::vec::Vec<(usize,__Symbol<'input>,usize)>,
_: ::std::marker::PhantomData<()>,
) -> (usize, (usize,__Symbol<'input>,usize), usize)
{
let __sym3 = __pop_Variant0(__symbols);
let __sym2 = __pop_Variant10(__symbols);
let __sym1 = __pop_Variant4(__symbols);
let __sym0 = __pop_Variant0(__symbols);
let __start = __sym0.0.clone();
let __end = __sym3.2.clone();
let __nt = super::__action71::<>(input, __sym0, __sym1, __sym2, __sym3);
let __symbol = (__start, __Symbol::Variant4(__nt), __end);
(4, __symbol, 10)
}
pub(crate) fn __reduce29<
'input,
>(
input: &'input str,
__action: i8,
__lookahead_start: Option<&usize>,
__states: &mut ::std::vec::Vec<i8>,
__symbols: &mut ::std::vec::Vec<(usize,__Symbol<'input>,usize)>,
_: ::std::marker::PhantomData<()>,
) -> (usize, (usize,__Symbol<'input>,usize), usize)
{
let __sym1 = __pop_Variant0(__symbols);
let __sym0 = __pop_Variant0(__symbols);
let __start = __sym0.0.clone();
let __end = __sym1.2.clone();
let __nt = super::__action43::<>(input, __sym0, __sym1);
let __symbol = (__start, __Symbol::Variant5(__nt), __end);
(2, __symbol, 11)
}
pub(crate) fn __reduce30<
'input,
>(
input: &'input str,
__action: i8,
__lookahead_start: Option<&usize>,
__states: &mut ::std::vec::Vec<i8>,
__symbols: &mut ::std::vec::Vec<(usize,__Symbol<'input>,usize)>,
_: ::std::marker::PhantomData<()>,
) -> (usize, (usize,__Symbol<'input>,usize), usize)
{
let __sym0 = __pop_Variant0(__symbols);
let __start = __sym0.0.clone();
let __end = __sym0.2.clone();
let __nt = super::__action44::<>(input, __sym0);
let __symbol = (__start, __Symbol::Variant5(__nt), __end);
(1, __symbol, 11)
}
pub(crate) fn __reduce31<
'input,
>(
input: &'input str,
__action: i8,
__lookahead_start: Option<&usize>,
__states: &mut ::std::vec::Vec<i8>,
__symbols: &mut ::std::vec::Vec<(usize,__Symbol<'input>,usize)>,
_: ::std::marker::PhantomData<()>,
) -> (usize, (usize,__Symbol<'input>,usize), usize)
{
let __sym0 = __pop_Variant0(__symbols);
let __start = __sym0.0.clone();
let __end = __sym0.2.clone();
let __nt = super::__action45::<>(input, __sym0);
let __symbol = (__start, __Symbol::Variant5(__nt), __end);
(1, __symbol, 11)
}
pub(crate) fn __reduce32<
'input,
>(
input: &'input str,
__action: i8,
__lookahead_start: Option<&usize>,
__states: &mut ::std::vec::Vec<i8>,
__symbols: &mut ::std::vec::Vec<(usize,__Symbol<'input>,usize)>,
_: ::std::marker::PhantomData<()>,
) -> (usize, (usize,__Symbol<'input>,usize), usize)
{
let __sym0 = __pop_Variant0(__symbols);
let __start = __sym0.0.clone();
let __end = __sym0.2.clone();
let __nt = super::__action46::<>(input, __sym0);
let __symbol = (__start, __Symbol::Variant5(__nt), __end);
(1, __symbol, 11)
}
pub(crate) fn __reduce33<
'input,
>(
input: &'input str,
__action: i8,
__lookahead_start: Option<&usize>,
__states: &mut ::std::vec::Vec<i8>,
__symbols: &mut ::std::vec::Vec<(usize,__Symbol<'input>,usize)>,
_: ::std::marker::PhantomData<()>,
) -> (usize, (usize,__Symbol<'input>,usize), usize)
{
let __sym0 = __pop_Variant0(__symbols);
let __start = __sym0.0.clone();
let __end = __sym0.2.clone();
let __nt = super::__action47::<>(input, __sym0);
let __symbol = (__start, __Symbol::Variant6(__nt), __end);
(1, __symbol, 12)
}
pub(crate) fn __reduce34<
'input,
>(
input: &'input str,
__action: i8,
__lookahead_start: Option<&usize>,
__states: &mut ::std::vec::Vec<i8>,
__symbols: &mut ::std::vec::Vec<(usize,__Symbol<'input>,usize)>,
_: ::std::marker::PhantomData<()>,
) -> (usize, (usize,__Symbol<'input>,usize), usize)
{
let __sym2 = __pop_Variant7(__symbols);
let __sym1 = __pop_Variant0(__symbols);
let __sym0 = __pop_Variant7(__symbols);
let __start = __sym0.0.clone();
let __end = __sym2.2.clone();
let __nt = super::__action38::<>(input, __sym0, __sym1, __sym2);
let __symbol = (__start, __Symbol::Variant7(__nt), __end);
(3, __symbol, 13)
}
pub(crate) fn __reduce35<
'input,
>(
input: &'input str,
__action: i8,
__lookahead_start: Option<&usize>,
__states: &mut ::std::vec::Vec<i8>,
__symbols: &mut ::std::vec::Vec<(usize,__Symbol<'input>,usize)>,
_: ::std::marker::PhantomData<()>,
) -> (usize, (usize,__Symbol<'input>,usize), usize)
{
let __sym0 = __pop_Variant7(__symbols);
let __start = __sym0.0.clone();
let __end = __sym0.2.clone();
let __nt = super::__action39::<>(input, __sym0);
let __symbol = (__start, __Symbol::Variant7(__nt), __end);
(1, __symbol, 13)
}
pub(crate) fn __reduce36<
'input,
>(
input: &'input str,
__action: i8,
__lookahead_start: Option<&usize>,
__states: &mut ::std::vec::Vec<i8>,
__symbols: &mut ::std::vec::Vec<(usize,__Symbol<'input>,usize)>,
_: ::std::marker::PhantomData<()>,
) -> (usize, (usize,__Symbol<'input>,usize), usize)
{
let __sym2 = __pop_Variant0(__symbols);
let __sym1 = __pop_Variant7(__symbols);
let __sym0 = __pop_Variant0(__symbols);
let __start = __sym0.0.clone();
let __end = __sym2.2.clone();
let __nt = super::__action40::<>(input, __sym0, __sym1, __sym2);
let __symbol = (__start, __Symbol::Variant7(__nt), __end);
(3, __symbol, 14)
}
pub(crate) fn __reduce37<
'input,
>(
input: &'input str,
__action: i8,
__lookahead_start: Option<&usize>,
__states: &mut ::std::vec::Vec<i8>,
__symbols: &mut ::std::vec::Vec<(usize,__Symbol<'input>,usize)>,
_: ::std::marker::PhantomData<()>,
) -> (usize, (usize,__Symbol<'input>,usize), usize)
{
let __sym0 = __pop_Variant6(__symbols);
let __start = __sym0.0.clone();
let __end = __sym0.2.clone();
let __nt = super::__action41::<>(input, __sym0);
let __symbol = (__start, __Symbol::Variant7(__nt), __end);
(1, __symbol, 14)
}
pub(crate) fn __reduce38<
'input,
>(
input: &'input str,
__action: i8,
__lookahead_start: Option<&usize>,
__states: &mut ::std::vec::Vec<i8>,
__symbols: &mut ::std::vec::Vec<(usize,__Symbol<'input>,usize)>,
_: ::std::marker::PhantomData<()>,
) -> (usize, (usize,__Symbol<'input>,usize), usize)
{
let __sym0 = __pop_Variant5(__symbols);
let __start = __sym0.0.clone();
let __end = __sym0.2.clone();
let __nt = super::__action42::<>(input, __sym0);
let __symbol = (__start, __Symbol::Variant7(__nt), __end);
(1, __symbol, 14)
}
pub(crate) fn __reduce39<
'input,
>(
input: &'input str,
__action: i8,
__lookahead_start: Option<&usize>,
__states: &mut ::std::vec::Vec<i8>,
__symbols: &mut ::std::vec::Vec<(usize,__Symbol<'input>,usize)>,
_: ::std::marker::PhantomData<()>,
) -> (usize, (usize,__Symbol<'input>,usize), usize)
{
let __start = __symbols.last().map(|s| s.2.clone()).unwrap_or_default();
let __end = __lookahead_start.cloned().unwrap_or_else(|| __start.clone());
let __nt = super::__action50::<>(input, &__start, &__end);
let __symbol = (__start, __Symbol::Variant8(__nt), __end);
(0, __symbol, 15)
}
pub(crate) fn __reduce40<
'input,
>(
input: &'input str,
__action: i8,
__lookahead_start: Option<&usize>,
__states: &mut ::std::vec::Vec<i8>,
__symbols: &mut ::std::vec::Vec<(usize,__Symbol<'input>,usize)>,
_: ::std::marker::PhantomData<()>,
) -> (usize, (usize,__Symbol<'input>,usize), usize)
{
let __sym0 = __pop_Variant8(__symbols);
let __start = __sym0.0.clone();
let __end = __sym0.2.clone();
let __nt = super::__action51::<>(input, __sym0);
let __symbol = (__start, __Symbol::Variant8(__nt), __end);
(1, __symbol, 15)
}
pub(crate) fn __reduce41<
'input,
>(
input: &'input str,
__action: i8,
__lookahead_start: Option<&usize>,
__states: &mut ::std::vec::Vec<i8>,
__symbols: &mut ::std::vec::Vec<(usize,__Symbol<'input>,usize)>,
_: ::std::marker::PhantomData<()>,
) -> (usize, (usize,__Symbol<'input>,usize), usize)
{
let __sym0 = __pop_Variant7(__symbols);
let __start = __sym0.0.clone();
let __end = __sym0.2.clone();
let __nt = super::__action58::<>(input, __sym0);
let __symbol = (__start, __Symbol::Variant8(__nt), __end);
(1, __symbol, 16)
}
pub(crate) fn __reduce42<
'input,
>(
input: &'input str,
__action: i8,
__lookahead_start: Option<&usize>,
__states: &mut ::std::vec::Vec<i8>,
__symbols: &mut ::std::vec::Vec<(usize,__Symbol<'input>,usize)>,
_: ::std::marker::PhantomData<()>,
) -> (usize, (usize,__Symbol<'input>,usize), usize)
{
let __sym1 = __pop_Variant7(__symbols);
let __sym0 = __pop_Variant8(__symbols);
let __start = __sym0.0.clone();
let __end = __sym1.2.clone();
let __nt = super::__action59::<>(input, __sym0, __sym1);
let __symbol = (__start, __Symbol::Variant8(__nt), __end);
(2, __symbol, 16)
}
pub(crate) fn __reduce43<
'input,
>(
input: &'input str,
__action: i8,
__lookahead_start: Option<&usize>,
__states: &mut ::std::vec::Vec<i8>,
__symbols: &mut ::std::vec::Vec<(usize,__Symbol<'input>,usize)>,
_: ::std::marker::PhantomData<()>,
) -> (usize, (usize,__Symbol<'input>,usize), usize)
{
let __sym1 = __pop_Variant0(__symbols);
let __sym0 = __pop_Variant4(__symbols);
let __start = __sym0.0.clone();
let __end = __sym1.2.clone();
let __nt = super::__action62::<>(input, __sym0, __sym1);
let __symbol = (__start, __Symbol::Variant9(__nt), __end);
(2, __symbol, 17)
}
pub(crate) fn __reduce44<
'input,
>(
input: &'input str,
__action: i8,
__lookahead_start: Option<&usize>,
__states: &mut ::std::vec::Vec<i8>,
__symbols: &mut ::std::vec::Vec<(usize,__Symbol<'input>,usize)>,
_: ::std::marker::PhantomData<()>,
) -> (usize, (usize,__Symbol<'input>,usize), usize)
{
let __sym0 = __pop_Variant4(__symbols);
let __start = __sym0.0.clone();
let __end = __sym0.2.clone();
let __nt = super::__action63::<>(input, __sym0);
let __symbol = (__start, __Symbol::Variant9(__nt), __end);
(1, __symbol, 17)
}
pub(crate) fn __reduce45<
'input,
>(
input: &'input str,
__action: i8,
__lookahead_start: Option<&usize>,
__states: &mut ::std::vec::Vec<i8>,
__symbols: &mut ::std::vec::Vec<(usize,__Symbol<'input>,usize)>,
_: ::std::marker::PhantomData<()>,
) -> (usize, (usize,__Symbol<'input>,usize), usize)
{
let __sym0 = __pop_Variant0(__symbols);
let __start = __sym0.0.clone();
let __end = __sym0.2.clone();
let __nt = super::__action5::<>(input, __sym0);
let __symbol = (__start, __Symbol::Variant9(__nt), __end);
(1, __symbol, 17)
}
pub(crate) fn __reduce46<
'input,
>(
input: &'input str,
__action: i8,
__lookahead_start: Option<&usize>,
__states: &mut ::std::vec::Vec<i8>,
__symbols: &mut ::std::vec::Vec<(usize,__Symbol<'input>,usize)>,
_: ::std::marker::PhantomData<()>,
) -> (usize, (usize,__Symbol<'input>,usize), usize)
{
let __sym0 = __pop_Variant0(__symbols);
let __start = __sym0.0.clone();
let __end = __sym0.2.clone();
let __nt = super::__action6::<>(input, __sym0);
let __symbol = (__start, __Symbol::Variant9(__nt), __end);
(1, __symbol, 17)
}
pub(crate) fn __reduce47<
'input,
>(
input: &'input str,
__action: i8,
__lookahead_start: Option<&usize>,
__states: &mut ::std::vec::Vec<i8>,
__symbols: &mut ::std::vec::Vec<(usize,__Symbol<'input>,usize)>,
_: ::std::marker::PhantomData<()>,
) -> (usize, (usize,__Symbol<'input>,usize), usize)
{
let __sym0 = __pop_Variant0(__symbols);
let __start = __sym0.0.clone();
let __end = __sym0.2.clone();
let __nt = super::__action7::<>(input, __sym0);
let __symbol = (__start, __Symbol::Variant9(__nt), __end);
(1, __symbol, 17)
}
pub(crate) fn __reduce48<
'input,
>(
input: &'input str,
__action: i8,
__lookahead_start: Option<&usize>,
__states: &mut ::std::vec::Vec<i8>,
__symbols: &mut ::std::vec::Vec<(usize,__Symbol<'input>,usize)>,
_: ::std::marker::PhantomData<()>,
) -> (usize, (usize,__Symbol<'input>,usize), usize)
{
let __sym0 = __pop_Variant0(__symbols);
let __start = __sym0.0.clone();
let __end = __sym0.2.clone();
let __nt = super::__action8::<>(input, __sym0);
let __symbol = (__start, __Symbol::Variant9(__nt), __end);
(1, __symbol, 17)
}
pub(crate) fn __reduce49<
'input,
>(
input: &'input str,
__action: i8,
__lookahead_start: Option<&usize>,
__states: &mut ::std::vec::Vec<i8>,
__symbols: &mut ::std::vec::Vec<(usize,__Symbol<'input>,usize)>,
_: ::std::marker::PhantomData<()>,
) -> (usize, (usize,__Symbol<'input>,usize), usize)
{
let __sym2 = __pop_Variant0(__symbols);
let __sym1 = __pop_Variant2(__symbols);
let __sym0 = __pop_Variant0(__symbols);
let __start = __sym0.0.clone();
let __end = __sym2.2.clone();
let __nt = super::__action64::<>(input, __sym0, __sym1, __sym2);
let __symbol = (__start, __Symbol::Variant9(__nt), __end);
(3, __symbol, 17)
}
pub(crate) fn __reduce50<
'input,
>(
input: &'input str,
__action: i8,
__lookahead_start: Option<&usize>,
__states: &mut ::std::vec::Vec<i8>,
__symbols: &mut ::std::vec::Vec<(usize,__Symbol<'input>,usize)>,
_: ::std::marker::PhantomData<()>,
) -> (usize, (usize,__Symbol<'input>,usize), usize)
{
let __sym1 = __pop_Variant2(__symbols);
let __sym0 = __pop_Variant0(__symbols);
let __start = __sym0.0.clone();
let __end = __sym1.2.clone();
let __nt = super::__action65::<>(input, __sym0, __sym1);
let __symbol = (__start, __Symbol::Variant9(__nt), __end);
(2, __symbol, 17)
}
pub(crate) fn __reduce51<
'input,
>(
input: &'input str,
__action: i8,
__lookahead_start: Option<&usize>,
__states: &mut ::std::vec::Vec<i8>,
__symbols: &mut ::std::vec::Vec<(usize,__Symbol<'input>,usize)>,
_: ::std::marker::PhantomData<()>,
) -> (usize, (usize,__Symbol<'input>,usize), usize)
{
let __sym0 = __pop_Variant0(__symbols);
let __start = __sym0.0.clone();
let __end = __sym0.2.clone();
let __nt = super::__action10::<>(input, __sym0);
let __symbol = (__start, __Symbol::Variant9(__nt), __end);
(1, __symbol, 17)
}
pub(crate) fn __reduce52<
'input,
>(
input: &'input str,
__action: i8,
__lookahead_start: Option<&usize>,
__states: &mut ::std::vec::Vec<i8>,
__symbols: &mut ::std::vec::Vec<(usize,__Symbol<'input>,usize)>,
_: ::std::marker::PhantomData<()>,
) -> (usize, (usize,__Symbol<'input>,usize), usize)
{
let __sym0 = __pop_Variant0(__symbols);
let __start = __sym0.0.clone();
let __end = __sym0.2.clone();
let __nt = super::__action11::<>(input, __sym0);
let __symbol = (__start, __Symbol::Variant9(__nt), __end);
(1, __symbol, 17)
}
pub(crate) fn __reduce53<
'input,
>(
input: &'input str,
__action: i8,
__lookahead_start: Option<&usize>,
__states: &mut ::std::vec::Vec<i8>,
__symbols: &mut ::std::vec::Vec<(usize,__Symbol<'input>,usize)>,
_: ::std::marker::PhantomData<()>,
) -> (usize, (usize,__Symbol<'input>,usize), usize)
{
let __sym0 = __pop_Variant0(__symbols);
let __start = __sym0.0.clone();
let __end = __sym0.2.clone();
let __nt = super::__action12::<>(input, __sym0);
let __symbol = (__start, __Symbol::Variant9(__nt), __end);
(1, __symbol, 17)
}
pub(crate) fn __reduce54<
'input,
>(
input: &'input str,
__action: i8,
__lookahead_start: Option<&usize>,
__states: &mut ::std::vec::Vec<i8>,
__symbols: &mut ::std::vec::Vec<(usize,__Symbol<'input>,usize)>,
_: ::std::marker::PhantomData<()>,
) -> (usize, (usize,__Symbol<'input>,usize), usize)
{
let __sym0 = __pop_Variant0(__symbols);
let __start = __sym0.0.clone();
let __end = __sym0.2.clone();
let __nt = super::__action13::<>(input, __sym0);
let __symbol = (__start, __Symbol::Variant9(__nt), __end);
(1, __symbol, 17)
}
pub(crate) fn __reduce55<
'input,
>(
input: &'input str,
__action: i8,
__lookahead_start: Option<&usize>,
__states: &mut ::std::vec::Vec<i8>,
__symbols: &mut ::std::vec::Vec<(usize,__Symbol<'input>,usize)>,
_: ::std::marker::PhantomData<()>,
) -> (usize, (usize,__Symbol<'input>,usize), usize)
{
let __sym0 = __pop_Variant0(__symbols);
let __start = __sym0.0.clone();
let __end = __sym0.2.clone();
let __nt = super::__action14::<>(input, __sym0);
let __symbol = (__start, __Symbol::Variant9(__nt), __end);
(1, __symbol, 17)
}
pub(crate) fn __reduce56<
'input,
>(
input: &'input str,
__action: i8,
__lookahead_start: Option<&usize>,
__states: &mut ::std::vec::Vec<i8>,
__symbols: &mut ::std::vec::Vec<(usize,__Symbol<'input>,usize)>,
_: ::std::marker::PhantomData<()>,
) -> (usize, (usize,__Symbol<'input>,usize), usize)
{
let __sym0 = __pop_Variant0(__symbols);
let __start = __sym0.0.clone();
let __end = __sym0.2.clone();
let __nt = super::__action15::<>(input, __sym0);
let __symbol = (__start, __Symbol::Variant9(__nt), __end);
(1, __symbol, 17)
}
pub(crate) fn __reduce57<
'input,
>(
input: &'input str,
__action: i8,
__lookahead_start: Option<&usize>,
__states: &mut ::std::vec::Vec<i8>,
__symbols: &mut ::std::vec::Vec<(usize,__Symbol<'input>,usize)>,
_: ::std::marker::PhantomData<()>,
) -> (usize, (usize,__Symbol<'input>,usize), usize)
{
let __sym0 = __pop_Variant0(__symbols);
let __start = __sym0.0.clone();
let __end = __sym0.2.clone();
let __nt = super::__action16::<>(input, __sym0);
let __symbol = (__start, __Symbol::Variant9(__nt), __end);
(1, __symbol, 17)
}
pub(crate) fn __reduce58<
'input,
>(
input: &'input str,
__action: i8,
__lookahead_start: Option<&usize>,
__states: &mut ::std::vec::Vec<i8>,
__symbols: &mut ::std::vec::Vec<(usize,__Symbol<'input>,usize)>,
_: ::std::marker::PhantomData<()>,
) -> (usize, (usize,__Symbol<'input>,usize), usize)
{
let __sym1 = __pop_Variant4(__symbols);
let __sym0 = __pop_Variant0(__symbols);
let __start = __sym0.0.clone();
let __end = __sym1.2.clone();
let __nt = super::__action17::<>(input, __sym0, __sym1);
let __symbol = (__start, __Symbol::Variant9(__nt), __end);
(2, __symbol, 17)
}
pub(crate) fn __reduce59<
'input,
>(
input: &'input str,
__action: i8,
__lookahead_start: Option<&usize>,
__states: &mut ::std::vec::Vec<i8>,
__symbols: &mut ::std::vec::Vec<(usize,__Symbol<'input>,usize)>,
_: ::std::marker::PhantomData<()>,
) -> (usize, (usize,__Symbol<'input>,usize), usize)
{
let __sym1 = __pop_Variant4(__symbols);
let __sym0 = __pop_Variant0(__symbols);
let __start = __sym0.0.clone();
let __end = __sym1.2.clone();
let __nt = super::__action37::<>(input, __sym0, __sym1);
let __symbol = (__start, __Symbol::Variant4(__nt), __end);
(2, __symbol, 18)
}
pub(crate) fn __reduce60<
'input,
>(
input: &'input str,
__action: i8,
__lookahead_start: Option<&usize>,
__states: &mut ::std::vec::Vec<i8>,
__symbols: &mut ::std::vec::Vec<(usize,__Symbol<'input>,usize)>,
_: ::std::marker::PhantomData<()>,
) -> (usize, (usize,__Symbol<'input>,usize), usize)
{
let __start = __symbols.last().map(|s| s.2.clone()).unwrap_or_default();
let __end = __lookahead_start.cloned().unwrap_or_else(|| __start.clone());
let __nt = super::__action48::<>(input, &__start, &__end);
let __symbol = (__start, __Symbol::Variant10(__nt), __end);
(0, __symbol, 19)
}
pub(crate) fn __reduce61<
'input,
>(
input: &'input str,
__action: i8,
__lookahead_start: Option<&usize>,
__states: &mut ::std::vec::Vec<i8>,
__symbols: &mut ::std::vec::Vec<(usize,__Symbol<'input>,usize)>,
_: ::std::marker::PhantomData<()>,
) -> (usize, (usize,__Symbol<'input>,usize), usize)
{
let __sym0 = __pop_Variant10(__symbols);
let __start = __sym0.0.clone();
let __end = __sym0.2.clone();
let __nt = super::__action49::<>(input, __sym0);
let __symbol = (__start, __Symbol::Variant10(__nt), __end);
(1, __symbol, 19)
}
pub(crate) fn __reduce62<
'input,
>(
input: &'input str,
__action: i8,
__lookahead_start: Option<&usize>,
__states: &mut ::std::vec::Vec<i8>,
__symbols: &mut ::std::vec::Vec<(usize,__Symbol<'input>,usize)>,
_: ::std::marker::PhantomData<()>,
) -> (usize, (usize,__Symbol<'input>,usize), usize)
{
let __sym0 = __pop_Variant4(__symbols);
let __start = __sym0.0.clone();
let __end = __sym0.2.clone();
let __nt = super::__action60::<>(input, __sym0);
let __symbol = (__start, __Symbol::Variant10(__nt), __end);
(1, __symbol, 20)
}
pub(crate) fn __reduce63<
'input,
>(
input: &'input str,
__action: i8,
__lookahead_start: Option<&usize>,
__states: &mut ::std::vec::Vec<i8>,
__symbols: &mut ::std::vec::Vec<(usize,__Symbol<'input>,usize)>,
_: ::std::marker::PhantomData<()>,
) -> (usize, (usize,__Symbol<'input>,usize), usize)
{
let __sym1 = __pop_Variant4(__symbols);
let __sym0 = __pop_Variant10(__symbols);
let __start = __sym0.0.clone();
let __end = __sym1.2.clone();
let __nt = super::__action61::<>(input, __sym0, __sym1);
let __symbol = (__start, __Symbol::Variant10(__nt), __end);
(2, __symbol, 20)
}
pub(crate) fn __reduce64<
'input,
>(
input: &'input str,
__action: i8,
__lookahead_start: Option<&usize>,
__states: &mut ::std::vec::Vec<i8>,
__symbols: &mut ::std::vec::Vec<(usize,__Symbol<'input>,usize)>,
_: ::std::marker::PhantomData<()>,
) -> (usize, (usize,__Symbol<'input>,usize), usize)
{
let __sym0 = __pop_Variant2(__symbols);
let __start = __sym0.0.clone();
let __end = __sym0.2.clone();
let __nt = super::__action2::<>(input, __sym0);
let __symbol = (__start, __Symbol::Variant2(__nt), __end);
(1, __symbol, 21)
}
pub(crate) fn __reduce65<
'input,
>(
input: &'input str,
__action: i8,
__lookahead_start: Option<&usize>,
__states: &mut ::std::vec::Vec<i8>,
__symbols: &mut ::std::vec::Vec<(usize,__Symbol<'input>,usize)>,
_: ::std::marker::PhantomData<()>,
) -> (usize, (usize,__Symbol<'input>,usize), usize)
{
let __sym0 = __pop_Variant3(__symbols);
let __start = __sym0.0.clone();
let __end = __sym0.2.clone();
let __nt = super::__action1::<>(input, __sym0);
let __symbol = (__start, __Symbol::Variant3(__nt), __end);
(1, __symbol, 22)
}
pub(crate) fn __reduce67<
'input,
>(
input: &'input str,
__action: i8,
__lookahead_start: Option<&usize>,
__states: &mut ::std::vec::Vec<i8>,
__symbols: &mut ::std::vec::Vec<(usize,__Symbol<'input>,usize)>,
_: ::std::marker::PhantomData<()>,
) -> (usize, (usize,__Symbol<'input>,usize), usize)
{
let __sym0 = __pop_Variant9(__symbols);
let __start = __sym0.0.clone();
let __end = __sym0.2.clone();
let __nt = super::__action0::<>(input, __sym0);
let __symbol = (__start, __Symbol::Variant9(__nt), __end);
(1, __symbol, 24)
}
}
pub use self::__parse__Expr::ExprParser;
#[cfg_attr(rustfmt, rustfmt_skip)]
mod __parse__ReplCommand {
#![allow(non_snake_case, non_camel_case_types, unused_mut, unused_variables, unused_imports, unused_parens)]
use symbol::Symbol;
use ast::{Literal, Op, Pattern, PrintStyle};
use cst::{Decl, Expr};
use eval::{CallByName, CallByValue, LazyEvaluation};
use repl::ReplCommand;
#[allow(unused_extern_crates)]
extern crate lalrpop_util as __lalrpop_util;
use super::__intern_token::Token;
#[allow(dead_code)]
pub enum __Symbol<'input>
{
Variant0(&'input str),
Variant1(::std::option::Option<&'input str>),
Variant2(Decl),
Variant3(::std::vec::Vec<Decl>),
Variant4(Expr),
Variant5(Literal),
Variant6(Symbol),
Variant7(Pattern<()>),
Variant8(::std::vec::Vec<Pattern<()>>),
Variant9(ReplCommand),
Variant10(::std::vec::Vec<Expr>),
}
const __ACTION: &'static [i8] = &[
10, 0, 0, 0, 0, 0, 0, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 0, 0, 0, 24, 0, 0, 25, 26, 0, 0, 27, 28, 29,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 30, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, -14, 0, 31, 32, 0, 33, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -14, -14, 0, 0, -14, -14, 0, 0, 0, -14, 0, 0, 0,
0, -17, 34, -17, -17, 35, -17, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -17, -17, 0, 0, -17, -17, 0, 0, 36, -17, 0, 0, 0,
10, -21, -21, -21, -21, -21, -21, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -21, -21, 0, 24, -21, -21, 25, 0, -21, -21, 27, 28, 29,
-23, -23, -23, -23, -23, -23, -23, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -23, -23, 0, -23, -23, -23, -23, 0, -23, -23, -23, -23, -23,
-26, -26, -26, -26, -26, -26, -26, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -26, -26, 0, -26, -26, -26, -26, 0, -26, -26, -26, -26, -26,
-25, -25, -25, -25, -25, -25, -25, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -25, -25, 0, -25, -25, -25, -25, 0, -25, -25, -25, -25, -25,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
10, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 24, 0, 0, 25, 26, 0, 0, 27, 28, 29,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 29,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
10, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 24, 0, 0, 25, 26, 0, 0, 27, 28, 29,
10, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 24, 43, 0, 25, 26, 0, 0, 27, 28, 29,
-30, -30, -30, -30, -30, -30, -30, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -30, -30, -30, -30, -30, -30, -30, 0, -30, -30, -30, -30, -30,
10, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 24, 0, 0, 25, 26, 0, 0, 27, 28, 29,
-31, -31, -31, -31, -31, -31, -31, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -31, -31, -31, -31, -31, -31, -31, 0, -31, -31, -31, -31, -31,
-32, -32, -32, -32, -32, -32, -32, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -32, -32, -32, -32, -32, -32, -32, 0, -32, -32, -32, -32, -32,
-33, -33, -33, -33, -33, -33, -33, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -33, -33, -33, -33, -33, -33, -33, 0, -33, -33, -33, -33, -33,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
10, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 24, 0, 0, 25, 0, 0, 0, 27, 28, 29,
10, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 24, 0, 0, 25, 0, 0, 0, 27, 28, 29,
10, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 24, 0, 0, 25, 26, 0, 0, 27, 28, 29,
10, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 24, 0, 0, 25, 0, 0, 0, 27, 28, 29,
10, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 24, 0, 0, 25, 0, 0, 0, 27, 28, 29,
10, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 24, 0, 0, 25, 0, 0, 0, 27, 28, 29,
-22, -22, -22, -22, -22, -22, -22, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -22, -22, 0, -22, -22, -22, -22, 0, -22, -22, -22, -22, -22,
0, 51, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 52, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
57, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 58, 59, 0, 0, 25, 0, 0, 0, 27, 28, 29,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 62, 0, 0, 0, 63, 0, 0, 0, 0, 0, 0, 0, 0,
-29, -29, -29, -29, -29, -29, -29, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -29, -29, -29, -29, -29, -29, -29, 0, -29, -29, -29, -29, -29,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 64, 0, 0, 0,
0, -15, 34, -15, -15, 35, -15, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -15, -15, 0, 0, -15, -15, 0, 0, 36, -15, 0, 0, 0,
0, -16, 34, -16, -16, 35, -16, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -16, -16, 0, 0, -16, -16, 0, 0, 36, -16, 0, 0, 0,
0, -13, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -13, -13, 0, 0, -13, -13, 0, 0, 0, -13, 0, 0, 0,
10, -18, -18, -18, -18, -18, -18, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -18, -18, 0, 24, -18, -18, 25, 0, -18, -18, 27, 28, 29,
10, -19, -19, -19, -19, -19, -19, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -19, -19, 0, 24, -19, -19, 25, 0, -19, -19, 27, 28, 29,
10, -20, -20, -20, -20, -20, -20, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -20, -20, 0, 24, -20, -20, 25, 0, -20, -20, 27, 28, 29,
-24, -24, -24, -24, -24, -24, -24, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -24, -24, 0, -24, -24, -24, -24, 0, -24, -24, -24, -24, -24,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-38, -38, 0, 0, 0, 0, -38, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -38, -38, 0, 0, -38, 0, 0, 0, -38, -38, -38,
-37, -37, 0, 0, 0, 0, -37, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -37, -37, 0, 0, -37, 0, 0, 0, -37, -37, -37,
-41, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -41, -41, 0, 0, -41, 0, 0, 0, -41, -41, -41,
57, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 66, 59, 0, 0, 25, 0, 0, 0, 27, 28, 29,
57, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 59, 0, 0, 25, 0, 0, 0, 27, 28, 29,
10, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 24, 0, 0, 25, 26, 0, 0, 27, 28, 29,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 43, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -62, 0, 0, 0, -62, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 62, 0, 0, 0, 71, 0, 0, 0, 0, 0, 0, 0, 0,
10, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 24, 0, 0, 25, 26, 0, 0, 27, 28, 29,
-27, -27, -27, -27, -27, -27, -27, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -27, -27, 0, -27, -27, -27, -27, 0, -27, -27, -27, -27, -27,
10, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 24, 0, 0, 25, 26, 0, 0, 27, 28, 29,
-42, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -42, -42, 0, 0, -42, 0, 0, 0, -42, -42, -42,
10, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 24, 0, 0, 25, 26, 0, 0, 27, 28, 29,
0, 75, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, -35, 0, 0, 0, 0, 76, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -63, 0, 0, 0, -63, 0, 0, 0, 0, 0, 0, 0, 0,
-28, -28, -28, -28, -28, -28, -28, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -28, -28, 0, -28, -28, -28, -28, 0, -28, -28, -28, -28, -28,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -59, 0, 0, 0, -59, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 77, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-36, -36, 0, 0, 0, 0, -36, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -36, -36, 0, 0, -36, 0, 0, 0, -36, -36, -36,
57, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 59, 0, 0, 25, 0, 0, 0, 27, 28, 29,
10, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 24, 0, 0, 25, 26, 0, 0, 27, 28, 29,
0, -34, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, -12, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -12, -12, 0, 0, -12, -12, 0, 0, 0, -12, 0, 0, 0,
];
const __EOF_ACTION: &'static [i8] = &[
0,
-44,
-14,
-17,
-21,
-23,
-26,
-25,
-67,
0,
-45,
-46,
-47,
-48,
0,
-51,
-52,
-53,
-54,
-55,
-56,
-57,
0,
0,
-30,
0,
-31,
-32,
-33,
-43,
0,
0,
0,
0,
0,
0,
-22,
0,
-50,
0,
-58,
0,
-29,
0,
-15,
-16,
-13,
-18,
-19,
-20,
-24,
-49,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
-27,
0,
0,
0,
0,
0,
-3,
0,
-28,
0,
0,
-4,
0,
0,
0,
0,
-12,
];
const __GOTO: &'static [i8] = &[
0, 0, 0, 0, 0, 0, 2, 3, 4, 5, 6, 7, 8, 0, 0, 0, 0, 9, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 37, 7, 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 38, 3, 4, 5, 6, 7, 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 39, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 40, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 41, 3, 4, 5, 6, 7, 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 42, 3, 4, 5, 6, 7, 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 44, 3, 4, 5, 6, 7, 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 45, 5, 6, 7, 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 46, 5, 6, 7, 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 47, 3, 4, 5, 6, 7, 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 48, 6, 7, 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 49, 6, 7, 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 50, 6, 7, 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 53, 54, 0, 55, 0, 56, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 60, 0, 61, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 37, 7, 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 37, 7, 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 37, 7, 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 53, 54, 0, 65, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 53, 54, 67, 68, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 69, 3, 4, 5, 6, 7, 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 70, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 72, 3, 4, 5, 6, 7, 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 73, 3, 4, 5, 6, 7, 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 74, 3, 4, 5, 6, 7, 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 53, 54, 78, 68, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 79, 3, 4, 5, 6, 7, 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
];
fn __expected_tokens(__state: usize) -> Vec<::std::string::String> {
const __TERMINAL: &'static [&'static str] = &[
r###""(""###,
r###"")""###,
r###""*""###,
r###""+""###,
r###""-""###,
r###""/""###,
r###""::""###,
r###"":ast""###,
r###"":cbn""###,
r###"":cbv""###,
r###"":cst""###,
r###"":decl""###,
r###"":help""###,
r###"":l""###,
r###"":lazy""###,
r###"":list""###,
r###"":q""###,
r###"":quit""###,
r###"":reset""###,
r###"":t""###,
r###"";""###,
r###"";;""###,
r###""=""###,
r###""[""###,
r###""]""###,
r###""else""###,
r###""false""###,
r###""if""###,
r###""mod""###,
r###""then""###,
r###""true""###,
r###"r#"[0-9]+"#"###,
r###"r#"[a-zA-Z_][0-9a-zA-Z_]*"#"###,
];
__ACTION[(__state * 33)..].iter().zip(__TERMINAL).filter_map(|(&state, terminal)| {
if state == 0 {
None
} else {
Some(terminal.to_string())
}
}).collect()
}
pub struct ReplCommandParser {
builder: super::__intern_token::__MatcherBuilder,
_priv: (),
}
impl ReplCommandParser {
pub fn new() -> ReplCommandParser {
let __builder = super::__intern_token::__MatcherBuilder::new();
ReplCommandParser {
builder: __builder,
_priv: (),
}
}
#[allow(dead_code)]
pub fn parse<
'input,
>(
&self,
input: &'input str,
) -> Result<ReplCommand, __lalrpop_util::ParseError<usize, Token<'input>, &'static str>>
{
let mut __tokens = self.builder.matcher(input);
let mut __states = vec![0_i8];
let mut __symbols = vec![];
let mut __integer;
let mut __lookahead;
let __last_location = &mut Default::default();
'__shift: loop {
__lookahead = match __tokens.next() {
Some(Ok(v)) => v,
None => break '__shift,
Some(Err(e)) => return Err(e),
};
*__last_location = __lookahead.2.clone();
__integer = match __lookahead.1 {
Token(2, _) if true => 0,
Token(3, _) if true => 1,
Token(4, _) if true => 2,
Token(5, _) if true => 3,
Token(6, _) if true => 4,
Token(7, _) if true => 5,
Token(8, _) if true => 6,
Token(9, _) if true => 7,
Token(10, _) if true => 8,
Token(11, _) if true => 9,
Token(12, _) if true => 10,
Token(13, _) if true => 11,
Token(14, _) if true => 12,
Token(15, _) if true => 13,
Token(16, _) if true => 14,
Token(17, _) if true => 15,
Token(18, _) if true => 16,
Token(19, _) if true => 17,
Token(20, _) if true => 18,
Token(21, _) if true => 19,
Token(22, _) if true => 20,
Token(23, _) if true => 21,
Token(24, _) if true => 22,
Token(25, _) if true => 23,
Token(26, _) if true => 24,
Token(27, _) if true => 25,
Token(28, _) if true => 26,
Token(29, _) if true => 27,
Token(30, _) if true => 28,
Token(31, _) if true => 29,
Token(32, _) if true => 30,
Token(0, _) if true => 31,
Token(1, _) if true => 32,
_ => {
let __state = *__states.last().unwrap() as usize;
let __error = __lalrpop_util::ParseError::UnrecognizedToken {
token: Some(__lookahead),
expected: __expected_tokens(__state),
};
return Err(__error);
}
};
'__inner: loop {
let __state = *__states.last().unwrap() as usize;
let __action = __ACTION[__state * 33 + __integer];
if __action > 0 {
let __symbol = match __integer {
0 => match __lookahead.1 {
Token(2, __tok0) => __Symbol::Variant0((__tok0)),
_ => unreachable!(),
},
1 => match __lookahead.1 {
Token(3, __tok0) => __Symbol::Variant0((__tok0)),
_ => unreachable!(),
},
2 => match __lookahead.1 {
Token(4, __tok0) => __Symbol::Variant0((__tok0)),
_ => unreachable!(),
},
3 => match __lookahead.1 {
Token(5, __tok0) => __Symbol::Variant0((__tok0)),
_ => unreachable!(),
},
4 => match __lookahead.1 {
Token(6, __tok0) => __Symbol::Variant0((__tok0)),
_ => unreachable!(),
},
5 => match __lookahead.1 {
Token(7, __tok0) => __Symbol::Variant0((__tok0)),
_ => unreachable!(),
},
6 => match __lookahead.1 {
Token(8, __tok0) => __Symbol::Variant0((__tok0)),
_ => unreachable!(),
},
7 => match __lookahead.1 {
Token(9, __tok0) => __Symbol::Variant0((__tok0)),
_ => unreachable!(),
},
8 => match __lookahead.1 {
Token(10, __tok0) => __Symbol::Variant0((__tok0)),
_ => unreachable!(),
},
9 => match __lookahead.1 {
Token(11, __tok0) => __Symbol::Variant0((__tok0)),
_ => unreachable!(),
},
10 => match __lookahead.1 {
Token(12, __tok0) => __Symbol::Variant0((__tok0)),
_ => unreachable!(),
},
11 => match __lookahead.1 {
Token(13, __tok0) => __Symbol::Variant0((__tok0)),
_ => unreachable!(),
},
12 => match __lookahead.1 {
Token(14, __tok0) => __Symbol::Variant0((__tok0)),
_ => unreachable!(),
},
13 => match __lookahead.1 {
Token(15, __tok0) => __Symbol::Variant0((__tok0)),
_ => unreachable!(),
},
14 => match __lookahead.1 {
Token(16, __tok0) => __Symbol::Variant0((__tok0)),
_ => unreachable!(),
},
15 => match __lookahead.1 {
Token(17, __tok0) => __Symbol::Variant0((__tok0)),
_ => unreachable!(),
},
16 => match __lookahead.1 {
Token(18, __tok0) => __Symbol::Variant0((__tok0)),
_ => unreachable!(),
},
17 => match __lookahead.1 {
Token(19, __tok0) => __Symbol::Variant0((__tok0)),
_ => unreachable!(),
},
18 => match __lookahead.1 {
Token(20, __tok0) => __Symbol::Variant0((__tok0)),
_ => unreachable!(),
},
19 => match __lookahead.1 {
Token(21, __tok0) => __Symbol::Variant0((__tok0)),
_ => unreachable!(),
},
20 => match __lookahead.1 {
Token(22, __tok0) => __Symbol::Variant0((__tok0)),
_ => unreachable!(),
},
21 => match __lookahead.1 {
Token(23, __tok0) => __Symbol::Variant0((__tok0)),
_ => unreachable!(),
},
22 => match __lookahead.1 {
Token(24, __tok0) => __Symbol::Variant0((__tok0)),
_ => unreachable!(),
},
23 => match __lookahead.1 {
Token(25, __tok0) => __Symbol::Variant0((__tok0)),
_ => unreachable!(),
},
24 => match __lookahead.1 {
Token(26, __tok0) => __Symbol::Variant0((__tok0)),
_ => unreachable!(),
},
25 => match __lookahead.1 {
Token(27, __tok0) => __Symbol::Variant0((__tok0)),
_ => unreachable!(),
},
26 => match __lookahead.1 {
Token(28, __tok0) => __Symbol::Variant0((__tok0)),
_ => unreachable!(),
},
27 => match __lookahead.1 {
Token(29, __tok0) => __Symbol::Variant0((__tok0)),
_ => unreachable!(),
},
28 => match __lookahead.1 {
Token(30, __tok0) => __Symbol::Variant0((__tok0)),
_ => unreachable!(),
},
29 => match __lookahead.1 {
Token(31, __tok0) => __Symbol::Variant0((__tok0)),
_ => unreachable!(),
},
30 => match __lookahead.1 {
Token(32, __tok0) => __Symbol::Variant0((__tok0)),
_ => unreachable!(),
},
31 => match __lookahead.1 {
Token(0, __tok0) => __Symbol::Variant0((__tok0)),
_ => unreachable!(),
},
32 => match __lookahead.1 {
Token(1, __tok0) => __Symbol::Variant0((__tok0)),
_ => unreachable!(),
},
_ => unreachable!(),
};
__states.push(__action - 1);
__symbols.push((__lookahead.0, __symbol, __lookahead.2));
continue '__shift;
} else if __action < 0 {
if let Some(r) = __reduce(input, __action, Some(&__lookahead.0), &mut __states, &mut __symbols, ::std::marker::PhantomData::<()>) {
if r.is_err() {
return r;
}
return Err(__lalrpop_util::ParseError::ExtraToken { token: __lookahead });
}
} else {
let mut __err_lookahead = Some(__lookahead);
let mut __err_integer: Option<usize> = Some(__integer);
let __state = *__states.last().unwrap() as usize;
let __error = __lalrpop_util::ParseError::UnrecognizedToken {
token: __err_lookahead,
expected: __expected_tokens(__state),
};
return Err(__error)
}
}
}
loop {
let __state = *__states.last().unwrap() as usize;
let __action = __EOF_ACTION[__state];
if __action < 0 {
if let Some(r) = __reduce(input, __action, None, &mut __states, &mut __symbols, ::std::marker::PhantomData::<()>) {
return r;
}
} else {
let mut __err_lookahead = None;
let mut __err_integer: Option<usize> = None;
let __state = *__states.last().unwrap() as usize;
let __error = __lalrpop_util::ParseError::UnrecognizedToken {
token: __err_lookahead,
expected: __expected_tokens(__state),
};
return Err(__error)
}
}
}
}
pub(crate) fn __reduce<
'input,
>(
input: &'input str,
__action: i8,
__lookahead_start: Option<&usize>,
__states: &mut ::std::vec::Vec<i8>,
__symbols: &mut ::std::vec::Vec<(usize,__Symbol<'input>,usize)>,
_: ::std::marker::PhantomData<()>,
) -> Option<Result<ReplCommand,__lalrpop_util::ParseError<usize, Token<'input>, &'static str>>>
{
let (__pop_states, __symbol, __nonterminal) = match -__action {
1 => {
__reduce1(input, __action, __lookahead_start, __states, __symbols, ::std::marker::PhantomData::<()>)
}
2 => {
__reduce2(input, __action, __lookahead_start, __states, __symbols, ::std::marker::PhantomData::<()>)
}
3 => {
__reduce3(input, __action, __lookahead_start, __states, __symbols, ::std::marker::PhantomData::<()>)
}
4 => {
__reduce4(input, __action, __lookahead_start, __states, __symbols, ::std::marker::PhantomData::<()>)
}
5 => {
__reduce5(input, __action, __lookahead_start, __states, __symbols, ::std::marker::PhantomData::<()>)
}
6 => {
__reduce6(input, __action, __lookahead_start, __states, __symbols, ::std::marker::PhantomData::<()>)
}
7 => {
__reduce7(input, __action, __lookahead_start, __states, __symbols, ::std::marker::PhantomData::<()>)
}
8 => {
__reduce8(input, __action, __lookahead_start, __states, __symbols, ::std::marker::PhantomData::<()>)
}
9 => {
__reduce9(input, __action, __lookahead_start, __states, __symbols, ::std::marker::PhantomData::<()>)
}
10 => {
__reduce10(input, __action, __lookahead_start, __states, __symbols, ::std::marker::PhantomData::<()>)
}
11 => {
__reduce11(input, __action, __lookahead_start, __states, __symbols, ::std::marker::PhantomData::<()>)
}
12 => {
__reduce12(input, __action, __lookahead_start, __states, __symbols, ::std::marker::PhantomData::<()>)
}
13 => {
__reduce13(input, __action, __lookahead_start, __states, __symbols, ::std::marker::PhantomData::<()>)
}
14 => {
__reduce14(input, __action, __lookahead_start, __states, __symbols, ::std::marker::PhantomData::<()>)
}
15 => {
__reduce15(input, __action, __lookahead_start, __states, __symbols, ::std::marker::PhantomData::<()>)
}
16 => {
__reduce16(input, __action, __lookahead_start, __states, __symbols, ::std::marker::PhantomData::<()>)
}
17 => {
__reduce17(input, __action, __lookahead_start, __states, __symbols, ::std::marker::PhantomData::<()>)
}
18 => {
__reduce18(input, __action, __lookahead_start, __states, __symbols, ::std::marker::PhantomData::<()>)
}
19 => {
__reduce19(input, __action, __lookahead_start, __states, __symbols, ::std::marker::PhantomData::<()>)
}
20 => {
__reduce20(input, __action, __lookahead_start, __states, __symbols, ::std::marker::PhantomData::<()>)
}
21 => {
__reduce21(input, __action, __lookahead_start, __states, __symbols, ::std::marker::PhantomData::<()>)
}
22 => {
__reduce22(input, __action, __lookahead_start, __states, __symbols, ::std::marker::PhantomData::<()>)
}
23 => {
__reduce23(input, __action, __lookahead_start, __states, __symbols, ::std::marker::PhantomData::<()>)
}
24 => {
__reduce24(input, __action, __lookahead_start, __states, __symbols, ::std::marker::PhantomData::<()>)
}
25 => {
__reduce25(input, __action, __lookahead_start, __states, __symbols, ::std::marker::PhantomData::<()>)
}
26 => {
__reduce26(input, __action, __lookahead_start, __states, __symbols, ::std::marker::PhantomData::<()>)
}
27 => {
__reduce27(input, __action, __lookahead_start, __states, __symbols, ::std::marker::PhantomData::<()>)
}
28 => {
__reduce28(input, __action, __lookahead_start, __states, __symbols, ::std::marker::PhantomData::<()>)
}
29 => {
__reduce29(input, __action, __lookahead_start, __states, __symbols, ::std::marker::PhantomData::<()>)
}
30 => {
__reduce30(input, __action, __lookahead_start, __states, __symbols, ::std::marker::PhantomData::<()>)
}
31 => {
__reduce31(input, __action, __lookahead_start, __states, __symbols, ::std::marker::PhantomData::<()>)
}
32 => {
__reduce32(input, __action, __lookahead_start, __states, __symbols, ::std::marker::PhantomData::<()>)
}
33 => {
__reduce33(input, __action, __lookahead_start, __states, __symbols, ::std::marker::PhantomData::<()>)
}
34 => {
__reduce34(input, __action, __lookahead_start, __states, __symbols, ::std::marker::PhantomData::<()>)
}
35 => {
__reduce35(input, __action, __lookahead_start, __states, __symbols, ::std::marker::PhantomData::<()>)
}
36 => {
__reduce36(input, __action, __lookahead_start, __states, __symbols, ::std::marker::PhantomData::<()>)
}
37 => {
__reduce37(input, __action, __lookahead_start, __states, __symbols, ::std::marker::PhantomData::<()>)
}
38 => {
__reduce38(input, __action, __lookahead_start, __states, __symbols, ::std::marker::PhantomData::<()>)
}
39 => {
__reduce39(input, __action, __lookahead_start, __states, __symbols, ::std::marker::PhantomData::<()>)
}
40 => {
__reduce40(input, __action, __lookahead_start, __states, __symbols, ::std::marker::PhantomData::<()>)
}
41 => {
__reduce41(input, __action, __lookahead_start, __states, __symbols, ::std::marker::PhantomData::<()>)
}
42 => {
__reduce42(input, __action, __lookahead_start, __states, __symbols, ::std::marker::PhantomData::<()>)
}
43 => {
__reduce43(input, __action, __lookahead_start, __states, __symbols, ::std::marker::PhantomData::<()>)
}
44 => {
__reduce44(input, __action, __lookahead_start, __states, __symbols, ::std::marker::PhantomData::<()>)
}
45 => {
__reduce45(input, __action, __lookahead_start, __states, __symbols, ::std::marker::PhantomData::<()>)
}
46 => {
__reduce46(input, __action, __lookahead_start, __states, __symbols, ::std::marker::PhantomData::<()>)
}
47 => {
__reduce47(input, __action, __lookahead_start, __states, __symbols, ::std::marker::PhantomData::<()>)
}
48 => {
__reduce48(input, __action, __lookahead_start, __states, __symbols, ::std::marker::PhantomData::<()>)
}
49 => {
__reduce49(input, __action, __lookahead_start, __states, __symbols, ::std::marker::PhantomData::<()>)
}
50 => {
__reduce50(input, __action, __lookahead_start, __states, __symbols, ::std::marker::PhantomData::<()>)
}
51 => {
__reduce51(input, __action, __lookahead_start, __states, __symbols, ::std::marker::PhantomData::<()>)
}
52 => {
__reduce52(input, __action, __lookahead_start, __states, __symbols, ::std::marker::PhantomData::<()>)
}
53 => {
__reduce53(input, __action, __lookahead_start, __states, __symbols, ::std::marker::PhantomData::<()>)
}
54 => {
__reduce54(input, __action, __lookahead_start, __states, __symbols, ::std::marker::PhantomData::<()>)
}
55 => {
__reduce55(input, __action, __lookahead_start, __states, __symbols, ::std::marker::PhantomData::<()>)
}
56 => {
__reduce56(input, __action, __lookahead_start, __states, __symbols, ::std::marker::PhantomData::<()>)
}
57 => {
__reduce57(input, __action, __lookahead_start, __states, __symbols, ::std::marker::PhantomData::<()>)
}
58 => {
__reduce58(input, __action, __lookahead_start, __states, __symbols, ::std::marker::PhantomData::<()>)
}
59 => {
__reduce59(input, __action, __lookahead_start, __states, __symbols, ::std::marker::PhantomData::<()>)
}
60 => {
__reduce60(input, __action, __lookahead_start, __states, __symbols, ::std::marker::PhantomData::<()>)
}
61 => {
__reduce61(input, __action, __lookahead_start, __states, __symbols, ::std::marker::PhantomData::<()>)
}
62 => {
__reduce62(input, __action, __lookahead_start, __states, __symbols, ::std::marker::PhantomData::<()>)
}
63 => {
__reduce63(input, __action, __lookahead_start, __states, __symbols, ::std::marker::PhantomData::<()>)
}
64 => {
__reduce64(input, __action, __lookahead_start, __states, __symbols, ::std::marker::PhantomData::<()>)
}
65 => {
__reduce65(input, __action, __lookahead_start, __states, __symbols, ::std::marker::PhantomData::<()>)
}
66 => {
__reduce66(input, __action, __lookahead_start, __states, __symbols, ::std::marker::PhantomData::<()>)
}
67 => {
let __sym0 = __pop_Variant9(__symbols);
let __start = __sym0.0.clone();
let __end = __sym0.2.clone();
let __nt = super::__action0::<>(input, __sym0);
return Some(Ok(__nt));
}
_ => panic!("invalid action code {}", __action)
};
let __states_len = __states.len();
__states.truncate(__states_len - __pop_states);
__symbols.push(__symbol);
let __state = *__states.last().unwrap() as usize;
let __next_state = __GOTO[__state * 25 + __nonterminal] - 1;
__states.push(__next_state);
None
}
fn __pop_Variant2<
'input,
>(
__symbols: &mut ::std::vec::Vec<(usize,__Symbol<'input>,usize)>
) -> (usize, Decl, usize)
{
match __symbols.pop().unwrap() {
(__l, __Symbol::Variant2(__v), __r) => (__l, __v, __r),
_ => panic!("symbol type mismatch")
}
}
fn __pop_Variant4<
'input,
>(
__symbols: &mut ::std::vec::Vec<(usize,__Symbol<'input>,usize)>
) -> (usize, Expr, usize)
{
match __symbols.pop().unwrap() {
(__l, __Symbol::Variant4(__v), __r) => (__l, __v, __r),
_ => panic!("symbol type mismatch")
}
}
fn __pop_Variant5<
'input,
>(
__symbols: &mut ::std::vec::Vec<(usize,__Symbol<'input>,usize)>
) -> (usize, Literal, usize)
{
match __symbols.pop().unwrap() {
(__l, __Symbol::Variant5(__v), __r) => (__l, __v, __r),
_ => panic!("symbol type mismatch")
}
}
fn __pop_Variant7<
'input,
>(
__symbols: &mut ::std::vec::Vec<(usize,__Symbol<'input>,usize)>
) -> (usize, Pattern<()>, usize)
{
match __symbols.pop().unwrap() {
(__l, __Symbol::Variant7(__v), __r) => (__l, __v, __r),
_ => panic!("symbol type mismatch")
}
}
fn __pop_Variant9<
'input,
>(
__symbols: &mut ::std::vec::Vec<(usize,__Symbol<'input>,usize)>
) -> (usize, ReplCommand, usize)
{
match __symbols.pop().unwrap() {
(__l, __Symbol::Variant9(__v), __r) => (__l, __v, __r),
_ => panic!("symbol type mismatch")
}
}
fn __pop_Variant6<
'input,
>(
__symbols: &mut ::std::vec::Vec<(usize,__Symbol<'input>,usize)>
) -> (usize, Symbol, usize)
{
match __symbols.pop().unwrap() {
(__l, __Symbol::Variant6(__v), __r) => (__l, __v, __r),
_ => panic!("symbol type mismatch")
}
}
fn __pop_Variant1<
'input,
>(
__symbols: &mut ::std::vec::Vec<(usize,__Symbol<'input>,usize)>
) -> (usize, ::std::option::Option<&'input str>, usize)
{
match __symbols.pop().unwrap() {
(__l, __Symbol::Variant1(__v), __r) => (__l, __v, __r),
_ => panic!("symbol type mismatch")
}
}
fn __pop_Variant3<
'input,
>(
__symbols: &mut ::std::vec::Vec<(usize,__Symbol<'input>,usize)>
) -> (usize, ::std::vec::Vec<Decl>, usize)
{
match __symbols.pop().unwrap() {
(__l, __Symbol::Variant3(__v), __r) => (__l, __v, __r),
_ => panic!("symbol type mismatch")
}
}
fn __pop_Variant10<
'input,
>(
__symbols: &mut ::std::vec::Vec<(usize,__Symbol<'input>,usize)>
) -> (usize, ::std::vec::Vec<Expr>, usize)
{
match __symbols.pop().unwrap() {
(__l, __Symbol::Variant10(__v), __r) => (__l, __v, __r),
_ => panic!("symbol type mismatch")
}
}
fn __pop_Variant8<
'input,
>(
__symbols: &mut ::std::vec::Vec<(usize,__Symbol<'input>,usize)>
) -> (usize, ::std::vec::Vec<Pattern<()>>, usize)
{
match __symbols.pop().unwrap() {
(__l, __Symbol::Variant8(__v), __r) => (__l, __v, __r),
_ => panic!("symbol type mismatch")
}
}
fn __pop_Variant0<
'input,
>(
__symbols: &mut ::std::vec::Vec<(usize,__Symbol<'input>,usize)>
) -> (usize, &'input str, usize)
{
match __symbols.pop().unwrap() {
(__l, __Symbol::Variant0(__v), __r) => (__l, __v, __r),
_ => panic!("symbol type mismatch")
}
}
pub(crate) fn __reduce1<
'input,
>(
input: &'input str,
__action: i8,
__lookahead_start: Option<&usize>,
__states: &mut ::std::vec::Vec<i8>,
__symbols: &mut ::std::vec::Vec<(usize,__Symbol<'input>,usize)>,
_: ::std::marker::PhantomData<()>,
) -> (usize, (usize,__Symbol<'input>,usize), usize)
{
let __sym0 = __pop_Variant0(__symbols);
let __start = __sym0.0.clone();
let __end = __sym0.2.clone();
let __nt = super::__action54::<>(input, __sym0);
let __symbol = (__start, __Symbol::Variant1(__nt), __end);
(1, __symbol, 0)
}
pub(crate) fn __reduce2<
'input,
>(
input: &'input str,
__action: i8,
__lookahead_start: Option<&usize>,
__states: &mut ::std::vec::Vec<i8>,
__symbols: &mut ::std::vec::Vec<(usize,__Symbol<'input>,usize)>,
_: ::std::marker::PhantomData<()>,
) -> (usize, (usize,__Symbol<'input>,usize), usize)
{
let __start = __symbols.last().map(|s| s.2.clone()).unwrap_or_default();
let __end = __lookahead_start.cloned().unwrap_or_else(|| __start.clone());
let __nt = super::__action55::<>(input, &__start, &__end);
let __symbol = (__start, __Symbol::Variant1(__nt), __end);
(0, __symbol, 0)
}
pub(crate) fn __reduce3<
'input,
>(
input: &'input str,
__action: i8,
__lookahead_start: Option<&usize>,
__states: &mut ::std::vec::Vec<i8>,
__symbols: &mut ::std::vec::Vec<(usize,__Symbol<'input>,usize)>,
_: ::std::marker::PhantomData<()>,
) -> (usize, (usize,__Symbol<'input>,usize), usize)
{
let __sym2 = __pop_Variant4(__symbols);
let __sym1 = __pop_Variant0(__symbols);
let __sym0 = __pop_Variant6(__symbols);
let __start = __sym0.0.clone();
let __end = __sym2.2.clone();
let __nt = super::__action68::<>(input, __sym0, __sym1, __sym2);
let __symbol = (__start, __Symbol::Variant2(__nt), __end);
(3, __symbol, 1)
}
pub(crate) fn __reduce4<
'input,
>(
input: &'input str,
__action: i8,
__lookahead_start: Option<&usize>,
__states: &mut ::std::vec::Vec<i8>,
__symbols: &mut ::std::vec::Vec<(usize,__Symbol<'input>,usize)>,
_: ::std::marker::PhantomData<()>,
) -> (usize, (usize,__Symbol<'input>,usize), usize)
{
let __sym3 = __pop_Variant4(__symbols);
let __sym2 = __pop_Variant0(__symbols);
let __sym1 = __pop_Variant8(__symbols);
let __sym0 = __pop_Variant6(__symbols);
let __start = __sym0.0.clone();
let __end = __sym3.2.clone();
let __nt = super::__action69::<>(input, __sym0, __sym1, __sym2, __sym3);
let __symbol = (__start, __Symbol::Variant2(__nt), __end);
(4, __symbol, 1)
}
pub(crate) fn __reduce5<
'input,
>(
input: &'input str,
__action: i8,
__lookahead_start: Option<&usize>,
__states: &mut ::std::vec::Vec<i8>,
__symbols: &mut ::std::vec::Vec<(usize,__Symbol<'input>,usize)>,
_: ::std::marker::PhantomData<()>,
) -> (usize, (usize,__Symbol<'input>,usize), usize)
{
let __sym1 = __pop_Variant0(__symbols);
let __sym0 = __pop_Variant2(__symbols);
let __start = __sym0.0.clone();
let __end = __sym1.2.clone();
let __nt = super::__action19::<>(input, __sym0, __sym1);
let __symbol = (__start, __Symbol::Variant2(__nt), __end);
(2, __symbol, 2)
}
pub(crate) fn __reduce6<
'input,
>(
input: &'input str,
__action: i8,
__lookahead_start: Option<&usize>,
__states: &mut ::std::vec::Vec<i8>,
__symbols: &mut ::std::vec::Vec<(usize,__Symbol<'input>,usize)>,
_: ::std::marker::PhantomData<()>,
) -> (usize, (usize,__Symbol<'input>,usize), usize)
{
let __start = __symbols.last().map(|s| s.2.clone()).unwrap_or_default();
let __end = __lookahead_start.cloned().unwrap_or_else(|| __start.clone());
let __nt = super::__action52::<>(input, &__start, &__end);
let __symbol = (__start, __Symbol::Variant3(__nt), __end);
(0, __symbol, 3)
}
pub(crate) fn __reduce7<
'input,
>(
input: &'input str,
__action: i8,
__lookahead_start: Option<&usize>,
__states: &mut ::std::vec::Vec<i8>,
__symbols: &mut ::std::vec::Vec<(usize,__Symbol<'input>,usize)>,
_: ::std::marker::PhantomData<()>,
) -> (usize, (usize,__Symbol<'input>,usize), usize)
{
let __sym0 = __pop_Variant3(__symbols);
let __start = __sym0.0.clone();
let __end = __sym0.2.clone();
let __nt = super::__action53::<>(input, __sym0);
let __symbol = (__start, __Symbol::Variant3(__nt), __end);
(1, __symbol, 3)
}
pub(crate) fn __reduce8<
'input,
>(
input: &'input str,
__action: i8,
__lookahead_start: Option<&usize>,
__states: &mut ::std::vec::Vec<i8>,
__symbols: &mut ::std::vec::Vec<(usize,__Symbol<'input>,usize)>,
_: ::std::marker::PhantomData<()>,
) -> (usize, (usize,__Symbol<'input>,usize), usize)
{
let __sym0 = __pop_Variant2(__symbols);
let __start = __sym0.0.clone();
let __end = __sym0.2.clone();
let __nt = super::__action56::<>(input, __sym0);
let __symbol = (__start, __Symbol::Variant3(__nt), __end);
(1, __symbol, 4)
}
pub(crate) fn __reduce9<
'input,
>(
input: &'input str,
__action: i8,
__lookahead_start: Option<&usize>,
__states: &mut ::std::vec::Vec<i8>,
__symbols: &mut ::std::vec::Vec<(usize,__Symbol<'input>,usize)>,
_: ::std::marker::PhantomData<()>,
) -> (usize, (usize,__Symbol<'input>,usize), usize)
{
let __sym1 = __pop_Variant2(__symbols);
let __sym0 = __pop_Variant3(__symbols);
let __start = __sym0.0.clone();
let __end = __sym1.2.clone();
let __nt = super::__action57::<>(input, __sym0, __sym1);
let __symbol = (__start, __Symbol::Variant3(__nt), __end);
(2, __symbol, 4)
}
pub(crate) fn __reduce10<
'input,
>(
input: &'input str,
__action: i8,
__lookahead_start: Option<&usize>,
__states: &mut ::std::vec::Vec<i8>,
__symbols: &mut ::std::vec::Vec<(usize,__Symbol<'input>,usize)>,
_: ::std::marker::PhantomData<()>,
) -> (usize, (usize,__Symbol<'input>,usize), usize)
{
let __start = __symbols.last().map(|s| s.2.clone()).unwrap_or_default();
let __end = __lookahead_start.cloned().unwrap_or_else(|| __start.clone());
let __nt = super::__action66::<>(input, &__start, &__end);
let __symbol = (__start, __Symbol::Variant3(__nt), __end);
(0, __symbol, 5)
}
pub(crate) fn __reduce11<
'input,
>(
input: &'input str,
__action: i8,
__lookahead_start: Option<&usize>,
__states: &mut ::std::vec::Vec<i8>,
__symbols: &mut ::std::vec::Vec<(usize,__Symbol<'input>,usize)>,
_: ::std::marker::PhantomData<()>,
) -> (usize, (usize,__Symbol<'input>,usize), usize)
{
let __sym0 = __pop_Variant3(__symbols);
let __start = __sym0.0.clone();
let __end = __sym0.2.clone();
let __nt = super::__action67::<>(input, __sym0);
let __symbol = (__start, __Symbol::Variant3(__nt), __end);
(1, __symbol, 5)
}
pub(crate) fn __reduce12<
'input,
>(
input: &'input str,
__action: i8,
__lookahead_start: Option<&usize>,
__states: &mut ::std::vec::Vec<i8>,
__symbols: &mut ::std::vec::Vec<(usize,__Symbol<'input>,usize)>,
_: ::std::marker::PhantomData<()>,
) -> (usize, (usize,__Symbol<'input>,usize), usize)
{
let __sym5 = __pop_Variant4(__symbols);
let __sym4 = __pop_Variant0(__symbols);
let __sym3 = __pop_Variant4(__symbols);
let __sym2 = __pop_Variant0(__symbols);
let __sym1 = __pop_Variant4(__symbols);
let __sym0 = __pop_Variant0(__symbols);
let __start = __sym0.0.clone();
let __end = __sym5.2.clone();
let __nt = super::__action21::<>(input, __sym0, __sym1, __sym2, __sym3, __sym4, __sym5);
let __symbol = (__start, __Symbol::Variant4(__nt), __end);
(6, __symbol, 6)
}
pub(crate) fn __reduce13<
'input,
>(
input: &'input str,
__action: i8,
__lookahead_start: Option<&usize>,
__states: &mut ::std::vec::Vec<i8>,
__symbols: &mut ::std::vec::Vec<(usize,__Symbol<'input>,usize)>,
_: ::std::marker::PhantomData<()>,
) -> (usize, (usize,__Symbol<'input>,usize), usize)
{
let __sym2 = __pop_Variant4(__symbols);
let __sym1 = __pop_Variant0(__symbols);
let __sym0 = __pop_Variant4(__symbols);
let __start = __sym0.0.clone();
let __end = __sym2.2.clone();
let __nt = super::__action22::<>(input, __sym0, __sym1, __sym2);
let __symbol = (__start, __Symbol::Variant4(__nt), __end);
(3, __symbol, 6)
}
pub(crate) fn __reduce14<
'input,
>(
input: &'input str,
__action: i8,
__lookahead_start: Option<&usize>,
__states: &mut ::std::vec::Vec<i8>,
__symbols: &mut ::std::vec::Vec<(usize,__Symbol<'input>,usize)>,
_: ::std::marker::PhantomData<()>,
) -> (usize, (usize,__Symbol<'input>,usize), usize)
{
let __sym0 = __pop_Variant4(__symbols);
let __start = __sym0.0.clone();
let __end = __sym0.2.clone();
let __nt = super::__action23::<>(input, __sym0);
let __symbol = (__start, __Symbol::Variant4(__nt), __end);
(1, __symbol, 6)
}
pub(crate) fn __reduce15<
'input,
>(
input: &'input str,
__action: i8,
__lookahead_start: Option<&usize>,
__states: &mut ::std::vec::Vec<i8>,
__symbols: &mut ::std::vec::Vec<(usize,__Symbol<'input>,usize)>,
_: ::std::marker::PhantomData<()>,
) -> (usize, (usize,__Symbol<'input>,usize), usize)
{
let __sym2 = __pop_Variant4(__symbols);
let __sym1 = __pop_Variant0(__symbols);
let __sym0 = __pop_Variant4(__symbols);
let __start = __sym0.0.clone();
let __end = __sym2.2.clone();
let __nt = super::__action24::<>(input, __sym0, __sym1, __sym2);
let __symbol = (__start, __Symbol::Variant4(__nt), __end);
(3, __symbol, 7)
}
pub(crate) fn __reduce16<
'input,
>(
input: &'input str,
__action: i8,
__lookahead_start: Option<&usize>,
__states: &mut ::std::vec::Vec<i8>,
__symbols: &mut ::std::vec::Vec<(usize,__Symbol<'input>,usize)>,
_: ::std::marker::PhantomData<()>,
) -> (usize, (usize,__Symbol<'input>,usize), usize)
{
let __sym2 = __pop_Variant4(__symbols);
let __sym1 = __pop_Variant0(__symbols);
let __sym0 = __pop_Variant4(__symbols);
let __start = __sym0.0.clone();
let __end = __sym2.2.clone();
let __nt = super::__action25::<>(input, __sym0, __sym1, __sym2);
let __symbol = (__start, __Symbol::Variant4(__nt), __end);
(3, __symbol, 7)
}
pub(crate) fn __reduce17<
'input,
>(
input: &'input str,
__action: i8,
__lookahead_start: Option<&usize>,
__states: &mut ::std::vec::Vec<i8>,
__symbols: &mut ::std::vec::Vec<(usize,__Symbol<'input>,usize)>,
_: ::std::marker::PhantomData<()>,
) -> (usize, (usize,__Symbol<'input>,usize), usize)
{
let __sym0 = __pop_Variant4(__symbols);
let __start = __sym0.0.clone();
let __end = __sym0.2.clone();
let __nt = super::__action26::<>(input, __sym0);
let __symbol = (__start, __Symbol::Variant4(__nt), __end);
(1, __symbol, 7)
}
pub(crate) fn __reduce18<
'input,
>(
input: &'input str,
__action: i8,
__lookahead_start: Option<&usize>,
__states: &mut ::std::vec::Vec<i8>,
__symbols: &mut ::std::vec::Vec<(usize,__Symbol<'input>,usize)>,
_: ::std::marker::PhantomData<()>,
) -> (usize, (usize,__Symbol<'input>,usize), usize)
{
let __sym2 = __pop_Variant4(__symbols);
let __sym1 = __pop_Variant0(__symbols);
let __sym0 = __pop_Variant4(__symbols);
let __start = __sym0.0.clone();
let __end = __sym2.2.clone();
let __nt = super::__action27::<>(input, __sym0, __sym1, __sym2);
let __symbol = (__start, __Symbol::Variant4(__nt), __end);
(3, __symbol, 8)
}
pub(crate) fn __reduce19<
'input,
>(
input: &'input str,
__action: i8,
__lookahead_start: Option<&usize>,
__states: &mut ::std::vec::Vec<i8>,
__symbols: &mut ::std::vec::Vec<(usize,__Symbol<'input>,usize)>,
_: ::std::marker::PhantomData<()>,
) -> (usize, (usize,__Symbol<'input>,usize), usize)
{
let __sym2 = __pop_Variant4(__symbols);
let __sym1 = __pop_Variant0(__symbols);
let __sym0 = __pop_Variant4(__symbols);
let __start = __sym0.0.clone();
let __end = __sym2.2.clone();
let __nt = super::__action28::<>(input, __sym0, __sym1, __sym2);
let __symbol = (__start, __Symbol::Variant4(__nt), __end);
(3, __symbol, 8)
}
pub(crate) fn __reduce20<
'input,
>(
input: &'input str,
__action: i8,
__lookahead_start: Option<&usize>,
__states: &mut ::std::vec::Vec<i8>,
__symbols: &mut ::std::vec::Vec<(usize,__Symbol<'input>,usize)>,
_: ::std::marker::PhantomData<()>,
) -> (usize, (usize,__Symbol<'input>,usize), usize)
{
let __sym2 = __pop_Variant4(__symbols);
let __sym1 = __pop_Variant0(__symbols);
let __sym0 = __pop_Variant4(__symbols);
let __start = __sym0.0.clone();
let __end = __sym2.2.clone();
let __nt = super::__action29::<>(input, __sym0, __sym1, __sym2);
let __symbol = (__start, __Symbol::Variant4(__nt), __end);
(3, __symbol, 8)
}
pub(crate) fn __reduce21<
'input,
>(
input: &'input str,
__action: i8,
__lookahead_start: Option<&usize>,
__states: &mut ::std::vec::Vec<i8>,
__symbols: &mut ::std::vec::Vec<(usize,__Symbol<'input>,usize)>,
_: ::std::marker::PhantomData<()>,
) -> (usize, (usize,__Symbol<'input>,usize), usize)
{
let __sym0 = __pop_Variant4(__symbols);
let __start = __sym0.0.clone();
let __end = __sym0.2.clone();
let __nt = super::__action30::<>(input, __sym0);
let __symbol = (__start, __Symbol::Variant4(__nt), __end);
(1, __symbol, 8)
}
pub(crate) fn __reduce22<
'input,
>(
input: &'input str,
__action: i8,
__lookahead_start: Option<&usize>,
__states: &mut ::std::vec::Vec<i8>,
__symbols: &mut ::std::vec::Vec<(usize,__Symbol<'input>,usize)>,
_: ::std::marker::PhantomData<()>,
) -> (usize, (usize,__Symbol<'input>,usize), usize)
{
let __sym1 = __pop_Variant4(__symbols);
let __sym0 = __pop_Variant4(__symbols);
let __start = __sym0.0.clone();
let __end = __sym1.2.clone();
let __nt = super::__action31::<>(input, __sym0, __sym1);
let __symbol = (__start, __Symbol::Variant4(__nt), __end);
(2, __symbol, 9)
}
pub(crate) fn __reduce23<
'input,
>(
input: &'input str,
__action: i8,
__lookahead_start: Option<&usize>,
__states: &mut ::std::vec::Vec<i8>,
__symbols: &mut ::std::vec::Vec<(usize,__Symbol<'input>,usize)>,
_: ::std::marker::PhantomData<()>,
) -> (usize, (usize,__Symbol<'input>,usize), usize)
{
let __sym0 = __pop_Variant4(__symbols);
let __start = __sym0.0.clone();
let __end = __sym0.2.clone();
let __nt = super::__action32::<>(input, __sym0);
let __symbol = (__start, __Symbol::Variant4(__nt), __end);
(1, __symbol, 9)
}
pub(crate) fn __reduce24<
'input,
>(
input: &'input str,
__action: i8,
__lookahead_start: Option<&usize>,
__states: &mut ::std::vec::Vec<i8>,
__symbols: &mut ::std::vec::Vec<(usize,__Symbol<'input>,usize)>,
_: ::std::marker::PhantomData<()>,
) -> (usize, (usize,__Symbol<'input>,usize), usize)
{
let __sym2 = __pop_Variant0(__symbols);
let __sym1 = __pop_Variant4(__symbols);
let __sym0 = __pop_Variant0(__symbols);
let __start = __sym0.0.clone();
let __end = __sym2.2.clone();
let __nt = super::__action33::<>(input, __sym0, __sym1, __sym2);
let __symbol = (__start, __Symbol::Variant4(__nt), __end);
(3, __symbol, 10)
}
pub(crate) fn __reduce25<
'input,
>(
input: &'input str,
__action: i8,
__lookahead_start: Option<&usize>,
__states: &mut ::std::vec::Vec<i8>,
__symbols: &mut ::std::vec::Vec<(usize,__Symbol<'input>,usize)>,
_: ::std::marker::PhantomData<()>,
) -> (usize, (usize,__Symbol<'input>,usize), usize)
{
let __sym0 = __pop_Variant6(__symbols);
let __start = __sym0.0.clone();
let __end = __sym0.2.clone();
let __nt = super::__action34::<>(input, __sym0);
let __symbol = (__start, __Symbol::Variant4(__nt), __end);
(1, __symbol, 10)
}
pub(crate) fn __reduce26<
'input,
>(
input: &'input str,
__action: i8,
__lookahead_start: Option<&usize>,
__states: &mut ::std::vec::Vec<i8>,
__symbols: &mut ::std::vec::Vec<(usize,__Symbol<'input>,usize)>,
_: ::std::marker::PhantomData<()>,
) -> (usize, (usize,__Symbol<'input>,usize), usize)
{
let __sym0 = __pop_Variant5(__symbols);
let __start = __sym0.0.clone();
let __end = __sym0.2.clone();
let __nt = super::__action35::<>(input, __sym0);
let __symbol = (__start, __Symbol::Variant4(__nt), __end);
(1, __symbol, 10)
}
pub(crate) fn __reduce27<
'input,
>(
input: &'input str,
__action: i8,
__lookahead_start: Option<&usize>,
__states: &mut ::std::vec::Vec<i8>,
__symbols: &mut ::std::vec::Vec<(usize,__Symbol<'input>,usize)>,
_: ::std::marker::PhantomData<()>,
) -> (usize, (usize,__Symbol<'input>,usize), usize)
{
let __sym2 = __pop_Variant0(__symbols);
let __sym1 = __pop_Variant4(__symbols);
let __sym0 = __pop_Variant0(__symbols);
let __start = __sym0.0.clone();
let __end = __sym2.2.clone();
let __nt = super::__action70::<>(input, __sym0, __sym1, __sym2);
let __symbol = (__start, __Symbol::Variant4(__nt), __end);
(3, __symbol, 10)
}
pub(crate) fn __reduce28<
'input,
>(
input: &'input str,
__action: i8,
__lookahead_start: Option<&usize>,
__states: &mut ::std::vec::Vec<i8>,
__symbols: &mut ::std::vec::Vec<(usize,__Symbol<'input>,usize)>,
_: ::std::marker::PhantomData<()>,
) -> (usize, (usize,__Symbol<'input>,usize), usize)
{
let __sym3 = __pop_Variant0(__symbols);
let __sym2 = __pop_Variant10(__symbols);
let __sym1 = __pop_Variant4(__symbols);
let __sym0 = __pop_Variant0(__symbols);
let __start = __sym0.0.clone();
let __end = __sym3.2.clone();
let __nt = super::__action71::<>(input, __sym0, __sym1, __sym2, __sym3);
let __symbol = (__start, __Symbol::Variant4(__nt), __end);
(4, __symbol, 10)
}
pub(crate) fn __reduce29<
'input,
>(
input: &'input str,
__action: i8,
__lookahead_start: Option<&usize>,
__states: &mut ::std::vec::Vec<i8>,
__symbols: &mut ::std::vec::Vec<(usize,__Symbol<'input>,usize)>,
_: ::std::marker::PhantomData<()>,
) -> (usize, (usize,__Symbol<'input>,usize), usize)
{
let __sym1 = __pop_Variant0(__symbols);
let __sym0 = __pop_Variant0(__symbols);
let __start = __sym0.0.clone();
let __end = __sym1.2.clone();
let __nt = super::__action43::<>(input, __sym0, __sym1);
let __symbol = (__start, __Symbol::Variant5(__nt), __end);
(2, __symbol, 11)
}
pub(crate) fn __reduce30<
'input,
>(
input: &'input str,
__action: i8,
__lookahead_start: Option<&usize>,
__states: &mut ::std::vec::Vec<i8>,
__symbols: &mut ::std::vec::Vec<(usize,__Symbol<'input>,usize)>,
_: ::std::marker::PhantomData<()>,
) -> (usize, (usize,__Symbol<'input>,usize), usize)
{
let __sym0 = __pop_Variant0(__symbols);
let __start = __sym0.0.clone();
let __end = __sym0.2.clone();
let __nt = super::__action44::<>(input, __sym0);
let __symbol = (__start, __Symbol::Variant5(__nt), __end);
(1, __symbol, 11)
}
pub(crate) fn __reduce31<
'input,
>(
input: &'input str,
__action: i8,
__lookahead_start: Option<&usize>,
__states: &mut ::std::vec::Vec<i8>,
__symbols: &mut ::std::vec::Vec<(usize,__Symbol<'input>,usize)>,
_: ::std::marker::PhantomData<()>,
) -> (usize, (usize,__Symbol<'input>,usize), usize)
{
let __sym0 = __pop_Variant0(__symbols);
let __start = __sym0.0.clone();
let __end = __sym0.2.clone();
let __nt = super::__action45::<>(input, __sym0);
let __symbol = (__start, __Symbol::Variant5(__nt), __end);
(1, __symbol, 11)
}
pub(crate) fn __reduce32<
'input,
>(
input: &'input str,
__action: i8,
__lookahead_start: Option<&usize>,
__states: &mut ::std::vec::Vec<i8>,
__symbols: &mut ::std::vec::Vec<(usize,__Symbol<'input>,usize)>,
_: ::std::marker::PhantomData<()>,
) -> (usize, (usize,__Symbol<'input>,usize), usize)
{
let __sym0 = __pop_Variant0(__symbols);
let __start = __sym0.0.clone();
let __end = __sym0.2.clone();
let __nt = super::__action46::<>(input, __sym0);
let __symbol = (__start, __Symbol::Variant5(__nt), __end);
(1, __symbol, 11)
}
pub(crate) fn __reduce33<
'input,
>(
input: &'input str,
__action: i8,
__lookahead_start: Option<&usize>,
__states: &mut ::std::vec::Vec<i8>,
__symbols: &mut ::std::vec::Vec<(usize,__Symbol<'input>,usize)>,
_: ::std::marker::PhantomData<()>,
) -> (usize, (usize,__Symbol<'input>,usize), usize)
{
let __sym0 = __pop_Variant0(__symbols);
let __start = __sym0.0.clone();
let __end = __sym0.2.clone();
let __nt = super::__action47::<>(input, __sym0);
let __symbol = (__start, __Symbol::Variant6(__nt), __end);
(1, __symbol, 12)
}
pub(crate) fn __reduce34<
'input,
>(
input: &'input str,
__action: i8,
__lookahead_start: Option<&usize>,
__states: &mut ::std::vec::Vec<i8>,
__symbols: &mut ::std::vec::Vec<(usize,__Symbol<'input>,usize)>,
_: ::std::marker::PhantomData<()>,
) -> (usize, (usize,__Symbol<'input>,usize), usize)
{
let __sym2 = __pop_Variant7(__symbols);
let __sym1 = __pop_Variant0(__symbols);
let __sym0 = __pop_Variant7(__symbols);
let __start = __sym0.0.clone();
let __end = __sym2.2.clone();
let __nt = super::__action38::<>(input, __sym0, __sym1, __sym2);
let __symbol = (__start, __Symbol::Variant7(__nt), __end);
(3, __symbol, 13)
}
pub(crate) fn __reduce35<
'input,
>(
input: &'input str,
__action: i8,
__lookahead_start: Option<&usize>,
__states: &mut ::std::vec::Vec<i8>,
__symbols: &mut ::std::vec::Vec<(usize,__Symbol<'input>,usize)>,
_: ::std::marker::PhantomData<()>,
) -> (usize, (usize,__Symbol<'input>,usize), usize)
{
let __sym0 = __pop_Variant7(__symbols);
let __start = __sym0.0.clone();
let __end = __sym0.2.clone();
let __nt = super::__action39::<>(input, __sym0);
let __symbol = (__start, __Symbol::Variant7(__nt), __end);
(1, __symbol, 13)
}
pub(crate) fn __reduce36<
'input,
>(
input: &'input str,
__action: i8,
__lookahead_start: Option<&usize>,
__states: &mut ::std::vec::Vec<i8>,
__symbols: &mut ::std::vec::Vec<(usize,__Symbol<'input>,usize)>,
_: ::std::marker::PhantomData<()>,
) -> (usize, (usize,__Symbol<'input>,usize), usize)
{
let __sym2 = __pop_Variant0(__symbols);
let __sym1 = __pop_Variant7(__symbols);
let __sym0 = __pop_Variant0(__symbols);
let __start = __sym0.0.clone();
let __end = __sym2.2.clone();
let __nt = super::__action40::<>(input, __sym0, __sym1, __sym2);
let __symbol = (__start, __Symbol::Variant7(__nt), __end);
(3, __symbol, 14)
}
pub(crate) fn __reduce37<
'input,
>(
input: &'input str,
__action: i8,
__lookahead_start: Option<&usize>,
__states: &mut ::std::vec::Vec<i8>,
__symbols: &mut ::std::vec::Vec<(usize,__Symbol<'input>,usize)>,
_: ::std::marker::PhantomData<()>,
) -> (usize, (usize,__Symbol<'input>,usize), usize)
{
let __sym0 = __pop_Variant6(__symbols);
let __start = __sym0.0.clone();
let __end = __sym0.2.clone();
let __nt = super::__action41::<>(input, __sym0);
let __symbol = (__start, __Symbol::Variant7(__nt), __end);
(1, __symbol, 14)
}
pub(crate) fn __reduce38<
'input,
>(
input: &'input str,
__action: i8,
__lookahead_start: Option<&usize>,
__states: &mut ::std::vec::Vec<i8>,
__symbols: &mut ::std::vec::Vec<(usize,__Symbol<'input>,usize)>,
_: ::std::marker::PhantomData<()>,
) -> (usize, (usize,__Symbol<'input>,usize), usize)
{
let __sym0 = __pop_Variant5(__symbols);
let __start = __sym0.0.clone();
let __end = __sym0.2.clone();
let __nt = super::__action42::<>(input, __sym0);
let __symbol = (__start, __Symbol::Variant7(__nt), __end);
(1, __symbol, 14)
}
pub(crate) fn __reduce39<
'input,
>(
input: &'input str,
__action: i8,
__lookahead_start: Option<&usize>,
__states: &mut ::std::vec::Vec<i8>,
__symbols: &mut ::std::vec::Vec<(usize,__Symbol<'input>,usize)>,
_: ::std::marker::PhantomData<()>,
) -> (usize, (usize,__Symbol<'input>,usize), usize)
{
let __start = __symbols.last().map(|s| s.2.clone()).unwrap_or_default();
let __end = __lookahead_start.cloned().unwrap_or_else(|| __start.clone());
let __nt = super::__action50::<>(input, &__start, &__end);
let __symbol = (__start, __Symbol::Variant8(__nt), __end);
(0, __symbol, 15)
}
pub(crate) fn __reduce40<
'input,
>(
input: &'input str,
__action: i8,
__lookahead_start: Option<&usize>,
__states: &mut ::std::vec::Vec<i8>,
__symbols: &mut ::std::vec::Vec<(usize,__Symbol<'input>,usize)>,
_: ::std::marker::PhantomData<()>,
) -> (usize, (usize,__Symbol<'input>,usize), usize)
{
let __sym0 = __pop_Variant8(__symbols);
let __start = __sym0.0.clone();
let __end = __sym0.2.clone();
let __nt = super::__action51::<>(input, __sym0);
let __symbol = (__start, __Symbol::Variant8(__nt), __end);
(1, __symbol, 15)
}
pub(crate) fn __reduce41<
'input,
>(
input: &'input str,
__action: i8,
__lookahead_start: Option<&usize>,
__states: &mut ::std::vec::Vec<i8>,
__symbols: &mut ::std::vec::Vec<(usize,__Symbol<'input>,usize)>,
_: ::std::marker::PhantomData<()>,
) -> (usize, (usize,__Symbol<'input>,usize), usize)
{
let __sym0 = __pop_Variant7(__symbols);
let __start = __sym0.0.clone();
let __end = __sym0.2.clone();
let __nt = super::__action58::<>(input, __sym0);
let __symbol = (__start, __Symbol::Variant8(__nt), __end);
(1, __symbol, 16)
}
pub(crate) fn __reduce42<
'input,
>(
input: &'input str,
__action: i8,
__lookahead_start: Option<&usize>,
__states: &mut ::std::vec::Vec<i8>,
__symbols: &mut ::std::vec::Vec<(usize,__Symbol<'input>,usize)>,
_: ::std::marker::PhantomData<()>,
) -> (usize, (usize,__Symbol<'input>,usize), usize)
{
let __sym1 = __pop_Variant7(__symbols);
let __sym0 = __pop_Variant8(__symbols);
let __start = __sym0.0.clone();
let __end = __sym1.2.clone();
let __nt = super::__action59::<>(input, __sym0, __sym1);
let __symbol = (__start, __Symbol::Variant8(__nt), __end);
(2, __symbol, 16)
}
pub(crate) fn __reduce43<
'input,
>(
input: &'input str,
__action: i8,
__lookahead_start: Option<&usize>,
__states: &mut ::std::vec::Vec<i8>,
__symbols: &mut ::std::vec::Vec<(usize,__Symbol<'input>,usize)>,
_: ::std::marker::PhantomData<()>,
) -> (usize, (usize,__Symbol<'input>,usize), usize)
{
let __sym1 = __pop_Variant0(__symbols);
let __sym0 = __pop_Variant4(__symbols);
let __start = __sym0.0.clone();
let __end = __sym1.2.clone();
let __nt = super::__action62::<>(input, __sym0, __sym1);
let __symbol = (__start, __Symbol::Variant9(__nt), __end);
(2, __symbol, 17)
}
pub(crate) fn __reduce44<
'input,
>(
input: &'input str,
__action: i8,
__lookahead_start: Option<&usize>,
__states: &mut ::std::vec::Vec<i8>,
__symbols: &mut ::std::vec::Vec<(usize,__Symbol<'input>,usize)>,
_: ::std::marker::PhantomData<()>,
) -> (usize, (usize,__Symbol<'input>,usize), usize)
{
let __sym0 = __pop_Variant4(__symbols);
let __start = __sym0.0.clone();
let __end = __sym0.2.clone();
let __nt = super::__action63::<>(input, __sym0);
let __symbol = (__start, __Symbol::Variant9(__nt), __end);
(1, __symbol, 17)
}
pub(crate) fn __reduce45<
'input,
>(
input: &'input str,
__action: i8,
__lookahead_start: Option<&usize>,
__states: &mut ::std::vec::Vec<i8>,
__symbols: &mut ::std::vec::Vec<(usize,__Symbol<'input>,usize)>,
_: ::std::marker::PhantomData<()>,
) -> (usize, (usize,__Symbol<'input>,usize), usize)
{
let __sym0 = __pop_Variant0(__symbols);
let __start = __sym0.0.clone();
let __end = __sym0.2.clone();
let __nt = super::__action5::<>(input, __sym0);
let __symbol = (__start, __Symbol::Variant9(__nt), __end);
(1, __symbol, 17)
}
pub(crate) fn __reduce46<
'input,
>(
input: &'input str,
__action: i8,
__lookahead_start: Option<&usize>,
__states: &mut ::std::vec::Vec<i8>,
__symbols: &mut ::std::vec::Vec<(usize,__Symbol<'input>,usize)>,
_: ::std::marker::PhantomData<()>,
) -> (usize, (usize,__Symbol<'input>,usize), usize)
{
let __sym0 = __pop_Variant0(__symbols);
let __start = __sym0.0.clone();
let __end = __sym0.2.clone();
let __nt = super::__action6::<>(input, __sym0);
let __symbol = (__start, __Symbol::Variant9(__nt), __end);
(1, __symbol, 17)
}
pub(crate) fn __reduce47<
'input,
>(
input: &'input str,
__action: i8,
__lookahead_start: Option<&usize>,
__states: &mut ::std::vec::Vec<i8>,
__symbols: &mut ::std::vec::Vec<(usize,__Symbol<'input>,usize)>,
_: ::std::marker::PhantomData<()>,
) -> (usize, (usize,__Symbol<'input>,usize), usize)
{
let __sym0 = __pop_Variant0(__symbols);
let __start = __sym0.0.clone();
let __end = __sym0.2.clone();
let __nt = super::__action7::<>(input, __sym0);
let __symbol = (__start, __Symbol::Variant9(__nt), __end);
(1, __symbol, 17)
}
pub(crate) fn __reduce48<
'input,
>(
input: &'input str,
__action: i8,
__lookahead_start: Option<&usize>,
__states: &mut ::std::vec::Vec<i8>,
__symbols: &mut ::std::vec::Vec<(usize,__Symbol<'input>,usize)>,
_: ::std::marker::PhantomData<()>,
) -> (usize, (usize,__Symbol<'input>,usize), usize)
{
let __sym0 = __pop_Variant0(__symbols);
let __start = __sym0.0.clone();
let __end = __sym0.2.clone();
let __nt = super::__action8::<>(input, __sym0);
let __symbol = (__start, __Symbol::Variant9(__nt), __end);
(1, __symbol, 17)
}
pub(crate) fn __reduce49<
'input,
>(
input: &'input str,
__action: i8,
__lookahead_start: Option<&usize>,
__states: &mut ::std::vec::Vec<i8>,
__symbols: &mut ::std::vec::Vec<(usize,__Symbol<'input>,usize)>,
_: ::std::marker::PhantomData<()>,
) -> (usize, (usize,__Symbol<'input>,usize), usize)
{
let __sym2 = __pop_Variant0(__symbols);
let __sym1 = __pop_Variant2(__symbols);
let __sym0 = __pop_Variant0(__symbols);
let __start = __sym0.0.clone();
let __end = __sym2.2.clone();
let __nt = super::__action64::<>(input, __sym0, __sym1, __sym2);
let __symbol = (__start, __Symbol::Variant9(__nt), __end);
(3, __symbol, 17)
}
pub(crate) fn __reduce50<
'input,
>(
input: &'input str,
__action: i8,
__lookahead_start: Option<&usize>,
__states: &mut ::std::vec::Vec<i8>,
__symbols: &mut ::std::vec::Vec<(usize,__Symbol<'input>,usize)>,
_: ::std::marker::PhantomData<()>,
) -> (usize, (usize,__Symbol<'input>,usize), usize)
{
let __sym1 = __pop_Variant2(__symbols);
let __sym0 = __pop_Variant0(__symbols);
let __start = __sym0.0.clone();
let __end = __sym1.2.clone();
let __nt = super::__action65::<>(input, __sym0, __sym1);
let __symbol = (__start, __Symbol::Variant9(__nt), __end);
(2, __symbol, 17)
}
pub(crate) fn __reduce51<
'input,
>(
input: &'input str,
__action: i8,
__lookahead_start: Option<&usize>,
__states: &mut ::std::vec::Vec<i8>,
__symbols: &mut ::std::vec::Vec<(usize,__Symbol<'input>,usize)>,
_: ::std::marker::PhantomData<()>,
) -> (usize, (usize,__Symbol<'input>,usize), usize)
{
let __sym0 = __pop_Variant0(__symbols);
let __start = __sym0.0.clone();
let __end = __sym0.2.clone();
let __nt = super::__action10::<>(input, __sym0);
let __symbol = (__start, __Symbol::Variant9(__nt), __end);
(1, __symbol, 17)
}
pub(crate) fn __reduce52<
'input,
>(
input: &'input str,
__action: i8,
__lookahead_start: Option<&usize>,
__states: &mut ::std::vec::Vec<i8>,
__symbols: &mut ::std::vec::Vec<(usize,__Symbol<'input>,usize)>,
_: ::std::marker::PhantomData<()>,
) -> (usize, (usize,__Symbol<'input>,usize), usize)
{
let __sym0 = __pop_Variant0(__symbols);
let __start = __sym0.0.clone();
let __end = __sym0.2.clone();
let __nt = super::__action11::<>(input, __sym0);
let __symbol = (__start, __Symbol::Variant9(__nt), __end);
(1, __symbol, 17)
}
pub(crate) fn __reduce53<
'input,
>(
input: &'input str,
__action: i8,
__lookahead_start: Option<&usize>,
__states: &mut ::std::vec::Vec<i8>,
__symbols: &mut ::std::vec::Vec<(usize,__Symbol<'input>,usize)>,
_: ::std::marker::PhantomData<()>,
) -> (usize, (usize,__Symbol<'input>,usize), usize)
{
let __sym0 = __pop_Variant0(__symbols);
let __start = __sym0.0.clone();
let __end = __sym0.2.clone();
let __nt = super::__action12::<>(input, __sym0);
let __symbol = (__start, __Symbol::Variant9(__nt), __end);
(1, __symbol, 17)
}
pub(crate) fn __reduce54<
'input,
>(
input: &'input str,
__action: i8,
__lookahead_start: Option<&usize>,
__states: &mut ::std::vec::Vec<i8>,
__symbols: &mut ::std::vec::Vec<(usize,__Symbol<'input>,usize)>,
_: ::std::marker::PhantomData<()>,
) -> (usize, (usize,__Symbol<'input>,usize), usize)
{
let __sym0 = __pop_Variant0(__symbols);
let __start = __sym0.0.clone();
let __end = __sym0.2.clone();
let __nt = super::__action13::<>(input, __sym0);
let __symbol = (__start, __Symbol::Variant9(__nt), __end);
(1, __symbol, 17)
}
pub(crate) fn __reduce55<
'input,
>(
input: &'input str,
__action: i8,
__lookahead_start: Option<&usize>,
__states: &mut ::std::vec::Vec<i8>,
__symbols: &mut ::std::vec::Vec<(usize,__Symbol<'input>,usize)>,
_: ::std::marker::PhantomData<()>,
) -> (usize, (usize,__Symbol<'input>,usize), usize)
{
let __sym0 = __pop_Variant0(__symbols);
let __start = __sym0.0.clone();
let __end = __sym0.2.clone();
let __nt = super::__action14::<>(input, __sym0);
let __symbol = (__start, __Symbol::Variant9(__nt), __end);
(1, __symbol, 17)
}
pub(crate) fn __reduce56<
'input,
>(
input: &'input str,
__action: i8,
__lookahead_start: Option<&usize>,
__states: &mut ::std::vec::Vec<i8>,
__symbols: &mut ::std::vec::Vec<(usize,__Symbol<'input>,usize)>,
_: ::std::marker::PhantomData<()>,
) -> (usize, (usize,__Symbol<'input>,usize), usize)
{
let __sym0 = __pop_Variant0(__symbols);
let __start = __sym0.0.clone();
let __end = __sym0.2.clone();
let __nt = super::__action15::<>(input, __sym0);
let __symbol = (__start, __Symbol::Variant9(__nt), __end);
(1, __symbol, 17)
}
pub(crate) fn __reduce57<
'input,
>(
input: &'input str,
__action: i8,
__lookahead_start: Option<&usize>,
__states: &mut ::std::vec::Vec<i8>,
__symbols: &mut ::std::vec::Vec<(usize,__Symbol<'input>,usize)>,
_: ::std::marker::PhantomData<()>,
) -> (usize, (usize,__Symbol<'input>,usize), usize)
{
let __sym0 = __pop_Variant0(__symbols);
let __start = __sym0.0.clone();
let __end = __sym0.2.clone();
let __nt = super::__action16::<>(input, __sym0);
let __symbol = (__start, __Symbol::Variant9(__nt), __end);
(1, __symbol, 17)
}
pub(crate) fn __reduce58<
'input,
>(
input: &'input str,
__action: i8,
__lookahead_start: Option<&usize>,
__states: &mut ::std::vec::Vec<i8>,
__symbols: &mut ::std::vec::Vec<(usize,__Symbol<'input>,usize)>,
_: ::std::marker::PhantomData<()>,
) -> (usize, (usize,__Symbol<'input>,usize), usize)
{
let __sym1 = __pop_Variant4(__symbols);
let __sym0 = __pop_Variant0(__symbols);
let __start = __sym0.0.clone();
let __end = __sym1.2.clone();
let __nt = super::__action17::<>(input, __sym0, __sym1);
let __symbol = (__start, __Symbol::Variant9(__nt), __end);
(2, __symbol, 17)
}
pub(crate) fn __reduce59<
'input,
>(
input: &'input str,
__action: i8,
__lookahead_start: Option<&usize>,
__states: &mut ::std::vec::Vec<i8>,
__symbols: &mut ::std::vec::Vec<(usize,__Symbol<'input>,usize)>,
_: ::std::marker::PhantomData<()>,
) -> (usize, (usize,__Symbol<'input>,usize), usize)
{
let __sym1 = __pop_Variant4(__symbols);
let __sym0 = __pop_Variant0(__symbols);
let __start = __sym0.0.clone();
let __end = __sym1.2.clone();
let __nt = super::__action37::<>(input, __sym0, __sym1);
let __symbol = (__start, __Symbol::Variant4(__nt), __end);
(2, __symbol, 18)
}
pub(crate) fn __reduce60<
'input,
>(
input: &'input str,
__action: i8,
__lookahead_start: Option<&usize>,
__states: &mut ::std::vec::Vec<i8>,
__symbols: &mut ::std::vec::Vec<(usize,__Symbol<'input>,usize)>,
_: ::std::marker::PhantomData<()>,
) -> (usize, (usize,__Symbol<'input>,usize), usize)
{
let __start = __symbols.last().map(|s| s.2.clone()).unwrap_or_default();
let __end = __lookahead_start.cloned().unwrap_or_else(|| __start.clone());
let __nt = super::__action48::<>(input, &__start, &__end);
let __symbol = (__start, __Symbol::Variant10(__nt), __end);
(0, __symbol, 19)
}
pub(crate) fn __reduce61<
'input,
>(
input: &'input str,
__action: i8,
__lookahead_start: Option<&usize>,
__states: &mut ::std::vec::Vec<i8>,
__symbols: &mut ::std::vec::Vec<(usize,__Symbol<'input>,usize)>,
_: ::std::marker::PhantomData<()>,
) -> (usize, (usize,__Symbol<'input>,usize), usize)
{
let __sym0 = __pop_Variant10(__symbols);
let __start = __sym0.0.clone();
let __end = __sym0.2.clone();
let __nt = super::__action49::<>(input, __sym0);
let __symbol = (__start, __Symbol::Variant10(__nt), __end);
(1, __symbol, 19)
}
pub(crate) fn __reduce62<
'input,
>(
input: &'input str,
__action: i8,
__lookahead_start: Option<&usize>,
__states: &mut ::std::vec::Vec<i8>,
__symbols: &mut ::std::vec::Vec<(usize,__Symbol<'input>,usize)>,
_: ::std::marker::PhantomData<()>,
) -> (usize, (usize,__Symbol<'input>,usize), usize)
{
let __sym0 = __pop_Variant4(__symbols);
let __start = __sym0.0.clone();
let __end = __sym0.2.clone();
let __nt = super::__action60::<>(input, __sym0);
let __symbol = (__start, __Symbol::Variant10(__nt), __end);
(1, __symbol, 20)
}
pub(crate) fn __reduce63<
'input,
>(
input: &'input str,
__action: i8,
__lookahead_start: Option<&usize>,
__states: &mut ::std::vec::Vec<i8>,
__symbols: &mut ::std::vec::Vec<(usize,__Symbol<'input>,usize)>,
_: ::std::marker::PhantomData<()>,
) -> (usize, (usize,__Symbol<'input>,usize), usize)
{
let __sym1 = __pop_Variant4(__symbols);
let __sym0 = __pop_Variant10(__symbols);
let __start = __sym0.0.clone();
let __end = __sym1.2.clone();
let __nt = super::__action61::<>(input, __sym0, __sym1);
let __symbol = (__start, __Symbol::Variant10(__nt), __end);
(2, __symbol, 20)
}
pub(crate) fn __reduce64<
'input,
>(
input: &'input str,
__action: i8,
__lookahead_start: Option<&usize>,
__states: &mut ::std::vec::Vec<i8>,
__symbols: &mut ::std::vec::Vec<(usize,__Symbol<'input>,usize)>,
_: ::std::marker::PhantomData<()>,
) -> (usize, (usize,__Symbol<'input>,usize), usize)
{
let __sym0 = __pop_Variant2(__symbols);
let __start = __sym0.0.clone();
let __end = __sym0.2.clone();
let __nt = super::__action2::<>(input, __sym0);
let __symbol = (__start, __Symbol::Variant2(__nt), __end);
(1, __symbol, 21)
}
pub(crate) fn __reduce65<
'input,
>(
input: &'input str,
__action: i8,
__lookahead_start: Option<&usize>,
__states: &mut ::std::vec::Vec<i8>,
__symbols: &mut ::std::vec::Vec<(usize,__Symbol<'input>,usize)>,
_: ::std::marker::PhantomData<()>,
) -> (usize, (usize,__Symbol<'input>,usize), usize)
{
let __sym0 = __pop_Variant3(__symbols);
let __start = __sym0.0.clone();
let __end = __sym0.2.clone();
let __nt = super::__action1::<>(input, __sym0);
let __symbol = (__start, __Symbol::Variant3(__nt), __end);
(1, __symbol, 22)
}
pub(crate) fn __reduce66<
'input,
>(
input: &'input str,
__action: i8,
__lookahead_start: Option<&usize>,
__states: &mut ::std::vec::Vec<i8>,
__symbols: &mut ::std::vec::Vec<(usize,__Symbol<'input>,usize)>,
_: ::std::marker::PhantomData<()>,
) -> (usize, (usize,__Symbol<'input>,usize), usize)
{
let __sym0 = __pop_Variant4(__symbols);
let __start = __sym0.0.clone();
let __end = __sym0.2.clone();
let __nt = super::__action3::<>(input, __sym0);
let __symbol = (__start, __Symbol::Variant4(__nt), __end);
(1, __symbol, 23)
}
}
pub use self::__parse__ReplCommand::ReplCommandParser;
#[cfg_attr(rustfmt, rustfmt_skip)]
mod __intern_token {
#![allow(unused_imports)]
use symbol::Symbol;
use ast::{Literal, Op, Pattern, PrintStyle};
use cst::{Decl, Expr};
use eval::{CallByName, CallByValue, LazyEvaluation};
use repl::ReplCommand;
#[allow(unused_extern_crates)]
extern crate lalrpop_util as __lalrpop_util;
extern crate regex as __regex;
use std::fmt as __fmt;
#[derive(Clone, Debug, PartialEq, Eq, PartialOrd, Ord)]
pub struct Token<'input>(pub usize, pub &'input str);
impl<'a> __fmt::Display for Token<'a> {
fn fmt(&self, formatter: &mut __fmt::Formatter) -> Result<(), __fmt::Error> {
__fmt::Display::fmt(self.1, formatter)
}
}
pub struct __MatcherBuilder {
regex_set: __regex::RegexSet,
regex_vec: Vec<__regex::Regex>,
}
impl __MatcherBuilder {
pub fn new() -> __MatcherBuilder {
let __strs: &[&str] = &[
"^((?u:[0-9])+)",
"^((?u:[A-Z_-_a-z])(?u:[0-9A-Z_-_a-z])*)",
"^((?u:\\())",
"^((?u:\\)))",
"^((?u:\\*))",
"^((?u:\\+))",
"^((?u:\\-))",
"^((?u:/))",
"^((?u:::))",
"^((?u::ast))",
"^((?u::cbn))",
"^((?u::cbv))",
"^((?u::cst))",
"^((?u::decl))",
"^((?u::help))",
"^((?u::l))",
"^((?u::lazy))",
"^((?u::list))",
"^((?u::q))",
"^((?u::quit))",
"^((?u::reset))",
"^((?u::t))",
"^((?u:;))",
"^((?u:;;))",
"^((?u:=))",
"^((?u:\\[))",
"^((?u:\\]))",
"^((?u:else))",
"^((?u:false))",
"^((?u:if))",
"^((?u:mod))",
"^((?u:then))",
"^((?u:true))",
];
let __regex_set = __regex::RegexSet::new(__strs).unwrap();
let __regex_vec = vec![
__regex::Regex::new("^((?u:[0-9])+)").unwrap(),
__regex::Regex::new("^((?u:[A-Z_-_a-z])(?u:[0-9A-Z_-_a-z])*)").unwrap(),
__regex::Regex::new("^((?u:\\())").unwrap(),
__regex::Regex::new("^((?u:\\)))").unwrap(),
__regex::Regex::new("^((?u:\\*))").unwrap(),
__regex::Regex::new("^((?u:\\+))").unwrap(),
__regex::Regex::new("^((?u:\\-))").unwrap(),
__regex::Regex::new("^((?u:/))").unwrap(),
__regex::Regex::new("^((?u:::))").unwrap(),
__regex::Regex::new("^((?u::ast))").unwrap(),
__regex::Regex::new("^((?u::cbn))").unwrap(),
__regex::Regex::new("^((?u::cbv))").unwrap(),
__regex::Regex::new("^((?u::cst))").unwrap(),
__regex::Regex::new("^((?u::decl))").unwrap(),
__regex::Regex::new("^((?u::help))").unwrap(),
__regex::Regex::new("^((?u::l))").unwrap(),
__regex::Regex::new("^((?u::lazy))").unwrap(),
__regex::Regex::new("^((?u::list))").unwrap(),
__regex::Regex::new("^((?u::q))").unwrap(),
__regex::Regex::new("^((?u::quit))").unwrap(),
__regex::Regex::new("^((?u::reset))").unwrap(),
__regex::Regex::new("^((?u::t))").unwrap(),
__regex::Regex::new("^((?u:;))").unwrap(),
__regex::Regex::new("^((?u:;;))").unwrap(),
__regex::Regex::new("^((?u:=))").unwrap(),
__regex::Regex::new("^((?u:\\[))").unwrap(),
__regex::Regex::new("^((?u:\\]))").unwrap(),
__regex::Regex::new("^((?u:else))").unwrap(),
__regex::Regex::new("^((?u:false))").unwrap(),
__regex::Regex::new("^((?u:if))").unwrap(),
__regex::Regex::new("^((?u:mod))").unwrap(),
__regex::Regex::new("^((?u:then))").unwrap(),
__regex::Regex::new("^((?u:true))").unwrap(),
];
__MatcherBuilder { regex_set: __regex_set, regex_vec: __regex_vec }
}
pub fn matcher<'input, 'builder>(&'builder self, s: &'input str) -> __Matcher<'input, 'builder> {
__Matcher {
text: s,
consumed: 0,
regex_set: &self.regex_set,
regex_vec: &self.regex_vec,
}
}
}
pub struct __Matcher<'input, 'builder> {
text: &'input str,
consumed: usize,
regex_set: &'builder __regex::RegexSet,
regex_vec: &'builder Vec<__regex::Regex>,
}
impl<'input, 'builder> Iterator for __Matcher<'input, 'builder> {
type Item = Result<(usize, Token<'input>, usize), __lalrpop_util::ParseError<usize,Token<'input>,&'static str>>;
fn next(&mut self) -> Option<Self::Item> {
let __text = self.text.trim_left();
let __whitespace = self.text.len() - __text.len();
let __start_offset = self.consumed + __whitespace;
if __text.is_empty() {
self.text = __text;
self.consumed = __start_offset;
None
} else {
let __matches = self.regex_set.matches(__text);
if !__matches.matched_any() {
Some(Err(__lalrpop_util::ParseError::InvalidToken {
location: __start_offset,
}))
} else {
let mut __longest_match = 0;
let mut __index = 0;
for __i in 0 .. 33 {
if __matches.matched(__i) {
let __match = self.regex_vec[__i].find(__text).unwrap();
let __len = __match.end();
if __len >= __longest_match {
__longest_match = __len;
__index = __i;
}
}
}
let __result = &__text[..__longest_match];
let __remaining = &__text[__longest_match..];
let __end_offset = __start_offset + __longest_match;
self.text = __remaining;
self.consumed = __end_offset;
Some(Ok((__start_offset, Token(__index, __result), __end_offset)))
}
}
}
}
}
pub use self::__intern_token::Token;
#[allow(unused_variables)]
fn __action0<
'input,
>(
input: &'input str,
(_, __0, _): (usize, ReplCommand, usize),
) -> ReplCommand
{
(__0)
}
#[allow(unused_variables)]
fn __action1<
'input,
>(
input: &'input str,
(_, __0, _): (usize, ::std::vec::Vec<Decl>, usize),
) -> ::std::vec::Vec<Decl>
{
(__0)
}
#[allow(unused_variables)]
fn __action2<
'input,
>(
input: &'input str,
(_, __0, _): (usize, Decl, usize),
) -> Decl
{
(__0)
}
#[allow(unused_variables)]
fn __action3<
'input,
>(
input: &'input str,
(_, __0, _): (usize, Expr, usize),
) -> Expr
{
(__0)
}
#[allow(unused_variables)]
fn __action4<
'input,
>(
input: &'input str,
(_, e, _): (usize, Expr, usize),
(_, _, _): (usize, ::std::option::Option<&'input str>, usize),
) -> ReplCommand
{
ReplCommand::Expr(e)
}
#[allow(unused_variables)]
fn __action5<
'input,
>(
input: &'input str,
(_, __0, _): (usize, &'input str, usize),
) -> ReplCommand
{
ReplCommand::PrintStyle(PrintStyle::AST)
}
#[allow(unused_variables)]
fn __action6<
'input,
>(
input: &'input str,
(_, __0, _): (usize, &'input str, usize),
) -> ReplCommand
{
ReplCommand::Evaluator(|decls| Box::new(CallByName::new(decls)))
}
#[allow(unused_variables)]
fn __action7<
'input,
>(
input: &'input str,
(_, __0, _): (usize, &'input str, usize),
) -> ReplCommand
{
ReplCommand::Evaluator(|decls| Box::new(CallByValue::new(decls)))
}
#[allow(unused_variables)]
fn __action8<
'input,
>(
input: &'input str,
(_, __0, _): (usize, &'input str, usize),
) -> ReplCommand
{
ReplCommand::PrintStyle(PrintStyle::CST)
}
#[allow(unused_variables)]
fn __action9<
'input,
>(
input: &'input str,
(_, _, _): (usize, &'input str, usize),
(_, d, _): (usize, Decl, usize),
(_, _, _): (usize, ::std::option::Option<&'input str>, usize),
) -> ReplCommand
{
ReplCommand::Decl(d)
}
#[allow(unused_variables)]
fn __action10<
'input,
>(
input: &'input str,
(_, __0, _): (usize, &'input str, usize),
) -> ReplCommand
{
ReplCommand::Help
}
#[allow(unused_variables)]
fn __action11<
'input,
>(
input: &'input str,
(_, __0, _): (usize, &'input str, usize),
) -> ReplCommand
{
ReplCommand::List
}
#[allow(unused_variables)]
fn __action12<
'input,
>(
input: &'input str,
(_, __0, _): (usize, &'input str, usize),
) -> ReplCommand
{
ReplCommand::Evaluator(|decls| Box::new(LazyEvaluation::new(decls)))
}
#[allow(unused_variables)]
fn __action13<
'input,
>(
input: &'input str,
(_, __0, _): (usize, &'input str, usize),
) -> ReplCommand
{
ReplCommand::List
}
#[allow(unused_variables)]
fn __action14<
'input,
>(
input: &'input str,
(_, __0, _): (usize, &'input str, usize),
) -> ReplCommand
{
ReplCommand::Quit
}
#[allow(unused_variables)]
fn __action15<
'input,
>(
input: &'input str,
(_, __0, _): (usize, &'input str, usize),
) -> ReplCommand
{
ReplCommand::Quit
}
#[allow(unused_variables)]
fn __action16<
'input,
>(
input: &'input str,
(_, __0, _): (usize, &'input str, usize),
) -> ReplCommand
{
ReplCommand::Reset
}
#[allow(unused_variables)]
fn __action17<
'input,
>(
input: &'input str,
(_, _, _): (usize, &'input str, usize),
(_, e, _): (usize, Expr, usize),
) -> ReplCommand
{
ReplCommand::Typeof(e)
}
#[allow(unused_variables)]
fn __action18<
'input,
>(
input: &'input str,
(_, __0, _): (usize, ::std::vec::Vec<Decl>, usize),
) -> ::std::vec::Vec<Decl>
{
(__0)
}
#[allow(unused_variables)]
fn __action19<
'input,
>(
input: &'input str,
(_, d, _): (usize, Decl, usize),
(_, _, _): (usize, &'input str, usize),
) -> Decl
{
d
}
#[allow(unused_variables)]
fn __action20<
'input,
>(
input: &'input str,
(_, name, _): (usize, Symbol, usize),
(_, args, _): (usize, ::std::vec::Vec<Pattern<()>>, usize),
(_, _, _): (usize, &'input str, usize),
(_, body, _): (usize, Expr, usize),
) -> Decl
{
Decl { name, args, body }
}
#[allow(unused_variables)]
fn __action21<
'input,
>(
input: &'input str,
(_, _, _): (usize, &'input str, usize),
(_, c, _): (usize, Expr, usize),
(_, _, _): (usize, &'input str, usize),
(_, t, _): (usize, Expr, usize),
(_, _, _): (usize, &'input str, usize),
(_, e, _): (usize, Expr, usize),
) -> Expr
{
Expr::If(Box::new(c), Box::new(t), Box::new(e))
}
#[allow(unused_variables)]
fn __action22<
'input,
>(
input: &'input str,
(_, l, _): (usize, Expr, usize),
(_, _, _): (usize, &'input str, usize),
(_, r, _): (usize, Expr, usize),
) -> Expr
{
Expr::Op(Op::Cons, Box::new(l), Box::new(r))
}
#[allow(unused_variables)]
fn __action23<
'input,
>(
input: &'input str,
(_, __0, _): (usize, Expr, usize),
) -> Expr
{
(__0)
}
#[allow(unused_variables)]
fn __action24<
'input,
>(
input: &'input str,
(_, l, _): (usize, Expr, usize),
(_, _, _): (usize, &'input str, usize),
(_, r, _): (usize, Expr, usize),
) -> Expr
{
Expr::Op(Op::Add, Box::new(l), Box::new(r))
}
#[allow(unused_variables)]
fn __action25<
'input,
>(
input: &'input str,
(_, l, _): (usize, Expr, usize),
(_, _, _): (usize, &'input str, usize),
(_, r, _): (usize, Expr, usize),
) -> Expr
{
Expr::Op(Op::Sub, Box::new(l), Box::new(r))
}
#[allow(unused_variables)]
fn __action26<
'input,
>(
input: &'input str,
(_, __0, _): (usize, Expr, usize),
) -> Expr
{
(__0)
}
#[allow(unused_variables)]
fn __action27<
'input,
>(
input: &'input str,
(_, l, _): (usize, Expr, usize),
(_, _, _): (usize, &'input str, usize),
(_, r, _): (usize, Expr, usize),
) -> Expr
{
Expr::Op(Op::Mul, Box::new(l), Box::new(r))
}
#[allow(unused_variables)]
fn __action28<
'input,
>(
input: &'input str,
(_, l, _): (usize, Expr, usize),
(_, _, _): (usize, &'input str, usize),
(_, r, _): (usize, Expr, usize),
) -> Expr
{
Expr::Op(Op::Div, Box::new(l), Box::new(r))
}
#[allow(unused_variables)]
fn __action29<
'input,
>(
input: &'input str,
(_, l, _): (usize, Expr, usize),
(_, _, _): (usize, &'input str, usize),
(_, r, _): (usize, Expr, usize),
) -> Expr
{
Expr::Op(Op::Mod, Box::new(l), Box::new(r))
}
#[allow(unused_variables)]
fn __action30<
'input,
>(
input: &'input str,
(_, __0, _): (usize, Expr, usize),
) -> Expr
{
(__0)
}
#[allow(unused_variables)]
fn __action31<
'input,
>(
input: &'input str,
(_, f, _): (usize, Expr, usize),
(_, a, _): (usize, Expr, usize),
) -> Expr
{
Expr::Op(Op::App, Box::new(f), Box::new(a))
}
#[allow(unused_variables)]
fn __action32<
'input,
>(
input: &'input str,
(_, __0, _): (usize, Expr, usize),
) -> Expr
{
(__0)
}
#[allow(unused_variables)]
fn __action33<
'input,
>(
input: &'input str,
(_, _, _): (usize, &'input str, usize),
(_, e, _): (usize, Expr, usize),
(_, _, _): (usize, &'input str, usize),
) -> Expr
{
e
}
#[allow(unused_variables)]
fn __action34<
'input,
>(
input: &'input str,
(_, __0, _): (usize, Symbol, usize),
) -> Expr
{
Expr::Variable(__0)
}
#[allow(unused_variables)]
fn __action35<
'input,
>(
input: &'input str,
(_, __0, _): (usize, Literal, usize),
) -> Expr
{
Expr::Literal(__0)
}
#[allow(unused_variables)]
fn __action36<
'input,
>(
input: &'input str,
(_, _, _): (usize, &'input str, usize),
(_, h, _): (usize, Expr, usize),
(_, t, _): (usize, ::std::vec::Vec<Expr>, usize),
(_, _, _): (usize, &'input str, usize),
) -> Expr
{
{
let mut l = t;
l.insert(0, h);
Expr::List(l)
}
}
#[allow(unused_variables)]
fn __action37<
'input,
>(
input: &'input str,
(_, _, _): (usize, &'input str, usize),
(_, e, _): (usize, Expr, usize),
) -> Expr
{
e
}
#[allow(unused_variables)]
fn __action38<
'input,
>(
input: &'input str,
(_, l, _): (usize, Pattern<()>, usize),
(_, _, _): (usize, &'input str, usize),
(_, r, _): (usize, Pattern<()>, usize),
) -> Pattern<()>
{
Pattern::Cons(Box::new(l), Box::new(r), ())
}
#[allow(unused_variables)]
fn __action39<
'input,
>(
input: &'input str,
(_, __0, _): (usize, Pattern<()>, usize),
) -> Pattern<()>
{
(__0)
}
#[allow(unused_variables)]
fn __action40<
'input,
>(
input: &'input str,
(_, _, _): (usize, &'input str, usize),
(_, p, _): (usize, Pattern<()>, usize),
(_, _, _): (usize, &'input str, usize),
) -> Pattern<()>
{
p
}
#[allow(unused_variables)]
fn __action41<
'input,
>(
input: &'input str,
(_, __0, _): (usize, Symbol, usize),
) -> Pattern<()>
{
Pattern::Binding(__0, ())
}
#[allow(unused_variables)]
fn __action42<
'input,
>(
input: &'input str,
(_, __0, _): (usize, Literal, usize),
) -> Pattern<()>
{
Pattern::Literal(__0, ())
}
#[allow(unused_variables)]
fn __action43<
'input,
>(
input: &'input str,
(_, __0, _): (usize, &'input str, usize),
(_, __1, _): (usize, &'input str, usize),
) -> Literal
{
Literal::Nil
}
#[allow(unused_variables)]
fn __action44<
'input,
>(
input: &'input str,
(_, __0, _): (usize, &'input str, usize),
) -> Literal
{
Literal::False
}
#[allow(unused_variables)]
fn __action45<
'input,
>(
input: &'input str,
(_, __0, _): (usize, &'input str, usize),
) -> Literal
{
Literal::True
}
#[allow(unused_variables)]
fn __action46<
'input,
>(
input: &'input str,
(_, s, _): (usize, &'input str, usize),
) -> Literal
{
Literal::Int(s.parse().unwrap())
}
#[allow(unused_variables)]
fn __action47<
'input,
>(
input: &'input str,
(_, name, _): (usize, &'input str, usize),
) -> Symbol
{
{
if name == "_" {
warn!("_ is a valid variable name, not the wildcard pattern");
warn!("Instead, prefer _0, _1, etc.");
}
Symbol::from(name)
}
}
#[allow(unused_variables)]
fn __action48<
'input,
>(
input: &'input str,
__lookbehind: &usize,
__lookahead: &usize,
) -> ::std::vec::Vec<Expr>
{
vec![]
}
#[allow(unused_variables)]
fn __action49<
'input,
>(
input: &'input str,
(_, v, _): (usize, ::std::vec::Vec<Expr>, usize),
) -> ::std::vec::Vec<Expr>
{
v
}
#[allow(unused_variables)]
fn __action50<
'input,
>(
input: &'input str,
__lookbehind: &usize,
__lookahead: &usize,
) -> ::std::vec::Vec<Pattern<()>>
{
vec![]
}
#[allow(unused_variables)]
fn __action51<
'input,
>(
input: &'input str,
(_, v, _): (usize, ::std::vec::Vec<Pattern<()>>, usize),
) -> ::std::vec::Vec<Pattern<()>>
{
v
}
#[allow(unused_variables)]
fn __action52<
'input,
>(
input: &'input str,
__lookbehind: &usize,
__lookahead: &usize,
) -> ::std::vec::Vec<Decl>
{
vec![]
}
#[allow(unused_variables)]
fn __action53<
'input,
>(
input: &'input str,
(_, v, _): (usize, ::std::vec::Vec<Decl>, usize),
) -> ::std::vec::Vec<Decl>
{
v
}
#[allow(unused_variables)]
fn __action54<
'input,
>(
input: &'input str,
(_, __0, _): (usize, &'input str, usize),
) -> ::std::option::Option<&'input str>
{
Some(__0)
}
#[allow(unused_variables)]
fn __action55<
'input,
>(
input: &'input str,
__lookbehind: &usize,
__lookahead: &usize,
) -> ::std::option::Option<&'input str>
{
None
}
#[allow(unused_variables)]
fn __action56<
'input,
>(
input: &'input str,
(_, __0, _): (usize, Decl, usize),
) -> ::std::vec::Vec<Decl>
{
vec![__0]
}
#[allow(unused_variables)]
fn __action57<
'input,
>(
input: &'input str,
(_, v, _): (usize, ::std::vec::Vec<Decl>, usize),
(_, e, _): (usize, Decl, usize),
) -> ::std::vec::Vec<Decl>
{
{ let mut v = v; v.push(e); v }
}
#[allow(unused_variables)]
fn __action58<
'input,
>(
input: &'input str,
(_, __0, _): (usize, Pattern<()>, usize),
) -> ::std::vec::Vec<Pattern<()>>
{
vec![__0]
}
#[allow(unused_variables)]
fn __action59<
'input,
>(
input: &'input str,
(_, v, _): (usize, ::std::vec::Vec<Pattern<()>>, usize),
(_, e, _): (usize, Pattern<()>, usize),
) -> ::std::vec::Vec<Pattern<()>>
{
{ let mut v = v; v.push(e); v }
}
#[allow(unused_variables)]
fn __action60<
'input,
>(
input: &'input str,
(_, __0, _): (usize, Expr, usize),
) -> ::std::vec::Vec<Expr>
{
vec![__0]
}
#[allow(unused_variables)]
fn __action61<
'input,
>(
input: &'input str,
(_, v, _): (usize, ::std::vec::Vec<Expr>, usize),
(_, e, _): (usize, Expr, usize),
) -> ::std::vec::Vec<Expr>
{
{ let mut v = v; v.push(e); v }
}
#[allow(unused_variables)]
fn __action62<
'input,
>(
input: &'input str,
__0: (usize, Expr, usize),
__1: (usize, &'input str, usize),
) -> ReplCommand
{
let __start0 = __1.0.clone();
let __end0 = __1.2.clone();
let __temp0 = __action54(
input,
__1,
);
let __temp0 = (__start0, __temp0, __end0);
__action4(
input,
__0,
__temp0,
)
}
#[allow(unused_variables)]
fn __action63<
'input,
>(
input: &'input str,
__0: (usize, Expr, usize),
) -> ReplCommand
{
let __start0 = __0.2.clone();
let __end0 = __0.2.clone();
let __temp0 = __action55(
input,
&__start0,
&__end0,
);
let __temp0 = (__start0, __temp0, __end0);
__action4(
input,
__0,
__temp0,
)
}
#[allow(unused_variables)]
fn __action64<
'input,
>(
input: &'input str,
__0: (usize, &'input str, usize),
__1: (usize, Decl, usize),
__2: (usize, &'input str, usize),
) -> ReplCommand
{
let __start0 = __2.0.clone();
let __end0 = __2.2.clone();
let __temp0 = __action54(
input,
__2,
);
let __temp0 = (__start0, __temp0, __end0);
__action9(
input,
__0,
__1,
__temp0,
)
}
#[allow(unused_variables)]
fn __action65<
'input,
>(
input: &'input str,
__0: (usize, &'input str, usize),
__1: (usize, Decl, usize),
) -> ReplCommand
{
let __start0 = __1.2.clone();
let __end0 = __1.2.clone();
let __temp0 = __action55(
input,
&__start0,
&__end0,
);
let __temp0 = (__start0, __temp0, __end0);
__action9(
input,
__0,
__1,
__temp0,
)
}
#[allow(unused_variables)]
fn __action66<
'input,
>(
input: &'input str,
__lookbehind: &usize,
__lookahead: &usize,
) -> ::std::vec::Vec<Decl>
{
let __start0 = __lookbehind.clone();
let __end0 = __lookahead.clone();
let __temp0 = __action52(
input,
&__start0,
&__end0,
);
let __temp0 = (__start0, __temp0, __end0);
__action18(
input,
__temp0,
)
}
#[allow(unused_variables)]
fn __action67<
'input,
>(
input: &'input str,
__0: (usize, ::std::vec::Vec<Decl>, usize),
) -> ::std::vec::Vec<Decl>
{
let __start0 = __0.0.clone();
let __end0 = __0.2.clone();
let __temp0 = __action53(
input,
__0,
);
let __temp0 = (__start0, __temp0, __end0);
__action18(
input,
__temp0,
)
}
#[allow(unused_variables)]
fn __action68<
'input,
>(
input: &'input str,
__0: (usize, Symbol, usize),
__1: (usize, &'input str, usize),
__2: (usize, Expr, usize),
) -> Decl
{
let __start0 = __0.2.clone();
let __end0 = __1.0.clone();
let __temp0 = __action50(
input,
&__start0,
&__end0,
);
let __temp0 = (__start0, __temp0, __end0);
__action20(
input,
__0,
__temp0,
__1,
__2,
)
}
#[allow(unused_variables)]
fn __action69<
'input,
>(
input: &'input str,
__0: (usize, Symbol, usize),
__1: (usize, ::std::vec::Vec<Pattern<()>>, usize),
__2: (usize, &'input str, usize),
__3: (usize, Expr, usize),
) -> Decl
{
let __start0 = __1.0.clone();
let __end0 = __1.2.clone();
let __temp0 = __action51(
input,
__1,
);
let __temp0 = (__start0, __temp0, __end0);
__action20(
input,
__0,
__temp0,
__2,
__3,
)
}
#[allow(unused_variables)]
fn __action70<
'input,
>(
input: &'input str,
__0: (usize, &'input str, usize),
__1: (usize, Expr, usize),
__2: (usize, &'input str, usize),
) -> Expr
{
let __start0 = __1.2.clone();
let __end0 = __2.0.clone();
let __temp0 = __action48(
input,
&__start0,
&__end0,
);
let __temp0 = (__start0, __temp0, __end0);
__action36(
input,
__0,
__1,
__temp0,
__2,
)
}
#[allow(unused_variables)]
fn __action71<
'input,
>(
input: &'input str,
__0: (usize, &'input str, usize),
__1: (usize, Expr, usize),
__2: (usize, ::std::vec::Vec<Expr>, usize),
__3: (usize, &'input str, usize),
) -> Expr
{
let __start0 = __2.0.clone();
let __end0 = __2.2.clone();
let __temp0 = __action49(
input,
__2,
);
let __temp0 = (__start0, __temp0, __end0);
__action36(
input,
__0,
__1,
__temp0,
__3,
)
}
pub trait __ToTriple<'input, > {
type Error;
fn to_triple(value: Self) -> Result<(usize,Token<'input>,usize),Self::Error>;
}
impl<'input, > __ToTriple<'input, > for (usize, Token<'input>, usize) {
type Error = &'static str;
fn to_triple(value: Self) -> Result<(usize,Token<'input>,usize),&'static str> {
Ok(value)
}
}
impl<'input, > __ToTriple<'input, > for Result<(usize, Token<'input>, usize),&'static str> {
type Error = &'static str;
fn to_triple(value: Self) -> Result<(usize,Token<'input>,usize),&'static str> {
value
}
}