From 9f82aceb9fbdb42f332d68f4a423123bd0788b2c Mon Sep 17 00:00:00 2001 From: bnewbold Date: Sat, 17 Dec 2016 18:34:47 -0800 Subject: refactor modelica parser into separate crate --- src/bin/mt-tool.rs | 7 +- src/build.rs | 5 - src/lib.rs | 68 +- src/modelica_ast.rs | 407 - src/modelica_model.rs | 231 + src/modelica_parser.lalrpop | 97 - src/modelica_parser.lalrpop.full | 171 - src/modelica_parser.rs | 15955 ------------------------------------- src/transpile_js.rs | 6 +- src/transpile_scheme.rs | 6 +- 10 files changed, 247 insertions(+), 16706 deletions(-) delete mode 100644 src/build.rs delete mode 100644 src/modelica_ast.rs create mode 100644 src/modelica_model.rs delete mode 100644 src/modelica_parser.lalrpop delete mode 100644 src/modelica_parser.lalrpop.full delete mode 100644 src/modelica_parser.rs (limited to 'src') diff --git a/src/bin/mt-tool.rs b/src/bin/mt-tool.rs index 8ef2464..95a8938 100644 --- a/src/bin/mt-tool.rs +++ b/src/bin/mt-tool.rs @@ -2,10 +2,11 @@ extern crate modelthing; extern crate rustc_serialize; extern crate getopts; +extern crate modelica_parser; -use modelthing::modelica_parser; use modelthing::transpile_scheme::TranspileScheme; use modelthing::transpile_js::TranspileJS; +use modelthing::modelica_model::ModelicaModelExt; use getopts::Options; use std::env; use std::io::Read; @@ -25,13 +26,13 @@ fn parse_modelica_files(paths: Vec) { } let time_stamp = Instant::now(); - let result = modelica_parser::parse_model(&s); + let result = modelica_parser::parser::parse_model(&s); let elapsed = time_stamp.elapsed(); let elapsed = elapsed.as_secs() as f64 + elapsed.subsec_nanos() as f64 / 1000_000_000.0; match result { Ok(_) => println!("Input `{}` ({}s): OK", input, elapsed), - Err(err) => println!("Input `{}` ({}sec): ERROR\n{}", input, elapsed, modelthing::pp_parseerror(&s, err)), + Err(err) => println!("Input `{}` ({}sec): ERROR\n{}", input, elapsed, modelica_parser::pp_parseerror(&s, err)), } } } diff --git a/src/build.rs b/src/build.rs deleted file mode 100644 index 23c7d3f..0000000 --- a/src/build.rs +++ /dev/null @@ -1,5 +0,0 @@ -extern crate lalrpop; - -fn main() { - lalrpop::process_root().unwrap(); -} diff --git a/src/lib.rs b/src/lib.rs index 7020a9b..7c3bb8b 100644 --- a/src/lib.rs +++ b/src/lib.rs @@ -3,11 +3,9 @@ extern crate log; extern crate toml; -extern crate colored; -extern crate lalrpop_util; +extern crate modelica_parser; -pub mod modelica_parser; -pub mod modelica_ast; +pub mod modelica_model; pub mod transpile_scheme; pub mod transpile_js; @@ -16,9 +14,6 @@ use std::fs; use std::io::Read; use std::fs::File; -use lalrpop_util::ParseError; -use colored::*; - #[derive(Debug, PartialEq)] pub struct ModelMetadata { pub name_en: String, @@ -47,7 +42,7 @@ pub struct ModelVar { #[derive(Debug, PartialEq)] pub struct ModelEntry { - pub ast: modelica_ast::ModelicaModel, + pub ast: modelica_parser::ast::ModelicaModel, pub metadata: ModelMetadata, pub markdown: String, } @@ -93,7 +88,7 @@ pub fn load_model_entry(p: &Path) -> Result { let ast = { let mut s = String::new(); try!(File::open(p.join("model.modelica")).and_then(|mut f| f.read_to_string(&mut s)).map_err(|e| e.to_string())); - try!(modelica_parser::parse_model(&s).map_err(|e| format!("{:?}", e))) + try!(modelica_parser::parser::parse_model(&s).map_err(|e| format!("{:?}", e))) }; let metadata = { @@ -127,58 +122,3 @@ pub fn search_models(p: &Path) -> Vec { vec![] } } - -fn pp_segment(raw: &str, start: usize, end: usize) -> String { - let mut line_start = 0; - let mut num = 0; - let mut ret = String::new(); - for line in raw.lines() { - num += 1; - let line_end = line_start + line.len(); - if (line_start <= start) && (start < line_end) { - ret += &format!(" {}\n{:>3} {} {}{}{}\n {} {}{}\n", - "|".blue().bold(), - num.to_string().blue().bold(), - "|".blue().bold(), - raw[line_start..start].normal(), - raw[start..end].red().bold(), - if end < line_end { - raw[end..line_end].normal() - } else { - "".normal() - }, - "|".blue().bold(), - std::iter::repeat(" ").take(start - line_start).collect::(), - std::iter::repeat("^").take(end - start).collect::().red().bold()); - } - line_start += line.len() + 1; - if line_start > end { break }; - } - ret -} - -pub fn pp_parseerror(raw: &str, pe: ParseError) -> String { - match pe { - ParseError::InvalidToken{location} => { - format!("{} invalid token starting at:\n{}", - "parse error:".red().bold(), - pp_segment(raw, location, location+1)) }, - ParseError::UnrecognizedToken{token: Some((start, (_, tok), end)), expected} => { - format!("{} unrecognized token '{}' (expected one of {:?}):\n{}", - "parse error:".red().bold(), - tok, - expected, - pp_segment(raw, start, end)) }, - ParseError::UnrecognizedToken{token: None, expected} => { - format!("{} premature end-of-file (expected one of {:?})", - "parse error:".red().bold(), - expected) }, - ParseError::ExtraToken{token: (start, (_, tok), end)} => { - format!("{} unexpected extra token '{}':\n{}", - "parse error:".red().bold(), - tok, - pp_segment(raw, start, end)) }, - _ => { - format!("{} {:?}", "parse error:".red().bold(), pe) }, - } -} diff --git a/src/modelica_ast.rs b/src/modelica_ast.rs deleted file mode 100644 index f6d32b8..0000000 --- a/src/modelica_ast.rs +++ /dev/null @@ -1,407 +0,0 @@ - -use std::clone::Clone; -use std::fmt::{Debug, Formatter, Error}; -use std::collections::HashMap; -use std::collections::HashSet; - -#[derive(Clone, PartialEq)] -pub struct ModelicaModel { - pub name: String, - pub components: Vec, - pub equations: Vec, - pub connections: Vec, - pub extends: Vec, -} - -#[derive(Copy, Clone, PartialEq)] -pub enum ComponentPrefix { - // incomplete: eg, can be parameter and input - Flow, - Stream, - Input, - Output, - Discrete, - Parameter, - Constant, -} - -#[derive(Clone, PartialEq)] -pub struct Component { - pub prefix: Option, - pub specifier: String, - pub name: String, - pub value: Option, - pub units: Option, - pub description: Option, -} - -#[derive(Clone, PartialEq)] -pub struct Connection { - pub a: String, - pub b: String, -} - -#[derive(Clone, PartialEq)] -pub struct SimpleEquation { - pub lhs: Expr, - pub rhs: Expr, -} - -#[derive(Clone, PartialEq)] -pub enum Expr { - Integer(i64), - Float(f64), - Ident(String), - Der(Box), - Abs(Box), - BinExpr(BinOperator, Box, Box), -} - -#[derive(Copy, Clone, PartialEq)] -pub enum BinOperator { - Multiply, - Divide, - Add, - Subtract, -} - -//// Helpers - -impl ModelicaModel { - - pub fn get_constant_vars(&self) -> HashMap> { - let mut binds = HashMap::new(); - // XXX: actually implement this... - for c in &self.components { - match c.prefix { - Some(ComponentPrefix::Constant) => { binds.insert(c.name.clone(), Some(Expr::Integer(123))); }, - Some(ComponentPrefix::Parameter) => { binds.insert(c.name.clone(), Some(Expr::Float(4.56))); }, - _ => (), - } - } - binds - } - - // This crude function finds "unbound" variables: those which are not constants, parameters, or - // the sole element on the LHS of an equation. - // Bugs: - // if a var is on LHS and RHS of same equation - pub fn get_free_vars(&self) -> Vec { - // Start with components, and remove constants and parameters - let vars = self.components.iter().filter(|v| match v.prefix { - Some(ComponentPrefix::Constant) | Some(ComponentPrefix::Parameter) => false, - _ => true, - }); - - // Remove LHS (bound) vars - let mut outputs = vec![]; - for eq in self.equations.iter() { - // TODO: - if let Expr::Ident(ref symb) = eq.lhs { - outputs.push(symb.to_string()); - } - } - let vars = vars.filter(|v| !outputs.contains(&v.name)); - - vars.map(|c| c.name.clone()).collect() - } - - // V variables - // Q constants (become kwargs) - // P bound vars (independent, inputs/passed, become like constants) - // M unknowns (dependent, outputs) - // N' total equations - // N equations with unknowns - // - // TODO: allow passing in Q - pub fn solve_for(&self, indep_vars: Vec, dep_vars: Vec) -> Result { - let constants = self.get_constant_vars(); - let mut all_vars: HashSet = HashSet::new(); - for eqn in &self.equations { - all_vars.extend(eqn.identifiers()); - } - - // check that all dep and indep are in equations - let mut passed_vars = indep_vars.clone(); - passed_vars.extend(dep_vars.clone()); - for var in passed_vars { - if !all_vars.contains(&var) { - return Err(format!("Variable not found in equations: {}", var)); - } - } - - // check that V = Q + P + M - if all_vars.len() != (constants.len() + indep_vars.len() + dep_vars.len()) { - return Err(format!("Variable counts don't add up (V={} Q={} P={} M={})", - all_vars.len(), - constants.len(), - indep_vars.len(), - dep_vars.len())); - } - - // check that all constants are bound and simple - for (name, value) in &constants { - match *value { - None => return Err(format!("UnderSpecifiedConstant: {}", name)), - Some(Expr::Integer(_)) | Some(Expr::Float(_)) => (), // Ok, - Some(_) => return Err(format!("NaiveImplementation: can't handle constant: {}", name)), - } - } - - // check that there is a depdendent variable in each equation - for eqn in &self.equations { - if intersect_strings(&dep_vars, &eqn.identifiers()).len() == 0 { - return Err("NaiveImplementation/OverConstrained: at least one equation is missing a dependent variable".to_string()); - } - } - - // check N >= M - if self.equations.len() < dep_vars.len() { - return Err("UnderConstrained: more dependent variables than equations".to_string()); - } - - println!("Soliving for {:?} in terms of params {:?} and constants {:?}, with {} equations", - dep_vars, indep_vars, constants, self.equations.len()); - - let mut unsolved_eqns = self.equations.clone(); - let mut solved: Vec = vec![]; - let mut unsolved_vars = dep_vars.clone(); - while unsolved_eqns.len() > 0 { - let next_i = unsolved_eqns - .iter() - .position(|ref x| intersect_strings(&unsolved_vars, &x.identifiers()).len() == 1); - let eqn = match next_i { - None => { return Err("NaiveImplementation (or poor equation selection?)".to_string()); }, - Some(i) => unsolved_eqns.remove(i), - }; - let ref var = intersect_strings(&unsolved_vars, &eqn.identifiers())[0]; - let eqn = eqn.rebalance_for(var.to_string()).expect("rebalance for success"); - solved.push(eqn); - let var_i = unsolved_vars.iter().position(|ref x| x == &var).unwrap(); - unsolved_vars.remove(var_i); - }; - - // TODO: sort output equations by LHS - Ok(ModelicaModel{ - name: self.name.clone(), - components: self.components.clone(), - connections: vec![], - equations: solved, - extends: vec![], - }) - } -} - -fn union_strings(a: &Vec, b: &Vec) -> Vec { - let mut u = a.clone(); - for e in b { - if !(u.contains(&e)) { - u.push(e.clone()); - } - } - u -} - -fn intersect_strings(a: &Vec, b: &Vec) -> Vec { - let mut both = vec![]; - for e in a { - if b.contains(&e) { - both.push(e.clone()); - } - } - both -} - -impl Expr { - - // Order is undefined - // TODO: should return a HashSet, not a Vec - pub fn identifiers(&self) -> Vec { - use self::Expr::*; - match *self { - Integer(_) | Float(_) => vec![], - Ident(ref s) => vec![s.clone()], - Der(ref e) | Abs(ref e) => e.identifiers(), - BinExpr(_, ref e1, ref e2) => { - union_strings(&e1.identifiers(), &e2.identifiers()) - }, - } - } - - pub fn contains(&self, ident: &str) -> bool{ - self.identifiers().contains(&ident.to_string()) - } -} - -impl SimpleEquation { - - // Order is undefined - pub fn identifiers(&self) -> Vec { - union_strings(&self.lhs.identifiers(), &self.rhs.identifiers()) - } - - pub fn contains(&self, ident: &str) -> bool{ - let s = &ident.to_string(); - self.lhs.identifiers().contains(s) || self.rhs.identifiers().contains(s) - } - - pub fn rebalance_for(&self, ident: String) -> Result { - let lvars = self.lhs.identifiers(); - let rvars = self.rhs.identifiers(); - - let ret = match (lvars.contains(&ident), rvars.contains(&ident)) { - (true, true) => Err("SymbolicError: NaiveImplementation".to_string()), - (false, false) => Err("SymbolicError: VariableNotFound".to_string()), - (true, false) => self.simplify_lhs(&ident), - (false, true) => - SimpleEquation{lhs: self.rhs.clone(), - rhs: self.lhs.clone()}.simplify_lhs(&ident), - }; - match ret { - Ok(eqn) => { - if eqn.rhs.contains(&ident) { - Err("SymbolicError: NaiveImplementation".to_string()) - } else { - Ok(eqn) - }}, - Err(_) => ret, - } - } - - pub fn simplify_lhs(&self, ident: &str) -> Result { - use self::Expr::*; - use self::BinOperator::*; - match self.lhs { - Ident(ref s) if s == ident => Ok((*self).clone()), - Ident(_) | Integer(_) | Float(_) => - Err("SymbolicError: InternalError: expected var on LHS".to_string()), - Der(_) | Abs(_) => - Err("SymbolicError: NaiveImplementation: can't simplify der() or abs()".to_string()), - // TODO: create a macro for the below... - BinExpr(Multiply, ref a, ref b) if a.contains(ident) => { - SimpleEquation{ - lhs: *a.clone(), - rhs: BinExpr(Divide, Box::new(self.rhs.clone()), b.clone())}.simplify_lhs(&ident) }, - BinExpr(Multiply, ref a, ref b) if b.contains(ident) => { - SimpleEquation{ - lhs: *b.clone(), - rhs: BinExpr(Divide, Box::new(self.rhs.clone()), a.clone())}.simplify_lhs(&ident) }, - BinExpr(Divide, ref a, ref b) if a.contains(ident) => { - SimpleEquation{ - lhs: *a.clone(), - rhs: BinExpr(Multiply, Box::new(self.rhs.clone()), b.clone())}.simplify_lhs(&ident) }, - BinExpr(Divide, ref a, ref b) if b.contains(ident) => { - SimpleEquation{ - lhs: *b.clone(), - rhs: BinExpr(Divide, a.clone(), Box::new(self.rhs.clone()))}.simplify_lhs(&ident) }, - BinExpr(Add, ref a, ref b) if a.contains(ident) => { - SimpleEquation{ - lhs: *a.clone(), - rhs: BinExpr(Subtract, Box::new(self.rhs.clone()), b.clone())}.simplify_lhs(&ident) }, - BinExpr(Add, ref a, ref b) if b.contains(ident) => { - SimpleEquation{ - lhs: *b.clone(), - rhs: BinExpr(Subtract, Box::new(self.rhs.clone()), a.clone())}.simplify_lhs(&ident) }, - BinExpr(Subtract, ref a, ref b) if a.contains(ident) => { - SimpleEquation{ - lhs: *a.clone(), - rhs: BinExpr(Add, Box::new(self.rhs.clone()), b.clone())}.simplify_lhs(&ident) }, - BinExpr(Subtract, ref a, ref b) if b.contains(ident) => { - SimpleEquation{ - lhs: *b.clone(), - rhs: BinExpr(Subtract, a.clone(), Box::new(self.rhs.clone()))}.simplify_lhs(&ident) }, - BinExpr(_, _, _) => Err("SymbolicError: NotImplemented BinOperator (or else couldn't find var...)".to_string()), - // in case we add opers: _ => Err("NotImplemented".to_string()), - } - } -} - - -//// Debug Implementations - -impl Debug for ModelicaModel { - fn fmt(&self, fmt: &mut Formatter) -> Result<(), Error> { - try!(write!(fmt, "model {}\n", self.name)); - for e in self.extends.iter() { - try!(write!(fmt, " extends {};\n", e)); - } - for v in self.components.iter() { - try!(write!(fmt, " {:?};\n", v)); - } - try!(write!(fmt, "equation\n")); - for c in self.connections.iter() { - try!(write!(fmt, " {:?};\n", c)); - } - for e in self.equations.iter() { - try!(write!(fmt, " {:?};\n", e)); - } - write!(fmt, "end {};\n", self.name) - } -} - -impl Debug for ComponentPrefix { - fn fmt(&self, fmt: &mut Formatter) -> Result<(), Error> { - use self::ComponentPrefix::*; - write!(fmt, "{}", - match *self { - Flow => "flow", - Stream => "stream", - Input => "input", - Output => "output", - Discrete => "discrete", - Parameter => "parameter", - Constant => "constant", - }) - } -} - -impl Debug for Component { - fn fmt(&self, fmt: &mut Formatter) -> Result<(), Error> { - write!(fmt, "{}{} {}", - match self.prefix { - Some(p) => format!("{:?} ", p), - None => "".to_string(), - }, - self.specifier, - self.name, - ) - } -} - -impl Debug for Connection { - fn fmt(&self, fmt: &mut Formatter) -> Result<(), Error> { - write!(fmt, "connect({}, {})", self.a, self.b) - } -} - -impl Debug for SimpleEquation { - fn fmt(&self, fmt: &mut Formatter) -> Result<(), Error> { - write!(fmt, "{:?} = {:?}", self.lhs, self.rhs) - } -} - -impl Debug for Expr { - fn fmt(&self, fmt: &mut Formatter) -> Result<(), Error> { - use self::Expr::*; - match *self { - Integer(e) => write!(fmt, "{}", e), - Float(e) => write!(fmt, "{}", e), - Ident(ref e) => write!(fmt, "{}", e), - Der(ref e) => write!(fmt, "der({:?})", e), - Abs(ref e) => write!(fmt, "abs({:?})", e), - BinExpr(op, ref l, ref r) => write!(fmt, "({:?} {:?} {:?})", l, op, r), - } - } -} - -impl Debug for BinOperator { - fn fmt(&self, fmt: &mut Formatter) -> Result<(), Error> { - use self::BinOperator::*; - match *self { - Multiply => write!(fmt, "*"), - Divide => write!(fmt, "/"), - Add => write!(fmt, "+"), - Subtract => write!(fmt, "-"), - } - } -} diff --git a/src/modelica_model.rs b/src/modelica_model.rs new file mode 100644 index 0000000..bcc00b1 --- /dev/null +++ b/src/modelica_model.rs @@ -0,0 +1,231 @@ + +extern crate modelica_parser; + +use std::clone::Clone; +use std::collections::HashMap; +use std::collections::HashSet; + +use self::modelica_parser::ast::*; + + +//// Helpers + +pub trait ModelicaModelExt { + fn get_constant_vars(&self) -> HashMap>; + fn get_free_vars(&self) -> Vec; + fn solve_for(&self, indep_vars: Vec, dep_vars: Vec) -> Result; +} + +impl ModelicaModelExt for ModelicaModel { + + fn get_constant_vars(&self) -> HashMap> { + let mut binds = HashMap::new(); + // XXX: actually implement this... + for c in &self.components { + match c.prefix { + Some(ComponentPrefix::Constant) => { binds.insert(c.name.clone(), Some(Expr::Integer(123))); }, + Some(ComponentPrefix::Parameter) => { binds.insert(c.name.clone(), Some(Expr::Float(4.56))); }, + _ => (), + } + } + binds + } + + // This crude function finds "unbound" variables: those which are not constants, parameters, or + // the sole element on the LHS of an equation. + // Bugs: + // if a var is on LHS and RHS of same equation + fn get_free_vars(&self) -> Vec { + // Start with components, and remove constants and parameters + let vars = self.components.iter().filter(|v| match v.prefix { + Some(ComponentPrefix::Constant) | Some(ComponentPrefix::Parameter) => false, + _ => true, + }); + + // Remove LHS (bound) vars + let mut outputs = vec![]; + for eq in self.equations.iter() { + // TODO: + if let Expr::Ident(ref symb) = eq.lhs { + outputs.push(symb.to_string()); + } + } + let vars = vars.filter(|v| !outputs.contains(&v.name)); + + vars.map(|c| c.name.clone()).collect() + } + + // V variables + // Q constants (become kwargs) + // P bound vars (independent, inputs/passed, become like constants) + // M unknowns (dependent, outputs) + // N' total equations + // N equations with unknowns + // + // TODO: allow passing in Q + fn solve_for(&self, indep_vars: Vec, dep_vars: Vec) -> Result { + let constants = self.get_constant_vars(); + let mut all_vars: HashSet = HashSet::new(); + for eqn in &self.equations { + all_vars.extend(eqn.identifiers()); + } + + // check that all dep and indep are in equations + let mut passed_vars = indep_vars.clone(); + passed_vars.extend(dep_vars.clone()); + for var in passed_vars { + if !all_vars.contains(&var) { + return Err(format!("Variable not found in equations: {}", var)); + } + } + + // check that V = Q + P + M + if all_vars.len() != (constants.len() + indep_vars.len() + dep_vars.len()) { + return Err(format!("Variable counts don't add up (V={} Q={} P={} M={})", + all_vars.len(), + constants.len(), + indep_vars.len(), + dep_vars.len())); + } + + // check that all constants are bound and simple + for (name, value) in &constants { + match *value { + None => return Err(format!("UnderSpecifiedConstant: {}", name)), + Some(Expr::Integer(_)) | Some(Expr::Float(_)) => (), // Ok, + Some(_) => return Err(format!("NaiveImplementation: can't handle constant: {}", name)), + } + } + + // check that there is a depdendent variable in each equation + for eqn in &self.equations { + if intersect_strings(&dep_vars, &eqn.identifiers()).len() == 0 { + return Err("NaiveImplementation/OverConstrained: at least one equation is missing a dependent variable".to_string()); + } + } + + // check N >= M + if self.equations.len() < dep_vars.len() { + return Err("UnderConstrained: more dependent variables than equations".to_string()); + } + + println!("Soliving for {:?} in terms of params {:?} and constants {:?}, with {} equations", + dep_vars, indep_vars, constants, self.equations.len()); + + let mut unsolved_eqns = self.equations.clone(); + let mut solved: Vec = vec![]; + let mut unsolved_vars = dep_vars.clone(); + while unsolved_eqns.len() > 0 { + let next_i = unsolved_eqns + .iter() + .position(|ref x| intersect_strings(&unsolved_vars, &x.identifiers()).len() == 1); + let eqn = match next_i { + None => { return Err("NaiveImplementation (or poor equation selection?)".to_string()); }, + Some(i) => unsolved_eqns.remove(i), + }; + let ref var = intersect_strings(&unsolved_vars, &eqn.identifiers())[0]; + let eqn = eqn.rebalance_for(var.to_string()).expect("rebalance for success"); + solved.push(eqn); + let var_i = unsolved_vars.iter().position(|ref x| x == &var).unwrap(); + unsolved_vars.remove(var_i); + }; + + // TODO: sort output equations by LHS + Ok(ModelicaModel{ + name: self.name.clone(), + components: self.components.clone(), + connections: vec![], + equations: solved, + extends: vec![], + }) + } +} + +fn intersect_strings(a: &Vec, b: &Vec) -> Vec { + let mut both = vec![]; + for e in a { + if b.contains(&e) { + both.push(e.clone()); + } + } + both +} + +pub trait SimpleEquationExt { + fn rebalance_for(&self, ident: String) -> Result; + fn simplify_lhs(&self, ident: &str) -> Result; +} + +impl SimpleEquationExt for SimpleEquation { + + fn rebalance_for(&self, ident: String) -> Result { + let lvars = self.lhs.identifiers(); + let rvars = self.rhs.identifiers(); + + let ret = match (lvars.contains(&ident), rvars.contains(&ident)) { + (true, true) => Err("SymbolicError: NaiveImplementation".to_string()), + (false, false) => Err("SymbolicError: VariableNotFound".to_string()), + (true, false) => self.simplify_lhs(&ident), + (false, true) => + SimpleEquation{lhs: self.rhs.clone(), + rhs: self.lhs.clone()}.simplify_lhs(&ident), + }; + match ret { + Ok(eqn) => { + if eqn.rhs.contains(&ident) { + Err("SymbolicError: NaiveImplementation".to_string()) + } else { + Ok(eqn) + }}, + Err(_) => ret, + } + } + + fn simplify_lhs(&self, ident: &str) -> Result { + use modelica_parser::ast::Expr::*; + use modelica_parser::ast::BinOperator::*; + match self.lhs { + Ident(ref s) if s == ident => Ok((*self).clone()), + Ident(_) | Integer(_) | Float(_) => + Err("SymbolicError: InternalError: expected var on LHS".to_string()), + Der(_) | Abs(_) => + Err("SymbolicError: NaiveImplementation: can't simplify der() or abs()".to_string()), + // TODO: create a macro for the below... + BinExpr(Multiply, ref a, ref b) if a.contains(ident) => { + SimpleEquation{ + lhs: *a.clone(), + rhs: BinExpr(Divide, Box::new(self.rhs.clone()), b.clone())}.simplify_lhs(&ident) }, + BinExpr(Multiply, ref a, ref b) if b.contains(ident) => { + SimpleEquation{ + lhs: *b.clone(), + rhs: BinExpr(Divide, Box::new(self.rhs.clone()), a.clone())}.simplify_lhs(&ident) }, + BinExpr(Divide, ref a, ref b) if a.contains(ident) => { + SimpleEquation{ + lhs: *a.clone(), + rhs: BinExpr(Multiply, Box::new(self.rhs.clone()), b.clone())}.simplify_lhs(&ident) }, + BinExpr(Divide, ref a, ref b) if b.contains(ident) => { + SimpleEquation{ + lhs: *b.clone(), + rhs: BinExpr(Divide, a.clone(), Box::new(self.rhs.clone()))}.simplify_lhs(&ident) }, + BinExpr(Add, ref a, ref b) if a.contains(ident) => { + SimpleEquation{ + lhs: *a.clone(), + rhs: BinExpr(Subtract, Box::new(self.rhs.clone()), b.clone())}.simplify_lhs(&ident) }, + BinExpr(Add, ref a, ref b) if b.contains(ident) => { + SimpleEquation{ + lhs: *b.clone(), + rhs: BinExpr(Subtract, Box::new(self.rhs.clone()), a.clone())}.simplify_lhs(&ident) }, + BinExpr(Subtract, ref a, ref b) if a.contains(ident) => { + SimpleEquation{ + lhs: *a.clone(), + rhs: BinExpr(Add, Box::new(self.rhs.clone()), b.clone())}.simplify_lhs(&ident) }, + BinExpr(Subtract, ref a, ref b) if b.contains(ident) => { + SimpleEquation{ + lhs: *b.clone(), + rhs: BinExpr(Subtract, a.clone(), Box::new(self.rhs.clone()))}.simplify_lhs(&ident) }, + BinExpr(_, _, _) => Err("SymbolicError: NotImplemented BinOperator (or else couldn't find var...)".to_string()), + // in case we add opers: _ => Err("NotImplemented".to_string()), + } + } +} + diff --git a/src/modelica_parser.lalrpop b/src/modelica_parser.lalrpop deleted file mode 100644 index f5d7958..0000000 --- a/src/modelica_parser.lalrpop +++ /dev/null @@ -1,97 +0,0 @@ -use std::str::FromStr; -use modelica_ast::{ModelicaModel,Component, ComponentPrefix, Connection, - SimpleEquation, Expr, BinOperator}; - -// This is an incomplete, non-standards-compliant, minimum-viable parser - -grammar; - -// Lexical Tokens - -pub identifier: String = { - r"[a-zA-Z_][a-zA-Z_0-9]*" => <>.to_string(), -}; - -string_literal: String = { - r#""[^"\\]*""# => <>.to_string(), - // => &s[1..s.len()-1], -}; - -pub integer: i64 = { - r"[+-]?\d+" => i64::from_str(<>).unwrap(), -}; - -pub float: f64 = { - r"[+-]?\d+\.\d*([eE][-+]?\d+)?" => f64::from_str(<>).unwrap(), -}; - - -// Grammar - -pub model: ModelicaModel = { - "model" "equation" "end" identifier ";" => - ModelicaModel { name:n, components: cd, connections: cc, equations: se, extends: vec![] }, -}; - -value_declaration: Expr = { - "=" => value -}; - -units_declaration: String = { - "(" "unit" "=" ")" => units -}; - -component_declaration: Component = { - ";" => - Component { prefix:prefix, specifier:specifier, name:name, description:desc, value:value, units:units }, -}; - -component_prefix: ComponentPrefix = { - "flow" => ComponentPrefix::Flow, - "stream" => ComponentPrefix::Stream, - "input" => ComponentPrefix::Input, - "output" => ComponentPrefix::Output, - "discrete" => ComponentPrefix::Discrete, - "parameter" => ComponentPrefix::Parameter, - "constant" => ComponentPrefix::Constant, -}; - -simple_equation: SimpleEquation = { - "=" ";" => SimpleEquation {lhs:lhs, rhs:rhs}, -}; - -connect_clause: Connection = { - "connect" "(" "," ")" ";" => - Connection { a: a.to_string(), b: b.to_string()}, -}; - -// This weird expr/factor/term hierarchy is for binary operator precedence -expr: Expr = { - "+" => - Expr::BinExpr(BinOperator::Add, Box::new(lhs), Box::new(rhs)), - "-" => - Expr::BinExpr(BinOperator::Subtract, Box::new(lhs), Box::new(rhs)), - factor, -}; - -factor: Expr = { - "*" => - Expr::BinExpr(BinOperator::Multiply, Box::new(lhs), Box::new(rhs)), - "/" => - Expr::BinExpr(BinOperator::Divide, Box::new(lhs), Box::new(rhs)), - "^" => - Expr::BinExpr(BinOperator::Divide, Box::new(lhs), Box::new(rhs)), - "-" => - Expr::BinExpr(BinOperator::Multiply, Box::new(Expr::Integer(-1)), Box::new(t)), - term, -}; - -term: Expr = { - integer => Expr::Integer(<>), - float => Expr::Float(<>), - identifier => Expr::Ident(<>), - "der" "(" ")" => Expr::Der(Box::new(e)), - "abs" "(" ")" => Expr::Abs(Box::new(e)), - "(" ")" => e, -}; - diff --git a/src/modelica_parser.lalrpop.full b/src/modelica_parser.lalrpop.full deleted file mode 100644 index d453bc7..0000000 --- a/src/modelica_parser.lalrpop.full +++ /dev/null @@ -1,171 +0,0 @@ -use std::str::FromStr; - -// Based on the Modelica 3.3r1 Spec - -grammar; - -//// B.1 Lexical Convetions - -//digit: = "0" | "1" | "2" | "3" | "4" | "5" | "6" | "7" | "8" | "9" -//q_ident = "’" ( q_char | s_escape ) { q_char | s_escape } "’" -//nondigit = "_" | letters "a" to "z" | letters "A" to "Z" -//s_char = any member of the Unicode character set (http://www.unicode.org; see Section 13.2.2 for storing as UTF-8 on files) except double-quote """, and backslash "\" -//q_char = nondigit | digit | "!" | "#" | "$" | "%" | "&" | "(" | ")" | "*" | "+" | "," | "-" | "." | "/" | ":" | ";" | "<" | ">" | "=" | "?" | "@" | "[" | "]" | "^" | "{" | "}" | "|" | "~" | " " -//s_escape = "\’" | "\"" | "\?" | "\\" | "\a" | "\b" | "\f" | "\n" | "\r" | "\t" | "\v" -// -//ident = nondigit { digit | nondigit } | q_ident -//string = """ { s_char | s_escape } """ -//unsigned_integer = digit { digit } -//unsigned_number = unsigned_integer [ "." [ unsigned_integer ] ] [ ( "e" | "E" ) [ "+" | "-" ] unsigned_integer ] - -IDENT: () = { - r"[a-zA-Z_][a-zA-Z_0-9]*", - // TODO: quoted identifier: "’" ... "’" -}; - -STRING: () = { - //"\"" r"[^\"^\\]*" "\"", - "\"" r"[^\\]*" "\"", // XXX: not \ and not " -}; - -UNSIGNED_INTEGER: () = { - r"\d+", -}; - -UNSIGNED_NUMBER: () = { - UNSIGNED_INTEGER, - r"\d+\.?\d*([eE][-+]?\d+)?", -}; - - -//// B.2 Grammar - -//// B.2.1 - -//stored_definition: -// [ within [ name ] ";" ] -// { [ final ] class_definition ";" } - -//// B.2.2 Class Definition - - -//// B.2.7 Expressions - -expression: () = { - simple_expression, - if expression then expression { elseif expression then expression } else expression -}; - -simple_expression: () = { - logical_expression [ ":" logical_expression [ ":" logical_expression ] ] -}; - -logical_expression: () = { - logical_term { or logical_term } -}; - -logical_term: () = { - logical_factor { and logical_factor } -}; - -logical_factor: () = { - [ not ] relation -}; - -relation: () = { - arithmetic_expression [ rel_op arithmetic_expression ] -}; - -rel_op: () = { - "<", "<=", ">", ">=", "==", "<>" -}; - -arithmetic_expression: () = { - [ add_op ] term { add_op term } -}; - -add_op: () = { - "+", "-", ".+", ".-" -}; - -term: () = { - factor { mul_op factor } -}; - -mul_op: () = { - "*", "/", ".*", "./" -}; - -factor: () = { - primary [ ("^" | ".^") primary ] -}; - -primary: () = { - UNSIGNED_NUMBER, - STRING, - false, - true, - ( name | der | initial ) function_call_args, - component_reference, - "(" output_expression_list ")", - "[" expression_list { ";" expression_list } "]", - "{" function_arguments "}", - end, -}; - -name: () = { - [ "." ] IDENT { "." IDENT } -}; - -component_reference: () = { - [ "." ] IDENT [ array_subscripts ] { "." IDENT [ array_subscripts ] } -}; - -function_call_args: () = { - "(" [ function_arguments ] ")", - function_arguments, - function_argument [ "," function_arguments | for for_indices ], - named_arguments, -}; - -named_arguments: () = { - named_argument [ "," named_arguments ] -}; - -named_argument: - IDENT "=" function_argument -}; - -function_argument: () = { - function name "(" [ named_arguments ] ")" | expression -}; - - -output_expression_list: - [ expression ] { "," [ expression ] } - -expression_list: () = { - expression { "," expression } -}; - -array_subscripts: () = { - "[" subscript { "," subscript } "]" - -}; - -subscript: () = { - ":" | expression - -}; - -comment: () = { - string_comment [ annotation ] -}; - -string_comment: () = { - [ STRING { "+" STRING } ] -}; - -annotation: () = { - annotation class_modification -}; diff --git a/src/modelica_parser.rs b/src/modelica_parser.rs deleted file mode 100644 index c7cca51..0000000 --- a/src/modelica_parser.rs +++ /dev/null @@ -1,15955 +0,0 @@ -use std::str::FromStr; -use modelica_ast::{ModelicaModel,Component, ComponentPrefix, Connection, - SimpleEquation, Expr, BinOperator}; -extern crate lalrpop_util as __lalrpop_util; - -mod __parse__float { - #![allow(non_snake_case, non_camel_case_types, unused_mut, unused_variables, unused_imports)] - - use std::str::FromStr; - use modelica_ast::{ModelicaModel,Component, ComponentPrefix, Connection, - SimpleEquation, Expr, BinOperator}; - extern crate lalrpop_util as __lalrpop_util; - #[allow(dead_code)] - pub enum __Symbol<'input> { - Term_22_28_22(&'input str), - Term_22_29_22(&'input str), - Term_22_2a_22(&'input str), - Term_22_2b_22(&'input str), - Term_22_2c_22(&'input str), - Term_22_2d_22(&'input str), - Term_22_2f_22(&'input str), - Term_22_3b_22(&'input str), - Term_22_3d_22(&'input str), - Term_22_5e_22(&'input str), - Term_22abs_22(&'input str), - Term_22connect_22(&'input str), - Term_22constant_22(&'input str), - Term_22der_22(&'input str), - Term_22discrete_22(&'input str), - Term_22end_22(&'input str), - Term_22equation_22(&'input str), - Term_22flow_22(&'input str), - Term_22input_22(&'input str), - Term_22model_22(&'input str), - Term_22output_22(&'input str), - Term_22parameter_22(&'input str), - Term_22stream_22(&'input str), - Term_22unit_22(&'input str), - Termr_23_22_5c_22_5b_5e_5c_22_5c_5c_5c_5c_5d_2a_5c_22_22_23(&'input str), - Termr_23_22_5b_2b_2d_5d_3f_5c_5cd_2b_22_23(&'input str), - Termr_23_22_5b_2b_2d_5d_3f_5c_5cd_2b_5c_5c_2e_5c_5cd_2a_28_5beE_5d_5b_2d_2b_5d_3f_5c_5cd_2b_29_3f_22_23(&'input str), - Termr_23_22_5ba_2dzA_2dZ___5d_5ba_2dzA_2dZ__0_2d9_5d_2a_22_23(&'input str), - Termerror(__lalrpop_util::ErrorRecovery), - Nt____float(f64), - Nt____identifier(String), - Nt____integer(i64), - Nt____model(ModelicaModel), - Ntcomponent__declaration(Component), - Ntcomponent__declaration_2a(::std::vec::Vec), - Ntcomponent__declaration_2b(::std::vec::Vec), - Ntcomponent__prefix(ComponentPrefix), - Ntcomponent__prefix_3f(::std::option::Option), - Ntconnect__clause(Connection), - Ntconnect__clause_2a(::std::vec::Vec), - Ntconnect__clause_2b(::std::vec::Vec), - Ntexpr(Expr), - Ntfactor(Expr), - Ntfloat(f64), - Ntidentifier(String), - Ntinteger(i64), - Ntmodel(ModelicaModel), - Ntsimple__equation(SimpleEquation), - Ntsimple__equation_2a(::std::vec::Vec), - Ntsimple__equation_2b(::std::vec::Vec), - Ntstring__literal(String), - Ntstring__literal_3f(::std::option::Option), - Ntterm(Expr), - Ntunits__declaration(String), - Ntunits__declaration_3f(::std::option::Option), - Ntvalue__declaration(Expr), - Ntvalue__declaration_3f(::std::option::Option), - } - const __ACTION: &'static [i32] = &[ - // State 0 - 0, 0, 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, - // State 1 - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - // State 2 - 0, 0, 0, 0, 0, 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 __EOF_ACTION: &'static [i32] = &[ - 0, - -1, - -47, - ]; - const __GOTO: &'static [i32] = &[ - // State 0 - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - // State 1 - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - // State 2 - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - ]; - pub fn parse_float< - 'input, - >( - input: &'input str, - ) -> Result> - { - let mut __tokens = super::__intern_token::__Matcher::new(input); - let mut __states = vec![0_i32]; - let mut __symbols = vec![]; - let mut __integer; - let mut __lookahead; - let mut __last_location = 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 { - (0, _) if true => 0, - (1, _) if true => 1, - (2, _) if true => 2, - (3, _) if true => 3, - (4, _) if true => 4, - (5, _) if true => 5, - (6, _) if true => 6, - (7, _) if true => 7, - (8, _) if true => 8, - (9, _) if true => 9, - (10, _) if true => 10, - (11, _) if true => 11, - (12, _) if true => 12, - (13, _) if true => 13, - (14, _) if true => 14, - (15, _) if true => 15, - (16, _) if true => 16, - (17, _) if true => 17, - (18, _) if true => 18, - (19, _) if true => 19, - (20, _) if true => 20, - (21, _) if true => 21, - (22, _) if true => 22, - (23, _) if true => 23, - (24, _) if true => 24, - (25, _) if true => 25, - (26, _) if true => 26, - (27, _) if true => 27, - _ => { - return Err(__lalrpop_util::ParseError::UnrecognizedToken { - token: Some(__lookahead), - expected: vec![], - }); - } - }; - '__inner: loop { - let __state = *__states.last().unwrap() as usize; - let __action = __ACTION[__state * 29 + __integer]; - if __action > 0 { - let __symbol = match __integer { - 0 => match __lookahead.1 { - (0, __tok0) => __Symbol::Term_22_28_22(__tok0), - _ => unreachable!(), - }, - 1 => match __lookahead.1 { - (1, __tok0) => __Symbol::Term_22_29_22(__tok0), - _ => unreachable!(), - }, - 2 => match __lookahead.1 { - (2, __tok0) => __Symbol::Term_22_2a_22(__tok0), - _ => unreachable!(), - }, - 3 => match __lookahead.1 { - (3, __tok0) => __Symbol::Term_22_2b_22(__tok0), - _ => unreachable!(), - }, - 4 => match __lookahead.1 { - (4, __tok0) => __Symbol::Term_22_2c_22(__tok0), - _ => unreachable!(), - }, - 5 => match __lookahead.1 { - (5, __tok0) => __Symbol::Term_22_2d_22(__tok0), - _ => unreachable!(), - }, - 6 => match __lookahead.1 { - (6, __tok0) => __Symbol::Term_22_2f_22(__tok0), - _ => unreachable!(), - }, - 7 => match __lookahead.1 { - (7, __tok0) => __Symbol::Term_22_3b_22(__tok0), - _ => unreachable!(), - }, - 8 => match __lookahead.1 { - (8, __tok0) => __Symbol::Term_22_3d_22(__tok0), - _ => unreachable!(), - }, - 9 => match __lookahead.1 { - (9, __tok0) => __Symbol::Term_22_5e_22(__tok0), - _ => unreachable!(), - }, - 10 => match __lookahead.1 { - (10, __tok0) => __Symbol::Term_22abs_22(__tok0), - _ => unreachable!(), - }, - 11 => match __lookahead.1 { - (11, __tok0) => __Symbol::Term_22connect_22(__tok0), - _ => unreachable!(), - }, - 12 => match __lookahead.1 { - (12, __tok0) => __Symbol::Term_22constant_22(__tok0), - _ => unreachable!(), - }, - 13 => match __lookahead.1 { - (13, __tok0) => __Symbol::Term_22der_22(__tok0), - _ => unreachable!(), - }, - 14 => match __lookahead.1 { - (14, __tok0) => __Symbol::Term_22discrete_22(__tok0), - _ => unreachable!(), - }, - 15 => match __lookahead.1 { - (15, __tok0) => __Symbol::Term_22end_22(__tok0), - _ => unreachable!(), - }, - 16 => match __lookahead.1 { - (16, __tok0) => __Symbol::Term_22equation_22(__tok0), - _ => unreachable!(), - }, - 17 => match __lookahead.1 { - (17, __tok0) => __Symbol::Term_22flow_22(__tok0), - _ => unreachable!(), - }, - 18 => match __lookahead.1 { - (18, __tok0) => __Symbol::Term_22input_22(__tok0), - _ => unreachable!(), - }, - 19 => match __lookahead.1 { - (19, __tok0) => __Symbol::Term_22model_22(__tok0), - _ => unreachable!(), - }, - 20 => match __lookahead.1 { - (20, __tok0) => __Symbol::Term_22output_22(__tok0), - _ => unreachable!(), - }, - 21 => match __lookahead.1 { - (21, __tok0) => __Symbol::Term_22parameter_22(__tok0), - _ => unreachable!(), - }, - 22 => match __lookahead.1 { - (22, __tok0) => __Symbol::Term_22stream_22(__tok0), - _ => unreachable!(), - }, - 23 => match __lookahead.1 { - (23, __tok0) => __Symbol::Term_22unit_22(__tok0), - _ => unreachable!(), - }, - 24 => match __lookahead.1 { - (24, __tok0) => __Symbol::Termr_23_22_5c_22_5b_5e_5c_22_5c_5c_5c_5c_5d_2a_5c_22_22_23(__tok0), - _ => unreachable!(), - }, - 25 => match __lookahead.1 { - (25, __tok0) => __Symbol::Termr_23_22_5b_2b_2d_5d_3f_5c_5cd_2b_22_23(__tok0), - _ => unreachable!(), - }, - 26 => match __lookahead.1 { - (26, __tok0) => __Symbol::Termr_23_22_5b_2b_2d_5d_3f_5c_5cd_2b_5c_5c_2e_5c_5cd_2a_28_5beE_5d_5b_2d_2b_5d_3f_5c_5cd_2b_29_3f_22_23(__tok0), - _ => unreachable!(), - }, - 27 => match __lookahead.1 { - (27, __tok0) => __Symbol::Termr_23_22_5ba_2dzA_2dZ___5d_5ba_2dzA_2dZ__0_2d9_5d_2a_22_23(__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::<()>) { - return r; - } - } else { - return Err(__lalrpop_util::ParseError::UnrecognizedToken { - token: Some(__lookahead), - expected: vec![], - }); - } - } - } - 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 __error = __lalrpop_util::ParseError::UnrecognizedToken { - token: None, - expected: vec![], - }; - return Err(__error); - } - } - } - pub fn __reduce< - 'input, - >( - input: &'input str, - __action: i32, - __lookahead_start: Option<&usize>, - __states: &mut ::std::vec::Vec, - __symbols: &mut ::std::vec::Vec<(usize,__Symbol<'input>,usize)>, - _: ::std::marker::PhantomData<()>, - ) -> Option>> - { - let __nonterminal = match -__action { - 1 => { - // __float = float => ActionFn(2); - let __sym0 = __pop_Ntfloat(__symbols); - let __start = __sym0.0.clone(); - let __end = __sym0.2.clone(); - let __nt = super::__action2::<>(input, __sym0); - return Some(Ok(__nt)); - } - 2 => { - // __identifier = identifier => ActionFn(0); - let __sym0 = __pop_Ntidentifier(__symbols); - let __start = __sym0.0.clone(); - let __end = __sym0.2.clone(); - let __nt = super::__action0::<>(input, __sym0); - let __states_len = __states.len(); - __states.truncate(__states_len - 1); - __symbols.push((__start, __Symbol::Nt____identifier(__nt), __end)); - 1 - } - 3 => { - // __integer = integer => ActionFn(1); - let __sym0 = __pop_Ntinteger(__symbols); - let __start = __sym0.0.clone(); - let __end = __sym0.2.clone(); - let __nt = super::__action1::<>(input, __sym0); - let __states_len = __states.len(); - __states.truncate(__states_len - 1); - __symbols.push((__start, __Symbol::Nt____integer(__nt), __end)); - 2 - } - 4 => { - // __model = model => ActionFn(3); - let __sym0 = __pop_Ntmodel(__symbols); - let __start = __sym0.0.clone(); - let __end = __sym0.2.clone(); - let __nt = super::__action3::<>(input, __sym0); - let __states_len = __states.len(); - __states.truncate(__states_len - 1); - __symbols.push((__start, __Symbol::Nt____model(__nt), __end)); - 3 - } - 5 => { - // component_declaration = component_prefix, identifier, identifier, units_declaration, value_declaration, string_literal, ";" => ActionFn(83); - let __sym6 = __pop_Term_22_3b_22(__symbols); - let __sym5 = __pop_Ntstring__literal(__symbols); - let __sym4 = __pop_Ntvalue__declaration(__symbols); - let __sym3 = __pop_Ntunits__declaration(__symbols); - let __sym2 = __pop_Ntidentifier(__symbols); - let __sym1 = __pop_Ntidentifier(__symbols); - let __sym0 = __pop_Ntcomponent__prefix(__symbols); - let __start = __sym0.0.clone(); - let __end = __sym6.2.clone(); - let __nt = super::__action83::<>(input, __sym0, __sym1, __sym2, __sym3, __sym4, __sym5, __sym6); - let __states_len = __states.len(); - __states.truncate(__states_len - 7); - __symbols.push((__start, __Symbol::Ntcomponent__declaration(__nt), __end)); - 4 - } - 6 => { - // component_declaration = component_prefix, identifier, identifier, units_declaration, string_literal, ";" => ActionFn(84); - let __sym5 = __pop_Term_22_3b_22(__symbols); - let __sym4 = __pop_Ntstring__literal(__symbols); - let __sym3 = __pop_Ntunits__declaration(__symbols); - let __sym2 = __pop_Ntidentifier(__symbols); - let __sym1 = __pop_Ntidentifier(__symbols); - let __sym0 = __pop_Ntcomponent__prefix(__symbols); - let __start = __sym0.0.clone(); - let __end = __sym5.2.clone(); - let __nt = super::__action84::<>(input, __sym0, __sym1, __sym2, __sym3, __sym4, __sym5); - let __states_len = __states.len(); - __states.truncate(__states_len - 6); - __symbols.push((__start, __Symbol::Ntcomponent__declaration(__nt), __end)); - 4 - } - 7 => { - // component_declaration = component_prefix, identifier, identifier, value_declaration, string_literal, ";" => ActionFn(85); - let __sym5 = __pop_Term_22_3b_22(__symbols); - let __sym4 = __pop_Ntstring__literal(__symbols); - let __sym3 = __pop_Ntvalue__declaration(__symbols); - let __sym2 = __pop_Ntidentifier(__symbols); - let __sym1 = __pop_Ntidentifier(__symbols); - let __sym0 = __pop_Ntcomponent__prefix(__symbols); - let __start = __sym0.0.clone(); - let __end = __sym5.2.clone(); - let __nt = super::__action85::<>(input, __sym0, __sym1, __sym2, __sym3, __sym4, __sym5); - let __states_len = __states.len(); - __states.truncate(__states_len - 6); - __symbols.push((__start, __Symbol::Ntcomponent__declaration(__nt), __end)); - 4 - } - 8 => { - // component_declaration = component_prefix, identifier, identifier, string_literal, ";" => ActionFn(86); - let __sym4 = __pop_Term_22_3b_22(__symbols); - let __sym3 = __pop_Ntstring__literal(__symbols); - let __sym2 = __pop_Ntidentifier(__symbols); - let __sym1 = __pop_Ntidentifier(__symbols); - let __sym0 = __pop_Ntcomponent__prefix(__symbols); - let __start = __sym0.0.clone(); - let __end = __sym4.2.clone(); - let __nt = super::__action86::<>(input, __sym0, __sym1, __sym2, __sym3, __sym4); - let __states_len = __states.len(); - __states.truncate(__states_len - 5); - __symbols.push((__start, __Symbol::Ntcomponent__declaration(__nt), __end)); - 4 - } - 9 => { - // component_declaration = component_prefix, identifier, identifier, units_declaration, value_declaration, ";" => ActionFn(87); - let __sym5 = __pop_Term_22_3b_22(__symbols); - let __sym4 = __pop_Ntvalue__declaration(__symbols); - let __sym3 = __pop_Ntunits__declaration(__symbols); - let __sym2 = __pop_Ntidentifier(__symbols); - let __sym1 = __pop_Ntidentifier(__symbols); - let __sym0 = __pop_Ntcomponent__prefix(__symbols); - let __start = __sym0.0.clone(); - let __end = __sym5.2.clone(); - let __nt = super::__action87::<>(input, __sym0, __sym1, __sym2, __sym3, __sym4, __sym5); - let __states_len = __states.len(); - __states.truncate(__states_len - 6); - __symbols.push((__start, __Symbol::Ntcomponent__declaration(__nt), __end)); - 4 - } - 10 => { - // component_declaration = component_prefix, identifier, identifier, units_declaration, ";" => ActionFn(88); - let __sym4 = __pop_Term_22_3b_22(__symbols); - let __sym3 = __pop_Ntunits__declaration(__symbols); - let __sym2 = __pop_Ntidentifier(__symbols); - let __sym1 = __pop_Ntidentifier(__symbols); - let __sym0 = __pop_Ntcomponent__prefix(__symbols); - let __start = __sym0.0.clone(); - let __end = __sym4.2.clone(); - let __nt = super::__action88::<>(input, __sym0, __sym1, __sym2, __sym3, __sym4); - let __states_len = __states.len(); - __states.truncate(__states_len - 5); - __symbols.push((__start, __Symbol::Ntcomponent__declaration(__nt), __end)); - 4 - } - 11 => { - // component_declaration = component_prefix, identifier, identifier, value_declaration, ";" => ActionFn(89); - let __sym4 = __pop_Term_22_3b_22(__symbols); - let __sym3 = __pop_Ntvalue__declaration(__symbols); - let __sym2 = __pop_Ntidentifier(__symbols); - let __sym1 = __pop_Ntidentifier(__symbols); - let __sym0 = __pop_Ntcomponent__prefix(__symbols); - let __start = __sym0.0.clone(); - let __end = __sym4.2.clone(); - let __nt = super::__action89::<>(input, __sym0, __sym1, __sym2, __sym3, __sym4); - let __states_len = __states.len(); - __states.truncate(__states_len - 5); - __symbols.push((__start, __Symbol::Ntcomponent__declaration(__nt), __end)); - 4 - } - 12 => { - // component_declaration = component_prefix, identifier, identifier, ";" => ActionFn(90); - let __sym3 = __pop_Term_22_3b_22(__symbols); - let __sym2 = __pop_Ntidentifier(__symbols); - let __sym1 = __pop_Ntidentifier(__symbols); - let __sym0 = __pop_Ntcomponent__prefix(__symbols); - let __start = __sym0.0.clone(); - let __end = __sym3.2.clone(); - let __nt = super::__action90::<>(input, __sym0, __sym1, __sym2, __sym3); - let __states_len = __states.len(); - __states.truncate(__states_len - 4); - __symbols.push((__start, __Symbol::Ntcomponent__declaration(__nt), __end)); - 4 - } - 13 => { - // component_declaration = identifier, identifier, units_declaration, value_declaration, string_literal, ";" => ActionFn(91); - let __sym5 = __pop_Term_22_3b_22(__symbols); - let __sym4 = __pop_Ntstring__literal(__symbols); - let __sym3 = __pop_Ntvalue__declaration(__symbols); - let __sym2 = __pop_Ntunits__declaration(__symbols); - let __sym1 = __pop_Ntidentifier(__symbols); - let __sym0 = __pop_Ntidentifier(__symbols); - let __start = __sym0.0.clone(); - let __end = __sym5.2.clone(); - let __nt = super::__action91::<>(input, __sym0, __sym1, __sym2, __sym3, __sym4, __sym5); - let __states_len = __states.len(); - __states.truncate(__states_len - 6); - __symbols.push((__start, __Symbol::Ntcomponent__declaration(__nt), __end)); - 4 - } - 14 => { - // component_declaration = identifier, identifier, units_declaration, string_literal, ";" => ActionFn(92); - let __sym4 = __pop_Term_22_3b_22(__symbols); - let __sym3 = __pop_Ntstring__literal(__symbols); - let __sym2 = __pop_Ntunits__declaration(__symbols); - let __sym1 = __pop_Ntidentifier(__symbols); - let __sym0 = __pop_Ntidentifier(__symbols); - let __start = __sym0.0.clone(); - let __end = __sym4.2.clone(); - let __nt = super::__action92::<>(input, __sym0, __sym1, __sym2, __sym3, __sym4); - let __states_len = __states.len(); - __states.truncate(__states_len - 5); - __symbols.push((__start, __Symbol::Ntcomponent__declaration(__nt), __end)); - 4 - } - 15 => { - // component_declaration = identifier, identifier, value_declaration, string_literal, ";" => ActionFn(93); - let __sym4 = __pop_Term_22_3b_22(__symbols); - let __sym3 = __pop_Ntstring__literal(__symbols); - let __sym2 = __pop_Ntvalue__declaration(__symbols); - let __sym1 = __pop_Ntidentifier(__symbols); - let __sym0 = __pop_Ntidentifier(__symbols); - let __start = __sym0.0.clone(); - let __end = __sym4.2.clone(); - let __nt = super::__action93::<>(input, __sym0, __sym1, __sym2, __sym3, __sym4); - let __states_len = __states.len(); - __states.truncate(__states_len - 5); - __symbols.push((__start, __Symbol::Ntcomponent__declaration(__nt), __end)); - 4 - } - 16 => { - // component_declaration = identifier, identifier, string_literal, ";" => ActionFn(94); - let __sym3 = __pop_Term_22_3b_22(__symbols); - let __sym2 = __pop_Ntstring__literal(__symbols); - let __sym1 = __pop_Ntidentifier(__symbols); - let __sym0 = __pop_Ntidentifier(__symbols); - let __start = __sym0.0.clone(); - let __end = __sym3.2.clone(); - let __nt = super::__action94::<>(input, __sym0, __sym1, __sym2, __sym3); - let __states_len = __states.len(); - __states.truncate(__states_len - 4); - __symbols.push((__start, __Symbol::Ntcomponent__declaration(__nt), __end)); - 4 - } - 17 => { - // component_declaration = identifier, identifier, units_declaration, value_declaration, ";" => ActionFn(95); - let __sym4 = __pop_Term_22_3b_22(__symbols); - let __sym3 = __pop_Ntvalue__declaration(__symbols); - let __sym2 = __pop_Ntunits__declaration(__symbols); - let __sym1 = __pop_Ntidentifier(__symbols); - let __sym0 = __pop_Ntidentifier(__symbols); - let __start = __sym0.0.clone(); - let __end = __sym4.2.clone(); - let __nt = super::__action95::<>(input, __sym0, __sym1, __sym2, __sym3, __sym4); - let __states_len = __states.len(); - __states.truncate(__states_len - 5); - __symbols.push((__start, __Symbol::Ntcomponent__declaration(__nt), __end)); - 4 - } - 18 => { - // component_declaration = identifier, identifier, units_declaration, ";" => ActionFn(96); - let __sym3 = __pop_Term_22_3b_22(__symbols); - let __sym2 = __pop_Ntunits__declaration(__symbols); - let __sym1 = __pop_Ntidentifier(__symbols); - let __sym0 = __pop_Ntidentifier(__symbols); - let __start = __sym0.0.clone(); - let __end = __sym3.2.clone(); - let __nt = super::__action96::<>(input, __sym0, __sym1, __sym2, __sym3); - let __states_len = __states.len(); - __states.truncate(__states_len - 4); - __symbols.push((__start, __Symbol::Ntcomponent__declaration(__nt), __end)); - 4 - } - 19 => { - // component_declaration = identifier, identifier, value_declaration, ";" => ActionFn(97); - let __sym3 = __pop_Term_22_3b_22(__symbols); - let __sym2 = __pop_Ntvalue__declaration(__symbols); - let __sym1 = __pop_Ntidentifier(__symbols); - let __sym0 = __pop_Ntidentifier(__symbols); - let __start = __sym0.0.clone(); - let __end = __sym3.2.clone(); - let __nt = super::__action97::<>(input, __sym0, __sym1, __sym2, __sym3); - let __states_len = __states.len(); - __states.truncate(__states_len - 4); - __symbols.push((__start, __Symbol::Ntcomponent__declaration(__nt), __end)); - 4 - } - 20 => { - // component_declaration = identifier, identifier, ";" => ActionFn(98); - let __sym2 = __pop_Term_22_3b_22(__symbols); - let __sym1 = __pop_Ntidentifier(__symbols); - let __sym0 = __pop_Ntidentifier(__symbols); - let __start = __sym0.0.clone(); - let __end = __sym2.2.clone(); - let __nt = super::__action98::<>(input, __sym0, __sym1, __sym2); - let __states_len = __states.len(); - __states.truncate(__states_len - 3); - __symbols.push((__start, __Symbol::Ntcomponent__declaration(__nt), __end)); - 4 - } - 21 => { - // component_declaration* = => ActionFn(47); - 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::__action47::<>(input, &__start, &__end); - let __states_len = __states.len(); - __states.truncate(__states_len - 0); - __symbols.push((__start, __Symbol::Ntcomponent__declaration_2a(__nt), __end)); - 5 - } - 22 => { - // component_declaration* = component_declaration+ => ActionFn(48); - let __sym0 = __pop_Ntcomponent__declaration_2b(__symbols); - let __start = __sym0.0.clone(); - let __end = __sym0.2.clone(); - let __nt = super::__action48::<>(input, __sym0); - let __states_len = __states.len(); - __states.truncate(__states_len - 1); - __symbols.push((__start, __Symbol::Ntcomponent__declaration_2a(__nt), __end)); - 5 - } - 23 => { - // component_declaration+ = component_declaration => ActionFn(49); - let __sym0 = __pop_Ntcomponent__declaration(__symbols); - let __start = __sym0.0.clone(); - let __end = __sym0.2.clone(); - let __nt = super::__action49::<>(input, __sym0); - let __states_len = __states.len(); - __states.truncate(__states_len - 1); - __symbols.push((__start, __Symbol::Ntcomponent__declaration_2b(__nt), __end)); - 6 - } - 24 => { - // component_declaration+ = component_declaration+, component_declaration => ActionFn(50); - let __sym1 = __pop_Ntcomponent__declaration(__symbols); - let __sym0 = __pop_Ntcomponent__declaration_2b(__symbols); - let __start = __sym0.0.clone(); - let __end = __sym1.2.clone(); - let __nt = super::__action50::<>(input, __sym0, __sym1); - let __states_len = __states.len(); - __states.truncate(__states_len - 2); - __symbols.push((__start, __Symbol::Ntcomponent__declaration_2b(__nt), __end)); - 6 - } - 25 => { - // component_prefix = "flow" => ActionFn(12); - let __sym0 = __pop_Term_22flow_22(__symbols); - let __start = __sym0.0.clone(); - let __end = __sym0.2.clone(); - let __nt = super::__action12::<>(input, __sym0); - let __states_len = __states.len(); - __states.truncate(__states_len - 1); - __symbols.push((__start, __Symbol::Ntcomponent__prefix(__nt), __end)); - 7 - } - 26 => { - // component_prefix = "stream" => ActionFn(13); - let __sym0 = __pop_Term_22stream_22(__symbols); - let __start = __sym0.0.clone(); - let __end = __sym0.2.clone(); - let __nt = super::__action13::<>(input, __sym0); - let __states_len = __states.len(); - __states.truncate(__states_len - 1); - __symbols.push((__start, __Symbol::Ntcomponent__prefix(__nt), __end)); - 7 - } - 27 => { - // component_prefix = "input" => ActionFn(14); - let __sym0 = __pop_Term_22input_22(__symbols); - let __start = __sym0.0.clone(); - let __end = __sym0.2.clone(); - let __nt = super::__action14::<>(input, __sym0); - let __states_len = __states.len(); - __states.truncate(__states_len - 1); - __symbols.push((__start, __Symbol::Ntcomponent__prefix(__nt), __end)); - 7 - } - 28 => { - // component_prefix = "output" => ActionFn(15); - let __sym0 = __pop_Term_22output_22(__symbols); - let __start = __sym0.0.clone(); - let __end = __sym0.2.clone(); - let __nt = super::__action15::<>(input, __sym0); - let __states_len = __states.len(); - __states.truncate(__states_len - 1); - __symbols.push((__start, __Symbol::Ntcomponent__prefix(__nt), __end)); - 7 - } - 29 => { - // component_prefix = "discrete" => ActionFn(16); - let __sym0 = __pop_Term_22discrete_22(__symbols); - let __start = __sym0.0.clone(); - let __end = __sym0.2.clone(); - let __nt = super::__action16::<>(input, __sym0); - let __states_len = __states.len(); - __states.truncate(__states_len - 1); - __symbols.push((__start, __Symbol::Ntcomponent__prefix(__nt), __end)); - 7 - } - 30 => { - // component_prefix = "parameter" => ActionFn(17); - let __sym0 = __pop_Term_22parameter_22(__symbols); - let __start = __sym0.0.clone(); - let __end = __sym0.2.clone(); - let __nt = super::__action17::<>(input, __sym0); - let __states_len = __states.len(); - __states.truncate(__states_len - 1); - __symbols.push((__start, __Symbol::Ntcomponent__prefix(__nt), __end)); - 7 - } - 31 => { - // component_prefix = "constant" => ActionFn(18); - let __sym0 = __pop_Term_22constant_22(__symbols); - let __start = __sym0.0.clone(); - let __end = __sym0.2.clone(); - let __nt = super::__action18::<>(input, __sym0); - let __states_len = __states.len(); - __states.truncate(__states_len - 1); - __symbols.push((__start, __Symbol::Ntcomponent__prefix(__nt), __end)); - 7 - } - 32 => { - // component_prefix? = component_prefix => ActionFn(41); - let __sym0 = __pop_Ntcomponent__prefix(__symbols); - let __start = __sym0.0.clone(); - let __end = __sym0.2.clone(); - let __nt = super::__action41::<>(input, __sym0); - let __states_len = __states.len(); - __states.truncate(__states_len - 1); - __symbols.push((__start, __Symbol::Ntcomponent__prefix_3f(__nt), __end)); - 8 - } - 33 => { - // component_prefix? = => ActionFn(42); - 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::__action42::<>(input, &__start, &__end); - let __states_len = __states.len(); - __states.truncate(__states_len - 0); - __symbols.push((__start, __Symbol::Ntcomponent__prefix_3f(__nt), __end)); - 8 - } - 34 => { - // connect_clause = "connect", "(", identifier, ",", identifier, ")", ";" => ActionFn(20); - let __sym6 = __pop_Term_22_3b_22(__symbols); - let __sym5 = __pop_Term_22_29_22(__symbols); - let __sym4 = __pop_Ntidentifier(__symbols); - let __sym3 = __pop_Term_22_2c_22(__symbols); - let __sym2 = __pop_Ntidentifier(__symbols); - let __sym1 = __pop_Term_22_28_22(__symbols); - let __sym0 = __pop_Term_22connect_22(__symbols); - let __start = __sym0.0.clone(); - let __end = __sym6.2.clone(); - let __nt = super::__action20::<>(input, __sym0, __sym1, __sym2, __sym3, __sym4, __sym5, __sym6); - let __states_len = __states.len(); - __states.truncate(__states_len - 7); - __symbols.push((__start, __Symbol::Ntconnect__clause(__nt), __end)); - 9 - } - 35 => { - // connect_clause* = => ActionFn(45); - 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::__action45::<>(input, &__start, &__end); - let __states_len = __states.len(); - __states.truncate(__states_len - 0); - __symbols.push((__start, __Symbol::Ntconnect__clause_2a(__nt), __end)); - 10 - } - 36 => { - // connect_clause* = connect_clause+ => ActionFn(46); - let __sym0 = __pop_Ntconnect__clause_2b(__symbols); - let __start = __sym0.0.clone(); - let __end = __sym0.2.clone(); - let __nt = super::__action46::<>(input, __sym0); - let __states_len = __states.len(); - __states.truncate(__states_len - 1); - __symbols.push((__start, __Symbol::Ntconnect__clause_2a(__nt), __end)); - 10 - } - 37 => { - // connect_clause+ = connect_clause => ActionFn(51); - let __sym0 = __pop_Ntconnect__clause(__symbols); - let __start = __sym0.0.clone(); - let __end = __sym0.2.clone(); - let __nt = super::__action51::<>(input, __sym0); - let __states_len = __states.len(); - __states.truncate(__states_len - 1); - __symbols.push((__start, __Symbol::Ntconnect__clause_2b(__nt), __end)); - 11 - } - 38 => { - // connect_clause+ = connect_clause+, connect_clause => ActionFn(52); - let __sym1 = __pop_Ntconnect__clause(__symbols); - let __sym0 = __pop_Ntconnect__clause_2b(__symbols); - let __start = __sym0.0.clone(); - let __end = __sym1.2.clone(); - let __nt = super::__action52::<>(input, __sym0, __sym1); - let __states_len = __states.len(); - __states.truncate(__states_len - 2); - __symbols.push((__start, __Symbol::Ntconnect__clause_2b(__nt), __end)); - 11 - } - 39 => { - // expr = expr, "+", factor => ActionFn(21); - let __sym2 = __pop_Ntfactor(__symbols); - let __sym1 = __pop_Term_22_2b_22(__symbols); - let __sym0 = __pop_Ntexpr(__symbols); - let __start = __sym0.0.clone(); - let __end = __sym2.2.clone(); - let __nt = super::__action21::<>(input, __sym0, __sym1, __sym2); - let __states_len = __states.len(); - __states.truncate(__states_len - 3); - __symbols.push((__start, __Symbol::Ntexpr(__nt), __end)); - 12 - } - 40 => { - // expr = expr, "-", factor => ActionFn(22); - let __sym2 = __pop_Ntfactor(__symbols); - let __sym1 = __pop_Term_22_2d_22(__symbols); - let __sym0 = __pop_Ntexpr(__symbols); - let __start = __sym0.0.clone(); - let __end = __sym2.2.clone(); - let __nt = super::__action22::<>(input, __sym0, __sym1, __sym2); - let __states_len = __states.len(); - __states.truncate(__states_len - 3); - __symbols.push((__start, __Symbol::Ntexpr(__nt), __end)); - 12 - } - 41 => { - // expr = factor => ActionFn(23); - let __sym0 = __pop_Ntfactor(__symbols); - let __start = __sym0.0.clone(); - let __end = __sym0.2.clone(); - let __nt = super::__action23::<>(input, __sym0); - let __states_len = __states.len(); - __states.truncate(__states_len - 1); - __symbols.push((__start, __Symbol::Ntexpr(__nt), __end)); - 12 - } - 42 => { - // factor = factor, "*", term => ActionFn(24); - let __sym2 = __pop_Ntterm(__symbols); - let __sym1 = __pop_Term_22_2a_22(__symbols); - let __sym0 = __pop_Ntfactor(__symbols); - let __start = __sym0.0.clone(); - let __end = __sym2.2.clone(); - let __nt = super::__action24::<>(input, __sym0, __sym1, __sym2); - let __states_len = __states.len(); - __states.truncate(__states_len - 3); - __symbols.push((__start, __Symbol::Ntfactor(__nt), __end)); - 13 - } - 43 => { - // factor = factor, "/", term => ActionFn(25); - let __sym2 = __pop_Ntterm(__symbols); - let __sym1 = __pop_Term_22_2f_22(__symbols); - let __sym0 = __pop_Ntfactor(__symbols); - let __start = __sym0.0.clone(); - let __end = __sym2.2.clone(); - let __nt = super::__action25::<>(input, __sym0, __sym1, __sym2); - let __states_len = __states.len(); - __states.truncate(__states_len - 3); - __symbols.push((__start, __Symbol::Ntfactor(__nt), __end)); - 13 - } - 44 => { - // factor = factor, "^", term => ActionFn(26); - let __sym2 = __pop_Ntterm(__symbols); - let __sym1 = __pop_Term_22_5e_22(__symbols); - let __sym0 = __pop_Ntfactor(__symbols); - let __start = __sym0.0.clone(); - let __end = __sym2.2.clone(); - let __nt = super::__action26::<>(input, __sym0, __sym1, __sym2); - let __states_len = __states.len(); - __states.truncate(__states_len - 3); - __symbols.push((__start, __Symbol::Ntfactor(__nt), __end)); - 13 - } - 45 => { - // factor = "-", term => ActionFn(27); - let __sym1 = __pop_Ntterm(__symbols); - let __sym0 = __pop_Term_22_2d_22(__symbols); - let __start = __sym0.0.clone(); - let __end = __sym1.2.clone(); - let __nt = super::__action27::<>(input, __sym0, __sym1); - let __states_len = __states.len(); - __states.truncate(__states_len - 2); - __symbols.push((__start, __Symbol::Ntfactor(__nt), __end)); - 13 - } - 46 => { - // factor = term => ActionFn(28); - let __sym0 = __pop_Ntterm(__symbols); - let __start = __sym0.0.clone(); - let __end = __sym0.2.clone(); - let __nt = super::__action28::<>(input, __sym0); - let __states_len = __states.len(); - __states.truncate(__states_len - 1); - __symbols.push((__start, __Symbol::Ntfactor(__nt), __end)); - 13 - } - 47 => { - // float = r#"[+-]?\\d+\\.\\d*([eE][-+]?\\d+)?"# => ActionFn(7); - let __sym0 = __pop_Termr_23_22_5b_2b_2d_5d_3f_5c_5cd_2b_5c_5c_2e_5c_5cd_2a_28_5beE_5d_5b_2d_2b_5d_3f_5c_5cd_2b_29_3f_22_23(__symbols); - let __start = __sym0.0.clone(); - let __end = __sym0.2.clone(); - let __nt = super::__action7::<>(input, __sym0); - let __states_len = __states.len(); - __states.truncate(__states_len - 1); - __symbols.push((__start, __Symbol::Ntfloat(__nt), __end)); - 14 - } - 48 => { - // identifier = r#"[a-zA-Z_][a-zA-Z_0-9]*"# => ActionFn(4); - let __sym0 = __pop_Termr_23_22_5ba_2dzA_2dZ___5d_5ba_2dzA_2dZ__0_2d9_5d_2a_22_23(__symbols); - let __start = __sym0.0.clone(); - let __end = __sym0.2.clone(); - let __nt = super::__action4::<>(input, __sym0); - let __states_len = __states.len(); - __states.truncate(__states_len - 1); - __symbols.push((__start, __Symbol::Ntidentifier(__nt), __end)); - 15 - } - 49 => { - // integer = r#"[+-]?\\d+"# => ActionFn(6); - let __sym0 = __pop_Termr_23_22_5b_2b_2d_5d_3f_5c_5cd_2b_22_23(__symbols); - let __start = __sym0.0.clone(); - let __end = __sym0.2.clone(); - let __nt = super::__action6::<>(input, __sym0); - let __states_len = __states.len(); - __states.truncate(__states_len - 1); - __symbols.push((__start, __Symbol::Ntinteger(__nt), __end)); - 16 - } - 50 => { - // model = "model", identifier, "equation", "end", identifier, ";" => ActionFn(63); - let __sym5 = __pop_Term_22_3b_22(__symbols); - let __sym4 = __pop_Ntidentifier(__symbols); - let __sym3 = __pop_Term_22end_22(__symbols); - let __sym2 = __pop_Term_22equation_22(__symbols); - let __sym1 = __pop_Ntidentifier(__symbols); - let __sym0 = __pop_Term_22model_22(__symbols); - let __start = __sym0.0.clone(); - let __end = __sym5.2.clone(); - let __nt = super::__action63::<>(input, __sym0, __sym1, __sym2, __sym3, __sym4, __sym5); - let __states_len = __states.len(); - __states.truncate(__states_len - 6); - __symbols.push((__start, __Symbol::Ntmodel(__nt), __end)); - 17 - } - 51 => { - // model = "model", identifier, "equation", simple_equation+, "end", identifier, ";" => ActionFn(64); - let __sym6 = __pop_Term_22_3b_22(__symbols); - let __sym5 = __pop_Ntidentifier(__symbols); - let __sym4 = __pop_Term_22end_22(__symbols); - let __sym3 = __pop_Ntsimple__equation_2b(__symbols); - let __sym2 = __pop_Term_22equation_22(__symbols); - let __sym1 = __pop_Ntidentifier(__symbols); - let __sym0 = __pop_Term_22model_22(__symbols); - let __start = __sym0.0.clone(); - let __end = __sym6.2.clone(); - let __nt = super::__action64::<>(input, __sym0, __sym1, __sym2, __sym3, __sym4, __sym5, __sym6); - let __states_len = __states.len(); - __states.truncate(__states_len - 7); - __symbols.push((__start, __Symbol::Ntmodel(__nt), __end)); - 17 - } - 52 => { - // model = "model", identifier, "equation", connect_clause+, "end", identifier, ";" => ActionFn(65); - let __sym6 = __pop_Term_22_3b_22(__symbols); - let __sym5 = __pop_Ntidentifier(__symbols); - let __sym4 = __pop_Term_22end_22(__symbols); - let __sym3 = __pop_Ntconnect__clause_2b(__symbols); - let __sym2 = __pop_Term_22equation_22(__symbols); - let __sym1 = __pop_Ntidentifier(__symbols); - let __sym0 = __pop_Term_22model_22(__symbols); - let __start = __sym0.0.clone(); - let __end = __sym6.2.clone(); - let __nt = super::__action65::<>(input, __sym0, __sym1, __sym2, __sym3, __sym4, __sym5, __sym6); - let __states_len = __states.len(); - __states.truncate(__states_len - 7); - __symbols.push((__start, __Symbol::Ntmodel(__nt), __end)); - 17 - } - 53 => { - // model = "model", identifier, "equation", connect_clause+, simple_equation+, "end", identifier, ";" => ActionFn(66); - let __sym7 = __pop_Term_22_3b_22(__symbols); - let __sym6 = __pop_Ntidentifier(__symbols); - let __sym5 = __pop_Term_22end_22(__symbols); - let __sym4 = __pop_Ntsimple__equation_2b(__symbols); - let __sym3 = __pop_Ntconnect__clause_2b(__symbols); - let __sym2 = __pop_Term_22equation_22(__symbols); - let __sym1 = __pop_Ntidentifier(__symbols); - let __sym0 = __pop_Term_22model_22(__symbols); - let __start = __sym0.0.clone(); - let __end = __sym7.2.clone(); - let __nt = super::__action66::<>(input, __sym0, __sym1, __sym2, __sym3, __sym4, __sym5, __sym6, __sym7); - let __states_len = __states.len(); - __states.truncate(__states_len - 8); - __symbols.push((__start, __Symbol::Ntmodel(__nt), __end)); - 17 - } - 54 => { - // model = "model", identifier, component_declaration+, "equation", "end", identifier, ";" => ActionFn(67); - let __sym6 = __pop_Term_22_3b_22(__symbols); - let __sym5 = __pop_Ntidentifier(__symbols); - let __sym4 = __pop_Term_22end_22(__symbols); - let __sym3 = __pop_Term_22equation_22(__symbols); - let __sym2 = __pop_Ntcomponent__declaration_2b(__symbols); - let __sym1 = __pop_Ntidentifier(__symbols); - let __sym0 = __pop_Term_22model_22(__symbols); - let __start = __sym0.0.clone(); - let __end = __sym6.2.clone(); - let __nt = super::__action67::<>(input, __sym0, __sym1, __sym2, __sym3, __sym4, __sym5, __sym6); - let __states_len = __states.len(); - __states.truncate(__states_len - 7); - __symbols.push((__start, __Symbol::Ntmodel(__nt), __end)); - 17 - } - 55 => { - // model = "model", identifier, component_declaration+, "equation", simple_equation+, "end", identifier, ";" => ActionFn(68); - let __sym7 = __pop_Term_22_3b_22(__symbols); - let __sym6 = __pop_Ntidentifier(__symbols); - let __sym5 = __pop_Term_22end_22(__symbols); - let __sym4 = __pop_Ntsimple__equation_2b(__symbols); - let __sym3 = __pop_Term_22equation_22(__symbols); - let __sym2 = __pop_Ntcomponent__declaration_2b(__symbols); - let __sym1 = __pop_Ntidentifier(__symbols); - let __sym0 = __pop_Term_22model_22(__symbols); - let __start = __sym0.0.clone(); - let __end = __sym7.2.clone(); - let __nt = super::__action68::<>(input, __sym0, __sym1, __sym2, __sym3, __sym4, __sym5, __sym6, __sym7); - let __states_len = __states.len(); - __states.truncate(__states_len - 8); - __symbols.push((__start, __Symbol::Ntmodel(__nt), __end)); - 17 - } - 56 => { - // model = "model", identifier, component_declaration+, "equation", connect_clause+, "end", identifier, ";" => ActionFn(69); - let __sym7 = __pop_Term_22_3b_22(__symbols); - let __sym6 = __pop_Ntidentifier(__symbols); - let __sym5 = __pop_Term_22end_22(__symbols); - let __sym4 = __pop_Ntconnect__clause_2b(__symbols); - let __sym3 = __pop_Term_22equation_22(__symbols); - let __sym2 = __pop_Ntcomponent__declaration_2b(__symbols); - let __sym1 = __pop_Ntidentifier(__symbols); - let __sym0 = __pop_Term_22model_22(__symbols); - let __start = __sym0.0.clone(); - let __end = __sym7.2.clone(); - let __nt = super::__action69::<>(input, __sym0, __sym1, __sym2, __sym3, __sym4, __sym5, __sym6, __sym7); - let __states_len = __states.len(); - __states.truncate(__states_len - 8); - __symbols.push((__start, __Symbol::Ntmodel(__nt), __end)); - 17 - } - 57 => { - // model = "model", identifier, component_declaration+, "equation", connect_clause+, simple_equation+, "end", identifier, ";" => ActionFn(70); - let __sym8 = __pop_Term_22_3b_22(__symbols); - let __sym7 = __pop_Ntidentifier(__symbols); - let __sym6 = __pop_Term_22end_22(__symbols); - let __sym5 = __pop_Ntsimple__equation_2b(__symbols); - let __sym4 = __pop_Ntconnect__clause_2b(__symbols); - let __sym3 = __pop_Term_22equation_22(__symbols); - let __sym2 = __pop_Ntcomponent__declaration_2b(__symbols); - let __sym1 = __pop_Ntidentifier(__symbols); - let __sym0 = __pop_Term_22model_22(__symbols); - let __start = __sym0.0.clone(); - let __end = __sym8.2.clone(); - let __nt = super::__action70::<>(input, __sym0, __sym1, __sym2, __sym3, __sym4, __sym5, __sym6, __sym7, __sym8); - let __states_len = __states.len(); - __states.truncate(__states_len - 9); - __symbols.push((__start, __Symbol::Ntmodel(__nt), __end)); - 17 - } - 58 => { - // simple_equation = expr, "=", expr, ";" => ActionFn(19); - let __sym3 = __pop_Term_22_3b_22(__symbols); - let __sym2 = __pop_Ntexpr(__symbols); - let __sym1 = __pop_Term_22_3d_22(__symbols); - let __sym0 = __pop_Ntexpr(__symbols); - let __start = __sym0.0.clone(); - let __end = __sym3.2.clone(); - let __nt = super::__action19::<>(input, __sym0, __sym1, __sym2, __sym3); - let __states_len = __states.len(); - __states.truncate(__states_len - 4); - __symbols.push((__start, __Symbol::Ntsimple__equation(__nt), __end)); - 18 - } - 59 => { - // simple_equation* = => ActionFn(43); - 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::__action43::<>(input, &__start, &__end); - let __states_len = __states.len(); - __states.truncate(__states_len - 0); - __symbols.push((__start, __Symbol::Ntsimple__equation_2a(__nt), __end)); - 19 - } - 60 => { - // simple_equation* = simple_equation+ => ActionFn(44); - let __sym0 = __pop_Ntsimple__equation_2b(__symbols); - let __start = __sym0.0.clone(); - let __end = __sym0.2.clone(); - let __nt = super::__action44::<>(input, __sym0); - let __states_len = __states.len(); - __states.truncate(__states_len - 1); - __symbols.push((__start, __Symbol::Ntsimple__equation_2a(__nt), __end)); - 19 - } - 61 => { - // simple_equation+ = simple_equation => ActionFn(53); - let __sym0 = __pop_Ntsimple__equation(__symbols); - let __start = __sym0.0.clone(); - let __end = __sym0.2.clone(); - let __nt = super::__action53::<>(input, __sym0); - let __states_len = __states.len(); - __states.truncate(__states_len - 1); - __symbols.push((__start, __Symbol::Ntsimple__equation_2b(__nt), __end)); - 20 - } - 62 => { - // simple_equation+ = simple_equation+, simple_equation => ActionFn(54); - let __sym1 = __pop_Ntsimple__equation(__symbols); - let __sym0 = __pop_Ntsimple__equation_2b(__symbols); - let __start = __sym0.0.clone(); - let __end = __sym1.2.clone(); - let __nt = super::__action54::<>(input, __sym0, __sym1); - let __states_len = __states.len(); - __states.truncate(__states_len - 2); - __symbols.push((__start, __Symbol::Ntsimple__equation_2b(__nt), __end)); - 20 - } - 63 => { - // string_literal = r#"\"[^\"\\\\]*\""# => ActionFn(5); - let __sym0 = __pop_Termr_23_22_5c_22_5b_5e_5c_22_5c_5c_5c_5c_5d_2a_5c_22_22_23(__symbols); - let __start = __sym0.0.clone(); - let __end = __sym0.2.clone(); - let __nt = super::__action5::<>(input, __sym0); - let __states_len = __states.len(); - __states.truncate(__states_len - 1); - __symbols.push((__start, __Symbol::Ntstring__literal(__nt), __end)); - 21 - } - 64 => { - // string_literal? = string_literal => ActionFn(35); - let __sym0 = __pop_Ntstring__literal(__symbols); - let __start = __sym0.0.clone(); - let __end = __sym0.2.clone(); - let __nt = super::__action35::<>(input, __sym0); - let __states_len = __states.len(); - __states.truncate(__states_len - 1); - __symbols.push((__start, __Symbol::Ntstring__literal_3f(__nt), __end)); - 22 - } - 65 => { - // string_literal? = => ActionFn(36); - 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::__action36::<>(input, &__start, &__end); - let __states_len = __states.len(); - __states.truncate(__states_len - 0); - __symbols.push((__start, __Symbol::Ntstring__literal_3f(__nt), __end)); - 22 - } - 66 => { - // term = integer => ActionFn(29); - let __sym0 = __pop_Ntinteger(__symbols); - let __start = __sym0.0.clone(); - let __end = __sym0.2.clone(); - let __nt = super::__action29::<>(input, __sym0); - let __states_len = __states.len(); - __states.truncate(__states_len - 1); - __symbols.push((__start, __Symbol::Ntterm(__nt), __end)); - 23 - } - 67 => { - // term = float => ActionFn(30); - let __sym0 = __pop_Ntfloat(__symbols); - let __start = __sym0.0.clone(); - let __end = __sym0.2.clone(); - let __nt = super::__action30::<>(input, __sym0); - let __states_len = __states.len(); - __states.truncate(__states_len - 1); - __symbols.push((__start, __Symbol::Ntterm(__nt), __end)); - 23 - } - 68 => { - // term = identifier => ActionFn(31); - let __sym0 = __pop_Ntidentifier(__symbols); - let __start = __sym0.0.clone(); - let __end = __sym0.2.clone(); - let __nt = super::__action31::<>(input, __sym0); - let __states_len = __states.len(); - __states.truncate(__states_len - 1); - __symbols.push((__start, __Symbol::Ntterm(__nt), __end)); - 23 - } - 69 => { - // term = "der", "(", expr, ")" => ActionFn(32); - let __sym3 = __pop_Term_22_29_22(__symbols); - let __sym2 = __pop_Ntexpr(__symbols); - let __sym1 = __pop_Term_22_28_22(__symbols); - let __sym0 = __pop_Term_22der_22(__symbols); - let __start = __sym0.0.clone(); - let __end = __sym3.2.clone(); - let __nt = super::__action32::<>(input, __sym0, __sym1, __sym2, __sym3); - let __states_len = __states.len(); - __states.truncate(__states_len - 4); - __symbols.push((__start, __Symbol::Ntterm(__nt), __end)); - 23 - } - 70 => { - // term = "abs", "(", expr, ")" => ActionFn(33); - let __sym3 = __pop_Term_22_29_22(__symbols); - let __sym2 = __pop_Ntexpr(__symbols); - let __sym1 = __pop_Term_22_28_22(__symbols); - let __sym0 = __pop_Term_22abs_22(__symbols); - let __start = __sym0.0.clone(); - let __end = __sym3.2.clone(); - let __nt = super::__action33::<>(input, __sym0, __sym1, __sym2, __sym3); - let __states_len = __states.len(); - __states.truncate(__states_len - 4); - __symbols.push((__start, __Symbol::Ntterm(__nt), __end)); - 23 - } - 71 => { - // term = "(", expr, ")" => ActionFn(34); - let __sym2 = __pop_Term_22_29_22(__symbols); - let __sym1 = __pop_Ntexpr(__symbols); - let __sym0 = __pop_Term_22_28_22(__symbols); - let __start = __sym0.0.clone(); - let __end = __sym2.2.clone(); - let __nt = super::__action34::<>(input, __sym0, __sym1, __sym2); - let __states_len = __states.len(); - __states.truncate(__states_len - 3); - __symbols.push((__start, __Symbol::Ntterm(__nt), __end)); - 23 - } - 72 => { - // units_declaration = "(", "unit", "=", string_literal, ")" => ActionFn(10); - let __sym4 = __pop_Term_22_29_22(__symbols); - let __sym3 = __pop_Ntstring__literal(__symbols); - let __sym2 = __pop_Term_22_3d_22(__symbols); - let __sym1 = __pop_Term_22unit_22(__symbols); - let __sym0 = __pop_Term_22_28_22(__symbols); - let __start = __sym0.0.clone(); - let __end = __sym4.2.clone(); - let __nt = super::__action10::<>(input, __sym0, __sym1, __sym2, __sym3, __sym4); - let __states_len = __states.len(); - __states.truncate(__states_len - 5); - __symbols.push((__start, __Symbol::Ntunits__declaration(__nt), __end)); - 24 - } - 73 => { - // units_declaration? = units_declaration => ActionFn(39); - let __sym0 = __pop_Ntunits__declaration(__symbols); - let __start = __sym0.0.clone(); - let __end = __sym0.2.clone(); - let __nt = super::__action39::<>(input, __sym0); - let __states_len = __states.len(); - __states.truncate(__states_len - 1); - __symbols.push((__start, __Symbol::Ntunits__declaration_3f(__nt), __end)); - 25 - } - 74 => { - // units_declaration? = => ActionFn(40); - 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::__action40::<>(input, &__start, &__end); - let __states_len = __states.len(); - __states.truncate(__states_len - 0); - __symbols.push((__start, __Symbol::Ntunits__declaration_3f(__nt), __end)); - 25 - } - 75 => { - // value_declaration = "=", expr => ActionFn(9); - let __sym1 = __pop_Ntexpr(__symbols); - let __sym0 = __pop_Term_22_3d_22(__symbols); - let __start = __sym0.0.clone(); - let __end = __sym1.2.clone(); - let __nt = super::__action9::<>(input, __sym0, __sym1); - let __states_len = __states.len(); - __states.truncate(__states_len - 2); - __symbols.push((__start, __Symbol::Ntvalue__declaration(__nt), __end)); - 26 - } - 76 => { - // value_declaration? = value_declaration => ActionFn(37); - let __sym0 = __pop_Ntvalue__declaration(__symbols); - let __start = __sym0.0.clone(); - let __end = __sym0.2.clone(); - let __nt = super::__action37::<>(input, __sym0); - let __states_len = __states.len(); - __states.truncate(__states_len - 1); - __symbols.push((__start, __Symbol::Ntvalue__declaration_3f(__nt), __end)); - 27 - } - 77 => { - // value_declaration? = => ActionFn(38); - 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::__action38::<>(input, &__start, &__end); - let __states_len = __states.len(); - __states.truncate(__states_len - 0); - __symbols.push((__start, __Symbol::Ntvalue__declaration_3f(__nt), __end)); - 27 - } - _ => panic!("invalid action code {}", __action) - }; - let __state = *__states.last().unwrap() as usize; - let __next_state = __GOTO[__state * 28 + __nonterminal] - 1; - __states.push(__next_state); - None - } - fn __pop_Term_22_28_22< - 'input, - >( - __symbols: &mut ::std::vec::Vec<(usize,__Symbol<'input>,usize)> - ) -> (usize, &'input str, usize) { - match __symbols.pop().unwrap() { - (__l, __Symbol::Term_22_28_22(__v), __r) => (__l, __v, __r), - _ => panic!("symbol type mismatch") - } - } - fn __pop_Term_22_29_22< - 'input, - >( - __symbols: &mut ::std::vec::Vec<(usize,__Symbol<'input>,usize)> - ) -> (usize, &'input str, usize) { - match __symbols.pop().unwrap() { - (__l, __Symbol::Term_22_29_22(__v), __r) => (__l, __v, __r), - _ => panic!("symbol type mismatch") - } - } - fn __pop_Term_22_2a_22< - 'input, - >( - __symbols: &mut ::std::vec::Vec<(usize,__Symbol<'input>,usize)> - ) -> (usize, &'input str, usize) { - match __symbols.pop().unwrap() { - (__l, __Symbol::Term_22_2a_22(__v), __r) => (__l, __v, __r), - _ => panic!("symbol type mismatch") - } - } - fn __pop_Term_22_2b_22< - 'input, - >( - __symbols: &mut ::std::vec::Vec<(usize,__Symbol<'input>,usize)> - ) -> (usize, &'input str, usize) { - match __symbols.pop().unwrap() { - (__l, __Symbol::Term_22_2b_22(__v), __r) => (__l, __v, __r), - _ => panic!("symbol type mismatch") - } - } - fn __pop_Term_22_2c_22< - 'input, - >( - __symbols: &mut ::std::vec::Vec<(usize,__Symbol<'input>,usize)> - ) -> (usize, &'input str, usize) { - match __symbols.pop().unwrap() { - (__l, __Symbol::Term_22_2c_22(__v), __r) => (__l, __v, __r), - _ => panic!("symbol type mismatch") - } - } - fn __pop_Term_22_2d_22< - 'input, - >( - __symbols: &mut ::std::vec::Vec<(usize,__Symbol<'input>,usize)> - ) -> (usize, &'input str, usize) { - match __symbols.pop().unwrap() { - (__l, __Symbol::Term_22_2d_22(__v), __r) => (__l, __v, __r), - _ => panic!("symbol type mismatch") - } - } - fn __pop_Term_22_2f_22< - 'input, - >( - __symbols: &mut ::std::vec::Vec<(usize,__Symbol<'input>,usize)> - ) -> (usize, &'input str, usize) { - match __symbols.pop().unwrap() { - (__l, __Symbol::Term_22_2f_22(__v), __r) => (__l, __v, __r), - _ => panic!("symbol type mismatch") - } - } - fn __pop_Term_22_3b_22< - 'input, - >( - __symbols: &mut ::std::vec::Vec<(usize,__Symbol<'input>,usize)> - ) -> (usize, &'input str, usize) { - match __symbols.pop().unwrap() { - (__l, __Symbol::Term_22_3b_22(__v), __r) => (__l, __v, __r), - _ => panic!("symbol type mismatch") - } - } - fn __pop_Term_22_3d_22< - 'input, - >( - __symbols: &mut ::std::vec::Vec<(usize,__Symbol<'input>,usize)> - ) -> (usize, &'input str, usize) { - match __symbols.pop().unwrap() { - (__l, __Symbol::Term_22_3d_22(__v), __r) => (__l, __v, __r), - _ => panic!("symbol type mismatch") - } - } - fn __pop_Term_22_5e_22< - 'input, - >( - __symbols: &mut ::std::vec::Vec<(usize,__Symbol<'input>,usize)> - ) -> (usize, &'input str, usize) { - match __symbols.pop().unwrap() { - (__l, __Symbol::Term_22_5e_22(__v), __r) => (__l, __v, __r), - _ => panic!("symbol type mismatch") - } - } - fn __pop_Term_22abs_22< - 'input, - >( - __symbols: &mut ::std::vec::Vec<(usize,__Symbol<'input>,usize)> - ) -> (usize, &'input str, usize) { - match __symbols.pop().unwrap() { - (__l, __Symbol::Term_22abs_22(__v), __r) => (__l, __v, __r), - _ => panic!("symbol type mismatch") - } - } - fn __pop_Term_22connect_22< - 'input, - >( - __symbols: &mut ::std::vec::Vec<(usize,__Symbol<'input>,usize)> - ) -> (usize, &'input str, usize) { - match __symbols.pop().unwrap() { - (__l, __Symbol::Term_22connect_22(__v), __r) => (__l, __v, __r), - _ => panic!("symbol type mismatch") - } - } - fn __pop_Term_22constant_22< - 'input, - >( - __symbols: &mut ::std::vec::Vec<(usize,__Symbol<'input>,usize)> - ) -> (usize, &'input str, usize) { - match __symbols.pop().unwrap() { - (__l, __Symbol::Term_22constant_22(__v), __r) => (__l, __v, __r), - _ => panic!("symbol type mismatch") - } - } - fn __pop_Term_22der_22< - 'input, - >( - __symbols: &mut ::std::vec::Vec<(usize,__Symbol<'input>,usize)> - ) -> (usize, &'input str, usize) { - match __symbols.pop().unwrap() { - (__l, __Symbol::Term_22der_22(__v), __r) => (__l, __v, __r), - _ => panic!("symbol type mismatch") - } - } - fn __pop_Term_22discrete_22< - 'input, - >( - __symbols: &mut ::std::vec::Vec<(usize,__Symbol<'input>,usize)> - ) -> (usize, &'input str, usize) { - match __symbols.pop().unwrap() { - (__l, __Symbol::Term_22discrete_22(__v), __r) => (__l, __v, __r), - _ => panic!("symbol type mismatch") - } - } - fn __pop_Term_22end_22< - 'input, - >( - __symbols: &mut ::std::vec::Vec<(usize,__Symbol<'input>,usize)> - ) -> (usize, &'input str, usize) { - match __symbols.pop().unwrap() { - (__l, __Symbol::Term_22end_22(__v), __r) => (__l, __v, __r), - _ => panic!("symbol type mismatch") - } - } - fn __pop_Term_22equation_22< - 'input, - >( - __symbols: &mut ::std::vec::Vec<(usize,__Symbol<'input>,usize)> - ) -> (usize, &'input str, usize) { - match __symbols.pop().unwrap() { - (__l, __Symbol::Term_22equation_22(__v), __r) => (__l, __v, __r), - _ => panic!("symbol type mismatch") - } - } - fn __pop_Term_22flow_22< - 'input, - >( - __symbols: &mut ::std::vec::Vec<(usize,__Symbol<'input>,usize)> - ) -> (usize, &'input str, usize) { - match __symbols.pop().unwrap() { - (__l, __Symbol::Term_22flow_22(__v), __r) => (__l, __v, __r), - _ => panic!("symbol type mismatch") - } - } - fn __pop_Term_22input_22< - 'input, - >( - __symbols: &mut ::std::vec::Vec<(usize,__Symbol<'input>,usize)> - ) -> (usize, &'input str, usize) { - match __symbols.pop().unwrap() { - (__l, __Symbol::Term_22input_22(__v), __r) => (__l, __v, __r), - _ => panic!("symbol type mismatch") - } - } - fn __pop_Term_22model_22< - 'input, - >( - __symbols: &mut ::std::vec::Vec<(usize,__Symbol<'input>,usize)> - ) -> (usize, &'input str, usize) { - match __symbols.pop().unwrap() { - (__l, __Symbol::Term_22model_22(__v), __r) => (__l, __v, __r), - _ => panic!("symbol type mismatch") - } - } - fn __pop_Term_22output_22< - 'input, - >( - __symbols: &mut ::std::vec::Vec<(usize,__Symbol<'input>,usize)> - ) -> (usize, &'input str, usize) { - match __symbols.pop().unwrap() { - (__l, __Symbol::Term_22output_22(__v), __r) => (__l, __v, __r), - _ => panic!("symbol type mismatch") - } - } - fn __pop_Term_22parameter_22< - 'input, - >( - __symbols: &mut ::std::vec::Vec<(usize,__Symbol<'input>,usize)> - ) -> (usize, &'input str, usize) { - match __symbols.pop().unwrap() { - (__l, __Symbol::Term_22parameter_22(__v), __r) => (__l, __v, __r), - _ => panic!("symbol type mismatch") - } - } - fn __pop_Term_22stream_22< - 'input, - >( - __symbols: &mut ::std::vec::Vec<(usize,__Symbol<'input>,usize)> - ) -> (usize, &'input str, usize) { - match __symbols.pop().unwrap() { - (__l, __Symbol::Term_22stream_22(__v), __r) => (__l, __v, __r), - _ => panic!("symbol type mismatch") - } - } - fn __pop_Term_22unit_22< - 'input, - >( - __symbols: &mut ::std::vec::Vec<(usize,__Symbol<'input>,usize)> - ) -> (usize, &'input str, usize) { - match __symbols.pop().unwrap() { - (__l, __Symbol::Term_22unit_22(__v), __r) => (__l, __v, __r), - _ => panic!("symbol type mismatch") - } - } - fn __pop_Termr_23_22_5c_22_5b_5e_5c_22_5c_5c_5c_5c_5d_2a_5c_22_22_23< - 'input, - >( - __symbols: &mut ::std::vec::Vec<(usize,__Symbol<'input>,usize)> - ) -> (usize, &'input str, usize) { - match __symbols.pop().unwrap() { - (__l, __Symbol::Termr_23_22_5c_22_5b_5e_5c_22_5c_5c_5c_5c_5d_2a_5c_22_22_23(__v), __r) => (__l, __v, __r), - _ => panic!("symbol type mismatch") - } - } - fn __pop_Termr_23_22_5b_2b_2d_5d_3f_5c_5cd_2b_22_23< - 'input, - >( - __symbols: &mut ::std::vec::Vec<(usize,__Symbol<'input>,usize)> - ) -> (usize, &'input str, usize) { - match __symbols.pop().unwrap() { - (__l, __Symbol::Termr_23_22_5b_2b_2d_5d_3f_5c_5cd_2b_22_23(__v), __r) => (__l, __v, __r), - _ => panic!("symbol type mismatch") - } - } - fn __pop_Termr_23_22_5b_2b_2d_5d_3f_5c_5cd_2b_5c_5c_2e_5c_5cd_2a_28_5beE_5d_5b_2d_2b_5d_3f_5c_5cd_2b_29_3f_22_23< - 'input, - >( - __symbols: &mut ::std::vec::Vec<(usize,__Symbol<'input>,usize)> - ) -> (usize, &'input str, usize) { - match __symbols.pop().unwrap() { - (__l, __Symbol::Termr_23_22_5b_2b_2d_5d_3f_5c_5cd_2b_5c_5c_2e_5c_5cd_2a_28_5beE_5d_5b_2d_2b_5d_3f_5c_5cd_2b_29_3f_22_23(__v), __r) => (__l, __v, __r), - _ => panic!("symbol type mismatch") - } - } - fn __pop_Termr_23_22_5ba_2dzA_2dZ___5d_5ba_2dzA_2dZ__0_2d9_5d_2a_22_23< - 'input, - >( - __symbols: &mut ::std::vec::Vec<(usize,__Symbol<'input>,usize)> - ) -> (usize, &'input str, usize) { - match __symbols.pop().unwrap() { - (__l, __Symbol::Termr_23_22_5ba_2dzA_2dZ___5d_5ba_2dzA_2dZ__0_2d9_5d_2a_22_23(__v), __r) => (__l, __v, __r), - _ => panic!("symbol type mismatch") - } - } - fn __pop_Termerror< - 'input, - >( - __symbols: &mut ::std::vec::Vec<(usize,__Symbol<'input>,usize)> - ) -> (usize, __lalrpop_util::ErrorRecovery, usize) { - match __symbols.pop().unwrap() { - (__l, __Symbol::Termerror(__v), __r) => (__l, __v, __r), - _ => panic!("symbol type mismatch") - } - } - fn __pop_Nt____float< - 'input, - >( - __symbols: &mut ::std::vec::Vec<(usize,__Symbol<'input>,usize)> - ) -> (usize, f64, usize) { - match __symbols.pop().unwrap() { - (__l, __Symbol::Nt____float(__v), __r) => (__l, __v, __r), - _ => panic!("symbol type mismatch") - } - } - fn __pop_Nt____identifier< - 'input, - >( - __symbols: &mut ::std::vec::Vec<(usize,__Symbol<'input>,usize)> - ) -> (usize, String, usize) { - match __symbols.pop().unwrap() { - (__l, __Symbol::Nt____identifier(__v), __r) => (__l, __v, __r), - _ => panic!("symbol type mismatch") - } - } - fn __pop_Nt____integer< - 'input, - >( - __symbols: &mut ::std::vec::Vec<(usize,__Symbol<'input>,usize)> - ) -> (usize, i64, usize) { - match __symbols.pop().unwrap() { - (__l, __Symbol::Nt____integer(__v), __r) => (__l, __v, __r), - _ => panic!("symbol type mismatch") - } - } - fn __pop_Nt____model< - 'input, - >( - __symbols: &mut ::std::vec::Vec<(usize,__Symbol<'input>,usize)> - ) -> (usize, ModelicaModel, usize) { - match __symbols.pop().unwrap() { - (__l, __Symbol::Nt____model(__v), __r) => (__l, __v, __r), - _ => panic!("symbol type mismatch") - } - } - fn __pop_Ntcomponent__declaration< - 'input, - >( - __symbols: &mut ::std::vec::Vec<(usize,__Symbol<'input>,usize)> - ) -> (usize, Component, usize) { - match __symbols.pop().unwrap() { - (__l, __Symbol::Ntcomponent__declaration(__v), __r) => (__l, __v, __r), - _ => panic!("symbol type mismatch") - } - } - fn __pop_Ntcomponent__declaration_2a< - 'input, - >( - __symbols: &mut ::std::vec::Vec<(usize,__Symbol<'input>,usize)> - ) -> (usize, ::std::vec::Vec, usize) { - match __symbols.pop().unwrap() { - (__l, __Symbol::Ntcomponent__declaration_2a(__v), __r) => (__l, __v, __r), - _ => panic!("symbol type mismatch") - } - } - fn __pop_Ntcomponent__declaration_2b< - 'input, - >( - __symbols: &mut ::std::vec::Vec<(usize,__Symbol<'input>,usize)> - ) -> (usize, ::std::vec::Vec, usize) { - match __symbols.pop().unwrap() { - (__l, __Symbol::Ntcomponent__declaration_2b(__v), __r) => (__l, __v, __r), - _ => panic!("symbol type mismatch") - } - } - fn __pop_Ntcomponent__prefix< - 'input, - >( - __symbols: &mut ::std::vec::Vec<(usize,__Symbol<'input>,usize)> - ) -> (usize, ComponentPrefix, usize) { - match __symbols.pop().unwrap() { - (__l, __Symbol::Ntcomponent__prefix(__v), __r) => (__l, __v, __r), - _ => panic!("symbol type mismatch") - } - } - fn __pop_Ntcomponent__prefix_3f< - 'input, - >( - __symbols: &mut ::std::vec::Vec<(usize,__Symbol<'input>,usize)> - ) -> (usize, ::std::option::Option, usize) { - match __symbols.pop().unwrap() { - (__l, __Symbol::Ntcomponent__prefix_3f(__v), __r) => (__l, __v, __r), - _ => panic!("symbol type mismatch") - } - } - fn __pop_Ntconnect__clause< - 'input, - >( - __symbols: &mut ::std::vec::Vec<(usize,__Symbol<'input>,usize)> - ) -> (usize, Connection, usize) { - match __symbols.pop().unwrap() { - (__l, __Symbol::Ntconnect__clause(__v), __r) => (__l, __v, __r), - _ => panic!("symbol type mismatch") - } - } - fn __pop_Ntconnect__clause_2a< - 'input, - >( - __symbols: &mut ::std::vec::Vec<(usize,__Symbol<'input>,usize)> - ) -> (usize, ::std::vec::Vec, usize) { - match __symbols.pop().unwrap() { - (__l, __Symbol::Ntconnect__clause_2a(__v), __r) => (__l, __v, __r), - _ => panic!("symbol type mismatch") - } - } - fn __pop_Ntconnect__clause_2b< - 'input, - >( - __symbols: &mut ::std::vec::Vec<(usize,__Symbol<'input>,usize)> - ) -> (usize, ::std::vec::Vec, usize) { - match __symbols.pop().unwrap() { - (__l, __Symbol::Ntconnect__clause_2b(__v), __r) => (__l, __v, __r), - _ => panic!("symbol type mismatch") - } - } - fn __pop_Ntexpr< - 'input, - >( - __symbols: &mut ::std::vec::Vec<(usize,__Symbol<'input>,usize)> - ) -> (usize, Expr, usize) { - match __symbols.pop().unwrap() { - (__l, __Symbol::Ntexpr(__v), __r) => (__l, __v, __r), - _ => panic!("symbol type mismatch") - } - } - fn __pop_Ntfactor< - 'input, - >( - __symbols: &mut ::std::vec::Vec<(usize,__Symbol<'input>,usize)> - ) -> (usize, Expr, usize) { - match __symbols.pop().unwrap() { - (__l, __Symbol::Ntfactor(__v), __r) => (__l, __v, __r), - _ => panic!("symbol type mismatch") - } - } - fn __pop_Ntfloat< - 'input, - >( - __symbols: &mut ::std::vec::Vec<(usize,__Symbol<'input>,usize)> - ) -> (usize, f64, usize) { - match __symbols.pop().unwrap() { - (__l, __Symbol::Ntfloat(__v), __r) => (__l, __v, __r), - _ => panic!("symbol type mismatch") - } - } - fn __pop_Ntidentifier< - 'input, - >( - __symbols: &mut ::std::vec::Vec<(usize,__Symbol<'input>,usize)> - ) -> (usize, String, usize) { - match __symbols.pop().unwrap() { - (__l, __Symbol::Ntidentifier(__v), __r) => (__l, __v, __r), - _ => panic!("symbol type mismatch") - } - } - fn __pop_Ntinteger< - 'input, - >( - __symbols: &mut ::std::vec::Vec<(usize,__Symbol<'input>,usize)> - ) -> (usize, i64, usize) { - match __symbols.pop().unwrap() { - (__l, __Symbol::Ntinteger(__v), __r) => (__l, __v, __r), - _ => panic!("symbol type mismatch") - } - } - fn __pop_Ntmodel< - 'input, - >( - __symbols: &mut ::std::vec::Vec<(usize,__Symbol<'input>,usize)> - ) -> (usize, ModelicaModel, usize) { - match __symbols.pop().unwrap() { - (__l, __Symbol::Ntmodel(__v), __r) => (__l, __v, __r), - _ => panic!("symbol type mismatch") - } - } - fn __pop_Ntsimple__equation< - 'input, - >( - __symbols: &mut ::std::vec::Vec<(usize,__Symbol<'input>,usize)> - ) -> (usize, SimpleEquation, usize) { - match __symbols.pop().unwrap() { - (__l, __Symbol::Ntsimple__equation(__v), __r) => (__l, __v, __r), - _ => panic!("symbol type mismatch") - } - } - fn __pop_Ntsimple__equation_2a< - 'input, - >( - __symbols: &mut ::std::vec::Vec<(usize,__Symbol<'input>,usize)> - ) -> (usize, ::std::vec::Vec, usize) { - match __symbols.pop().unwrap() { - (__l, __Symbol::Ntsimple__equation_2a(__v), __r) => (__l, __v, __r), - _ => panic!("symbol type mismatch") - } - } - fn __pop_Ntsimple__equation_2b< - 'input, - >( - __symbols: &mut ::std::vec::Vec<(usize,__Symbol<'input>,usize)> - ) -> (usize, ::std::vec::Vec, usize) { - match __symbols.pop().unwrap() { - (__l, __Symbol::Ntsimple__equation_2b(__v), __r) => (__l, __v, __r), - _ => panic!("symbol type mismatch") - } - } - fn __pop_Ntstring__literal< - 'input, - >( - __symbols: &mut ::std::vec::Vec<(usize,__Symbol<'input>,usize)> - ) -> (usize, String, usize) { - match __symbols.pop().unwrap() { - (__l, __Symbol::Ntstring__literal(__v), __r) => (__l, __v, __r), - _ => panic!("symbol type mismatch") - } - } - fn __pop_Ntstring__literal_3f< - 'input, - >( - __symbols: &mut ::std::vec::Vec<(usize,__Symbol<'input>,usize)> - ) -> (usize, ::std::option::Option, usize) { - match __symbols.pop().unwrap() { - (__l, __Symbol::Ntstring__literal_3f(__v), __r) => (__l, __v, __r), - _ => panic!("symbol type mismatch") - } - } - fn __pop_Ntterm< - 'input, - >( - __symbols: &mut ::std::vec::Vec<(usize,__Symbol<'input>,usize)> - ) -> (usize, Expr, usize) { - match __symbols.pop().unwrap() { - (__l, __Symbol::Ntterm(__v), __r) => (__l, __v, __r), - _ => panic!("symbol type mismatch") - } - } - fn __pop_Ntunits__declaration< - 'input, - >( - __symbols: &mut ::std::vec::Vec<(usize,__Symbol<'input>,usize)> - ) -> (usize, String, usize) { - match __symbols.pop().unwrap() { - (__l, __Symbol::Ntunits__declaration(__v), __r) => (__l, __v, __r), - _ => panic!("symbol type mismatch") - } - } - fn __pop_Ntunits__declaration_3f< - 'input, - >( - __symbols: &mut ::std::vec::Vec<(usize,__Symbol<'input>,usize)> - ) -> (usize, ::std::option::Option, usize) { - match __symbols.pop().unwrap() { - (__l, __Symbol::Ntunits__declaration_3f(__v), __r) => (__l, __v, __r), - _ => panic!("symbol type mismatch") - } - } - fn __pop_Ntvalue__declaration< - 'input, - >( - __symbols: &mut ::std::vec::Vec<(usize,__Symbol<'input>,usize)> - ) -> (usize, Expr, usize) { - match __symbols.pop().unwrap() { - (__l, __Symbol::Ntvalue__declaration(__v), __r) => (__l, __v, __r), - _ => panic!("symbol type mismatch") - } - } - fn __pop_Ntvalue__declaration_3f< - 'input, - >( - __symbols: &mut ::std::vec::Vec<(usize,__Symbol<'input>,usize)> - ) -> (usize, ::std::option::Option, usize) { - match __symbols.pop().unwrap() { - (__l, __Symbol::Ntvalue__declaration_3f(__v), __r) => (__l, __v, __r), - _ => panic!("symbol type mismatch") - } - } -} -pub use self::__parse__float::parse_float; - -mod __parse__identifier { - #![allow(non_snake_case, non_camel_case_types, unused_mut, unused_variables, unused_imports)] - - use std::str::FromStr; - use modelica_ast::{ModelicaModel,Component, ComponentPrefix, Connection, - SimpleEquation, Expr, BinOperator}; - extern crate lalrpop_util as __lalrpop_util; - #[allow(dead_code)] - pub enum __Symbol<'input> { - Term_22_28_22(&'input str), - Term_22_29_22(&'input str), - Term_22_2a_22(&'input str), - Term_22_2b_22(&'input str), - Term_22_2c_22(&'input str), - Term_22_2d_22(&'input str), - Term_22_2f_22(&'input str), - Term_22_3b_22(&'input str), - Term_22_3d_22(&'input str), - Term_22_5e_22(&'input str), - Term_22abs_22(&'input str), - Term_22connect_22(&'input str), - Term_22constant_22(&'input str), - Term_22der_22(&'input str), - Term_22discrete_22(&'input str), - Term_22end_22(&'input str), - Term_22equation_22(&'input str), - Term_22flow_22(&'input str), - Term_22input_22(&'input str), - Term_22model_22(&'input str), - Term_22output_22(&'input str), - Term_22parameter_22(&'input str), - Term_22stream_22(&'input str), - Term_22unit_22(&'input str), - Termr_23_22_5c_22_5b_5e_5c_22_5c_5c_5c_5c_5d_2a_5c_22_22_23(&'input str), - Termr_23_22_5b_2b_2d_5d_3f_5c_5cd_2b_22_23(&'input str), - Termr_23_22_5b_2b_2d_5d_3f_5c_5cd_2b_5c_5c_2e_5c_5cd_2a_28_5beE_5d_5b_2d_2b_5d_3f_5c_5cd_2b_29_3f_22_23(&'input str), - Termr_23_22_5ba_2dzA_2dZ___5d_5ba_2dzA_2dZ__0_2d9_5d_2a_22_23(&'input str), - Termerror(__lalrpop_util::ErrorRecovery), - Nt____float(f64), - Nt____identifier(String), - Nt____integer(i64), - Nt____model(ModelicaModel), - Ntcomponent__declaration(Component), - Ntcomponent__declaration_2a(::std::vec::Vec), - Ntcomponent__declaration_2b(::std::vec::Vec), - Ntcomponent__prefix(ComponentPrefix), - Ntcomponent__prefix_3f(::std::option::Option), - Ntconnect__clause(Connection), - Ntconnect__clause_2a(::std::vec::Vec), - Ntconnect__clause_2b(::std::vec::Vec), - Ntexpr(Expr), - Ntfactor(Expr), - Ntfloat(f64), - Ntidentifier(String), - Ntinteger(i64), - Ntmodel(ModelicaModel), - Ntsimple__equation(SimpleEquation), - Ntsimple__equation_2a(::std::vec::Vec), - Ntsimple__equation_2b(::std::vec::Vec), - Ntstring__literal(String), - Ntstring__literal_3f(::std::option::Option), - Ntterm(Expr), - Ntunits__declaration(String), - Ntunits__declaration_3f(::std::option::Option), - Ntvalue__declaration(Expr), - Ntvalue__declaration_3f(::std::option::Option), - } - const __ACTION: &'static [i32] = &[ - // State 0 - 0, 0, 0, 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, - // State 1 - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - // State 2 - 0, 0, 0, 0, 0, 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 __EOF_ACTION: &'static [i32] = &[ - 0, - -2, - -48, - ]; - const __GOTO: &'static [i32] = &[ - // State 0 - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - // State 1 - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - // State 2 - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - ]; - pub fn parse_identifier< - 'input, - >( - input: &'input str, - ) -> Result> - { - let mut __tokens = super::__intern_token::__Matcher::new(input); - let mut __states = vec![0_i32]; - let mut __symbols = vec![]; - let mut __integer; - let mut __lookahead; - let mut __last_location = 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 { - (0, _) if true => 0, - (1, _) if true => 1, - (2, _) if true => 2, - (3, _) if true => 3, - (4, _) if true => 4, - (5, _) if true => 5, - (6, _) if true => 6, - (7, _) if true => 7, - (8, _) if true => 8, - (9, _) if true => 9, - (10, _) if true => 10, - (11, _) if true => 11, - (12, _) if true => 12, - (13, _) if true => 13, - (14, _) if true => 14, - (15, _) if true => 15, - (16, _) if true => 16, - (17, _) if true => 17, - (18, _) if true => 18, - (19, _) if true => 19, - (20, _) if true => 20, - (21, _) if true => 21, - (22, _) if true => 22, - (23, _) if true => 23, - (24, _) if true => 24, - (25, _) if true => 25, - (26, _) if true => 26, - (27, _) if true => 27, - _ => { - return Err(__lalrpop_util::ParseError::UnrecognizedToken { - token: Some(__lookahead), - expected: vec![], - }); - } - }; - '__inner: loop { - let __state = *__states.last().unwrap() as usize; - let __action = __ACTION[__state * 29 + __integer]; - if __action > 0 { - let __symbol = match __integer { - 0 => match __lookahead.1 { - (0, __tok0) => __Symbol::Term_22_28_22(__tok0), - _ => unreachable!(), - }, - 1 => match __lookahead.1 { - (1, __tok0) => __Symbol::Term_22_29_22(__tok0), - _ => unreachable!(), - }, - 2 => match __lookahead.1 { - (2, __tok0) => __Symbol::Term_22_2a_22(__tok0), - _ => unreachable!(), - }, - 3 => match __lookahead.1 { - (3, __tok0) => __Symbol::Term_22_2b_22(__tok0), - _ => unreachable!(), - }, - 4 => match __lookahead.1 { - (4, __tok0) => __Symbol::Term_22_2c_22(__tok0), - _ => unreachable!(), - }, - 5 => match __lookahead.1 { - (5, __tok0) => __Symbol::Term_22_2d_22(__tok0), - _ => unreachable!(), - }, - 6 => match __lookahead.1 { - (6, __tok0) => __Symbol::Term_22_2f_22(__tok0), - _ => unreachable!(), - }, - 7 => match __lookahead.1 { - (7, __tok0) => __Symbol::Term_22_3b_22(__tok0), - _ => unreachable!(), - }, - 8 => match __lookahead.1 { - (8, __tok0) => __Symbol::Term_22_3d_22(__tok0), - _ => unreachable!(), - }, - 9 => match __lookahead.1 { - (9, __tok0) => __Symbol::Term_22_5e_22(__tok0), - _ => unreachable!(), - }, - 10 => match __lookahead.1 { - (10, __tok0) => __Symbol::Term_22abs_22(__tok0), - _ => unreachable!(), - }, - 11 => match __lookahead.1 { - (11, __tok0) => __Symbol::Term_22connect_22(__tok0), - _ => unreachable!(), - }, - 12 => match __lookahead.1 { - (12, __tok0) => __Symbol::Term_22constant_22(__tok0), - _ => unreachable!(), - }, - 13 => match __lookahead.1 { - (13, __tok0) => __Symbol::Term_22der_22(__tok0), - _ => unreachable!(), - }, - 14 => match __lookahead.1 { - (14, __tok0) => __Symbol::Term_22discrete_22(__tok0), - _ => unreachable!(), - }, - 15 => match __lookahead.1 { - (15, __tok0) => __Symbol::Term_22end_22(__tok0), - _ => unreachable!(), - }, - 16 => match __lookahead.1 { - (16, __tok0) => __Symbol::Term_22equation_22(__tok0), - _ => unreachable!(), - }, - 17 => match __lookahead.1 { - (17, __tok0) => __Symbol::Term_22flow_22(__tok0), - _ => unreachable!(), - }, - 18 => match __lookahead.1 { - (18, __tok0) => __Symbol::Term_22input_22(__tok0), - _ => unreachable!(), - }, - 19 => match __lookahead.1 { - (19, __tok0) => __Symbol::Term_22model_22(__tok0), - _ => unreachable!(), - }, - 20 => match __lookahead.1 { - (20, __tok0) => __Symbol::Term_22output_22(__tok0), - _ => unreachable!(), - }, - 21 => match __lookahead.1 { - (21, __tok0) => __Symbol::Term_22parameter_22(__tok0), - _ => unreachable!(), - }, - 22 => match __lookahead.1 { - (22, __tok0) => __Symbol::Term_22stream_22(__tok0), - _ => unreachable!(), - }, - 23 => match __lookahead.1 { - (23, __tok0) => __Symbol::Term_22unit_22(__tok0), - _ => unreachable!(), - }, - 24 => match __lookahead.1 { - (24, __tok0) => __Symbol::Termr_23_22_5c_22_5b_5e_5c_22_5c_5c_5c_5c_5d_2a_5c_22_22_23(__tok0), - _ => unreachable!(), - }, - 25 => match __lookahead.1 { - (25, __tok0) => __Symbol::Termr_23_22_5b_2b_2d_5d_3f_5c_5cd_2b_22_23(__tok0), - _ => unreachable!(), - }, - 26 => match __lookahead.1 { - (26, __tok0) => __Symbol::Termr_23_22_5b_2b_2d_5d_3f_5c_5cd_2b_5c_5c_2e_5c_5cd_2a_28_5beE_5d_5b_2d_2b_5d_3f_5c_5cd_2b_29_3f_22_23(__tok0), - _ => unreachable!(), - }, - 27 => match __lookahead.1 { - (27, __tok0) => __Symbol::Termr_23_22_5ba_2dzA_2dZ___5d_5ba_2dzA_2dZ__0_2d9_5d_2a_22_23(__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::<()>) { - return r; - } - } else { - return Err(__lalrpop_util::ParseError::UnrecognizedToken { - token: Some(__lookahead), - expected: vec![], - }); - } - } - } - 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 __error = __lalrpop_util::ParseError::UnrecognizedToken { - token: None, - expected: vec![], - }; - return Err(__error); - } - } - } - pub fn __reduce< - 'input, - >( - input: &'input str, - __action: i32, - __lookahead_start: Option<&usize>, - __states: &mut ::std::vec::Vec, - __symbols: &mut ::std::vec::Vec<(usize,__Symbol<'input>,usize)>, - _: ::std::marker::PhantomData<()>, - ) -> Option>> - { - let __nonterminal = match -__action { - 1 => { - // __float = float => ActionFn(2); - let __sym0 = __pop_Ntfloat(__symbols); - let __start = __sym0.0.clone(); - let __end = __sym0.2.clone(); - let __nt = super::__action2::<>(input, __sym0); - let __states_len = __states.len(); - __states.truncate(__states_len - 1); - __symbols.push((__start, __Symbol::Nt____float(__nt), __end)); - 0 - } - 2 => { - // __identifier = identifier => ActionFn(0); - let __sym0 = __pop_Ntidentifier(__symbols); - let __start = __sym0.0.clone(); - let __end = __sym0.2.clone(); - let __nt = super::__action0::<>(input, __sym0); - return Some(Ok(__nt)); - } - 3 => { - // __integer = integer => ActionFn(1); - let __sym0 = __pop_Ntinteger(__symbols); - let __start = __sym0.0.clone(); - let __end = __sym0.2.clone(); - let __nt = super::__action1::<>(input, __sym0); - let __states_len = __states.len(); - __states.truncate(__states_len - 1); - __symbols.push((__start, __Symbol::Nt____integer(__nt), __end)); - 2 - } - 4 => { - // __model = model => ActionFn(3); - let __sym0 = __pop_Ntmodel(__symbols); - let __start = __sym0.0.clone(); - let __end = __sym0.2.clone(); - let __nt = super::__action3::<>(input, __sym0); - let __states_len = __states.len(); - __states.truncate(__states_len - 1); - __symbols.push((__start, __Symbol::Nt____model(__nt), __end)); - 3 - } - 5 => { - // component_declaration = component_prefix, identifier, identifier, units_declaration, value_declaration, string_literal, ";" => ActionFn(83); - let __sym6 = __pop_Term_22_3b_22(__symbols); - let __sym5 = __pop_Ntstring__literal(__symbols); - let __sym4 = __pop_Ntvalue__declaration(__symbols); - let __sym3 = __pop_Ntunits__declaration(__symbols); - let __sym2 = __pop_Ntidentifier(__symbols); - let __sym1 = __pop_Ntidentifier(__symbols); - let __sym0 = __pop_Ntcomponent__prefix(__symbols); - let __start = __sym0.0.clone(); - let __end = __sym6.2.clone(); - let __nt = super::__action83::<>(input, __sym0, __sym1, __sym2, __sym3, __sym4, __sym5, __sym6); - let __states_len = __states.len(); - __states.truncate(__states_len - 7); - __symbols.push((__start, __Symbol::Ntcomponent__declaration(__nt), __end)); - 4 - } - 6 => { - // component_declaration = component_prefix, identifier, identifier, units_declaration, string_literal, ";" => ActionFn(84); - let __sym5 = __pop_Term_22_3b_22(__symbols); - let __sym4 = __pop_Ntstring__literal(__symbols); - let __sym3 = __pop_Ntunits__declaration(__symbols); - let __sym2 = __pop_Ntidentifier(__symbols); - let __sym1 = __pop_Ntidentifier(__symbols); - let __sym0 = __pop_Ntcomponent__prefix(__symbols); - let __start = __sym0.0.clone(); - let __end = __sym5.2.clone(); - let __nt = super::__action84::<>(input, __sym0, __sym1, __sym2, __sym3, __sym4, __sym5); - let __states_len = __states.len(); - __states.truncate(__states_len - 6); - __symbols.push((__start, __Symbol::Ntcomponent__declaration(__nt), __end)); - 4 - } - 7 => { - // component_declaration = component_prefix, identifier, identifier, value_declaration, string_literal, ";" => ActionFn(85); - let __sym5 = __pop_Term_22_3b_22(__symbols); - let __sym4 = __pop_Ntstring__literal(__symbols); - let __sym3 = __pop_Ntvalue__declaration(__symbols); - let __sym2 = __pop_Ntidentifier(__symbols); - let __sym1 = __pop_Ntidentifier(__symbols); - let __sym0 = __pop_Ntcomponent__prefix(__symbols); - let __start = __sym0.0.clone(); - let __end = __sym5.2.clone(); - let __nt = super::__action85::<>(input, __sym0, __sym1, __sym2, __sym3, __sym4, __sym5); - let __states_len = __states.len(); - __states.truncate(__states_len - 6); - __symbols.push((__start, __Symbol::Ntcomponent__declaration(__nt), __end)); - 4 - } - 8 => { - // component_declaration = component_prefix, identifier, identifier, string_literal, ";" => ActionFn(86); - let __sym4 = __pop_Term_22_3b_22(__symbols); - let __sym3 = __pop_Ntstring__literal(__symbols); - let __sym2 = __pop_Ntidentifier(__symbols); - let __sym1 = __pop_Ntidentifier(__symbols); - let __sym0 = __pop_Ntcomponent__prefix(__symbols); - let __start = __sym0.0.clone(); - let __end = __sym4.2.clone(); - let __nt = super::__action86::<>(input, __sym0, __sym1, __sym2, __sym3, __sym4); - let __states_len = __states.len(); - __states.truncate(__states_len - 5); - __symbols.push((__start, __Symbol::Ntcomponent__declaration(__nt), __end)); - 4 - } - 9 => { - // component_declaration = component_prefix, identifier, identifier, units_declaration, value_declaration, ";" => ActionFn(87); - let __sym5 = __pop_Term_22_3b_22(__symbols); - let __sym4 = __pop_Ntvalue__declaration(__symbols); - let __sym3 = __pop_Ntunits__declaration(__symbols); - let __sym2 = __pop_Ntidentifier(__symbols); - let __sym1 = __pop_Ntidentifier(__symbols); - let __sym0 = __pop_Ntcomponent__prefix(__symbols); - let __start = __sym0.0.clone(); - let __end = __sym5.2.clone(); - let __nt = super::__action87::<>(input, __sym0, __sym1, __sym2, __sym3, __sym4, __sym5); - let __states_len = __states.len(); - __states.truncate(__states_len - 6); - __symbols.push((__start, __Symbol::Ntcomponent__declaration(__nt), __end)); - 4 - } - 10 => { - // component_declaration = component_prefix, identifier, identifier, units_declaration, ";" => ActionFn(88); - let __sym4 = __pop_Term_22_3b_22(__symbols); - let __sym3 = __pop_Ntunits__declaration(__symbols); - let __sym2 = __pop_Ntidentifier(__symbols); - let __sym1 = __pop_Ntidentifier(__symbols); - let __sym0 = __pop_Ntcomponent__prefix(__symbols); - let __start = __sym0.0.clone(); - let __end = __sym4.2.clone(); - let __nt = super::__action88::<>(input, __sym0, __sym1, __sym2, __sym3, __sym4); - let __states_len = __states.len(); - __states.truncate(__states_len - 5); - __symbols.push((__start, __Symbol::Ntcomponent__declaration(__nt), __end)); - 4 - } - 11 => { - // component_declaration = component_prefix, identifier, identifier, value_declaration, ";" => ActionFn(89); - let __sym4 = __pop_Term_22_3b_22(__symbols); - let __sym3 = __pop_Ntvalue__declaration(__symbols); - let __sym2 = __pop_Ntidentifier(__symbols); - let __sym1 = __pop_Ntidentifier(__symbols); - let __sym0 = __pop_Ntcomponent__prefix(__symbols); - let __start = __sym0.0.clone(); - let __end = __sym4.2.clone(); - let __nt = super::__action89::<>(input, __sym0, __sym1, __sym2, __sym3, __sym4); - let __states_len = __states.len(); - __states.truncate(__states_len - 5); - __symbols.push((__start, __Symbol::Ntcomponent__declaration(__nt), __end)); - 4 - } - 12 => { - // component_declaration = component_prefix, identifier, identifier, ";" => ActionFn(90); - let __sym3 = __pop_Term_22_3b_22(__symbols); - let __sym2 = __pop_Ntidentifier(__symbols); - let __sym1 = __pop_Ntidentifier(__symbols); - let __sym0 = __pop_Ntcomponent__prefix(__symbols); - let __start = __sym0.0.clone(); - let __end = __sym3.2.clone(); - let __nt = super::__action90::<>(input, __sym0, __sym1, __sym2, __sym3); - let __states_len = __states.len(); - __states.truncate(__states_len - 4); - __symbols.push((__start, __Symbol::Ntcomponent__declaration(__nt), __end)); - 4 - } - 13 => { - // component_declaration = identifier, identifier, units_declaration, value_declaration, string_literal, ";" => ActionFn(91); - let __sym5 = __pop_Term_22_3b_22(__symbols); - let __sym4 = __pop_Ntstring__literal(__symbols); - let __sym3 = __pop_Ntvalue__declaration(__symbols); - let __sym2 = __pop_Ntunits__declaration(__symbols); - let __sym1 = __pop_Ntidentifier(__symbols); - let __sym0 = __pop_Ntidentifier(__symbols); - let __start = __sym0.0.clone(); - let __end = __sym5.2.clone(); - let __nt = super::__action91::<>(input, __sym0, __sym1, __sym2, __sym3, __sym4, __sym5); - let __states_len = __states.len(); - __states.truncate(__states_len - 6); - __symbols.push((__start, __Symbol::Ntcomponent__declaration(__nt), __end)); - 4 - } - 14 => { - // component_declaration = identifier, identifier, units_declaration, string_literal, ";" => ActionFn(92); - let __sym4 = __pop_Term_22_3b_22(__symbols); - let __sym3 = __pop_Ntstring__literal(__symbols); - let __sym2 = __pop_Ntunits__declaration(__symbols); - let __sym1 = __pop_Ntidentifier(__symbols); - let __sym0 = __pop_Ntidentifier(__symbols); - let __start = __sym0.0.clone(); - let __end = __sym4.2.clone(); - let __nt = super::__action92::<>(input, __sym0, __sym1, __sym2, __sym3, __sym4); - let __states_len = __states.len(); - __states.truncate(__states_len - 5); - __symbols.push((__start, __Symbol::Ntcomponent__declaration(__nt), __end)); - 4 - } - 15 => { - // component_declaration = identifier, identifier, value_declaration, string_literal, ";" => ActionFn(93); - let __sym4 = __pop_Term_22_3b_22(__symbols); - let __sym3 = __pop_Ntstring__literal(__symbols); - let __sym2 = __pop_Ntvalue__declaration(__symbols); - let __sym1 = __pop_Ntidentifier(__symbols); - let __sym0 = __pop_Ntidentifier(__symbols); - let __start = __sym0.0.clone(); - let __end = __sym4.2.clone(); - let __nt = super::__action93::<>(input, __sym0, __sym1, __sym2, __sym3, __sym4); - let __states_len = __states.len(); - __states.truncate(__states_len - 5); - __symbols.push((__start, __Symbol::Ntcomponent__declaration(__nt), __end)); - 4 - } - 16 => { - // component_declaration = identifier, identifier, string_literal, ";" => ActionFn(94); - let __sym3 = __pop_Term_22_3b_22(__symbols); - let __sym2 = __pop_Ntstring__literal(__symbols); - let __sym1 = __pop_Ntidentifier(__symbols); - let __sym0 = __pop_Ntidentifier(__symbols); - let __start = __sym0.0.clone(); - let __end = __sym3.2.clone(); - let __nt = super::__action94::<>(input, __sym0, __sym1, __sym2, __sym3); - let __states_len = __states.len(); - __states.truncate(__states_len - 4); - __symbols.push((__start, __Symbol::Ntcomponent__declaration(__nt), __end)); - 4 - } - 17 => { - // component_declaration = identifier, identifier, units_declaration, value_declaration, ";" => ActionFn(95); - let __sym4 = __pop_Term_22_3b_22(__symbols); - let __sym3 = __pop_Ntvalue__declaration(__symbols); - let __sym2 = __pop_Ntunits__declaration(__symbols); - let __sym1 = __pop_Ntidentifier(__symbols); - let __sym0 = __pop_Ntidentifier(__symbols); - let __start = __sym0.0.clone(); - let __end = __sym4.2.clone(); - let __nt = super::__action95::<>(input, __sym0, __sym1, __sym2, __sym3, __sym4); - let __states_len = __states.len(); - __states.truncate(__states_len - 5); - __symbols.push((__start, __Symbol::Ntcomponent__declaration(__nt), __end)); - 4 - } - 18 => { - // component_declaration = identifier, identifier, units_declaration, ";" => ActionFn(96); - let __sym3 = __pop_Term_22_3b_22(__symbols); - let __sym2 = __pop_Ntunits__declaration(__symbols); - let __sym1 = __pop_Ntidentifier(__symbols); - let __sym0 = __pop_Ntidentifier(__symbols); - let __start = __sym0.0.clone(); - let __end = __sym3.2.clone(); - let __nt = super::__action96::<>(input, __sym0, __sym1, __sym2, __sym3); - let __states_len = __states.len(); - __states.truncate(__states_len - 4); - __symbols.push((__start, __Symbol::Ntcomponent__declaration(__nt), __end)); - 4 - } - 19 => { - // component_declaration = identifier, identifier, value_declaration, ";" => ActionFn(97); - let __sym3 = __pop_Term_22_3b_22(__symbols); - let __sym2 = __pop_Ntvalue__declaration(__symbols); - let __sym1 = __pop_Ntidentifier(__symbols); - let __sym0 = __pop_Ntidentifier(__symbols); - let __start = __sym0.0.clone(); - let __end = __sym3.2.clone(); - let __nt = super::__action97::<>(input, __sym0, __sym1, __sym2, __sym3); - let __states_len = __states.len(); - __states.truncate(__states_len - 4); - __symbols.push((__start, __Symbol::Ntcomponent__declaration(__nt), __end)); - 4 - } - 20 => { - // component_declaration = identifier, identifier, ";" => ActionFn(98); - let __sym2 = __pop_Term_22_3b_22(__symbols); - let __sym1 = __pop_Ntidentifier(__symbols); - let __sym0 = __pop_Ntidentifier(__symbols); - let __start = __sym0.0.clone(); - let __end = __sym2.2.clone(); - let __nt = super::__action98::<>(input, __sym0, __sym1, __sym2); - let __states_len = __states.len(); - __states.truncate(__states_len - 3); - __symbols.push((__start, __Symbol::Ntcomponent__declaration(__nt), __end)); - 4 - } - 21 => { - // component_declaration* = => ActionFn(47); - 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::__action47::<>(input, &__start, &__end); - let __states_len = __states.len(); - __states.truncate(__states_len - 0); - __symbols.push((__start, __Symbol::Ntcomponent__declaration_2a(__nt), __end)); - 5 - } - 22 => { - // component_declaration* = component_declaration+ => ActionFn(48); - let __sym0 = __pop_Ntcomponent__declaration_2b(__symbols); - let __start = __sym0.0.clone(); - let __end = __sym0.2.clone(); - let __nt = super::__action48::<>(input, __sym0); - let __states_len = __states.len(); - __states.truncate(__states_len - 1); - __symbols.push((__start, __Symbol::Ntcomponent__declaration_2a(__nt), __end)); - 5 - } - 23 => { - // component_declaration+ = component_declaration => ActionFn(49); - let __sym0 = __pop_Ntcomponent__declaration(__symbols); - let __start = __sym0.0.clone(); - let __end = __sym0.2.clone(); - let __nt = super::__action49::<>(input, __sym0); - let __states_len = __states.len(); - __states.truncate(__states_len - 1); - __symbols.push((__start, __Symbol::Ntcomponent__declaration_2b(__nt), __end)); - 6 - } - 24 => { - // component_declaration+ = component_declaration+, component_declaration => ActionFn(50); - let __sym1 = __pop_Ntcomponent__declaration(__symbols); - let __sym0 = __pop_Ntcomponent__declaration_2b(__symbols); - let __start = __sym0.0.clone(); - let __end = __sym1.2.clone(); - let __nt = super::__action50::<>(input, __sym0, __sym1); - let __states_len = __states.len(); - __states.truncate(__states_len - 2); - __symbols.push((__start, __Symbol::Ntcomponent__declaration_2b(__nt), __end)); - 6 - } - 25 => { - // component_prefix = "flow" => ActionFn(12); - let __sym0 = __pop_Term_22flow_22(__symbols); - let __start = __sym0.0.clone(); - let __end = __sym0.2.clone(); - let __nt = super::__action12::<>(input, __sym0); - let __states_len = __states.len(); - __states.truncate(__states_len - 1); - __symbols.push((__start, __Symbol::Ntcomponent__prefix(__nt), __end)); - 7 - } - 26 => { - // component_prefix = "stream" => ActionFn(13); - let __sym0 = __pop_Term_22stream_22(__symbols); - let __start = __sym0.0.clone(); - let __end = __sym0.2.clone(); - let __nt = super::__action13::<>(input, __sym0); - let __states_len = __states.len(); - __states.truncate(__states_len - 1); - __symbols.push((__start, __Symbol::Ntcomponent__prefix(__nt), __end)); - 7 - } - 27 => { - // component_prefix = "input" => ActionFn(14); - let __sym0 = __pop_Term_22input_22(__symbols); - let __start = __sym0.0.clone(); - let __end = __sym0.2.clone(); - let __nt = super::__action14::<>(input, __sym0); - let __states_len = __states.len(); - __states.truncate(__states_len - 1); - __symbols.push((__start, __Symbol::Ntcomponent__prefix(__nt), __end)); - 7 - } - 28 => { - // component_prefix = "output" => ActionFn(15); - let __sym0 = __pop_Term_22output_22(__symbols); - let __start = __sym0.0.clone(); - let __end = __sym0.2.clone(); - let __nt = super::__action15::<>(input, __sym0); - let __states_len = __states.len(); - __states.truncate(__states_len - 1); - __symbols.push((__start, __Symbol::Ntcomponent__prefix(__nt), __end)); - 7 - } - 29 => { - // component_prefix = "discrete" => ActionFn(16); - let __sym0 = __pop_Term_22discrete_22(__symbols); - let __start = __sym0.0.clone(); - let __end = __sym0.2.clone(); - let __nt = super::__action16::<>(input, __sym0); - let __states_len = __states.len(); - __states.truncate(__states_len - 1); - __symbols.push((__start, __Symbol::Ntcomponent__prefix(__nt), __end)); - 7 - } - 30 => { - // component_prefix = "parameter" => ActionFn(17); - let __sym0 = __pop_Term_22parameter_22(__symbols); - let __start = __sym0.0.clone(); - let __end = __sym0.2.clone(); - let __nt = super::__action17::<>(input, __sym0); - let __states_len = __states.len(); - __states.truncate(__states_len - 1); - __symbols.push((__start, __Symbol::Ntcomponent__prefix(__nt), __end)); - 7 - } - 31 => { - // component_prefix = "constant" => ActionFn(18); - let __sym0 = __pop_Term_22constant_22(__symbols); - let __start = __sym0.0.clone(); - let __end = __sym0.2.clone(); - let __nt = super::__action18::<>(input, __sym0); - let __states_len = __states.len(); - __states.truncate(__states_len - 1); - __symbols.push((__start, __Symbol::Ntcomponent__prefix(__nt), __end)); - 7 - } - 32 => { - // component_prefix? = component_prefix => ActionFn(41); - let __sym0 = __pop_Ntcomponent__prefix(__symbols); - let __start = __sym0.0.clone(); - let __end = __sym0.2.clone(); - let __nt = super::__action41::<>(input, __sym0); - let __states_len = __states.len(); - __states.truncate(__states_len - 1); - __symbols.push((__start, __Symbol::Ntcomponent__prefix_3f(__nt), __end)); - 8 - } - 33 => { - // component_prefix? = => ActionFn(42); - 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::__action42::<>(input, &__start, &__end); - let __states_len = __states.len(); - __states.truncate(__states_len - 0); - __symbols.push((__start, __Symbol::Ntcomponent__prefix_3f(__nt), __end)); - 8 - } - 34 => { - // connect_clause = "connect", "(", identifier, ",", identifier, ")", ";" => ActionFn(20); - let __sym6 = __pop_Term_22_3b_22(__symbols); - let __sym5 = __pop_Term_22_29_22(__symbols); - let __sym4 = __pop_Ntidentifier(__symbols); - let __sym3 = __pop_Term_22_2c_22(__symbols); - let __sym2 = __pop_Ntidentifier(__symbols); - let __sym1 = __pop_Term_22_28_22(__symbols); - let __sym0 = __pop_Term_22connect_22(__symbols); - let __start = __sym0.0.clone(); - let __end = __sym6.2.clone(); - let __nt = super::__action20::<>(input, __sym0, __sym1, __sym2, __sym3, __sym4, __sym5, __sym6); - let __states_len = __states.len(); - __states.truncate(__states_len - 7); - __symbols.push((__start, __Symbol::Ntconnect__clause(__nt), __end)); - 9 - } - 35 => { - // connect_clause* = => ActionFn(45); - 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::__action45::<>(input, &__start, &__end); - let __states_len = __states.len(); - __states.truncate(__states_len - 0); - __symbols.push((__start, __Symbol::Ntconnect__clause_2a(__nt), __end)); - 10 - } - 36 => { - // connect_clause* = connect_clause+ => ActionFn(46); - let __sym0 = __pop_Ntconnect__clause_2b(__symbols); - let __start = __sym0.0.clone(); - let __end = __sym0.2.clone(); - let __nt = super::__action46::<>(input, __sym0); - let __states_len = __states.len(); - __states.truncate(__states_len - 1); - __symbols.push((__start, __Symbol::Ntconnect__clause_2a(__nt), __end)); - 10 - } - 37 => { - // connect_clause+ = connect_clause => ActionFn(51); - let __sym0 = __pop_Ntconnect__clause(__symbols); - let __start = __sym0.0.clone(); - let __end = __sym0.2.clone(); - let __nt = super::__action51::<>(input, __sym0); - let __states_len = __states.len(); - __states.truncate(__states_len - 1); - __symbols.push((__start, __Symbol::Ntconnect__clause_2b(__nt), __end)); - 11 - } - 38 => { - // connect_clause+ = connect_clause+, connect_clause => ActionFn(52); - let __sym1 = __pop_Ntconnect__clause(__symbols); - let __sym0 = __pop_Ntconnect__clause_2b(__symbols); - let __start = __sym0.0.clone(); - let __end = __sym1.2.clone(); - let __nt = super::__action52::<>(input, __sym0, __sym1); - let __states_len = __states.len(); - __states.truncate(__states_len - 2); - __symbols.push((__start, __Symbol::Ntconnect__clause_2b(__nt), __end)); - 11 - } - 39 => { - // expr = expr, "+", factor => ActionFn(21); - let __sym2 = __pop_Ntfactor(__symbols); - let __sym1 = __pop_Term_22_2b_22(__symbols); - let __sym0 = __pop_Ntexpr(__symbols); - let __start = __sym0.0.clone(); - let __end = __sym2.2.clone(); - let __nt = super::__action21::<>(input, __sym0, __sym1, __sym2); - let __states_len = __states.len(); - __states.truncate(__states_len - 3); - __symbols.push((__start, __Symbol::Ntexpr(__nt), __end)); - 12 - } - 40 => { - // expr = expr, "-", factor => ActionFn(22); - let __sym2 = __pop_Ntfactor(__symbols); - let __sym1 = __pop_Term_22_2d_22(__symbols); - let __sym0 = __pop_Ntexpr(__symbols); - let __start = __sym0.0.clone(); - let __end = __sym2.2.clone(); - let __nt = super::__action22::<>(input, __sym0, __sym1, __sym2); - let __states_len = __states.len(); - __states.truncate(__states_len - 3); - __symbols.push((__start, __Symbol::Ntexpr(__nt), __end)); - 12 - } - 41 => { - // expr = factor => ActionFn(23); - let __sym0 = __pop_Ntfactor(__symbols); - let __start = __sym0.0.clone(); - let __end = __sym0.2.clone(); - let __nt = super::__action23::<>(input, __sym0); - let __states_len = __states.len(); - __states.truncate(__states_len - 1); - __symbols.push((__start, __Symbol::Ntexpr(__nt), __end)); - 12 - } - 42 => { - // factor = factor, "*", term => ActionFn(24); - let __sym2 = __pop_Ntterm(__symbols); - let __sym1 = __pop_Term_22_2a_22(__symbols); - let __sym0 = __pop_Ntfactor(__symbols); - let __start = __sym0.0.clone(); - let __end = __sym2.2.clone(); - let __nt = super::__action24::<>(input, __sym0, __sym1, __sym2); - let __states_len = __states.len(); - __states.truncate(__states_len - 3); - __symbols.push((__start, __Symbol::Ntfactor(__nt), __end)); - 13 - } - 43 => { - // factor = factor, "/", term => ActionFn(25); - let __sym2 = __pop_Ntterm(__symbols); - let __sym1 = __pop_Term_22_2f_22(__symbols); - let __sym0 = __pop_Ntfactor(__symbols); - let __start = __sym0.0.clone(); - let __end = __sym2.2.clone(); - let __nt = super::__action25::<>(input, __sym0, __sym1, __sym2); - let __states_len = __states.len(); - __states.truncate(__states_len - 3); - __symbols.push((__start, __Symbol::Ntfactor(__nt), __end)); - 13 - } - 44 => { - // factor = factor, "^", term => ActionFn(26); - let __sym2 = __pop_Ntterm(__symbols); - let __sym1 = __pop_Term_22_5e_22(__symbols); - let __sym0 = __pop_Ntfactor(__symbols); - let __start = __sym0.0.clone(); - let __end = __sym2.2.clone(); - let __nt = super::__action26::<>(input, __sym0, __sym1, __sym2); - let __states_len = __states.len(); - __states.truncate(__states_len - 3); - __symbols.push((__start, __Symbol::Ntfactor(__nt), __end)); - 13 - } - 45 => { - // factor = "-", term => ActionFn(27); - let __sym1 = __pop_Ntterm(__symbols); - let __sym0 = __pop_Term_22_2d_22(__symbols); - let __start = __sym0.0.clone(); - let __end = __sym1.2.clone(); - let __nt = super::__action27::<>(input, __sym0, __sym1); - let __states_len = __states.len(); - __states.truncate(__states_len - 2); - __symbols.push((__start, __Symbol::Ntfactor(__nt), __end)); - 13 - } - 46 => { - // factor = term => ActionFn(28); - let __sym0 = __pop_Ntterm(__symbols); - let __start = __sym0.0.clone(); - let __end = __sym0.2.clone(); - let __nt = super::__action28::<>(input, __sym0); - let __states_len = __states.len(); - __states.truncate(__states_len - 1); - __symbols.push((__start, __Symbol::Ntfactor(__nt), __end)); - 13 - } - 47 => { - // float = r#"[+-]?\\d+\\.\\d*([eE][-+]?\\d+)?"# => ActionFn(7); - let __sym0 = __pop_Termr_23_22_5b_2b_2d_5d_3f_5c_5cd_2b_5c_5c_2e_5c_5cd_2a_28_5beE_5d_5b_2d_2b_5d_3f_5c_5cd_2b_29_3f_22_23(__symbols); - let __start = __sym0.0.clone(); - let __end = __sym0.2.clone(); - let __nt = super::__action7::<>(input, __sym0); - let __states_len = __states.len(); - __states.truncate(__states_len - 1); - __symbols.push((__start, __Symbol::Ntfloat(__nt), __end)); - 14 - } - 48 => { - // identifier = r#"[a-zA-Z_][a-zA-Z_0-9]*"# => ActionFn(4); - let __sym0 = __pop_Termr_23_22_5ba_2dzA_2dZ___5d_5ba_2dzA_2dZ__0_2d9_5d_2a_22_23(__symbols); - let __start = __sym0.0.clone(); - let __end = __sym0.2.clone(); - let __nt = super::__action4::<>(input, __sym0); - let __states_len = __states.len(); - __states.truncate(__states_len - 1); - __symbols.push((__start, __Symbol::Ntidentifier(__nt), __end)); - 15 - } - 49 => { - // integer = r#"[+-]?\\d+"# => ActionFn(6); - let __sym0 = __pop_Termr_23_22_5b_2b_2d_5d_3f_5c_5cd_2b_22_23(__symbols); - let __start = __sym0.0.clone(); - let __end = __sym0.2.clone(); - let __nt = super::__action6::<>(input, __sym0); - let __states_len = __states.len(); - __states.truncate(__states_len - 1); - __symbols.push((__start, __Symbol::Ntinteger(__nt), __end)); - 16 - } - 50 => { - // model = "model", identifier, "equation", "end", identifier, ";" => ActionFn(63); - let __sym5 = __pop_Term_22_3b_22(__symbols); - let __sym4 = __pop_Ntidentifier(__symbols); - let __sym3 = __pop_Term_22end_22(__symbols); - let __sym2 = __pop_Term_22equation_22(__symbols); - let __sym1 = __pop_Ntidentifier(__symbols); - let __sym0 = __pop_Term_22model_22(__symbols); - let __start = __sym0.0.clone(); - let __end = __sym5.2.clone(); - let __nt = super::__action63::<>(input, __sym0, __sym1, __sym2, __sym3, __sym4, __sym5); - let __states_len = __states.len(); - __states.truncate(__states_len - 6); - __symbols.push((__start, __Symbol::Ntmodel(__nt), __end)); - 17 - } - 51 => { - // model = "model", identifier, "equation", simple_equation+, "end", identifier, ";" => ActionFn(64); - let __sym6 = __pop_Term_22_3b_22(__symbols); - let __sym5 = __pop_Ntidentifier(__symbols); - let __sym4 = __pop_Term_22end_22(__symbols); - let __sym3 = __pop_Ntsimple__equation_2b(__symbols); - let __sym2 = __pop_Term_22equation_22(__symbols); - let __sym1 = __pop_Ntidentifier(__symbols); - let __sym0 = __pop_Term_22model_22(__symbols); - let __start = __sym0.0.clone(); - let __end = __sym6.2.clone(); - let __nt = super::__action64::<>(input, __sym0, __sym1, __sym2, __sym3, __sym4, __sym5, __sym6); - let __states_len = __states.len(); - __states.truncate(__states_len - 7); - __symbols.push((__start, __Symbol::Ntmodel(__nt), __end)); - 17 - } - 52 => { - // model = "model", identifier, "equation", connect_clause+, "end", identifier, ";" => ActionFn(65); - let __sym6 = __pop_Term_22_3b_22(__symbols); - let __sym5 = __pop_Ntidentifier(__symbols); - let __sym4 = __pop_Term_22end_22(__symbols); - let __sym3 = __pop_Ntconnect__clause_2b(__symbols); - let __sym2 = __pop_Term_22equation_22(__symbols); - let __sym1 = __pop_Ntidentifier(__symbols); - let __sym0 = __pop_Term_22model_22(__symbols); - let __start = __sym0.0.clone(); - let __end = __sym6.2.clone(); - let __nt = super::__action65::<>(input, __sym0, __sym1, __sym2, __sym3, __sym4, __sym5, __sym6); - let __states_len = __states.len(); - __states.truncate(__states_len - 7); - __symbols.push((__start, __Symbol::Ntmodel(__nt), __end)); - 17 - } - 53 => { - // model = "model", identifier, "equation", connect_clause+, simple_equation+, "end", identifier, ";" => ActionFn(66); - let __sym7 = __pop_Term_22_3b_22(__symbols); - let __sym6 = __pop_Ntidentifier(__symbols); - let __sym5 = __pop_Term_22end_22(__symbols); - let __sym4 = __pop_Ntsimple__equation_2b(__symbols); - let __sym3 = __pop_Ntconnect__clause_2b(__symbols); - let __sym2 = __pop_Term_22equation_22(__symbols); - let __sym1 = __pop_Ntidentifier(__symbols); - let __sym0 = __pop_Term_22model_22(__symbols); - let __start = __sym0.0.clone(); - let __end = __sym7.2.clone(); - let __nt = super::__action66::<>(input, __sym0, __sym1, __sym2, __sym3, __sym4, __sym5, __sym6, __sym7); - let __states_len = __states.len(); - __states.truncate(__states_len - 8); - __symbols.push((__start, __Symbol::Ntmodel(__nt), __end)); - 17 - } - 54 => { - // model = "model", identifier, component_declaration+, "equation", "end", identifier, ";" => ActionFn(67); - let __sym6 = __pop_Term_22_3b_22(__symbols); - let __sym5 = __pop_Ntidentifier(__symbols); - let __sym4 = __pop_Term_22end_22(__symbols); - let __sym3 = __pop_Term_22equation_22(__symbols); - let __sym2 = __pop_Ntcomponent__declaration_2b(__symbols); - let __sym1 = __pop_Ntidentifier(__symbols); - let __sym0 = __pop_Term_22model_22(__symbols); - let __start = __sym0.0.clone(); - let __end = __sym6.2.clone(); - let __nt = super::__action67::<>(input, __sym0, __sym1, __sym2, __sym3, __sym4, __sym5, __sym6); - let __states_len = __states.len(); - __states.truncate(__states_len - 7); - __symbols.push((__start, __Symbol::Ntmodel(__nt), __end)); - 17 - } - 55 => { - // model = "model", identifier, component_declaration+, "equation", simple_equation+, "end", identifier, ";" => ActionFn(68); - let __sym7 = __pop_Term_22_3b_22(__symbols); - let __sym6 = __pop_Ntidentifier(__symbols); - let __sym5 = __pop_Term_22end_22(__symbols); - let __sym4 = __pop_Ntsimple__equation_2b(__symbols); - let __sym3 = __pop_Term_22equation_22(__symbols); - let __sym2 = __pop_Ntcomponent__declaration_2b(__symbols); - let __sym1 = __pop_Ntidentifier(__symbols); - let __sym0 = __pop_Term_22model_22(__symbols); - let __start = __sym0.0.clone(); - let __end = __sym7.2.clone(); - let __nt = super::__action68::<>(input, __sym0, __sym1, __sym2, __sym3, __sym4, __sym5, __sym6, __sym7); - let __states_len = __states.len(); - __states.truncate(__states_len - 8); - __symbols.push((__start, __Symbol::Ntmodel(__nt), __end)); - 17 - } - 56 => { - // model = "model", identifier, component_declaration+, "equation", connect_clause+, "end", identifier, ";" => ActionFn(69); - let __sym7 = __pop_Term_22_3b_22(__symbols); - let __sym6 = __pop_Ntidentifier(__symbols); - let __sym5 = __pop_Term_22end_22(__symbols); - let __sym4 = __pop_Ntconnect__clause_2b(__symbols); - let __sym3 = __pop_Term_22equation_22(__symbols); - let __sym2 = __pop_Ntcomponent__declaration_2b(__symbols); - let __sym1 = __pop_Ntidentifier(__symbols); - let __sym0 = __pop_Term_22model_22(__symbols); - let __start = __sym0.0.clone(); - let __end = __sym7.2.clone(); - let __nt = super::__action69::<>(input, __sym0, __sym1, __sym2, __sym3, __sym4, __sym5, __sym6, __sym7); - let __states_len = __states.len(); - __states.truncate(__states_len - 8); - __symbols.push((__start, __Symbol::Ntmodel(__nt), __end)); - 17 - } - 57 => { - // model = "model", identifier, component_declaration+, "equation", connect_clause+, simple_equation+, "end", identifier, ";" => ActionFn(70); - let __sym8 = __pop_Term_22_3b_22(__symbols); - let __sym7 = __pop_Ntidentifier(__symbols); - let __sym6 = __pop_Term_22end_22(__symbols); - let __sym5 = __pop_Ntsimple__equation_2b(__symbols); - let __sym4 = __pop_Ntconnect__clause_2b(__symbols); - let __sym3 = __pop_Term_22equation_22(__symbols); - let __sym2 = __pop_Ntcomponent__declaration_2b(__symbols); - let __sym1 = __pop_Ntidentifier(__symbols); - let __sym0 = __pop_Term_22model_22(__symbols); - let __start = __sym0.0.clone(); - let __end = __sym8.2.clone(); - let __nt = super::__action70::<>(input, __sym0, __sym1, __sym2, __sym3, __sym4, __sym5, __sym6, __sym7, __sym8); - let __states_len = __states.len(); - __states.truncate(__states_len - 9); - __symbols.push((__start, __Symbol::Ntmodel(__nt), __end)); - 17 - } - 58 => { - // simple_equation = expr, "=", expr, ";" => ActionFn(19); - let __sym3 = __pop_Term_22_3b_22(__symbols); - let __sym2 = __pop_Ntexpr(__symbols); - let __sym1 = __pop_Term_22_3d_22(__symbols); - let __sym0 = __pop_Ntexpr(__symbols); - let __start = __sym0.0.clone(); - let __end = __sym3.2.clone(); - let __nt = super::__action19::<>(input, __sym0, __sym1, __sym2, __sym3); - let __states_len = __states.len(); - __states.truncate(__states_len - 4); - __symbols.push((__start, __Symbol::Ntsimple__equation(__nt), __end)); - 18 - } - 59 => { - // simple_equation* = => ActionFn(43); - 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::__action43::<>(input, &__start, &__end); - let __states_len = __states.len(); - __states.truncate(__states_len - 0); - __symbols.push((__start, __Symbol::Ntsimple__equation_2a(__nt), __end)); - 19 - } - 60 => { - // simple_equation* = simple_equation+ => ActionFn(44); - let __sym0 = __pop_Ntsimple__equation_2b(__symbols); - let __start = __sym0.0.clone(); - let __end = __sym0.2.clone(); - let __nt = super::__action44::<>(input, __sym0); - let __states_len = __states.len(); - __states.truncate(__states_len - 1); - __symbols.push((__start, __Symbol::Ntsimple__equation_2a(__nt), __end)); - 19 - } - 61 => { - // simple_equation+ = simple_equation => ActionFn(53); - let __sym0 = __pop_Ntsimple__equation(__symbols); - let __start = __sym0.0.clone(); - let __end = __sym0.2.clone(); - let __nt = super::__action53::<>(input, __sym0); - let __states_len = __states.len(); - __states.truncate(__states_len - 1); - __symbols.push((__start, __Symbol::Ntsimple__equation_2b(__nt), __end)); - 20 - } - 62 => { - // simple_equation+ = simple_equation+, simple_equation => ActionFn(54); - let __sym1 = __pop_Ntsimple__equation(__symbols); - let __sym0 = __pop_Ntsimple__equation_2b(__symbols); - let __start = __sym0.0.clone(); - let __end = __sym1.2.clone(); - let __nt = super::__action54::<>(input, __sym0, __sym1); - let __states_len = __states.len(); - __states.truncate(__states_len - 2); - __symbols.push((__start, __Symbol::Ntsimple__equation_2b(__nt), __end)); - 20 - } - 63 => { - // string_literal = r#"\"[^\"\\\\]*\""# => ActionFn(5); - let __sym0 = __pop_Termr_23_22_5c_22_5b_5e_5c_22_5c_5c_5c_5c_5d_2a_5c_22_22_23(__symbols); - let __start = __sym0.0.clone(); - let __end = __sym0.2.clone(); - let __nt = super::__action5::<>(input, __sym0); - let __states_len = __states.len(); - __states.truncate(__states_len - 1); - __symbols.push((__start, __Symbol::Ntstring__literal(__nt), __end)); - 21 - } - 64 => { - // string_literal? = string_literal => ActionFn(35); - let __sym0 = __pop_Ntstring__literal(__symbols); - let __start = __sym0.0.clone(); - let __end = __sym0.2.clone(); - let __nt = super::__action35::<>(input, __sym0); - let __states_len = __states.len(); - __states.truncate(__states_len - 1); - __symbols.push((__start, __Symbol::Ntstring__literal_3f(__nt), __end)); - 22 - } - 65 => { - // string_literal? = => ActionFn(36); - 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::__action36::<>(input, &__start, &__end); - let __states_len = __states.len(); - __states.truncate(__states_len - 0); - __symbols.push((__start, __Symbol::Ntstring__literal_3f(__nt), __end)); - 22 - } - 66 => { - // term = integer => ActionFn(29); - let __sym0 = __pop_Ntinteger(__symbols); - let __start = __sym0.0.clone(); - let __end = __sym0.2.clone(); - let __nt = super::__action29::<>(input, __sym0); - let __states_len = __states.len(); - __states.truncate(__states_len - 1); - __symbols.push((__start, __Symbol::Ntterm(__nt), __end)); - 23 - } - 67 => { - // term = float => ActionFn(30); - let __sym0 = __pop_Ntfloat(__symbols); - let __start = __sym0.0.clone(); - let __end = __sym0.2.clone(); - let __nt = super::__action30::<>(input, __sym0); - let __states_len = __states.len(); - __states.truncate(__states_len - 1); - __symbols.push((__start, __Symbol::Ntterm(__nt), __end)); - 23 - } - 68 => { - // term = identifier => ActionFn(31); - let __sym0 = __pop_Ntidentifier(__symbols); - let __start = __sym0.0.clone(); - let __end = __sym0.2.clone(); - let __nt = super::__action31::<>(input, __sym0); - let __states_len = __states.len(); - __states.truncate(__states_len - 1); - __symbols.push((__start, __Symbol::Ntterm(__nt), __end)); - 23 - } - 69 => { - // term = "der", "(", expr, ")" => ActionFn(32); - let __sym3 = __pop_Term_22_29_22(__symbols); - let __sym2 = __pop_Ntexpr(__symbols); - let __sym1 = __pop_Term_22_28_22(__symbols); - let __sym0 = __pop_Term_22der_22(__symbols); - let __start = __sym0.0.clone(); - let __end = __sym3.2.clone(); - let __nt = super::__action32::<>(input, __sym0, __sym1, __sym2, __sym3); - let __states_len = __states.len(); - __states.truncate(__states_len - 4); - __symbols.push((__start, __Symbol::Ntterm(__nt), __end)); - 23 - } - 70 => { - // term = "abs", "(", expr, ")" => ActionFn(33); - let __sym3 = __pop_Term_22_29_22(__symbols); - let __sym2 = __pop_Ntexpr(__symbols); - let __sym1 = __pop_Term_22_28_22(__symbols); - let __sym0 = __pop_Term_22abs_22(__symbols); - let __start = __sym0.0.clone(); - let __end = __sym3.2.clone(); - let __nt = super::__action33::<>(input, __sym0, __sym1, __sym2, __sym3); - let __states_len = __states.len(); - __states.truncate(__states_len - 4); - __symbols.push((__start, __Symbol::Ntterm(__nt), __end)); - 23 - } - 71 => { - // term = "(", expr, ")" => ActionFn(34); - let __sym2 = __pop_Term_22_29_22(__symbols); - let __sym1 = __pop_Ntexpr(__symbols); - let __sym0 = __pop_Term_22_28_22(__symbols); - let __start = __sym0.0.clone(); - let __end = __sym2.2.clone(); - let __nt = super::__action34::<>(input, __sym0, __sym1, __sym2); - let __states_len = __states.len(); - __states.truncate(__states_len - 3); - __symbols.push((__start, __Symbol::Ntterm(__nt), __end)); - 23 - } - 72 => { - // units_declaration = "(", "unit", "=", string_literal, ")" => ActionFn(10); - let __sym4 = __pop_Term_22_29_22(__symbols); - let __sym3 = __pop_Ntstring__literal(__symbols); - let __sym2 = __pop_Term_22_3d_22(__symbols); - let __sym1 = __pop_Term_22unit_22(__symbols); - let __sym0 = __pop_Term_22_28_22(__symbols); - let __start = __sym0.0.clone(); - let __end = __sym4.2.clone(); - let __nt = super::__action10::<>(input, __sym0, __sym1, __sym2, __sym3, __sym4); - let __states_len = __states.len(); - __states.truncate(__states_len - 5); - __symbols.push((__start, __Symbol::Ntunits__declaration(__nt), __end)); - 24 - } - 73 => { - // units_declaration? = units_declaration => ActionFn(39); - let __sym0 = __pop_Ntunits__declaration(__symbols); - let __start = __sym0.0.clone(); - let __end = __sym0.2.clone(); - let __nt = super::__action39::<>(input, __sym0); - let __states_len = __states.len(); - __states.truncate(__states_len - 1); - __symbols.push((__start, __Symbol::Ntunits__declaration_3f(__nt), __end)); - 25 - } - 74 => { - // units_declaration? = => ActionFn(40); - 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::__action40::<>(input, &__start, &__end); - let __states_len = __states.len(); - __states.truncate(__states_len - 0); - __symbols.push((__start, __Symbol::Ntunits__declaration_3f(__nt), __end)); - 25 - } - 75 => { - // value_declaration = "=", expr => ActionFn(9); - let __sym1 = __pop_Ntexpr(__symbols); - let __sym0 = __pop_Term_22_3d_22(__symbols); - let __start = __sym0.0.clone(); - let __end = __sym1.2.clone(); - let __nt = super::__action9::<>(input, __sym0, __sym1); - let __states_len = __states.len(); - __states.truncate(__states_len - 2); - __symbols.push((__start, __Symbol::Ntvalue__declaration(__nt), __end)); - 26 - } - 76 => { - // value_declaration? = value_declaration => ActionFn(37); - let __sym0 = __pop_Ntvalue__declaration(__symbols); - let __start = __sym0.0.clone(); - let __end = __sym0.2.clone(); - let __nt = super::__action37::<>(input, __sym0); - let __states_len = __states.len(); - __states.truncate(__states_len - 1); - __symbols.push((__start, __Symbol::Ntvalue__declaration_3f(__nt), __end)); - 27 - } - 77 => { - // value_declaration? = => ActionFn(38); - 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::__action38::<>(input, &__start, &__end); - let __states_len = __states.len(); - __states.truncate(__states_len - 0); - __symbols.push((__start, __Symbol::Ntvalue__declaration_3f(__nt), __end)); - 27 - } - _ => panic!("invalid action code {}", __action) - }; - let __state = *__states.last().unwrap() as usize; - let __next_state = __GOTO[__state * 28 + __nonterminal] - 1; - __states.push(__next_state); - None - } - fn __pop_Term_22_28_22< - 'input, - >( - __symbols: &mut ::std::vec::Vec<(usize,__Symbol<'input>,usize)> - ) -> (usize, &'input str, usize) { - match __symbols.pop().unwrap() { - (__l, __Symbol::Term_22_28_22(__v), __r) => (__l, __v, __r), - _ => panic!("symbol type mismatch") - } - } - fn __pop_Term_22_29_22< - 'input, - >( - __symbols: &mut ::std::vec::Vec<(usize,__Symbol<'input>,usize)> - ) -> (usize, &'input str, usize) { - match __symbols.pop().unwrap() { - (__l, __Symbol::Term_22_29_22(__v), __r) => (__l, __v, __r), - _ => panic!("symbol type mismatch") - } - } - fn __pop_Term_22_2a_22< - 'input, - >( - __symbols: &mut ::std::vec::Vec<(usize,__Symbol<'input>,usize)> - ) -> (usize, &'input str, usize) { - match __symbols.pop().unwrap() { - (__l, __Symbol::Term_22_2a_22(__v), __r) => (__l, __v, __r), - _ => panic!("symbol type mismatch") - } - } - fn __pop_Term_22_2b_22< - 'input, - >( - __symbols: &mut ::std::vec::Vec<(usize,__Symbol<'input>,usize)> - ) -> (usize, &'input str, usize) { - match __symbols.pop().unwrap() { - (__l, __Symbol::Term_22_2b_22(__v), __r) => (__l, __v, __r), - _ => panic!("symbol type mismatch") - } - } - fn __pop_Term_22_2c_22< - 'input, - >( - __symbols: &mut ::std::vec::Vec<(usize,__Symbol<'input>,usize)> - ) -> (usize, &'input str, usize) { - match __symbols.pop().unwrap() { - (__l, __Symbol::Term_22_2c_22(__v), __r) => (__l, __v, __r), - _ => panic!("symbol type mismatch") - } - } - fn __pop_Term_22_2d_22< - 'input, - >( - __symbols: &mut ::std::vec::Vec<(usize,__Symbol<'input>,usize)> - ) -> (usize, &'input str, usize) { - match __symbols.pop().unwrap() { - (__l, __Symbol::Term_22_2d_22(__v), __r) => (__l, __v, __r), - _ => panic!("symbol type mismatch") - } - } - fn __pop_Term_22_2f_22< - 'input, - >( - __symbols: &mut ::std::vec::Vec<(usize,__Symbol<'input>,usize)> - ) -> (usize, &'input str, usize) { - match __symbols.pop().unwrap() { - (__l, __Symbol::Term_22_2f_22(__v), __r) => (__l, __v, __r), - _ => panic!("symbol type mismatch") - } - } - fn __pop_Term_22_3b_22< - 'input, - >( - __symbols: &mut ::std::vec::Vec<(usize,__Symbol<'input>,usize)> - ) -> (usize, &'input str, usize) { - match __symbols.pop().unwrap() { - (__l, __Symbol::Term_22_3b_22(__v), __r) => (__l, __v, __r), - _ => panic!("symbol type mismatch") - } - } - fn __pop_Term_22_3d_22< - 'input, - >( - __symbols: &mut ::std::vec::Vec<(usize,__Symbol<'input>,usize)> - ) -> (usize, &'input str, usize) { - match __symbols.pop().unwrap() { - (__l, __Symbol::Term_22_3d_22(__v), __r) => (__l, __v, __r), - _ => panic!("symbol type mismatch") - } - } - fn __pop_Term_22_5e_22< - 'input, - >( - __symbols: &mut ::std::vec::Vec<(usize,__Symbol<'input>,usize)> - ) -> (usize, &'input str, usize) { - match __symbols.pop().unwrap() { - (__l, __Symbol::Term_22_5e_22(__v), __r) => (__l, __v, __r), - _ => panic!("symbol type mismatch") - } - } - fn __pop_Term_22abs_22< - 'input, - >( - __symbols: &mut ::std::vec::Vec<(usize,__Symbol<'input>,usize)> - ) -> (usize, &'input str, usize) { - match __symbols.pop().unwrap() { - (__l, __Symbol::Term_22abs_22(__v), __r) => (__l, __v, __r), - _ => panic!("symbol type mismatch") - } - } - fn __pop_Term_22connect_22< - 'input, - >( - __symbols: &mut ::std::vec::Vec<(usize,__Symbol<'input>,usize)> - ) -> (usize, &'input str, usize) { - match __symbols.pop().unwrap() { - (__l, __Symbol::Term_22connect_22(__v), __r) => (__l, __v, __r), - _ => panic!("symbol type mismatch") - } - } - fn __pop_Term_22constant_22< - 'input, - >( - __symbols: &mut ::std::vec::Vec<(usize,__Symbol<'input>,usize)> - ) -> (usize, &'input str, usize) { - match __symbols.pop().unwrap() { - (__l, __Symbol::Term_22constant_22(__v), __r) => (__l, __v, __r), - _ => panic!("symbol type mismatch") - } - } - fn __pop_Term_22der_22< - 'input, - >( - __symbols: &mut ::std::vec::Vec<(usize,__Symbol<'input>,usize)> - ) -> (usize, &'input str, usize) { - match __symbols.pop().unwrap() { - (__l, __Symbol::Term_22der_22(__v), __r) => (__l, __v, __r), - _ => panic!("symbol type mismatch") - } - } - fn __pop_Term_22discrete_22< - 'input, - >( - __symbols: &mut ::std::vec::Vec<(usize,__Symbol<'input>,usize)> - ) -> (usize, &'input str, usize) { - match __symbols.pop().unwrap() { - (__l, __Symbol::Term_22discrete_22(__v), __r) => (__l, __v, __r), - _ => panic!("symbol type mismatch") - } - } - fn __pop_Term_22end_22< - 'input, - >( - __symbols: &mut ::std::vec::Vec<(usize,__Symbol<'input>,usize)> - ) -> (usize, &'input str, usize) { - match __symbols.pop().unwrap() { - (__l, __Symbol::Term_22end_22(__v), __r) => (__l, __v, __r), - _ => panic!("symbol type mismatch") - } - } - fn __pop_Term_22equation_22< - 'input, - >( - __symbols: &mut ::std::vec::Vec<(usize,__Symbol<'input>,usize)> - ) -> (usize, &'input str, usize) { - match __symbols.pop().unwrap() { - (__l, __Symbol::Term_22equation_22(__v), __r) => (__l, __v, __r), - _ => panic!("symbol type mismatch") - } - } - fn __pop_Term_22flow_22< - 'input, - >( - __symbols: &mut ::std::vec::Vec<(usize,__Symbol<'input>,usize)> - ) -> (usize, &'input str, usize) { - match __symbols.pop().unwrap() { - (__l, __Symbol::Term_22flow_22(__v), __r) => (__l, __v, __r), - _ => panic!("symbol type mismatch") - } - } - fn __pop_Term_22input_22< - 'input, - >( - __symbols: &mut ::std::vec::Vec<(usize,__Symbol<'input>,usize)> - ) -> (usize, &'input str, usize) { - match __symbols.pop().unwrap() { - (__l, __Symbol::Term_22input_22(__v), __r) => (__l, __v, __r), - _ => panic!("symbol type mismatch") - } - } - fn __pop_Term_22model_22< - 'input, - >( - __symbols: &mut ::std::vec::Vec<(usize,__Symbol<'input>,usize)> - ) -> (usize, &'input str, usize) { - match __symbols.pop().unwrap() { - (__l, __Symbol::Term_22model_22(__v), __r) => (__l, __v, __r), - _ => panic!("symbol type mismatch") - } - } - fn __pop_Term_22output_22< - 'input, - >( - __symbols: &mut ::std::vec::Vec<(usize,__Symbol<'input>,usize)> - ) -> (usize, &'input str, usize) { - match __symbols.pop().unwrap() { - (__l, __Symbol::Term_22output_22(__v), __r) => (__l, __v, __r), - _ => panic!("symbol type mismatch") - } - } - fn __pop_Term_22parameter_22< - 'input, - >( - __symbols: &mut ::std::vec::Vec<(usize,__Symbol<'input>,usize)> - ) -> (usize, &'input str, usize) { - match __symbols.pop().unwrap() { - (__l, __Symbol::Term_22parameter_22(__v), __r) => (__l, __v, __r), - _ => panic!("symbol type mismatch") - } - } - fn __pop_Term_22stream_22< - 'input, - >( - __symbols: &mut ::std::vec::Vec<(usize,__Symbol<'input>,usize)> - ) -> (usize, &'input str, usize) { - match __symbols.pop().unwrap() { - (__l, __Symbol::Term_22stream_22(__v), __r) => (__l, __v, __r), - _ => panic!("symbol type mismatch") - } - } - fn __pop_Term_22unit_22< - 'input, - >( - __symbols: &mut ::std::vec::Vec<(usize,__Symbol<'input>,usize)> - ) -> (usize, &'input str, usize) { - match __symbols.pop().unwrap() { - (__l, __Symbol::Term_22unit_22(__v), __r) => (__l, __v, __r), - _ => panic!("symbol type mismatch") - } - } - fn __pop_Termr_23_22_5c_22_5b_5e_5c_22_5c_5c_5c_5c_5d_2a_5c_22_22_23< - 'input, - >( - __symbols: &mut ::std::vec::Vec<(usize,__Symbol<'input>,usize)> - ) -> (usize, &'input str, usize) { - match __symbols.pop().unwrap() { - (__l, __Symbol::Termr_23_22_5c_22_5b_5e_5c_22_5c_5c_5c_5c_5d_2a_5c_22_22_23(__v), __r) => (__l, __v, __r), - _ => panic!("symbol type mismatch") - } - } - fn __pop_Termr_23_22_5b_2b_2d_5d_3f_5c_5cd_2b_22_23< - 'input, - >( - __symbols: &mut ::std::vec::Vec<(usize,__Symbol<'input>,usize)> - ) -> (usize, &'input str, usize) { - match __symbols.pop().unwrap() { - (__l, __Symbol::Termr_23_22_5b_2b_2d_5d_3f_5c_5cd_2b_22_23(__v), __r) => (__l, __v, __r), - _ => panic!("symbol type mismatch") - } - } - fn __pop_Termr_23_22_5b_2b_2d_5d_3f_5c_5cd_2b_5c_5c_2e_5c_5cd_2a_28_5beE_5d_5b_2d_2b_5d_3f_5c_5cd_2b_29_3f_22_23< - 'input, - >( - __symbols: &mut ::std::vec::Vec<(usize,__Symbol<'input>,usize)> - ) -> (usize, &'input str, usize) { - match __symbols.pop().unwrap() { - (__l, __Symbol::Termr_23_22_5b_2b_2d_5d_3f_5c_5cd_2b_5c_5c_2e_5c_5cd_2a_28_5beE_5d_5b_2d_2b_5d_3f_5c_5cd_2b_29_3f_22_23(__v), __r) => (__l, __v, __r), - _ => panic!("symbol type mismatch") - } - } - fn __pop_Termr_23_22_5ba_2dzA_2dZ___5d_5ba_2dzA_2dZ__0_2d9_5d_2a_22_23< - 'input, - >( - __symbols: &mut ::std::vec::Vec<(usize,__Symbol<'input>,usize)> - ) -> (usize, &'input str, usize) { - match __symbols.pop().unwrap() { - (__l, __Symbol::Termr_23_22_5ba_2dzA_2dZ___5d_5ba_2dzA_2dZ__0_2d9_5d_2a_22_23(__v), __r) => (__l, __v, __r), - _ => panic!("symbol type mismatch") - } - } - fn __pop_Termerror< - 'input, - >( - __symbols: &mut ::std::vec::Vec<(usize,__Symbol<'input>,usize)> - ) -> (usize, __lalrpop_util::ErrorRecovery, usize) { - match __symbols.pop().unwrap() { - (__l, __Symbol::Termerror(__v), __r) => (__l, __v, __r), - _ => panic!("symbol type mismatch") - } - } - fn __pop_Nt____float< - 'input, - >( - __symbols: &mut ::std::vec::Vec<(usize,__Symbol<'input>,usize)> - ) -> (usize, f64, usize) { - match __symbols.pop().unwrap() { - (__l, __Symbol::Nt____float(__v), __r) => (__l, __v, __r), - _ => panic!("symbol type mismatch") - } - } - fn __pop_Nt____identifier< - 'input, - >( - __symbols: &mut ::std::vec::Vec<(usize,__Symbol<'input>,usize)> - ) -> (usize, String, usize) { - match __symbols.pop().unwrap() { - (__l, __Symbol::Nt____identifier(__v), __r) => (__l, __v, __r), - _ => panic!("symbol type mismatch") - } - } - fn __pop_Nt____integer< - 'input, - >( - __symbols: &mut ::std::vec::Vec<(usize,__Symbol<'input>,usize)> - ) -> (usize, i64, usize) { - match __symbols.pop().unwrap() { - (__l, __Symbol::Nt____integer(__v), __r) => (__l, __v, __r), - _ => panic!("symbol type mismatch") - } - } - fn __pop_Nt____model< - 'input, - >( - __symbols: &mut ::std::vec::Vec<(usize,__Symbol<'input>,usize)> - ) -> (usize, ModelicaModel, usize) { - match __symbols.pop().unwrap() { - (__l, __Symbol::Nt____model(__v), __r) => (__l, __v, __r), - _ => panic!("symbol type mismatch") - } - } - fn __pop_Ntcomponent__declaration< - 'input, - >( - __symbols: &mut ::std::vec::Vec<(usize,__Symbol<'input>,usize)> - ) -> (usize, Component, usize) { - match __symbols.pop().unwrap() { - (__l, __Symbol::Ntcomponent__declaration(__v), __r) => (__l, __v, __r), - _ => panic!("symbol type mismatch") - } - } - fn __pop_Ntcomponent__declaration_2a< - 'input, - >( - __symbols: &mut ::std::vec::Vec<(usize,__Symbol<'input>,usize)> - ) -> (usize, ::std::vec::Vec, usize) { - match __symbols.pop().unwrap() { - (__l, __Symbol::Ntcomponent__declaration_2a(__v), __r) => (__l, __v, __r), - _ => panic!("symbol type mismatch") - } - } - fn __pop_Ntcomponent__declaration_2b< - 'input, - >( - __symbols: &mut ::std::vec::Vec<(usize,__Symbol<'input>,usize)> - ) -> (usize, ::std::vec::Vec, usize) { - match __symbols.pop().unwrap() { - (__l, __Symbol::Ntcomponent__declaration_2b(__v), __r) => (__l, __v, __r), - _ => panic!("symbol type mismatch") - } - } - fn __pop_Ntcomponent__prefix< - 'input, - >( - __symbols: &mut ::std::vec::Vec<(usize,__Symbol<'input>,usize)> - ) -> (usize, ComponentPrefix, usize) { - match __symbols.pop().unwrap() { - (__l, __Symbol::Ntcomponent__prefix(__v), __r) => (__l, __v, __r), - _ => panic!("symbol type mismatch") - } - } - fn __pop_Ntcomponent__prefix_3f< - 'input, - >( - __symbols: &mut ::std::vec::Vec<(usize,__Symbol<'input>,usize)> - ) -> (usize, ::std::option::Option, usize) { - match __symbols.pop().unwrap() { - (__l, __Symbol::Ntcomponent__prefix_3f(__v), __r) => (__l, __v, __r), - _ => panic!("symbol type mismatch") - } - } - fn __pop_Ntconnect__clause< - 'input, - >( - __symbols: &mut ::std::vec::Vec<(usize,__Symbol<'input>,usize)> - ) -> (usize, Connection, usize) { - match __symbols.pop().unwrap() { - (__l, __Symbol::Ntconnect__clause(__v), __r) => (__l, __v, __r), - _ => panic!("symbol type mismatch") - } - } - fn __pop_Ntconnect__clause_2a< - 'input, - >( - __symbols: &mut ::std::vec::Vec<(usize,__Symbol<'input>,usize)> - ) -> (usize, ::std::vec::Vec, usize) { - match __symbols.pop().unwrap() { - (__l, __Symbol::Ntconnect__clause_2a(__v), __r) => (__l, __v, __r), - _ => panic!("symbol type mismatch") - } - } - fn __pop_Ntconnect__clause_2b< - 'input, - >( - __symbols: &mut ::std::vec::Vec<(usize,__Symbol<'input>,usize)> - ) -> (usize, ::std::vec::Vec, usize) { - match __symbols.pop().unwrap() { - (__l, __Symbol::Ntconnect__clause_2b(__v), __r) => (__l, __v, __r), - _ => panic!("symbol type mismatch") - } - } - fn __pop_Ntexpr< - 'input, - >( - __symbols: &mut ::std::vec::Vec<(usize,__Symbol<'input>,usize)> - ) -> (usize, Expr, usize) { - match __symbols.pop().unwrap() { - (__l, __Symbol::Ntexpr(__v), __r) => (__l, __v, __r), - _ => panic!("symbol type mismatch") - } - } - fn __pop_Ntfactor< - 'input, - >( - __symbols: &mut ::std::vec::Vec<(usize,__Symbol<'input>,usize)> - ) -> (usize, Expr, usize) { - match __symbols.pop().unwrap() { - (__l, __Symbol::Ntfactor(__v), __r) => (__l, __v, __r), - _ => panic!("symbol type mismatch") - } - } - fn __pop_Ntfloat< - 'input, - >( - __symbols: &mut ::std::vec::Vec<(usize,__Symbol<'input>,usize)> - ) -> (usize, f64, usize) { - match __symbols.pop().unwrap() { - (__l, __Symbol::Ntfloat(__v), __r) => (__l, __v, __r), - _ => panic!("symbol type mismatch") - } - } - fn __pop_Ntidentifier< - 'input, - >( - __symbols: &mut ::std::vec::Vec<(usize,__Symbol<'input>,usize)> - ) -> (usize, String, usize) { - match __symbols.pop().unwrap() { - (__l, __Symbol::Ntidentifier(__v), __r) => (__l, __v, __r), - _ => panic!("symbol type mismatch") - } - } - fn __pop_Ntinteger< - 'input, - >( - __symbols: &mut ::std::vec::Vec<(usize,__Symbol<'input>,usize)> - ) -> (usize, i64, usize) { - match __symbols.pop().unwrap() { - (__l, __Symbol::Ntinteger(__v), __r) => (__l, __v, __r), - _ => panic!("symbol type mismatch") - } - } - fn __pop_Ntmodel< - 'input, - >( - __symbols: &mut ::std::vec::Vec<(usize,__Symbol<'input>,usize)> - ) -> (usize, ModelicaModel, usize) { - match __symbols.pop().unwrap() { - (__l, __Symbol::Ntmodel(__v), __r) => (__l, __v, __r), - _ => panic!("symbol type mismatch") - } - } - fn __pop_Ntsimple__equation< - 'input, - >( - __symbols: &mut ::std::vec::Vec<(usize,__Symbol<'input>,usize)> - ) -> (usize, SimpleEquation, usize) { - match __symbols.pop().unwrap() { - (__l, __Symbol::Ntsimple__equation(__v), __r) => (__l, __v, __r), - _ => panic!("symbol type mismatch") - } - } - fn __pop_Ntsimple__equation_2a< - 'input, - >( - __symbols: &mut ::std::vec::Vec<(usize,__Symbol<'input>,usize)> - ) -> (usize, ::std::vec::Vec, usize) { - match __symbols.pop().unwrap() { - (__l, __Symbol::Ntsimple__equation_2a(__v), __r) => (__l, __v, __r), - _ => panic!("symbol type mismatch") - } - } - fn __pop_Ntsimple__equation_2b< - 'input, - >( - __symbols: &mut ::std::vec::Vec<(usize,__Symbol<'input>,usize)> - ) -> (usize, ::std::vec::Vec, usize) { - match __symbols.pop().unwrap() { - (__l, __Symbol::Ntsimple__equation_2b(__v), __r) => (__l, __v, __r), - _ => panic!("symbol type mismatch") - } - } - fn __pop_Ntstring__literal< - 'input, - >( - __symbols: &mut ::std::vec::Vec<(usize,__Symbol<'input>,usize)> - ) -> (usize, String, usize) { - match __symbols.pop().unwrap() { - (__l, __Symbol::Ntstring__literal(__v), __r) => (__l, __v, __r), - _ => panic!("symbol type mismatch") - } - } - fn __pop_Ntstring__literal_3f< - 'input, - >( - __symbols: &mut ::std::vec::Vec<(usize,__Symbol<'input>,usize)> - ) -> (usize, ::std::option::Option, usize) { - match __symbols.pop().unwrap() { - (__l, __Symbol::Ntstring__literal_3f(__v), __r) => (__l, __v, __r), - _ => panic!("symbol type mismatch") - } - } - fn __pop_Ntterm< - 'input, - >( - __symbols: &mut ::std::vec::Vec<(usize,__Symbol<'input>,usize)> - ) -> (usize, Expr, usize) { - match __symbols.pop().unwrap() { - (__l, __Symbol::Ntterm(__v), __r) => (__l, __v, __r), - _ => panic!("symbol type mismatch") - } - } - fn __pop_Ntunits__declaration< - 'input, - >( - __symbols: &mut ::std::vec::Vec<(usize,__Symbol<'input>,usize)> - ) -> (usize, String, usize) { - match __symbols.pop().unwrap() { - (__l, __Symbol::Ntunits__declaration(__v), __r) => (__l, __v, __r), - _ => panic!("symbol type mismatch") - } - } - fn __pop_Ntunits__declaration_3f< - 'input, - >( - __symbols: &mut ::std::vec::Vec<(usize,__Symbol<'input>,usize)> - ) -> (usize, ::std::option::Option, usize) { - match __symbols.pop().unwrap() { - (__l, __Symbol::Ntunits__declaration_3f(__v), __r) => (__l, __v, __r), - _ => panic!("symbol type mismatch") - } - } - fn __pop_Ntvalue__declaration< - 'input, - >( - __symbols: &mut ::std::vec::Vec<(usize,__Symbol<'input>,usize)> - ) -> (usize, Expr, usize) { - match __symbols.pop().unwrap() { - (__l, __Symbol::Ntvalue__declaration(__v), __r) => (__l, __v, __r), - _ => panic!("symbol type mismatch") - } - } - fn __pop_Ntvalue__declaration_3f< - 'input, - >( - __symbols: &mut ::std::vec::Vec<(usize,__Symbol<'input>,usize)> - ) -> (usize, ::std::option::Option, usize) { - match __symbols.pop().unwrap() { - (__l, __Symbol::Ntvalue__declaration_3f(__v), __r) => (__l, __v, __r), - _ => panic!("symbol type mismatch") - } - } -} -pub use self::__parse__identifier::parse_identifier; - -mod __parse__integer { - #![allow(non_snake_case, non_camel_case_types, unused_mut, unused_variables, unused_imports)] - - use std::str::FromStr; - use modelica_ast::{ModelicaModel,Component, ComponentPrefix, Connection, - SimpleEquation, Expr, BinOperator}; - extern crate lalrpop_util as __lalrpop_util; - #[allow(dead_code)] - pub enum __Symbol<'input> { - Term_22_28_22(&'input str), - Term_22_29_22(&'input str), - Term_22_2a_22(&'input str), - Term_22_2b_22(&'input str), - Term_22_2c_22(&'input str), - Term_22_2d_22(&'input str), - Term_22_2f_22(&'input str), - Term_22_3b_22(&'input str), - Term_22_3d_22(&'input str), - Term_22_5e_22(&'input str), - Term_22abs_22(&'input str), - Term_22connect_22(&'input str), - Term_22constant_22(&'input str), - Term_22der_22(&'input str), - Term_22discrete_22(&'input str), - Term_22end_22(&'input str), - Term_22equation_22(&'input str), - Term_22flow_22(&'input str), - Term_22input_22(&'input str), - Term_22model_22(&'input str), - Term_22output_22(&'input str), - Term_22parameter_22(&'input str), - Term_22stream_22(&'input str), - Term_22unit_22(&'input str), - Termr_23_22_5c_22_5b_5e_5c_22_5c_5c_5c_5c_5d_2a_5c_22_22_23(&'input str), - Termr_23_22_5b_2b_2d_5d_3f_5c_5cd_2b_22_23(&'input str), - Termr_23_22_5b_2b_2d_5d_3f_5c_5cd_2b_5c_5c_2e_5c_5cd_2a_28_5beE_5d_5b_2d_2b_5d_3f_5c_5cd_2b_29_3f_22_23(&'input str), - Termr_23_22_5ba_2dzA_2dZ___5d_5ba_2dzA_2dZ__0_2d9_5d_2a_22_23(&'input str), - Termerror(__lalrpop_util::ErrorRecovery), - Nt____float(f64), - Nt____identifier(String), - Nt____integer(i64), - Nt____model(ModelicaModel), - Ntcomponent__declaration(Component), - Ntcomponent__declaration_2a(::std::vec::Vec), - Ntcomponent__declaration_2b(::std::vec::Vec), - Ntcomponent__prefix(ComponentPrefix), - Ntcomponent__prefix_3f(::std::option::Option), - Ntconnect__clause(Connection), - Ntconnect__clause_2a(::std::vec::Vec), - Ntconnect__clause_2b(::std::vec::Vec), - Ntexpr(Expr), - Ntfactor(Expr), - Ntfloat(f64), - Ntidentifier(String), - Ntinteger(i64), - Ntmodel(ModelicaModel), - Ntsimple__equation(SimpleEquation), - Ntsimple__equation_2a(::std::vec::Vec), - Ntsimple__equation_2b(::std::vec::Vec), - Ntstring__literal(String), - Ntstring__literal_3f(::std::option::Option), - Ntterm(Expr), - Ntunits__declaration(String), - Ntunits__declaration_3f(::std::option::Option), - Ntvalue__declaration(Expr), - Ntvalue__declaration_3f(::std::option::Option), - } - const __ACTION: &'static [i32] = &[ - // State 0 - 0, 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, - // State 1 - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - // State 2 - 0, 0, 0, 0, 0, 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 __EOF_ACTION: &'static [i32] = &[ - 0, - -3, - -49, - ]; - const __GOTO: &'static [i32] = &[ - // State 0 - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - // State 1 - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - // State 2 - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - ]; - pub fn parse_integer< - 'input, - >( - input: &'input str, - ) -> Result> - { - let mut __tokens = super::__intern_token::__Matcher::new(input); - let mut __states = vec![0_i32]; - let mut __symbols = vec![]; - let mut __integer; - let mut __lookahead; - let mut __last_location = 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 { - (0, _) if true => 0, - (1, _) if true => 1, - (2, _) if true => 2, - (3, _) if true => 3, - (4, _) if true => 4, - (5, _) if true => 5, - (6, _) if true => 6, - (7, _) if true => 7, - (8, _) if true => 8, - (9, _) if true => 9, - (10, _) if true => 10, - (11, _) if true => 11, - (12, _) if true => 12, - (13, _) if true => 13, - (14, _) if true => 14, - (15, _) if true => 15, - (16, _) if true => 16, - (17, _) if true => 17, - (18, _) if true => 18, - (19, _) if true => 19, - (20, _) if true => 20, - (21, _) if true => 21, - (22, _) if true => 22, - (23, _) if true => 23, - (24, _) if true => 24, - (25, _) if true => 25, - (26, _) if true => 26, - (27, _) if true => 27, - _ => { - return Err(__lalrpop_util::ParseError::UnrecognizedToken { - token: Some(__lookahead), - expected: vec![], - }); - } - }; - '__inner: loop { - let __state = *__states.last().unwrap() as usize; - let __action = __ACTION[__state * 29 + __integer]; - if __action > 0 { - let __symbol = match __integer { - 0 => match __lookahead.1 { - (0, __tok0) => __Symbol::Term_22_28_22(__tok0), - _ => unreachable!(), - }, - 1 => match __lookahead.1 { - (1, __tok0) => __Symbol::Term_22_29_22(__tok0), - _ => unreachable!(), - }, - 2 => match __lookahead.1 { - (2, __tok0) => __Symbol::Term_22_2a_22(__tok0), - _ => unreachable!(), - }, - 3 => match __lookahead.1 { - (3, __tok0) => __Symbol::Term_22_2b_22(__tok0), - _ => unreachable!(), - }, - 4 => match __lookahead.1 { - (4, __tok0) => __Symbol::Term_22_2c_22(__tok0), - _ => unreachable!(), - }, - 5 => match __lookahead.1 { - (5, __tok0) => __Symbol::Term_22_2d_22(__tok0), - _ => unreachable!(), - }, - 6 => match __lookahead.1 { - (6, __tok0) => __Symbol::Term_22_2f_22(__tok0), - _ => unreachable!(), - }, - 7 => match __lookahead.1 { - (7, __tok0) => __Symbol::Term_22_3b_22(__tok0), - _ => unreachable!(), - }, - 8 => match __lookahead.1 { - (8, __tok0) => __Symbol::Term_22_3d_22(__tok0), - _ => unreachable!(), - }, - 9 => match __lookahead.1 { - (9, __tok0) => __Symbol::Term_22_5e_22(__tok0), - _ => unreachable!(), - }, - 10 => match __lookahead.1 { - (10, __tok0) => __Symbol::Term_22abs_22(__tok0), - _ => unreachable!(), - }, - 11 => match __lookahead.1 { - (11, __tok0) => __Symbol::Term_22connect_22(__tok0), - _ => unreachable!(), - }, - 12 => match __lookahead.1 { - (12, __tok0) => __Symbol::Term_22constant_22(__tok0), - _ => unreachable!(), - }, - 13 => match __lookahead.1 { - (13, __tok0) => __Symbol::Term_22der_22(__tok0), - _ => unreachable!(), - }, - 14 => match __lookahead.1 { - (14, __tok0) => __Symbol::Term_22discrete_22(__tok0), - _ => unreachable!(), - }, - 15 => match __lookahead.1 { - (15, __tok0) => __Symbol::Term_22end_22(__tok0), - _ => unreachable!(), - }, - 16 => match __lookahead.1 { - (16, __tok0) => __Symbol::Term_22equation_22(__tok0), - _ => unreachable!(), - }, - 17 => match __lookahead.1 { - (17, __tok0) => __Symbol::Term_22flow_22(__tok0), - _ => unreachable!(), - }, - 18 => match __lookahead.1 { - (18, __tok0) => __Symbol::Term_22input_22(__tok0), - _ => unreachable!(), - }, - 19 => match __lookahead.1 { - (19, __tok0) => __Symbol::Term_22model_22(__tok0), - _ => unreachable!(), - }, - 20 => match __lookahead.1 { - (20, __tok0) => __Symbol::Term_22output_22(__tok0), - _ => unreachable!(), - }, - 21 => match __lookahead.1 { - (21, __tok0) => __Symbol::Term_22parameter_22(__tok0), - _ => unreachable!(), - }, - 22 => match __lookahead.1 { - (22, __tok0) => __Symbol::Term_22stream_22(__tok0), - _ => unreachable!(), - }, - 23 => match __lookahead.1 { - (23, __tok0) => __Symbol::Term_22unit_22(__tok0), - _ => unreachable!(), - }, - 24 => match __lookahead.1 { - (24, __tok0) => __Symbol::Termr_23_22_5c_22_5b_5e_5c_22_5c_5c_5c_5c_5d_2a_5c_22_22_23(__tok0), - _ => unreachable!(), - }, - 25 => match __lookahead.1 { - (25, __tok0) => __Symbol::Termr_23_22_5b_2b_2d_5d_3f_5c_5cd_2b_22_23(__tok0), - _ => unreachable!(), - }, - 26 => match __lookahead.1 { - (26, __tok0) => __Symbol::Termr_23_22_5b_2b_2d_5d_3f_5c_5cd_2b_5c_5c_2e_5c_5cd_2a_28_5beE_5d_5b_2d_2b_5d_3f_5c_5cd_2b_29_3f_22_23(__tok0), - _ => unreachable!(), - }, - 27 => match __lookahead.1 { - (27, __tok0) => __Symbol::Termr_23_22_5ba_2dzA_2dZ___5d_5ba_2dzA_2dZ__0_2d9_5d_2a_22_23(__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::<()>) { - return r; - } - } else { - return Err(__lalrpop_util::ParseError::UnrecognizedToken { - token: Some(__lookahead), - expected: vec![], - }); - } - } - } - 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 __error = __lalrpop_util::ParseError::UnrecognizedToken { - token: None, - expected: vec![], - }; - return Err(__error); - } - } - } - pub fn __reduce< - 'input, - >( - input: &'input str, - __action: i32, - __lookahead_start: Option<&usize>, - __states: &mut ::std::vec::Vec, - __symbols: &mut ::std::vec::Vec<(usize,__Symbol<'input>,usize)>, - _: ::std::marker::PhantomData<()>, - ) -> Option>> - { - let __nonterminal = match -__action { - 1 => { - // __float = float => ActionFn(2); - let __sym0 = __pop_Ntfloat(__symbols); - let __start = __sym0.0.clone(); - let __end = __sym0.2.clone(); - let __nt = super::__action2::<>(input, __sym0); - let __states_len = __states.len(); - __states.truncate(__states_len - 1); - __symbols.push((__start, __Symbol::Nt____float(__nt), __end)); - 0 - } - 2 => { - // __identifier = identifier => ActionFn(0); - let __sym0 = __pop_Ntidentifier(__symbols); - let __start = __sym0.0.clone(); - let __end = __sym0.2.clone(); - let __nt = super::__action0::<>(input, __sym0); - let __states_len = __states.len(); - __states.truncate(__states_len - 1); - __symbols.push((__start, __Symbol::Nt____identifier(__nt), __end)); - 1 - } - 3 => { - // __integer = integer => ActionFn(1); - let __sym0 = __pop_Ntinteger(__symbols); - let __start = __sym0.0.clone(); - let __end = __sym0.2.clone(); - let __nt = super::__action1::<>(input, __sym0); - return Some(Ok(__nt)); - } - 4 => { - // __model = model => ActionFn(3); - let __sym0 = __pop_Ntmodel(__symbols); - let __start = __sym0.0.clone(); - let __end = __sym0.2.clone(); - let __nt = super::__action3::<>(input, __sym0); - let __states_len = __states.len(); - __states.truncate(__states_len - 1); - __symbols.push((__start, __Symbol::Nt____model(__nt), __end)); - 3 - } - 5 => { - // component_declaration = component_prefix, identifier, identifier, units_declaration, value_declaration, string_literal, ";" => ActionFn(83); - let __sym6 = __pop_Term_22_3b_22(__symbols); - let __sym5 = __pop_Ntstring__literal(__symbols); - let __sym4 = __pop_Ntvalue__declaration(__symbols); - let __sym3 = __pop_Ntunits__declaration(__symbols); - let __sym2 = __pop_Ntidentifier(__symbols); - let __sym1 = __pop_Ntidentifier(__symbols); - let __sym0 = __pop_Ntcomponent__prefix(__symbols); - let __start = __sym0.0.clone(); - let __end = __sym6.2.clone(); - let __nt = super::__action83::<>(input, __sym0, __sym1, __sym2, __sym3, __sym4, __sym5, __sym6); - let __states_len = __states.len(); - __states.truncate(__states_len - 7); - __symbols.push((__start, __Symbol::Ntcomponent__declaration(__nt), __end)); - 4 - } - 6 => { - // component_declaration = component_prefix, identifier, identifier, units_declaration, string_literal, ";" => ActionFn(84); - let __sym5 = __pop_Term_22_3b_22(__symbols); - let __sym4 = __pop_Ntstring__literal(__symbols); - let __sym3 = __pop_Ntunits__declaration(__symbols); - let __sym2 = __pop_Ntidentifier(__symbols); - let __sym1 = __pop_Ntidentifier(__symbols); - let __sym0 = __pop_Ntcomponent__prefix(__symbols); - let __start = __sym0.0.clone(); - let __end = __sym5.2.clone(); - let __nt = super::__action84::<>(input, __sym0, __sym1, __sym2, __sym3, __sym4, __sym5); - let __states_len = __states.len(); - __states.truncate(__states_len - 6); - __symbols.push((__start, __Symbol::Ntcomponent__declaration(__nt), __end)); - 4 - } - 7 => { - // component_declaration = component_prefix, identifier, identifier, value_declaration, string_literal, ";" => ActionFn(85); - let __sym5 = __pop_Term_22_3b_22(__symbols); - let __sym4 = __pop_Ntstring__literal(__symbols); - let __sym3 = __pop_Ntvalue__declaration(__symbols); - let __sym2 = __pop_Ntidentifier(__symbols); - let __sym1 = __pop_Ntidentifier(__symbols); - let __sym0 = __pop_Ntcomponent__prefix(__symbols); - let __start = __sym0.0.clone(); - let __end = __sym5.2.clone(); - let __nt = super::__action85::<>(input, __sym0, __sym1, __sym2, __sym3, __sym4, __sym5); - let __states_len = __states.len(); - __states.truncate(__states_len - 6); - __symbols.push((__start, __Symbol::Ntcomponent__declaration(__nt), __end)); - 4 - } - 8 => { - // component_declaration = component_prefix, identifier, identifier, string_literal, ";" => ActionFn(86); - let __sym4 = __pop_Term_22_3b_22(__symbols); - let __sym3 = __pop_Ntstring__literal(__symbols); - let __sym2 = __pop_Ntidentifier(__symbols); - let __sym1 = __pop_Ntidentifier(__symbols); - let __sym0 = __pop_Ntcomponent__prefix(__symbols); - let __start = __sym0.0.clone(); - let __end = __sym4.2.clone(); - let __nt = super::__action86::<>(input, __sym0, __sym1, __sym2, __sym3, __sym4); - let __states_len = __states.len(); - __states.truncate(__states_len - 5); - __symbols.push((__start, __Symbol::Ntcomponent__declaration(__nt), __end)); - 4 - } - 9 => { - // component_declaration = component_prefix, identifier, identifier, units_declaration, value_declaration, ";" => ActionFn(87); - let __sym5 = __pop_Term_22_3b_22(__symbols); - let __sym4 = __pop_Ntvalue__declaration(__symbols); - let __sym3 = __pop_Ntunits__declaration(__symbols); - let __sym2 = __pop_Ntidentifier(__symbols); - let __sym1 = __pop_Ntidentifier(__symbols); - let __sym0 = __pop_Ntcomponent__prefix(__symbols); - let __start = __sym0.0.clone(); - let __end = __sym5.2.clone(); - let __nt = super::__action87::<>(input, __sym0, __sym1, __sym2, __sym3, __sym4, __sym5); - let __states_len = __states.len(); - __states.truncate(__states_len - 6); - __symbols.push((__start, __Symbol::Ntcomponent__declaration(__nt), __end)); - 4 - } - 10 => { - // component_declaration = component_prefix, identifier, identifier, units_declaration, ";" => ActionFn(88); - let __sym4 = __pop_Term_22_3b_22(__symbols); - let __sym3 = __pop_Ntunits__declaration(__symbols); - let __sym2 = __pop_Ntidentifier(__symbols); - let __sym1 = __pop_Ntidentifier(__symbols); - let __sym0 = __pop_Ntcomponent__prefix(__symbols); - let __start = __sym0.0.clone(); - let __end = __sym4.2.clone(); - let __nt = super::__action88::<>(input, __sym0, __sym1, __sym2, __sym3, __sym4); - let __states_len = __states.len(); - __states.truncate(__states_len - 5); - __symbols.push((__start, __Symbol::Ntcomponent__declaration(__nt), __end)); - 4 - } - 11 => { - // component_declaration = component_prefix, identifier, identifier, value_declaration, ";" => ActionFn(89); - let __sym4 = __pop_Term_22_3b_22(__symbols); - let __sym3 = __pop_Ntvalue__declaration(__symbols); - let __sym2 = __pop_Ntidentifier(__symbols); - let __sym1 = __pop_Ntidentifier(__symbols); - let __sym0 = __pop_Ntcomponent__prefix(__symbols); - let __start = __sym0.0.clone(); - let __end = __sym4.2.clone(); - let __nt = super::__action89::<>(input, __sym0, __sym1, __sym2, __sym3, __sym4); - let __states_len = __states.len(); - __states.truncate(__states_len - 5); - __symbols.push((__start, __Symbol::Ntcomponent__declaration(__nt), __end)); - 4 - } - 12 => { - // component_declaration = component_prefix, identifier, identifier, ";" => ActionFn(90); - let __sym3 = __pop_Term_22_3b_22(__symbols); - let __sym2 = __pop_Ntidentifier(__symbols); - let __sym1 = __pop_Ntidentifier(__symbols); - let __sym0 = __pop_Ntcomponent__prefix(__symbols); - let __start = __sym0.0.clone(); - let __end = __sym3.2.clone(); - let __nt = super::__action90::<>(input, __sym0, __sym1, __sym2, __sym3); - let __states_len = __states.len(); - __states.truncate(__states_len - 4); - __symbols.push((__start, __Symbol::Ntcomponent__declaration(__nt), __end)); - 4 - } - 13 => { - // component_declaration = identifier, identifier, units_declaration, value_declaration, string_literal, ";" => ActionFn(91); - let __sym5 = __pop_Term_22_3b_22(__symbols); - let __sym4 = __pop_Ntstring__literal(__symbols); - let __sym3 = __pop_Ntvalue__declaration(__symbols); - let __sym2 = __pop_Ntunits__declaration(__symbols); - let __sym1 = __pop_Ntidentifier(__symbols); - let __sym0 = __pop_Ntidentifier(__symbols); - let __start = __sym0.0.clone(); - let __end = __sym5.2.clone(); - let __nt = super::__action91::<>(input, __sym0, __sym1, __sym2, __sym3, __sym4, __sym5); - let __states_len = __states.len(); - __states.truncate(__states_len - 6); - __symbols.push((__start, __Symbol::Ntcomponent__declaration(__nt), __end)); - 4 - } - 14 => { - // component_declaration = identifier, identifier, units_declaration, string_literal, ";" => ActionFn(92); - let __sym4 = __pop_Term_22_3b_22(__symbols); - let __sym3 = __pop_Ntstring__literal(__symbols); - let __sym2 = __pop_Ntunits__declaration(__symbols); - let __sym1 = __pop_Ntidentifier(__symbols); - let __sym0 = __pop_Ntidentifier(__symbols); - let __start = __sym0.0.clone(); - let __end = __sym4.2.clone(); - let __nt = super::__action92::<>(input, __sym0, __sym1, __sym2, __sym3, __sym4); - let __states_len = __states.len(); - __states.truncate(__states_len - 5); - __symbols.push((__start, __Symbol::Ntcomponent__declaration(__nt), __end)); - 4 - } - 15 => { - // component_declaration = identifier, identifier, value_declaration, string_literal, ";" => ActionFn(93); - let __sym4 = __pop_Term_22_3b_22(__symbols); - let __sym3 = __pop_Ntstring__literal(__symbols); - let __sym2 = __pop_Ntvalue__declaration(__symbols); - let __sym1 = __pop_Ntidentifier(__symbols); - let __sym0 = __pop_Ntidentifier(__symbols); - let __start = __sym0.0.clone(); - let __end = __sym4.2.clone(); - let __nt = super::__action93::<>(input, __sym0, __sym1, __sym2, __sym3, __sym4); - let __states_len = __states.len(); - __states.truncate(__states_len - 5); - __symbols.push((__start, __Symbol::Ntcomponent__declaration(__nt), __end)); - 4 - } - 16 => { - // component_declaration = identifier, identifier, string_literal, ";" => ActionFn(94); - let __sym3 = __pop_Term_22_3b_22(__symbols); - let __sym2 = __pop_Ntstring__literal(__symbols); - let __sym1 = __pop_Ntidentifier(__symbols); - let __sym0 = __pop_Ntidentifier(__symbols); - let __start = __sym0.0.clone(); - let __end = __sym3.2.clone(); - let __nt = super::__action94::<>(input, __sym0, __sym1, __sym2, __sym3); - let __states_len = __states.len(); - __states.truncate(__states_len - 4); - __symbols.push((__start, __Symbol::Ntcomponent__declaration(__nt), __end)); - 4 - } - 17 => { - // component_declaration = identifier, identifier, units_declaration, value_declaration, ";" => ActionFn(95); - let __sym4 = __pop_Term_22_3b_22(__symbols); - let __sym3 = __pop_Ntvalue__declaration(__symbols); - let __sym2 = __pop_Ntunits__declaration(__symbols); - let __sym1 = __pop_Ntidentifier(__symbols); - let __sym0 = __pop_Ntidentifier(__symbols); - let __start = __sym0.0.clone(); - let __end = __sym4.2.clone(); - let __nt = super::__action95::<>(input, __sym0, __sym1, __sym2, __sym3, __sym4); - let __states_len = __states.len(); - __states.truncate(__states_len - 5); - __symbols.push((__start, __Symbol::Ntcomponent__declaration(__nt), __end)); - 4 - } - 18 => { - // component_declaration = identifier, identifier, units_declaration, ";" => ActionFn(96); - let __sym3 = __pop_Term_22_3b_22(__symbols); - let __sym2 = __pop_Ntunits__declaration(__symbols); - let __sym1 = __pop_Ntidentifier(__symbols); - let __sym0 = __pop_Ntidentifier(__symbols); - let __start = __sym0.0.clone(); - let __end = __sym3.2.clone(); - let __nt = super::__action96::<>(input, __sym0, __sym1, __sym2, __sym3); - let __states_len = __states.len(); - __states.truncate(__states_len - 4); - __symbols.push((__start, __Symbol::Ntcomponent__declaration(__nt), __end)); - 4 - } - 19 => { - // component_declaration = identifier, identifier, value_declaration, ";" => ActionFn(97); - let __sym3 = __pop_Term_22_3b_22(__symbols); - let __sym2 = __pop_Ntvalue__declaration(__symbols); - let __sym1 = __pop_Ntidentifier(__symbols); - let __sym0 = __pop_Ntidentifier(__symbols); - let __start = __sym0.0.clone(); - let __end = __sym3.2.clone(); - let __nt = super::__action97::<>(input, __sym0, __sym1, __sym2, __sym3); - let __states_len = __states.len(); - __states.truncate(__states_len - 4); - __symbols.push((__start, __Symbol::Ntcomponent__declaration(__nt), __end)); - 4 - } - 20 => { - // component_declaration = identifier, identifier, ";" => ActionFn(98); - let __sym2 = __pop_Term_22_3b_22(__symbols); - let __sym1 = __pop_Ntidentifier(__symbols); - let __sym0 = __pop_Ntidentifier(__symbols); - let __start = __sym0.0.clone(); - let __end = __sym2.2.clone(); - let __nt = super::__action98::<>(input, __sym0, __sym1, __sym2); - let __states_len = __states.len(); - __states.truncate(__states_len - 3); - __symbols.push((__start, __Symbol::Ntcomponent__declaration(__nt), __end)); - 4 - } - 21 => { - // component_declaration* = => ActionFn(47); - 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::__action47::<>(input, &__start, &__end); - let __states_len = __states.len(); - __states.truncate(__states_len - 0); - __symbols.push((__start, __Symbol::Ntcomponent__declaration_2a(__nt), __end)); - 5 - } - 22 => { - // component_declaration* = component_declaration+ => ActionFn(48); - let __sym0 = __pop_Ntcomponent__declaration_2b(__symbols); - let __start = __sym0.0.clone(); - let __end = __sym0.2.clone(); - let __nt = super::__action48::<>(input, __sym0); - let __states_len = __states.len(); - __states.truncate(__states_len - 1); - __symbols.push((__start, __Symbol::Ntcomponent__declaration_2a(__nt), __end)); - 5 - } - 23 => { - // component_declaration+ = component_declaration => ActionFn(49); - let __sym0 = __pop_Ntcomponent__declaration(__symbols); - let __start = __sym0.0.clone(); - let __end = __sym0.2.clone(); - let __nt = super::__action49::<>(input, __sym0); - let __states_len = __states.len(); - __states.truncate(__states_len - 1); - __symbols.push((__start, __Symbol::Ntcomponent__declaration_2b(__nt), __end)); - 6 - } - 24 => { - // component_declaration+ = component_declaration+, component_declaration => ActionFn(50); - let __sym1 = __pop_Ntcomponent__declaration(__symbols); - let __sym0 = __pop_Ntcomponent__declaration_2b(__symbols); - let __start = __sym0.0.clone(); - let __end = __sym1.2.clone(); - let __nt = super::__action50::<>(input, __sym0, __sym1); - let __states_len = __states.len(); - __states.truncate(__states_len - 2); - __symbols.push((__start, __Symbol::Ntcomponent__declaration_2b(__nt), __end)); - 6 - } - 25 => { - // component_prefix = "flow" => ActionFn(12); - let __sym0 = __pop_Term_22flow_22(__symbols); - let __start = __sym0.0.clone(); - let __end = __sym0.2.clone(); - let __nt = super::__action12::<>(input, __sym0); - let __states_len = __states.len(); - __states.truncate(__states_len - 1); - __symbols.push((__start, __Symbol::Ntcomponent__prefix(__nt), __end)); - 7 - } - 26 => { - // component_prefix = "stream" => ActionFn(13); - let __sym0 = __pop_Term_22stream_22(__symbols); - let __start = __sym0.0.clone(); - let __end = __sym0.2.clone(); - let __nt = super::__action13::<>(input, __sym0); - let __states_len = __states.len(); - __states.truncate(__states_len - 1); - __symbols.push((__start, __Symbol::Ntcomponent__prefix(__nt), __end)); - 7 - } - 27 => { - // component_prefix = "input" => ActionFn(14); - let __sym0 = __pop_Term_22input_22(__symbols); - let __start = __sym0.0.clone(); - let __end = __sym0.2.clone(); - let __nt = super::__action14::<>(input, __sym0); - let __states_len = __states.len(); - __states.truncate(__states_len - 1); - __symbols.push((__start, __Symbol::Ntcomponent__prefix(__nt), __end)); - 7 - } - 28 => { - // component_prefix = "output" => ActionFn(15); - let __sym0 = __pop_Term_22output_22(__symbols); - let __start = __sym0.0.clone(); - let __end = __sym0.2.clone(); - let __nt = super::__action15::<>(input, __sym0); - let __states_len = __states.len(); - __states.truncate(__states_len - 1); - __symbols.push((__start, __Symbol::Ntcomponent__prefix(__nt), __end)); - 7 - } - 29 => { - // component_prefix = "discrete" => ActionFn(16); - let __sym0 = __pop_Term_22discrete_22(__symbols); - let __start = __sym0.0.clone(); - let __end = __sym0.2.clone(); - let __nt = super::__action16::<>(input, __sym0); - let __states_len = __states.len(); - __states.truncate(__states_len - 1); - __symbols.push((__start, __Symbol::Ntcomponent__prefix(__nt), __end)); - 7 - } - 30 => { - // component_prefix = "parameter" => ActionFn(17); - let __sym0 = __pop_Term_22parameter_22(__symbols); - let __start = __sym0.0.clone(); - let __end = __sym0.2.clone(); - let __nt = super::__action17::<>(input, __sym0); - let __states_len = __states.len(); - __states.truncate(__states_len - 1); - __symbols.push((__start, __Symbol::Ntcomponent__prefix(__nt), __end)); - 7 - } - 31 => { - // component_prefix = "constant" => ActionFn(18); - let __sym0 = __pop_Term_22constant_22(__symbols); - let __start = __sym0.0.clone(); - let __end = __sym0.2.clone(); - let __nt = super::__action18::<>(input, __sym0); - let __states_len = __states.len(); - __states.truncate(__states_len - 1); - __symbols.push((__start, __Symbol::Ntcomponent__prefix(__nt), __end)); - 7 - } - 32 => { - // component_prefix? = component_prefix => ActionFn(41); - let __sym0 = __pop_Ntcomponent__prefix(__symbols); - let __start = __sym0.0.clone(); - let __end = __sym0.2.clone(); - let __nt = super::__action41::<>(input, __sym0); - let __states_len = __states.len(); - __states.truncate(__states_len - 1); - __symbols.push((__start, __Symbol::Ntcomponent__prefix_3f(__nt), __end)); - 8 - } - 33 => { - // component_prefix? = => ActionFn(42); - 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::__action42::<>(input, &__start, &__end); - let __states_len = __states.len(); - __states.truncate(__states_len - 0); - __symbols.push((__start, __Symbol::Ntcomponent__prefix_3f(__nt), __end)); - 8 - } - 34 => { - // connect_clause = "connect", "(", identifier, ",", identifier, ")", ";" => ActionFn(20); - let __sym6 = __pop_Term_22_3b_22(__symbols); - let __sym5 = __pop_Term_22_29_22(__symbols); - let __sym4 = __pop_Ntidentifier(__symbols); - let __sym3 = __pop_Term_22_2c_22(__symbols); - let __sym2 = __pop_Ntidentifier(__symbols); - let __sym1 = __pop_Term_22_28_22(__symbols); - let __sym0 = __pop_Term_22connect_22(__symbols); - let __start = __sym0.0.clone(); - let __end = __sym6.2.clone(); - let __nt = super::__action20::<>(input, __sym0, __sym1, __sym2, __sym3, __sym4, __sym5, __sym6); - let __states_len = __states.len(); - __states.truncate(__states_len - 7); - __symbols.push((__start, __Symbol::Ntconnect__clause(__nt), __end)); - 9 - } - 35 => { - // connect_clause* = => ActionFn(45); - 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::__action45::<>(input, &__start, &__end); - let __states_len = __states.len(); - __states.truncate(__states_len - 0); - __symbols.push((__start, __Symbol::Ntconnect__clause_2a(__nt), __end)); - 10 - } - 36 => { - // connect_clause* = connect_clause+ => ActionFn(46); - let __sym0 = __pop_Ntconnect__clause_2b(__symbols); - let __start = __sym0.0.clone(); - let __end = __sym0.2.clone(); - let __nt = super::__action46::<>(input, __sym0); - let __states_len = __states.len(); - __states.truncate(__states_len - 1); - __symbols.push((__start, __Symbol::Ntconnect__clause_2a(__nt), __end)); - 10 - } - 37 => { - // connect_clause+ = connect_clause => ActionFn(51); - let __sym0 = __pop_Ntconnect__clause(__symbols); - let __start = __sym0.0.clone(); - let __end = __sym0.2.clone(); - let __nt = super::__action51::<>(input, __sym0); - let __states_len = __states.len(); - __states.truncate(__states_len - 1); - __symbols.push((__start, __Symbol::Ntconnect__clause_2b(__nt), __end)); - 11 - } - 38 => { - // connect_clause+ = connect_clause+, connect_clause => ActionFn(52); - let __sym1 = __pop_Ntconnect__clause(__symbols); - let __sym0 = __pop_Ntconnect__clause_2b(__symbols); - let __start = __sym0.0.clone(); - let __end = __sym1.2.clone(); - let __nt = super::__action52::<>(input, __sym0, __sym1); - let __states_len = __states.len(); - __states.truncate(__states_len - 2); - __symbols.push((__start, __Symbol::Ntconnect__clause_2b(__nt), __end)); - 11 - } - 39 => { - // expr = expr, "+", factor => ActionFn(21); - let __sym2 = __pop_Ntfactor(__symbols); - let __sym1 = __pop_Term_22_2b_22(__symbols); - let __sym0 = __pop_Ntexpr(__symbols); - let __start = __sym0.0.clone(); - let __end = __sym2.2.clone(); - let __nt = super::__action21::<>(input, __sym0, __sym1, __sym2); - let __states_len = __states.len(); - __states.truncate(__states_len - 3); - __symbols.push((__start, __Symbol::Ntexpr(__nt), __end)); - 12 - } - 40 => { - // expr = expr, "-", factor => ActionFn(22); - let __sym2 = __pop_Ntfactor(__symbols); - let __sym1 = __pop_Term_22_2d_22(__symbols); - let __sym0 = __pop_Ntexpr(__symbols); - let __start = __sym0.0.clone(); - let __end = __sym2.2.clone(); - let __nt = super::__action22::<>(input, __sym0, __sym1, __sym2); - let __states_len = __states.len(); - __states.truncate(__states_len - 3); - __symbols.push((__start, __Symbol::Ntexpr(__nt), __end)); - 12 - } - 41 => { - // expr = factor => ActionFn(23); - let __sym0 = __pop_Ntfactor(__symbols); - let __start = __sym0.0.clone(); - let __end = __sym0.2.clone(); - let __nt = super::__action23::<>(input, __sym0); - let __states_len = __states.len(); - __states.truncate(__states_len - 1); - __symbols.push((__start, __Symbol::Ntexpr(__nt), __end)); - 12 - } - 42 => { - // factor = factor, "*", term => ActionFn(24); - let __sym2 = __pop_Ntterm(__symbols); - let __sym1 = __pop_Term_22_2a_22(__symbols); - let __sym0 = __pop_Ntfactor(__symbols); - let __start = __sym0.0.clone(); - let __end = __sym2.2.clone(); - let __nt = super::__action24::<>(input, __sym0, __sym1, __sym2); - let __states_len = __states.len(); - __states.truncate(__states_len - 3); - __symbols.push((__start, __Symbol::Ntfactor(__nt), __end)); - 13 - } - 43 => { - // factor = factor, "/", term => ActionFn(25); - let __sym2 = __pop_Ntterm(__symbols); - let __sym1 = __pop_Term_22_2f_22(__symbols); - let __sym0 = __pop_Ntfactor(__symbols); - let __start = __sym0.0.clone(); - let __end = __sym2.2.clone(); - let __nt = super::__action25::<>(input, __sym0, __sym1, __sym2); - let __states_len = __states.len(); - __states.truncate(__states_len - 3); - __symbols.push((__start, __Symbol::Ntfactor(__nt), __end)); - 13 - } - 44 => { - // factor = factor, "^", term => ActionFn(26); - let __sym2 = __pop_Ntterm(__symbols); - let __sym1 = __pop_Term_22_5e_22(__symbols); - let __sym0 = __pop_Ntfactor(__symbols); - let __start = __sym0.0.clone(); - let __end = __sym2.2.clone(); - let __nt = super::__action26::<>(input, __sym0, __sym1, __sym2); - let __states_len = __states.len(); - __states.truncate(__states_len - 3); - __symbols.push((__start, __Symbol::Ntfactor(__nt), __end)); - 13 - } - 45 => { - // factor = "-", term => ActionFn(27); - let __sym1 = __pop_Ntterm(__symbols); - let __sym0 = __pop_Term_22_2d_22(__symbols); - let __start = __sym0.0.clone(); - let __end = __sym1.2.clone(); - let __nt = super::__action27::<>(input, __sym0, __sym1); - let __states_len = __states.len(); - __states.truncate(__states_len - 2); - __symbols.push((__start, __Symbol::Ntfactor(__nt), __end)); - 13 - } - 46 => { - // factor = term => ActionFn(28); - let __sym0 = __pop_Ntterm(__symbols); - let __start = __sym0.0.clone(); - let __end = __sym0.2.clone(); - let __nt = super::__action28::<>(input, __sym0); - let __states_len = __states.len(); - __states.truncate(__states_len - 1); - __symbols.push((__start, __Symbol::Ntfactor(__nt), __end)); - 13 - } - 47 => { - // float = r#"[+-]?\\d+\\.\\d*([eE][-+]?\\d+)?"# => ActionFn(7); - let __sym0 = __pop_Termr_23_22_5b_2b_2d_5d_3f_5c_5cd_2b_5c_5c_2e_5c_5cd_2a_28_5beE_5d_5b_2d_2b_5d_3f_5c_5cd_2b_29_3f_22_23(__symbols); - let __start = __sym0.0.clone(); - let __end = __sym0.2.clone(); - let __nt = super::__action7::<>(input, __sym0); - let __states_len = __states.len(); - __states.truncate(__states_len - 1); - __symbols.push((__start, __Symbol::Ntfloat(__nt), __end)); - 14 - } - 48 => { - // identifier = r#"[a-zA-Z_][a-zA-Z_0-9]*"# => ActionFn(4); - let __sym0 = __pop_Termr_23_22_5ba_2dzA_2dZ___5d_5ba_2dzA_2dZ__0_2d9_5d_2a_22_23(__symbols); - let __start = __sym0.0.clone(); - let __end = __sym0.2.clone(); - let __nt = super::__action4::<>(input, __sym0); - let __states_len = __states.len(); - __states.truncate(__states_len - 1); - __symbols.push((__start, __Symbol::Ntidentifier(__nt), __end)); - 15 - } - 49 => { - // integer = r#"[+-]?\\d+"# => ActionFn(6); - let __sym0 = __pop_Termr_23_22_5b_2b_2d_5d_3f_5c_5cd_2b_22_23(__symbols); - let __start = __sym0.0.clone(); - let __end = __sym0.2.clone(); - let __nt = super::__action6::<>(input, __sym0); - let __states_len = __states.len(); - __states.truncate(__states_len - 1); - __symbols.push((__start, __Symbol::Ntinteger(__nt), __end)); - 16 - } - 50 => { - // model = "model", identifier, "equation", "end", identifier, ";" => ActionFn(63); - let __sym5 = __pop_Term_22_3b_22(__symbols); - let __sym4 = __pop_Ntidentifier(__symbols); - let __sym3 = __pop_Term_22end_22(__symbols); - let __sym2 = __pop_Term_22equation_22(__symbols); - let __sym1 = __pop_Ntidentifier(__symbols); - let __sym0 = __pop_Term_22model_22(__symbols); - let __start = __sym0.0.clone(); - let __end = __sym5.2.clone(); - let __nt = super::__action63::<>(input, __sym0, __sym1, __sym2, __sym3, __sym4, __sym5); - let __states_len = __states.len(); - __states.truncate(__states_len - 6); - __symbols.push((__start, __Symbol::Ntmodel(__nt), __end)); - 17 - } - 51 => { - // model = "model", identifier, "equation", simple_equation+, "end", identifier, ";" => ActionFn(64); - let __sym6 = __pop_Term_22_3b_22(__symbols); - let __sym5 = __pop_Ntidentifier(__symbols); - let __sym4 = __pop_Term_22end_22(__symbols); - let __sym3 = __pop_Ntsimple__equation_2b(__symbols); - let __sym2 = __pop_Term_22equation_22(__symbols); - let __sym1 = __pop_Ntidentifier(__symbols); - let __sym0 = __pop_Term_22model_22(__symbols); - let __start = __sym0.0.clone(); - let __end = __sym6.2.clone(); - let __nt = super::__action64::<>(input, __sym0, __sym1, __sym2, __sym3, __sym4, __sym5, __sym6); - let __states_len = __states.len(); - __states.truncate(__states_len - 7); - __symbols.push((__start, __Symbol::Ntmodel(__nt), __end)); - 17 - } - 52 => { - // model = "model", identifier, "equation", connect_clause+, "end", identifier, ";" => ActionFn(65); - let __sym6 = __pop_Term_22_3b_22(__symbols); - let __sym5 = __pop_Ntidentifier(__symbols); - let __sym4 = __pop_Term_22end_22(__symbols); - let __sym3 = __pop_Ntconnect__clause_2b(__symbols); - let __sym2 = __pop_Term_22equation_22(__symbols); - let __sym1 = __pop_Ntidentifier(__symbols); - let __sym0 = __pop_Term_22model_22(__symbols); - let __start = __sym0.0.clone(); - let __end = __sym6.2.clone(); - let __nt = super::__action65::<>(input, __sym0, __sym1, __sym2, __sym3, __sym4, __sym5, __sym6); - let __states_len = __states.len(); - __states.truncate(__states_len - 7); - __symbols.push((__start, __Symbol::Ntmodel(__nt), __end)); - 17 - } - 53 => { - // model = "model", identifier, "equation", connect_clause+, simple_equation+, "end", identifier, ";" => ActionFn(66); - let __sym7 = __pop_Term_22_3b_22(__symbols); - let __sym6 = __pop_Ntidentifier(__symbols); - let __sym5 = __pop_Term_22end_22(__symbols); - let __sym4 = __pop_Ntsimple__equation_2b(__symbols); - let __sym3 = __pop_Ntconnect__clause_2b(__symbols); - let __sym2 = __pop_Term_22equation_22(__symbols); - let __sym1 = __pop_Ntidentifier(__symbols); - let __sym0 = __pop_Term_22model_22(__symbols); - let __start = __sym0.0.clone(); - let __end = __sym7.2.clone(); - let __nt = super::__action66::<>(input, __sym0, __sym1, __sym2, __sym3, __sym4, __sym5, __sym6, __sym7); - let __states_len = __states.len(); - __states.truncate(__states_len - 8); - __symbols.push((__start, __Symbol::Ntmodel(__nt), __end)); - 17 - } - 54 => { - // model = "model", identifier, component_declaration+, "equation", "end", identifier, ";" => ActionFn(67); - let __sym6 = __pop_Term_22_3b_22(__symbols); - let __sym5 = __pop_Ntidentifier(__symbols); - let __sym4 = __pop_Term_22end_22(__symbols); - let __sym3 = __pop_Term_22equation_22(__symbols); - let __sym2 = __pop_Ntcomponent__declaration_2b(__symbols); - let __sym1 = __pop_Ntidentifier(__symbols); - let __sym0 = __pop_Term_22model_22(__symbols); - let __start = __sym0.0.clone(); - let __end = __sym6.2.clone(); - let __nt = super::__action67::<>(input, __sym0, __sym1, __sym2, __sym3, __sym4, __sym5, __sym6); - let __states_len = __states.len(); - __states.truncate(__states_len - 7); - __symbols.push((__start, __Symbol::Ntmodel(__nt), __end)); - 17 - } - 55 => { - // model = "model", identifier, component_declaration+, "equation", simple_equation+, "end", identifier, ";" => ActionFn(68); - let __sym7 = __pop_Term_22_3b_22(__symbols); - let __sym6 = __pop_Ntidentifier(__symbols); - let __sym5 = __pop_Term_22end_22(__symbols); - let __sym4 = __pop_Ntsimple__equation_2b(__symbols); - let __sym3 = __pop_Term_22equation_22(__symbols); - let __sym2 = __pop_Ntcomponent__declaration_2b(__symbols); - let __sym1 = __pop_Ntidentifier(__symbols); - let __sym0 = __pop_Term_22model_22(__symbols); - let __start = __sym0.0.clone(); - let __end = __sym7.2.clone(); - let __nt = super::__action68::<>(input, __sym0, __sym1, __sym2, __sym3, __sym4, __sym5, __sym6, __sym7); - let __states_len = __states.len(); - __states.truncate(__states_len - 8); - __symbols.push((__start, __Symbol::Ntmodel(__nt), __end)); - 17 - } - 56 => { - // model = "model", identifier, component_declaration+, "equation", connect_clause+, "end", identifier, ";" => ActionFn(69); - let __sym7 = __pop_Term_22_3b_22(__symbols); - let __sym6 = __pop_Ntidentifier(__symbols); - let __sym5 = __pop_Term_22end_22(__symbols); - let __sym4 = __pop_Ntconnect__clause_2b(__symbols); - let __sym3 = __pop_Term_22equation_22(__symbols); - let __sym2 = __pop_Ntcomponent__declaration_2b(__symbols); - let __sym1 = __pop_Ntidentifier(__symbols); - let __sym0 = __pop_Term_22model_22(__symbols); - let __start = __sym0.0.clone(); - let __end = __sym7.2.clone(); - let __nt = super::__action69::<>(input, __sym0, __sym1, __sym2, __sym3, __sym4, __sym5, __sym6, __sym7); - let __states_len = __states.len(); - __states.truncate(__states_len - 8); - __symbols.push((__start, __Symbol::Ntmodel(__nt), __end)); - 17 - } - 57 => { - // model = "model", identifier, component_declaration+, "equation", connect_clause+, simple_equation+, "end", identifier, ";" => ActionFn(70); - let __sym8 = __pop_Term_22_3b_22(__symbols); - let __sym7 = __pop_Ntidentifier(__symbols); - let __sym6 = __pop_Term_22end_22(__symbols); - let __sym5 = __pop_Ntsimple__equation_2b(__symbols); - let __sym4 = __pop_Ntconnect__clause_2b(__symbols); - let __sym3 = __pop_Term_22equation_22(__symbols); - let __sym2 = __pop_Ntcomponent__declaration_2b(__symbols); - let __sym1 = __pop_Ntidentifier(__symbols); - let __sym0 = __pop_Term_22model_22(__symbols); - let __start = __sym0.0.clone(); - let __end = __sym8.2.clone(); - let __nt = super::__action70::<>(input, __sym0, __sym1, __sym2, __sym3, __sym4, __sym5, __sym6, __sym7, __sym8); - let __states_len = __states.len(); - __states.truncate(__states_len - 9); - __symbols.push((__start, __Symbol::Ntmodel(__nt), __end)); - 17 - } - 58 => { - // simple_equation = expr, "=", expr, ";" => ActionFn(19); - let __sym3 = __pop_Term_22_3b_22(__symbols); - let __sym2 = __pop_Ntexpr(__symbols); - let __sym1 = __pop_Term_22_3d_22(__symbols); - let __sym0 = __pop_Ntexpr(__symbols); - let __start = __sym0.0.clone(); - let __end = __sym3.2.clone(); - let __nt = super::__action19::<>(input, __sym0, __sym1, __sym2, __sym3); - let __states_len = __states.len(); - __states.truncate(__states_len - 4); - __symbols.push((__start, __Symbol::Ntsimple__equation(__nt), __end)); - 18 - } - 59 => { - // simple_equation* = => ActionFn(43); - 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::__action43::<>(input, &__start, &__end); - let __states_len = __states.len(); - __states.truncate(__states_len - 0); - __symbols.push((__start, __Symbol::Ntsimple__equation_2a(__nt), __end)); - 19 - } - 60 => { - // simple_equation* = simple_equation+ => ActionFn(44); - let __sym0 = __pop_Ntsimple__equation_2b(__symbols); - let __start = __sym0.0.clone(); - let __end = __sym0.2.clone(); - let __nt = super::__action44::<>(input, __sym0); - let __states_len = __states.len(); - __states.truncate(__states_len - 1); - __symbols.push((__start, __Symbol::Ntsimple__equation_2a(__nt), __end)); - 19 - } - 61 => { - // simple_equation+ = simple_equation => ActionFn(53); - let __sym0 = __pop_Ntsimple__equation(__symbols); - let __start = __sym0.0.clone(); - let __end = __sym0.2.clone(); - let __nt = super::__action53::<>(input, __sym0); - let __states_len = __states.len(); - __states.truncate(__states_len - 1); - __symbols.push((__start, __Symbol::Ntsimple__equation_2b(__nt), __end)); - 20 - } - 62 => { - // simple_equation+ = simple_equation+, simple_equation => ActionFn(54); - let __sym1 = __pop_Ntsimple__equation(__symbols); - let __sym0 = __pop_Ntsimple__equation_2b(__symbols); - let __start = __sym0.0.clone(); - let __end = __sym1.2.clone(); - let __nt = super::__action54::<>(input, __sym0, __sym1); - let __states_len = __states.len(); - __states.truncate(__states_len - 2); - __symbols.push((__start, __Symbol::Ntsimple__equation_2b(__nt), __end)); - 20 - } - 63 => { - // string_literal = r#"\"[^\"\\\\]*\""# => ActionFn(5); - let __sym0 = __pop_Termr_23_22_5c_22_5b_5e_5c_22_5c_5c_5c_5c_5d_2a_5c_22_22_23(__symbols); - let __start = __sym0.0.clone(); - let __end = __sym0.2.clone(); - let __nt = super::__action5::<>(input, __sym0); - let __states_len = __states.len(); - __states.truncate(__states_len - 1); - __symbols.push((__start, __Symbol::Ntstring__literal(__nt), __end)); - 21 - } - 64 => { - // string_literal? = string_literal => ActionFn(35); - let __sym0 = __pop_Ntstring__literal(__symbols); - let __start = __sym0.0.clone(); - let __end = __sym0.2.clone(); - let __nt = super::__action35::<>(input, __sym0); - let __states_len = __states.len(); - __states.truncate(__states_len - 1); - __symbols.push((__start, __Symbol::Ntstring__literal_3f(__nt), __end)); - 22 - } - 65 => { - // string_literal? = => ActionFn(36); - 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::__action36::<>(input, &__start, &__end); - let __states_len = __states.len(); - __states.truncate(__states_len - 0); - __symbols.push((__start, __Symbol::Ntstring__literal_3f(__nt), __end)); - 22 - } - 66 => { - // term = integer => ActionFn(29); - let __sym0 = __pop_Ntinteger(__symbols); - let __start = __sym0.0.clone(); - let __end = __sym0.2.clone(); - let __nt = super::__action29::<>(input, __sym0); - let __states_len = __states.len(); - __states.truncate(__states_len - 1); - __symbols.push((__start, __Symbol::Ntterm(__nt), __end)); - 23 - } - 67 => { - // term = float => ActionFn(30); - let __sym0 = __pop_Ntfloat(__symbols); - let __start = __sym0.0.clone(); - let __end = __sym0.2.clone(); - let __nt = super::__action30::<>(input, __sym0); - let __states_len = __states.len(); - __states.truncate(__states_len - 1); - __symbols.push((__start, __Symbol::Ntterm(__nt), __end)); - 23 - } - 68 => { - // term = identifier => ActionFn(31); - let __sym0 = __pop_Ntidentifier(__symbols); - let __start = __sym0.0.clone(); - let __end = __sym0.2.clone(); - let __nt = super::__action31::<>(input, __sym0); - let __states_len = __states.len(); - __states.truncate(__states_len - 1); - __symbols.push((__start, __Symbol::Ntterm(__nt), __end)); - 23 - } - 69 => { - // term = "der", "(", expr, ")" => ActionFn(32); - let __sym3 = __pop_Term_22_29_22(__symbols); - let __sym2 = __pop_Ntexpr(__symbols); - let __sym1 = __pop_Term_22_28_22(__symbols); - let __sym0 = __pop_Term_22der_22(__symbols); - let __start = __sym0.0.clone(); - let __end = __sym3.2.clone(); - let __nt = super::__action32::<>(input, __sym0, __sym1, __sym2, __sym3); - let __states_len = __states.len(); - __states.truncate(__states_len - 4); - __symbols.push((__start, __Symbol::Ntterm(__nt), __end)); - 23 - } - 70 => { - // term = "abs", "(", expr, ")" => ActionFn(33); - let __sym3 = __pop_Term_22_29_22(__symbols); - let __sym2 = __pop_Ntexpr(__symbols); - let __sym1 = __pop_Term_22_28_22(__symbols); - let __sym0 = __pop_Term_22abs_22(__symbols); - let __start = __sym0.0.clone(); - let __end = __sym3.2.clone(); - let __nt = super::__action33::<>(input, __sym0, __sym1, __sym2, __sym3); - let __states_len = __states.len(); - __states.truncate(__states_len - 4); - __symbols.push((__start, __Symbol::Ntterm(__nt), __end)); - 23 - } - 71 => { - // term = "(", expr, ")" => ActionFn(34); - let __sym2 = __pop_Term_22_29_22(__symbols); - let __sym1 = __pop_Ntexpr(__symbols); - let __sym0 = __pop_Term_22_28_22(__symbols); - let __start = __sym0.0.clone(); - let __end = __sym2.2.clone(); - let __nt = super::__action34::<>(input, __sym0, __sym1, __sym2); - let __states_len = __states.len(); - __states.truncate(__states_len - 3); - __symbols.push((__start, __Symbol::Ntterm(__nt), __end)); - 23 - } - 72 => { - // units_declaration = "(", "unit", "=", string_literal, ")" => ActionFn(10); - let __sym4 = __pop_Term_22_29_22(__symbols); - let __sym3 = __pop_Ntstring__literal(__symbols); - let __sym2 = __pop_Term_22_3d_22(__symbols); - let __sym1 = __pop_Term_22unit_22(__symbols); - let __sym0 = __pop_Term_22_28_22(__symbols); - let __start = __sym0.0.clone(); - let __end = __sym4.2.clone(); - let __nt = super::__action10::<>(input, __sym0, __sym1, __sym2, __sym3, __sym4); - let __states_len = __states.len(); - __states.truncate(__states_len - 5); - __symbols.push((__start, __Symbol::Ntunits__declaration(__nt), __end)); - 24 - } - 73 => { - // units_declaration? = units_declaration => ActionFn(39); - let __sym0 = __pop_Ntunits__declaration(__symbols); - let __start = __sym0.0.clone(); - let __end = __sym0.2.clone(); - let __nt = super::__action39::<>(input, __sym0); - let __states_len = __states.len(); - __states.truncate(__states_len - 1); - __symbols.push((__start, __Symbol::Ntunits__declaration_3f(__nt), __end)); - 25 - } - 74 => { - // units_declaration? = => ActionFn(40); - 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::__action40::<>(input, &__start, &__end); - let __states_len = __states.len(); - __states.truncate(__states_len - 0); - __symbols.push((__start, __Symbol::Ntunits__declaration_3f(__nt), __end)); - 25 - } - 75 => { - // value_declaration = "=", expr => ActionFn(9); - let __sym1 = __pop_Ntexpr(__symbols); - let __sym0 = __pop_Term_22_3d_22(__symbols); - let __start = __sym0.0.clone(); - let __end = __sym1.2.clone(); - let __nt = super::__action9::<>(input, __sym0, __sym1); - let __states_len = __states.len(); - __states.truncate(__states_len - 2); - __symbols.push((__start, __Symbol::Ntvalue__declaration(__nt), __end)); - 26 - } - 76 => { - // value_declaration? = value_declaration => ActionFn(37); - let __sym0 = __pop_Ntvalue__declaration(__symbols); - let __start = __sym0.0.clone(); - let __end = __sym0.2.clone(); - let __nt = super::__action37::<>(input, __sym0); - let __states_len = __states.len(); - __states.truncate(__states_len - 1); - __symbols.push((__start, __Symbol::Ntvalue__declaration_3f(__nt), __end)); - 27 - } - 77 => { - // value_declaration? = => ActionFn(38); - 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::__action38::<>(input, &__start, &__end); - let __states_len = __states.len(); - __states.truncate(__states_len - 0); - __symbols.push((__start, __Symbol::Ntvalue__declaration_3f(__nt), __end)); - 27 - } - _ => panic!("invalid action code {}", __action) - }; - let __state = *__states.last().unwrap() as usize; - let __next_state = __GOTO[__state * 28 + __nonterminal] - 1; - __states.push(__next_state); - None - } - fn __pop_Term_22_28_22< - 'input, - >( - __symbols: &mut ::std::vec::Vec<(usize,__Symbol<'input>,usize)> - ) -> (usize, &'input str, usize) { - match __symbols.pop().unwrap() { - (__l, __Symbol::Term_22_28_22(__v), __r) => (__l, __v, __r), - _ => panic!("symbol type mismatch") - } - } - fn __pop_Term_22_29_22< - 'input, - >( - __symbols: &mut ::std::vec::Vec<(usize,__Symbol<'input>,usize)> - ) -> (usize, &'input str, usize) { - match __symbols.pop().unwrap() { - (__l, __Symbol::Term_22_29_22(__v), __r) => (__l, __v, __r), - _ => panic!("symbol type mismatch") - } - } - fn __pop_Term_22_2a_22< - 'input, - >( - __symbols: &mut ::std::vec::Vec<(usize,__Symbol<'input>,usize)> - ) -> (usize, &'input str, usize) { - match __symbols.pop().unwrap() { - (__l, __Symbol::Term_22_2a_22(__v), __r) => (__l, __v, __r), - _ => panic!("symbol type mismatch") - } - } - fn __pop_Term_22_2b_22< - 'input, - >( - __symbols: &mut ::std::vec::Vec<(usize,__Symbol<'input>,usize)> - ) -> (usize, &'input str, usize) { - match __symbols.pop().unwrap() { - (__l, __Symbol::Term_22_2b_22(__v), __r) => (__l, __v, __r), - _ => panic!("symbol type mismatch") - } - } - fn __pop_Term_22_2c_22< - 'input, - >( - __symbols: &mut ::std::vec::Vec<(usize,__Symbol<'input>,usize)> - ) -> (usize, &'input str, usize) { - match __symbols.pop().unwrap() { - (__l, __Symbol::Term_22_2c_22(__v), __r) => (__l, __v, __r), - _ => panic!("symbol type mismatch") - } - } - fn __pop_Term_22_2d_22< - 'input, - >( - __symbols: &mut ::std::vec::Vec<(usize,__Symbol<'input>,usize)> - ) -> (usize, &'input str, usize) { - match __symbols.pop().unwrap() { - (__l, __Symbol::Term_22_2d_22(__v), __r) => (__l, __v, __r), - _ => panic!("symbol type mismatch") - } - } - fn __pop_Term_22_2f_22< - 'input, - >( - __symbols: &mut ::std::vec::Vec<(usize,__Symbol<'input>,usize)> - ) -> (usize, &'input str, usize) { - match __symbols.pop().unwrap() { - (__l, __Symbol::Term_22_2f_22(__v), __r) => (__l, __v, __r), - _ => panic!("symbol type mismatch") - } - } - fn __pop_Term_22_3b_22< - 'input, - >( - __symbols: &mut ::std::vec::Vec<(usize,__Symbol<'input>,usize)> - ) -> (usize, &'input str, usize) { - match __symbols.pop().unwrap() { - (__l, __Symbol::Term_22_3b_22(__v), __r) => (__l, __v, __r), - _ => panic!("symbol type mismatch") - } - } - fn __pop_Term_22_3d_22< - 'input, - >( - __symbols: &mut ::std::vec::Vec<(usize,__Symbol<'input>,usize)> - ) -> (usize, &'input str, usize) { - match __symbols.pop().unwrap() { - (__l, __Symbol::Term_22_3d_22(__v), __r) => (__l, __v, __r), - _ => panic!("symbol type mismatch") - } - } - fn __pop_Term_22_5e_22< - 'input, - >( - __symbols: &mut ::std::vec::Vec<(usize,__Symbol<'input>,usize)> - ) -> (usize, &'input str, usize) { - match __symbols.pop().unwrap() { - (__l, __Symbol::Term_22_5e_22(__v), __r) => (__l, __v, __r), - _ => panic!("symbol type mismatch") - } - } - fn __pop_Term_22abs_22< - 'input, - >( - __symbols: &mut ::std::vec::Vec<(usize,__Symbol<'input>,usize)> - ) -> (usize, &'input str, usize) { - match __symbols.pop().unwrap() { - (__l, __Symbol::Term_22abs_22(__v), __r) => (__l, __v, __r), - _ => panic!("symbol type mismatch") - } - } - fn __pop_Term_22connect_22< - 'input, - >( - __symbols: &mut ::std::vec::Vec<(usize,__Symbol<'input>,usize)> - ) -> (usize, &'input str, usize) { - match __symbols.pop().unwrap() { - (__l, __Symbol::Term_22connect_22(__v), __r) => (__l, __v, __r), - _ => panic!("symbol type mismatch") - } - } - fn __pop_Term_22constant_22< - 'input, - >( - __symbols: &mut ::std::vec::Vec<(usize,__Symbol<'input>,usize)> - ) -> (usize, &'input str, usize) { - match __symbols.pop().unwrap() { - (__l, __Symbol::Term_22constant_22(__v), __r) => (__l, __v, __r), - _ => panic!("symbol type mismatch") - } - } - fn __pop_Term_22der_22< - 'input, - >( - __symbols: &mut ::std::vec::Vec<(usize,__Symbol<'input>,usize)> - ) -> (usize, &'input str, usize) { - match __symbols.pop().unwrap() { - (__l, __Symbol::Term_22der_22(__v), __r) => (__l, __v, __r), - _ => panic!("symbol type mismatch") - } - } - fn __pop_Term_22discrete_22< - 'input, - >( - __symbols: &mut ::std::vec::Vec<(usize,__Symbol<'input>,usize)> - ) -> (usize, &'input str, usize) { - match __symbols.pop().unwrap() { - (__l, __Symbol::Term_22discrete_22(__v), __r) => (__l, __v, __r), - _ => panic!("symbol type mismatch") - } - } - fn __pop_Term_22end_22< - 'input, - >( - __symbols: &mut ::std::vec::Vec<(usize,__Symbol<'input>,usize)> - ) -> (usize, &'input str, usize) { - match __symbols.pop().unwrap() { - (__l, __Symbol::Term_22end_22(__v), __r) => (__l, __v, __r), - _ => panic!("symbol type mismatch") - } - } - fn __pop_Term_22equation_22< - 'input, - >( - __symbols: &mut ::std::vec::Vec<(usize,__Symbol<'input>,usize)> - ) -> (usize, &'input str, usize) { - match __symbols.pop().unwrap() { - (__l, __Symbol::Term_22equation_22(__v), __r) => (__l, __v, __r), - _ => panic!("symbol type mismatch") - } - } - fn __pop_Term_22flow_22< - 'input, - >( - __symbols: &mut ::std::vec::Vec<(usize,__Symbol<'input>,usize)> - ) -> (usize, &'input str, usize) { - match __symbols.pop().unwrap() { - (__l, __Symbol::Term_22flow_22(__v), __r) => (__l, __v, __r), - _ => panic!("symbol type mismatch") - } - } - fn __pop_Term_22input_22< - 'input, - >( - __symbols: &mut ::std::vec::Vec<(usize,__Symbol<'input>,usize)> - ) -> (usize, &'input str, usize) { - match __symbols.pop().unwrap() { - (__l, __Symbol::Term_22input_22(__v), __r) => (__l, __v, __r), - _ => panic!("symbol type mismatch") - } - } - fn __pop_Term_22model_22< - 'input, - >( - __symbols: &mut ::std::vec::Vec<(usize,__Symbol<'input>,usize)> - ) -> (usize, &'input str, usize) { - match __symbols.pop().unwrap() { - (__l, __Symbol::Term_22model_22(__v), __r) => (__l, __v, __r), - _ => panic!("symbol type mismatch") - } - } - fn __pop_Term_22output_22< - 'input, - >( - __symbols: &mut ::std::vec::Vec<(usize,__Symbol<'input>,usize)> - ) -> (usize, &'input str, usize) { - match __symbols.pop().unwrap() { - (__l, __Symbol::Term_22output_22(__v), __r) => (__l, __v, __r), - _ => panic!("symbol type mismatch") - } - } - fn __pop_Term_22parameter_22< - 'input, - >( - __symbols: &mut ::std::vec::Vec<(usize,__Symbol<'input>,usize)> - ) -> (usize, &'input str, usize) { - match __symbols.pop().unwrap() { - (__l, __Symbol::Term_22parameter_22(__v), __r) => (__l, __v, __r), - _ => panic!("symbol type mismatch") - } - } - fn __pop_Term_22stream_22< - 'input, - >( - __symbols: &mut ::std::vec::Vec<(usize,__Symbol<'input>,usize)> - ) -> (usize, &'input str, usize) { - match __symbols.pop().unwrap() { - (__l, __Symbol::Term_22stream_22(__v), __r) => (__l, __v, __r), - _ => panic!("symbol type mismatch") - } - } - fn __pop_Term_22unit_22< - 'input, - >( - __symbols: &mut ::std::vec::Vec<(usize,__Symbol<'input>,usize)> - ) -> (usize, &'input str, usize) { - match __symbols.pop().unwrap() { - (__l, __Symbol::Term_22unit_22(__v), __r) => (__l, __v, __r), - _ => panic!("symbol type mismatch") - } - } - fn __pop_Termr_23_22_5c_22_5b_5e_5c_22_5c_5c_5c_5c_5d_2a_5c_22_22_23< - 'input, - >( - __symbols: &mut ::std::vec::Vec<(usize,__Symbol<'input>,usize)> - ) -> (usize, &'input str, usize) { - match __symbols.pop().unwrap() { - (__l, __Symbol::Termr_23_22_5c_22_5b_5e_5c_22_5c_5c_5c_5c_5d_2a_5c_22_22_23(__v), __r) => (__l, __v, __r), - _ => panic!("symbol type mismatch") - } - } - fn __pop_Termr_23_22_5b_2b_2d_5d_3f_5c_5cd_2b_22_23< - 'input, - >( - __symbols: &mut ::std::vec::Vec<(usize,__Symbol<'input>,usize)> - ) -> (usize, &'input str, usize) { - match __symbols.pop().unwrap() { - (__l, __Symbol::Termr_23_22_5b_2b_2d_5d_3f_5c_5cd_2b_22_23(__v), __r) => (__l, __v, __r), - _ => panic!("symbol type mismatch") - } - } - fn __pop_Termr_23_22_5b_2b_2d_5d_3f_5c_5cd_2b_5c_5c_2e_5c_5cd_2a_28_5beE_5d_5b_2d_2b_5d_3f_5c_5cd_2b_29_3f_22_23< - 'input, - >( - __symbols: &mut ::std::vec::Vec<(usize,__Symbol<'input>,usize)> - ) -> (usize, &'input str, usize) { - match __symbols.pop().unwrap() { - (__l, __Symbol::Termr_23_22_5b_2b_2d_5d_3f_5c_5cd_2b_5c_5c_2e_5c_5cd_2a_28_5beE_5d_5b_2d_2b_5d_3f_5c_5cd_2b_29_3f_22_23(__v), __r) => (__l, __v, __r), - _ => panic!("symbol type mismatch") - } - } - fn __pop_Termr_23_22_5ba_2dzA_2dZ___5d_5ba_2dzA_2dZ__0_2d9_5d_2a_22_23< - 'input, - >( - __symbols: &mut ::std::vec::Vec<(usize,__Symbol<'input>,usize)> - ) -> (usize, &'input str, usize) { - match __symbols.pop().unwrap() { - (__l, __Symbol::Termr_23_22_5ba_2dzA_2dZ___5d_5ba_2dzA_2dZ__0_2d9_5d_2a_22_23(__v), __r) => (__l, __v, __r), - _ => panic!("symbol type mismatch") - } - } - fn __pop_Termerror< - 'input, - >( - __symbols: &mut ::std::vec::Vec<(usize,__Symbol<'input>,usize)> - ) -> (usize, __lalrpop_util::ErrorRecovery, usize) { - match __symbols.pop().unwrap() { - (__l, __Symbol::Termerror(__v), __r) => (__l, __v, __r), - _ => panic!("symbol type mismatch") - } - } - fn __pop_Nt____float< - 'input, - >( - __symbols: &mut ::std::vec::Vec<(usize,__Symbol<'input>,usize)> - ) -> (usize, f64, usize) { - match __symbols.pop().unwrap() { - (__l, __Symbol::Nt____float(__v), __r) => (__l, __v, __r), - _ => panic!("symbol type mismatch") - } - } - fn __pop_Nt____identifier< - 'input, - >( - __symbols: &mut ::std::vec::Vec<(usize,__Symbol<'input>,usize)> - ) -> (usize, String, usize) { - match __symbols.pop().unwrap() { - (__l, __Symbol::Nt____identifier(__v), __r) => (__l, __v, __r), - _ => panic!("symbol type mismatch") - } - } - fn __pop_Nt____integer< - 'input, - >( - __symbols: &mut ::std::vec::Vec<(usize,__Symbol<'input>,usize)> - ) -> (usize, i64, usize) { - match __symbols.pop().unwrap() { - (__l, __Symbol::Nt____integer(__v), __r) => (__l, __v, __r), - _ => panic!("symbol type mismatch") - } - } - fn __pop_Nt____model< - 'input, - >( - __symbols: &mut ::std::vec::Vec<(usize,__Symbol<'input>,usize)> - ) -> (usize, ModelicaModel, usize) { - match __symbols.pop().unwrap() { - (__l, __Symbol::Nt____model(__v), __r) => (__l, __v, __r), - _ => panic!("symbol type mismatch") - } - } - fn __pop_Ntcomponent__declaration< - 'input, - >( - __symbols: &mut ::std::vec::Vec<(usize,__Symbol<'input>,usize)> - ) -> (usize, Component, usize) { - match __symbols.pop().unwrap() { - (__l, __Symbol::Ntcomponent__declaration(__v), __r) => (__l, __v, __r), - _ => panic!("symbol type mismatch") - } - } - fn __pop_Ntcomponent__declaration_2a< - 'input, - >( - __symbols: &mut ::std::vec::Vec<(usize,__Symbol<'input>,usize)> - ) -> (usize, ::std::vec::Vec, usize) { - match __symbols.pop().unwrap() { - (__l, __Symbol::Ntcomponent__declaration_2a(__v), __r) => (__l, __v, __r), - _ => panic!("symbol type mismatch") - } - } - fn __pop_Ntcomponent__declaration_2b< - 'input, - >( - __symbols: &mut ::std::vec::Vec<(usize,__Symbol<'input>,usize)> - ) -> (usize, ::std::vec::Vec, usize) { - match __symbols.pop().unwrap() { - (__l, __Symbol::Ntcomponent__declaration_2b(__v), __r) => (__l, __v, __r), - _ => panic!("symbol type mismatch") - } - } - fn __pop_Ntcomponent__prefix< - 'input, - >( - __symbols: &mut ::std::vec::Vec<(usize,__Symbol<'input>,usize)> - ) -> (usize, ComponentPrefix, usize) { - match __symbols.pop().unwrap() { - (__l, __Symbol::Ntcomponent__prefix(__v), __r) => (__l, __v, __r), - _ => panic!("symbol type mismatch") - } - } - fn __pop_Ntcomponent__prefix_3f< - 'input, - >( - __symbols: &mut ::std::vec::Vec<(usize,__Symbol<'input>,usize)> - ) -> (usize, ::std::option::Option, usize) { - match __symbols.pop().unwrap() { - (__l, __Symbol::Ntcomponent__prefix_3f(__v), __r) => (__l, __v, __r), - _ => panic!("symbol type mismatch") - } - } - fn __pop_Ntconnect__clause< - 'input, - >( - __symbols: &mut ::std::vec::Vec<(usize,__Symbol<'input>,usize)> - ) -> (usize, Connection, usize) { - match __symbols.pop().unwrap() { - (__l, __Symbol::Ntconnect__clause(__v), __r) => (__l, __v, __r), - _ => panic!("symbol type mismatch") - } - } - fn __pop_Ntconnect__clause_2a< - 'input, - >( - __symbols: &mut ::std::vec::Vec<(usize,__Symbol<'input>,usize)> - ) -> (usize, ::std::vec::Vec, usize) { - match __symbols.pop().unwrap() { - (__l, __Symbol::Ntconnect__clause_2a(__v), __r) => (__l, __v, __r), - _ => panic!("symbol type mismatch") - } - } - fn __pop_Ntconnect__clause_2b< - 'input, - >( - __symbols: &mut ::std::vec::Vec<(usize,__Symbol<'input>,usize)> - ) -> (usize, ::std::vec::Vec, usize) { - match __symbols.pop().unwrap() { - (__l, __Symbol::Ntconnect__clause_2b(__v), __r) => (__l, __v, __r), - _ => panic!("symbol type mismatch") - } - } - fn __pop_Ntexpr< - 'input, - >( - __symbols: &mut ::std::vec::Vec<(usize,__Symbol<'input>,usize)> - ) -> (usize, Expr, usize) { - match __symbols.pop().unwrap() { - (__l, __Symbol::Ntexpr(__v), __r) => (__l, __v, __r), - _ => panic!("symbol type mismatch") - } - } - fn __pop_Ntfactor< - 'input, - >( - __symbols: &mut ::std::vec::Vec<(usize,__Symbol<'input>,usize)> - ) -> (usize, Expr, usize) { - match __symbols.pop().unwrap() { - (__l, __Symbol::Ntfactor(__v), __r) => (__l, __v, __r), - _ => panic!("symbol type mismatch") - } - } - fn __pop_Ntfloat< - 'input, - >( - __symbols: &mut ::std::vec::Vec<(usize,__Symbol<'input>,usize)> - ) -> (usize, f64, usize) { - match __symbols.pop().unwrap() { - (__l, __Symbol::Ntfloat(__v), __r) => (__l, __v, __r), - _ => panic!("symbol type mismatch") - } - } - fn __pop_Ntidentifier< - 'input, - >( - __symbols: &mut ::std::vec::Vec<(usize,__Symbol<'input>,usize)> - ) -> (usize, String, usize) { - match __symbols.pop().unwrap() { - (__l, __Symbol::Ntidentifier(__v), __r) => (__l, __v, __r), - _ => panic!("symbol type mismatch") - } - } - fn __pop_Ntinteger< - 'input, - >( - __symbols: &mut ::std::vec::Vec<(usize,__Symbol<'input>,usize)> - ) -> (usize, i64, usize) { - match __symbols.pop().unwrap() { - (__l, __Symbol::Ntinteger(__v), __r) => (__l, __v, __r), - _ => panic!("symbol type mismatch") - } - } - fn __pop_Ntmodel< - 'input, - >( - __symbols: &mut ::std::vec::Vec<(usize,__Symbol<'input>,usize)> - ) -> (usize, ModelicaModel, usize) { - match __symbols.pop().unwrap() { - (__l, __Symbol::Ntmodel(__v), __r) => (__l, __v, __r), - _ => panic!("symbol type mismatch") - } - } - fn __pop_Ntsimple__equation< - 'input, - >( - __symbols: &mut ::std::vec::Vec<(usize,__Symbol<'input>,usize)> - ) -> (usize, SimpleEquation, usize) { - match __symbols.pop().unwrap() { - (__l, __Symbol::Ntsimple__equation(__v), __r) => (__l, __v, __r), - _ => panic!("symbol type mismatch") - } - } - fn __pop_Ntsimple__equation_2a< - 'input, - >( - __symbols: &mut ::std::vec::Vec<(usize,__Symbol<'input>,usize)> - ) -> (usize, ::std::vec::Vec, usize) { - match __symbols.pop().unwrap() { - (__l, __Symbol::Ntsimple__equation_2a(__v), __r) => (__l, __v, __r), - _ => panic!("symbol type mismatch") - } - } - fn __pop_Ntsimple__equation_2b< - 'input, - >( - __symbols: &mut ::std::vec::Vec<(usize,__Symbol<'input>,usize)> - ) -> (usize, ::std::vec::Vec, usize) { - match __symbols.pop().unwrap() { - (__l, __Symbol::Ntsimple__equation_2b(__v), __r) => (__l, __v, __r), - _ => panic!("symbol type mismatch") - } - } - fn __pop_Ntstring__literal< - 'input, - >( - __symbols: &mut ::std::vec::Vec<(usize,__Symbol<'input>,usize)> - ) -> (usize, String, usize) { - match __symbols.pop().unwrap() { - (__l, __Symbol::Ntstring__literal(__v), __r) => (__l, __v, __r), - _ => panic!("symbol type mismatch") - } - } - fn __pop_Ntstring__literal_3f< - 'input, - >( - __symbols: &mut ::std::vec::Vec<(usize,__Symbol<'input>,usize)> - ) -> (usize, ::std::option::Option, usize) { - match __symbols.pop().unwrap() { - (__l, __Symbol::Ntstring__literal_3f(__v), __r) => (__l, __v, __r), - _ => panic!("symbol type mismatch") - } - } - fn __pop_Ntterm< - 'input, - >( - __symbols: &mut ::std::vec::Vec<(usize,__Symbol<'input>,usize)> - ) -> (usize, Expr, usize) { - match __symbols.pop().unwrap() { - (__l, __Symbol::Ntterm(__v), __r) => (__l, __v, __r), - _ => panic!("symbol type mismatch") - } - } - fn __pop_Ntunits__declaration< - 'input, - >( - __symbols: &mut ::std::vec::Vec<(usize,__Symbol<'input>,usize)> - ) -> (usize, String, usize) { - match __symbols.pop().unwrap() { - (__l, __Symbol::Ntunits__declaration(__v), __r) => (__l, __v, __r), - _ => panic!("symbol type mismatch") - } - } - fn __pop_Ntunits__declaration_3f< - 'input, - >( - __symbols: &mut ::std::vec::Vec<(usize,__Symbol<'input>,usize)> - ) -> (usize, ::std::option::Option, usize) { - match __symbols.pop().unwrap() { - (__l, __Symbol::Ntunits__declaration_3f(__v), __r) => (__l, __v, __r), - _ => panic!("symbol type mismatch") - } - } - fn __pop_Ntvalue__declaration< - 'input, - >( - __symbols: &mut ::std::vec::Vec<(usize,__Symbol<'input>,usize)> - ) -> (usize, Expr, usize) { - match __symbols.pop().unwrap() { - (__l, __Symbol::Ntvalue__declaration(__v), __r) => (__l, __v, __r), - _ => panic!("symbol type mismatch") - } - } - fn __pop_Ntvalue__declaration_3f< - 'input, - >( - __symbols: &mut ::std::vec::Vec<(usize,__Symbol<'input>,usize)> - ) -> (usize, ::std::option::Option, usize) { - match __symbols.pop().unwrap() { - (__l, __Symbol::Ntvalue__declaration_3f(__v), __r) => (__l, __v, __r), - _ => panic!("symbol type mismatch") - } - } -} -pub use self::__parse__integer::parse_integer; - -mod __parse__model { - #![allow(non_snake_case, non_camel_case_types, unused_mut, unused_variables, unused_imports)] - - use std::str::FromStr; - use modelica_ast::{ModelicaModel,Component, ComponentPrefix, Connection, - SimpleEquation, Expr, BinOperator}; - extern crate lalrpop_util as __lalrpop_util; - #[allow(dead_code)] - pub enum __Symbol<'input> { - Term_22_28_22(&'input str), - Term_22_29_22(&'input str), - Term_22_2a_22(&'input str), - Term_22_2b_22(&'input str), - Term_22_2c_22(&'input str), - Term_22_2d_22(&'input str), - Term_22_2f_22(&'input str), - Term_22_3b_22(&'input str), - Term_22_3d_22(&'input str), - Term_22_5e_22(&'input str), - Term_22abs_22(&'input str), - Term_22connect_22(&'input str), - Term_22constant_22(&'input str), - Term_22der_22(&'input str), - Term_22discrete_22(&'input str), - Term_22end_22(&'input str), - Term_22equation_22(&'input str), - Term_22flow_22(&'input str), - Term_22input_22(&'input str), - Term_22model_22(&'input str), - Term_22output_22(&'input str), - Term_22parameter_22(&'input str), - Term_22stream_22(&'input str), - Term_22unit_22(&'input str), - Termr_23_22_5c_22_5b_5e_5c_22_5c_5c_5c_5c_5d_2a_5c_22_22_23(&'input str), - Termr_23_22_5b_2b_2d_5d_3f_5c_5cd_2b_22_23(&'input str), - Termr_23_22_5b_2b_2d_5d_3f_5c_5cd_2b_5c_5c_2e_5c_5cd_2a_28_5beE_5d_5b_2d_2b_5d_3f_5c_5cd_2b_29_3f_22_23(&'input str), - Termr_23_22_5ba_2dzA_2dZ___5d_5ba_2dzA_2dZ__0_2d9_5d_2a_22_23(&'input str), - Termerror(__lalrpop_util::ErrorRecovery), - Nt____float(f64), - Nt____identifier(String), - Nt____integer(i64), - Nt____model(ModelicaModel), - Ntcomponent__declaration(Component), - Ntcomponent__declaration_2a(::std::vec::Vec), - Ntcomponent__declaration_2b(::std::vec::Vec), - Ntcomponent__prefix(ComponentPrefix), - Ntcomponent__prefix_3f(::std::option::Option), - Ntconnect__clause(Connection), - Ntconnect__clause_2a(::std::vec::Vec), - Ntconnect__clause_2b(::std::vec::Vec), - Ntexpr(Expr), - Ntfactor(Expr), - Ntfloat(f64), - Ntidentifier(String), - Ntinteger(i64), - Ntmodel(ModelicaModel), - Ntsimple__equation(SimpleEquation), - Ntsimple__equation_2a(::std::vec::Vec), - Ntsimple__equation_2b(::std::vec::Vec), - Ntstring__literal(String), - Ntstring__literal_3f(::std::option::Option), - Ntterm(Expr), - Ntunits__declaration(String), - Ntunits__declaration_3f(::std::option::Option), - Ntvalue__declaration(Expr), - Ntvalue__declaration_3f(::std::option::Option), - } - const __ACTION: &'static [i32] = &[ - // State 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, - // State 1 - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - // State 2 - 0, 0, 0, 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, - // State 3 - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 10, 0, 11, 0, 12, 13, 14, 0, 15, 16, 17, 0, 0, 0, 0, 18, 0, - // State 4 - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -48, 0, -48, 0, -48, -48, -48, 0, -48, -48, -48, 0, 0, 0, 0, -48, 0, - // State 5 - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -23, 0, -23, 0, -23, -23, -23, 0, -23, -23, -23, 0, 0, 0, 0, -23, 0, - // State 6 - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 10, 0, 11, 0, 20, 13, 14, 0, 15, 16, 17, 0, 0, 0, 0, 18, 0, - // State 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, 18, 0, - // State 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, 23, 0, - // State 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, -31, 0, - // State 10 - 0, 0, 0, 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, - // State 11 - 34, 0, 0, 0, 0, 35, 0, 0, 0, 0, 36, 37, 0, 38, 0, 39, 0, 0, 0, 0, 0, 0, 0, 0, 0, 40, 41, 42, 0, - // State 12 - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -25, 0, - // State 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, -27, 0, - // State 14 - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -28, 0, - // State 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, -30, 0, - // State 16 - 0, 0, 0, 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, 0, - // State 17 - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -48, 0, - // State 18 - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -24, 0, -24, 0, -24, -24, -24, 0, -24, -24, -24, 0, 0, 0, 0, -24, 0, - // State 19 - 34, 0, 0, 0, 0, 35, 0, 0, 0, 0, 36, 37, 0, 38, 0, 45, 0, 0, 0, 0, 0, 0, 0, 0, 0, 40, 41, 42, 0, - // State 20 - 0, 0, 0, 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, 0, - // State 21 - 50, 0, 0, 0, 0, 0, 0, 51, 52, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 53, 0, 0, 0, 0, - // State 22 - -48, 0, 0, 0, 0, 0, 0, -48, -48, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -48, 0, 0, 0, 0, - // State 23 - -37, 0, 0, 0, 0, -37, 0, 0, 0, 0, -37, -37, 0, -37, 0, -37, 0, 0, 0, 0, 0, 0, 0, 0, 0, -37, -37, -37, 0, - // State 24 - 34, 0, 0, 0, 0, 35, 0, 0, 0, 0, 36, 37, 0, 38, 0, 56, 0, 0, 0, 0, 0, 0, 0, 0, 0, 40, 41, 42, 0, - // State 25 - 0, 0, 0, 57, 0, 58, 0, 0, 59, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - // State 26 - 0, 0, 60, -41, 0, -41, 61, 0, -41, 62, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - // State 27 - 0, 0, -67, -67, 0, -67, -67, 0, -67, -67, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - // State 28 - 0, 0, -68, -68, 0, -68, -68, 0, -68, -68, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - // State 29 - 0, 0, -66, -66, 0, -66, -66, 0, -66, -66, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - // State 30 - -61, 0, 0, 0, 0, -61, 0, 0, 0, 0, -61, 0, 0, -61, 0, -61, 0, 0, 0, 0, 0, 0, 0, 0, 0, -61, -61, -61, 0, - // State 31 - 34, 0, 0, 0, 0, 35, 0, 0, 0, 0, 36, 0, 0, 38, 0, 64, 0, 0, 0, 0, 0, 0, 0, 0, 0, 40, 41, 42, 0, - // State 32 - 0, 0, -46, -46, 0, -46, -46, 0, -46, -46, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - // State 33 - 71, 0, 0, 0, 0, 72, 0, 0, 0, 0, 73, 0, 0, 74, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 75, 76, 77, 0, - // State 34 - 34, 0, 0, 0, 0, 0, 0, 0, 0, 0, 36, 0, 0, 38, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 40, 41, 42, 0, - // State 35 - 79, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - // State 36 - 80, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - // State 37 - 81, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - // State 38 - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 83, 0, - // State 39 - 0, 0, -49, -49, 0, -49, -49, 0, -49, -49, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - // State 40 - 0, 0, -47, -47, 0, -47, -47, 0, -47, -47, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - // State 41 - 0, 0, -48, -48, 0, -48, -48, 0, -48, -48, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - // State 42 - 34, 0, 0, 0, 0, 35, 0, 0, 0, 0, 36, 37, 0, 38, 0, 85, 0, 0, 0, 0, 0, 0, 0, 0, 0, 40, 41, 42, 0, - // State 43 - 34, 0, 0, 0, 0, 35, 0, 0, 0, 0, 36, 0, 0, 38, 0, 86, 0, 0, 0, 0, 0, 0, 0, 0, 0, 40, 41, 42, 0, - // State 44 - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 83, 0, - // State 45 - 50, 0, 0, 0, 0, 0, 0, 91, 52, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 53, 0, 0, 0, 0, - // State 46 - 0, 0, 0, 0, 0, 0, 0, 92, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - // State 47 - 0, 0, 0, 0, 0, 0, 0, 95, 52, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 53, 0, 0, 0, 0, - // State 48 - 0, 0, 0, 0, 0, 0, 0, 97, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 53, 0, 0, 0, 0, - // State 49 - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 98, 0, 0, 0, 0, 0, - // State 50 - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -20, 0, -20, 0, -20, -20, -20, 0, -20, -20, -20, 0, 0, 0, 0, -20, 0, - // State 51 - 105, 0, 0, 0, 0, 106, 0, 0, 0, 0, 107, 0, 0, 108, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 109, 110, 111, 0, - // State 52 - 0, 0, 0, 0, 0, 0, 0, -63, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - // State 53 - -38, 0, 0, 0, 0, -38, 0, 0, 0, 0, -38, -38, 0, -38, 0, -38, 0, 0, 0, 0, 0, 0, 0, 0, 0, -38, -38, -38, 0, - // State 54 - 34, 0, 0, 0, 0, 35, 0, 0, 0, 0, 36, 0, 0, 38, 0, 112, 0, 0, 0, 0, 0, 0, 0, 0, 0, 40, 41, 42, 0, - // State 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, 83, 0, - // State 56 - 34, 0, 0, 0, 0, 35, 0, 0, 0, 0, 36, 0, 0, 38, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 40, 41, 42, 0, - // State 57 - 34, 0, 0, 0, 0, 35, 0, 0, 0, 0, 36, 0, 0, 38, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 40, 41, 42, 0, - // State 58 - 122, 0, 0, 0, 0, 123, 0, 0, 0, 0, 124, 0, 0, 125, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 126, 127, 128, 0, - // State 59 - 34, 0, 0, 0, 0, 0, 0, 0, 0, 0, 36, 0, 0, 38, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 40, 41, 42, 0, - // State 60 - 34, 0, 0, 0, 0, 0, 0, 0, 0, 0, 36, 0, 0, 38, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 40, 41, 42, 0, - // State 61 - 34, 0, 0, 0, 0, 0, 0, 0, 0, 0, 36, 0, 0, 38, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 40, 41, 42, 0, - // State 62 - -62, 0, 0, 0, 0, -62, 0, 0, 0, 0, -62, 0, 0, -62, 0, -62, 0, 0, 0, 0, 0, 0, 0, 0, 0, -62, -62, -62, 0, - // State 63 - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 83, 0, - // State 64 - 0, 133, 0, 134, 0, 135, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - // State 65 - 0, -41, 136, -41, 0, -41, 137, 0, 0, 138, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - // State 66 - 0, -67, -67, -67, 0, -67, -67, 0, 0, -67, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - // State 67 - 0, -68, -68, -68, 0, -68, -68, 0, 0, -68, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - // State 68 - 0, -66, -66, -66, 0, -66, -66, 0, 0, -66, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - // State 69 - 0, -46, -46, -46, 0, -46, -46, 0, 0, -46, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - // State 70 - 71, 0, 0, 0, 0, 72, 0, 0, 0, 0, 73, 0, 0, 74, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 75, 76, 77, 0, - // State 71 - 71, 0, 0, 0, 0, 0, 0, 0, 0, 0, 73, 0, 0, 74, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 75, 76, 77, 0, - // State 72 - 141, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - // State 73 - 142, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - // State 74 - 0, -49, -49, -49, 0, -49, -49, 0, 0, -49, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - // State 75 - 0, -47, -47, -47, 0, -47, -47, 0, 0, -47, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - // State 76 - 0, -48, -48, -48, 0, -48, -48, 0, 0, -48, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - // State 77 - 0, 0, -45, -45, 0, -45, -45, 0, -45, -45, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - // State 78 - 71, 0, 0, 0, 0, 72, 0, 0, 0, 0, 73, 0, 0, 74, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 75, 76, 77, 0, - // State 79 - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 145, 0, - // State 80 - 71, 0, 0, 0, 0, 72, 0, 0, 0, 0, 73, 0, 0, 74, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 75, 76, 77, 0, - // State 81 - 0, 0, 0, 0, 0, 0, 0, 147, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - // State 82 - 0, 0, 0, 0, 0, 0, 0, -48, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - // State 83 - 34, 0, 0, 0, 0, 35, 0, 0, 0, 0, 36, 0, 0, 38, 0, 148, 0, 0, 0, 0, 0, 0, 0, 0, 0, 40, 41, 42, 0, - // State 84 - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 83, 0, - // State 85 - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 83, 0, - // State 86 - 0, 0, 0, 0, 0, 0, 0, 151, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - // State 87 - 0, 0, 0, 0, 0, 0, 0, 152, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - // State 88 - 0, 0, 0, 0, 0, 0, 0, 155, 52, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 53, 0, 0, 0, 0, - // State 89 - 0, 0, 0, 0, 0, 0, 0, 157, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 53, 0, 0, 0, 0, - // State 90 - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -12, 0, -12, 0, -12, -12, -12, 0, -12, -12, -12, 0, 0, 0, 0, -12, 0, - // State 91 - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -16, 0, -16, 0, -16, -16, -16, 0, -16, -16, -16, 0, 0, 0, 0, -16, 0, - // State 92 - 0, 0, 0, 0, 0, 0, 0, 158, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - // State 93 - 0, 0, 0, 0, 0, 0, 0, 160, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 53, 0, 0, 0, 0, - // State 94 - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -18, 0, -18, 0, -18, -18, -18, 0, -18, -18, -18, 0, 0, 0, 0, -18, 0, - // State 95 - 0, 0, 0, 0, 0, 0, 0, 161, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - // State 96 - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -19, 0, -19, 0, -19, -19, -19, 0, -19, -19, -19, 0, 0, 0, 0, -19, 0, - // State 97 - 0, 0, 0, 0, 0, 0, 0, 0, 162, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - // State 98 - 0, 0, 0, 163, 0, 164, 0, -75, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -75, 0, 0, 0, 0, - // State 99 - 0, 0, 165, -41, 0, -41, 166, -41, 0, 167, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -41, 0, 0, 0, 0, - // State 100 - 0, 0, -67, -67, 0, -67, -67, -67, 0, -67, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -67, 0, 0, 0, 0, - // State 101 - 0, 0, -68, -68, 0, -68, -68, -68, 0, -68, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -68, 0, 0, 0, 0, - // State 102 - 0, 0, -66, -66, 0, -66, -66, -66, 0, -66, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -66, 0, 0, 0, 0, - // State 103 - 0, 0, -46, -46, 0, -46, -46, -46, 0, -46, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -46, 0, 0, 0, 0, - // State 104 - 71, 0, 0, 0, 0, 72, 0, 0, 0, 0, 73, 0, 0, 74, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 75, 76, 77, 0, - // State 105 - 105, 0, 0, 0, 0, 0, 0, 0, 0, 0, 107, 0, 0, 108, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 109, 110, 111, 0, - // State 106 - 170, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - // State 107 - 171, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - // State 108 - 0, 0, -49, -49, 0, -49, -49, -49, 0, -49, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -49, 0, 0, 0, 0, - // State 109 - 0, 0, -47, -47, 0, -47, -47, -47, 0, -47, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -47, 0, 0, 0, 0, - // State 110 - 0, 0, -48, -48, 0, -48, -48, -48, 0, -48, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -48, 0, 0, 0, 0, - // State 111 - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 83, 0, - // State 112 - 0, 0, 0, 0, 0, 0, 0, 173, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - // State 113 - 0, 0, 60, -39, 0, -39, 61, 0, -39, 62, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - // State 114 - 0, 0, 60, -40, 0, -40, 61, 0, -40, 62, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - // State 115 - 0, 0, 0, 174, 0, 175, 0, 176, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - // State 116 - 0, 0, 177, -41, 0, -41, 178, -41, 0, 179, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - // State 117 - 0, 0, -67, -67, 0, -67, -67, -67, 0, -67, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - // State 118 - 0, 0, -68, -68, 0, -68, -68, -68, 0, -68, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - // State 119 - 0, 0, -66, -66, 0, -66, -66, -66, 0, -66, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - // State 120 - 0, 0, -46, -46, 0, -46, -46, -46, 0, -46, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - // State 121 - 71, 0, 0, 0, 0, 72, 0, 0, 0, 0, 73, 0, 0, 74, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 75, 76, 77, 0, - // State 122 - 122, 0, 0, 0, 0, 0, 0, 0, 0, 0, 124, 0, 0, 125, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 126, 127, 128, 0, - // State 123 - 182, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - // State 124 - 183, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - // State 125 - 0, 0, -49, -49, 0, -49, -49, -49, 0, -49, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - // State 126 - 0, 0, -47, -47, 0, -47, -47, -47, 0, -47, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - // State 127 - 0, 0, -48, -48, 0, -48, -48, -48, 0, -48, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - // State 128 - 0, 0, -42, -42, 0, -42, -42, 0, -42, -42, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - // State 129 - 0, 0, -43, -43, 0, -43, -43, 0, -43, -43, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - // State 130 - 0, 0, -44, -44, 0, -44, -44, 0, -44, -44, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - // State 131 - 0, 0, 0, 0, 0, 0, 0, 184, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - // State 132 - 0, 0, -71, -71, 0, -71, -71, 0, -71, -71, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - // State 133 - 71, 0, 0, 0, 0, 72, 0, 0, 0, 0, 73, 0, 0, 74, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 75, 76, 77, 0, - // State 134 - 71, 0, 0, 0, 0, 72, 0, 0, 0, 0, 73, 0, 0, 74, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 75, 76, 77, 0, - // State 135 - 71, 0, 0, 0, 0, 0, 0, 0, 0, 0, 73, 0, 0, 74, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 75, 76, 77, 0, - // State 136 - 71, 0, 0, 0, 0, 0, 0, 0, 0, 0, 73, 0, 0, 74, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 75, 76, 77, 0, - // State 137 - 71, 0, 0, 0, 0, 0, 0, 0, 0, 0, 73, 0, 0, 74, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 75, 76, 77, 0, - // State 138 - 0, 190, 0, 134, 0, 135, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - // State 139 - 0, -45, -45, -45, 0, -45, -45, 0, 0, -45, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - // State 140 - 71, 0, 0, 0, 0, 72, 0, 0, 0, 0, 73, 0, 0, 74, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 75, 76, 77, 0, - // State 141 - 71, 0, 0, 0, 0, 72, 0, 0, 0, 0, 73, 0, 0, 74, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 75, 76, 77, 0, - // State 142 - 0, 193, 0, 134, 0, 135, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - // State 143 - 0, 0, 0, 0, 194, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - // State 144 - 0, 0, 0, 0, -48, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - // State 145 - 0, 195, 0, 134, 0, 135, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - // State 146 - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - // State 147 - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 83, 0, - // State 148 - 0, 0, 0, 0, 0, 0, 0, 197, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - // State 149 - 0, 0, 0, 0, 0, 0, 0, 198, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - // State 150 - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - // State 151 - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -8, 0, -8, 0, -8, -8, -8, 0, -8, -8, -8, 0, 0, 0, 0, -8, 0, - // State 152 - 0, 0, 0, 0, 0, 0, 0, 199, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - // State 153 - 0, 0, 0, 0, 0, 0, 0, 201, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 53, 0, 0, 0, 0, - // State 154 - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -10, 0, -10, 0, -10, -10, -10, 0, -10, -10, -10, 0, 0, 0, 0, -10, 0, - // State 155 - 0, 0, 0, 0, 0, 0, 0, 202, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - // State 156 - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -11, 0, -11, 0, -11, -11, -11, 0, -11, -11, -11, 0, 0, 0, 0, -11, 0, - // State 157 - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -14, 0, -14, 0, -14, -14, -14, 0, -14, -14, -14, 0, 0, 0, 0, -14, 0, - // State 158 - 0, 0, 0, 0, 0, 0, 0, 203, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - // State 159 - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -17, 0, -17, 0, -17, -17, -17, 0, -17, -17, -17, 0, 0, 0, 0, -17, 0, - // State 160 - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -15, 0, -15, 0, -15, -15, -15, 0, -15, -15, -15, 0, 0, 0, 0, -15, 0, - // State 161 - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 205, 0, 0, 0, 0, - // State 162 - 105, 0, 0, 0, 0, 106, 0, 0, 0, 0, 107, 0, 0, 108, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 109, 110, 111, 0, - // State 163 - 105, 0, 0, 0, 0, 106, 0, 0, 0, 0, 107, 0, 0, 108, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 109, 110, 111, 0, - // State 164 - 105, 0, 0, 0, 0, 0, 0, 0, 0, 0, 107, 0, 0, 108, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 109, 110, 111, 0, - // State 165 - 105, 0, 0, 0, 0, 0, 0, 0, 0, 0, 107, 0, 0, 108, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 109, 110, 111, 0, - // State 166 - 105, 0, 0, 0, 0, 0, 0, 0, 0, 0, 107, 0, 0, 108, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 109, 110, 111, 0, - // State 167 - 0, 211, 0, 134, 0, 135, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - // State 168 - 0, 0, -45, -45, 0, -45, -45, -45, 0, -45, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -45, 0, 0, 0, 0, - // State 169 - 71, 0, 0, 0, 0, 72, 0, 0, 0, 0, 73, 0, 0, 74, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 75, 76, 77, 0, - // State 170 - 71, 0, 0, 0, 0, 72, 0, 0, 0, 0, 73, 0, 0, 74, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 75, 76, 77, 0, - // State 171 - 0, 0, 0, 0, 0, 0, 0, 214, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - // State 172 - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - // State 173 - 122, 0, 0, 0, 0, 123, 0, 0, 0, 0, 124, 0, 0, 125, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 126, 127, 128, 0, - // State 174 - 122, 0, 0, 0, 0, 123, 0, 0, 0, 0, 124, 0, 0, 125, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 126, 127, 128, 0, - // State 175 - -58, 0, 0, 0, 0, -58, 0, 0, 0, 0, -58, 0, 0, -58, 0, -58, 0, 0, 0, 0, 0, 0, 0, 0, 0, -58, -58, -58, 0, - // State 176 - 122, 0, 0, 0, 0, 0, 0, 0, 0, 0, 124, 0, 0, 125, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 126, 127, 128, 0, - // State 177 - 122, 0, 0, 0, 0, 0, 0, 0, 0, 0, 124, 0, 0, 125, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 126, 127, 128, 0, - // State 178 - 122, 0, 0, 0, 0, 0, 0, 0, 0, 0, 124, 0, 0, 125, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 126, 127, 128, 0, - // State 179 - 0, 220, 0, 134, 0, 135, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - // State 180 - 0, 0, -45, -45, 0, -45, -45, -45, 0, -45, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - // State 181 - 71, 0, 0, 0, 0, 72, 0, 0, 0, 0, 73, 0, 0, 74, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 75, 76, 77, 0, - // State 182 - 71, 0, 0, 0, 0, 72, 0, 0, 0, 0, 73, 0, 0, 74, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 75, 76, 77, 0, - // State 183 - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - // State 184 - 0, -39, 136, -39, 0, -39, 137, 0, 0, 138, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - // State 185 - 0, -40, 136, -40, 0, -40, 137, 0, 0, 138, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - // State 186 - 0, -42, -42, -42, 0, -42, -42, 0, 0, -42, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - // State 187 - 0, -43, -43, -43, 0, -43, -43, 0, 0, -43, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - // State 188 - 0, -44, -44, -44, 0, -44, -44, 0, 0, -44, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - // State 189 - 0, -71, -71, -71, 0, -71, -71, 0, 0, -71, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - // State 190 - 0, 223, 0, 134, 0, 135, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - // State 191 - 0, 224, 0, 134, 0, 135, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - // State 192 - 0, 0, -70, -70, 0, -70, -70, 0, -70, -70, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - // State 193 - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 226, 0, - // State 194 - 0, 0, -69, -69, 0, -69, -69, 0, -69, -69, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - // State 195 - 0, 0, 0, 0, 0, 0, 0, 227, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - // State 196 - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - // State 197 - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - // State 198 - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -6, 0, -6, 0, -6, -6, -6, 0, -6, -6, -6, 0, 0, 0, 0, -6, 0, - // State 199 - 0, 0, 0, 0, 0, 0, 0, 228, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - // State 200 - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -9, 0, -9, 0, -9, -9, -9, 0, -9, -9, -9, 0, 0, 0, 0, -9, 0, - // State 201 - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -7, 0, -7, 0, -7, -7, -7, 0, -7, -7, -7, 0, 0, 0, 0, -7, 0, - // State 202 - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -13, 0, -13, 0, -13, -13, -13, 0, -13, -13, -13, 0, 0, 0, 0, -13, 0, - // State 203 - 0, 229, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - // State 204 - 0, -63, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - // State 205 - 0, 0, 165, -39, 0, -39, 166, -39, 0, 167, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -39, 0, 0, 0, 0, - // State 206 - 0, 0, 165, -40, 0, -40, 166, -40, 0, 167, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -40, 0, 0, 0, 0, - // State 207 - 0, 0, -42, -42, 0, -42, -42, -42, 0, -42, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -42, 0, 0, 0, 0, - // State 208 - 0, 0, -43, -43, 0, -43, -43, -43, 0, -43, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -43, 0, 0, 0, 0, - // State 209 - 0, 0, -44, -44, 0, -44, -44, -44, 0, -44, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -44, 0, 0, 0, 0, - // State 210 - 0, 0, -71, -71, 0, -71, -71, -71, 0, -71, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -71, 0, 0, 0, 0, - // State 211 - 0, 230, 0, 134, 0, 135, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - // State 212 - 0, 231, 0, 134, 0, 135, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - // State 213 - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - // State 214 - 0, 0, 177, -39, 0, -39, 178, -39, 0, 179, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - // State 215 - 0, 0, 177, -40, 0, -40, 178, -40, 0, 179, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - // State 216 - 0, 0, -42, -42, 0, -42, -42, -42, 0, -42, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - // State 217 - 0, 0, -43, -43, 0, -43, -43, -43, 0, -43, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - // State 218 - 0, 0, -44, -44, 0, -44, -44, -44, 0, -44, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - // State 219 - 0, 0, -71, -71, 0, -71, -71, -71, 0, -71, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - // State 220 - 0, 232, 0, 134, 0, 135, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - // State 221 - 0, 233, 0, 134, 0, 135, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - // State 222 - 0, -70, -70, -70, 0, -70, -70, 0, 0, -70, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - // State 223 - 0, -69, -69, -69, 0, -69, -69, 0, 0, -69, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - // State 224 - 0, 234, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - // State 225 - 0, -48, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - // State 226 - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - // State 227 - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -5, 0, -5, 0, -5, -5, -5, 0, -5, -5, -5, 0, 0, 0, 0, -5, 0, - // State 228 - 0, 0, 0, 0, 0, 0, 0, -72, -72, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -72, 0, 0, 0, 0, - // State 229 - 0, 0, -70, -70, 0, -70, -70, -70, 0, -70, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -70, 0, 0, 0, 0, - // State 230 - 0, 0, -69, -69, 0, -69, -69, -69, 0, -69, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -69, 0, 0, 0, 0, - // State 231 - 0, 0, -70, -70, 0, -70, -70, -70, 0, -70, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - // State 232 - 0, 0, -69, -69, 0, -69, -69, -69, 0, -69, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - // State 233 - 0, 0, 0, 0, 0, 0, 0, 235, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - // State 234 - -34, 0, 0, 0, 0, -34, 0, 0, 0, 0, -34, -34, 0, -34, 0, -34, 0, 0, 0, 0, 0, 0, 0, 0, 0, -34, -34, -34, 0, - ]; - const __EOF_ACTION: &'static [i32] = &[ - 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, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - -50, - 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, - -52, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - -51, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - -56, - -55, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - -53, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - -57, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - ]; - const __GOTO: &'static [i32] = &[ - // State 0 - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - // State 1 - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - // State 2 - 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, - // State 3 - 0, 0, 0, 0, 6, 0, 7, 8, 0, 0, 0, 0, 0, 0, 0, 9, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - // State 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, - // State 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, - // State 6 - 0, 0, 0, 0, 19, 0, 0, 8, 0, 0, 0, 0, 0, 0, 0, 9, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - // State 7 - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 21, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - // State 8 - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 22, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - // State 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, - // State 10 - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - // State 11 - 0, 0, 0, 0, 0, 0, 0, 0, 0, 24, 0, 25, 26, 27, 28, 29, 30, 0, 31, 0, 32, 0, 0, 33, 0, 0, 0, 0, - // State 12 - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - // State 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, - // State 14 - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - // State 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, - // State 16 - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - // State 17 - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - // State 18 - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - // State 19 - 0, 0, 0, 0, 0, 0, 0, 0, 0, 24, 0, 43, 26, 27, 28, 29, 30, 0, 31, 0, 44, 0, 0, 33, 0, 0, 0, 0, - // State 20 - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 46, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - // State 21 - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 47, 0, 0, 48, 0, 49, 0, - // State 22 - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - // State 23 - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - // State 24 - 0, 0, 0, 0, 0, 0, 0, 0, 0, 54, 0, 0, 26, 27, 28, 29, 30, 0, 31, 0, 55, 0, 0, 33, 0, 0, 0, 0, - // State 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, - // State 26 - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - // State 27 - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - // State 28 - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - // State 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, - // State 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, - // State 31 - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 26, 27, 28, 29, 30, 0, 63, 0, 0, 0, 0, 33, 0, 0, 0, 0, - // State 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, - // State 33 - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 65, 66, 67, 68, 69, 0, 0, 0, 0, 0, 0, 70, 0, 0, 0, 0, - // State 34 - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 28, 29, 30, 0, 0, 0, 0, 0, 0, 78, 0, 0, 0, 0, - // State 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, - // State 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, - // State 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, - // State 38 - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 82, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - // State 39 - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - // State 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, - // State 41 - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - // State 42 - 0, 0, 0, 0, 0, 0, 0, 0, 0, 54, 0, 0, 26, 27, 28, 29, 30, 0, 31, 0, 84, 0, 0, 33, 0, 0, 0, 0, - // State 43 - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 26, 27, 28, 29, 30, 0, 63, 0, 0, 0, 0, 33, 0, 0, 0, 0, - // State 44 - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 87, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - // State 45 - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 88, 0, 0, 89, 0, 90, 0, - // State 46 - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - // State 47 - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 93, 0, 0, 0, 0, 94, 0, - // State 48 - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 96, 0, 0, 0, 0, 0, 0, - // State 49 - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - // State 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, - // State 51 - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 99, 100, 101, 102, 103, 0, 0, 0, 0, 0, 0, 104, 0, 0, 0, 0, - // State 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, - // State 53 - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - // State 54 - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 26, 27, 28, 29, 30, 0, 63, 0, 0, 0, 0, 33, 0, 0, 0, 0, - // State 55 - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 113, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - // State 56 - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 114, 28, 29, 30, 0, 0, 0, 0, 0, 0, 33, 0, 0, 0, 0, - // State 57 - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 115, 28, 29, 30, 0, 0, 0, 0, 0, 0, 33, 0, 0, 0, 0, - // State 58 - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 116, 117, 118, 119, 120, 0, 0, 0, 0, 0, 0, 121, 0, 0, 0, 0, - // State 59 - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 28, 29, 30, 0, 0, 0, 0, 0, 0, 129, 0, 0, 0, 0, - // State 60 - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 28, 29, 30, 0, 0, 0, 0, 0, 0, 130, 0, 0, 0, 0, - // State 61 - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 28, 29, 30, 0, 0, 0, 0, 0, 0, 131, 0, 0, 0, 0, - // State 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, - // State 63 - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 132, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - // State 64 - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - // State 65 - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - // State 66 - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - // State 67 - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - // State 68 - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - // State 69 - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - // State 70 - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 139, 66, 67, 68, 69, 0, 0, 0, 0, 0, 0, 70, 0, 0, 0, 0, - // State 71 - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 67, 68, 69, 0, 0, 0, 0, 0, 0, 140, 0, 0, 0, 0, - // State 72 - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - // State 73 - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - // State 74 - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - // State 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, - // State 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, - // State 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, - // State 78 - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 143, 66, 67, 68, 69, 0, 0, 0, 0, 0, 0, 70, 0, 0, 0, 0, - // State 79 - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 144, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - // State 80 - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 146, 66, 67, 68, 69, 0, 0, 0, 0, 0, 0, 70, 0, 0, 0, 0, - // State 81 - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - // State 82 - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - // State 83 - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 26, 27, 28, 29, 30, 0, 63, 0, 0, 0, 0, 33, 0, 0, 0, 0, - // State 84 - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 149, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - // State 85 - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 150, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - // State 86 - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - // State 87 - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - // State 88 - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 153, 0, 0, 0, 0, 154, 0, - // State 89 - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 156, 0, 0, 0, 0, 0, 0, - // State 90 - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - // State 91 - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - // State 92 - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - // State 93 - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 159, 0, 0, 0, 0, 0, 0, - // State 94 - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - // State 95 - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - // State 96 - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - // State 97 - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - // State 98 - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - // State 99 - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - // State 100 - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - // State 101 - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - // State 102 - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - // State 103 - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - // State 104 - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 168, 66, 67, 68, 69, 0, 0, 0, 0, 0, 0, 70, 0, 0, 0, 0, - // State 105 - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 101, 102, 103, 0, 0, 0, 0, 0, 0, 169, 0, 0, 0, 0, - // State 106 - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - // State 107 - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - // State 108 - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - // State 109 - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - // State 110 - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - // State 111 - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 172, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - // State 112 - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - // State 113 - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - // State 114 - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - // State 115 - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - // State 116 - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - // State 117 - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - // State 118 - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - // State 119 - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - // State 120 - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - // State 121 - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 180, 66, 67, 68, 69, 0, 0, 0, 0, 0, 0, 70, 0, 0, 0, 0, - // State 122 - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 118, 119, 120, 0, 0, 0, 0, 0, 0, 181, 0, 0, 0, 0, - // State 123 - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - // State 124 - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - // State 125 - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - // State 126 - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - // State 127 - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - // State 128 - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - // State 129 - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - // State 130 - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - // State 131 - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - // State 132 - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - // State 133 - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 185, 67, 68, 69, 0, 0, 0, 0, 0, 0, 70, 0, 0, 0, 0, - // State 134 - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 186, 67, 68, 69, 0, 0, 0, 0, 0, 0, 70, 0, 0, 0, 0, - // State 135 - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 67, 68, 69, 0, 0, 0, 0, 0, 0, 187, 0, 0, 0, 0, - // State 136 - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 67, 68, 69, 0, 0, 0, 0, 0, 0, 188, 0, 0, 0, 0, - // State 137 - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 67, 68, 69, 0, 0, 0, 0, 0, 0, 189, 0, 0, 0, 0, - // State 138 - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - // State 139 - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - // State 140 - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 191, 66, 67, 68, 69, 0, 0, 0, 0, 0, 0, 70, 0, 0, 0, 0, - // State 141 - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 192, 66, 67, 68, 69, 0, 0, 0, 0, 0, 0, 70, 0, 0, 0, 0, - // State 142 - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - // State 143 - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - // State 144 - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - // State 145 - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - // State 146 - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - // State 147 - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 196, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - // State 148 - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - // State 149 - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - // State 150 - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - // State 151 - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - // State 152 - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - // State 153 - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 200, 0, 0, 0, 0, 0, 0, - // State 154 - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - // State 155 - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - // State 156 - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - // State 157 - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - // State 158 - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - // State 159 - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - // State 160 - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - // State 161 - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 204, 0, 0, 0, 0, 0, 0, - // State 162 - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 206, 101, 102, 103, 0, 0, 0, 0, 0, 0, 104, 0, 0, 0, 0, - // State 163 - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 207, 101, 102, 103, 0, 0, 0, 0, 0, 0, 104, 0, 0, 0, 0, - // State 164 - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 101, 102, 103, 0, 0, 0, 0, 0, 0, 208, 0, 0, 0, 0, - // State 165 - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 101, 102, 103, 0, 0, 0, 0, 0, 0, 209, 0, 0, 0, 0, - // State 166 - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 101, 102, 103, 0, 0, 0, 0, 0, 0, 210, 0, 0, 0, 0, - // State 167 - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - // State 168 - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - // State 169 - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 212, 66, 67, 68, 69, 0, 0, 0, 0, 0, 0, 70, 0, 0, 0, 0, - // State 170 - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 213, 66, 67, 68, 69, 0, 0, 0, 0, 0, 0, 70, 0, 0, 0, 0, - // State 171 - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - // State 172 - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - // State 173 - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 215, 118, 119, 120, 0, 0, 0, 0, 0, 0, 121, 0, 0, 0, 0, - // State 174 - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 216, 118, 119, 120, 0, 0, 0, 0, 0, 0, 121, 0, 0, 0, 0, - // State 175 - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - // State 176 - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 118, 119, 120, 0, 0, 0, 0, 0, 0, 217, 0, 0, 0, 0, - // State 177 - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 118, 119, 120, 0, 0, 0, 0, 0, 0, 218, 0, 0, 0, 0, - // State 178 - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 118, 119, 120, 0, 0, 0, 0, 0, 0, 219, 0, 0, 0, 0, - // State 179 - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - // State 180 - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - // State 181 - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 221, 66, 67, 68, 69, 0, 0, 0, 0, 0, 0, 70, 0, 0, 0, 0, - // State 182 - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 222, 66, 67, 68, 69, 0, 0, 0, 0, 0, 0, 70, 0, 0, 0, 0, - // State 183 - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - // State 184 - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - // State 185 - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - // State 186 - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - // State 187 - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - // State 188 - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - // State 189 - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - // State 190 - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - // State 191 - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - // State 192 - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - // State 193 - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 225, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - // State 194 - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - // State 195 - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - // State 196 - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - // State 197 - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - // State 198 - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - // State 199 - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - // State 200 - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - // State 201 - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - // State 202 - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - // State 203 - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - // State 204 - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - // State 205 - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - // State 206 - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - // State 207 - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - // State 208 - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - // State 209 - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - // State 210 - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - // State 211 - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - // State 212 - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - // State 213 - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - // State 214 - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - // State 215 - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - // State 216 - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - // State 217 - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - // State 218 - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - // State 219 - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - // State 220 - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - // State 221 - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - // State 222 - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - // State 223 - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - // State 224 - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - // State 225 - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - // State 226 - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - // State 227 - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - // State 228 - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - // State 229 - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - // State 230 - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - // State 231 - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - // State 232 - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - // State 233 - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - // State 234 - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - ]; - pub fn parse_model< - 'input, - >( - input: &'input str, - ) -> Result> - { - let mut __tokens = super::__intern_token::__Matcher::new(input); - let mut __states = vec![0_i32]; - let mut __symbols = vec![]; - let mut __integer; - let mut __lookahead; - let mut __last_location = 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 { - (0, _) if true => 0, - (1, _) if true => 1, - (2, _) if true => 2, - (3, _) if true => 3, - (4, _) if true => 4, - (5, _) if true => 5, - (6, _) if true => 6, - (7, _) if true => 7, - (8, _) if true => 8, - (9, _) if true => 9, - (10, _) if true => 10, - (11, _) if true => 11, - (12, _) if true => 12, - (13, _) if true => 13, - (14, _) if true => 14, - (15, _) if true => 15, - (16, _) if true => 16, - (17, _) if true => 17, - (18, _) if true => 18, - (19, _) if true => 19, - (20, _) if true => 20, - (21, _) if true => 21, - (22, _) if true => 22, - (23, _) if true => 23, - (24, _) if true => 24, - (25, _) if true => 25, - (26, _) if true => 26, - (27, _) if true => 27, - _ => { - return Err(__lalrpop_util::ParseError::UnrecognizedToken { - token: Some(__lookahead), - expected: vec![], - }); - } - }; - '__inner: loop { - let __state = *__states.last().unwrap() as usize; - let __action = __ACTION[__state * 29 + __integer]; - if __action > 0 { - let __symbol = match __integer { - 0 => match __lookahead.1 { - (0, __tok0) => __Symbol::Term_22_28_22(__tok0), - _ => unreachable!(), - }, - 1 => match __lookahead.1 { - (1, __tok0) => __Symbol::Term_22_29_22(__tok0), - _ => unreachable!(), - }, - 2 => match __lookahead.1 { - (2, __tok0) => __Symbol::Term_22_2a_22(__tok0), - _ => unreachable!(), - }, - 3 => match __lookahead.1 { - (3, __tok0) => __Symbol::Term_22_2b_22(__tok0), - _ => unreachable!(), - }, - 4 => match __lookahead.1 { - (4, __tok0) => __Symbol::Term_22_2c_22(__tok0), - _ => unreachable!(), - }, - 5 => match __lookahead.1 { - (5, __tok0) => __Symbol::Term_22_2d_22(__tok0), - _ => unreachable!(), - }, - 6 => match __lookahead.1 { - (6, __tok0) => __Symbol::Term_22_2f_22(__tok0), - _ => unreachable!(), - }, - 7 => match __lookahead.1 { - (7, __tok0) => __Symbol::Term_22_3b_22(__tok0), - _ => unreachable!(), - }, - 8 => match __lookahead.1 { - (8, __tok0) => __Symbol::Term_22_3d_22(__tok0), - _ => unreachable!(), - }, - 9 => match __lookahead.1 { - (9, __tok0) => __Symbol::Term_22_5e_22(__tok0), - _ => unreachable!(), - }, - 10 => match __lookahead.1 { - (10, __tok0) => __Symbol::Term_22abs_22(__tok0), - _ => unreachable!(), - }, - 11 => match __lookahead.1 { - (11, __tok0) => __Symbol::Term_22connect_22(__tok0), - _ => unreachable!(), - }, - 12 => match __lookahead.1 { - (12, __tok0) => __Symbol::Term_22constant_22(__tok0), - _ => unreachable!(), - }, - 13 => match __lookahead.1 { - (13, __tok0) => __Symbol::Term_22der_22(__tok0), - _ => unreachable!(), - }, - 14 => match __lookahead.1 { - (14, __tok0) => __Symbol::Term_22discrete_22(__tok0), - _ => unreachable!(), - }, - 15 => match __lookahead.1 { - (15, __tok0) => __Symbol::Term_22end_22(__tok0), - _ => unreachable!(), - }, - 16 => match __lookahead.1 { - (16, __tok0) => __Symbol::Term_22equation_22(__tok0), - _ => unreachable!(), - }, - 17 => match __lookahead.1 { - (17, __tok0) => __Symbol::Term_22flow_22(__tok0), - _ => unreachable!(), - }, - 18 => match __lookahead.1 { - (18, __tok0) => __Symbol::Term_22input_22(__tok0), - _ => unreachable!(), - }, - 19 => match __lookahead.1 { - (19, __tok0) => __Symbol::Term_22model_22(__tok0), - _ => unreachable!(), - }, - 20 => match __lookahead.1 { - (20, __tok0) => __Symbol::Term_22output_22(__tok0), - _ => unreachable!(), - }, - 21 => match __lookahead.1 { - (21, __tok0) => __Symbol::Term_22parameter_22(__tok0), - _ => unreachable!(), - }, - 22 => match __lookahead.1 { - (22, __tok0) => __Symbol::Term_22stream_22(__tok0), - _ => unreachable!(), - }, - 23 => match __lookahead.1 { - (23, __tok0) => __Symbol::Term_22unit_22(__tok0), - _ => unreachable!(), - }, - 24 => match __lookahead.1 { - (24, __tok0) => __Symbol::Termr_23_22_5c_22_5b_5e_5c_22_5c_5c_5c_5c_5d_2a_5c_22_22_23(__tok0), - _ => unreachable!(), - }, - 25 => match __lookahead.1 { - (25, __tok0) => __Symbol::Termr_23_22_5b_2b_2d_5d_3f_5c_5cd_2b_22_23(__tok0), - _ => unreachable!(), - }, - 26 => match __lookahead.1 { - (26, __tok0) => __Symbol::Termr_23_22_5b_2b_2d_5d_3f_5c_5cd_2b_5c_5c_2e_5c_5cd_2a_28_5beE_5d_5b_2d_2b_5d_3f_5c_5cd_2b_29_3f_22_23(__tok0), - _ => unreachable!(), - }, - 27 => match __lookahead.1 { - (27, __tok0) => __Symbol::Termr_23_22_5ba_2dzA_2dZ___5d_5ba_2dzA_2dZ__0_2d9_5d_2a_22_23(__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::<()>) { - return r; - } - } else { - return Err(__lalrpop_util::ParseError::UnrecognizedToken { - token: Some(__lookahead), - expected: vec![], - }); - } - } - } - 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 __error = __lalrpop_util::ParseError::UnrecognizedToken { - token: None, - expected: vec![], - }; - return Err(__error); - } - } - } - pub fn __reduce< - 'input, - >( - input: &'input str, - __action: i32, - __lookahead_start: Option<&usize>, - __states: &mut ::std::vec::Vec, - __symbols: &mut ::std::vec::Vec<(usize,__Symbol<'input>,usize)>, - _: ::std::marker::PhantomData<()>, - ) -> Option>> - { - let __nonterminal = match -__action { - 1 => { - // __float = float => ActionFn(2); - let __sym0 = __pop_Ntfloat(__symbols); - let __start = __sym0.0.clone(); - let __end = __sym0.2.clone(); - let __nt = super::__action2::<>(input, __sym0); - let __states_len = __states.len(); - __states.truncate(__states_len - 1); - __symbols.push((__start, __Symbol::Nt____float(__nt), __end)); - 0 - } - 2 => { - // __identifier = identifier => ActionFn(0); - let __sym0 = __pop_Ntidentifier(__symbols); - let __start = __sym0.0.clone(); - let __end = __sym0.2.clone(); - let __nt = super::__action0::<>(input, __sym0); - let __states_len = __states.len(); - __states.truncate(__states_len - 1); - __symbols.push((__start, __Symbol::Nt____identifier(__nt), __end)); - 1 - } - 3 => { - // __integer = integer => ActionFn(1); - let __sym0 = __pop_Ntinteger(__symbols); - let __start = __sym0.0.clone(); - let __end = __sym0.2.clone(); - let __nt = super::__action1::<>(input, __sym0); - let __states_len = __states.len(); - __states.truncate(__states_len - 1); - __symbols.push((__start, __Symbol::Nt____integer(__nt), __end)); - 2 - } - 4 => { - // __model = model => ActionFn(3); - let __sym0 = __pop_Ntmodel(__symbols); - let __start = __sym0.0.clone(); - let __end = __sym0.2.clone(); - let __nt = super::__action3::<>(input, __sym0); - return Some(Ok(__nt)); - } - 5 => { - // component_declaration = component_prefix, identifier, identifier, units_declaration, value_declaration, string_literal, ";" => ActionFn(83); - let __sym6 = __pop_Term_22_3b_22(__symbols); - let __sym5 = __pop_Ntstring__literal(__symbols); - let __sym4 = __pop_Ntvalue__declaration(__symbols); - let __sym3 = __pop_Ntunits__declaration(__symbols); - let __sym2 = __pop_Ntidentifier(__symbols); - let __sym1 = __pop_Ntidentifier(__symbols); - let __sym0 = __pop_Ntcomponent__prefix(__symbols); - let __start = __sym0.0.clone(); - let __end = __sym6.2.clone(); - let __nt = super::__action83::<>(input, __sym0, __sym1, __sym2, __sym3, __sym4, __sym5, __sym6); - let __states_len = __states.len(); - __states.truncate(__states_len - 7); - __symbols.push((__start, __Symbol::Ntcomponent__declaration(__nt), __end)); - 4 - } - 6 => { - // component_declaration = component_prefix, identifier, identifier, units_declaration, string_literal, ";" => ActionFn(84); - let __sym5 = __pop_Term_22_3b_22(__symbols); - let __sym4 = __pop_Ntstring__literal(__symbols); - let __sym3 = __pop_Ntunits__declaration(__symbols); - let __sym2 = __pop_Ntidentifier(__symbols); - let __sym1 = __pop_Ntidentifier(__symbols); - let __sym0 = __pop_Ntcomponent__prefix(__symbols); - let __start = __sym0.0.clone(); - let __end = __sym5.2.clone(); - let __nt = super::__action84::<>(input, __sym0, __sym1, __sym2, __sym3, __sym4, __sym5); - let __states_len = __states.len(); - __states.truncate(__states_len - 6); - __symbols.push((__start, __Symbol::Ntcomponent__declaration(__nt), __end)); - 4 - } - 7 => { - // component_declaration = component_prefix, identifier, identifier, value_declaration, string_literal, ";" => ActionFn(85); - let __sym5 = __pop_Term_22_3b_22(__symbols); - let __sym4 = __pop_Ntstring__literal(__symbols); - let __sym3 = __pop_Ntvalue__declaration(__symbols); - let __sym2 = __pop_Ntidentifier(__symbols); - let __sym1 = __pop_Ntidentifier(__symbols); - let __sym0 = __pop_Ntcomponent__prefix(__symbols); - let __start = __sym0.0.clone(); - let __end = __sym5.2.clone(); - let __nt = super::__action85::<>(input, __sym0, __sym1, __sym2, __sym3, __sym4, __sym5); - let __states_len = __states.len(); - __states.truncate(__states_len - 6); - __symbols.push((__start, __Symbol::Ntcomponent__declaration(__nt), __end)); - 4 - } - 8 => { - // component_declaration = component_prefix, identifier, identifier, string_literal, ";" => ActionFn(86); - let __sym4 = __pop_Term_22_3b_22(__symbols); - let __sym3 = __pop_Ntstring__literal(__symbols); - let __sym2 = __pop_Ntidentifier(__symbols); - let __sym1 = __pop_Ntidentifier(__symbols); - let __sym0 = __pop_Ntcomponent__prefix(__symbols); - let __start = __sym0.0.clone(); - let __end = __sym4.2.clone(); - let __nt = super::__action86::<>(input, __sym0, __sym1, __sym2, __sym3, __sym4); - let __states_len = __states.len(); - __states.truncate(__states_len - 5); - __symbols.push((__start, __Symbol::Ntcomponent__declaration(__nt), __end)); - 4 - } - 9 => { - // component_declaration = component_prefix, identifier, identifier, units_declaration, value_declaration, ";" => ActionFn(87); - let __sym5 = __pop_Term_22_3b_22(__symbols); - let __sym4 = __pop_Ntvalue__declaration(__symbols); - let __sym3 = __pop_Ntunits__declaration(__symbols); - let __sym2 = __pop_Ntidentifier(__symbols); - let __sym1 = __pop_Ntidentifier(__symbols); - let __sym0 = __pop_Ntcomponent__prefix(__symbols); - let __start = __sym0.0.clone(); - let __end = __sym5.2.clone(); - let __nt = super::__action87::<>(input, __sym0, __sym1, __sym2, __sym3, __sym4, __sym5); - let __states_len = __states.len(); - __states.truncate(__states_len - 6); - __symbols.push((__start, __Symbol::Ntcomponent__declaration(__nt), __end)); - 4 - } - 10 => { - // component_declaration = component_prefix, identifier, identifier, units_declaration, ";" => ActionFn(88); - let __sym4 = __pop_Term_22_3b_22(__symbols); - let __sym3 = __pop_Ntunits__declaration(__symbols); - let __sym2 = __pop_Ntidentifier(__symbols); - let __sym1 = __pop_Ntidentifier(__symbols); - let __sym0 = __pop_Ntcomponent__prefix(__symbols); - let __start = __sym0.0.clone(); - let __end = __sym4.2.clone(); - let __nt = super::__action88::<>(input, __sym0, __sym1, __sym2, __sym3, __sym4); - let __states_len = __states.len(); - __states.truncate(__states_len - 5); - __symbols.push((__start, __Symbol::Ntcomponent__declaration(__nt), __end)); - 4 - } - 11 => { - // component_declaration = component_prefix, identifier, identifier, value_declaration, ";" => ActionFn(89); - let __sym4 = __pop_Term_22_3b_22(__symbols); - let __sym3 = __pop_Ntvalue__declaration(__symbols); - let __sym2 = __pop_Ntidentifier(__symbols); - let __sym1 = __pop_Ntidentifier(__symbols); - let __sym0 = __pop_Ntcomponent__prefix(__symbols); - let __start = __sym0.0.clone(); - let __end = __sym4.2.clone(); - let __nt = super::__action89::<>(input, __sym0, __sym1, __sym2, __sym3, __sym4); - let __states_len = __states.len(); - __states.truncate(__states_len - 5); - __symbols.push((__start, __Symbol::Ntcomponent__declaration(__nt), __end)); - 4 - } - 12 => { - // component_declaration = component_prefix, identifier, identifier, ";" => ActionFn(90); - let __sym3 = __pop_Term_22_3b_22(__symbols); - let __sym2 = __pop_Ntidentifier(__symbols); - let __sym1 = __pop_Ntidentifier(__symbols); - let __sym0 = __pop_Ntcomponent__prefix(__symbols); - let __start = __sym0.0.clone(); - let __end = __sym3.2.clone(); - let __nt = super::__action90::<>(input, __sym0, __sym1, __sym2, __sym3); - let __states_len = __states.len(); - __states.truncate(__states_len - 4); - __symbols.push((__start, __Symbol::Ntcomponent__declaration(__nt), __end)); - 4 - } - 13 => { - // component_declaration = identifier, identifier, units_declaration, value_declaration, string_literal, ";" => ActionFn(91); - let __sym5 = __pop_Term_22_3b_22(__symbols); - let __sym4 = __pop_Ntstring__literal(__symbols); - let __sym3 = __pop_Ntvalue__declaration(__symbols); - let __sym2 = __pop_Ntunits__declaration(__symbols); - let __sym1 = __pop_Ntidentifier(__symbols); - let __sym0 = __pop_Ntidentifier(__symbols); - let __start = __sym0.0.clone(); - let __end = __sym5.2.clone(); - let __nt = super::__action91::<>(input, __sym0, __sym1, __sym2, __sym3, __sym4, __sym5); - let __states_len = __states.len(); - __states.truncate(__states_len - 6); - __symbols.push((__start, __Symbol::Ntcomponent__declaration(__nt), __end)); - 4 - } - 14 => { - // component_declaration = identifier, identifier, units_declaration, string_literal, ";" => ActionFn(92); - let __sym4 = __pop_Term_22_3b_22(__symbols); - let __sym3 = __pop_Ntstring__literal(__symbols); - let __sym2 = __pop_Ntunits__declaration(__symbols); - let __sym1 = __pop_Ntidentifier(__symbols); - let __sym0 = __pop_Ntidentifier(__symbols); - let __start = __sym0.0.clone(); - let __end = __sym4.2.clone(); - let __nt = super::__action92::<>(input, __sym0, __sym1, __sym2, __sym3, __sym4); - let __states_len = __states.len(); - __states.truncate(__states_len - 5); - __symbols.push((__start, __Symbol::Ntcomponent__declaration(__nt), __end)); - 4 - } - 15 => { - // component_declaration = identifier, identifier, value_declaration, string_literal, ";" => ActionFn(93); - let __sym4 = __pop_Term_22_3b_22(__symbols); - let __sym3 = __pop_Ntstring__literal(__symbols); - let __sym2 = __pop_Ntvalue__declaration(__symbols); - let __sym1 = __pop_Ntidentifier(__symbols); - let __sym0 = __pop_Ntidentifier(__symbols); - let __start = __sym0.0.clone(); - let __end = __sym4.2.clone(); - let __nt = super::__action93::<>(input, __sym0, __sym1, __sym2, __sym3, __sym4); - let __states_len = __states.len(); - __states.truncate(__states_len - 5); - __symbols.push((__start, __Symbol::Ntcomponent__declaration(__nt), __end)); - 4 - } - 16 => { - // component_declaration = identifier, identifier, string_literal, ";" => ActionFn(94); - let __sym3 = __pop_Term_22_3b_22(__symbols); - let __sym2 = __pop_Ntstring__literal(__symbols); - let __sym1 = __pop_Ntidentifier(__symbols); - let __sym0 = __pop_Ntidentifier(__symbols); - let __start = __sym0.0.clone(); - let __end = __sym3.2.clone(); - let __nt = super::__action94::<>(input, __sym0, __sym1, __sym2, __sym3); - let __states_len = __states.len(); - __states.truncate(__states_len - 4); - __symbols.push((__start, __Symbol::Ntcomponent__declaration(__nt), __end)); - 4 - } - 17 => { - // component_declaration = identifier, identifier, units_declaration, value_declaration, ";" => ActionFn(95); - let __sym4 = __pop_Term_22_3b_22(__symbols); - let __sym3 = __pop_Ntvalue__declaration(__symbols); - let __sym2 = __pop_Ntunits__declaration(__symbols); - let __sym1 = __pop_Ntidentifier(__symbols); - let __sym0 = __pop_Ntidentifier(__symbols); - let __start = __sym0.0.clone(); - let __end = __sym4.2.clone(); - let __nt = super::__action95::<>(input, __sym0, __sym1, __sym2, __sym3, __sym4); - let __states_len = __states.len(); - __states.truncate(__states_len - 5); - __symbols.push((__start, __Symbol::Ntcomponent__declaration(__nt), __end)); - 4 - } - 18 => { - // component_declaration = identifier, identifier, units_declaration, ";" => ActionFn(96); - let __sym3 = __pop_Term_22_3b_22(__symbols); - let __sym2 = __pop_Ntunits__declaration(__symbols); - let __sym1 = __pop_Ntidentifier(__symbols); - let __sym0 = __pop_Ntidentifier(__symbols); - let __start = __sym0.0.clone(); - let __end = __sym3.2.clone(); - let __nt = super::__action96::<>(input, __sym0, __sym1, __sym2, __sym3); - let __states_len = __states.len(); - __states.truncate(__states_len - 4); - __symbols.push((__start, __Symbol::Ntcomponent__declaration(__nt), __end)); - 4 - } - 19 => { - // component_declaration = identifier, identifier, value_declaration, ";" => ActionFn(97); - let __sym3 = __pop_Term_22_3b_22(__symbols); - let __sym2 = __pop_Ntvalue__declaration(__symbols); - let __sym1 = __pop_Ntidentifier(__symbols); - let __sym0 = __pop_Ntidentifier(__symbols); - let __start = __sym0.0.clone(); - let __end = __sym3.2.clone(); - let __nt = super::__action97::<>(input, __sym0, __sym1, __sym2, __sym3); - let __states_len = __states.len(); - __states.truncate(__states_len - 4); - __symbols.push((__start, __Symbol::Ntcomponent__declaration(__nt), __end)); - 4 - } - 20 => { - // component_declaration = identifier, identifier, ";" => ActionFn(98); - let __sym2 = __pop_Term_22_3b_22(__symbols); - let __sym1 = __pop_Ntidentifier(__symbols); - let __sym0 = __pop_Ntidentifier(__symbols); - let __start = __sym0.0.clone(); - let __end = __sym2.2.clone(); - let __nt = super::__action98::<>(input, __sym0, __sym1, __sym2); - let __states_len = __states.len(); - __states.truncate(__states_len - 3); - __symbols.push((__start, __Symbol::Ntcomponent__declaration(__nt), __end)); - 4 - } - 21 => { - // component_declaration* = => ActionFn(47); - 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::__action47::<>(input, &__start, &__end); - let __states_len = __states.len(); - __states.truncate(__states_len - 0); - __symbols.push((__start, __Symbol::Ntcomponent__declaration_2a(__nt), __end)); - 5 - } - 22 => { - // component_declaration* = component_declaration+ => ActionFn(48); - let __sym0 = __pop_Ntcomponent__declaration_2b(__symbols); - let __start = __sym0.0.clone(); - let __end = __sym0.2.clone(); - let __nt = super::__action48::<>(input, __sym0); - let __states_len = __states.len(); - __states.truncate(__states_len - 1); - __symbols.push((__start, __Symbol::Ntcomponent__declaration_2a(__nt), __end)); - 5 - } - 23 => { - // component_declaration+ = component_declaration => ActionFn(49); - let __sym0 = __pop_Ntcomponent__declaration(__symbols); - let __start = __sym0.0.clone(); - let __end = __sym0.2.clone(); - let __nt = super::__action49::<>(input, __sym0); - let __states_len = __states.len(); - __states.truncate(__states_len - 1); - __symbols.push((__start, __Symbol::Ntcomponent__declaration_2b(__nt), __end)); - 6 - } - 24 => { - // component_declaration+ = component_declaration+, component_declaration => ActionFn(50); - let __sym1 = __pop_Ntcomponent__declaration(__symbols); - let __sym0 = __pop_Ntcomponent__declaration_2b(__symbols); - let __start = __sym0.0.clone(); - let __end = __sym1.2.clone(); - let __nt = super::__action50::<>(input, __sym0, __sym1); - let __states_len = __states.len(); - __states.truncate(__states_len - 2); - __symbols.push((__start, __Symbol::Ntcomponent__declaration_2b(__nt), __end)); - 6 - } - 25 => { - // component_prefix = "flow" => ActionFn(12); - let __sym0 = __pop_Term_22flow_22(__symbols); - let __start = __sym0.0.clone(); - let __end = __sym0.2.clone(); - let __nt = super::__action12::<>(input, __sym0); - let __states_len = __states.len(); - __states.truncate(__states_len - 1); - __symbols.push((__start, __Symbol::Ntcomponent__prefix(__nt), __end)); - 7 - } - 26 => { - // component_prefix = "stream" => ActionFn(13); - let __sym0 = __pop_Term_22stream_22(__symbols); - let __start = __sym0.0.clone(); - let __end = __sym0.2.clone(); - let __nt = super::__action13::<>(input, __sym0); - let __states_len = __states.len(); - __states.truncate(__states_len - 1); - __symbols.push((__start, __Symbol::Ntcomponent__prefix(__nt), __end)); - 7 - } - 27 => { - // component_prefix = "input" => ActionFn(14); - let __sym0 = __pop_Term_22input_22(__symbols); - let __start = __sym0.0.clone(); - let __end = __sym0.2.clone(); - let __nt = super::__action14::<>(input, __sym0); - let __states_len = __states.len(); - __states.truncate(__states_len - 1); - __symbols.push((__start, __Symbol::Ntcomponent__prefix(__nt), __end)); - 7 - } - 28 => { - // component_prefix = "output" => ActionFn(15); - let __sym0 = __pop_Term_22output_22(__symbols); - let __start = __sym0.0.clone(); - let __end = __sym0.2.clone(); - let __nt = super::__action15::<>(input, __sym0); - let __states_len = __states.len(); - __states.truncate(__states_len - 1); - __symbols.push((__start, __Symbol::Ntcomponent__prefix(__nt), __end)); - 7 - } - 29 => { - // component_prefix = "discrete" => ActionFn(16); - let __sym0 = __pop_Term_22discrete_22(__symbols); - let __start = __sym0.0.clone(); - let __end = __sym0.2.clone(); - let __nt = super::__action16::<>(input, __sym0); - let __states_len = __states.len(); - __states.truncate(__states_len - 1); - __symbols.push((__start, __Symbol::Ntcomponent__prefix(__nt), __end)); - 7 - } - 30 => { - // component_prefix = "parameter" => ActionFn(17); - let __sym0 = __pop_Term_22parameter_22(__symbols); - let __start = __sym0.0.clone(); - let __end = __sym0.2.clone(); - let __nt = super::__action17::<>(input, __sym0); - let __states_len = __states.len(); - __states.truncate(__states_len - 1); - __symbols.push((__start, __Symbol::Ntcomponent__prefix(__nt), __end)); - 7 - } - 31 => { - // component_prefix = "constant" => ActionFn(18); - let __sym0 = __pop_Term_22constant_22(__symbols); - let __start = __sym0.0.clone(); - let __end = __sym0.2.clone(); - let __nt = super::__action18::<>(input, __sym0); - let __states_len = __states.len(); - __states.truncate(__states_len - 1); - __symbols.push((__start, __Symbol::Ntcomponent__prefix(__nt), __end)); - 7 - } - 32 => { - // component_prefix? = component_prefix => ActionFn(41); - let __sym0 = __pop_Ntcomponent__prefix(__symbols); - let __start = __sym0.0.clone(); - let __end = __sym0.2.clone(); - let __nt = super::__action41::<>(input, __sym0); - let __states_len = __states.len(); - __states.truncate(__states_len - 1); - __symbols.push((__start, __Symbol::Ntcomponent__prefix_3f(__nt), __end)); - 8 - } - 33 => { - // component_prefix? = => ActionFn(42); - 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::__action42::<>(input, &__start, &__end); - let __states_len = __states.len(); - __states.truncate(__states_len - 0); - __symbols.push((__start, __Symbol::Ntcomponent__prefix_3f(__nt), __end)); - 8 - } - 34 => { - // connect_clause = "connect", "(", identifier, ",", identifier, ")", ";" => ActionFn(20); - let __sym6 = __pop_Term_22_3b_22(__symbols); - let __sym5 = __pop_Term_22_29_22(__symbols); - let __sym4 = __pop_Ntidentifier(__symbols); - let __sym3 = __pop_Term_22_2c_22(__symbols); - let __sym2 = __pop_Ntidentifier(__symbols); - let __sym1 = __pop_Term_22_28_22(__symbols); - let __sym0 = __pop_Term_22connect_22(__symbols); - let __start = __sym0.0.clone(); - let __end = __sym6.2.clone(); - let __nt = super::__action20::<>(input, __sym0, __sym1, __sym2, __sym3, __sym4, __sym5, __sym6); - let __states_len = __states.len(); - __states.truncate(__states_len - 7); - __symbols.push((__start, __Symbol::Ntconnect__clause(__nt), __end)); - 9 - } - 35 => { - // connect_clause* = => ActionFn(45); - 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::__action45::<>(input, &__start, &__end); - let __states_len = __states.len(); - __states.truncate(__states_len - 0); - __symbols.push((__start, __Symbol::Ntconnect__clause_2a(__nt), __end)); - 10 - } - 36 => { - // connect_clause* = connect_clause+ => ActionFn(46); - let __sym0 = __pop_Ntconnect__clause_2b(__symbols); - let __start = __sym0.0.clone(); - let __end = __sym0.2.clone(); - let __nt = super::__action46::<>(input, __sym0); - let __states_len = __states.len(); - __states.truncate(__states_len - 1); - __symbols.push((__start, __Symbol::Ntconnect__clause_2a(__nt), __end)); - 10 - } - 37 => { - // connect_clause+ = connect_clause => ActionFn(51); - let __sym0 = __pop_Ntconnect__clause(__symbols); - let __start = __sym0.0.clone(); - let __end = __sym0.2.clone(); - let __nt = super::__action51::<>(input, __sym0); - let __states_len = __states.len(); - __states.truncate(__states_len - 1); - __symbols.push((__start, __Symbol::Ntconnect__clause_2b(__nt), __end)); - 11 - } - 38 => { - // connect_clause+ = connect_clause+, connect_clause => ActionFn(52); - let __sym1 = __pop_Ntconnect__clause(__symbols); - let __sym0 = __pop_Ntconnect__clause_2b(__symbols); - let __start = __sym0.0.clone(); - let __end = __sym1.2.clone(); - let __nt = super::__action52::<>(input, __sym0, __sym1); - let __states_len = __states.len(); - __states.truncate(__states_len - 2); - __symbols.push((__start, __Symbol::Ntconnect__clause_2b(__nt), __end)); - 11 - } - 39 => { - // expr = expr, "+", factor => ActionFn(21); - let __sym2 = __pop_Ntfactor(__symbols); - let __sym1 = __pop_Term_22_2b_22(__symbols); - let __sym0 = __pop_Ntexpr(__symbols); - let __start = __sym0.0.clone(); - let __end = __sym2.2.clone(); - let __nt = super::__action21::<>(input, __sym0, __sym1, __sym2); - let __states_len = __states.len(); - __states.truncate(__states_len - 3); - __symbols.push((__start, __Symbol::Ntexpr(__nt), __end)); - 12 - } - 40 => { - // expr = expr, "-", factor => ActionFn(22); - let __sym2 = __pop_Ntfactor(__symbols); - let __sym1 = __pop_Term_22_2d_22(__symbols); - let __sym0 = __pop_Ntexpr(__symbols); - let __start = __sym0.0.clone(); - let __end = __sym2.2.clone(); - let __nt = super::__action22::<>(input, __sym0, __sym1, __sym2); - let __states_len = __states.len(); - __states.truncate(__states_len - 3); - __symbols.push((__start, __Symbol::Ntexpr(__nt), __end)); - 12 - } - 41 => { - // expr = factor => ActionFn(23); - let __sym0 = __pop_Ntfactor(__symbols); - let __start = __sym0.0.clone(); - let __end = __sym0.2.clone(); - let __nt = super::__action23::<>(input, __sym0); - let __states_len = __states.len(); - __states.truncate(__states_len - 1); - __symbols.push((__start, __Symbol::Ntexpr(__nt), __end)); - 12 - } - 42 => { - // factor = factor, "*", term => ActionFn(24); - let __sym2 = __pop_Ntterm(__symbols); - let __sym1 = __pop_Term_22_2a_22(__symbols); - let __sym0 = __pop_Ntfactor(__symbols); - let __start = __sym0.0.clone(); - let __end = __sym2.2.clone(); - let __nt = super::__action24::<>(input, __sym0, __sym1, __sym2); - let __states_len = __states.len(); - __states.truncate(__states_len - 3); - __symbols.push((__start, __Symbol::Ntfactor(__nt), __end)); - 13 - } - 43 => { - // factor = factor, "/", term => ActionFn(25); - let __sym2 = __pop_Ntterm(__symbols); - let __sym1 = __pop_Term_22_2f_22(__symbols); - let __sym0 = __pop_Ntfactor(__symbols); - let __start = __sym0.0.clone(); - let __end = __sym2.2.clone(); - let __nt = super::__action25::<>(input, __sym0, __sym1, __sym2); - let __states_len = __states.len(); - __states.truncate(__states_len - 3); - __symbols.push((__start, __Symbol::Ntfactor(__nt), __end)); - 13 - } - 44 => { - // factor = factor, "^", term => ActionFn(26); - let __sym2 = __pop_Ntterm(__symbols); - let __sym1 = __pop_Term_22_5e_22(__symbols); - let __sym0 = __pop_Ntfactor(__symbols); - let __start = __sym0.0.clone(); - let __end = __sym2.2.clone(); - let __nt = super::__action26::<>(input, __sym0, __sym1, __sym2); - let __states_len = __states.len(); - __states.truncate(__states_len - 3); - __symbols.push((__start, __Symbol::Ntfactor(__nt), __end)); - 13 - } - 45 => { - // factor = "-", term => ActionFn(27); - let __sym1 = __pop_Ntterm(__symbols); - let __sym0 = __pop_Term_22_2d_22(__symbols); - let __start = __sym0.0.clone(); - let __end = __sym1.2.clone(); - let __nt = super::__action27::<>(input, __sym0, __sym1); - let __states_len = __states.len(); - __states.truncate(__states_len - 2); - __symbols.push((__start, __Symbol::Ntfactor(__nt), __end)); - 13 - } - 46 => { - // factor = term => ActionFn(28); - let __sym0 = __pop_Ntterm(__symbols); - let __start = __sym0.0.clone(); - let __end = __sym0.2.clone(); - let __nt = super::__action28::<>(input, __sym0); - let __states_len = __states.len(); - __states.truncate(__states_len - 1); - __symbols.push((__start, __Symbol::Ntfactor(__nt), __end)); - 13 - } - 47 => { - // float = r#"[+-]?\\d+\\.\\d*([eE][-+]?\\d+)?"# => ActionFn(7); - let __sym0 = __pop_Termr_23_22_5b_2b_2d_5d_3f_5c_5cd_2b_5c_5c_2e_5c_5cd_2a_28_5beE_5d_5b_2d_2b_5d_3f_5c_5cd_2b_29_3f_22_23(__symbols); - let __start = __sym0.0.clone(); - let __end = __sym0.2.clone(); - let __nt = super::__action7::<>(input, __sym0); - let __states_len = __states.len(); - __states.truncate(__states_len - 1); - __symbols.push((__start, __Symbol::Ntfloat(__nt), __end)); - 14 - } - 48 => { - // identifier = r#"[a-zA-Z_][a-zA-Z_0-9]*"# => ActionFn(4); - let __sym0 = __pop_Termr_23_22_5ba_2dzA_2dZ___5d_5ba_2dzA_2dZ__0_2d9_5d_2a_22_23(__symbols); - let __start = __sym0.0.clone(); - let __end = __sym0.2.clone(); - let __nt = super::__action4::<>(input, __sym0); - let __states_len = __states.len(); - __states.truncate(__states_len - 1); - __symbols.push((__start, __Symbol::Ntidentifier(__nt), __end)); - 15 - } - 49 => { - // integer = r#"[+-]?\\d+"# => ActionFn(6); - let __sym0 = __pop_Termr_23_22_5b_2b_2d_5d_3f_5c_5cd_2b_22_23(__symbols); - let __start = __sym0.0.clone(); - let __end = __sym0.2.clone(); - let __nt = super::__action6::<>(input, __sym0); - let __states_len = __states.len(); - __states.truncate(__states_len - 1); - __symbols.push((__start, __Symbol::Ntinteger(__nt), __end)); - 16 - } - 50 => { - // model = "model", identifier, "equation", "end", identifier, ";" => ActionFn(63); - let __sym5 = __pop_Term_22_3b_22(__symbols); - let __sym4 = __pop_Ntidentifier(__symbols); - let __sym3 = __pop_Term_22end_22(__symbols); - let __sym2 = __pop_Term_22equation_22(__symbols); - let __sym1 = __pop_Ntidentifier(__symbols); - let __sym0 = __pop_Term_22model_22(__symbols); - let __start = __sym0.0.clone(); - let __end = __sym5.2.clone(); - let __nt = super::__action63::<>(input, __sym0, __sym1, __sym2, __sym3, __sym4, __sym5); - let __states_len = __states.len(); - __states.truncate(__states_len - 6); - __symbols.push((__start, __Symbol::Ntmodel(__nt), __end)); - 17 - } - 51 => { - // model = "model", identifier, "equation", simple_equation+, "end", identifier, ";" => ActionFn(64); - let __sym6 = __pop_Term_22_3b_22(__symbols); - let __sym5 = __pop_Ntidentifier(__symbols); - let __sym4 = __pop_Term_22end_22(__symbols); - let __sym3 = __pop_Ntsimple__equation_2b(__symbols); - let __sym2 = __pop_Term_22equation_22(__symbols); - let __sym1 = __pop_Ntidentifier(__symbols); - let __sym0 = __pop_Term_22model_22(__symbols); - let __start = __sym0.0.clone(); - let __end = __sym6.2.clone(); - let __nt = super::__action64::<>(input, __sym0, __sym1, __sym2, __sym3, __sym4, __sym5, __sym6); - let __states_len = __states.len(); - __states.truncate(__states_len - 7); - __symbols.push((__start, __Symbol::Ntmodel(__nt), __end)); - 17 - } - 52 => { - // model = "model", identifier, "equation", connect_clause+, "end", identifier, ";" => ActionFn(65); - let __sym6 = __pop_Term_22_3b_22(__symbols); - let __sym5 = __pop_Ntidentifier(__symbols); - let __sym4 = __pop_Term_22end_22(__symbols); - let __sym3 = __pop_Ntconnect__clause_2b(__symbols); - let __sym2 = __pop_Term_22equation_22(__symbols); - let __sym1 = __pop_Ntidentifier(__symbols); - let __sym0 = __pop_Term_22model_22(__symbols); - let __start = __sym0.0.clone(); - let __end = __sym6.2.clone(); - let __nt = super::__action65::<>(input, __sym0, __sym1, __sym2, __sym3, __sym4, __sym5, __sym6); - let __states_len = __states.len(); - __states.truncate(__states_len - 7); - __symbols.push((__start, __Symbol::Ntmodel(__nt), __end)); - 17 - } - 53 => { - // model = "model", identifier, "equation", connect_clause+, simple_equation+, "end", identifier, ";" => ActionFn(66); - let __sym7 = __pop_Term_22_3b_22(__symbols); - let __sym6 = __pop_Ntidentifier(__symbols); - let __sym5 = __pop_Term_22end_22(__symbols); - let __sym4 = __pop_Ntsimple__equation_2b(__symbols); - let __sym3 = __pop_Ntconnect__clause_2b(__symbols); - let __sym2 = __pop_Term_22equation_22(__symbols); - let __sym1 = __pop_Ntidentifier(__symbols); - let __sym0 = __pop_Term_22model_22(__symbols); - let __start = __sym0.0.clone(); - let __end = __sym7.2.clone(); - let __nt = super::__action66::<>(input, __sym0, __sym1, __sym2, __sym3, __sym4, __sym5, __sym6, __sym7); - let __states_len = __states.len(); - __states.truncate(__states_len - 8); - __symbols.push((__start, __Symbol::Ntmodel(__nt), __end)); - 17 - } - 54 => { - // model = "model", identifier, component_declaration+, "equation", "end", identifier, ";" => ActionFn(67); - let __sym6 = __pop_Term_22_3b_22(__symbols); - let __sym5 = __pop_Ntidentifier(__symbols); - let __sym4 = __pop_Term_22end_22(__symbols); - let __sym3 = __pop_Term_22equation_22(__symbols); - let __sym2 = __pop_Ntcomponent__declaration_2b(__symbols); - let __sym1 = __pop_Ntidentifier(__symbols); - let __sym0 = __pop_Term_22model_22(__symbols); - let __start = __sym0.0.clone(); - let __end = __sym6.2.clone(); - let __nt = super::__action67::<>(input, __sym0, __sym1, __sym2, __sym3, __sym4, __sym5, __sym6); - let __states_len = __states.len(); - __states.truncate(__states_len - 7); - __symbols.push((__start, __Symbol::Ntmodel(__nt), __end)); - 17 - } - 55 => { - // model = "model", identifier, component_declaration+, "equation", simple_equation+, "end", identifier, ";" => ActionFn(68); - let __sym7 = __pop_Term_22_3b_22(__symbols); - let __sym6 = __pop_Ntidentifier(__symbols); - let __sym5 = __pop_Term_22end_22(__symbols); - let __sym4 = __pop_Ntsimple__equation_2b(__symbols); - let __sym3 = __pop_Term_22equation_22(__symbols); - let __sym2 = __pop_Ntcomponent__declaration_2b(__symbols); - let __sym1 = __pop_Ntidentifier(__symbols); - let __sym0 = __pop_Term_22model_22(__symbols); - let __start = __sym0.0.clone(); - let __end = __sym7.2.clone(); - let __nt = super::__action68::<>(input, __sym0, __sym1, __sym2, __sym3, __sym4, __sym5, __sym6, __sym7); - let __states_len = __states.len(); - __states.truncate(__states_len - 8); - __symbols.push((__start, __Symbol::Ntmodel(__nt), __end)); - 17 - } - 56 => { - // model = "model", identifier, component_declaration+, "equation", connect_clause+, "end", identifier, ";" => ActionFn(69); - let __sym7 = __pop_Term_22_3b_22(__symbols); - let __sym6 = __pop_Ntidentifier(__symbols); - let __sym5 = __pop_Term_22end_22(__symbols); - let __sym4 = __pop_Ntconnect__clause_2b(__symbols); - let __sym3 = __pop_Term_22equation_22(__symbols); - let __sym2 = __pop_Ntcomponent__declaration_2b(__symbols); - let __sym1 = __pop_Ntidentifier(__symbols); - let __sym0 = __pop_Term_22model_22(__symbols); - let __start = __sym0.0.clone(); - let __end = __sym7.2.clone(); - let __nt = super::__action69::<>(input, __sym0, __sym1, __sym2, __sym3, __sym4, __sym5, __sym6, __sym7); - let __states_len = __states.len(); - __states.truncate(__states_len - 8); - __symbols.push((__start, __Symbol::Ntmodel(__nt), __end)); - 17 - } - 57 => { - // model = "model", identifier, component_declaration+, "equation", connect_clause+, simple_equation+, "end", identifier, ";" => ActionFn(70); - let __sym8 = __pop_Term_22_3b_22(__symbols); - let __sym7 = __pop_Ntidentifier(__symbols); - let __sym6 = __pop_Term_22end_22(__symbols); - let __sym5 = __pop_Ntsimple__equation_2b(__symbols); - let __sym4 = __pop_Ntconnect__clause_2b(__symbols); - let __sym3 = __pop_Term_22equation_22(__symbols); - let __sym2 = __pop_Ntcomponent__declaration_2b(__symbols); - let __sym1 = __pop_Ntidentifier(__symbols); - let __sym0 = __pop_Term_22model_22(__symbols); - let __start = __sym0.0.clone(); - let __end = __sym8.2.clone(); - let __nt = super::__action70::<>(input, __sym0, __sym1, __sym2, __sym3, __sym4, __sym5, __sym6, __sym7, __sym8); - let __states_len = __states.len(); - __states.truncate(__states_len - 9); - __symbols.push((__start, __Symbol::Ntmodel(__nt), __end)); - 17 - } - 58 => { - // simple_equation = expr, "=", expr, ";" => ActionFn(19); - let __sym3 = __pop_Term_22_3b_22(__symbols); - let __sym2 = __pop_Ntexpr(__symbols); - let __sym1 = __pop_Term_22_3d_22(__symbols); - let __sym0 = __pop_Ntexpr(__symbols); - let __start = __sym0.0.clone(); - let __end = __sym3.2.clone(); - let __nt = super::__action19::<>(input, __sym0, __sym1, __sym2, __sym3); - let __states_len = __states.len(); - __states.truncate(__states_len - 4); - __symbols.push((__start, __Symbol::Ntsimple__equation(__nt), __end)); - 18 - } - 59 => { - // simple_equation* = => ActionFn(43); - 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::__action43::<>(input, &__start, &__end); - let __states_len = __states.len(); - __states.truncate(__states_len - 0); - __symbols.push((__start, __Symbol::Ntsimple__equation_2a(__nt), __end)); - 19 - } - 60 => { - // simple_equation* = simple_equation+ => ActionFn(44); - let __sym0 = __pop_Ntsimple__equation_2b(__symbols); - let __start = __sym0.0.clone(); - let __end = __sym0.2.clone(); - let __nt = super::__action44::<>(input, __sym0); - let __states_len = __states.len(); - __states.truncate(__states_len - 1); - __symbols.push((__start, __Symbol::Ntsimple__equation_2a(__nt), __end)); - 19 - } - 61 => { - // simple_equation+ = simple_equation => ActionFn(53); - let __sym0 = __pop_Ntsimple__equation(__symbols); - let __start = __sym0.0.clone(); - let __end = __sym0.2.clone(); - let __nt = super::__action53::<>(input, __sym0); - let __states_len = __states.len(); - __states.truncate(__states_len - 1); - __symbols.push((__start, __Symbol::Ntsimple__equation_2b(__nt), __end)); - 20 - } - 62 => { - // simple_equation+ = simple_equation+, simple_equation => ActionFn(54); - let __sym1 = __pop_Ntsimple__equation(__symbols); - let __sym0 = __pop_Ntsimple__equation_2b(__symbols); - let __start = __sym0.0.clone(); - let __end = __sym1.2.clone(); - let __nt = super::__action54::<>(input, __sym0, __sym1); - let __states_len = __states.len(); - __states.truncate(__states_len - 2); - __symbols.push((__start, __Symbol::Ntsimple__equation_2b(__nt), __end)); - 20 - } - 63 => { - // string_literal = r#"\"[^\"\\\\]*\""# => ActionFn(5); - let __sym0 = __pop_Termr_23_22_5c_22_5b_5e_5c_22_5c_5c_5c_5c_5d_2a_5c_22_22_23(__symbols); - let __start = __sym0.0.clone(); - let __end = __sym0.2.clone(); - let __nt = super::__action5::<>(input, __sym0); - let __states_len = __states.len(); - __states.truncate(__states_len - 1); - __symbols.push((__start, __Symbol::Ntstring__literal(__nt), __end)); - 21 - } - 64 => { - // string_literal? = string_literal => ActionFn(35); - let __sym0 = __pop_Ntstring__literal(__symbols); - let __start = __sym0.0.clone(); - let __end = __sym0.2.clone(); - let __nt = super::__action35::<>(input, __sym0); - let __states_len = __states.len(); - __states.truncate(__states_len - 1); - __symbols.push((__start, __Symbol::Ntstring__literal_3f(__nt), __end)); - 22 - } - 65 => { - // string_literal? = => ActionFn(36); - 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::__action36::<>(input, &__start, &__end); - let __states_len = __states.len(); - __states.truncate(__states_len - 0); - __symbols.push((__start, __Symbol::Ntstring__literal_3f(__nt), __end)); - 22 - } - 66 => { - // term = integer => ActionFn(29); - let __sym0 = __pop_Ntinteger(__symbols); - let __start = __sym0.0.clone(); - let __end = __sym0.2.clone(); - let __nt = super::__action29::<>(input, __sym0); - let __states_len = __states.len(); - __states.truncate(__states_len - 1); - __symbols.push((__start, __Symbol::Ntterm(__nt), __end)); - 23 - } - 67 => { - // term = float => ActionFn(30); - let __sym0 = __pop_Ntfloat(__symbols); - let __start = __sym0.0.clone(); - let __end = __sym0.2.clone(); - let __nt = super::__action30::<>(input, __sym0); - let __states_len = __states.len(); - __states.truncate(__states_len - 1); - __symbols.push((__start, __Symbol::Ntterm(__nt), __end)); - 23 - } - 68 => { - // term = identifier => ActionFn(31); - let __sym0 = __pop_Ntidentifier(__symbols); - let __start = __sym0.0.clone(); - let __end = __sym0.2.clone(); - let __nt = super::__action31::<>(input, __sym0); - let __states_len = __states.len(); - __states.truncate(__states_len - 1); - __symbols.push((__start, __Symbol::Ntterm(__nt), __end)); - 23 - } - 69 => { - // term = "der", "(", expr, ")" => ActionFn(32); - let __sym3 = __pop_Term_22_29_22(__symbols); - let __sym2 = __pop_Ntexpr(__symbols); - let __sym1 = __pop_Term_22_28_22(__symbols); - let __sym0 = __pop_Term_22der_22(__symbols); - let __start = __sym0.0.clone(); - let __end = __sym3.2.clone(); - let __nt = super::__action32::<>(input, __sym0, __sym1, __sym2, __sym3); - let __states_len = __states.len(); - __states.truncate(__states_len - 4); - __symbols.push((__start, __Symbol::Ntterm(__nt), __end)); - 23 - } - 70 => { - // term = "abs", "(", expr, ")" => ActionFn(33); - let __sym3 = __pop_Term_22_29_22(__symbols); - let __sym2 = __pop_Ntexpr(__symbols); - let __sym1 = __pop_Term_22_28_22(__symbols); - let __sym0 = __pop_Term_22abs_22(__symbols); - let __start = __sym0.0.clone(); - let __end = __sym3.2.clone(); - let __nt = super::__action33::<>(input, __sym0, __sym1, __sym2, __sym3); - let __states_len = __states.len(); - __states.truncate(__states_len - 4); - __symbols.push((__start, __Symbol::Ntterm(__nt), __end)); - 23 - } - 71 => { - // term = "(", expr, ")" => ActionFn(34); - let __sym2 = __pop_Term_22_29_22(__symbols); - let __sym1 = __pop_Ntexpr(__symbols); - let __sym0 = __pop_Term_22_28_22(__symbols); - let __start = __sym0.0.clone(); - let __end = __sym2.2.clone(); - let __nt = super::__action34::<>(input, __sym0, __sym1, __sym2); - let __states_len = __states.len(); - __states.truncate(__states_len - 3); - __symbols.push((__start, __Symbol::Ntterm(__nt), __end)); - 23 - } - 72 => { - // units_declaration = "(", "unit", "=", string_literal, ")" => ActionFn(10); - let __sym4 = __pop_Term_22_29_22(__symbols); - let __sym3 = __pop_Ntstring__literal(__symbols); - let __sym2 = __pop_Term_22_3d_22(__symbols); - let __sym1 = __pop_Term_22unit_22(__symbols); - let __sym0 = __pop_Term_22_28_22(__symbols); - let __start = __sym0.0.clone(); - let __end = __sym4.2.clone(); - let __nt = super::__action10::<>(input, __sym0, __sym1, __sym2, __sym3, __sym4); - let __states_len = __states.len(); - __states.truncate(__states_len - 5); - __symbols.push((__start, __Symbol::Ntunits__declaration(__nt), __end)); - 24 - } - 73 => { - // units_declaration? = units_declaration => ActionFn(39); - let __sym0 = __pop_Ntunits__declaration(__symbols); - let __start = __sym0.0.clone(); - let __end = __sym0.2.clone(); - let __nt = super::__action39::<>(input, __sym0); - let __states_len = __states.len(); - __states.truncate(__states_len - 1); - __symbols.push((__start, __Symbol::Ntunits__declaration_3f(__nt), __end)); - 25 - } - 74 => { - // units_declaration? = => ActionFn(40); - 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::__action40::<>(input, &__start, &__end); - let __states_len = __states.len(); - __states.truncate(__states_len - 0); - __symbols.push((__start, __Symbol::Ntunits__declaration_3f(__nt), __end)); - 25 - } - 75 => { - // value_declaration = "=", expr => ActionFn(9); - let __sym1 = __pop_Ntexpr(__symbols); - let __sym0 = __pop_Term_22_3d_22(__symbols); - let __start = __sym0.0.clone(); - let __end = __sym1.2.clone(); - let __nt = super::__action9::<>(input, __sym0, __sym1); - let __states_len = __states.len(); - __states.truncate(__states_len - 2); - __symbols.push((__start, __Symbol::Ntvalue__declaration(__nt), __end)); - 26 - } - 76 => { - // value_declaration? = value_declaration => ActionFn(37); - let __sym0 = __pop_Ntvalue__declaration(__symbols); - let __start = __sym0.0.clone(); - let __end = __sym0.2.clone(); - let __nt = super::__action37::<>(input, __sym0); - let __states_len = __states.len(); - __states.truncate(__states_len - 1); - __symbols.push((__start, __Symbol::Ntvalue__declaration_3f(__nt), __end)); - 27 - } - 77 => { - // value_declaration? = => ActionFn(38); - 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::__action38::<>(input, &__start, &__end); - let __states_len = __states.len(); - __states.truncate(__states_len - 0); - __symbols.push((__start, __Symbol::Ntvalue__declaration_3f(__nt), __end)); - 27 - } - _ => panic!("invalid action code {}", __action) - }; - let __state = *__states.last().unwrap() as usize; - let __next_state = __GOTO[__state * 28 + __nonterminal] - 1; - __states.push(__next_state); - None - } - fn __pop_Term_22_28_22< - 'input, - >( - __symbols: &mut ::std::vec::Vec<(usize,__Symbol<'input>,usize)> - ) -> (usize, &'input str, usize) { - match __symbols.pop().unwrap() { - (__l, __Symbol::Term_22_28_22(__v), __r) => (__l, __v, __r), - _ => panic!("symbol type mismatch") - } - } - fn __pop_Term_22_29_22< - 'input, - >( - __symbols: &mut ::std::vec::Vec<(usize,__Symbol<'input>,usize)> - ) -> (usize, &'input str, usize) { - match __symbols.pop().unwrap() { - (__l, __Symbol::Term_22_29_22(__v), __r) => (__l, __v, __r), - _ => panic!("symbol type mismatch") - } - } - fn __pop_Term_22_2a_22< - 'input, - >( - __symbols: &mut ::std::vec::Vec<(usize,__Symbol<'input>,usize)> - ) -> (usize, &'input str, usize) { - match __symbols.pop().unwrap() { - (__l, __Symbol::Term_22_2a_22(__v), __r) => (__l, __v, __r), - _ => panic!("symbol type mismatch") - } - } - fn __pop_Term_22_2b_22< - 'input, - >( - __symbols: &mut ::std::vec::Vec<(usize,__Symbol<'input>,usize)> - ) -> (usize, &'input str, usize) { - match __symbols.pop().unwrap() { - (__l, __Symbol::Term_22_2b_22(__v), __r) => (__l, __v, __r), - _ => panic!("symbol type mismatch") - } - } - fn __pop_Term_22_2c_22< - 'input, - >( - __symbols: &mut ::std::vec::Vec<(usize,__Symbol<'input>,usize)> - ) -> (usize, &'input str, usize) { - match __symbols.pop().unwrap() { - (__l, __Symbol::Term_22_2c_22(__v), __r) => (__l, __v, __r), - _ => panic!("symbol type mismatch") - } - } - fn __pop_Term_22_2d_22< - 'input, - >( - __symbols: &mut ::std::vec::Vec<(usize,__Symbol<'input>,usize)> - ) -> (usize, &'input str, usize) { - match __symbols.pop().unwrap() { - (__l, __Symbol::Term_22_2d_22(__v), __r) => (__l, __v, __r), - _ => panic!("symbol type mismatch") - } - } - fn __pop_Term_22_2f_22< - 'input, - >( - __symbols: &mut ::std::vec::Vec<(usize,__Symbol<'input>,usize)> - ) -> (usize, &'input str, usize) { - match __symbols.pop().unwrap() { - (__l, __Symbol::Term_22_2f_22(__v), __r) => (__l, __v, __r), - _ => panic!("symbol type mismatch") - } - } - fn __pop_Term_22_3b_22< - 'input, - >( - __symbols: &mut ::std::vec::Vec<(usize,__Symbol<'input>,usize)> - ) -> (usize, &'input str, usize) { - match __symbols.pop().unwrap() { - (__l, __Symbol::Term_22_3b_22(__v), __r) => (__l, __v, __r), - _ => panic!("symbol type mismatch") - } - } - fn __pop_Term_22_3d_22< - 'input, - >( - __symbols: &mut ::std::vec::Vec<(usize,__Symbol<'input>,usize)> - ) -> (usize, &'input str, usize) { - match __symbols.pop().unwrap() { - (__l, __Symbol::Term_22_3d_22(__v), __r) => (__l, __v, __r), - _ => panic!("symbol type mismatch") - } - } - fn __pop_Term_22_5e_22< - 'input, - >( - __symbols: &mut ::std::vec::Vec<(usize,__Symbol<'input>,usize)> - ) -> (usize, &'input str, usize) { - match __symbols.pop().unwrap() { - (__l, __Symbol::Term_22_5e_22(__v), __r) => (__l, __v, __r), - _ => panic!("symbol type mismatch") - } - } - fn __pop_Term_22abs_22< - 'input, - >( - __symbols: &mut ::std::vec::Vec<(usize,__Symbol<'input>,usize)> - ) -> (usize, &'input str, usize) { - match __symbols.pop().unwrap() { - (__l, __Symbol::Term_22abs_22(__v), __r) => (__l, __v, __r), - _ => panic!("symbol type mismatch") - } - } - fn __pop_Term_22connect_22< - 'input, - >( - __symbols: &mut ::std::vec::Vec<(usize,__Symbol<'input>,usize)> - ) -> (usize, &'input str, usize) { - match __symbols.pop().unwrap() { - (__l, __Symbol::Term_22connect_22(__v), __r) => (__l, __v, __r), - _ => panic!("symbol type mismatch") - } - } - fn __pop_Term_22constant_22< - 'input, - >( - __symbols: &mut ::std::vec::Vec<(usize,__Symbol<'input>,usize)> - ) -> (usize, &'input str, usize) { - match __symbols.pop().unwrap() { - (__l, __Symbol::Term_22constant_22(__v), __r) => (__l, __v, __r), - _ => panic!("symbol type mismatch") - } - } - fn __pop_Term_22der_22< - 'input, - >( - __symbols: &mut ::std::vec::Vec<(usize,__Symbol<'input>,usize)> - ) -> (usize, &'input str, usize) { - match __symbols.pop().unwrap() { - (__l, __Symbol::Term_22der_22(__v), __r) => (__l, __v, __r), - _ => panic!("symbol type mismatch") - } - } - fn __pop_Term_22discrete_22< - 'input, - >( - __symbols: &mut ::std::vec::Vec<(usize,__Symbol<'input>,usize)> - ) -> (usize, &'input str, usize) { - match __symbols.pop().unwrap() { - (__l, __Symbol::Term_22discrete_22(__v), __r) => (__l, __v, __r), - _ => panic!("symbol type mismatch") - } - } - fn __pop_Term_22end_22< - 'input, - >( - __symbols: &mut ::std::vec::Vec<(usize,__Symbol<'input>,usize)> - ) -> (usize, &'input str, usize) { - match __symbols.pop().unwrap() { - (__l, __Symbol::Term_22end_22(__v), __r) => (__l, __v, __r), - _ => panic!("symbol type mismatch") - } - } - fn __pop_Term_22equation_22< - 'input, - >( - __symbols: &mut ::std::vec::Vec<(usize,__Symbol<'input>,usize)> - ) -> (usize, &'input str, usize) { - match __symbols.pop().unwrap() { - (__l, __Symbol::Term_22equation_22(__v), __r) => (__l, __v, __r), - _ => panic!("symbol type mismatch") - } - } - fn __pop_Term_22flow_22< - 'input, - >( - __symbols: &mut ::std::vec::Vec<(usize,__Symbol<'input>,usize)> - ) -> (usize, &'input str, usize) { - match __symbols.pop().unwrap() { - (__l, __Symbol::Term_22flow_22(__v), __r) => (__l, __v, __r), - _ => panic!("symbol type mismatch") - } - } - fn __pop_Term_22input_22< - 'input, - >( - __symbols: &mut ::std::vec::Vec<(usize,__Symbol<'input>,usize)> - ) -> (usize, &'input str, usize) { - match __symbols.pop().unwrap() { - (__l, __Symbol::Term_22input_22(__v), __r) => (__l, __v, __r), - _ => panic!("symbol type mismatch") - } - } - fn __pop_Term_22model_22< - 'input, - >( - __symbols: &mut ::std::vec::Vec<(usize,__Symbol<'input>,usize)> - ) -> (usize, &'input str, usize) { - match __symbols.pop().unwrap() { - (__l, __Symbol::Term_22model_22(__v), __r) => (__l, __v, __r), - _ => panic!("symbol type mismatch") - } - } - fn __pop_Term_22output_22< - 'input, - >( - __symbols: &mut ::std::vec::Vec<(usize,__Symbol<'input>,usize)> - ) -> (usize, &'input str, usize) { - match __symbols.pop().unwrap() { - (__l, __Symbol::Term_22output_22(__v), __r) => (__l, __v, __r), - _ => panic!("symbol type mismatch") - } - } - fn __pop_Term_22parameter_22< - 'input, - >( - __symbols: &mut ::std::vec::Vec<(usize,__Symbol<'input>,usize)> - ) -> (usize, &'input str, usize) { - match __symbols.pop().unwrap() { - (__l, __Symbol::Term_22parameter_22(__v), __r) => (__l, __v, __r), - _ => panic!("symbol type mismatch") - } - } - fn __pop_Term_22stream_22< - 'input, - >( - __symbols: &mut ::std::vec::Vec<(usize,__Symbol<'input>,usize)> - ) -> (usize, &'input str, usize) { - match __symbols.pop().unwrap() { - (__l, __Symbol::Term_22stream_22(__v), __r) => (__l, __v, __r), - _ => panic!("symbol type mismatch") - } - } - fn __pop_Term_22unit_22< - 'input, - >( - __symbols: &mut ::std::vec::Vec<(usize,__Symbol<'input>,usize)> - ) -> (usize, &'input str, usize) { - match __symbols.pop().unwrap() { - (__l, __Symbol::Term_22unit_22(__v), __r) => (__l, __v, __r), - _ => panic!("symbol type mismatch") - } - } - fn __pop_Termr_23_22_5c_22_5b_5e_5c_22_5c_5c_5c_5c_5d_2a_5c_22_22_23< - 'input, - >( - __symbols: &mut ::std::vec::Vec<(usize,__Symbol<'input>,usize)> - ) -> (usize, &'input str, usize) { - match __symbols.pop().unwrap() { - (__l, __Symbol::Termr_23_22_5c_22_5b_5e_5c_22_5c_5c_5c_5c_5d_2a_5c_22_22_23(__v), __r) => (__l, __v, __r), - _ => panic!("symbol type mismatch") - } - } - fn __pop_Termr_23_22_5b_2b_2d_5d_3f_5c_5cd_2b_22_23< - 'input, - >( - __symbols: &mut ::std::vec::Vec<(usize,__Symbol<'input>,usize)> - ) -> (usize, &'input str, usize) { - match __symbols.pop().unwrap() { - (__l, __Symbol::Termr_23_22_5b_2b_2d_5d_3f_5c_5cd_2b_22_23(__v), __r) => (__l, __v, __r), - _ => panic!("symbol type mismatch") - } - } - fn __pop_Termr_23_22_5b_2b_2d_5d_3f_5c_5cd_2b_5c_5c_2e_5c_5cd_2a_28_5beE_5d_5b_2d_2b_5d_3f_5c_5cd_2b_29_3f_22_23< - 'input, - >( - __symbols: &mut ::std::vec::Vec<(usize,__Symbol<'input>,usize)> - ) -> (usize, &'input str, usize) { - match __symbols.pop().unwrap() { - (__l, __Symbol::Termr_23_22_5b_2b_2d_5d_3f_5c_5cd_2b_5c_5c_2e_5c_5cd_2a_28_5beE_5d_5b_2d_2b_5d_3f_5c_5cd_2b_29_3f_22_23(__v), __r) => (__l, __v, __r), - _ => panic!("symbol type mismatch") - } - } - fn __pop_Termr_23_22_5ba_2dzA_2dZ___5d_5ba_2dzA_2dZ__0_2d9_5d_2a_22_23< - 'input, - >( - __symbols: &mut ::std::vec::Vec<(usize,__Symbol<'input>,usize)> - ) -> (usize, &'input str, usize) { - match __symbols.pop().unwrap() { - (__l, __Symbol::Termr_23_22_5ba_2dzA_2dZ___5d_5ba_2dzA_2dZ__0_2d9_5d_2a_22_23(__v), __r) => (__l, __v, __r), - _ => panic!("symbol type mismatch") - } - } - fn __pop_Termerror< - 'input, - >( - __symbols: &mut ::std::vec::Vec<(usize,__Symbol<'input>,usize)> - ) -> (usize, __lalrpop_util::ErrorRecovery, usize) { - match __symbols.pop().unwrap() { - (__l, __Symbol::Termerror(__v), __r) => (__l, __v, __r), - _ => panic!("symbol type mismatch") - } - } - fn __pop_Nt____float< - 'input, - >( - __symbols: &mut ::std::vec::Vec<(usize,__Symbol<'input>,usize)> - ) -> (usize, f64, usize) { - match __symbols.pop().unwrap() { - (__l, __Symbol::Nt____float(__v), __r) => (__l, __v, __r), - _ => panic!("symbol type mismatch") - } - } - fn __pop_Nt____identifier< - 'input, - >( - __symbols: &mut ::std::vec::Vec<(usize,__Symbol<'input>,usize)> - ) -> (usize, String, usize) { - match __symbols.pop().unwrap() { - (__l, __Symbol::Nt____identifier(__v), __r) => (__l, __v, __r), - _ => panic!("symbol type mismatch") - } - } - fn __pop_Nt____integer< - 'input, - >( - __symbols: &mut ::std::vec::Vec<(usize,__Symbol<'input>,usize)> - ) -> (usize, i64, usize) { - match __symbols.pop().unwrap() { - (__l, __Symbol::Nt____integer(__v), __r) => (__l, __v, __r), - _ => panic!("symbol type mismatch") - } - } - fn __pop_Nt____model< - 'input, - >( - __symbols: &mut ::std::vec::Vec<(usize,__Symbol<'input>,usize)> - ) -> (usize, ModelicaModel, usize) { - match __symbols.pop().unwrap() { - (__l, __Symbol::Nt____model(__v), __r) => (__l, __v, __r), - _ => panic!("symbol type mismatch") - } - } - fn __pop_Ntcomponent__declaration< - 'input, - >( - __symbols: &mut ::std::vec::Vec<(usize,__Symbol<'input>,usize)> - ) -> (usize, Component, usize) { - match __symbols.pop().unwrap() { - (__l, __Symbol::Ntcomponent__declaration(__v), __r) => (__l, __v, __r), - _ => panic!("symbol type mismatch") - } - } - fn __pop_Ntcomponent__declaration_2a< - 'input, - >( - __symbols: &mut ::std::vec::Vec<(usize,__Symbol<'input>,usize)> - ) -> (usize, ::std::vec::Vec, usize) { - match __symbols.pop().unwrap() { - (__l, __Symbol::Ntcomponent__declaration_2a(__v), __r) => (__l, __v, __r), - _ => panic!("symbol type mismatch") - } - } - fn __pop_Ntcomponent__declaration_2b< - 'input, - >( - __symbols: &mut ::std::vec::Vec<(usize,__Symbol<'input>,usize)> - ) -> (usize, ::std::vec::Vec, usize) { - match __symbols.pop().unwrap() { - (__l, __Symbol::Ntcomponent__declaration_2b(__v), __r) => (__l, __v, __r), - _ => panic!("symbol type mismatch") - } - } - fn __pop_Ntcomponent__prefix< - 'input, - >( - __symbols: &mut ::std::vec::Vec<(usize,__Symbol<'input>,usize)> - ) -> (usize, ComponentPrefix, usize) { - match __symbols.pop().unwrap() { - (__l, __Symbol::Ntcomponent__prefix(__v), __r) => (__l, __v, __r), - _ => panic!("symbol type mismatch") - } - } - fn __pop_Ntcomponent__prefix_3f< - 'input, - >( - __symbols: &mut ::std::vec::Vec<(usize,__Symbol<'input>,usize)> - ) -> (usize, ::std::option::Option, usize) { - match __symbols.pop().unwrap() { - (__l, __Symbol::Ntcomponent__prefix_3f(__v), __r) => (__l, __v, __r), - _ => panic!("symbol type mismatch") - } - } - fn __pop_Ntconnect__clause< - 'input, - >( - __symbols: &mut ::std::vec::Vec<(usize,__Symbol<'input>,usize)> - ) -> (usize, Connection, usize) { - match __symbols.pop().unwrap() { - (__l, __Symbol::Ntconnect__clause(__v), __r) => (__l, __v, __r), - _ => panic!("symbol type mismatch") - } - } - fn __pop_Ntconnect__clause_2a< - 'input, - >( - __symbols: &mut ::std::vec::Vec<(usize,__Symbol<'input>,usize)> - ) -> (usize, ::std::vec::Vec, usize) { - match __symbols.pop().unwrap() { - (__l, __Symbol::Ntconnect__clause_2a(__v), __r) => (__l, __v, __r), - _ => panic!("symbol type mismatch") - } - } - fn __pop_Ntconnect__clause_2b< - 'input, - >( - __symbols: &mut ::std::vec::Vec<(usize,__Symbol<'input>,usize)> - ) -> (usize, ::std::vec::Vec, usize) { - match __symbols.pop().unwrap() { - (__l, __Symbol::Ntconnect__clause_2b(__v), __r) => (__l, __v, __r), - _ => panic!("symbol type mismatch") - } - } - fn __pop_Ntexpr< - 'input, - >( - __symbols: &mut ::std::vec::Vec<(usize,__Symbol<'input>,usize)> - ) -> (usize, Expr, usize) { - match __symbols.pop().unwrap() { - (__l, __Symbol::Ntexpr(__v), __r) => (__l, __v, __r), - _ => panic!("symbol type mismatch") - } - } - fn __pop_Ntfactor< - 'input, - >( - __symbols: &mut ::std::vec::Vec<(usize,__Symbol<'input>,usize)> - ) -> (usize, Expr, usize) { - match __symbols.pop().unwrap() { - (__l, __Symbol::Ntfactor(__v), __r) => (__l, __v, __r), - _ => panic!("symbol type mismatch") - } - } - fn __pop_Ntfloat< - 'input, - >( - __symbols: &mut ::std::vec::Vec<(usize,__Symbol<'input>,usize)> - ) -> (usize, f64, usize) { - match __symbols.pop().unwrap() { - (__l, __Symbol::Ntfloat(__v), __r) => (__l, __v, __r), - _ => panic!("symbol type mismatch") - } - } - fn __pop_Ntidentifier< - 'input, - >( - __symbols: &mut ::std::vec::Vec<(usize,__Symbol<'input>,usize)> - ) -> (usize, String, usize) { - match __symbols.pop().unwrap() { - (__l, __Symbol::Ntidentifier(__v), __r) => (__l, __v, __r), - _ => panic!("symbol type mismatch") - } - } - fn __pop_Ntinteger< - 'input, - >( - __symbols: &mut ::std::vec::Vec<(usize,__Symbol<'input>,usize)> - ) -> (usize, i64, usize) { - match __symbols.pop().unwrap() { - (__l, __Symbol::Ntinteger(__v), __r) => (__l, __v, __r), - _ => panic!("symbol type mismatch") - } - } - fn __pop_Ntmodel< - 'input, - >( - __symbols: &mut ::std::vec::Vec<(usize,__Symbol<'input>,usize)> - ) -> (usize, ModelicaModel, usize) { - match __symbols.pop().unwrap() { - (__l, __Symbol::Ntmodel(__v), __r) => (__l, __v, __r), - _ => panic!("symbol type mismatch") - } - } - fn __pop_Ntsimple__equation< - 'input, - >( - __symbols: &mut ::std::vec::Vec<(usize,__Symbol<'input>,usize)> - ) -> (usize, SimpleEquation, usize) { - match __symbols.pop().unwrap() { - (__l, __Symbol::Ntsimple__equation(__v), __r) => (__l, __v, __r), - _ => panic!("symbol type mismatch") - } - } - fn __pop_Ntsimple__equation_2a< - 'input, - >( - __symbols: &mut ::std::vec::Vec<(usize,__Symbol<'input>,usize)> - ) -> (usize, ::std::vec::Vec, usize) { - match __symbols.pop().unwrap() { - (__l, __Symbol::Ntsimple__equation_2a(__v), __r) => (__l, __v, __r), - _ => panic!("symbol type mismatch") - } - } - fn __pop_Ntsimple__equation_2b< - 'input, - >( - __symbols: &mut ::std::vec::Vec<(usize,__Symbol<'input>,usize)> - ) -> (usize, ::std::vec::Vec, usize) { - match __symbols.pop().unwrap() { - (__l, __Symbol::Ntsimple__equation_2b(__v), __r) => (__l, __v, __r), - _ => panic!("symbol type mismatch") - } - } - fn __pop_Ntstring__literal< - 'input, - >( - __symbols: &mut ::std::vec::Vec<(usize,__Symbol<'input>,usize)> - ) -> (usize, String, usize) { - match __symbols.pop().unwrap() { - (__l, __Symbol::Ntstring__literal(__v), __r) => (__l, __v, __r), - _ => panic!("symbol type mismatch") - } - } - fn __pop_Ntstring__literal_3f< - 'input, - >( - __symbols: &mut ::std::vec::Vec<(usize,__Symbol<'input>,usize)> - ) -> (usize, ::std::option::Option, usize) { - match __symbols.pop().unwrap() { - (__l, __Symbol::Ntstring__literal_3f(__v), __r) => (__l, __v, __r), - _ => panic!("symbol type mismatch") - } - } - fn __pop_Ntterm< - 'input, - >( - __symbols: &mut ::std::vec::Vec<(usize,__Symbol<'input>,usize)> - ) -> (usize, Expr, usize) { - match __symbols.pop().unwrap() { - (__l, __Symbol::Ntterm(__v), __r) => (__l, __v, __r), - _ => panic!("symbol type mismatch") - } - } - fn __pop_Ntunits__declaration< - 'input, - >( - __symbols: &mut ::std::vec::Vec<(usize,__Symbol<'input>,usize)> - ) -> (usize, String, usize) { - match __symbols.pop().unwrap() { - (__l, __Symbol::Ntunits__declaration(__v), __r) => (__l, __v, __r), - _ => panic!("symbol type mismatch") - } - } - fn __pop_Ntunits__declaration_3f< - 'input, - >( - __symbols: &mut ::std::vec::Vec<(usize,__Symbol<'input>,usize)> - ) -> (usize, ::std::option::Option, usize) { - match __symbols.pop().unwrap() { - (__l, __Symbol::Ntunits__declaration_3f(__v), __r) => (__l, __v, __r), - _ => panic!("symbol type mismatch") - } - } - fn __pop_Ntvalue__declaration< - 'input, - >( - __symbols: &mut ::std::vec::Vec<(usize,__Symbol<'input>,usize)> - ) -> (usize, Expr, usize) { - match __symbols.pop().unwrap() { - (__l, __Symbol::Ntvalue__declaration(__v), __r) => (__l, __v, __r), - _ => panic!("symbol type mismatch") - } - } - fn __pop_Ntvalue__declaration_3f< - 'input, - >( - __symbols: &mut ::std::vec::Vec<(usize,__Symbol<'input>,usize)> - ) -> (usize, ::std::option::Option, usize) { - match __symbols.pop().unwrap() { - (__l, __Symbol::Ntvalue__declaration_3f(__v), __r) => (__l, __v, __r), - _ => panic!("symbol type mismatch") - } - } -} -pub use self::__parse__model::parse_model; -mod __intern_token { - extern crate lalrpop_util as __lalrpop_util; - pub struct __Matcher<'input> { - text: &'input str, - consumed: usize, - } - - fn __tokenize(text: &str) -> Option<(usize, usize)> { - let mut __chars = text.char_indices(); - let mut __current_match: Option<(usize, usize)> = None; - let mut __current_state: usize = 0; - loop { - match __current_state { - 0 => { - let (__index, __ch) = match __chars.next() { Some(p) => p, None => return __current_match }; - match __ch as u32 { - 34 => /* '\"' */ { - __current_state = 1; - continue; - } - 40 => /* '(' */ { - __current_match = Some((0, __index + 1)); - __current_state = 2; - continue; - } - 41 => /* ')' */ { - __current_match = Some((1, __index + 1)); - __current_state = 3; - continue; - } - 42 => /* '*' */ { - __current_match = Some((2, __index + 1)); - __current_state = 4; - continue; - } - 43 => /* '+' */ { - __current_match = Some((3, __index + 1)); - __current_state = 5; - continue; - } - 44 => /* ',' */ { - __current_match = Some((4, __index + 1)); - __current_state = 6; - continue; - } - 45 => /* '-' */ { - __current_match = Some((5, __index + 1)); - __current_state = 7; - continue; - } - 47 => /* '/' */ { - __current_match = Some((6, __index + 1)); - __current_state = 8; - continue; - } - 48 ... 57 => { - __current_match = Some((25, __index + __ch.len_utf8())); - __current_state = 9; - continue; - } - 59 => /* ';' */ { - __current_match = Some((7, __index + 1)); - __current_state = 10; - continue; - } - 61 => /* '=' */ { - __current_match = Some((8, __index + 1)); - __current_state = 11; - continue; - } - 65 ... 90 => { - __current_match = Some((27, __index + __ch.len_utf8())); - __current_state = 12; - continue; - } - 94 => /* '^' */ { - __current_match = Some((9, __index + 1)); - __current_state = 13; - continue; - } - 95 => /* '_' */ { - __current_match = Some((27, __index + 1)); - __current_state = 12; - continue; - } - 97 => /* 'a' */ { - __current_match = Some((27, __index + 1)); - __current_state = 14; - continue; - } - 98 => /* 'b' */ { - __current_match = Some((27, __index + 1)); - __current_state = 12; - continue; - } - 99 => /* 'c' */ { - __current_match = Some((27, __index + 1)); - __current_state = 15; - continue; - } - 100 => /* 'd' */ { - __current_match = Some((27, __index + 1)); - __current_state = 16; - continue; - } - 101 => /* 'e' */ { - __current_match = Some((27, __index + 1)); - __current_state = 17; - continue; - } - 102 => /* 'f' */ { - __current_match = Some((27, __index + 1)); - __current_state = 18; - continue; - } - 103 ... 104 => { - __current_match = Some((27, __index + __ch.len_utf8())); - __current_state = 12; - continue; - } - 105 => /* 'i' */ { - __current_match = Some((27, __index + 1)); - __current_state = 19; - continue; - } - 106 ... 108 => { - __current_match = Some((27, __index + __ch.len_utf8())); - __current_state = 12; - continue; - } - 109 => /* 'm' */ { - __current_match = Some((27, __index + 1)); - __current_state = 20; - continue; - } - 110 => /* 'n' */ { - __current_match = Some((27, __index + 1)); - __current_state = 12; - continue; - } - 111 => /* 'o' */ { - __current_match = Some((27, __index + 1)); - __current_state = 21; - continue; - } - 112 => /* 'p' */ { - __current_match = Some((27, __index + 1)); - __current_state = 22; - continue; - } - 113 ... 114 => { - __current_match = Some((27, __index + __ch.len_utf8())); - __current_state = 12; - continue; - } - 115 => /* 's' */ { - __current_match = Some((27, __index + 1)); - __current_state = 23; - continue; - } - 116 => /* 't' */ { - __current_match = Some((27, __index + 1)); - __current_state = 12; - continue; - } - 117 => /* 'u' */ { - __current_match = Some((27, __index + 1)); - __current_state = 24; - continue; - } - 118 ... 122 => { - __current_match = Some((27, __index + __ch.len_utf8())); - __current_state = 12; - continue; - } - 1632 ... 1641 => { - __current_match = Some((25, __index + __ch.len_utf8())); - __current_state = 9; - continue; - } - 1776 ... 1785 => { - __current_match = Some((25, __index + __ch.len_utf8())); - __current_state = 9; - continue; - } - 1984 ... 1993 => { - __current_match = Some((25, __index + __ch.len_utf8())); - __current_state = 9; - continue; - } - 2406 ... 2415 => { - __current_match = Some((25, __index + __ch.len_utf8())); - __current_state = 9; - continue; - } - 2534 ... 2543 => { - __current_match = Some((25, __index + __ch.len_utf8())); - __current_state = 9; - continue; - } - 2662 ... 2671 => { - __current_match = Some((25, __index + __ch.len_utf8())); - __current_state = 9; - continue; - } - 2790 ... 2799 => { - __current_match = Some((25, __index + __ch.len_utf8())); - __current_state = 9; - continue; - } - 2918 ... 2927 => { - __current_match = Some((25, __index + __ch.len_utf8())); - __current_state = 9; - continue; - } - 3046 ... 3055 => { - __current_match = Some((25, __index + __ch.len_utf8())); - __current_state = 9; - continue; - } - 3174 ... 3183 => { - __current_match = Some((25, __index + __ch.len_utf8())); - __current_state = 9; - continue; - } - 3302 ... 3311 => { - __current_match = Some((25, __index + __ch.len_utf8())); - __current_state = 9; - continue; - } - 3430 ... 3439 => { - __current_match = Some((25, __index + __ch.len_utf8())); - __current_state = 9; - continue; - } - 3558 ... 3567 => { - __current_match = Some((25, __index + __ch.len_utf8())); - __current_state = 9; - continue; - } - 3664 ... 3673 => { - __current_match = Some((25, __index + __ch.len_utf8())); - __current_state = 9; - continue; - } - 3792 ... 3801 => { - __current_match = Some((25, __index + __ch.len_utf8())); - __current_state = 9; - continue; - } - 3872 ... 3881 => { - __current_match = Some((25, __index + __ch.len_utf8())); - __current_state = 9; - continue; - } - 4160 ... 4169 => { - __current_match = Some((25, __index + __ch.len_utf8())); - __current_state = 9; - continue; - } - 4240 ... 4249 => { - __current_match = Some((25, __index + __ch.len_utf8())); - __current_state = 9; - continue; - } - 6112 ... 6121 => { - __current_match = Some((25, __index + __ch.len_utf8())); - __current_state = 9; - continue; - } - 6160 ... 6169 => { - __current_match = Some((25, __index + __ch.len_utf8())); - __current_state = 9; - continue; - } - 6470 ... 6479 => { - __current_match = Some((25, __index + __ch.len_utf8())); - __current_state = 9; - continue; - } - 6608 ... 6617 => { - __current_match = Some((25, __index + __ch.len_utf8())); - __current_state = 9; - continue; - } - 6784 ... 6793 => { - __current_match = Some((25, __index + __ch.len_utf8())); - __current_state = 9; - continue; - } - 6800 ... 6809 => { - __current_match = Some((25, __index + __ch.len_utf8())); - __current_state = 9; - continue; - } - 6992 ... 7001 => { - __current_match = Some((25, __index + __ch.len_utf8())); - __current_state = 9; - continue; - } - 7088 ... 7097 => { - __current_match = Some((25, __index + __ch.len_utf8())); - __current_state = 9; - continue; - } - 7232 ... 7241 => { - __current_match = Some((25, __index + __ch.len_utf8())); - __current_state = 9; - continue; - } - 7248 ... 7257 => { - __current_match = Some((25, __index + __ch.len_utf8())); - __current_state = 9; - continue; - } - 42528 ... 42537 => { - __current_match = Some((25, __index + __ch.len_utf8())); - __current_state = 9; - continue; - } - 43216 ... 43225 => { - __current_match = Some((25, __index + __ch.len_utf8())); - __current_state = 9; - continue; - } - 43264 ... 43273 => { - __current_match = Some((25, __index + __ch.len_utf8())); - __current_state = 9; - continue; - } - 43472 ... 43481 => { - __current_match = Some((25, __index + __ch.len_utf8())); - __current_state = 9; - continue; - } - 43504 ... 43513 => { - __current_match = Some((25, __index + __ch.len_utf8())); - __current_state = 9; - continue; - } - 43600 ... 43609 => { - __current_match = Some((25, __index + __ch.len_utf8())); - __current_state = 9; - continue; - } - 44016 ... 44025 => { - __current_match = Some((25, __index + __ch.len_utf8())); - __current_state = 9; - continue; - } - 65296 ... 65305 => { - __current_match = Some((25, __index + __ch.len_utf8())); - __current_state = 9; - continue; - } - 66720 ... 66729 => { - __current_match = Some((25, __index + __ch.len_utf8())); - __current_state = 9; - continue; - } - 69734 ... 69743 => { - __current_match = Some((25, __index + __ch.len_utf8())); - __current_state = 9; - continue; - } - 69872 ... 69881 => { - __current_match = Some((25, __index + __ch.len_utf8())); - __current_state = 9; - continue; - } - 69942 ... 69951 => { - __current_match = Some((25, __index + __ch.len_utf8())); - __current_state = 9; - continue; - } - 70096 ... 70105 => { - __current_match = Some((25, __index + __ch.len_utf8())); - __current_state = 9; - continue; - } - 70384 ... 70393 => { - __current_match = Some((25, __index + __ch.len_utf8())); - __current_state = 9; - continue; - } - 70864 ... 70873 => { - __current_match = Some((25, __index + __ch.len_utf8())); - __current_state = 9; - continue; - } - 71248 ... 71257 => { - __current_match = Some((25, __index + __ch.len_utf8())); - __current_state = 9; - continue; - } - 71360 ... 71369 => { - __current_match = Some((25, __index + __ch.len_utf8())); - __current_state = 9; - continue; - } - 71472 ... 71481 => { - __current_match = Some((25, __index + __ch.len_utf8())); - __current_state = 9; - continue; - } - 71904 ... 71913 => { - __current_match = Some((25, __index + __ch.len_utf8())); - __current_state = 9; - continue; - } - 92768 ... 92777 => { - __current_match = Some((25, __index + __ch.len_utf8())); - __current_state = 9; - continue; - } - 93008 ... 93017 => { - __current_match = Some((25, __index + __ch.len_utf8())); - __current_state = 9; - continue; - } - 120782 ... 120831 => { - __current_match = Some((25, __index + __ch.len_utf8())); - __current_state = 9; - continue; - } - _ => { - return __current_match; - } - } - } - 1 => { - let (__index, __ch) = match __chars.next() { Some(p) => p, None => return __current_match }; - match __ch as u32 { - 0 ... 33 => { - __current_state = 26; - continue; - } - 34 => /* '\"' */ { - __current_match = Some((24, __index + 1)); - __current_state = 27; - continue; - } - 35 ... 91 => { - __current_state = 26; - continue; - } - 93 ... 1114111 => { - __current_state = 26; - continue; - } - _ => { - return __current_match; - } - } - } - 2 => { - let (__index, __ch) = match __chars.next() { Some(p) => p, None => return __current_match }; - match __ch as u32 { - _ => { - return __current_match; - } - } - } - 3 => { - let (__index, __ch) = match __chars.next() { Some(p) => p, None => return __current_match }; - match __ch as u32 { - _ => { - return __current_match; - } - } - } - 4 => { - let (__index, __ch) = match __chars.next() { Some(p) => p, None => return __current_match }; - match __ch as u32 { - _ => { - return __current_match; - } - } - } - 5 => { - let (__index, __ch) = match __chars.next() { Some(p) => p, None => return __current_match }; - match __ch as u32 { - 48 ... 57 => { - __current_match = Some((25, __index + __ch.len_utf8())); - __current_state = 9; - continue; - } - 1632 ... 1641 => { - __current_match = Some((25, __index + __ch.len_utf8())); - __current_state = 9; - continue; - } - 1776 ... 1785 => { - __current_match = Some((25, __index + __ch.len_utf8())); - __current_state = 9; - continue; - } - 1984 ... 1993 => { - __current_match = Some((25, __index + __ch.len_utf8())); - __current_state = 9; - continue; - } - 2406 ... 2415 => { - __current_match = Some((25, __index + __ch.len_utf8())); - __current_state = 9; - continue; - } - 2534 ... 2543 => { - __current_match = Some((25, __index + __ch.len_utf8())); - __current_state = 9; - continue; - } - 2662 ... 2671 => { - __current_match = Some((25, __index + __ch.len_utf8())); - __current_state = 9; - continue; - } - 2790 ... 2799 => { - __current_match = Some((25, __index + __ch.len_utf8())); - __current_state = 9; - continue; - } - 2918 ... 2927 => { - __current_match = Some((25, __index + __ch.len_utf8())); - __current_state = 9; - continue; - } - 3046 ... 3055 => { - __current_match = Some((25, __index + __ch.len_utf8())); - __current_state = 9; - continue; - } - 3174 ... 3183 => { - __current_match = Some((25, __index + __ch.len_utf8())); - __current_state = 9; - continue; - } - 3302 ... 3311 => { - __current_match = Some((25, __index + __ch.len_utf8())); - __current_state = 9; - continue; - } - 3430 ... 3439 => { - __current_match = Some((25, __index + __ch.len_utf8())); - __current_state = 9; - continue; - } - 3558 ... 3567 => { - __current_match = Some((25, __index + __ch.len_utf8())); - __current_state = 9; - continue; - } - 3664 ... 3673 => { - __current_match = Some((25, __index + __ch.len_utf8())); - __current_state = 9; - continue; - } - 3792 ... 3801 => { - __current_match = Some((25, __index + __ch.len_utf8())); - __current_state = 9; - continue; - } - 3872 ... 3881 => { - __current_match = Some((25, __index + __ch.len_utf8())); - __current_state = 9; - continue; - } - 4160 ... 4169 => { - __current_match = Some((25, __index + __ch.len_utf8())); - __current_state = 9; - continue; - } - 4240 ... 4249 => { - __current_match = Some((25, __index + __ch.len_utf8())); - __current_state = 9; - continue; - } - 6112 ... 6121 => { - __current_match = Some((25, __index + __ch.len_utf8())); - __current_state = 9; - continue; - } - 6160 ... 6169 => { - __current_match = Some((25, __index + __ch.len_utf8())); - __current_state = 9; - continue; - } - 6470 ... 6479 => { - __current_match = Some((25, __index + __ch.len_utf8())); - __current_state = 9; - continue; - } - 6608 ... 6617 => { - __current_match = Some((25, __index + __ch.len_utf8())); - __current_state = 9; - continue; - } - 6784 ... 6793 => { - __current_match = Some((25, __index + __ch.len_utf8())); - __current_state = 9; - continue; - } - 6800 ... 6809 => { - __current_match = Some((25, __index + __ch.len_utf8())); - __current_state = 9; - continue; - } - 6992 ... 7001 => { - __current_match = Some((25, __index + __ch.len_utf8())); - __current_state = 9; - continue; - } - 7088 ... 7097 => { - __current_match = Some((25, __index + __ch.len_utf8())); - __current_state = 9; - continue; - } - 7232 ... 7241 => { - __current_match = Some((25, __index + __ch.len_utf8())); - __current_state = 9; - continue; - } - 7248 ... 7257 => { - __current_match = Some((25, __index + __ch.len_utf8())); - __current_state = 9; - continue; - } - 42528 ... 42537 => { - __current_match = Some((25, __index + __ch.len_utf8())); - __current_state = 9; - continue; - } - 43216 ... 43225 => { - __current_match = Some((25, __index + __ch.len_utf8())); - __current_state = 9; - continue; - } - 43264 ... 43273 => { - __current_match = Some((25, __index + __ch.len_utf8())); - __current_state = 9; - continue; - } - 43472 ... 43481 => { - __current_match = Some((25, __index + __ch.len_utf8())); - __current_state = 9; - continue; - } - 43504 ... 43513 => { - __current_match = Some((25, __index + __ch.len_utf8())); - __current_state = 9; - continue; - } - 43600 ... 43609 => { - __current_match = Some((25, __index + __ch.len_utf8())); - __current_state = 9; - continue; - } - 44016 ... 44025 => { - __current_match = Some((25, __index + __ch.len_utf8())); - __current_state = 9; - continue; - } - 65296 ... 65305 => { - __current_match = Some((25, __index + __ch.len_utf8())); - __current_state = 9; - continue; - } - 66720 ... 66729 => { - __current_match = Some((25, __index + __ch.len_utf8())); - __current_state = 9; - continue; - } - 69734 ... 69743 => { - __current_match = Some((25, __index + __ch.len_utf8())); - __current_state = 9; - continue; - } - 69872 ... 69881 => { - __current_match = Some((25, __index + __ch.len_utf8())); - __current_state = 9; - continue; - } - 69942 ... 69951 => { - __current_match = Some((25, __index + __ch.len_utf8())); - __current_state = 9; - continue; - } - 70096 ... 70105 => { - __current_match = Some((25, __index + __ch.len_utf8())); - __current_state = 9; - continue; - } - 70384 ... 70393 => { - __current_match = Some((25, __index + __ch.len_utf8())); - __current_state = 9; - continue; - } - 70864 ... 70873 => { - __current_match = Some((25, __index + __ch.len_utf8())); - __current_state = 9; - continue; - } - 71248 ... 71257 => { - __current_match = Some((25, __index + __ch.len_utf8())); - __current_state = 9; - continue; - } - 71360 ... 71369 => { - __current_match = Some((25, __index + __ch.len_utf8())); - __current_state = 9; - continue; - } - 71472 ... 71481 => { - __current_match = Some((25, __index + __ch.len_utf8())); - __current_state = 9; - continue; - } - 71904 ... 71913 => { - __current_match = Some((25, __index + __ch.len_utf8())); - __current_state = 9; - continue; - } - 92768 ... 92777 => { - __current_match = Some((25, __index + __ch.len_utf8())); - __current_state = 9; - continue; - } - 93008 ... 93017 => { - __current_match = Some((25, __index + __ch.len_utf8())); - __current_state = 9; - continue; - } - 120782 ... 120831 => { - __current_match = Some((25, __index + __ch.len_utf8())); - __current_state = 9; - continue; - } - _ => { - return __current_match; - } - } - } - 6 => { - let (__index, __ch) = match __chars.next() { Some(p) => p, None => return __current_match }; - match __ch as u32 { - _ => { - return __current_match; - } - } - } - 7 => { - let (__index, __ch) = match __chars.next() { Some(p) => p, None => return __current_match }; - match __ch as u32 { - 48 ... 57 => { - __current_match = Some((25, __index + __ch.len_utf8())); - __current_state = 9; - continue; - } - 1632 ... 1641 => { - __current_match = Some((25, __index + __ch.len_utf8())); - __current_state = 9; - continue; - } - 1776 ... 1785 => { - __current_match = Some((25, __index + __ch.len_utf8())); - __current_state = 9; - continue; - } - 1984 ... 1993 => { - __current_match = Some((25, __index + __ch.len_utf8())); - __current_state = 9; - continue; - } - 2406 ... 2415 => { - __current_match = Some((25, __index + __ch.len_utf8())); - __current_state = 9; - continue; - } - 2534 ... 2543 => { - __current_match = Some((25, __index + __ch.len_utf8())); - __current_state = 9; - continue; - } - 2662 ... 2671 => { - __current_match = Some((25, __index + __ch.len_utf8())); - __current_state = 9; - continue; - } - 2790 ... 2799 => { - __current_match = Some((25, __index + __ch.len_utf8())); - __current_state = 9; - continue; - } - 2918 ... 2927 => { - __current_match = Some((25, __index + __ch.len_utf8())); - __current_state = 9; - continue; - } - 3046 ... 3055 => { - __current_match = Some((25, __index + __ch.len_utf8())); - __current_state = 9; - continue; - } - 3174 ... 3183 => { - __current_match = Some((25, __index + __ch.len_utf8())); - __current_state = 9; - continue; - } - 3302 ... 3311 => { - __current_match = Some((25, __index + __ch.len_utf8())); - __current_state = 9; - continue; - } - 3430 ... 3439 => { - __current_match = Some((25, __index + __ch.len_utf8())); - __current_state = 9; - continue; - } - 3558 ... 3567 => { - __current_match = Some((25, __index + __ch.len_utf8())); - __current_state = 9; - continue; - } - 3664 ... 3673 => { - __current_match = Some((25, __index + __ch.len_utf8())); - __current_state = 9; - continue; - } - 3792 ... 3801 => { - __current_match = Some((25, __index + __ch.len_utf8())); - __current_state = 9; - continue; - } - 3872 ... 3881 => { - __current_match = Some((25, __index + __ch.len_utf8())); - __current_state = 9; - continue; - } - 4160 ... 4169 => { - __current_match = Some((25, __index + __ch.len_utf8())); - __current_state = 9; - continue; - } - 4240 ... 4249 => { - __current_match = Some((25, __index + __ch.len_utf8())); - __current_state = 9; - continue; - } - 6112 ... 6121 => { - __current_match = Some((25, __index + __ch.len_utf8())); - __current_state = 9; - continue; - } - 6160 ... 6169 => { - __current_match = Some((25, __index + __ch.len_utf8())); - __current_state = 9; - continue; - } - 6470 ... 6479 => { - __current_match = Some((25, __index + __ch.len_utf8())); - __current_state = 9; - continue; - } - 6608 ... 6617 => { - __current_match = Some((25, __index + __ch.len_utf8())); - __current_state = 9; - continue; - } - 6784 ... 6793 => { - __current_match = Some((25, __index + __ch.len_utf8())); - __current_state = 9; - continue; - } - 6800 ... 6809 => { - __current_match = Some((25, __index + __ch.len_utf8())); - __current_state = 9; - continue; - } - 6992 ... 7001 => { - __current_match = Some((25, __index + __ch.len_utf8())); - __current_state = 9; - continue; - } - 7088 ... 7097 => { - __current_match = Some((25, __index + __ch.len_utf8())); - __current_state = 9; - continue; - } - 7232 ... 7241 => { - __current_match = Some((25, __index + __ch.len_utf8())); - __current_state = 9; - continue; - } - 7248 ... 7257 => { - __current_match = Some((25, __index + __ch.len_utf8())); - __current_state = 9; - continue; - } - 42528 ... 42537 => { - __current_match = Some((25, __index + __ch.len_utf8())); - __current_state = 9; - continue; - } - 43216 ... 43225 => { - __current_match = Some((25, __index + __ch.len_utf8())); - __current_state = 9; - continue; - } - 43264 ... 43273 => { - __current_match = Some((25, __index + __ch.len_utf8())); - __current_state = 9; - continue; - } - 43472 ... 43481 => { - __current_match = Some((25, __index + __ch.len_utf8())); - __current_state = 9; - continue; - } - 43504 ... 43513 => { - __current_match = Some((25, __index + __ch.len_utf8())); - __current_state = 9; - continue; - } - 43600 ... 43609 => { - __current_match = Some((25, __index + __ch.len_utf8())); - __current_state = 9; - continue; - } - 44016 ... 44025 => { - __current_match = Some((25, __index + __ch.len_utf8())); - __current_state = 9; - continue; - } - 65296 ... 65305 => { - __current_match = Some((25, __index + __ch.len_utf8())); - __current_state = 9; - continue; - } - 66720 ... 66729 => { - __current_match = Some((25, __index + __ch.len_utf8())); - __current_state = 9; - continue; - } - 69734 ... 69743 => { - __current_match = Some((25, __index + __ch.len_utf8())); - __current_state = 9; - continue; - } - 69872 ... 69881 => { - __current_match = Some((25, __index + __ch.len_utf8())); - __current_state = 9; - continue; - } - 69942 ... 69951 => { - __current_match = Some((25, __index + __ch.len_utf8())); - __current_state = 9; - continue; - } - 70096 ... 70105 => { - __current_match = Some((25, __index + __ch.len_utf8())); - __current_state = 9; - continue; - } - 70384 ... 70393 => { - __current_match = Some((25, __index + __ch.len_utf8())); - __current_state = 9; - continue; - } - 70864 ... 70873 => { - __current_match = Some((25, __index + __ch.len_utf8())); - __current_state = 9; - continue; - } - 71248 ... 71257 => { - __current_match = Some((25, __index + __ch.len_utf8())); - __current_state = 9; - continue; - } - 71360 ... 71369 => { - __current_match = Some((25, __index + __ch.len_utf8())); - __current_state = 9; - continue; - } - 71472 ... 71481 => { - __current_match = Some((25, __index + __ch.len_utf8())); - __current_state = 9; - continue; - } - 71904 ... 71913 => { - __current_match = Some((25, __index + __ch.len_utf8())); - __current_state = 9; - continue; - } - 92768 ... 92777 => { - __current_match = Some((25, __index + __ch.len_utf8())); - __current_state = 9; - continue; - } - 93008 ... 93017 => { - __current_match = Some((25, __index + __ch.len_utf8())); - __current_state = 9; - continue; - } - 120782 ... 120831 => { - __current_match = Some((25, __index + __ch.len_utf8())); - __current_state = 9; - continue; - } - _ => { - return __current_match; - } - } - } - 8 => { - let (__index, __ch) = match __chars.next() { Some(p) => p, None => return __current_match }; - match __ch as u32 { - _ => { - return __current_match; - } - } - } - 9 => { - let (__index, __ch) = match __chars.next() { Some(p) => p, None => return __current_match }; - match __ch as u32 { - 46 => /* '.' */ { - __current_match = Some((26, __index + 1)); - __current_state = 28; - continue; - } - 48 ... 57 => { - __current_match = Some((25, __index + __ch.len_utf8())); - __current_state = 9; - continue; - } - 1632 ... 1641 => { - __current_match = Some((25, __index + __ch.len_utf8())); - __current_state = 9; - continue; - } - 1776 ... 1785 => { - __current_match = Some((25, __index + __ch.len_utf8())); - __current_state = 9; - continue; - } - 1984 ... 1993 => { - __current_match = Some((25, __index + __ch.len_utf8())); - __current_state = 9; - continue; - } - 2406 ... 2415 => { - __current_match = Some((25, __index + __ch.len_utf8())); - __current_state = 9; - continue; - } - 2534 ... 2543 => { - __current_match = Some((25, __index + __ch.len_utf8())); - __current_state = 9; - continue; - } - 2662 ... 2671 => { - __current_match = Some((25, __index + __ch.len_utf8())); - __current_state = 9; - continue; - } - 2790 ... 2799 => { - __current_match = Some((25, __index + __ch.len_utf8())); - __current_state = 9; - continue; - } - 2918 ... 2927 => { - __current_match = Some((25, __index + __ch.len_utf8())); - __current_state = 9; - continue; - } - 3046 ... 3055 => { - __current_match = Some((25, __index + __ch.len_utf8())); - __current_state = 9; - continue; - } - 3174 ... 3183 => { - __current_match = Some((25, __index + __ch.len_utf8())); - __current_state = 9; - continue; - } - 3302 ... 3311 => { - __current_match = Some((25, __index + __ch.len_utf8())); - __current_state = 9; - continue; - } - 3430 ... 3439 => { - __current_match = Some((25, __index + __ch.len_utf8())); - __current_state = 9; - continue; - } - 3558 ... 3567 => { - __current_match = Some((25, __index + __ch.len_utf8())); - __current_state = 9; - continue; - } - 3664 ... 3673 => { - __current_match = Some((25, __index + __ch.len_utf8())); - __current_state = 9; - continue; - } - 3792 ... 3801 => { - __current_match = Some((25, __index + __ch.len_utf8())); - __current_state = 9; - continue; - } - 3872 ... 3881 => { - __current_match = Some((25, __index + __ch.len_utf8())); - __current_state = 9; - continue; - } - 4160 ... 4169 => { - __current_match = Some((25, __index + __ch.len_utf8())); - __current_state = 9; - continue; - } - 4240 ... 4249 => { - __current_match = Some((25, __index + __ch.len_utf8())); - __current_state = 9; - continue; - } - 6112 ... 6121 => { - __current_match = Some((25, __index + __ch.len_utf8())); - __current_state = 9; - continue; - } - 6160 ... 6169 => { - __current_match = Some((25, __index + __ch.len_utf8())); - __current_state = 9; - continue; - } - 6470 ... 6479 => { - __current_match = Some((25, __index + __ch.len_utf8())); - __current_state = 9; - continue; - } - 6608 ... 6617 => { - __current_match = Some((25, __index + __ch.len_utf8())); - __current_state = 9; - continue; - } - 6784 ... 6793 => { - __current_match = Some((25, __index + __ch.len_utf8())); - __current_state = 9; - continue; - } - 6800 ... 6809 => { - __current_match = Some((25, __index + __ch.len_utf8())); - __current_state = 9; - continue; - } - 6992 ... 7001 => { - __current_match = Some((25, __index + __ch.len_utf8())); - __current_state = 9; - continue; - } - 7088 ... 7097 => { - __current_match = Some((25, __index + __ch.len_utf8())); - __current_state = 9; - continue; - } - 7232 ... 7241 => { - __current_match = Some((25, __index + __ch.len_utf8())); - __current_state = 9; - continue; - } - 7248 ... 7257 => { - __current_match = Some((25, __index + __ch.len_utf8())); - __current_state = 9; - continue; - } - 42528 ... 42537 => { - __current_match = Some((25, __index + __ch.len_utf8())); - __current_state = 9; - continue; - } - 43216 ... 43225 => { - __current_match = Some((25, __index + __ch.len_utf8())); - __current_state = 9; - continue; - } - 43264 ... 43273 => { - __current_match = Some((25, __index + __ch.len_utf8())); - __current_state = 9; - continue; - } - 43472 ... 43481 => { - __current_match = Some((25, __index + __ch.len_utf8())); - __current_state = 9; - continue; - } - 43504 ... 43513 => { - __current_match = Some((25, __index + __ch.len_utf8())); - __current_state = 9; - continue; - } - 43600 ... 43609 => { - __current_match = Some((25, __index + __ch.len_utf8())); - __current_state = 9; - continue; - } - 44016 ... 44025 => { - __current_match = Some((25, __index + __ch.len_utf8())); - __current_state = 9; - continue; - } - 65296 ... 65305 => { - __current_match = Some((25, __index + __ch.len_utf8())); - __current_state = 9; - continue; - } - 66720 ... 66729 => { - __current_match = Some((25, __index + __ch.len_utf8())); - __current_state = 9; - continue; - } - 69734 ... 69743 => { - __current_match = Some((25, __index + __ch.len_utf8())); - __current_state = 9; - continue; - } - 69872 ... 69881 => { - __current_match = Some((25, __index + __ch.len_utf8())); - __current_state = 9; - continue; - } - 69942 ... 69951 => { - __current_match = Some((25, __index + __ch.len_utf8())); - __current_state = 9; - continue; - } - 70096 ... 70105 => { - __current_match = Some((25, __index + __ch.len_utf8())); - __current_state = 9; - continue; - } - 70384 ... 70393 => { - __current_match = Some((25, __index + __ch.len_utf8())); - __current_state = 9; - continue; - } - 70864 ... 70873 => { - __current_match = Some((25, __index + __ch.len_utf8())); - __current_state = 9; - continue; - } - 71248 ... 71257 => { - __current_match = Some((25, __index + __ch.len_utf8())); - __current_state = 9; - continue; - } - 71360 ... 71369 => { - __current_match = Some((25, __index + __ch.len_utf8())); - __current_state = 9; - continue; - } - 71472 ... 71481 => { - __current_match = Some((25, __index + __ch.len_utf8())); - __current_state = 9; - continue; - } - 71904 ... 71913 => { - __current_match = Some((25, __index + __ch.len_utf8())); - __current_state = 9; - continue; - } - 92768 ... 92777 => { - __current_match = Some((25, __index + __ch.len_utf8())); - __current_state = 9; - continue; - } - 93008 ... 93017 => { - __current_match = Some((25, __index + __ch.len_utf8())); - __current_state = 9; - continue; - } - 120782 ... 120831 => { - __current_match = Some((25, __index + __ch.len_utf8())); - __current_state = 9; - continue; - } - _ => { - return __current_match; - } - } - } - 10 => { - let (__index, __ch) = match __chars.next() { Some(p) => p, None => return __current_match }; - match __ch as u32 { - _ => { - return __current_match; - } - } - } - 11 => { - let (__index, __ch) = match __chars.next() { Some(p) => p, None => return __current_match }; - match __ch as u32 { - _ => { - return __current_match; - } - } - } - 12 => { - let (__index, __ch) = match __chars.next() { Some(p) => p, None => return __current_match }; - match __ch as u32 { - 48 ... 57 => { - __current_match = Some((27, __index + __ch.len_utf8())); - __current_state = 29; - continue; - } - 65 ... 90 => { - __current_match = Some((27, __index + __ch.len_utf8())); - __current_state = 29; - continue; - } - 95 => /* '_' */ { - __current_match = Some((27, __index + 1)); - __current_state = 29; - continue; - } - 97 ... 122 => { - __current_match = Some((27, __index + __ch.len_utf8())); - __current_state = 29; - continue; - } - _ => { - return __current_match; - } - } - } - 13 => { - let (__index, __ch) = match __chars.next() { Some(p) => p, None => return __current_match }; - match __ch as u32 { - _ => { - return __current_match; - } - } - } - 14 => { - let (__index, __ch) = match __chars.next() { Some(p) => p, None => return __current_match }; - match __ch as u32 { - 48 ... 57 => { - __current_match = Some((27, __index + __ch.len_utf8())); - __current_state = 29; - continue; - } - 65 ... 90 => { - __current_match = Some((27, __index + __ch.len_utf8())); - __current_state = 29; - continue; - } - 95 => /* '_' */ { - __current_match = Some((27, __index + 1)); - __current_state = 29; - continue; - } - 97 => /* 'a' */ { - __current_match = Some((27, __index + 1)); - __current_state = 29; - continue; - } - 98 => /* 'b' */ { - __current_match = Some((27, __index + 1)); - __current_state = 30; - continue; - } - 99 ... 122 => { - __current_match = Some((27, __index + __ch.len_utf8())); - __current_state = 29; - continue; - } - _ => { - return __current_match; - } - } - } - 15 => { - let (__index, __ch) = match __chars.next() { Some(p) => p, None => return __current_match }; - match __ch as u32 { - 48 ... 57 => { - __current_match = Some((27, __index + __ch.len_utf8())); - __current_state = 29; - continue; - } - 65 ... 90 => { - __current_match = Some((27, __index + __ch.len_utf8())); - __current_state = 29; - continue; - } - 95 => /* '_' */ { - __current_match = Some((27, __index + 1)); - __current_state = 29; - continue; - } - 97 ... 110 => { - __current_match = Some((27, __index + __ch.len_utf8())); - __current_state = 29; - continue; - } - 111 => /* 'o' */ { - __current_match = Some((27, __index + 1)); - __current_state = 31; - continue; - } - 112 ... 122 => { - __current_match = Some((27, __index + __ch.len_utf8())); - __current_state = 29; - continue; - } - _ => { - return __current_match; - } - } - } - 16 => { - let (__index, __ch) = match __chars.next() { Some(p) => p, None => return __current_match }; - match __ch as u32 { - 48 ... 57 => { - __current_match = Some((27, __index + __ch.len_utf8())); - __current_state = 29; - continue; - } - 65 ... 90 => { - __current_match = Some((27, __index + __ch.len_utf8())); - __current_state = 29; - continue; - } - 95 => /* '_' */ { - __current_match = Some((27, __index + 1)); - __current_state = 29; - continue; - } - 97 ... 100 => { - __current_match = Some((27, __index + __ch.len_utf8())); - __current_state = 29; - continue; - } - 101 => /* 'e' */ { - __current_match = Some((27, __index + 1)); - __current_state = 32; - continue; - } - 102 ... 104 => { - __current_match = Some((27, __index + __ch.len_utf8())); - __current_state = 29; - continue; - } - 105 => /* 'i' */ { - __current_match = Some((27, __index + 1)); - __current_state = 33; - continue; - } - 106 ... 122 => { - __current_match = Some((27, __index + __ch.len_utf8())); - __current_state = 29; - continue; - } - _ => { - return __current_match; - } - } - } - 17 => { - let (__index, __ch) = match __chars.next() { Some(p) => p, None => return __current_match }; - match __ch as u32 { - 48 ... 57 => { - __current_match = Some((27, __index + __ch.len_utf8())); - __current_state = 29; - continue; - } - 65 ... 90 => { - __current_match = Some((27, __index + __ch.len_utf8())); - __current_state = 29; - continue; - } - 95 => /* '_' */ { - __current_match = Some((27, __index + 1)); - __current_state = 29; - continue; - } - 97 ... 109 => { - __current_match = Some((27, __index + __ch.len_utf8())); - __current_state = 29; - continue; - } - 110 => /* 'n' */ { - __current_match = Some((27, __index + 1)); - __current_state = 34; - continue; - } - 111 ... 112 => { - __current_match = Some((27, __index + __ch.len_utf8())); - __current_state = 29; - continue; - } - 113 => /* 'q' */ { - __current_match = Some((27, __index + 1)); - __current_state = 35; - continue; - } - 114 ... 122 => { - __current_match = Some((27, __index + __ch.len_utf8())); - __current_state = 29; - continue; - } - _ => { - return __current_match; - } - } - } - 18 => { - let (__index, __ch) = match __chars.next() { Some(p) => p, None => return __current_match }; - match __ch as u32 { - 48 ... 57 => { - __current_match = Some((27, __index + __ch.len_utf8())); - __current_state = 29; - continue; - } - 65 ... 90 => { - __current_match = Some((27, __index + __ch.len_utf8())); - __current_state = 29; - continue; - } - 95 => /* '_' */ { - __current_match = Some((27, __index + 1)); - __current_state = 29; - continue; - } - 97 ... 107 => { - __current_match = Some((27, __index + __ch.len_utf8())); - __current_state = 29; - continue; - } - 108 => /* 'l' */ { - __current_match = Some((27, __index + 1)); - __current_state = 36; - continue; - } - 109 ... 122 => { - __current_match = Some((27, __index + __ch.len_utf8())); - __current_state = 29; - continue; - } - _ => { - return __current_match; - } - } - } - 19 => { - let (__index, __ch) = match __chars.next() { Some(p) => p, None => return __current_match }; - match __ch as u32 { - 48 ... 57 => { - __current_match = Some((27, __index + __ch.len_utf8())); - __current_state = 29; - continue; - } - 65 ... 90 => { - __current_match = Some((27, __index + __ch.len_utf8())); - __current_state = 29; - continue; - } - 95 => /* '_' */ { - __current_match = Some((27, __index + 1)); - __current_state = 29; - continue; - } - 97 ... 109 => { - __current_match = Some((27, __index + __ch.len_utf8())); - __current_state = 29; - continue; - } - 110 => /* 'n' */ { - __current_match = Some((27, __index + 1)); - __current_state = 37; - continue; - } - 111 ... 122 => { - __current_match = Some((27, __index + __ch.len_utf8())); - __current_state = 29; - continue; - } - _ => { - return __current_match; - } - } - } - 20 => { - let (__index, __ch) = match __chars.next() { Some(p) => p, None => return __current_match }; - match __ch as u32 { - 48 ... 57 => { - __current_match = Some((27, __index + __ch.len_utf8())); - __current_state = 29; - continue; - } - 65 ... 90 => { - __current_match = Some((27, __index + __ch.len_utf8())); - __current_state = 29; - continue; - } - 95 => /* '_' */ { - __current_match = Some((27, __index + 1)); - __current_state = 29; - continue; - } - 97 ... 110 => { - __current_match = Some((27, __index + __ch.len_utf8())); - __current_state = 29; - continue; - } - 111 => /* 'o' */ { - __current_match = Some((27, __index + 1)); - __current_state = 38; - continue; - } - 112 ... 122 => { - __current_match = Some((27, __index + __ch.len_utf8())); - __current_state = 29; - continue; - } - _ => { - return __current_match; - } - } - } - 21 => { - let (__index, __ch) = match __chars.next() { Some(p) => p, None => return __current_match }; - match __ch as u32 { - 48 ... 57 => { - __current_match = Some((27, __index + __ch.len_utf8())); - __current_state = 29; - continue; - } - 65 ... 90 => { - __current_match = Some((27, __index + __ch.len_utf8())); - __current_state = 29; - continue; - } - 95 => /* '_' */ { - __current_match = Some((27, __index + 1)); - __current_state = 29; - continue; - } - 97 ... 116 => { - __current_match = Some((27, __index + __ch.len_utf8())); - __current_state = 29; - continue; - } - 117 => /* 'u' */ { - __current_match = Some((27, __index + 1)); - __current_state = 39; - continue; - } - 118 ... 122 => { - __current_match = Some((27, __index + __ch.len_utf8())); - __current_state = 29; - continue; - } - _ => { - return __current_match; - } - } - } - 22 => { - let (__index, __ch) = match __chars.next() { Some(p) => p, None => return __current_match }; - match __ch as u32 { - 48 ... 57 => { - __current_match = Some((27, __index + __ch.len_utf8())); - __current_state = 29; - continue; - } - 65 ... 90 => { - __current_match = Some((27, __index + __ch.len_utf8())); - __current_state = 29; - continue; - } - 95 => /* '_' */ { - __current_match = Some((27, __index + 1)); - __current_state = 29; - continue; - } - 97 => /* 'a' */ { - __current_match = Some((27, __index + 1)); - __current_state = 40; - continue; - } - 98 ... 122 => { - __current_match = Some((27, __index + __ch.len_utf8())); - __current_state = 29; - continue; - } - _ => { - return __current_match; - } - } - } - 23 => { - let (__index, __ch) = match __chars.next() { Some(p) => p, None => return __current_match }; - match __ch as u32 { - 48 ... 57 => { - __current_match = Some((27, __index + __ch.len_utf8())); - __current_state = 29; - continue; - } - 65 ... 90 => { - __current_match = Some((27, __index + __ch.len_utf8())); - __current_state = 29; - continue; - } - 95 => /* '_' */ { - __current_match = Some((27, __index + 1)); - __current_state = 29; - continue; - } - 97 ... 115 => { - __current_match = Some((27, __index + __ch.len_utf8())); - __current_state = 29; - continue; - } - 116 => /* 't' */ { - __current_match = Some((27, __index + 1)); - __current_state = 41; - continue; - } - 117 ... 122 => { - __current_match = Some((27, __index + __ch.len_utf8())); - __current_state = 29; - continue; - } - _ => { - return __current_match; - } - } - } - 24 => { - let (__index, __ch) = match __chars.next() { Some(p) => p, None => return __current_match }; - match __ch as u32 { - 48 ... 57 => { - __current_match = Some((27, __index + __ch.len_utf8())); - __current_state = 29; - continue; - } - 65 ... 90 => { - __current_match = Some((27, __index + __ch.len_utf8())); - __current_state = 29; - continue; - } - 95 => /* '_' */ { - __current_match = Some((27, __index + 1)); - __current_state = 29; - continue; - } - 97 ... 109 => { - __current_match = Some((27, __index + __ch.len_utf8())); - __current_state = 29; - continue; - } - 110 => /* 'n' */ { - __current_match = Some((27, __index + 1)); - __current_state = 42; - continue; - } - 111 ... 122 => { - __current_match = Some((27, __index + __ch.len_utf8())); - __current_state = 29; - continue; - } - _ => { - return __current_match; - } - } - } - 25 => { - let (__index, __ch) = match __chars.next() { Some(p) => p, None => return __current_match }; - match __ch as u32 { - _ => { - return __current_match; - } - } - } - 26 => { - let (__index, __ch) = match __chars.next() { Some(p) => p, None => return __current_match }; - match __ch as u32 { - 0 ... 33 => { - __current_state = 26; - continue; - } - 34 => /* '\"' */ { - __current_match = Some((24, __index + 1)); - __current_state = 27; - continue; - } - 35 ... 91 => { - __current_state = 26; - continue; - } - 93 ... 1114111 => { - __current_state = 26; - continue; - } - _ => { - return __current_match; - } - } - } - 27 => { - let (__index, __ch) = match __chars.next() { Some(p) => p, None => return __current_match }; - match __ch as u32 { - _ => { - return __current_match; - } - } - } - 28 => { - let (__index, __ch) = match __chars.next() { Some(p) => p, None => return __current_match }; - match __ch as u32 { - 48 ... 57 => { - __current_match = Some((26, __index + __ch.len_utf8())); - __current_state = 28; - continue; - } - 69 => /* 'E' */ { - __current_state = 43; - continue; - } - 101 => /* 'e' */ { - __current_state = 43; - continue; - } - 1632 ... 1641 => { - __current_match = Some((26, __index + __ch.len_utf8())); - __current_state = 28; - continue; - } - 1776 ... 1785 => { - __current_match = Some((26, __index + __ch.len_utf8())); - __current_state = 28; - continue; - } - 1984 ... 1993 => { - __current_match = Some((26, __index + __ch.len_utf8())); - __current_state = 28; - continue; - } - 2406 ... 2415 => { - __current_match = Some((26, __index + __ch.len_utf8())); - __current_state = 28; - continue; - } - 2534 ... 2543 => { - __current_match = Some((26, __index + __ch.len_utf8())); - __current_state = 28; - continue; - } - 2662 ... 2671 => { - __current_match = Some((26, __index + __ch.len_utf8())); - __current_state = 28; - continue; - } - 2790 ... 2799 => { - __current_match = Some((26, __index + __ch.len_utf8())); - __current_state = 28; - continue; - } - 2918 ... 2927 => { - __current_match = Some((26, __index + __ch.len_utf8())); - __current_state = 28; - continue; - } - 3046 ... 3055 => { - __current_match = Some((26, __index + __ch.len_utf8())); - __current_state = 28; - continue; - } - 3174 ... 3183 => { - __current_match = Some((26, __index + __ch.len_utf8())); - __current_state = 28; - continue; - } - 3302 ... 3311 => { - __current_match = Some((26, __index + __ch.len_utf8())); - __current_state = 28; - continue; - } - 3430 ... 3439 => { - __current_match = Some((26, __index + __ch.len_utf8())); - __current_state = 28; - continue; - } - 3558 ... 3567 => { - __current_match = Some((26, __index + __ch.len_utf8())); - __current_state = 28; - continue; - } - 3664 ... 3673 => { - __current_match = Some((26, __index + __ch.len_utf8())); - __current_state = 28; - continue; - } - 3792 ... 3801 => { - __current_match = Some((26, __index + __ch.len_utf8())); - __current_state = 28; - continue; - } - 3872 ... 3881 => { - __current_match = Some((26, __index + __ch.len_utf8())); - __current_state = 28; - continue; - } - 4160 ... 4169 => { - __current_match = Some((26, __index + __ch.len_utf8())); - __current_state = 28; - continue; - } - 4240 ... 4249 => { - __current_match = Some((26, __index + __ch.len_utf8())); - __current_state = 28; - continue; - } - 6112 ... 6121 => { - __current_match = Some((26, __index + __ch.len_utf8())); - __current_state = 28; - continue; - } - 6160 ... 6169 => { - __current_match = Some((26, __index + __ch.len_utf8())); - __current_state = 28; - continue; - } - 6470 ... 6479 => { - __current_match = Some((26, __index + __ch.len_utf8())); - __current_state = 28; - continue; - } - 6608 ... 6617 => { - __current_match = Some((26, __index + __ch.len_utf8())); - __current_state = 28; - continue; - } - 6784 ... 6793 => { - __current_match = Some((26, __index + __ch.len_utf8())); - __current_state = 28; - continue; - } - 6800 ... 6809 => { - __current_match = Some((26, __index + __ch.len_utf8())); - __current_state = 28; - continue; - } - 6992 ... 7001 => { - __current_match = Some((26, __index + __ch.len_utf8())); - __current_state = 28; - continue; - } - 7088 ... 7097 => { - __current_match = Some((26, __index + __ch.len_utf8())); - __current_state = 28; - continue; - } - 7232 ... 7241 => { - __current_match = Some((26, __index + __ch.len_utf8())); - __current_state = 28; - continue; - } - 7248 ... 7257 => { - __current_match = Some((26, __index + __ch.len_utf8())); - __current_state = 28; - continue; - } - 42528 ... 42537 => { - __current_match = Some((26, __index + __ch.len_utf8())); - __current_state = 28; - continue; - } - 43216 ... 43225 => { - __current_match = Some((26, __index + __ch.len_utf8())); - __current_state = 28; - continue; - } - 43264 ... 43273 => { - __current_match = Some((26, __index + __ch.len_utf8())); - __current_state = 28; - continue; - } - 43472 ... 43481 => { - __current_match = Some((26, __index + __ch.len_utf8())); - __current_state = 28; - continue; - } - 43504 ... 43513 => { - __current_match = Some((26, __index + __ch.len_utf8())); - __current_state = 28; - continue; - } - 43600 ... 43609 => { - __current_match = Some((26, __index + __ch.len_utf8())); - __current_state = 28; - continue; - } - 44016 ... 44025 => { - __current_match = Some((26, __index + __ch.len_utf8())); - __current_state = 28; - continue; - } - 65296 ... 65305 => { - __current_match = Some((26, __index + __ch.len_utf8())); - __current_state = 28; - continue; - } - 66720 ... 66729 => { - __current_match = Some((26, __index + __ch.len_utf8())); - __current_state = 28; - continue; - } - 69734 ... 69743 => { - __current_match = Some((26, __index + __ch.len_utf8())); - __current_state = 28; - continue; - } - 69872 ... 69881 => { - __current_match = Some((26, __index + __ch.len_utf8())); - __current_state = 28; - continue; - } - 69942 ... 69951 => { - __current_match = Some((26, __index + __ch.len_utf8())); - __current_state = 28; - continue; - } - 70096 ... 70105 => { - __current_match = Some((26, __index + __ch.len_utf8())); - __current_state = 28; - continue; - } - 70384 ... 70393 => { - __current_match = Some((26, __index + __ch.len_utf8())); - __current_state = 28; - continue; - } - 70864 ... 70873 => { - __current_match = Some((26, __index + __ch.len_utf8())); - __current_state = 28; - continue; - } - 71248 ... 71257 => { - __current_match = Some((26, __index + __ch.len_utf8())); - __current_state = 28; - continue; - } - 71360 ... 71369 => { - __current_match = Some((26, __index + __ch.len_utf8())); - __current_state = 28; - continue; - } - 71472 ... 71481 => { - __current_match = Some((26, __index + __ch.len_utf8())); - __current_state = 28; - continue; - } - 71904 ... 71913 => { - __current_match = Some((26, __index + __ch.len_utf8())); - __current_state = 28; - continue; - } - 92768 ... 92777 => { - __current_match = Some((26, __index + __ch.len_utf8())); - __current_state = 28; - continue; - } - 93008 ... 93017 => { - __current_match = Some((26, __index + __ch.len_utf8())); - __current_state = 28; - continue; - } - 120782 ... 120831 => { - __current_match = Some((26, __index + __ch.len_utf8())); - __current_state = 28; - continue; - } - _ => { - return __current_match; - } - } - } - 29 => { - let (__index, __ch) = match __chars.next() { Some(p) => p, None => return __current_match }; - match __ch as u32 { - 48 ... 57 => { - __current_match = Some((27, __index + __ch.len_utf8())); - __current_state = 29; - continue; - } - 65 ... 90 => { - __current_match = Some((27, __index + __ch.len_utf8())); - __current_state = 29; - continue; - } - 95 => /* '_' */ { - __current_match = Some((27, __index + 1)); - __current_state = 29; - continue; - } - 97 ... 122 => { - __current_match = Some((27, __index + __ch.len_utf8())); - __current_state = 29; - continue; - } - _ => { - return __current_match; - } - } - } - 30 => { - let (__index, __ch) = match __chars.next() { Some(p) => p, None => return __current_match }; - match __ch as u32 { - 48 ... 57 => { - __current_match = Some((27, __index + __ch.len_utf8())); - __current_state = 29; - continue; - } - 65 ... 90 => { - __current_match = Some((27, __index + __ch.len_utf8())); - __current_state = 29; - continue; - } - 95 => /* '_' */ { - __current_match = Some((27, __index + 1)); - __current_state = 29; - continue; - } - 97 ... 114 => { - __current_match = Some((27, __index + __ch.len_utf8())); - __current_state = 29; - continue; - } - 115 => /* 's' */ { - __current_match = Some((10, __index + 1)); - __current_state = 44; - continue; - } - 116 ... 122 => { - __current_match = Some((27, __index + __ch.len_utf8())); - __current_state = 29; - continue; - } - _ => { - return __current_match; - } - } - } - 31 => { - let (__index, __ch) = match __chars.next() { Some(p) => p, None => return __current_match }; - match __ch as u32 { - 48 ... 57 => { - __current_match = Some((27, __index + __ch.len_utf8())); - __current_state = 29; - continue; - } - 65 ... 90 => { - __current_match = Some((27, __index + __ch.len_utf8())); - __current_state = 29; - continue; - } - 95 => /* '_' */ { - __current_match = Some((27, __index + 1)); - __current_state = 29; - continue; - } - 97 ... 109 => { - __current_match = Some((27, __index + __ch.len_utf8())); - __current_state = 29; - continue; - } - 110 => /* 'n' */ { - __current_match = Some((27, __index + 1)); - __current_state = 45; - continue; - } - 111 ... 122 => { - __current_match = Some((27, __index + __ch.len_utf8())); - __current_state = 29; - continue; - } - _ => { - return __current_match; - } - } - } - 32 => { - let (__index, __ch) = match __chars.next() { Some(p) => p, None => return __current_match }; - match __ch as u32 { - 48 ... 57 => { - __current_match = Some((27, __index + __ch.len_utf8())); - __current_state = 29; - continue; - } - 65 ... 90 => { - __current_match = Some((27, __index + __ch.len_utf8())); - __current_state = 29; - continue; - } - 95 => /* '_' */ { - __current_match = Some((27, __index + 1)); - __current_state = 29; - continue; - } - 97 ... 113 => { - __current_match = Some((27, __index + __ch.len_utf8())); - __current_state = 29; - continue; - } - 114 => /* 'r' */ { - __current_match = Some((13, __index + 1)); - __current_state = 46; - continue; - } - 115 ... 122 => { - __current_match = Some((27, __index + __ch.len_utf8())); - __current_state = 29; - continue; - } - _ => { - return __current_match; - } - } - } - 33 => { - let (__index, __ch) = match __chars.next() { Some(p) => p, None => return __current_match }; - match __ch as u32 { - 48 ... 57 => { - __current_match = Some((27, __index + __ch.len_utf8())); - __current_state = 29; - continue; - } - 65 ... 90 => { - __current_match = Some((27, __index + __ch.len_utf8())); - __current_state = 29; - continue; - } - 95 => /* '_' */ { - __current_match = Some((27, __index + 1)); - __current_state = 29; - continue; - } - 97 ... 114 => { - __current_match = Some((27, __index + __ch.len_utf8())); - __current_state = 29; - continue; - } - 115 => /* 's' */ { - __current_match = Some((27, __index + 1)); - __current_state = 47; - continue; - } - 116 ... 122 => { - __current_match = Some((27, __index + __ch.len_utf8())); - __current_state = 29; - continue; - } - _ => { - return __current_match; - } - } - } - 34 => { - let (__index, __ch) = match __chars.next() { Some(p) => p, None => return __current_match }; - match __ch as u32 { - 48 ... 57 => { - __current_match = Some((27, __index + __ch.len_utf8())); - __current_state = 29; - continue; - } - 65 ... 90 => { - __current_match = Some((27, __index + __ch.len_utf8())); - __current_state = 29; - continue; - } - 95 => /* '_' */ { - __current_match = Some((27, __index + 1)); - __current_state = 29; - continue; - } - 97 ... 99 => { - __current_match = Some((27, __index + __ch.len_utf8())); - __current_state = 29; - continue; - } - 100 => /* 'd' */ { - __current_match = Some((15, __index + 1)); - __current_state = 48; - continue; - } - 101 ... 122 => { - __current_match = Some((27, __index + __ch.len_utf8())); - __current_state = 29; - continue; - } - _ => { - return __current_match; - } - } - } - 35 => { - let (__index, __ch) = match __chars.next() { Some(p) => p, None => return __current_match }; - match __ch as u32 { - 48 ... 57 => { - __current_match = Some((27, __index + __ch.len_utf8())); - __current_state = 29; - continue; - } - 65 ... 90 => { - __current_match = Some((27, __index + __ch.len_utf8())); - __current_state = 29; - continue; - } - 95 => /* '_' */ { - __current_match = Some((27, __index + 1)); - __current_state = 29; - continue; - } - 97 ... 116 => { - __current_match = Some((27, __index + __ch.len_utf8())); - __current_state = 29; - continue; - } - 117 => /* 'u' */ { - __current_match = Some((27, __index + 1)); - __current_state = 49; - continue; - } - 118 ... 122 => { - __current_match = Some((27, __index + __ch.len_utf8())); - __current_state = 29; - continue; - } - _ => { - return __current_match; - } - } - } - 36 => { - let (__index, __ch) = match __chars.next() { Some(p) => p, None => return __current_match }; - match __ch as u32 { - 48 ... 57 => { - __current_match = Some((27, __index + __ch.len_utf8())); - __current_state = 29; - continue; - } - 65 ... 90 => { - __current_match = Some((27, __index + __ch.len_utf8())); - __current_state = 29; - continue; - } - 95 => /* '_' */ { - __current_match = Some((27, __index + 1)); - __current_state = 29; - continue; - } - 97 ... 110 => { - __current_match = Some((27, __index + __ch.len_utf8())); - __current_state = 29; - continue; - } - 111 => /* 'o' */ { - __current_match = Some((27, __index + 1)); - __current_state = 50; - continue; - } - 112 ... 122 => { - __current_match = Some((27, __index + __ch.len_utf8())); - __current_state = 29; - continue; - } - _ => { - return __current_match; - } - } - } - 37 => { - let (__index, __ch) = match __chars.next() { Some(p) => p, None => return __current_match }; - match __ch as u32 { - 48 ... 57 => { - __current_match = Some((27, __index + __ch.len_utf8())); - __current_state = 29; - continue; - } - 65 ... 90 => { - __current_match = Some((27, __index + __ch.len_utf8())); - __current_state = 29; - continue; - } - 95 => /* '_' */ { - __current_match = Some((27, __index + 1)); - __current_state = 29; - continue; - } - 97 ... 111 => { - __current_match = Some((27, __index + __ch.len_utf8())); - __current_state = 29; - continue; - } - 112 => /* 'p' */ { - __current_match = Some((27, __index + 1)); - __current_state = 51; - continue; - } - 113 ... 122 => { - __current_match = Some((27, __index + __ch.len_utf8())); - __current_state = 29; - continue; - } - _ => { - return __current_match; - } - } - } - 38 => { - let (__index, __ch) = match __chars.next() { Some(p) => p, None => return __current_match }; - match __ch as u32 { - 48 ... 57 => { - __current_match = Some((27, __index + __ch.len_utf8())); - __current_state = 29; - continue; - } - 65 ... 90 => { - __current_match = Some((27, __index + __ch.len_utf8())); - __current_state = 29; - continue; - } - 95 => /* '_' */ { - __current_match = Some((27, __index + 1)); - __current_state = 29; - continue; - } - 97 ... 99 => { - __current_match = Some((27, __index + __ch.len_utf8())); - __current_state = 29; - continue; - } - 100 => /* 'd' */ { - __current_match = Some((27, __index + 1)); - __current_state = 52; - continue; - } - 101 ... 122 => { - __current_match = Some((27, __index + __ch.len_utf8())); - __current_state = 29; - continue; - } - _ => { - return __current_match; - } - } - } - 39 => { - let (__index, __ch) = match __chars.next() { Some(p) => p, None => return __current_match }; - match __ch as u32 { - 48 ... 57 => { - __current_match = Some((27, __index + __ch.len_utf8())); - __current_state = 29; - continue; - } - 65 ... 90 => { - __current_match = Some((27, __index + __ch.len_utf8())); - __current_state = 29; - continue; - } - 95 => /* '_' */ { - __current_match = Some((27, __index + 1)); - __current_state = 29; - continue; - } - 97 ... 115 => { - __current_match = Some((27, __index + __ch.len_utf8())); - __current_state = 29; - continue; - } - 116 => /* 't' */ { - __current_match = Some((27, __index + 1)); - __current_state = 53; - continue; - } - 117 ... 122 => { - __current_match = Some((27, __index + __ch.len_utf8())); - __current_state = 29; - continue; - } - _ => { - return __current_match; - } - } - } - 40 => { - let (__index, __ch) = match __chars.next() { Some(p) => p, None => return __current_match }; - match __ch as u32 { - 48 ... 57 => { - __current_match = Some((27, __index + __ch.len_utf8())); - __current_state = 29; - continue; - } - 65 ... 90 => { - __current_match = Some((27, __index + __ch.len_utf8())); - __current_state = 29; - continue; - } - 95 => /* '_' */ { - __current_match = Some((27, __index + 1)); - __current_state = 29; - continue; - } - 97 ... 113 => { - __current_match = Some((27, __index + __ch.len_utf8())); - __current_state = 29; - continue; - } - 114 => /* 'r' */ { - __current_match = Some((27, __index + 1)); - __current_state = 54; - continue; - } - 115 ... 122 => { - __current_match = Some((27, __index + __ch.len_utf8())); - __current_state = 29; - continue; - } - _ => { - return __current_match; - } - } - } - 41 => { - let (__index, __ch) = match __chars.next() { Some(p) => p, None => return __current_match }; - match __ch as u32 { - 48 ... 57 => { - __current_match = Some((27, __index + __ch.len_utf8())); - __current_state = 29; - continue; - } - 65 ... 90 => { - __current_match = Some((27, __index + __ch.len_utf8())); - __current_state = 29; - continue; - } - 95 => /* '_' */ { - __current_match = Some((27, __index + 1)); - __current_state = 29; - continue; - } - 97 ... 113 => { - __current_match = Some((27, __index + __ch.len_utf8())); - __current_state = 29; - continue; - } - 114 => /* 'r' */ { - __current_match = Some((27, __index + 1)); - __current_state = 55; - continue; - } - 115 ... 122 => { - __current_match = Some((27, __index + __ch.len_utf8())); - __current_state = 29; - continue; - } - _ => { - return __current_match; - } - } - } - 42 => { - let (__index, __ch) = match __chars.next() { Some(p) => p, None => return __current_match }; - match __ch as u32 { - 48 ... 57 => { - __current_match = Some((27, __index + __ch.len_utf8())); - __current_state = 29; - continue; - } - 65 ... 90 => { - __current_match = Some((27, __index + __ch.len_utf8())); - __current_state = 29; - continue; - } - 95 => /* '_' */ { - __current_match = Some((27, __index + 1)); - __current_state = 29; - continue; - } - 97 ... 104 => { - __current_match = Some((27, __index + __ch.len_utf8())); - __current_state = 29; - continue; - } - 105 => /* 'i' */ { - __current_match = Some((27, __index + 1)); - __current_state = 56; - continue; - } - 106 ... 122 => { - __current_match = Some((27, __index + __ch.len_utf8())); - __current_state = 29; - continue; - } - _ => { - return __current_match; - } - } - } - 43 => { - let (__index, __ch) = match __chars.next() { Some(p) => p, None => return __current_match }; - match __ch as u32 { - 43 => /* '+' */ { - __current_state = 57; - continue; - } - 45 => /* '-' */ { - __current_state = 57; - continue; - } - 48 ... 57 => { - __current_match = Some((26, __index + __ch.len_utf8())); - __current_state = 58; - continue; - } - 1632 ... 1641 => { - __current_match = Some((26, __index + __ch.len_utf8())); - __current_state = 58; - continue; - } - 1776 ... 1785 => { - __current_match = Some((26, __index + __ch.len_utf8())); - __current_state = 58; - continue; - } - 1984 ... 1993 => { - __current_match = Some((26, __index + __ch.len_utf8())); - __current_state = 58; - continue; - } - 2406 ... 2415 => { - __current_match = Some((26, __index + __ch.len_utf8())); - __current_state = 58; - continue; - } - 2534 ... 2543 => { - __current_match = Some((26, __index + __ch.len_utf8())); - __current_state = 58; - continue; - } - 2662 ... 2671 => { - __current_match = Some((26, __index + __ch.len_utf8())); - __current_state = 58; - continue; - } - 2790 ... 2799 => { - __current_match = Some((26, __index + __ch.len_utf8())); - __current_state = 58; - continue; - } - 2918 ... 2927 => { - __current_match = Some((26, __index + __ch.len_utf8())); - __current_state = 58; - continue; - } - 3046 ... 3055 => { - __current_match = Some((26, __index + __ch.len_utf8())); - __current_state = 58; - continue; - } - 3174 ... 3183 => { - __current_match = Some((26, __index + __ch.len_utf8())); - __current_state = 58; - continue; - } - 3302 ... 3311 => { - __current_match = Some((26, __index + __ch.len_utf8())); - __current_state = 58; - continue; - } - 3430 ... 3439 => { - __current_match = Some((26, __index + __ch.len_utf8())); - __current_state = 58; - continue; - } - 3558 ... 3567 => { - __current_match = Some((26, __index + __ch.len_utf8())); - __current_state = 58; - continue; - } - 3664 ... 3673 => { - __current_match = Some((26, __index + __ch.len_utf8())); - __current_state = 58; - continue; - } - 3792 ... 3801 => { - __current_match = Some((26, __index + __ch.len_utf8())); - __current_state = 58; - continue; - } - 3872 ... 3881 => { - __current_match = Some((26, __index + __ch.len_utf8())); - __current_state = 58; - continue; - } - 4160 ... 4169 => { - __current_match = Some((26, __index + __ch.len_utf8())); - __current_state = 58; - continue; - } - 4240 ... 4249 => { - __current_match = Some((26, __index + __ch.len_utf8())); - __current_state = 58; - continue; - } - 6112 ... 6121 => { - __current_match = Some((26, __index + __ch.len_utf8())); - __current_state = 58; - continue; - } - 6160 ... 6169 => { - __current_match = Some((26, __index + __ch.len_utf8())); - __current_state = 58; - continue; - } - 6470 ... 6479 => { - __current_match = Some((26, __index + __ch.len_utf8())); - __current_state = 58; - continue; - } - 6608 ... 6617 => { - __current_match = Some((26, __index + __ch.len_utf8())); - __current_state = 58; - continue; - } - 6784 ... 6793 => { - __current_match = Some((26, __index + __ch.len_utf8())); - __current_state = 58; - continue; - } - 6800 ... 6809 => { - __current_match = Some((26, __index + __ch.len_utf8())); - __current_state = 58; - continue; - } - 6992 ... 7001 => { - __current_match = Some((26, __index + __ch.len_utf8())); - __current_state = 58; - continue; - } - 7088 ... 7097 => { - __current_match = Some((26, __index + __ch.len_utf8())); - __current_state = 58; - continue; - } - 7232 ... 7241 => { - __current_match = Some((26, __index + __ch.len_utf8())); - __current_state = 58; - continue; - } - 7248 ... 7257 => { - __current_match = Some((26, __index + __ch.len_utf8())); - __current_state = 58; - continue; - } - 42528 ... 42537 => { - __current_match = Some((26, __index + __ch.len_utf8())); - __current_state = 58; - continue; - } - 43216 ... 43225 => { - __current_match = Some((26, __index + __ch.len_utf8())); - __current_state = 58; - continue; - } - 43264 ... 43273 => { - __current_match = Some((26, __index + __ch.len_utf8())); - __current_state = 58; - continue; - } - 43472 ... 43481 => { - __current_match = Some((26, __index + __ch.len_utf8())); - __current_state = 58; - continue; - } - 43504 ... 43513 => { - __current_match = Some((26, __index + __ch.len_utf8())); - __current_state = 58; - continue; - } - 43600 ... 43609 => { - __current_match = Some((26, __index + __ch.len_utf8())); - __current_state = 58; - continue; - } - 44016 ... 44025 => { - __current_match = Some((26, __index + __ch.len_utf8())); - __current_state = 58; - continue; - } - 65296 ... 65305 => { - __current_match = Some((26, __index + __ch.len_utf8())); - __current_state = 58; - continue; - } - 66720 ... 66729 => { - __current_match = Some((26, __index + __ch.len_utf8())); - __current_state = 58; - continue; - } - 69734 ... 69743 => { - __current_match = Some((26, __index + __ch.len_utf8())); - __current_state = 58; - continue; - } - 69872 ... 69881 => { - __current_match = Some((26, __index + __ch.len_utf8())); - __current_state = 58; - continue; - } - 69942 ... 69951 => { - __current_match = Some((26, __index + __ch.len_utf8())); - __current_state = 58; - continue; - } - 70096 ... 70105 => { - __current_match = Some((26, __index + __ch.len_utf8())); - __current_state = 58; - continue; - } - 70384 ... 70393 => { - __current_match = Some((26, __index + __ch.len_utf8())); - __current_state = 58; - continue; - } - 70864 ... 70873 => { - __current_match = Some((26, __index + __ch.len_utf8())); - __current_state = 58; - continue; - } - 71248 ... 71257 => { - __current_match = Some((26, __index + __ch.len_utf8())); - __current_state = 58; - continue; - } - 71360 ... 71369 => { - __current_match = Some((26, __index + __ch.len_utf8())); - __current_state = 58; - continue; - } - 71472 ... 71481 => { - __current_match = Some((26, __index + __ch.len_utf8())); - __current_state = 58; - continue; - } - 71904 ... 71913 => { - __current_match = Some((26, __index + __ch.len_utf8())); - __current_state = 58; - continue; - } - 92768 ... 92777 => { - __current_match = Some((26, __index + __ch.len_utf8())); - __current_state = 58; - continue; - } - 93008 ... 93017 => { - __current_match = Some((26, __index + __ch.len_utf8())); - __current_state = 58; - continue; - } - 120782 ... 120831 => { - __current_match = Some((26, __index + __ch.len_utf8())); - __current_state = 58; - continue; - } - _ => { - return __current_match; - } - } - } - 44 => { - let (__index, __ch) = match __chars.next() { Some(p) => p, None => return __current_match }; - match __ch as u32 { - 48 ... 57 => { - __current_match = Some((27, __index + __ch.len_utf8())); - __current_state = 29; - continue; - } - 65 ... 90 => { - __current_match = Some((27, __index + __ch.len_utf8())); - __current_state = 29; - continue; - } - 95 => /* '_' */ { - __current_match = Some((27, __index + 1)); - __current_state = 29; - continue; - } - 97 ... 122 => { - __current_match = Some((27, __index + __ch.len_utf8())); - __current_state = 29; - continue; - } - _ => { - return __current_match; - } - } - } - 45 => { - let (__index, __ch) = match __chars.next() { Some(p) => p, None => return __current_match }; - match __ch as u32 { - 48 ... 57 => { - __current_match = Some((27, __index + __ch.len_utf8())); - __current_state = 29; - continue; - } - 65 ... 90 => { - __current_match = Some((27, __index + __ch.len_utf8())); - __current_state = 29; - continue; - } - 95 => /* '_' */ { - __current_match = Some((27, __index + 1)); - __current_state = 29; - continue; - } - 97 ... 109 => { - __current_match = Some((27, __index + __ch.len_utf8())); - __current_state = 29; - continue; - } - 110 => /* 'n' */ { - __current_match = Some((27, __index + 1)); - __current_state = 59; - continue; - } - 111 ... 114 => { - __current_match = Some((27, __index + __ch.len_utf8())); - __current_state = 29; - continue; - } - 115 => /* 's' */ { - __current_match = Some((27, __index + 1)); - __current_state = 60; - continue; - } - 116 ... 122 => { - __current_match = Some((27, __index + __ch.len_utf8())); - __current_state = 29; - continue; - } - _ => { - return __current_match; - } - } - } - 46 => { - let (__index, __ch) = match __chars.next() { Some(p) => p, None => return __current_match }; - match __ch as u32 { - 48 ... 57 => { - __current_match = Some((27, __index + __ch.len_utf8())); - __current_state = 29; - continue; - } - 65 ... 90 => { - __current_match = Some((27, __index + __ch.len_utf8())); - __current_state = 29; - continue; - } - 95 => /* '_' */ { - __current_match = Some((27, __index + 1)); - __current_state = 29; - continue; - } - 97 ... 122 => { - __current_match = Some((27, __index + __ch.len_utf8())); - __current_state = 29; - continue; - } - _ => { - return __current_match; - } - } - } - 47 => { - let (__index, __ch) = match __chars.next() { Some(p) => p, None => return __current_match }; - match __ch as u32 { - 48 ... 57 => { - __current_match = Some((27, __index + __ch.len_utf8())); - __current_state = 29; - continue; - } - 65 ... 90 => { - __current_match = Some((27, __index + __ch.len_utf8())); - __current_state = 29; - continue; - } - 95 => /* '_' */ { - __current_match = Some((27, __index + 1)); - __current_state = 29; - continue; - } - 97 ... 98 => { - __current_match = Some((27, __index + __ch.len_utf8())); - __current_state = 29; - continue; - } - 99 => /* 'c' */ { - __current_match = Some((27, __index + 1)); - __current_state = 61; - continue; - } - 100 ... 122 => { - __current_match = Some((27, __index + __ch.len_utf8())); - __current_state = 29; - continue; - } - _ => { - return __current_match; - } - } - } - 48 => { - let (__index, __ch) = match __chars.next() { Some(p) => p, None => return __current_match }; - match __ch as u32 { - 48 ... 57 => { - __current_match = Some((27, __index + __ch.len_utf8())); - __current_state = 29; - continue; - } - 65 ... 90 => { - __current_match = Some((27, __index + __ch.len_utf8())); - __current_state = 29; - continue; - } - 95 => /* '_' */ { - __current_match = Some((27, __index + 1)); - __current_state = 29; - continue; - } - 97 ... 122 => { - __current_match = Some((27, __index + __ch.len_utf8())); - __current_state = 29; - continue; - } - _ => { - return __current_match; - } - } - } - 49 => { - let (__index, __ch) = match __chars.next() { Some(p) => p, None => return __current_match }; - match __ch as u32 { - 48 ... 57 => { - __current_match = Some((27, __index + __ch.len_utf8())); - __current_state = 29; - continue; - } - 65 ... 90 => { - __current_match = Some((27, __index + __ch.len_utf8())); - __current_state = 29; - continue; - } - 95 => /* '_' */ { - __current_match = Some((27, __index + 1)); - __current_state = 29; - continue; - } - 97 => /* 'a' */ { - __current_match = Some((27, __index + 1)); - __current_state = 62; - continue; - } - 98 ... 122 => { - __current_match = Some((27, __index + __ch.len_utf8())); - __current_state = 29; - continue; - } - _ => { - return __current_match; - } - } - } - 50 => { - let (__index, __ch) = match __chars.next() { Some(p) => p, None => return __current_match }; - match __ch as u32 { - 48 ... 57 => { - __current_match = Some((27, __index + __ch.len_utf8())); - __current_state = 29; - continue; - } - 65 ... 90 => { - __current_match = Some((27, __index + __ch.len_utf8())); - __current_state = 29; - continue; - } - 95 => /* '_' */ { - __current_match = Some((27, __index + 1)); - __current_state = 29; - continue; - } - 97 ... 118 => { - __current_match = Some((27, __index + __ch.len_utf8())); - __current_state = 29; - continue; - } - 119 => /* 'w' */ { - __current_match = Some((17, __index + 1)); - __current_state = 63; - continue; - } - 120 ... 122 => { - __current_match = Some((27, __index + __ch.len_utf8())); - __current_state = 29; - continue; - } - _ => { - return __current_match; - } - } - } - 51 => { - let (__index, __ch) = match __chars.next() { Some(p) => p, None => return __current_match }; - match __ch as u32 { - 48 ... 57 => { - __current_match = Some((27, __index + __ch.len_utf8())); - __current_state = 29; - continue; - } - 65 ... 90 => { - __current_match = Some((27, __index + __ch.len_utf8())); - __current_state = 29; - continue; - } - 95 => /* '_' */ { - __current_match = Some((27, __index + 1)); - __current_state = 29; - continue; - } - 97 ... 116 => { - __current_match = Some((27, __index + __ch.len_utf8())); - __current_state = 29; - continue; - } - 117 => /* 'u' */ { - __current_match = Some((27, __index + 1)); - __current_state = 64; - continue; - } - 118 ... 122 => { - __current_match = Some((27, __index + __ch.len_utf8())); - __current_state = 29; - continue; - } - _ => { - return __current_match; - } - } - } - 52 => { - let (__index, __ch) = match __chars.next() { Some(p) => p, None => return __current_match }; - match __ch as u32 { - 48 ... 57 => { - __current_match = Some((27, __index + __ch.len_utf8())); - __current_state = 29; - continue; - } - 65 ... 90 => { - __current_match = Some((27, __index + __ch.len_utf8())); - __current_state = 29; - continue; - } - 95 => /* '_' */ { - __current_match = Some((27, __index + 1)); - __current_state = 29; - continue; - } - 97 ... 100 => { - __current_match = Some((27, __index + __ch.len_utf8())); - __current_state = 29; - continue; - } - 101 => /* 'e' */ { - __current_match = Some((27, __index + 1)); - __current_state = 65; - continue; - } - 102 ... 122 => { - __current_match = Some((27, __index + __ch.len_utf8())); - __current_state = 29; - continue; - } - _ => { - return __current_match; - } - } - } - 53 => { - let (__index, __ch) = match __chars.next() { Some(p) => p, None => return __current_match }; - match __ch as u32 { - 48 ... 57 => { - __current_match = Some((27, __index + __ch.len_utf8())); - __current_state = 29; - continue; - } - 65 ... 90 => { - __current_match = Some((27, __index + __ch.len_utf8())); - __current_state = 29; - continue; - } - 95 => /* '_' */ { - __current_match = Some((27, __index + 1)); - __current_state = 29; - continue; - } - 97 ... 111 => { - __current_match = Some((27, __index + __ch.len_utf8())); - __current_state = 29; - continue; - } - 112 => /* 'p' */ { - __current_match = Some((27, __index + 1)); - __current_state = 66; - continue; - } - 113 ... 122 => { - __current_match = Some((27, __index + __ch.len_utf8())); - __current_state = 29; - continue; - } - _ => { - return __current_match; - } - } - } - 54 => { - let (__index, __ch) = match __chars.next() { Some(p) => p, None => return __current_match }; - match __ch as u32 { - 48 ... 57 => { - __current_match = Some((27, __index + __ch.len_utf8())); - __current_state = 29; - continue; - } - 65 ... 90 => { - __current_match = Some((27, __index + __ch.len_utf8())); - __current_state = 29; - continue; - } - 95 => /* '_' */ { - __current_match = Some((27, __index + 1)); - __current_state = 29; - continue; - } - 97 => /* 'a' */ { - __current_match = Some((27, __index + 1)); - __current_state = 67; - continue; - } - 98 ... 122 => { - __current_match = Some((27, __index + __ch.len_utf8())); - __current_state = 29; - continue; - } - _ => { - return __current_match; - } - } - } - 55 => { - let (__index, __ch) = match __chars.next() { Some(p) => p, None => return __current_match }; - match __ch as u32 { - 48 ... 57 => { - __current_match = Some((27, __index + __ch.len_utf8())); - __current_state = 29; - continue; - } - 65 ... 90 => { - __current_match = Some((27, __index + __ch.len_utf8())); - __current_state = 29; - continue; - } - 95 => /* '_' */ { - __current_match = Some((27, __index + 1)); - __current_state = 29; - continue; - } - 97 ... 100 => { - __current_match = Some((27, __index + __ch.len_utf8())); - __current_state = 29; - continue; - } - 101 => /* 'e' */ { - __current_match = Some((27, __index + 1)); - __current_state = 68; - continue; - } - 102 ... 122 => { - __current_match = Some((27, __index + __ch.len_utf8())); - __current_state = 29; - continue; - } - _ => { - return __current_match; - } - } - } - 56 => { - let (__index, __ch) = match __chars.next() { Some(p) => p, None => return __current_match }; - match __ch as u32 { - 48 ... 57 => { - __current_match = Some((27, __index + __ch.len_utf8())); - __current_state = 29; - continue; - } - 65 ... 90 => { - __current_match = Some((27, __index + __ch.len_utf8())); - __current_state = 29; - continue; - } - 95 => /* '_' */ { - __current_match = Some((27, __index + 1)); - __current_state = 29; - continue; - } - 97 ... 115 => { - __current_match = Some((27, __index + __ch.len_utf8())); - __current_state = 29; - continue; - } - 116 => /* 't' */ { - __current_match = Some((23, __index + 1)); - __current_state = 69; - continue; - } - 117 ... 122 => { - __current_match = Some((27, __index + __ch.len_utf8())); - __current_state = 29; - continue; - } - _ => { - return __current_match; - } - } - } - 57 => { - let (__index, __ch) = match __chars.next() { Some(p) => p, None => return __current_match }; - match __ch as u32 { - 48 ... 57 => { - __current_match = Some((26, __index + __ch.len_utf8())); - __current_state = 58; - continue; - } - 1632 ... 1641 => { - __current_match = Some((26, __index + __ch.len_utf8())); - __current_state = 58; - continue; - } - 1776 ... 1785 => { - __current_match = Some((26, __index + __ch.len_utf8())); - __current_state = 58; - continue; - } - 1984 ... 1993 => { - __current_match = Some((26, __index + __ch.len_utf8())); - __current_state = 58; - continue; - } - 2406 ... 2415 => { - __current_match = Some((26, __index + __ch.len_utf8())); - __current_state = 58; - continue; - } - 2534 ... 2543 => { - __current_match = Some((26, __index + __ch.len_utf8())); - __current_state = 58; - continue; - } - 2662 ... 2671 => { - __current_match = Some((26, __index + __ch.len_utf8())); - __current_state = 58; - continue; - } - 2790 ... 2799 => { - __current_match = Some((26, __index + __ch.len_utf8())); - __current_state = 58; - continue; - } - 2918 ... 2927 => { - __current_match = Some((26, __index + __ch.len_utf8())); - __current_state = 58; - continue; - } - 3046 ... 3055 => { - __current_match = Some((26, __index + __ch.len_utf8())); - __current_state = 58; - continue; - } - 3174 ... 3183 => { - __current_match = Some((26, __index + __ch.len_utf8())); - __current_state = 58; - continue; - } - 3302 ... 3311 => { - __current_match = Some((26, __index + __ch.len_utf8())); - __current_state = 58; - continue; - } - 3430 ... 3439 => { - __current_match = Some((26, __index + __ch.len_utf8())); - __current_state = 58; - continue; - } - 3558 ... 3567 => { - __current_match = Some((26, __index + __ch.len_utf8())); - __current_state = 58; - continue; - } - 3664 ... 3673 => { - __current_match = Some((26, __index + __ch.len_utf8())); - __current_state = 58; - continue; - } - 3792 ... 3801 => { - __current_match = Some((26, __index + __ch.len_utf8())); - __current_state = 58; - continue; - } - 3872 ... 3881 => { - __current_match = Some((26, __index + __ch.len_utf8())); - __current_state = 58; - continue; - } - 4160 ... 4169 => { - __current_match = Some((26, __index + __ch.len_utf8())); - __current_state = 58; - continue; - } - 4240 ... 4249 => { - __current_match = Some((26, __index + __ch.len_utf8())); - __current_state = 58; - continue; - } - 6112 ... 6121 => { - __current_match = Some((26, __index + __ch.len_utf8())); - __current_state = 58; - continue; - } - 6160 ... 6169 => { - __current_match = Some((26, __index + __ch.len_utf8())); - __current_state = 58; - continue; - } - 6470 ... 6479 => { - __current_match = Some((26, __index + __ch.len_utf8())); - __current_state = 58; - continue; - } - 6608 ... 6617 => { - __current_match = Some((26, __index + __ch.len_utf8())); - __current_state = 58; - continue; - } - 6784 ... 6793 => { - __current_match = Some((26, __index + __ch.len_utf8())); - __current_state = 58; - continue; - } - 6800 ... 6809 => { - __current_match = Some((26, __index + __ch.len_utf8())); - __current_state = 58; - continue; - } - 6992 ... 7001 => { - __current_match = Some((26, __index + __ch.len_utf8())); - __current_state = 58; - continue; - } - 7088 ... 7097 => { - __current_match = Some((26, __index + __ch.len_utf8())); - __current_state = 58; - continue; - } - 7232 ... 7241 => { - __current_match = Some((26, __index + __ch.len_utf8())); - __current_state = 58; - continue; - } - 7248 ... 7257 => { - __current_match = Some((26, __index + __ch.len_utf8())); - __current_state = 58; - continue; - } - 42528 ... 42537 => { - __current_match = Some((26, __index + __ch.len_utf8())); - __current_state = 58; - continue; - } - 43216 ... 43225 => { - __current_match = Some((26, __index + __ch.len_utf8())); - __current_state = 58; - continue; - } - 43264 ... 43273 => { - __current_match = Some((26, __index + __ch.len_utf8())); - __current_state = 58; - continue; - } - 43472 ... 43481 => { - __current_match = Some((26, __index + __ch.len_utf8())); - __current_state = 58; - continue; - } - 43504 ... 43513 => { - __current_match = Some((26, __index + __ch.len_utf8())); - __current_state = 58; - continue; - } - 43600 ... 43609 => { - __current_match = Some((26, __index + __ch.len_utf8())); - __current_state = 58; - continue; - } - 44016 ... 44025 => { - __current_match = Some((26, __index + __ch.len_utf8())); - __current_state = 58; - continue; - } - 65296 ... 65305 => { - __current_match = Some((26, __index + __ch.len_utf8())); - __current_state = 58; - continue; - } - 66720 ... 66729 => { - __current_match = Some((26, __index + __ch.len_utf8())); - __current_state = 58; - continue; - } - 69734 ... 69743 => { - __current_match = Some((26, __index + __ch.len_utf8())); - __current_state = 58; - continue; - } - 69872 ... 69881 => { - __current_match = Some((26, __index + __ch.len_utf8())); - __current_state = 58; - continue; - } - 69942 ... 69951 => { - __current_match = Some((26, __index + __ch.len_utf8())); - __current_state = 58; - continue; - } - 70096 ... 70105 => { - __current_match = Some((26, __index + __ch.len_utf8())); - __current_state = 58; - continue; - } - 70384 ... 70393 => { - __current_match = Some((26, __index + __ch.len_utf8())); - __current_state = 58; - continue; - } - 70864 ... 70873 => { - __current_match = Some((26, __index + __ch.len_utf8())); - __current_state = 58; - continue; - } - 71248 ... 71257 => { - __current_match = Some((26, __index + __ch.len_utf8())); - __current_state = 58; - continue; - } - 71360 ... 71369 => { - __current_match = Some((26, __index + __ch.len_utf8())); - __current_state = 58; - continue; - } - 71472 ... 71481 => { - __current_match = Some((26, __index + __ch.len_utf8())); - __current_state = 58; - continue; - } - 71904 ... 71913 => { - __current_match = Some((26, __index + __ch.len_utf8())); - __current_state = 58; - continue; - } - 92768 ... 92777 => { - __current_match = Some((26, __index + __ch.len_utf8())); - __current_state = 58; - continue; - } - 93008 ... 93017 => { - __current_match = Some((26, __index + __ch.len_utf8())); - __current_state = 58; - continue; - } - 120782 ... 120831 => { - __current_match = Some((26, __index + __ch.len_utf8())); - __current_state = 58; - continue; - } - _ => { - return __current_match; - } - } - } - 58 => { - let (__index, __ch) = match __chars.next() { Some(p) => p, None => return __current_match }; - match __ch as u32 { - 48 ... 57 => { - __current_match = Some((26, __index + __ch.len_utf8())); - __current_state = 58; - continue; - } - 1632 ... 1641 => { - __current_match = Some((26, __index + __ch.len_utf8())); - __current_state = 58; - continue; - } - 1776 ... 1785 => { - __current_match = Some((26, __index + __ch.len_utf8())); - __current_state = 58; - continue; - } - 1984 ... 1993 => { - __current_match = Some((26, __index + __ch.len_utf8())); - __current_state = 58; - continue; - } - 2406 ... 2415 => { - __current_match = Some((26, __index + __ch.len_utf8())); - __current_state = 58; - continue; - } - 2534 ... 2543 => { - __current_match = Some((26, __index + __ch.len_utf8())); - __current_state = 58; - continue; - } - 2662 ... 2671 => { - __current_match = Some((26, __index + __ch.len_utf8())); - __current_state = 58; - continue; - } - 2790 ... 2799 => { - __current_match = Some((26, __index + __ch.len_utf8())); - __current_state = 58; - continue; - } - 2918 ... 2927 => { - __current_match = Some((26, __index + __ch.len_utf8())); - __current_state = 58; - continue; - } - 3046 ... 3055 => { - __current_match = Some((26, __index + __ch.len_utf8())); - __current_state = 58; - continue; - } - 3174 ... 3183 => { - __current_match = Some((26, __index + __ch.len_utf8())); - __current_state = 58; - continue; - } - 3302 ... 3311 => { - __current_match = Some((26, __index + __ch.len_utf8())); - __current_state = 58; - continue; - } - 3430 ... 3439 => { - __current_match = Some((26, __index + __ch.len_utf8())); - __current_state = 58; - continue; - } - 3558 ... 3567 => { - __current_match = Some((26, __index + __ch.len_utf8())); - __current_state = 58; - continue; - } - 3664 ... 3673 => { - __current_match = Some((26, __index + __ch.len_utf8())); - __current_state = 58; - continue; - } - 3792 ... 3801 => { - __current_match = Some((26, __index + __ch.len_utf8())); - __current_state = 58; - continue; - } - 3872 ... 3881 => { - __current_match = Some((26, __index + __ch.len_utf8())); - __current_state = 58; - continue; - } - 4160 ... 4169 => { - __current_match = Some((26, __index + __ch.len_utf8())); - __current_state = 58; - continue; - } - 4240 ... 4249 => { - __current_match = Some((26, __index + __ch.len_utf8())); - __current_state = 58; - continue; - } - 6112 ... 6121 => { - __current_match = Some((26, __index + __ch.len_utf8())); - __current_state = 58; - continue; - } - 6160 ... 6169 => { - __current_match = Some((26, __index + __ch.len_utf8())); - __current_state = 58; - continue; - } - 6470 ... 6479 => { - __current_match = Some((26, __index + __ch.len_utf8())); - __current_state = 58; - continue; - } - 6608 ... 6617 => { - __current_match = Some((26, __index + __ch.len_utf8())); - __current_state = 58; - continue; - } - 6784 ... 6793 => { - __current_match = Some((26, __index + __ch.len_utf8())); - __current_state = 58; - continue; - } - 6800 ... 6809 => { - __current_match = Some((26, __index + __ch.len_utf8())); - __current_state = 58; - continue; - } - 6992 ... 7001 => { - __current_match = Some((26, __index + __ch.len_utf8())); - __current_state = 58; - continue; - } - 7088 ... 7097 => { - __current_match = Some((26, __index + __ch.len_utf8())); - __current_state = 58; - continue; - } - 7232 ... 7241 => { - __current_match = Some((26, __index + __ch.len_utf8())); - __current_state = 58; - continue; - } - 7248 ... 7257 => { - __current_match = Some((26, __index + __ch.len_utf8())); - __current_state = 58; - continue; - } - 42528 ... 42537 => { - __current_match = Some((26, __index + __ch.len_utf8())); - __current_state = 58; - continue; - } - 43216 ... 43225 => { - __current_match = Some((26, __index + __ch.len_utf8())); - __current_state = 58; - continue; - } - 43264 ... 43273 => { - __current_match = Some((26, __index + __ch.len_utf8())); - __current_state = 58; - continue; - } - 43472 ... 43481 => { - __current_match = Some((26, __index + __ch.len_utf8())); - __current_state = 58; - continue; - } - 43504 ... 43513 => { - __current_match = Some((26, __index + __ch.len_utf8())); - __current_state = 58; - continue; - } - 43600 ... 43609 => { - __current_match = Some((26, __index + __ch.len_utf8())); - __current_state = 58; - continue; - } - 44016 ... 44025 => { - __current_match = Some((26, __index + __ch.len_utf8())); - __current_state = 58; - continue; - } - 65296 ... 65305 => { - __current_match = Some((26, __index + __ch.len_utf8())); - __current_state = 58; - continue; - } - 66720 ... 66729 => { - __current_match = Some((26, __index + __ch.len_utf8())); - __current_state = 58; - continue; - } - 69734 ... 69743 => { - __current_match = Some((26, __index + __ch.len_utf8())); - __current_state = 58; - continue; - } - 69872 ... 69881 => { - __current_match = Some((26, __index + __ch.len_utf8())); - __current_state = 58; - continue; - } - 69942 ... 69951 => { - __current_match = Some((26, __index + __ch.len_utf8())); - __current_state = 58; - continue; - } - 70096 ... 70105 => { - __current_match = Some((26, __index + __ch.len_utf8())); - __current_state = 58; - continue; - } - 70384 ... 70393 => { - __current_match = Some((26, __index + __ch.len_utf8())); - __current_state = 58; - continue; - } - 70864 ... 70873 => { - __current_match = Some((26, __index + __ch.len_utf8())); - __current_state = 58; - continue; - } - 71248 ... 71257 => { - __current_match = Some((26, __index + __ch.len_utf8())); - __current_state = 58; - continue; - } - 71360 ... 71369 => { - __current_match = Some((26, __index + __ch.len_utf8())); - __current_state = 58; - continue; - } - 71472 ... 71481 => { - __current_match = Some((26, __index + __ch.len_utf8())); - __current_state = 58; - continue; - } - 71904 ... 71913 => { - __current_match = Some((26, __index + __ch.len_utf8())); - __current_state = 58; - continue; - } - 92768 ... 92777 => { - __current_match = Some((26, __index + __ch.len_utf8())); - __current_state = 58; - continue; - } - 93008 ... 93017 => { - __current_match = Some((26, __index + __ch.len_utf8())); - __current_state = 58; - continue; - } - 120782 ... 120831 => { - __current_match = Some((26, __index + __ch.len_utf8())); - __current_state = 58; - continue; - } - _ => { - return __current_match; - } - } - } - 59 => { - let (__index, __ch) = match __chars.next() { Some(p) => p, None => return __current_match }; - match __ch as u32 { - 48 ... 57 => { - __current_match = Some((27, __index + __ch.len_utf8())); - __current_state = 29; - continue; - } - 65 ... 90 => { - __current_match = Some((27, __index + __ch.len_utf8())); - __current_state = 29; - continue; - } - 95 => /* '_' */ { - __current_match = Some((27, __index + 1)); - __current_state = 29; - continue; - } - 97 ... 100 => { - __current_match = Some((27, __index + __ch.len_utf8())); - __current_state = 29; - continue; - } - 101 => /* 'e' */ { - __current_match = Some((27, __index + 1)); - __current_state = 70; - continue; - } - 102 ... 122 => { - __current_match = Some((27, __index + __ch.len_utf8())); - __current_state = 29; - continue; - } - _ => { - return __current_match; - } - } - } - 60 => { - let (__index, __ch) = match __chars.next() { Some(p) => p, None => return __current_match }; - match __ch as u32 { - 48 ... 57 => { - __current_match = Some((27, __index + __ch.len_utf8())); - __current_state = 29; - continue; - } - 65 ... 90 => { - __current_match = Some((27, __index + __ch.len_utf8())); - __current_state = 29; - continue; - } - 95 => /* '_' */ { - __current_match = Some((27, __index + 1)); - __current_state = 29; - continue; - } - 97 ... 115 => { - __current_match = Some((27, __index + __ch.len_utf8())); - __current_state = 29; - continue; - } - 116 => /* 't' */ { - __current_match = Some((27, __index + 1)); - __current_state = 71; - continue; - } - 117 ... 122 => { - __current_match = Some((27, __index + __ch.len_utf8())); - __current_state = 29; - continue; - } - _ => { - return __current_match; - } - } - } - 61 => { - let (__index, __ch) = match __chars.next() { Some(p) => p, None => return __current_match }; - match __ch as u32 { - 48 ... 57 => { - __current_match = Some((27, __index + __ch.len_utf8())); - __current_state = 29; - continue; - } - 65 ... 90 => { - __current_match = Some((27, __index + __ch.len_utf8())); - __current_state = 29; - continue; - } - 95 => /* '_' */ { - __current_match = Some((27, __index + 1)); - __current_state = 29; - continue; - } - 97 ... 113 => { - __current_match = Some((27, __index + __ch.len_utf8())); - __current_state = 29; - continue; - } - 114 => /* 'r' */ { - __current_match = Some((27, __index + 1)); - __current_state = 72; - continue; - } - 115 ... 122 => { - __current_match = Some((27, __index + __ch.len_utf8())); - __current_state = 29; - continue; - } - _ => { - return __current_match; - } - } - } - 62 => { - let (__index, __ch) = match __chars.next() { Some(p) => p, None => return __current_match }; - match __ch as u32 { - 48 ... 57 => { - __current_match = Some((27, __index + __ch.len_utf8())); - __current_state = 29; - continue; - } - 65 ... 90 => { - __current_match = Some((27, __index + __ch.len_utf8())); - __current_state = 29; - continue; - } - 95 => /* '_' */ { - __current_match = Some((27, __index + 1)); - __current_state = 29; - continue; - } - 97 ... 115 => { - __current_match = Some((27, __index + __ch.len_utf8())); - __current_state = 29; - continue; - } - 116 => /* 't' */ { - __current_match = Some((27, __index + 1)); - __current_state = 73; - continue; - } - 117 ... 122 => { - __current_match = Some((27, __index + __ch.len_utf8())); - __current_state = 29; - continue; - } - _ => { - return __current_match; - } - } - } - 63 => { - let (__index, __ch) = match __chars.next() { Some(p) => p, None => return __current_match }; - match __ch as u32 { - 48 ... 57 => { - __current_match = Some((27, __index + __ch.len_utf8())); - __current_state = 29; - continue; - } - 65 ... 90 => { - __current_match = Some((27, __index + __ch.len_utf8())); - __current_state = 29; - continue; - } - 95 => /* '_' */ { - __current_match = Some((27, __index + 1)); - __current_state = 29; - continue; - } - 97 ... 122 => { - __current_match = Some((27, __index + __ch.len_utf8())); - __current_state = 29; - continue; - } - _ => { - return __current_match; - } - } - } - 64 => { - let (__index, __ch) = match __chars.next() { Some(p) => p, None => return __current_match }; - match __ch as u32 { - 48 ... 57 => { - __current_match = Some((27, __index + __ch.len_utf8())); - __current_state = 29; - continue; - } - 65 ... 90 => { - __current_match = Some((27, __index + __ch.len_utf8())); - __current_state = 29; - continue; - } - 95 => /* '_' */ { - __current_match = Some((27, __index + 1)); - __current_state = 29; - continue; - } - 97 ... 115 => { - __current_match = Some((27, __index + __ch.len_utf8())); - __current_state = 29; - continue; - } - 116 => /* 't' */ { - __current_match = Some((18, __index + 1)); - __current_state = 74; - continue; - } - 117 ... 122 => { - __current_match = Some((27, __index + __ch.len_utf8())); - __current_state = 29; - continue; - } - _ => { - return __current_match; - } - } - } - 65 => { - let (__index, __ch) = match __chars.next() { Some(p) => p, None => return __current_match }; - match __ch as u32 { - 48 ... 57 => { - __current_match = Some((27, __index + __ch.len_utf8())); - __current_state = 29; - continue; - } - 65 ... 90 => { - __current_match = Some((27, __index + __ch.len_utf8())); - __current_state = 29; - continue; - } - 95 => /* '_' */ { - __current_match = Some((27, __index + 1)); - __current_state = 29; - continue; - } - 97 ... 107 => { - __current_match = Some((27, __index + __ch.len_utf8())); - __current_state = 29; - continue; - } - 108 => /* 'l' */ { - __current_match = Some((19, __index + 1)); - __current_state = 75; - continue; - } - 109 ... 122 => { - __current_match = Some((27, __index + __ch.len_utf8())); - __current_state = 29; - continue; - } - _ => { - return __current_match; - } - } - } - 66 => { - let (__index, __ch) = match __chars.next() { Some(p) => p, None => return __current_match }; - match __ch as u32 { - 48 ... 57 => { - __current_match = Some((27, __index + __ch.len_utf8())); - __current_state = 29; - continue; - } - 65 ... 90 => { - __current_match = Some((27, __index + __ch.len_utf8())); - __current_state = 29; - continue; - } - 95 => /* '_' */ { - __current_match = Some((27, __index + 1)); - __current_state = 29; - continue; - } - 97 ... 116 => { - __current_match = Some((27, __index + __ch.len_utf8())); - __current_state = 29; - continue; - } - 117 => /* 'u' */ { - __current_match = Some((27, __index + 1)); - __current_state = 76; - continue; - } - 118 ... 122 => { - __current_match = Some((27, __index + __ch.len_utf8())); - __current_state = 29; - continue; - } - _ => { - return __current_match; - } - } - } - 67 => { - let (__index, __ch) = match __chars.next() { Some(p) => p, None => return __current_match }; - match __ch as u32 { - 48 ... 57 => { - __current_match = Some((27, __index + __ch.len_utf8())); - __current_state = 29; - continue; - } - 65 ... 90 => { - __current_match = Some((27, __index + __ch.len_utf8())); - __current_state = 29; - continue; - } - 95 => /* '_' */ { - __current_match = Some((27, __index + 1)); - __current_state = 29; - continue; - } - 97 ... 108 => { - __current_match = Some((27, __index + __ch.len_utf8())); - __current_state = 29; - continue; - } - 109 => /* 'm' */ { - __current_match = Some((27, __index + 1)); - __current_state = 77; - continue; - } - 110 ... 122 => { - __current_match = Some((27, __index + __ch.len_utf8())); - __current_state = 29; - continue; - } - _ => { - return __current_match; - } - } - } - 68 => { - let (__index, __ch) = match __chars.next() { Some(p) => p, None => return __current_match }; - match __ch as u32 { - 48 ... 57 => { - __current_match = Some((27, __index + __ch.len_utf8())); - __current_state = 29; - continue; - } - 65 ... 90 => { - __current_match = Some((27, __index + __ch.len_utf8())); - __current_state = 29; - continue; - } - 95 => /* '_' */ { - __current_match = Some((27, __index + 1)); - __current_state = 29; - continue; - } - 97 => /* 'a' */ { - __current_match = Some((27, __index + 1)); - __current_state = 78; - continue; - } - 98 ... 122 => { - __current_match = Some((27, __index + __ch.len_utf8())); - __current_state = 29; - continue; - } - _ => { - return __current_match; - } - } - } - 69 => { - let (__index, __ch) = match __chars.next() { Some(p) => p, None => return __current_match }; - match __ch as u32 { - 48 ... 57 => { - __current_match = Some((27, __index + __ch.len_utf8())); - __current_state = 29; - continue; - } - 65 ... 90 => { - __current_match = Some((27, __index + __ch.len_utf8())); - __current_state = 29; - continue; - } - 95 => /* '_' */ { - __current_match = Some((27, __index + 1)); - __current_state = 29; - continue; - } - 97 ... 122 => { - __current_match = Some((27, __index + __ch.len_utf8())); - __current_state = 29; - continue; - } - _ => { - return __current_match; - } - } - } - 70 => { - let (__index, __ch) = match __chars.next() { Some(p) => p, None => return __current_match }; - match __ch as u32 { - 48 ... 57 => { - __current_match = Some((27, __index + __ch.len_utf8())); - __current_state = 29; - continue; - } - 65 ... 90 => { - __current_match = Some((27, __index + __ch.len_utf8())); - __current_state = 29; - continue; - } - 95 => /* '_' */ { - __current_match = Some((27, __index + 1)); - __current_state = 29; - continue; - } - 97 ... 98 => { - __current_match = Some((27, __index + __ch.len_utf8())); - __current_state = 29; - continue; - } - 99 => /* 'c' */ { - __current_match = Some((27, __index + 1)); - __current_state = 79; - continue; - } - 100 ... 122 => { - __current_match = Some((27, __index + __ch.len_utf8())); - __current_state = 29; - continue; - } - _ => { - return __current_match; - } - } - } - 71 => { - let (__index, __ch) = match __chars.next() { Some(p) => p, None => return __current_match }; - match __ch as u32 { - 48 ... 57 => { - __current_match = Some((27, __index + __ch.len_utf8())); - __current_state = 29; - continue; - } - 65 ... 90 => { - __current_match = Some((27, __index + __ch.len_utf8())); - __current_state = 29; - continue; - } - 95 => /* '_' */ { - __current_match = Some((27, __index + 1)); - __current_state = 29; - continue; - } - 97 => /* 'a' */ { - __current_match = Some((27, __index + 1)); - __current_state = 80; - continue; - } - 98 ... 122 => { - __current_match = Some((27, __index + __ch.len_utf8())); - __current_state = 29; - continue; - } - _ => { - return __current_match; - } - } - } - 72 => { - let (__index, __ch) = match __chars.next() { Some(p) => p, None => return __current_match }; - match __ch as u32 { - 48 ... 57 => { - __current_match = Some((27, __index + __ch.len_utf8())); - __current_state = 29; - continue; - } - 65 ... 90 => { - __current_match = Some((27, __index + __ch.len_utf8())); - __current_state = 29; - continue; - } - 95 => /* '_' */ { - __current_match = Some((27, __index + 1)); - __current_state = 29; - continue; - } - 97 ... 100 => { - __current_match = Some((27, __index + __ch.len_utf8())); - __current_state = 29; - continue; - } - 101 => /* 'e' */ { - __current_match = Some((27, __index + 1)); - __current_state = 81; - continue; - } - 102 ... 122 => { - __current_match = Some((27, __index + __ch.len_utf8())); - __current_state = 29; - continue; - } - _ => { - return __current_match; - } - } - } - 73 => { - let (__index, __ch) = match __chars.next() { Some(p) => p, None => return __current_match }; - match __ch as u32 { - 48 ... 57 => { - __current_match = Some((27, __index + __ch.len_utf8())); - __current_state = 29; - continue; - } - 65 ... 90 => { - __current_match = Some((27, __index + __ch.len_utf8())); - __current_state = 29; - continue; - } - 95 => /* '_' */ { - __current_match = Some((27, __index + 1)); - __current_state = 29; - continue; - } - 97 ... 104 => { - __current_match = Some((27, __index + __ch.len_utf8())); - __current_state = 29; - continue; - } - 105 => /* 'i' */ { - __current_match = Some((27, __index + 1)); - __current_state = 82; - continue; - } - 106 ... 122 => { - __current_match = Some((27, __index + __ch.len_utf8())); - __current_state = 29; - continue; - } - _ => { - return __current_match; - } - } - } - 74 => { - let (__index, __ch) = match __chars.next() { Some(p) => p, None => return __current_match }; - match __ch as u32 { - 48 ... 57 => { - __current_match = Some((27, __index + __ch.len_utf8())); - __current_state = 29; - continue; - } - 65 ... 90 => { - __current_match = Some((27, __index + __ch.len_utf8())); - __current_state = 29; - continue; - } - 95 => /* '_' */ { - __current_match = Some((27, __index + 1)); - __current_state = 29; - continue; - } - 97 ... 122 => { - __current_match = Some((27, __index + __ch.len_utf8())); - __current_state = 29; - continue; - } - _ => { - return __current_match; - } - } - } - 75 => { - let (__index, __ch) = match __chars.next() { Some(p) => p, None => return __current_match }; - match __ch as u32 { - 48 ... 57 => { - __current_match = Some((27, __index + __ch.len_utf8())); - __current_state = 29; - continue; - } - 65 ... 90 => { - __current_match = Some((27, __index + __ch.len_utf8())); - __current_state = 29; - continue; - } - 95 => /* '_' */ { - __current_match = Some((27, __index + 1)); - __current_state = 29; - continue; - } - 97 ... 122 => { - __current_match = Some((27, __index + __ch.len_utf8())); - __current_state = 29; - continue; - } - _ => { - return __current_match; - } - } - } - 76 => { - let (__index, __ch) = match __chars.next() { Some(p) => p, None => return __current_match }; - match __ch as u32 { - 48 ... 57 => { - __current_match = Some((27, __index + __ch.len_utf8())); - __current_state = 29; - continue; - } - 65 ... 90 => { - __current_match = Some((27, __index + __ch.len_utf8())); - __current_state = 29; - continue; - } - 95 => /* '_' */ { - __current_match = Some((27, __index + 1)); - __current_state = 29; - continue; - } - 97 ... 115 => { - __current_match = Some((27, __index + __ch.len_utf8())); - __current_state = 29; - continue; - } - 116 => /* 't' */ { - __current_match = Some((20, __index + 1)); - __current_state = 83; - continue; - } - 117 ... 122 => { - __current_match = Some((27, __index + __ch.len_utf8())); - __current_state = 29; - continue; - } - _ => { - return __current_match; - } - } - } - 77 => { - let (__index, __ch) = match __chars.next() { Some(p) => p, None => return __current_match }; - match __ch as u32 { - 48 ... 57 => { - __current_match = Some((27, __index + __ch.len_utf8())); - __current_state = 29; - continue; - } - 65 ... 90 => { - __current_match = Some((27, __index + __ch.len_utf8())); - __current_state = 29; - continue; - } - 95 => /* '_' */ { - __current_match = Some((27, __index + 1)); - __current_state = 29; - continue; - } - 97 ... 100 => { - __current_match = Some((27, __index + __ch.len_utf8())); - __current_state = 29; - continue; - } - 101 => /* 'e' */ { - __current_match = Some((27, __index + 1)); - __current_state = 84; - continue; - } - 102 ... 122 => { - __current_match = Some((27, __index + __ch.len_utf8())); - __current_state = 29; - continue; - } - _ => { - return __current_match; - } - } - } - 78 => { - let (__index, __ch) = match __chars.next() { Some(p) => p, None => return __current_match }; - match __ch as u32 { - 48 ... 57 => { - __current_match = Some((27, __index + __ch.len_utf8())); - __current_state = 29; - continue; - } - 65 ... 90 => { - __current_match = Some((27, __index + __ch.len_utf8())); - __current_state = 29; - continue; - } - 95 => /* '_' */ { - __current_match = Some((27, __index + 1)); - __current_state = 29; - continue; - } - 97 ... 108 => { - __current_match = Some((27, __index + __ch.len_utf8())); - __current_state = 29; - continue; - } - 109 => /* 'm' */ { - __current_match = Some((22, __index + 1)); - __current_state = 85; - continue; - } - 110 ... 122 => { - __current_match = Some((27, __index + __ch.len_utf8())); - __current_state = 29; - continue; - } - _ => { - return __current_match; - } - } - } - 79 => { - let (__index, __ch) = match __chars.next() { Some(p) => p, None => return __current_match }; - match __ch as u32 { - 48 ... 57 => { - __current_match = Some((27, __index + __ch.len_utf8())); - __current_state = 29; - continue; - } - 65 ... 90 => { - __current_match = Some((27, __index + __ch.len_utf8())); - __current_state = 29; - continue; - } - 95 => /* '_' */ { - __current_match = Some((27, __index + 1)); - __current_state = 29; - continue; - } - 97 ... 115 => { - __current_match = Some((27, __index + __ch.len_utf8())); - __current_state = 29; - continue; - } - 116 => /* 't' */ { - __current_match = Some((11, __index + 1)); - __current_state = 86; - continue; - } - 117 ... 122 => { - __current_match = Some((27, __index + __ch.len_utf8())); - __current_state = 29; - continue; - } - _ => { - return __current_match; - } - } - } - 80 => { - let (__index, __ch) = match __chars.next() { Some(p) => p, None => return __current_match }; - match __ch as u32 { - 48 ... 57 => { - __current_match = Some((27, __index + __ch.len_utf8())); - __current_state = 29; - continue; - } - 65 ... 90 => { - __current_match = Some((27, __index + __ch.len_utf8())); - __current_state = 29; - continue; - } - 95 => /* '_' */ { - __current_match = Some((27, __index + 1)); - __current_state = 29; - continue; - } - 97 ... 109 => { - __current_match = Some((27, __index + __ch.len_utf8())); - __current_state = 29; - continue; - } - 110 => /* 'n' */ { - __current_match = Some((27, __index + 1)); - __current_state = 87; - continue; - } - 111 ... 122 => { - __current_match = Some((27, __index + __ch.len_utf8())); - __current_state = 29; - continue; - } - _ => { - return __current_match; - } - } - } - 81 => { - let (__index, __ch) = match __chars.next() { Some(p) => p, None => return __current_match }; - match __ch as u32 { - 48 ... 57 => { - __current_match = Some((27, __index + __ch.len_utf8())); - __current_state = 29; - continue; - } - 65 ... 90 => { - __current_match = Some((27, __index + __ch.len_utf8())); - __current_state = 29; - continue; - } - 95 => /* '_' */ { - __current_match = Some((27, __index + 1)); - __current_state = 29; - continue; - } - 97 ... 115 => { - __current_match = Some((27, __index + __ch.len_utf8())); - __current_state = 29; - continue; - } - 116 => /* 't' */ { - __current_match = Some((27, __index + 1)); - __current_state = 88; - continue; - } - 117 ... 122 => { - __current_match = Some((27, __index + __ch.len_utf8())); - __current_state = 29; - continue; - } - _ => { - return __current_match; - } - } - } - 82 => { - let (__index, __ch) = match __chars.next() { Some(p) => p, None => return __current_match }; - match __ch as u32 { - 48 ... 57 => { - __current_match = Some((27, __index + __ch.len_utf8())); - __current_state = 29; - continue; - } - 65 ... 90 => { - __current_match = Some((27, __index + __ch.len_utf8())); - __current_state = 29; - continue; - } - 95 => /* '_' */ { - __current_match = Some((27, __index + 1)); - __current_state = 29; - continue; - } - 97 ... 110 => { - __current_match = Some((27, __index + __ch.len_utf8())); - __current_state = 29; - continue; - } - 111 => /* 'o' */ { - __current_match = Some((27, __index + 1)); - __current_state = 89; - continue; - } - 112 ... 122 => { - __current_match = Some((27, __index + __ch.len_utf8())); - __current_state = 29; - continue; - } - _ => { - return __current_match; - } - } - } - 83 => { - let (__index, __ch) = match __chars.next() { Some(p) => p, None => return __current_match }; - match __ch as u32 { - 48 ... 57 => { - __current_match = Some((27, __index + __ch.len_utf8())); - __current_state = 29; - continue; - } - 65 ... 90 => { - __current_match = Some((27, __index + __ch.len_utf8())); - __current_state = 29; - continue; - } - 95 => /* '_' */ { - __current_match = Some((27, __index + 1)); - __current_state = 29; - continue; - } - 97 ... 122 => { - __current_match = Some((27, __index + __ch.len_utf8())); - __current_state = 29; - continue; - } - _ => { - return __current_match; - } - } - } - 84 => { - let (__index, __ch) = match __chars.next() { Some(p) => p, None => return __current_match }; - match __ch as u32 { - 48 ... 57 => { - __current_match = Some((27, __index + __ch.len_utf8())); - __current_state = 29; - continue; - } - 65 ... 90 => { - __current_match = Some((27, __index + __ch.len_utf8())); - __current_state = 29; - continue; - } - 95 => /* '_' */ { - __current_match = Some((27, __index + 1)); - __current_state = 29; - continue; - } - 97 ... 115 => { - __current_match = Some((27, __index + __ch.len_utf8())); - __current_state = 29; - continue; - } - 116 => /* 't' */ { - __current_match = Some((27, __index + 1)); - __current_state = 90; - continue; - } - 117 ... 122 => { - __current_match = Some((27, __index + __ch.len_utf8())); - __current_state = 29; - continue; - } - _ => { - return __current_match; - } - } - } - 85 => { - let (__index, __ch) = match __chars.next() { Some(p) => p, None => return __current_match }; - match __ch as u32 { - 48 ... 57 => { - __current_match = Some((27, __index + __ch.len_utf8())); - __current_state = 29; - continue; - } - 65 ... 90 => { - __current_match = Some((27, __index + __ch.len_utf8())); - __current_state = 29; - continue; - } - 95 => /* '_' */ { - __current_match = Some((27, __index + 1)); - __current_state = 29; - continue; - } - 97 ... 122 => { - __current_match = Some((27, __index + __ch.len_utf8())); - __current_state = 29; - continue; - } - _ => { - return __current_match; - } - } - } - 86 => { - let (__index, __ch) = match __chars.next() { Some(p) => p, None => return __current_match }; - match __ch as u32 { - 48 ... 57 => { - __current_match = Some((27, __index + __ch.len_utf8())); - __current_state = 29; - continue; - } - 65 ... 90 => { - __current_match = Some((27, __index + __ch.len_utf8())); - __current_state = 29; - continue; - } - 95 => /* '_' */ { - __current_match = Some((27, __index + 1)); - __current_state = 29; - continue; - } - 97 ... 122 => { - __current_match = Some((27, __index + __ch.len_utf8())); - __current_state = 29; - continue; - } - _ => { - return __current_match; - } - } - } - 87 => { - let (__index, __ch) = match __chars.next() { Some(p) => p, None => return __current_match }; - match __ch as u32 { - 48 ... 57 => { - __current_match = Some((27, __index + __ch.len_utf8())); - __current_state = 29; - continue; - } - 65 ... 90 => { - __current_match = Some((27, __index + __ch.len_utf8())); - __current_state = 29; - continue; - } - 95 => /* '_' */ { - __current_match = Some((27, __index + 1)); - __current_state = 29; - continue; - } - 97 ... 115 => { - __current_match = Some((27, __index + __ch.len_utf8())); - __current_state = 29; - continue; - } - 116 => /* 't' */ { - __current_match = Some((12, __index + 1)); - __current_state = 91; - continue; - } - 117 ... 122 => { - __current_match = Some((27, __index + __ch.len_utf8())); - __current_state = 29; - continue; - } - _ => { - return __current_match; - } - } - } - 88 => { - let (__index, __ch) = match __chars.next() { Some(p) => p, None => return __current_match }; - match __ch as u32 { - 48 ... 57 => { - __current_match = Some((27, __index + __ch.len_utf8())); - __current_state = 29; - continue; - } - 65 ... 90 => { - __current_match = Some((27, __index + __ch.len_utf8())); - __current_state = 29; - continue; - } - 95 => /* '_' */ { - __current_match = Some((27, __index + 1)); - __current_state = 29; - continue; - } - 97 ... 100 => { - __current_match = Some((27, __index + __ch.len_utf8())); - __current_state = 29; - continue; - } - 101 => /* 'e' */ { - __current_match = Some((14, __index + 1)); - __current_state = 92; - continue; - } - 102 ... 122 => { - __current_match = Some((27, __index + __ch.len_utf8())); - __current_state = 29; - continue; - } - _ => { - return __current_match; - } - } - } - 89 => { - let (__index, __ch) = match __chars.next() { Some(p) => p, None => return __current_match }; - match __ch as u32 { - 48 ... 57 => { - __current_match = Some((27, __index + __ch.len_utf8())); - __current_state = 29; - continue; - } - 65 ... 90 => { - __current_match = Some((27, __index + __ch.len_utf8())); - __current_state = 29; - continue; - } - 95 => /* '_' */ { - __current_match = Some((27, __index + 1)); - __current_state = 29; - continue; - } - 97 ... 109 => { - __current_match = Some((27, __index + __ch.len_utf8())); - __current_state = 29; - continue; - } - 110 => /* 'n' */ { - __current_match = Some((16, __index + 1)); - __current_state = 93; - continue; - } - 111 ... 122 => { - __current_match = Some((27, __index + __ch.len_utf8())); - __current_state = 29; - continue; - } - _ => { - return __current_match; - } - } - } - 90 => { - let (__index, __ch) = match __chars.next() { Some(p) => p, None => return __current_match }; - match __ch as u32 { - 48 ... 57 => { - __current_match = Some((27, __index + __ch.len_utf8())); - __current_state = 29; - continue; - } - 65 ... 90 => { - __current_match = Some((27, __index + __ch.len_utf8())); - __current_state = 29; - continue; - } - 95 => /* '_' */ { - __current_match = Some((27, __index + 1)); - __current_state = 29; - continue; - } - 97 ... 100 => { - __current_match = Some((27, __index + __ch.len_utf8())); - __current_state = 29; - continue; - } - 101 => /* 'e' */ { - __current_match = Some((27, __index + 1)); - __current_state = 94; - continue; - } - 102 ... 122 => { - __current_match = Some((27, __index + __ch.len_utf8())); - __current_state = 29; - continue; - } - _ => { - return __current_match; - } - } - } - 91 => { - let (__index, __ch) = match __chars.next() { Some(p) => p, None => return __current_match }; - match __ch as u32 { - 48 ... 57 => { - __current_match = Some((27, __index + __ch.len_utf8())); - __current_state = 29; - continue; - } - 65 ... 90 => { - __current_match = Some((27, __index + __ch.len_utf8())); - __current_state = 29; - continue; - } - 95 => /* '_' */ { - __current_match = Some((27, __index + 1)); - __current_state = 29; - continue; - } - 97 ... 122 => { - __current_match = Some((27, __index + __ch.len_utf8())); - __current_state = 29; - continue; - } - _ => { - return __current_match; - } - } - } - 92 => { - let (__index, __ch) = match __chars.next() { Some(p) => p, None => return __current_match }; - match __ch as u32 { - 48 ... 57 => { - __current_match = Some((27, __index + __ch.len_utf8())); - __current_state = 29; - continue; - } - 65 ... 90 => { - __current_match = Some((27, __index + __ch.len_utf8())); - __current_state = 29; - continue; - } - 95 => /* '_' */ { - __current_match = Some((27, __index + 1)); - __current_state = 29; - continue; - } - 97 ... 122 => { - __current_match = Some((27, __index + __ch.len_utf8())); - __current_state = 29; - continue; - } - _ => { - return __current_match; - } - } - } - 93 => { - let (__index, __ch) = match __chars.next() { Some(p) => p, None => return __current_match }; - match __ch as u32 { - 48 ... 57 => { - __current_match = Some((27, __index + __ch.len_utf8())); - __current_state = 29; - continue; - } - 65 ... 90 => { - __current_match = Some((27, __index + __ch.len_utf8())); - __current_state = 29; - continue; - } - 95 => /* '_' */ { - __current_match = Some((27, __index + 1)); - __current_state = 29; - continue; - } - 97 ... 122 => { - __current_match = Some((27, __index + __ch.len_utf8())); - __current_state = 29; - continue; - } - _ => { - return __current_match; - } - } - } - 94 => { - let (__index, __ch) = match __chars.next() { Some(p) => p, None => return __current_match }; - match __ch as u32 { - 48 ... 57 => { - __current_match = Some((27, __index + __ch.len_utf8())); - __current_state = 29; - continue; - } - 65 ... 90 => { - __current_match = Some((27, __index + __ch.len_utf8())); - __current_state = 29; - continue; - } - 95 => /* '_' */ { - __current_match = Some((27, __index + 1)); - __current_state = 29; - continue; - } - 97 ... 113 => { - __current_match = Some((27, __index + __ch.len_utf8())); - __current_state = 29; - continue; - } - 114 => /* 'r' */ { - __current_match = Some((21, __index + 1)); - __current_state = 95; - continue; - } - 115 ... 122 => { - __current_match = Some((27, __index + __ch.len_utf8())); - __current_state = 29; - continue; - } - _ => { - return __current_match; - } - } - } - 95 => { - let (__index, __ch) = match __chars.next() { Some(p) => p, None => return __current_match }; - match __ch as u32 { - 48 ... 57 => { - __current_match = Some((27, __index + __ch.len_utf8())); - __current_state = 29; - continue; - } - 65 ... 90 => { - __current_match = Some((27, __index + __ch.len_utf8())); - __current_state = 29; - continue; - } - 95 => /* '_' */ { - __current_match = Some((27, __index + 1)); - __current_state = 29; - continue; - } - 97 ... 122 => { - __current_match = Some((27, __index + __ch.len_utf8())); - __current_state = 29; - continue; - } - _ => { - return __current_match; - } - } - } - _ => { panic!("invalid state {}", __current_state); } - } - } - } - - impl<'input> __Matcher<'input> { - pub fn new(s: &'input str) -> __Matcher<'input> { - __Matcher { text: s, consumed: 0 } - } - } - - impl<'input> Iterator for __Matcher<'input> { - type Item = Result<(usize, (usize, &'input str), usize), __lalrpop_util::ParseError>; - - fn next(&mut self) -> Option { - 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 { - match __tokenize(__text) { - Some((__index, __length)) => { - let __result = &__text[..__length]; - let __remaining = &__text[__length..]; - let __end_offset = __start_offset + __length; - self.text = __remaining; - self.consumed = __end_offset; - Some(Ok((__start_offset, (__index, __result), __end_offset))) - } - None => { - Some(Err(__lalrpop_util::ParseError::InvalidToken { location: __start_offset })) - } - } - } - } - } -} - -#[allow(unused_variables)] -pub fn __action0< - 'input, ->( - input: &'input str, - (_, __0, _): (usize, String, usize), -) -> String -{ - (__0) -} - -#[allow(unused_variables)] -pub fn __action1< - 'input, ->( - input: &'input str, - (_, __0, _): (usize, i64, usize), -) -> i64 -{ - (__0) -} - -#[allow(unused_variables)] -pub fn __action2< - 'input, ->( - input: &'input str, - (_, __0, _): (usize, f64, usize), -) -> f64 -{ - (__0) -} - -#[allow(unused_variables)] -pub fn __action3< - 'input, ->( - input: &'input str, - (_, __0, _): (usize, ModelicaModel, usize), -) -> ModelicaModel -{ - (__0) -} - -#[allow(unused_variables)] -pub fn __action4< - 'input, ->( - input: &'input str, - (_, __0, _): (usize, &'input str, usize), -) -> String -{ - __0.to_string() -} - -#[allow(unused_variables)] -pub fn __action5< - 'input, ->( - input: &'input str, - (_, __0, _): (usize, &'input str, usize), -) -> String -{ - __0.to_string() -} - -#[allow(unused_variables)] -pub fn __action6< - 'input, ->( - input: &'input str, - (_, __0, _): (usize, &'input str, usize), -) -> i64 -{ - i64::from_str(__0).unwrap() -} - -#[allow(unused_variables)] -pub fn __action7< - 'input, ->( - input: &'input str, - (_, __0, _): (usize, &'input str, usize), -) -> f64 -{ - f64::from_str(__0).unwrap() -} - -#[allow(unused_variables)] -pub fn __action8< - 'input, ->( - input: &'input str, - (_, _, _): (usize, &'input str, usize), - (_, n, _): (usize, String, usize), - (_, cd, _): (usize, ::std::vec::Vec, usize), - (_, _, _): (usize, &'input str, usize), - (_, cc, _): (usize, ::std::vec::Vec, usize), - (_, se, _): (usize, ::std::vec::Vec, usize), - (_, _, _): (usize, &'input str, usize), - (_, _, _): (usize, String, usize), - (_, _, _): (usize, &'input str, usize), -) -> ModelicaModel -{ - ModelicaModel { name:n, components: cd, connections: cc, equations: se, extends: vec![] } -} - -#[allow(unused_variables)] -pub fn __action9< - 'input, ->( - input: &'input str, - (_, _, _): (usize, &'input str, usize), - (_, value, _): (usize, Expr, usize), -) -> Expr -{ - value -} - -#[allow(unused_variables)] -pub fn __action10< - 'input, ->( - input: &'input str, - (_, _, _): (usize, &'input str, usize), - (_, _, _): (usize, &'input str, usize), - (_, _, _): (usize, &'input str, usize), - (_, units, _): (usize, String, usize), - (_, _, _): (usize, &'input str, usize), -) -> String -{ - units -} - -#[allow(unused_variables)] -pub fn __action11< - 'input, ->( - input: &'input str, - (_, prefix, _): (usize, ::std::option::Option, usize), - (_, specifier, _): (usize, String, usize), - (_, name, _): (usize, String, usize), - (_, units, _): (usize, ::std::option::Option, usize), - (_, value, _): (usize, ::std::option::Option, usize), - (_, desc, _): (usize, ::std::option::Option, usize), - (_, _, _): (usize, &'input str, usize), -) -> Component -{ - Component { prefix:prefix, specifier:specifier, name:name, description:desc, value:value, units:units } -} - -#[allow(unused_variables)] -pub fn __action12< - 'input, ->( - input: &'input str, - (_, __0, _): (usize, &'input str, usize), -) -> ComponentPrefix -{ - ComponentPrefix::Flow -} - -#[allow(unused_variables)] -pub fn __action13< - 'input, ->( - input: &'input str, - (_, __0, _): (usize, &'input str, usize), -) -> ComponentPrefix -{ - ComponentPrefix::Stream -} - -#[allow(unused_variables)] -pub fn __action14< - 'input, ->( - input: &'input str, - (_, __0, _): (usize, &'input str, usize), -) -> ComponentPrefix -{ - ComponentPrefix::Input -} - -#[allow(unused_variables)] -pub fn __action15< - 'input, ->( - input: &'input str, - (_, __0, _): (usize, &'input str, usize), -) -> ComponentPrefix -{ - ComponentPrefix::Output -} - -#[allow(unused_variables)] -pub fn __action16< - 'input, ->( - input: &'input str, - (_, __0, _): (usize, &'input str, usize), -) -> ComponentPrefix -{ - ComponentPrefix::Discrete -} - -#[allow(unused_variables)] -pub fn __action17< - 'input, ->( - input: &'input str, - (_, __0, _): (usize, &'input str, usize), -) -> ComponentPrefix -{ - ComponentPrefix::Parameter -} - -#[allow(unused_variables)] -pub fn __action18< - 'input, ->( - input: &'input str, - (_, __0, _): (usize, &'input str, usize), -) -> ComponentPrefix -{ - ComponentPrefix::Constant -} - -#[allow(unused_variables)] -pub fn __action19< - 'input, ->( - input: &'input str, - (_, lhs, _): (usize, Expr, usize), - (_, _, _): (usize, &'input str, usize), - (_, rhs, _): (usize, Expr, usize), - (_, _, _): (usize, &'input str, usize), -) -> SimpleEquation -{ - SimpleEquation {lhs:lhs, rhs:rhs} -} - -#[allow(unused_variables)] -pub fn __action20< - 'input, ->( - input: &'input str, - (_, _, _): (usize, &'input str, usize), - (_, _, _): (usize, &'input str, usize), - (_, a, _): (usize, String, usize), - (_, _, _): (usize, &'input str, usize), - (_, b, _): (usize, String, usize), - (_, _, _): (usize, &'input str, usize), - (_, _, _): (usize, &'input str, usize), -) -> Connection -{ - Connection { a: a.to_string(), b: b.to_string()} -} - -#[allow(unused_variables)] -pub fn __action21< - 'input, ->( - input: &'input str, - (_, lhs, _): (usize, Expr, usize), - (_, _, _): (usize, &'input str, usize), - (_, rhs, _): (usize, Expr, usize), -) -> Expr -{ - Expr::BinExpr(BinOperator::Add, Box::new(lhs), Box::new(rhs)) -} - -#[allow(unused_variables)] -pub fn __action22< - 'input, ->( - input: &'input str, - (_, lhs, _): (usize, Expr, usize), - (_, _, _): (usize, &'input str, usize), - (_, rhs, _): (usize, Expr, usize), -) -> Expr -{ - Expr::BinExpr(BinOperator::Subtract, Box::new(lhs), Box::new(rhs)) -} - -#[allow(unused_variables)] -pub fn __action23< - 'input, ->( - input: &'input str, - (_, __0, _): (usize, Expr, usize), -) -> Expr -{ - (__0) -} - -#[allow(unused_variables)] -pub fn __action24< - 'input, ->( - input: &'input str, - (_, lhs, _): (usize, Expr, usize), - (_, _, _): (usize, &'input str, usize), - (_, rhs, _): (usize, Expr, usize), -) -> Expr -{ - Expr::BinExpr(BinOperator::Multiply, Box::new(lhs), Box::new(rhs)) -} - -#[allow(unused_variables)] -pub fn __action25< - 'input, ->( - input: &'input str, - (_, lhs, _): (usize, Expr, usize), - (_, _, _): (usize, &'input str, usize), - (_, rhs, _): (usize, Expr, usize), -) -> Expr -{ - Expr::BinExpr(BinOperator::Divide, Box::new(lhs), Box::new(rhs)) -} - -#[allow(unused_variables)] -pub fn __action26< - 'input, ->( - input: &'input str, - (_, lhs, _): (usize, Expr, usize), - (_, _, _): (usize, &'input str, usize), - (_, rhs, _): (usize, Expr, usize), -) -> Expr -{ - Expr::BinExpr(BinOperator::Divide, Box::new(lhs), Box::new(rhs)) -} - -#[allow(unused_variables)] -pub fn __action27< - 'input, ->( - input: &'input str, - (_, _, _): (usize, &'input str, usize), - (_, t, _): (usize, Expr, usize), -) -> Expr -{ - Expr::BinExpr(BinOperator::Multiply, Box::new(Expr::Integer(-1)), Box::new(t)) -} - -#[allow(unused_variables)] -pub fn __action28< - 'input, ->( - input: &'input str, - (_, __0, _): (usize, Expr, usize), -) -> Expr -{ - (__0) -} - -#[allow(unused_variables)] -pub fn __action29< - 'input, ->( - input: &'input str, - (_, __0, _): (usize, i64, usize), -) -> Expr -{ - Expr::Integer(__0) -} - -#[allow(unused_variables)] -pub fn __action30< - 'input, ->( - input: &'input str, - (_, __0, _): (usize, f64, usize), -) -> Expr -{ - Expr::Float(__0) -} - -#[allow(unused_variables)] -pub fn __action31< - 'input, ->( - input: &'input str, - (_, __0, _): (usize, String, usize), -) -> Expr -{ - Expr::Ident(__0) -} - -#[allow(unused_variables)] -pub fn __action32< - 'input, ->( - input: &'input str, - (_, _, _): (usize, &'input str, usize), - (_, _, _): (usize, &'input str, usize), - (_, e, _): (usize, Expr, usize), - (_, _, _): (usize, &'input str, usize), -) -> Expr -{ - Expr::Der(Box::new(e)) -} - -#[allow(unused_variables)] -pub fn __action33< - 'input, ->( - input: &'input str, - (_, _, _): (usize, &'input str, usize), - (_, _, _): (usize, &'input str, usize), - (_, e, _): (usize, Expr, usize), - (_, _, _): (usize, &'input str, usize), -) -> Expr -{ - Expr::Abs(Box::new(e)) -} - -#[allow(unused_variables)] -pub fn __action34< - 'input, ->( - input: &'input str, - (_, _, _): (usize, &'input str, usize), - (_, e, _): (usize, Expr, usize), - (_, _, _): (usize, &'input str, usize), -) -> Expr -{ - e -} - -#[allow(unused_variables)] -pub fn __action35< - 'input, ->( - input: &'input str, - (_, __0, _): (usize, String, usize), -) -> ::std::option::Option -{ - Some(__0) -} - -#[allow(unused_variables)] -pub fn __action36< - 'input, ->( - input: &'input str, - __lookbehind: &usize, - __lookahead: &usize, -) -> ::std::option::Option -{ - None -} - -#[allow(unused_variables)] -pub fn __action37< - 'input, ->( - input: &'input str, - (_, __0, _): (usize, Expr, usize), -) -> ::std::option::Option -{ - Some(__0) -} - -#[allow(unused_variables)] -pub fn __action38< - 'input, ->( - input: &'input str, - __lookbehind: &usize, - __lookahead: &usize, -) -> ::std::option::Option -{ - None -} - -#[allow(unused_variables)] -pub fn __action39< - 'input, ->( - input: &'input str, - (_, __0, _): (usize, String, usize), -) -> ::std::option::Option -{ - Some(__0) -} - -#[allow(unused_variables)] -pub fn __action40< - 'input, ->( - input: &'input str, - __lookbehind: &usize, - __lookahead: &usize, -) -> ::std::option::Option -{ - None -} - -#[allow(unused_variables)] -pub fn __action41< - 'input, ->( - input: &'input str, - (_, __0, _): (usize, ComponentPrefix, usize), -) -> ::std::option::Option -{ - Some(__0) -} - -#[allow(unused_variables)] -pub fn __action42< - 'input, ->( - input: &'input str, - __lookbehind: &usize, - __lookahead: &usize, -) -> ::std::option::Option -{ - None -} - -#[allow(unused_variables)] -pub fn __action43< - 'input, ->( - input: &'input str, - __lookbehind: &usize, - __lookahead: &usize, -) -> ::std::vec::Vec -{ - vec![] -} - -#[allow(unused_variables)] -pub fn __action44< - 'input, ->( - input: &'input str, - (_, v, _): (usize, ::std::vec::Vec, usize), -) -> ::std::vec::Vec -{ - v -} - -#[allow(unused_variables)] -pub fn __action45< - 'input, ->( - input: &'input str, - __lookbehind: &usize, - __lookahead: &usize, -) -> ::std::vec::Vec -{ - vec![] -} - -#[allow(unused_variables)] -pub fn __action46< - 'input, ->( - input: &'input str, - (_, v, _): (usize, ::std::vec::Vec, usize), -) -> ::std::vec::Vec -{ - v -} - -#[allow(unused_variables)] -pub fn __action47< - 'input, ->( - input: &'input str, - __lookbehind: &usize, - __lookahead: &usize, -) -> ::std::vec::Vec -{ - vec![] -} - -#[allow(unused_variables)] -pub fn __action48< - 'input, ->( - input: &'input str, - (_, v, _): (usize, ::std::vec::Vec, usize), -) -> ::std::vec::Vec -{ - v -} - -#[allow(unused_variables)] -pub fn __action49< - 'input, ->( - input: &'input str, - (_, __0, _): (usize, Component, usize), -) -> ::std::vec::Vec -{ - vec![__0] -} - -#[allow(unused_variables)] -pub fn __action50< - 'input, ->( - input: &'input str, - (_, v, _): (usize, ::std::vec::Vec, usize), - (_, e, _): (usize, Component, usize), -) -> ::std::vec::Vec -{ - { let mut v = v; v.push(e); v } -} - -#[allow(unused_variables)] -pub fn __action51< - 'input, ->( - input: &'input str, - (_, __0, _): (usize, Connection, usize), -) -> ::std::vec::Vec -{ - vec![__0] -} - -#[allow(unused_variables)] -pub fn __action52< - 'input, ->( - input: &'input str, - (_, v, _): (usize, ::std::vec::Vec, usize), - (_, e, _): (usize, Connection, usize), -) -> ::std::vec::Vec -{ - { let mut v = v; v.push(e); v } -} - -#[allow(unused_variables)] -pub fn __action53< - 'input, ->( - input: &'input str, - (_, __0, _): (usize, SimpleEquation, usize), -) -> ::std::vec::Vec -{ - vec![__0] -} - -#[allow(unused_variables)] -pub fn __action54< - 'input, ->( - input: &'input str, - (_, v, _): (usize, ::std::vec::Vec, usize), - (_, e, _): (usize, SimpleEquation, usize), -) -> ::std::vec::Vec -{ - { let mut v = v; v.push(e); v } -} - -#[allow(unused_variables)] -pub fn __action55< - 'input, ->( - input: &'input str, - __0: (usize, &'input str, usize), - __1: (usize, String, usize), - __2: (usize, &'input str, usize), - __3: (usize, ::std::vec::Vec, usize), - __4: (usize, ::std::vec::Vec, usize), - __5: (usize, &'input str, usize), - __6: (usize, String, usize), - __7: (usize, &'input str, usize), -) -> ModelicaModel -{ - let __start0 = __1.2.clone(); - let __end0 = __2.0.clone(); - let __temp0 = __action47( - input, - &__start0, - &__end0, - ); - let __temp0 = (__start0, __temp0, __end0); - __action8( - input, - __0, - __1, - __temp0, - __2, - __3, - __4, - __5, - __6, - __7, - ) -} - -#[allow(unused_variables)] -pub fn __action56< - 'input, ->( - input: &'input str, - __0: (usize, &'input str, usize), - __1: (usize, String, usize), - __2: (usize, ::std::vec::Vec, usize), - __3: (usize, &'input str, usize), - __4: (usize, ::std::vec::Vec, usize), - __5: (usize, ::std::vec::Vec, usize), - __6: (usize, &'input str, usize), - __7: (usize, String, usize), - __8: (usize, &'input str, usize), -) -> ModelicaModel -{ - let __start0 = __2.0.clone(); - let __end0 = __2.2.clone(); - let __temp0 = __action48( - input, - __2, - ); - let __temp0 = (__start0, __temp0, __end0); - __action8( - input, - __0, - __1, - __temp0, - __3, - __4, - __5, - __6, - __7, - __8, - ) -} - -#[allow(unused_variables)] -pub fn __action57< - 'input, ->( - input: &'input str, - __0: (usize, ComponentPrefix, usize), - __1: (usize, String, usize), - __2: (usize, String, usize), - __3: (usize, ::std::option::Option, usize), - __4: (usize, ::std::option::Option, usize), - __5: (usize, ::std::option::Option, usize), - __6: (usize, &'input str, usize), -) -> Component -{ - let __start0 = __0.0.clone(); - let __end0 = __0.2.clone(); - let __temp0 = __action41( - input, - __0, - ); - let __temp0 = (__start0, __temp0, __end0); - __action11( - input, - __temp0, - __1, - __2, - __3, - __4, - __5, - __6, - ) -} - -#[allow(unused_variables)] -pub fn __action58< - 'input, ->( - input: &'input str, - __0: (usize, String, usize), - __1: (usize, String, usize), - __2: (usize, ::std::option::Option, usize), - __3: (usize, ::std::option::Option, usize), - __4: (usize, ::std::option::Option, usize), - __5: (usize, &'input str, usize), -) -> Component -{ - let __start0 = __0.0.clone(); - let __end0 = __0.0.clone(); - let __temp0 = __action42( - input, - &__start0, - &__end0, - ); - let __temp0 = (__start0, __temp0, __end0); - __action11( - input, - __temp0, - __0, - __1, - __2, - __3, - __4, - __5, - ) -} - -#[allow(unused_variables)] -pub fn __action59< - 'input, ->( - input: &'input str, - __0: (usize, &'input str, usize), - __1: (usize, String, usize), - __2: (usize, &'input str, usize), - __3: (usize, ::std::vec::Vec, usize), - __4: (usize, &'input str, usize), - __5: (usize, String, usize), - __6: (usize, &'input str, usize), -) -> ModelicaModel -{ - let __start0 = __2.2.clone(); - let __end0 = __3.0.clone(); - let __temp0 = __action45( - input, - &__start0, - &__end0, - ); - let __temp0 = (__start0, __temp0, __end0); - __action55( - input, - __0, - __1, - __2, - __temp0, - __3, - __4, - __5, - __6, - ) -} - -#[allow(unused_variables)] -pub fn __action60< - 'input, ->( - input: &'input str, - __0: (usize, &'input str, usize), - __1: (usize, String, usize), - __2: (usize, &'input str, usize), - __3: (usize, ::std::vec::Vec, usize), - __4: (usize, ::std::vec::Vec, usize), - __5: (usize, &'input str, usize), - __6: (usize, String, usize), - __7: (usize, &'input str, usize), -) -> ModelicaModel -{ - let __start0 = __3.0.clone(); - let __end0 = __3.2.clone(); - let __temp0 = __action46( - input, - __3, - ); - let __temp0 = (__start0, __temp0, __end0); - __action55( - input, - __0, - __1, - __2, - __temp0, - __4, - __5, - __6, - __7, - ) -} - -#[allow(unused_variables)] -pub fn __action61< - 'input, ->( - input: &'input str, - __0: (usize, &'input str, usize), - __1: (usize, String, usize), - __2: (usize, ::std::vec::Vec, usize), - __3: (usize, &'input str, usize), - __4: (usize, ::std::vec::Vec, usize), - __5: (usize, &'input str, usize), - __6: (usize, String, usize), - __7: (usize, &'input str, usize), -) -> ModelicaModel -{ - let __start0 = __3.2.clone(); - let __end0 = __4.0.clone(); - let __temp0 = __action45( - input, - &__start0, - &__end0, - ); - let __temp0 = (__start0, __temp0, __end0); - __action56( - input, - __0, - __1, - __2, - __3, - __temp0, - __4, - __5, - __6, - __7, - ) -} - -#[allow(unused_variables)] -pub fn __action62< - 'input, ->( - input: &'input str, - __0: (usize, &'input str, usize), - __1: (usize, String, usize), - __2: (usize, ::std::vec::Vec, usize), - __3: (usize, &'input str, usize), - __4: (usize, ::std::vec::Vec, usize), - __5: (usize, ::std::vec::Vec, usize), - __6: (usize, &'input str, usize), - __7: (usize, String, usize), - __8: (usize, &'input str, usize), -) -> ModelicaModel -{ - let __start0 = __4.0.clone(); - let __end0 = __4.2.clone(); - let __temp0 = __action46( - input, - __4, - ); - let __temp0 = (__start0, __temp0, __end0); - __action56( - input, - __0, - __1, - __2, - __3, - __temp0, - __5, - __6, - __7, - __8, - ) -} - -#[allow(unused_variables)] -pub fn __action63< - 'input, ->( - input: &'input str, - __0: (usize, &'input str, usize), - __1: (usize, String, usize), - __2: (usize, &'input str, usize), - __3: (usize, &'input str, usize), - __4: (usize, String, usize), - __5: (usize, &'input str, usize), -) -> ModelicaModel -{ - let __start0 = __2.2.clone(); - let __end0 = __3.0.clone(); - let __temp0 = __action43( - input, - &__start0, - &__end0, - ); - let __temp0 = (__start0, __temp0, __end0); - __action59( - input, - __0, - __1, - __2, - __temp0, - __3, - __4, - __5, - ) -} - -#[allow(unused_variables)] -pub fn __action64< - 'input, ->( - input: &'input str, - __0: (usize, &'input str, usize), - __1: (usize, String, usize), - __2: (usize, &'input str, usize), - __3: (usize, ::std::vec::Vec, usize), - __4: (usize, &'input str, usize), - __5: (usize, String, usize), - __6: (usize, &'input str, usize), -) -> ModelicaModel -{ - let __start0 = __3.0.clone(); - let __end0 = __3.2.clone(); - let __temp0 = __action44( - input, - __3, - ); - let __temp0 = (__start0, __temp0, __end0); - __action59( - input, - __0, - __1, - __2, - __temp0, - __4, - __5, - __6, - ) -} - -#[allow(unused_variables)] -pub fn __action65< - 'input, ->( - input: &'input str, - __0: (usize, &'input str, usize), - __1: (usize, String, usize), - __2: (usize, &'input str, usize), - __3: (usize, ::std::vec::Vec, usize), - __4: (usize, &'input str, usize), - __5: (usize, String, usize), - __6: (usize, &'input str, usize), -) -> ModelicaModel -{ - let __start0 = __3.2.clone(); - let __end0 = __4.0.clone(); - let __temp0 = __action43( - input, - &__start0, - &__end0, - ); - let __temp0 = (__start0, __temp0, __end0); - __action60( - input, - __0, - __1, - __2, - __3, - __temp0, - __4, - __5, - __6, - ) -} - -#[allow(unused_variables)] -pub fn __action66< - 'input, ->( - input: &'input str, - __0: (usize, &'input str, usize), - __1: (usize, String, usize), - __2: (usize, &'input str, usize), - __3: (usize, ::std::vec::Vec, usize), - __4: (usize, ::std::vec::Vec, usize), - __5: (usize, &'input str, usize), - __6: (usize, String, usize), - __7: (usize, &'input str, usize), -) -> ModelicaModel -{ - let __start0 = __4.0.clone(); - let __end0 = __4.2.clone(); - let __temp0 = __action44( - input, - __4, - ); - let __temp0 = (__start0, __temp0, __end0); - __action60( - input, - __0, - __1, - __2, - __3, - __temp0, - __5, - __6, - __7, - ) -} - -#[allow(unused_variables)] -pub fn __action67< - 'input, ->( - input: &'input str, - __0: (usize, &'input str, usize), - __1: (usize, String, usize), - __2: (usize, ::std::vec::Vec, usize), - __3: (usize, &'input str, usize), - __4: (usize, &'input str, usize), - __5: (usize, String, usize), - __6: (usize, &'input str, usize), -) -> ModelicaModel -{ - let __start0 = __3.2.clone(); - let __end0 = __4.0.clone(); - let __temp0 = __action43( - input, - &__start0, - &__end0, - ); - let __temp0 = (__start0, __temp0, __end0); - __action61( - input, - __0, - __1, - __2, - __3, - __temp0, - __4, - __5, - __6, - ) -} - -#[allow(unused_variables)] -pub fn __action68< - 'input, ->( - input: &'input str, - __0: (usize, &'input str, usize), - __1: (usize, String, usize), - __2: (usize, ::std::vec::Vec, usize), - __3: (usize, &'input str, usize), - __4: (usize, ::std::vec::Vec, usize), - __5: (usize, &'input str, usize), - __6: (usize, String, usize), - __7: (usize, &'input str, usize), -) -> ModelicaModel -{ - let __start0 = __4.0.clone(); - let __end0 = __4.2.clone(); - let __temp0 = __action44( - input, - __4, - ); - let __temp0 = (__start0, __temp0, __end0); - __action61( - input, - __0, - __1, - __2, - __3, - __temp0, - __5, - __6, - __7, - ) -} - -#[allow(unused_variables)] -pub fn __action69< - 'input, ->( - input: &'input str, - __0: (usize, &'input str, usize), - __1: (usize, String, usize), - __2: (usize, ::std::vec::Vec, usize), - __3: (usize, &'input str, usize), - __4: (usize, ::std::vec::Vec, usize), - __5: (usize, &'input str, usize), - __6: (usize, String, usize), - __7: (usize, &'input str, usize), -) -> ModelicaModel -{ - let __start0 = __4.2.clone(); - let __end0 = __5.0.clone(); - let __temp0 = __action43( - input, - &__start0, - &__end0, - ); - let __temp0 = (__start0, __temp0, __end0); - __action62( - input, - __0, - __1, - __2, - __3, - __4, - __temp0, - __5, - __6, - __7, - ) -} - -#[allow(unused_variables)] -pub fn __action70< - 'input, ->( - input: &'input str, - __0: (usize, &'input str, usize), - __1: (usize, String, usize), - __2: (usize, ::std::vec::Vec, usize), - __3: (usize, &'input str, usize), - __4: (usize, ::std::vec::Vec, usize), - __5: (usize, ::std::vec::Vec, usize), - __6: (usize, &'input str, usize), - __7: (usize, String, usize), - __8: (usize, &'input str, usize), -) -> ModelicaModel -{ - let __start0 = __5.0.clone(); - let __end0 = __5.2.clone(); - let __temp0 = __action44( - input, - __5, - ); - let __temp0 = (__start0, __temp0, __end0); - __action62( - input, - __0, - __1, - __2, - __3, - __4, - __temp0, - __6, - __7, - __8, - ) -} - -#[allow(unused_variables)] -pub fn __action71< - 'input, ->( - input: &'input str, - __0: (usize, ComponentPrefix, usize), - __1: (usize, String, usize), - __2: (usize, String, usize), - __3: (usize, ::std::option::Option, usize), - __4: (usize, ::std::option::Option, usize), - __5: (usize, String, usize), - __6: (usize, &'input str, usize), -) -> Component -{ - let __start0 = __5.0.clone(); - let __end0 = __5.2.clone(); - let __temp0 = __action35( - input, - __5, - ); - let __temp0 = (__start0, __temp0, __end0); - __action57( - input, - __0, - __1, - __2, - __3, - __4, - __temp0, - __6, - ) -} - -#[allow(unused_variables)] -pub fn __action72< - 'input, ->( - input: &'input str, - __0: (usize, ComponentPrefix, usize), - __1: (usize, String, usize), - __2: (usize, String, usize), - __3: (usize, ::std::option::Option, usize), - __4: (usize, ::std::option::Option, usize), - __5: (usize, &'input str, usize), -) -> Component -{ - let __start0 = __4.2.clone(); - let __end0 = __5.0.clone(); - let __temp0 = __action36( - input, - &__start0, - &__end0, - ); - let __temp0 = (__start0, __temp0, __end0); - __action57( - input, - __0, - __1, - __2, - __3, - __4, - __temp0, - __5, - ) -} - -#[allow(unused_variables)] -pub fn __action73< - 'input, ->( - input: &'input str, - __0: (usize, String, usize), - __1: (usize, String, usize), - __2: (usize, ::std::option::Option, usize), - __3: (usize, ::std::option::Option, usize), - __4: (usize, String, usize), - __5: (usize, &'input str, usize), -) -> Component -{ - let __start0 = __4.0.clone(); - let __end0 = __4.2.clone(); - let __temp0 = __action35( - input, - __4, - ); - let __temp0 = (__start0, __temp0, __end0); - __action58( - input, - __0, - __1, - __2, - __3, - __temp0, - __5, - ) -} - -#[allow(unused_variables)] -pub fn __action74< - 'input, ->( - input: &'input str, - __0: (usize, String, usize), - __1: (usize, String, usize), - __2: (usize, ::std::option::Option, usize), - __3: (usize, ::std::option::Option, usize), - __4: (usize, &'input str, usize), -) -> Component -{ - let __start0 = __3.2.clone(); - let __end0 = __4.0.clone(); - let __temp0 = __action36( - input, - &__start0, - &__end0, - ); - let __temp0 = (__start0, __temp0, __end0); - __action58( - input, - __0, - __1, - __2, - __3, - __temp0, - __4, - ) -} - -#[allow(unused_variables)] -pub fn __action75< - 'input, ->( - input: &'input str, - __0: (usize, ComponentPrefix, usize), - __1: (usize, String, usize), - __2: (usize, String, usize), - __3: (usize, String, usize), - __4: (usize, ::std::option::Option, usize), - __5: (usize, String, usize), - __6: (usize, &'input str, usize), -) -> Component -{ - let __start0 = __3.0.clone(); - let __end0 = __3.2.clone(); - let __temp0 = __action39( - input, - __3, - ); - let __temp0 = (__start0, __temp0, __end0); - __action71( - input, - __0, - __1, - __2, - __temp0, - __4, - __5, - __6, - ) -} - -#[allow(unused_variables)] -pub fn __action76< - 'input, ->( - input: &'input str, - __0: (usize, ComponentPrefix, usize), - __1: (usize, String, usize), - __2: (usize, String, usize), - __3: (usize, ::std::option::Option, usize), - __4: (usize, String, usize), - __5: (usize, &'input str, usize), -) -> Component -{ - let __start0 = __2.2.clone(); - let __end0 = __3.0.clone(); - let __temp0 = __action40( - input, - &__start0, - &__end0, - ); - let __temp0 = (__start0, __temp0, __end0); - __action71( - input, - __0, - __1, - __2, - __temp0, - __3, - __4, - __5, - ) -} - -#[allow(unused_variables)] -pub fn __action77< - 'input, ->( - input: &'input str, - __0: (usize, ComponentPrefix, usize), - __1: (usize, String, usize), - __2: (usize, String, usize), - __3: (usize, String, usize), - __4: (usize, ::std::option::Option, usize), - __5: (usize, &'input str, usize), -) -> Component -{ - let __start0 = __3.0.clone(); - let __end0 = __3.2.clone(); - let __temp0 = __action39( - input, - __3, - ); - let __temp0 = (__start0, __temp0, __end0); - __action72( - input, - __0, - __1, - __2, - __temp0, - __4, - __5, - ) -} - -#[allow(unused_variables)] -pub fn __action78< - 'input, ->( - input: &'input str, - __0: (usize, ComponentPrefix, usize), - __1: (usize, String, usize), - __2: (usize, String, usize), - __3: (usize, ::std::option::Option, usize), - __4: (usize, &'input str, usize), -) -> Component -{ - let __start0 = __2.2.clone(); - let __end0 = __3.0.clone(); - let __temp0 = __action40( - input, - &__start0, - &__end0, - ); - let __temp0 = (__start0, __temp0, __end0); - __action72( - input, - __0, - __1, - __2, - __temp0, - __3, - __4, - ) -} - -#[allow(unused_variables)] -pub fn __action79< - 'input, ->( - input: &'input str, - __0: (usize, String, usize), - __1: (usize, String, usize), - __2: (usize, String, usize), - __3: (usize, ::std::option::Option, usize), - __4: (usize, String, usize), - __5: (usize, &'input str, usize), -) -> Component -{ - let __start0 = __2.0.clone(); - let __end0 = __2.2.clone(); - let __temp0 = __action39( - input, - __2, - ); - let __temp0 = (__start0, __temp0, __end0); - __action73( - input, - __0, - __1, - __temp0, - __3, - __4, - __5, - ) -} - -#[allow(unused_variables)] -pub fn __action80< - 'input, ->( - input: &'input str, - __0: (usize, String, usize), - __1: (usize, String, usize), - __2: (usize, ::std::option::Option, usize), - __3: (usize, String, usize), - __4: (usize, &'input str, usize), -) -> Component -{ - let __start0 = __1.2.clone(); - let __end0 = __2.0.clone(); - let __temp0 = __action40( - input, - &__start0, - &__end0, - ); - let __temp0 = (__start0, __temp0, __end0); - __action73( - input, - __0, - __1, - __temp0, - __2, - __3, - __4, - ) -} - -#[allow(unused_variables)] -pub fn __action81< - 'input, ->( - input: &'input str, - __0: (usize, String, usize), - __1: (usize, String, usize), - __2: (usize, String, usize), - __3: (usize, ::std::option::Option, usize), - __4: (usize, &'input str, usize), -) -> Component -{ - let __start0 = __2.0.clone(); - let __end0 = __2.2.clone(); - let __temp0 = __action39( - input, - __2, - ); - let __temp0 = (__start0, __temp0, __end0); - __action74( - input, - __0, - __1, - __temp0, - __3, - __4, - ) -} - -#[allow(unused_variables)] -pub fn __action82< - 'input, ->( - input: &'input str, - __0: (usize, String, usize), - __1: (usize, String, usize), - __2: (usize, ::std::option::Option, usize), - __3: (usize, &'input str, usize), -) -> Component -{ - let __start0 = __1.2.clone(); - let __end0 = __2.0.clone(); - let __temp0 = __action40( - input, - &__start0, - &__end0, - ); - let __temp0 = (__start0, __temp0, __end0); - __action74( - input, - __0, - __1, - __temp0, - __2, - __3, - ) -} - -#[allow(unused_variables)] -pub fn __action83< - 'input, ->( - input: &'input str, - __0: (usize, ComponentPrefix, usize), - __1: (usize, String, usize), - __2: (usize, String, usize), - __3: (usize, String, usize), - __4: (usize, Expr, usize), - __5: (usize, String, usize), - __6: (usize, &'input str, usize), -) -> Component -{ - let __start0 = __4.0.clone(); - let __end0 = __4.2.clone(); - let __temp0 = __action37( - input, - __4, - ); - let __temp0 = (__start0, __temp0, __end0); - __action75( - input, - __0, - __1, - __2, - __3, - __temp0, - __5, - __6, - ) -} - -#[allow(unused_variables)] -pub fn __action84< - 'input, ->( - input: &'input str, - __0: (usize, ComponentPrefix, usize), - __1: (usize, String, usize), - __2: (usize, String, usize), - __3: (usize, String, usize), - __4: (usize, String, usize), - __5: (usize, &'input str, usize), -) -> Component -{ - let __start0 = __3.2.clone(); - let __end0 = __4.0.clone(); - let __temp0 = __action38( - input, - &__start0, - &__end0, - ); - let __temp0 = (__start0, __temp0, __end0); - __action75( - input, - __0, - __1, - __2, - __3, - __temp0, - __4, - __5, - ) -} - -#[allow(unused_variables)] -pub fn __action85< - 'input, ->( - input: &'input str, - __0: (usize, ComponentPrefix, usize), - __1: (usize, String, usize), - __2: (usize, String, usize), - __3: (usize, Expr, usize), - __4: (usize, String, usize), - __5: (usize, &'input str, usize), -) -> Component -{ - let __start0 = __3.0.clone(); - let __end0 = __3.2.clone(); - let __temp0 = __action37( - input, - __3, - ); - let __temp0 = (__start0, __temp0, __end0); - __action76( - input, - __0, - __1, - __2, - __temp0, - __4, - __5, - ) -} - -#[allow(unused_variables)] -pub fn __action86< - 'input, ->( - input: &'input str, - __0: (usize, ComponentPrefix, usize), - __1: (usize, String, usize), - __2: (usize, String, usize), - __3: (usize, String, usize), - __4: (usize, &'input str, usize), -) -> Component -{ - let __start0 = __2.2.clone(); - let __end0 = __3.0.clone(); - let __temp0 = __action38( - input, - &__start0, - &__end0, - ); - let __temp0 = (__start0, __temp0, __end0); - __action76( - input, - __0, - __1, - __2, - __temp0, - __3, - __4, - ) -} - -#[allow(unused_variables)] -pub fn __action87< - 'input, ->( - input: &'input str, - __0: (usize, ComponentPrefix, usize), - __1: (usize, String, usize), - __2: (usize, String, usize), - __3: (usize, String, usize), - __4: (usize, Expr, usize), - __5: (usize, &'input str, usize), -) -> Component -{ - let __start0 = __4.0.clone(); - let __end0 = __4.2.clone(); - let __temp0 = __action37( - input, - __4, - ); - let __temp0 = (__start0, __temp0, __end0); - __action77( - input, - __0, - __1, - __2, - __3, - __temp0, - __5, - ) -} - -#[allow(unused_variables)] -pub fn __action88< - 'input, ->( - input: &'input str, - __0: (usize, ComponentPrefix, usize), - __1: (usize, String, usize), - __2: (usize, String, usize), - __3: (usize, String, usize), - __4: (usize, &'input str, usize), -) -> Component -{ - let __start0 = __3.2.clone(); - let __end0 = __4.0.clone(); - let __temp0 = __action38( - input, - &__start0, - &__end0, - ); - let __temp0 = (__start0, __temp0, __end0); - __action77( - input, - __0, - __1, - __2, - __3, - __temp0, - __4, - ) -} - -#[allow(unused_variables)] -pub fn __action89< - 'input, ->( - input: &'input str, - __0: (usize, ComponentPrefix, usize), - __1: (usize, String, usize), - __2: (usize, String, usize), - __3: (usize, Expr, usize), - __4: (usize, &'input str, usize), -) -> Component -{ - let __start0 = __3.0.clone(); - let __end0 = __3.2.clone(); - let __temp0 = __action37( - input, - __3, - ); - let __temp0 = (__start0, __temp0, __end0); - __action78( - input, - __0, - __1, - __2, - __temp0, - __4, - ) -} - -#[allow(unused_variables)] -pub fn __action90< - 'input, ->( - input: &'input str, - __0: (usize, ComponentPrefix, usize), - __1: (usize, String, usize), - __2: (usize, String, usize), - __3: (usize, &'input str, usize), -) -> Component -{ - let __start0 = __2.2.clone(); - let __end0 = __3.0.clone(); - let __temp0 = __action38( - input, - &__start0, - &__end0, - ); - let __temp0 = (__start0, __temp0, __end0); - __action78( - input, - __0, - __1, - __2, - __temp0, - __3, - ) -} - -#[allow(unused_variables)] -pub fn __action91< - 'input, ->( - input: &'input str, - __0: (usize, String, usize), - __1: (usize, String, usize), - __2: (usize, String, usize), - __3: (usize, Expr, usize), - __4: (usize, String, usize), - __5: (usize, &'input str, usize), -) -> Component -{ - let __start0 = __3.0.clone(); - let __end0 = __3.2.clone(); - let __temp0 = __action37( - input, - __3, - ); - let __temp0 = (__start0, __temp0, __end0); - __action79( - input, - __0, - __1, - __2, - __temp0, - __4, - __5, - ) -} - -#[allow(unused_variables)] -pub fn __action92< - 'input, ->( - input: &'input str, - __0: (usize, String, usize), - __1: (usize, String, usize), - __2: (usize, String, usize), - __3: (usize, String, usize), - __4: (usize, &'input str, usize), -) -> Component -{ - let __start0 = __2.2.clone(); - let __end0 = __3.0.clone(); - let __temp0 = __action38( - input, - &__start0, - &__end0, - ); - let __temp0 = (__start0, __temp0, __end0); - __action79( - input, - __0, - __1, - __2, - __temp0, - __3, - __4, - ) -} - -#[allow(unused_variables)] -pub fn __action93< - 'input, ->( - input: &'input str, - __0: (usize, String, usize), - __1: (usize, String, usize), - __2: (usize, Expr, usize), - __3: (usize, String, usize), - __4: (usize, &'input str, usize), -) -> Component -{ - let __start0 = __2.0.clone(); - let __end0 = __2.2.clone(); - let __temp0 = __action37( - input, - __2, - ); - let __temp0 = (__start0, __temp0, __end0); - __action80( - input, - __0, - __1, - __temp0, - __3, - __4, - ) -} - -#[allow(unused_variables)] -pub fn __action94< - 'input, ->( - input: &'input str, - __0: (usize, String, usize), - __1: (usize, String, usize), - __2: (usize, String, usize), - __3: (usize, &'input str, usize), -) -> Component -{ - let __start0 = __1.2.clone(); - let __end0 = __2.0.clone(); - let __temp0 = __action38( - input, - &__start0, - &__end0, - ); - let __temp0 = (__start0, __temp0, __end0); - __action80( - input, - __0, - __1, - __temp0, - __2, - __3, - ) -} - -#[allow(unused_variables)] -pub fn __action95< - 'input, ->( - input: &'input str, - __0: (usize, String, usize), - __1: (usize, String, usize), - __2: (usize, String, usize), - __3: (usize, Expr, usize), - __4: (usize, &'input str, usize), -) -> Component -{ - let __start0 = __3.0.clone(); - let __end0 = __3.2.clone(); - let __temp0 = __action37( - input, - __3, - ); - let __temp0 = (__start0, __temp0, __end0); - __action81( - input, - __0, - __1, - __2, - __temp0, - __4, - ) -} - -#[allow(unused_variables)] -pub fn __action96< - 'input, ->( - input: &'input str, - __0: (usize, String, usize), - __1: (usize, String, usize), - __2: (usize, String, usize), - __3: (usize, &'input str, usize), -) -> Component -{ - let __start0 = __2.2.clone(); - let __end0 = __3.0.clone(); - let __temp0 = __action38( - input, - &__start0, - &__end0, - ); - let __temp0 = (__start0, __temp0, __end0); - __action81( - input, - __0, - __1, - __2, - __temp0, - __3, - ) -} - -#[allow(unused_variables)] -pub fn __action97< - 'input, ->( - input: &'input str, - __0: (usize, String, usize), - __1: (usize, String, usize), - __2: (usize, Expr, usize), - __3: (usize, &'input str, usize), -) -> Component -{ - let __start0 = __2.0.clone(); - let __end0 = __2.2.clone(); - let __temp0 = __action37( - input, - __2, - ); - let __temp0 = (__start0, __temp0, __end0); - __action82( - input, - __0, - __1, - __temp0, - __3, - ) -} - -#[allow(unused_variables)] -pub fn __action98< - 'input, ->( - input: &'input str, - __0: (usize, String, usize), - __1: (usize, String, usize), - __2: (usize, &'input str, usize), -) -> Component -{ - let __start0 = __1.2.clone(); - let __end0 = __2.0.clone(); - let __temp0 = __action38( - input, - &__start0, - &__end0, - ); - let __temp0 = (__start0, __temp0, __end0); - __action82( - input, - __0, - __1, - __temp0, - __2, - ) -} - -pub trait __ToTriple<'input, > { - type Error; - fn to_triple(value: Self) -> Result<(usize,(usize, &'input str),usize),Self::Error>; -} - -impl<'input, > __ToTriple<'input, > for (usize, (usize, &'input str), usize) { - type Error = (); - fn to_triple(value: Self) -> Result<(usize,(usize, &'input str),usize),()> { - Ok(value) - } -} -impl<'input, > __ToTriple<'input, > for Result<(usize, (usize, &'input str), usize),()> { - type Error = (); - fn to_triple(value: Self) -> Result<(usize,(usize, &'input str),usize),()> { - value - } -} diff --git a/src/transpile_js.rs b/src/transpile_js.rs index 7c8932f..7a2132f 100644 --- a/src/transpile_js.rs +++ b/src/transpile_js.rs @@ -1,5 +1,7 @@ -use modelica_ast::*; +extern crate modelica_parser; + +use self::modelica_parser::ast::*; pub trait TranspileJS { fn repr_js(&self) -> Result; @@ -43,7 +45,7 @@ impl TranspileJS for ModelicaModel { impl TranspileJS for Expr { fn repr_js(&self) -> Result { - use modelica_ast::Expr::*; + use modelica_parser::ast::Expr::*; match *self { Integer(e) => Ok(format!("{}", e)), Float(e) => Ok(format!("{}", e)), diff --git a/src/transpile_scheme.rs b/src/transpile_scheme.rs index 5a88cda..5c8bd66 100644 --- a/src/transpile_scheme.rs +++ b/src/transpile_scheme.rs @@ -1,5 +1,7 @@ -use modelica_ast::*; +extern crate modelica_parser; + +use self::modelica_parser::ast::*; pub trait TranspileScheme { fn repr_scheme(&self) -> Result; @@ -40,7 +42,7 @@ impl TranspileScheme for ModelicaModel { impl TranspileScheme for Expr { fn repr_scheme(&self) -> Result { - use modelica_ast::Expr::*; + use modelica_parser::ast::Expr::*; match *self { Integer(e) => Ok(format!("{}", e)), Float(e) => Ok(format!("{}", e)), -- cgit v1.2.3