aboutsummaryrefslogtreecommitdiffstats
path: root/src
diff options
context:
space:
mode:
authorbnewbold <bnewbold@robocracy.org>2016-12-17 18:34:47 -0800
committerbnewbold <bnewbold@robocracy.org>2016-12-17 18:34:47 -0800
commit9f82aceb9fbdb42f332d68f4a423123bd0788b2c (patch)
treec082b9795be8e9e9d286c8f8f1345d22f3ec1b59 /src
parentf6364ebcac0d0a88a3cc6812fd2120c97b42cc26 (diff)
downloadmodelthing-9f82aceb9fbdb42f332d68f4a423123bd0788b2c.tar.gz
modelthing-9f82aceb9fbdb42f332d68f4a423123bd0788b2c.zip
refactor modelica parser into separate crate
Diffstat (limited to 'src')
-rw-r--r--src/bin/mt-tool.rs7
-rw-r--r--src/build.rs5
-rw-r--r--src/lib.rs68
-rw-r--r--src/modelica_model.rs (renamed from src/modelica_ast.rs)216
-rw-r--r--src/modelica_parser.lalrpop97
-rw-r--r--src/modelica_parser.lalrpop.full171
-rw-r--r--src/modelica_parser.rs15955
-rw-r--r--src/transpile_js.rs6
-rw-r--r--src/transpile_scheme.rs6
9 files changed, 36 insertions, 16495 deletions
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<String>) {
}
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<ModelEntry,String> {
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<String> {
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::<String>(),
- std::iter::repeat("^").take(end - start).collect::<String>().red().bold());
- }
- line_start += line.len() + 1;
- if line_start > end { break };
- }
- ret
-}
-
-pub fn pp_parseerror(raw: &str, pe: ParseError<usize, (usize, &str), ()>) -> 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_model.rs
index f6d32b8..bcc00b1 100644
--- a/src/modelica_ast.rs
+++ b/src/modelica_model.rs
@@ -1,75 +1,24 @@
+extern crate modelica_parser;
+
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<Component>,
- pub equations: Vec<SimpleEquation>,
- pub connections: Vec<Connection>,
- pub extends: Vec<String>,
-}
-
-#[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<ComponentPrefix>,
- pub specifier: String,
- pub name: String,
- pub value: Option<Expr>,
- pub units: Option<String>,
- pub description: Option<String>,
-}
-
-#[derive(Clone, PartialEq)]
-pub struct Connection {
- pub a: String,
- pub b: String,
-}
+use self::modelica_parser::ast::*;
-#[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<Expr>),
- Abs(Box<Expr>),
- BinExpr(BinOperator, Box<Expr>, Box<Expr>),
-}
+//// Helpers
-#[derive(Copy, Clone, PartialEq)]
-pub enum BinOperator {
- Multiply,
- Divide,
- Add,
- Subtract,
+pub trait ModelicaModelExt {
+ fn get_constant_vars(&self) -> HashMap<String,Option<Expr>>;
+ fn get_free_vars(&self) -> Vec<String>;
+ fn solve_for(&self, indep_vars: Vec<String>, dep_vars: Vec<String>) -> Result<ModelicaModel,String>;
}
-//// Helpers
-
-impl ModelicaModel {
+impl ModelicaModelExt for ModelicaModel {
- pub fn get_constant_vars(&self) -> HashMap<String,Option<Expr>> {
+ fn get_constant_vars(&self) -> HashMap<String,Option<Expr>> {
let mut binds = HashMap::new();
// XXX: actually implement this...
for c in &self.components {
@@ -86,7 +35,7 @@ impl ModelicaModel {
// 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<String> {
+ fn get_free_vars(&self) -> Vec<String> {
// 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,
@@ -114,7 +63,7 @@ impl ModelicaModel {
// N equations with unknowns
//
// TODO: allow passing in Q
- pub fn solve_for(&self, indep_vars: Vec<String>, dep_vars: Vec<String>) -> Result<ModelicaModel,String> {
+ fn solve_for(&self, indep_vars: Vec<String>, dep_vars: Vec<String>) -> Result<ModelicaModel,String> {
let constants = self.get_constant_vars();
let mut all_vars: HashSet<String> = HashSet::new();
for eqn in &self.equations {
@@ -192,16 +141,6 @@ impl ModelicaModel {
}
}
-fn union_strings(a: &Vec<String>, b: &Vec<String>) -> Vec<String> {
- let mut u = a.clone();
- for e in b {
- if !(u.contains(&e)) {
- u.push(e.clone());
- }
- }
- u
-}
-
fn intersect_strings(a: &Vec<String>, b: &Vec<String>) -> Vec<String> {
let mut both = vec![];
for e in a {
@@ -212,40 +151,14 @@ fn intersect_strings(a: &Vec<String>, b: &Vec<String>) -> Vec<String> {
both
}
-impl Expr {
-
- // Order is undefined
- // TODO: should return a HashSet, not a Vec
- pub fn identifiers(&self) -> Vec<String> {
- 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())
- }
+pub trait SimpleEquationExt {
+ fn rebalance_for(&self, ident: String) -> Result<SimpleEquation,String>;
+ fn simplify_lhs(&self, ident: &str) -> Result<SimpleEquation,String>;
}
-impl SimpleEquation {
-
- // Order is undefined
- pub fn identifiers(&self) -> Vec<String> {
- 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)
- }
+impl SimpleEquationExt for SimpleEquation {
- pub fn rebalance_for(&self, ident: String) -> Result<SimpleEquation,String> {
+ fn rebalance_for(&self, ident: String) -> Result<SimpleEquation,String> {
let lvars = self.lhs.identifiers();
let rvars = self.rhs.identifiers();
@@ -268,9 +181,9 @@ impl SimpleEquation {
}
}
- pub fn simplify_lhs(&self, ident: &str) -> Result<SimpleEquation,String> {
- use self::Expr::*;
- use self::BinOperator::*;
+ fn simplify_lhs(&self, ident: &str) -> Result<SimpleEquation,String> {
+ 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(_) =>
@@ -316,92 +229,3 @@ impl SimpleEquation {
}
}
-
-//// 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_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:r#""[^"\\]*""#> => &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" <n:identifier> <cd:component_declaration*> "equation" <cc:connect_clause*> <se:simple_equation*> "end" identifier ";" =>
- ModelicaModel { name:n, components: cd, connections: cc, equations: se, extends: vec![] },
-};
-
-value_declaration: Expr = {
- "=" <value:expr> => value
-};
-
-units_declaration: String = {
- "(" "unit" "=" <units:string_literal> ")" => units
-};
-
-component_declaration: Component = {
- <prefix:component_prefix?> <specifier:identifier> <name:identifier> <units:units_declaration?> <value:value_declaration?> <desc:string_literal?> ";" =>
- 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 = {
- <lhs:expr> "=" <rhs:expr> ";" => SimpleEquation {lhs:lhs, rhs:rhs},
-};
-
-connect_clause: Connection = {
- "connect" "(" <a:identifier> "," <b:identifier> ")" ";" =>
- Connection { a: a.to_string(), b: b.to_string()},
-};
-
-// This weird expr/factor/term hierarchy is for binary operator precedence
-expr: Expr = {
- <lhs:expr> "+" <rhs:factor> =>
- Expr::BinExpr(BinOperator::Add, Box::new(lhs), Box::new(rhs)),
- <lhs:expr> "-" <rhs:factor> =>
- Expr::BinExpr(BinOperator::Subtract, Box::new(lhs), Box::new(rhs)),
- factor,
-};
-
-factor: Expr = {
- <lhs:factor> "*" <rhs:term> =>
- Expr::BinExpr(BinOperator::Multiply, Box::new(lhs), Box::new(rhs)),
- <lhs:factor> "/" <rhs:term> =>
- Expr::BinExpr(BinOperator::Divide, Box::new(lhs), Box::new(rhs)),
- <lhs:factor> "^" <rhs:term> =>
- Expr::BinExpr(BinOperator::Divide, Box::new(lhs), Box::new(rhs)),
- "-" <t:term> =>
- 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" "(" <e:expr> ")" => Expr::Der(Box::new(e)),
- "abs" "(" <e:expr> ")" => Expr::Abs(Box::new(e)),
- "(" <e:expr> ")" => 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<usize, (usize, &'input str), ()>),
- Nt____float(f64),
- Nt____identifier(String),
- Nt____integer(i64),
- Nt____model(ModelicaModel),
- Ntcomponent__declaration(Component),
- Ntcomponent__declaration_2a(::std::vec::Vec<Component>),
- Ntcomponent__declaration_2b(::std::vec::Vec<Component>),
- Ntcomponent__prefix(ComponentPrefix),
- Ntcomponent__prefix_3f(::std::option::Option<ComponentPrefix>),
- Ntconnect__clause(Connection),
- Ntconnect__clause_2a(::std::vec::Vec<Connection>),
- Ntconnect__clause_2b(::std::vec::Vec<Connection>),
- Ntexpr(Expr),
- Ntfactor(Expr),
- Ntfloat(f64),
- Ntidentifier(String),
- Ntinteger(i64),
- Ntmodel(ModelicaModel),
- Ntsimple__equation(SimpleEquation),
- Ntsimple__equation_2a(::std::vec::Vec<SimpleEquation>),
- Ntsimple__equation_2b(::std::vec::Vec<SimpleEquation>),
- Ntstring__literal(String),
- Ntstring__literal_3f(::std::option::Option<String>),
- Ntterm(Expr),
- Ntunits__declaration(String),
- Ntunits__declaration_3f(::std::option::Option<String>),
- Ntvalue__declaration(Expr),
- Ntvalue__declaration_3f(::std::option::Option<Expr>),
- }
- 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<f64, __lalrpop_util::ParseError<usize, (usize, &'input str), ()>>
- {
- 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<i32>,
- __symbols: &mut ::std::vec::Vec<(usize,__Symbol<'input>,usize)>,
- _: ::std::marker::PhantomData<()>,
- ) -> Option<Result<f64,__lalrpop_util::ParseError<usize, (usize, &'input str), ()>>>
- {
- 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, (usize, &'input str), ()>, 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<Component>, 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<Component>, 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<ComponentPrefix>, 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<Connection>, 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<Connection>, 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<SimpleEquation>, 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<SimpleEquation>, 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<String>, 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<String>, 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<Expr>, 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<usize, (usize, &'input str), ()>),
- Nt____float(f64),
- Nt____identifier(String),
- Nt____integer(i64),
- Nt____model(ModelicaModel),
- Ntcomponent__declaration(Component),
- Ntcomponent__declaration_2a(::std::vec::Vec<Component>),
- Ntcomponent__declaration_2b(::std::vec::Vec<Component>),
- Ntcomponent__prefix(ComponentPrefix),
- Ntcomponent__prefix_3f(::std::option::Option<ComponentPrefix>),
- Ntconnect__clause(Connection),
- Ntconnect__clause_2a(::std::vec::Vec<Connection>),
- Ntconnect__clause_2b(::std::vec::Vec<Connection>),
- Ntexpr(Expr),
- Ntfactor(Expr),
- Ntfloat(f64),
- Ntidentifier(String),
- Ntinteger(i64),
- Ntmodel(ModelicaModel),
- Ntsimple__equation(SimpleEquation),
- Ntsimple__equation_2a(::std::vec::Vec<SimpleEquation>),
- Ntsimple__equation_2b(::std::vec::Vec<SimpleEquation>),
- Ntstring__literal(String),
- Ntstring__literal_3f(::std::option::Option<String>),
- Ntterm(Expr),
- Ntunits__declaration(String),
- Ntunits__declaration_3f(::std::option::Option<String>),
- Ntvalue__declaration(Expr),
- Ntvalue__declaration_3f(::std::option::Option<Expr>),
- }
- 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<String, __lalrpop_util::ParseError<usize, (usize, &'input str), ()>>
- {
- 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<i32>,
- __symbols: &mut ::std::vec::Vec<(usize,__Symbol<'input>,usize)>,
- _: ::std::marker::PhantomData<()>,
- ) -> Option<Result<String,__lalrpop_util::ParseError<usize, (usize, &'input str), ()>>>
- {
- 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, (usize, &'input str), ()>, 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<Component>, 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<Component>, 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<ComponentPrefix>, 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<Connection>, 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<Connection>, 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<SimpleEquation>, 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<SimpleEquation>, 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<String>, 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<String>, 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<Expr>, 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<usize, (usize, &'input str), ()>),
- Nt____float(f64),
- Nt____identifier(String),
- Nt____integer(i64),
- Nt____model(ModelicaModel),
- Ntcomponent__declaration(Component),
- Ntcomponent__declaration_2a(::std::vec::Vec<Component>),
- Ntcomponent__declaration_2b(::std::vec::Vec<Component>),
- Ntcomponent__prefix(ComponentPrefix),
- Ntcomponent__prefix_3f(::std::option::Option<ComponentPrefix>),
- Ntconnect__clause(Connection),
- Ntconnect__clause_2a(::std::vec::Vec<Connection>),
- Ntconnect__clause_2b(::std::vec::Vec<Connection>),
- Ntexpr(Expr),
- Ntfactor(Expr),
- Ntfloat(f64),
- Ntidentifier(String),
- Ntinteger(i64),
- Ntmodel(ModelicaModel),
- Ntsimple__equation(SimpleEquation),
- Ntsimple__equation_2a(::std::vec::Vec<SimpleEquation>),
- Ntsimple__equation_2b(::std::vec::Vec<SimpleEquation>),
- Ntstring__literal(String),
- Ntstring__literal_3f(::std::option::Option<String>),
- Ntterm(Expr),
- Ntunits__declaration(String),
- Ntunits__declaration_3f(::std::option::Option<String>),
- Ntvalue__declaration(Expr),
- Ntvalue__declaration_3f(::std::option::Option<Expr>),
- }
- 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<i64, __lalrpop_util::ParseError<usize, (usize, &'input str), ()>>
- {
- 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<i32>,
- __symbols: &mut ::std::vec::Vec<(usize,__Symbol<'input>,usize)>,
- _: ::std::marker::PhantomData<()>,
- ) -> Option<Result<i64,__lalrpop_util::ParseError<usize, (usize, &'input str), ()>>>
- {
- 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, (usize, &'input str), ()>, 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<Component>, 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<Component>, 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<ComponentPrefix>, 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<Connection>, 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<Connection>, 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<SimpleEquation>, 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<SimpleEquation>, 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<String>, 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<String>, 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<Expr>, 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<usize, (usize, &'input str), ()>),
- Nt____float(f64),
- Nt____identifier(String),
- Nt____integer(i64),
- Nt____model(ModelicaModel),
- Ntcomponent__declaration(Component),
- Ntcomponent__declaration_2a(::std::vec::Vec<Component>),
- Ntcomponent__declaration_2b(::std::vec::Vec<Component>),
- Ntcomponent__prefix(ComponentPrefix),
- Ntcomponent__prefix_3f(::std::option::Option<ComponentPrefix>),
- Ntconnect__clause(Connection),
- Ntconnect__clause_2a(::std::vec::Vec<Connection>),
- Ntconnect__clause_2b(::std::vec::Vec<Connection>),
- Ntexpr(Expr),
- Ntfactor(Expr),
- Ntfloat(f64),
- Ntidentifier(String),
- Ntinteger(i64),
- Ntmodel(ModelicaModel),
- Ntsimple__equation(SimpleEquation),
- Ntsimple__equation_2a(::std::vec::Vec<SimpleEquation>),
- Ntsimple__equation_2b(::std::vec::Vec<SimpleEquation>),
- Ntstring__literal(String),
- Ntstring__literal_3f(::std::option::Option<String>),
- Ntterm(Expr),
- Ntunits__declaration(String),
- Ntunits__declaration_3f(::std::option::Option<String>),
- Ntvalue__declaration(Expr),
- Ntvalue__declaration_3f(::std::option::Option<Expr>),
- }
- 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<ModelicaModel, __lalrpop_util::ParseError<usize, (usize, &'input str), ()>>
- {
- 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<i32>,
- __symbols: &mut ::std::vec::Vec<(usize,__Symbol<'input>,usize)>,
- _: ::std::marker::PhantomData<()>,
- ) -> Option<Result<ModelicaModel,__lalrpop_util::ParseError<usize, (usize, &'input str), ()>>>
- {
- 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, (usize, &'input str), ()>, 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<Component>, 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<Component>, 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<ComponentPrefix>, 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<Connection>, 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<Connection>, 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<SimpleEquation>, 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<SimpleEquation>, 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<String>, 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<String>, 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<Expr>, 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<usize,(usize, &'input str),()>>;
-
- fn next(&mut self) -> Option<Self::Item> {
- let __text = self.text.trim_left();
- let __whitespace = self.text.len() - __text.len();
- let __start_offset = self.consumed + __whitespace;
- if __text.is_empty() {
- self.text = __text;
- self.consumed = __start_offset;
- None
- } else {
- 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<Component>, usize),
- (_, _, _): (usize, &'input str, usize),
- (_, cc, _): (usize, ::std::vec::Vec<Connection>, usize),
- (_, se, _): (usize, ::std::vec::Vec<SimpleEquation>, 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<ComponentPrefix>, usize),
- (_, specifier, _): (usize, String, usize),
- (_, name, _): (usize, String, usize),
- (_, units, _): (usize, ::std::option::Option<String>, usize),
- (_, value, _): (usize, ::std::option::Option<Expr>, usize),
- (_, desc, _): (usize, ::std::option::Option<String>, 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<String>
-{
- Some(__0)
-}
-
-#[allow(unused_variables)]
-pub fn __action36<
- 'input,
->(
- input: &'input str,
- __lookbehind: &usize,
- __lookahead: &usize,
-) -> ::std::option::Option<String>
-{
- None
-}
-
-#[allow(unused_variables)]
-pub fn __action37<
- 'input,
->(
- input: &'input str,
- (_, __0, _): (usize, Expr, usize),
-) -> ::std::option::Option<Expr>
-{
- Some(__0)
-}
-
-#[allow(unused_variables)]
-pub fn __action38<
- 'input,
->(
- input: &'input str,
- __lookbehind: &usize,
- __lookahead: &usize,
-) -> ::std::option::Option<Expr>
-{
- None
-}
-
-#[allow(unused_variables)]
-pub fn __action39<
- 'input,
->(
- input: &'input str,
- (_, __0, _): (usize, String, usize),
-) -> ::std::option::Option<String>
-{
- Some(__0)
-}
-
-#[allow(unused_variables)]
-pub fn __action40<
- 'input,
->(
- input: &'input str,
- __lookbehind: &usize,
- __lookahead: &usize,
-) -> ::std::option::Option<String>
-{
- None
-}
-
-#[allow(unused_variables)]
-pub fn __action41<
- 'input,
->(
- input: &'input str,
- (_, __0, _): (usize, ComponentPrefix, usize),
-) -> ::std::option::Option<ComponentPrefix>
-{
- Some(__0)
-}
-
-#[allow(unused_variables)]
-pub fn __action42<
- 'input,
->(
- input: &'input str,
- __lookbehind: &usize,
- __lookahead: &usize,
-) -> ::std::option::Option<ComponentPrefix>
-{
- None
-}
-
-#[allow(unused_variables)]
-pub fn __action43<
- 'input,
->(
- input: &'input str,
- __lookbehind: &usize,
- __lookahead: &usize,
-) -> ::std::vec::Vec<SimpleEquation>
-{
- vec![]
-}
-
-#[allow(unused_variables)]
-pub fn __action44<
- 'input,
->(
- input: &'input str,
- (_, v, _): (usize, ::std::vec::Vec<SimpleEquation>, usize),
-) -> ::std::vec::Vec<SimpleEquation>
-{
- v
-}
-
-#[allow(unused_variables)]
-pub fn __action45<
- 'input,
->(
- input: &'input str,
- __lookbehind: &usize,
- __lookahead: &usize,
-) -> ::std::vec::Vec<Connection>
-{
- vec![]
-}
-
-#[allow(unused_variables)]
-pub fn __action46<
- 'input,
->(
- input: &'input str,
- (_, v, _): (usize, ::std::vec::Vec<Connection>, usize),
-) -> ::std::vec::Vec<Connection>
-{
- v
-}
-
-#[allow(unused_variables)]
-pub fn __action47<
- 'input,
->(
- input: &'input str,
- __lookbehind: &usize,
- __lookahead: &usize,
-) -> ::std::vec::Vec<Component>
-{
- vec![]
-}
-
-#[allow(unused_variables)]
-pub fn __action48<
- 'input,
->(
- input: &'input str,
- (_, v, _): (usize, ::std::vec::Vec<Component>, usize),
-) -> ::std::vec::Vec<Component>
-{
- v
-}
-
-#[allow(unused_variables)]
-pub fn __action49<
- 'input,
->(
- input: &'input str,
- (_, __0, _): (usize, Component, usize),
-) -> ::std::vec::Vec<Component>
-{
- vec![__0]
-}
-
-#[allow(unused_variables)]
-pub fn __action50<
- 'input,
->(
- input: &'input str,
- (_, v, _): (usize, ::std::vec::Vec<Component>, usize),
- (_, e, _): (usize, Component, usize),
-) -> ::std::vec::Vec<Component>
-{
- { 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<Connection>
-{
- vec![__0]
-}
-
-#[allow(unused_variables)]
-pub fn __action52<
- 'input,
->(
- input: &'input str,
- (_, v, _): (usize, ::std::vec::Vec<Connection>, usize),
- (_, e, _): (usize, Connection, usize),
-) -> ::std::vec::Vec<Connection>
-{
- { 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<SimpleEquation>
-{
- vec![__0]
-}
-
-#[allow(unused_variables)]
-pub fn __action54<
- 'input,
->(
- input: &'input str,
- (_, v, _): (usize, ::std::vec::Vec<SimpleEquation>, usize),
- (_, e, _): (usize, SimpleEquation, usize),
-) -> ::std::vec::Vec<SimpleEquation>
-{
- { 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<Connection>, usize),
- __4: (usize, ::std::vec::Vec<SimpleEquation>, 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<Component>, usize),
- __3: (usize, &'input str, usize),
- __4: (usize, ::std::vec::Vec<Connection>, usize),
- __5: (usize, ::std::vec::Vec<SimpleEquation>, 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<String>, usize),
- __4: (usize, ::std::option::Option<Expr>, usize),
- __5: (usize, ::std::option::Option<String>, 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<String>, usize),
- __3: (usize, ::std::option::Option<Expr>, usize),
- __4: (usize, ::std::option::Option<String>, 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<SimpleEquation>, 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<Connection>, usize),
- __4: (usize, ::std::vec::Vec<SimpleEquation>, 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<Component>, usize),
- __3: (usize, &'input str, usize),
- __4: (usize, ::std::vec::Vec<SimpleEquation>, 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<Component>, usize),
- __3: (usize, &'input str, usize),
- __4: (usize, ::std::vec::Vec<Connection>, usize),
- __5: (usize, ::std::vec::Vec<SimpleEquation>, 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<SimpleEquation>, 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<Connection>, 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<Connection>, usize),
- __4: (usize, ::std::vec::Vec<SimpleEquation>, 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<Component>, 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<Component>, usize),
- __3: (usize, &'input str, usize),
- __4: (usize, ::std::vec::Vec<SimpleEquation>, 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<Component>, usize),
- __3: (usize, &'input str, usize),
- __4: (usize, ::std::vec::Vec<Connection>, 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<Component>, usize),
- __3: (usize, &'input str, usize),
- __4: (usize, ::std::vec::Vec<Connection>, usize),
- __5: (usize, ::std::vec::Vec<SimpleEquation>, 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<String>, usize),
- __4: (usize, ::std::option::Option<Expr>, 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<String>, usize),
- __4: (usize, ::std::option::Option<Expr>, 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<String>, usize),
- __3: (usize, ::std::option::Option<Expr>, 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<String>, usize),
- __3: (usize, ::std::option::Option<Expr>, 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<Expr>, 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<Expr>, 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<Expr>, 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<Expr>, 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<Expr>, 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<Expr>, 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<Expr>, 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<Expr>, 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<String, String>;
@@ -43,7 +45,7 @@ impl TranspileJS for ModelicaModel {
impl TranspileJS for Expr {
fn repr_js(&self) -> Result<String, String> {
- 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<String, String>;
@@ -40,7 +42,7 @@ impl TranspileScheme for ModelicaModel {
impl TranspileScheme for Expr {
fn repr_scheme(&self) -> Result<String, String> {
- use modelica_ast::Expr::*;
+ use modelica_parser::ast::Expr::*;
match *self {
Integer(e) => Ok(format!("{}", e)),
Float(e) => Ok(format!("{}", e)),