diff options
author | bnewbold <bnewbold@robocracy.org> | 2016-09-18 15:28:11 -0700 |
---|---|---|
committer | bnewbold <bnewbold@robocracy.org> | 2016-09-18 15:28:11 -0700 |
commit | 235e1abc21b54a60913adbe1062b8ad3a0bd09d6 (patch) | |
tree | a6c876524ed9a372e5875876c41885b7f87b82fb | |
parent | f264a289fe0d504a99c01d5787edb92af8f6ca91 (diff) | |
download | modelthing-235e1abc21b54a60913adbe1062b8ad3a0bd09d6.tar.gz modelthing-235e1abc21b54a60913adbe1062b8ad3a0bd09d6.zip |
progress and fixes for parser
-rw-r--r-- | src/bin/modelthing-modelica.rs | 4 | ||||
-rw-r--r-- | src/lib.rs | 34 | ||||
-rw-r--r-- | src/modelica_ast.rs | 22 | ||||
-rw-r--r-- | src/modelica_parser.lalrpop | 106 | ||||
-rw-r--r-- | src/modelica_parser.rs | 17008 |
5 files changed, 6147 insertions, 11027 deletions
diff --git a/src/bin/modelthing-modelica.rs b/src/bin/modelthing-modelica.rs index a8fa9be..d71a2eb 100644 --- a/src/bin/modelthing-modelica.rs +++ b/src/bin/modelthing-modelica.rs @@ -25,12 +25,12 @@ fn main() { } let time_stamp = Instant::now(); - let result = modelica_parser::parse_file(&s); + let result = modelica_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), + Ok(_) => println!("Input `{}` ({}s): OK", input, elapsed), Err(err) => println!("Input `{}` ({}s): parse error {:?}", input, elapsed, err), } } @@ -3,7 +3,37 @@ pub mod modelica_parser; pub mod modelica_ast; #[test] -fn parse_integer() { - assert_eq!(&format!("{}", modelica_parser::parse_integer("+123").unwrap()), +fn test_lexical() { + assert_eq!(&format!("{:?}", modelica_parser::parse_integer("+123").unwrap()), "123"); + assert_eq!(&format!("{:?}", modelica_parser::parse_integer("-9").unwrap()), + "-9"); + assert_eq!(&format!("{:?}", modelica_parser::parse_float("-1.0e0").unwrap()), + "-1"); + assert_eq!(&format!("{:?}", modelica_parser::parse_float("123.456").unwrap()), + "123.456"); +} + +#[test] +fn test_parse() { + let example1 = +r#"model MinimalModel + Real x; +equation + x = 1; +end MinimalModel; +"#; + assert_eq!(&format!("{:?}", modelica_parser::parse_model(example1).unwrap()), example1); + + let example2 = +r#"model MinimalModel + parameter Real a; + Real b; +equation + connect(a, b); + a = 1; + b = ((abs(a) + 2) / 4); +end MinimalModel; +"#; + assert_eq!(&format!("{:?}", modelica_parser::parse_model(example2).unwrap()), example2); } diff --git a/src/modelica_ast.rs b/src/modelica_ast.rs index 425993f..ceca11d 100644 --- a/src/modelica_ast.rs +++ b/src/modelica_ast.rs @@ -3,7 +3,7 @@ use std::fmt::{Debug, Formatter, Error}; pub struct Model { pub name: String, - pub variables: Vec<Component>, + pub components: Vec<Component>, pub equations: Vec<SimpleEquation>, pub connections: Vec<Connection>, pub extends: Vec<String>, @@ -63,16 +63,16 @@ impl Debug for Model { for e in self.extends.iter() { try!(write!(fmt, " extends {};\n", e)); } - for v in self.variables.iter() { + for v in self.components.iter() { try!(write!(fmt, " {:?};\n", v)); } try!(write!(fmt, "equation\n")); - for e in self.equations.iter() { - try!(write!(fmt, " {:?};\n", e)); - } 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) } } @@ -80,7 +80,7 @@ impl Debug for Model { impl Debug for ComponentPrefix { fn fmt(&self, fmt: &mut Formatter) -> Result<(), Error> { use self::ComponentPrefix::*; - write!(fmt, "{:?}", + write!(fmt, "{}", match *self { Flow => "flow", Stream => "stream", @@ -95,8 +95,12 @@ impl Debug for ComponentPrefix { impl Debug for Component { fn fmt(&self, fmt: &mut Formatter) -> Result<(), Error> { - write!(fmt, "{:?}{}", - self.prefix.unwrap(), + write!(fmt, "{}{} {}", + match self.prefix { + Some(p) => format!("{:?} ", p), + None => "".to_string(), + }, + self.specifier, self.name, ) } @@ -104,7 +108,7 @@ impl Debug for Component { impl Debug for Connection { fn fmt(&self, fmt: &mut Formatter) -> Result<(), Error> { - write!(fmt, "connect({:?}, {:?});", self.a, self.b) + write!(fmt, "connect({}, {})", self.a, self.b) } } diff --git a/src/modelica_parser.lalrpop b/src/modelica_parser.lalrpop index 09036bd..9cb2c1c 100644 --- a/src/modelica_parser.lalrpop +++ b/src/modelica_parser.lalrpop @@ -1,4 +1,6 @@ -// XXX: use std::str::FromStr; +use std::str::FromStr; +// XXX: use modelica_ast::{Model, Component, ComponentPrefix, Connection, SimpleEquation, Bin}; +use modelica_ast::*; // This is an incomplete, non-standards-compliant, minimum-viable parser @@ -6,90 +8,80 @@ grammar; // Lexical Tokens -identifier: () = { - r"[a-zA-Z_][a-zA-Z_0-9]*", +pub identifier: String = { + r"[a-zA-Z_][a-zA-Z_0-9]*" => <>.to_string(), }; -string_literal: () = { - r#""[^"\\]*""#, +string_literal: String = { + r#""[^"\\]*""# => <>.to_string(), //<s:r#""[^"\\]*""#> => &s[1..s.len()-1], }; -pub integer: () = { - r"[+-]?\d+", +pub integer: i64 = { + r"[+-]?\d+" => i64::from_str(<>).unwrap(), }; -float: () = { - r"[+-]?\d+\.\d*([eE][-+]?\d+)?", +pub float: f64 = { + r"[+-]?\d+\.\d*([eE][-+]?\d+)?" => f64::from_str(<>).unwrap(), }; // Grammar -pub model: () = { - "model" identifier component_declaration* "equation" equation_entry* "end" identifier ";", +pub model: Model = { + "model" <n:identifier> <cd:component_declaration*> "equation" <cc:connect_clause*> <se:simple_equation*> "end" identifier ";" => + Model { name:n, components: cd, connections: cc, equations: se, extends: vec![] }, }; -equation_entry: () = { - simple_equation, - connect_clause, +component_declaration: Component = { + <prefix:component_prefix?> <specifier:identifier> <name:identifier> string_literal? ";" => + Component { prefix:prefix, specifier:specifier, name:name}, }; -component_declaration: () = { - component_prefix? identifier identifier string_literal? ";", +component_prefix: ComponentPrefix = { + "flow" => ComponentPrefix::Flow, + "stream" => ComponentPrefix::Stream, + "input" => ComponentPrefix::Input, + "output" => ComponentPrefix::Output, + "discrete" => ComponentPrefix::Discrete, + "parameter" => ComponentPrefix::Parameter, + "constant" => ComponentPrefix::Constant, }; -component_prefix: () = { - "flow", - "stream", - "input", - "output", - "discrete", - "parameter", - "constant", +simple_equation: SimpleEquation = { + <lhs:expr> "=" <rhs:expr> ";" => SimpleEquation {lhs:lhs, rhs:rhs}, }; -simple_equation: () = { - expr "=" expr ";", -}; - -connect_clause: () = { - "connect" "(" identifier "," identifier ")" ";", +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 "+" factor, - expr "-" factor, +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: () = { - factor "*" term, - factor "/" term, - "-" term, +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)), + "-" <t:term> => + Expr::BinExpr(BinOperator::Multiply, Box::new(Expr::Integer(-1)), Box::new(t)), term, }; -term: () = { - integer, - float, - identifier, - "der" "(" expr ")", - "abs" "(" expr ")", - "(" expr ")", -}; - -binary_op: () = { - "+", - "-", - "*", - "/", -}; - -//// Meta/High-Level - -pub file: () = { - model, +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.rs b/src/modelica_parser.rs index a34b538..a65b6a4 100644 --- a/src/modelica_parser.rs +++ b/src/modelica_parser.rs @@ -1,8 +1,12 @@ +use std::str::FromStr; +use modelica_ast::*; extern crate lalrpop_util as __lalrpop_util; -mod __parse__file { +mod __parse__float { #![allow(non_snake_case, non_camel_case_types, unused_mut, unused_variables, unused_imports)] + use std::str::FromStr; + use modelica_ast::*; extern crate lalrpop_util as __lalrpop_util; #[allow(dead_code)] pub enum __Symbol<'input> { @@ -32,30 +36,30 @@ mod __parse__file { 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), - Nt____file(()), - Nt____integer(()), - Nt____model(()), - Ntbinary__op(()), - Ntcomponent__declaration(()), - Ntcomponent__declaration_2a(::std::vec::Vec<()>), - Ntcomponent__declaration_2b(::std::vec::Vec<()>), - Ntcomponent__prefix(()), - Ntcomponent__prefix_3f(::std::option::Option<()>), - Ntconnect__clause(()), - Ntequation__entry(()), - Ntequation__entry_2a(::std::vec::Vec<()>), - Ntequation__entry_2b(::std::vec::Vec<()>), - Ntexpr(()), - Ntfactor(()), - Ntfile(()), - Ntfloat(()), - Ntidentifier(()), - Ntinteger(()), - Ntmodel(()), - Ntsimple__equation(()), - Ntstring__literal(()), - Ntstring__literal_3f(::std::option::Option<()>), - Ntterm(()), + Nt____float(f64), + Nt____identifier(String), + Nt____integer(i64), + Nt____model(Model), + 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(Model), + 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), } const __ACTION: &'static [i32] = &[ // State 0 @@ -77,13 +81,13 @@ mod __parse__file { 0, // on "equation", error 0, // on "flow", error 0, // on "input", error - 4, // on "model", goto 3 + 0, // on "model", error 0, // on "output", error 0, // on "parameter", error 0, // on "stream", error 0, // on r#"\"[^\"\\\\]*\""#, error 0, // on r#"[+-]?\\d+"#, error - 0, // on r#"[+-]?\\d+\\.\\d*([eE][-+]?\\d+)?"#, error + 3, // on r#"[+-]?\\d+\\.\\d*([eE][-+]?\\d+)?"#, goto 2 0, // on r#"[a-zA-Z_][a-zA-Z_0-9]*"#, error // State 1 0, // on "(", error @@ -139,3517 +143,1585 @@ mod __parse__file { 0, // on r#"[+-]?\\d+"#, error 0, // on r#"[+-]?\\d+\\.\\d*([eE][-+]?\\d+)?"#, error 0, // on r#"[a-zA-Z_][a-zA-Z_0-9]*"#, error - // State 3 - 0, // on "(", error - 0, // on ")", error - 0, // on "*", error - 0, // on "+", error - 0, // on ",", error - 0, // on "-", error - 0, // on "/", error - 0, // on ";", error - 0, // on "=", error - 0, // on "abs", error - 0, // on "connect", error - 0, // on "constant", error - 0, // on "der", error - 0, // on "discrete", error - 0, // on "end", error - 0, // on "equation", error - 0, // on "flow", error - 0, // on "input", error - 0, // on "model", error - 0, // on "output", error - 0, // on "parameter", error - 0, // on "stream", error - 0, // on r#"\"[^\"\\\\]*\""#, error - 0, // on r#"[+-]?\\d+"#, error - 0, // on r#"[+-]?\\d+\\.\\d*([eE][-+]?\\d+)?"#, error - 6, // on r#"[a-zA-Z_][a-zA-Z_0-9]*"#, goto 5 - // State 4 - 0, // on "(", error - 0, // on ")", error - 0, // on "*", error - 0, // on "+", error - 0, // on ",", error - 0, // on "-", error - 0, // on "/", error - 0, // on ";", error - 0, // on "=", error - 0, // on "abs", error - 0, // on "connect", error - 11, // on "constant", goto 10 - 0, // on "der", error - 12, // on "discrete", goto 11 - 0, // on "end", error - 13, // on "equation", goto 12 - 14, // on "flow", goto 13 - 15, // on "input", goto 14 - 0, // on "model", error - 16, // on "output", goto 15 - 17, // on "parameter", goto 16 - 18, // on "stream", goto 17 - 0, // on r#"\"[^\"\\\\]*\""#, error - 0, // on r#"[+-]?\\d+"#, error - 0, // on r#"[+-]?\\d+\\.\\d*([eE][-+]?\\d+)?"#, error - 19, // on r#"[a-zA-Z_][a-zA-Z_0-9]*"#, goto 18 - // State 5 - 0, // on "(", error - 0, // on ")", error - 0, // on "*", error - 0, // on "+", error - 0, // on ",", error - 0, // on "-", error - 0, // on "/", error - 0, // on ";", error - 0, // on "=", error - 0, // on "abs", error - 0, // on "connect", error - -41, // on "constant", reduce `identifier = r#"[a-zA-Z_][a-zA-Z_0-9]*"# => ActionFn(3);` - 0, // on "der", error - -41, // on "discrete", reduce `identifier = r#"[a-zA-Z_][a-zA-Z_0-9]*"# => ActionFn(3);` - 0, // on "end", error - -41, // on "equation", reduce `identifier = r#"[a-zA-Z_][a-zA-Z_0-9]*"# => ActionFn(3);` - -41, // on "flow", reduce `identifier = r#"[a-zA-Z_][a-zA-Z_0-9]*"# => ActionFn(3);` - -41, // on "input", reduce `identifier = r#"[a-zA-Z_][a-zA-Z_0-9]*"# => ActionFn(3);` - 0, // on "model", error - -41, // on "output", reduce `identifier = r#"[a-zA-Z_][a-zA-Z_0-9]*"# => ActionFn(3);` - -41, // on "parameter", reduce `identifier = r#"[a-zA-Z_][a-zA-Z_0-9]*"# => ActionFn(3);` - -41, // on "stream", reduce `identifier = r#"[a-zA-Z_][a-zA-Z_0-9]*"# => ActionFn(3);` - 0, // on r#"\"[^\"\\\\]*\""#, error - 0, // on r#"[+-]?\\d+"#, error - 0, // on r#"[+-]?\\d+\\.\\d*([eE][-+]?\\d+)?"#, error - -41, // on r#"[a-zA-Z_][a-zA-Z_0-9]*"#, reduce `identifier = r#"[a-zA-Z_][a-zA-Z_0-9]*"# => ActionFn(3);` - // State 6 - 0, // on "(", error - 0, // on ")", error - 0, // on "*", error - 0, // on "+", error - 0, // on ",", error - 0, // on "-", error - 0, // on "/", error - 0, // on ";", error - 0, // on "=", error - 0, // on "abs", error - 0, // on "connect", error - -14, // on "constant", reduce `component_declaration+ = component_declaration => ActionFn(46);` - 0, // on "der", error - -14, // on "discrete", reduce `component_declaration+ = component_declaration => ActionFn(46);` - 0, // on "end", error - -14, // on "equation", reduce `component_declaration+ = component_declaration => ActionFn(46);` - -14, // on "flow", reduce `component_declaration+ = component_declaration => ActionFn(46);` - -14, // on "input", reduce `component_declaration+ = component_declaration => ActionFn(46);` - 0, // on "model", error - -14, // on "output", reduce `component_declaration+ = component_declaration => ActionFn(46);` - -14, // on "parameter", reduce `component_declaration+ = component_declaration => ActionFn(46);` - -14, // on "stream", reduce `component_declaration+ = component_declaration => ActionFn(46);` - 0, // on r#"\"[^\"\\\\]*\""#, error - 0, // on r#"[+-]?\\d+"#, error - 0, // on r#"[+-]?\\d+\\.\\d*([eE][-+]?\\d+)?"#, error - -14, // on r#"[a-zA-Z_][a-zA-Z_0-9]*"#, reduce `component_declaration+ = component_declaration => ActionFn(46);` - // State 7 - 0, // on "(", error - 0, // on ")", error - 0, // on "*", error - 0, // on "+", error - 0, // on ",", error - 0, // on "-", error - 0, // on "/", error - 0, // on ";", error - 0, // on "=", error - 0, // on "abs", error - 0, // on "connect", error - 11, // on "constant", goto 10 - 0, // on "der", error - 12, // on "discrete", goto 11 - 0, // on "end", error - 21, // on "equation", goto 20 - 14, // on "flow", goto 13 - 15, // on "input", goto 14 - 0, // on "model", error - 16, // on "output", goto 15 - 17, // on "parameter", goto 16 - 18, // on "stream", goto 17 - 0, // on r#"\"[^\"\\\\]*\""#, error - 0, // on r#"[+-]?\\d+"#, error - 0, // on r#"[+-]?\\d+\\.\\d*([eE][-+]?\\d+)?"#, error - 19, // on r#"[a-zA-Z_][a-zA-Z_0-9]*"#, goto 18 - // State 8 - 0, // on "(", error - 0, // on ")", error - 0, // on "*", error - 0, // on "+", error - 0, // on ",", error - 0, // on "-", error - 0, // on "/", error - 0, // on ";", error - 0, // on "=", error - 0, // on "abs", error - 0, // on "connect", error - 0, // on "constant", error - 0, // on "der", error - 0, // on "discrete", error - 0, // on "end", error - 0, // on "equation", error - 0, // on "flow", error - 0, // on "input", error - 0, // on "model", error - 0, // on "output", error - 0, // on "parameter", error - 0, // on "stream", error - 0, // on r#"\"[^\"\\\\]*\""#, error - 0, // on r#"[+-]?\\d+"#, error - 0, // on r#"[+-]?\\d+\\.\\d*([eE][-+]?\\d+)?"#, error - 19, // on r#"[a-zA-Z_][a-zA-Z_0-9]*"#, goto 18 - // State 9 - 0, // on "(", error - 0, // on ")", error - 0, // on "*", error - 0, // on "+", error - 0, // on ",", error - 0, // on "-", error - 0, // on "/", error - 0, // on ";", error - 0, // on "=", error - 0, // on "abs", error - 0, // on "connect", error - 0, // on "constant", error - 0, // on "der", error - 0, // on "discrete", error - 0, // on "end", error - 0, // on "equation", error - 0, // on "flow", error - 0, // on "input", error - 0, // on "model", error - 0, // on "output", error - 0, // on "parameter", error - 0, // on "stream", error - 0, // on r#"\"[^\"\\\\]*\""#, error - 0, // on r#"[+-]?\\d+"#, error - 0, // on r#"[+-]?\\d+\\.\\d*([eE][-+]?\\d+)?"#, error - 24, // on r#"[a-zA-Z_][a-zA-Z_0-9]*"#, goto 23 - // State 10 - 0, // on "(", error - 0, // on ")", error - 0, // on "*", error - 0, // on "+", error - 0, // on ",", error - 0, // on "-", error - 0, // on "/", error - 0, // on ";", error - 0, // on "=", error - 0, // on "abs", error - 0, // on "connect", error - 0, // on "constant", error - 0, // on "der", error - 0, // on "discrete", error - 0, // on "end", error - 0, // on "equation", error - 0, // on "flow", error - 0, // on "input", error - 0, // on "model", error - 0, // on "output", error - 0, // on "parameter", error - 0, // on "stream", error - 0, // on r#"\"[^\"\\\\]*\""#, error - 0, // on r#"[+-]?\\d+"#, error - 0, // on r#"[+-]?\\d+\\.\\d*([eE][-+]?\\d+)?"#, error - -22, // on r#"[a-zA-Z_][a-zA-Z_0-9]*"#, reduce `component_prefix = "constant" => ActionFn(17);` - // State 11 - 0, // on "(", error - 0, // on ")", error - 0, // on "*", error - 0, // on "+", error - 0, // on ",", error - 0, // on "-", error - 0, // on "/", error - 0, // on ";", error - 0, // on "=", error - 0, // on "abs", error - 0, // on "connect", error - 0, // on "constant", error - 0, // on "der", error - 0, // on "discrete", error - 0, // on "end", error - 0, // on "equation", error - 0, // on "flow", error - 0, // on "input", error - 0, // on "model", error - 0, // on "output", error - 0, // on "parameter", error - 0, // on "stream", error - 0, // on r#"\"[^\"\\\\]*\""#, error - 0, // on r#"[+-]?\\d+"#, error - 0, // on r#"[+-]?\\d+\\.\\d*([eE][-+]?\\d+)?"#, error - -20, // on r#"[a-zA-Z_][a-zA-Z_0-9]*"#, reduce `component_prefix = "discrete" => ActionFn(15);` - // State 12 - 35, // on "(", goto 34 - 0, // on ")", error - 0, // on "*", error - 0, // on "+", error - 0, // on ",", error - 36, // on "-", goto 35 - 0, // on "/", error - 0, // on ";", error - 0, // on "=", error - 37, // on "abs", goto 36 - 38, // on "connect", goto 37 - 0, // on "constant", error - 39, // on "der", goto 38 - 0, // on "discrete", error - 40, // on "end", goto 39 - 0, // on "equation", error - 0, // on "flow", error - 0, // on "input", error - 0, // on "model", error - 0, // on "output", error - 0, // on "parameter", error - 0, // on "stream", error - 0, // on r#"\"[^\"\\\\]*\""#, error - 41, // on r#"[+-]?\\d+"#, goto 40 - 42, // on r#"[+-]?\\d+\\.\\d*([eE][-+]?\\d+)?"#, goto 41 - 43, // on r#"[a-zA-Z_][a-zA-Z_0-9]*"#, goto 42 - // State 13 - 0, // on "(", error - 0, // on ")", error - 0, // on "*", error - 0, // on "+", error - 0, // on ",", error - 0, // on "-", error - 0, // on "/", error - 0, // on ";", error - 0, // on "=", error - 0, // on "abs", error - 0, // on "connect", error - 0, // on "constant", error - 0, // on "der", error - 0, // on "discrete", error - 0, // on "end", error - 0, // on "equation", error - 0, // on "flow", error - 0, // on "input", error - 0, // on "model", error - 0, // on "output", error - 0, // on "parameter", error - 0, // on "stream", error - 0, // on r#"\"[^\"\\\\]*\""#, error - 0, // on r#"[+-]?\\d+"#, error - 0, // on r#"[+-]?\\d+\\.\\d*([eE][-+]?\\d+)?"#, error - -16, // on r#"[a-zA-Z_][a-zA-Z_0-9]*"#, reduce `component_prefix = "flow" => ActionFn(11);` - // State 14 - 0, // on "(", error - 0, // on ")", error - 0, // on "*", error - 0, // on "+", error - 0, // on ",", error - 0, // on "-", error - 0, // on "/", error - 0, // on ";", error - 0, // on "=", error - 0, // on "abs", error - 0, // on "connect", error - 0, // on "constant", error - 0, // on "der", error - 0, // on "discrete", error - 0, // on "end", error - 0, // on "equation", error - 0, // on "flow", error - 0, // on "input", error - 0, // on "model", error - 0, // on "output", error - 0, // on "parameter", error - 0, // on "stream", error - 0, // on r#"\"[^\"\\\\]*\""#, error - 0, // on r#"[+-]?\\d+"#, error - 0, // on r#"[+-]?\\d+\\.\\d*([eE][-+]?\\d+)?"#, error - -18, // on r#"[a-zA-Z_][a-zA-Z_0-9]*"#, reduce `component_prefix = "input" => ActionFn(13);` - // State 15 - 0, // on "(", error - 0, // on ")", error - 0, // on "*", error - 0, // on "+", error - 0, // on ",", error - 0, // on "-", error - 0, // on "/", error - 0, // on ";", error - 0, // on "=", error - 0, // on "abs", error - 0, // on "connect", error - 0, // on "constant", error - 0, // on "der", error - 0, // on "discrete", error - 0, // on "end", error - 0, // on "equation", error - 0, // on "flow", error - 0, // on "input", error - 0, // on "model", error - 0, // on "output", error - 0, // on "parameter", error - 0, // on "stream", error - 0, // on r#"\"[^\"\\\\]*\""#, error - 0, // on r#"[+-]?\\d+"#, error - 0, // on r#"[+-]?\\d+\\.\\d*([eE][-+]?\\d+)?"#, error - -19, // on r#"[a-zA-Z_][a-zA-Z_0-9]*"#, reduce `component_prefix = "output" => ActionFn(14);` - // State 16 - 0, // on "(", error - 0, // on ")", error - 0, // on "*", error - 0, // on "+", error - 0, // on ",", error - 0, // on "-", error - 0, // on "/", error - 0, // on ";", error - 0, // on "=", error - 0, // on "abs", error - 0, // on "connect", error - 0, // on "constant", error - 0, // on "der", error - 0, // on "discrete", error - 0, // on "end", error - 0, // on "equation", error - 0, // on "flow", error - 0, // on "input", error - 0, // on "model", error - 0, // on "output", error - 0, // on "parameter", error - 0, // on "stream", error - 0, // on r#"\"[^\"\\\\]*\""#, error - 0, // on r#"[+-]?\\d+"#, error - 0, // on r#"[+-]?\\d+\\.\\d*([eE][-+]?\\d+)?"#, error - -21, // on r#"[a-zA-Z_][a-zA-Z_0-9]*"#, reduce `component_prefix = "parameter" => ActionFn(16);` - // State 17 - 0, // on "(", error - 0, // on ")", error - 0, // on "*", error - 0, // on "+", error - 0, // on ",", error - 0, // on "-", error - 0, // on "/", error - 0, // on ";", error - 0, // on "=", error - 0, // on "abs", error - 0, // on "connect", error - 0, // on "constant", error - 0, // on "der", error - 0, // on "discrete", error - 0, // on "end", error - 0, // on "equation", error - 0, // on "flow", error - 0, // on "input", error - 0, // on "model", error - 0, // on "output", error - 0, // on "parameter", error - 0, // on "stream", error - 0, // on r#"\"[^\"\\\\]*\""#, error - 0, // on r#"[+-]?\\d+"#, error - 0, // on r#"[+-]?\\d+\\.\\d*([eE][-+]?\\d+)?"#, error - -17, // on r#"[a-zA-Z_][a-zA-Z_0-9]*"#, reduce `component_prefix = "stream" => ActionFn(12);` - // State 18 - 0, // on "(", error - 0, // on ")", error - 0, // on "*", error - 0, // on "+", error - 0, // on ",", error - 0, // on "-", error - 0, // on "/", error - 0, // on ";", error - 0, // on "=", error - 0, // on "abs", error - 0, // on "connect", error - 0, // on "constant", error - 0, // on "der", error - 0, // on "discrete", error - 0, // on "end", error - 0, // on "equation", error - 0, // on "flow", error - 0, // on "input", error - 0, // on "model", error - 0, // on "output", error - 0, // on "parameter", error - 0, // on "stream", error - 0, // on r#"\"[^\"\\\\]*\""#, error - 0, // on r#"[+-]?\\d+"#, error - 0, // on r#"[+-]?\\d+\\.\\d*([eE][-+]?\\d+)?"#, error - -41, // on r#"[a-zA-Z_][a-zA-Z_0-9]*"#, reduce `identifier = r#"[a-zA-Z_][a-zA-Z_0-9]*"# => ActionFn(3);` - // State 19 - 0, // on "(", error - 0, // on ")", error - 0, // on "*", error - 0, // on "+", error - 0, // on ",", error - 0, // on "-", error - 0, // on "/", error - 0, // on ";", error - 0, // on "=", error - 0, // on "abs", error - 0, // on "connect", error - -15, // on "constant", reduce `component_declaration+ = component_declaration+, component_declaration => ActionFn(47);` - 0, // on "der", error - -15, // on "discrete", reduce `component_declaration+ = component_declaration+, component_declaration => ActionFn(47);` - 0, // on "end", error - -15, // on "equation", reduce `component_declaration+ = component_declaration+, component_declaration => ActionFn(47);` - -15, // on "flow", reduce `component_declaration+ = component_declaration+, component_declaration => ActionFn(47);` - -15, // on "input", reduce `component_declaration+ = component_declaration+, component_declaration => ActionFn(47);` - 0, // on "model", error - -15, // on "output", reduce `component_declaration+ = component_declaration+, component_declaration => ActionFn(47);` - -15, // on "parameter", reduce `component_declaration+ = component_declaration+, component_declaration => ActionFn(47);` - -15, // on "stream", reduce `component_declaration+ = component_declaration+, component_declaration => ActionFn(47);` - 0, // on r#"\"[^\"\\\\]*\""#, error - 0, // on r#"[+-]?\\d+"#, error - 0, // on r#"[+-]?\\d+\\.\\d*([eE][-+]?\\d+)?"#, error - -15, // on r#"[a-zA-Z_][a-zA-Z_0-9]*"#, reduce `component_declaration+ = component_declaration+, component_declaration => ActionFn(47);` - // State 20 - 35, // on "(", goto 34 - 0, // on ")", error - 0, // on "*", error - 0, // on "+", error - 0, // on ",", error - 36, // on "-", goto 35 - 0, // on "/", error - 0, // on ";", error - 0, // on "=", error - 37, // on "abs", goto 36 - 38, // on "connect", goto 37 - 0, // on "constant", error - 39, // on "der", goto 38 - 0, // on "discrete", error - 45, // on "end", goto 44 - 0, // on "equation", error - 0, // on "flow", error - 0, // on "input", error - 0, // on "model", error - 0, // on "output", error - 0, // on "parameter", error - 0, // on "stream", error - 0, // on r#"\"[^\"\\\\]*\""#, error - 41, // on r#"[+-]?\\d+"#, goto 40 - 42, // on r#"[+-]?\\d+\\.\\d*([eE][-+]?\\d+)?"#, goto 41 - 43, // on r#"[a-zA-Z_][a-zA-Z_0-9]*"#, goto 42 - // State 21 - 0, // on "(", error - 0, // on ")", error - 0, // on "*", error - 0, // on "+", error - 0, // on ",", error - 0, // on "-", error - 0, // on "/", error - 0, // on ";", error - 0, // on "=", error - 0, // on "abs", error - 0, // on "connect", error - 0, // on "constant", error - 0, // on "der", error - 0, // on "discrete", error - 0, // on "end", error - 0, // on "equation", error - 0, // on "flow", error - 0, // on "input", error - 0, // on "model", error - 0, // on "output", error - 0, // on "parameter", error - 0, // on "stream", error - 0, // on r#"\"[^\"\\\\]*\""#, error - 0, // on r#"[+-]?\\d+"#, error - 0, // on r#"[+-]?\\d+\\.\\d*([eE][-+]?\\d+)?"#, error - 24, // on r#"[a-zA-Z_][a-zA-Z_0-9]*"#, goto 23 - // State 22 - 0, // on "(", error - 0, // on ")", error - 0, // on "*", error - 0, // on "+", error - 0, // on ",", error - 0, // on "-", error - 0, // on "/", error - 48, // on ";", goto 47 - 0, // on "=", error - 0, // on "abs", error - 0, // on "connect", error - 0, // on "constant", error - 0, // on "der", error - 0, // on "discrete", error - 0, // on "end", error - 0, // on "equation", error - 0, // on "flow", error - 0, // on "input", error - 0, // on "model", error - 0, // on "output", error - 0, // on "parameter", error - 0, // on "stream", error - 49, // on r#"\"[^\"\\\\]*\""#, goto 48 - 0, // on r#"[+-]?\\d+"#, error - 0, // on r#"[+-]?\\d+\\.\\d*([eE][-+]?\\d+)?"#, error - 0, // on r#"[a-zA-Z_][a-zA-Z_0-9]*"#, error - // State 23 - 0, // on "(", error - 0, // on ")", error - 0, // on "*", error - 0, // on "+", error - 0, // on ",", error - 0, // on "-", error - 0, // on "/", error - -41, // on ";", reduce `identifier = r#"[a-zA-Z_][a-zA-Z_0-9]*"# => ActionFn(3);` - 0, // on "=", error - 0, // on "abs", error - 0, // on "connect", error - 0, // on "constant", error - 0, // on "der", error - 0, // on "discrete", error - 0, // on "end", error - 0, // on "equation", error - 0, // on "flow", error - 0, // on "input", error - 0, // on "model", error - 0, // on "output", error - 0, // on "parameter", error - 0, // on "stream", error - -41, // on r#"\"[^\"\\\\]*\""#, reduce `identifier = r#"[a-zA-Z_][a-zA-Z_0-9]*"# => ActionFn(3);` - 0, // on r#"[+-]?\\d+"#, error - 0, // on r#"[+-]?\\d+\\.\\d*([eE][-+]?\\d+)?"#, error - 0, // on r#"[a-zA-Z_][a-zA-Z_0-9]*"#, error - // State 24 - -27, // on "(", reduce `equation_entry = connect_clause => ActionFn(9);` - 0, // on ")", error - 0, // on "*", error - 0, // on "+", error - 0, // on ",", error - -27, // on "-", reduce `equation_entry = connect_clause => ActionFn(9);` - 0, // on "/", error - 0, // on ";", error - 0, // on "=", error - -27, // on "abs", reduce `equation_entry = connect_clause => ActionFn(9);` - -27, // on "connect", reduce `equation_entry = connect_clause => ActionFn(9);` - 0, // on "constant", error - -27, // on "der", reduce `equation_entry = connect_clause => ActionFn(9);` - 0, // on "discrete", error - -27, // on "end", reduce `equation_entry = connect_clause => ActionFn(9);` - 0, // on "equation", error - 0, // on "flow", error - 0, // on "input", error - 0, // on "model", error - 0, // on "output", error - 0, // on "parameter", error - 0, // on "stream", error - 0, // on r#"\"[^\"\\\\]*\""#, error - -27, // on r#"[+-]?\\d+"#, reduce `equation_entry = connect_clause => ActionFn(9);` - -27, // on r#"[+-]?\\d+\\.\\d*([eE][-+]?\\d+)?"#, reduce `equation_entry = connect_clause => ActionFn(9);` - -27, // on r#"[a-zA-Z_][a-zA-Z_0-9]*"#, reduce `equation_entry = connect_clause => ActionFn(9);` - // State 25 - -30, // on "(", reduce `equation_entry+ = equation_entry => ActionFn(48);` - 0, // on ")", error - 0, // on "*", error - 0, // on "+", error - 0, // on ",", error - -30, // on "-", reduce `equation_entry+ = equation_entry => ActionFn(48);` - 0, // on "/", error - 0, // on ";", error - 0, // on "=", error - -30, // on "abs", reduce `equation_entry+ = equation_entry => ActionFn(48);` - -30, // on "connect", reduce `equation_entry+ = equation_entry => ActionFn(48);` - 0, // on "constant", error - -30, // on "der", reduce `equation_entry+ = equation_entry => ActionFn(48);` - 0, // on "discrete", error - -30, // on "end", reduce `equation_entry+ = equation_entry => ActionFn(48);` - 0, // on "equation", error - 0, // on "flow", error - 0, // on "input", error - 0, // on "model", error - 0, // on "output", error - 0, // on "parameter", error - 0, // on "stream", error - 0, // on r#"\"[^\"\\\\]*\""#, error - -30, // on r#"[+-]?\\d+"#, reduce `equation_entry+ = equation_entry => ActionFn(48);` - -30, // on r#"[+-]?\\d+\\.\\d*([eE][-+]?\\d+)?"#, reduce `equation_entry+ = equation_entry => ActionFn(48);` - -30, // on r#"[a-zA-Z_][a-zA-Z_0-9]*"#, reduce `equation_entry+ = equation_entry => ActionFn(48);` - // State 26 - 35, // on "(", goto 34 - 0, // on ")", error - 0, // on "*", error - 0, // on "+", error - 0, // on ",", error - 36, // on "-", goto 35 - 0, // on "/", error - 0, // on ";", error - 0, // on "=", error - 37, // on "abs", goto 36 - 38, // on "connect", goto 37 - 0, // on "constant", error - 39, // on "der", goto 38 - 0, // on "discrete", error - 51, // on "end", goto 50 - 0, // on "equation", error - 0, // on "flow", error - 0, // on "input", error - 0, // on "model", error - 0, // on "output", error - 0, // on "parameter", error - 0, // on "stream", error - 0, // on r#"\"[^\"\\\\]*\""#, error - 41, // on r#"[+-]?\\d+"#, goto 40 - 42, // on r#"[+-]?\\d+\\.\\d*([eE][-+]?\\d+)?"#, goto 41 - 43, // on r#"[a-zA-Z_][a-zA-Z_0-9]*"#, goto 42 - // State 27 - 0, // on "(", error - 0, // on ")", error - 0, // on "*", error - 52, // on "+", goto 51 - 0, // on ",", error - 53, // on "-", goto 52 - 0, // on "/", error - 0, // on ";", error - 54, // on "=", goto 53 - 0, // on "abs", error - 0, // on "connect", error - 0, // on "constant", error - 0, // on "der", error - 0, // on "discrete", error - 0, // on "end", error - 0, // on "equation", error - 0, // on "flow", error - 0, // on "input", error - 0, // on "model", error - 0, // on "output", error - 0, // on "parameter", error - 0, // on "stream", error - 0, // on r#"\"[^\"\\\\]*\""#, error - 0, // on r#"[+-]?\\d+"#, error - 0, // on r#"[+-]?\\d+\\.\\d*([eE][-+]?\\d+)?"#, error - 0, // on r#"[a-zA-Z_][a-zA-Z_0-9]*"#, error - // State 28 - 0, // on "(", error - 0, // on ")", error - 55, // on "*", goto 54 - -34, // on "+", reduce `expr = factor => ActionFn(22);` - 0, // on ",", error - -34, // on "-", reduce `expr = factor => ActionFn(22);` - 56, // on "/", goto 55 - 0, // on ";", error - -34, // on "=", reduce `expr = factor => ActionFn(22);` - 0, // on "abs", error - 0, // on "connect", error - 0, // on "constant", error - 0, // on "der", error - 0, // on "discrete", error - 0, // on "end", error - 0, // on "equation", error - 0, // on "flow", error - 0, // on "input", error - 0, // on "model", error - 0, // on "output", error - 0, // on "parameter", error - 0, // on "stream", error - 0, // on r#"\"[^\"\\\\]*\""#, error - 0, // on r#"[+-]?\\d+"#, error - 0, // on r#"[+-]?\\d+\\.\\d*([eE][-+]?\\d+)?"#, error - 0, // on r#"[a-zA-Z_][a-zA-Z_0-9]*"#, error - // State 29 - 0, // on "(", error - 0, // on ")", error - -52, // on "*", reduce `term = float => ActionFn(28);` - -52, // on "+", reduce `term = float => ActionFn(28);` - 0, // on ",", error - -52, // on "-", reduce `term = float => ActionFn(28);` - -52, // on "/", reduce `term = float => ActionFn(28);` - 0, // on ";", error - -52, // on "=", reduce `term = float => ActionFn(28);` - 0, // on "abs", error - 0, // on "connect", error - 0, // on "constant", error - 0, // on "der", error - 0, // on "discrete", error - 0, // on "end", error - 0, // on "equation", error - 0, // on "flow", error - 0, // on "input", error - 0, // on "model", error - 0, // on "output", error - 0, // on "parameter", error - 0, // on "stream", error - 0, // on r#"\"[^\"\\\\]*\""#, error - 0, // on r#"[+-]?\\d+"#, error - 0, // on r#"[+-]?\\d+\\.\\d*([eE][-+]?\\d+)?"#, error - 0, // on r#"[a-zA-Z_][a-zA-Z_0-9]*"#, error - // State 30 - 0, // on "(", error - 0, // on ")", error - -53, // on "*", reduce `term = identifier => ActionFn(29);` - -53, // on "+", reduce `term = identifier => ActionFn(29);` - 0, // on ",", error - -53, // on "-", reduce `term = identifier => ActionFn(29);` - -53, // on "/", reduce `term = identifier => ActionFn(29);` - 0, // on ";", error - -53, // on "=", reduce `term = identifier => ActionFn(29);` - 0, // on "abs", error - 0, // on "connect", error - 0, // on "constant", error - 0, // on "der", error - 0, // on "discrete", error - 0, // on "end", error - 0, // on "equation", error - 0, // on "flow", error - 0, // on "input", error - 0, // on "model", error - 0, // on "output", error - 0, // on "parameter", error - 0, // on "stream", error - 0, // on r#"\"[^\"\\\\]*\""#, error - 0, // on r#"[+-]?\\d+"#, error - 0, // on r#"[+-]?\\d+\\.\\d*([eE][-+]?\\d+)?"#, error - 0, // on r#"[a-zA-Z_][a-zA-Z_0-9]*"#, error - // State 31 - 0, // on "(", error - 0, // on ")", error - -51, // on "*", reduce `term = integer => ActionFn(27);` - -51, // on "+", reduce `term = integer => ActionFn(27);` - 0, // on ",", error - -51, // on "-", reduce `term = integer => ActionFn(27);` - -51, // on "/", reduce `term = integer => ActionFn(27);` - 0, // on ";", error - -51, // on "=", reduce `term = integer => ActionFn(27);` - 0, // on "abs", error - 0, // on "connect", error - 0, // on "constant", error - 0, // on "der", error - 0, // on "discrete", error - 0, // on "end", error - 0, // on "equation", error - 0, // on "flow", error - 0, // on "input", error - 0, // on "model", error - 0, // on "output", error - 0, // on "parameter", error - 0, // on "stream", error - 0, // on r#"\"[^\"\\\\]*\""#, error - 0, // on r#"[+-]?\\d+"#, error - 0, // on r#"[+-]?\\d+\\.\\d*([eE][-+]?\\d+)?"#, error - 0, // on r#"[a-zA-Z_][a-zA-Z_0-9]*"#, error - // State 32 - -26, // on "(", reduce `equation_entry = simple_equation => ActionFn(8);` - 0, // on ")", error - 0, // on "*", error - 0, // on "+", error - 0, // on ",", error - -26, // on "-", reduce `equation_entry = simple_equation => ActionFn(8);` - 0, // on "/", error - 0, // on ";", error - 0, // on "=", error - -26, // on "abs", reduce `equation_entry = simple_equation => ActionFn(8);` - -26, // on "connect", reduce `equation_entry = simple_equation => ActionFn(8);` - 0, // on "constant", error - -26, // on "der", reduce `equation_entry = simple_equation => ActionFn(8);` - 0, // on "discrete", error - -26, // on "end", reduce `equation_entry = simple_equation => ActionFn(8);` - 0, // on "equation", error - 0, // on "flow", error - 0, // on "input", error - 0, // on "model", error - 0, // on "output", error - 0, // on "parameter", error - 0, // on "stream", error - 0, // on r#"\"[^\"\\\\]*\""#, error - -26, // on r#"[+-]?\\d+"#, reduce `equation_entry = simple_equation => ActionFn(8);` - -26, // on r#"[+-]?\\d+\\.\\d*([eE][-+]?\\d+)?"#, reduce `equation_entry = simple_equation => ActionFn(8);` - -26, // on r#"[a-zA-Z_][a-zA-Z_0-9]*"#, reduce `equation_entry = simple_equation => ActionFn(8);` - // State 33 - 0, // on "(", error - 0, // on ")", error - -38, // on "*", reduce `factor = term => ActionFn(26);` - -38, // on "+", reduce `factor = term => ActionFn(26);` - 0, // on ",", error - -38, // on "-", reduce `factor = term => ActionFn(26);` - -38, // on "/", reduce `factor = term => ActionFn(26);` - 0, // on ";", error - -38, // on "=", reduce `factor = term => ActionFn(26);` - 0, // on "abs", error - 0, // on "connect", error - 0, // on "constant", error - 0, // on "der", error - 0, // on "discrete", error - 0, // on "end", error - 0, // on "equation", error - 0, // on "flow", error - 0, // on "input", error - 0, // on "model", error - 0, // on "output", error - 0, // on "parameter", error - 0, // on "stream", error - 0, // on r#"\"[^\"\\\\]*\""#, error - 0, // on r#"[+-]?\\d+"#, error - 0, // on r#"[+-]?\\d+\\.\\d*([eE][-+]?\\d+)?"#, error - 0, // on r#"[a-zA-Z_][a-zA-Z_0-9]*"#, error - // State 34 - 63, // on "(", goto 62 - 0, // on ")", error - 0, // on "*", error - 0, // on "+", error - 0, // on ",", error - 64, // on "-", goto 63 - 0, // on "/", error - 0, // on ";", error - 0, // on "=", error - 65, // on "abs", goto 64 - 0, // on "connect", error - 0, // on "constant", error - 66, // on "der", goto 65 - 0, // on "discrete", error - 0, // on "end", error - 0, // on "equation", error - 0, // on "flow", error - 0, // on "input", error - 0, // on "model", error - 0, // on "output", error - 0, // on "parameter", error - 0, // on "stream", error - 0, // on r#"\"[^\"\\\\]*\""#, error - 67, // on r#"[+-]?\\d+"#, goto 66 - 68, // on r#"[+-]?\\d+\\.\\d*([eE][-+]?\\d+)?"#, goto 67 - 69, // on r#"[a-zA-Z_][a-zA-Z_0-9]*"#, goto 68 - // State 35 - 35, // on "(", goto 34 - 0, // on ")", error - 0, // on "*", error - 0, // on "+", error - 0, // on ",", error - 0, // on "-", error - 0, // on "/", error - 0, // on ";", error - 0, // on "=", error - 37, // on "abs", goto 36 - 0, // on "connect", error - 0, // on "constant", error - 39, // on "der", goto 38 - 0, // on "discrete", error - 0, // on "end", error - 0, // on "equation", error - 0, // on "flow", error - 0, // on "input", error - 0, // on "model", error - 0, // on "output", error - 0, // on "parameter", error - 0, // on "stream", error - 0, // on r#"\"[^\"\\\\]*\""#, error - 41, // on r#"[+-]?\\d+"#, goto 40 - 42, // on r#"[+-]?\\d+\\.\\d*([eE][-+]?\\d+)?"#, goto 41 - 43, // on r#"[a-zA-Z_][a-zA-Z_0-9]*"#, goto 42 - // State 36 - 71, // on "(", goto 70 - 0, // on ")", error - 0, // on "*", error - 0, // on "+", error - 0, // on ",", error - 0, // on "-", error - 0, // on "/", error - 0, // on ";", error - 0, // on "=", error - 0, // on "abs", error - 0, // on "connect", error - 0, // on "constant", error - 0, // on "der", error - 0, // on "discrete", error - 0, // on "end", error - 0, // on "equation", error - 0, // on "flow", error - 0, // on "input", error - 0, // on "model", error - 0, // on "output", error - 0, // on "parameter", error - 0, // on "stream", error - 0, // on r#"\"[^\"\\\\]*\""#, error - 0, // on r#"[+-]?\\d+"#, error - 0, // on r#"[+-]?\\d+\\.\\d*([eE][-+]?\\d+)?"#, error - 0, // on r#"[a-zA-Z_][a-zA-Z_0-9]*"#, error - // State 37 - 72, // on "(", goto 71 - 0, // on ")", error - 0, // on "*", error - 0, // on "+", error - 0, // on ",", error - 0, // on "-", error - 0, // on "/", error - 0, // on ";", error - 0, // on "=", error - 0, // on "abs", error - 0, // on "connect", error - 0, // on "constant", error - 0, // on "der", error - 0, // on "discrete", error - 0, // on "end", error - 0, // on "equation", error - 0, // on "flow", error - 0, // on "input", error - 0, // on "model", error - 0, // on "output", error - 0, // on "parameter", error - 0, // on "stream", error - 0, // on r#"\"[^\"\\\\]*\""#, error - 0, // on r#"[+-]?\\d+"#, error - 0, // on r#"[+-]?\\d+\\.\\d*([eE][-+]?\\d+)?"#, error - 0, // on r#"[a-zA-Z_][a-zA-Z_0-9]*"#, error - // State 38 - 73, // on "(", goto 72 - 0, // on ")", error - 0, // on "*", error - 0, // on "+", error - 0, // on ",", error - 0, // on "-", error - 0, // on "/", error - 0, // on ";", error - 0, // on "=", error - 0, // on "abs", error - 0, // on "connect", error - 0, // on "constant", error - 0, // on "der", error - 0, // on "discrete", error - 0, // on "end", error - 0, // on "equation", error - 0, // on "flow", error - 0, // on "input", error - 0, // on "model", error - 0, // on "output", error - 0, // on "parameter", error - 0, // on "stream", error - 0, // on r#"\"[^\"\\\\]*\""#, error - 0, // on r#"[+-]?\\d+"#, error - 0, // on r#"[+-]?\\d+\\.\\d*([eE][-+]?\\d+)?"#, error - 0, // on r#"[a-zA-Z_][a-zA-Z_0-9]*"#, error - // State 39 - 0, // on "(", error - 0, // on ")", error - 0, // on "*", error - 0, // on "+", error - 0, // on ",", error - 0, // on "-", error - 0, // on "/", error - 0, // on ";", error - 0, // on "=", error - 0, // on "abs", error - 0, // on "connect", error - 0, // on "constant", error - 0, // on "der", error - 0, // on "discrete", error - 0, // on "end", error - 0, // on "equation", error - 0, // on "flow", error - 0, // on "input", error - 0, // on "model", error - 0, // on "output", error - 0, // on "parameter", error - 0, // on "stream", error - 0, // on r#"\"[^\"\\\\]*\""#, error - 0, // on r#"[+-]?\\d+"#, error - 0, // on r#"[+-]?\\d+\\.\\d*([eE][-+]?\\d+)?"#, error - 75, // on r#"[a-zA-Z_][a-zA-Z_0-9]*"#, goto 74 - // State 40 - 0, // on "(", error - 0, // on ")", error - -42, // on "*", reduce `integer = r#"[+-]?\\d+"# => ActionFn(5);` - -42, // on "+", reduce `integer = r#"[+-]?\\d+"# => ActionFn(5);` - 0, // on ",", error - -42, // on "-", reduce `integer = r#"[+-]?\\d+"# => ActionFn(5);` - -42, // on "/", reduce `integer = r#"[+-]?\\d+"# => ActionFn(5);` - 0, // on ";", error - -42, // on "=", reduce `integer = r#"[+-]?\\d+"# => ActionFn(5);` - 0, // on "abs", error - 0, // on "connect", error - 0, // on "constant", error - 0, // on "der", error - 0, // on "discrete", error - 0, // on "end", error - 0, // on "equation", error - 0, // on "flow", error - 0, // on "input", error - 0, // on "model", error - 0, // on "output", error - 0, // on "parameter", error - 0, // on "stream", error - 0, // on r#"\"[^\"\\\\]*\""#, error - 0, // on r#"[+-]?\\d+"#, error - 0, // on r#"[+-]?\\d+\\.\\d*([eE][-+]?\\d+)?"#, error - 0, // on r#"[a-zA-Z_][a-zA-Z_0-9]*"#, error - // State 41 - 0, // on "(", error - 0, // on ")", error - -40, // on "*", reduce `float = r#"[+-]?\\d+\\.\\d*([eE][-+]?\\d+)?"# => ActionFn(6);` - -40, // on "+", reduce `float = r#"[+-]?\\d+\\.\\d*([eE][-+]?\\d+)?"# => ActionFn(6);` - 0, // on ",", error - -40, // on "-", reduce `float = r#"[+-]?\\d+\\.\\d*([eE][-+]?\\d+)?"# => ActionFn(6);` - -40, // on "/", reduce `float = r#"[+-]?\\d+\\.\\d*([eE][-+]?\\d+)?"# => ActionFn(6);` - 0, // on ";", error - -40, // on "=", reduce `float = r#"[+-]?\\d+\\.\\d*([eE][-+]?\\d+)?"# => ActionFn(6);` - 0, // on "abs", error - 0, // on "connect", error - 0, // on "constant", error - 0, // on "der", error - 0, // on "discrete", error - 0, // on "end", error - 0, // on "equation", error - 0, // on "flow", error - 0, // on "input", error - 0, // on "model", error - 0, // on "output", error - 0, // on "parameter", error - 0, // on "stream", error - 0, // on r#"\"[^\"\\\\]*\""#, error - 0, // on r#"[+-]?\\d+"#, error - 0, // on r#"[+-]?\\d+\\.\\d*([eE][-+]?\\d+)?"#, error - 0, // on r#"[a-zA-Z_][a-zA-Z_0-9]*"#, error - // State 42 - 0, // on "(", error - 0, // on ")", error - -41, // on "*", reduce `identifier = r#"[a-zA-Z_][a-zA-Z_0-9]*"# => ActionFn(3);` - -41, // on "+", reduce `identifier = r#"[a-zA-Z_][a-zA-Z_0-9]*"# => ActionFn(3);` - 0, // on ",", error - -41, // on "-", reduce `identifier = r#"[a-zA-Z_][a-zA-Z_0-9]*"# => ActionFn(3);` - -41, // on "/", reduce `identifier = r#"[a-zA-Z_][a-zA-Z_0-9]*"# => ActionFn(3);` - 0, // on ";", error - -41, // on "=", reduce `identifier = r#"[a-zA-Z_][a-zA-Z_0-9]*"# => ActionFn(3);` - 0, // on "abs", error - 0, // on "connect", error - 0, // on "constant", error - 0, // on "der", error - 0, // on "discrete", error - 0, // on "end", error - 0, // on "equation", error - 0, // on "flow", error - 0, // on "input", error - 0, // on "model", error - 0, // on "output", error - 0, // on "parameter", error - 0, // on "stream", error - 0, // on r#"\"[^\"\\\\]*\""#, error - 0, // on r#"[+-]?\\d+"#, error - 0, // on r#"[+-]?\\d+\\.\\d*([eE][-+]?\\d+)?"#, error - 0, // on r#"[a-zA-Z_][a-zA-Z_0-9]*"#, error - // State 43 - 35, // on "(", goto 34 - 0, // on ")", error - 0, // on "*", error - 0, // on "+", error - 0, // on ",", error - 36, // on "-", goto 35 - 0, // on "/", error - 0, // on ";", error - 0, // on "=", error - 37, // on "abs", goto 36 - 38, // on "connect", goto 37 - 0, // on "constant", error - 39, // on "der", goto 38 - 0, // on "discrete", error - 76, // on "end", goto 75 - 0, // on "equation", error - 0, // on "flow", error - 0, // on "input", error - 0, // on "model", error - 0, // on "output", error - 0, // on "parameter", error - 0, // on "stream", error - 0, // on r#"\"[^\"\\\\]*\""#, error - 41, // on r#"[+-]?\\d+"#, goto 40 - 42, // on r#"[+-]?\\d+\\.\\d*([eE][-+]?\\d+)?"#, goto 41 - 43, // on r#"[a-zA-Z_][a-zA-Z_0-9]*"#, goto 42 - // State 44 - 0, // on "(", error - 0, // on ")", error - 0, // on "*", error - 0, // on "+", error - 0, // on ",", error - 0, // on "-", error - 0, // on "/", error - 0, // on ";", error - 0, // on "=", error - 0, // on "abs", error - 0, // on "connect", error - 0, // on "constant", error - 0, // on "der", error - 0, // on "discrete", error - 0, // on "end", error - 0, // on "equation", error - 0, // on "flow", error - 0, // on "input", error - 0, // on "model", error - 0, // on "output", error - 0, // on "parameter", error - 0, // on "stream", error - 0, // on r#"\"[^\"\\\\]*\""#, error - 0, // on r#"[+-]?\\d+"#, error - 0, // on r#"[+-]?\\d+\\.\\d*([eE][-+]?\\d+)?"#, error - 75, // on r#"[a-zA-Z_][a-zA-Z_0-9]*"#, goto 74 - // State 45 - 0, // on "(", error - 0, // on ")", error - 0, // on "*", error - 0, // on "+", error - 0, // on ",", error - 0, // on "-", error - 0, // on "/", error - 79, // on ";", goto 78 - 0, // on "=", error - 0, // on "abs", error - 0, // on "connect", error - 0, // on "constant", error - 0, // on "der", error - 0, // on "discrete", error - 0, // on "end", error - 0, // on "equation", error - 0, // on "flow", error - 0, // on "input", error - 0, // on "model", error - 0, // on "output", error - 0, // on "parameter", error - 0, // on "stream", error - 49, // on r#"\"[^\"\\\\]*\""#, goto 48 - 0, // on r#"[+-]?\\d+"#, error - 0, // on r#"[+-]?\\d+\\.\\d*([eE][-+]?\\d+)?"#, error - 0, // on r#"[a-zA-Z_][a-zA-Z_0-9]*"#, error - // State 46 - 0, // on "(", error - 0, // on ")", error - 0, // on "*", error - 0, // on "+", error - 0, // on ",", error - 0, // on "-", error - 0, // on "/", error - 80, // on ";", goto 79 - 0, // on "=", error - 0, // on "abs", error - 0, // on "connect", error - 0, // on "constant", error - 0, // on "der", error - 0, // on "discrete", error - 0, // on "end", error - 0, // on "equation", error - 0, // on "flow", error - 0, // on "input", error - 0, // on "model", error - 0, // on "output", error - 0, // on "parameter", error - 0, // on "stream", error - 0, // on r#"\"[^\"\\\\]*\""#, error - 0, // on r#"[+-]?\\d+"#, error - 0, // on r#"[+-]?\\d+\\.\\d*([eE][-+]?\\d+)?"#, error - 0, // on r#"[a-zA-Z_][a-zA-Z_0-9]*"#, error - // State 47 - 0, // on "(", error - 0, // on ")", error - 0, // on "*", error - 0, // on "+", error - 0, // on ",", error - 0, // on "-", error - 0, // on "/", error - 0, // on ";", error - 0, // on "=", error - 0, // on "abs", error - 0, // on "connect", error - -11, // on "constant", reduce `component_declaration = identifier, identifier, ";" => ActionFn(61);` - 0, // on "der", error - -11, // on "discrete", reduce `component_declaration = identifier, identifier, ";" => ActionFn(61);` - 0, // on "end", error - -11, // on "equation", reduce `component_declaration = identifier, identifier, ";" => ActionFn(61);` - -11, // on "flow", reduce `component_declaration = identifier, identifier, ";" => ActionFn(61);` - -11, // on "input", reduce `component_declaration = identifier, identifier, ";" => ActionFn(61);` - 0, // on "model", error - -11, // on "output", reduce `component_declaration = identifier, identifier, ";" => ActionFn(61);` - -11, // on "parameter", reduce `component_declaration = identifier, identifier, ";" => ActionFn(61);` - -11, // on "stream", reduce `component_declaration = identifier, identifier, ";" => ActionFn(61);` - 0, // on r#"\"[^\"\\\\]*\""#, error - 0, // on r#"[+-]?\\d+"#, error - 0, // on r#"[+-]?\\d+\\.\\d*([eE][-+]?\\d+)?"#, error - -11, // on r#"[a-zA-Z_][a-zA-Z_0-9]*"#, reduce `component_declaration = identifier, identifier, ";" => ActionFn(61);` - // State 48 - 0, // on "(", error - 0, // on ")", error - 0, // on "*", error - 0, // on "+", error - 0, // on ",", error - 0, // on "-", error - 0, // on "/", error - -48, // on ";", reduce `string_literal = r#"\"[^\"\\\\]*\""# => ActionFn(4);` - 0, // on "=", error - 0, // on "abs", error - 0, // on "connect", error - 0, // on "constant", error - 0, // on "der", error - 0, // on "discrete", error - 0, // on "end", error - 0, // on "equation", error - 0, // on "flow", error - 0, // on "input", error - 0, // on "model", error - 0, // on "output", error - 0, // on "parameter", error - 0, // on "stream", error - 0, // on r#"\"[^\"\\\\]*\""#, error - 0, // on r#"[+-]?\\d+"#, error - 0, // on r#"[+-]?\\d+\\.\\d*([eE][-+]?\\d+)?"#, error - 0, // on r#"[a-zA-Z_][a-zA-Z_0-9]*"#, error - // State 49 - -31, // on "(", reduce `equation_entry+ = equation_entry+, equation_entry => ActionFn(49);` - 0, // on ")", error - 0, // on "*", error - 0, // on "+", error - 0, // on ",", error - -31, // on "-", reduce `equation_entry+ = equation_entry+, equation_entry => ActionFn(49);` - 0, // on "/", error - 0, // on ";", error - 0, // on "=", error - -31, // on "abs", reduce `equation_entry+ = equation_entry+, equation_entry => ActionFn(49);` - -31, // on "connect", reduce `equation_entry+ = equation_entry+, equation_entry => ActionFn(49);` - 0, // on "constant", error - -31, // on "der", reduce `equation_entry+ = equation_entry+, equation_entry => ActionFn(49);` - 0, // on "discrete", error - -31, // on "end", reduce `equation_entry+ = equation_entry+, equation_entry => ActionFn(49);` - 0, // on "equation", error - 0, // on "flow", error - 0, // on "input", error - 0, // on "model", error - 0, // on "output", error - 0, // on "parameter", error - 0, // on "stream", error - 0, // on r#"\"[^\"\\\\]*\""#, error - -31, // on r#"[+-]?\\d+"#, reduce `equation_entry+ = equation_entry+, equation_entry => ActionFn(49);` - -31, // on r#"[+-]?\\d+\\.\\d*([eE][-+]?\\d+)?"#, reduce `equation_entry+ = equation_entry+, equation_entry => ActionFn(49);` - -31, // on r#"[a-zA-Z_][a-zA-Z_0-9]*"#, reduce `equation_entry+ = equation_entry+, equation_entry => ActionFn(49);` - // State 50 - 0, // on "(", error - 0, // on ")", error - 0, // on "*", error - 0, // on "+", error - 0, // on ",", error - 0, // on "-", error - 0, // on "/", error - 0, // on ";", error - 0, // on "=", error - 0, // on "abs", error - 0, // on "connect", error - 0, // on "constant", error - 0, // on "der", error - 0, // on "discrete", error - 0, // on "end", error - 0, // on "equation", error - 0, // on "flow", error - 0, // on "input", error - 0, // on "model", error - 0, // on "output", error - 0, // on "parameter", error - 0, // on "stream", error - 0, // on r#"\"[^\"\\\\]*\""#, error - 0, // on r#"[+-]?\\d+"#, error - 0, // on r#"[+-]?\\d+\\.\\d*([eE][-+]?\\d+)?"#, error - 75, // on r#"[a-zA-Z_][a-zA-Z_0-9]*"#, goto 74 - // State 51 - 35, // on "(", goto 34 - 0, // on ")", error - 0, // on "*", error - 0, // on "+", error - 0, // on ",", error - 36, // on "-", goto 35 - 0, // on "/", error - 0, // on ";", error - 0, // on "=", error - 37, // on "abs", goto 36 - 0, // on "connect", error - 0, // on "constant", error - 39, // on "der", goto 38 - 0, // on "discrete", error - 0, // on "end", error - 0, // on "equation", error - 0, // on "flow", error - 0, // on "input", error - 0, // on "model", error - 0, // on "output", error - 0, // on "parameter", error - 0, // on "stream", error - 0, // on r#"\"[^\"\\\\]*\""#, error - 41, // on r#"[+-]?\\d+"#, goto 40 - 42, // on r#"[+-]?\\d+\\.\\d*([eE][-+]?\\d+)?"#, goto 41 - 43, // on r#"[a-zA-Z_][a-zA-Z_0-9]*"#, goto 42 - // State 52 - 35, // on "(", goto 34 - 0, // on ")", error - 0, // on "*", error - 0, // on "+", error - 0, // on ",", error - 36, // on "-", goto 35 - 0, // on "/", error - 0, // on ";", error - 0, // on "=", error - 37, // on "abs", goto 36 - 0, // on "connect", error - 0, // on "constant", error - 39, // on "der", goto 38 - 0, // on "discrete", error - 0, // on "end", error - 0, // on "equation", error - 0, // on "flow", error - 0, // on "input", error - 0, // on "model", error - 0, // on "output", error - 0, // on "parameter", error - 0, // on "stream", error - 0, // on r#"\"[^\"\\\\]*\""#, error - 41, // on r#"[+-]?\\d+"#, goto 40 - 42, // on r#"[+-]?\\d+\\.\\d*([eE][-+]?\\d+)?"#, goto 41 - 43, // on r#"[a-zA-Z_][a-zA-Z_0-9]*"#, goto 42 - // State 53 - 90, // on "(", goto 89 - 0, // on ")", error - 0, // on "*", error - 0, // on "+", error - 0, // on ",", error - 91, // on "-", goto 90 - 0, // on "/", error - 0, // on ";", error - 0, // on "=", error - 92, // on "abs", goto 91 - 0, // on "connect", error - 0, // on "constant", error - 93, // on "der", goto 92 - 0, // on "discrete", error - 0, // on "end", error - 0, // on "equation", error - 0, // on "flow", error - 0, // on "input", error - 0, // on "model", error - 0, // on "output", error - 0, // on "parameter", error - 0, // on "stream", error - 0, // on r#"\"[^\"\\\\]*\""#, error - 94, // on r#"[+-]?\\d+"#, goto 93 - 95, // on r#"[+-]?\\d+\\.\\d*([eE][-+]?\\d+)?"#, goto 94 - 96, // on r#"[a-zA-Z_][a-zA-Z_0-9]*"#, goto 95 - // State 54 - 35, // on "(", goto 34 - 0, // on ")", error - 0, // on "*", error - 0, // on "+", error - 0, // on ",", error - 0, // on "-", error - 0, // on "/", error - 0, // on ";", error - 0, // on "=", error - 37, // on "abs", goto 36 - 0, // on "connect", error - 0, // on "constant", error - 39, // on "der", goto 38 - 0, // on "discrete", error - 0, // on "end", error - 0, // on "equation", error - 0, // on "flow", error - 0, // on "input", error - 0, // on "model", error - 0, // on "output", error - 0, // on "parameter", error - 0, // on "stream", error - 0, // on r#"\"[^\"\\\\]*\""#, error - 41, // on r#"[+-]?\\d+"#, goto 40 - 42, // on r#"[+-]?\\d+\\.\\d*([eE][-+]?\\d+)?"#, goto 41 - 43, // on r#"[a-zA-Z_][a-zA-Z_0-9]*"#, goto 42 - // State 55 - 35, // on "(", goto 34 - 0, // on ")", error - 0, // on "*", error - 0, // on "+", error - 0, // on ",", error - 0, // on "-", error - 0, // on "/", error - 0, // on ";", error - 0, // on "=", error - 37, // on "abs", goto 36 - 0, // on "connect", error - 0, // on "constant", error - 39, // on "der", goto 38 - 0, // on "discrete", error - 0, // on "end", error - 0, // on "equation", error - 0, // on "flow", error - 0, // on "input", error - 0, // on "model", error - 0, // on "output", error - 0, // on "parameter", error - 0, // on "stream", error - 0, // on r#"\"[^\"\\\\]*\""#, error - 41, // on r#"[+-]?\\d+"#, goto 40 - 42, // on r#"[+-]?\\d+\\.\\d*([eE][-+]?\\d+)?"#, goto 41 - 43, // on r#"[a-zA-Z_][a-zA-Z_0-9]*"#, goto 42 - // State 56 - 0, // on "(", error - 99, // on ")", goto 98 - 0, // on "*", error - 100, // on "+", goto 99 - 0, // on ",", error - 101, // on "-", goto 100 - 0, // on "/", error - 0, // on ";", error - 0, // on "=", error - 0, // on "abs", error - 0, // on "connect", error - 0, // on "constant", error - 0, // on "der", error - 0, // on "discrete", error - 0, // on "end", error - 0, // on "equation", error - 0, // on "flow", error - 0, // on "input", error - 0, // on "model", error - 0, // on "output", error - 0, // on "parameter", error - 0, // on "stream", error - 0, // on r#"\"[^\"\\\\]*\""#, error - 0, // on r#"[+-]?\\d+"#, error - 0, // on r#"[+-]?\\d+\\.\\d*([eE][-+]?\\d+)?"#, error - 0, // on r#"[a-zA-Z_][a-zA-Z_0-9]*"#, error - // State 57 - 0, // on "(", error - -34, // on ")", reduce `expr = factor => ActionFn(22);` - 102, // on "*", goto 101 - -34, // on "+", reduce `expr = factor => ActionFn(22);` - 0, // on ",", error - -34, // on "-", reduce `expr = factor => ActionFn(22);` - 103, // on "/", goto 102 - 0, // on ";", error - 0, // on "=", error - 0, // on "abs", error - 0, // on "connect", error - 0, // on "constant", error - 0, // on "der", error - 0, // on "discrete", error - 0, // on "end", error - 0, // on "equation", error - 0, // on "flow", error - 0, // on "input", error - 0, // on "model", error - 0, // on "output", error - 0, // on "parameter", error - 0, // on "stream", error - 0, // on r#"\"[^\"\\\\]*\""#, error - 0, // on r#"[+-]?\\d+"#, error - 0, // on r#"[+-]?\\d+\\.\\d*([eE][-+]?\\d+)?"#, error - 0, // on r#"[a-zA-Z_][a-zA-Z_0-9]*"#, error - // State 58 - 0, // on "(", error - -52, // on ")", reduce `term = float => ActionFn(28);` - -52, // on "*", reduce `term = float => ActionFn(28);` - -52, // on "+", reduce `term = float => ActionFn(28);` - 0, // on ",", error - -52, // on "-", reduce `term = float => ActionFn(28);` - -52, // on "/", reduce `term = float => ActionFn(28);` - 0, // on ";", error - 0, // on "=", error - 0, // on "abs", error - 0, // on "connect", error - 0, // on "constant", error - 0, // on "der", error - 0, // on "discrete", error - 0, // on "end", error - 0, // on "equation", error - 0, // on "flow", error - 0, // on "input", error - 0, // on "model", error - 0, // on "output", error - 0, // on "parameter", error - 0, // on "stream", error - 0, // on r#"\"[^\"\\\\]*\""#, error - 0, // on r#"[+-]?\\d+"#, error - 0, // on r#"[+-]?\\d+\\.\\d*([eE][-+]?\\d+)?"#, error - 0, // on r#"[a-zA-Z_][a-zA-Z_0-9]*"#, error - // State 59 - 0, // on "(", error - -53, // on ")", reduce `term = identifier => ActionFn(29);` - -53, // on "*", reduce `term = identifier => ActionFn(29);` - -53, // on "+", reduce `term = identifier => ActionFn(29);` - 0, // on ",", error - -53, // on "-", reduce `term = identifier => ActionFn(29);` - -53, // on "/", reduce `term = identifier => ActionFn(29);` - 0, // on ";", error - 0, // on "=", error - 0, // on "abs", error - 0, // on "connect", error - 0, // on "constant", error - 0, // on "der", error - 0, // on "discrete", error - 0, // on "end", error - 0, // on "equation", error - 0, // on "flow", error - 0, // on "input", error - 0, // on "model", error - 0, // on "output", error - 0, // on "parameter", error - 0, // on "stream", error - 0, // on r#"\"[^\"\\\\]*\""#, error - 0, // on r#"[+-]?\\d+"#, error - 0, // on r#"[+-]?\\d+\\.\\d*([eE][-+]?\\d+)?"#, error - 0, // on r#"[a-zA-Z_][a-zA-Z_0-9]*"#, error - // State 60 - 0, // on "(", error - -51, // on ")", reduce `term = integer => ActionFn(27);` - -51, // on "*", reduce `term = integer => ActionFn(27);` - -51, // on "+", reduce `term = integer => ActionFn(27);` - 0, // on ",", error - -51, // on "-", reduce `term = integer => ActionFn(27);` - -51, // on "/", reduce `term = integer => ActionFn(27);` - 0, // on ";", error - 0, // on "=", error - 0, // on "abs", error - 0, // on "connect", error - 0, // on "constant", error - 0, // on "der", error - 0, // on "discrete", error - 0, // on "end", error - 0, // on "equation", error - 0, // on "flow", error - 0, // on "input", error - 0, // on "model", error - 0, // on "output", error - 0, // on "parameter", error - 0, // on "stream", error - 0, // on r#"\"[^\"\\\\]*\""#, error - 0, // on r#"[+-]?\\d+"#, error - 0, // on r#"[+-]?\\d+\\.\\d*([eE][-+]?\\d+)?"#, error - 0, // on r#"[a-zA-Z_][a-zA-Z_0-9]*"#, error - // State 61 - 0, // on "(", error - -38, // on ")", reduce `factor = term => ActionFn(26);` - -38, // on "*", reduce `factor = term => ActionFn(26);` - -38, // on "+", reduce `factor = term => ActionFn(26);` - 0, // on ",", error - -38, // on "-", reduce `factor = term => ActionFn(26);` - -38, // on "/", reduce `factor = term => ActionFn(26);` - 0, // on ";", error - 0, // on "=", error - 0, // on "abs", error - 0, // on "connect", error - 0, // on "constant", error - 0, // on "der", error - 0, // on "discrete", error - 0, // on "end", error - 0, // on "equation", error - 0, // on "flow", error - 0, // on "input", error - 0, // on "model", error - 0, // on "output", error - 0, // on "parameter", error - 0, // on "stream", error - 0, // on r#"\"[^\"\\\\]*\""#, error - 0, // on r#"[+-]?\\d+"#, error - 0, // on r#"[+-]?\\d+\\.\\d*([eE][-+]?\\d+)?"#, error - 0, // on r#"[a-zA-Z_][a-zA-Z_0-9]*"#, error - // State 62 - 63, // on "(", goto 62 - 0, // on ")", error - 0, // on "*", error - 0, // on "+", error - 0, // on ",", error - 64, // on "-", goto 63 - 0, // on "/", error - 0, // on ";", error - 0, // on "=", error - 65, // on "abs", goto 64 - 0, // on "connect", error - 0, // on "constant", error - 66, // on "der", goto 65 - 0, // on "discrete", error - 0, // on "end", error - 0, // on "equation", error - 0, // on "flow", error - 0, // on "input", error - 0, // on "model", error - 0, // on "output", error - 0, // on "parameter", error - 0, // on "stream", error - 0, // on r#"\"[^\"\\\\]*\""#, error - 67, // on r#"[+-]?\\d+"#, goto 66 - 68, // on r#"[+-]?\\d+\\.\\d*([eE][-+]?\\d+)?"#, goto 67 - 69, // on r#"[a-zA-Z_][a-zA-Z_0-9]*"#, goto 68 - // State 63 - 63, // on "(", goto 62 - 0, // on ")", error - 0, // on "*", error - 0, // on "+", error - 0, // on ",", error - 0, // on "-", error - 0, // on "/", error - 0, // on ";", error - 0, // on "=", error - 65, // on "abs", goto 64 - 0, // on "connect", error - 0, // on "constant", error - 66, // on "der", goto 65 - 0, // on "discrete", error - 0, // on "end", error - 0, // on "equation", error - 0, // on "flow", error - 0, // on "input", error - 0, // on "model", error - 0, // on "output", error - 0, // on "parameter", error - 0, // on "stream", error - 0, // on r#"\"[^\"\\\\]*\""#, error - 67, // on r#"[+-]?\\d+"#, goto 66 - 68, // on r#"[+-]?\\d+\\.\\d*([eE][-+]?\\d+)?"#, goto 67 - 69, // on r#"[a-zA-Z_][a-zA-Z_0-9]*"#, goto 68 - // State 64 - 106, // on "(", goto 105 - 0, // on ")", error - 0, // on "*", error - 0, // on "+", error - 0, // on ",", error - 0, // on "-", error - 0, // on "/", error - 0, // on ";", error - 0, // on "=", error - 0, // on "abs", error - 0, // on "connect", error - 0, // on "constant", error - 0, // on "der", error - 0, // on "discrete", error - 0, // on "end", error - 0, // on "equation", error - 0, // on "flow", error - 0, // on "input", error - 0, // on "model", error - 0, // on "output", error - 0, // on "parameter", error - 0, // on "stream", error - 0, // on r#"\"[^\"\\\\]*\""#, error - 0, // on r#"[+-]?\\d+"#, error - 0, // on r#"[+-]?\\d+\\.\\d*([eE][-+]?\\d+)?"#, error - 0, // on r#"[a-zA-Z_][a-zA-Z_0-9]*"#, error - // State 65 - 107, // on "(", goto 106 - 0, // on ")", error - 0, // on "*", error - 0, // on "+", error - 0, // on ",", error - 0, // on "-", error - 0, // on "/", error - 0, // on ";", error - 0, // on "=", error - 0, // on "abs", error - 0, // on "connect", error - 0, // on "constant", error - 0, // on "der", error - 0, // on "discrete", error - 0, // on "end", error - 0, // on "equation", error - 0, // on "flow", error - 0, // on "input", error - 0, // on "model", error - 0, // on "output", error - 0, // on "parameter", error - 0, // on "stream", error - 0, // on r#"\"[^\"\\\\]*\""#, error - 0, // on r#"[+-]?\\d+"#, error - 0, // on r#"[+-]?\\d+\\.\\d*([eE][-+]?\\d+)?"#, error - 0, // on r#"[a-zA-Z_][a-zA-Z_0-9]*"#, error - // State 66 - 0, // on "(", error - -42, // on ")", reduce `integer = r#"[+-]?\\d+"# => ActionFn(5);` - -42, // on "*", reduce `integer = r#"[+-]?\\d+"# => ActionFn(5);` - -42, // on "+", reduce `integer = r#"[+-]?\\d+"# => ActionFn(5);` - 0, // on ",", error - -42, // on "-", reduce `integer = r#"[+-]?\\d+"# => ActionFn(5);` - -42, // on "/", reduce `integer = r#"[+-]?\\d+"# => ActionFn(5);` - 0, // on ";", error - 0, // on "=", error - 0, // on "abs", error - 0, // on "connect", error - 0, // on "constant", error - 0, // on "der", error - 0, // on "discrete", error - 0, // on "end", error - 0, // on "equation", error - 0, // on "flow", error - 0, // on "input", error - 0, // on "model", error - 0, // on "output", error - 0, // on "parameter", error - 0, // on "stream", error - 0, // on r#"\"[^\"\\\\]*\""#, error - 0, // on r#"[+-]?\\d+"#, error - 0, // on r#"[+-]?\\d+\\.\\d*([eE][-+]?\\d+)?"#, error - 0, // on r#"[a-zA-Z_][a-zA-Z_0-9]*"#, error - // State 67 - 0, // on "(", error - -40, // on ")", reduce `float = r#"[+-]?\\d+\\.\\d*([eE][-+]?\\d+)?"# => ActionFn(6);` - -40, // on "*", reduce `float = r#"[+-]?\\d+\\.\\d*([eE][-+]?\\d+)?"# => ActionFn(6);` - -40, // on "+", reduce `float = r#"[+-]?\\d+\\.\\d*([eE][-+]?\\d+)?"# => ActionFn(6);` - 0, // on ",", error - -40, // on "-", reduce `float = r#"[+-]?\\d+\\.\\d*([eE][-+]?\\d+)?"# => ActionFn(6);` - -40, // on "/", reduce `float = r#"[+-]?\\d+\\.\\d*([eE][-+]?\\d+)?"# => ActionFn(6);` - 0, // on ";", error - 0, // on "=", error - 0, // on "abs", error - 0, // on "connect", error - 0, // on "constant", error - 0, // on "der", error - 0, // on "discrete", error - 0, // on "end", error - 0, // on "equation", error - 0, // on "flow", error - 0, // on "input", error - 0, // on "model", error - 0, // on "output", error - 0, // on "parameter", error - 0, // on "stream", error - 0, // on r#"\"[^\"\\\\]*\""#, error - 0, // on r#"[+-]?\\d+"#, error - 0, // on r#"[+-]?\\d+\\.\\d*([eE][-+]?\\d+)?"#, error - 0, // on r#"[a-zA-Z_][a-zA-Z_0-9]*"#, error - // State 68 - 0, // on "(", error - -41, // on ")", reduce `identifier = r#"[a-zA-Z_][a-zA-Z_0-9]*"# => ActionFn(3);` - -41, // on "*", reduce `identifier = r#"[a-zA-Z_][a-zA-Z_0-9]*"# => ActionFn(3);` - -41, // on "+", reduce `identifier = r#"[a-zA-Z_][a-zA-Z_0-9]*"# => ActionFn(3);` - 0, // on ",", error - -41, // on "-", reduce `identifier = r#"[a-zA-Z_][a-zA-Z_0-9]*"# => ActionFn(3);` - -41, // on "/", reduce `identifier = r#"[a-zA-Z_][a-zA-Z_0-9]*"# => ActionFn(3);` - 0, // on ";", error - 0, // on "=", error - 0, // on "abs", error - 0, // on "connect", error - 0, // on "constant", error - 0, // on "der", error - 0, // on "discrete", error - 0, // on "end", error - 0, // on "equation", error - 0, // on "flow", error - 0, // on "input", error - 0, // on "model", error - 0, // on "output", error - 0, // on "parameter", error - 0, // on "stream", error - 0, // on r#"\"[^\"\\\\]*\""#, error - 0, // on r#"[+-]?\\d+"#, error - 0, // on r#"[+-]?\\d+\\.\\d*([eE][-+]?\\d+)?"#, error - 0, // on r#"[a-zA-Z_][a-zA-Z_0-9]*"#, error - // State 69 - 0, // on "(", error - 0, // on ")", error - -37, // on "*", reduce `factor = "-", term => ActionFn(25);` - -37, // on "+", reduce `factor = "-", term => ActionFn(25);` - 0, // on ",", error - -37, // on "-", reduce `factor = "-", term => ActionFn(25);` - -37, // on "/", reduce `factor = "-", term => ActionFn(25);` - 0, // on ";", error - -37, // on "=", reduce `factor = "-", term => ActionFn(25);` - 0, // on "abs", error - 0, // on "connect", error - 0, // on "constant", error - 0, // on "der", error - 0, // on "discrete", error - 0, // on "end", error - 0, // on "equation", error - 0, // on "flow", error - 0, // on "input", error - 0, // on "model", error - 0, // on "output", error - 0, // on "parameter", error - 0, // on "stream", error - 0, // on r#"\"[^\"\\\\]*\""#, error - 0, // on r#"[+-]?\\d+"#, error - 0, // on r#"[+-]?\\d+\\.\\d*([eE][-+]?\\d+)?"#, error - 0, // on r#"[a-zA-Z_][a-zA-Z_0-9]*"#, error - // State 70 - 63, // on "(", goto 62 - 0, // on ")", error - 0, // on "*", error - 0, // on "+", error - 0, // on ",", error - 64, // on "-", goto 63 - 0, // on "/", error - 0, // on ";", error - 0, // on "=", error - 65, // on "abs", goto 64 - 0, // on "connect", error - 0, // on "constant", error - 66, // on "der", goto 65 - 0, // on "discrete", error - 0, // on "end", error - 0, // on "equation", error - 0, // on "flow", error - 0, // on "input", error - 0, // on "model", error - 0, // on "output", error - 0, // on "parameter", error - 0, // on "stream", error - 0, // on r#"\"[^\"\\\\]*\""#, error - 67, // on r#"[+-]?\\d+"#, goto 66 - 68, // on r#"[+-]?\\d+\\.\\d*([eE][-+]?\\d+)?"#, goto 67 - 69, // on r#"[a-zA-Z_][a-zA-Z_0-9]*"#, goto 68 - // State 71 - 0, // on "(", error - 0, // on ")", error - 0, // on "*", error - 0, // on "+", error - 0, // on ",", error - 0, // on "-", error - 0, // on "/", error - 0, // on ";", error - 0, // on "=", error - 0, // on "abs", error - 0, // on "connect", error - 0, // on "constant", error - 0, // on "der", error - 0, // on "discrete", error - 0, // on "end", error - 0, // on "equation", error - 0, // on "flow", error - 0, // on "input", error - 0, // on "model", error - 0, // on "output", error - 0, // on "parameter", error - 0, // on "stream", error - 0, // on r#"\"[^\"\\\\]*\""#, error - 0, // on r#"[+-]?\\d+"#, error - 0, // on r#"[+-]?\\d+\\.\\d*([eE][-+]?\\d+)?"#, error - 110, // on r#"[a-zA-Z_][a-zA-Z_0-9]*"#, goto 109 - // State 72 - 63, // on "(", goto 62 - 0, // on ")", error - 0, // on "*", error - 0, // on "+", error - 0, // on ",", error - 64, // on "-", goto 63 - 0, // on "/", error - 0, // on ";", error - 0, // on "=", error - 65, // on "abs", goto 64 - 0, // on "connect", error - 0, // on "constant", error - 66, // on "der", goto 65 - 0, // on "discrete", error - 0, // on "end", error - 0, // on "equation", error - 0, // on "flow", error - 0, // on "input", error - 0, // on "model", error - 0, // on "output", error - 0, // on "parameter", error - 0, // on "stream", error - 0, // on r#"\"[^\"\\\\]*\""#, error - 67, // on r#"[+-]?\\d+"#, goto 66 - 68, // on r#"[+-]?\\d+\\.\\d*([eE][-+]?\\d+)?"#, goto 67 - 69, // on r#"[a-zA-Z_][a-zA-Z_0-9]*"#, goto 68 - // State 73 - 0, // on "(", error - 0, // on ")", error - 0, // on "*", error - 0, // on "+", error - 0, // on ",", error - 0, // on "-", error - 0, // on "/", error - 112, // on ";", goto 111 - 0, // on "=", error - 0, // on "abs", error - 0, // on "connect", error - 0, // on "constant", error - 0, // on "der", error - 0, // on "discrete", error - 0, // on "end", error - 0, // on "equation", error - 0, // on "flow", error - 0, // on "input", error - 0, // on "model", error - 0, // on "output", error - 0, // on "parameter", error - 0, // on "stream", error - 0, // on r#"\"[^\"\\\\]*\""#, error - 0, // on r#"[+-]?\\d+"#, error - 0, // on r#"[+-]?\\d+\\.\\d*([eE][-+]?\\d+)?"#, error - 0, // on r#"[a-zA-Z_][a-zA-Z_0-9]*"#, error - // State 74 - 0, // on "(", error - 0, // on ")", error - 0, // on "*", error - 0, // on "+", error - 0, // on ",", error - 0, // on "-", error - 0, // on "/", error - -41, // on ";", reduce `identifier = r#"[a-zA-Z_][a-zA-Z_0-9]*"# => ActionFn(3);` - 0, // on "=", error - 0, // on "abs", error - 0, // on "connect", error - 0, // on "constant", error - 0, // on "der", error - 0, // on "discrete", error - 0, // on "end", error - 0, // on "equation", error - 0, // on "flow", error - 0, // on "input", error - 0, // on "model", error - 0, // on "output", error - 0, // on "parameter", error - 0, // on "stream", error - 0, // on r#"\"[^\"\\\\]*\""#, error - 0, // on r#"[+-]?\\d+"#, error - 0, // on r#"[+-]?\\d+\\.\\d*([eE][-+]?\\d+)?"#, error - 0, // on r#"[a-zA-Z_][a-zA-Z_0-9]*"#, error - // State 75 - 0, // on "(", error - 0, // on ")", error - 0, // on "*", error - 0, // on "+", error - 0, // on ",", error - 0, // on "-", error - 0, // on "/", error - 0, // on ";", error - 0, // on "=", error - 0, // on "abs", error - 0, // on "connect", error - 0, // on "constant", error - 0, // on "der", error - 0, // on "discrete", error - 0, // on "end", error - 0, // on "equation", error - 0, // on "flow", error - 0, // on "input", error - 0, // on "model", error - 0, // on "output", error - 0, // on "parameter", error - 0, // on "stream", error - 0, // on r#"\"[^\"\\\\]*\""#, error - 0, // on r#"[+-]?\\d+"#, error - 0, // on r#"[+-]?\\d+\\.\\d*([eE][-+]?\\d+)?"#, error - 75, // on r#"[a-zA-Z_][a-zA-Z_0-9]*"#, goto 74 - // State 76 - 0, // on "(", error - 0, // on ")", error - 0, // on "*", error - 0, // on "+", error - 0, // on ",", error - 0, // on "-", error - 0, // on "/", error - 114, // on ";", goto 113 - 0, // on "=", error - 0, // on "abs", error - 0, // on "connect", error - 0, // on "constant", error - 0, // on "der", error - 0, // on "discrete", error - 0, // on "end", error - 0, // on "equation", error - 0, // on "flow", error - 0, // on "input", error - 0, // on "model", error - 0, // on "output", error - 0, // on "parameter", error - 0, // on "stream", error - 0, // on r#"\"[^\"\\\\]*\""#, error - 0, // on r#"[+-]?\\d+"#, error - 0, // on r#"[+-]?\\d+\\.\\d*([eE][-+]?\\d+)?"#, error - 0, // on r#"[a-zA-Z_][a-zA-Z_0-9]*"#, error - // State 77 - 0, // on "(", error - 0, // on ")", error - 0, // on "*", error - 0, // on "+", error - 0, // on ",", error - 0, // on "-", error - 0, // on "/", error - 115, // on ";", goto 114 - 0, // on "=", error - 0, // on "abs", error - 0, // on "connect", error - 0, // on "constant", error - 0, // on "der", error - 0, // on "discrete", error - 0, // on "end", error - 0, // on "equation", error - 0, // on "flow", error - 0, // on "input", error - 0, // on "model", error - 0, // on "output", error - 0, // on "parameter", error - 0, // on "stream", error - 0, // on r#"\"[^\"\\\\]*\""#, error - 0, // on r#"[+-]?\\d+"#, error - 0, // on r#"[+-]?\\d+\\.\\d*([eE][-+]?\\d+)?"#, error - 0, // on r#"[a-zA-Z_][a-zA-Z_0-9]*"#, error - // State 78 - 0, // on "(", error - 0, // on ")", error - 0, // on "*", error - 0, // on "+", error - 0, // on ",", error - 0, // on "-", error - 0, // on "/", error - 0, // on ";", error - 0, // on "=", error - 0, // on "abs", error - 0, // on "connect", error - -9, // on "constant", reduce `component_declaration = component_prefix, identifier, identifier, ";" => ActionFn(59);` - 0, // on "der", error - -9, // on "discrete", reduce `component_declaration = component_prefix, identifier, identifier, ";" => ActionFn(59);` - 0, // on "end", error - -9, // on "equation", reduce `component_declaration = component_prefix, identifier, identifier, ";" => ActionFn(59);` - -9, // on "flow", reduce `component_declaration = component_prefix, identifier, identifier, ";" => ActionFn(59);` - -9, // on "input", reduce `component_declaration = component_prefix, identifier, identifier, ";" => ActionFn(59);` - 0, // on "model", error - -9, // on "output", reduce `component_declaration = component_prefix, identifier, identifier, ";" => ActionFn(59);` - -9, // on "parameter", reduce `component_declaration = component_prefix, identifier, identifier, ";" => ActionFn(59);` - -9, // on "stream", reduce `component_declaration = component_prefix, identifier, identifier, ";" => ActionFn(59);` - 0, // on r#"\"[^\"\\\\]*\""#, error - 0, // on r#"[+-]?\\d+"#, error - 0, // on r#"[+-]?\\d+\\.\\d*([eE][-+]?\\d+)?"#, error - -9, // on r#"[a-zA-Z_][a-zA-Z_0-9]*"#, reduce `component_declaration = component_prefix, identifier, identifier, ";" => ActionFn(59);` - // State 79 - 0, // on "(", error - 0, // on ")", error - 0, // on "*", error - 0, // on "+", error - 0, // on ",", error - 0, // on "-", error - 0, // on "/", error - 0, // on ";", error - 0, // on "=", error - 0, // on "abs", error - 0, // on "connect", error - -10, // on "constant", reduce `component_declaration = identifier, identifier, string_literal, ";" => ActionFn(60);` - 0, // on "der", error - -10, // on "discrete", reduce `component_declaration = identifier, identifier, string_literal, ";" => ActionFn(60);` - 0, // on "end", error - -10, // on "equation", reduce `component_declaration = identifier, identifier, string_literal, ";" => ActionFn(60);` - -10, // on "flow", reduce `component_declaration = identifier, identifier, string_literal, ";" => ActionFn(60);` - -10, // on "input", reduce `component_declaration = identifier, identifier, string_literal, ";" => ActionFn(60);` - 0, // on "model", error - -10, // on "output", reduce `component_declaration = identifier, identifier, string_literal, ";" => ActionFn(60);` - -10, // on "parameter", reduce `component_declaration = identifier, identifier, string_literal, ";" => ActionFn(60);` - -10, // on "stream", reduce `component_declaration = identifier, identifier, string_literal, ";" => ActionFn(60);` - 0, // on r#"\"[^\"\\\\]*\""#, error - 0, // on r#"[+-]?\\d+"#, error - 0, // on r#"[+-]?\\d+\\.\\d*([eE][-+]?\\d+)?"#, error - -10, // on r#"[a-zA-Z_][a-zA-Z_0-9]*"#, reduce `component_declaration = identifier, identifier, string_literal, ";" => ActionFn(60);` - // State 80 - 0, // on "(", error - 0, // on ")", error - 0, // on "*", error - 0, // on "+", error - 0, // on ",", error - 0, // on "-", error - 0, // on "/", error - 116, // on ";", goto 115 - 0, // on "=", error - 0, // on "abs", error - 0, // on "connect", error - 0, // on "constant", error - 0, // on "der", error - 0, // on "discrete", error - 0, // on "end", error - 0, // on "equation", error - 0, // on "flow", error - 0, // on "input", error - 0, // on "model", error - 0, // on "output", error - 0, // on "parameter", error - 0, // on "stream", error - 0, // on r#"\"[^\"\\\\]*\""#, error - 0, // on r#"[+-]?\\d+"#, error - 0, // on r#"[+-]?\\d+\\.\\d*([eE][-+]?\\d+)?"#, error - 0, // on r#"[a-zA-Z_][a-zA-Z_0-9]*"#, error - // State 81 - 0, // on "(", error - 0, // on ")", error - 55, // on "*", goto 54 - -32, // on "+", reduce `expr = expr, "+", factor => ActionFn(20);` - 0, // on ",", error - -32, // on "-", reduce `expr = expr, "+", factor => ActionFn(20);` - 56, // on "/", goto 55 - 0, // on ";", error - -32, // on "=", reduce `expr = expr, "+", factor => ActionFn(20);` - 0, // on "abs", error - 0, // on "connect", error - 0, // on "constant", error - 0, // on "der", error - 0, // on "discrete", error - 0, // on "end", error - 0, // on "equation", error - 0, // on "flow", error - 0, // on "input", error - 0, // on "model", error - 0, // on "output", error - 0, // on "parameter", error - 0, // on "stream", error - 0, // on r#"\"[^\"\\\\]*\""#, error - 0, // on r#"[+-]?\\d+"#, error - 0, // on r#"[+-]?\\d+\\.\\d*([eE][-+]?\\d+)?"#, error - 0, // on r#"[a-zA-Z_][a-zA-Z_0-9]*"#, error - // State 82 - 0, // on "(", error - 0, // on ")", error - 55, // on "*", goto 54 - -33, // on "+", reduce `expr = expr, "-", factor => ActionFn(21);` - 0, // on ",", error - -33, // on "-", reduce `expr = expr, "-", factor => ActionFn(21);` - 56, // on "/", goto 55 - 0, // on ";", error - -33, // on "=", reduce `expr = expr, "-", factor => ActionFn(21);` - 0, // on "abs", error - 0, // on "connect", error - 0, // on "constant", error - 0, // on "der", error - 0, // on "discrete", error - 0, // on "end", error - 0, // on "equation", error - 0, // on "flow", error - 0, // on "input", error - 0, // on "model", error - 0, // on "output", error - 0, // on "parameter", error - 0, // on "stream", error - 0, // on r#"\"[^\"\\\\]*\""#, error - 0, // on r#"[+-]?\\d+"#, error - 0, // on r#"[+-]?\\d+\\.\\d*([eE][-+]?\\d+)?"#, error - 0, // on r#"[a-zA-Z_][a-zA-Z_0-9]*"#, error - // State 83 - 0, // on "(", error - 0, // on ")", error - 0, // on "*", error - 117, // on "+", goto 116 - 0, // on ",", error - 118, // on "-", goto 117 - 0, // on "/", error - 119, // on ";", goto 118 - 0, // on "=", error - 0, // on "abs", error - 0, // on "connect", error - 0, // on "constant", error - 0, // on "der", error - 0, // on "discrete", error - 0, // on "end", error - 0, // on "equation", error - 0, // on "flow", error - 0, // on "input", error - 0, // on "model", error - 0, // on "output", error - 0, // on "parameter", error - 0, // on "stream", error - 0, // on r#"\"[^\"\\\\]*\""#, error - 0, // on r#"[+-]?\\d+"#, error - 0, // on r#"[+-]?\\d+\\.\\d*([eE][-+]?\\d+)?"#, error - 0, // on r#"[a-zA-Z_][a-zA-Z_0-9]*"#, error - // State 84 - 0, // on "(", error - 0, // on ")", error - 120, // on "*", goto 119 - -34, // on "+", reduce `expr = factor => ActionFn(22);` - 0, // on ",", error - -34, // on "-", reduce `expr = factor => ActionFn(22);` - 121, // on "/", goto 120 - -34, // on ";", reduce `expr = factor => ActionFn(22);` - 0, // on "=", error - 0, // on "abs", error - 0, // on "connect", error - 0, // on "constant", error - 0, // on "der", error - 0, // on "discrete", error - 0, // on "end", error - 0, // on "equation", error - 0, // on "flow", error - 0, // on "input", error - 0, // on "model", error - 0, // on "output", error - 0, // on "parameter", error - 0, // on "stream", error - 0, // on r#"\"[^\"\\\\]*\""#, error - 0, // on r#"[+-]?\\d+"#, error - 0, // on r#"[+-]?\\d+\\.\\d*([eE][-+]?\\d+)?"#, error - 0, // on r#"[a-zA-Z_][a-zA-Z_0-9]*"#, error - // State 85 - 0, // on "(", error - 0, // on ")", error - -52, // on "*", reduce `term = float => ActionFn(28);` - -52, // on "+", reduce `term = float => ActionFn(28);` - 0, // on ",", error - -52, // on "-", reduce `term = float => ActionFn(28);` - -52, // on "/", reduce `term = float => ActionFn(28);` - -52, // on ";", reduce `term = float => ActionFn(28);` - 0, // on "=", error - 0, // on "abs", error - 0, // on "connect", error - 0, // on "constant", error - 0, // on "der", error - 0, // on "discrete", error - 0, // on "end", error - 0, // on "equation", error - 0, // on "flow", error - 0, // on "input", error - 0, // on "model", error - 0, // on "output", error - 0, // on "parameter", error - 0, // on "stream", error - 0, // on r#"\"[^\"\\\\]*\""#, error - 0, // on r#"[+-]?\\d+"#, error - 0, // on r#"[+-]?\\d+\\.\\d*([eE][-+]?\\d+)?"#, error - 0, // on r#"[a-zA-Z_][a-zA-Z_0-9]*"#, error - // State 86 - 0, // on "(", error - 0, // on ")", error - -53, // on "*", reduce `term = identifier => ActionFn(29);` - -53, // on "+", reduce `term = identifier => ActionFn(29);` - 0, // on ",", error - -53, // on "-", reduce `term = identifier => ActionFn(29);` - -53, // on "/", reduce `term = identifier => ActionFn(29);` - -53, // on ";", reduce `term = identifier => ActionFn(29);` - 0, // on "=", error - 0, // on "abs", error - 0, // on "connect", error - 0, // on "constant", error - 0, // on "der", error - 0, // on "discrete", error - 0, // on "end", error - 0, // on "equation", error - 0, // on "flow", error - 0, // on "input", error - 0, // on "model", error - 0, // on "output", error - 0, // on "parameter", error - 0, // on "stream", error - 0, // on r#"\"[^\"\\\\]*\""#, error - 0, // on r#"[+-]?\\d+"#, error - 0, // on r#"[+-]?\\d+\\.\\d*([eE][-+]?\\d+)?"#, error - 0, // on r#"[a-zA-Z_][a-zA-Z_0-9]*"#, error - // State 87 - 0, // on "(", error - 0, // on ")", error - -51, // on "*", reduce `term = integer => ActionFn(27);` - -51, // on "+", reduce `term = integer => ActionFn(27);` - 0, // on ",", error - -51, // on "-", reduce `term = integer => ActionFn(27);` - -51, // on "/", reduce `term = integer => ActionFn(27);` - -51, // on ";", reduce `term = integer => ActionFn(27);` - 0, // on "=", error - 0, // on "abs", error - 0, // on "connect", error - 0, // on "constant", error - 0, // on "der", error - 0, // on "discrete", error - 0, // on "end", error - 0, // on "equation", error - 0, // on "flow", error - 0, // on "input", error - 0, // on "model", error - 0, // on "output", error - 0, // on "parameter", error - 0, // on "stream", error - 0, // on r#"\"[^\"\\\\]*\""#, error - 0, // on r#"[+-]?\\d+"#, error - 0, // on r#"[+-]?\\d+\\.\\d*([eE][-+]?\\d+)?"#, error - 0, // on r#"[a-zA-Z_][a-zA-Z_0-9]*"#, error - // State 88 - 0, // on "(", error - 0, // on ")", error - -38, // on "*", reduce `factor = term => ActionFn(26);` - -38, // on "+", reduce `factor = term => ActionFn(26);` - 0, // on ",", error - -38, // on "-", reduce `factor = term => ActionFn(26);` - -38, // on "/", reduce `factor = term => ActionFn(26);` - -38, // on ";", reduce `factor = term => ActionFn(26);` - 0, // on "=", error - 0, // on "abs", error - 0, // on "connect", error - 0, // on "constant", error - 0, // on "der", error - 0, // on "discrete", error - 0, // on "end", error - 0, // on "equation", error - 0, // on "flow", error - 0, // on "input", error - 0, // on "model", error - 0, // on "output", error - 0, // on "parameter", error - 0, // on "stream", error - 0, // on r#"\"[^\"\\\\]*\""#, error - 0, // on r#"[+-]?\\d+"#, error - 0, // on r#"[+-]?\\d+\\.\\d*([eE][-+]?\\d+)?"#, error - 0, // on r#"[a-zA-Z_][a-zA-Z_0-9]*"#, error - // State 89 - 63, // on "(", goto 62 - 0, // on ")", error - 0, // on "*", error - 0, // on "+", error - 0, // on ",", error - 64, // on "-", goto 63 - 0, // on "/", error - 0, // on ";", error - 0, // on "=", error - 65, // on "abs", goto 64 - 0, // on "connect", error - 0, // on "constant", error - 66, // on "der", goto 65 - 0, // on "discrete", error - 0, // on "end", error - 0, // on "equation", error - 0, // on "flow", error - 0, // on "input", error - 0, // on "model", error - 0, // on "output", error - 0, // on "parameter", error - 0, // on "stream", error - 0, // on r#"\"[^\"\\\\]*\""#, error - 67, // on r#"[+-]?\\d+"#, goto 66 - 68, // on r#"[+-]?\\d+\\.\\d*([eE][-+]?\\d+)?"#, goto 67 - 69, // on r#"[a-zA-Z_][a-zA-Z_0-9]*"#, goto 68 - // State 90 - 90, // on "(", goto 89 - 0, // on ")", error - 0, // on "*", error - 0, // on "+", error - 0, // on ",", error - 0, // on "-", error - 0, // on "/", error - 0, // on ";", error - 0, // on "=", error - 92, // on "abs", goto 91 - 0, // on "connect", error - 0, // on "constant", error - 93, // on "der", goto 92 - 0, // on "discrete", error - 0, // on "end", error - 0, // on "equation", error - 0, // on "flow", error - 0, // on "input", error - 0, // on "model", error - 0, // on "output", error - 0, // on "parameter", error - 0, // on "stream", error - 0, // on r#"\"[^\"\\\\]*\""#, error - 94, // on r#"[+-]?\\d+"#, goto 93 - 95, // on r#"[+-]?\\d+\\.\\d*([eE][-+]?\\d+)?"#, goto 94 - 96, // on r#"[a-zA-Z_][a-zA-Z_0-9]*"#, goto 95 - // State 91 - 124, // on "(", goto 123 - 0, // on ")", error - 0, // on "*", error - 0, // on "+", error - 0, // on ",", error - 0, // on "-", error - 0, // on "/", error - 0, // on ";", error - 0, // on "=", error - 0, // on "abs", error - 0, // on "connect", error - 0, // on "constant", error - 0, // on "der", error - 0, // on "discrete", error - 0, // on "end", error - 0, // on "equation", error - 0, // on "flow", error - 0, // on "input", error - 0, // on "model", error - 0, // on "output", error - 0, // on "parameter", error - 0, // on "stream", error - 0, // on r#"\"[^\"\\\\]*\""#, error - 0, // on r#"[+-]?\\d+"#, error - 0, // on r#"[+-]?\\d+\\.\\d*([eE][-+]?\\d+)?"#, error - 0, // on r#"[a-zA-Z_][a-zA-Z_0-9]*"#, error - // State 92 - 125, // on "(", goto 124 - 0, // on ")", error - 0, // on "*", error - 0, // on "+", error - 0, // on ",", error - 0, // on "-", error - 0, // on "/", error - 0, // on ";", error - 0, // on "=", error - 0, // on "abs", error - 0, // on "connect", error - 0, // on "constant", error - 0, // on "der", error - 0, // on "discrete", error - 0, // on "end", error - 0, // on "equation", error - 0, // on "flow", error - 0, // on "input", error - 0, // on "model", error - 0, // on "output", error - 0, // on "parameter", error - 0, // on "stream", error - 0, // on r#"\"[^\"\\\\]*\""#, error - 0, // on r#"[+-]?\\d+"#, error - 0, // on r#"[+-]?\\d+\\.\\d*([eE][-+]?\\d+)?"#, error - 0, // on r#"[a-zA-Z_][a-zA-Z_0-9]*"#, error - // State 93 - 0, // on "(", error - 0, // on ")", error - -42, // on "*", reduce `integer = r#"[+-]?\\d+"# => ActionFn(5);` - -42, // on "+", reduce `integer = r#"[+-]?\\d+"# => ActionFn(5);` - 0, // on ",", error - -42, // on "-", reduce `integer = r#"[+-]?\\d+"# => ActionFn(5);` - -42, // on "/", reduce `integer = r#"[+-]?\\d+"# => ActionFn(5);` - -42, // on ";", reduce `integer = r#"[+-]?\\d+"# => ActionFn(5);` - 0, // on "=", error - 0, // on "abs", error - 0, // on "connect", error - 0, // on "constant", error - 0, // on "der", error - 0, // on "discrete", error - 0, // on "end", error - 0, // on "equation", error - 0, // on "flow", error - 0, // on "input", error - 0, // on "model", error - 0, // on "output", error - 0, // on "parameter", error - 0, // on "stream", error - 0, // on r#"\"[^\"\\\\]*\""#, error - 0, // on r#"[+-]?\\d+"#, error - 0, // on r#"[+-]?\\d+\\.\\d*([eE][-+]?\\d+)?"#, error - 0, // on r#"[a-zA-Z_][a-zA-Z_0-9]*"#, error - // State 94 - 0, // on "(", error - 0, // on ")", error - -40, // on "*", reduce `float = r#"[+-]?\\d+\\.\\d*([eE][-+]?\\d+)?"# => ActionFn(6);` - -40, // on "+", reduce `float = r#"[+-]?\\d+\\.\\d*([eE][-+]?\\d+)?"# => ActionFn(6);` - 0, // on ",", error - -40, // on "-", reduce `float = r#"[+-]?\\d+\\.\\d*([eE][-+]?\\d+)?"# => ActionFn(6);` - -40, // on "/", reduce `float = r#"[+-]?\\d+\\.\\d*([eE][-+]?\\d+)?"# => ActionFn(6);` - -40, // on ";", reduce `float = r#"[+-]?\\d+\\.\\d*([eE][-+]?\\d+)?"# => ActionFn(6);` - 0, // on "=", error - 0, // on "abs", error - 0, // on "connect", error - 0, // on "constant", error - 0, // on "der", error - 0, // on "discrete", error - 0, // on "end", error - 0, // on "equation", error - 0, // on "flow", error - 0, // on "input", error - 0, // on "model", error - 0, // on "output", error - 0, // on "parameter", error - 0, // on "stream", error - 0, // on r#"\"[^\"\\\\]*\""#, error - 0, // on r#"[+-]?\\d+"#, error - 0, // on r#"[+-]?\\d+\\.\\d*([eE][-+]?\\d+)?"#, error - 0, // on r#"[a-zA-Z_][a-zA-Z_0-9]*"#, error - // State 95 - 0, // on "(", error - 0, // on ")", error - -41, // on "*", reduce `identifier = r#"[a-zA-Z_][a-zA-Z_0-9]*"# => ActionFn(3);` - -41, // on "+", reduce `identifier = r#"[a-zA-Z_][a-zA-Z_0-9]*"# => ActionFn(3);` - 0, // on ",", error - -41, // on "-", reduce `identifier = r#"[a-zA-Z_][a-zA-Z_0-9]*"# => ActionFn(3);` - -41, // on "/", reduce `identifier = r#"[a-zA-Z_][a-zA-Z_0-9]*"# => ActionFn(3);` - -41, // on ";", reduce `identifier = r#"[a-zA-Z_][a-zA-Z_0-9]*"# => ActionFn(3);` - 0, // on "=", error - 0, // on "abs", error - 0, // on "connect", error - 0, // on "constant", error - 0, // on "der", error - 0, // on "discrete", error - 0, // on "end", error - 0, // on "equation", error - 0, // on "flow", error - 0, // on "input", error - 0, // on "model", error - 0, // on "output", error - 0, // on "parameter", error - 0, // on "stream", error - 0, // on r#"\"[^\"\\\\]*\""#, error - 0, // on r#"[+-]?\\d+"#, error - 0, // on r#"[+-]?\\d+\\.\\d*([eE][-+]?\\d+)?"#, error - 0, // on r#"[a-zA-Z_][a-zA-Z_0-9]*"#, error - // State 96 - 0, // on "(", error - 0, // on ")", error - -35, // on "*", reduce `factor = factor, "*", term => ActionFn(23);` - -35, // on "+", reduce `factor = factor, "*", term => ActionFn(23);` - 0, // on ",", error - -35, // on "-", reduce `factor = factor, "*", term => ActionFn(23);` - -35, // on "/", reduce `factor = factor, "*", term => ActionFn(23);` - 0, // on ";", error - -35, // on "=", reduce `factor = factor, "*", term => ActionFn(23);` - 0, // on "abs", error - 0, // on "connect", error - 0, // on "constant", error - 0, // on "der", error - 0, // on "discrete", error - 0, // on "end", error - 0, // on "equation", error - 0, // on "flow", error - 0, // on "input", error - 0, // on "model", error - 0, // on "output", error - 0, // on "parameter", error - 0, // on "stream", error - 0, // on r#"\"[^\"\\\\]*\""#, error - 0, // on r#"[+-]?\\d+"#, error - 0, // on r#"[+-]?\\d+\\.\\d*([eE][-+]?\\d+)?"#, error - 0, // on r#"[a-zA-Z_][a-zA-Z_0-9]*"#, error - // State 97 - 0, // on "(", error - 0, // on ")", error - -36, // on "*", reduce `factor = factor, "/", term => ActionFn(24);` - -36, // on "+", reduce `factor = factor, "/", term => ActionFn(24);` - 0, // on ",", error - -36, // on "-", reduce `factor = factor, "/", term => ActionFn(24);` - -36, // on "/", reduce `factor = factor, "/", term => ActionFn(24);` - 0, // on ";", error - -36, // on "=", reduce `factor = factor, "/", term => ActionFn(24);` - 0, // on "abs", error - 0, // on "connect", error - 0, // on "constant", error - 0, // on "der", error - 0, // on "discrete", error - 0, // on "end", error - 0, // on "equation", error - 0, // on "flow", error - 0, // on "input", error - 0, // on "model", error - 0, // on "output", error - 0, // on "parameter", error - 0, // on "stream", error - 0, // on r#"\"[^\"\\\\]*\""#, error - 0, // on r#"[+-]?\\d+"#, error - 0, // on r#"[+-]?\\d+\\.\\d*([eE][-+]?\\d+)?"#, error - 0, // on r#"[a-zA-Z_][a-zA-Z_0-9]*"#, error - // State 98 - 0, // on "(", error - 0, // on ")", error - -56, // on "*", reduce `term = "(", expr, ")" => ActionFn(32);` - -56, // on "+", reduce `term = "(", expr, ")" => ActionFn(32);` - 0, // on ",", error - -56, // on "-", reduce `term = "(", expr, ")" => ActionFn(32);` - -56, // on "/", reduce `term = "(", expr, ")" => ActionFn(32);` - 0, // on ";", error - -56, // on "=", reduce `term = "(", expr, ")" => ActionFn(32);` - 0, // on "abs", error - 0, // on "connect", error - 0, // on "constant", error - 0, // on "der", error - 0, // on "discrete", error - 0, // on "end", error - 0, // on "equation", error - 0, // on "flow", error - 0, // on "input", error - 0, // on "model", error - 0, // on "output", error - 0, // on "parameter", error - 0, // on "stream", error - 0, // on r#"\"[^\"\\\\]*\""#, error - 0, // on r#"[+-]?\\d+"#, error - 0, // on r#"[+-]?\\d+\\.\\d*([eE][-+]?\\d+)?"#, error - 0, // on r#"[a-zA-Z_][a-zA-Z_0-9]*"#, error - // State 99 - 63, // on "(", goto 62 - 0, // on ")", error - 0, // on "*", error - 0, // on "+", error - 0, // on ",", error - 64, // on "-", goto 63 - 0, // on "/", error - 0, // on ";", error - 0, // on "=", error - 65, // on "abs", goto 64 - 0, // on "connect", error - 0, // on "constant", error - 66, // on "der", goto 65 - 0, // on "discrete", error - 0, // on "end", error - 0, // on "equation", error - 0, // on "flow", error - 0, // on "input", error - 0, // on "model", error - 0, // on "output", error - 0, // on "parameter", error - 0, // on "stream", error - 0, // on r#"\"[^\"\\\\]*\""#, error - 67, // on r#"[+-]?\\d+"#, goto 66 - 68, // on r#"[+-]?\\d+\\.\\d*([eE][-+]?\\d+)?"#, goto 67 - 69, // on r#"[a-zA-Z_][a-zA-Z_0-9]*"#, goto 68 - // State 100 - 63, // on "(", goto 62 - 0, // on ")", error - 0, // on "*", error - 0, // on "+", error - 0, // on ",", error - 64, // on "-", goto 63 - 0, // on "/", error - 0, // on ";", error - 0, // on "=", error - 65, // on "abs", goto 64 - 0, // on "connect", error - 0, // on "constant", error - 66, // on "der", goto 65 - 0, // on "discrete", error - 0, // on "end", error - 0, // on "equation", error - 0, // on "flow", error - 0, // on "input", error - 0, // on "model", error - 0, // on "output", error - 0, // on "parameter", error - 0, // on "stream", error - 0, // on r#"\"[^\"\\\\]*\""#, error - 67, // on r#"[+-]?\\d+"#, goto 66 - 68, // on r#"[+-]?\\d+\\.\\d*([eE][-+]?\\d+)?"#, goto 67 - 69, // on r#"[a-zA-Z_][a-zA-Z_0-9]*"#, goto 68 - // State 101 - 63, // on "(", goto 62 - 0, // on ")", error - 0, // on "*", error - 0, // on "+", error - 0, // on ",", error - 0, // on "-", error - 0, // on "/", error - 0, // on ";", error - 0, // on "=", error - 65, // on "abs", goto 64 - 0, // on "connect", error - 0, // on "constant", error - 66, // on "der", goto 65 - 0, // on "discrete", error - 0, // on "end", error - 0, // on "equation", error - 0, // on "flow", error - 0, // on "input", error - 0, // on "model", error - 0, // on "output", error - 0, // on "parameter", error - 0, // on "stream", error - 0, // on r#"\"[^\"\\\\]*\""#, error - 67, // on r#"[+-]?\\d+"#, goto 66 - 68, // on r#"[+-]?\\d+\\.\\d*([eE][-+]?\\d+)?"#, goto 67 - 69, // on r#"[a-zA-Z_][a-zA-Z_0-9]*"#, goto 68 - // State 102 - 63, // on "(", goto 62 - 0, // on ")", error - 0, // on "*", error - 0, // on "+", error - 0, // on ",", error - 0, // on "-", error - 0, // on "/", error - 0, // on ";", error - 0, // on "=", error - 65, // on "abs", goto 64 - 0, // on "connect", error - 0, // on "constant", error - 66, // on "der", goto 65 - 0, // on "discrete", error - 0, // on "end", error - 0, // on "equation", error - 0, // on "flow", error - 0, // on "input", error - 0, // on "model", error - 0, // on "output", error - 0, // on "parameter", error - 0, // on "stream", error - 0, // on r#"\"[^\"\\\\]*\""#, error - 67, // on r#"[+-]?\\d+"#, goto 66 - 68, // on r#"[+-]?\\d+\\.\\d*([eE][-+]?\\d+)?"#, goto 67 - 69, // on r#"[a-zA-Z_][a-zA-Z_0-9]*"#, goto 68 - // State 103 - 0, // on "(", error - 130, // on ")", goto 129 - 0, // on "*", error - 100, // on "+", goto 99 - 0, // on ",", error - 101, // on "-", goto 100 - 0, // on "/", error - 0, // on ";", error - 0, // on "=", error - 0, // on "abs", error - 0, // on "connect", error - 0, // on "constant", error - 0, // on "der", error - 0, // on "discrete", error - 0, // on "end", error - 0, // on "equation", error - 0, // on "flow", error - 0, // on "input", error - 0, // on "model", error - 0, // on "output", error - 0, // on "parameter", error - 0, // on "stream", error - 0, // on r#"\"[^\"\\\\]*\""#, error - 0, // on r#"[+-]?\\d+"#, error - 0, // on r#"[+-]?\\d+\\.\\d*([eE][-+]?\\d+)?"#, error - 0, // on r#"[a-zA-Z_][a-zA-Z_0-9]*"#, error - // State 104 - 0, // on "(", error - -37, // on ")", reduce `factor = "-", term => ActionFn(25);` - -37, // on "*", reduce `factor = "-", term => ActionFn(25);` - -37, // on "+", reduce `factor = "-", term => ActionFn(25);` - 0, // on ",", error - -37, // on "-", reduce `factor = "-", term => ActionFn(25);` - -37, // on "/", reduce `factor = "-", term => ActionFn(25);` - 0, // on ";", error - 0, // on "=", error - 0, // on "abs", error - 0, // on "connect", error - 0, // on "constant", error - 0, // on "der", error - 0, // on "discrete", error - 0, // on "end", error - 0, // on "equation", error - 0, // on "flow", error - 0, // on "input", error - 0, // on "model", error - 0, // on "output", error - 0, // on "parameter", error - 0, // on "stream", error - 0, // on r#"\"[^\"\\\\]*\""#, error - 0, // on r#"[+-]?\\d+"#, error - 0, // on r#"[+-]?\\d+\\.\\d*([eE][-+]?\\d+)?"#, error - 0, // on r#"[a-zA-Z_][a-zA-Z_0-9]*"#, error - // State 105 - 63, // on "(", goto 62 - 0, // on ")", error - 0, // on "*", error - 0, // on "+", error - 0, // on ",", error - 64, // on "-", goto 63 - 0, // on "/", error - 0, // on ";", error - 0, // on "=", error - 65, // on "abs", goto 64 - 0, // on "connect", error - 0, // on "constant", error - 66, // on "der", goto 65 - 0, // on "discrete", error - 0, // on "end", error - 0, // on "equation", error - 0, // on "flow", error - 0, // on "input", error - 0, // on "model", error - 0, // on "output", error - 0, // on "parameter", error - 0, // on "stream", error - 0, // on r#"\"[^\"\\\\]*\""#, error - 67, // on r#"[+-]?\\d+"#, goto 66 - 68, // on r#"[+-]?\\d+\\.\\d*([eE][-+]?\\d+)?"#, goto 67 - 69, // on r#"[a-zA-Z_][a-zA-Z_0-9]*"#, goto 68 - // State 106 - 63, // on "(", goto 62 - 0, // on ")", error - 0, // on "*", error - 0, // on "+", error - 0, // on ",", error - 64, // on "-", goto 63 - 0, // on "/", error - 0, // on ";", error - 0, // on "=", error - 65, // on "abs", goto 64 - 0, // on "connect", error - 0, // on "constant", error - 66, // on "der", goto 65 - 0, // on "discrete", error - 0, // on "end", error - 0, // on "equation", error - 0, // on "flow", error - 0, // on "input", error - 0, // on "model", error - 0, // on "output", error - 0, // on "parameter", error - 0, // on "stream", error - 0, // on r#"\"[^\"\\\\]*\""#, error - 67, // on r#"[+-]?\\d+"#, goto 66 - 68, // on r#"[+-]?\\d+\\.\\d*([eE][-+]?\\d+)?"#, goto 67 - 69, // on r#"[a-zA-Z_][a-zA-Z_0-9]*"#, goto 68 - // State 107 - 0, // on "(", error - 133, // on ")", goto 132 - 0, // on "*", error - 100, // on "+", goto 99 - 0, // on ",", error - 101, // on "-", goto 100 - 0, // on "/", error - 0, // on ";", error - 0, // on "=", error - 0, // on "abs", error - 0, // on "connect", error - 0, // on "constant", error - 0, // on "der", error - 0, // on "discrete", error - 0, // on "end", error - 0, // on "equation", error - 0, // on "flow", error - 0, // on "input", error - 0, // on "model", error - 0, // on "output", error - 0, // on "parameter", error - 0, // on "stream", error - 0, // on r#"\"[^\"\\\\]*\""#, error - 0, // on r#"[+-]?\\d+"#, error - 0, // on r#"[+-]?\\d+\\.\\d*([eE][-+]?\\d+)?"#, error - 0, // on r#"[a-zA-Z_][a-zA-Z_0-9]*"#, error - // State 108 - 0, // on "(", error - 0, // on ")", error - 0, // on "*", error - 0, // on "+", error - 134, // on ",", goto 133 - 0, // on "-", error - 0, // on "/", error - 0, // on ";", error - 0, // on "=", error - 0, // on "abs", error - 0, // on "connect", error - 0, // on "constant", error - 0, // on "der", error - 0, // on "discrete", error - 0, // on "end", error - 0, // on "equation", error - 0, // on "flow", error - 0, // on "input", error - 0, // on "model", error - 0, // on "output", error - 0, // on "parameter", error - 0, // on "stream", error - 0, // on r#"\"[^\"\\\\]*\""#, error - 0, // on r#"[+-]?\\d+"#, error - 0, // on r#"[+-]?\\d+\\.\\d*([eE][-+]?\\d+)?"#, error - 0, // on r#"[a-zA-Z_][a-zA-Z_0-9]*"#, error - // State 109 - 0, // on "(", error - 0, // on ")", error - 0, // on "*", error - 0, // on "+", error - -41, // on ",", reduce `identifier = r#"[a-zA-Z_][a-zA-Z_0-9]*"# => ActionFn(3);` - 0, // on "-", error - 0, // on "/", error - 0, // on ";", error - 0, // on "=", error - 0, // on "abs", error - 0, // on "connect", error - 0, // on "constant", error - 0, // on "der", error - 0, // on "discrete", error - 0, // on "end", error - 0, // on "equation", error - 0, // on "flow", error - 0, // on "input", error - 0, // on "model", error - 0, // on "output", error - 0, // on "parameter", error - 0, // on "stream", error - 0, // on r#"\"[^\"\\\\]*\""#, error - 0, // on r#"[+-]?\\d+"#, error - 0, // on r#"[+-]?\\d+\\.\\d*([eE][-+]?\\d+)?"#, error - 0, // on r#"[a-zA-Z_][a-zA-Z_0-9]*"#, error - // State 110 - 0, // on "(", error - 135, // on ")", goto 134 - 0, // on "*", error - 100, // on "+", goto 99 - 0, // on ",", error - 101, // on "-", goto 100 - 0, // on "/", error - 0, // on ";", error - 0, // on "=", error - 0, // on "abs", error - 0, // on "connect", error - 0, // on "constant", error - 0, // on "der", error - 0, // on "discrete", error - 0, // on "end", error - 0, // on "equation", error - 0, // on "flow", error - 0, // on "input", error - 0, // on "model", error - 0, // on "output", error - 0, // on "parameter", error - 0, // on "stream", error - 0, // on r#"\"[^\"\\\\]*\""#, error - 0, // on r#"[+-]?\\d+"#, error - 0, // on r#"[+-]?\\d+\\.\\d*([eE][-+]?\\d+)?"#, error - 0, // on r#"[a-zA-Z_][a-zA-Z_0-9]*"#, error - // State 111 - 0, // on "(", error - 0, // on ")", error - 0, // on "*", error - 0, // on "+", error - 0, // on ",", error - 0, // on "-", error - 0, // on "/", error - 0, // on ";", error - 0, // on "=", error - 0, // on "abs", error - 0, // on "connect", error - 0, // on "constant", error - 0, // on "der", error - 0, // on "discrete", error - 0, // on "end", error - 0, // on "equation", error - 0, // on "flow", error - 0, // on "input", error - 0, // on "model", error - 0, // on "output", error - 0, // on "parameter", error - 0, // on "stream", error - 0, // on r#"\"[^\"\\\\]*\""#, error - 0, // on r#"[+-]?\\d+"#, error - 0, // on r#"[+-]?\\d+\\.\\d*([eE][-+]?\\d+)?"#, error - 0, // on r#"[a-zA-Z_][a-zA-Z_0-9]*"#, error - // State 112 - 0, // on "(", error - 0, // on ")", error - 0, // on "*", error - 0, // on "+", error - 0, // on ",", error - 0, // on "-", error - 0, // on "/", error - 136, // on ";", goto 135 - 0, // on "=", error - 0, // on "abs", error - 0, // on "connect", error - 0, // on "constant", error - 0, // on "der", error - 0, // on "discrete", error - 0, // on "end", error - 0, // on "equation", error - 0, // on "flow", error - 0, // on "input", error - 0, // on "model", error - 0, // on "output", error - 0, // on "parameter", error - 0, // on "stream", error - 0, // on r#"\"[^\"\\\\]*\""#, error - 0, // on r#"[+-]?\\d+"#, error - 0, // on r#"[+-]?\\d+\\.\\d*([eE][-+]?\\d+)?"#, error - 0, // on r#"[a-zA-Z_][a-zA-Z_0-9]*"#, error - // State 113 - 0, // on "(", error - 0, // on ")", error - 0, // on "*", error - 0, // on "+", error - 0, // on ",", error - 0, // on "-", error - 0, // on "/", error - 0, // on ";", error - 0, // on "=", error - 0, // on "abs", error - 0, // on "connect", error - 0, // on "constant", error - 0, // on "der", error - 0, // on "discrete", error - 0, // on "end", error - 0, // on "equation", error - 0, // on "flow", error - 0, // on "input", error - 0, // on "model", error - 0, // on "output", error - 0, // on "parameter", error - 0, // on "stream", error - 0, // on r#"\"[^\"\\\\]*\""#, error - 0, // on r#"[+-]?\\d+"#, error - 0, // on r#"[+-]?\\d+\\.\\d*([eE][-+]?\\d+)?"#, error - 0, // on r#"[a-zA-Z_][a-zA-Z_0-9]*"#, error - // State 114 - 0, // on "(", error - 0, // on ")", error - 0, // on "*", error - 0, // on "+", error - 0, // on ",", error - 0, // on "-", error - 0, // on "/", error - 0, // on ";", error - 0, // on "=", error - 0, // on "abs", error - 0, // on "connect", error - -8, // on "constant", reduce `component_declaration = component_prefix, identifier, identifier, string_literal, ";" => ActionFn(58);` - 0, // on "der", error - -8, // on "discrete", reduce `component_declaration = component_prefix, identifier, identifier, string_literal, ";" => ActionFn(58);` - 0, // on "end", error - -8, // on "equation", reduce `component_declaration = component_prefix, identifier, identifier, string_literal, ";" => ActionFn(58);` - -8, // on "flow", reduce `component_declaration = component_prefix, identifier, identifier, string_literal, ";" => ActionFn(58);` - -8, // on "input", reduce `component_declaration = component_prefix, identifier, identifier, string_literal, ";" => ActionFn(58);` - 0, // on "model", error - -8, // on "output", reduce `component_declaration = component_prefix, identifier, identifier, string_literal, ";" => ActionFn(58);` - -8, // on "parameter", reduce `component_declaration = component_prefix, identifier, identifier, string_literal, ";" => ActionFn(58);` - -8, // on "stream", reduce `component_declaration = component_prefix, identifier, identifier, string_literal, ";" => ActionFn(58);` - 0, // on r#"\"[^\"\\\\]*\""#, error - 0, // on r#"[+-]?\\d+"#, error - 0, // on r#"[+-]?\\d+\\.\\d*([eE][-+]?\\d+)?"#, error - -8, // on r#"[a-zA-Z_][a-zA-Z_0-9]*"#, reduce `component_declaration = component_prefix, identifier, identifier, string_literal, ";" => ActionFn(58);` - // State 115 - 0, // on "(", error - 0, // on ")", error - 0, // on "*", error - 0, // on "+", error - 0, // on ",", error - 0, // on "-", error - 0, // on "/", error - 0, // on ";", error - 0, // on "=", error - 0, // on "abs", error - 0, // on "connect", error - 0, // on "constant", error - 0, // on "der", error - 0, // on "discrete", error - 0, // on "end", error - 0, // on "equation", error - 0, // on "flow", error - 0, // on "input", error - 0, // on "model", error - 0, // on "output", error - 0, // on "parameter", error - 0, // on "stream", error - 0, // on r#"\"[^\"\\\\]*\""#, error - 0, // on r#"[+-]?\\d+"#, error - 0, // on r#"[+-]?\\d+\\.\\d*([eE][-+]?\\d+)?"#, error - 0, // on r#"[a-zA-Z_][a-zA-Z_0-9]*"#, error - // State 116 - 90, // on "(", goto 89 - 0, // on ")", error - 0, // on "*", error - 0, // on "+", error - 0, // on ",", error - 91, // on "-", goto 90 - 0, // on "/", error - 0, // on ";", error - 0, // on "=", error - 92, // on "abs", goto 91 - 0, // on "connect", error - 0, // on "constant", error - 93, // on "der", goto 92 - 0, // on "discrete", error - 0, // on "end", error - 0, // on "equation", error - 0, // on "flow", error - 0, // on "input", error - 0, // on "model", error - 0, // on "output", error - 0, // on "parameter", error - 0, // on "stream", error - 0, // on r#"\"[^\"\\\\]*\""#, error - 94, // on r#"[+-]?\\d+"#, goto 93 - 95, // on r#"[+-]?\\d+\\.\\d*([eE][-+]?\\d+)?"#, goto 94 - 96, // on r#"[a-zA-Z_][a-zA-Z_0-9]*"#, goto 95 - // State 117 - 90, // on "(", goto 89 - 0, // on ")", error - 0, // on "*", error - 0, // on "+", error - 0, // on ",", error - 91, // on "-", goto 90 - 0, // on "/", error - 0, // on ";", error - 0, // on "=", error - 92, // on "abs", goto 91 - 0, // on "connect", error - 0, // on "constant", error - 93, // on "der", goto 92 - 0, // on "discrete", error - 0, // on "end", error - 0, // on "equation", error - 0, // on "flow", error - 0, // on "input", error - 0, // on "model", error - 0, // on "output", error - 0, // on "parameter", error - 0, // on "stream", error - 0, // on r#"\"[^\"\\\\]*\""#, error - 94, // on r#"[+-]?\\d+"#, goto 93 - 95, // on r#"[+-]?\\d+\\.\\d*([eE][-+]?\\d+)?"#, goto 94 - 96, // on r#"[a-zA-Z_][a-zA-Z_0-9]*"#, goto 95 - // State 118 - -47, // on "(", reduce `simple_equation = expr, "=", expr, ";" => ActionFn(18);` - 0, // on ")", error - 0, // on "*", error - 0, // on "+", error - 0, // on ",", error - -47, // on "-", reduce `simple_equation = expr, "=", expr, ";" => ActionFn(18);` - 0, // on "/", error - 0, // on ";", error - 0, // on "=", error - -47, // on "abs", reduce `simple_equation = expr, "=", expr, ";" => ActionFn(18);` - -47, // on "connect", reduce `simple_equation = expr, "=", expr, ";" => ActionFn(18);` - 0, // on "constant", error - -47, // on "der", reduce `simple_equation = expr, "=", expr, ";" => ActionFn(18);` - 0, // on "discrete", error - -47, // on "end", reduce `simple_equation = expr, "=", expr, ";" => ActionFn(18);` - 0, // on "equation", error - 0, // on "flow", error - 0, // on "input", error - 0, // on "model", error - 0, // on "output", error - 0, // on "parameter", error - 0, // on "stream", error - 0, // on r#"\"[^\"\\\\]*\""#, error - -47, // on r#"[+-]?\\d+"#, reduce `simple_equation = expr, "=", expr, ";" => ActionFn(18);` - -47, // on r#"[+-]?\\d+\\.\\d*([eE][-+]?\\d+)?"#, reduce `simple_equation = expr, "=", expr, ";" => ActionFn(18);` - -47, // on r#"[a-zA-Z_][a-zA-Z_0-9]*"#, reduce `simple_equation = expr, "=", expr, ";" => ActionFn(18);` - // State 119 - 90, // on "(", goto 89 - 0, // on ")", error - 0, // on "*", error - 0, // on "+", error - 0, // on ",", error - 0, // on "-", error - 0, // on "/", error - 0, // on ";", error - 0, // on "=", error - 92, // on "abs", goto 91 - 0, // on "connect", error - 0, // on "constant", error - 93, // on "der", goto 92 - 0, // on "discrete", error - 0, // on "end", error - 0, // on "equation", error - 0, // on "flow", error - 0, // on "input", error - 0, // on "model", error - 0, // on "output", error - 0, // on "parameter", error - 0, // on "stream", error - 0, // on r#"\"[^\"\\\\]*\""#, error - 94, // on r#"[+-]?\\d+"#, goto 93 - 95, // on r#"[+-]?\\d+\\.\\d*([eE][-+]?\\d+)?"#, goto 94 - 96, // on r#"[a-zA-Z_][a-zA-Z_0-9]*"#, goto 95 - // State 120 - 90, // on "(", goto 89 - 0, // on ")", error - 0, // on "*", error - 0, // on "+", error - 0, // on ",", error - 0, // on "-", error - 0, // on "/", error - 0, // on ";", error - 0, // on "=", error - 92, // on "abs", goto 91 - 0, // on "connect", error - 0, // on "constant", error - 93, // on "der", goto 92 - 0, // on "discrete", error - 0, // on "end", error - 0, // on "equation", error - 0, // on "flow", error - 0, // on "input", error - 0, // on "model", error - 0, // on "output", error - 0, // on "parameter", error - 0, // on "stream", error - 0, // on r#"\"[^\"\\\\]*\""#, error - 94, // on r#"[+-]?\\d+"#, goto 93 - 95, // on r#"[+-]?\\d+\\.\\d*([eE][-+]?\\d+)?"#, goto 94 - 96, // on r#"[a-zA-Z_][a-zA-Z_0-9]*"#, goto 95 - // State 121 - 0, // on "(", error - 141, // on ")", goto 140 - 0, // on "*", error - 100, // on "+", goto 99 - 0, // on ",", error - 101, // on "-", goto 100 - 0, // on "/", error - 0, // on ";", error - 0, // on "=", error - 0, // on "abs", error - 0, // on "connect", error - 0, // on "constant", error - 0, // on "der", error - 0, // on "discrete", error - 0, // on "end", error - 0, // on "equation", error - 0, // on "flow", error - 0, // on "input", error - 0, // on "model", error - 0, // on "output", error - 0, // on "parameter", error - 0, // on "stream", error - 0, // on r#"\"[^\"\\\\]*\""#, error - 0, // on r#"[+-]?\\d+"#, error - 0, // on r#"[+-]?\\d+\\.\\d*([eE][-+]?\\d+)?"#, error - 0, // on r#"[a-zA-Z_][a-zA-Z_0-9]*"#, error - // State 122 - 0, // on "(", error - 0, // on ")", error - -37, // on "*", reduce `factor = "-", term => ActionFn(25);` - -37, // on "+", reduce `factor = "-", term => ActionFn(25);` - 0, // on ",", error - -37, // on "-", reduce `factor = "-", term => ActionFn(25);` - -37, // on "/", reduce `factor = "-", term => ActionFn(25);` - -37, // on ";", reduce `factor = "-", term => ActionFn(25);` - 0, // on "=", error - 0, // on "abs", error - 0, // on "connect", error - 0, // on "constant", error - 0, // on "der", error - 0, // on "discrete", error - 0, // on "end", error - 0, // on "equation", error - 0, // on "flow", error - 0, // on "input", error - 0, // on "model", error - 0, // on "output", error - 0, // on "parameter", error - 0, // on "stream", error - 0, // on r#"\"[^\"\\\\]*\""#, error - 0, // on r#"[+-]?\\d+"#, error - 0, // on r#"[+-]?\\d+\\.\\d*([eE][-+]?\\d+)?"#, error - 0, // on r#"[a-zA-Z_][a-zA-Z_0-9]*"#, error - // State 123 - 63, // on "(", goto 62 - 0, // on ")", error - 0, // on "*", error - 0, // on "+", error - 0, // on ",", error - 64, // on "-", goto 63 - 0, // on "/", error - 0, // on ";", error - 0, // on "=", error - 65, // on "abs", goto 64 - 0, // on "connect", error - 0, // on "constant", error - 66, // on "der", goto 65 - 0, // on "discrete", error - 0, // on "end", error - 0, // on "equation", error - 0, // on "flow", error - 0, // on "input", error - 0, // on "model", error - 0, // on "output", error - 0, // on "parameter", error - 0, // on "stream", error - 0, // on r#"\"[^\"\\\\]*\""#, error - 67, // on r#"[+-]?\\d+"#, goto 66 - 68, // on r#"[+-]?\\d+\\.\\d*([eE][-+]?\\d+)?"#, goto 67 - 69, // on r#"[a-zA-Z_][a-zA-Z_0-9]*"#, goto 68 - // State 124 - 63, // on "(", goto 62 - 0, // on ")", error - 0, // on "*", error - 0, // on "+", error - 0, // on ",", error - 64, // on "-", goto 63 - 0, // on "/", error - 0, // on ";", error - 0, // on "=", error - 65, // on "abs", goto 64 - 0, // on "connect", error - 0, // on "constant", error - 66, // on "der", goto 65 - 0, // on "discrete", error - 0, // on "end", error - 0, // on "equation", error - 0, // on "flow", error - 0, // on "input", error - 0, // on "model", error - 0, // on "output", error - 0, // on "parameter", error - 0, // on "stream", error - 0, // on r#"\"[^\"\\\\]*\""#, error - 67, // on r#"[+-]?\\d+"#, goto 66 - 68, // on r#"[+-]?\\d+\\.\\d*([eE][-+]?\\d+)?"#, goto 67 - 69, // on r#"[a-zA-Z_][a-zA-Z_0-9]*"#, goto 68 - // State 125 - 0, // on "(", error - -32, // on ")", reduce `expr = expr, "+", factor => ActionFn(20);` - 102, // on "*", goto 101 - -32, // on "+", reduce `expr = expr, "+", factor => ActionFn(20);` - 0, // on ",", error - -32, // on "-", reduce `expr = expr, "+", factor => ActionFn(20);` - 103, // on "/", goto 102 - 0, // on ";", error - 0, // on "=", error - 0, // on "abs", error - 0, // on "connect", error - 0, // on "constant", error - 0, // on "der", error - 0, // on "discrete", error - 0, // on "end", error - 0, // on "equation", error - 0, // on "flow", error - 0, // on "input", error - 0, // on "model", error - 0, // on "output", error - 0, // on "parameter", error - 0, // on "stream", error - 0, // on r#"\"[^\"\\\\]*\""#, error - 0, // on r#"[+-]?\\d+"#, error - 0, // on r#"[+-]?\\d+\\.\\d*([eE][-+]?\\d+)?"#, error - 0, // on r#"[a-zA-Z_][a-zA-Z_0-9]*"#, error - // State 126 - 0, // on "(", error - -33, // on ")", reduce `expr = expr, "-", factor => ActionFn(21);` - 102, // on "*", goto 101 - -33, // on "+", reduce `expr = expr, "-", factor => ActionFn(21);` - 0, // on ",", error - -33, // on "-", reduce `expr = expr, "-", factor => ActionFn(21);` - 103, // on "/", goto 102 - 0, // on ";", error - 0, // on "=", error - 0, // on "abs", error - 0, // on "connect", error - 0, // on "constant", error - 0, // on "der", error - 0, // on "discrete", error - 0, // on "end", error - 0, // on "equation", error - 0, // on "flow", error - 0, // on "input", error - 0, // on "model", error - 0, // on "output", error - 0, // on "parameter", error - 0, // on "stream", error - 0, // on r#"\"[^\"\\\\]*\""#, error - 0, // on r#"[+-]?\\d+"#, error - 0, // on r#"[+-]?\\d+\\.\\d*([eE][-+]?\\d+)?"#, error - 0, // on r#"[a-zA-Z_][a-zA-Z_0-9]*"#, error - // State 127 - 0, // on "(", error - -35, // on ")", reduce `factor = factor, "*", term => ActionFn(23);` - -35, // on "*", reduce `factor = factor, "*", term => ActionFn(23);` - -35, // on "+", reduce `factor = factor, "*", term => ActionFn(23);` - 0, // on ",", error - -35, // on "-", reduce `factor = factor, "*", term => ActionFn(23);` - -35, // on "/", reduce `factor = factor, "*", term => ActionFn(23);` - 0, // on ";", error - 0, // on "=", error - 0, // on "abs", error - 0, // on "connect", error - 0, // on "constant", error - 0, // on "der", error - 0, // on "discrete", error - 0, // on "end", error - 0, // on "equation", error - 0, // on "flow", error - 0, // on "input", error - 0, // on "model", error - 0, // on "output", error - 0, // on "parameter", error - 0, // on "stream", error - 0, // on r#"\"[^\"\\\\]*\""#, error - 0, // on r#"[+-]?\\d+"#, error - 0, // on r#"[+-]?\\d+\\.\\d*([eE][-+]?\\d+)?"#, error - 0, // on r#"[a-zA-Z_][a-zA-Z_0-9]*"#, error - // State 128 - 0, // on "(", error - -36, // on ")", reduce `factor = factor, "/", term => ActionFn(24);` - -36, // on "*", reduce `factor = factor, "/", term => ActionFn(24);` - -36, // on "+", reduce `factor = factor, "/", term => ActionFn(24);` - 0, // on ",", error - -36, // on "-", reduce `factor = factor, "/", term => ActionFn(24);` - -36, // on "/", reduce `factor = factor, "/", term => ActionFn(24);` - 0, // on ";", error - 0, // on "=", error - 0, // on "abs", error - 0, // on "connect", error - 0, // on "constant", error - 0, // on "der", error - 0, // on "discrete", error - 0, // on "end", error - 0, // on "equation", error - 0, // on "flow", error - 0, // on "input", error - 0, // on "model", error - 0, // on "output", error - 0, // on "parameter", error - 0, // on "stream", error - 0, // on r#"\"[^\"\\\\]*\""#, error - 0, // on r#"[+-]?\\d+"#, error - 0, // on r#"[+-]?\\d+\\.\\d*([eE][-+]?\\d+)?"#, error - 0, // on r#"[a-zA-Z_][a-zA-Z_0-9]*"#, error - // State 129 - 0, // on "(", error - -56, // on ")", reduce `term = "(", expr, ")" => ActionFn(32);` - -56, // on "*", reduce `term = "(", expr, ")" => ActionFn(32);` - -56, // on "+", reduce `term = "(", expr, ")" => ActionFn(32);` - 0, // on ",", error - -56, // on "-", reduce `term = "(", expr, ")" => ActionFn(32);` - -56, // on "/", reduce `term = "(", expr, ")" => ActionFn(32);` - 0, // on ";", error - 0, // on "=", error - 0, // on "abs", error - 0, // on "connect", error - 0, // on "constant", error - 0, // on "der", error - 0, // on "discrete", error - 0, // on "end", error - 0, // on "equation", error - 0, // on "flow", error - 0, // on "input", error - 0, // on "model", error - 0, // on "output", error - 0, // on "parameter", error - 0, // on "stream", error - 0, // on r#"\"[^\"\\\\]*\""#, error - 0, // on r#"[+-]?\\d+"#, error - 0, // on r#"[+-]?\\d+\\.\\d*([eE][-+]?\\d+)?"#, error - 0, // on r#"[a-zA-Z_][a-zA-Z_0-9]*"#, error - // State 130 - 0, // on "(", error - 144, // on ")", goto 143 - 0, // on "*", error - 100, // on "+", goto 99 - 0, // on ",", error - 101, // on "-", goto 100 - 0, // on "/", error - 0, // on ";", error - 0, // on "=", error - 0, // on "abs", error - 0, // on "connect", error - 0, // on "constant", error - 0, // on "der", error - 0, // on "discrete", error - 0, // on "end", error - 0, // on "equation", error - 0, // on "flow", error - 0, // on "input", error - 0, // on "model", error - 0, // on "output", error - 0, // on "parameter", error - 0, // on "stream", error - 0, // on r#"\"[^\"\\\\]*\""#, error - 0, // on r#"[+-]?\\d+"#, error - 0, // on r#"[+-]?\\d+\\.\\d*([eE][-+]?\\d+)?"#, error - 0, // on r#"[a-zA-Z_][a-zA-Z_0-9]*"#, error - // State 131 - 0, // on "(", error - 145, // on ")", goto 144 - 0, // on "*", error - 100, // on "+", goto 99 - 0, // on ",", error - 101, // on "-", goto 100 - 0, // on "/", error - 0, // on ";", error - 0, // on "=", error - 0, // on "abs", error - 0, // on "connect", error - 0, // on "constant", error - 0, // on "der", error - 0, // on "discrete", error - 0, // on "end", error - 0, // on "equation", error - 0, // on "flow", error - 0, // on "input", error - 0, // on "model", error - 0, // on "output", error - 0, // on "parameter", error - 0, // on "stream", error - 0, // on r#"\"[^\"\\\\]*\""#, error - 0, // on r#"[+-]?\\d+"#, error - 0, // on r#"[+-]?\\d+\\.\\d*([eE][-+]?\\d+)?"#, error - 0, // on r#"[a-zA-Z_][a-zA-Z_0-9]*"#, error - // State 132 - 0, // on "(", error - 0, // on ")", error - -55, // on "*", reduce `term = "abs", "(", expr, ")" => ActionFn(31);` - -55, // on "+", reduce `term = "abs", "(", expr, ")" => ActionFn(31);` - 0, // on ",", error - -55, // on "-", reduce `term = "abs", "(", expr, ")" => ActionFn(31);` - -55, // on "/", reduce `term = "abs", "(", expr, ")" => ActionFn(31);` - 0, // on ";", error - -55, // on "=", reduce `term = "abs", "(", expr, ")" => ActionFn(31);` - 0, // on "abs", error - 0, // on "connect", error - 0, // on "constant", error - 0, // on "der", error - 0, // on "discrete", error - 0, // on "end", error - 0, // on "equation", error - 0, // on "flow", error - 0, // on "input", error - 0, // on "model", error - 0, // on "output", error - 0, // on "parameter", error - 0, // on "stream", error - 0, // on r#"\"[^\"\\\\]*\""#, error - 0, // on r#"[+-]?\\d+"#, error - 0, // on r#"[+-]?\\d+\\.\\d*([eE][-+]?\\d+)?"#, error - 0, // on r#"[a-zA-Z_][a-zA-Z_0-9]*"#, error - // State 133 + ]; + const __EOF_ACTION: &'static [i32] = &[ + 0, // on EOF, error + -1, // on EOF, reduce `__float = float => ActionFn(2);` + -34, // on EOF, reduce `float = r#"[+-]?\\d+\\.\\d*([eE][-+]?\\d+)?"# => ActionFn(7);` + ]; + const __GOTO: &'static [i32] = &[ + // State 0 + 0, // on __float, error + 0, // on __identifier, error + 0, // on __integer, error + 0, // on __model, error + 0, // on component_declaration, error + 0, // on component_declaration*, error + 0, // on component_declaration+, error + 0, // on component_prefix, error + 0, // on component_prefix?, error + 0, // on connect_clause, error + 0, // on connect_clause*, error + 0, // on connect_clause+, error + 0, // on expr, error + 0, // on factor, error + 2, // on float, goto 1 + 0, // on identifier, error + 0, // on integer, error + 0, // on model, error + 0, // on simple_equation, error + 0, // on simple_equation*, error + 0, // on simple_equation+, error + 0, // on string_literal, error + 0, // on string_literal?, error + 0, // on term, error + // State 1 + 0, // on __float, error + 0, // on __identifier, error + 0, // on __integer, error + 0, // on __model, error + 0, // on component_declaration, error + 0, // on component_declaration*, error + 0, // on component_declaration+, error + 0, // on component_prefix, error + 0, // on component_prefix?, error + 0, // on connect_clause, error + 0, // on connect_clause*, error + 0, // on connect_clause+, error + 0, // on expr, error + 0, // on factor, error + 0, // on float, error + 0, // on identifier, error + 0, // on integer, error + 0, // on model, error + 0, // on simple_equation, error + 0, // on simple_equation*, error + 0, // on simple_equation+, error + 0, // on string_literal, error + 0, // on string_literal?, error + 0, // on term, error + // State 2 + 0, // on __float, error + 0, // on __identifier, error + 0, // on __integer, error + 0, // on __model, error + 0, // on component_declaration, error + 0, // on component_declaration*, error + 0, // on component_declaration+, error + 0, // on component_prefix, error + 0, // on component_prefix?, error + 0, // on connect_clause, error + 0, // on connect_clause*, error + 0, // on connect_clause+, error + 0, // on expr, error + 0, // on factor, error + 0, // on float, error + 0, // on identifier, error + 0, // on integer, error + 0, // on model, error + 0, // on simple_equation, error + 0, // on simple_equation*, error + 0, // on simple_equation+, error + 0, // on string_literal, error + 0, // on string_literal?, error + 0, // on term, error + ]; + 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![]; + '__shift: loop { + let __lookahead = match __tokens.next() { + Some(Ok(v)) => v, + None => break '__shift, + Some(Err(e)) => return Err(e), + }; + let __integer = match __lookahead { + (_, (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, + _ => { + return Err(__lalrpop_util::ParseError::UnrecognizedToken { + token: Some(__lookahead), + expected: vec![], + }); + } + }; + loop { + let __state = *__states.last().unwrap() as usize; + let __action = __ACTION[__state * 26 + __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_22abs_22(__tok0), + _ => unreachable!(), + }, + 10 => match __lookahead.1 { + (10, __tok0) => __Symbol::Term_22connect_22(__tok0), + _ => unreachable!(), + }, + 11 => match __lookahead.1 { + (11, __tok0) => __Symbol::Term_22constant_22(__tok0), + _ => unreachable!(), + }, + 12 => match __lookahead.1 { + (12, __tok0) => __Symbol::Term_22der_22(__tok0), + _ => unreachable!(), + }, + 13 => match __lookahead.1 { + (13, __tok0) => __Symbol::Term_22discrete_22(__tok0), + _ => unreachable!(), + }, + 14 => match __lookahead.1 { + (14, __tok0) => __Symbol::Term_22end_22(__tok0), + _ => unreachable!(), + }, + 15 => match __lookahead.1 { + (15, __tok0) => __Symbol::Term_22equation_22(__tok0), + _ => unreachable!(), + }, + 16 => match __lookahead.1 { + (16, __tok0) => __Symbol::Term_22flow_22(__tok0), + _ => unreachable!(), + }, + 17 => match __lookahead.1 { + (17, __tok0) => __Symbol::Term_22input_22(__tok0), + _ => unreachable!(), + }, + 18 => match __lookahead.1 { + (18, __tok0) => __Symbol::Term_22model_22(__tok0), + _ => unreachable!(), + }, + 19 => match __lookahead.1 { + (19, __tok0) => __Symbol::Term_22output_22(__tok0), + _ => unreachable!(), + }, + 20 => match __lookahead.1 { + (20, __tok0) => __Symbol::Term_22parameter_22(__tok0), + _ => unreachable!(), + }, + 21 => match __lookahead.1 { + (21, __tok0) => __Symbol::Term_22stream_22(__tok0), + _ => unreachable!(), + }, + 22 => match __lookahead.1 { + (22, __tok0) => __Symbol::Termr_23_22_5c_22_5b_5e_5c_22_5c_5c_5c_5c_5d_2a_5c_22_22_23(__tok0), + _ => unreachable!(), + }, + 23 => match __lookahead.1 { + (23, __tok0) => __Symbol::Termr_23_22_5b_2b_2d_5d_3f_5c_5cd_2b_22_23(__tok0), + _ => unreachable!(), + }, + 24 => match __lookahead.1 { + (24, __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!(), + }, + 25 => match __lookahead.1 { + (25, __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 { + return Err(__lalrpop_util::ParseError::UnrecognizedToken { + token: None, + expected: vec![], + }); + } + } + } + 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, string_literal, ";" => ActionFn(64); + 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::__action64::<>(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 + } + 6 => { + // component_declaration = component_prefix, identifier, identifier, ";" => ActionFn(65); + 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::__action65::<>(input, __sym0, __sym1, __sym2, __sym3); + let __states_len = __states.len(); + __states.truncate(__states_len - 4); + __symbols.push((__start, __Symbol::Ntcomponent__declaration(__nt), __end)); + 4 + } + 7 => { + // component_declaration = identifier, identifier, string_literal, ";" => ActionFn(66); + 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::__action66::<>(input, __sym0, __sym1, __sym2, __sym3); + let __states_len = __states.len(); + __states.truncate(__states_len - 4); + __symbols.push((__start, __Symbol::Ntcomponent__declaration(__nt), __end)); + 4 + } + 8 => { + // component_declaration = identifier, identifier, ";" => ActionFn(67); + 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::__action67::<>(input, __sym0, __sym1, __sym2); + let __states_len = __states.len(); + __states.truncate(__states_len - 3); + __symbols.push((__start, __Symbol::Ntcomponent__declaration(__nt), __end)); + 4 + } + 9 => { + // component_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::Ntcomponent__declaration_2a(__nt), __end)); + 5 + } + 10 => { + // component_declaration* = component_declaration+ => ActionFn(41); + let __sym0 = __pop_Ntcomponent__declaration_2b(__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__declaration_2a(__nt), __end)); + 5 + } + 11 => { + // component_declaration+ = component_declaration => ActionFn(42); + let __sym0 = __pop_Ntcomponent__declaration(__symbols); + let __start = __sym0.0.clone(); + let __end = __sym0.2.clone(); + let __nt = super::__action42::<>(input, __sym0); + let __states_len = __states.len(); + __states.truncate(__states_len - 1); + __symbols.push((__start, __Symbol::Ntcomponent__declaration_2b(__nt), __end)); + 6 + } + 12 => { + // component_declaration+ = component_declaration+, component_declaration => ActionFn(43); + 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::__action43::<>(input, __sym0, __sym1); + let __states_len = __states.len(); + __states.truncate(__states_len - 2); + __symbols.push((__start, __Symbol::Ntcomponent__declaration_2b(__nt), __end)); + 6 + } + 13 => { + // component_prefix = "flow" => ActionFn(10); + let __sym0 = __pop_Term_22flow_22(__symbols); + let __start = __sym0.0.clone(); + let __end = __sym0.2.clone(); + let __nt = super::__action10::<>(input, __sym0); + let __states_len = __states.len(); + __states.truncate(__states_len - 1); + __symbols.push((__start, __Symbol::Ntcomponent__prefix(__nt), __end)); + 7 + } + 14 => { + // component_prefix = "stream" => ActionFn(11); + let __sym0 = __pop_Term_22stream_22(__symbols); + let __start = __sym0.0.clone(); + let __end = __sym0.2.clone(); + let __nt = super::__action11::<>(input, __sym0); + let __states_len = __states.len(); + __states.truncate(__states_len - 1); + __symbols.push((__start, __Symbol::Ntcomponent__prefix(__nt), __end)); + 7 + } + 15 => { + // component_prefix = "input" => ActionFn(12); + let __sym0 = __pop_Term_22input_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 + } + 16 => { + // component_prefix = "output" => ActionFn(13); + let __sym0 = __pop_Term_22output_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 + } + 17 => { + // component_prefix = "discrete" => ActionFn(14); + let __sym0 = __pop_Term_22discrete_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 + } + 18 => { + // component_prefix = "parameter" => ActionFn(15); + let __sym0 = __pop_Term_22parameter_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 + } + 19 => { + // component_prefix = "constant" => ActionFn(16); + let __sym0 = __pop_Term_22constant_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 + } + 20 => { + // component_prefix? = component_prefix => ActionFn(34); + let __sym0 = __pop_Ntcomponent__prefix(__symbols); + let __start = __sym0.0.clone(); + let __end = __sym0.2.clone(); + let __nt = super::__action34::<>(input, __sym0); + let __states_len = __states.len(); + __states.truncate(__states_len - 1); + __symbols.push((__start, __Symbol::Ntcomponent__prefix_3f(__nt), __end)); + 8 + } + 21 => { + // component_prefix? = => ActionFn(35); + 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::__action35::<>(input, &__start, &__end); + let __states_len = __states.len(); + __states.truncate(__states_len - 0); + __symbols.push((__start, __Symbol::Ntcomponent__prefix_3f(__nt), __end)); + 8 + } + 22 => { + // connect_clause = "connect", "(", identifier, ",", identifier, ")", ";" => ActionFn(18); + 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::__action18::<>(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 + } + 23 => { + // connect_clause* = => 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::Ntconnect__clause_2a(__nt), __end)); + 10 + } + 24 => { + // connect_clause* = connect_clause+ => ActionFn(39); + let __sym0 = __pop_Ntconnect__clause_2b(__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::Ntconnect__clause_2a(__nt), __end)); + 10 + } + 25 => { + // connect_clause+ = connect_clause => ActionFn(44); + let __sym0 = __pop_Ntconnect__clause(__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::Ntconnect__clause_2b(__nt), __end)); + 11 + } + 26 => { + // connect_clause+ = connect_clause+, connect_clause => ActionFn(45); + 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::__action45::<>(input, __sym0, __sym1); + let __states_len = __states.len(); + __states.truncate(__states_len - 2); + __symbols.push((__start, __Symbol::Ntconnect__clause_2b(__nt), __end)); + 11 + } + 27 => { + // expr = expr, "+", factor => ActionFn(19); + 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::__action19::<>(input, __sym0, __sym1, __sym2); + let __states_len = __states.len(); + __states.truncate(__states_len - 3); + __symbols.push((__start, __Symbol::Ntexpr(__nt), __end)); + 12 + } + 28 => { + // expr = expr, "-", factor => ActionFn(20); + 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::__action20::<>(input, __sym0, __sym1, __sym2); + let __states_len = __states.len(); + __states.truncate(__states_len - 3); + __symbols.push((__start, __Symbol::Ntexpr(__nt), __end)); + 12 + } + 29 => { + // expr = factor => ActionFn(21); + let __sym0 = __pop_Ntfactor(__symbols); + let __start = __sym0.0.clone(); + let __end = __sym0.2.clone(); + let __nt = super::__action21::<>(input, __sym0); + let __states_len = __states.len(); + __states.truncate(__states_len - 1); + __symbols.push((__start, __Symbol::Ntexpr(__nt), __end)); + 12 + } + 30 => { + // factor = factor, "*", term => ActionFn(22); + 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::__action22::<>(input, __sym0, __sym1, __sym2); + let __states_len = __states.len(); + __states.truncate(__states_len - 3); + __symbols.push((__start, __Symbol::Ntfactor(__nt), __end)); + 13 + } + 31 => { + // factor = factor, "/", term => ActionFn(23); + 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::__action23::<>(input, __sym0, __sym1, __sym2); + let __states_len = __states.len(); + __states.truncate(__states_len - 3); + __symbols.push((__start, __Symbol::Ntfactor(__nt), __end)); + 13 + } + 32 => { + // factor = "-", term => ActionFn(24); + 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::__action24::<>(input, __sym0, __sym1); + let __states_len = __states.len(); + __states.truncate(__states_len - 2); + __symbols.push((__start, __Symbol::Ntfactor(__nt), __end)); + 13 + } + 33 => { + // factor = term => ActionFn(25); + let __sym0 = __pop_Ntterm(__symbols); + let __start = __sym0.0.clone(); + let __end = __sym0.2.clone(); + let __nt = super::__action25::<>(input, __sym0); + let __states_len = __states.len(); + __states.truncate(__states_len - 1); + __symbols.push((__start, __Symbol::Ntfactor(__nt), __end)); + 13 + } + 34 => { + // 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 + } + 35 => { + // 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 + } + 36 => { + // 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 + } + 37 => { + // model = "model", identifier, "equation", "end", identifier, ";" => ActionFn(56); + 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::__action56::<>(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 + } + 38 => { + // model = "model", identifier, "equation", simple_equation+, "end", identifier, ";" => ActionFn(57); + 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::__action57::<>(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 + } + 39 => { + // model = "model", identifier, "equation", connect_clause+, "end", identifier, ";" => ActionFn(58); + 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::__action58::<>(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 + } + 40 => { + // model = "model", identifier, "equation", connect_clause+, simple_equation+, "end", identifier, ";" => ActionFn(59); + 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::__action59::<>(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 + } + 41 => { + // model = "model", identifier, component_declaration+, "equation", "end", identifier, ";" => ActionFn(60); + 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::__action60::<>(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 + } + 42 => { + // model = "model", identifier, component_declaration+, "equation", simple_equation+, "end", identifier, ";" => ActionFn(61); + 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::__action61::<>(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 + } + 43 => { + // model = "model", identifier, component_declaration+, "equation", connect_clause+, "end", identifier, ";" => ActionFn(62); + 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::__action62::<>(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 + } + 44 => { + // model = "model", identifier, component_declaration+, "equation", connect_clause+, simple_equation+, "end", identifier, ";" => ActionFn(63); + 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::__action63::<>(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 + } + 45 => { + // simple_equation = expr, "=", expr, ";" => ActionFn(17); + 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::__action17::<>(input, __sym0, __sym1, __sym2, __sym3); + let __states_len = __states.len(); + __states.truncate(__states_len - 4); + __symbols.push((__start, __Symbol::Ntsimple__equation(__nt), __end)); + 18 + } + 46 => { + // simple_equation* = => 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::Ntsimple__equation_2a(__nt), __end)); + 19 + } + 47 => { + // simple_equation* = simple_equation+ => ActionFn(37); + let __sym0 = __pop_Ntsimple__equation_2b(__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::Ntsimple__equation_2a(__nt), __end)); + 19 + } + 48 => { + // simple_equation+ = simple_equation => ActionFn(46); + let __sym0 = __pop_Ntsimple__equation(__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::Ntsimple__equation_2b(__nt), __end)); + 20 + } + 49 => { + // simple_equation+ = simple_equation+, simple_equation => ActionFn(47); + 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::__action47::<>(input, __sym0, __sym1); + let __states_len = __states.len(); + __states.truncate(__states_len - 2); + __symbols.push((__start, __Symbol::Ntsimple__equation_2b(__nt), __end)); + 20 + } + 50 => { + // 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 + } + 51 => { + // string_literal? = string_literal => ActionFn(32); + let __sym0 = __pop_Ntstring__literal(__symbols); + let __start = __sym0.0.clone(); + let __end = __sym0.2.clone(); + let __nt = super::__action32::<>(input, __sym0); + let __states_len = __states.len(); + __states.truncate(__states_len - 1); + __symbols.push((__start, __Symbol::Ntstring__literal_3f(__nt), __end)); + 22 + } + 52 => { + // string_literal? = => ActionFn(33); + 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::__action33::<>(input, &__start, &__end); + let __states_len = __states.len(); + __states.truncate(__states_len - 0); + __symbols.push((__start, __Symbol::Ntstring__literal_3f(__nt), __end)); + 22 + } + 53 => { + // term = integer => ActionFn(26); + let __sym0 = __pop_Ntinteger(__symbols); + let __start = __sym0.0.clone(); + let __end = __sym0.2.clone(); + let __nt = super::__action26::<>(input, __sym0); + let __states_len = __states.len(); + __states.truncate(__states_len - 1); + __symbols.push((__start, __Symbol::Ntterm(__nt), __end)); + 23 + } + 54 => { + // term = float => ActionFn(27); + let __sym0 = __pop_Ntfloat(__symbols); + let __start = __sym0.0.clone(); + let __end = __sym0.2.clone(); + let __nt = super::__action27::<>(input, __sym0); + let __states_len = __states.len(); + __states.truncate(__states_len - 1); + __symbols.push((__start, __Symbol::Ntterm(__nt), __end)); + 23 + } + 55 => { + // term = identifier => ActionFn(28); + let __sym0 = __pop_Ntidentifier(__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::Ntterm(__nt), __end)); + 23 + } + 56 => { + // term = "der", "(", expr, ")" => ActionFn(29); + 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::__action29::<>(input, __sym0, __sym1, __sym2, __sym3); + let __states_len = __states.len(); + __states.truncate(__states_len - 4); + __symbols.push((__start, __Symbol::Ntterm(__nt), __end)); + 23 + } + 57 => { + // term = "abs", "(", expr, ")" => ActionFn(30); + 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::__action30::<>(input, __sym0, __sym1, __sym2, __sym3); + let __states_len = __states.len(); + __states.truncate(__states_len - 4); + __symbols.push((__start, __Symbol::Ntterm(__nt), __end)); + 23 + } + 58 => { + // term = "(", expr, ")" => ActionFn(31); + 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::__action31::<>(input, __sym0, __sym1, __sym2); + let __states_len = __states.len(); + __states.truncate(__states_len - 3); + __symbols.push((__start, __Symbol::Ntterm(__nt), __end)); + 23 + } + _ => panic!("invalid action code {}", __action) + }; + let __state = *__states.last().unwrap() as usize; + let __next_state = __GOTO[__state * 24 + __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_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_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_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, Model, 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, Model, 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") + } + } +} +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::*; + 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_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), + 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), + Nt____float(f64), + Nt____identifier(String), + Nt____integer(i64), + Nt____model(Model), + 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(Model), + 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), + } + const __ACTION: &'static [i32] = &[ + // State 0 0, // on "(", error 0, // on ")", error 0, // on "*", error @@ -3675,35 +1747,8 @@ mod __parse__file { 0, // on r#"\"[^\"\\\\]*\""#, error 0, // on r#"[+-]?\\d+"#, error 0, // on r#"[+-]?\\d+\\.\\d*([eE][-+]?\\d+)?"#, error - 147, // on r#"[a-zA-Z_][a-zA-Z_0-9]*"#, goto 146 - // State 134 - 0, // on "(", error - 0, // on ")", error - -54, // on "*", reduce `term = "der", "(", expr, ")" => ActionFn(30);` - -54, // on "+", reduce `term = "der", "(", expr, ")" => ActionFn(30);` - 0, // on ",", error - -54, // on "-", reduce `term = "der", "(", expr, ")" => ActionFn(30);` - -54, // on "/", reduce `term = "der", "(", expr, ")" => ActionFn(30);` - 0, // on ";", error - -54, // on "=", reduce `term = "der", "(", expr, ")" => ActionFn(30);` - 0, // on "abs", error - 0, // on "connect", error - 0, // on "constant", error - 0, // on "der", error - 0, // on "discrete", error - 0, // on "end", error - 0, // on "equation", error - 0, // on "flow", error - 0, // on "input", error - 0, // on "model", error - 0, // on "output", error - 0, // on "parameter", error - 0, // on "stream", error - 0, // on r#"\"[^\"\\\\]*\""#, error - 0, // on r#"[+-]?\\d+"#, error - 0, // on r#"[+-]?\\d+\\.\\d*([eE][-+]?\\d+)?"#, error - 0, // on r#"[a-zA-Z_][a-zA-Z_0-9]*"#, error - // State 135 + 3, // on r#"[a-zA-Z_][a-zA-Z_0-9]*"#, goto 2 + // State 1 0, // on "(", error 0, // on ")", error 0, // on "*", error @@ -3730,252 +1775,9 @@ mod __parse__file { 0, // on r#"[+-]?\\d+"#, error 0, // on r#"[+-]?\\d+\\.\\d*([eE][-+]?\\d+)?"#, error 0, // on r#"[a-zA-Z_][a-zA-Z_0-9]*"#, error - // State 136 - 0, // on "(", error - 0, // on ")", error - 120, // on "*", goto 119 - -32, // on "+", reduce `expr = expr, "+", factor => ActionFn(20);` - 0, // on ",", error - -32, // on "-", reduce `expr = expr, "+", factor => ActionFn(20);` - 121, // on "/", goto 120 - -32, // on ";", reduce `expr = expr, "+", factor => ActionFn(20);` - 0, // on "=", error - 0, // on "abs", error - 0, // on "connect", error - 0, // on "constant", error - 0, // on "der", error - 0, // on "discrete", error - 0, // on "end", error - 0, // on "equation", error - 0, // on "flow", error - 0, // on "input", error - 0, // on "model", error - 0, // on "output", error - 0, // on "parameter", error - 0, // on "stream", error - 0, // on r#"\"[^\"\\\\]*\""#, error - 0, // on r#"[+-]?\\d+"#, error - 0, // on r#"[+-]?\\d+\\.\\d*([eE][-+]?\\d+)?"#, error - 0, // on r#"[a-zA-Z_][a-zA-Z_0-9]*"#, error - // State 137 - 0, // on "(", error - 0, // on ")", error - 120, // on "*", goto 119 - -33, // on "+", reduce `expr = expr, "-", factor => ActionFn(21);` - 0, // on ",", error - -33, // on "-", reduce `expr = expr, "-", factor => ActionFn(21);` - 121, // on "/", goto 120 - -33, // on ";", reduce `expr = expr, "-", factor => ActionFn(21);` - 0, // on "=", error - 0, // on "abs", error - 0, // on "connect", error - 0, // on "constant", error - 0, // on "der", error - 0, // on "discrete", error - 0, // on "end", error - 0, // on "equation", error - 0, // on "flow", error - 0, // on "input", error - 0, // on "model", error - 0, // on "output", error - 0, // on "parameter", error - 0, // on "stream", error - 0, // on r#"\"[^\"\\\\]*\""#, error - 0, // on r#"[+-]?\\d+"#, error - 0, // on r#"[+-]?\\d+\\.\\d*([eE][-+]?\\d+)?"#, error - 0, // on r#"[a-zA-Z_][a-zA-Z_0-9]*"#, error - // State 138 - 0, // on "(", error - 0, // on ")", error - -35, // on "*", reduce `factor = factor, "*", term => ActionFn(23);` - -35, // on "+", reduce `factor = factor, "*", term => ActionFn(23);` - 0, // on ",", error - -35, // on "-", reduce `factor = factor, "*", term => ActionFn(23);` - -35, // on "/", reduce `factor = factor, "*", term => ActionFn(23);` - -35, // on ";", reduce `factor = factor, "*", term => ActionFn(23);` - 0, // on "=", error - 0, // on "abs", error - 0, // on "connect", error - 0, // on "constant", error - 0, // on "der", error - 0, // on "discrete", error - 0, // on "end", error - 0, // on "equation", error - 0, // on "flow", error - 0, // on "input", error - 0, // on "model", error - 0, // on "output", error - 0, // on "parameter", error - 0, // on "stream", error - 0, // on r#"\"[^\"\\\\]*\""#, error - 0, // on r#"[+-]?\\d+"#, error - 0, // on r#"[+-]?\\d+\\.\\d*([eE][-+]?\\d+)?"#, error - 0, // on r#"[a-zA-Z_][a-zA-Z_0-9]*"#, error - // State 139 - 0, // on "(", error - 0, // on ")", error - -36, // on "*", reduce `factor = factor, "/", term => ActionFn(24);` - -36, // on "+", reduce `factor = factor, "/", term => ActionFn(24);` - 0, // on ",", error - -36, // on "-", reduce `factor = factor, "/", term => ActionFn(24);` - -36, // on "/", reduce `factor = factor, "/", term => ActionFn(24);` - -36, // on ";", reduce `factor = factor, "/", term => ActionFn(24);` - 0, // on "=", error - 0, // on "abs", error - 0, // on "connect", error - 0, // on "constant", error - 0, // on "der", error - 0, // on "discrete", error - 0, // on "end", error - 0, // on "equation", error - 0, // on "flow", error - 0, // on "input", error - 0, // on "model", error - 0, // on "output", error - 0, // on "parameter", error - 0, // on "stream", error - 0, // on r#"\"[^\"\\\\]*\""#, error - 0, // on r#"[+-]?\\d+"#, error - 0, // on r#"[+-]?\\d+\\.\\d*([eE][-+]?\\d+)?"#, error - 0, // on r#"[a-zA-Z_][a-zA-Z_0-9]*"#, error - // State 140 + // State 2 0, // on "(", error 0, // on ")", error - -56, // on "*", reduce `term = "(", expr, ")" => ActionFn(32);` - -56, // on "+", reduce `term = "(", expr, ")" => ActionFn(32);` - 0, // on ",", error - -56, // on "-", reduce `term = "(", expr, ")" => ActionFn(32);` - -56, // on "/", reduce `term = "(", expr, ")" => ActionFn(32);` - -56, // on ";", reduce `term = "(", expr, ")" => ActionFn(32);` - 0, // on "=", error - 0, // on "abs", error - 0, // on "connect", error - 0, // on "constant", error - 0, // on "der", error - 0, // on "discrete", error - 0, // on "end", error - 0, // on "equation", error - 0, // on "flow", error - 0, // on "input", error - 0, // on "model", error - 0, // on "output", error - 0, // on "parameter", error - 0, // on "stream", error - 0, // on r#"\"[^\"\\\\]*\""#, error - 0, // on r#"[+-]?\\d+"#, error - 0, // on r#"[+-]?\\d+\\.\\d*([eE][-+]?\\d+)?"#, error - 0, // on r#"[a-zA-Z_][a-zA-Z_0-9]*"#, error - // State 141 - 0, // on "(", error - 148, // on ")", goto 147 - 0, // on "*", error - 100, // on "+", goto 99 - 0, // on ",", error - 101, // on "-", goto 100 - 0, // on "/", error - 0, // on ";", error - 0, // on "=", error - 0, // on "abs", error - 0, // on "connect", error - 0, // on "constant", error - 0, // on "der", error - 0, // on "discrete", error - 0, // on "end", error - 0, // on "equation", error - 0, // on "flow", error - 0, // on "input", error - 0, // on "model", error - 0, // on "output", error - 0, // on "parameter", error - 0, // on "stream", error - 0, // on r#"\"[^\"\\\\]*\""#, error - 0, // on r#"[+-]?\\d+"#, error - 0, // on r#"[+-]?\\d+\\.\\d*([eE][-+]?\\d+)?"#, error - 0, // on r#"[a-zA-Z_][a-zA-Z_0-9]*"#, error - // State 142 - 0, // on "(", error - 149, // on ")", goto 148 - 0, // on "*", error - 100, // on "+", goto 99 - 0, // on ",", error - 101, // on "-", goto 100 - 0, // on "/", error - 0, // on ";", error - 0, // on "=", error - 0, // on "abs", error - 0, // on "connect", error - 0, // on "constant", error - 0, // on "der", error - 0, // on "discrete", error - 0, // on "end", error - 0, // on "equation", error - 0, // on "flow", error - 0, // on "input", error - 0, // on "model", error - 0, // on "output", error - 0, // on "parameter", error - 0, // on "stream", error - 0, // on r#"\"[^\"\\\\]*\""#, error - 0, // on r#"[+-]?\\d+"#, error - 0, // on r#"[+-]?\\d+\\.\\d*([eE][-+]?\\d+)?"#, error - 0, // on r#"[a-zA-Z_][a-zA-Z_0-9]*"#, error - // State 143 - 0, // on "(", error - -55, // on ")", reduce `term = "abs", "(", expr, ")" => ActionFn(31);` - -55, // on "*", reduce `term = "abs", "(", expr, ")" => ActionFn(31);` - -55, // on "+", reduce `term = "abs", "(", expr, ")" => ActionFn(31);` - 0, // on ",", error - -55, // on "-", reduce `term = "abs", "(", expr, ")" => ActionFn(31);` - -55, // on "/", reduce `term = "abs", "(", expr, ")" => ActionFn(31);` - 0, // on ";", error - 0, // on "=", error - 0, // on "abs", error - 0, // on "connect", error - 0, // on "constant", error - 0, // on "der", error - 0, // on "discrete", error - 0, // on "end", error - 0, // on "equation", error - 0, // on "flow", error - 0, // on "input", error - 0, // on "model", error - 0, // on "output", error - 0, // on "parameter", error - 0, // on "stream", error - 0, // on r#"\"[^\"\\\\]*\""#, error - 0, // on r#"[+-]?\\d+"#, error - 0, // on r#"[+-]?\\d+\\.\\d*([eE][-+]?\\d+)?"#, error - 0, // on r#"[a-zA-Z_][a-zA-Z_0-9]*"#, error - // State 144 - 0, // on "(", error - -54, // on ")", reduce `term = "der", "(", expr, ")" => ActionFn(30);` - -54, // on "*", reduce `term = "der", "(", expr, ")" => ActionFn(30);` - -54, // on "+", reduce `term = "der", "(", expr, ")" => ActionFn(30);` - 0, // on ",", error - -54, // on "-", reduce `term = "der", "(", expr, ")" => ActionFn(30);` - -54, // on "/", reduce `term = "der", "(", expr, ")" => ActionFn(30);` - 0, // on ";", error - 0, // on "=", error - 0, // on "abs", error - 0, // on "connect", error - 0, // on "constant", error - 0, // on "der", error - 0, // on "discrete", error - 0, // on "end", error - 0, // on "equation", error - 0, // on "flow", error - 0, // on "input", error - 0, // on "model", error - 0, // on "output", error - 0, // on "parameter", error - 0, // on "stream", error - 0, // on r#"\"[^\"\\\\]*\""#, error - 0, // on r#"[+-]?\\d+"#, error - 0, // on r#"[+-]?\\d+\\.\\d*([eE][-+]?\\d+)?"#, error - 0, // on r#"[a-zA-Z_][a-zA-Z_0-9]*"#, error - // State 145 - 0, // on "(", error - 150, // on ")", goto 149 0, // on "*", error 0, // on "+", error 0, // on ",", error @@ -4000,4077 +1802,94 @@ mod __parse__file { 0, // on r#"[+-]?\\d+"#, error 0, // on r#"[+-]?\\d+\\.\\d*([eE][-+]?\\d+)?"#, error 0, // on r#"[a-zA-Z_][a-zA-Z_0-9]*"#, error - // State 146 - 0, // on "(", error - -41, // on ")", reduce `identifier = r#"[a-zA-Z_][a-zA-Z_0-9]*"# => ActionFn(3);` - 0, // on "*", error - 0, // on "+", error - 0, // on ",", error - 0, // on "-", error - 0, // on "/", error - 0, // on ";", error - 0, // on "=", error - 0, // on "abs", error - 0, // on "connect", error - 0, // on "constant", error - 0, // on "der", error - 0, // on "discrete", error - 0, // on "end", error - 0, // on "equation", error - 0, // on "flow", error - 0, // on "input", error - 0, // on "model", error - 0, // on "output", error - 0, // on "parameter", error - 0, // on "stream", error - 0, // on r#"\"[^\"\\\\]*\""#, error - 0, // on r#"[+-]?\\d+"#, error - 0, // on r#"[+-]?\\d+\\.\\d*([eE][-+]?\\d+)?"#, error - 0, // on r#"[a-zA-Z_][a-zA-Z_0-9]*"#, error - // State 147 - 0, // on "(", error - 0, // on ")", error - -55, // on "*", reduce `term = "abs", "(", expr, ")" => ActionFn(31);` - -55, // on "+", reduce `term = "abs", "(", expr, ")" => ActionFn(31);` - 0, // on ",", error - -55, // on "-", reduce `term = "abs", "(", expr, ")" => ActionFn(31);` - -55, // on "/", reduce `term = "abs", "(", expr, ")" => ActionFn(31);` - -55, // on ";", reduce `term = "abs", "(", expr, ")" => ActionFn(31);` - 0, // on "=", error - 0, // on "abs", error - 0, // on "connect", error - 0, // on "constant", error - 0, // on "der", error - 0, // on "discrete", error - 0, // on "end", error - 0, // on "equation", error - 0, // on "flow", error - 0, // on "input", error - 0, // on "model", error - 0, // on "output", error - 0, // on "parameter", error - 0, // on "stream", error - 0, // on r#"\"[^\"\\\\]*\""#, error - 0, // on r#"[+-]?\\d+"#, error - 0, // on r#"[+-]?\\d+\\.\\d*([eE][-+]?\\d+)?"#, error - 0, // on r#"[a-zA-Z_][a-zA-Z_0-9]*"#, error - // State 148 - 0, // on "(", error - 0, // on ")", error - -54, // on "*", reduce `term = "der", "(", expr, ")" => ActionFn(30);` - -54, // on "+", reduce `term = "der", "(", expr, ")" => ActionFn(30);` - 0, // on ",", error - -54, // on "-", reduce `term = "der", "(", expr, ")" => ActionFn(30);` - -54, // on "/", reduce `term = "der", "(", expr, ")" => ActionFn(30);` - -54, // on ";", reduce `term = "der", "(", expr, ")" => ActionFn(30);` - 0, // on "=", error - 0, // on "abs", error - 0, // on "connect", error - 0, // on "constant", error - 0, // on "der", error - 0, // on "discrete", error - 0, // on "end", error - 0, // on "equation", error - 0, // on "flow", error - 0, // on "input", error - 0, // on "model", error - 0, // on "output", error - 0, // on "parameter", error - 0, // on "stream", error - 0, // on r#"\"[^\"\\\\]*\""#, error - 0, // on r#"[+-]?\\d+"#, error - 0, // on r#"[+-]?\\d+\\.\\d*([eE][-+]?\\d+)?"#, error - 0, // on r#"[a-zA-Z_][a-zA-Z_0-9]*"#, error - // State 149 - 0, // on "(", error - 0, // on ")", error - 0, // on "*", error - 0, // on "+", error - 0, // on ",", error - 0, // on "-", error - 0, // on "/", error - 151, // on ";", goto 150 - 0, // on "=", error - 0, // on "abs", error - 0, // on "connect", error - 0, // on "constant", error - 0, // on "der", error - 0, // on "discrete", error - 0, // on "end", error - 0, // on "equation", error - 0, // on "flow", error - 0, // on "input", error - 0, // on "model", error - 0, // on "output", error - 0, // on "parameter", error - 0, // on "stream", error - 0, // on r#"\"[^\"\\\\]*\""#, error - 0, // on r#"[+-]?\\d+"#, error - 0, // on r#"[+-]?\\d+\\.\\d*([eE][-+]?\\d+)?"#, error - 0, // on r#"[a-zA-Z_][a-zA-Z_0-9]*"#, error - // State 150 - -25, // on "(", reduce `connect_clause = "connect", "(", identifier, ",", identifier, ")", ";" => ActionFn(19);` - 0, // on ")", error - 0, // on "*", error - 0, // on "+", error - 0, // on ",", error - -25, // on "-", reduce `connect_clause = "connect", "(", identifier, ",", identifier, ")", ";" => ActionFn(19);` - 0, // on "/", error - 0, // on ";", error - 0, // on "=", error - -25, // on "abs", reduce `connect_clause = "connect", "(", identifier, ",", identifier, ")", ";" => ActionFn(19);` - -25, // on "connect", reduce `connect_clause = "connect", "(", identifier, ",", identifier, ")", ";" => ActionFn(19);` - 0, // on "constant", error - -25, // on "der", reduce `connect_clause = "connect", "(", identifier, ",", identifier, ")", ";" => ActionFn(19);` - 0, // on "discrete", error - -25, // on "end", reduce `connect_clause = "connect", "(", identifier, ",", identifier, ")", ";" => ActionFn(19);` - 0, // on "equation", error - 0, // on "flow", error - 0, // on "input", error - 0, // on "model", error - 0, // on "output", error - 0, // on "parameter", error - 0, // on "stream", error - 0, // on r#"\"[^\"\\\\]*\""#, error - -25, // on r#"[+-]?\\d+"#, reduce `connect_clause = "connect", "(", identifier, ",", identifier, ")", ";" => ActionFn(19);` - -25, // on r#"[+-]?\\d+\\.\\d*([eE][-+]?\\d+)?"#, reduce `connect_clause = "connect", "(", identifier, ",", identifier, ")", ";" => ActionFn(19);` - -25, // on r#"[a-zA-Z_][a-zA-Z_0-9]*"#, reduce `connect_clause = "connect", "(", identifier, ",", identifier, ")", ";" => ActionFn(19);` ]; const __EOF_ACTION: &'static [i32] = &[ 0, // on EOF, error - -1, // on EOF, reduce `__file = file => ActionFn(2);` - -39, // on EOF, reduce `file = model => ActionFn(37);` - 0, // on EOF, error - 0, // on EOF, error - 0, // on EOF, error - 0, // on EOF, error - 0, // on EOF, error - 0, // on EOF, error - 0, // on EOF, error - 0, // on EOF, error - 0, // on EOF, error - 0, // on EOF, error - 0, // on EOF, error - 0, // on EOF, error - 0, // on EOF, error - 0, // on EOF, error - 0, // on EOF, error - 0, // on EOF, error - 0, // on EOF, error - 0, // on EOF, error - 0, // on EOF, error - 0, // on EOF, error - 0, // on EOF, error - 0, // on EOF, error - 0, // on EOF, error - 0, // on EOF, error - 0, // on EOF, error - 0, // on EOF, error - 0, // on EOF, error - 0, // on EOF, error - 0, // on EOF, error - 0, // on EOF, error - 0, // on EOF, error - 0, // on EOF, error - 0, // on EOF, error - 0, // on EOF, error - 0, // on EOF, error - 0, // on EOF, error - 0, // on EOF, error - 0, // on EOF, error - 0, // on EOF, error - 0, // on EOF, error - 0, // on EOF, error - 0, // on EOF, error - 0, // on EOF, error - 0, // on EOF, error - 0, // on EOF, error - 0, // on EOF, error - 0, // on EOF, error - 0, // on EOF, error - 0, // on EOF, error - 0, // on EOF, error - 0, // on EOF, error - 0, // on EOF, error - 0, // on EOF, error - 0, // on EOF, error - 0, // on EOF, error - 0, // on EOF, error - 0, // on EOF, error - 0, // on EOF, error - 0, // on EOF, error - 0, // on EOF, error - 0, // on EOF, error - 0, // on EOF, error - 0, // on EOF, error - 0, // on EOF, error - 0, // on EOF, error - 0, // on EOF, error - 0, // on EOF, error - 0, // on EOF, error - 0, // on EOF, error - 0, // on EOF, error - 0, // on EOF, error - 0, // on EOF, error - 0, // on EOF, error - 0, // on EOF, error - 0, // on EOF, error - 0, // on EOF, error - 0, // on EOF, error - 0, // on EOF, error - 0, // on EOF, error - 0, // on EOF, error - 0, // on EOF, error - 0, // on EOF, error - 0, // on EOF, error - 0, // on EOF, error - 0, // on EOF, error - 0, // on EOF, error - 0, // on EOF, error - 0, // on EOF, error - 0, // on EOF, error - 0, // on EOF, error - 0, // on EOF, error - 0, // on EOF, error - 0, // on EOF, error - 0, // on EOF, error - 0, // on EOF, error - 0, // on EOF, error - 0, // on EOF, error - 0, // on EOF, error - 0, // on EOF, error - 0, // on EOF, error - 0, // on EOF, error - 0, // on EOF, error - 0, // on EOF, error - 0, // on EOF, error - 0, // on EOF, error - 0, // on EOF, error - 0, // on EOF, error - 0, // on EOF, error - -43, // on EOF, reduce `model = "model", identifier, "equation", "end", identifier, ";" => ActionFn(54);` - 0, // on EOF, error - -45, // on EOF, reduce `model = "model", identifier, component_declaration+, "equation", "end", identifier, ";" => ActionFn(56);` - 0, // on EOF, error - -44, // on EOF, reduce `model = "model", identifier, "equation", equation_entry+, "end", identifier, ";" => ActionFn(55);` - 0, // on EOF, error - 0, // on EOF, error - 0, // on EOF, error - 0, // on EOF, error - 0, // on EOF, error - 0, // on EOF, error - 0, // on EOF, error - 0, // on EOF, error - 0, // on EOF, error - 0, // on EOF, error - 0, // on EOF, error - 0, // on EOF, error - 0, // on EOF, error - 0, // on EOF, error - 0, // on EOF, error - 0, // on EOF, error - 0, // on EOF, error - 0, // on EOF, error - 0, // on EOF, error - -46, // on EOF, reduce `model = "model", identifier, component_declaration+, "equation", equation_entry+, "end", identifier, ";" => ActionFn(57);` - 0, // on EOF, error - 0, // on EOF, error - 0, // on EOF, error - 0, // on EOF, error - 0, // on EOF, error - 0, // on EOF, error - 0, // on EOF, error - 0, // on EOF, error - 0, // on EOF, error - 0, // on EOF, error - 0, // on EOF, error - 0, // on EOF, error - 0, // on EOF, error - 0, // on EOF, error - 0, // on EOF, error + -2, // on EOF, reduce `__identifier = identifier => ActionFn(0);` + -35, // on EOF, reduce `identifier = r#"[a-zA-Z_][a-zA-Z_0-9]*"# => ActionFn(4);` ]; const __GOTO: &'static [i32] = &[ // State 0 - 0, // on __file, error + 0, // on __float, error + 0, // on __identifier, error 0, // on __integer, error 0, // on __model, error - 0, // on binary_op, error 0, // on component_declaration, error 0, // on component_declaration*, error 0, // on component_declaration+, error 0, // on component_prefix, error 0, // on component_prefix?, error 0, // on connect_clause, error - 0, // on equation_entry, error - 0, // on equation_entry*, error - 0, // on equation_entry+, error + 0, // on connect_clause*, error + 0, // on connect_clause+, error 0, // on expr, error 0, // on factor, error - 2, // on file, goto 1 0, // on float, error - 0, // on identifier, error + 2, // on identifier, goto 1 0, // on integer, error - 3, // on model, goto 2 + 0, // on model, error 0, // on simple_equation, error + 0, // on simple_equation*, error + 0, // on simple_equation+, error 0, // on string_literal, error 0, // on string_literal?, error 0, // on term, error // State 1 - 0, // on __file, error + 0, // on __float, error + 0, // on __identifier, error 0, // on __integer, error 0, // on __model, error - 0, // on binary_op, error 0, // on component_declaration, error 0, // on component_declaration*, error 0, // on component_declaration+, error 0, // on component_prefix, error 0, // on component_prefix?, error 0, // on connect_clause, error - 0, // on equation_entry, error - 0, // on equation_entry*, error - 0, // on equation_entry+, error + 0, // on connect_clause*, error + 0, // on connect_clause+, error 0, // on expr, error 0, // on factor, error - 0, // on file, error 0, // on float, error 0, // on identifier, error 0, // on integer, error 0, // on model, error 0, // on simple_equation, error + 0, // on simple_equation*, error + 0, // on simple_equation+, error 0, // on string_literal, error 0, // on string_literal?, error 0, // on term, error // State 2 - 0, // on __file, error - 0, // on __integer, error - 0, // on __model, error - 0, // on binary_op, error - 0, // on component_declaration, error - 0, // on component_declaration*, error - 0, // on component_declaration+, error - 0, // on component_prefix, error - 0, // on component_prefix?, error - 0, // on connect_clause, error - 0, // on equation_entry, error - 0, // on equation_entry*, error - 0, // on equation_entry+, error - 0, // on expr, error - 0, // on factor, error - 0, // on file, error - 0, // on float, error - 0, // on identifier, error - 0, // on integer, error - 0, // on model, error - 0, // on simple_equation, error - 0, // on string_literal, error - 0, // on string_literal?, error - 0, // on term, error - // State 3 - 0, // on __file, error - 0, // on __integer, error - 0, // on __model, error - 0, // on binary_op, error - 0, // on component_declaration, error - 0, // on component_declaration*, error - 0, // on component_declaration+, error - 0, // on component_prefix, error - 0, // on component_prefix?, error - 0, // on connect_clause, error - 0, // on equation_entry, error - 0, // on equation_entry*, error - 0, // on equation_entry+, error - 0, // on expr, error - 0, // on factor, error - 0, // on file, error - 0, // on float, error - 5, // on identifier, goto 4 - 0, // on integer, error - 0, // on model, error - 0, // on simple_equation, error - 0, // on string_literal, error - 0, // on string_literal?, error - 0, // on term, error - // State 4 - 0, // on __file, error - 0, // on __integer, error - 0, // on __model, error - 0, // on binary_op, error - 7, // on component_declaration, goto 6 - 0, // on component_declaration*, error - 8, // on component_declaration+, goto 7 - 9, // on component_prefix, goto 8 - 0, // on component_prefix?, error - 0, // on connect_clause, error - 0, // on equation_entry, error - 0, // on equation_entry*, error - 0, // on equation_entry+, error - 0, // on expr, error - 0, // on factor, error - 0, // on file, error - 0, // on float, error - 10, // on identifier, goto 9 - 0, // on integer, error - 0, // on model, error - 0, // on simple_equation, error - 0, // on string_literal, error - 0, // on string_literal?, error - 0, // on term, error - // State 5 - 0, // on __file, error - 0, // on __integer, error - 0, // on __model, error - 0, // on binary_op, error - 0, // on component_declaration, error - 0, // on component_declaration*, error - 0, // on component_declaration+, error - 0, // on component_prefix, error - 0, // on component_prefix?, error - 0, // on connect_clause, error - 0, // on equation_entry, error - 0, // on equation_entry*, error - 0, // on equation_entry+, error - 0, // on expr, error - 0, // on factor, error - 0, // on file, error - 0, // on float, error - 0, // on identifier, error - 0, // on integer, error - 0, // on model, error - 0, // on simple_equation, error - 0, // on string_literal, error - 0, // on string_literal?, error - 0, // on term, error - // State 6 - 0, // on __file, error - 0, // on __integer, error - 0, // on __model, error - 0, // on binary_op, error - 0, // on component_declaration, error - 0, // on component_declaration*, error - 0, // on component_declaration+, error - 0, // on component_prefix, error - 0, // on component_prefix?, error - 0, // on connect_clause, error - 0, // on equation_entry, error - 0, // on equation_entry*, error - 0, // on equation_entry+, error - 0, // on expr, error - 0, // on factor, error - 0, // on file, error - 0, // on float, error - 0, // on identifier, error - 0, // on integer, error - 0, // on model, error - 0, // on simple_equation, error - 0, // on string_literal, error - 0, // on string_literal?, error - 0, // on term, error - // State 7 - 0, // on __file, error - 0, // on __integer, error - 0, // on __model, error - 0, // on binary_op, error - 20, // on component_declaration, goto 19 - 0, // on component_declaration*, error - 0, // on component_declaration+, error - 9, // on component_prefix, goto 8 - 0, // on component_prefix?, error - 0, // on connect_clause, error - 0, // on equation_entry, error - 0, // on equation_entry*, error - 0, // on equation_entry+, error - 0, // on expr, error - 0, // on factor, error - 0, // on file, error - 0, // on float, error - 10, // on identifier, goto 9 - 0, // on integer, error - 0, // on model, error - 0, // on simple_equation, error - 0, // on string_literal, error - 0, // on string_literal?, error - 0, // on term, error - // State 8 - 0, // on __file, error - 0, // on __integer, error - 0, // on __model, error - 0, // on binary_op, error - 0, // on component_declaration, error - 0, // on component_declaration*, error - 0, // on component_declaration+, error - 0, // on component_prefix, error - 0, // on component_prefix?, error - 0, // on connect_clause, error - 0, // on equation_entry, error - 0, // on equation_entry*, error - 0, // on equation_entry+, error - 0, // on expr, error - 0, // on factor, error - 0, // on file, error - 0, // on float, error - 22, // on identifier, goto 21 - 0, // on integer, error - 0, // on model, error - 0, // on simple_equation, error - 0, // on string_literal, error - 0, // on string_literal?, error - 0, // on term, error - // State 9 - 0, // on __file, error - 0, // on __integer, error - 0, // on __model, error - 0, // on binary_op, error - 0, // on component_declaration, error - 0, // on component_declaration*, error - 0, // on component_declaration+, error - 0, // on component_prefix, error - 0, // on component_prefix?, error - 0, // on connect_clause, error - 0, // on equation_entry, error - 0, // on equation_entry*, error - 0, // on equation_entry+, error - 0, // on expr, error - 0, // on factor, error - 0, // on file, error - 0, // on float, error - 23, // on identifier, goto 22 - 0, // on integer, error - 0, // on model, error - 0, // on simple_equation, error - 0, // on string_literal, error - 0, // on string_literal?, error - 0, // on term, error - // State 10 - 0, // on __file, error - 0, // on __integer, error - 0, // on __model, error - 0, // on binary_op, error - 0, // on component_declaration, error - 0, // on component_declaration*, error - 0, // on component_declaration+, error - 0, // on component_prefix, error - 0, // on component_prefix?, error - 0, // on connect_clause, error - 0, // on equation_entry, error - 0, // on equation_entry*, error - 0, // on equation_entry+, error - 0, // on expr, error - 0, // on factor, error - 0, // on file, error - 0, // on float, error - 0, // on identifier, error - 0, // on integer, error - 0, // on model, error - 0, // on simple_equation, error - 0, // on string_literal, error - 0, // on string_literal?, error - 0, // on term, error - // State 11 - 0, // on __file, error - 0, // on __integer, error - 0, // on __model, error - 0, // on binary_op, error - 0, // on component_declaration, error - 0, // on component_declaration*, error - 0, // on component_declaration+, error - 0, // on component_prefix, error - 0, // on component_prefix?, error - 0, // on connect_clause, error - 0, // on equation_entry, error - 0, // on equation_entry*, error - 0, // on equation_entry+, error - 0, // on expr, error - 0, // on factor, error - 0, // on file, error - 0, // on float, error - 0, // on identifier, error - 0, // on integer, error - 0, // on model, error - 0, // on simple_equation, error - 0, // on string_literal, error - 0, // on string_literal?, error - 0, // on term, error - // State 12 - 0, // on __file, error - 0, // on __integer, error - 0, // on __model, error - 0, // on binary_op, error - 0, // on component_declaration, error - 0, // on component_declaration*, error - 0, // on component_declaration+, error - 0, // on component_prefix, error - 0, // on component_prefix?, error - 25, // on connect_clause, goto 24 - 26, // on equation_entry, goto 25 - 0, // on equation_entry*, error - 27, // on equation_entry+, goto 26 - 28, // on expr, goto 27 - 29, // on factor, goto 28 - 0, // on file, error - 30, // on float, goto 29 - 31, // on identifier, goto 30 - 32, // on integer, goto 31 - 0, // on model, error - 33, // on simple_equation, goto 32 - 0, // on string_literal, error - 0, // on string_literal?, error - 34, // on term, goto 33 - // State 13 - 0, // on __file, error - 0, // on __integer, error - 0, // on __model, error - 0, // on binary_op, error - 0, // on component_declaration, error - 0, // on component_declaration*, error - 0, // on component_declaration+, error - 0, // on component_prefix, error - 0, // on component_prefix?, error - 0, // on connect_clause, error - 0, // on equation_entry, error - 0, // on equation_entry*, error - 0, // on equation_entry+, error - 0, // on expr, error - 0, // on factor, error - 0, // on file, error - 0, // on float, error - 0, // on identifier, error - 0, // on integer, error - 0, // on model, error - 0, // on simple_equation, error - 0, // on string_literal, error - 0, // on string_literal?, error - 0, // on term, error - // State 14 - 0, // on __file, error - 0, // on __integer, error - 0, // on __model, error - 0, // on binary_op, error - 0, // on component_declaration, error - 0, // on component_declaration*, error - 0, // on component_declaration+, error - 0, // on component_prefix, error - 0, // on component_prefix?, error - 0, // on connect_clause, error - 0, // on equation_entry, error - 0, // on equation_entry*, error - 0, // on equation_entry+, error - 0, // on expr, error - 0, // on factor, error - 0, // on file, error - 0, // on float, error - 0, // on identifier, error - 0, // on integer, error - 0, // on model, error - 0, // on simple_equation, error - 0, // on string_literal, error - 0, // on string_literal?, error - 0, // on term, error - // State 15 - 0, // on __file, error - 0, // on __integer, error - 0, // on __model, error - 0, // on binary_op, error - 0, // on component_declaration, error - 0, // on component_declaration*, error - 0, // on component_declaration+, error - 0, // on component_prefix, error - 0, // on component_prefix?, error - 0, // on connect_clause, error - 0, // on equation_entry, error - 0, // on equation_entry*, error - 0, // on equation_entry+, error - 0, // on expr, error - 0, // on factor, error - 0, // on file, error - 0, // on float, error - 0, // on identifier, error - 0, // on integer, error - 0, // on model, error - 0, // on simple_equation, error - 0, // on string_literal, error - 0, // on string_literal?, error - 0, // on term, error - // State 16 - 0, // on __file, error - 0, // on __integer, error - 0, // on __model, error - 0, // on binary_op, error - 0, // on component_declaration, error - 0, // on component_declaration*, error - 0, // on component_declaration+, error - 0, // on component_prefix, error - 0, // on component_prefix?, error - 0, // on connect_clause, error - 0, // on equation_entry, error - 0, // on equation_entry*, error - 0, // on equation_entry+, error - 0, // on expr, error - 0, // on factor, error - 0, // on file, error - 0, // on float, error - 0, // on identifier, error - 0, // on integer, error - 0, // on model, error - 0, // on simple_equation, error - 0, // on string_literal, error - 0, // on string_literal?, error - 0, // on term, error - // State 17 - 0, // on __file, error - 0, // on __integer, error - 0, // on __model, error - 0, // on binary_op, error - 0, // on component_declaration, error - 0, // on component_declaration*, error - 0, // on component_declaration+, error - 0, // on component_prefix, error - 0, // on component_prefix?, error - 0, // on connect_clause, error - 0, // on equation_entry, error - 0, // on equation_entry*, error - 0, // on equation_entry+, error - 0, // on expr, error - 0, // on factor, error - 0, // on file, error - 0, // on float, error - 0, // on identifier, error - 0, // on integer, error - 0, // on model, error - 0, // on simple_equation, error - 0, // on string_literal, error - 0, // on string_literal?, error - 0, // on term, error - // State 18 - 0, // on __file, error - 0, // on __integer, error - 0, // on __model, error - 0, // on binary_op, error - 0, // on component_declaration, error - 0, // on component_declaration*, error - 0, // on component_declaration+, error - 0, // on component_prefix, error - 0, // on component_prefix?, error - 0, // on connect_clause, error - 0, // on equation_entry, error - 0, // on equation_entry*, error - 0, // on equation_entry+, error - 0, // on expr, error - 0, // on factor, error - 0, // on file, error - 0, // on float, error - 0, // on identifier, error - 0, // on integer, error - 0, // on model, error - 0, // on simple_equation, error - 0, // on string_literal, error - 0, // on string_literal?, error - 0, // on term, error - // State 19 - 0, // on __file, error - 0, // on __integer, error - 0, // on __model, error - 0, // on binary_op, error - 0, // on component_declaration, error - 0, // on component_declaration*, error - 0, // on component_declaration+, error - 0, // on component_prefix, error - 0, // on component_prefix?, error - 0, // on connect_clause, error - 0, // on equation_entry, error - 0, // on equation_entry*, error - 0, // on equation_entry+, error - 0, // on expr, error - 0, // on factor, error - 0, // on file, error - 0, // on float, error - 0, // on identifier, error - 0, // on integer, error - 0, // on model, error - 0, // on simple_equation, error - 0, // on string_literal, error - 0, // on string_literal?, error - 0, // on term, error - // State 20 - 0, // on __file, error - 0, // on __integer, error - 0, // on __model, error - 0, // on binary_op, error - 0, // on component_declaration, error - 0, // on component_declaration*, error - 0, // on component_declaration+, error - 0, // on component_prefix, error - 0, // on component_prefix?, error - 25, // on connect_clause, goto 24 - 26, // on equation_entry, goto 25 - 0, // on equation_entry*, error - 44, // on equation_entry+, goto 43 - 28, // on expr, goto 27 - 29, // on factor, goto 28 - 0, // on file, error - 30, // on float, goto 29 - 31, // on identifier, goto 30 - 32, // on integer, goto 31 - 0, // on model, error - 33, // on simple_equation, goto 32 - 0, // on string_literal, error - 0, // on string_literal?, error - 34, // on term, goto 33 - // State 21 - 0, // on __file, error - 0, // on __integer, error - 0, // on __model, error - 0, // on binary_op, error - 0, // on component_declaration, error - 0, // on component_declaration*, error - 0, // on component_declaration+, error - 0, // on component_prefix, error - 0, // on component_prefix?, error - 0, // on connect_clause, error - 0, // on equation_entry, error - 0, // on equation_entry*, error - 0, // on equation_entry+, error - 0, // on expr, error - 0, // on factor, error - 0, // on file, error - 0, // on float, error - 46, // on identifier, goto 45 - 0, // on integer, error - 0, // on model, error - 0, // on simple_equation, error - 0, // on string_literal, error - 0, // on string_literal?, error - 0, // on term, error - // State 22 - 0, // on __file, error - 0, // on __integer, error - 0, // on __model, error - 0, // on binary_op, error - 0, // on component_declaration, error - 0, // on component_declaration*, error - 0, // on component_declaration+, error - 0, // on component_prefix, error - 0, // on component_prefix?, error - 0, // on connect_clause, error - 0, // on equation_entry, error - 0, // on equation_entry*, error - 0, // on equation_entry+, error - 0, // on expr, error - 0, // on factor, error - 0, // on file, error - 0, // on float, error - 0, // on identifier, error - 0, // on integer, error - 0, // on model, error - 0, // on simple_equation, error - 47, // on string_literal, goto 46 - 0, // on string_literal?, error - 0, // on term, error - // State 23 - 0, // on __file, error - 0, // on __integer, error - 0, // on __model, error - 0, // on binary_op, error - 0, // on component_declaration, error - 0, // on component_declaration*, error - 0, // on component_declaration+, error - 0, // on component_prefix, error - 0, // on component_prefix?, error - 0, // on connect_clause, error - 0, // on equation_entry, error - 0, // on equation_entry*, error - 0, // on equation_entry+, error - 0, // on expr, error - 0, // on factor, error - 0, // on file, error - 0, // on float, error - 0, // on identifier, error - 0, // on integer, error - 0, // on model, error - 0, // on simple_equation, error - 0, // on string_literal, error - 0, // on string_literal?, error - 0, // on term, error - // State 24 - 0, // on __file, error - 0, // on __integer, error - 0, // on __model, error - 0, // on binary_op, error - 0, // on component_declaration, error - 0, // on component_declaration*, error - 0, // on component_declaration+, error - 0, // on component_prefix, error - 0, // on component_prefix?, error - 0, // on connect_clause, error - 0, // on equation_entry, error - 0, // on equation_entry*, error - 0, // on equation_entry+, error - 0, // on expr, error - 0, // on factor, error - 0, // on file, error - 0, // on float, error - 0, // on identifier, error - 0, // on integer, error - 0, // on model, error - 0, // on simple_equation, error - 0, // on string_literal, error - 0, // on string_literal?, error - 0, // on term, error - // State 25 - 0, // on __file, error - 0, // on __integer, error - 0, // on __model, error - 0, // on binary_op, error - 0, // on component_declaration, error - 0, // on component_declaration*, error - 0, // on component_declaration+, error - 0, // on component_prefix, error - 0, // on component_prefix?, error - 0, // on connect_clause, error - 0, // on equation_entry, error - 0, // on equation_entry*, error - 0, // on equation_entry+, error - 0, // on expr, error - 0, // on factor, error - 0, // on file, error - 0, // on float, error - 0, // on identifier, error - 0, // on integer, error - 0, // on model, error - 0, // on simple_equation, error - 0, // on string_literal, error - 0, // on string_literal?, error - 0, // on term, error - // State 26 - 0, // on __file, error - 0, // on __integer, error - 0, // on __model, error - 0, // on binary_op, error - 0, // on component_declaration, error - 0, // on component_declaration*, error - 0, // on component_declaration+, error - 0, // on component_prefix, error - 0, // on component_prefix?, error - 25, // on connect_clause, goto 24 - 50, // on equation_entry, goto 49 - 0, // on equation_entry*, error - 0, // on equation_entry+, error - 28, // on expr, goto 27 - 29, // on factor, goto 28 - 0, // on file, error - 30, // on float, goto 29 - 31, // on identifier, goto 30 - 32, // on integer, goto 31 - 0, // on model, error - 33, // on simple_equation, goto 32 - 0, // on string_literal, error - 0, // on string_literal?, error - 34, // on term, goto 33 - // State 27 - 0, // on __file, error - 0, // on __integer, error - 0, // on __model, error - 0, // on binary_op, error - 0, // on component_declaration, error - 0, // on component_declaration*, error - 0, // on component_declaration+, error - 0, // on component_prefix, error - 0, // on component_prefix?, error - 0, // on connect_clause, error - 0, // on equation_entry, error - 0, // on equation_entry*, error - 0, // on equation_entry+, error - 0, // on expr, error - 0, // on factor, error - 0, // on file, error - 0, // on float, error - 0, // on identifier, error - 0, // on integer, error - 0, // on model, error - 0, // on simple_equation, error - 0, // on string_literal, error - 0, // on string_literal?, error - 0, // on term, error - // State 28 - 0, // on __file, error - 0, // on __integer, error - 0, // on __model, error - 0, // on binary_op, error - 0, // on component_declaration, error - 0, // on component_declaration*, error - 0, // on component_declaration+, error - 0, // on component_prefix, error - 0, // on component_prefix?, error - 0, // on connect_clause, error - 0, // on equation_entry, error - 0, // on equation_entry*, error - 0, // on equation_entry+, error - 0, // on expr, error - 0, // on factor, error - 0, // on file, error - 0, // on float, error - 0, // on identifier, error - 0, // on integer, error - 0, // on model, error - 0, // on simple_equation, error - 0, // on string_literal, error - 0, // on string_literal?, error - 0, // on term, error - // State 29 - 0, // on __file, error - 0, // on __integer, error - 0, // on __model, error - 0, // on binary_op, error - 0, // on component_declaration, error - 0, // on component_declaration*, error - 0, // on component_declaration+, error - 0, // on component_prefix, error - 0, // on component_prefix?, error - 0, // on connect_clause, error - 0, // on equation_entry, error - 0, // on equation_entry*, error - 0, // on equation_entry+, error - 0, // on expr, error - 0, // on factor, error - 0, // on file, error - 0, // on float, error - 0, // on identifier, error - 0, // on integer, error - 0, // on model, error - 0, // on simple_equation, error - 0, // on string_literal, error - 0, // on string_literal?, error - 0, // on term, error - // State 30 - 0, // on __file, error - 0, // on __integer, error - 0, // on __model, error - 0, // on binary_op, error - 0, // on component_declaration, error - 0, // on component_declaration*, error - 0, // on component_declaration+, error - 0, // on component_prefix, error - 0, // on component_prefix?, error - 0, // on connect_clause, error - 0, // on equation_entry, error - 0, // on equation_entry*, error - 0, // on equation_entry+, error - 0, // on expr, error - 0, // on factor, error - 0, // on file, error - 0, // on float, error - 0, // on identifier, error - 0, // on integer, error - 0, // on model, error - 0, // on simple_equation, error - 0, // on string_literal, error - 0, // on string_literal?, error - 0, // on term, error - // State 31 - 0, // on __file, error - 0, // on __integer, error - 0, // on __model, error - 0, // on binary_op, error - 0, // on component_declaration, error - 0, // on component_declaration*, error - 0, // on component_declaration+, error - 0, // on component_prefix, error - 0, // on component_prefix?, error - 0, // on connect_clause, error - 0, // on equation_entry, error - 0, // on equation_entry*, error - 0, // on equation_entry+, error - 0, // on expr, error - 0, // on factor, error - 0, // on file, error - 0, // on float, error - 0, // on identifier, error - 0, // on integer, error - 0, // on model, error - 0, // on simple_equation, error - 0, // on string_literal, error - 0, // on string_literal?, error - 0, // on term, error - // State 32 - 0, // on __file, error - 0, // on __integer, error - 0, // on __model, error - 0, // on binary_op, error - 0, // on component_declaration, error - 0, // on component_declaration*, error - 0, // on component_declaration+, error - 0, // on component_prefix, error - 0, // on component_prefix?, error - 0, // on connect_clause, error - 0, // on equation_entry, error - 0, // on equation_entry*, error - 0, // on equation_entry+, error - 0, // on expr, error - 0, // on factor, error - 0, // on file, error - 0, // on float, error - 0, // on identifier, error - 0, // on integer, error - 0, // on model, error - 0, // on simple_equation, error - 0, // on string_literal, error - 0, // on string_literal?, error - 0, // on term, error - // State 33 - 0, // on __file, error - 0, // on __integer, error - 0, // on __model, error - 0, // on binary_op, error - 0, // on component_declaration, error - 0, // on component_declaration*, error - 0, // on component_declaration+, error - 0, // on component_prefix, error - 0, // on component_prefix?, error - 0, // on connect_clause, error - 0, // on equation_entry, error - 0, // on equation_entry*, error - 0, // on equation_entry+, error - 0, // on expr, error - 0, // on factor, error - 0, // on file, error - 0, // on float, error - 0, // on identifier, error - 0, // on integer, error - 0, // on model, error - 0, // on simple_equation, error - 0, // on string_literal, error - 0, // on string_literal?, error - 0, // on term, error - // State 34 - 0, // on __file, error - 0, // on __integer, error - 0, // on __model, error - 0, // on binary_op, error - 0, // on component_declaration, error - 0, // on component_declaration*, error - 0, // on component_declaration+, error - 0, // on component_prefix, error - 0, // on component_prefix?, error - 0, // on connect_clause, error - 0, // on equation_entry, error - 0, // on equation_entry*, error - 0, // on equation_entry+, error - 57, // on expr, goto 56 - 58, // on factor, goto 57 - 0, // on file, error - 59, // on float, goto 58 - 60, // on identifier, goto 59 - 61, // on integer, goto 60 - 0, // on model, error - 0, // on simple_equation, error - 0, // on string_literal, error - 0, // on string_literal?, error - 62, // on term, goto 61 - // State 35 - 0, // on __file, error - 0, // on __integer, error - 0, // on __model, error - 0, // on binary_op, error - 0, // on component_declaration, error - 0, // on component_declaration*, error - 0, // on component_declaration+, error - 0, // on component_prefix, error - 0, // on component_prefix?, error - 0, // on connect_clause, error - 0, // on equation_entry, error - 0, // on equation_entry*, error - 0, // on equation_entry+, error - 0, // on expr, error - 0, // on factor, error - 0, // on file, error - 30, // on float, goto 29 - 31, // on identifier, goto 30 - 32, // on integer, goto 31 - 0, // on model, error - 0, // on simple_equation, error - 0, // on string_literal, error - 0, // on string_literal?, error - 70, // on term, goto 69 - // State 36 - 0, // on __file, error - 0, // on __integer, error - 0, // on __model, error - 0, // on binary_op, error - 0, // on component_declaration, error - 0, // on component_declaration*, error - 0, // on component_declaration+, error - 0, // on component_prefix, error - 0, // on component_prefix?, error - 0, // on connect_clause, error - 0, // on equation_entry, error - 0, // on equation_entry*, error - 0, // on equation_entry+, error - 0, // on expr, error - 0, // on factor, error - 0, // on file, error - 0, // on float, error - 0, // on identifier, error - 0, // on integer, error - 0, // on model, error - 0, // on simple_equation, error - 0, // on string_literal, error - 0, // on string_literal?, error - 0, // on term, error - // State 37 - 0, // on __file, error - 0, // on __integer, error - 0, // on __model, error - 0, // on binary_op, error - 0, // on component_declaration, error - 0, // on component_declaration*, error - 0, // on component_declaration+, error - 0, // on component_prefix, error - 0, // on component_prefix?, error - 0, // on connect_clause, error - 0, // on equation_entry, error - 0, // on equation_entry*, error - 0, // on equation_entry+, error - 0, // on expr, error - 0, // on factor, error - 0, // on file, error - 0, // on float, error - 0, // on identifier, error - 0, // on integer, error - 0, // on model, error - 0, // on simple_equation, error - 0, // on string_literal, error - 0, // on string_literal?, error - 0, // on term, error - // State 38 - 0, // on __file, error - 0, // on __integer, error - 0, // on __model, error - 0, // on binary_op, error - 0, // on component_declaration, error - 0, // on component_declaration*, error - 0, // on component_declaration+, error - 0, // on component_prefix, error - 0, // on component_prefix?, error - 0, // on connect_clause, error - 0, // on equation_entry, error - 0, // on equation_entry*, error - 0, // on equation_entry+, error - 0, // on expr, error - 0, // on factor, error - 0, // on file, error - 0, // on float, error - 0, // on identifier, error - 0, // on integer, error - 0, // on model, error - 0, // on simple_equation, error - 0, // on string_literal, error - 0, // on string_literal?, error - 0, // on term, error - // State 39 - 0, // on __file, error - 0, // on __integer, error - 0, // on __model, error - 0, // on binary_op, error - 0, // on component_declaration, error - 0, // on component_declaration*, error - 0, // on component_declaration+, error - 0, // on component_prefix, error - 0, // on component_prefix?, error - 0, // on connect_clause, error - 0, // on equation_entry, error - 0, // on equation_entry*, error - 0, // on equation_entry+, error - 0, // on expr, error - 0, // on factor, error - 0, // on file, error - 0, // on float, error - 74, // on identifier, goto 73 - 0, // on integer, error - 0, // on model, error - 0, // on simple_equation, error - 0, // on string_literal, error - 0, // on string_literal?, error - 0, // on term, error - // State 40 - 0, // on __file, error - 0, // on __integer, error - 0, // on __model, error - 0, // on binary_op, error - 0, // on component_declaration, error - 0, // on component_declaration*, error - 0, // on component_declaration+, error - 0, // on component_prefix, error - 0, // on component_prefix?, error - 0, // on connect_clause, error - 0, // on equation_entry, error - 0, // on equation_entry*, error - 0, // on equation_entry+, error - 0, // on expr, error - 0, // on factor, error - 0, // on file, error - 0, // on float, error - 0, // on identifier, error - 0, // on integer, error - 0, // on model, error - 0, // on simple_equation, error - 0, // on string_literal, error - 0, // on string_literal?, error - 0, // on term, error - // State 41 - 0, // on __file, error - 0, // on __integer, error - 0, // on __model, error - 0, // on binary_op, error - 0, // on component_declaration, error - 0, // on component_declaration*, error - 0, // on component_declaration+, error - 0, // on component_prefix, error - 0, // on component_prefix?, error - 0, // on connect_clause, error - 0, // on equation_entry, error - 0, // on equation_entry*, error - 0, // on equation_entry+, error - 0, // on expr, error - 0, // on factor, error - 0, // on file, error - 0, // on float, error - 0, // on identifier, error - 0, // on integer, error - 0, // on model, error - 0, // on simple_equation, error - 0, // on string_literal, error - 0, // on string_literal?, error - 0, // on term, error - // State 42 - 0, // on __file, error - 0, // on __integer, error - 0, // on __model, error - 0, // on binary_op, error - 0, // on component_declaration, error - 0, // on component_declaration*, error - 0, // on component_declaration+, error - 0, // on component_prefix, error - 0, // on component_prefix?, error - 0, // on connect_clause, error - 0, // on equation_entry, error - 0, // on equation_entry*, error - 0, // on equation_entry+, error - 0, // on expr, error - 0, // on factor, error - 0, // on file, error - 0, // on float, error - 0, // on identifier, error - 0, // on integer, error - 0, // on model, error - 0, // on simple_equation, error - 0, // on string_literal, error - 0, // on string_literal?, error - 0, // on term, error - // State 43 - 0, // on __file, error - 0, // on __integer, error - 0, // on __model, error - 0, // on binary_op, error - 0, // on component_declaration, error - 0, // on component_declaration*, error - 0, // on component_declaration+, error - 0, // on component_prefix, error - 0, // on component_prefix?, error - 25, // on connect_clause, goto 24 - 50, // on equation_entry, goto 49 - 0, // on equation_entry*, error - 0, // on equation_entry+, error - 28, // on expr, goto 27 - 29, // on factor, goto 28 - 0, // on file, error - 30, // on float, goto 29 - 31, // on identifier, goto 30 - 32, // on integer, goto 31 - 0, // on model, error - 33, // on simple_equation, goto 32 - 0, // on string_literal, error - 0, // on string_literal?, error - 34, // on term, goto 33 - // State 44 - 0, // on __file, error - 0, // on __integer, error - 0, // on __model, error - 0, // on binary_op, error - 0, // on component_declaration, error - 0, // on component_declaration*, error - 0, // on component_declaration+, error - 0, // on component_prefix, error - 0, // on component_prefix?, error - 0, // on connect_clause, error - 0, // on equation_entry, error - 0, // on equation_entry*, error - 0, // on equation_entry+, error - 0, // on expr, error - 0, // on factor, error - 0, // on file, error - 0, // on float, error - 77, // on identifier, goto 76 - 0, // on integer, error - 0, // on model, error - 0, // on simple_equation, error - 0, // on string_literal, error - 0, // on string_literal?, error - 0, // on term, error - // State 45 - 0, // on __file, error - 0, // on __integer, error - 0, // on __model, error - 0, // on binary_op, error - 0, // on component_declaration, error - 0, // on component_declaration*, error - 0, // on component_declaration+, error - 0, // on component_prefix, error - 0, // on component_prefix?, error - 0, // on connect_clause, error - 0, // on equation_entry, error - 0, // on equation_entry*, error - 0, // on equation_entry+, error - 0, // on expr, error - 0, // on factor, error - 0, // on file, error - 0, // on float, error - 0, // on identifier, error - 0, // on integer, error - 0, // on model, error - 0, // on simple_equation, error - 78, // on string_literal, goto 77 - 0, // on string_literal?, error - 0, // on term, error - // State 46 - 0, // on __file, error - 0, // on __integer, error - 0, // on __model, error - 0, // on binary_op, error - 0, // on component_declaration, error - 0, // on component_declaration*, error - 0, // on component_declaration+, error - 0, // on component_prefix, error - 0, // on component_prefix?, error - 0, // on connect_clause, error - 0, // on equation_entry, error - 0, // on equation_entry*, error - 0, // on equation_entry+, error - 0, // on expr, error - 0, // on factor, error - 0, // on file, error - 0, // on float, error - 0, // on identifier, error - 0, // on integer, error - 0, // on model, error - 0, // on simple_equation, error - 0, // on string_literal, error - 0, // on string_literal?, error - 0, // on term, error - // State 47 - 0, // on __file, error - 0, // on __integer, error - 0, // on __model, error - 0, // on binary_op, error - 0, // on component_declaration, error - 0, // on component_declaration*, error - 0, // on component_declaration+, error - 0, // on component_prefix, error - 0, // on component_prefix?, error - 0, // on connect_clause, error - 0, // on equation_entry, error - 0, // on equation_entry*, error - 0, // on equation_entry+, error - 0, // on expr, error - 0, // on factor, error - 0, // on file, error - 0, // on float, error - 0, // on identifier, error - 0, // on integer, error - 0, // on model, error - 0, // on simple_equation, error - 0, // on string_literal, error - 0, // on string_literal?, error - 0, // on term, error - // State 48 - 0, // on __file, error - 0, // on __integer, error - 0, // on __model, error - 0, // on binary_op, error - 0, // on component_declaration, error - 0, // on component_declaration*, error - 0, // on component_declaration+, error - 0, // on component_prefix, error - 0, // on component_prefix?, error - 0, // on connect_clause, error - 0, // on equation_entry, error - 0, // on equation_entry*, error - 0, // on equation_entry+, error - 0, // on expr, error - 0, // on factor, error - 0, // on file, error - 0, // on float, error - 0, // on identifier, error - 0, // on integer, error - 0, // on model, error - 0, // on simple_equation, error - 0, // on string_literal, error - 0, // on string_literal?, error - 0, // on term, error - // State 49 - 0, // on __file, error - 0, // on __integer, error - 0, // on __model, error - 0, // on binary_op, error - 0, // on component_declaration, error - 0, // on component_declaration*, error - 0, // on component_declaration+, error - 0, // on component_prefix, error - 0, // on component_prefix?, error - 0, // on connect_clause, error - 0, // on equation_entry, error - 0, // on equation_entry*, error - 0, // on equation_entry+, error - 0, // on expr, error - 0, // on factor, error - 0, // on file, error - 0, // on float, error - 0, // on identifier, error - 0, // on integer, error - 0, // on model, error - 0, // on simple_equation, error - 0, // on string_literal, error - 0, // on string_literal?, error - 0, // on term, error - // State 50 - 0, // on __file, error - 0, // on __integer, error - 0, // on __model, error - 0, // on binary_op, error - 0, // on component_declaration, error - 0, // on component_declaration*, error - 0, // on component_declaration+, error - 0, // on component_prefix, error - 0, // on component_prefix?, error - 0, // on connect_clause, error - 0, // on equation_entry, error - 0, // on equation_entry*, error - 0, // on equation_entry+, error - 0, // on expr, error - 0, // on factor, error - 0, // on file, error - 0, // on float, error - 81, // on identifier, goto 80 - 0, // on integer, error - 0, // on model, error - 0, // on simple_equation, error - 0, // on string_literal, error - 0, // on string_literal?, error - 0, // on term, error - // State 51 - 0, // on __file, error - 0, // on __integer, error - 0, // on __model, error - 0, // on binary_op, error - 0, // on component_declaration, error - 0, // on component_declaration*, error - 0, // on component_declaration+, error - 0, // on component_prefix, error - 0, // on component_prefix?, error - 0, // on connect_clause, error - 0, // on equation_entry, error - 0, // on equation_entry*, error - 0, // on equation_entry+, error - 0, // on expr, error - 82, // on factor, goto 81 - 0, // on file, error - 30, // on float, goto 29 - 31, // on identifier, goto 30 - 32, // on integer, goto 31 - 0, // on model, error - 0, // on simple_equation, error - 0, // on string_literal, error - 0, // on string_literal?, error - 34, // on term, goto 33 - // State 52 - 0, // on __file, error - 0, // on __integer, error - 0, // on __model, error - 0, // on binary_op, error - 0, // on component_declaration, error - 0, // on component_declaration*, error - 0, // on component_declaration+, error - 0, // on component_prefix, error - 0, // on component_prefix?, error - 0, // on connect_clause, error - 0, // on equation_entry, error - 0, // on equation_entry*, error - 0, // on equation_entry+, error - 0, // on expr, error - 83, // on factor, goto 82 - 0, // on file, error - 30, // on float, goto 29 - 31, // on identifier, goto 30 - 32, // on integer, goto 31 - 0, // on model, error - 0, // on simple_equation, error - 0, // on string_literal, error - 0, // on string_literal?, error - 34, // on term, goto 33 - // State 53 - 0, // on __file, error - 0, // on __integer, error - 0, // on __model, error - 0, // on binary_op, error - 0, // on component_declaration, error - 0, // on component_declaration*, error - 0, // on component_declaration+, error - 0, // on component_prefix, error - 0, // on component_prefix?, error - 0, // on connect_clause, error - 0, // on equation_entry, error - 0, // on equation_entry*, error - 0, // on equation_entry+, error - 84, // on expr, goto 83 - 85, // on factor, goto 84 - 0, // on file, error - 86, // on float, goto 85 - 87, // on identifier, goto 86 - 88, // on integer, goto 87 - 0, // on model, error - 0, // on simple_equation, error - 0, // on string_literal, error - 0, // on string_literal?, error - 89, // on term, goto 88 - // State 54 - 0, // on __file, error - 0, // on __integer, error - 0, // on __model, error - 0, // on binary_op, error - 0, // on component_declaration, error - 0, // on component_declaration*, error - 0, // on component_declaration+, error - 0, // on component_prefix, error - 0, // on component_prefix?, error - 0, // on connect_clause, error - 0, // on equation_entry, error - 0, // on equation_entry*, error - 0, // on equation_entry+, error - 0, // on expr, error - 0, // on factor, error - 0, // on file, error - 30, // on float, goto 29 - 31, // on identifier, goto 30 - 32, // on integer, goto 31 - 0, // on model, error - 0, // on simple_equation, error - 0, // on string_literal, error - 0, // on string_literal?, error - 97, // on term, goto 96 - // State 55 - 0, // on __file, error - 0, // on __integer, error - 0, // on __model, error - 0, // on binary_op, error - 0, // on component_declaration, error - 0, // on component_declaration*, error - 0, // on component_declaration+, error - 0, // on component_prefix, error - 0, // on component_prefix?, error - 0, // on connect_clause, error - 0, // on equation_entry, error - 0, // on equation_entry*, error - 0, // on equation_entry+, error - 0, // on expr, error - 0, // on factor, error - 0, // on file, error - 30, // on float, goto 29 - 31, // on identifier, goto 30 - 32, // on integer, goto 31 - 0, // on model, error - 0, // on simple_equation, error - 0, // on string_literal, error - 0, // on string_literal?, error - 98, // on term, goto 97 - // State 56 - 0, // on __file, error - 0, // on __integer, error - 0, // on __model, error - 0, // on binary_op, error - 0, // on component_declaration, error - 0, // on component_declaration*, error - 0, // on component_declaration+, error - 0, // on component_prefix, error - 0, // on component_prefix?, error - 0, // on connect_clause, error - 0, // on equation_entry, error - 0, // on equation_entry*, error - 0, // on equation_entry+, error - 0, // on expr, error - 0, // on factor, error - 0, // on file, error - 0, // on float, error - 0, // on identifier, error - 0, // on integer, error - 0, // on model, error - 0, // on simple_equation, error - 0, // on string_literal, error - 0, // on string_literal?, error - 0, // on term, error - // State 57 - 0, // on __file, error - 0, // on __integer, error - 0, // on __model, error - 0, // on binary_op, error - 0, // on component_declaration, error - 0, // on component_declaration*, error - 0, // on component_declaration+, error - 0, // on component_prefix, error - 0, // on component_prefix?, error - 0, // on connect_clause, error - 0, // on equation_entry, error - 0, // on equation_entry*, error - 0, // on equation_entry+, error - 0, // on expr, error - 0, // on factor, error - 0, // on file, error - 0, // on float, error - 0, // on identifier, error - 0, // on integer, error - 0, // on model, error - 0, // on simple_equation, error - 0, // on string_literal, error - 0, // on string_literal?, error - 0, // on term, error - // State 58 - 0, // on __file, error - 0, // on __integer, error - 0, // on __model, error - 0, // on binary_op, error - 0, // on component_declaration, error - 0, // on component_declaration*, error - 0, // on component_declaration+, error - 0, // on component_prefix, error - 0, // on component_prefix?, error - 0, // on connect_clause, error - 0, // on equation_entry, error - 0, // on equation_entry*, error - 0, // on equation_entry+, error - 0, // on expr, error - 0, // on factor, error - 0, // on file, error - 0, // on float, error - 0, // on identifier, error - 0, // on integer, error - 0, // on model, error - 0, // on simple_equation, error - 0, // on string_literal, error - 0, // on string_literal?, error - 0, // on term, error - // State 59 - 0, // on __file, error - 0, // on __integer, error - 0, // on __model, error - 0, // on binary_op, error - 0, // on component_declaration, error - 0, // on component_declaration*, error - 0, // on component_declaration+, error - 0, // on component_prefix, error - 0, // on component_prefix?, error - 0, // on connect_clause, error - 0, // on equation_entry, error - 0, // on equation_entry*, error - 0, // on equation_entry+, error - 0, // on expr, error - 0, // on factor, error - 0, // on file, error - 0, // on float, error - 0, // on identifier, error - 0, // on integer, error - 0, // on model, error - 0, // on simple_equation, error - 0, // on string_literal, error - 0, // on string_literal?, error - 0, // on term, error - // State 60 - 0, // on __file, error - 0, // on __integer, error - 0, // on __model, error - 0, // on binary_op, error - 0, // on component_declaration, error - 0, // on component_declaration*, error - 0, // on component_declaration+, error - 0, // on component_prefix, error - 0, // on component_prefix?, error - 0, // on connect_clause, error - 0, // on equation_entry, error - 0, // on equation_entry*, error - 0, // on equation_entry+, error - 0, // on expr, error - 0, // on factor, error - 0, // on file, error - 0, // on float, error - 0, // on identifier, error - 0, // on integer, error - 0, // on model, error - 0, // on simple_equation, error - 0, // on string_literal, error - 0, // on string_literal?, error - 0, // on term, error - // State 61 - 0, // on __file, error - 0, // on __integer, error - 0, // on __model, error - 0, // on binary_op, error - 0, // on component_declaration, error - 0, // on component_declaration*, error - 0, // on component_declaration+, error - 0, // on component_prefix, error - 0, // on component_prefix?, error - 0, // on connect_clause, error - 0, // on equation_entry, error - 0, // on equation_entry*, error - 0, // on equation_entry+, error - 0, // on expr, error - 0, // on factor, error - 0, // on file, error - 0, // on float, error - 0, // on identifier, error - 0, // on integer, error - 0, // on model, error - 0, // on simple_equation, error - 0, // on string_literal, error - 0, // on string_literal?, error - 0, // on term, error - // State 62 - 0, // on __file, error - 0, // on __integer, error - 0, // on __model, error - 0, // on binary_op, error - 0, // on component_declaration, error - 0, // on component_declaration*, error - 0, // on component_declaration+, error - 0, // on component_prefix, error - 0, // on component_prefix?, error - 0, // on connect_clause, error - 0, // on equation_entry, error - 0, // on equation_entry*, error - 0, // on equation_entry+, error - 104, // on expr, goto 103 - 58, // on factor, goto 57 - 0, // on file, error - 59, // on float, goto 58 - 60, // on identifier, goto 59 - 61, // on integer, goto 60 - 0, // on model, error - 0, // on simple_equation, error - 0, // on string_literal, error - 0, // on string_literal?, error - 62, // on term, goto 61 - // State 63 - 0, // on __file, error - 0, // on __integer, error - 0, // on __model, error - 0, // on binary_op, error - 0, // on component_declaration, error - 0, // on component_declaration*, error - 0, // on component_declaration+, error - 0, // on component_prefix, error - 0, // on component_prefix?, error - 0, // on connect_clause, error - 0, // on equation_entry, error - 0, // on equation_entry*, error - 0, // on equation_entry+, error - 0, // on expr, error - 0, // on factor, error - 0, // on file, error - 59, // on float, goto 58 - 60, // on identifier, goto 59 - 61, // on integer, goto 60 - 0, // on model, error - 0, // on simple_equation, error - 0, // on string_literal, error - 0, // on string_literal?, error - 105, // on term, goto 104 - // State 64 - 0, // on __file, error - 0, // on __integer, error - 0, // on __model, error - 0, // on binary_op, error - 0, // on component_declaration, error - 0, // on component_declaration*, error - 0, // on component_declaration+, error - 0, // on component_prefix, error - 0, // on component_prefix?, error - 0, // on connect_clause, error - 0, // on equation_entry, error - 0, // on equation_entry*, error - 0, // on equation_entry+, error - 0, // on expr, error - 0, // on factor, error - 0, // on file, error - 0, // on float, error - 0, // on identifier, error - 0, // on integer, error - 0, // on model, error - 0, // on simple_equation, error - 0, // on string_literal, error - 0, // on string_literal?, error - 0, // on term, error - // State 65 - 0, // on __file, error - 0, // on __integer, error - 0, // on __model, error - 0, // on binary_op, error - 0, // on component_declaration, error - 0, // on component_declaration*, error - 0, // on component_declaration+, error - 0, // on component_prefix, error - 0, // on component_prefix?, error - 0, // on connect_clause, error - 0, // on equation_entry, error - 0, // on equation_entry*, error - 0, // on equation_entry+, error - 0, // on expr, error - 0, // on factor, error - 0, // on file, error - 0, // on float, error - 0, // on identifier, error - 0, // on integer, error - 0, // on model, error - 0, // on simple_equation, error - 0, // on string_literal, error - 0, // on string_literal?, error - 0, // on term, error - // State 66 - 0, // on __file, error - 0, // on __integer, error - 0, // on __model, error - 0, // on binary_op, error - 0, // on component_declaration, error - 0, // on component_declaration*, error - 0, // on component_declaration+, error - 0, // on component_prefix, error - 0, // on component_prefix?, error - 0, // on connect_clause, error - 0, // on equation_entry, error - 0, // on equation_entry*, error - 0, // on equation_entry+, error - 0, // on expr, error - 0, // on factor, error - 0, // on file, error - 0, // on float, error - 0, // on identifier, error - 0, // on integer, error - 0, // on model, error - 0, // on simple_equation, error - 0, // on string_literal, error - 0, // on string_literal?, error - 0, // on term, error - // State 67 - 0, // on __file, error - 0, // on __integer, error - 0, // on __model, error - 0, // on binary_op, error - 0, // on component_declaration, error - 0, // on component_declaration*, error - 0, // on component_declaration+, error - 0, // on component_prefix, error - 0, // on component_prefix?, error - 0, // on connect_clause, error - 0, // on equation_entry, error - 0, // on equation_entry*, error - 0, // on equation_entry+, error - 0, // on expr, error - 0, // on factor, error - 0, // on file, error - 0, // on float, error - 0, // on identifier, error - 0, // on integer, error - 0, // on model, error - 0, // on simple_equation, error - 0, // on string_literal, error - 0, // on string_literal?, error - 0, // on term, error - // State 68 - 0, // on __file, error - 0, // on __integer, error - 0, // on __model, error - 0, // on binary_op, error - 0, // on component_declaration, error - 0, // on component_declaration*, error - 0, // on component_declaration+, error - 0, // on component_prefix, error - 0, // on component_prefix?, error - 0, // on connect_clause, error - 0, // on equation_entry, error - 0, // on equation_entry*, error - 0, // on equation_entry+, error - 0, // on expr, error - 0, // on factor, error - 0, // on file, error - 0, // on float, error - 0, // on identifier, error - 0, // on integer, error - 0, // on model, error - 0, // on simple_equation, error - 0, // on string_literal, error - 0, // on string_literal?, error - 0, // on term, error - // State 69 - 0, // on __file, error - 0, // on __integer, error - 0, // on __model, error - 0, // on binary_op, error - 0, // on component_declaration, error - 0, // on component_declaration*, error - 0, // on component_declaration+, error - 0, // on component_prefix, error - 0, // on component_prefix?, error - 0, // on connect_clause, error - 0, // on equation_entry, error - 0, // on equation_entry*, error - 0, // on equation_entry+, error - 0, // on expr, error - 0, // on factor, error - 0, // on file, error - 0, // on float, error - 0, // on identifier, error - 0, // on integer, error - 0, // on model, error - 0, // on simple_equation, error - 0, // on string_literal, error - 0, // on string_literal?, error - 0, // on term, error - // State 70 - 0, // on __file, error - 0, // on __integer, error - 0, // on __model, error - 0, // on binary_op, error - 0, // on component_declaration, error - 0, // on component_declaration*, error - 0, // on component_declaration+, error - 0, // on component_prefix, error - 0, // on component_prefix?, error - 0, // on connect_clause, error - 0, // on equation_entry, error - 0, // on equation_entry*, error - 0, // on equation_entry+, error - 108, // on expr, goto 107 - 58, // on factor, goto 57 - 0, // on file, error - 59, // on float, goto 58 - 60, // on identifier, goto 59 - 61, // on integer, goto 60 - 0, // on model, error - 0, // on simple_equation, error - 0, // on string_literal, error - 0, // on string_literal?, error - 62, // on term, goto 61 - // State 71 - 0, // on __file, error - 0, // on __integer, error - 0, // on __model, error - 0, // on binary_op, error - 0, // on component_declaration, error - 0, // on component_declaration*, error - 0, // on component_declaration+, error - 0, // on component_prefix, error - 0, // on component_prefix?, error - 0, // on connect_clause, error - 0, // on equation_entry, error - 0, // on equation_entry*, error - 0, // on equation_entry+, error - 0, // on expr, error - 0, // on factor, error - 0, // on file, error - 0, // on float, error - 109, // on identifier, goto 108 - 0, // on integer, error - 0, // on model, error - 0, // on simple_equation, error - 0, // on string_literal, error - 0, // on string_literal?, error - 0, // on term, error - // State 72 - 0, // on __file, error - 0, // on __integer, error - 0, // on __model, error - 0, // on binary_op, error - 0, // on component_declaration, error - 0, // on component_declaration*, error - 0, // on component_declaration+, error - 0, // on component_prefix, error - 0, // on component_prefix?, error - 0, // on connect_clause, error - 0, // on equation_entry, error - 0, // on equation_entry*, error - 0, // on equation_entry+, error - 111, // on expr, goto 110 - 58, // on factor, goto 57 - 0, // on file, error - 59, // on float, goto 58 - 60, // on identifier, goto 59 - 61, // on integer, goto 60 - 0, // on model, error - 0, // on simple_equation, error - 0, // on string_literal, error - 0, // on string_literal?, error - 62, // on term, goto 61 - // State 73 - 0, // on __file, error - 0, // on __integer, error - 0, // on __model, error - 0, // on binary_op, error - 0, // on component_declaration, error - 0, // on component_declaration*, error - 0, // on component_declaration+, error - 0, // on component_prefix, error - 0, // on component_prefix?, error - 0, // on connect_clause, error - 0, // on equation_entry, error - 0, // on equation_entry*, error - 0, // on equation_entry+, error - 0, // on expr, error - 0, // on factor, error - 0, // on file, error - 0, // on float, error - 0, // on identifier, error - 0, // on integer, error - 0, // on model, error - 0, // on simple_equation, error - 0, // on string_literal, error - 0, // on string_literal?, error - 0, // on term, error - // State 74 - 0, // on __file, error - 0, // on __integer, error - 0, // on __model, error - 0, // on binary_op, error - 0, // on component_declaration, error - 0, // on component_declaration*, error - 0, // on component_declaration+, error - 0, // on component_prefix, error - 0, // on component_prefix?, error - 0, // on connect_clause, error - 0, // on equation_entry, error - 0, // on equation_entry*, error - 0, // on equation_entry+, error - 0, // on expr, error - 0, // on factor, error - 0, // on file, error - 0, // on float, error - 0, // on identifier, error - 0, // on integer, error - 0, // on model, error - 0, // on simple_equation, error - 0, // on string_literal, error - 0, // on string_literal?, error - 0, // on term, error - // State 75 - 0, // on __file, error - 0, // on __integer, error - 0, // on __model, error - 0, // on binary_op, error - 0, // on component_declaration, error - 0, // on component_declaration*, error - 0, // on component_declaration+, error - 0, // on component_prefix, error - 0, // on component_prefix?, error - 0, // on connect_clause, error - 0, // on equation_entry, error - 0, // on equation_entry*, error - 0, // on equation_entry+, error - 0, // on expr, error - 0, // on factor, error - 0, // on file, error - 0, // on float, error - 113, // on identifier, goto 112 - 0, // on integer, error - 0, // on model, error - 0, // on simple_equation, error - 0, // on string_literal, error - 0, // on string_literal?, error - 0, // on term, error - // State 76 - 0, // on __file, error - 0, // on __integer, error - 0, // on __model, error - 0, // on binary_op, error - 0, // on component_declaration, error - 0, // on component_declaration*, error - 0, // on component_declaration+, error - 0, // on component_prefix, error - 0, // on component_prefix?, error - 0, // on connect_clause, error - 0, // on equation_entry, error - 0, // on equation_entry*, error - 0, // on equation_entry+, error - 0, // on expr, error - 0, // on factor, error - 0, // on file, error - 0, // on float, error - 0, // on identifier, error - 0, // on integer, error - 0, // on model, error - 0, // on simple_equation, error - 0, // on string_literal, error - 0, // on string_literal?, error - 0, // on term, error - // State 77 - 0, // on __file, error - 0, // on __integer, error - 0, // on __model, error - 0, // on binary_op, error - 0, // on component_declaration, error - 0, // on component_declaration*, error - 0, // on component_declaration+, error - 0, // on component_prefix, error - 0, // on component_prefix?, error - 0, // on connect_clause, error - 0, // on equation_entry, error - 0, // on equation_entry*, error - 0, // on equation_entry+, error - 0, // on expr, error - 0, // on factor, error - 0, // on file, error - 0, // on float, error - 0, // on identifier, error - 0, // on integer, error - 0, // on model, error - 0, // on simple_equation, error - 0, // on string_literal, error - 0, // on string_literal?, error - 0, // on term, error - // State 78 - 0, // on __file, error - 0, // on __integer, error - 0, // on __model, error - 0, // on binary_op, error - 0, // on component_declaration, error - 0, // on component_declaration*, error - 0, // on component_declaration+, error - 0, // on component_prefix, error - 0, // on component_prefix?, error - 0, // on connect_clause, error - 0, // on equation_entry, error - 0, // on equation_entry*, error - 0, // on equation_entry+, error - 0, // on expr, error - 0, // on factor, error - 0, // on file, error - 0, // on float, error - 0, // on identifier, error - 0, // on integer, error - 0, // on model, error - 0, // on simple_equation, error - 0, // on string_literal, error - 0, // on string_literal?, error - 0, // on term, error - // State 79 - 0, // on __file, error - 0, // on __integer, error - 0, // on __model, error - 0, // on binary_op, error - 0, // on component_declaration, error - 0, // on component_declaration*, error - 0, // on component_declaration+, error - 0, // on component_prefix, error - 0, // on component_prefix?, error - 0, // on connect_clause, error - 0, // on equation_entry, error - 0, // on equation_entry*, error - 0, // on equation_entry+, error - 0, // on expr, error - 0, // on factor, error - 0, // on file, error - 0, // on float, error - 0, // on identifier, error - 0, // on integer, error - 0, // on model, error - 0, // on simple_equation, error - 0, // on string_literal, error - 0, // on string_literal?, error - 0, // on term, error - // State 80 - 0, // on __file, error - 0, // on __integer, error - 0, // on __model, error - 0, // on binary_op, error - 0, // on component_declaration, error - 0, // on component_declaration*, error - 0, // on component_declaration+, error - 0, // on component_prefix, error - 0, // on component_prefix?, error - 0, // on connect_clause, error - 0, // on equation_entry, error - 0, // on equation_entry*, error - 0, // on equation_entry+, error - 0, // on expr, error - 0, // on factor, error - 0, // on file, error - 0, // on float, error - 0, // on identifier, error - 0, // on integer, error - 0, // on model, error - 0, // on simple_equation, error - 0, // on string_literal, error - 0, // on string_literal?, error - 0, // on term, error - // State 81 - 0, // on __file, error - 0, // on __integer, error - 0, // on __model, error - 0, // on binary_op, error - 0, // on component_declaration, error - 0, // on component_declaration*, error - 0, // on component_declaration+, error - 0, // on component_prefix, error - 0, // on component_prefix?, error - 0, // on connect_clause, error - 0, // on equation_entry, error - 0, // on equation_entry*, error - 0, // on equation_entry+, error - 0, // on expr, error - 0, // on factor, error - 0, // on file, error - 0, // on float, error - 0, // on identifier, error - 0, // on integer, error - 0, // on model, error - 0, // on simple_equation, error - 0, // on string_literal, error - 0, // on string_literal?, error - 0, // on term, error - // State 82 - 0, // on __file, error - 0, // on __integer, error - 0, // on __model, error - 0, // on binary_op, error - 0, // on component_declaration, error - 0, // on component_declaration*, error - 0, // on component_declaration+, error - 0, // on component_prefix, error - 0, // on component_prefix?, error - 0, // on connect_clause, error - 0, // on equation_entry, error - 0, // on equation_entry*, error - 0, // on equation_entry+, error - 0, // on expr, error - 0, // on factor, error - 0, // on file, error - 0, // on float, error - 0, // on identifier, error - 0, // on integer, error - 0, // on model, error - 0, // on simple_equation, error - 0, // on string_literal, error - 0, // on string_literal?, error - 0, // on term, error - // State 83 - 0, // on __file, error - 0, // on __integer, error - 0, // on __model, error - 0, // on binary_op, error - 0, // on component_declaration, error - 0, // on component_declaration*, error - 0, // on component_declaration+, error - 0, // on component_prefix, error - 0, // on component_prefix?, error - 0, // on connect_clause, error - 0, // on equation_entry, error - 0, // on equation_entry*, error - 0, // on equation_entry+, error - 0, // on expr, error - 0, // on factor, error - 0, // on file, error - 0, // on float, error - 0, // on identifier, error - 0, // on integer, error - 0, // on model, error - 0, // on simple_equation, error - 0, // on string_literal, error - 0, // on string_literal?, error - 0, // on term, error - // State 84 - 0, // on __file, error - 0, // on __integer, error - 0, // on __model, error - 0, // on binary_op, error - 0, // on component_declaration, error - 0, // on component_declaration*, error - 0, // on component_declaration+, error - 0, // on component_prefix, error - 0, // on component_prefix?, error - 0, // on connect_clause, error - 0, // on equation_entry, error - 0, // on equation_entry*, error - 0, // on equation_entry+, error - 0, // on expr, error - 0, // on factor, error - 0, // on file, error - 0, // on float, error - 0, // on identifier, error - 0, // on integer, error - 0, // on model, error - 0, // on simple_equation, error - 0, // on string_literal, error - 0, // on string_literal?, error - 0, // on term, error - // State 85 - 0, // on __file, error + 0, // on __float, error + 0, // on __identifier, error 0, // on __integer, error 0, // on __model, error - 0, // on binary_op, error 0, // on component_declaration, error 0, // on component_declaration*, error 0, // on component_declaration+, error 0, // on component_prefix, error 0, // on component_prefix?, error 0, // on connect_clause, error - 0, // on equation_entry, error - 0, // on equation_entry*, error - 0, // on equation_entry+, error + 0, // on connect_clause*, error + 0, // on connect_clause+, error 0, // on expr, error 0, // on factor, error - 0, // on file, error - 0, // on float, error - 0, // on identifier, error - 0, // on integer, error - 0, // on model, error - 0, // on simple_equation, error - 0, // on string_literal, error - 0, // on string_literal?, error - 0, // on term, error - // State 86 - 0, // on __file, error - 0, // on __integer, error - 0, // on __model, error - 0, // on binary_op, error - 0, // on component_declaration, error - 0, // on component_declaration*, error - 0, // on component_declaration+, error - 0, // on component_prefix, error - 0, // on component_prefix?, error - 0, // on connect_clause, error - 0, // on equation_entry, error - 0, // on equation_entry*, error - 0, // on equation_entry+, error - 0, // on expr, error - 0, // on factor, error - 0, // on file, error - 0, // on float, error - 0, // on identifier, error - 0, // on integer, error - 0, // on model, error - 0, // on simple_equation, error - 0, // on string_literal, error - 0, // on string_literal?, error - 0, // on term, error - // State 87 - 0, // on __file, error - 0, // on __integer, error - 0, // on __model, error - 0, // on binary_op, error - 0, // on component_declaration, error - 0, // on component_declaration*, error - 0, // on component_declaration+, error - 0, // on component_prefix, error - 0, // on component_prefix?, error - 0, // on connect_clause, error - 0, // on equation_entry, error - 0, // on equation_entry*, error - 0, // on equation_entry+, error - 0, // on expr, error - 0, // on factor, error - 0, // on file, error - 0, // on float, error - 0, // on identifier, error - 0, // on integer, error - 0, // on model, error - 0, // on simple_equation, error - 0, // on string_literal, error - 0, // on string_literal?, error - 0, // on term, error - // State 88 - 0, // on __file, error - 0, // on __integer, error - 0, // on __model, error - 0, // on binary_op, error - 0, // on component_declaration, error - 0, // on component_declaration*, error - 0, // on component_declaration+, error - 0, // on component_prefix, error - 0, // on component_prefix?, error - 0, // on connect_clause, error - 0, // on equation_entry, error - 0, // on equation_entry*, error - 0, // on equation_entry+, error - 0, // on expr, error - 0, // on factor, error - 0, // on file, error - 0, // on float, error - 0, // on identifier, error - 0, // on integer, error - 0, // on model, error - 0, // on simple_equation, error - 0, // on string_literal, error - 0, // on string_literal?, error - 0, // on term, error - // State 89 - 0, // on __file, error - 0, // on __integer, error - 0, // on __model, error - 0, // on binary_op, error - 0, // on component_declaration, error - 0, // on component_declaration*, error - 0, // on component_declaration+, error - 0, // on component_prefix, error - 0, // on component_prefix?, error - 0, // on connect_clause, error - 0, // on equation_entry, error - 0, // on equation_entry*, error - 0, // on equation_entry+, error - 122, // on expr, goto 121 - 58, // on factor, goto 57 - 0, // on file, error - 59, // on float, goto 58 - 60, // on identifier, goto 59 - 61, // on integer, goto 60 - 0, // on model, error - 0, // on simple_equation, error - 0, // on string_literal, error - 0, // on string_literal?, error - 62, // on term, goto 61 - // State 90 - 0, // on __file, error - 0, // on __integer, error - 0, // on __model, error - 0, // on binary_op, error - 0, // on component_declaration, error - 0, // on component_declaration*, error - 0, // on component_declaration+, error - 0, // on component_prefix, error - 0, // on component_prefix?, error - 0, // on connect_clause, error - 0, // on equation_entry, error - 0, // on equation_entry*, error - 0, // on equation_entry+, error - 0, // on expr, error - 0, // on factor, error - 0, // on file, error - 86, // on float, goto 85 - 87, // on identifier, goto 86 - 88, // on integer, goto 87 - 0, // on model, error - 0, // on simple_equation, error - 0, // on string_literal, error - 0, // on string_literal?, error - 123, // on term, goto 122 - // State 91 - 0, // on __file, error - 0, // on __integer, error - 0, // on __model, error - 0, // on binary_op, error - 0, // on component_declaration, error - 0, // on component_declaration*, error - 0, // on component_declaration+, error - 0, // on component_prefix, error - 0, // on component_prefix?, error - 0, // on connect_clause, error - 0, // on equation_entry, error - 0, // on equation_entry*, error - 0, // on equation_entry+, error - 0, // on expr, error - 0, // on factor, error - 0, // on file, error - 0, // on float, error - 0, // on identifier, error - 0, // on integer, error - 0, // on model, error - 0, // on simple_equation, error - 0, // on string_literal, error - 0, // on string_literal?, error - 0, // on term, error - // State 92 - 0, // on __file, error - 0, // on __integer, error - 0, // on __model, error - 0, // on binary_op, error - 0, // on component_declaration, error - 0, // on component_declaration*, error - 0, // on component_declaration+, error - 0, // on component_prefix, error - 0, // on component_prefix?, error - 0, // on connect_clause, error - 0, // on equation_entry, error - 0, // on equation_entry*, error - 0, // on equation_entry+, error - 0, // on expr, error - 0, // on factor, error - 0, // on file, error - 0, // on float, error - 0, // on identifier, error - 0, // on integer, error - 0, // on model, error - 0, // on simple_equation, error - 0, // on string_literal, error - 0, // on string_literal?, error - 0, // on term, error - // State 93 - 0, // on __file, error - 0, // on __integer, error - 0, // on __model, error - 0, // on binary_op, error - 0, // on component_declaration, error - 0, // on component_declaration*, error - 0, // on component_declaration+, error - 0, // on component_prefix, error - 0, // on component_prefix?, error - 0, // on connect_clause, error - 0, // on equation_entry, error - 0, // on equation_entry*, error - 0, // on equation_entry+, error - 0, // on expr, error - 0, // on factor, error - 0, // on file, error - 0, // on float, error - 0, // on identifier, error - 0, // on integer, error - 0, // on model, error - 0, // on simple_equation, error - 0, // on string_literal, error - 0, // on string_literal?, error - 0, // on term, error - // State 94 - 0, // on __file, error - 0, // on __integer, error - 0, // on __model, error - 0, // on binary_op, error - 0, // on component_declaration, error - 0, // on component_declaration*, error - 0, // on component_declaration+, error - 0, // on component_prefix, error - 0, // on component_prefix?, error - 0, // on connect_clause, error - 0, // on equation_entry, error - 0, // on equation_entry*, error - 0, // on equation_entry+, error - 0, // on expr, error - 0, // on factor, error - 0, // on file, error - 0, // on float, error - 0, // on identifier, error - 0, // on integer, error - 0, // on model, error - 0, // on simple_equation, error - 0, // on string_literal, error - 0, // on string_literal?, error - 0, // on term, error - // State 95 - 0, // on __file, error - 0, // on __integer, error - 0, // on __model, error - 0, // on binary_op, error - 0, // on component_declaration, error - 0, // on component_declaration*, error - 0, // on component_declaration+, error - 0, // on component_prefix, error - 0, // on component_prefix?, error - 0, // on connect_clause, error - 0, // on equation_entry, error - 0, // on equation_entry*, error - 0, // on equation_entry+, error - 0, // on expr, error - 0, // on factor, error - 0, // on file, error - 0, // on float, error - 0, // on identifier, error - 0, // on integer, error - 0, // on model, error - 0, // on simple_equation, error - 0, // on string_literal, error - 0, // on string_literal?, error - 0, // on term, error - // State 96 - 0, // on __file, error - 0, // on __integer, error - 0, // on __model, error - 0, // on binary_op, error - 0, // on component_declaration, error - 0, // on component_declaration*, error - 0, // on component_declaration+, error - 0, // on component_prefix, error - 0, // on component_prefix?, error - 0, // on connect_clause, error - 0, // on equation_entry, error - 0, // on equation_entry*, error - 0, // on equation_entry+, error - 0, // on expr, error - 0, // on factor, error - 0, // on file, error - 0, // on float, error - 0, // on identifier, error - 0, // on integer, error - 0, // on model, error - 0, // on simple_equation, error - 0, // on string_literal, error - 0, // on string_literal?, error - 0, // on term, error - // State 97 - 0, // on __file, error - 0, // on __integer, error - 0, // on __model, error - 0, // on binary_op, error - 0, // on component_declaration, error - 0, // on component_declaration*, error - 0, // on component_declaration+, error - 0, // on component_prefix, error - 0, // on component_prefix?, error - 0, // on connect_clause, error - 0, // on equation_entry, error - 0, // on equation_entry*, error - 0, // on equation_entry+, error - 0, // on expr, error - 0, // on factor, error - 0, // on file, error - 0, // on float, error - 0, // on identifier, error - 0, // on integer, error - 0, // on model, error - 0, // on simple_equation, error - 0, // on string_literal, error - 0, // on string_literal?, error - 0, // on term, error - // State 98 - 0, // on __file, error - 0, // on __integer, error - 0, // on __model, error - 0, // on binary_op, error - 0, // on component_declaration, error - 0, // on component_declaration*, error - 0, // on component_declaration+, error - 0, // on component_prefix, error - 0, // on component_prefix?, error - 0, // on connect_clause, error - 0, // on equation_entry, error - 0, // on equation_entry*, error - 0, // on equation_entry+, error - 0, // on expr, error - 0, // on factor, error - 0, // on file, error - 0, // on float, error - 0, // on identifier, error - 0, // on integer, error - 0, // on model, error - 0, // on simple_equation, error - 0, // on string_literal, error - 0, // on string_literal?, error - 0, // on term, error - // State 99 - 0, // on __file, error - 0, // on __integer, error - 0, // on __model, error - 0, // on binary_op, error - 0, // on component_declaration, error - 0, // on component_declaration*, error - 0, // on component_declaration+, error - 0, // on component_prefix, error - 0, // on component_prefix?, error - 0, // on connect_clause, error - 0, // on equation_entry, error - 0, // on equation_entry*, error - 0, // on equation_entry+, error - 0, // on expr, error - 126, // on factor, goto 125 - 0, // on file, error - 59, // on float, goto 58 - 60, // on identifier, goto 59 - 61, // on integer, goto 60 - 0, // on model, error - 0, // on simple_equation, error - 0, // on string_literal, error - 0, // on string_literal?, error - 62, // on term, goto 61 - // State 100 - 0, // on __file, error - 0, // on __integer, error - 0, // on __model, error - 0, // on binary_op, error - 0, // on component_declaration, error - 0, // on component_declaration*, error - 0, // on component_declaration+, error - 0, // on component_prefix, error - 0, // on component_prefix?, error - 0, // on connect_clause, error - 0, // on equation_entry, error - 0, // on equation_entry*, error - 0, // on equation_entry+, error - 0, // on expr, error - 127, // on factor, goto 126 - 0, // on file, error - 59, // on float, goto 58 - 60, // on identifier, goto 59 - 61, // on integer, goto 60 - 0, // on model, error - 0, // on simple_equation, error - 0, // on string_literal, error - 0, // on string_literal?, error - 62, // on term, goto 61 - // State 101 - 0, // on __file, error - 0, // on __integer, error - 0, // on __model, error - 0, // on binary_op, error - 0, // on component_declaration, error - 0, // on component_declaration*, error - 0, // on component_declaration+, error - 0, // on component_prefix, error - 0, // on component_prefix?, error - 0, // on connect_clause, error - 0, // on equation_entry, error - 0, // on equation_entry*, error - 0, // on equation_entry+, error - 0, // on expr, error - 0, // on factor, error - 0, // on file, error - 59, // on float, goto 58 - 60, // on identifier, goto 59 - 61, // on integer, goto 60 - 0, // on model, error - 0, // on simple_equation, error - 0, // on string_literal, error - 0, // on string_literal?, error - 128, // on term, goto 127 - // State 102 - 0, // on __file, error - 0, // on __integer, error - 0, // on __model, error - 0, // on binary_op, error - 0, // on component_declaration, error - 0, // on component_declaration*, error - 0, // on component_declaration+, error - 0, // on component_prefix, error - 0, // on component_prefix?, error - 0, // on connect_clause, error - 0, // on equation_entry, error - 0, // on equation_entry*, error - 0, // on equation_entry+, error - 0, // on expr, error - 0, // on factor, error - 0, // on file, error - 59, // on float, goto 58 - 60, // on identifier, goto 59 - 61, // on integer, goto 60 - 0, // on model, error - 0, // on simple_equation, error - 0, // on string_literal, error - 0, // on string_literal?, error - 129, // on term, goto 128 - // State 103 - 0, // on __file, error - 0, // on __integer, error - 0, // on __model, error - 0, // on binary_op, error - 0, // on component_declaration, error - 0, // on component_declaration*, error - 0, // on component_declaration+, error - 0, // on component_prefix, error - 0, // on component_prefix?, error - 0, // on connect_clause, error - 0, // on equation_entry, error - 0, // on equation_entry*, error - 0, // on equation_entry+, error - 0, // on expr, error - 0, // on factor, error - 0, // on file, error - 0, // on float, error - 0, // on identifier, error - 0, // on integer, error - 0, // on model, error - 0, // on simple_equation, error - 0, // on string_literal, error - 0, // on string_literal?, error - 0, // on term, error - // State 104 - 0, // on __file, error - 0, // on __integer, error - 0, // on __model, error - 0, // on binary_op, error - 0, // on component_declaration, error - 0, // on component_declaration*, error - 0, // on component_declaration+, error - 0, // on component_prefix, error - 0, // on component_prefix?, error - 0, // on connect_clause, error - 0, // on equation_entry, error - 0, // on equation_entry*, error - 0, // on equation_entry+, error - 0, // on expr, error - 0, // on factor, error - 0, // on file, error - 0, // on float, error - 0, // on identifier, error - 0, // on integer, error - 0, // on model, error - 0, // on simple_equation, error - 0, // on string_literal, error - 0, // on string_literal?, error - 0, // on term, error - // State 105 - 0, // on __file, error - 0, // on __integer, error - 0, // on __model, error - 0, // on binary_op, error - 0, // on component_declaration, error - 0, // on component_declaration*, error - 0, // on component_declaration+, error - 0, // on component_prefix, error - 0, // on component_prefix?, error - 0, // on connect_clause, error - 0, // on equation_entry, error - 0, // on equation_entry*, error - 0, // on equation_entry+, error - 131, // on expr, goto 130 - 58, // on factor, goto 57 - 0, // on file, error - 59, // on float, goto 58 - 60, // on identifier, goto 59 - 61, // on integer, goto 60 - 0, // on model, error - 0, // on simple_equation, error - 0, // on string_literal, error - 0, // on string_literal?, error - 62, // on term, goto 61 - // State 106 - 0, // on __file, error - 0, // on __integer, error - 0, // on __model, error - 0, // on binary_op, error - 0, // on component_declaration, error - 0, // on component_declaration*, error - 0, // on component_declaration+, error - 0, // on component_prefix, error - 0, // on component_prefix?, error - 0, // on connect_clause, error - 0, // on equation_entry, error - 0, // on equation_entry*, error - 0, // on equation_entry+, error - 132, // on expr, goto 131 - 58, // on factor, goto 57 - 0, // on file, error - 59, // on float, goto 58 - 60, // on identifier, goto 59 - 61, // on integer, goto 60 - 0, // on model, error - 0, // on simple_equation, error - 0, // on string_literal, error - 0, // on string_literal?, error - 62, // on term, goto 61 - // State 107 - 0, // on __file, error - 0, // on __integer, error - 0, // on __model, error - 0, // on binary_op, error - 0, // on component_declaration, error - 0, // on component_declaration*, error - 0, // on component_declaration+, error - 0, // on component_prefix, error - 0, // on component_prefix?, error - 0, // on connect_clause, error - 0, // on equation_entry, error - 0, // on equation_entry*, error - 0, // on equation_entry+, error - 0, // on expr, error - 0, // on factor, error - 0, // on file, error - 0, // on float, error - 0, // on identifier, error - 0, // on integer, error - 0, // on model, error - 0, // on simple_equation, error - 0, // on string_literal, error - 0, // on string_literal?, error - 0, // on term, error - // State 108 - 0, // on __file, error - 0, // on __integer, error - 0, // on __model, error - 0, // on binary_op, error - 0, // on component_declaration, error - 0, // on component_declaration*, error - 0, // on component_declaration+, error - 0, // on component_prefix, error - 0, // on component_prefix?, error - 0, // on connect_clause, error - 0, // on equation_entry, error - 0, // on equation_entry*, error - 0, // on equation_entry+, error - 0, // on expr, error - 0, // on factor, error - 0, // on file, error - 0, // on float, error - 0, // on identifier, error - 0, // on integer, error - 0, // on model, error - 0, // on simple_equation, error - 0, // on string_literal, error - 0, // on string_literal?, error - 0, // on term, error - // State 109 - 0, // on __file, error - 0, // on __integer, error - 0, // on __model, error - 0, // on binary_op, error - 0, // on component_declaration, error - 0, // on component_declaration*, error - 0, // on component_declaration+, error - 0, // on component_prefix, error - 0, // on component_prefix?, error - 0, // on connect_clause, error - 0, // on equation_entry, error - 0, // on equation_entry*, error - 0, // on equation_entry+, error - 0, // on expr, error - 0, // on factor, error - 0, // on file, error - 0, // on float, error - 0, // on identifier, error - 0, // on integer, error - 0, // on model, error - 0, // on simple_equation, error - 0, // on string_literal, error - 0, // on string_literal?, error - 0, // on term, error - // State 110 - 0, // on __file, error - 0, // on __integer, error - 0, // on __model, error - 0, // on binary_op, error - 0, // on component_declaration, error - 0, // on component_declaration*, error - 0, // on component_declaration+, error - 0, // on component_prefix, error - 0, // on component_prefix?, error - 0, // on connect_clause, error - 0, // on equation_entry, error - 0, // on equation_entry*, error - 0, // on equation_entry+, error - 0, // on expr, error - 0, // on factor, error - 0, // on file, error - 0, // on float, error - 0, // on identifier, error - 0, // on integer, error - 0, // on model, error - 0, // on simple_equation, error - 0, // on string_literal, error - 0, // on string_literal?, error - 0, // on term, error - // State 111 - 0, // on __file, error - 0, // on __integer, error - 0, // on __model, error - 0, // on binary_op, error - 0, // on component_declaration, error - 0, // on component_declaration*, error - 0, // on component_declaration+, error - 0, // on component_prefix, error - 0, // on component_prefix?, error - 0, // on connect_clause, error - 0, // on equation_entry, error - 0, // on equation_entry*, error - 0, // on equation_entry+, error - 0, // on expr, error - 0, // on factor, error - 0, // on file, error - 0, // on float, error - 0, // on identifier, error - 0, // on integer, error - 0, // on model, error - 0, // on simple_equation, error - 0, // on string_literal, error - 0, // on string_literal?, error - 0, // on term, error - // State 112 - 0, // on __file, error - 0, // on __integer, error - 0, // on __model, error - 0, // on binary_op, error - 0, // on component_declaration, error - 0, // on component_declaration*, error - 0, // on component_declaration+, error - 0, // on component_prefix, error - 0, // on component_prefix?, error - 0, // on connect_clause, error - 0, // on equation_entry, error - 0, // on equation_entry*, error - 0, // on equation_entry+, error - 0, // on expr, error - 0, // on factor, error - 0, // on file, error - 0, // on float, error - 0, // on identifier, error - 0, // on integer, error - 0, // on model, error - 0, // on simple_equation, error - 0, // on string_literal, error - 0, // on string_literal?, error - 0, // on term, error - // State 113 - 0, // on __file, error - 0, // on __integer, error - 0, // on __model, error - 0, // on binary_op, error - 0, // on component_declaration, error - 0, // on component_declaration*, error - 0, // on component_declaration+, error - 0, // on component_prefix, error - 0, // on component_prefix?, error - 0, // on connect_clause, error - 0, // on equation_entry, error - 0, // on equation_entry*, error - 0, // on equation_entry+, error - 0, // on expr, error - 0, // on factor, error - 0, // on file, error - 0, // on float, error - 0, // on identifier, error - 0, // on integer, error - 0, // on model, error - 0, // on simple_equation, error - 0, // on string_literal, error - 0, // on string_literal?, error - 0, // on term, error - // State 114 - 0, // on __file, error - 0, // on __integer, error - 0, // on __model, error - 0, // on binary_op, error - 0, // on component_declaration, error - 0, // on component_declaration*, error - 0, // on component_declaration+, error - 0, // on component_prefix, error - 0, // on component_prefix?, error - 0, // on connect_clause, error - 0, // on equation_entry, error - 0, // on equation_entry*, error - 0, // on equation_entry+, error - 0, // on expr, error - 0, // on factor, error - 0, // on file, error - 0, // on float, error - 0, // on identifier, error - 0, // on integer, error - 0, // on model, error - 0, // on simple_equation, error - 0, // on string_literal, error - 0, // on string_literal?, error - 0, // on term, error - // State 115 - 0, // on __file, error - 0, // on __integer, error - 0, // on __model, error - 0, // on binary_op, error - 0, // on component_declaration, error - 0, // on component_declaration*, error - 0, // on component_declaration+, error - 0, // on component_prefix, error - 0, // on component_prefix?, error - 0, // on connect_clause, error - 0, // on equation_entry, error - 0, // on equation_entry*, error - 0, // on equation_entry+, error - 0, // on expr, error - 0, // on factor, error - 0, // on file, error - 0, // on float, error - 0, // on identifier, error - 0, // on integer, error - 0, // on model, error - 0, // on simple_equation, error - 0, // on string_literal, error - 0, // on string_literal?, error - 0, // on term, error - // State 116 - 0, // on __file, error - 0, // on __integer, error - 0, // on __model, error - 0, // on binary_op, error - 0, // on component_declaration, error - 0, // on component_declaration*, error - 0, // on component_declaration+, error - 0, // on component_prefix, error - 0, // on component_prefix?, error - 0, // on connect_clause, error - 0, // on equation_entry, error - 0, // on equation_entry*, error - 0, // on equation_entry+, error - 0, // on expr, error - 137, // on factor, goto 136 - 0, // on file, error - 86, // on float, goto 85 - 87, // on identifier, goto 86 - 88, // on integer, goto 87 - 0, // on model, error - 0, // on simple_equation, error - 0, // on string_literal, error - 0, // on string_literal?, error - 89, // on term, goto 88 - // State 117 - 0, // on __file, error - 0, // on __integer, error - 0, // on __model, error - 0, // on binary_op, error - 0, // on component_declaration, error - 0, // on component_declaration*, error - 0, // on component_declaration+, error - 0, // on component_prefix, error - 0, // on component_prefix?, error - 0, // on connect_clause, error - 0, // on equation_entry, error - 0, // on equation_entry*, error - 0, // on equation_entry+, error - 0, // on expr, error - 138, // on factor, goto 137 - 0, // on file, error - 86, // on float, goto 85 - 87, // on identifier, goto 86 - 88, // on integer, goto 87 - 0, // on model, error - 0, // on simple_equation, error - 0, // on string_literal, error - 0, // on string_literal?, error - 89, // on term, goto 88 - // State 118 - 0, // on __file, error - 0, // on __integer, error - 0, // on __model, error - 0, // on binary_op, error - 0, // on component_declaration, error - 0, // on component_declaration*, error - 0, // on component_declaration+, error - 0, // on component_prefix, error - 0, // on component_prefix?, error - 0, // on connect_clause, error - 0, // on equation_entry, error - 0, // on equation_entry*, error - 0, // on equation_entry+, error - 0, // on expr, error - 0, // on factor, error - 0, // on file, error - 0, // on float, error - 0, // on identifier, error - 0, // on integer, error - 0, // on model, error - 0, // on simple_equation, error - 0, // on string_literal, error - 0, // on string_literal?, error - 0, // on term, error - // State 119 - 0, // on __file, error - 0, // on __integer, error - 0, // on __model, error - 0, // on binary_op, error - 0, // on component_declaration, error - 0, // on component_declaration*, error - 0, // on component_declaration+, error - 0, // on component_prefix, error - 0, // on component_prefix?, error - 0, // on connect_clause, error - 0, // on equation_entry, error - 0, // on equation_entry*, error - 0, // on equation_entry+, error - 0, // on expr, error - 0, // on factor, error - 0, // on file, error - 86, // on float, goto 85 - 87, // on identifier, goto 86 - 88, // on integer, goto 87 - 0, // on model, error - 0, // on simple_equation, error - 0, // on string_literal, error - 0, // on string_literal?, error - 139, // on term, goto 138 - // State 120 - 0, // on __file, error - 0, // on __integer, error - 0, // on __model, error - 0, // on binary_op, error - 0, // on component_declaration, error - 0, // on component_declaration*, error - 0, // on component_declaration+, error - 0, // on component_prefix, error - 0, // on component_prefix?, error - 0, // on connect_clause, error - 0, // on equation_entry, error - 0, // on equation_entry*, error - 0, // on equation_entry+, error - 0, // on expr, error - 0, // on factor, error - 0, // on file, error - 86, // on float, goto 85 - 87, // on identifier, goto 86 - 88, // on integer, goto 87 - 0, // on model, error - 0, // on simple_equation, error - 0, // on string_literal, error - 0, // on string_literal?, error - 140, // on term, goto 139 - // State 121 - 0, // on __file, error - 0, // on __integer, error - 0, // on __model, error - 0, // on binary_op, error - 0, // on component_declaration, error - 0, // on component_declaration*, error - 0, // on component_declaration+, error - 0, // on component_prefix, error - 0, // on component_prefix?, error - 0, // on connect_clause, error - 0, // on equation_entry, error - 0, // on equation_entry*, error - 0, // on equation_entry+, error - 0, // on expr, error - 0, // on factor, error - 0, // on file, error - 0, // on float, error - 0, // on identifier, error - 0, // on integer, error - 0, // on model, error - 0, // on simple_equation, error - 0, // on string_literal, error - 0, // on string_literal?, error - 0, // on term, error - // State 122 - 0, // on __file, error - 0, // on __integer, error - 0, // on __model, error - 0, // on binary_op, error - 0, // on component_declaration, error - 0, // on component_declaration*, error - 0, // on component_declaration+, error - 0, // on component_prefix, error - 0, // on component_prefix?, error - 0, // on connect_clause, error - 0, // on equation_entry, error - 0, // on equation_entry*, error - 0, // on equation_entry+, error - 0, // on expr, error - 0, // on factor, error - 0, // on file, error - 0, // on float, error - 0, // on identifier, error - 0, // on integer, error - 0, // on model, error - 0, // on simple_equation, error - 0, // on string_literal, error - 0, // on string_literal?, error - 0, // on term, error - // State 123 - 0, // on __file, error - 0, // on __integer, error - 0, // on __model, error - 0, // on binary_op, error - 0, // on component_declaration, error - 0, // on component_declaration*, error - 0, // on component_declaration+, error - 0, // on component_prefix, error - 0, // on component_prefix?, error - 0, // on connect_clause, error - 0, // on equation_entry, error - 0, // on equation_entry*, error - 0, // on equation_entry+, error - 142, // on expr, goto 141 - 58, // on factor, goto 57 - 0, // on file, error - 59, // on float, goto 58 - 60, // on identifier, goto 59 - 61, // on integer, goto 60 - 0, // on model, error - 0, // on simple_equation, error - 0, // on string_literal, error - 0, // on string_literal?, error - 62, // on term, goto 61 - // State 124 - 0, // on __file, error - 0, // on __integer, error - 0, // on __model, error - 0, // on binary_op, error - 0, // on component_declaration, error - 0, // on component_declaration*, error - 0, // on component_declaration+, error - 0, // on component_prefix, error - 0, // on component_prefix?, error - 0, // on connect_clause, error - 0, // on equation_entry, error - 0, // on equation_entry*, error - 0, // on equation_entry+, error - 143, // on expr, goto 142 - 58, // on factor, goto 57 - 0, // on file, error - 59, // on float, goto 58 - 60, // on identifier, goto 59 - 61, // on integer, goto 60 - 0, // on model, error - 0, // on simple_equation, error - 0, // on string_literal, error - 0, // on string_literal?, error - 62, // on term, goto 61 - // State 125 - 0, // on __file, error - 0, // on __integer, error - 0, // on __model, error - 0, // on binary_op, error - 0, // on component_declaration, error - 0, // on component_declaration*, error - 0, // on component_declaration+, error - 0, // on component_prefix, error - 0, // on component_prefix?, error - 0, // on connect_clause, error - 0, // on equation_entry, error - 0, // on equation_entry*, error - 0, // on equation_entry+, error - 0, // on expr, error - 0, // on factor, error - 0, // on file, error - 0, // on float, error - 0, // on identifier, error - 0, // on integer, error - 0, // on model, error - 0, // on simple_equation, error - 0, // on string_literal, error - 0, // on string_literal?, error - 0, // on term, error - // State 126 - 0, // on __file, error - 0, // on __integer, error - 0, // on __model, error - 0, // on binary_op, error - 0, // on component_declaration, error - 0, // on component_declaration*, error - 0, // on component_declaration+, error - 0, // on component_prefix, error - 0, // on component_prefix?, error - 0, // on connect_clause, error - 0, // on equation_entry, error - 0, // on equation_entry*, error - 0, // on equation_entry+, error - 0, // on expr, error - 0, // on factor, error - 0, // on file, error - 0, // on float, error - 0, // on identifier, error - 0, // on integer, error - 0, // on model, error - 0, // on simple_equation, error - 0, // on string_literal, error - 0, // on string_literal?, error - 0, // on term, error - // State 127 - 0, // on __file, error - 0, // on __integer, error - 0, // on __model, error - 0, // on binary_op, error - 0, // on component_declaration, error - 0, // on component_declaration*, error - 0, // on component_declaration+, error - 0, // on component_prefix, error - 0, // on component_prefix?, error - 0, // on connect_clause, error - 0, // on equation_entry, error - 0, // on equation_entry*, error - 0, // on equation_entry+, error - 0, // on expr, error - 0, // on factor, error - 0, // on file, error - 0, // on float, error - 0, // on identifier, error - 0, // on integer, error - 0, // on model, error - 0, // on simple_equation, error - 0, // on string_literal, error - 0, // on string_literal?, error - 0, // on term, error - // State 128 - 0, // on __file, error - 0, // on __integer, error - 0, // on __model, error - 0, // on binary_op, error - 0, // on component_declaration, error - 0, // on component_declaration*, error - 0, // on component_declaration+, error - 0, // on component_prefix, error - 0, // on component_prefix?, error - 0, // on connect_clause, error - 0, // on equation_entry, error - 0, // on equation_entry*, error - 0, // on equation_entry+, error - 0, // on expr, error - 0, // on factor, error - 0, // on file, error - 0, // on float, error - 0, // on identifier, error - 0, // on integer, error - 0, // on model, error - 0, // on simple_equation, error - 0, // on string_literal, error - 0, // on string_literal?, error - 0, // on term, error - // State 129 - 0, // on __file, error - 0, // on __integer, error - 0, // on __model, error - 0, // on binary_op, error - 0, // on component_declaration, error - 0, // on component_declaration*, error - 0, // on component_declaration+, error - 0, // on component_prefix, error - 0, // on component_prefix?, error - 0, // on connect_clause, error - 0, // on equation_entry, error - 0, // on equation_entry*, error - 0, // on equation_entry+, error - 0, // on expr, error - 0, // on factor, error - 0, // on file, error - 0, // on float, error - 0, // on identifier, error - 0, // on integer, error - 0, // on model, error - 0, // on simple_equation, error - 0, // on string_literal, error - 0, // on string_literal?, error - 0, // on term, error - // State 130 - 0, // on __file, error - 0, // on __integer, error - 0, // on __model, error - 0, // on binary_op, error - 0, // on component_declaration, error - 0, // on component_declaration*, error - 0, // on component_declaration+, error - 0, // on component_prefix, error - 0, // on component_prefix?, error - 0, // on connect_clause, error - 0, // on equation_entry, error - 0, // on equation_entry*, error - 0, // on equation_entry+, error - 0, // on expr, error - 0, // on factor, error - 0, // on file, error - 0, // on float, error - 0, // on identifier, error - 0, // on integer, error - 0, // on model, error - 0, // on simple_equation, error - 0, // on string_literal, error - 0, // on string_literal?, error - 0, // on term, error - // State 131 - 0, // on __file, error - 0, // on __integer, error - 0, // on __model, error - 0, // on binary_op, error - 0, // on component_declaration, error - 0, // on component_declaration*, error - 0, // on component_declaration+, error - 0, // on component_prefix, error - 0, // on component_prefix?, error - 0, // on connect_clause, error - 0, // on equation_entry, error - 0, // on equation_entry*, error - 0, // on equation_entry+, error - 0, // on expr, error - 0, // on factor, error - 0, // on file, error - 0, // on float, error - 0, // on identifier, error - 0, // on integer, error - 0, // on model, error - 0, // on simple_equation, error - 0, // on string_literal, error - 0, // on string_literal?, error - 0, // on term, error - // State 132 - 0, // on __file, error - 0, // on __integer, error - 0, // on __model, error - 0, // on binary_op, error - 0, // on component_declaration, error - 0, // on component_declaration*, error - 0, // on component_declaration+, error - 0, // on component_prefix, error - 0, // on component_prefix?, error - 0, // on connect_clause, error - 0, // on equation_entry, error - 0, // on equation_entry*, error - 0, // on equation_entry+, error - 0, // on expr, error - 0, // on factor, error - 0, // on file, error - 0, // on float, error - 0, // on identifier, error - 0, // on integer, error - 0, // on model, error - 0, // on simple_equation, error - 0, // on string_literal, error - 0, // on string_literal?, error - 0, // on term, error - // State 133 - 0, // on __file, error - 0, // on __integer, error - 0, // on __model, error - 0, // on binary_op, error - 0, // on component_declaration, error - 0, // on component_declaration*, error - 0, // on component_declaration+, error - 0, // on component_prefix, error - 0, // on component_prefix?, error - 0, // on connect_clause, error - 0, // on equation_entry, error - 0, // on equation_entry*, error - 0, // on equation_entry+, error - 0, // on expr, error - 0, // on factor, error - 0, // on file, error - 0, // on float, error - 146, // on identifier, goto 145 - 0, // on integer, error - 0, // on model, error - 0, // on simple_equation, error - 0, // on string_literal, error - 0, // on string_literal?, error - 0, // on term, error - // State 134 - 0, // on __file, error - 0, // on __integer, error - 0, // on __model, error - 0, // on binary_op, error - 0, // on component_declaration, error - 0, // on component_declaration*, error - 0, // on component_declaration+, error - 0, // on component_prefix, error - 0, // on component_prefix?, error - 0, // on connect_clause, error - 0, // on equation_entry, error - 0, // on equation_entry*, error - 0, // on equation_entry+, error - 0, // on expr, error - 0, // on factor, error - 0, // on file, error - 0, // on float, error - 0, // on identifier, error - 0, // on integer, error - 0, // on model, error - 0, // on simple_equation, error - 0, // on string_literal, error - 0, // on string_literal?, error - 0, // on term, error - // State 135 - 0, // on __file, error - 0, // on __integer, error - 0, // on __model, error - 0, // on binary_op, error - 0, // on component_declaration, error - 0, // on component_declaration*, error - 0, // on component_declaration+, error - 0, // on component_prefix, error - 0, // on component_prefix?, error - 0, // on connect_clause, error - 0, // on equation_entry, error - 0, // on equation_entry*, error - 0, // on equation_entry+, error - 0, // on expr, error - 0, // on factor, error - 0, // on file, error - 0, // on float, error - 0, // on identifier, error - 0, // on integer, error - 0, // on model, error - 0, // on simple_equation, error - 0, // on string_literal, error - 0, // on string_literal?, error - 0, // on term, error - // State 136 - 0, // on __file, error - 0, // on __integer, error - 0, // on __model, error - 0, // on binary_op, error - 0, // on component_declaration, error - 0, // on component_declaration*, error - 0, // on component_declaration+, error - 0, // on component_prefix, error - 0, // on component_prefix?, error - 0, // on connect_clause, error - 0, // on equation_entry, error - 0, // on equation_entry*, error - 0, // on equation_entry+, error - 0, // on expr, error - 0, // on factor, error - 0, // on file, error - 0, // on float, error - 0, // on identifier, error - 0, // on integer, error - 0, // on model, error - 0, // on simple_equation, error - 0, // on string_literal, error - 0, // on string_literal?, error - 0, // on term, error - // State 137 - 0, // on __file, error - 0, // on __integer, error - 0, // on __model, error - 0, // on binary_op, error - 0, // on component_declaration, error - 0, // on component_declaration*, error - 0, // on component_declaration+, error - 0, // on component_prefix, error - 0, // on component_prefix?, error - 0, // on connect_clause, error - 0, // on equation_entry, error - 0, // on equation_entry*, error - 0, // on equation_entry+, error - 0, // on expr, error - 0, // on factor, error - 0, // on file, error - 0, // on float, error - 0, // on identifier, error - 0, // on integer, error - 0, // on model, error - 0, // on simple_equation, error - 0, // on string_literal, error - 0, // on string_literal?, error - 0, // on term, error - // State 138 - 0, // on __file, error - 0, // on __integer, error - 0, // on __model, error - 0, // on binary_op, error - 0, // on component_declaration, error - 0, // on component_declaration*, error - 0, // on component_declaration+, error - 0, // on component_prefix, error - 0, // on component_prefix?, error - 0, // on connect_clause, error - 0, // on equation_entry, error - 0, // on equation_entry*, error - 0, // on equation_entry+, error - 0, // on expr, error - 0, // on factor, error - 0, // on file, error - 0, // on float, error - 0, // on identifier, error - 0, // on integer, error - 0, // on model, error - 0, // on simple_equation, error - 0, // on string_literal, error - 0, // on string_literal?, error - 0, // on term, error - // State 139 - 0, // on __file, error - 0, // on __integer, error - 0, // on __model, error - 0, // on binary_op, error - 0, // on component_declaration, error - 0, // on component_declaration*, error - 0, // on component_declaration+, error - 0, // on component_prefix, error - 0, // on component_prefix?, error - 0, // on connect_clause, error - 0, // on equation_entry, error - 0, // on equation_entry*, error - 0, // on equation_entry+, error - 0, // on expr, error - 0, // on factor, error - 0, // on file, error - 0, // on float, error - 0, // on identifier, error - 0, // on integer, error - 0, // on model, error - 0, // on simple_equation, error - 0, // on string_literal, error - 0, // on string_literal?, error - 0, // on term, error - // State 140 - 0, // on __file, error - 0, // on __integer, error - 0, // on __model, error - 0, // on binary_op, error - 0, // on component_declaration, error - 0, // on component_declaration*, error - 0, // on component_declaration+, error - 0, // on component_prefix, error - 0, // on component_prefix?, error - 0, // on connect_clause, error - 0, // on equation_entry, error - 0, // on equation_entry*, error - 0, // on equation_entry+, error - 0, // on expr, error - 0, // on factor, error - 0, // on file, error - 0, // on float, error - 0, // on identifier, error - 0, // on integer, error - 0, // on model, error - 0, // on simple_equation, error - 0, // on string_literal, error - 0, // on string_literal?, error - 0, // on term, error - // State 141 - 0, // on __file, error - 0, // on __integer, error - 0, // on __model, error - 0, // on binary_op, error - 0, // on component_declaration, error - 0, // on component_declaration*, error - 0, // on component_declaration+, error - 0, // on component_prefix, error - 0, // on component_prefix?, error - 0, // on connect_clause, error - 0, // on equation_entry, error - 0, // on equation_entry*, error - 0, // on equation_entry+, error - 0, // on expr, error - 0, // on factor, error - 0, // on file, error - 0, // on float, error - 0, // on identifier, error - 0, // on integer, error - 0, // on model, error - 0, // on simple_equation, error - 0, // on string_literal, error - 0, // on string_literal?, error - 0, // on term, error - // State 142 - 0, // on __file, error - 0, // on __integer, error - 0, // on __model, error - 0, // on binary_op, error - 0, // on component_declaration, error - 0, // on component_declaration*, error - 0, // on component_declaration+, error - 0, // on component_prefix, error - 0, // on component_prefix?, error - 0, // on connect_clause, error - 0, // on equation_entry, error - 0, // on equation_entry*, error - 0, // on equation_entry+, error - 0, // on expr, error - 0, // on factor, error - 0, // on file, error - 0, // on float, error - 0, // on identifier, error - 0, // on integer, error - 0, // on model, error - 0, // on simple_equation, error - 0, // on string_literal, error - 0, // on string_literal?, error - 0, // on term, error - // State 143 - 0, // on __file, error - 0, // on __integer, error - 0, // on __model, error - 0, // on binary_op, error - 0, // on component_declaration, error - 0, // on component_declaration*, error - 0, // on component_declaration+, error - 0, // on component_prefix, error - 0, // on component_prefix?, error - 0, // on connect_clause, error - 0, // on equation_entry, error - 0, // on equation_entry*, error - 0, // on equation_entry+, error - 0, // on expr, error - 0, // on factor, error - 0, // on file, error - 0, // on float, error - 0, // on identifier, error - 0, // on integer, error - 0, // on model, error - 0, // on simple_equation, error - 0, // on string_literal, error - 0, // on string_literal?, error - 0, // on term, error - // State 144 - 0, // on __file, error - 0, // on __integer, error - 0, // on __model, error - 0, // on binary_op, error - 0, // on component_declaration, error - 0, // on component_declaration*, error - 0, // on component_declaration+, error - 0, // on component_prefix, error - 0, // on component_prefix?, error - 0, // on connect_clause, error - 0, // on equation_entry, error - 0, // on equation_entry*, error - 0, // on equation_entry+, error - 0, // on expr, error - 0, // on factor, error - 0, // on file, error - 0, // on float, error - 0, // on identifier, error - 0, // on integer, error - 0, // on model, error - 0, // on simple_equation, error - 0, // on string_literal, error - 0, // on string_literal?, error - 0, // on term, error - // State 145 - 0, // on __file, error - 0, // on __integer, error - 0, // on __model, error - 0, // on binary_op, error - 0, // on component_declaration, error - 0, // on component_declaration*, error - 0, // on component_declaration+, error - 0, // on component_prefix, error - 0, // on component_prefix?, error - 0, // on connect_clause, error - 0, // on equation_entry, error - 0, // on equation_entry*, error - 0, // on equation_entry+, error - 0, // on expr, error - 0, // on factor, error - 0, // on file, error - 0, // on float, error - 0, // on identifier, error - 0, // on integer, error - 0, // on model, error - 0, // on simple_equation, error - 0, // on string_literal, error - 0, // on string_literal?, error - 0, // on term, error - // State 146 - 0, // on __file, error - 0, // on __integer, error - 0, // on __model, error - 0, // on binary_op, error - 0, // on component_declaration, error - 0, // on component_declaration*, error - 0, // on component_declaration+, error - 0, // on component_prefix, error - 0, // on component_prefix?, error - 0, // on connect_clause, error - 0, // on equation_entry, error - 0, // on equation_entry*, error - 0, // on equation_entry+, error - 0, // on expr, error - 0, // on factor, error - 0, // on file, error - 0, // on float, error - 0, // on identifier, error - 0, // on integer, error - 0, // on model, error - 0, // on simple_equation, error - 0, // on string_literal, error - 0, // on string_literal?, error - 0, // on term, error - // State 147 - 0, // on __file, error - 0, // on __integer, error - 0, // on __model, error - 0, // on binary_op, error - 0, // on component_declaration, error - 0, // on component_declaration*, error - 0, // on component_declaration+, error - 0, // on component_prefix, error - 0, // on component_prefix?, error - 0, // on connect_clause, error - 0, // on equation_entry, error - 0, // on equation_entry*, error - 0, // on equation_entry+, error - 0, // on expr, error - 0, // on factor, error - 0, // on file, error - 0, // on float, error - 0, // on identifier, error - 0, // on integer, error - 0, // on model, error - 0, // on simple_equation, error - 0, // on string_literal, error - 0, // on string_literal?, error - 0, // on term, error - // State 148 - 0, // on __file, error - 0, // on __integer, error - 0, // on __model, error - 0, // on binary_op, error - 0, // on component_declaration, error - 0, // on component_declaration*, error - 0, // on component_declaration+, error - 0, // on component_prefix, error - 0, // on component_prefix?, error - 0, // on connect_clause, error - 0, // on equation_entry, error - 0, // on equation_entry*, error - 0, // on equation_entry+, error - 0, // on expr, error - 0, // on factor, error - 0, // on file, error - 0, // on float, error - 0, // on identifier, error - 0, // on integer, error - 0, // on model, error - 0, // on simple_equation, error - 0, // on string_literal, error - 0, // on string_literal?, error - 0, // on term, error - // State 149 - 0, // on __file, error - 0, // on __integer, error - 0, // on __model, error - 0, // on binary_op, error - 0, // on component_declaration, error - 0, // on component_declaration*, error - 0, // on component_declaration+, error - 0, // on component_prefix, error - 0, // on component_prefix?, error - 0, // on connect_clause, error - 0, // on equation_entry, error - 0, // on equation_entry*, error - 0, // on equation_entry+, error - 0, // on expr, error - 0, // on factor, error - 0, // on file, error - 0, // on float, error - 0, // on identifier, error - 0, // on integer, error - 0, // on model, error - 0, // on simple_equation, error - 0, // on string_literal, error - 0, // on string_literal?, error - 0, // on term, error - // State 150 - 0, // on __file, error - 0, // on __integer, error - 0, // on __model, error - 0, // on binary_op, error - 0, // on component_declaration, error - 0, // on component_declaration*, error - 0, // on component_declaration+, error - 0, // on component_prefix, error - 0, // on component_prefix?, error - 0, // on connect_clause, error - 0, // on equation_entry, error - 0, // on equation_entry*, error - 0, // on equation_entry+, error - 0, // on expr, error - 0, // on factor, error - 0, // on file, error 0, // on float, error 0, // on identifier, error 0, // on integer, error 0, // on model, error 0, // on simple_equation, error + 0, // on simple_equation*, error + 0, // on simple_equation+, error 0, // on string_literal, error 0, // on string_literal?, error 0, // on term, error ]; - pub fn parse_file< + pub fn parse_identifier< 'input, >( input: &'input str, - ) -> Result<(), __lalrpop_util::ParseError<usize,(usize, &'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]; @@ -8265,85 +2084,52 @@ mod __parse__file { __states: &mut ::std::vec::Vec<i32>, __symbols: &mut ::std::vec::Vec<(usize,__Symbol<'input>,usize)>, _: ::std::marker::PhantomData<()>, - ) -> Option<Result<(),__lalrpop_util::ParseError<usize,(usize, &'input str),()>>> + ) -> Option<Result<String,__lalrpop_util::ParseError<usize,(usize, &'input str),()>>> { let __nonterminal = match -__action { 1 => { - // __file = file => ActionFn(2); - let __sym0 = __pop_Ntfile(__symbols); + // __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)); + let __states_len = __states.len(); + __states.truncate(__states_len - 1); + __symbols.push((__start, __Symbol::Nt____float(__nt), __end)); + 0 } 2 => { - // __integer = integer => ActionFn(0); - let __sym0 = __pop_Ntinteger(__symbols); + // __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____integer(__nt), __end)); - 1 + return Some(Ok(__nt)); } 3 => { - // __model = model => ActionFn(1); - let __sym0 = __pop_Ntmodel(__symbols); + // __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____model(__nt), __end)); + __symbols.push((__start, __Symbol::Nt____integer(__nt), __end)); 2 } 4 => { - // binary_op = "+" => ActionFn(33); - let __sym0 = __pop_Term_22_2b_22(__symbols); + // __model = model => ActionFn(3); + let __sym0 = __pop_Ntmodel(__symbols); let __start = __sym0.0.clone(); let __end = __sym0.2.clone(); - let __nt = super::__action33::<>(input, __sym0); + let __nt = super::__action3::<>(input, __sym0); let __states_len = __states.len(); __states.truncate(__states_len - 1); - __symbols.push((__start, __Symbol::Ntbinary__op(__nt), __end)); + __symbols.push((__start, __Symbol::Nt____model(__nt), __end)); 3 } 5 => { - // binary_op = "-" => ActionFn(34); - let __sym0 = __pop_Term_22_2d_22(__symbols); - let __start = __sym0.0.clone(); - let __end = __sym0.2.clone(); - let __nt = super::__action34::<>(input, __sym0); - let __states_len = __states.len(); - __states.truncate(__states_len - 1); - __symbols.push((__start, __Symbol::Ntbinary__op(__nt), __end)); - 3 - } - 6 => { - // binary_op = "*" => ActionFn(35); - let __sym0 = __pop_Term_22_2a_22(__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::Ntbinary__op(__nt), __end)); - 3 - } - 7 => { - // binary_op = "/" => ActionFn(36); - let __sym0 = __pop_Term_22_2f_22(__symbols); - let __start = __sym0.0.clone(); - let __end = __sym0.2.clone(); - let __nt = super::__action36::<>(input, __sym0); - let __states_len = __states.len(); - __states.truncate(__states_len - 1); - __symbols.push((__start, __Symbol::Ntbinary__op(__nt), __end)); - 3 - } - 8 => { - // component_declaration = component_prefix, identifier, identifier, string_literal, ";" => ActionFn(58); + // component_declaration = component_prefix, identifier, identifier, string_literal, ";" => ActionFn(64); let __sym4 = __pop_Term_22_3b_22(__symbols); let __sym3 = __pop_Ntstring__literal(__symbols); let __sym2 = __pop_Ntidentifier(__symbols); @@ -8351,197 +2137,197 @@ mod __parse__file { let __sym0 = __pop_Ntcomponent__prefix(__symbols); let __start = __sym0.0.clone(); let __end = __sym4.2.clone(); - let __nt = super::__action58::<>(input, __sym0, __sym1, __sym2, __sym3, __sym4); + let __nt = super::__action64::<>(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, ";" => ActionFn(59); + 6 => { + // component_declaration = component_prefix, identifier, identifier, ";" => ActionFn(65); 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::__action59::<>(input, __sym0, __sym1, __sym2, __sym3); + let __nt = super::__action65::<>(input, __sym0, __sym1, __sym2, __sym3); let __states_len = __states.len(); __states.truncate(__states_len - 4); __symbols.push((__start, __Symbol::Ntcomponent__declaration(__nt), __end)); 4 } - 10 => { - // component_declaration = identifier, identifier, string_literal, ";" => ActionFn(60); + 7 => { + // component_declaration = identifier, identifier, string_literal, ";" => ActionFn(66); 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::__action60::<>(input, __sym0, __sym1, __sym2, __sym3); + let __nt = super::__action66::<>(input, __sym0, __sym1, __sym2, __sym3); let __states_len = __states.len(); __states.truncate(__states_len - 4); __symbols.push((__start, __Symbol::Ntcomponent__declaration(__nt), __end)); 4 } - 11 => { - // component_declaration = identifier, identifier, ";" => ActionFn(61); + 8 => { + // component_declaration = identifier, identifier, ";" => ActionFn(67); 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::__action61::<>(input, __sym0, __sym1, __sym2); + let __nt = super::__action67::<>(input, __sym0, __sym1, __sym2); let __states_len = __states.len(); __states.truncate(__states_len - 3); __symbols.push((__start, __Symbol::Ntcomponent__declaration(__nt), __end)); 4 } - 12 => { - // component_declaration* = => ActionFn(44); + 9 => { + // component_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::__action44::<>(input, &__start, &__end); + let __nt = super::__action40::<>(input, &__start, &__end); let __states_len = __states.len(); __states.truncate(__states_len - 0); __symbols.push((__start, __Symbol::Ntcomponent__declaration_2a(__nt), __end)); 5 } - 13 => { - // component_declaration* = component_declaration+ => ActionFn(45); + 10 => { + // component_declaration* = component_declaration+ => ActionFn(41); let __sym0 = __pop_Ntcomponent__declaration_2b(__symbols); let __start = __sym0.0.clone(); let __end = __sym0.2.clone(); - let __nt = super::__action45::<>(input, __sym0); + let __nt = super::__action41::<>(input, __sym0); let __states_len = __states.len(); __states.truncate(__states_len - 1); __symbols.push((__start, __Symbol::Ntcomponent__declaration_2a(__nt), __end)); 5 } - 14 => { - // component_declaration+ = component_declaration => ActionFn(46); + 11 => { + // component_declaration+ = component_declaration => ActionFn(42); let __sym0 = __pop_Ntcomponent__declaration(__symbols); let __start = __sym0.0.clone(); let __end = __sym0.2.clone(); - let __nt = super::__action46::<>(input, __sym0); + let __nt = super::__action42::<>(input, __sym0); let __states_len = __states.len(); __states.truncate(__states_len - 1); __symbols.push((__start, __Symbol::Ntcomponent__declaration_2b(__nt), __end)); 6 } - 15 => { - // component_declaration+ = component_declaration+, component_declaration => ActionFn(47); + 12 => { + // component_declaration+ = component_declaration+, component_declaration => ActionFn(43); 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::__action47::<>(input, __sym0, __sym1); + let __nt = super::__action43::<>(input, __sym0, __sym1); let __states_len = __states.len(); __states.truncate(__states_len - 2); __symbols.push((__start, __Symbol::Ntcomponent__declaration_2b(__nt), __end)); 6 } - 16 => { - // component_prefix = "flow" => ActionFn(11); + 13 => { + // component_prefix = "flow" => ActionFn(10); let __sym0 = __pop_Term_22flow_22(__symbols); let __start = __sym0.0.clone(); let __end = __sym0.2.clone(); - let __nt = super::__action11::<>(input, __sym0); + let __nt = super::__action10::<>(input, __sym0); let __states_len = __states.len(); __states.truncate(__states_len - 1); __symbols.push((__start, __Symbol::Ntcomponent__prefix(__nt), __end)); 7 } - 17 => { - // component_prefix = "stream" => ActionFn(12); + 14 => { + // component_prefix = "stream" => ActionFn(11); let __sym0 = __pop_Term_22stream_22(__symbols); let __start = __sym0.0.clone(); let __end = __sym0.2.clone(); - let __nt = super::__action12::<>(input, __sym0); + let __nt = super::__action11::<>(input, __sym0); let __states_len = __states.len(); __states.truncate(__states_len - 1); __symbols.push((__start, __Symbol::Ntcomponent__prefix(__nt), __end)); 7 } - 18 => { - // component_prefix = "input" => ActionFn(13); + 15 => { + // component_prefix = "input" => ActionFn(12); let __sym0 = __pop_Term_22input_22(__symbols); let __start = __sym0.0.clone(); let __end = __sym0.2.clone(); - let __nt = super::__action13::<>(input, __sym0); + 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 } - 19 => { - // component_prefix = "output" => ActionFn(14); + 16 => { + // component_prefix = "output" => ActionFn(13); let __sym0 = __pop_Term_22output_22(__symbols); let __start = __sym0.0.clone(); let __end = __sym0.2.clone(); - let __nt = super::__action14::<>(input, __sym0); + 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 } - 20 => { - // component_prefix = "discrete" => ActionFn(15); + 17 => { + // component_prefix = "discrete" => ActionFn(14); let __sym0 = __pop_Term_22discrete_22(__symbols); let __start = __sym0.0.clone(); let __end = __sym0.2.clone(); - let __nt = super::__action15::<>(input, __sym0); + 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 } - 21 => { - // component_prefix = "parameter" => ActionFn(16); + 18 => { + // component_prefix = "parameter" => ActionFn(15); let __sym0 = __pop_Term_22parameter_22(__symbols); let __start = __sym0.0.clone(); let __end = __sym0.2.clone(); - let __nt = super::__action16::<>(input, __sym0); + 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 } - 22 => { - // component_prefix = "constant" => ActionFn(17); + 19 => { + // component_prefix = "constant" => ActionFn(16); let __sym0 = __pop_Term_22constant_22(__symbols); let __start = __sym0.0.clone(); let __end = __sym0.2.clone(); - let __nt = super::__action17::<>(input, __sym0); + 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 } - 23 => { - // component_prefix? = component_prefix => ActionFn(40); + 20 => { + // component_prefix? = component_prefix => ActionFn(34); let __sym0 = __pop_Ntcomponent__prefix(__symbols); let __start = __sym0.0.clone(); let __end = __sym0.2.clone(); - let __nt = super::__action40::<>(input, __sym0); + let __nt = super::__action34::<>(input, __sym0); let __states_len = __states.len(); __states.truncate(__states_len - 1); __symbols.push((__start, __Symbol::Ntcomponent__prefix_3f(__nt), __end)); 8 } - 24 => { - // component_prefix? = => ActionFn(41); + 21 => { + // component_prefix? = => ActionFn(35); 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::__action41::<>(input, &__start, &__end); + let __nt = super::__action35::<>(input, &__start, &__end); let __states_len = __states.len(); __states.truncate(__states_len - 0); __symbols.push((__start, __Symbol::Ntcomponent__prefix_3f(__nt), __end)); 8 } - 25 => { - // connect_clause = "connect", "(", identifier, ",", identifier, ")", ";" => ActionFn(19); + 22 => { + // connect_clause = "connect", "(", identifier, ",", identifier, ")", ";" => ActionFn(18); let __sym6 = __pop_Term_22_3b_22(__symbols); let __sym5 = __pop_Term_22_29_22(__symbols); let __sym4 = __pop_Ntidentifier(__symbols); @@ -8551,210 +2337,177 @@ mod __parse__file { let __sym0 = __pop_Term_22connect_22(__symbols); let __start = __sym0.0.clone(); let __end = __sym6.2.clone(); - let __nt = super::__action19::<>(input, __sym0, __sym1, __sym2, __sym3, __sym4, __sym5, __sym6); + let __nt = super::__action18::<>(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 } - 26 => { - // equation_entry = simple_equation => ActionFn(8); - let __sym0 = __pop_Ntsimple__equation(__symbols); - let __start = __sym0.0.clone(); - let __end = __sym0.2.clone(); - let __nt = super::__action8::<>(input, __sym0); - let __states_len = __states.len(); - __states.truncate(__states_len - 1); - __symbols.push((__start, __Symbol::Ntequation__entry(__nt), __end)); - 10 - } - 27 => { - // equation_entry = connect_clause => ActionFn(9); - let __sym0 = __pop_Ntconnect__clause(__symbols); - let __start = __sym0.0.clone(); - let __end = __sym0.2.clone(); - let __nt = super::__action9::<>(input, __sym0); - let __states_len = __states.len(); - __states.truncate(__states_len - 1); - __symbols.push((__start, __Symbol::Ntequation__entry(__nt), __end)); - 10 - } - 28 => { - // equation_entry* = => ActionFn(42); + 23 => { + // connect_clause* = => 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::__action42::<>(input, &__start, &__end); + let __nt = super::__action38::<>(input, &__start, &__end); let __states_len = __states.len(); __states.truncate(__states_len - 0); - __symbols.push((__start, __Symbol::Ntequation__entry_2a(__nt), __end)); - 11 + __symbols.push((__start, __Symbol::Ntconnect__clause_2a(__nt), __end)); + 10 } - 29 => { - // equation_entry* = equation_entry+ => ActionFn(43); - let __sym0 = __pop_Ntequation__entry_2b(__symbols); + 24 => { + // connect_clause* = connect_clause+ => ActionFn(39); + let __sym0 = __pop_Ntconnect__clause_2b(__symbols); let __start = __sym0.0.clone(); let __end = __sym0.2.clone(); - let __nt = super::__action43::<>(input, __sym0); + let __nt = super::__action39::<>(input, __sym0); let __states_len = __states.len(); __states.truncate(__states_len - 1); - __symbols.push((__start, __Symbol::Ntequation__entry_2a(__nt), __end)); - 11 + __symbols.push((__start, __Symbol::Ntconnect__clause_2a(__nt), __end)); + 10 } - 30 => { - // equation_entry+ = equation_entry => ActionFn(48); - let __sym0 = __pop_Ntequation__entry(__symbols); + 25 => { + // connect_clause+ = connect_clause => ActionFn(44); + let __sym0 = __pop_Ntconnect__clause(__symbols); let __start = __sym0.0.clone(); let __end = __sym0.2.clone(); - let __nt = super::__action48::<>(input, __sym0); + let __nt = super::__action44::<>(input, __sym0); let __states_len = __states.len(); __states.truncate(__states_len - 1); - __symbols.push((__start, __Symbol::Ntequation__entry_2b(__nt), __end)); - 12 + __symbols.push((__start, __Symbol::Ntconnect__clause_2b(__nt), __end)); + 11 } - 31 => { - // equation_entry+ = equation_entry+, equation_entry => ActionFn(49); - let __sym1 = __pop_Ntequation__entry(__symbols); - let __sym0 = __pop_Ntequation__entry_2b(__symbols); + 26 => { + // connect_clause+ = connect_clause+, connect_clause => ActionFn(45); + 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::__action49::<>(input, __sym0, __sym1); + let __nt = super::__action45::<>(input, __sym0, __sym1); let __states_len = __states.len(); __states.truncate(__states_len - 2); - __symbols.push((__start, __Symbol::Ntequation__entry_2b(__nt), __end)); - 12 + __symbols.push((__start, __Symbol::Ntconnect__clause_2b(__nt), __end)); + 11 } - 32 => { - // expr = expr, "+", factor => ActionFn(20); + 27 => { + // expr = expr, "+", factor => ActionFn(19); 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::__action20::<>(input, __sym0, __sym1, __sym2); + let __nt = super::__action19::<>(input, __sym0, __sym1, __sym2); let __states_len = __states.len(); __states.truncate(__states_len - 3); __symbols.push((__start, __Symbol::Ntexpr(__nt), __end)); - 13 + 12 } - 33 => { - // expr = expr, "-", factor => ActionFn(21); + 28 => { + // expr = expr, "-", factor => ActionFn(20); 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::__action21::<>(input, __sym0, __sym1, __sym2); + let __nt = super::__action20::<>(input, __sym0, __sym1, __sym2); let __states_len = __states.len(); __states.truncate(__states_len - 3); __symbols.push((__start, __Symbol::Ntexpr(__nt), __end)); - 13 + 12 } - 34 => { - // expr = factor => ActionFn(22); + 29 => { + // expr = factor => ActionFn(21); let __sym0 = __pop_Ntfactor(__symbols); let __start = __sym0.0.clone(); let __end = __sym0.2.clone(); - let __nt = super::__action22::<>(input, __sym0); + let __nt = super::__action21::<>(input, __sym0); let __states_len = __states.len(); __states.truncate(__states_len - 1); __symbols.push((__start, __Symbol::Ntexpr(__nt), __end)); - 13 + 12 } - 35 => { - // factor = factor, "*", term => ActionFn(23); + 30 => { + // factor = factor, "*", term => ActionFn(22); 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::__action23::<>(input, __sym0, __sym1, __sym2); + let __nt = super::__action22::<>(input, __sym0, __sym1, __sym2); let __states_len = __states.len(); __states.truncate(__states_len - 3); __symbols.push((__start, __Symbol::Ntfactor(__nt), __end)); - 14 + 13 } - 36 => { - // factor = factor, "/", term => ActionFn(24); + 31 => { + // factor = factor, "/", term => ActionFn(23); 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::__action24::<>(input, __sym0, __sym1, __sym2); + let __nt = super::__action23::<>(input, __sym0, __sym1, __sym2); let __states_len = __states.len(); __states.truncate(__states_len - 3); __symbols.push((__start, __Symbol::Ntfactor(__nt), __end)); - 14 + 13 } - 37 => { - // factor = "-", term => ActionFn(25); + 32 => { + // factor = "-", term => ActionFn(24); 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::__action25::<>(input, __sym0, __sym1); + let __nt = super::__action24::<>(input, __sym0, __sym1); let __states_len = __states.len(); __states.truncate(__states_len - 2); __symbols.push((__start, __Symbol::Ntfactor(__nt), __end)); - 14 + 13 } - 38 => { - // factor = term => ActionFn(26); + 33 => { + // factor = term => ActionFn(25); let __sym0 = __pop_Ntterm(__symbols); let __start = __sym0.0.clone(); let __end = __sym0.2.clone(); - let __nt = super::__action26::<>(input, __sym0); + let __nt = super::__action25::<>(input, __sym0); let __states_len = __states.len(); __states.truncate(__states_len - 1); __symbols.push((__start, __Symbol::Ntfactor(__nt), __end)); - 14 - } - 39 => { - // file = model => ActionFn(37); - let __sym0 = __pop_Ntmodel(__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::Ntfile(__nt), __end)); - 15 + 13 } - 40 => { - // float = r#"[+-]?\\d+\\.\\d*([eE][-+]?\\d+)?"# => ActionFn(6); + 34 => { + // 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::__action6::<>(input, __sym0); + let __nt = super::__action7::<>(input, __sym0); let __states_len = __states.len(); __states.truncate(__states_len - 1); __symbols.push((__start, __Symbol::Ntfloat(__nt), __end)); - 16 + 14 } - 41 => { - // identifier = r#"[a-zA-Z_][a-zA-Z_0-9]*"# => ActionFn(3); + 35 => { + // 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::__action3::<>(input, __sym0); + let __nt = super::__action4::<>(input, __sym0); let __states_len = __states.len(); __states.truncate(__states_len - 1); __symbols.push((__start, __Symbol::Ntidentifier(__nt), __end)); - 17 + 15 } - 42 => { - // integer = r#"[+-]?\\d+"# => ActionFn(5); + 36 => { + // 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::__action5::<>(input, __sym0); + let __nt = super::__action6::<>(input, __sym0); let __states_len = __states.len(); __states.truncate(__states_len - 1); __symbols.push((__start, __Symbol::Ntinteger(__nt), __end)); - 18 + 16 } - 43 => { - // model = "model", identifier, "equation", "end", identifier, ";" => ActionFn(54); + 37 => { + // model = "model", identifier, "equation", "end", identifier, ";" => ActionFn(56); let __sym5 = __pop_Term_22_3b_22(__symbols); let __sym4 = __pop_Ntidentifier(__symbols); let __sym3 = __pop_Term_22end_22(__symbols); @@ -8763,31 +2516,66 @@ mod __parse__file { let __sym0 = __pop_Term_22model_22(__symbols); let __start = __sym0.0.clone(); let __end = __sym5.2.clone(); - let __nt = super::__action54::<>(input, __sym0, __sym1, __sym2, __sym3, __sym4, __sym5); + let __nt = super::__action56::<>(input, __sym0, __sym1, __sym2, __sym3, __sym4, __sym5); let __states_len = __states.len(); __states.truncate(__states_len - 6); __symbols.push((__start, __Symbol::Ntmodel(__nt), __end)); - 19 + 17 } - 44 => { - // model = "model", identifier, "equation", equation_entry+, "end", identifier, ";" => ActionFn(55); + 38 => { + // model = "model", identifier, "equation", simple_equation+, "end", identifier, ";" => ActionFn(57); let __sym6 = __pop_Term_22_3b_22(__symbols); let __sym5 = __pop_Ntidentifier(__symbols); let __sym4 = __pop_Term_22end_22(__symbols); - let __sym3 = __pop_Ntequation__entry_2b(__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::__action55::<>(input, __sym0, __sym1, __sym2, __sym3, __sym4, __sym5, __sym6); + let __nt = super::__action57::<>(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)); - 19 + 17 } - 45 => { - // model = "model", identifier, component_declaration+, "equation", "end", identifier, ";" => ActionFn(56); + 39 => { + // model = "model", identifier, "equation", connect_clause+, "end", identifier, ";" => ActionFn(58); + 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::__action58::<>(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 + } + 40 => { + // model = "model", identifier, "equation", connect_clause+, simple_equation+, "end", identifier, ";" => ActionFn(59); + 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::__action59::<>(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 + } + 41 => { + // model = "model", identifier, component_declaration+, "equation", "end", identifier, ";" => ActionFn(60); let __sym6 = __pop_Term_22_3b_22(__symbols); let __sym5 = __pop_Ntidentifier(__symbols); let __sym4 = __pop_Term_22end_22(__symbols); @@ -8797,145 +2585,226 @@ mod __parse__file { let __sym0 = __pop_Term_22model_22(__symbols); let __start = __sym0.0.clone(); let __end = __sym6.2.clone(); - let __nt = super::__action56::<>(input, __sym0, __sym1, __sym2, __sym3, __sym4, __sym5, __sym6); + let __nt = super::__action60::<>(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)); - 19 + 17 } - 46 => { - // model = "model", identifier, component_declaration+, "equation", equation_entry+, "end", identifier, ";" => ActionFn(57); + 42 => { + // model = "model", identifier, component_declaration+, "equation", simple_equation+, "end", identifier, ";" => ActionFn(61); let __sym7 = __pop_Term_22_3b_22(__symbols); let __sym6 = __pop_Ntidentifier(__symbols); let __sym5 = __pop_Term_22end_22(__symbols); - let __sym4 = __pop_Ntequation__entry_2b(__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::__action57::<>(input, __sym0, __sym1, __sym2, __sym3, __sym4, __sym5, __sym6, __sym7); + let __nt = super::__action61::<>(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)); - 19 + 17 } - 47 => { - // simple_equation = expr, "=", expr, ";" => ActionFn(18); + 43 => { + // model = "model", identifier, component_declaration+, "equation", connect_clause+, "end", identifier, ";" => ActionFn(62); + 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::__action62::<>(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 + } + 44 => { + // model = "model", identifier, component_declaration+, "equation", connect_clause+, simple_equation+, "end", identifier, ";" => ActionFn(63); + 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::__action63::<>(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 + } + 45 => { + // simple_equation = expr, "=", expr, ";" => ActionFn(17); 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::__action18::<>(input, __sym0, __sym1, __sym2, __sym3); + let __nt = super::__action17::<>(input, __sym0, __sym1, __sym2, __sym3); let __states_len = __states.len(); __states.truncate(__states_len - 4); __symbols.push((__start, __Symbol::Ntsimple__equation(__nt), __end)); - 20 + 18 + } + 46 => { + // simple_equation* = => 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::Ntsimple__equation_2a(__nt), __end)); + 19 + } + 47 => { + // simple_equation* = simple_equation+ => ActionFn(37); + let __sym0 = __pop_Ntsimple__equation_2b(__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::Ntsimple__equation_2a(__nt), __end)); + 19 } 48 => { - // string_literal = r#"\"[^\"\\\\]*\""# => ActionFn(4); + // simple_equation+ = simple_equation => ActionFn(46); + let __sym0 = __pop_Ntsimple__equation(__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::Ntsimple__equation_2b(__nt), __end)); + 20 + } + 49 => { + // simple_equation+ = simple_equation+, simple_equation => ActionFn(47); + 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::__action47::<>(input, __sym0, __sym1); + let __states_len = __states.len(); + __states.truncate(__states_len - 2); + __symbols.push((__start, __Symbol::Ntsimple__equation_2b(__nt), __end)); + 20 + } + 50 => { + // 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::__action4::<>(input, __sym0); + 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 } - 49 => { - // string_literal? = string_literal => ActionFn(38); + 51 => { + // string_literal? = string_literal => ActionFn(32); let __sym0 = __pop_Ntstring__literal(__symbols); let __start = __sym0.0.clone(); let __end = __sym0.2.clone(); - let __nt = super::__action38::<>(input, __sym0); + let __nt = super::__action32::<>(input, __sym0); let __states_len = __states.len(); __states.truncate(__states_len - 1); __symbols.push((__start, __Symbol::Ntstring__literal_3f(__nt), __end)); 22 } - 50 => { - // string_literal? = => ActionFn(39); + 52 => { + // string_literal? = => ActionFn(33); 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::__action39::<>(input, &__start, &__end); + let __nt = super::__action33::<>(input, &__start, &__end); let __states_len = __states.len(); __states.truncate(__states_len - 0); __symbols.push((__start, __Symbol::Ntstring__literal_3f(__nt), __end)); 22 } - 51 => { - // term = integer => ActionFn(27); + 53 => { + // term = integer => ActionFn(26); let __sym0 = __pop_Ntinteger(__symbols); let __start = __sym0.0.clone(); let __end = __sym0.2.clone(); - let __nt = super::__action27::<>(input, __sym0); + let __nt = super::__action26::<>(input, __sym0); let __states_len = __states.len(); __states.truncate(__states_len - 1); __symbols.push((__start, __Symbol::Ntterm(__nt), __end)); 23 } - 52 => { - // term = float => ActionFn(28); + 54 => { + // term = float => ActionFn(27); let __sym0 = __pop_Ntfloat(__symbols); let __start = __sym0.0.clone(); let __end = __sym0.2.clone(); - let __nt = super::__action28::<>(input, __sym0); + let __nt = super::__action27::<>(input, __sym0); let __states_len = __states.len(); __states.truncate(__states_len - 1); __symbols.push((__start, __Symbol::Ntterm(__nt), __end)); 23 } - 53 => { - // term = identifier => ActionFn(29); + 55 => { + // term = identifier => ActionFn(28); let __sym0 = __pop_Ntidentifier(__symbols); let __start = __sym0.0.clone(); let __end = __sym0.2.clone(); - let __nt = super::__action29::<>(input, __sym0); + let __nt = super::__action28::<>(input, __sym0); let __states_len = __states.len(); __states.truncate(__states_len - 1); __symbols.push((__start, __Symbol::Ntterm(__nt), __end)); 23 } - 54 => { - // term = "der", "(", expr, ")" => ActionFn(30); + 56 => { + // term = "der", "(", expr, ")" => ActionFn(29); 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::__action30::<>(input, __sym0, __sym1, __sym2, __sym3); + let __nt = super::__action29::<>(input, __sym0, __sym1, __sym2, __sym3); let __states_len = __states.len(); __states.truncate(__states_len - 4); __symbols.push((__start, __Symbol::Ntterm(__nt), __end)); 23 } - 55 => { - // term = "abs", "(", expr, ")" => ActionFn(31); + 57 => { + // term = "abs", "(", expr, ")" => ActionFn(30); 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::__action31::<>(input, __sym0, __sym1, __sym2, __sym3); + let __nt = super::__action30::<>(input, __sym0, __sym1, __sym2, __sym3); let __states_len = __states.len(); __states.truncate(__states_len - 4); __symbols.push((__start, __Symbol::Ntterm(__nt), __end)); 23 } - 56 => { - // term = "(", expr, ")" => ActionFn(32); + 58 => { + // term = "(", expr, ")" => ActionFn(31); 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::__action32::<>(input, __sym0, __sym1, __sym2); + let __nt = super::__action31::<>(input, __sym0, __sym1, __sym2); let __states_len = __states.len(); __states.truncate(__states_len - 3); __symbols.push((__start, __Symbol::Ntterm(__nt), __end)); @@ -9208,43 +3077,43 @@ mod __parse__file { _ => panic!("symbol type mismatch") } } - fn __pop_Nt____file< + fn __pop_Nt____float< 'input, >( __symbols: &mut ::std::vec::Vec<(usize,__Symbol<'input>,usize)> - ) -> (usize, (), usize) { + ) -> (usize, f64, usize) { match __symbols.pop().unwrap() { - (__l, __Symbol::Nt____file(__v), __r) => (__l, __v, __r), + (__l, __Symbol::Nt____float(__v), __r) => (__l, __v, __r), _ => panic!("symbol type mismatch") } } - fn __pop_Nt____integer< + fn __pop_Nt____identifier< 'input, >( __symbols: &mut ::std::vec::Vec<(usize,__Symbol<'input>,usize)> - ) -> (usize, (), usize) { + ) -> (usize, String, usize) { match __symbols.pop().unwrap() { - (__l, __Symbol::Nt____integer(__v), __r) => (__l, __v, __r), + (__l, __Symbol::Nt____identifier(__v), __r) => (__l, __v, __r), _ => panic!("symbol type mismatch") } } - fn __pop_Nt____model< + fn __pop_Nt____integer< 'input, >( __symbols: &mut ::std::vec::Vec<(usize,__Symbol<'input>,usize)> - ) -> (usize, (), usize) { + ) -> (usize, i64, usize) { match __symbols.pop().unwrap() { - (__l, __Symbol::Nt____model(__v), __r) => (__l, __v, __r), + (__l, __Symbol::Nt____integer(__v), __r) => (__l, __v, __r), _ => panic!("symbol type mismatch") } } - fn __pop_Ntbinary__op< + fn __pop_Nt____model< 'input, >( __symbols: &mut ::std::vec::Vec<(usize,__Symbol<'input>,usize)> - ) -> (usize, (), usize) { + ) -> (usize, Model, usize) { match __symbols.pop().unwrap() { - (__l, __Symbol::Ntbinary__op(__v), __r) => (__l, __v, __r), + (__l, __Symbol::Nt____model(__v), __r) => (__l, __v, __r), _ => panic!("symbol type mismatch") } } @@ -9252,7 +3121,7 @@ mod __parse__file { 'input, >( __symbols: &mut ::std::vec::Vec<(usize,__Symbol<'input>,usize)> - ) -> (usize, (), usize) { + ) -> (usize, Component, usize) { match __symbols.pop().unwrap() { (__l, __Symbol::Ntcomponent__declaration(__v), __r) => (__l, __v, __r), _ => panic!("symbol type mismatch") @@ -9262,7 +3131,7 @@ mod __parse__file { 'input, >( __symbols: &mut ::std::vec::Vec<(usize,__Symbol<'input>,usize)> - ) -> (usize, ::std::vec::Vec<()>, 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") @@ -9272,7 +3141,7 @@ mod __parse__file { 'input, >( __symbols: &mut ::std::vec::Vec<(usize,__Symbol<'input>,usize)> - ) -> (usize, ::std::vec::Vec<()>, 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") @@ -9282,7 +3151,7 @@ mod __parse__file { 'input, >( __symbols: &mut ::std::vec::Vec<(usize,__Symbol<'input>,usize)> - ) -> (usize, (), usize) { + ) -> (usize, ComponentPrefix, usize) { match __symbols.pop().unwrap() { (__l, __Symbol::Ntcomponent__prefix(__v), __r) => (__l, __v, __r), _ => panic!("symbol type mismatch") @@ -9292,7 +3161,7 @@ mod __parse__file { 'input, >( __symbols: &mut ::std::vec::Vec<(usize,__Symbol<'input>,usize)> - ) -> (usize, ::std::option::Option<()>, 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") @@ -9302,39 +3171,29 @@ mod __parse__file { 'input, >( __symbols: &mut ::std::vec::Vec<(usize,__Symbol<'input>,usize)> - ) -> (usize, (), usize) { + ) -> (usize, Connection, usize) { match __symbols.pop().unwrap() { (__l, __Symbol::Ntconnect__clause(__v), __r) => (__l, __v, __r), _ => panic!("symbol type mismatch") } } - fn __pop_Ntequation__entry< - 'input, - >( - __symbols: &mut ::std::vec::Vec<(usize,__Symbol<'input>,usize)> - ) -> (usize, (), usize) { - match __symbols.pop().unwrap() { - (__l, __Symbol::Ntequation__entry(__v), __r) => (__l, __v, __r), - _ => panic!("symbol type mismatch") - } - } - fn __pop_Ntequation__entry_2a< + fn __pop_Ntconnect__clause_2a< 'input, >( __symbols: &mut ::std::vec::Vec<(usize,__Symbol<'input>,usize)> - ) -> (usize, ::std::vec::Vec<()>, usize) { + ) -> (usize, ::std::vec::Vec<Connection>, usize) { match __symbols.pop().unwrap() { - (__l, __Symbol::Ntequation__entry_2a(__v), __r) => (__l, __v, __r), + (__l, __Symbol::Ntconnect__clause_2a(__v), __r) => (__l, __v, __r), _ => panic!("symbol type mismatch") } } - fn __pop_Ntequation__entry_2b< + fn __pop_Ntconnect__clause_2b< 'input, >( __symbols: &mut ::std::vec::Vec<(usize,__Symbol<'input>,usize)> - ) -> (usize, ::std::vec::Vec<()>, usize) { + ) -> (usize, ::std::vec::Vec<Connection>, usize) { match __symbols.pop().unwrap() { - (__l, __Symbol::Ntequation__entry_2b(__v), __r) => (__l, __v, __r), + (__l, __Symbol::Ntconnect__clause_2b(__v), __r) => (__l, __v, __r), _ => panic!("symbol type mismatch") } } @@ -9342,7 +3201,7 @@ mod __parse__file { 'input, >( __symbols: &mut ::std::vec::Vec<(usize,__Symbol<'input>,usize)> - ) -> (usize, (), usize) { + ) -> (usize, Expr, usize) { match __symbols.pop().unwrap() { (__l, __Symbol::Ntexpr(__v), __r) => (__l, __v, __r), _ => panic!("symbol type mismatch") @@ -9352,27 +3211,17 @@ mod __parse__file { 'input, >( __symbols: &mut ::std::vec::Vec<(usize,__Symbol<'input>,usize)> - ) -> (usize, (), usize) { + ) -> (usize, Expr, usize) { match __symbols.pop().unwrap() { (__l, __Symbol::Ntfactor(__v), __r) => (__l, __v, __r), _ => panic!("symbol type mismatch") } } - fn __pop_Ntfile< - 'input, - >( - __symbols: &mut ::std::vec::Vec<(usize,__Symbol<'input>,usize)> - ) -> (usize, (), usize) { - match __symbols.pop().unwrap() { - (__l, __Symbol::Ntfile(__v), __r) => (__l, __v, __r), - _ => panic!("symbol type mismatch") - } - } fn __pop_Ntfloat< 'input, >( __symbols: &mut ::std::vec::Vec<(usize,__Symbol<'input>,usize)> - ) -> (usize, (), usize) { + ) -> (usize, f64, usize) { match __symbols.pop().unwrap() { (__l, __Symbol::Ntfloat(__v), __r) => (__l, __v, __r), _ => panic!("symbol type mismatch") @@ -9382,7 +3231,7 @@ mod __parse__file { 'input, >( __symbols: &mut ::std::vec::Vec<(usize,__Symbol<'input>,usize)> - ) -> (usize, (), usize) { + ) -> (usize, String, usize) { match __symbols.pop().unwrap() { (__l, __Symbol::Ntidentifier(__v), __r) => (__l, __v, __r), _ => panic!("symbol type mismatch") @@ -9392,7 +3241,7 @@ mod __parse__file { 'input, >( __symbols: &mut ::std::vec::Vec<(usize,__Symbol<'input>,usize)> - ) -> (usize, (), usize) { + ) -> (usize, i64, usize) { match __symbols.pop().unwrap() { (__l, __Symbol::Ntinteger(__v), __r) => (__l, __v, __r), _ => panic!("symbol type mismatch") @@ -9402,7 +3251,7 @@ mod __parse__file { 'input, >( __symbols: &mut ::std::vec::Vec<(usize,__Symbol<'input>,usize)> - ) -> (usize, (), usize) { + ) -> (usize, Model, usize) { match __symbols.pop().unwrap() { (__l, __Symbol::Ntmodel(__v), __r) => (__l, __v, __r), _ => panic!("symbol type mismatch") @@ -9412,17 +3261,37 @@ mod __parse__file { 'input, >( __symbols: &mut ::std::vec::Vec<(usize,__Symbol<'input>,usize)> - ) -> (usize, (), 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, (), usize) { + ) -> (usize, String, usize) { match __symbols.pop().unwrap() { (__l, __Symbol::Ntstring__literal(__v), __r) => (__l, __v, __r), _ => panic!("symbol type mismatch") @@ -9432,7 +3301,7 @@ mod __parse__file { 'input, >( __symbols: &mut ::std::vec::Vec<(usize,__Symbol<'input>,usize)> - ) -> (usize, ::std::option::Option<()>, 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") @@ -9442,18 +3311,20 @@ mod __parse__file { 'input, >( __symbols: &mut ::std::vec::Vec<(usize,__Symbol<'input>,usize)> - ) -> (usize, (), usize) { + ) -> (usize, Expr, usize) { match __symbols.pop().unwrap() { (__l, __Symbol::Ntterm(__v), __r) => (__l, __v, __r), _ => panic!("symbol type mismatch") } } } -pub use self::__parse__file::parse_file; +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::*; extern crate lalrpop_util as __lalrpop_util; #[allow(dead_code)] pub enum __Symbol<'input> { @@ -9483,30 +3354,30 @@ mod __parse__integer { 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), - Nt____file(()), - Nt____integer(()), - Nt____model(()), - Ntbinary__op(()), - Ntcomponent__declaration(()), - Ntcomponent__declaration_2a(::std::vec::Vec<()>), - Ntcomponent__declaration_2b(::std::vec::Vec<()>), - Ntcomponent__prefix(()), - Ntcomponent__prefix_3f(::std::option::Option<()>), - Ntconnect__clause(()), - Ntequation__entry(()), - Ntequation__entry_2a(::std::vec::Vec<()>), - Ntequation__entry_2b(::std::vec::Vec<()>), - Ntexpr(()), - Ntfactor(()), - Ntfile(()), - Ntfloat(()), - Ntidentifier(()), - Ntinteger(()), - Ntmodel(()), - Ntsimple__equation(()), - Ntstring__literal(()), - Ntstring__literal_3f(::std::option::Option<()>), - Ntterm(()), + Nt____float(f64), + Nt____identifier(String), + Nt____integer(i64), + Nt____model(Model), + 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(Model), + 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), } const __ACTION: &'static [i32] = &[ // State 0 @@ -9593,82 +3464,82 @@ mod __parse__integer { ]; const __EOF_ACTION: &'static [i32] = &[ 0, // on EOF, error - -2, // on EOF, reduce `__integer = integer => ActionFn(0);` - -42, // on EOF, reduce `integer = r#"[+-]?\\d+"# => ActionFn(5);` + -3, // on EOF, reduce `__integer = integer => ActionFn(1);` + -36, // on EOF, reduce `integer = r#"[+-]?\\d+"# => ActionFn(6);` ]; const __GOTO: &'static [i32] = &[ // State 0 - 0, // on __file, error + 0, // on __float, error + 0, // on __identifier, error 0, // on __integer, error 0, // on __model, error - 0, // on binary_op, error 0, // on component_declaration, error 0, // on component_declaration*, error 0, // on component_declaration+, error 0, // on component_prefix, error 0, // on component_prefix?, error 0, // on connect_clause, error - 0, // on equation_entry, error - 0, // on equation_entry*, error - 0, // on equation_entry+, error + 0, // on connect_clause*, error + 0, // on connect_clause+, error 0, // on expr, error 0, // on factor, error - 0, // on file, error 0, // on float, error 0, // on identifier, error 2, // on integer, goto 1 0, // on model, error 0, // on simple_equation, error + 0, // on simple_equation*, error + 0, // on simple_equation+, error 0, // on string_literal, error 0, // on string_literal?, error 0, // on term, error // State 1 - 0, // on __file, error + 0, // on __float, error + 0, // on __identifier, error 0, // on __integer, error 0, // on __model, error - 0, // on binary_op, error 0, // on component_declaration, error 0, // on component_declaration*, error 0, // on component_declaration+, error 0, // on component_prefix, error 0, // on component_prefix?, error 0, // on connect_clause, error - 0, // on equation_entry, error - 0, // on equation_entry*, error - 0, // on equation_entry+, error + 0, // on connect_clause*, error + 0, // on connect_clause+, error 0, // on expr, error 0, // on factor, error - 0, // on file, error 0, // on float, error 0, // on identifier, error 0, // on integer, error 0, // on model, error 0, // on simple_equation, error + 0, // on simple_equation*, error + 0, // on simple_equation+, error 0, // on string_literal, error 0, // on string_literal?, error 0, // on term, error // State 2 - 0, // on __file, error + 0, // on __float, error + 0, // on __identifier, error 0, // on __integer, error 0, // on __model, error - 0, // on binary_op, error 0, // on component_declaration, error 0, // on component_declaration*, error 0, // on component_declaration+, error 0, // on component_prefix, error 0, // on component_prefix?, error 0, // on connect_clause, error - 0, // on equation_entry, error - 0, // on equation_entry*, error - 0, // on equation_entry+, error + 0, // on connect_clause*, error + 0, // on connect_clause+, error 0, // on expr, error 0, // on factor, error - 0, // on file, error 0, // on float, error 0, // on identifier, error 0, // on integer, error 0, // on model, error 0, // on simple_equation, error + 0, // on simple_equation*, error + 0, // on simple_equation+, error 0, // on string_literal, error 0, // on string_literal?, error 0, // on term, error @@ -9677,7 +3548,7 @@ mod __parse__integer { 'input, >( input: &'input str, - ) -> Result<(), __lalrpop_util::ParseError<usize,(usize, &'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]; @@ -9872,85 +3743,52 @@ mod __parse__integer { __states: &mut ::std::vec::Vec<i32>, __symbols: &mut ::std::vec::Vec<(usize,__Symbol<'input>,usize)>, _: ::std::marker::PhantomData<()>, - ) -> Option<Result<(),__lalrpop_util::ParseError<usize,(usize, &'input str),()>>> + ) -> Option<Result<i64,__lalrpop_util::ParseError<usize,(usize, &'input str),()>>> { let __nonterminal = match -__action { 1 => { - // __file = file => ActionFn(2); - let __sym0 = __pop_Ntfile(__symbols); + // __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____file(__nt), __end)); + __symbols.push((__start, __Symbol::Nt____float(__nt), __end)); 0 } 2 => { - // __integer = integer => ActionFn(0); - let __sym0 = __pop_Ntinteger(__symbols); + // __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)); + let __states_len = __states.len(); + __states.truncate(__states_len - 1); + __symbols.push((__start, __Symbol::Nt____identifier(__nt), __end)); + 1 } 3 => { - // __model = model => ActionFn(1); - let __sym0 = __pop_Ntmodel(__symbols); + // __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____model(__nt), __end)); - 2 + return Some(Ok(__nt)); } 4 => { - // binary_op = "+" => ActionFn(33); - let __sym0 = __pop_Term_22_2b_22(__symbols); + // __model = model => ActionFn(3); + let __sym0 = __pop_Ntmodel(__symbols); let __start = __sym0.0.clone(); let __end = __sym0.2.clone(); - let __nt = super::__action33::<>(input, __sym0); + let __nt = super::__action3::<>(input, __sym0); let __states_len = __states.len(); __states.truncate(__states_len - 1); - __symbols.push((__start, __Symbol::Ntbinary__op(__nt), __end)); + __symbols.push((__start, __Symbol::Nt____model(__nt), __end)); 3 } 5 => { - // binary_op = "-" => ActionFn(34); - let __sym0 = __pop_Term_22_2d_22(__symbols); - let __start = __sym0.0.clone(); - let __end = __sym0.2.clone(); - let __nt = super::__action34::<>(input, __sym0); - let __states_len = __states.len(); - __states.truncate(__states_len - 1); - __symbols.push((__start, __Symbol::Ntbinary__op(__nt), __end)); - 3 - } - 6 => { - // binary_op = "*" => ActionFn(35); - let __sym0 = __pop_Term_22_2a_22(__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::Ntbinary__op(__nt), __end)); - 3 - } - 7 => { - // binary_op = "/" => ActionFn(36); - let __sym0 = __pop_Term_22_2f_22(__symbols); - let __start = __sym0.0.clone(); - let __end = __sym0.2.clone(); - let __nt = super::__action36::<>(input, __sym0); - let __states_len = __states.len(); - __states.truncate(__states_len - 1); - __symbols.push((__start, __Symbol::Ntbinary__op(__nt), __end)); - 3 - } - 8 => { - // component_declaration = component_prefix, identifier, identifier, string_literal, ";" => ActionFn(58); + // component_declaration = component_prefix, identifier, identifier, string_literal, ";" => ActionFn(64); let __sym4 = __pop_Term_22_3b_22(__symbols); let __sym3 = __pop_Ntstring__literal(__symbols); let __sym2 = __pop_Ntidentifier(__symbols); @@ -9958,197 +3796,197 @@ mod __parse__integer { let __sym0 = __pop_Ntcomponent__prefix(__symbols); let __start = __sym0.0.clone(); let __end = __sym4.2.clone(); - let __nt = super::__action58::<>(input, __sym0, __sym1, __sym2, __sym3, __sym4); + let __nt = super::__action64::<>(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, ";" => ActionFn(59); + 6 => { + // component_declaration = component_prefix, identifier, identifier, ";" => ActionFn(65); 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::__action59::<>(input, __sym0, __sym1, __sym2, __sym3); + let __nt = super::__action65::<>(input, __sym0, __sym1, __sym2, __sym3); let __states_len = __states.len(); __states.truncate(__states_len - 4); __symbols.push((__start, __Symbol::Ntcomponent__declaration(__nt), __end)); 4 } - 10 => { - // component_declaration = identifier, identifier, string_literal, ";" => ActionFn(60); + 7 => { + // component_declaration = identifier, identifier, string_literal, ";" => ActionFn(66); 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::__action60::<>(input, __sym0, __sym1, __sym2, __sym3); + let __nt = super::__action66::<>(input, __sym0, __sym1, __sym2, __sym3); let __states_len = __states.len(); __states.truncate(__states_len - 4); __symbols.push((__start, __Symbol::Ntcomponent__declaration(__nt), __end)); 4 } - 11 => { - // component_declaration = identifier, identifier, ";" => ActionFn(61); + 8 => { + // component_declaration = identifier, identifier, ";" => ActionFn(67); 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::__action61::<>(input, __sym0, __sym1, __sym2); + let __nt = super::__action67::<>(input, __sym0, __sym1, __sym2); let __states_len = __states.len(); __states.truncate(__states_len - 3); __symbols.push((__start, __Symbol::Ntcomponent__declaration(__nt), __end)); 4 } - 12 => { - // component_declaration* = => ActionFn(44); + 9 => { + // component_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::__action44::<>(input, &__start, &__end); + let __nt = super::__action40::<>(input, &__start, &__end); let __states_len = __states.len(); __states.truncate(__states_len - 0); __symbols.push((__start, __Symbol::Ntcomponent__declaration_2a(__nt), __end)); 5 } - 13 => { - // component_declaration* = component_declaration+ => ActionFn(45); + 10 => { + // component_declaration* = component_declaration+ => ActionFn(41); let __sym0 = __pop_Ntcomponent__declaration_2b(__symbols); let __start = __sym0.0.clone(); let __end = __sym0.2.clone(); - let __nt = super::__action45::<>(input, __sym0); + let __nt = super::__action41::<>(input, __sym0); let __states_len = __states.len(); __states.truncate(__states_len - 1); __symbols.push((__start, __Symbol::Ntcomponent__declaration_2a(__nt), __end)); 5 } - 14 => { - // component_declaration+ = component_declaration => ActionFn(46); + 11 => { + // component_declaration+ = component_declaration => ActionFn(42); let __sym0 = __pop_Ntcomponent__declaration(__symbols); let __start = __sym0.0.clone(); let __end = __sym0.2.clone(); - let __nt = super::__action46::<>(input, __sym0); + let __nt = super::__action42::<>(input, __sym0); let __states_len = __states.len(); __states.truncate(__states_len - 1); __symbols.push((__start, __Symbol::Ntcomponent__declaration_2b(__nt), __end)); 6 } - 15 => { - // component_declaration+ = component_declaration+, component_declaration => ActionFn(47); + 12 => { + // component_declaration+ = component_declaration+, component_declaration => ActionFn(43); 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::__action47::<>(input, __sym0, __sym1); + let __nt = super::__action43::<>(input, __sym0, __sym1); let __states_len = __states.len(); __states.truncate(__states_len - 2); __symbols.push((__start, __Symbol::Ntcomponent__declaration_2b(__nt), __end)); 6 } - 16 => { - // component_prefix = "flow" => ActionFn(11); + 13 => { + // component_prefix = "flow" => ActionFn(10); let __sym0 = __pop_Term_22flow_22(__symbols); let __start = __sym0.0.clone(); let __end = __sym0.2.clone(); - let __nt = super::__action11::<>(input, __sym0); + let __nt = super::__action10::<>(input, __sym0); let __states_len = __states.len(); __states.truncate(__states_len - 1); __symbols.push((__start, __Symbol::Ntcomponent__prefix(__nt), __end)); 7 } - 17 => { - // component_prefix = "stream" => ActionFn(12); + 14 => { + // component_prefix = "stream" => ActionFn(11); let __sym0 = __pop_Term_22stream_22(__symbols); let __start = __sym0.0.clone(); let __end = __sym0.2.clone(); - let __nt = super::__action12::<>(input, __sym0); + let __nt = super::__action11::<>(input, __sym0); let __states_len = __states.len(); __states.truncate(__states_len - 1); __symbols.push((__start, __Symbol::Ntcomponent__prefix(__nt), __end)); 7 } - 18 => { - // component_prefix = "input" => ActionFn(13); + 15 => { + // component_prefix = "input" => ActionFn(12); let __sym0 = __pop_Term_22input_22(__symbols); let __start = __sym0.0.clone(); let __end = __sym0.2.clone(); - let __nt = super::__action13::<>(input, __sym0); + 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 } - 19 => { - // component_prefix = "output" => ActionFn(14); + 16 => { + // component_prefix = "output" => ActionFn(13); let __sym0 = __pop_Term_22output_22(__symbols); let __start = __sym0.0.clone(); let __end = __sym0.2.clone(); - let __nt = super::__action14::<>(input, __sym0); + 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 } - 20 => { - // component_prefix = "discrete" => ActionFn(15); + 17 => { + // component_prefix = "discrete" => ActionFn(14); let __sym0 = __pop_Term_22discrete_22(__symbols); let __start = __sym0.0.clone(); let __end = __sym0.2.clone(); - let __nt = super::__action15::<>(input, __sym0); + 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 } - 21 => { - // component_prefix = "parameter" => ActionFn(16); + 18 => { + // component_prefix = "parameter" => ActionFn(15); let __sym0 = __pop_Term_22parameter_22(__symbols); let __start = __sym0.0.clone(); let __end = __sym0.2.clone(); - let __nt = super::__action16::<>(input, __sym0); + 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 } - 22 => { - // component_prefix = "constant" => ActionFn(17); + 19 => { + // component_prefix = "constant" => ActionFn(16); let __sym0 = __pop_Term_22constant_22(__symbols); let __start = __sym0.0.clone(); let __end = __sym0.2.clone(); - let __nt = super::__action17::<>(input, __sym0); + 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 } - 23 => { - // component_prefix? = component_prefix => ActionFn(40); + 20 => { + // component_prefix? = component_prefix => ActionFn(34); let __sym0 = __pop_Ntcomponent__prefix(__symbols); let __start = __sym0.0.clone(); let __end = __sym0.2.clone(); - let __nt = super::__action40::<>(input, __sym0); + let __nt = super::__action34::<>(input, __sym0); let __states_len = __states.len(); __states.truncate(__states_len - 1); __symbols.push((__start, __Symbol::Ntcomponent__prefix_3f(__nt), __end)); 8 } - 24 => { - // component_prefix? = => ActionFn(41); + 21 => { + // component_prefix? = => ActionFn(35); 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::__action41::<>(input, &__start, &__end); + let __nt = super::__action35::<>(input, &__start, &__end); let __states_len = __states.len(); __states.truncate(__states_len - 0); __symbols.push((__start, __Symbol::Ntcomponent__prefix_3f(__nt), __end)); 8 } - 25 => { - // connect_clause = "connect", "(", identifier, ",", identifier, ")", ";" => ActionFn(19); + 22 => { + // connect_clause = "connect", "(", identifier, ",", identifier, ")", ";" => ActionFn(18); let __sym6 = __pop_Term_22_3b_22(__symbols); let __sym5 = __pop_Term_22_29_22(__symbols); let __sym4 = __pop_Ntidentifier(__symbols); @@ -10158,210 +3996,177 @@ mod __parse__integer { let __sym0 = __pop_Term_22connect_22(__symbols); let __start = __sym0.0.clone(); let __end = __sym6.2.clone(); - let __nt = super::__action19::<>(input, __sym0, __sym1, __sym2, __sym3, __sym4, __sym5, __sym6); + let __nt = super::__action18::<>(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 } - 26 => { - // equation_entry = simple_equation => ActionFn(8); - let __sym0 = __pop_Ntsimple__equation(__symbols); - let __start = __sym0.0.clone(); - let __end = __sym0.2.clone(); - let __nt = super::__action8::<>(input, __sym0); - let __states_len = __states.len(); - __states.truncate(__states_len - 1); - __symbols.push((__start, __Symbol::Ntequation__entry(__nt), __end)); - 10 - } - 27 => { - // equation_entry = connect_clause => ActionFn(9); - let __sym0 = __pop_Ntconnect__clause(__symbols); - let __start = __sym0.0.clone(); - let __end = __sym0.2.clone(); - let __nt = super::__action9::<>(input, __sym0); - let __states_len = __states.len(); - __states.truncate(__states_len - 1); - __symbols.push((__start, __Symbol::Ntequation__entry(__nt), __end)); - 10 - } - 28 => { - // equation_entry* = => ActionFn(42); + 23 => { + // connect_clause* = => 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::__action42::<>(input, &__start, &__end); + let __nt = super::__action38::<>(input, &__start, &__end); let __states_len = __states.len(); __states.truncate(__states_len - 0); - __symbols.push((__start, __Symbol::Ntequation__entry_2a(__nt), __end)); - 11 + __symbols.push((__start, __Symbol::Ntconnect__clause_2a(__nt), __end)); + 10 } - 29 => { - // equation_entry* = equation_entry+ => ActionFn(43); - let __sym0 = __pop_Ntequation__entry_2b(__symbols); + 24 => { + // connect_clause* = connect_clause+ => ActionFn(39); + let __sym0 = __pop_Ntconnect__clause_2b(__symbols); let __start = __sym0.0.clone(); let __end = __sym0.2.clone(); - let __nt = super::__action43::<>(input, __sym0); + let __nt = super::__action39::<>(input, __sym0); let __states_len = __states.len(); __states.truncate(__states_len - 1); - __symbols.push((__start, __Symbol::Ntequation__entry_2a(__nt), __end)); - 11 + __symbols.push((__start, __Symbol::Ntconnect__clause_2a(__nt), __end)); + 10 } - 30 => { - // equation_entry+ = equation_entry => ActionFn(48); - let __sym0 = __pop_Ntequation__entry(__symbols); + 25 => { + // connect_clause+ = connect_clause => ActionFn(44); + let __sym0 = __pop_Ntconnect__clause(__symbols); let __start = __sym0.0.clone(); let __end = __sym0.2.clone(); - let __nt = super::__action48::<>(input, __sym0); + let __nt = super::__action44::<>(input, __sym0); let __states_len = __states.len(); __states.truncate(__states_len - 1); - __symbols.push((__start, __Symbol::Ntequation__entry_2b(__nt), __end)); - 12 + __symbols.push((__start, __Symbol::Ntconnect__clause_2b(__nt), __end)); + 11 } - 31 => { - // equation_entry+ = equation_entry+, equation_entry => ActionFn(49); - let __sym1 = __pop_Ntequation__entry(__symbols); - let __sym0 = __pop_Ntequation__entry_2b(__symbols); + 26 => { + // connect_clause+ = connect_clause+, connect_clause => ActionFn(45); + 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::__action49::<>(input, __sym0, __sym1); + let __nt = super::__action45::<>(input, __sym0, __sym1); let __states_len = __states.len(); __states.truncate(__states_len - 2); - __symbols.push((__start, __Symbol::Ntequation__entry_2b(__nt), __end)); - 12 + __symbols.push((__start, __Symbol::Ntconnect__clause_2b(__nt), __end)); + 11 } - 32 => { - // expr = expr, "+", factor => ActionFn(20); + 27 => { + // expr = expr, "+", factor => ActionFn(19); 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::__action20::<>(input, __sym0, __sym1, __sym2); + let __nt = super::__action19::<>(input, __sym0, __sym1, __sym2); let __states_len = __states.len(); __states.truncate(__states_len - 3); __symbols.push((__start, __Symbol::Ntexpr(__nt), __end)); - 13 + 12 } - 33 => { - // expr = expr, "-", factor => ActionFn(21); + 28 => { + // expr = expr, "-", factor => ActionFn(20); 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::__action21::<>(input, __sym0, __sym1, __sym2); + let __nt = super::__action20::<>(input, __sym0, __sym1, __sym2); let __states_len = __states.len(); __states.truncate(__states_len - 3); __symbols.push((__start, __Symbol::Ntexpr(__nt), __end)); - 13 + 12 } - 34 => { - // expr = factor => ActionFn(22); + 29 => { + // expr = factor => ActionFn(21); let __sym0 = __pop_Ntfactor(__symbols); let __start = __sym0.0.clone(); let __end = __sym0.2.clone(); - let __nt = super::__action22::<>(input, __sym0); + let __nt = super::__action21::<>(input, __sym0); let __states_len = __states.len(); __states.truncate(__states_len - 1); __symbols.push((__start, __Symbol::Ntexpr(__nt), __end)); - 13 + 12 } - 35 => { - // factor = factor, "*", term => ActionFn(23); + 30 => { + // factor = factor, "*", term => ActionFn(22); 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::__action23::<>(input, __sym0, __sym1, __sym2); + let __nt = super::__action22::<>(input, __sym0, __sym1, __sym2); let __states_len = __states.len(); __states.truncate(__states_len - 3); __symbols.push((__start, __Symbol::Ntfactor(__nt), __end)); - 14 + 13 } - 36 => { - // factor = factor, "/", term => ActionFn(24); + 31 => { + // factor = factor, "/", term => ActionFn(23); 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::__action24::<>(input, __sym0, __sym1, __sym2); + let __nt = super::__action23::<>(input, __sym0, __sym1, __sym2); let __states_len = __states.len(); __states.truncate(__states_len - 3); __symbols.push((__start, __Symbol::Ntfactor(__nt), __end)); - 14 + 13 } - 37 => { - // factor = "-", term => ActionFn(25); + 32 => { + // factor = "-", term => ActionFn(24); 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::__action25::<>(input, __sym0, __sym1); + let __nt = super::__action24::<>(input, __sym0, __sym1); let __states_len = __states.len(); __states.truncate(__states_len - 2); __symbols.push((__start, __Symbol::Ntfactor(__nt), __end)); - 14 + 13 } - 38 => { - // factor = term => ActionFn(26); + 33 => { + // factor = term => ActionFn(25); let __sym0 = __pop_Ntterm(__symbols); let __start = __sym0.0.clone(); let __end = __sym0.2.clone(); - let __nt = super::__action26::<>(input, __sym0); + let __nt = super::__action25::<>(input, __sym0); let __states_len = __states.len(); __states.truncate(__states_len - 1); __symbols.push((__start, __Symbol::Ntfactor(__nt), __end)); - 14 - } - 39 => { - // file = model => ActionFn(37); - let __sym0 = __pop_Ntmodel(__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::Ntfile(__nt), __end)); - 15 + 13 } - 40 => { - // float = r#"[+-]?\\d+\\.\\d*([eE][-+]?\\d+)?"# => ActionFn(6); + 34 => { + // 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::__action6::<>(input, __sym0); + let __nt = super::__action7::<>(input, __sym0); let __states_len = __states.len(); __states.truncate(__states_len - 1); __symbols.push((__start, __Symbol::Ntfloat(__nt), __end)); - 16 + 14 } - 41 => { - // identifier = r#"[a-zA-Z_][a-zA-Z_0-9]*"# => ActionFn(3); + 35 => { + // 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::__action3::<>(input, __sym0); + let __nt = super::__action4::<>(input, __sym0); let __states_len = __states.len(); __states.truncate(__states_len - 1); __symbols.push((__start, __Symbol::Ntidentifier(__nt), __end)); - 17 + 15 } - 42 => { - // integer = r#"[+-]?\\d+"# => ActionFn(5); + 36 => { + // 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::__action5::<>(input, __sym0); + let __nt = super::__action6::<>(input, __sym0); let __states_len = __states.len(); __states.truncate(__states_len - 1); __symbols.push((__start, __Symbol::Ntinteger(__nt), __end)); - 18 + 16 } - 43 => { - // model = "model", identifier, "equation", "end", identifier, ";" => ActionFn(54); + 37 => { + // model = "model", identifier, "equation", "end", identifier, ";" => ActionFn(56); let __sym5 = __pop_Term_22_3b_22(__symbols); let __sym4 = __pop_Ntidentifier(__symbols); let __sym3 = __pop_Term_22end_22(__symbols); @@ -10370,31 +4175,66 @@ mod __parse__integer { let __sym0 = __pop_Term_22model_22(__symbols); let __start = __sym0.0.clone(); let __end = __sym5.2.clone(); - let __nt = super::__action54::<>(input, __sym0, __sym1, __sym2, __sym3, __sym4, __sym5); + let __nt = super::__action56::<>(input, __sym0, __sym1, __sym2, __sym3, __sym4, __sym5); let __states_len = __states.len(); __states.truncate(__states_len - 6); __symbols.push((__start, __Symbol::Ntmodel(__nt), __end)); - 19 + 17 } - 44 => { - // model = "model", identifier, "equation", equation_entry+, "end", identifier, ";" => ActionFn(55); + 38 => { + // model = "model", identifier, "equation", simple_equation+, "end", identifier, ";" => ActionFn(57); let __sym6 = __pop_Term_22_3b_22(__symbols); let __sym5 = __pop_Ntidentifier(__symbols); let __sym4 = __pop_Term_22end_22(__symbols); - let __sym3 = __pop_Ntequation__entry_2b(__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::__action55::<>(input, __sym0, __sym1, __sym2, __sym3, __sym4, __sym5, __sym6); + let __nt = super::__action57::<>(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)); - 19 + 17 } - 45 => { - // model = "model", identifier, component_declaration+, "equation", "end", identifier, ";" => ActionFn(56); + 39 => { + // model = "model", identifier, "equation", connect_clause+, "end", identifier, ";" => ActionFn(58); + 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::__action58::<>(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 + } + 40 => { + // model = "model", identifier, "equation", connect_clause+, simple_equation+, "end", identifier, ";" => ActionFn(59); + 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::__action59::<>(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 + } + 41 => { + // model = "model", identifier, component_declaration+, "equation", "end", identifier, ";" => ActionFn(60); let __sym6 = __pop_Term_22_3b_22(__symbols); let __sym5 = __pop_Ntidentifier(__symbols); let __sym4 = __pop_Term_22end_22(__symbols); @@ -10404,145 +4244,226 @@ mod __parse__integer { let __sym0 = __pop_Term_22model_22(__symbols); let __start = __sym0.0.clone(); let __end = __sym6.2.clone(); - let __nt = super::__action56::<>(input, __sym0, __sym1, __sym2, __sym3, __sym4, __sym5, __sym6); + let __nt = super::__action60::<>(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)); - 19 + 17 } - 46 => { - // model = "model", identifier, component_declaration+, "equation", equation_entry+, "end", identifier, ";" => ActionFn(57); + 42 => { + // model = "model", identifier, component_declaration+, "equation", simple_equation+, "end", identifier, ";" => ActionFn(61); let __sym7 = __pop_Term_22_3b_22(__symbols); let __sym6 = __pop_Ntidentifier(__symbols); let __sym5 = __pop_Term_22end_22(__symbols); - let __sym4 = __pop_Ntequation__entry_2b(__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::__action57::<>(input, __sym0, __sym1, __sym2, __sym3, __sym4, __sym5, __sym6, __sym7); + let __nt = super::__action61::<>(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)); - 19 + 17 } - 47 => { - // simple_equation = expr, "=", expr, ";" => ActionFn(18); + 43 => { + // model = "model", identifier, component_declaration+, "equation", connect_clause+, "end", identifier, ";" => ActionFn(62); + 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::__action62::<>(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 + } + 44 => { + // model = "model", identifier, component_declaration+, "equation", connect_clause+, simple_equation+, "end", identifier, ";" => ActionFn(63); + 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::__action63::<>(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 + } + 45 => { + // simple_equation = expr, "=", expr, ";" => ActionFn(17); 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::__action18::<>(input, __sym0, __sym1, __sym2, __sym3); + let __nt = super::__action17::<>(input, __sym0, __sym1, __sym2, __sym3); let __states_len = __states.len(); __states.truncate(__states_len - 4); __symbols.push((__start, __Symbol::Ntsimple__equation(__nt), __end)); - 20 + 18 + } + 46 => { + // simple_equation* = => 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::Ntsimple__equation_2a(__nt), __end)); + 19 + } + 47 => { + // simple_equation* = simple_equation+ => ActionFn(37); + let __sym0 = __pop_Ntsimple__equation_2b(__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::Ntsimple__equation_2a(__nt), __end)); + 19 } 48 => { - // string_literal = r#"\"[^\"\\\\]*\""# => ActionFn(4); + // simple_equation+ = simple_equation => ActionFn(46); + let __sym0 = __pop_Ntsimple__equation(__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::Ntsimple__equation_2b(__nt), __end)); + 20 + } + 49 => { + // simple_equation+ = simple_equation+, simple_equation => ActionFn(47); + 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::__action47::<>(input, __sym0, __sym1); + let __states_len = __states.len(); + __states.truncate(__states_len - 2); + __symbols.push((__start, __Symbol::Ntsimple__equation_2b(__nt), __end)); + 20 + } + 50 => { + // 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::__action4::<>(input, __sym0); + 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 } - 49 => { - // string_literal? = string_literal => ActionFn(38); + 51 => { + // string_literal? = string_literal => ActionFn(32); let __sym0 = __pop_Ntstring__literal(__symbols); let __start = __sym0.0.clone(); let __end = __sym0.2.clone(); - let __nt = super::__action38::<>(input, __sym0); + let __nt = super::__action32::<>(input, __sym0); let __states_len = __states.len(); __states.truncate(__states_len - 1); __symbols.push((__start, __Symbol::Ntstring__literal_3f(__nt), __end)); 22 } - 50 => { - // string_literal? = => ActionFn(39); + 52 => { + // string_literal? = => ActionFn(33); 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::__action39::<>(input, &__start, &__end); + let __nt = super::__action33::<>(input, &__start, &__end); let __states_len = __states.len(); __states.truncate(__states_len - 0); __symbols.push((__start, __Symbol::Ntstring__literal_3f(__nt), __end)); 22 } - 51 => { - // term = integer => ActionFn(27); + 53 => { + // term = integer => ActionFn(26); let __sym0 = __pop_Ntinteger(__symbols); let __start = __sym0.0.clone(); let __end = __sym0.2.clone(); - let __nt = super::__action27::<>(input, __sym0); + let __nt = super::__action26::<>(input, __sym0); let __states_len = __states.len(); __states.truncate(__states_len - 1); __symbols.push((__start, __Symbol::Ntterm(__nt), __end)); 23 } - 52 => { - // term = float => ActionFn(28); + 54 => { + // term = float => ActionFn(27); let __sym0 = __pop_Ntfloat(__symbols); let __start = __sym0.0.clone(); let __end = __sym0.2.clone(); - let __nt = super::__action28::<>(input, __sym0); + let __nt = super::__action27::<>(input, __sym0); let __states_len = __states.len(); __states.truncate(__states_len - 1); __symbols.push((__start, __Symbol::Ntterm(__nt), __end)); 23 } - 53 => { - // term = identifier => ActionFn(29); + 55 => { + // term = identifier => ActionFn(28); let __sym0 = __pop_Ntidentifier(__symbols); let __start = __sym0.0.clone(); let __end = __sym0.2.clone(); - let __nt = super::__action29::<>(input, __sym0); + let __nt = super::__action28::<>(input, __sym0); let __states_len = __states.len(); __states.truncate(__states_len - 1); __symbols.push((__start, __Symbol::Ntterm(__nt), __end)); 23 } - 54 => { - // term = "der", "(", expr, ")" => ActionFn(30); + 56 => { + // term = "der", "(", expr, ")" => ActionFn(29); 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::__action30::<>(input, __sym0, __sym1, __sym2, __sym3); + let __nt = super::__action29::<>(input, __sym0, __sym1, __sym2, __sym3); let __states_len = __states.len(); __states.truncate(__states_len - 4); __symbols.push((__start, __Symbol::Ntterm(__nt), __end)); 23 } - 55 => { - // term = "abs", "(", expr, ")" => ActionFn(31); + 57 => { + // term = "abs", "(", expr, ")" => ActionFn(30); 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::__action31::<>(input, __sym0, __sym1, __sym2, __sym3); + let __nt = super::__action30::<>(input, __sym0, __sym1, __sym2, __sym3); let __states_len = __states.len(); __states.truncate(__states_len - 4); __symbols.push((__start, __Symbol::Ntterm(__nt), __end)); 23 } - 56 => { - // term = "(", expr, ")" => ActionFn(32); + 58 => { + // term = "(", expr, ")" => ActionFn(31); 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::__action32::<>(input, __sym0, __sym1, __sym2); + let __nt = super::__action31::<>(input, __sym0, __sym1, __sym2); let __states_len = __states.len(); __states.truncate(__states_len - 3); __symbols.push((__start, __Symbol::Ntterm(__nt), __end)); @@ -10815,43 +4736,43 @@ mod __parse__integer { _ => panic!("symbol type mismatch") } } - fn __pop_Nt____file< + fn __pop_Nt____float< 'input, >( __symbols: &mut ::std::vec::Vec<(usize,__Symbol<'input>,usize)> - ) -> (usize, (), usize) { + ) -> (usize, f64, usize) { match __symbols.pop().unwrap() { - (__l, __Symbol::Nt____file(__v), __r) => (__l, __v, __r), + (__l, __Symbol::Nt____float(__v), __r) => (__l, __v, __r), _ => panic!("symbol type mismatch") } } - fn __pop_Nt____integer< + fn __pop_Nt____identifier< 'input, >( __symbols: &mut ::std::vec::Vec<(usize,__Symbol<'input>,usize)> - ) -> (usize, (), usize) { + ) -> (usize, String, usize) { match __symbols.pop().unwrap() { - (__l, __Symbol::Nt____integer(__v), __r) => (__l, __v, __r), + (__l, __Symbol::Nt____identifier(__v), __r) => (__l, __v, __r), _ => panic!("symbol type mismatch") } } - fn __pop_Nt____model< + fn __pop_Nt____integer< 'input, >( __symbols: &mut ::std::vec::Vec<(usize,__Symbol<'input>,usize)> - ) -> (usize, (), usize) { + ) -> (usize, i64, usize) { match __symbols.pop().unwrap() { - (__l, __Symbol::Nt____model(__v), __r) => (__l, __v, __r), + (__l, __Symbol::Nt____integer(__v), __r) => (__l, __v, __r), _ => panic!("symbol type mismatch") } } - fn __pop_Ntbinary__op< + fn __pop_Nt____model< 'input, >( __symbols: &mut ::std::vec::Vec<(usize,__Symbol<'input>,usize)> - ) -> (usize, (), usize) { + ) -> (usize, Model, usize) { match __symbols.pop().unwrap() { - (__l, __Symbol::Ntbinary__op(__v), __r) => (__l, __v, __r), + (__l, __Symbol::Nt____model(__v), __r) => (__l, __v, __r), _ => panic!("symbol type mismatch") } } @@ -10859,7 +4780,7 @@ mod __parse__integer { 'input, >( __symbols: &mut ::std::vec::Vec<(usize,__Symbol<'input>,usize)> - ) -> (usize, (), usize) { + ) -> (usize, Component, usize) { match __symbols.pop().unwrap() { (__l, __Symbol::Ntcomponent__declaration(__v), __r) => (__l, __v, __r), _ => panic!("symbol type mismatch") @@ -10869,7 +4790,7 @@ mod __parse__integer { 'input, >( __symbols: &mut ::std::vec::Vec<(usize,__Symbol<'input>,usize)> - ) -> (usize, ::std::vec::Vec<()>, 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") @@ -10879,7 +4800,7 @@ mod __parse__integer { 'input, >( __symbols: &mut ::std::vec::Vec<(usize,__Symbol<'input>,usize)> - ) -> (usize, ::std::vec::Vec<()>, 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") @@ -10889,7 +4810,7 @@ mod __parse__integer { 'input, >( __symbols: &mut ::std::vec::Vec<(usize,__Symbol<'input>,usize)> - ) -> (usize, (), usize) { + ) -> (usize, ComponentPrefix, usize) { match __symbols.pop().unwrap() { (__l, __Symbol::Ntcomponent__prefix(__v), __r) => (__l, __v, __r), _ => panic!("symbol type mismatch") @@ -10899,7 +4820,7 @@ mod __parse__integer { 'input, >( __symbols: &mut ::std::vec::Vec<(usize,__Symbol<'input>,usize)> - ) -> (usize, ::std::option::Option<()>, 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") @@ -10909,39 +4830,29 @@ mod __parse__integer { 'input, >( __symbols: &mut ::std::vec::Vec<(usize,__Symbol<'input>,usize)> - ) -> (usize, (), usize) { + ) -> (usize, Connection, usize) { match __symbols.pop().unwrap() { (__l, __Symbol::Ntconnect__clause(__v), __r) => (__l, __v, __r), _ => panic!("symbol type mismatch") } } - fn __pop_Ntequation__entry< - 'input, - >( - __symbols: &mut ::std::vec::Vec<(usize,__Symbol<'input>,usize)> - ) -> (usize, (), usize) { - match __symbols.pop().unwrap() { - (__l, __Symbol::Ntequation__entry(__v), __r) => (__l, __v, __r), - _ => panic!("symbol type mismatch") - } - } - fn __pop_Ntequation__entry_2a< + fn __pop_Ntconnect__clause_2a< 'input, >( __symbols: &mut ::std::vec::Vec<(usize,__Symbol<'input>,usize)> - ) -> (usize, ::std::vec::Vec<()>, usize) { + ) -> (usize, ::std::vec::Vec<Connection>, usize) { match __symbols.pop().unwrap() { - (__l, __Symbol::Ntequation__entry_2a(__v), __r) => (__l, __v, __r), + (__l, __Symbol::Ntconnect__clause_2a(__v), __r) => (__l, __v, __r), _ => panic!("symbol type mismatch") } } - fn __pop_Ntequation__entry_2b< + fn __pop_Ntconnect__clause_2b< 'input, >( __symbols: &mut ::std::vec::Vec<(usize,__Symbol<'input>,usize)> - ) -> (usize, ::std::vec::Vec<()>, usize) { + ) -> (usize, ::std::vec::Vec<Connection>, usize) { match __symbols.pop().unwrap() { - (__l, __Symbol::Ntequation__entry_2b(__v), __r) => (__l, __v, __r), + (__l, __Symbol::Ntconnect__clause_2b(__v), __r) => (__l, __v, __r), _ => panic!("symbol type mismatch") } } @@ -10949,7 +4860,7 @@ mod __parse__integer { 'input, >( __symbols: &mut ::std::vec::Vec<(usize,__Symbol<'input>,usize)> - ) -> (usize, (), usize) { + ) -> (usize, Expr, usize) { match __symbols.pop().unwrap() { (__l, __Symbol::Ntexpr(__v), __r) => (__l, __v, __r), _ => panic!("symbol type mismatch") @@ -10959,27 +4870,17 @@ mod __parse__integer { 'input, >( __symbols: &mut ::std::vec::Vec<(usize,__Symbol<'input>,usize)> - ) -> (usize, (), usize) { + ) -> (usize, Expr, usize) { match __symbols.pop().unwrap() { (__l, __Symbol::Ntfactor(__v), __r) => (__l, __v, __r), _ => panic!("symbol type mismatch") } } - fn __pop_Ntfile< - 'input, - >( - __symbols: &mut ::std::vec::Vec<(usize,__Symbol<'input>,usize)> - ) -> (usize, (), usize) { - match __symbols.pop().unwrap() { - (__l, __Symbol::Ntfile(__v), __r) => (__l, __v, __r), - _ => panic!("symbol type mismatch") - } - } fn __pop_Ntfloat< 'input, >( __symbols: &mut ::std::vec::Vec<(usize,__Symbol<'input>,usize)> - ) -> (usize, (), usize) { + ) -> (usize, f64, usize) { match __symbols.pop().unwrap() { (__l, __Symbol::Ntfloat(__v), __r) => (__l, __v, __r), _ => panic!("symbol type mismatch") @@ -10989,7 +4890,7 @@ mod __parse__integer { 'input, >( __symbols: &mut ::std::vec::Vec<(usize,__Symbol<'input>,usize)> - ) -> (usize, (), usize) { + ) -> (usize, String, usize) { match __symbols.pop().unwrap() { (__l, __Symbol::Ntidentifier(__v), __r) => (__l, __v, __r), _ => panic!("symbol type mismatch") @@ -10999,7 +4900,7 @@ mod __parse__integer { 'input, >( __symbols: &mut ::std::vec::Vec<(usize,__Symbol<'input>,usize)> - ) -> (usize, (), usize) { + ) -> (usize, i64, usize) { match __symbols.pop().unwrap() { (__l, __Symbol::Ntinteger(__v), __r) => (__l, __v, __r), _ => panic!("symbol type mismatch") @@ -11009,7 +4910,7 @@ mod __parse__integer { 'input, >( __symbols: &mut ::std::vec::Vec<(usize,__Symbol<'input>,usize)> - ) -> (usize, (), usize) { + ) -> (usize, Model, usize) { match __symbols.pop().unwrap() { (__l, __Symbol::Ntmodel(__v), __r) => (__l, __v, __r), _ => panic!("symbol type mismatch") @@ -11019,17 +4920,37 @@ mod __parse__integer { 'input, >( __symbols: &mut ::std::vec::Vec<(usize,__Symbol<'input>,usize)> - ) -> (usize, (), 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, (), usize) { + ) -> (usize, String, usize) { match __symbols.pop().unwrap() { (__l, __Symbol::Ntstring__literal(__v), __r) => (__l, __v, __r), _ => panic!("symbol type mismatch") @@ -11039,7 +4960,7 @@ mod __parse__integer { 'input, >( __symbols: &mut ::std::vec::Vec<(usize,__Symbol<'input>,usize)> - ) -> (usize, ::std::option::Option<()>, 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") @@ -11049,7 +4970,7 @@ mod __parse__integer { 'input, >( __symbols: &mut ::std::vec::Vec<(usize,__Symbol<'input>,usize)> - ) -> (usize, (), usize) { + ) -> (usize, Expr, usize) { match __symbols.pop().unwrap() { (__l, __Symbol::Ntterm(__v), __r) => (__l, __v, __r), _ => panic!("symbol type mismatch") @@ -11061,6 +4982,8 @@ 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::*; extern crate lalrpop_util as __lalrpop_util; #[allow(dead_code)] pub enum __Symbol<'input> { @@ -11090,30 +5013,30 @@ mod __parse__model { 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), - Nt____file(()), - Nt____integer(()), - Nt____model(()), - Ntbinary__op(()), - Ntcomponent__declaration(()), - Ntcomponent__declaration_2a(::std::vec::Vec<()>), - Ntcomponent__declaration_2b(::std::vec::Vec<()>), - Ntcomponent__prefix(()), - Ntcomponent__prefix_3f(::std::option::Option<()>), - Ntconnect__clause(()), - Ntequation__entry(()), - Ntequation__entry_2a(::std::vec::Vec<()>), - Ntequation__entry_2b(::std::vec::Vec<()>), - Ntexpr(()), - Ntfactor(()), - Ntfile(()), - Ntfloat(()), - Ntidentifier(()), - Ntinteger(()), - Ntmodel(()), - Ntsimple__equation(()), - Ntstring__literal(()), - Ntstring__literal_3f(::std::option::Option<()>), - Ntterm(()), + Nt____float(f64), + Nt____identifier(String), + Nt____integer(i64), + Nt____model(Model), + 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(Model), + 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), } const __ACTION: &'static [i32] = &[ // State 0 @@ -11236,21 +5159,21 @@ mod __parse__model { 0, // on "=", error 0, // on "abs", error 0, // on "connect", error - -41, // on "constant", reduce `identifier = r#"[a-zA-Z_][a-zA-Z_0-9]*"# => ActionFn(3);` + -35, // on "constant", reduce `identifier = r#"[a-zA-Z_][a-zA-Z_0-9]*"# => ActionFn(4);` 0, // on "der", error - -41, // on "discrete", reduce `identifier = r#"[a-zA-Z_][a-zA-Z_0-9]*"# => ActionFn(3);` + -35, // on "discrete", reduce `identifier = r#"[a-zA-Z_][a-zA-Z_0-9]*"# => ActionFn(4);` 0, // on "end", error - -41, // on "equation", reduce `identifier = r#"[a-zA-Z_][a-zA-Z_0-9]*"# => ActionFn(3);` - -41, // on "flow", reduce `identifier = r#"[a-zA-Z_][a-zA-Z_0-9]*"# => ActionFn(3);` - -41, // on "input", reduce `identifier = r#"[a-zA-Z_][a-zA-Z_0-9]*"# => ActionFn(3);` + -35, // on "equation", reduce `identifier = r#"[a-zA-Z_][a-zA-Z_0-9]*"# => ActionFn(4);` + -35, // on "flow", reduce `identifier = r#"[a-zA-Z_][a-zA-Z_0-9]*"# => ActionFn(4);` + -35, // on "input", reduce `identifier = r#"[a-zA-Z_][a-zA-Z_0-9]*"# => ActionFn(4);` 0, // on "model", error - -41, // on "output", reduce `identifier = r#"[a-zA-Z_][a-zA-Z_0-9]*"# => ActionFn(3);` - -41, // on "parameter", reduce `identifier = r#"[a-zA-Z_][a-zA-Z_0-9]*"# => ActionFn(3);` - -41, // on "stream", reduce `identifier = r#"[a-zA-Z_][a-zA-Z_0-9]*"# => ActionFn(3);` + -35, // on "output", reduce `identifier = r#"[a-zA-Z_][a-zA-Z_0-9]*"# => ActionFn(4);` + -35, // on "parameter", reduce `identifier = r#"[a-zA-Z_][a-zA-Z_0-9]*"# => ActionFn(4);` + -35, // on "stream", reduce `identifier = r#"[a-zA-Z_][a-zA-Z_0-9]*"# => ActionFn(4);` 0, // on r#"\"[^\"\\\\]*\""#, error 0, // on r#"[+-]?\\d+"#, error 0, // on r#"[+-]?\\d+\\.\\d*([eE][-+]?\\d+)?"#, error - -41, // on r#"[a-zA-Z_][a-zA-Z_0-9]*"#, reduce `identifier = r#"[a-zA-Z_][a-zA-Z_0-9]*"# => ActionFn(3);` + -35, // on r#"[a-zA-Z_][a-zA-Z_0-9]*"#, reduce `identifier = r#"[a-zA-Z_][a-zA-Z_0-9]*"# => ActionFn(4);` // State 5 0, // on "(", error 0, // on ")", error @@ -11263,21 +5186,21 @@ mod __parse__model { 0, // on "=", error 0, // on "abs", error 0, // on "connect", error - -14, // on "constant", reduce `component_declaration+ = component_declaration => ActionFn(46);` + -11, // on "constant", reduce `component_declaration+ = component_declaration => ActionFn(42);` 0, // on "der", error - -14, // on "discrete", reduce `component_declaration+ = component_declaration => ActionFn(46);` + -11, // on "discrete", reduce `component_declaration+ = component_declaration => ActionFn(42);` 0, // on "end", error - -14, // on "equation", reduce `component_declaration+ = component_declaration => ActionFn(46);` - -14, // on "flow", reduce `component_declaration+ = component_declaration => ActionFn(46);` - -14, // on "input", reduce `component_declaration+ = component_declaration => ActionFn(46);` + -11, // on "equation", reduce `component_declaration+ = component_declaration => ActionFn(42);` + -11, // on "flow", reduce `component_declaration+ = component_declaration => ActionFn(42);` + -11, // on "input", reduce `component_declaration+ = component_declaration => ActionFn(42);` 0, // on "model", error - -14, // on "output", reduce `component_declaration+ = component_declaration => ActionFn(46);` - -14, // on "parameter", reduce `component_declaration+ = component_declaration => ActionFn(46);` - -14, // on "stream", reduce `component_declaration+ = component_declaration => ActionFn(46);` + -11, // on "output", reduce `component_declaration+ = component_declaration => ActionFn(42);` + -11, // on "parameter", reduce `component_declaration+ = component_declaration => ActionFn(42);` + -11, // on "stream", reduce `component_declaration+ = component_declaration => ActionFn(42);` 0, // on r#"\"[^\"\\\\]*\""#, error 0, // on r#"[+-]?\\d+"#, error 0, // on r#"[+-]?\\d+\\.\\d*([eE][-+]?\\d+)?"#, error - -14, // on r#"[a-zA-Z_][a-zA-Z_0-9]*"#, reduce `component_declaration+ = component_declaration => ActionFn(46);` + -11, // on r#"[a-zA-Z_][a-zA-Z_0-9]*"#, reduce `component_declaration+ = component_declaration => ActionFn(42);` // State 6 0, // on "(", error 0, // on ")", error @@ -11385,7 +5308,7 @@ mod __parse__model { 0, // on r#"\"[^\"\\\\]*\""#, error 0, // on r#"[+-]?\\d+"#, error 0, // on r#"[+-]?\\d+\\.\\d*([eE][-+]?\\d+)?"#, error - -22, // on r#"[a-zA-Z_][a-zA-Z_0-9]*"#, reduce `component_prefix = "constant" => ActionFn(17);` + -19, // on r#"[a-zA-Z_][a-zA-Z_0-9]*"#, reduce `component_prefix = "constant" => ActionFn(16);` // State 10 0, // on "(", error 0, // on ")", error @@ -11412,7 +5335,7 @@ mod __parse__model { 0, // on r#"\"[^\"\\\\]*\""#, error 0, // on r#"[+-]?\\d+"#, error 0, // on r#"[+-]?\\d+\\.\\d*([eE][-+]?\\d+)?"#, error - -20, // on r#"[a-zA-Z_][a-zA-Z_0-9]*"#, reduce `component_prefix = "discrete" => ActionFn(15);` + -17, // on r#"[a-zA-Z_][a-zA-Z_0-9]*"#, reduce `component_prefix = "discrete" => ActionFn(14);` // State 11 34, // on "(", goto 33 0, // on ")", error @@ -11466,7 +5389,7 @@ mod __parse__model { 0, // on r#"\"[^\"\\\\]*\""#, error 0, // on r#"[+-]?\\d+"#, error 0, // on r#"[+-]?\\d+\\.\\d*([eE][-+]?\\d+)?"#, error - -16, // on r#"[a-zA-Z_][a-zA-Z_0-9]*"#, reduce `component_prefix = "flow" => ActionFn(11);` + -13, // on r#"[a-zA-Z_][a-zA-Z_0-9]*"#, reduce `component_prefix = "flow" => ActionFn(10);` // State 13 0, // on "(", error 0, // on ")", error @@ -11493,7 +5416,7 @@ mod __parse__model { 0, // on r#"\"[^\"\\\\]*\""#, error 0, // on r#"[+-]?\\d+"#, error 0, // on r#"[+-]?\\d+\\.\\d*([eE][-+]?\\d+)?"#, error - -18, // on r#"[a-zA-Z_][a-zA-Z_0-9]*"#, reduce `component_prefix = "input" => ActionFn(13);` + -15, // on r#"[a-zA-Z_][a-zA-Z_0-9]*"#, reduce `component_prefix = "input" => ActionFn(12);` // State 14 0, // on "(", error 0, // on ")", error @@ -11520,7 +5443,7 @@ mod __parse__model { 0, // on r#"\"[^\"\\\\]*\""#, error 0, // on r#"[+-]?\\d+"#, error 0, // on r#"[+-]?\\d+\\.\\d*([eE][-+]?\\d+)?"#, error - -19, // on r#"[a-zA-Z_][a-zA-Z_0-9]*"#, reduce `component_prefix = "output" => ActionFn(14);` + -16, // on r#"[a-zA-Z_][a-zA-Z_0-9]*"#, reduce `component_prefix = "output" => ActionFn(13);` // State 15 0, // on "(", error 0, // on ")", error @@ -11547,7 +5470,7 @@ mod __parse__model { 0, // on r#"\"[^\"\\\\]*\""#, error 0, // on r#"[+-]?\\d+"#, error 0, // on r#"[+-]?\\d+\\.\\d*([eE][-+]?\\d+)?"#, error - -21, // on r#"[a-zA-Z_][a-zA-Z_0-9]*"#, reduce `component_prefix = "parameter" => ActionFn(16);` + -18, // on r#"[a-zA-Z_][a-zA-Z_0-9]*"#, reduce `component_prefix = "parameter" => ActionFn(15);` // State 16 0, // on "(", error 0, // on ")", error @@ -11574,7 +5497,7 @@ mod __parse__model { 0, // on r#"\"[^\"\\\\]*\""#, error 0, // on r#"[+-]?\\d+"#, error 0, // on r#"[+-]?\\d+\\.\\d*([eE][-+]?\\d+)?"#, error - -17, // on r#"[a-zA-Z_][a-zA-Z_0-9]*"#, reduce `component_prefix = "stream" => ActionFn(12);` + -14, // on r#"[a-zA-Z_][a-zA-Z_0-9]*"#, reduce `component_prefix = "stream" => ActionFn(11);` // State 17 0, // on "(", error 0, // on ")", error @@ -11601,7 +5524,7 @@ mod __parse__model { 0, // on r#"\"[^\"\\\\]*\""#, error 0, // on r#"[+-]?\\d+"#, error 0, // on r#"[+-]?\\d+\\.\\d*([eE][-+]?\\d+)?"#, error - -41, // on r#"[a-zA-Z_][a-zA-Z_0-9]*"#, reduce `identifier = r#"[a-zA-Z_][a-zA-Z_0-9]*"# => ActionFn(3);` + -35, // on r#"[a-zA-Z_][a-zA-Z_0-9]*"#, reduce `identifier = r#"[a-zA-Z_][a-zA-Z_0-9]*"# => ActionFn(4);` // State 18 0, // on "(", error 0, // on ")", error @@ -11614,21 +5537,21 @@ mod __parse__model { 0, // on "=", error 0, // on "abs", error 0, // on "connect", error - -15, // on "constant", reduce `component_declaration+ = component_declaration+, component_declaration => ActionFn(47);` + -12, // on "constant", reduce `component_declaration+ = component_declaration+, component_declaration => ActionFn(43);` 0, // on "der", error - -15, // on "discrete", reduce `component_declaration+ = component_declaration+, component_declaration => ActionFn(47);` + -12, // on "discrete", reduce `component_declaration+ = component_declaration+, component_declaration => ActionFn(43);` 0, // on "end", error - -15, // on "equation", reduce `component_declaration+ = component_declaration+, component_declaration => ActionFn(47);` - -15, // on "flow", reduce `component_declaration+ = component_declaration+, component_declaration => ActionFn(47);` - -15, // on "input", reduce `component_declaration+ = component_declaration+, component_declaration => ActionFn(47);` + -12, // on "equation", reduce `component_declaration+ = component_declaration+, component_declaration => ActionFn(43);` + -12, // on "flow", reduce `component_declaration+ = component_declaration+, component_declaration => ActionFn(43);` + -12, // on "input", reduce `component_declaration+ = component_declaration+, component_declaration => ActionFn(43);` 0, // on "model", error - -15, // on "output", reduce `component_declaration+ = component_declaration+, component_declaration => ActionFn(47);` - -15, // on "parameter", reduce `component_declaration+ = component_declaration+, component_declaration => ActionFn(47);` - -15, // on "stream", reduce `component_declaration+ = component_declaration+, component_declaration => ActionFn(47);` + -12, // on "output", reduce `component_declaration+ = component_declaration+, component_declaration => ActionFn(43);` + -12, // on "parameter", reduce `component_declaration+ = component_declaration+, component_declaration => ActionFn(43);` + -12, // on "stream", reduce `component_declaration+ = component_declaration+, component_declaration => ActionFn(43);` 0, // on r#"\"[^\"\\\\]*\""#, error 0, // on r#"[+-]?\\d+"#, error 0, // on r#"[+-]?\\d+\\.\\d*([eE][-+]?\\d+)?"#, error - -15, // on r#"[a-zA-Z_][a-zA-Z_0-9]*"#, reduce `component_declaration+ = component_declaration+, component_declaration => ActionFn(47);` + -12, // on r#"[a-zA-Z_][a-zA-Z_0-9]*"#, reduce `component_declaration+ = component_declaration+, component_declaration => ActionFn(43);` // State 19 34, // on "(", goto 33 0, // on ")", error @@ -11644,7 +5567,7 @@ mod __parse__model { 0, // on "constant", error 38, // on "der", goto 37 0, // on "discrete", error - 44, // on "end", goto 43 + 45, // on "end", goto 44 0, // on "equation", error 0, // on "flow", error 0, // on "input", error @@ -11691,7 +5614,7 @@ mod __parse__model { 0, // on ",", error 0, // on "-", error 0, // on "/", error - 47, // on ";", goto 46 + 48, // on ";", goto 47 0, // on "=", error 0, // on "abs", error 0, // on "connect", error @@ -11706,7 +5629,7 @@ mod __parse__model { 0, // on "output", error 0, // on "parameter", error 0, // on "stream", error - 48, // on r#"\"[^\"\\\\]*\""#, goto 47 + 49, // on r#"\"[^\"\\\\]*\""#, goto 48 0, // on r#"[+-]?\\d+"#, error 0, // on r#"[+-]?\\d+\\.\\d*([eE][-+]?\\d+)?"#, error 0, // on r#"[a-zA-Z_][a-zA-Z_0-9]*"#, error @@ -11718,7 +5641,7 @@ mod __parse__model { 0, // on ",", error 0, // on "-", error 0, // on "/", error - -41, // on ";", reduce `identifier = r#"[a-zA-Z_][a-zA-Z_0-9]*"# => ActionFn(3);` + -35, // on ";", reduce `identifier = r#"[a-zA-Z_][a-zA-Z_0-9]*"# => ActionFn(4);` 0, // on "=", error 0, // on "abs", error 0, // on "connect", error @@ -11733,26 +5656,26 @@ mod __parse__model { 0, // on "output", error 0, // on "parameter", error 0, // on "stream", error - -41, // on r#"\"[^\"\\\\]*\""#, reduce `identifier = r#"[a-zA-Z_][a-zA-Z_0-9]*"# => ActionFn(3);` + -35, // on r#"\"[^\"\\\\]*\""#, reduce `identifier = r#"[a-zA-Z_][a-zA-Z_0-9]*"# => ActionFn(4);` 0, // on r#"[+-]?\\d+"#, error 0, // on r#"[+-]?\\d+\\.\\d*([eE][-+]?\\d+)?"#, error 0, // on r#"[a-zA-Z_][a-zA-Z_0-9]*"#, error // State 23 - -27, // on "(", reduce `equation_entry = connect_clause => ActionFn(9);` + -25, // on "(", reduce `connect_clause+ = connect_clause => ActionFn(44);` 0, // on ")", error 0, // on "*", error 0, // on "+", error 0, // on ",", error - -27, // on "-", reduce `equation_entry = connect_clause => ActionFn(9);` + -25, // on "-", reduce `connect_clause+ = connect_clause => ActionFn(44);` 0, // on "/", error 0, // on ";", error 0, // on "=", error - -27, // on "abs", reduce `equation_entry = connect_clause => ActionFn(9);` - -27, // on "connect", reduce `equation_entry = connect_clause => ActionFn(9);` + -25, // on "abs", reduce `connect_clause+ = connect_clause => ActionFn(44);` + -25, // on "connect", reduce `connect_clause+ = connect_clause => ActionFn(44);` 0, // on "constant", error - -27, // on "der", reduce `equation_entry = connect_clause => ActionFn(9);` + -25, // on "der", reduce `connect_clause+ = connect_clause => ActionFn(44);` 0, // on "discrete", error - -27, // on "end", reduce `equation_entry = connect_clause => ActionFn(9);` + -25, // on "end", reduce `connect_clause+ = connect_clause => ActionFn(44);` 0, // on "equation", error 0, // on "flow", error 0, // on "input", error @@ -11761,25 +5684,25 @@ mod __parse__model { 0, // on "parameter", error 0, // on "stream", error 0, // on r#"\"[^\"\\\\]*\""#, error - -27, // on r#"[+-]?\\d+"#, reduce `equation_entry = connect_clause => ActionFn(9);` - -27, // on r#"[+-]?\\d+\\.\\d*([eE][-+]?\\d+)?"#, reduce `equation_entry = connect_clause => ActionFn(9);` - -27, // on r#"[a-zA-Z_][a-zA-Z_0-9]*"#, reduce `equation_entry = connect_clause => ActionFn(9);` + -25, // on r#"[+-]?\\d+"#, reduce `connect_clause+ = connect_clause => ActionFn(44);` + -25, // on r#"[+-]?\\d+\\.\\d*([eE][-+]?\\d+)?"#, reduce `connect_clause+ = connect_clause => ActionFn(44);` + -25, // on r#"[a-zA-Z_][a-zA-Z_0-9]*"#, reduce `connect_clause+ = connect_clause => ActionFn(44);` // State 24 - -30, // on "(", reduce `equation_entry+ = equation_entry => ActionFn(48);` + 34, // on "(", goto 33 0, // on ")", error 0, // on "*", error 0, // on "+", error 0, // on ",", error - -30, // on "-", reduce `equation_entry+ = equation_entry => ActionFn(48);` + 35, // on "-", goto 34 0, // on "/", error 0, // on ";", error 0, // on "=", error - -30, // on "abs", reduce `equation_entry+ = equation_entry => ActionFn(48);` - -30, // on "connect", reduce `equation_entry+ = equation_entry => ActionFn(48);` + 36, // on "abs", goto 35 + 37, // on "connect", goto 36 0, // on "constant", error - -30, // on "der", reduce `equation_entry+ = equation_entry => ActionFn(48);` + 38, // on "der", goto 37 0, // on "discrete", error - -30, // on "end", reduce `equation_entry+ = equation_entry => ActionFn(48);` + 52, // on "end", goto 51 0, // on "equation", error 0, // on "flow", error 0, // on "input", error @@ -11788,25 +5711,25 @@ mod __parse__model { 0, // on "parameter", error 0, // on "stream", error 0, // on r#"\"[^\"\\\\]*\""#, error - -30, // on r#"[+-]?\\d+"#, reduce `equation_entry+ = equation_entry => ActionFn(48);` - -30, // on r#"[+-]?\\d+\\.\\d*([eE][-+]?\\d+)?"#, reduce `equation_entry+ = equation_entry => ActionFn(48);` - -30, // on r#"[a-zA-Z_][a-zA-Z_0-9]*"#, reduce `equation_entry+ = equation_entry => ActionFn(48);` + 40, // on r#"[+-]?\\d+"#, goto 39 + 41, // on r#"[+-]?\\d+\\.\\d*([eE][-+]?\\d+)?"#, goto 40 + 42, // on r#"[a-zA-Z_][a-zA-Z_0-9]*"#, goto 41 // State 25 - 34, // on "(", goto 33 + 0, // on "(", error 0, // on ")", error 0, // on "*", error - 0, // on "+", error + 53, // on "+", goto 52 0, // on ",", error - 35, // on "-", goto 34 + 54, // on "-", goto 53 0, // on "/", error 0, // on ";", error - 0, // on "=", error - 36, // on "abs", goto 35 - 37, // on "connect", goto 36 + 55, // on "=", goto 54 + 0, // on "abs", error + 0, // on "connect", error 0, // on "constant", error - 38, // on "der", goto 37 + 0, // on "der", error 0, // on "discrete", error - 50, // on "end", goto 49 + 0, // on "end", error 0, // on "equation", error 0, // on "flow", error 0, // on "input", error @@ -11815,19 +5738,19 @@ mod __parse__model { 0, // on "parameter", error 0, // on "stream", error 0, // on r#"\"[^\"\\\\]*\""#, error - 40, // on r#"[+-]?\\d+"#, goto 39 - 41, // on r#"[+-]?\\d+\\.\\d*([eE][-+]?\\d+)?"#, goto 40 - 42, // on r#"[a-zA-Z_][a-zA-Z_0-9]*"#, goto 41 + 0, // on r#"[+-]?\\d+"#, error + 0, // on r#"[+-]?\\d+\\.\\d*([eE][-+]?\\d+)?"#, error + 0, // on r#"[a-zA-Z_][a-zA-Z_0-9]*"#, error // State 26 0, // on "(", error 0, // on ")", error - 0, // on "*", error - 51, // on "+", goto 50 + 56, // on "*", goto 55 + -29, // on "+", reduce `expr = factor => ActionFn(21);` 0, // on ",", error - 52, // on "-", goto 51 - 0, // on "/", error + -29, // on "-", reduce `expr = factor => ActionFn(21);` + 57, // on "/", goto 56 0, // on ";", error - 53, // on "=", goto 52 + -29, // on "=", reduce `expr = factor => ActionFn(21);` 0, // on "abs", error 0, // on "connect", error 0, // on "constant", error @@ -11848,13 +5771,13 @@ mod __parse__model { // State 27 0, // on "(", error 0, // on ")", error - 54, // on "*", goto 53 - -34, // on "+", reduce `expr = factor => ActionFn(22);` + -54, // on "*", reduce `term = float => ActionFn(27);` + -54, // on "+", reduce `term = float => ActionFn(27);` 0, // on ",", error - -34, // on "-", reduce `expr = factor => ActionFn(22);` - 55, // on "/", goto 54 + -54, // on "-", reduce `term = float => ActionFn(27);` + -54, // on "/", reduce `term = float => ActionFn(27);` 0, // on ";", error - -34, // on "=", reduce `expr = factor => ActionFn(22);` + -54, // on "=", reduce `term = float => ActionFn(27);` 0, // on "abs", error 0, // on "connect", error 0, // on "constant", error @@ -11875,13 +5798,13 @@ mod __parse__model { // State 28 0, // on "(", error 0, // on ")", error - -52, // on "*", reduce `term = float => ActionFn(28);` - -52, // on "+", reduce `term = float => ActionFn(28);` + -55, // on "*", reduce `term = identifier => ActionFn(28);` + -55, // on "+", reduce `term = identifier => ActionFn(28);` 0, // on ",", error - -52, // on "-", reduce `term = float => ActionFn(28);` - -52, // on "/", reduce `term = float => ActionFn(28);` + -55, // on "-", reduce `term = identifier => ActionFn(28);` + -55, // on "/", reduce `term = identifier => ActionFn(28);` 0, // on ";", error - -52, // on "=", reduce `term = float => ActionFn(28);` + -55, // on "=", reduce `term = identifier => ActionFn(28);` 0, // on "abs", error 0, // on "connect", error 0, // on "constant", error @@ -11902,13 +5825,13 @@ mod __parse__model { // State 29 0, // on "(", error 0, // on ")", error - -53, // on "*", reduce `term = identifier => ActionFn(29);` - -53, // on "+", reduce `term = identifier => ActionFn(29);` + -53, // on "*", reduce `term = integer => ActionFn(26);` + -53, // on "+", reduce `term = integer => ActionFn(26);` 0, // on ",", error - -53, // on "-", reduce `term = identifier => ActionFn(29);` - -53, // on "/", reduce `term = identifier => ActionFn(29);` + -53, // on "-", reduce `term = integer => ActionFn(26);` + -53, // on "/", reduce `term = integer => ActionFn(26);` 0, // on ";", error - -53, // on "=", reduce `term = identifier => ActionFn(29);` + -53, // on "=", reduce `term = integer => ActionFn(26);` 0, // on "abs", error 0, // on "connect", error 0, // on "constant", error @@ -11927,21 +5850,21 @@ mod __parse__model { 0, // on r#"[+-]?\\d+\\.\\d*([eE][-+]?\\d+)?"#, error 0, // on r#"[a-zA-Z_][a-zA-Z_0-9]*"#, error // State 30 - 0, // on "(", error + -48, // on "(", reduce `simple_equation+ = simple_equation => ActionFn(46);` 0, // on ")", error - -51, // on "*", reduce `term = integer => ActionFn(27);` - -51, // on "+", reduce `term = integer => ActionFn(27);` + 0, // on "*", error + 0, // on "+", error 0, // on ",", error - -51, // on "-", reduce `term = integer => ActionFn(27);` - -51, // on "/", reduce `term = integer => ActionFn(27);` + -48, // on "-", reduce `simple_equation+ = simple_equation => ActionFn(46);` + 0, // on "/", error 0, // on ";", error - -51, // on "=", reduce `term = integer => ActionFn(27);` - 0, // on "abs", error + 0, // on "=", error + -48, // on "abs", reduce `simple_equation+ = simple_equation => ActionFn(46);` 0, // on "connect", error 0, // on "constant", error - 0, // on "der", error + -48, // on "der", reduce `simple_equation+ = simple_equation => ActionFn(46);` 0, // on "discrete", error - 0, // on "end", error + -48, // on "end", reduce `simple_equation+ = simple_equation => ActionFn(46);` 0, // on "equation", error 0, // on "flow", error 0, // on "input", error @@ -11950,25 +5873,25 @@ mod __parse__model { 0, // on "parameter", error 0, // on "stream", error 0, // on r#"\"[^\"\\\\]*\""#, error - 0, // on r#"[+-]?\\d+"#, error - 0, // on r#"[+-]?\\d+\\.\\d*([eE][-+]?\\d+)?"#, error - 0, // on r#"[a-zA-Z_][a-zA-Z_0-9]*"#, error + -48, // on r#"[+-]?\\d+"#, reduce `simple_equation+ = simple_equation => ActionFn(46);` + -48, // on r#"[+-]?\\d+\\.\\d*([eE][-+]?\\d+)?"#, reduce `simple_equation+ = simple_equation => ActionFn(46);` + -48, // on r#"[a-zA-Z_][a-zA-Z_0-9]*"#, reduce `simple_equation+ = simple_equation => ActionFn(46);` // State 31 - -26, // on "(", reduce `equation_entry = simple_equation => ActionFn(8);` + 34, // on "(", goto 33 0, // on ")", error 0, // on "*", error 0, // on "+", error 0, // on ",", error - -26, // on "-", reduce `equation_entry = simple_equation => ActionFn(8);` + 35, // on "-", goto 34 0, // on "/", error 0, // on ";", error 0, // on "=", error - -26, // on "abs", reduce `equation_entry = simple_equation => ActionFn(8);` - -26, // on "connect", reduce `equation_entry = simple_equation => ActionFn(8);` + 36, // on "abs", goto 35 + 0, // on "connect", error 0, // on "constant", error - -26, // on "der", reduce `equation_entry = simple_equation => ActionFn(8);` + 38, // on "der", goto 37 0, // on "discrete", error - -26, // on "end", reduce `equation_entry = simple_equation => ActionFn(8);` + 59, // on "end", goto 58 0, // on "equation", error 0, // on "flow", error 0, // on "input", error @@ -11977,19 +5900,19 @@ mod __parse__model { 0, // on "parameter", error 0, // on "stream", error 0, // on r#"\"[^\"\\\\]*\""#, error - -26, // on r#"[+-]?\\d+"#, reduce `equation_entry = simple_equation => ActionFn(8);` - -26, // on r#"[+-]?\\d+\\.\\d*([eE][-+]?\\d+)?"#, reduce `equation_entry = simple_equation => ActionFn(8);` - -26, // on r#"[a-zA-Z_][a-zA-Z_0-9]*"#, reduce `equation_entry = simple_equation => ActionFn(8);` + 40, // on r#"[+-]?\\d+"#, goto 39 + 41, // on r#"[+-]?\\d+\\.\\d*([eE][-+]?\\d+)?"#, goto 40 + 42, // on r#"[a-zA-Z_][a-zA-Z_0-9]*"#, goto 41 // State 32 0, // on "(", error 0, // on ")", error - -38, // on "*", reduce `factor = term => ActionFn(26);` - -38, // on "+", reduce `factor = term => ActionFn(26);` + -33, // on "*", reduce `factor = term => ActionFn(25);` + -33, // on "+", reduce `factor = term => ActionFn(25);` 0, // on ",", error - -38, // on "-", reduce `factor = term => ActionFn(26);` - -38, // on "/", reduce `factor = term => ActionFn(26);` + -33, // on "-", reduce `factor = term => ActionFn(25);` + -33, // on "/", reduce `factor = term => ActionFn(25);` 0, // on ";", error - -38, // on "=", reduce `factor = term => ActionFn(26);` + -33, // on "=", reduce `factor = term => ActionFn(25);` 0, // on "abs", error 0, // on "connect", error 0, // on "constant", error @@ -12008,19 +5931,19 @@ mod __parse__model { 0, // on r#"[+-]?\\d+\\.\\d*([eE][-+]?\\d+)?"#, error 0, // on r#"[a-zA-Z_][a-zA-Z_0-9]*"#, error // State 33 - 62, // on "(", goto 61 + 66, // on "(", goto 65 0, // on ")", error 0, // on "*", error 0, // on "+", error 0, // on ",", error - 63, // on "-", goto 62 + 67, // on "-", goto 66 0, // on "/", error 0, // on ";", error 0, // on "=", error - 64, // on "abs", goto 63 + 68, // on "abs", goto 67 0, // on "connect", error 0, // on "constant", error - 65, // on "der", goto 64 + 69, // on "der", goto 68 0, // on "discrete", error 0, // on "end", error 0, // on "equation", error @@ -12031,9 +5954,9 @@ mod __parse__model { 0, // on "parameter", error 0, // on "stream", error 0, // on r#"\"[^\"\\\\]*\""#, error - 66, // on r#"[+-]?\\d+"#, goto 65 - 67, // on r#"[+-]?\\d+\\.\\d*([eE][-+]?\\d+)?"#, goto 66 - 68, // on r#"[a-zA-Z_][a-zA-Z_0-9]*"#, goto 67 + 70, // on r#"[+-]?\\d+"#, goto 69 + 71, // on r#"[+-]?\\d+\\.\\d*([eE][-+]?\\d+)?"#, goto 70 + 72, // on r#"[a-zA-Z_][a-zA-Z_0-9]*"#, goto 71 // State 34 34, // on "(", goto 33 0, // on ")", error @@ -12062,7 +5985,7 @@ mod __parse__model { 41, // on r#"[+-]?\\d+\\.\\d*([eE][-+]?\\d+)?"#, goto 40 42, // on r#"[a-zA-Z_][a-zA-Z_0-9]*"#, goto 41 // State 35 - 70, // on "(", goto 69 + 74, // on "(", goto 73 0, // on ")", error 0, // on "*", error 0, // on "+", error @@ -12089,7 +6012,7 @@ mod __parse__model { 0, // on r#"[+-]?\\d+\\.\\d*([eE][-+]?\\d+)?"#, error 0, // on r#"[a-zA-Z_][a-zA-Z_0-9]*"#, error // State 36 - 71, // on "(", goto 70 + 75, // on "(", goto 74 0, // on ")", error 0, // on "*", error 0, // on "+", error @@ -12116,7 +6039,7 @@ mod __parse__model { 0, // on r#"[+-]?\\d+\\.\\d*([eE][-+]?\\d+)?"#, error 0, // on r#"[a-zA-Z_][a-zA-Z_0-9]*"#, error // State 37 - 72, // on "(", goto 71 + 76, // on "(", goto 75 0, // on ")", error 0, // on "*", error 0, // on "+", error @@ -12168,17 +6091,17 @@ mod __parse__model { 0, // on r#"\"[^\"\\\\]*\""#, error 0, // on r#"[+-]?\\d+"#, error 0, // on r#"[+-]?\\d+\\.\\d*([eE][-+]?\\d+)?"#, error - 74, // on r#"[a-zA-Z_][a-zA-Z_0-9]*"#, goto 73 + 78, // on r#"[a-zA-Z_][a-zA-Z_0-9]*"#, goto 77 // State 39 0, // on "(", error 0, // on ")", error - -42, // on "*", reduce `integer = r#"[+-]?\\d+"# => ActionFn(5);` - -42, // on "+", reduce `integer = r#"[+-]?\\d+"# => ActionFn(5);` + -36, // on "*", reduce `integer = r#"[+-]?\\d+"# => ActionFn(6);` + -36, // on "+", reduce `integer = r#"[+-]?\\d+"# => ActionFn(6);` 0, // on ",", error - -42, // on "-", reduce `integer = r#"[+-]?\\d+"# => ActionFn(5);` - -42, // on "/", reduce `integer = r#"[+-]?\\d+"# => ActionFn(5);` + -36, // on "-", reduce `integer = r#"[+-]?\\d+"# => ActionFn(6);` + -36, // on "/", reduce `integer = r#"[+-]?\\d+"# => ActionFn(6);` 0, // on ";", error - -42, // on "=", reduce `integer = r#"[+-]?\\d+"# => ActionFn(5);` + -36, // on "=", reduce `integer = r#"[+-]?\\d+"# => ActionFn(6);` 0, // on "abs", error 0, // on "connect", error 0, // on "constant", error @@ -12199,13 +6122,13 @@ mod __parse__model { // State 40 0, // on "(", error 0, // on ")", error - -40, // on "*", reduce `float = r#"[+-]?\\d+\\.\\d*([eE][-+]?\\d+)?"# => ActionFn(6);` - -40, // on "+", reduce `float = r#"[+-]?\\d+\\.\\d*([eE][-+]?\\d+)?"# => ActionFn(6);` + -34, // on "*", reduce `float = r#"[+-]?\\d+\\.\\d*([eE][-+]?\\d+)?"# => ActionFn(7);` + -34, // on "+", reduce `float = r#"[+-]?\\d+\\.\\d*([eE][-+]?\\d+)?"# => ActionFn(7);` 0, // on ",", error - -40, // on "-", reduce `float = r#"[+-]?\\d+\\.\\d*([eE][-+]?\\d+)?"# => ActionFn(6);` - -40, // on "/", reduce `float = r#"[+-]?\\d+\\.\\d*([eE][-+]?\\d+)?"# => ActionFn(6);` + -34, // on "-", reduce `float = r#"[+-]?\\d+\\.\\d*([eE][-+]?\\d+)?"# => ActionFn(7);` + -34, // on "/", reduce `float = r#"[+-]?\\d+\\.\\d*([eE][-+]?\\d+)?"# => ActionFn(7);` 0, // on ";", error - -40, // on "=", reduce `float = r#"[+-]?\\d+\\.\\d*([eE][-+]?\\d+)?"# => ActionFn(6);` + -34, // on "=", reduce `float = r#"[+-]?\\d+\\.\\d*([eE][-+]?\\d+)?"# => ActionFn(7);` 0, // on "abs", error 0, // on "connect", error 0, // on "constant", error @@ -12226,13 +6149,13 @@ mod __parse__model { // State 41 0, // on "(", error 0, // on ")", error - -41, // on "*", reduce `identifier = r#"[a-zA-Z_][a-zA-Z_0-9]*"# => ActionFn(3);` - -41, // on "+", reduce `identifier = r#"[a-zA-Z_][a-zA-Z_0-9]*"# => ActionFn(3);` + -35, // on "*", reduce `identifier = r#"[a-zA-Z_][a-zA-Z_0-9]*"# => ActionFn(4);` + -35, // on "+", reduce `identifier = r#"[a-zA-Z_][a-zA-Z_0-9]*"# => ActionFn(4);` 0, // on ",", error - -41, // on "-", reduce `identifier = r#"[a-zA-Z_][a-zA-Z_0-9]*"# => ActionFn(3);` - -41, // on "/", reduce `identifier = r#"[a-zA-Z_][a-zA-Z_0-9]*"# => ActionFn(3);` + -35, // on "-", reduce `identifier = r#"[a-zA-Z_][a-zA-Z_0-9]*"# => ActionFn(4);` + -35, // on "/", reduce `identifier = r#"[a-zA-Z_][a-zA-Z_0-9]*"# => ActionFn(4);` 0, // on ";", error - -41, // on "=", reduce `identifier = r#"[a-zA-Z_][a-zA-Z_0-9]*"# => ActionFn(3);` + -35, // on "=", reduce `identifier = r#"[a-zA-Z_][a-zA-Z_0-9]*"# => ActionFn(4);` 0, // on "abs", error 0, // on "connect", error 0, // on "constant", error @@ -12265,7 +6188,7 @@ mod __parse__model { 0, // on "constant", error 38, // on "der", goto 37 0, // on "discrete", error - 75, // on "end", goto 74 + 80, // on "end", goto 79 0, // on "equation", error 0, // on "flow", error 0, // on "input", error @@ -12278,6 +6201,33 @@ mod __parse__model { 41, // on r#"[+-]?\\d+\\.\\d*([eE][-+]?\\d+)?"#, goto 40 42, // on r#"[a-zA-Z_][a-zA-Z_0-9]*"#, goto 41 // State 43 + 34, // on "(", goto 33 + 0, // on ")", error + 0, // on "*", error + 0, // on "+", error + 0, // on ",", error + 35, // on "-", goto 34 + 0, // on "/", error + 0, // on ";", error + 0, // on "=", error + 36, // on "abs", goto 35 + 0, // on "connect", error + 0, // on "constant", error + 38, // on "der", goto 37 + 0, // on "discrete", error + 81, // on "end", goto 80 + 0, // on "equation", error + 0, // on "flow", error + 0, // on "input", error + 0, // on "model", error + 0, // on "output", error + 0, // on "parameter", error + 0, // on "stream", error + 0, // on r#"\"[^\"\\\\]*\""#, error + 40, // on r#"[+-]?\\d+"#, goto 39 + 41, // on r#"[+-]?\\d+\\.\\d*([eE][-+]?\\d+)?"#, goto 40 + 42, // on r#"[a-zA-Z_][a-zA-Z_0-9]*"#, goto 41 + // State 44 0, // on "(", error 0, // on ")", error 0, // on "*", error @@ -12303,8 +6253,8 @@ mod __parse__model { 0, // on r#"\"[^\"\\\\]*\""#, error 0, // on r#"[+-]?\\d+"#, error 0, // on r#"[+-]?\\d+\\.\\d*([eE][-+]?\\d+)?"#, error - 74, // on r#"[a-zA-Z_][a-zA-Z_0-9]*"#, goto 73 - // State 44 + 78, // on r#"[a-zA-Z_][a-zA-Z_0-9]*"#, goto 77 + // State 45 0, // on "(", error 0, // on ")", error 0, // on "*", error @@ -12312,7 +6262,7 @@ mod __parse__model { 0, // on ",", error 0, // on "-", error 0, // on "/", error - 78, // on ";", goto 77 + 84, // on ";", goto 83 0, // on "=", error 0, // on "abs", error 0, // on "connect", error @@ -12327,11 +6277,11 @@ mod __parse__model { 0, // on "output", error 0, // on "parameter", error 0, // on "stream", error - 48, // on r#"\"[^\"\\\\]*\""#, goto 47 + 49, // on r#"\"[^\"\\\\]*\""#, goto 48 0, // on r#"[+-]?\\d+"#, error 0, // on r#"[+-]?\\d+\\.\\d*([eE][-+]?\\d+)?"#, error 0, // on r#"[a-zA-Z_][a-zA-Z_0-9]*"#, error - // State 45 + // State 46 0, // on "(", error 0, // on ")", error 0, // on "*", error @@ -12339,7 +6289,7 @@ mod __parse__model { 0, // on ",", error 0, // on "-", error 0, // on "/", error - 79, // on ";", goto 78 + 85, // on ";", goto 84 0, // on "=", error 0, // on "abs", error 0, // on "connect", error @@ -12358,7 +6308,7 @@ mod __parse__model { 0, // on r#"[+-]?\\d+"#, error 0, // on r#"[+-]?\\d+\\.\\d*([eE][-+]?\\d+)?"#, error 0, // on r#"[a-zA-Z_][a-zA-Z_0-9]*"#, error - // State 46 + // State 47 0, // on "(", error 0, // on ")", error 0, // on "*", error @@ -12370,22 +6320,22 @@ mod __parse__model { 0, // on "=", error 0, // on "abs", error 0, // on "connect", error - -11, // on "constant", reduce `component_declaration = identifier, identifier, ";" => ActionFn(61);` + -8, // on "constant", reduce `component_declaration = identifier, identifier, ";" => ActionFn(67);` 0, // on "der", error - -11, // on "discrete", reduce `component_declaration = identifier, identifier, ";" => ActionFn(61);` + -8, // on "discrete", reduce `component_declaration = identifier, identifier, ";" => ActionFn(67);` 0, // on "end", error - -11, // on "equation", reduce `component_declaration = identifier, identifier, ";" => ActionFn(61);` - -11, // on "flow", reduce `component_declaration = identifier, identifier, ";" => ActionFn(61);` - -11, // on "input", reduce `component_declaration = identifier, identifier, ";" => ActionFn(61);` + -8, // on "equation", reduce `component_declaration = identifier, identifier, ";" => ActionFn(67);` + -8, // on "flow", reduce `component_declaration = identifier, identifier, ";" => ActionFn(67);` + -8, // on "input", reduce `component_declaration = identifier, identifier, ";" => ActionFn(67);` 0, // on "model", error - -11, // on "output", reduce `component_declaration = identifier, identifier, ";" => ActionFn(61);` - -11, // on "parameter", reduce `component_declaration = identifier, identifier, ";" => ActionFn(61);` - -11, // on "stream", reduce `component_declaration = identifier, identifier, ";" => ActionFn(61);` + -8, // on "output", reduce `component_declaration = identifier, identifier, ";" => ActionFn(67);` + -8, // on "parameter", reduce `component_declaration = identifier, identifier, ";" => ActionFn(67);` + -8, // on "stream", reduce `component_declaration = identifier, identifier, ";" => ActionFn(67);` 0, // on r#"\"[^\"\\\\]*\""#, error 0, // on r#"[+-]?\\d+"#, error 0, // on r#"[+-]?\\d+\\.\\d*([eE][-+]?\\d+)?"#, error - -11, // on r#"[a-zA-Z_][a-zA-Z_0-9]*"#, reduce `component_declaration = identifier, identifier, ";" => ActionFn(61);` - // State 47 + -8, // on r#"[a-zA-Z_][a-zA-Z_0-9]*"#, reduce `component_declaration = identifier, identifier, ";" => ActionFn(67);` + // State 48 0, // on "(", error 0, // on ")", error 0, // on "*", error @@ -12393,7 +6343,7 @@ mod __parse__model { 0, // on ",", error 0, // on "-", error 0, // on "/", error - -48, // on ";", reduce `string_literal = r#"\"[^\"\\\\]*\""# => ActionFn(4);` + -50, // on ";", reduce `string_literal = r#"\"[^\"\\\\]*\""# => ActionFn(5);` 0, // on "=", error 0, // on "abs", error 0, // on "connect", error @@ -12412,22 +6362,22 @@ mod __parse__model { 0, // on r#"[+-]?\\d+"#, error 0, // on r#"[+-]?\\d+\\.\\d*([eE][-+]?\\d+)?"#, error 0, // on r#"[a-zA-Z_][a-zA-Z_0-9]*"#, error - // State 48 - -31, // on "(", reduce `equation_entry+ = equation_entry+, equation_entry => ActionFn(49);` + // State 49 + -26, // on "(", reduce `connect_clause+ = connect_clause+, connect_clause => ActionFn(45);` 0, // on ")", error 0, // on "*", error 0, // on "+", error 0, // on ",", error - -31, // on "-", reduce `equation_entry+ = equation_entry+, equation_entry => ActionFn(49);` + -26, // on "-", reduce `connect_clause+ = connect_clause+, connect_clause => ActionFn(45);` 0, // on "/", error 0, // on ";", error 0, // on "=", error - -31, // on "abs", reduce `equation_entry+ = equation_entry+, equation_entry => ActionFn(49);` - -31, // on "connect", reduce `equation_entry+ = equation_entry+, equation_entry => ActionFn(49);` + -26, // on "abs", reduce `connect_clause+ = connect_clause+, connect_clause => ActionFn(45);` + -26, // on "connect", reduce `connect_clause+ = connect_clause+, connect_clause => ActionFn(45);` 0, // on "constant", error - -31, // on "der", reduce `equation_entry+ = equation_entry+, equation_entry => ActionFn(49);` + -26, // on "der", reduce `connect_clause+ = connect_clause+, connect_clause => ActionFn(45);` 0, // on "discrete", error - -31, // on "end", reduce `equation_entry+ = equation_entry+, equation_entry => ActionFn(49);` + -26, // on "end", reduce `connect_clause+ = connect_clause+, connect_clause => ActionFn(45);` 0, // on "equation", error 0, // on "flow", error 0, // on "input", error @@ -12436,10 +6386,37 @@ mod __parse__model { 0, // on "parameter", error 0, // on "stream", error 0, // on r#"\"[^\"\\\\]*\""#, error - -31, // on r#"[+-]?\\d+"#, reduce `equation_entry+ = equation_entry+, equation_entry => ActionFn(49);` - -31, // on r#"[+-]?\\d+\\.\\d*([eE][-+]?\\d+)?"#, reduce `equation_entry+ = equation_entry+, equation_entry => ActionFn(49);` - -31, // on r#"[a-zA-Z_][a-zA-Z_0-9]*"#, reduce `equation_entry+ = equation_entry+, equation_entry => ActionFn(49);` - // State 49 + -26, // on r#"[+-]?\\d+"#, reduce `connect_clause+ = connect_clause+, connect_clause => ActionFn(45);` + -26, // on r#"[+-]?\\d+\\.\\d*([eE][-+]?\\d+)?"#, reduce `connect_clause+ = connect_clause+, connect_clause => ActionFn(45);` + -26, // on r#"[a-zA-Z_][a-zA-Z_0-9]*"#, reduce `connect_clause+ = connect_clause+, connect_clause => ActionFn(45);` + // State 50 + 34, // on "(", goto 33 + 0, // on ")", error + 0, // on "*", error + 0, // on "+", error + 0, // on ",", error + 35, // on "-", goto 34 + 0, // on "/", error + 0, // on ";", error + 0, // on "=", error + 36, // on "abs", goto 35 + 0, // on "connect", error + 0, // on "constant", error + 38, // on "der", goto 37 + 0, // on "discrete", error + 86, // on "end", goto 85 + 0, // on "equation", error + 0, // on "flow", error + 0, // on "input", error + 0, // on "model", error + 0, // on "output", error + 0, // on "parameter", error + 0, // on "stream", error + 0, // on r#"\"[^\"\\\\]*\""#, error + 40, // on r#"[+-]?\\d+"#, goto 39 + 41, // on r#"[+-]?\\d+\\.\\d*([eE][-+]?\\d+)?"#, goto 40 + 42, // on r#"[a-zA-Z_][a-zA-Z_0-9]*"#, goto 41 + // State 51 0, // on "(", error 0, // on ")", error 0, // on "*", error @@ -12465,8 +6442,8 @@ mod __parse__model { 0, // on r#"\"[^\"\\\\]*\""#, error 0, // on r#"[+-]?\\d+"#, error 0, // on r#"[+-]?\\d+\\.\\d*([eE][-+]?\\d+)?"#, error - 74, // on r#"[a-zA-Z_][a-zA-Z_0-9]*"#, goto 73 - // State 50 + 78, // on r#"[a-zA-Z_][a-zA-Z_0-9]*"#, goto 77 + // State 52 34, // on "(", goto 33 0, // on ")", error 0, // on "*", error @@ -12493,7 +6470,7 @@ mod __parse__model { 40, // on r#"[+-]?\\d+"#, goto 39 41, // on r#"[+-]?\\d+\\.\\d*([eE][-+]?\\d+)?"#, goto 40 42, // on r#"[a-zA-Z_][a-zA-Z_0-9]*"#, goto 41 - // State 51 + // State 53 34, // on "(", goto 33 0, // on ")", error 0, // on "*", error @@ -12520,20 +6497,20 @@ mod __parse__model { 40, // on r#"[+-]?\\d+"#, goto 39 41, // on r#"[+-]?\\d+\\.\\d*([eE][-+]?\\d+)?"#, goto 40 42, // on r#"[a-zA-Z_][a-zA-Z_0-9]*"#, goto 41 - // State 52 - 89, // on "(", goto 88 + // State 54 + 96, // on "(", goto 95 0, // on ")", error 0, // on "*", error 0, // on "+", error 0, // on ",", error - 90, // on "-", goto 89 + 97, // on "-", goto 96 0, // on "/", error 0, // on ";", error 0, // on "=", error - 91, // on "abs", goto 90 + 98, // on "abs", goto 97 0, // on "connect", error 0, // on "constant", error - 92, // on "der", goto 91 + 99, // on "der", goto 98 0, // on "discrete", error 0, // on "end", error 0, // on "equation", error @@ -12544,10 +6521,10 @@ mod __parse__model { 0, // on "parameter", error 0, // on "stream", error 0, // on r#"\"[^\"\\\\]*\""#, error - 93, // on r#"[+-]?\\d+"#, goto 92 - 94, // on r#"[+-]?\\d+\\.\\d*([eE][-+]?\\d+)?"#, goto 93 - 95, // on r#"[a-zA-Z_][a-zA-Z_0-9]*"#, goto 94 - // State 53 + 100, // on r#"[+-]?\\d+"#, goto 99 + 101, // on r#"[+-]?\\d+\\.\\d*([eE][-+]?\\d+)?"#, goto 100 + 102, // on r#"[a-zA-Z_][a-zA-Z_0-9]*"#, goto 101 + // State 55 34, // on "(", goto 33 0, // on ")", error 0, // on "*", error @@ -12574,7 +6551,7 @@ mod __parse__model { 40, // on r#"[+-]?\\d+"#, goto 39 41, // on r#"[+-]?\\d+\\.\\d*([eE][-+]?\\d+)?"#, goto 40 42, // on r#"[a-zA-Z_][a-zA-Z_0-9]*"#, goto 41 - // State 54 + // State 56 34, // on "(", goto 33 0, // on ")", error 0, // on "*", error @@ -12601,13 +6578,67 @@ mod __parse__model { 40, // on r#"[+-]?\\d+"#, goto 39 41, // on r#"[+-]?\\d+\\.\\d*([eE][-+]?\\d+)?"#, goto 40 42, // on r#"[a-zA-Z_][a-zA-Z_0-9]*"#, goto 41 - // State 55 + // State 57 + -49, // on "(", reduce `simple_equation+ = simple_equation+, simple_equation => ActionFn(47);` + 0, // on ")", error + 0, // on "*", error + 0, // on "+", error + 0, // on ",", error + -49, // on "-", reduce `simple_equation+ = simple_equation+, simple_equation => ActionFn(47);` + 0, // on "/", error + 0, // on ";", error + 0, // on "=", error + -49, // on "abs", reduce `simple_equation+ = simple_equation+, simple_equation => ActionFn(47);` + 0, // on "connect", error + 0, // on "constant", error + -49, // on "der", reduce `simple_equation+ = simple_equation+, simple_equation => ActionFn(47);` + 0, // on "discrete", error + -49, // on "end", reduce `simple_equation+ = simple_equation+, simple_equation => ActionFn(47);` + 0, // on "equation", error + 0, // on "flow", error + 0, // on "input", error + 0, // on "model", error + 0, // on "output", error + 0, // on "parameter", error + 0, // on "stream", error + 0, // on r#"\"[^\"\\\\]*\""#, error + -49, // on r#"[+-]?\\d+"#, reduce `simple_equation+ = simple_equation+, simple_equation => ActionFn(47);` + -49, // on r#"[+-]?\\d+\\.\\d*([eE][-+]?\\d+)?"#, reduce `simple_equation+ = simple_equation+, simple_equation => ActionFn(47);` + -49, // on r#"[a-zA-Z_][a-zA-Z_0-9]*"#, reduce `simple_equation+ = simple_equation+, simple_equation => ActionFn(47);` + // State 58 + 0, // on "(", error + 0, // on ")", error + 0, // on "*", error + 0, // on "+", error + 0, // on ",", error + 0, // on "-", error + 0, // on "/", error + 0, // on ";", error + 0, // on "=", error + 0, // on "abs", error + 0, // on "connect", error + 0, // on "constant", error + 0, // on "der", error + 0, // on "discrete", error + 0, // on "end", error + 0, // on "equation", error + 0, // on "flow", error + 0, // on "input", error + 0, // on "model", error + 0, // on "output", error + 0, // on "parameter", error + 0, // on "stream", error + 0, // on r#"\"[^\"\\\\]*\""#, error + 0, // on r#"[+-]?\\d+"#, error + 0, // on r#"[+-]?\\d+\\.\\d*([eE][-+]?\\d+)?"#, error + 78, // on r#"[a-zA-Z_][a-zA-Z_0-9]*"#, goto 77 + // State 59 0, // on "(", error - 98, // on ")", goto 97 + 106, // on ")", goto 105 0, // on "*", error - 99, // on "+", goto 98 + 107, // on "+", goto 106 0, // on ",", error - 100, // on "-", goto 99 + 108, // on "-", goto 107 0, // on "/", error 0, // on ";", error 0, // on "=", error @@ -12628,14 +6659,14 @@ mod __parse__model { 0, // on r#"[+-]?\\d+"#, error 0, // on r#"[+-]?\\d+\\.\\d*([eE][-+]?\\d+)?"#, error 0, // on r#"[a-zA-Z_][a-zA-Z_0-9]*"#, error - // State 56 + // State 60 0, // on "(", error - -34, // on ")", reduce `expr = factor => ActionFn(22);` - 101, // on "*", goto 100 - -34, // on "+", reduce `expr = factor => ActionFn(22);` + -29, // on ")", reduce `expr = factor => ActionFn(21);` + 109, // on "*", goto 108 + -29, // on "+", reduce `expr = factor => ActionFn(21);` 0, // on ",", error - -34, // on "-", reduce `expr = factor => ActionFn(22);` - 102, // on "/", goto 101 + -29, // on "-", reduce `expr = factor => ActionFn(21);` + 110, // on "/", goto 109 0, // on ";", error 0, // on "=", error 0, // on "abs", error @@ -12655,14 +6686,14 @@ mod __parse__model { 0, // on r#"[+-]?\\d+"#, error 0, // on r#"[+-]?\\d+\\.\\d*([eE][-+]?\\d+)?"#, error 0, // on r#"[a-zA-Z_][a-zA-Z_0-9]*"#, error - // State 57 + // State 61 0, // on "(", error - -52, // on ")", reduce `term = float => ActionFn(28);` - -52, // on "*", reduce `term = float => ActionFn(28);` - -52, // on "+", reduce `term = float => ActionFn(28);` + -54, // on ")", reduce `term = float => ActionFn(27);` + -54, // on "*", reduce `term = float => ActionFn(27);` + -54, // on "+", reduce `term = float => ActionFn(27);` 0, // on ",", error - -52, // on "-", reduce `term = float => ActionFn(28);` - -52, // on "/", reduce `term = float => ActionFn(28);` + -54, // on "-", reduce `term = float => ActionFn(27);` + -54, // on "/", reduce `term = float => ActionFn(27);` 0, // on ";", error 0, // on "=", error 0, // on "abs", error @@ -12682,14 +6713,14 @@ mod __parse__model { 0, // on r#"[+-]?\\d+"#, error 0, // on r#"[+-]?\\d+\\.\\d*([eE][-+]?\\d+)?"#, error 0, // on r#"[a-zA-Z_][a-zA-Z_0-9]*"#, error - // State 58 + // State 62 0, // on "(", error - -53, // on ")", reduce `term = identifier => ActionFn(29);` - -53, // on "*", reduce `term = identifier => ActionFn(29);` - -53, // on "+", reduce `term = identifier => ActionFn(29);` + -55, // on ")", reduce `term = identifier => ActionFn(28);` + -55, // on "*", reduce `term = identifier => ActionFn(28);` + -55, // on "+", reduce `term = identifier => ActionFn(28);` 0, // on ",", error - -53, // on "-", reduce `term = identifier => ActionFn(29);` - -53, // on "/", reduce `term = identifier => ActionFn(29);` + -55, // on "-", reduce `term = identifier => ActionFn(28);` + -55, // on "/", reduce `term = identifier => ActionFn(28);` 0, // on ";", error 0, // on "=", error 0, // on "abs", error @@ -12709,14 +6740,14 @@ mod __parse__model { 0, // on r#"[+-]?\\d+"#, error 0, // on r#"[+-]?\\d+\\.\\d*([eE][-+]?\\d+)?"#, error 0, // on r#"[a-zA-Z_][a-zA-Z_0-9]*"#, error - // State 59 + // State 63 0, // on "(", error - -51, // on ")", reduce `term = integer => ActionFn(27);` - -51, // on "*", reduce `term = integer => ActionFn(27);` - -51, // on "+", reduce `term = integer => ActionFn(27);` + -53, // on ")", reduce `term = integer => ActionFn(26);` + -53, // on "*", reduce `term = integer => ActionFn(26);` + -53, // on "+", reduce `term = integer => ActionFn(26);` 0, // on ",", error - -51, // on "-", reduce `term = integer => ActionFn(27);` - -51, // on "/", reduce `term = integer => ActionFn(27);` + -53, // on "-", reduce `term = integer => ActionFn(26);` + -53, // on "/", reduce `term = integer => ActionFn(26);` 0, // on ";", error 0, // on "=", error 0, // on "abs", error @@ -12736,14 +6767,14 @@ mod __parse__model { 0, // on r#"[+-]?\\d+"#, error 0, // on r#"[+-]?\\d+\\.\\d*([eE][-+]?\\d+)?"#, error 0, // on r#"[a-zA-Z_][a-zA-Z_0-9]*"#, error - // State 60 + // State 64 0, // on "(", error - -38, // on ")", reduce `factor = term => ActionFn(26);` - -38, // on "*", reduce `factor = term => ActionFn(26);` - -38, // on "+", reduce `factor = term => ActionFn(26);` + -33, // on ")", reduce `factor = term => ActionFn(25);` + -33, // on "*", reduce `factor = term => ActionFn(25);` + -33, // on "+", reduce `factor = term => ActionFn(25);` 0, // on ",", error - -38, // on "-", reduce `factor = term => ActionFn(26);` - -38, // on "/", reduce `factor = term => ActionFn(26);` + -33, // on "-", reduce `factor = term => ActionFn(25);` + -33, // on "/", reduce `factor = term => ActionFn(25);` 0, // on ";", error 0, // on "=", error 0, // on "abs", error @@ -12763,20 +6794,20 @@ mod __parse__model { 0, // on r#"[+-]?\\d+"#, error 0, // on r#"[+-]?\\d+\\.\\d*([eE][-+]?\\d+)?"#, error 0, // on r#"[a-zA-Z_][a-zA-Z_0-9]*"#, error - // State 61 - 62, // on "(", goto 61 + // State 65 + 66, // on "(", goto 65 0, // on ")", error 0, // on "*", error 0, // on "+", error 0, // on ",", error - 63, // on "-", goto 62 + 67, // on "-", goto 66 0, // on "/", error 0, // on ";", error 0, // on "=", error - 64, // on "abs", goto 63 + 68, // on "abs", goto 67 0, // on "connect", error 0, // on "constant", error - 65, // on "der", goto 64 + 69, // on "der", goto 68 0, // on "discrete", error 0, // on "end", error 0, // on "equation", error @@ -12787,11 +6818,11 @@ mod __parse__model { 0, // on "parameter", error 0, // on "stream", error 0, // on r#"\"[^\"\\\\]*\""#, error - 66, // on r#"[+-]?\\d+"#, goto 65 - 67, // on r#"[+-]?\\d+\\.\\d*([eE][-+]?\\d+)?"#, goto 66 - 68, // on r#"[a-zA-Z_][a-zA-Z_0-9]*"#, goto 67 - // State 62 - 62, // on "(", goto 61 + 70, // on r#"[+-]?\\d+"#, goto 69 + 71, // on r#"[+-]?\\d+\\.\\d*([eE][-+]?\\d+)?"#, goto 70 + 72, // on r#"[a-zA-Z_][a-zA-Z_0-9]*"#, goto 71 + // State 66 + 66, // on "(", goto 65 0, // on ")", error 0, // on "*", error 0, // on "+", error @@ -12800,10 +6831,10 @@ mod __parse__model { 0, // on "/", error 0, // on ";", error 0, // on "=", error - 64, // on "abs", goto 63 + 68, // on "abs", goto 67 0, // on "connect", error 0, // on "constant", error - 65, // on "der", goto 64 + 69, // on "der", goto 68 0, // on "discrete", error 0, // on "end", error 0, // on "equation", error @@ -12814,11 +6845,11 @@ mod __parse__model { 0, // on "parameter", error 0, // on "stream", error 0, // on r#"\"[^\"\\\\]*\""#, error - 66, // on r#"[+-]?\\d+"#, goto 65 - 67, // on r#"[+-]?\\d+\\.\\d*([eE][-+]?\\d+)?"#, goto 66 - 68, // on r#"[a-zA-Z_][a-zA-Z_0-9]*"#, goto 67 - // State 63 - 105, // on "(", goto 104 + 70, // on r#"[+-]?\\d+"#, goto 69 + 71, // on r#"[+-]?\\d+\\.\\d*([eE][-+]?\\d+)?"#, goto 70 + 72, // on r#"[a-zA-Z_][a-zA-Z_0-9]*"#, goto 71 + // State 67 + 113, // on "(", goto 112 0, // on ")", error 0, // on "*", error 0, // on "+", error @@ -12844,8 +6875,8 @@ mod __parse__model { 0, // on r#"[+-]?\\d+"#, error 0, // on r#"[+-]?\\d+\\.\\d*([eE][-+]?\\d+)?"#, error 0, // on r#"[a-zA-Z_][a-zA-Z_0-9]*"#, error - // State 64 - 106, // on "(", goto 105 + // State 68 + 114, // on "(", goto 113 0, // on ")", error 0, // on "*", error 0, // on "+", error @@ -12871,14 +6902,14 @@ mod __parse__model { 0, // on r#"[+-]?\\d+"#, error 0, // on r#"[+-]?\\d+\\.\\d*([eE][-+]?\\d+)?"#, error 0, // on r#"[a-zA-Z_][a-zA-Z_0-9]*"#, error - // State 65 + // State 69 0, // on "(", error - -42, // on ")", reduce `integer = r#"[+-]?\\d+"# => ActionFn(5);` - -42, // on "*", reduce `integer = r#"[+-]?\\d+"# => ActionFn(5);` - -42, // on "+", reduce `integer = r#"[+-]?\\d+"# => ActionFn(5);` + -36, // on ")", reduce `integer = r#"[+-]?\\d+"# => ActionFn(6);` + -36, // on "*", reduce `integer = r#"[+-]?\\d+"# => ActionFn(6);` + -36, // on "+", reduce `integer = r#"[+-]?\\d+"# => ActionFn(6);` 0, // on ",", error - -42, // on "-", reduce `integer = r#"[+-]?\\d+"# => ActionFn(5);` - -42, // on "/", reduce `integer = r#"[+-]?\\d+"# => ActionFn(5);` + -36, // on "-", reduce `integer = r#"[+-]?\\d+"# => ActionFn(6);` + -36, // on "/", reduce `integer = r#"[+-]?\\d+"# => ActionFn(6);` 0, // on ";", error 0, // on "=", error 0, // on "abs", error @@ -12898,14 +6929,14 @@ mod __parse__model { 0, // on r#"[+-]?\\d+"#, error 0, // on r#"[+-]?\\d+\\.\\d*([eE][-+]?\\d+)?"#, error 0, // on r#"[a-zA-Z_][a-zA-Z_0-9]*"#, error - // State 66 + // State 70 0, // on "(", error - -40, // on ")", reduce `float = r#"[+-]?\\d+\\.\\d*([eE][-+]?\\d+)?"# => ActionFn(6);` - -40, // on "*", reduce `float = r#"[+-]?\\d+\\.\\d*([eE][-+]?\\d+)?"# => ActionFn(6);` - -40, // on "+", reduce `float = r#"[+-]?\\d+\\.\\d*([eE][-+]?\\d+)?"# => ActionFn(6);` + -34, // on ")", reduce `float = r#"[+-]?\\d+\\.\\d*([eE][-+]?\\d+)?"# => ActionFn(7);` + -34, // on "*", reduce `float = r#"[+-]?\\d+\\.\\d*([eE][-+]?\\d+)?"# => ActionFn(7);` + -34, // on "+", reduce `float = r#"[+-]?\\d+\\.\\d*([eE][-+]?\\d+)?"# => ActionFn(7);` 0, // on ",", error - -40, // on "-", reduce `float = r#"[+-]?\\d+\\.\\d*([eE][-+]?\\d+)?"# => ActionFn(6);` - -40, // on "/", reduce `float = r#"[+-]?\\d+\\.\\d*([eE][-+]?\\d+)?"# => ActionFn(6);` + -34, // on "-", reduce `float = r#"[+-]?\\d+\\.\\d*([eE][-+]?\\d+)?"# => ActionFn(7);` + -34, // on "/", reduce `float = r#"[+-]?\\d+\\.\\d*([eE][-+]?\\d+)?"# => ActionFn(7);` 0, // on ";", error 0, // on "=", error 0, // on "abs", error @@ -12925,14 +6956,14 @@ mod __parse__model { 0, // on r#"[+-]?\\d+"#, error 0, // on r#"[+-]?\\d+\\.\\d*([eE][-+]?\\d+)?"#, error 0, // on r#"[a-zA-Z_][a-zA-Z_0-9]*"#, error - // State 67 + // State 71 0, // on "(", error - -41, // on ")", reduce `identifier = r#"[a-zA-Z_][a-zA-Z_0-9]*"# => ActionFn(3);` - -41, // on "*", reduce `identifier = r#"[a-zA-Z_][a-zA-Z_0-9]*"# => ActionFn(3);` - -41, // on "+", reduce `identifier = r#"[a-zA-Z_][a-zA-Z_0-9]*"# => ActionFn(3);` + -35, // on ")", reduce `identifier = r#"[a-zA-Z_][a-zA-Z_0-9]*"# => ActionFn(4);` + -35, // on "*", reduce `identifier = r#"[a-zA-Z_][a-zA-Z_0-9]*"# => ActionFn(4);` + -35, // on "+", reduce `identifier = r#"[a-zA-Z_][a-zA-Z_0-9]*"# => ActionFn(4);` 0, // on ",", error - -41, // on "-", reduce `identifier = r#"[a-zA-Z_][a-zA-Z_0-9]*"# => ActionFn(3);` - -41, // on "/", reduce `identifier = r#"[a-zA-Z_][a-zA-Z_0-9]*"# => ActionFn(3);` + -35, // on "-", reduce `identifier = r#"[a-zA-Z_][a-zA-Z_0-9]*"# => ActionFn(4);` + -35, // on "/", reduce `identifier = r#"[a-zA-Z_][a-zA-Z_0-9]*"# => ActionFn(4);` 0, // on ";", error 0, // on "=", error 0, // on "abs", error @@ -12952,16 +6983,16 @@ mod __parse__model { 0, // on r#"[+-]?\\d+"#, error 0, // on r#"[+-]?\\d+\\.\\d*([eE][-+]?\\d+)?"#, error 0, // on r#"[a-zA-Z_][a-zA-Z_0-9]*"#, error - // State 68 + // State 72 0, // on "(", error 0, // on ")", error - -37, // on "*", reduce `factor = "-", term => ActionFn(25);` - -37, // on "+", reduce `factor = "-", term => ActionFn(25);` + -32, // on "*", reduce `factor = "-", term => ActionFn(24);` + -32, // on "+", reduce `factor = "-", term => ActionFn(24);` 0, // on ",", error - -37, // on "-", reduce `factor = "-", term => ActionFn(25);` - -37, // on "/", reduce `factor = "-", term => ActionFn(25);` + -32, // on "-", reduce `factor = "-", term => ActionFn(24);` + -32, // on "/", reduce `factor = "-", term => ActionFn(24);` 0, // on ";", error - -37, // on "=", reduce `factor = "-", term => ActionFn(25);` + -32, // on "=", reduce `factor = "-", term => ActionFn(24);` 0, // on "abs", error 0, // on "connect", error 0, // on "constant", error @@ -12979,20 +7010,20 @@ mod __parse__model { 0, // on r#"[+-]?\\d+"#, error 0, // on r#"[+-]?\\d+\\.\\d*([eE][-+]?\\d+)?"#, error 0, // on r#"[a-zA-Z_][a-zA-Z_0-9]*"#, error - // State 69 - 62, // on "(", goto 61 + // State 73 + 66, // on "(", goto 65 0, // on ")", error 0, // on "*", error 0, // on "+", error 0, // on ",", error - 63, // on "-", goto 62 + 67, // on "-", goto 66 0, // on "/", error 0, // on ";", error 0, // on "=", error - 64, // on "abs", goto 63 + 68, // on "abs", goto 67 0, // on "connect", error 0, // on "constant", error - 65, // on "der", goto 64 + 69, // on "der", goto 68 0, // on "discrete", error 0, // on "end", error 0, // on "equation", error @@ -13003,10 +7034,10 @@ mod __parse__model { 0, // on "parameter", error 0, // on "stream", error 0, // on r#"\"[^\"\\\\]*\""#, error - 66, // on r#"[+-]?\\d+"#, goto 65 - 67, // on r#"[+-]?\\d+\\.\\d*([eE][-+]?\\d+)?"#, goto 66 - 68, // on r#"[a-zA-Z_][a-zA-Z_0-9]*"#, goto 67 - // State 70 + 70, // on r#"[+-]?\\d+"#, goto 69 + 71, // on r#"[+-]?\\d+\\.\\d*([eE][-+]?\\d+)?"#, goto 70 + 72, // on r#"[a-zA-Z_][a-zA-Z_0-9]*"#, goto 71 + // State 74 0, // on "(", error 0, // on ")", error 0, // on "*", error @@ -13032,21 +7063,21 @@ mod __parse__model { 0, // on r#"\"[^\"\\\\]*\""#, error 0, // on r#"[+-]?\\d+"#, error 0, // on r#"[+-]?\\d+\\.\\d*([eE][-+]?\\d+)?"#, error - 109, // on r#"[a-zA-Z_][a-zA-Z_0-9]*"#, goto 108 - // State 71 - 62, // on "(", goto 61 + 117, // on r#"[a-zA-Z_][a-zA-Z_0-9]*"#, goto 116 + // State 75 + 66, // on "(", goto 65 0, // on ")", error 0, // on "*", error 0, // on "+", error 0, // on ",", error - 63, // on "-", goto 62 + 67, // on "-", goto 66 0, // on "/", error 0, // on ";", error 0, // on "=", error - 64, // on "abs", goto 63 + 68, // on "abs", goto 67 0, // on "connect", error 0, // on "constant", error - 65, // on "der", goto 64 + 69, // on "der", goto 68 0, // on "discrete", error 0, // on "end", error 0, // on "equation", error @@ -13057,10 +7088,10 @@ mod __parse__model { 0, // on "parameter", error 0, // on "stream", error 0, // on r#"\"[^\"\\\\]*\""#, error - 66, // on r#"[+-]?\\d+"#, goto 65 - 67, // on r#"[+-]?\\d+\\.\\d*([eE][-+]?\\d+)?"#, goto 66 - 68, // on r#"[a-zA-Z_][a-zA-Z_0-9]*"#, goto 67 - // State 72 + 70, // on r#"[+-]?\\d+"#, goto 69 + 71, // on r#"[+-]?\\d+\\.\\d*([eE][-+]?\\d+)?"#, goto 70 + 72, // on r#"[a-zA-Z_][a-zA-Z_0-9]*"#, goto 71 + // State 76 0, // on "(", error 0, // on ")", error 0, // on "*", error @@ -13068,7 +7099,7 @@ mod __parse__model { 0, // on ",", error 0, // on "-", error 0, // on "/", error - 111, // on ";", goto 110 + 119, // on ";", goto 118 0, // on "=", error 0, // on "abs", error 0, // on "connect", error @@ -13087,7 +7118,7 @@ mod __parse__model { 0, // on r#"[+-]?\\d+"#, error 0, // on r#"[+-]?\\d+\\.\\d*([eE][-+]?\\d+)?"#, error 0, // on r#"[a-zA-Z_][a-zA-Z_0-9]*"#, error - // State 73 + // State 77 0, // on "(", error 0, // on ")", error 0, // on "*", error @@ -13095,7 +7126,7 @@ mod __parse__model { 0, // on ",", error 0, // on "-", error 0, // on "/", error - -41, // on ";", reduce `identifier = r#"[a-zA-Z_][a-zA-Z_0-9]*"# => ActionFn(3);` + -35, // on ";", reduce `identifier = r#"[a-zA-Z_][a-zA-Z_0-9]*"# => ActionFn(4);` 0, // on "=", error 0, // on "abs", error 0, // on "connect", error @@ -13114,7 +7145,34 @@ mod __parse__model { 0, // on r#"[+-]?\\d+"#, error 0, // on r#"[+-]?\\d+\\.\\d*([eE][-+]?\\d+)?"#, error 0, // on r#"[a-zA-Z_][a-zA-Z_0-9]*"#, error - // State 74 + // State 78 + 34, // on "(", goto 33 + 0, // on ")", error + 0, // on "*", error + 0, // on "+", error + 0, // on ",", error + 35, // on "-", goto 34 + 0, // on "/", error + 0, // on ";", error + 0, // on "=", error + 36, // on "abs", goto 35 + 0, // on "connect", error + 0, // on "constant", error + 38, // on "der", goto 37 + 0, // on "discrete", error + 120, // on "end", goto 119 + 0, // on "equation", error + 0, // on "flow", error + 0, // on "input", error + 0, // on "model", error + 0, // on "output", error + 0, // on "parameter", error + 0, // on "stream", error + 0, // on r#"\"[^\"\\\\]*\""#, error + 40, // on r#"[+-]?\\d+"#, goto 39 + 41, // on r#"[+-]?\\d+\\.\\d*([eE][-+]?\\d+)?"#, goto 40 + 42, // on r#"[a-zA-Z_][a-zA-Z_0-9]*"#, goto 41 + // State 79 0, // on "(", error 0, // on ")", error 0, // on "*", error @@ -13140,8 +7198,8 @@ mod __parse__model { 0, // on r#"\"[^\"\\\\]*\""#, error 0, // on r#"[+-]?\\d+"#, error 0, // on r#"[+-]?\\d+\\.\\d*([eE][-+]?\\d+)?"#, error - 74, // on r#"[a-zA-Z_][a-zA-Z_0-9]*"#, goto 73 - // State 75 + 78, // on r#"[a-zA-Z_][a-zA-Z_0-9]*"#, goto 77 + // State 80 0, // on "(", error 0, // on ")", error 0, // on "*", error @@ -13149,7 +7207,34 @@ mod __parse__model { 0, // on ",", error 0, // on "-", error 0, // on "/", error - 113, // on ";", goto 112 + 0, // on ";", error + 0, // on "=", error + 0, // on "abs", error + 0, // on "connect", error + 0, // on "constant", error + 0, // on "der", error + 0, // on "discrete", error + 0, // on "end", error + 0, // on "equation", error + 0, // on "flow", error + 0, // on "input", error + 0, // on "model", error + 0, // on "output", error + 0, // on "parameter", error + 0, // on "stream", error + 0, // on r#"\"[^\"\\\\]*\""#, error + 0, // on r#"[+-]?\\d+"#, error + 0, // on r#"[+-]?\\d+\\.\\d*([eE][-+]?\\d+)?"#, error + 78, // on r#"[a-zA-Z_][a-zA-Z_0-9]*"#, goto 77 + // State 81 + 0, // on "(", error + 0, // on ")", error + 0, // on "*", error + 0, // on "+", error + 0, // on ",", error + 0, // on "-", error + 0, // on "/", error + 123, // on ";", goto 122 0, // on "=", error 0, // on "abs", error 0, // on "connect", error @@ -13168,7 +7253,7 @@ mod __parse__model { 0, // on r#"[+-]?\\d+"#, error 0, // on r#"[+-]?\\d+\\.\\d*([eE][-+]?\\d+)?"#, error 0, // on r#"[a-zA-Z_][a-zA-Z_0-9]*"#, error - // State 76 + // State 82 0, // on "(", error 0, // on ")", error 0, // on "*", error @@ -13176,7 +7261,7 @@ mod __parse__model { 0, // on ",", error 0, // on "-", error 0, // on "/", error - 114, // on ";", goto 113 + 124, // on ";", goto 123 0, // on "=", error 0, // on "abs", error 0, // on "connect", error @@ -13195,7 +7280,7 @@ mod __parse__model { 0, // on r#"[+-]?\\d+"#, error 0, // on r#"[+-]?\\d+\\.\\d*([eE][-+]?\\d+)?"#, error 0, // on r#"[a-zA-Z_][a-zA-Z_0-9]*"#, error - // State 77 + // State 83 0, // on "(", error 0, // on ")", error 0, // on "*", error @@ -13207,22 +7292,22 @@ mod __parse__model { 0, // on "=", error 0, // on "abs", error 0, // on "connect", error - -9, // on "constant", reduce `component_declaration = component_prefix, identifier, identifier, ";" => ActionFn(59);` + -6, // on "constant", reduce `component_declaration = component_prefix, identifier, identifier, ";" => ActionFn(65);` 0, // on "der", error - -9, // on "discrete", reduce `component_declaration = component_prefix, identifier, identifier, ";" => ActionFn(59);` + -6, // on "discrete", reduce `component_declaration = component_prefix, identifier, identifier, ";" => ActionFn(65);` 0, // on "end", error - -9, // on "equation", reduce `component_declaration = component_prefix, identifier, identifier, ";" => ActionFn(59);` - -9, // on "flow", reduce `component_declaration = component_prefix, identifier, identifier, ";" => ActionFn(59);` - -9, // on "input", reduce `component_declaration = component_prefix, identifier, identifier, ";" => ActionFn(59);` + -6, // on "equation", reduce `component_declaration = component_prefix, identifier, identifier, ";" => ActionFn(65);` + -6, // on "flow", reduce `component_declaration = component_prefix, identifier, identifier, ";" => ActionFn(65);` + -6, // on "input", reduce `component_declaration = component_prefix, identifier, identifier, ";" => ActionFn(65);` 0, // on "model", error - -9, // on "output", reduce `component_declaration = component_prefix, identifier, identifier, ";" => ActionFn(59);` - -9, // on "parameter", reduce `component_declaration = component_prefix, identifier, identifier, ";" => ActionFn(59);` - -9, // on "stream", reduce `component_declaration = component_prefix, identifier, identifier, ";" => ActionFn(59);` + -6, // on "output", reduce `component_declaration = component_prefix, identifier, identifier, ";" => ActionFn(65);` + -6, // on "parameter", reduce `component_declaration = component_prefix, identifier, identifier, ";" => ActionFn(65);` + -6, // on "stream", reduce `component_declaration = component_prefix, identifier, identifier, ";" => ActionFn(65);` 0, // on r#"\"[^\"\\\\]*\""#, error 0, // on r#"[+-]?\\d+"#, error 0, // on r#"[+-]?\\d+\\.\\d*([eE][-+]?\\d+)?"#, error - -9, // on r#"[a-zA-Z_][a-zA-Z_0-9]*"#, reduce `component_declaration = component_prefix, identifier, identifier, ";" => ActionFn(59);` - // State 78 + -6, // on r#"[a-zA-Z_][a-zA-Z_0-9]*"#, reduce `component_declaration = component_prefix, identifier, identifier, ";" => ActionFn(65);` + // State 84 0, // on "(", error 0, // on ")", error 0, // on "*", error @@ -13234,22 +7319,49 @@ mod __parse__model { 0, // on "=", error 0, // on "abs", error 0, // on "connect", error - -10, // on "constant", reduce `component_declaration = identifier, identifier, string_literal, ";" => ActionFn(60);` + -7, // on "constant", reduce `component_declaration = identifier, identifier, string_literal, ";" => ActionFn(66);` 0, // on "der", error - -10, // on "discrete", reduce `component_declaration = identifier, identifier, string_literal, ";" => ActionFn(60);` + -7, // on "discrete", reduce `component_declaration = identifier, identifier, string_literal, ";" => ActionFn(66);` 0, // on "end", error - -10, // on "equation", reduce `component_declaration = identifier, identifier, string_literal, ";" => ActionFn(60);` - -10, // on "flow", reduce `component_declaration = identifier, identifier, string_literal, ";" => ActionFn(60);` - -10, // on "input", reduce `component_declaration = identifier, identifier, string_literal, ";" => ActionFn(60);` + -7, // on "equation", reduce `component_declaration = identifier, identifier, string_literal, ";" => ActionFn(66);` + -7, // on "flow", reduce `component_declaration = identifier, identifier, string_literal, ";" => ActionFn(66);` + -7, // on "input", reduce `component_declaration = identifier, identifier, string_literal, ";" => ActionFn(66);` 0, // on "model", error - -10, // on "output", reduce `component_declaration = identifier, identifier, string_literal, ";" => ActionFn(60);` - -10, // on "parameter", reduce `component_declaration = identifier, identifier, string_literal, ";" => ActionFn(60);` - -10, // on "stream", reduce `component_declaration = identifier, identifier, string_literal, ";" => ActionFn(60);` + -7, // on "output", reduce `component_declaration = identifier, identifier, string_literal, ";" => ActionFn(66);` + -7, // on "parameter", reduce `component_declaration = identifier, identifier, string_literal, ";" => ActionFn(66);` + -7, // on "stream", reduce `component_declaration = identifier, identifier, string_literal, ";" => ActionFn(66);` 0, // on r#"\"[^\"\\\\]*\""#, error 0, // on r#"[+-]?\\d+"#, error 0, // on r#"[+-]?\\d+\\.\\d*([eE][-+]?\\d+)?"#, error - -10, // on r#"[a-zA-Z_][a-zA-Z_0-9]*"#, reduce `component_declaration = identifier, identifier, string_literal, ";" => ActionFn(60);` - // State 79 + -7, // on r#"[a-zA-Z_][a-zA-Z_0-9]*"#, reduce `component_declaration = identifier, identifier, string_literal, ";" => ActionFn(66);` + // State 85 + 0, // on "(", error + 0, // on ")", error + 0, // on "*", error + 0, // on "+", error + 0, // on ",", error + 0, // on "-", error + 0, // on "/", error + 0, // on ";", error + 0, // on "=", error + 0, // on "abs", error + 0, // on "connect", error + 0, // on "constant", error + 0, // on "der", error + 0, // on "discrete", error + 0, // on "end", error + 0, // on "equation", error + 0, // on "flow", error + 0, // on "input", error + 0, // on "model", error + 0, // on "output", error + 0, // on "parameter", error + 0, // on "stream", error + 0, // on r#"\"[^\"\\\\]*\""#, error + 0, // on r#"[+-]?\\d+"#, error + 0, // on r#"[+-]?\\d+\\.\\d*([eE][-+]?\\d+)?"#, error + 78, // on r#"[a-zA-Z_][a-zA-Z_0-9]*"#, goto 77 + // State 86 0, // on "(", error 0, // on ")", error 0, // on "*", error @@ -13257,7 +7369,7 @@ mod __parse__model { 0, // on ",", error 0, // on "-", error 0, // on "/", error - 115, // on ";", goto 114 + 126, // on ";", goto 125 0, // on "=", error 0, // on "abs", error 0, // on "connect", error @@ -13276,16 +7388,16 @@ mod __parse__model { 0, // on r#"[+-]?\\d+"#, error 0, // on r#"[+-]?\\d+\\.\\d*([eE][-+]?\\d+)?"#, error 0, // on r#"[a-zA-Z_][a-zA-Z_0-9]*"#, error - // State 80 + // State 87 0, // on "(", error 0, // on ")", error - 54, // on "*", goto 53 - -32, // on "+", reduce `expr = expr, "+", factor => ActionFn(20);` + 56, // on "*", goto 55 + -27, // on "+", reduce `expr = expr, "+", factor => ActionFn(19);` 0, // on ",", error - -32, // on "-", reduce `expr = expr, "+", factor => ActionFn(20);` - 55, // on "/", goto 54 + -27, // on "-", reduce `expr = expr, "+", factor => ActionFn(19);` + 57, // on "/", goto 56 0, // on ";", error - -32, // on "=", reduce `expr = expr, "+", factor => ActionFn(20);` + -27, // on "=", reduce `expr = expr, "+", factor => ActionFn(19);` 0, // on "abs", error 0, // on "connect", error 0, // on "constant", error @@ -13303,16 +7415,16 @@ mod __parse__model { 0, // on r#"[+-]?\\d+"#, error 0, // on r#"[+-]?\\d+\\.\\d*([eE][-+]?\\d+)?"#, error 0, // on r#"[a-zA-Z_][a-zA-Z_0-9]*"#, error - // State 81 + // State 88 0, // on "(", error 0, // on ")", error - 54, // on "*", goto 53 - -33, // on "+", reduce `expr = expr, "-", factor => ActionFn(21);` + 56, // on "*", goto 55 + -28, // on "+", reduce `expr = expr, "-", factor => ActionFn(20);` 0, // on ",", error - -33, // on "-", reduce `expr = expr, "-", factor => ActionFn(21);` - 55, // on "/", goto 54 + -28, // on "-", reduce `expr = expr, "-", factor => ActionFn(20);` + 57, // on "/", goto 56 0, // on ";", error - -33, // on "=", reduce `expr = expr, "-", factor => ActionFn(21);` + -28, // on "=", reduce `expr = expr, "-", factor => ActionFn(20);` 0, // on "abs", error 0, // on "connect", error 0, // on "constant", error @@ -13330,15 +7442,15 @@ mod __parse__model { 0, // on r#"[+-]?\\d+"#, error 0, // on r#"[+-]?\\d+\\.\\d*([eE][-+]?\\d+)?"#, error 0, // on r#"[a-zA-Z_][a-zA-Z_0-9]*"#, error - // State 82 + // State 89 0, // on "(", error 0, // on ")", error 0, // on "*", error - 116, // on "+", goto 115 + 127, // on "+", goto 126 0, // on ",", error - 117, // on "-", goto 116 + 128, // on "-", goto 127 0, // on "/", error - 118, // on ";", goto 117 + 129, // on ";", goto 128 0, // on "=", error 0, // on "abs", error 0, // on "connect", error @@ -13357,15 +7469,15 @@ mod __parse__model { 0, // on r#"[+-]?\\d+"#, error 0, // on r#"[+-]?\\d+\\.\\d*([eE][-+]?\\d+)?"#, error 0, // on r#"[a-zA-Z_][a-zA-Z_0-9]*"#, error - // State 83 + // State 90 0, // on "(", error 0, // on ")", error - 119, // on "*", goto 118 - -34, // on "+", reduce `expr = factor => ActionFn(22);` + 130, // on "*", goto 129 + -29, // on "+", reduce `expr = factor => ActionFn(21);` 0, // on ",", error - -34, // on "-", reduce `expr = factor => ActionFn(22);` - 120, // on "/", goto 119 - -34, // on ";", reduce `expr = factor => ActionFn(22);` + -29, // on "-", reduce `expr = factor => ActionFn(21);` + 131, // on "/", goto 130 + -29, // on ";", reduce `expr = factor => ActionFn(21);` 0, // on "=", error 0, // on "abs", error 0, // on "connect", error @@ -13384,15 +7496,15 @@ mod __parse__model { 0, // on r#"[+-]?\\d+"#, error 0, // on r#"[+-]?\\d+\\.\\d*([eE][-+]?\\d+)?"#, error 0, // on r#"[a-zA-Z_][a-zA-Z_0-9]*"#, error - // State 84 + // State 91 0, // on "(", error 0, // on ")", error - -52, // on "*", reduce `term = float => ActionFn(28);` - -52, // on "+", reduce `term = float => ActionFn(28);` + -54, // on "*", reduce `term = float => ActionFn(27);` + -54, // on "+", reduce `term = float => ActionFn(27);` 0, // on ",", error - -52, // on "-", reduce `term = float => ActionFn(28);` - -52, // on "/", reduce `term = float => ActionFn(28);` - -52, // on ";", reduce `term = float => ActionFn(28);` + -54, // on "-", reduce `term = float => ActionFn(27);` + -54, // on "/", reduce `term = float => ActionFn(27);` + -54, // on ";", reduce `term = float => ActionFn(27);` 0, // on "=", error 0, // on "abs", error 0, // on "connect", error @@ -13411,15 +7523,15 @@ mod __parse__model { 0, // on r#"[+-]?\\d+"#, error 0, // on r#"[+-]?\\d+\\.\\d*([eE][-+]?\\d+)?"#, error 0, // on r#"[a-zA-Z_][a-zA-Z_0-9]*"#, error - // State 85 + // State 92 0, // on "(", error 0, // on ")", error - -53, // on "*", reduce `term = identifier => ActionFn(29);` - -53, // on "+", reduce `term = identifier => ActionFn(29);` + -55, // on "*", reduce `term = identifier => ActionFn(28);` + -55, // on "+", reduce `term = identifier => ActionFn(28);` 0, // on ",", error - -53, // on "-", reduce `term = identifier => ActionFn(29);` - -53, // on "/", reduce `term = identifier => ActionFn(29);` - -53, // on ";", reduce `term = identifier => ActionFn(29);` + -55, // on "-", reduce `term = identifier => ActionFn(28);` + -55, // on "/", reduce `term = identifier => ActionFn(28);` + -55, // on ";", reduce `term = identifier => ActionFn(28);` 0, // on "=", error 0, // on "abs", error 0, // on "connect", error @@ -13438,15 +7550,15 @@ mod __parse__model { 0, // on r#"[+-]?\\d+"#, error 0, // on r#"[+-]?\\d+\\.\\d*([eE][-+]?\\d+)?"#, error 0, // on r#"[a-zA-Z_][a-zA-Z_0-9]*"#, error - // State 86 + // State 93 0, // on "(", error 0, // on ")", error - -51, // on "*", reduce `term = integer => ActionFn(27);` - -51, // on "+", reduce `term = integer => ActionFn(27);` + -53, // on "*", reduce `term = integer => ActionFn(26);` + -53, // on "+", reduce `term = integer => ActionFn(26);` 0, // on ",", error - -51, // on "-", reduce `term = integer => ActionFn(27);` - -51, // on "/", reduce `term = integer => ActionFn(27);` - -51, // on ";", reduce `term = integer => ActionFn(27);` + -53, // on "-", reduce `term = integer => ActionFn(26);` + -53, // on "/", reduce `term = integer => ActionFn(26);` + -53, // on ";", reduce `term = integer => ActionFn(26);` 0, // on "=", error 0, // on "abs", error 0, // on "connect", error @@ -13465,15 +7577,15 @@ mod __parse__model { 0, // on r#"[+-]?\\d+"#, error 0, // on r#"[+-]?\\d+\\.\\d*([eE][-+]?\\d+)?"#, error 0, // on r#"[a-zA-Z_][a-zA-Z_0-9]*"#, error - // State 87 + // State 94 0, // on "(", error 0, // on ")", error - -38, // on "*", reduce `factor = term => ActionFn(26);` - -38, // on "+", reduce `factor = term => ActionFn(26);` + -33, // on "*", reduce `factor = term => ActionFn(25);` + -33, // on "+", reduce `factor = term => ActionFn(25);` 0, // on ",", error - -38, // on "-", reduce `factor = term => ActionFn(26);` - -38, // on "/", reduce `factor = term => ActionFn(26);` - -38, // on ";", reduce `factor = term => ActionFn(26);` + -33, // on "-", reduce `factor = term => ActionFn(25);` + -33, // on "/", reduce `factor = term => ActionFn(25);` + -33, // on ";", reduce `factor = term => ActionFn(25);` 0, // on "=", error 0, // on "abs", error 0, // on "connect", error @@ -13492,20 +7604,20 @@ mod __parse__model { 0, // on r#"[+-]?\\d+"#, error 0, // on r#"[+-]?\\d+\\.\\d*([eE][-+]?\\d+)?"#, error 0, // on r#"[a-zA-Z_][a-zA-Z_0-9]*"#, error - // State 88 - 62, // on "(", goto 61 + // State 95 + 66, // on "(", goto 65 0, // on ")", error 0, // on "*", error 0, // on "+", error 0, // on ",", error - 63, // on "-", goto 62 + 67, // on "-", goto 66 0, // on "/", error 0, // on ";", error 0, // on "=", error - 64, // on "abs", goto 63 + 68, // on "abs", goto 67 0, // on "connect", error 0, // on "constant", error - 65, // on "der", goto 64 + 69, // on "der", goto 68 0, // on "discrete", error 0, // on "end", error 0, // on "equation", error @@ -13516,11 +7628,11 @@ mod __parse__model { 0, // on "parameter", error 0, // on "stream", error 0, // on r#"\"[^\"\\\\]*\""#, error - 66, // on r#"[+-]?\\d+"#, goto 65 - 67, // on r#"[+-]?\\d+\\.\\d*([eE][-+]?\\d+)?"#, goto 66 - 68, // on r#"[a-zA-Z_][a-zA-Z_0-9]*"#, goto 67 - // State 89 - 89, // on "(", goto 88 + 70, // on r#"[+-]?\\d+"#, goto 69 + 71, // on r#"[+-]?\\d+\\.\\d*([eE][-+]?\\d+)?"#, goto 70 + 72, // on r#"[a-zA-Z_][a-zA-Z_0-9]*"#, goto 71 + // State 96 + 96, // on "(", goto 95 0, // on ")", error 0, // on "*", error 0, // on "+", error @@ -13529,10 +7641,10 @@ mod __parse__model { 0, // on "/", error 0, // on ";", error 0, // on "=", error - 91, // on "abs", goto 90 + 98, // on "abs", goto 97 0, // on "connect", error 0, // on "constant", error - 92, // on "der", goto 91 + 99, // on "der", goto 98 0, // on "discrete", error 0, // on "end", error 0, // on "equation", error @@ -13543,11 +7655,11 @@ mod __parse__model { 0, // on "parameter", error 0, // on "stream", error 0, // on r#"\"[^\"\\\\]*\""#, error - 93, // on r#"[+-]?\\d+"#, goto 92 - 94, // on r#"[+-]?\\d+\\.\\d*([eE][-+]?\\d+)?"#, goto 93 - 95, // on r#"[a-zA-Z_][a-zA-Z_0-9]*"#, goto 94 - // State 90 - 123, // on "(", goto 122 + 100, // on r#"[+-]?\\d+"#, goto 99 + 101, // on r#"[+-]?\\d+\\.\\d*([eE][-+]?\\d+)?"#, goto 100 + 102, // on r#"[a-zA-Z_][a-zA-Z_0-9]*"#, goto 101 + // State 97 + 134, // on "(", goto 133 0, // on ")", error 0, // on "*", error 0, // on "+", error @@ -13573,8 +7685,8 @@ mod __parse__model { 0, // on r#"[+-]?\\d+"#, error 0, // on r#"[+-]?\\d+\\.\\d*([eE][-+]?\\d+)?"#, error 0, // on r#"[a-zA-Z_][a-zA-Z_0-9]*"#, error - // State 91 - 124, // on "(", goto 123 + // State 98 + 135, // on "(", goto 134 0, // on ")", error 0, // on "*", error 0, // on "+", error @@ -13600,15 +7712,15 @@ mod __parse__model { 0, // on r#"[+-]?\\d+"#, error 0, // on r#"[+-]?\\d+\\.\\d*([eE][-+]?\\d+)?"#, error 0, // on r#"[a-zA-Z_][a-zA-Z_0-9]*"#, error - // State 92 + // State 99 0, // on "(", error 0, // on ")", error - -42, // on "*", reduce `integer = r#"[+-]?\\d+"# => ActionFn(5);` - -42, // on "+", reduce `integer = r#"[+-]?\\d+"# => ActionFn(5);` + -36, // on "*", reduce `integer = r#"[+-]?\\d+"# => ActionFn(6);` + -36, // on "+", reduce `integer = r#"[+-]?\\d+"# => ActionFn(6);` 0, // on ",", error - -42, // on "-", reduce `integer = r#"[+-]?\\d+"# => ActionFn(5);` - -42, // on "/", reduce `integer = r#"[+-]?\\d+"# => ActionFn(5);` - -42, // on ";", reduce `integer = r#"[+-]?\\d+"# => ActionFn(5);` + -36, // on "-", reduce `integer = r#"[+-]?\\d+"# => ActionFn(6);` + -36, // on "/", reduce `integer = r#"[+-]?\\d+"# => ActionFn(6);` + -36, // on ";", reduce `integer = r#"[+-]?\\d+"# => ActionFn(6);` 0, // on "=", error 0, // on "abs", error 0, // on "connect", error @@ -13627,15 +7739,15 @@ mod __parse__model { 0, // on r#"[+-]?\\d+"#, error 0, // on r#"[+-]?\\d+\\.\\d*([eE][-+]?\\d+)?"#, error 0, // on r#"[a-zA-Z_][a-zA-Z_0-9]*"#, error - // State 93 + // State 100 0, // on "(", error 0, // on ")", error - -40, // on "*", reduce `float = r#"[+-]?\\d+\\.\\d*([eE][-+]?\\d+)?"# => ActionFn(6);` - -40, // on "+", reduce `float = r#"[+-]?\\d+\\.\\d*([eE][-+]?\\d+)?"# => ActionFn(6);` + -34, // on "*", reduce `float = r#"[+-]?\\d+\\.\\d*([eE][-+]?\\d+)?"# => ActionFn(7);` + -34, // on "+", reduce `float = r#"[+-]?\\d+\\.\\d*([eE][-+]?\\d+)?"# => ActionFn(7);` 0, // on ",", error - -40, // on "-", reduce `float = r#"[+-]?\\d+\\.\\d*([eE][-+]?\\d+)?"# => ActionFn(6);` - -40, // on "/", reduce `float = r#"[+-]?\\d+\\.\\d*([eE][-+]?\\d+)?"# => ActionFn(6);` - -40, // on ";", reduce `float = r#"[+-]?\\d+\\.\\d*([eE][-+]?\\d+)?"# => ActionFn(6);` + -34, // on "-", reduce `float = r#"[+-]?\\d+\\.\\d*([eE][-+]?\\d+)?"# => ActionFn(7);` + -34, // on "/", reduce `float = r#"[+-]?\\d+\\.\\d*([eE][-+]?\\d+)?"# => ActionFn(7);` + -34, // on ";", reduce `float = r#"[+-]?\\d+\\.\\d*([eE][-+]?\\d+)?"# => ActionFn(7);` 0, // on "=", error 0, // on "abs", error 0, // on "connect", error @@ -13654,15 +7766,15 @@ mod __parse__model { 0, // on r#"[+-]?\\d+"#, error 0, // on r#"[+-]?\\d+\\.\\d*([eE][-+]?\\d+)?"#, error 0, // on r#"[a-zA-Z_][a-zA-Z_0-9]*"#, error - // State 94 + // State 101 0, // on "(", error 0, // on ")", error - -41, // on "*", reduce `identifier = r#"[a-zA-Z_][a-zA-Z_0-9]*"# => ActionFn(3);` - -41, // on "+", reduce `identifier = r#"[a-zA-Z_][a-zA-Z_0-9]*"# => ActionFn(3);` + -35, // on "*", reduce `identifier = r#"[a-zA-Z_][a-zA-Z_0-9]*"# => ActionFn(4);` + -35, // on "+", reduce `identifier = r#"[a-zA-Z_][a-zA-Z_0-9]*"# => ActionFn(4);` 0, // on ",", error - -41, // on "-", reduce `identifier = r#"[a-zA-Z_][a-zA-Z_0-9]*"# => ActionFn(3);` - -41, // on "/", reduce `identifier = r#"[a-zA-Z_][a-zA-Z_0-9]*"# => ActionFn(3);` - -41, // on ";", reduce `identifier = r#"[a-zA-Z_][a-zA-Z_0-9]*"# => ActionFn(3);` + -35, // on "-", reduce `identifier = r#"[a-zA-Z_][a-zA-Z_0-9]*"# => ActionFn(4);` + -35, // on "/", reduce `identifier = r#"[a-zA-Z_][a-zA-Z_0-9]*"# => ActionFn(4);` + -35, // on ";", reduce `identifier = r#"[a-zA-Z_][a-zA-Z_0-9]*"# => ActionFn(4);` 0, // on "=", error 0, // on "abs", error 0, // on "connect", error @@ -13681,16 +7793,16 @@ mod __parse__model { 0, // on r#"[+-]?\\d+"#, error 0, // on r#"[+-]?\\d+\\.\\d*([eE][-+]?\\d+)?"#, error 0, // on r#"[a-zA-Z_][a-zA-Z_0-9]*"#, error - // State 95 + // State 102 0, // on "(", error 0, // on ")", error - -35, // on "*", reduce `factor = factor, "*", term => ActionFn(23);` - -35, // on "+", reduce `factor = factor, "*", term => ActionFn(23);` + -30, // on "*", reduce `factor = factor, "*", term => ActionFn(22);` + -30, // on "+", reduce `factor = factor, "*", term => ActionFn(22);` 0, // on ",", error - -35, // on "-", reduce `factor = factor, "*", term => ActionFn(23);` - -35, // on "/", reduce `factor = factor, "*", term => ActionFn(23);` + -30, // on "-", reduce `factor = factor, "*", term => ActionFn(22);` + -30, // on "/", reduce `factor = factor, "*", term => ActionFn(22);` 0, // on ";", error - -35, // on "=", reduce `factor = factor, "*", term => ActionFn(23);` + -30, // on "=", reduce `factor = factor, "*", term => ActionFn(22);` 0, // on "abs", error 0, // on "connect", error 0, // on "constant", error @@ -13708,16 +7820,16 @@ mod __parse__model { 0, // on r#"[+-]?\\d+"#, error 0, // on r#"[+-]?\\d+\\.\\d*([eE][-+]?\\d+)?"#, error 0, // on r#"[a-zA-Z_][a-zA-Z_0-9]*"#, error - // State 96 + // State 103 0, // on "(", error 0, // on ")", error - -36, // on "*", reduce `factor = factor, "/", term => ActionFn(24);` - -36, // on "+", reduce `factor = factor, "/", term => ActionFn(24);` + -31, // on "*", reduce `factor = factor, "/", term => ActionFn(23);` + -31, // on "+", reduce `factor = factor, "/", term => ActionFn(23);` 0, // on ",", error - -36, // on "-", reduce `factor = factor, "/", term => ActionFn(24);` - -36, // on "/", reduce `factor = factor, "/", term => ActionFn(24);` + -31, // on "-", reduce `factor = factor, "/", term => ActionFn(23);` + -31, // on "/", reduce `factor = factor, "/", term => ActionFn(23);` 0, // on ";", error - -36, // on "=", reduce `factor = factor, "/", term => ActionFn(24);` + -31, // on "=", reduce `factor = factor, "/", term => ActionFn(23);` 0, // on "abs", error 0, // on "connect", error 0, // on "constant", error @@ -13735,16 +7847,43 @@ mod __parse__model { 0, // on r#"[+-]?\\d+"#, error 0, // on r#"[+-]?\\d+\\.\\d*([eE][-+]?\\d+)?"#, error 0, // on r#"[a-zA-Z_][a-zA-Z_0-9]*"#, error - // State 97 + // State 104 + 0, // on "(", error + 0, // on ")", error + 0, // on "*", error + 0, // on "+", error + 0, // on ",", error + 0, // on "-", error + 0, // on "/", error + 136, // on ";", goto 135 + 0, // on "=", error + 0, // on "abs", error + 0, // on "connect", error + 0, // on "constant", error + 0, // on "der", error + 0, // on "discrete", error + 0, // on "end", error + 0, // on "equation", error + 0, // on "flow", error + 0, // on "input", error + 0, // on "model", error + 0, // on "output", error + 0, // on "parameter", error + 0, // on "stream", error + 0, // on r#"\"[^\"\\\\]*\""#, error + 0, // on r#"[+-]?\\d+"#, error + 0, // on r#"[+-]?\\d+\\.\\d*([eE][-+]?\\d+)?"#, error + 0, // on r#"[a-zA-Z_][a-zA-Z_0-9]*"#, error + // State 105 0, // on "(", error 0, // on ")", error - -56, // on "*", reduce `term = "(", expr, ")" => ActionFn(32);` - -56, // on "+", reduce `term = "(", expr, ")" => ActionFn(32);` + -58, // on "*", reduce `term = "(", expr, ")" => ActionFn(31);` + -58, // on "+", reduce `term = "(", expr, ")" => ActionFn(31);` 0, // on ",", error - -56, // on "-", reduce `term = "(", expr, ")" => ActionFn(32);` - -56, // on "/", reduce `term = "(", expr, ")" => ActionFn(32);` + -58, // on "-", reduce `term = "(", expr, ")" => ActionFn(31);` + -58, // on "/", reduce `term = "(", expr, ")" => ActionFn(31);` 0, // on ";", error - -56, // on "=", reduce `term = "(", expr, ")" => ActionFn(32);` + -58, // on "=", reduce `term = "(", expr, ")" => ActionFn(31);` 0, // on "abs", error 0, // on "connect", error 0, // on "constant", error @@ -13762,20 +7901,20 @@ mod __parse__model { 0, // on r#"[+-]?\\d+"#, error 0, // on r#"[+-]?\\d+\\.\\d*([eE][-+]?\\d+)?"#, error 0, // on r#"[a-zA-Z_][a-zA-Z_0-9]*"#, error - // State 98 - 62, // on "(", goto 61 + // State 106 + 66, // on "(", goto 65 0, // on ")", error 0, // on "*", error 0, // on "+", error 0, // on ",", error - 63, // on "-", goto 62 + 67, // on "-", goto 66 0, // on "/", error 0, // on ";", error 0, // on "=", error - 64, // on "abs", goto 63 + 68, // on "abs", goto 67 0, // on "connect", error 0, // on "constant", error - 65, // on "der", goto 64 + 69, // on "der", goto 68 0, // on "discrete", error 0, // on "end", error 0, // on "equation", error @@ -13786,23 +7925,23 @@ mod __parse__model { 0, // on "parameter", error 0, // on "stream", error 0, // on r#"\"[^\"\\\\]*\""#, error - 66, // on r#"[+-]?\\d+"#, goto 65 - 67, // on r#"[+-]?\\d+\\.\\d*([eE][-+]?\\d+)?"#, goto 66 - 68, // on r#"[a-zA-Z_][a-zA-Z_0-9]*"#, goto 67 - // State 99 - 62, // on "(", goto 61 + 70, // on r#"[+-]?\\d+"#, goto 69 + 71, // on r#"[+-]?\\d+\\.\\d*([eE][-+]?\\d+)?"#, goto 70 + 72, // on r#"[a-zA-Z_][a-zA-Z_0-9]*"#, goto 71 + // State 107 + 66, // on "(", goto 65 0, // on ")", error 0, // on "*", error 0, // on "+", error 0, // on ",", error - 63, // on "-", goto 62 + 67, // on "-", goto 66 0, // on "/", error 0, // on ";", error 0, // on "=", error - 64, // on "abs", goto 63 + 68, // on "abs", goto 67 0, // on "connect", error 0, // on "constant", error - 65, // on "der", goto 64 + 69, // on "der", goto 68 0, // on "discrete", error 0, // on "end", error 0, // on "equation", error @@ -13813,11 +7952,11 @@ mod __parse__model { 0, // on "parameter", error 0, // on "stream", error 0, // on r#"\"[^\"\\\\]*\""#, error - 66, // on r#"[+-]?\\d+"#, goto 65 - 67, // on r#"[+-]?\\d+\\.\\d*([eE][-+]?\\d+)?"#, goto 66 - 68, // on r#"[a-zA-Z_][a-zA-Z_0-9]*"#, goto 67 - // State 100 - 62, // on "(", goto 61 + 70, // on r#"[+-]?\\d+"#, goto 69 + 71, // on r#"[+-]?\\d+\\.\\d*([eE][-+]?\\d+)?"#, goto 70 + 72, // on r#"[a-zA-Z_][a-zA-Z_0-9]*"#, goto 71 + // State 108 + 66, // on "(", goto 65 0, // on ")", error 0, // on "*", error 0, // on "+", error @@ -13826,10 +7965,10 @@ mod __parse__model { 0, // on "/", error 0, // on ";", error 0, // on "=", error - 64, // on "abs", goto 63 + 68, // on "abs", goto 67 0, // on "connect", error 0, // on "constant", error - 65, // on "der", goto 64 + 69, // on "der", goto 68 0, // on "discrete", error 0, // on "end", error 0, // on "equation", error @@ -13840,11 +7979,11 @@ mod __parse__model { 0, // on "parameter", error 0, // on "stream", error 0, // on r#"\"[^\"\\\\]*\""#, error - 66, // on r#"[+-]?\\d+"#, goto 65 - 67, // on r#"[+-]?\\d+\\.\\d*([eE][-+]?\\d+)?"#, goto 66 - 68, // on r#"[a-zA-Z_][a-zA-Z_0-9]*"#, goto 67 - // State 101 - 62, // on "(", goto 61 + 70, // on r#"[+-]?\\d+"#, goto 69 + 71, // on r#"[+-]?\\d+\\.\\d*([eE][-+]?\\d+)?"#, goto 70 + 72, // on r#"[a-zA-Z_][a-zA-Z_0-9]*"#, goto 71 + // State 109 + 66, // on "(", goto 65 0, // on ")", error 0, // on "*", error 0, // on "+", error @@ -13853,10 +7992,10 @@ mod __parse__model { 0, // on "/", error 0, // on ";", error 0, // on "=", error - 64, // on "abs", goto 63 + 68, // on "abs", goto 67 0, // on "connect", error 0, // on "constant", error - 65, // on "der", goto 64 + 69, // on "der", goto 68 0, // on "discrete", error 0, // on "end", error 0, // on "equation", error @@ -13867,16 +8006,16 @@ mod __parse__model { 0, // on "parameter", error 0, // on "stream", error 0, // on r#"\"[^\"\\\\]*\""#, error - 66, // on r#"[+-]?\\d+"#, goto 65 - 67, // on r#"[+-]?\\d+\\.\\d*([eE][-+]?\\d+)?"#, goto 66 - 68, // on r#"[a-zA-Z_][a-zA-Z_0-9]*"#, goto 67 - // State 102 + 70, // on r#"[+-]?\\d+"#, goto 69 + 71, // on r#"[+-]?\\d+\\.\\d*([eE][-+]?\\d+)?"#, goto 70 + 72, // on r#"[a-zA-Z_][a-zA-Z_0-9]*"#, goto 71 + // State 110 0, // on "(", error - 129, // on ")", goto 128 + 141, // on ")", goto 140 0, // on "*", error - 99, // on "+", goto 98 + 107, // on "+", goto 106 0, // on ",", error - 100, // on "-", goto 99 + 108, // on "-", goto 107 0, // on "/", error 0, // on ";", error 0, // on "=", error @@ -13897,14 +8036,14 @@ mod __parse__model { 0, // on r#"[+-]?\\d+"#, error 0, // on r#"[+-]?\\d+\\.\\d*([eE][-+]?\\d+)?"#, error 0, // on r#"[a-zA-Z_][a-zA-Z_0-9]*"#, error - // State 103 + // State 111 0, // on "(", error - -37, // on ")", reduce `factor = "-", term => ActionFn(25);` - -37, // on "*", reduce `factor = "-", term => ActionFn(25);` - -37, // on "+", reduce `factor = "-", term => ActionFn(25);` + -32, // on ")", reduce `factor = "-", term => ActionFn(24);` + -32, // on "*", reduce `factor = "-", term => ActionFn(24);` + -32, // on "+", reduce `factor = "-", term => ActionFn(24);` 0, // on ",", error - -37, // on "-", reduce `factor = "-", term => ActionFn(25);` - -37, // on "/", reduce `factor = "-", term => ActionFn(25);` + -32, // on "-", reduce `factor = "-", term => ActionFn(24);` + -32, // on "/", reduce `factor = "-", term => ActionFn(24);` 0, // on ";", error 0, // on "=", error 0, // on "abs", error @@ -13924,20 +8063,20 @@ mod __parse__model { 0, // on r#"[+-]?\\d+"#, error 0, // on r#"[+-]?\\d+\\.\\d*([eE][-+]?\\d+)?"#, error 0, // on r#"[a-zA-Z_][a-zA-Z_0-9]*"#, error - // State 104 - 62, // on "(", goto 61 + // State 112 + 66, // on "(", goto 65 0, // on ")", error 0, // on "*", error 0, // on "+", error 0, // on ",", error - 63, // on "-", goto 62 + 67, // on "-", goto 66 0, // on "/", error 0, // on ";", error 0, // on "=", error - 64, // on "abs", goto 63 + 68, // on "abs", goto 67 0, // on "connect", error 0, // on "constant", error - 65, // on "der", goto 64 + 69, // on "der", goto 68 0, // on "discrete", error 0, // on "end", error 0, // on "equation", error @@ -13948,23 +8087,23 @@ mod __parse__model { 0, // on "parameter", error 0, // on "stream", error 0, // on r#"\"[^\"\\\\]*\""#, error - 66, // on r#"[+-]?\\d+"#, goto 65 - 67, // on r#"[+-]?\\d+\\.\\d*([eE][-+]?\\d+)?"#, goto 66 - 68, // on r#"[a-zA-Z_][a-zA-Z_0-9]*"#, goto 67 - // State 105 - 62, // on "(", goto 61 + 70, // on r#"[+-]?\\d+"#, goto 69 + 71, // on r#"[+-]?\\d+\\.\\d*([eE][-+]?\\d+)?"#, goto 70 + 72, // on r#"[a-zA-Z_][a-zA-Z_0-9]*"#, goto 71 + // State 113 + 66, // on "(", goto 65 0, // on ")", error 0, // on "*", error 0, // on "+", error 0, // on ",", error - 63, // on "-", goto 62 + 67, // on "-", goto 66 0, // on "/", error 0, // on ";", error 0, // on "=", error - 64, // on "abs", goto 63 + 68, // on "abs", goto 67 0, // on "connect", error 0, // on "constant", error - 65, // on "der", goto 64 + 69, // on "der", goto 68 0, // on "discrete", error 0, // on "end", error 0, // on "equation", error @@ -13975,16 +8114,16 @@ mod __parse__model { 0, // on "parameter", error 0, // on "stream", error 0, // on r#"\"[^\"\\\\]*\""#, error - 66, // on r#"[+-]?\\d+"#, goto 65 - 67, // on r#"[+-]?\\d+\\.\\d*([eE][-+]?\\d+)?"#, goto 66 - 68, // on r#"[a-zA-Z_][a-zA-Z_0-9]*"#, goto 67 - // State 106 + 70, // on r#"[+-]?\\d+"#, goto 69 + 71, // on r#"[+-]?\\d+\\.\\d*([eE][-+]?\\d+)?"#, goto 70 + 72, // on r#"[a-zA-Z_][a-zA-Z_0-9]*"#, goto 71 + // State 114 0, // on "(", error - 132, // on ")", goto 131 + 144, // on ")", goto 143 0, // on "*", error - 99, // on "+", goto 98 + 107, // on "+", goto 106 0, // on ",", error - 100, // on "-", goto 99 + 108, // on "-", goto 107 0, // on "/", error 0, // on ";", error 0, // on "=", error @@ -14005,12 +8144,12 @@ mod __parse__model { 0, // on r#"[+-]?\\d+"#, error 0, // on r#"[+-]?\\d+\\.\\d*([eE][-+]?\\d+)?"#, error 0, // on r#"[a-zA-Z_][a-zA-Z_0-9]*"#, error - // State 107 + // State 115 0, // on "(", error 0, // on ")", error 0, // on "*", error 0, // on "+", error - 133, // on ",", goto 132 + 145, // on ",", goto 144 0, // on "-", error 0, // on "/", error 0, // on ";", error @@ -14032,12 +8171,12 @@ mod __parse__model { 0, // on r#"[+-]?\\d+"#, error 0, // on r#"[+-]?\\d+\\.\\d*([eE][-+]?\\d+)?"#, error 0, // on r#"[a-zA-Z_][a-zA-Z_0-9]*"#, error - // State 108 + // State 116 0, // on "(", error 0, // on ")", error 0, // on "*", error 0, // on "+", error - -41, // on ",", reduce `identifier = r#"[a-zA-Z_][a-zA-Z_0-9]*"# => ActionFn(3);` + -35, // on ",", reduce `identifier = r#"[a-zA-Z_][a-zA-Z_0-9]*"# => ActionFn(4);` 0, // on "-", error 0, // on "/", error 0, // on ";", error @@ -14059,13 +8198,13 @@ mod __parse__model { 0, // on r#"[+-]?\\d+"#, error 0, // on r#"[+-]?\\d+\\.\\d*([eE][-+]?\\d+)?"#, error 0, // on r#"[a-zA-Z_][a-zA-Z_0-9]*"#, error - // State 109 + // State 117 0, // on "(", error - 134, // on ")", goto 133 + 146, // on ")", goto 145 0, // on "*", error - 99, // on "+", goto 98 + 107, // on "+", goto 106 0, // on ",", error - 100, // on "-", goto 99 + 108, // on "-", goto 107 0, // on "/", error 0, // on ";", error 0, // on "=", error @@ -14086,7 +8225,7 @@ mod __parse__model { 0, // on r#"[+-]?\\d+"#, error 0, // on r#"[+-]?\\d+\\.\\d*([eE][-+]?\\d+)?"#, error 0, // on r#"[a-zA-Z_][a-zA-Z_0-9]*"#, error - // State 110 + // State 118 0, // on "(", error 0, // on ")", error 0, // on "*", error @@ -14113,7 +8252,7 @@ mod __parse__model { 0, // on r#"[+-]?\\d+"#, error 0, // on r#"[+-]?\\d+\\.\\d*([eE][-+]?\\d+)?"#, error 0, // on r#"[a-zA-Z_][a-zA-Z_0-9]*"#, error - // State 111 + // State 119 0, // on "(", error 0, // on ")", error 0, // on "*", error @@ -14121,7 +8260,34 @@ mod __parse__model { 0, // on ",", error 0, // on "-", error 0, // on "/", error - 135, // on ";", goto 134 + 0, // on ";", error + 0, // on "=", error + 0, // on "abs", error + 0, // on "connect", error + 0, // on "constant", error + 0, // on "der", error + 0, // on "discrete", error + 0, // on "end", error + 0, // on "equation", error + 0, // on "flow", error + 0, // on "input", error + 0, // on "model", error + 0, // on "output", error + 0, // on "parameter", error + 0, // on "stream", error + 0, // on r#"\"[^\"\\\\]*\""#, error + 0, // on r#"[+-]?\\d+"#, error + 0, // on r#"[+-]?\\d+\\.\\d*([eE][-+]?\\d+)?"#, error + 78, // on r#"[a-zA-Z_][a-zA-Z_0-9]*"#, goto 77 + // State 120 + 0, // on "(", error + 0, // on ")", error + 0, // on "*", error + 0, // on "+", error + 0, // on ",", error + 0, // on "-", error + 0, // on "/", error + 148, // on ";", goto 147 0, // on "=", error 0, // on "abs", error 0, // on "connect", error @@ -14140,7 +8306,34 @@ mod __parse__model { 0, // on r#"[+-]?\\d+"#, error 0, // on r#"[+-]?\\d+\\.\\d*([eE][-+]?\\d+)?"#, error 0, // on r#"[a-zA-Z_][a-zA-Z_0-9]*"#, error - // State 112 + // State 121 + 0, // on "(", error + 0, // on ")", error + 0, // on "*", error + 0, // on "+", error + 0, // on ",", error + 0, // on "-", error + 0, // on "/", error + 149, // on ";", goto 148 + 0, // on "=", error + 0, // on "abs", error + 0, // on "connect", error + 0, // on "constant", error + 0, // on "der", error + 0, // on "discrete", error + 0, // on "end", error + 0, // on "equation", error + 0, // on "flow", error + 0, // on "input", error + 0, // on "model", error + 0, // on "output", error + 0, // on "parameter", error + 0, // on "stream", error + 0, // on r#"\"[^\"\\\\]*\""#, error + 0, // on r#"[+-]?\\d+"#, error + 0, // on r#"[+-]?\\d+\\.\\d*([eE][-+]?\\d+)?"#, error + 0, // on r#"[a-zA-Z_][a-zA-Z_0-9]*"#, error + // State 122 0, // on "(", error 0, // on ")", error 0, // on "*", error @@ -14167,7 +8360,7 @@ mod __parse__model { 0, // on r#"[+-]?\\d+"#, error 0, // on r#"[+-]?\\d+\\.\\d*([eE][-+]?\\d+)?"#, error 0, // on r#"[a-zA-Z_][a-zA-Z_0-9]*"#, error - // State 113 + // State 123 0, // on "(", error 0, // on ")", error 0, // on "*", error @@ -14179,22 +8372,49 @@ mod __parse__model { 0, // on "=", error 0, // on "abs", error 0, // on "connect", error - -8, // on "constant", reduce `component_declaration = component_prefix, identifier, identifier, string_literal, ";" => ActionFn(58);` + -5, // on "constant", reduce `component_declaration = component_prefix, identifier, identifier, string_literal, ";" => ActionFn(64);` 0, // on "der", error - -8, // on "discrete", reduce `component_declaration = component_prefix, identifier, identifier, string_literal, ";" => ActionFn(58);` + -5, // on "discrete", reduce `component_declaration = component_prefix, identifier, identifier, string_literal, ";" => ActionFn(64);` 0, // on "end", error - -8, // on "equation", reduce `component_declaration = component_prefix, identifier, identifier, string_literal, ";" => ActionFn(58);` - -8, // on "flow", reduce `component_declaration = component_prefix, identifier, identifier, string_literal, ";" => ActionFn(58);` - -8, // on "input", reduce `component_declaration = component_prefix, identifier, identifier, string_literal, ";" => ActionFn(58);` + -5, // on "equation", reduce `component_declaration = component_prefix, identifier, identifier, string_literal, ";" => ActionFn(64);` + -5, // on "flow", reduce `component_declaration = component_prefix, identifier, identifier, string_literal, ";" => ActionFn(64);` + -5, // on "input", reduce `component_declaration = component_prefix, identifier, identifier, string_literal, ";" => ActionFn(64);` 0, // on "model", error - -8, // on "output", reduce `component_declaration = component_prefix, identifier, identifier, string_literal, ";" => ActionFn(58);` - -8, // on "parameter", reduce `component_declaration = component_prefix, identifier, identifier, string_literal, ";" => ActionFn(58);` - -8, // on "stream", reduce `component_declaration = component_prefix, identifier, identifier, string_literal, ";" => ActionFn(58);` + -5, // on "output", reduce `component_declaration = component_prefix, identifier, identifier, string_literal, ";" => ActionFn(64);` + -5, // on "parameter", reduce `component_declaration = component_prefix, identifier, identifier, string_literal, ";" => ActionFn(64);` + -5, // on "stream", reduce `component_declaration = component_prefix, identifier, identifier, string_literal, ";" => ActionFn(64);` 0, // on r#"\"[^\"\\\\]*\""#, error 0, // on r#"[+-]?\\d+"#, error 0, // on r#"[+-]?\\d+\\.\\d*([eE][-+]?\\d+)?"#, error - -8, // on r#"[a-zA-Z_][a-zA-Z_0-9]*"#, reduce `component_declaration = component_prefix, identifier, identifier, string_literal, ";" => ActionFn(58);` - // State 114 + -5, // on r#"[a-zA-Z_][a-zA-Z_0-9]*"#, reduce `component_declaration = component_prefix, identifier, identifier, string_literal, ";" => ActionFn(64);` + // State 124 + 0, // on "(", error + 0, // on ")", error + 0, // on "*", error + 0, // on "+", error + 0, // on ",", error + 0, // on "-", error + 0, // on "/", error + 150, // on ";", goto 149 + 0, // on "=", error + 0, // on "abs", error + 0, // on "connect", error + 0, // on "constant", error + 0, // on "der", error + 0, // on "discrete", error + 0, // on "end", error + 0, // on "equation", error + 0, // on "flow", error + 0, // on "input", error + 0, // on "model", error + 0, // on "output", error + 0, // on "parameter", error + 0, // on "stream", error + 0, // on r#"\"[^\"\\\\]*\""#, error + 0, // on r#"[+-]?\\d+"#, error + 0, // on r#"[+-]?\\d+\\.\\d*([eE][-+]?\\d+)?"#, error + 0, // on r#"[a-zA-Z_][a-zA-Z_0-9]*"#, error + // State 125 0, // on "(", error 0, // on ")", error 0, // on "*", error @@ -14221,20 +8441,20 @@ mod __parse__model { 0, // on r#"[+-]?\\d+"#, error 0, // on r#"[+-]?\\d+\\.\\d*([eE][-+]?\\d+)?"#, error 0, // on r#"[a-zA-Z_][a-zA-Z_0-9]*"#, error - // State 115 - 89, // on "(", goto 88 + // State 126 + 96, // on "(", goto 95 0, // on ")", error 0, // on "*", error 0, // on "+", error 0, // on ",", error - 90, // on "-", goto 89 + 97, // on "-", goto 96 0, // on "/", error 0, // on ";", error 0, // on "=", error - 91, // on "abs", goto 90 + 98, // on "abs", goto 97 0, // on "connect", error 0, // on "constant", error - 92, // on "der", goto 91 + 99, // on "der", goto 98 0, // on "discrete", error 0, // on "end", error 0, // on "equation", error @@ -14245,23 +8465,23 @@ mod __parse__model { 0, // on "parameter", error 0, // on "stream", error 0, // on r#"\"[^\"\\\\]*\""#, error - 93, // on r#"[+-]?\\d+"#, goto 92 - 94, // on r#"[+-]?\\d+\\.\\d*([eE][-+]?\\d+)?"#, goto 93 - 95, // on r#"[a-zA-Z_][a-zA-Z_0-9]*"#, goto 94 - // State 116 - 89, // on "(", goto 88 + 100, // on r#"[+-]?\\d+"#, goto 99 + 101, // on r#"[+-]?\\d+\\.\\d*([eE][-+]?\\d+)?"#, goto 100 + 102, // on r#"[a-zA-Z_][a-zA-Z_0-9]*"#, goto 101 + // State 127 + 96, // on "(", goto 95 0, // on ")", error 0, // on "*", error 0, // on "+", error 0, // on ",", error - 90, // on "-", goto 89 + 97, // on "-", goto 96 0, // on "/", error 0, // on ";", error 0, // on "=", error - 91, // on "abs", goto 90 + 98, // on "abs", goto 97 0, // on "connect", error 0, // on "constant", error - 92, // on "der", goto 91 + 99, // on "der", goto 98 0, // on "discrete", error 0, // on "end", error 0, // on "equation", error @@ -14272,25 +8492,25 @@ mod __parse__model { 0, // on "parameter", error 0, // on "stream", error 0, // on r#"\"[^\"\\\\]*\""#, error - 93, // on r#"[+-]?\\d+"#, goto 92 - 94, // on r#"[+-]?\\d+\\.\\d*([eE][-+]?\\d+)?"#, goto 93 - 95, // on r#"[a-zA-Z_][a-zA-Z_0-9]*"#, goto 94 - // State 117 - -47, // on "(", reduce `simple_equation = expr, "=", expr, ";" => ActionFn(18);` + 100, // on r#"[+-]?\\d+"#, goto 99 + 101, // on r#"[+-]?\\d+\\.\\d*([eE][-+]?\\d+)?"#, goto 100 + 102, // on r#"[a-zA-Z_][a-zA-Z_0-9]*"#, goto 101 + // State 128 + -45, // on "(", reduce `simple_equation = expr, "=", expr, ";" => ActionFn(17);` 0, // on ")", error 0, // on "*", error 0, // on "+", error 0, // on ",", error - -47, // on "-", reduce `simple_equation = expr, "=", expr, ";" => ActionFn(18);` + -45, // on "-", reduce `simple_equation = expr, "=", expr, ";" => ActionFn(17);` 0, // on "/", error 0, // on ";", error 0, // on "=", error - -47, // on "abs", reduce `simple_equation = expr, "=", expr, ";" => ActionFn(18);` - -47, // on "connect", reduce `simple_equation = expr, "=", expr, ";" => ActionFn(18);` + -45, // on "abs", reduce `simple_equation = expr, "=", expr, ";" => ActionFn(17);` + 0, // on "connect", error 0, // on "constant", error - -47, // on "der", reduce `simple_equation = expr, "=", expr, ";" => ActionFn(18);` + -45, // on "der", reduce `simple_equation = expr, "=", expr, ";" => ActionFn(17);` 0, // on "discrete", error - -47, // on "end", reduce `simple_equation = expr, "=", expr, ";" => ActionFn(18);` + -45, // on "end", reduce `simple_equation = expr, "=", expr, ";" => ActionFn(17);` 0, // on "equation", error 0, // on "flow", error 0, // on "input", error @@ -14299,11 +8519,11 @@ mod __parse__model { 0, // on "parameter", error 0, // on "stream", error 0, // on r#"\"[^\"\\\\]*\""#, error - -47, // on r#"[+-]?\\d+"#, reduce `simple_equation = expr, "=", expr, ";" => ActionFn(18);` - -47, // on r#"[+-]?\\d+\\.\\d*([eE][-+]?\\d+)?"#, reduce `simple_equation = expr, "=", expr, ";" => ActionFn(18);` - -47, // on r#"[a-zA-Z_][a-zA-Z_0-9]*"#, reduce `simple_equation = expr, "=", expr, ";" => ActionFn(18);` - // State 118 - 89, // on "(", goto 88 + -45, // on r#"[+-]?\\d+"#, reduce `simple_equation = expr, "=", expr, ";" => ActionFn(17);` + -45, // on r#"[+-]?\\d+\\.\\d*([eE][-+]?\\d+)?"#, reduce `simple_equation = expr, "=", expr, ";" => ActionFn(17);` + -45, // on r#"[a-zA-Z_][a-zA-Z_0-9]*"#, reduce `simple_equation = expr, "=", expr, ";" => ActionFn(17);` + // State 129 + 96, // on "(", goto 95 0, // on ")", error 0, // on "*", error 0, // on "+", error @@ -14312,10 +8532,10 @@ mod __parse__model { 0, // on "/", error 0, // on ";", error 0, // on "=", error - 91, // on "abs", goto 90 + 98, // on "abs", goto 97 0, // on "connect", error 0, // on "constant", error - 92, // on "der", goto 91 + 99, // on "der", goto 98 0, // on "discrete", error 0, // on "end", error 0, // on "equation", error @@ -14326,11 +8546,11 @@ mod __parse__model { 0, // on "parameter", error 0, // on "stream", error 0, // on r#"\"[^\"\\\\]*\""#, error - 93, // on r#"[+-]?\\d+"#, goto 92 - 94, // on r#"[+-]?\\d+\\.\\d*([eE][-+]?\\d+)?"#, goto 93 - 95, // on r#"[a-zA-Z_][a-zA-Z_0-9]*"#, goto 94 - // State 119 - 89, // on "(", goto 88 + 100, // on r#"[+-]?\\d+"#, goto 99 + 101, // on r#"[+-]?\\d+\\.\\d*([eE][-+]?\\d+)?"#, goto 100 + 102, // on r#"[a-zA-Z_][a-zA-Z_0-9]*"#, goto 101 + // State 130 + 96, // on "(", goto 95 0, // on ")", error 0, // on "*", error 0, // on "+", error @@ -14339,10 +8559,10 @@ mod __parse__model { 0, // on "/", error 0, // on ";", error 0, // on "=", error - 91, // on "abs", goto 90 + 98, // on "abs", goto 97 0, // on "connect", error 0, // on "constant", error - 92, // on "der", goto 91 + 99, // on "der", goto 98 0, // on "discrete", error 0, // on "end", error 0, // on "equation", error @@ -14353,16 +8573,16 @@ mod __parse__model { 0, // on "parameter", error 0, // on "stream", error 0, // on r#"\"[^\"\\\\]*\""#, error - 93, // on r#"[+-]?\\d+"#, goto 92 - 94, // on r#"[+-]?\\d+\\.\\d*([eE][-+]?\\d+)?"#, goto 93 - 95, // on r#"[a-zA-Z_][a-zA-Z_0-9]*"#, goto 94 - // State 120 + 100, // on r#"[+-]?\\d+"#, goto 99 + 101, // on r#"[+-]?\\d+\\.\\d*([eE][-+]?\\d+)?"#, goto 100 + 102, // on r#"[a-zA-Z_][a-zA-Z_0-9]*"#, goto 101 + // State 131 0, // on "(", error - 140, // on ")", goto 139 + 155, // on ")", goto 154 0, // on "*", error - 99, // on "+", goto 98 + 107, // on "+", goto 106 0, // on ",", error - 100, // on "-", goto 99 + 108, // on "-", goto 107 0, // on "/", error 0, // on ";", error 0, // on "=", error @@ -14383,15 +8603,15 @@ mod __parse__model { 0, // on r#"[+-]?\\d+"#, error 0, // on r#"[+-]?\\d+\\.\\d*([eE][-+]?\\d+)?"#, error 0, // on r#"[a-zA-Z_][a-zA-Z_0-9]*"#, error - // State 121 + // State 132 0, // on "(", error 0, // on ")", error - -37, // on "*", reduce `factor = "-", term => ActionFn(25);` - -37, // on "+", reduce `factor = "-", term => ActionFn(25);` + -32, // on "*", reduce `factor = "-", term => ActionFn(24);` + -32, // on "+", reduce `factor = "-", term => ActionFn(24);` 0, // on ",", error - -37, // on "-", reduce `factor = "-", term => ActionFn(25);` - -37, // on "/", reduce `factor = "-", term => ActionFn(25);` - -37, // on ";", reduce `factor = "-", term => ActionFn(25);` + -32, // on "-", reduce `factor = "-", term => ActionFn(24);` + -32, // on "/", reduce `factor = "-", term => ActionFn(24);` + -32, // on ";", reduce `factor = "-", term => ActionFn(24);` 0, // on "=", error 0, // on "abs", error 0, // on "connect", error @@ -14410,20 +8630,20 @@ mod __parse__model { 0, // on r#"[+-]?\\d+"#, error 0, // on r#"[+-]?\\d+\\.\\d*([eE][-+]?\\d+)?"#, error 0, // on r#"[a-zA-Z_][a-zA-Z_0-9]*"#, error - // State 122 - 62, // on "(", goto 61 + // State 133 + 66, // on "(", goto 65 0, // on ")", error 0, // on "*", error 0, // on "+", error 0, // on ",", error - 63, // on "-", goto 62 + 67, // on "-", goto 66 0, // on "/", error 0, // on ";", error 0, // on "=", error - 64, // on "abs", goto 63 + 68, // on "abs", goto 67 0, // on "connect", error 0, // on "constant", error - 65, // on "der", goto 64 + 69, // on "der", goto 68 0, // on "discrete", error 0, // on "end", error 0, // on "equation", error @@ -14434,23 +8654,23 @@ mod __parse__model { 0, // on "parameter", error 0, // on "stream", error 0, // on r#"\"[^\"\\\\]*\""#, error - 66, // on r#"[+-]?\\d+"#, goto 65 - 67, // on r#"[+-]?\\d+\\.\\d*([eE][-+]?\\d+)?"#, goto 66 - 68, // on r#"[a-zA-Z_][a-zA-Z_0-9]*"#, goto 67 - // State 123 - 62, // on "(", goto 61 + 70, // on r#"[+-]?\\d+"#, goto 69 + 71, // on r#"[+-]?\\d+\\.\\d*([eE][-+]?\\d+)?"#, goto 70 + 72, // on r#"[a-zA-Z_][a-zA-Z_0-9]*"#, goto 71 + // State 134 + 66, // on "(", goto 65 0, // on ")", error 0, // on "*", error 0, // on "+", error 0, // on ",", error - 63, // on "-", goto 62 + 67, // on "-", goto 66 0, // on "/", error 0, // on ";", error 0, // on "=", error - 64, // on "abs", goto 63 + 68, // on "abs", goto 67 0, // on "connect", error 0, // on "constant", error - 65, // on "der", goto 64 + 69, // on "der", goto 68 0, // on "discrete", error 0, // on "end", error 0, // on "equation", error @@ -14461,17 +8681,17 @@ mod __parse__model { 0, // on "parameter", error 0, // on "stream", error 0, // on r#"\"[^\"\\\\]*\""#, error - 66, // on r#"[+-]?\\d+"#, goto 65 - 67, // on r#"[+-]?\\d+\\.\\d*([eE][-+]?\\d+)?"#, goto 66 - 68, // on r#"[a-zA-Z_][a-zA-Z_0-9]*"#, goto 67 - // State 124 + 70, // on r#"[+-]?\\d+"#, goto 69 + 71, // on r#"[+-]?\\d+\\.\\d*([eE][-+]?\\d+)?"#, goto 70 + 72, // on r#"[a-zA-Z_][a-zA-Z_0-9]*"#, goto 71 + // State 135 0, // on "(", error - -32, // on ")", reduce `expr = expr, "+", factor => ActionFn(20);` - 101, // on "*", goto 100 - -32, // on "+", reduce `expr = expr, "+", factor => ActionFn(20);` + 0, // on ")", error + 0, // on "*", error + 0, // on "+", error 0, // on ",", error - -32, // on "-", reduce `expr = expr, "+", factor => ActionFn(20);` - 102, // on "/", goto 101 + 0, // on "-", error + 0, // on "/", error 0, // on ";", error 0, // on "=", error 0, // on "abs", error @@ -14491,14 +8711,14 @@ mod __parse__model { 0, // on r#"[+-]?\\d+"#, error 0, // on r#"[+-]?\\d+\\.\\d*([eE][-+]?\\d+)?"#, error 0, // on r#"[a-zA-Z_][a-zA-Z_0-9]*"#, error - // State 125 + // State 136 0, // on "(", error - -33, // on ")", reduce `expr = expr, "-", factor => ActionFn(21);` - 101, // on "*", goto 100 - -33, // on "+", reduce `expr = expr, "-", factor => ActionFn(21);` + -27, // on ")", reduce `expr = expr, "+", factor => ActionFn(19);` + 109, // on "*", goto 108 + -27, // on "+", reduce `expr = expr, "+", factor => ActionFn(19);` 0, // on ",", error - -33, // on "-", reduce `expr = expr, "-", factor => ActionFn(21);` - 102, // on "/", goto 101 + -27, // on "-", reduce `expr = expr, "+", factor => ActionFn(19);` + 110, // on "/", goto 109 0, // on ";", error 0, // on "=", error 0, // on "abs", error @@ -14518,14 +8738,14 @@ mod __parse__model { 0, // on r#"[+-]?\\d+"#, error 0, // on r#"[+-]?\\d+\\.\\d*([eE][-+]?\\d+)?"#, error 0, // on r#"[a-zA-Z_][a-zA-Z_0-9]*"#, error - // State 126 + // State 137 0, // on "(", error - -35, // on ")", reduce `factor = factor, "*", term => ActionFn(23);` - -35, // on "*", reduce `factor = factor, "*", term => ActionFn(23);` - -35, // on "+", reduce `factor = factor, "*", term => ActionFn(23);` + -28, // on ")", reduce `expr = expr, "-", factor => ActionFn(20);` + 109, // on "*", goto 108 + -28, // on "+", reduce `expr = expr, "-", factor => ActionFn(20);` 0, // on ",", error - -35, // on "-", reduce `factor = factor, "*", term => ActionFn(23);` - -35, // on "/", reduce `factor = factor, "*", term => ActionFn(23);` + -28, // on "-", reduce `expr = expr, "-", factor => ActionFn(20);` + 110, // on "/", goto 109 0, // on ";", error 0, // on "=", error 0, // on "abs", error @@ -14545,14 +8765,14 @@ mod __parse__model { 0, // on r#"[+-]?\\d+"#, error 0, // on r#"[+-]?\\d+\\.\\d*([eE][-+]?\\d+)?"#, error 0, // on r#"[a-zA-Z_][a-zA-Z_0-9]*"#, error - // State 127 + // State 138 0, // on "(", error - -36, // on ")", reduce `factor = factor, "/", term => ActionFn(24);` - -36, // on "*", reduce `factor = factor, "/", term => ActionFn(24);` - -36, // on "+", reduce `factor = factor, "/", term => ActionFn(24);` + -30, // on ")", reduce `factor = factor, "*", term => ActionFn(22);` + -30, // on "*", reduce `factor = factor, "*", term => ActionFn(22);` + -30, // on "+", reduce `factor = factor, "*", term => ActionFn(22);` 0, // on ",", error - -36, // on "-", reduce `factor = factor, "/", term => ActionFn(24);` - -36, // on "/", reduce `factor = factor, "/", term => ActionFn(24);` + -30, // on "-", reduce `factor = factor, "*", term => ActionFn(22);` + -30, // on "/", reduce `factor = factor, "*", term => ActionFn(22);` 0, // on ";", error 0, // on "=", error 0, // on "abs", error @@ -14572,14 +8792,14 @@ mod __parse__model { 0, // on r#"[+-]?\\d+"#, error 0, // on r#"[+-]?\\d+\\.\\d*([eE][-+]?\\d+)?"#, error 0, // on r#"[a-zA-Z_][a-zA-Z_0-9]*"#, error - // State 128 + // State 139 0, // on "(", error - -56, // on ")", reduce `term = "(", expr, ")" => ActionFn(32);` - -56, // on "*", reduce `term = "(", expr, ")" => ActionFn(32);` - -56, // on "+", reduce `term = "(", expr, ")" => ActionFn(32);` + -31, // on ")", reduce `factor = factor, "/", term => ActionFn(23);` + -31, // on "*", reduce `factor = factor, "/", term => ActionFn(23);` + -31, // on "+", reduce `factor = factor, "/", term => ActionFn(23);` 0, // on ",", error - -56, // on "-", reduce `term = "(", expr, ")" => ActionFn(32);` - -56, // on "/", reduce `term = "(", expr, ")" => ActionFn(32);` + -31, // on "-", reduce `factor = factor, "/", term => ActionFn(23);` + -31, // on "/", reduce `factor = factor, "/", term => ActionFn(23);` 0, // on ";", error 0, // on "=", error 0, // on "abs", error @@ -14599,13 +8819,40 @@ mod __parse__model { 0, // on r#"[+-]?\\d+"#, error 0, // on r#"[+-]?\\d+\\.\\d*([eE][-+]?\\d+)?"#, error 0, // on r#"[a-zA-Z_][a-zA-Z_0-9]*"#, error - // State 129 + // State 140 + 0, // on "(", error + -58, // on ")", reduce `term = "(", expr, ")" => ActionFn(31);` + -58, // on "*", reduce `term = "(", expr, ")" => ActionFn(31);` + -58, // on "+", reduce `term = "(", expr, ")" => ActionFn(31);` + 0, // on ",", error + -58, // on "-", reduce `term = "(", expr, ")" => ActionFn(31);` + -58, // on "/", reduce `term = "(", expr, ")" => ActionFn(31);` + 0, // on ";", error + 0, // on "=", error + 0, // on "abs", error + 0, // on "connect", error + 0, // on "constant", error + 0, // on "der", error + 0, // on "discrete", error + 0, // on "end", error + 0, // on "equation", error + 0, // on "flow", error + 0, // on "input", error + 0, // on "model", error + 0, // on "output", error + 0, // on "parameter", error + 0, // on "stream", error + 0, // on r#"\"[^\"\\\\]*\""#, error + 0, // on r#"[+-]?\\d+"#, error + 0, // on r#"[+-]?\\d+\\.\\d*([eE][-+]?\\d+)?"#, error + 0, // on r#"[a-zA-Z_][a-zA-Z_0-9]*"#, error + // State 141 0, // on "(", error - 143, // on ")", goto 142 + 158, // on ")", goto 157 0, // on "*", error - 99, // on "+", goto 98 + 107, // on "+", goto 106 0, // on ",", error - 100, // on "-", goto 99 + 108, // on "-", goto 107 0, // on "/", error 0, // on ";", error 0, // on "=", error @@ -14626,13 +8873,13 @@ mod __parse__model { 0, // on r#"[+-]?\\d+"#, error 0, // on r#"[+-]?\\d+\\.\\d*([eE][-+]?\\d+)?"#, error 0, // on r#"[a-zA-Z_][a-zA-Z_0-9]*"#, error - // State 130 + // State 142 0, // on "(", error - 144, // on ")", goto 143 + 159, // on ")", goto 158 0, // on "*", error - 99, // on "+", goto 98 + 107, // on "+", goto 106 0, // on ",", error - 100, // on "-", goto 99 + 108, // on "-", goto 107 0, // on "/", error 0, // on ";", error 0, // on "=", error @@ -14653,16 +8900,16 @@ mod __parse__model { 0, // on r#"[+-]?\\d+"#, error 0, // on r#"[+-]?\\d+\\.\\d*([eE][-+]?\\d+)?"#, error 0, // on r#"[a-zA-Z_][a-zA-Z_0-9]*"#, error - // State 131 + // State 143 0, // on "(", error 0, // on ")", error - -55, // on "*", reduce `term = "abs", "(", expr, ")" => ActionFn(31);` - -55, // on "+", reduce `term = "abs", "(", expr, ")" => ActionFn(31);` + -57, // on "*", reduce `term = "abs", "(", expr, ")" => ActionFn(30);` + -57, // on "+", reduce `term = "abs", "(", expr, ")" => ActionFn(30);` 0, // on ",", error - -55, // on "-", reduce `term = "abs", "(", expr, ")" => ActionFn(31);` - -55, // on "/", reduce `term = "abs", "(", expr, ")" => ActionFn(31);` + -57, // on "-", reduce `term = "abs", "(", expr, ")" => ActionFn(30);` + -57, // on "/", reduce `term = "abs", "(", expr, ")" => ActionFn(30);` 0, // on ";", error - -55, // on "=", reduce `term = "abs", "(", expr, ")" => ActionFn(31);` + -57, // on "=", reduce `term = "abs", "(", expr, ")" => ActionFn(30);` 0, // on "abs", error 0, // on "connect", error 0, // on "constant", error @@ -14680,7 +8927,7 @@ mod __parse__model { 0, // on r#"[+-]?\\d+"#, error 0, // on r#"[+-]?\\d+\\.\\d*([eE][-+]?\\d+)?"#, error 0, // on r#"[a-zA-Z_][a-zA-Z_0-9]*"#, error - // State 132 + // State 144 0, // on "(", error 0, // on ")", error 0, // on "*", error @@ -14706,17 +8953,17 @@ mod __parse__model { 0, // on r#"\"[^\"\\\\]*\""#, error 0, // on r#"[+-]?\\d+"#, error 0, // on r#"[+-]?\\d+\\.\\d*([eE][-+]?\\d+)?"#, error - 146, // on r#"[a-zA-Z_][a-zA-Z_0-9]*"#, goto 145 - // State 133 + 161, // on r#"[a-zA-Z_][a-zA-Z_0-9]*"#, goto 160 + // State 145 0, // on "(", error 0, // on ")", error - -54, // on "*", reduce `term = "der", "(", expr, ")" => ActionFn(30);` - -54, // on "+", reduce `term = "der", "(", expr, ")" => ActionFn(30);` + -56, // on "*", reduce `term = "der", "(", expr, ")" => ActionFn(29);` + -56, // on "+", reduce `term = "der", "(", expr, ")" => ActionFn(29);` 0, // on ",", error - -54, // on "-", reduce `term = "der", "(", expr, ")" => ActionFn(30);` - -54, // on "/", reduce `term = "der", "(", expr, ")" => ActionFn(30);` + -56, // on "-", reduce `term = "der", "(", expr, ")" => ActionFn(29);` + -56, // on "/", reduce `term = "der", "(", expr, ")" => ActionFn(29);` 0, // on ";", error - -54, // on "=", reduce `term = "der", "(", expr, ")" => ActionFn(30);` + -56, // on "=", reduce `term = "der", "(", expr, ")" => ActionFn(29);` 0, // on "abs", error 0, // on "connect", error 0, // on "constant", error @@ -14734,7 +8981,34 @@ mod __parse__model { 0, // on r#"[+-]?\\d+"#, error 0, // on r#"[+-]?\\d+\\.\\d*([eE][-+]?\\d+)?"#, error 0, // on r#"[a-zA-Z_][a-zA-Z_0-9]*"#, error - // State 134 + // State 146 + 0, // on "(", error + 0, // on ")", error + 0, // on "*", error + 0, // on "+", error + 0, // on ",", error + 0, // on "-", error + 0, // on "/", error + 162, // on ";", goto 161 + 0, // on "=", error + 0, // on "abs", error + 0, // on "connect", error + 0, // on "constant", error + 0, // on "der", error + 0, // on "discrete", error + 0, // on "end", error + 0, // on "equation", error + 0, // on "flow", error + 0, // on "input", error + 0, // on "model", error + 0, // on "output", error + 0, // on "parameter", error + 0, // on "stream", error + 0, // on r#"\"[^\"\\\\]*\""#, error + 0, // on r#"[+-]?\\d+"#, error + 0, // on r#"[+-]?\\d+\\.\\d*([eE][-+]?\\d+)?"#, error + 0, // on r#"[a-zA-Z_][a-zA-Z_0-9]*"#, error + // State 147 0, // on "(", error 0, // on ")", error 0, // on "*", error @@ -14761,15 +9035,15 @@ mod __parse__model { 0, // on r#"[+-]?\\d+"#, error 0, // on r#"[+-]?\\d+\\.\\d*([eE][-+]?\\d+)?"#, error 0, // on r#"[a-zA-Z_][a-zA-Z_0-9]*"#, error - // State 135 + // State 148 0, // on "(", error 0, // on ")", error - 119, // on "*", goto 118 - -32, // on "+", reduce `expr = expr, "+", factor => ActionFn(20);` + 0, // on "*", error + 0, // on "+", error 0, // on ",", error - -32, // on "-", reduce `expr = expr, "+", factor => ActionFn(20);` - 120, // on "/", goto 119 - -32, // on ";", reduce `expr = expr, "+", factor => ActionFn(20);` + 0, // on "-", error + 0, // on "/", error + 0, // on ";", error 0, // on "=", error 0, // on "abs", error 0, // on "connect", error @@ -14788,15 +9062,15 @@ mod __parse__model { 0, // on r#"[+-]?\\d+"#, error 0, // on r#"[+-]?\\d+\\.\\d*([eE][-+]?\\d+)?"#, error 0, // on r#"[a-zA-Z_][a-zA-Z_0-9]*"#, error - // State 136 + // State 149 0, // on "(", error 0, // on ")", error - 119, // on "*", goto 118 - -33, // on "+", reduce `expr = expr, "-", factor => ActionFn(21);` + 0, // on "*", error + 0, // on "+", error 0, // on ",", error - -33, // on "-", reduce `expr = expr, "-", factor => ActionFn(21);` - 120, // on "/", goto 119 - -33, // on ";", reduce `expr = expr, "-", factor => ActionFn(21);` + 0, // on "-", error + 0, // on "/", error + 0, // on ";", error 0, // on "=", error 0, // on "abs", error 0, // on "connect", error @@ -14815,15 +9089,15 @@ mod __parse__model { 0, // on r#"[+-]?\\d+"#, error 0, // on r#"[+-]?\\d+\\.\\d*([eE][-+]?\\d+)?"#, error 0, // on r#"[a-zA-Z_][a-zA-Z_0-9]*"#, error - // State 137 + // State 150 0, // on "(", error 0, // on ")", error - -35, // on "*", reduce `factor = factor, "*", term => ActionFn(23);` - -35, // on "+", reduce `factor = factor, "*", term => ActionFn(23);` + 130, // on "*", goto 129 + -27, // on "+", reduce `expr = expr, "+", factor => ActionFn(19);` 0, // on ",", error - -35, // on "-", reduce `factor = factor, "*", term => ActionFn(23);` - -35, // on "/", reduce `factor = factor, "*", term => ActionFn(23);` - -35, // on ";", reduce `factor = factor, "*", term => ActionFn(23);` + -27, // on "-", reduce `expr = expr, "+", factor => ActionFn(19);` + 131, // on "/", goto 130 + -27, // on ";", reduce `expr = expr, "+", factor => ActionFn(19);` 0, // on "=", error 0, // on "abs", error 0, // on "connect", error @@ -14842,15 +9116,15 @@ mod __parse__model { 0, // on r#"[+-]?\\d+"#, error 0, // on r#"[+-]?\\d+\\.\\d*([eE][-+]?\\d+)?"#, error 0, // on r#"[a-zA-Z_][a-zA-Z_0-9]*"#, error - // State 138 + // State 151 0, // on "(", error 0, // on ")", error - -36, // on "*", reduce `factor = factor, "/", term => ActionFn(24);` - -36, // on "+", reduce `factor = factor, "/", term => ActionFn(24);` + 130, // on "*", goto 129 + -28, // on "+", reduce `expr = expr, "-", factor => ActionFn(20);` 0, // on ",", error - -36, // on "-", reduce `factor = factor, "/", term => ActionFn(24);` - -36, // on "/", reduce `factor = factor, "/", term => ActionFn(24);` - -36, // on ";", reduce `factor = factor, "/", term => ActionFn(24);` + -28, // on "-", reduce `expr = expr, "-", factor => ActionFn(20);` + 131, // on "/", goto 130 + -28, // on ";", reduce `expr = expr, "-", factor => ActionFn(20);` 0, // on "=", error 0, // on "abs", error 0, // on "connect", error @@ -14869,15 +9143,15 @@ mod __parse__model { 0, // on r#"[+-]?\\d+"#, error 0, // on r#"[+-]?\\d+\\.\\d*([eE][-+]?\\d+)?"#, error 0, // on r#"[a-zA-Z_][a-zA-Z_0-9]*"#, error - // State 139 + // State 152 0, // on "(", error 0, // on ")", error - -56, // on "*", reduce `term = "(", expr, ")" => ActionFn(32);` - -56, // on "+", reduce `term = "(", expr, ")" => ActionFn(32);` + -30, // on "*", reduce `factor = factor, "*", term => ActionFn(22);` + -30, // on "+", reduce `factor = factor, "*", term => ActionFn(22);` 0, // on ",", error - -56, // on "-", reduce `term = "(", expr, ")" => ActionFn(32);` - -56, // on "/", reduce `term = "(", expr, ")" => ActionFn(32);` - -56, // on ";", reduce `term = "(", expr, ")" => ActionFn(32);` + -30, // on "-", reduce `factor = factor, "*", term => ActionFn(22);` + -30, // on "/", reduce `factor = factor, "*", term => ActionFn(22);` + -30, // on ";", reduce `factor = factor, "*", term => ActionFn(22);` 0, // on "=", error 0, // on "abs", error 0, // on "connect", error @@ -14896,13 +9170,67 @@ mod __parse__model { 0, // on r#"[+-]?\\d+"#, error 0, // on r#"[+-]?\\d+\\.\\d*([eE][-+]?\\d+)?"#, error 0, // on r#"[a-zA-Z_][a-zA-Z_0-9]*"#, error - // State 140 + // State 153 + 0, // on "(", error + 0, // on ")", error + -31, // on "*", reduce `factor = factor, "/", term => ActionFn(23);` + -31, // on "+", reduce `factor = factor, "/", term => ActionFn(23);` + 0, // on ",", error + -31, // on "-", reduce `factor = factor, "/", term => ActionFn(23);` + -31, // on "/", reduce `factor = factor, "/", term => ActionFn(23);` + -31, // on ";", reduce `factor = factor, "/", term => ActionFn(23);` + 0, // on "=", error + 0, // on "abs", error + 0, // on "connect", error + 0, // on "constant", error + 0, // on "der", error + 0, // on "discrete", error + 0, // on "end", error + 0, // on "equation", error + 0, // on "flow", error + 0, // on "input", error + 0, // on "model", error + 0, // on "output", error + 0, // on "parameter", error + 0, // on "stream", error + 0, // on r#"\"[^\"\\\\]*\""#, error + 0, // on r#"[+-]?\\d+"#, error + 0, // on r#"[+-]?\\d+\\.\\d*([eE][-+]?\\d+)?"#, error + 0, // on r#"[a-zA-Z_][a-zA-Z_0-9]*"#, error + // State 154 0, // on "(", error - 147, // on ")", goto 146 + 0, // on ")", error + -58, // on "*", reduce `term = "(", expr, ")" => ActionFn(31);` + -58, // on "+", reduce `term = "(", expr, ")" => ActionFn(31);` + 0, // on ",", error + -58, // on "-", reduce `term = "(", expr, ")" => ActionFn(31);` + -58, // on "/", reduce `term = "(", expr, ")" => ActionFn(31);` + -58, // on ";", reduce `term = "(", expr, ")" => ActionFn(31);` + 0, // on "=", error + 0, // on "abs", error + 0, // on "connect", error + 0, // on "constant", error + 0, // on "der", error + 0, // on "discrete", error + 0, // on "end", error + 0, // on "equation", error + 0, // on "flow", error + 0, // on "input", error + 0, // on "model", error + 0, // on "output", error + 0, // on "parameter", error + 0, // on "stream", error + 0, // on r#"\"[^\"\\\\]*\""#, error + 0, // on r#"[+-]?\\d+"#, error + 0, // on r#"[+-]?\\d+\\.\\d*([eE][-+]?\\d+)?"#, error + 0, // on r#"[a-zA-Z_][a-zA-Z_0-9]*"#, error + // State 155 + 0, // on "(", error + 163, // on ")", goto 162 0, // on "*", error - 99, // on "+", goto 98 + 107, // on "+", goto 106 0, // on ",", error - 100, // on "-", goto 99 + 108, // on "-", goto 107 0, // on "/", error 0, // on ";", error 0, // on "=", error @@ -14923,13 +9251,13 @@ mod __parse__model { 0, // on r#"[+-]?\\d+"#, error 0, // on r#"[+-]?\\d+\\.\\d*([eE][-+]?\\d+)?"#, error 0, // on r#"[a-zA-Z_][a-zA-Z_0-9]*"#, error - // State 141 + // State 156 0, // on "(", error - 148, // on ")", goto 147 + 164, // on ")", goto 163 0, // on "*", error - 99, // on "+", goto 98 + 107, // on "+", goto 106 0, // on ",", error - 100, // on "-", goto 99 + 108, // on "-", goto 107 0, // on "/", error 0, // on ";", error 0, // on "=", error @@ -14950,14 +9278,14 @@ mod __parse__model { 0, // on r#"[+-]?\\d+"#, error 0, // on r#"[+-]?\\d+\\.\\d*([eE][-+]?\\d+)?"#, error 0, // on r#"[a-zA-Z_][a-zA-Z_0-9]*"#, error - // State 142 + // State 157 0, // on "(", error - -55, // on ")", reduce `term = "abs", "(", expr, ")" => ActionFn(31);` - -55, // on "*", reduce `term = "abs", "(", expr, ")" => ActionFn(31);` - -55, // on "+", reduce `term = "abs", "(", expr, ")" => ActionFn(31);` + -57, // on ")", reduce `term = "abs", "(", expr, ")" => ActionFn(30);` + -57, // on "*", reduce `term = "abs", "(", expr, ")" => ActionFn(30);` + -57, // on "+", reduce `term = "abs", "(", expr, ")" => ActionFn(30);` 0, // on ",", error - -55, // on "-", reduce `term = "abs", "(", expr, ")" => ActionFn(31);` - -55, // on "/", reduce `term = "abs", "(", expr, ")" => ActionFn(31);` + -57, // on "-", reduce `term = "abs", "(", expr, ")" => ActionFn(30);` + -57, // on "/", reduce `term = "abs", "(", expr, ")" => ActionFn(30);` 0, // on ";", error 0, // on "=", error 0, // on "abs", error @@ -14977,14 +9305,14 @@ mod __parse__model { 0, // on r#"[+-]?\\d+"#, error 0, // on r#"[+-]?\\d+\\.\\d*([eE][-+]?\\d+)?"#, error 0, // on r#"[a-zA-Z_][a-zA-Z_0-9]*"#, error - // State 143 + // State 158 0, // on "(", error - -54, // on ")", reduce `term = "der", "(", expr, ")" => ActionFn(30);` - -54, // on "*", reduce `term = "der", "(", expr, ")" => ActionFn(30);` - -54, // on "+", reduce `term = "der", "(", expr, ")" => ActionFn(30);` + -56, // on ")", reduce `term = "der", "(", expr, ")" => ActionFn(29);` + -56, // on "*", reduce `term = "der", "(", expr, ")" => ActionFn(29);` + -56, // on "+", reduce `term = "der", "(", expr, ")" => ActionFn(29);` 0, // on ",", error - -54, // on "-", reduce `term = "der", "(", expr, ")" => ActionFn(30);` - -54, // on "/", reduce `term = "der", "(", expr, ")" => ActionFn(30);` + -56, // on "-", reduce `term = "der", "(", expr, ")" => ActionFn(29);` + -56, // on "/", reduce `term = "der", "(", expr, ")" => ActionFn(29);` 0, // on ";", error 0, // on "=", error 0, // on "abs", error @@ -15004,9 +9332,9 @@ mod __parse__model { 0, // on r#"[+-]?\\d+"#, error 0, // on r#"[+-]?\\d+\\.\\d*([eE][-+]?\\d+)?"#, error 0, // on r#"[a-zA-Z_][a-zA-Z_0-9]*"#, error - // State 144 + // State 159 0, // on "(", error - 149, // on ")", goto 148 + 165, // on ")", goto 164 0, // on "*", error 0, // on "+", error 0, // on ",", error @@ -15031,9 +9359,9 @@ mod __parse__model { 0, // on r#"[+-]?\\d+"#, error 0, // on r#"[+-]?\\d+\\.\\d*([eE][-+]?\\d+)?"#, error 0, // on r#"[a-zA-Z_][a-zA-Z_0-9]*"#, error - // State 145 + // State 160 0, // on "(", error - -41, // on ")", reduce `identifier = r#"[a-zA-Z_][a-zA-Z_0-9]*"# => ActionFn(3);` + -35, // on ")", reduce `identifier = r#"[a-zA-Z_][a-zA-Z_0-9]*"# => ActionFn(4);` 0, // on "*", error 0, // on "+", error 0, // on ",", error @@ -15058,15 +9386,15 @@ mod __parse__model { 0, // on r#"[+-]?\\d+"#, error 0, // on r#"[+-]?\\d+\\.\\d*([eE][-+]?\\d+)?"#, error 0, // on r#"[a-zA-Z_][a-zA-Z_0-9]*"#, error - // State 146 + // State 161 0, // on "(", error 0, // on ")", error - -55, // on "*", reduce `term = "abs", "(", expr, ")" => ActionFn(31);` - -55, // on "+", reduce `term = "abs", "(", expr, ")" => ActionFn(31);` + 0, // on "*", error + 0, // on "+", error 0, // on ",", error - -55, // on "-", reduce `term = "abs", "(", expr, ")" => ActionFn(31);` - -55, // on "/", reduce `term = "abs", "(", expr, ")" => ActionFn(31);` - -55, // on ";", reduce `term = "abs", "(", expr, ")" => ActionFn(31);` + 0, // on "-", error + 0, // on "/", error + 0, // on ";", error 0, // on "=", error 0, // on "abs", error 0, // on "connect", error @@ -15085,15 +9413,15 @@ mod __parse__model { 0, // on r#"[+-]?\\d+"#, error 0, // on r#"[+-]?\\d+\\.\\d*([eE][-+]?\\d+)?"#, error 0, // on r#"[a-zA-Z_][a-zA-Z_0-9]*"#, error - // State 147 + // State 162 0, // on "(", error 0, // on ")", error - -54, // on "*", reduce `term = "der", "(", expr, ")" => ActionFn(30);` - -54, // on "+", reduce `term = "der", "(", expr, ")" => ActionFn(30);` + -57, // on "*", reduce `term = "abs", "(", expr, ")" => ActionFn(30);` + -57, // on "+", reduce `term = "abs", "(", expr, ")" => ActionFn(30);` 0, // on ",", error - -54, // on "-", reduce `term = "der", "(", expr, ")" => ActionFn(30);` - -54, // on "/", reduce `term = "der", "(", expr, ")" => ActionFn(30);` - -54, // on ";", reduce `term = "der", "(", expr, ")" => ActionFn(30);` + -57, // on "-", reduce `term = "abs", "(", expr, ")" => ActionFn(30);` + -57, // on "/", reduce `term = "abs", "(", expr, ")" => ActionFn(30);` + -57, // on ";", reduce `term = "abs", "(", expr, ")" => ActionFn(30);` 0, // on "=", error 0, // on "abs", error 0, // on "connect", error @@ -15112,7 +9440,34 @@ mod __parse__model { 0, // on r#"[+-]?\\d+"#, error 0, // on r#"[+-]?\\d+\\.\\d*([eE][-+]?\\d+)?"#, error 0, // on r#"[a-zA-Z_][a-zA-Z_0-9]*"#, error - // State 148 + // State 163 + 0, // on "(", error + 0, // on ")", error + -56, // on "*", reduce `term = "der", "(", expr, ")" => ActionFn(29);` + -56, // on "+", reduce `term = "der", "(", expr, ")" => ActionFn(29);` + 0, // on ",", error + -56, // on "-", reduce `term = "der", "(", expr, ")" => ActionFn(29);` + -56, // on "/", reduce `term = "der", "(", expr, ")" => ActionFn(29);` + -56, // on ";", reduce `term = "der", "(", expr, ")" => ActionFn(29);` + 0, // on "=", error + 0, // on "abs", error + 0, // on "connect", error + 0, // on "constant", error + 0, // on "der", error + 0, // on "discrete", error + 0, // on "end", error + 0, // on "equation", error + 0, // on "flow", error + 0, // on "input", error + 0, // on "model", error + 0, // on "output", error + 0, // on "parameter", error + 0, // on "stream", error + 0, // on r#"\"[^\"\\\\]*\""#, error + 0, // on r#"[+-]?\\d+"#, error + 0, // on r#"[+-]?\\d+\\.\\d*([eE][-+]?\\d+)?"#, error + 0, // on r#"[a-zA-Z_][a-zA-Z_0-9]*"#, error + // State 164 0, // on "(", error 0, // on ")", error 0, // on "*", error @@ -15120,7 +9475,7 @@ mod __parse__model { 0, // on ",", error 0, // on "-", error 0, // on "/", error - 150, // on ";", goto 149 + 166, // on ";", goto 165 0, // on "=", error 0, // on "abs", error 0, // on "connect", error @@ -15139,22 +9494,22 @@ mod __parse__model { 0, // on r#"[+-]?\\d+"#, error 0, // on r#"[+-]?\\d+\\.\\d*([eE][-+]?\\d+)?"#, error 0, // on r#"[a-zA-Z_][a-zA-Z_0-9]*"#, error - // State 149 - -25, // on "(", reduce `connect_clause = "connect", "(", identifier, ",", identifier, ")", ";" => ActionFn(19);` + // State 165 + -22, // on "(", reduce `connect_clause = "connect", "(", identifier, ",", identifier, ")", ";" => ActionFn(18);` 0, // on ")", error 0, // on "*", error 0, // on "+", error 0, // on ",", error - -25, // on "-", reduce `connect_clause = "connect", "(", identifier, ",", identifier, ")", ";" => ActionFn(19);` + -22, // on "-", reduce `connect_clause = "connect", "(", identifier, ",", identifier, ")", ";" => ActionFn(18);` 0, // on "/", error 0, // on ";", error 0, // on "=", error - -25, // on "abs", reduce `connect_clause = "connect", "(", identifier, ",", identifier, ")", ";" => ActionFn(19);` - -25, // on "connect", reduce `connect_clause = "connect", "(", identifier, ",", identifier, ")", ";" => ActionFn(19);` + -22, // on "abs", reduce `connect_clause = "connect", "(", identifier, ",", identifier, ")", ";" => ActionFn(18);` + -22, // on "connect", reduce `connect_clause = "connect", "(", identifier, ",", identifier, ")", ";" => ActionFn(18);` 0, // on "constant", error - -25, // on "der", reduce `connect_clause = "connect", "(", identifier, ",", identifier, ")", ";" => ActionFn(19);` + -22, // on "der", reduce `connect_clause = "connect", "(", identifier, ",", identifier, ")", ";" => ActionFn(18);` 0, // on "discrete", error - -25, // on "end", reduce `connect_clause = "connect", "(", identifier, ",", identifier, ")", ";" => ActionFn(19);` + -22, // on "end", reduce `connect_clause = "connect", "(", identifier, ",", identifier, ")", ";" => ActionFn(18);` 0, // on "equation", error 0, // on "flow", error 0, // on "input", error @@ -15163,13 +9518,23 @@ mod __parse__model { 0, // on "parameter", error 0, // on "stream", error 0, // on r#"\"[^\"\\\\]*\""#, error - -25, // on r#"[+-]?\\d+"#, reduce `connect_clause = "connect", "(", identifier, ",", identifier, ")", ";" => ActionFn(19);` - -25, // on r#"[+-]?\\d+\\.\\d*([eE][-+]?\\d+)?"#, reduce `connect_clause = "connect", "(", identifier, ",", identifier, ")", ";" => ActionFn(19);` - -25, // on r#"[a-zA-Z_][a-zA-Z_0-9]*"#, reduce `connect_clause = "connect", "(", identifier, ",", identifier, ")", ";" => ActionFn(19);` + -22, // on r#"[+-]?\\d+"#, reduce `connect_clause = "connect", "(", identifier, ",", identifier, ")", ";" => ActionFn(18);` + -22, // on r#"[+-]?\\d+\\.\\d*([eE][-+]?\\d+)?"#, reduce `connect_clause = "connect", "(", identifier, ",", identifier, ")", ";" => ActionFn(18);` + -22, // on r#"[a-zA-Z_][a-zA-Z_0-9]*"#, reduce `connect_clause = "connect", "(", identifier, ",", identifier, ")", ";" => ActionFn(18);` ]; const __EOF_ACTION: &'static [i32] = &[ 0, // on EOF, error - -3, // on EOF, reduce `__model = model => ActionFn(1);` + -4, // on EOF, reduce `__model = model => ActionFn(3);` + 0, // on EOF, error + 0, // on EOF, error + 0, // on EOF, error + 0, // on EOF, error + 0, // on EOF, error + 0, // on EOF, error + 0, // on EOF, error + 0, // on EOF, error + 0, // on EOF, error + 0, // on EOF, error 0, // on EOF, error 0, // on EOF, error 0, // on EOF, error @@ -15276,14 +9641,14 @@ mod __parse__model { 0, // on EOF, error 0, // on EOF, error 0, // on EOF, error + -37, // on EOF, reduce `model = "model", identifier, "equation", "end", identifier, ";" => ActionFn(56);` 0, // on EOF, error 0, // on EOF, error - -43, // on EOF, reduce `model = "model", identifier, "equation", "end", identifier, ";" => ActionFn(54);` 0, // on EOF, error - -45, // on EOF, reduce `model = "model", identifier, component_declaration+, "equation", "end", identifier, ";" => ActionFn(56);` + -41, // on EOF, reduce `model = "model", identifier, component_declaration+, "equation", "end", identifier, ";" => ActionFn(60);` 0, // on EOF, error - -44, // on EOF, reduce `model = "model", identifier, "equation", equation_entry+, "end", identifier, ";" => ActionFn(55);` 0, // on EOF, error + -39, // on EOF, reduce `model = "model", identifier, "equation", connect_clause+, "end", identifier, ";" => ActionFn(58);` 0, // on EOF, error 0, // on EOF, error 0, // on EOF, error @@ -15293,6 +9658,7 @@ mod __parse__model { 0, // on EOF, error 0, // on EOF, error 0, // on EOF, error + -38, // on EOF, reduce `model = "model", identifier, "equation", simple_equation+, "end", identifier, ";" => ActionFn(57);` 0, // on EOF, error 0, // on EOF, error 0, // on EOF, error @@ -15302,9 +9668,11 @@ mod __parse__model { 0, // on EOF, error 0, // on EOF, error 0, // on EOF, error - -46, // on EOF, reduce `model = "model", identifier, component_declaration+, "equation", equation_entry+, "end", identifier, ";" => ActionFn(57);` 0, // on EOF, error 0, // on EOF, error + -43, // on EOF, reduce `model = "model", identifier, component_declaration+, "equation", connect_clause+, "end", identifier, ";" => ActionFn(62);` + -42, // on EOF, reduce `model = "model", identifier, component_declaration+, "equation", simple_equation+, "end", identifier, ";" => ActionFn(61);` + -40, // on EOF, reduce `model = "model", identifier, "equation", connect_clause+, simple_equation+, "end", identifier, ";" => ActionFn(59);` 0, // on EOF, error 0, // on EOF, error 0, // on EOF, error @@ -15316,3757 +9684,4160 @@ mod __parse__model { 0, // on EOF, error 0, // on EOF, error 0, // on EOF, error + -44, // on EOF, reduce `model = "model", identifier, component_declaration+, "equation", connect_clause+, simple_equation+, "end", identifier, ";" => ActionFn(63);` + 0, // on EOF, error + 0, // on EOF, error 0, // on EOF, error 0, // on EOF, error ]; const __GOTO: &'static [i32] = &[ // State 0 - 0, // on __file, error + 0, // on __float, error + 0, // on __identifier, error 0, // on __integer, error 0, // on __model, error - 0, // on binary_op, error 0, // on component_declaration, error 0, // on component_declaration*, error 0, // on component_declaration+, error 0, // on component_prefix, error 0, // on component_prefix?, error 0, // on connect_clause, error - 0, // on equation_entry, error - 0, // on equation_entry*, error - 0, // on equation_entry+, error + 0, // on connect_clause*, error + 0, // on connect_clause+, error 0, // on expr, error 0, // on factor, error - 0, // on file, error 0, // on float, error 0, // on identifier, error 0, // on integer, error 2, // on model, goto 1 0, // on simple_equation, error + 0, // on simple_equation*, error + 0, // on simple_equation+, error 0, // on string_literal, error 0, // on string_literal?, error 0, // on term, error // State 1 - 0, // on __file, error + 0, // on __float, error + 0, // on __identifier, error 0, // on __integer, error 0, // on __model, error - 0, // on binary_op, error 0, // on component_declaration, error 0, // on component_declaration*, error 0, // on component_declaration+, error 0, // on component_prefix, error 0, // on component_prefix?, error 0, // on connect_clause, error - 0, // on equation_entry, error - 0, // on equation_entry*, error - 0, // on equation_entry+, error + 0, // on connect_clause*, error + 0, // on connect_clause+, error 0, // on expr, error 0, // on factor, error - 0, // on file, error 0, // on float, error 0, // on identifier, error 0, // on integer, error 0, // on model, error 0, // on simple_equation, error + 0, // on simple_equation*, error + 0, // on simple_equation+, error 0, // on string_literal, error 0, // on string_literal?, error 0, // on term, error // State 2 - 0, // on __file, error + 0, // on __float, error + 0, // on __identifier, error 0, // on __integer, error 0, // on __model, error - 0, // on binary_op, error 0, // on component_declaration, error 0, // on component_declaration*, error 0, // on component_declaration+, error 0, // on component_prefix, error 0, // on component_prefix?, error 0, // on connect_clause, error - 0, // on equation_entry, error - 0, // on equation_entry*, error - 0, // on equation_entry+, error + 0, // on connect_clause*, error + 0, // on connect_clause+, error 0, // on expr, error 0, // on factor, error - 0, // on file, error 0, // on float, error 4, // on identifier, goto 3 0, // on integer, error 0, // on model, error 0, // on simple_equation, error + 0, // on simple_equation*, error + 0, // on simple_equation+, error 0, // on string_literal, error 0, // on string_literal?, error 0, // on term, error // State 3 - 0, // on __file, error + 0, // on __float, error + 0, // on __identifier, error 0, // on __integer, error 0, // on __model, error - 0, // on binary_op, error 6, // on component_declaration, goto 5 0, // on component_declaration*, error 7, // on component_declaration+, goto 6 8, // on component_prefix, goto 7 0, // on component_prefix?, error 0, // on connect_clause, error - 0, // on equation_entry, error - 0, // on equation_entry*, error - 0, // on equation_entry+, error + 0, // on connect_clause*, error + 0, // on connect_clause+, error 0, // on expr, error 0, // on factor, error - 0, // on file, error 0, // on float, error 9, // on identifier, goto 8 0, // on integer, error 0, // on model, error 0, // on simple_equation, error + 0, // on simple_equation*, error + 0, // on simple_equation+, error 0, // on string_literal, error 0, // on string_literal?, error 0, // on term, error // State 4 - 0, // on __file, error + 0, // on __float, error + 0, // on __identifier, error 0, // on __integer, error 0, // on __model, error - 0, // on binary_op, error 0, // on component_declaration, error 0, // on component_declaration*, error 0, // on component_declaration+, error 0, // on component_prefix, error 0, // on component_prefix?, error 0, // on connect_clause, error - 0, // on equation_entry, error - 0, // on equation_entry*, error - 0, // on equation_entry+, error + 0, // on connect_clause*, error + 0, // on connect_clause+, error 0, // on expr, error 0, // on factor, error - 0, // on file, error 0, // on float, error 0, // on identifier, error 0, // on integer, error 0, // on model, error 0, // on simple_equation, error + 0, // on simple_equation*, error + 0, // on simple_equation+, error 0, // on string_literal, error 0, // on string_literal?, error 0, // on term, error // State 5 - 0, // on __file, error + 0, // on __float, error + 0, // on __identifier, error 0, // on __integer, error 0, // on __model, error - 0, // on binary_op, error 0, // on component_declaration, error 0, // on component_declaration*, error 0, // on component_declaration+, error 0, // on component_prefix, error 0, // on component_prefix?, error 0, // on connect_clause, error - 0, // on equation_entry, error - 0, // on equation_entry*, error - 0, // on equation_entry+, error + 0, // on connect_clause*, error + 0, // on connect_clause+, error 0, // on expr, error 0, // on factor, error - 0, // on file, error 0, // on float, error 0, // on identifier, error 0, // on integer, error 0, // on model, error 0, // on simple_equation, error + 0, // on simple_equation*, error + 0, // on simple_equation+, error 0, // on string_literal, error 0, // on string_literal?, error 0, // on term, error // State 6 - 0, // on __file, error + 0, // on __float, error + 0, // on __identifier, error 0, // on __integer, error 0, // on __model, error - 0, // on binary_op, error 19, // on component_declaration, goto 18 0, // on component_declaration*, error 0, // on component_declaration+, error 8, // on component_prefix, goto 7 0, // on component_prefix?, error 0, // on connect_clause, error - 0, // on equation_entry, error - 0, // on equation_entry*, error - 0, // on equation_entry+, error + 0, // on connect_clause*, error + 0, // on connect_clause+, error 0, // on expr, error 0, // on factor, error - 0, // on file, error 0, // on float, error 9, // on identifier, goto 8 0, // on integer, error 0, // on model, error 0, // on simple_equation, error + 0, // on simple_equation*, error + 0, // on simple_equation+, error 0, // on string_literal, error 0, // on string_literal?, error 0, // on term, error // State 7 - 0, // on __file, error + 0, // on __float, error + 0, // on __identifier, error 0, // on __integer, error 0, // on __model, error - 0, // on binary_op, error 0, // on component_declaration, error 0, // on component_declaration*, error 0, // on component_declaration+, error 0, // on component_prefix, error 0, // on component_prefix?, error 0, // on connect_clause, error - 0, // on equation_entry, error - 0, // on equation_entry*, error - 0, // on equation_entry+, error + 0, // on connect_clause*, error + 0, // on connect_clause+, error 0, // on expr, error 0, // on factor, error - 0, // on file, error 0, // on float, error 21, // on identifier, goto 20 0, // on integer, error 0, // on model, error 0, // on simple_equation, error + 0, // on simple_equation*, error + 0, // on simple_equation+, error 0, // on string_literal, error 0, // on string_literal?, error 0, // on term, error // State 8 - 0, // on __file, error + 0, // on __float, error + 0, // on __identifier, error 0, // on __integer, error 0, // on __model, error - 0, // on binary_op, error 0, // on component_declaration, error 0, // on component_declaration*, error 0, // on component_declaration+, error 0, // on component_prefix, error 0, // on component_prefix?, error 0, // on connect_clause, error - 0, // on equation_entry, error - 0, // on equation_entry*, error - 0, // on equation_entry+, error + 0, // on connect_clause*, error + 0, // on connect_clause+, error 0, // on expr, error 0, // on factor, error - 0, // on file, error 0, // on float, error 22, // on identifier, goto 21 0, // on integer, error 0, // on model, error 0, // on simple_equation, error + 0, // on simple_equation*, error + 0, // on simple_equation+, error 0, // on string_literal, error 0, // on string_literal?, error 0, // on term, error // State 9 - 0, // on __file, error + 0, // on __float, error + 0, // on __identifier, error 0, // on __integer, error 0, // on __model, error - 0, // on binary_op, error 0, // on component_declaration, error 0, // on component_declaration*, error 0, // on component_declaration+, error 0, // on component_prefix, error 0, // on component_prefix?, error 0, // on connect_clause, error - 0, // on equation_entry, error - 0, // on equation_entry*, error - 0, // on equation_entry+, error + 0, // on connect_clause*, error + 0, // on connect_clause+, error 0, // on expr, error 0, // on factor, error - 0, // on file, error 0, // on float, error 0, // on identifier, error 0, // on integer, error 0, // on model, error 0, // on simple_equation, error + 0, // on simple_equation*, error + 0, // on simple_equation+, error 0, // on string_literal, error 0, // on string_literal?, error 0, // on term, error // State 10 - 0, // on __file, error + 0, // on __float, error + 0, // on __identifier, error 0, // on __integer, error 0, // on __model, error - 0, // on binary_op, error 0, // on component_declaration, error 0, // on component_declaration*, error 0, // on component_declaration+, error 0, // on component_prefix, error 0, // on component_prefix?, error 0, // on connect_clause, error - 0, // on equation_entry, error - 0, // on equation_entry*, error - 0, // on equation_entry+, error + 0, // on connect_clause*, error + 0, // on connect_clause+, error 0, // on expr, error 0, // on factor, error - 0, // on file, error 0, // on float, error 0, // on identifier, error 0, // on integer, error 0, // on model, error 0, // on simple_equation, error + 0, // on simple_equation*, error + 0, // on simple_equation+, error 0, // on string_literal, error 0, // on string_literal?, error 0, // on term, error // State 11 - 0, // on __file, error + 0, // on __float, error + 0, // on __identifier, error 0, // on __integer, error 0, // on __model, error - 0, // on binary_op, error 0, // on component_declaration, error 0, // on component_declaration*, error 0, // on component_declaration+, error 0, // on component_prefix, error 0, // on component_prefix?, error 24, // on connect_clause, goto 23 - 25, // on equation_entry, goto 24 - 0, // on equation_entry*, error - 26, // on equation_entry+, goto 25 - 27, // on expr, goto 26 - 28, // on factor, goto 27 - 0, // on file, error - 29, // on float, goto 28 - 30, // on identifier, goto 29 - 31, // on integer, goto 30 + 0, // on connect_clause*, error + 25, // on connect_clause+, goto 24 + 26, // on expr, goto 25 + 27, // on factor, goto 26 + 28, // on float, goto 27 + 29, // on identifier, goto 28 + 30, // on integer, goto 29 0, // on model, error - 32, // on simple_equation, goto 31 + 31, // on simple_equation, goto 30 + 0, // on simple_equation*, error + 32, // on simple_equation+, goto 31 0, // on string_literal, error 0, // on string_literal?, error 33, // on term, goto 32 // State 12 - 0, // on __file, error + 0, // on __float, error + 0, // on __identifier, error 0, // on __integer, error 0, // on __model, error - 0, // on binary_op, error 0, // on component_declaration, error 0, // on component_declaration*, error 0, // on component_declaration+, error 0, // on component_prefix, error 0, // on component_prefix?, error 0, // on connect_clause, error - 0, // on equation_entry, error - 0, // on equation_entry*, error - 0, // on equation_entry+, error + 0, // on connect_clause*, error + 0, // on connect_clause+, error 0, // on expr, error 0, // on factor, error - 0, // on file, error 0, // on float, error 0, // on identifier, error 0, // on integer, error 0, // on model, error 0, // on simple_equation, error + 0, // on simple_equation*, error + 0, // on simple_equation+, error 0, // on string_literal, error 0, // on string_literal?, error 0, // on term, error // State 13 - 0, // on __file, error + 0, // on __float, error + 0, // on __identifier, error 0, // on __integer, error 0, // on __model, error - 0, // on binary_op, error 0, // on component_declaration, error 0, // on component_declaration*, error 0, // on component_declaration+, error 0, // on component_prefix, error 0, // on component_prefix?, error 0, // on connect_clause, error - 0, // on equation_entry, error - 0, // on equation_entry*, error - 0, // on equation_entry+, error + 0, // on connect_clause*, error + 0, // on connect_clause+, error 0, // on expr, error 0, // on factor, error - 0, // on file, error 0, // on float, error 0, // on identifier, error 0, // on integer, error 0, // on model, error 0, // on simple_equation, error + 0, // on simple_equation*, error + 0, // on simple_equation+, error 0, // on string_literal, error 0, // on string_literal?, error 0, // on term, error // State 14 - 0, // on __file, error + 0, // on __float, error + 0, // on __identifier, error 0, // on __integer, error 0, // on __model, error - 0, // on binary_op, error 0, // on component_declaration, error 0, // on component_declaration*, error 0, // on component_declaration+, error 0, // on component_prefix, error 0, // on component_prefix?, error 0, // on connect_clause, error - 0, // on equation_entry, error - 0, // on equation_entry*, error - 0, // on equation_entry+, error + 0, // on connect_clause*, error + 0, // on connect_clause+, error 0, // on expr, error 0, // on factor, error - 0, // on file, error 0, // on float, error 0, // on identifier, error 0, // on integer, error 0, // on model, error 0, // on simple_equation, error + 0, // on simple_equation*, error + 0, // on simple_equation+, error 0, // on string_literal, error 0, // on string_literal?, error 0, // on term, error // State 15 - 0, // on __file, error + 0, // on __float, error + 0, // on __identifier, error 0, // on __integer, error 0, // on __model, error - 0, // on binary_op, error 0, // on component_declaration, error 0, // on component_declaration*, error 0, // on component_declaration+, error 0, // on component_prefix, error 0, // on component_prefix?, error 0, // on connect_clause, error - 0, // on equation_entry, error - 0, // on equation_entry*, error - 0, // on equation_entry+, error + 0, // on connect_clause*, error + 0, // on connect_clause+, error 0, // on expr, error 0, // on factor, error - 0, // on file, error 0, // on float, error 0, // on identifier, error 0, // on integer, error 0, // on model, error 0, // on simple_equation, error + 0, // on simple_equation*, error + 0, // on simple_equation+, error 0, // on string_literal, error 0, // on string_literal?, error 0, // on term, error // State 16 - 0, // on __file, error + 0, // on __float, error + 0, // on __identifier, error 0, // on __integer, error 0, // on __model, error - 0, // on binary_op, error 0, // on component_declaration, error 0, // on component_declaration*, error 0, // on component_declaration+, error 0, // on component_prefix, error 0, // on component_prefix?, error 0, // on connect_clause, error - 0, // on equation_entry, error - 0, // on equation_entry*, error - 0, // on equation_entry+, error + 0, // on connect_clause*, error + 0, // on connect_clause+, error 0, // on expr, error 0, // on factor, error - 0, // on file, error 0, // on float, error 0, // on identifier, error 0, // on integer, error 0, // on model, error 0, // on simple_equation, error + 0, // on simple_equation*, error + 0, // on simple_equation+, error 0, // on string_literal, error 0, // on string_literal?, error 0, // on term, error // State 17 - 0, // on __file, error + 0, // on __float, error + 0, // on __identifier, error 0, // on __integer, error 0, // on __model, error - 0, // on binary_op, error 0, // on component_declaration, error 0, // on component_declaration*, error 0, // on component_declaration+, error 0, // on component_prefix, error 0, // on component_prefix?, error 0, // on connect_clause, error - 0, // on equation_entry, error - 0, // on equation_entry*, error - 0, // on equation_entry+, error + 0, // on connect_clause*, error + 0, // on connect_clause+, error 0, // on expr, error 0, // on factor, error - 0, // on file, error 0, // on float, error 0, // on identifier, error 0, // on integer, error 0, // on model, error 0, // on simple_equation, error + 0, // on simple_equation*, error + 0, // on simple_equation+, error 0, // on string_literal, error 0, // on string_literal?, error 0, // on term, error // State 18 - 0, // on __file, error + 0, // on __float, error + 0, // on __identifier, error 0, // on __integer, error 0, // on __model, error - 0, // on binary_op, error 0, // on component_declaration, error 0, // on component_declaration*, error 0, // on component_declaration+, error 0, // on component_prefix, error 0, // on component_prefix?, error 0, // on connect_clause, error - 0, // on equation_entry, error - 0, // on equation_entry*, error - 0, // on equation_entry+, error + 0, // on connect_clause*, error + 0, // on connect_clause+, error 0, // on expr, error 0, // on factor, error - 0, // on file, error 0, // on float, error 0, // on identifier, error 0, // on integer, error 0, // on model, error 0, // on simple_equation, error + 0, // on simple_equation*, error + 0, // on simple_equation+, error 0, // on string_literal, error 0, // on string_literal?, error 0, // on term, error // State 19 - 0, // on __file, error + 0, // on __float, error + 0, // on __identifier, error 0, // on __integer, error 0, // on __model, error - 0, // on binary_op, error 0, // on component_declaration, error 0, // on component_declaration*, error 0, // on component_declaration+, error 0, // on component_prefix, error 0, // on component_prefix?, error 24, // on connect_clause, goto 23 - 25, // on equation_entry, goto 24 - 0, // on equation_entry*, error - 43, // on equation_entry+, goto 42 - 27, // on expr, goto 26 - 28, // on factor, goto 27 - 0, // on file, error - 29, // on float, goto 28 - 30, // on identifier, goto 29 - 31, // on integer, goto 30 + 0, // on connect_clause*, error + 43, // on connect_clause+, goto 42 + 26, // on expr, goto 25 + 27, // on factor, goto 26 + 28, // on float, goto 27 + 29, // on identifier, goto 28 + 30, // on integer, goto 29 0, // on model, error - 32, // on simple_equation, goto 31 + 31, // on simple_equation, goto 30 + 0, // on simple_equation*, error + 44, // on simple_equation+, goto 43 0, // on string_literal, error 0, // on string_literal?, error 33, // on term, goto 32 // State 20 - 0, // on __file, error + 0, // on __float, error + 0, // on __identifier, error 0, // on __integer, error 0, // on __model, error - 0, // on binary_op, error 0, // on component_declaration, error 0, // on component_declaration*, error 0, // on component_declaration+, error 0, // on component_prefix, error 0, // on component_prefix?, error 0, // on connect_clause, error - 0, // on equation_entry, error - 0, // on equation_entry*, error - 0, // on equation_entry+, error + 0, // on connect_clause*, error + 0, // on connect_clause+, error 0, // on expr, error 0, // on factor, error - 0, // on file, error 0, // on float, error - 45, // on identifier, goto 44 + 46, // on identifier, goto 45 0, // on integer, error 0, // on model, error 0, // on simple_equation, error + 0, // on simple_equation*, error + 0, // on simple_equation+, error 0, // on string_literal, error 0, // on string_literal?, error 0, // on term, error // State 21 - 0, // on __file, error + 0, // on __float, error + 0, // on __identifier, error 0, // on __integer, error 0, // on __model, error - 0, // on binary_op, error 0, // on component_declaration, error 0, // on component_declaration*, error 0, // on component_declaration+, error 0, // on component_prefix, error 0, // on component_prefix?, error 0, // on connect_clause, error - 0, // on equation_entry, error - 0, // on equation_entry*, error - 0, // on equation_entry+, error + 0, // on connect_clause*, error + 0, // on connect_clause+, error 0, // on expr, error 0, // on factor, error - 0, // on file, error 0, // on float, error 0, // on identifier, error 0, // on integer, error 0, // on model, error 0, // on simple_equation, error - 46, // on string_literal, goto 45 + 0, // on simple_equation*, error + 0, // on simple_equation+, error + 47, // on string_literal, goto 46 0, // on string_literal?, error 0, // on term, error // State 22 - 0, // on __file, error + 0, // on __float, error + 0, // on __identifier, error 0, // on __integer, error 0, // on __model, error - 0, // on binary_op, error 0, // on component_declaration, error 0, // on component_declaration*, error 0, // on component_declaration+, error 0, // on component_prefix, error 0, // on component_prefix?, error 0, // on connect_clause, error - 0, // on equation_entry, error - 0, // on equation_entry*, error - 0, // on equation_entry+, error + 0, // on connect_clause*, error + 0, // on connect_clause+, error 0, // on expr, error 0, // on factor, error - 0, // on file, error 0, // on float, error 0, // on identifier, error 0, // on integer, error 0, // on model, error 0, // on simple_equation, error + 0, // on simple_equation*, error + 0, // on simple_equation+, error 0, // on string_literal, error 0, // on string_literal?, error 0, // on term, error // State 23 - 0, // on __file, error + 0, // on __float, error + 0, // on __identifier, error 0, // on __integer, error 0, // on __model, error - 0, // on binary_op, error 0, // on component_declaration, error 0, // on component_declaration*, error 0, // on component_declaration+, error 0, // on component_prefix, error 0, // on component_prefix?, error 0, // on connect_clause, error - 0, // on equation_entry, error - 0, // on equation_entry*, error - 0, // on equation_entry+, error + 0, // on connect_clause*, error + 0, // on connect_clause+, error 0, // on expr, error 0, // on factor, error - 0, // on file, error 0, // on float, error 0, // on identifier, error 0, // on integer, error 0, // on model, error 0, // on simple_equation, error + 0, // on simple_equation*, error + 0, // on simple_equation+, error 0, // on string_literal, error 0, // on string_literal?, error 0, // on term, error // State 24 - 0, // on __file, error + 0, // on __float, error + 0, // on __identifier, error 0, // on __integer, error 0, // on __model, error - 0, // on binary_op, error 0, // on component_declaration, error 0, // on component_declaration*, error 0, // on component_declaration+, error 0, // on component_prefix, error 0, // on component_prefix?, error - 0, // on connect_clause, error - 0, // on equation_entry, error - 0, // on equation_entry*, error - 0, // on equation_entry+, error - 0, // on expr, error - 0, // on factor, error - 0, // on file, error - 0, // on float, error - 0, // on identifier, error - 0, // on integer, error + 50, // on connect_clause, goto 49 + 0, // on connect_clause*, error + 0, // on connect_clause+, error + 26, // on expr, goto 25 + 27, // on factor, goto 26 + 28, // on float, goto 27 + 29, // on identifier, goto 28 + 30, // on integer, goto 29 0, // on model, error - 0, // on simple_equation, error + 31, // on simple_equation, goto 30 + 0, // on simple_equation*, error + 51, // on simple_equation+, goto 50 0, // on string_literal, error 0, // on string_literal?, error - 0, // on term, error + 33, // on term, goto 32 // State 25 - 0, // on __file, error + 0, // on __float, error + 0, // on __identifier, error 0, // on __integer, error 0, // on __model, error - 0, // on binary_op, error 0, // on component_declaration, error 0, // on component_declaration*, error 0, // on component_declaration+, error 0, // on component_prefix, error 0, // on component_prefix?, error - 24, // on connect_clause, goto 23 - 49, // on equation_entry, goto 48 - 0, // on equation_entry*, error - 0, // on equation_entry+, error - 27, // on expr, goto 26 - 28, // on factor, goto 27 - 0, // on file, error - 29, // on float, goto 28 - 30, // on identifier, goto 29 - 31, // on integer, goto 30 + 0, // on connect_clause, error + 0, // on connect_clause*, error + 0, // on connect_clause+, error + 0, // on expr, error + 0, // on factor, error + 0, // on float, error + 0, // on identifier, error + 0, // on integer, error 0, // on model, error - 32, // on simple_equation, goto 31 + 0, // on simple_equation, error + 0, // on simple_equation*, error + 0, // on simple_equation+, error 0, // on string_literal, error 0, // on string_literal?, error - 33, // on term, goto 32 + 0, // on term, error // State 26 - 0, // on __file, error + 0, // on __float, error + 0, // on __identifier, error 0, // on __integer, error 0, // on __model, error - 0, // on binary_op, error 0, // on component_declaration, error 0, // on component_declaration*, error 0, // on component_declaration+, error 0, // on component_prefix, error 0, // on component_prefix?, error 0, // on connect_clause, error - 0, // on equation_entry, error - 0, // on equation_entry*, error - 0, // on equation_entry+, error + 0, // on connect_clause*, error + 0, // on connect_clause+, error 0, // on expr, error 0, // on factor, error - 0, // on file, error 0, // on float, error 0, // on identifier, error 0, // on integer, error 0, // on model, error 0, // on simple_equation, error + 0, // on simple_equation*, error + 0, // on simple_equation+, error 0, // on string_literal, error 0, // on string_literal?, error 0, // on term, error // State 27 - 0, // on __file, error + 0, // on __float, error + 0, // on __identifier, error 0, // on __integer, error 0, // on __model, error - 0, // on binary_op, error 0, // on component_declaration, error 0, // on component_declaration*, error 0, // on component_declaration+, error 0, // on component_prefix, error 0, // on component_prefix?, error 0, // on connect_clause, error - 0, // on equation_entry, error - 0, // on equation_entry*, error - 0, // on equation_entry+, error + 0, // on connect_clause*, error + 0, // on connect_clause+, error 0, // on expr, error 0, // on factor, error - 0, // on file, error 0, // on float, error 0, // on identifier, error 0, // on integer, error 0, // on model, error 0, // on simple_equation, error + 0, // on simple_equation*, error + 0, // on simple_equation+, error 0, // on string_literal, error 0, // on string_literal?, error 0, // on term, error // State 28 - 0, // on __file, error + 0, // on __float, error + 0, // on __identifier, error 0, // on __integer, error 0, // on __model, error - 0, // on binary_op, error 0, // on component_declaration, error 0, // on component_declaration*, error 0, // on component_declaration+, error 0, // on component_prefix, error 0, // on component_prefix?, error 0, // on connect_clause, error - 0, // on equation_entry, error - 0, // on equation_entry*, error - 0, // on equation_entry+, error + 0, // on connect_clause*, error + 0, // on connect_clause+, error 0, // on expr, error 0, // on factor, error - 0, // on file, error 0, // on float, error 0, // on identifier, error 0, // on integer, error 0, // on model, error 0, // on simple_equation, error + 0, // on simple_equation*, error + 0, // on simple_equation+, error 0, // on string_literal, error 0, // on string_literal?, error 0, // on term, error // State 29 - 0, // on __file, error + 0, // on __float, error + 0, // on __identifier, error 0, // on __integer, error 0, // on __model, error - 0, // on binary_op, error 0, // on component_declaration, error 0, // on component_declaration*, error 0, // on component_declaration+, error 0, // on component_prefix, error 0, // on component_prefix?, error 0, // on connect_clause, error - 0, // on equation_entry, error - 0, // on equation_entry*, error - 0, // on equation_entry+, error + 0, // on connect_clause*, error + 0, // on connect_clause+, error 0, // on expr, error 0, // on factor, error - 0, // on file, error 0, // on float, error 0, // on identifier, error 0, // on integer, error 0, // on model, error 0, // on simple_equation, error + 0, // on simple_equation*, error + 0, // on simple_equation+, error 0, // on string_literal, error 0, // on string_literal?, error 0, // on term, error // State 30 - 0, // on __file, error + 0, // on __float, error + 0, // on __identifier, error 0, // on __integer, error 0, // on __model, error - 0, // on binary_op, error 0, // on component_declaration, error 0, // on component_declaration*, error 0, // on component_declaration+, error 0, // on component_prefix, error 0, // on component_prefix?, error 0, // on connect_clause, error - 0, // on equation_entry, error - 0, // on equation_entry*, error - 0, // on equation_entry+, error + 0, // on connect_clause*, error + 0, // on connect_clause+, error 0, // on expr, error 0, // on factor, error - 0, // on file, error 0, // on float, error 0, // on identifier, error 0, // on integer, error 0, // on model, error 0, // on simple_equation, error + 0, // on simple_equation*, error + 0, // on simple_equation+, error 0, // on string_literal, error 0, // on string_literal?, error 0, // on term, error // State 31 - 0, // on __file, error + 0, // on __float, error + 0, // on __identifier, error 0, // on __integer, error 0, // on __model, error - 0, // on binary_op, error 0, // on component_declaration, error 0, // on component_declaration*, error 0, // on component_declaration+, error 0, // on component_prefix, error 0, // on component_prefix?, error 0, // on connect_clause, error - 0, // on equation_entry, error - 0, // on equation_entry*, error - 0, // on equation_entry+, error - 0, // on expr, error - 0, // on factor, error - 0, // on file, error - 0, // on float, error - 0, // on identifier, error - 0, // on integer, error + 0, // on connect_clause*, error + 0, // on connect_clause+, error + 26, // on expr, goto 25 + 27, // on factor, goto 26 + 28, // on float, goto 27 + 29, // on identifier, goto 28 + 30, // on integer, goto 29 0, // on model, error - 0, // on simple_equation, error + 58, // on simple_equation, goto 57 + 0, // on simple_equation*, error + 0, // on simple_equation+, error 0, // on string_literal, error 0, // on string_literal?, error - 0, // on term, error + 33, // on term, goto 32 // State 32 - 0, // on __file, error + 0, // on __float, error + 0, // on __identifier, error 0, // on __integer, error 0, // on __model, error - 0, // on binary_op, error 0, // on component_declaration, error 0, // on component_declaration*, error 0, // on component_declaration+, error 0, // on component_prefix, error 0, // on component_prefix?, error 0, // on connect_clause, error - 0, // on equation_entry, error - 0, // on equation_entry*, error - 0, // on equation_entry+, error + 0, // on connect_clause*, error + 0, // on connect_clause+, error 0, // on expr, error 0, // on factor, error - 0, // on file, error 0, // on float, error 0, // on identifier, error 0, // on integer, error 0, // on model, error 0, // on simple_equation, error + 0, // on simple_equation*, error + 0, // on simple_equation+, error 0, // on string_literal, error 0, // on string_literal?, error 0, // on term, error // State 33 - 0, // on __file, error + 0, // on __float, error + 0, // on __identifier, error 0, // on __integer, error 0, // on __model, error - 0, // on binary_op, error 0, // on component_declaration, error 0, // on component_declaration*, error 0, // on component_declaration+, error 0, // on component_prefix, error 0, // on component_prefix?, error 0, // on connect_clause, error - 0, // on equation_entry, error - 0, // on equation_entry*, error - 0, // on equation_entry+, error - 56, // on expr, goto 55 - 57, // on factor, goto 56 - 0, // on file, error - 58, // on float, goto 57 - 59, // on identifier, goto 58 - 60, // on integer, goto 59 + 0, // on connect_clause*, error + 0, // on connect_clause+, error + 60, // on expr, goto 59 + 61, // on factor, goto 60 + 62, // on float, goto 61 + 63, // on identifier, goto 62 + 64, // on integer, goto 63 0, // on model, error 0, // on simple_equation, error + 0, // on simple_equation*, error + 0, // on simple_equation+, error 0, // on string_literal, error 0, // on string_literal?, error - 61, // on term, goto 60 + 65, // on term, goto 64 // State 34 - 0, // on __file, error + 0, // on __float, error + 0, // on __identifier, error 0, // on __integer, error 0, // on __model, error - 0, // on binary_op, error 0, // on component_declaration, error 0, // on component_declaration*, error 0, // on component_declaration+, error 0, // on component_prefix, error 0, // on component_prefix?, error 0, // on connect_clause, error - 0, // on equation_entry, error - 0, // on equation_entry*, error - 0, // on equation_entry+, error + 0, // on connect_clause*, error + 0, // on connect_clause+, error 0, // on expr, error 0, // on factor, error - 0, // on file, error - 29, // on float, goto 28 - 30, // on identifier, goto 29 - 31, // on integer, goto 30 + 28, // on float, goto 27 + 29, // on identifier, goto 28 + 30, // on integer, goto 29 0, // on model, error 0, // on simple_equation, error + 0, // on simple_equation*, error + 0, // on simple_equation+, error 0, // on string_literal, error 0, // on string_literal?, error - 69, // on term, goto 68 + 73, // on term, goto 72 // State 35 - 0, // on __file, error + 0, // on __float, error + 0, // on __identifier, error 0, // on __integer, error 0, // on __model, error - 0, // on binary_op, error 0, // on component_declaration, error 0, // on component_declaration*, error 0, // on component_declaration+, error 0, // on component_prefix, error 0, // on component_prefix?, error 0, // on connect_clause, error - 0, // on equation_entry, error - 0, // on equation_entry*, error - 0, // on equation_entry+, error + 0, // on connect_clause*, error + 0, // on connect_clause+, error 0, // on expr, error 0, // on factor, error - 0, // on file, error 0, // on float, error 0, // on identifier, error 0, // on integer, error 0, // on model, error 0, // on simple_equation, error + 0, // on simple_equation*, error + 0, // on simple_equation+, error 0, // on string_literal, error 0, // on string_literal?, error 0, // on term, error // State 36 - 0, // on __file, error + 0, // on __float, error + 0, // on __identifier, error 0, // on __integer, error 0, // on __model, error - 0, // on binary_op, error 0, // on component_declaration, error 0, // on component_declaration*, error 0, // on component_declaration+, error 0, // on component_prefix, error 0, // on component_prefix?, error 0, // on connect_clause, error - 0, // on equation_entry, error - 0, // on equation_entry*, error - 0, // on equation_entry+, error + 0, // on connect_clause*, error + 0, // on connect_clause+, error 0, // on expr, error 0, // on factor, error - 0, // on file, error 0, // on float, error 0, // on identifier, error 0, // on integer, error 0, // on model, error 0, // on simple_equation, error + 0, // on simple_equation*, error + 0, // on simple_equation+, error 0, // on string_literal, error 0, // on string_literal?, error 0, // on term, error // State 37 - 0, // on __file, error + 0, // on __float, error + 0, // on __identifier, error 0, // on __integer, error 0, // on __model, error - 0, // on binary_op, error 0, // on component_declaration, error 0, // on component_declaration*, error 0, // on component_declaration+, error 0, // on component_prefix, error 0, // on component_prefix?, error 0, // on connect_clause, error - 0, // on equation_entry, error - 0, // on equation_entry*, error - 0, // on equation_entry+, error + 0, // on connect_clause*, error + 0, // on connect_clause+, error 0, // on expr, error 0, // on factor, error - 0, // on file, error 0, // on float, error 0, // on identifier, error 0, // on integer, error 0, // on model, error 0, // on simple_equation, error + 0, // on simple_equation*, error + 0, // on simple_equation+, error 0, // on string_literal, error 0, // on string_literal?, error 0, // on term, error // State 38 - 0, // on __file, error + 0, // on __float, error + 0, // on __identifier, error 0, // on __integer, error 0, // on __model, error - 0, // on binary_op, error 0, // on component_declaration, error 0, // on component_declaration*, error 0, // on component_declaration+, error 0, // on component_prefix, error 0, // on component_prefix?, error 0, // on connect_clause, error - 0, // on equation_entry, error - 0, // on equation_entry*, error - 0, // on equation_entry+, error + 0, // on connect_clause*, error + 0, // on connect_clause+, error 0, // on expr, error 0, // on factor, error - 0, // on file, error 0, // on float, error - 73, // on identifier, goto 72 + 77, // on identifier, goto 76 0, // on integer, error 0, // on model, error 0, // on simple_equation, error + 0, // on simple_equation*, error + 0, // on simple_equation+, error 0, // on string_literal, error 0, // on string_literal?, error 0, // on term, error // State 39 - 0, // on __file, error + 0, // on __float, error + 0, // on __identifier, error 0, // on __integer, error 0, // on __model, error - 0, // on binary_op, error 0, // on component_declaration, error 0, // on component_declaration*, error 0, // on component_declaration+, error 0, // on component_prefix, error 0, // on component_prefix?, error 0, // on connect_clause, error - 0, // on equation_entry, error - 0, // on equation_entry*, error - 0, // on equation_entry+, error + 0, // on connect_clause*, error + 0, // on connect_clause+, error 0, // on expr, error 0, // on factor, error - 0, // on file, error 0, // on float, error 0, // on identifier, error 0, // on integer, error 0, // on model, error 0, // on simple_equation, error + 0, // on simple_equation*, error + 0, // on simple_equation+, error 0, // on string_literal, error 0, // on string_literal?, error 0, // on term, error // State 40 - 0, // on __file, error + 0, // on __float, error + 0, // on __identifier, error 0, // on __integer, error 0, // on __model, error - 0, // on binary_op, error 0, // on component_declaration, error 0, // on component_declaration*, error 0, // on component_declaration+, error 0, // on component_prefix, error 0, // on component_prefix?, error 0, // on connect_clause, error - 0, // on equation_entry, error - 0, // on equation_entry*, error - 0, // on equation_entry+, error + 0, // on connect_clause*, error + 0, // on connect_clause+, error 0, // on expr, error 0, // on factor, error - 0, // on file, error 0, // on float, error 0, // on identifier, error 0, // on integer, error 0, // on model, error 0, // on simple_equation, error + 0, // on simple_equation*, error + 0, // on simple_equation+, error 0, // on string_literal, error 0, // on string_literal?, error 0, // on term, error // State 41 - 0, // on __file, error + 0, // on __float, error + 0, // on __identifier, error 0, // on __integer, error 0, // on __model, error - 0, // on binary_op, error 0, // on component_declaration, error 0, // on component_declaration*, error 0, // on component_declaration+, error 0, // on component_prefix, error 0, // on component_prefix?, error 0, // on connect_clause, error - 0, // on equation_entry, error - 0, // on equation_entry*, error - 0, // on equation_entry+, error + 0, // on connect_clause*, error + 0, // on connect_clause+, error 0, // on expr, error 0, // on factor, error - 0, // on file, error 0, // on float, error 0, // on identifier, error 0, // on integer, error 0, // on model, error 0, // on simple_equation, error + 0, // on simple_equation*, error + 0, // on simple_equation+, error 0, // on string_literal, error 0, // on string_literal?, error 0, // on term, error // State 42 - 0, // on __file, error + 0, // on __float, error + 0, // on __identifier, error 0, // on __integer, error 0, // on __model, error - 0, // on binary_op, error 0, // on component_declaration, error 0, // on component_declaration*, error 0, // on component_declaration+, error 0, // on component_prefix, error 0, // on component_prefix?, error - 24, // on connect_clause, goto 23 - 49, // on equation_entry, goto 48 - 0, // on equation_entry*, error - 0, // on equation_entry+, error - 27, // on expr, goto 26 - 28, // on factor, goto 27 - 0, // on file, error - 29, // on float, goto 28 - 30, // on identifier, goto 29 - 31, // on integer, goto 30 + 50, // on connect_clause, goto 49 + 0, // on connect_clause*, error + 0, // on connect_clause+, error + 26, // on expr, goto 25 + 27, // on factor, goto 26 + 28, // on float, goto 27 + 29, // on identifier, goto 28 + 30, // on integer, goto 29 0, // on model, error - 32, // on simple_equation, goto 31 + 31, // on simple_equation, goto 30 + 0, // on simple_equation*, error + 79, // on simple_equation+, goto 78 0, // on string_literal, error 0, // on string_literal?, error 33, // on term, goto 32 // State 43 - 0, // on __file, error + 0, // on __float, error + 0, // on __identifier, error 0, // on __integer, error 0, // on __model, error - 0, // on binary_op, error 0, // on component_declaration, error 0, // on component_declaration*, error 0, // on component_declaration+, error 0, // on component_prefix, error 0, // on component_prefix?, error 0, // on connect_clause, error - 0, // on equation_entry, error - 0, // on equation_entry*, error - 0, // on equation_entry+, error + 0, // on connect_clause*, error + 0, // on connect_clause+, error + 26, // on expr, goto 25 + 27, // on factor, goto 26 + 28, // on float, goto 27 + 29, // on identifier, goto 28 + 30, // on integer, goto 29 + 0, // on model, error + 58, // on simple_equation, goto 57 + 0, // on simple_equation*, error + 0, // on simple_equation+, error + 0, // on string_literal, error + 0, // on string_literal?, error + 33, // on term, goto 32 + // State 44 + 0, // on __float, error + 0, // on __identifier, error + 0, // on __integer, error + 0, // on __model, error + 0, // on component_declaration, error + 0, // on component_declaration*, error + 0, // on component_declaration+, error + 0, // on component_prefix, error + 0, // on component_prefix?, error + 0, // on connect_clause, error + 0, // on connect_clause*, error + 0, // on connect_clause+, error 0, // on expr, error 0, // on factor, error - 0, // on file, error 0, // on float, error - 76, // on identifier, goto 75 + 82, // on identifier, goto 81 0, // on integer, error 0, // on model, error 0, // on simple_equation, error + 0, // on simple_equation*, error + 0, // on simple_equation+, error 0, // on string_literal, error 0, // on string_literal?, error 0, // on term, error - // State 44 - 0, // on __file, error + // State 45 + 0, // on __float, error + 0, // on __identifier, error 0, // on __integer, error 0, // on __model, error - 0, // on binary_op, error 0, // on component_declaration, error 0, // on component_declaration*, error 0, // on component_declaration+, error 0, // on component_prefix, error 0, // on component_prefix?, error 0, // on connect_clause, error - 0, // on equation_entry, error - 0, // on equation_entry*, error - 0, // on equation_entry+, error + 0, // on connect_clause*, error + 0, // on connect_clause+, error 0, // on expr, error 0, // on factor, error - 0, // on file, error 0, // on float, error 0, // on identifier, error 0, // on integer, error 0, // on model, error 0, // on simple_equation, error - 77, // on string_literal, goto 76 + 0, // on simple_equation*, error + 0, // on simple_equation+, error + 83, // on string_literal, goto 82 0, // on string_literal?, error 0, // on term, error - // State 45 - 0, // on __file, error + // State 46 + 0, // on __float, error + 0, // on __identifier, error 0, // on __integer, error 0, // on __model, error - 0, // on binary_op, error 0, // on component_declaration, error 0, // on component_declaration*, error 0, // on component_declaration+, error 0, // on component_prefix, error 0, // on component_prefix?, error 0, // on connect_clause, error - 0, // on equation_entry, error - 0, // on equation_entry*, error - 0, // on equation_entry+, error + 0, // on connect_clause*, error + 0, // on connect_clause+, error 0, // on expr, error 0, // on factor, error - 0, // on file, error 0, // on float, error 0, // on identifier, error 0, // on integer, error 0, // on model, error 0, // on simple_equation, error + 0, // on simple_equation*, error + 0, // on simple_equation+, error 0, // on string_literal, error 0, // on string_literal?, error 0, // on term, error - // State 46 - 0, // on __file, error + // State 47 + 0, // on __float, error + 0, // on __identifier, error 0, // on __integer, error 0, // on __model, error - 0, // on binary_op, error 0, // on component_declaration, error 0, // on component_declaration*, error 0, // on component_declaration+, error 0, // on component_prefix, error 0, // on component_prefix?, error 0, // on connect_clause, error - 0, // on equation_entry, error - 0, // on equation_entry*, error - 0, // on equation_entry+, error + 0, // on connect_clause*, error + 0, // on connect_clause+, error 0, // on expr, error 0, // on factor, error - 0, // on file, error 0, // on float, error 0, // on identifier, error 0, // on integer, error 0, // on model, error 0, // on simple_equation, error + 0, // on simple_equation*, error + 0, // on simple_equation+, error 0, // on string_literal, error 0, // on string_literal?, error 0, // on term, error - // State 47 - 0, // on __file, error + // State 48 + 0, // on __float, error + 0, // on __identifier, error 0, // on __integer, error 0, // on __model, error - 0, // on binary_op, error 0, // on component_declaration, error 0, // on component_declaration*, error 0, // on component_declaration+, error 0, // on component_prefix, error 0, // on component_prefix?, error 0, // on connect_clause, error - 0, // on equation_entry, error - 0, // on equation_entry*, error - 0, // on equation_entry+, error + 0, // on connect_clause*, error + 0, // on connect_clause+, error 0, // on expr, error 0, // on factor, error - 0, // on file, error 0, // on float, error 0, // on identifier, error 0, // on integer, error 0, // on model, error 0, // on simple_equation, error + 0, // on simple_equation*, error + 0, // on simple_equation+, error 0, // on string_literal, error 0, // on string_literal?, error 0, // on term, error - // State 48 - 0, // on __file, error + // State 49 + 0, // on __float, error + 0, // on __identifier, error 0, // on __integer, error 0, // on __model, error - 0, // on binary_op, error 0, // on component_declaration, error 0, // on component_declaration*, error 0, // on component_declaration+, error 0, // on component_prefix, error 0, // on component_prefix?, error 0, // on connect_clause, error - 0, // on equation_entry, error - 0, // on equation_entry*, error - 0, // on equation_entry+, error + 0, // on connect_clause*, error + 0, // on connect_clause+, error 0, // on expr, error 0, // on factor, error - 0, // on file, error 0, // on float, error 0, // on identifier, error 0, // on integer, error 0, // on model, error 0, // on simple_equation, error + 0, // on simple_equation*, error + 0, // on simple_equation+, error 0, // on string_literal, error 0, // on string_literal?, error 0, // on term, error - // State 49 - 0, // on __file, error + // State 50 + 0, // on __float, error + 0, // on __identifier, error 0, // on __integer, error 0, // on __model, error - 0, // on binary_op, error 0, // on component_declaration, error 0, // on component_declaration*, error 0, // on component_declaration+, error 0, // on component_prefix, error 0, // on component_prefix?, error 0, // on connect_clause, error - 0, // on equation_entry, error - 0, // on equation_entry*, error - 0, // on equation_entry+, error + 0, // on connect_clause*, error + 0, // on connect_clause+, error + 26, // on expr, goto 25 + 27, // on factor, goto 26 + 28, // on float, goto 27 + 29, // on identifier, goto 28 + 30, // on integer, goto 29 + 0, // on model, error + 58, // on simple_equation, goto 57 + 0, // on simple_equation*, error + 0, // on simple_equation+, error + 0, // on string_literal, error + 0, // on string_literal?, error + 33, // on term, goto 32 + // State 51 + 0, // on __float, error + 0, // on __identifier, error + 0, // on __integer, error + 0, // on __model, error + 0, // on component_declaration, error + 0, // on component_declaration*, error + 0, // on component_declaration+, error + 0, // on component_prefix, error + 0, // on component_prefix?, error + 0, // on connect_clause, error + 0, // on connect_clause*, error + 0, // on connect_clause+, error 0, // on expr, error 0, // on factor, error - 0, // on file, error 0, // on float, error - 80, // on identifier, goto 79 + 87, // on identifier, goto 86 0, // on integer, error 0, // on model, error 0, // on simple_equation, error + 0, // on simple_equation*, error + 0, // on simple_equation+, error 0, // on string_literal, error 0, // on string_literal?, error 0, // on term, error - // State 50 - 0, // on __file, error + // State 52 + 0, // on __float, error + 0, // on __identifier, error 0, // on __integer, error 0, // on __model, error - 0, // on binary_op, error 0, // on component_declaration, error 0, // on component_declaration*, error 0, // on component_declaration+, error 0, // on component_prefix, error 0, // on component_prefix?, error 0, // on connect_clause, error - 0, // on equation_entry, error - 0, // on equation_entry*, error - 0, // on equation_entry+, error + 0, // on connect_clause*, error + 0, // on connect_clause+, error 0, // on expr, error - 81, // on factor, goto 80 - 0, // on file, error - 29, // on float, goto 28 - 30, // on identifier, goto 29 - 31, // on integer, goto 30 + 88, // on factor, goto 87 + 28, // on float, goto 27 + 29, // on identifier, goto 28 + 30, // on integer, goto 29 0, // on model, error 0, // on simple_equation, error + 0, // on simple_equation*, error + 0, // on simple_equation+, error 0, // on string_literal, error 0, // on string_literal?, error 33, // on term, goto 32 - // State 51 - 0, // on __file, error + // State 53 + 0, // on __float, error + 0, // on __identifier, error 0, // on __integer, error 0, // on __model, error - 0, // on binary_op, error 0, // on component_declaration, error 0, // on component_declaration*, error 0, // on component_declaration+, error 0, // on component_prefix, error 0, // on component_prefix?, error 0, // on connect_clause, error - 0, // on equation_entry, error - 0, // on equation_entry*, error - 0, // on equation_entry+, error + 0, // on connect_clause*, error + 0, // on connect_clause+, error 0, // on expr, error - 82, // on factor, goto 81 - 0, // on file, error - 29, // on float, goto 28 - 30, // on identifier, goto 29 - 31, // on integer, goto 30 + 89, // on factor, goto 88 + 28, // on float, goto 27 + 29, // on identifier, goto 28 + 30, // on integer, goto 29 0, // on model, error 0, // on simple_equation, error + 0, // on simple_equation*, error + 0, // on simple_equation+, error 0, // on string_literal, error 0, // on string_literal?, error 33, // on term, goto 32 - // State 52 - 0, // on __file, error + // State 54 + 0, // on __float, error + 0, // on __identifier, error 0, // on __integer, error 0, // on __model, error - 0, // on binary_op, error 0, // on component_declaration, error 0, // on component_declaration*, error 0, // on component_declaration+, error 0, // on component_prefix, error 0, // on component_prefix?, error 0, // on connect_clause, error - 0, // on equation_entry, error - 0, // on equation_entry*, error - 0, // on equation_entry+, error - 83, // on expr, goto 82 - 84, // on factor, goto 83 - 0, // on file, error - 85, // on float, goto 84 - 86, // on identifier, goto 85 - 87, // on integer, goto 86 + 0, // on connect_clause*, error + 0, // on connect_clause+, error + 90, // on expr, goto 89 + 91, // on factor, goto 90 + 92, // on float, goto 91 + 93, // on identifier, goto 92 + 94, // on integer, goto 93 0, // on model, error 0, // on simple_equation, error + 0, // on simple_equation*, error + 0, // on simple_equation+, error 0, // on string_literal, error 0, // on string_literal?, error - 88, // on term, goto 87 - // State 53 - 0, // on __file, error + 95, // on term, goto 94 + // State 55 + 0, // on __float, error + 0, // on __identifier, error 0, // on __integer, error 0, // on __model, error - 0, // on binary_op, error 0, // on component_declaration, error 0, // on component_declaration*, error 0, // on component_declaration+, error 0, // on component_prefix, error 0, // on component_prefix?, error 0, // on connect_clause, error - 0, // on equation_entry, error - 0, // on equation_entry*, error - 0, // on equation_entry+, error + 0, // on connect_clause*, error + 0, // on connect_clause+, error 0, // on expr, error 0, // on factor, error - 0, // on file, error - 29, // on float, goto 28 - 30, // on identifier, goto 29 - 31, // on integer, goto 30 + 28, // on float, goto 27 + 29, // on identifier, goto 28 + 30, // on integer, goto 29 0, // on model, error 0, // on simple_equation, error + 0, // on simple_equation*, error + 0, // on simple_equation+, error 0, // on string_literal, error 0, // on string_literal?, error - 96, // on term, goto 95 - // State 54 - 0, // on __file, error + 103, // on term, goto 102 + // State 56 + 0, // on __float, error + 0, // on __identifier, error 0, // on __integer, error 0, // on __model, error - 0, // on binary_op, error 0, // on component_declaration, error 0, // on component_declaration*, error 0, // on component_declaration+, error 0, // on component_prefix, error 0, // on component_prefix?, error 0, // on connect_clause, error - 0, // on equation_entry, error - 0, // on equation_entry*, error - 0, // on equation_entry+, error + 0, // on connect_clause*, error + 0, // on connect_clause+, error 0, // on expr, error 0, // on factor, error - 0, // on file, error - 29, // on float, goto 28 - 30, // on identifier, goto 29 - 31, // on integer, goto 30 + 28, // on float, goto 27 + 29, // on identifier, goto 28 + 30, // on integer, goto 29 0, // on model, error 0, // on simple_equation, error + 0, // on simple_equation*, error + 0, // on simple_equation+, error 0, // on string_literal, error 0, // on string_literal?, error - 97, // on term, goto 96 - // State 55 - 0, // on __file, error + 104, // on term, goto 103 + // State 57 + 0, // on __float, error + 0, // on __identifier, error 0, // on __integer, error 0, // on __model, error - 0, // on binary_op, error 0, // on component_declaration, error 0, // on component_declaration*, error 0, // on component_declaration+, error 0, // on component_prefix, error 0, // on component_prefix?, error 0, // on connect_clause, error - 0, // on equation_entry, error - 0, // on equation_entry*, error - 0, // on equation_entry+, error + 0, // on connect_clause*, error + 0, // on connect_clause+, error 0, // on expr, error 0, // on factor, error - 0, // on file, error 0, // on float, error 0, // on identifier, error 0, // on integer, error 0, // on model, error 0, // on simple_equation, error + 0, // on simple_equation*, error + 0, // on simple_equation+, error 0, // on string_literal, error 0, // on string_literal?, error 0, // on term, error - // State 56 - 0, // on __file, error + // State 58 + 0, // on __float, error + 0, // on __identifier, error 0, // on __integer, error 0, // on __model, error - 0, // on binary_op, error 0, // on component_declaration, error 0, // on component_declaration*, error 0, // on component_declaration+, error 0, // on component_prefix, error 0, // on component_prefix?, error 0, // on connect_clause, error - 0, // on equation_entry, error - 0, // on equation_entry*, error - 0, // on equation_entry+, error + 0, // on connect_clause*, error + 0, // on connect_clause+, error + 0, // on expr, error + 0, // on factor, error + 0, // on float, error + 105, // on identifier, goto 104 + 0, // on integer, error + 0, // on model, error + 0, // on simple_equation, error + 0, // on simple_equation*, error + 0, // on simple_equation+, error + 0, // on string_literal, error + 0, // on string_literal?, error + 0, // on term, error + // State 59 + 0, // on __float, error + 0, // on __identifier, error + 0, // on __integer, error + 0, // on __model, error + 0, // on component_declaration, error + 0, // on component_declaration*, error + 0, // on component_declaration+, error + 0, // on component_prefix, error + 0, // on component_prefix?, error + 0, // on connect_clause, error + 0, // on connect_clause*, error + 0, // on connect_clause+, error 0, // on expr, error 0, // on factor, error - 0, // on file, error 0, // on float, error 0, // on identifier, error 0, // on integer, error 0, // on model, error 0, // on simple_equation, error + 0, // on simple_equation*, error + 0, // on simple_equation+, error 0, // on string_literal, error 0, // on string_literal?, error 0, // on term, error - // State 57 - 0, // on __file, error + // State 60 + 0, // on __float, error + 0, // on __identifier, error 0, // on __integer, error 0, // on __model, error - 0, // on binary_op, error 0, // on component_declaration, error 0, // on component_declaration*, error 0, // on component_declaration+, error 0, // on component_prefix, error 0, // on component_prefix?, error 0, // on connect_clause, error - 0, // on equation_entry, error - 0, // on equation_entry*, error - 0, // on equation_entry+, error + 0, // on connect_clause*, error + 0, // on connect_clause+, error 0, // on expr, error 0, // on factor, error - 0, // on file, error 0, // on float, error 0, // on identifier, error 0, // on integer, error 0, // on model, error 0, // on simple_equation, error + 0, // on simple_equation*, error + 0, // on simple_equation+, error 0, // on string_literal, error 0, // on string_literal?, error 0, // on term, error - // State 58 - 0, // on __file, error + // State 61 + 0, // on __float, error + 0, // on __identifier, error 0, // on __integer, error 0, // on __model, error - 0, // on binary_op, error 0, // on component_declaration, error 0, // on component_declaration*, error 0, // on component_declaration+, error 0, // on component_prefix, error 0, // on component_prefix?, error 0, // on connect_clause, error - 0, // on equation_entry, error - 0, // on equation_entry*, error - 0, // on equation_entry+, error + 0, // on connect_clause*, error + 0, // on connect_clause+, error 0, // on expr, error 0, // on factor, error - 0, // on file, error 0, // on float, error 0, // on identifier, error 0, // on integer, error 0, // on model, error 0, // on simple_equation, error + 0, // on simple_equation*, error + 0, // on simple_equation+, error 0, // on string_literal, error 0, // on string_literal?, error 0, // on term, error - // State 59 - 0, // on __file, error + // State 62 + 0, // on __float, error + 0, // on __identifier, error 0, // on __integer, error 0, // on __model, error - 0, // on binary_op, error 0, // on component_declaration, error 0, // on component_declaration*, error 0, // on component_declaration+, error 0, // on component_prefix, error 0, // on component_prefix?, error 0, // on connect_clause, error - 0, // on equation_entry, error - 0, // on equation_entry*, error - 0, // on equation_entry+, error + 0, // on connect_clause*, error + 0, // on connect_clause+, error 0, // on expr, error 0, // on factor, error - 0, // on file, error 0, // on float, error 0, // on identifier, error 0, // on integer, error 0, // on model, error 0, // on simple_equation, error + 0, // on simple_equation*, error + 0, // on simple_equation+, error 0, // on string_literal, error 0, // on string_literal?, error 0, // on term, error - // State 60 - 0, // on __file, error + // State 63 + 0, // on __float, error + 0, // on __identifier, error 0, // on __integer, error 0, // on __model, error - 0, // on binary_op, error 0, // on component_declaration, error 0, // on component_declaration*, error 0, // on component_declaration+, error 0, // on component_prefix, error 0, // on component_prefix?, error 0, // on connect_clause, error - 0, // on equation_entry, error - 0, // on equation_entry*, error - 0, // on equation_entry+, error + 0, // on connect_clause*, error + 0, // on connect_clause+, error 0, // on expr, error 0, // on factor, error - 0, // on file, error 0, // on float, error 0, // on identifier, error 0, // on integer, error 0, // on model, error 0, // on simple_equation, error + 0, // on simple_equation*, error + 0, // on simple_equation+, error 0, // on string_literal, error 0, // on string_literal?, error 0, // on term, error - // State 61 - 0, // on __file, error + // State 64 + 0, // on __float, error + 0, // on __identifier, error + 0, // on __integer, error + 0, // on __model, error + 0, // on component_declaration, error + 0, // on component_declaration*, error + 0, // on component_declaration+, error + 0, // on component_prefix, error + 0, // on component_prefix?, error + 0, // on connect_clause, error + 0, // on connect_clause*, error + 0, // on connect_clause+, error + 0, // on expr, error + 0, // on factor, error + 0, // on float, error + 0, // on identifier, error + 0, // on integer, error + 0, // on model, error + 0, // on simple_equation, error + 0, // on simple_equation*, error + 0, // on simple_equation+, error + 0, // on string_literal, error + 0, // on string_literal?, error + 0, // on term, error + // State 65 + 0, // on __float, error + 0, // on __identifier, error 0, // on __integer, error 0, // on __model, error - 0, // on binary_op, error 0, // on component_declaration, error 0, // on component_declaration*, error 0, // on component_declaration+, error 0, // on component_prefix, error 0, // on component_prefix?, error 0, // on connect_clause, error - 0, // on equation_entry, error - 0, // on equation_entry*, error - 0, // on equation_entry+, error - 103, // on expr, goto 102 - 57, // on factor, goto 56 - 0, // on file, error - 58, // on float, goto 57 - 59, // on identifier, goto 58 - 60, // on integer, goto 59 + 0, // on connect_clause*, error + 0, // on connect_clause+, error + 111, // on expr, goto 110 + 61, // on factor, goto 60 + 62, // on float, goto 61 + 63, // on identifier, goto 62 + 64, // on integer, goto 63 0, // on model, error 0, // on simple_equation, error + 0, // on simple_equation*, error + 0, // on simple_equation+, error 0, // on string_literal, error 0, // on string_literal?, error - 61, // on term, goto 60 - // State 62 - 0, // on __file, error + 65, // on term, goto 64 + // State 66 + 0, // on __float, error + 0, // on __identifier, error 0, // on __integer, error 0, // on __model, error - 0, // on binary_op, error 0, // on component_declaration, error 0, // on component_declaration*, error 0, // on component_declaration+, error 0, // on component_prefix, error 0, // on component_prefix?, error 0, // on connect_clause, error - 0, // on equation_entry, error - 0, // on equation_entry*, error - 0, // on equation_entry+, error + 0, // on connect_clause*, error + 0, // on connect_clause+, error 0, // on expr, error 0, // on factor, error - 0, // on file, error - 58, // on float, goto 57 - 59, // on identifier, goto 58 - 60, // on integer, goto 59 + 62, // on float, goto 61 + 63, // on identifier, goto 62 + 64, // on integer, goto 63 0, // on model, error 0, // on simple_equation, error + 0, // on simple_equation*, error + 0, // on simple_equation+, error 0, // on string_literal, error 0, // on string_literal?, error - 104, // on term, goto 103 - // State 63 - 0, // on __file, error + 112, // on term, goto 111 + // State 67 + 0, // on __float, error + 0, // on __identifier, error 0, // on __integer, error 0, // on __model, error - 0, // on binary_op, error 0, // on component_declaration, error 0, // on component_declaration*, error 0, // on component_declaration+, error 0, // on component_prefix, error 0, // on component_prefix?, error 0, // on connect_clause, error - 0, // on equation_entry, error - 0, // on equation_entry*, error - 0, // on equation_entry+, error + 0, // on connect_clause*, error + 0, // on connect_clause+, error 0, // on expr, error 0, // on factor, error - 0, // on file, error 0, // on float, error 0, // on identifier, error 0, // on integer, error 0, // on model, error 0, // on simple_equation, error + 0, // on simple_equation*, error + 0, // on simple_equation+, error 0, // on string_literal, error 0, // on string_literal?, error 0, // on term, error - // State 64 - 0, // on __file, error + // State 68 + 0, // on __float, error + 0, // on __identifier, error 0, // on __integer, error 0, // on __model, error - 0, // on binary_op, error 0, // on component_declaration, error 0, // on component_declaration*, error 0, // on component_declaration+, error 0, // on component_prefix, error 0, // on component_prefix?, error 0, // on connect_clause, error - 0, // on equation_entry, error - 0, // on equation_entry*, error - 0, // on equation_entry+, error + 0, // on connect_clause*, error + 0, // on connect_clause+, error 0, // on expr, error 0, // on factor, error - 0, // on file, error 0, // on float, error 0, // on identifier, error 0, // on integer, error 0, // on model, error 0, // on simple_equation, error + 0, // on simple_equation*, error + 0, // on simple_equation+, error 0, // on string_literal, error 0, // on string_literal?, error 0, // on term, error - // State 65 - 0, // on __file, error + // State 69 + 0, // on __float, error + 0, // on __identifier, error 0, // on __integer, error 0, // on __model, error - 0, // on binary_op, error 0, // on component_declaration, error 0, // on component_declaration*, error 0, // on component_declaration+, error 0, // on component_prefix, error 0, // on component_prefix?, error 0, // on connect_clause, error - 0, // on equation_entry, error - 0, // on equation_entry*, error - 0, // on equation_entry+, error + 0, // on connect_clause*, error + 0, // on connect_clause+, error 0, // on expr, error 0, // on factor, error - 0, // on file, error 0, // on float, error 0, // on identifier, error 0, // on integer, error 0, // on model, error 0, // on simple_equation, error + 0, // on simple_equation*, error + 0, // on simple_equation+, error 0, // on string_literal, error 0, // on string_literal?, error 0, // on term, error - // State 66 - 0, // on __file, error + // State 70 + 0, // on __float, error + 0, // on __identifier, error 0, // on __integer, error 0, // on __model, error - 0, // on binary_op, error 0, // on component_declaration, error 0, // on component_declaration*, error 0, // on component_declaration+, error 0, // on component_prefix, error 0, // on component_prefix?, error 0, // on connect_clause, error - 0, // on equation_entry, error - 0, // on equation_entry*, error - 0, // on equation_entry+, error + 0, // on connect_clause*, error + 0, // on connect_clause+, error 0, // on expr, error 0, // on factor, error - 0, // on file, error 0, // on float, error 0, // on identifier, error 0, // on integer, error 0, // on model, error 0, // on simple_equation, error + 0, // on simple_equation*, error + 0, // on simple_equation+, error 0, // on string_literal, error 0, // on string_literal?, error 0, // on term, error - // State 67 - 0, // on __file, error + // State 71 + 0, // on __float, error + 0, // on __identifier, error 0, // on __integer, error 0, // on __model, error - 0, // on binary_op, error 0, // on component_declaration, error 0, // on component_declaration*, error 0, // on component_declaration+, error 0, // on component_prefix, error 0, // on component_prefix?, error 0, // on connect_clause, error - 0, // on equation_entry, error - 0, // on equation_entry*, error - 0, // on equation_entry+, error + 0, // on connect_clause*, error + 0, // on connect_clause+, error 0, // on expr, error 0, // on factor, error - 0, // on file, error 0, // on float, error 0, // on identifier, error 0, // on integer, error 0, // on model, error 0, // on simple_equation, error + 0, // on simple_equation*, error + 0, // on simple_equation+, error 0, // on string_literal, error 0, // on string_literal?, error 0, // on term, error - // State 68 - 0, // on __file, error + // State 72 + 0, // on __float, error + 0, // on __identifier, error 0, // on __integer, error 0, // on __model, error - 0, // on binary_op, error 0, // on component_declaration, error 0, // on component_declaration*, error 0, // on component_declaration+, error 0, // on component_prefix, error 0, // on component_prefix?, error 0, // on connect_clause, error - 0, // on equation_entry, error - 0, // on equation_entry*, error - 0, // on equation_entry+, error + 0, // on connect_clause*, error + 0, // on connect_clause+, error 0, // on expr, error 0, // on factor, error - 0, // on file, error 0, // on float, error 0, // on identifier, error 0, // on integer, error 0, // on model, error 0, // on simple_equation, error + 0, // on simple_equation*, error + 0, // on simple_equation+, error 0, // on string_literal, error 0, // on string_literal?, error 0, // on term, error - // State 69 - 0, // on __file, error + // State 73 + 0, // on __float, error + 0, // on __identifier, error 0, // on __integer, error 0, // on __model, error - 0, // on binary_op, error 0, // on component_declaration, error 0, // on component_declaration*, error 0, // on component_declaration+, error 0, // on component_prefix, error 0, // on component_prefix?, error 0, // on connect_clause, error - 0, // on equation_entry, error - 0, // on equation_entry*, error - 0, // on equation_entry+, error - 107, // on expr, goto 106 - 57, // on factor, goto 56 - 0, // on file, error - 58, // on float, goto 57 - 59, // on identifier, goto 58 - 60, // on integer, goto 59 + 0, // on connect_clause*, error + 0, // on connect_clause+, error + 115, // on expr, goto 114 + 61, // on factor, goto 60 + 62, // on float, goto 61 + 63, // on identifier, goto 62 + 64, // on integer, goto 63 0, // on model, error 0, // on simple_equation, error + 0, // on simple_equation*, error + 0, // on simple_equation+, error 0, // on string_literal, error 0, // on string_literal?, error - 61, // on term, goto 60 - // State 70 - 0, // on __file, error + 65, // on term, goto 64 + // State 74 + 0, // on __float, error + 0, // on __identifier, error 0, // on __integer, error 0, // on __model, error - 0, // on binary_op, error 0, // on component_declaration, error 0, // on component_declaration*, error 0, // on component_declaration+, error 0, // on component_prefix, error 0, // on component_prefix?, error 0, // on connect_clause, error - 0, // on equation_entry, error - 0, // on equation_entry*, error - 0, // on equation_entry+, error + 0, // on connect_clause*, error + 0, // on connect_clause+, error 0, // on expr, error 0, // on factor, error - 0, // on file, error 0, // on float, error - 108, // on identifier, goto 107 + 116, // on identifier, goto 115 0, // on integer, error 0, // on model, error 0, // on simple_equation, error + 0, // on simple_equation*, error + 0, // on simple_equation+, error 0, // on string_literal, error 0, // on string_literal?, error 0, // on term, error - // State 71 - 0, // on __file, error + // State 75 + 0, // on __float, error + 0, // on __identifier, error 0, // on __integer, error 0, // on __model, error - 0, // on binary_op, error 0, // on component_declaration, error 0, // on component_declaration*, error 0, // on component_declaration+, error 0, // on component_prefix, error 0, // on component_prefix?, error 0, // on connect_clause, error - 0, // on equation_entry, error - 0, // on equation_entry*, error - 0, // on equation_entry+, error - 110, // on expr, goto 109 - 57, // on factor, goto 56 - 0, // on file, error - 58, // on float, goto 57 - 59, // on identifier, goto 58 - 60, // on integer, goto 59 + 0, // on connect_clause*, error + 0, // on connect_clause+, error + 118, // on expr, goto 117 + 61, // on factor, goto 60 + 62, // on float, goto 61 + 63, // on identifier, goto 62 + 64, // on integer, goto 63 0, // on model, error 0, // on simple_equation, error + 0, // on simple_equation*, error + 0, // on simple_equation+, error 0, // on string_literal, error 0, // on string_literal?, error - 61, // on term, goto 60 - // State 72 - 0, // on __file, error + 65, // on term, goto 64 + // State 76 + 0, // on __float, error + 0, // on __identifier, error 0, // on __integer, error 0, // on __model, error - 0, // on binary_op, error 0, // on component_declaration, error 0, // on component_declaration*, error 0, // on component_declaration+, error 0, // on component_prefix, error 0, // on component_prefix?, error 0, // on connect_clause, error - 0, // on equation_entry, error - 0, // on equation_entry*, error - 0, // on equation_entry+, error + 0, // on connect_clause*, error + 0, // on connect_clause+, error 0, // on expr, error 0, // on factor, error - 0, // on file, error 0, // on float, error 0, // on identifier, error 0, // on integer, error 0, // on model, error 0, // on simple_equation, error + 0, // on simple_equation*, error + 0, // on simple_equation+, error 0, // on string_literal, error 0, // on string_literal?, error 0, // on term, error - // State 73 - 0, // on __file, error + // State 77 + 0, // on __float, error + 0, // on __identifier, error 0, // on __integer, error 0, // on __model, error - 0, // on binary_op, error 0, // on component_declaration, error 0, // on component_declaration*, error 0, // on component_declaration+, error 0, // on component_prefix, error 0, // on component_prefix?, error 0, // on connect_clause, error - 0, // on equation_entry, error - 0, // on equation_entry*, error - 0, // on equation_entry+, error + 0, // on connect_clause*, error + 0, // on connect_clause+, error 0, // on expr, error 0, // on factor, error - 0, // on file, error 0, // on float, error 0, // on identifier, error 0, // on integer, error 0, // on model, error 0, // on simple_equation, error + 0, // on simple_equation*, error + 0, // on simple_equation+, error 0, // on string_literal, error 0, // on string_literal?, error 0, // on term, error - // State 74 - 0, // on __file, error + // State 78 + 0, // on __float, error + 0, // on __identifier, error + 0, // on __integer, error + 0, // on __model, error + 0, // on component_declaration, error + 0, // on component_declaration*, error + 0, // on component_declaration+, error + 0, // on component_prefix, error + 0, // on component_prefix?, error + 0, // on connect_clause, error + 0, // on connect_clause*, error + 0, // on connect_clause+, error + 26, // on expr, goto 25 + 27, // on factor, goto 26 + 28, // on float, goto 27 + 29, // on identifier, goto 28 + 30, // on integer, goto 29 + 0, // on model, error + 58, // on simple_equation, goto 57 + 0, // on simple_equation*, error + 0, // on simple_equation+, error + 0, // on string_literal, error + 0, // on string_literal?, error + 33, // on term, goto 32 + // State 79 + 0, // on __float, error + 0, // on __identifier, error 0, // on __integer, error 0, // on __model, error - 0, // on binary_op, error 0, // on component_declaration, error 0, // on component_declaration*, error 0, // on component_declaration+, error 0, // on component_prefix, error 0, // on component_prefix?, error 0, // on connect_clause, error - 0, // on equation_entry, error - 0, // on equation_entry*, error - 0, // on equation_entry+, error + 0, // on connect_clause*, error + 0, // on connect_clause+, error 0, // on expr, error 0, // on factor, error - 0, // on file, error 0, // on float, error - 112, // on identifier, goto 111 + 121, // on identifier, goto 120 0, // on integer, error 0, // on model, error 0, // on simple_equation, error + 0, // on simple_equation*, error + 0, // on simple_equation+, error 0, // on string_literal, error 0, // on string_literal?, error 0, // on term, error - // State 75 - 0, // on __file, error + // State 80 + 0, // on __float, error + 0, // on __identifier, error 0, // on __integer, error 0, // on __model, error - 0, // on binary_op, error 0, // on component_declaration, error 0, // on component_declaration*, error 0, // on component_declaration+, error 0, // on component_prefix, error 0, // on component_prefix?, error 0, // on connect_clause, error - 0, // on equation_entry, error - 0, // on equation_entry*, error - 0, // on equation_entry+, error + 0, // on connect_clause*, error + 0, // on connect_clause+, error + 0, // on expr, error + 0, // on factor, error + 0, // on float, error + 122, // on identifier, goto 121 + 0, // on integer, error + 0, // on model, error + 0, // on simple_equation, error + 0, // on simple_equation*, error + 0, // on simple_equation+, error + 0, // on string_literal, error + 0, // on string_literal?, error + 0, // on term, error + // State 81 + 0, // on __float, error + 0, // on __identifier, error + 0, // on __integer, error + 0, // on __model, error + 0, // on component_declaration, error + 0, // on component_declaration*, error + 0, // on component_declaration+, error + 0, // on component_prefix, error + 0, // on component_prefix?, error + 0, // on connect_clause, error + 0, // on connect_clause*, error + 0, // on connect_clause+, error 0, // on expr, error 0, // on factor, error - 0, // on file, error 0, // on float, error 0, // on identifier, error 0, // on integer, error 0, // on model, error 0, // on simple_equation, error + 0, // on simple_equation*, error + 0, // on simple_equation+, error 0, // on string_literal, error 0, // on string_literal?, error 0, // on term, error - // State 76 - 0, // on __file, error + // State 82 + 0, // on __float, error + 0, // on __identifier, error 0, // on __integer, error 0, // on __model, error - 0, // on binary_op, error 0, // on component_declaration, error 0, // on component_declaration*, error 0, // on component_declaration+, error 0, // on component_prefix, error 0, // on component_prefix?, error 0, // on connect_clause, error - 0, // on equation_entry, error - 0, // on equation_entry*, error - 0, // on equation_entry+, error + 0, // on connect_clause*, error + 0, // on connect_clause+, error 0, // on expr, error 0, // on factor, error - 0, // on file, error 0, // on float, error 0, // on identifier, error 0, // on integer, error 0, // on model, error 0, // on simple_equation, error + 0, // on simple_equation*, error + 0, // on simple_equation+, error 0, // on string_literal, error 0, // on string_literal?, error 0, // on term, error - // State 77 - 0, // on __file, error + // State 83 + 0, // on __float, error + 0, // on __identifier, error 0, // on __integer, error 0, // on __model, error - 0, // on binary_op, error 0, // on component_declaration, error 0, // on component_declaration*, error 0, // on component_declaration+, error 0, // on component_prefix, error 0, // on component_prefix?, error 0, // on connect_clause, error - 0, // on equation_entry, error - 0, // on equation_entry*, error - 0, // on equation_entry+, error + 0, // on connect_clause*, error + 0, // on connect_clause+, error 0, // on expr, error 0, // on factor, error - 0, // on file, error 0, // on float, error 0, // on identifier, error 0, // on integer, error 0, // on model, error 0, // on simple_equation, error + 0, // on simple_equation*, error + 0, // on simple_equation+, error 0, // on string_literal, error 0, // on string_literal?, error 0, // on term, error - // State 78 - 0, // on __file, error + // State 84 + 0, // on __float, error + 0, // on __identifier, error 0, // on __integer, error 0, // on __model, error - 0, // on binary_op, error 0, // on component_declaration, error 0, // on component_declaration*, error 0, // on component_declaration+, error 0, // on component_prefix, error 0, // on component_prefix?, error 0, // on connect_clause, error - 0, // on equation_entry, error - 0, // on equation_entry*, error - 0, // on equation_entry+, error + 0, // on connect_clause*, error + 0, // on connect_clause+, error 0, // on expr, error 0, // on factor, error - 0, // on file, error 0, // on float, error 0, // on identifier, error 0, // on integer, error 0, // on model, error 0, // on simple_equation, error + 0, // on simple_equation*, error + 0, // on simple_equation+, error 0, // on string_literal, error 0, // on string_literal?, error 0, // on term, error - // State 79 - 0, // on __file, error + // State 85 + 0, // on __float, error + 0, // on __identifier, error 0, // on __integer, error 0, // on __model, error - 0, // on binary_op, error 0, // on component_declaration, error 0, // on component_declaration*, error 0, // on component_declaration+, error 0, // on component_prefix, error 0, // on component_prefix?, error 0, // on connect_clause, error - 0, // on equation_entry, error - 0, // on equation_entry*, error - 0, // on equation_entry+, error + 0, // on connect_clause*, error + 0, // on connect_clause+, error + 0, // on expr, error + 0, // on factor, error + 0, // on float, error + 125, // on identifier, goto 124 + 0, // on integer, error + 0, // on model, error + 0, // on simple_equation, error + 0, // on simple_equation*, error + 0, // on simple_equation+, error + 0, // on string_literal, error + 0, // on string_literal?, error + 0, // on term, error + // State 86 + 0, // on __float, error + 0, // on __identifier, error + 0, // on __integer, error + 0, // on __model, error + 0, // on component_declaration, error + 0, // on component_declaration*, error + 0, // on component_declaration+, error + 0, // on component_prefix, error + 0, // on component_prefix?, error + 0, // on connect_clause, error + 0, // on connect_clause*, error + 0, // on connect_clause+, error 0, // on expr, error 0, // on factor, error - 0, // on file, error 0, // on float, error 0, // on identifier, error 0, // on integer, error 0, // on model, error 0, // on simple_equation, error + 0, // on simple_equation*, error + 0, // on simple_equation+, error 0, // on string_literal, error 0, // on string_literal?, error 0, // on term, error - // State 80 - 0, // on __file, error + // State 87 + 0, // on __float, error + 0, // on __identifier, error 0, // on __integer, error 0, // on __model, error - 0, // on binary_op, error 0, // on component_declaration, error 0, // on component_declaration*, error 0, // on component_declaration+, error 0, // on component_prefix, error 0, // on component_prefix?, error 0, // on connect_clause, error - 0, // on equation_entry, error - 0, // on equation_entry*, error - 0, // on equation_entry+, error + 0, // on connect_clause*, error + 0, // on connect_clause+, error 0, // on expr, error 0, // on factor, error - 0, // on file, error 0, // on float, error 0, // on identifier, error 0, // on integer, error 0, // on model, error 0, // on simple_equation, error + 0, // on simple_equation*, error + 0, // on simple_equation+, error 0, // on string_literal, error 0, // on string_literal?, error 0, // on term, error - // State 81 - 0, // on __file, error + // State 88 + 0, // on __float, error + 0, // on __identifier, error 0, // on __integer, error 0, // on __model, error - 0, // on binary_op, error 0, // on component_declaration, error 0, // on component_declaration*, error 0, // on component_declaration+, error 0, // on component_prefix, error 0, // on component_prefix?, error 0, // on connect_clause, error - 0, // on equation_entry, error - 0, // on equation_entry*, error - 0, // on equation_entry+, error + 0, // on connect_clause*, error + 0, // on connect_clause+, error 0, // on expr, error 0, // on factor, error - 0, // on file, error 0, // on float, error 0, // on identifier, error 0, // on integer, error 0, // on model, error 0, // on simple_equation, error + 0, // on simple_equation*, error + 0, // on simple_equation+, error 0, // on string_literal, error 0, // on string_literal?, error 0, // on term, error - // State 82 - 0, // on __file, error + // State 89 + 0, // on __float, error + 0, // on __identifier, error 0, // on __integer, error 0, // on __model, error - 0, // on binary_op, error 0, // on component_declaration, error 0, // on component_declaration*, error 0, // on component_declaration+, error 0, // on component_prefix, error 0, // on component_prefix?, error 0, // on connect_clause, error - 0, // on equation_entry, error - 0, // on equation_entry*, error - 0, // on equation_entry+, error + 0, // on connect_clause*, error + 0, // on connect_clause+, error 0, // on expr, error 0, // on factor, error - 0, // on file, error 0, // on float, error 0, // on identifier, error 0, // on integer, error 0, // on model, error 0, // on simple_equation, error + 0, // on simple_equation*, error + 0, // on simple_equation+, error 0, // on string_literal, error 0, // on string_literal?, error 0, // on term, error - // State 83 - 0, // on __file, error + // State 90 + 0, // on __float, error + 0, // on __identifier, error 0, // on __integer, error 0, // on __model, error - 0, // on binary_op, error 0, // on component_declaration, error 0, // on component_declaration*, error 0, // on component_declaration+, error 0, // on component_prefix, error 0, // on component_prefix?, error 0, // on connect_clause, error - 0, // on equation_entry, error - 0, // on equation_entry*, error - 0, // on equation_entry+, error + 0, // on connect_clause*, error + 0, // on connect_clause+, error 0, // on expr, error 0, // on factor, error - 0, // on file, error 0, // on float, error 0, // on identifier, error 0, // on integer, error 0, // on model, error 0, // on simple_equation, error + 0, // on simple_equation*, error + 0, // on simple_equation+, error 0, // on string_literal, error 0, // on string_literal?, error 0, // on term, error - // State 84 - 0, // on __file, error + // State 91 + 0, // on __float, error + 0, // on __identifier, error 0, // on __integer, error 0, // on __model, error - 0, // on binary_op, error 0, // on component_declaration, error 0, // on component_declaration*, error 0, // on component_declaration+, error 0, // on component_prefix, error 0, // on component_prefix?, error 0, // on connect_clause, error - 0, // on equation_entry, error - 0, // on equation_entry*, error - 0, // on equation_entry+, error + 0, // on connect_clause*, error + 0, // on connect_clause+, error 0, // on expr, error 0, // on factor, error - 0, // on file, error 0, // on float, error 0, // on identifier, error 0, // on integer, error 0, // on model, error 0, // on simple_equation, error + 0, // on simple_equation*, error + 0, // on simple_equation+, error 0, // on string_literal, error 0, // on string_literal?, error 0, // on term, error - // State 85 - 0, // on __file, error + // State 92 + 0, // on __float, error + 0, // on __identifier, error 0, // on __integer, error 0, // on __model, error - 0, // on binary_op, error 0, // on component_declaration, error 0, // on component_declaration*, error 0, // on component_declaration+, error 0, // on component_prefix, error 0, // on component_prefix?, error 0, // on connect_clause, error - 0, // on equation_entry, error - 0, // on equation_entry*, error - 0, // on equation_entry+, error + 0, // on connect_clause*, error + 0, // on connect_clause+, error 0, // on expr, error 0, // on factor, error - 0, // on file, error 0, // on float, error 0, // on identifier, error 0, // on integer, error 0, // on model, error 0, // on simple_equation, error + 0, // on simple_equation*, error + 0, // on simple_equation+, error 0, // on string_literal, error 0, // on string_literal?, error 0, // on term, error - // State 86 - 0, // on __file, error + // State 93 + 0, // on __float, error + 0, // on __identifier, error 0, // on __integer, error 0, // on __model, error - 0, // on binary_op, error 0, // on component_declaration, error 0, // on component_declaration*, error 0, // on component_declaration+, error 0, // on component_prefix, error 0, // on component_prefix?, error 0, // on connect_clause, error - 0, // on equation_entry, error - 0, // on equation_entry*, error - 0, // on equation_entry+, error + 0, // on connect_clause*, error + 0, // on connect_clause+, error 0, // on expr, error 0, // on factor, error - 0, // on file, error 0, // on float, error 0, // on identifier, error 0, // on integer, error 0, // on model, error 0, // on simple_equation, error + 0, // on simple_equation*, error + 0, // on simple_equation+, error 0, // on string_literal, error 0, // on string_literal?, error 0, // on term, error - // State 87 - 0, // on __file, error + // State 94 + 0, // on __float, error + 0, // on __identifier, error 0, // on __integer, error 0, // on __model, error - 0, // on binary_op, error 0, // on component_declaration, error 0, // on component_declaration*, error 0, // on component_declaration+, error 0, // on component_prefix, error 0, // on component_prefix?, error 0, // on connect_clause, error - 0, // on equation_entry, error - 0, // on equation_entry*, error - 0, // on equation_entry+, error + 0, // on connect_clause*, error + 0, // on connect_clause+, error 0, // on expr, error 0, // on factor, error - 0, // on file, error 0, // on float, error 0, // on identifier, error 0, // on integer, error 0, // on model, error 0, // on simple_equation, error + 0, // on simple_equation*, error + 0, // on simple_equation+, error 0, // on string_literal, error 0, // on string_literal?, error 0, // on term, error - // State 88 - 0, // on __file, error + // State 95 + 0, // on __float, error + 0, // on __identifier, error 0, // on __integer, error 0, // on __model, error - 0, // on binary_op, error 0, // on component_declaration, error 0, // on component_declaration*, error 0, // on component_declaration+, error 0, // on component_prefix, error 0, // on component_prefix?, error 0, // on connect_clause, error - 0, // on equation_entry, error - 0, // on equation_entry*, error - 0, // on equation_entry+, error - 121, // on expr, goto 120 - 57, // on factor, goto 56 - 0, // on file, error - 58, // on float, goto 57 - 59, // on identifier, goto 58 - 60, // on integer, goto 59 + 0, // on connect_clause*, error + 0, // on connect_clause+, error + 132, // on expr, goto 131 + 61, // on factor, goto 60 + 62, // on float, goto 61 + 63, // on identifier, goto 62 + 64, // on integer, goto 63 0, // on model, error 0, // on simple_equation, error + 0, // on simple_equation*, error + 0, // on simple_equation+, error 0, // on string_literal, error 0, // on string_literal?, error - 61, // on term, goto 60 - // State 89 - 0, // on __file, error + 65, // on term, goto 64 + // State 96 + 0, // on __float, error + 0, // on __identifier, error 0, // on __integer, error 0, // on __model, error - 0, // on binary_op, error 0, // on component_declaration, error 0, // on component_declaration*, error 0, // on component_declaration+, error 0, // on component_prefix, error 0, // on component_prefix?, error 0, // on connect_clause, error - 0, // on equation_entry, error - 0, // on equation_entry*, error - 0, // on equation_entry+, error + 0, // on connect_clause*, error + 0, // on connect_clause+, error 0, // on expr, error 0, // on factor, error - 0, // on file, error - 85, // on float, goto 84 - 86, // on identifier, goto 85 - 87, // on integer, goto 86 + 92, // on float, goto 91 + 93, // on identifier, goto 92 + 94, // on integer, goto 93 0, // on model, error 0, // on simple_equation, error + 0, // on simple_equation*, error + 0, // on simple_equation+, error 0, // on string_literal, error 0, // on string_literal?, error - 122, // on term, goto 121 - // State 90 - 0, // on __file, error + 133, // on term, goto 132 + // State 97 + 0, // on __float, error + 0, // on __identifier, error 0, // on __integer, error 0, // on __model, error - 0, // on binary_op, error 0, // on component_declaration, error 0, // on component_declaration*, error 0, // on component_declaration+, error 0, // on component_prefix, error 0, // on component_prefix?, error 0, // on connect_clause, error - 0, // on equation_entry, error - 0, // on equation_entry*, error - 0, // on equation_entry+, error + 0, // on connect_clause*, error + 0, // on connect_clause+, error 0, // on expr, error 0, // on factor, error - 0, // on file, error 0, // on float, error 0, // on identifier, error 0, // on integer, error 0, // on model, error 0, // on simple_equation, error + 0, // on simple_equation*, error + 0, // on simple_equation+, error 0, // on string_literal, error 0, // on string_literal?, error 0, // on term, error - // State 91 - 0, // on __file, error + // State 98 + 0, // on __float, error + 0, // on __identifier, error 0, // on __integer, error 0, // on __model, error - 0, // on binary_op, error 0, // on component_declaration, error 0, // on component_declaration*, error 0, // on component_declaration+, error 0, // on component_prefix, error 0, // on component_prefix?, error 0, // on connect_clause, error - 0, // on equation_entry, error - 0, // on equation_entry*, error - 0, // on equation_entry+, error + 0, // on connect_clause*, error + 0, // on connect_clause+, error 0, // on expr, error 0, // on factor, error - 0, // on file, error 0, // on float, error 0, // on identifier, error 0, // on integer, error 0, // on model, error 0, // on simple_equation, error + 0, // on simple_equation*, error + 0, // on simple_equation+, error 0, // on string_literal, error 0, // on string_literal?, error 0, // on term, error - // State 92 - 0, // on __file, error + // State 99 + 0, // on __float, error + 0, // on __identifier, error 0, // on __integer, error 0, // on __model, error - 0, // on binary_op, error 0, // on component_declaration, error 0, // on component_declaration*, error 0, // on component_declaration+, error 0, // on component_prefix, error 0, // on component_prefix?, error 0, // on connect_clause, error - 0, // on equation_entry, error - 0, // on equation_entry*, error - 0, // on equation_entry+, error + 0, // on connect_clause*, error + 0, // on connect_clause+, error 0, // on expr, error 0, // on factor, error - 0, // on file, error 0, // on float, error 0, // on identifier, error 0, // on integer, error 0, // on model, error 0, // on simple_equation, error + 0, // on simple_equation*, error + 0, // on simple_equation+, error 0, // on string_literal, error 0, // on string_literal?, error 0, // on term, error - // State 93 - 0, // on __file, error + // State 100 + 0, // on __float, error + 0, // on __identifier, error 0, // on __integer, error 0, // on __model, error - 0, // on binary_op, error 0, // on component_declaration, error 0, // on component_declaration*, error 0, // on component_declaration+, error 0, // on component_prefix, error 0, // on component_prefix?, error 0, // on connect_clause, error - 0, // on equation_entry, error - 0, // on equation_entry*, error - 0, // on equation_entry+, error + 0, // on connect_clause*, error + 0, // on connect_clause+, error 0, // on expr, error 0, // on factor, error - 0, // on file, error 0, // on float, error 0, // on identifier, error 0, // on integer, error 0, // on model, error 0, // on simple_equation, error + 0, // on simple_equation*, error + 0, // on simple_equation+, error 0, // on string_literal, error 0, // on string_literal?, error 0, // on term, error - // State 94 - 0, // on __file, error + // State 101 + 0, // on __float, error + 0, // on __identifier, error 0, // on __integer, error 0, // on __model, error - 0, // on binary_op, error 0, // on component_declaration, error 0, // on component_declaration*, error 0, // on component_declaration+, error 0, // on component_prefix, error 0, // on component_prefix?, error 0, // on connect_clause, error - 0, // on equation_entry, error - 0, // on equation_entry*, error - 0, // on equation_entry+, error + 0, // on connect_clause*, error + 0, // on connect_clause+, error 0, // on expr, error 0, // on factor, error - 0, // on file, error 0, // on float, error 0, // on identifier, error 0, // on integer, error 0, // on model, error 0, // on simple_equation, error + 0, // on simple_equation*, error + 0, // on simple_equation+, error 0, // on string_literal, error 0, // on string_literal?, error 0, // on term, error - // State 95 - 0, // on __file, error + // State 102 + 0, // on __float, error + 0, // on __identifier, error 0, // on __integer, error 0, // on __model, error - 0, // on binary_op, error 0, // on component_declaration, error 0, // on component_declaration*, error 0, // on component_declaration+, error 0, // on component_prefix, error 0, // on component_prefix?, error 0, // on connect_clause, error - 0, // on equation_entry, error - 0, // on equation_entry*, error - 0, // on equation_entry+, error + 0, // on connect_clause*, error + 0, // on connect_clause+, error 0, // on expr, error 0, // on factor, error - 0, // on file, error 0, // on float, error 0, // on identifier, error 0, // on integer, error 0, // on model, error 0, // on simple_equation, error + 0, // on simple_equation*, error + 0, // on simple_equation+, error 0, // on string_literal, error 0, // on string_literal?, error 0, // on term, error - // State 96 - 0, // on __file, error + // State 103 + 0, // on __float, error + 0, // on __identifier, error 0, // on __integer, error 0, // on __model, error - 0, // on binary_op, error 0, // on component_declaration, error 0, // on component_declaration*, error 0, // on component_declaration+, error 0, // on component_prefix, error 0, // on component_prefix?, error 0, // on connect_clause, error - 0, // on equation_entry, error - 0, // on equation_entry*, error - 0, // on equation_entry+, error + 0, // on connect_clause*, error + 0, // on connect_clause+, error 0, // on expr, error 0, // on factor, error - 0, // on file, error 0, // on float, error 0, // on identifier, error 0, // on integer, error 0, // on model, error 0, // on simple_equation, error + 0, // on simple_equation*, error + 0, // on simple_equation+, error 0, // on string_literal, error 0, // on string_literal?, error 0, // on term, error - // State 97 - 0, // on __file, error + // State 104 + 0, // on __float, error + 0, // on __identifier, error 0, // on __integer, error 0, // on __model, error - 0, // on binary_op, error 0, // on component_declaration, error 0, // on component_declaration*, error 0, // on component_declaration+, error 0, // on component_prefix, error 0, // on component_prefix?, error 0, // on connect_clause, error - 0, // on equation_entry, error - 0, // on equation_entry*, error - 0, // on equation_entry+, error + 0, // on connect_clause*, error + 0, // on connect_clause+, error 0, // on expr, error 0, // on factor, error - 0, // on file, error 0, // on float, error 0, // on identifier, error 0, // on integer, error 0, // on model, error 0, // on simple_equation, error + 0, // on simple_equation*, error + 0, // on simple_equation+, error 0, // on string_literal, error 0, // on string_literal?, error 0, // on term, error - // State 98 - 0, // on __file, error + // State 105 + 0, // on __float, error + 0, // on __identifier, error 0, // on __integer, error 0, // on __model, error - 0, // on binary_op, error 0, // on component_declaration, error 0, // on component_declaration*, error 0, // on component_declaration+, error 0, // on component_prefix, error 0, // on component_prefix?, error 0, // on connect_clause, error - 0, // on equation_entry, error - 0, // on equation_entry*, error - 0, // on equation_entry+, error + 0, // on connect_clause*, error + 0, // on connect_clause+, error 0, // on expr, error - 125, // on factor, goto 124 - 0, // on file, error - 58, // on float, goto 57 - 59, // on identifier, goto 58 - 60, // on integer, goto 59 + 0, // on factor, error + 0, // on float, error + 0, // on identifier, error + 0, // on integer, error 0, // on model, error 0, // on simple_equation, error + 0, // on simple_equation*, error + 0, // on simple_equation+, error 0, // on string_literal, error 0, // on string_literal?, error - 61, // on term, goto 60 - // State 99 - 0, // on __file, error + 0, // on term, error + // State 106 + 0, // on __float, error + 0, // on __identifier, error 0, // on __integer, error 0, // on __model, error - 0, // on binary_op, error 0, // on component_declaration, error 0, // on component_declaration*, error 0, // on component_declaration+, error 0, // on component_prefix, error 0, // on component_prefix?, error 0, // on connect_clause, error - 0, // on equation_entry, error - 0, // on equation_entry*, error - 0, // on equation_entry+, error + 0, // on connect_clause*, error + 0, // on connect_clause+, error 0, // on expr, error - 126, // on factor, goto 125 - 0, // on file, error - 58, // on float, goto 57 - 59, // on identifier, goto 58 - 60, // on integer, goto 59 + 137, // on factor, goto 136 + 62, // on float, goto 61 + 63, // on identifier, goto 62 + 64, // on integer, goto 63 0, // on model, error 0, // on simple_equation, error + 0, // on simple_equation*, error + 0, // on simple_equation+, error 0, // on string_literal, error 0, // on string_literal?, error - 61, // on term, goto 60 - // State 100 - 0, // on __file, error + 65, // on term, goto 64 + // State 107 + 0, // on __float, error + 0, // on __identifier, error 0, // on __integer, error 0, // on __model, error - 0, // on binary_op, error 0, // on component_declaration, error 0, // on component_declaration*, error 0, // on component_declaration+, error 0, // on component_prefix, error 0, // on component_prefix?, error 0, // on connect_clause, error - 0, // on equation_entry, error - 0, // on equation_entry*, error - 0, // on equation_entry+, error + 0, // on connect_clause*, error + 0, // on connect_clause+, error + 0, // on expr, error + 138, // on factor, goto 137 + 62, // on float, goto 61 + 63, // on identifier, goto 62 + 64, // on integer, goto 63 + 0, // on model, error + 0, // on simple_equation, error + 0, // on simple_equation*, error + 0, // on simple_equation+, error + 0, // on string_literal, error + 0, // on string_literal?, error + 65, // on term, goto 64 + // State 108 + 0, // on __float, error + 0, // on __identifier, error + 0, // on __integer, error + 0, // on __model, error + 0, // on component_declaration, error + 0, // on component_declaration*, error + 0, // on component_declaration+, error + 0, // on component_prefix, error + 0, // on component_prefix?, error + 0, // on connect_clause, error + 0, // on connect_clause*, error + 0, // on connect_clause+, error 0, // on expr, error 0, // on factor, error - 0, // on file, error - 58, // on float, goto 57 - 59, // on identifier, goto 58 - 60, // on integer, goto 59 + 62, // on float, goto 61 + 63, // on identifier, goto 62 + 64, // on integer, goto 63 0, // on model, error 0, // on simple_equation, error + 0, // on simple_equation*, error + 0, // on simple_equation+, error 0, // on string_literal, error 0, // on string_literal?, error - 127, // on term, goto 126 - // State 101 - 0, // on __file, error + 139, // on term, goto 138 + // State 109 + 0, // on __float, error + 0, // on __identifier, error 0, // on __integer, error 0, // on __model, error - 0, // on binary_op, error 0, // on component_declaration, error 0, // on component_declaration*, error 0, // on component_declaration+, error 0, // on component_prefix, error 0, // on component_prefix?, error 0, // on connect_clause, error - 0, // on equation_entry, error - 0, // on equation_entry*, error - 0, // on equation_entry+, error + 0, // on connect_clause*, error + 0, // on connect_clause+, error 0, // on expr, error 0, // on factor, error - 0, // on file, error - 58, // on float, goto 57 - 59, // on identifier, goto 58 - 60, // on integer, goto 59 + 62, // on float, goto 61 + 63, // on identifier, goto 62 + 64, // on integer, goto 63 0, // on model, error 0, // on simple_equation, error + 0, // on simple_equation*, error + 0, // on simple_equation+, error 0, // on string_literal, error 0, // on string_literal?, error - 128, // on term, goto 127 - // State 102 - 0, // on __file, error + 140, // on term, goto 139 + // State 110 + 0, // on __float, error + 0, // on __identifier, error 0, // on __integer, error 0, // on __model, error - 0, // on binary_op, error 0, // on component_declaration, error 0, // on component_declaration*, error 0, // on component_declaration+, error 0, // on component_prefix, error 0, // on component_prefix?, error 0, // on connect_clause, error - 0, // on equation_entry, error - 0, // on equation_entry*, error - 0, // on equation_entry+, error + 0, // on connect_clause*, error + 0, // on connect_clause+, error 0, // on expr, error 0, // on factor, error - 0, // on file, error 0, // on float, error 0, // on identifier, error 0, // on integer, error 0, // on model, error 0, // on simple_equation, error + 0, // on simple_equation*, error + 0, // on simple_equation+, error 0, // on string_literal, error 0, // on string_literal?, error 0, // on term, error - // State 103 - 0, // on __file, error + // State 111 + 0, // on __float, error + 0, // on __identifier, error 0, // on __integer, error 0, // on __model, error - 0, // on binary_op, error 0, // on component_declaration, error 0, // on component_declaration*, error 0, // on component_declaration+, error 0, // on component_prefix, error 0, // on component_prefix?, error 0, // on connect_clause, error - 0, // on equation_entry, error - 0, // on equation_entry*, error - 0, // on equation_entry+, error + 0, // on connect_clause*, error + 0, // on connect_clause+, error 0, // on expr, error 0, // on factor, error - 0, // on file, error 0, // on float, error 0, // on identifier, error 0, // on integer, error 0, // on model, error 0, // on simple_equation, error + 0, // on simple_equation*, error + 0, // on simple_equation+, error 0, // on string_literal, error 0, // on string_literal?, error 0, // on term, error - // State 104 - 0, // on __file, error + // State 112 + 0, // on __float, error + 0, // on __identifier, error 0, // on __integer, error 0, // on __model, error - 0, // on binary_op, error 0, // on component_declaration, error 0, // on component_declaration*, error 0, // on component_declaration+, error 0, // on component_prefix, error 0, // on component_prefix?, error 0, // on connect_clause, error - 0, // on equation_entry, error - 0, // on equation_entry*, error - 0, // on equation_entry+, error - 130, // on expr, goto 129 - 57, // on factor, goto 56 - 0, // on file, error - 58, // on float, goto 57 - 59, // on identifier, goto 58 - 60, // on integer, goto 59 + 0, // on connect_clause*, error + 0, // on connect_clause+, error + 142, // on expr, goto 141 + 61, // on factor, goto 60 + 62, // on float, goto 61 + 63, // on identifier, goto 62 + 64, // on integer, goto 63 0, // on model, error 0, // on simple_equation, error + 0, // on simple_equation*, error + 0, // on simple_equation+, error 0, // on string_literal, error 0, // on string_literal?, error - 61, // on term, goto 60 - // State 105 - 0, // on __file, error + 65, // on term, goto 64 + // State 113 + 0, // on __float, error + 0, // on __identifier, error 0, // on __integer, error 0, // on __model, error - 0, // on binary_op, error 0, // on component_declaration, error 0, // on component_declaration*, error 0, // on component_declaration+, error 0, // on component_prefix, error 0, // on component_prefix?, error 0, // on connect_clause, error - 0, // on equation_entry, error - 0, // on equation_entry*, error - 0, // on equation_entry+, error - 131, // on expr, goto 130 - 57, // on factor, goto 56 - 0, // on file, error - 58, // on float, goto 57 - 59, // on identifier, goto 58 - 60, // on integer, goto 59 + 0, // on connect_clause*, error + 0, // on connect_clause+, error + 143, // on expr, goto 142 + 61, // on factor, goto 60 + 62, // on float, goto 61 + 63, // on identifier, goto 62 + 64, // on integer, goto 63 0, // on model, error 0, // on simple_equation, error + 0, // on simple_equation*, error + 0, // on simple_equation+, error 0, // on string_literal, error 0, // on string_literal?, error - 61, // on term, goto 60 - // State 106 - 0, // on __file, error + 65, // on term, goto 64 + // State 114 + 0, // on __float, error + 0, // on __identifier, error 0, // on __integer, error 0, // on __model, error - 0, // on binary_op, error 0, // on component_declaration, error 0, // on component_declaration*, error 0, // on component_declaration+, error 0, // on component_prefix, error 0, // on component_prefix?, error 0, // on connect_clause, error - 0, // on equation_entry, error - 0, // on equation_entry*, error - 0, // on equation_entry+, error + 0, // on connect_clause*, error + 0, // on connect_clause+, error 0, // on expr, error 0, // on factor, error - 0, // on file, error 0, // on float, error 0, // on identifier, error 0, // on integer, error 0, // on model, error 0, // on simple_equation, error + 0, // on simple_equation*, error + 0, // on simple_equation+, error 0, // on string_literal, error 0, // on string_literal?, error 0, // on term, error - // State 107 - 0, // on __file, error + // State 115 + 0, // on __float, error + 0, // on __identifier, error 0, // on __integer, error 0, // on __model, error - 0, // on binary_op, error 0, // on component_declaration, error 0, // on component_declaration*, error 0, // on component_declaration+, error 0, // on component_prefix, error 0, // on component_prefix?, error 0, // on connect_clause, error - 0, // on equation_entry, error - 0, // on equation_entry*, error - 0, // on equation_entry+, error + 0, // on connect_clause*, error + 0, // on connect_clause+, error 0, // on expr, error 0, // on factor, error - 0, // on file, error 0, // on float, error 0, // on identifier, error 0, // on integer, error 0, // on model, error 0, // on simple_equation, error + 0, // on simple_equation*, error + 0, // on simple_equation+, error 0, // on string_literal, error 0, // on string_literal?, error 0, // on term, error - // State 108 - 0, // on __file, error + // State 116 + 0, // on __float, error + 0, // on __identifier, error 0, // on __integer, error 0, // on __model, error - 0, // on binary_op, error 0, // on component_declaration, error 0, // on component_declaration*, error 0, // on component_declaration+, error 0, // on component_prefix, error 0, // on component_prefix?, error 0, // on connect_clause, error - 0, // on equation_entry, error - 0, // on equation_entry*, error - 0, // on equation_entry+, error + 0, // on connect_clause*, error + 0, // on connect_clause+, error 0, // on expr, error 0, // on factor, error - 0, // on file, error 0, // on float, error 0, // on identifier, error 0, // on integer, error 0, // on model, error 0, // on simple_equation, error + 0, // on simple_equation*, error + 0, // on simple_equation+, error 0, // on string_literal, error 0, // on string_literal?, error 0, // on term, error - // State 109 - 0, // on __file, error + // State 117 + 0, // on __float, error + 0, // on __identifier, error 0, // on __integer, error 0, // on __model, error - 0, // on binary_op, error 0, // on component_declaration, error 0, // on component_declaration*, error 0, // on component_declaration+, error 0, // on component_prefix, error 0, // on component_prefix?, error 0, // on connect_clause, error - 0, // on equation_entry, error - 0, // on equation_entry*, error - 0, // on equation_entry+, error + 0, // on connect_clause*, error + 0, // on connect_clause+, error 0, // on expr, error 0, // on factor, error - 0, // on file, error 0, // on float, error 0, // on identifier, error 0, // on integer, error 0, // on model, error 0, // on simple_equation, error + 0, // on simple_equation*, error + 0, // on simple_equation+, error 0, // on string_literal, error 0, // on string_literal?, error 0, // on term, error - // State 110 - 0, // on __file, error + // State 118 + 0, // on __float, error + 0, // on __identifier, error 0, // on __integer, error 0, // on __model, error - 0, // on binary_op, error 0, // on component_declaration, error 0, // on component_declaration*, error 0, // on component_declaration+, error 0, // on component_prefix, error 0, // on component_prefix?, error 0, // on connect_clause, error - 0, // on equation_entry, error - 0, // on equation_entry*, error - 0, // on equation_entry+, error + 0, // on connect_clause*, error + 0, // on connect_clause+, error 0, // on expr, error 0, // on factor, error - 0, // on file, error 0, // on float, error 0, // on identifier, error 0, // on integer, error 0, // on model, error 0, // on simple_equation, error + 0, // on simple_equation*, error + 0, // on simple_equation+, error 0, // on string_literal, error 0, // on string_literal?, error 0, // on term, error - // State 111 - 0, // on __file, error + // State 119 + 0, // on __float, error + 0, // on __identifier, error 0, // on __integer, error 0, // on __model, error - 0, // on binary_op, error 0, // on component_declaration, error 0, // on component_declaration*, error 0, // on component_declaration+, error 0, // on component_prefix, error 0, // on component_prefix?, error 0, // on connect_clause, error - 0, // on equation_entry, error - 0, // on equation_entry*, error - 0, // on equation_entry+, error + 0, // on connect_clause*, error + 0, // on connect_clause+, error + 0, // on expr, error + 0, // on factor, error + 0, // on float, error + 147, // on identifier, goto 146 + 0, // on integer, error + 0, // on model, error + 0, // on simple_equation, error + 0, // on simple_equation*, error + 0, // on simple_equation+, error + 0, // on string_literal, error + 0, // on string_literal?, error + 0, // on term, error + // State 120 + 0, // on __float, error + 0, // on __identifier, error + 0, // on __integer, error + 0, // on __model, error + 0, // on component_declaration, error + 0, // on component_declaration*, error + 0, // on component_declaration+, error + 0, // on component_prefix, error + 0, // on component_prefix?, error + 0, // on connect_clause, error + 0, // on connect_clause*, error + 0, // on connect_clause+, error 0, // on expr, error 0, // on factor, error - 0, // on file, error 0, // on float, error 0, // on identifier, error 0, // on integer, error 0, // on model, error 0, // on simple_equation, error + 0, // on simple_equation*, error + 0, // on simple_equation+, error 0, // on string_literal, error 0, // on string_literal?, error 0, // on term, error - // State 112 - 0, // on __file, error + // State 121 + 0, // on __float, error + 0, // on __identifier, error 0, // on __integer, error 0, // on __model, error - 0, // on binary_op, error 0, // on component_declaration, error 0, // on component_declaration*, error 0, // on component_declaration+, error 0, // on component_prefix, error 0, // on component_prefix?, error 0, // on connect_clause, error - 0, // on equation_entry, error - 0, // on equation_entry*, error - 0, // on equation_entry+, error + 0, // on connect_clause*, error + 0, // on connect_clause+, error 0, // on expr, error 0, // on factor, error - 0, // on file, error 0, // on float, error 0, // on identifier, error 0, // on integer, error 0, // on model, error 0, // on simple_equation, error + 0, // on simple_equation*, error + 0, // on simple_equation+, error 0, // on string_literal, error 0, // on string_literal?, error 0, // on term, error - // State 113 - 0, // on __file, error + // State 122 + 0, // on __float, error + 0, // on __identifier, error 0, // on __integer, error 0, // on __model, error - 0, // on binary_op, error 0, // on component_declaration, error 0, // on component_declaration*, error 0, // on component_declaration+, error 0, // on component_prefix, error 0, // on component_prefix?, error 0, // on connect_clause, error - 0, // on equation_entry, error - 0, // on equation_entry*, error - 0, // on equation_entry+, error + 0, // on connect_clause*, error + 0, // on connect_clause+, error 0, // on expr, error 0, // on factor, error - 0, // on file, error 0, // on float, error 0, // on identifier, error 0, // on integer, error 0, // on model, error 0, // on simple_equation, error + 0, // on simple_equation*, error + 0, // on simple_equation+, error 0, // on string_literal, error 0, // on string_literal?, error 0, // on term, error - // State 114 - 0, // on __file, error + // State 123 + 0, // on __float, error + 0, // on __identifier, error 0, // on __integer, error 0, // on __model, error - 0, // on binary_op, error 0, // on component_declaration, error 0, // on component_declaration*, error 0, // on component_declaration+, error 0, // on component_prefix, error 0, // on component_prefix?, error 0, // on connect_clause, error - 0, // on equation_entry, error - 0, // on equation_entry*, error - 0, // on equation_entry+, error + 0, // on connect_clause*, error + 0, // on connect_clause+, error 0, // on expr, error 0, // on factor, error - 0, // on file, error 0, // on float, error 0, // on identifier, error 0, // on integer, error 0, // on model, error 0, // on simple_equation, error + 0, // on simple_equation*, error + 0, // on simple_equation+, error 0, // on string_literal, error 0, // on string_literal?, error 0, // on term, error - // State 115 - 0, // on __file, error + // State 124 + 0, // on __float, error + 0, // on __identifier, error 0, // on __integer, error 0, // on __model, error - 0, // on binary_op, error 0, // on component_declaration, error 0, // on component_declaration*, error 0, // on component_declaration+, error 0, // on component_prefix, error 0, // on component_prefix?, error 0, // on connect_clause, error - 0, // on equation_entry, error - 0, // on equation_entry*, error - 0, // on equation_entry+, error + 0, // on connect_clause*, error + 0, // on connect_clause+, error 0, // on expr, error - 136, // on factor, goto 135 - 0, // on file, error - 85, // on float, goto 84 - 86, // on identifier, goto 85 - 87, // on integer, goto 86 + 0, // on factor, error + 0, // on float, error + 0, // on identifier, error + 0, // on integer, error 0, // on model, error 0, // on simple_equation, error + 0, // on simple_equation*, error + 0, // on simple_equation+, error 0, // on string_literal, error 0, // on string_literal?, error - 88, // on term, goto 87 - // State 116 - 0, // on __file, error + 0, // on term, error + // State 125 + 0, // on __float, error + 0, // on __identifier, error 0, // on __integer, error 0, // on __model, error - 0, // on binary_op, error 0, // on component_declaration, error 0, // on component_declaration*, error 0, // on component_declaration+, error 0, // on component_prefix, error 0, // on component_prefix?, error 0, // on connect_clause, error - 0, // on equation_entry, error - 0, // on equation_entry*, error - 0, // on equation_entry+, error + 0, // on connect_clause*, error + 0, // on connect_clause+, error 0, // on expr, error - 137, // on factor, goto 136 - 0, // on file, error - 85, // on float, goto 84 - 86, // on identifier, goto 85 - 87, // on integer, goto 86 + 0, // on factor, error + 0, // on float, error + 0, // on identifier, error + 0, // on integer, error 0, // on model, error 0, // on simple_equation, error + 0, // on simple_equation*, error + 0, // on simple_equation+, error 0, // on string_literal, error 0, // on string_literal?, error - 88, // on term, goto 87 - // State 117 - 0, // on __file, error + 0, // on term, error + // State 126 + 0, // on __float, error + 0, // on __identifier, error 0, // on __integer, error 0, // on __model, error - 0, // on binary_op, error 0, // on component_declaration, error 0, // on component_declaration*, error 0, // on component_declaration+, error 0, // on component_prefix, error 0, // on component_prefix?, error 0, // on connect_clause, error - 0, // on equation_entry, error - 0, // on equation_entry*, error - 0, // on equation_entry+, error + 0, // on connect_clause*, error + 0, // on connect_clause+, error + 0, // on expr, error + 151, // on factor, goto 150 + 92, // on float, goto 91 + 93, // on identifier, goto 92 + 94, // on integer, goto 93 + 0, // on model, error + 0, // on simple_equation, error + 0, // on simple_equation*, error + 0, // on simple_equation+, error + 0, // on string_literal, error + 0, // on string_literal?, error + 95, // on term, goto 94 + // State 127 + 0, // on __float, error + 0, // on __identifier, error + 0, // on __integer, error + 0, // on __model, error + 0, // on component_declaration, error + 0, // on component_declaration*, error + 0, // on component_declaration+, error + 0, // on component_prefix, error + 0, // on component_prefix?, error + 0, // on connect_clause, error + 0, // on connect_clause*, error + 0, // on connect_clause+, error + 0, // on expr, error + 152, // on factor, goto 151 + 92, // on float, goto 91 + 93, // on identifier, goto 92 + 94, // on integer, goto 93 + 0, // on model, error + 0, // on simple_equation, error + 0, // on simple_equation*, error + 0, // on simple_equation+, error + 0, // on string_literal, error + 0, // on string_literal?, error + 95, // on term, goto 94 + // State 128 + 0, // on __float, error + 0, // on __identifier, error + 0, // on __integer, error + 0, // on __model, error + 0, // on component_declaration, error + 0, // on component_declaration*, error + 0, // on component_declaration+, error + 0, // on component_prefix, error + 0, // on component_prefix?, error + 0, // on connect_clause, error + 0, // on connect_clause*, error + 0, // on connect_clause+, error 0, // on expr, error 0, // on factor, error - 0, // on file, error 0, // on float, error 0, // on identifier, error 0, // on integer, error 0, // on model, error 0, // on simple_equation, error + 0, // on simple_equation*, error + 0, // on simple_equation+, error 0, // on string_literal, error 0, // on string_literal?, error 0, // on term, error - // State 118 - 0, // on __file, error + // State 129 + 0, // on __float, error + 0, // on __identifier, error 0, // on __integer, error 0, // on __model, error - 0, // on binary_op, error 0, // on component_declaration, error 0, // on component_declaration*, error 0, // on component_declaration+, error 0, // on component_prefix, error 0, // on component_prefix?, error 0, // on connect_clause, error - 0, // on equation_entry, error - 0, // on equation_entry*, error - 0, // on equation_entry+, error + 0, // on connect_clause*, error + 0, // on connect_clause+, error 0, // on expr, error 0, // on factor, error - 0, // on file, error - 85, // on float, goto 84 - 86, // on identifier, goto 85 - 87, // on integer, goto 86 + 92, // on float, goto 91 + 93, // on identifier, goto 92 + 94, // on integer, goto 93 0, // on model, error 0, // on simple_equation, error + 0, // on simple_equation*, error + 0, // on simple_equation+, error 0, // on string_literal, error 0, // on string_literal?, error - 138, // on term, goto 137 - // State 119 - 0, // on __file, error + 153, // on term, goto 152 + // State 130 + 0, // on __float, error + 0, // on __identifier, error 0, // on __integer, error 0, // on __model, error - 0, // on binary_op, error 0, // on component_declaration, error 0, // on component_declaration*, error 0, // on component_declaration+, error 0, // on component_prefix, error 0, // on component_prefix?, error 0, // on connect_clause, error - 0, // on equation_entry, error - 0, // on equation_entry*, error - 0, // on equation_entry+, error + 0, // on connect_clause*, error + 0, // on connect_clause+, error 0, // on expr, error 0, // on factor, error - 0, // on file, error - 85, // on float, goto 84 - 86, // on identifier, goto 85 - 87, // on integer, goto 86 + 92, // on float, goto 91 + 93, // on identifier, goto 92 + 94, // on integer, goto 93 0, // on model, error 0, // on simple_equation, error + 0, // on simple_equation*, error + 0, // on simple_equation+, error 0, // on string_literal, error 0, // on string_literal?, error - 139, // on term, goto 138 - // State 120 - 0, // on __file, error + 154, // on term, goto 153 + // State 131 + 0, // on __float, error + 0, // on __identifier, error 0, // on __integer, error 0, // on __model, error - 0, // on binary_op, error 0, // on component_declaration, error 0, // on component_declaration*, error 0, // on component_declaration+, error 0, // on component_prefix, error 0, // on component_prefix?, error 0, // on connect_clause, error - 0, // on equation_entry, error - 0, // on equation_entry*, error - 0, // on equation_entry+, error + 0, // on connect_clause*, error + 0, // on connect_clause+, error 0, // on expr, error 0, // on factor, error - 0, // on file, error 0, // on float, error 0, // on identifier, error 0, // on integer, error 0, // on model, error 0, // on simple_equation, error + 0, // on simple_equation*, error + 0, // on simple_equation+, error 0, // on string_literal, error 0, // on string_literal?, error 0, // on term, error - // State 121 - 0, // on __file, error + // State 132 + 0, // on __float, error + 0, // on __identifier, error 0, // on __integer, error 0, // on __model, error - 0, // on binary_op, error 0, // on component_declaration, error 0, // on component_declaration*, error 0, // on component_declaration+, error 0, // on component_prefix, error 0, // on component_prefix?, error 0, // on connect_clause, error - 0, // on equation_entry, error - 0, // on equation_entry*, error - 0, // on equation_entry+, error + 0, // on connect_clause*, error + 0, // on connect_clause+, error 0, // on expr, error 0, // on factor, error - 0, // on file, error 0, // on float, error 0, // on identifier, error 0, // on integer, error 0, // on model, error 0, // on simple_equation, error + 0, // on simple_equation*, error + 0, // on simple_equation+, error 0, // on string_literal, error 0, // on string_literal?, error 0, // on term, error - // State 122 - 0, // on __file, error + // State 133 + 0, // on __float, error + 0, // on __identifier, error 0, // on __integer, error 0, // on __model, error - 0, // on binary_op, error 0, // on component_declaration, error 0, // on component_declaration*, error 0, // on component_declaration+, error 0, // on component_prefix, error 0, // on component_prefix?, error 0, // on connect_clause, error - 0, // on equation_entry, error - 0, // on equation_entry*, error - 0, // on equation_entry+, error - 141, // on expr, goto 140 - 57, // on factor, goto 56 - 0, // on file, error - 58, // on float, goto 57 - 59, // on identifier, goto 58 - 60, // on integer, goto 59 + 0, // on connect_clause*, error + 0, // on connect_clause+, error + 156, // on expr, goto 155 + 61, // on factor, goto 60 + 62, // on float, goto 61 + 63, // on identifier, goto 62 + 64, // on integer, goto 63 0, // on model, error 0, // on simple_equation, error + 0, // on simple_equation*, error + 0, // on simple_equation+, error 0, // on string_literal, error 0, // on string_literal?, error - 61, // on term, goto 60 - // State 123 - 0, // on __file, error + 65, // on term, goto 64 + // State 134 + 0, // on __float, error + 0, // on __identifier, error 0, // on __integer, error 0, // on __model, error - 0, // on binary_op, error 0, // on component_declaration, error 0, // on component_declaration*, error 0, // on component_declaration+, error 0, // on component_prefix, error 0, // on component_prefix?, error 0, // on connect_clause, error - 0, // on equation_entry, error - 0, // on equation_entry*, error - 0, // on equation_entry+, error - 142, // on expr, goto 141 - 57, // on factor, goto 56 - 0, // on file, error - 58, // on float, goto 57 - 59, // on identifier, goto 58 - 60, // on integer, goto 59 + 0, // on connect_clause*, error + 0, // on connect_clause+, error + 157, // on expr, goto 156 + 61, // on factor, goto 60 + 62, // on float, goto 61 + 63, // on identifier, goto 62 + 64, // on integer, goto 63 0, // on model, error 0, // on simple_equation, error + 0, // on simple_equation*, error + 0, // on simple_equation+, error 0, // on string_literal, error 0, // on string_literal?, error - 61, // on term, goto 60 - // State 124 - 0, // on __file, error + 65, // on term, goto 64 + // State 135 + 0, // on __float, error + 0, // on __identifier, error 0, // on __integer, error 0, // on __model, error - 0, // on binary_op, error 0, // on component_declaration, error 0, // on component_declaration*, error 0, // on component_declaration+, error 0, // on component_prefix, error 0, // on component_prefix?, error 0, // on connect_clause, error - 0, // on equation_entry, error - 0, // on equation_entry*, error - 0, // on equation_entry+, error + 0, // on connect_clause*, error + 0, // on connect_clause+, error 0, // on expr, error 0, // on factor, error - 0, // on file, error 0, // on float, error 0, // on identifier, error 0, // on integer, error 0, // on model, error 0, // on simple_equation, error + 0, // on simple_equation*, error + 0, // on simple_equation+, error 0, // on string_literal, error 0, // on string_literal?, error 0, // on term, error - // State 125 - 0, // on __file, error + // State 136 + 0, // on __float, error + 0, // on __identifier, error 0, // on __integer, error 0, // on __model, error - 0, // on binary_op, error 0, // on component_declaration, error 0, // on component_declaration*, error 0, // on component_declaration+, error 0, // on component_prefix, error 0, // on component_prefix?, error 0, // on connect_clause, error - 0, // on equation_entry, error - 0, // on equation_entry*, error - 0, // on equation_entry+, error + 0, // on connect_clause*, error + 0, // on connect_clause+, error 0, // on expr, error 0, // on factor, error - 0, // on file, error 0, // on float, error 0, // on identifier, error 0, // on integer, error 0, // on model, error 0, // on simple_equation, error + 0, // on simple_equation*, error + 0, // on simple_equation+, error 0, // on string_literal, error 0, // on string_literal?, error 0, // on term, error - // State 126 - 0, // on __file, error + // State 137 + 0, // on __float, error + 0, // on __identifier, error 0, // on __integer, error 0, // on __model, error - 0, // on binary_op, error 0, // on component_declaration, error 0, // on component_declaration*, error 0, // on component_declaration+, error 0, // on component_prefix, error 0, // on component_prefix?, error 0, // on connect_clause, error - 0, // on equation_entry, error - 0, // on equation_entry*, error - 0, // on equation_entry+, error + 0, // on connect_clause*, error + 0, // on connect_clause+, error 0, // on expr, error 0, // on factor, error - 0, // on file, error 0, // on float, error 0, // on identifier, error 0, // on integer, error 0, // on model, error 0, // on simple_equation, error + 0, // on simple_equation*, error + 0, // on simple_equation+, error 0, // on string_literal, error 0, // on string_literal?, error 0, // on term, error - // State 127 - 0, // on __file, error + // State 138 + 0, // on __float, error + 0, // on __identifier, error 0, // on __integer, error 0, // on __model, error - 0, // on binary_op, error 0, // on component_declaration, error 0, // on component_declaration*, error 0, // on component_declaration+, error 0, // on component_prefix, error 0, // on component_prefix?, error 0, // on connect_clause, error - 0, // on equation_entry, error - 0, // on equation_entry*, error - 0, // on equation_entry+, error + 0, // on connect_clause*, error + 0, // on connect_clause+, error 0, // on expr, error 0, // on factor, error - 0, // on file, error 0, // on float, error 0, // on identifier, error 0, // on integer, error 0, // on model, error 0, // on simple_equation, error + 0, // on simple_equation*, error + 0, // on simple_equation+, error 0, // on string_literal, error 0, // on string_literal?, error 0, // on term, error - // State 128 - 0, // on __file, error + // State 139 + 0, // on __float, error + 0, // on __identifier, error 0, // on __integer, error 0, // on __model, error - 0, // on binary_op, error 0, // on component_declaration, error 0, // on component_declaration*, error 0, // on component_declaration+, error 0, // on component_prefix, error 0, // on component_prefix?, error 0, // on connect_clause, error - 0, // on equation_entry, error - 0, // on equation_entry*, error - 0, // on equation_entry+, error + 0, // on connect_clause*, error + 0, // on connect_clause+, error 0, // on expr, error 0, // on factor, error - 0, // on file, error 0, // on float, error 0, // on identifier, error 0, // on integer, error 0, // on model, error 0, // on simple_equation, error + 0, // on simple_equation*, error + 0, // on simple_equation+, error 0, // on string_literal, error 0, // on string_literal?, error 0, // on term, error - // State 129 - 0, // on __file, error + // State 140 + 0, // on __float, error + 0, // on __identifier, error 0, // on __integer, error 0, // on __model, error - 0, // on binary_op, error 0, // on component_declaration, error 0, // on component_declaration*, error 0, // on component_declaration+, error 0, // on component_prefix, error 0, // on component_prefix?, error 0, // on connect_clause, error - 0, // on equation_entry, error - 0, // on equation_entry*, error - 0, // on equation_entry+, error + 0, // on connect_clause*, error + 0, // on connect_clause+, error 0, // on expr, error 0, // on factor, error - 0, // on file, error 0, // on float, error 0, // on identifier, error 0, // on integer, error 0, // on model, error 0, // on simple_equation, error + 0, // on simple_equation*, error + 0, // on simple_equation+, error 0, // on string_literal, error 0, // on string_literal?, error 0, // on term, error - // State 130 - 0, // on __file, error + // State 141 + 0, // on __float, error + 0, // on __identifier, error 0, // on __integer, error 0, // on __model, error - 0, // on binary_op, error 0, // on component_declaration, error 0, // on component_declaration*, error 0, // on component_declaration+, error 0, // on component_prefix, error 0, // on component_prefix?, error 0, // on connect_clause, error - 0, // on equation_entry, error - 0, // on equation_entry*, error - 0, // on equation_entry+, error + 0, // on connect_clause*, error + 0, // on connect_clause+, error 0, // on expr, error 0, // on factor, error - 0, // on file, error 0, // on float, error 0, // on identifier, error 0, // on integer, error 0, // on model, error 0, // on simple_equation, error + 0, // on simple_equation*, error + 0, // on simple_equation+, error 0, // on string_literal, error 0, // on string_literal?, error 0, // on term, error - // State 131 - 0, // on __file, error + // State 142 + 0, // on __float, error + 0, // on __identifier, error 0, // on __integer, error 0, // on __model, error - 0, // on binary_op, error 0, // on component_declaration, error 0, // on component_declaration*, error 0, // on component_declaration+, error 0, // on component_prefix, error 0, // on component_prefix?, error 0, // on connect_clause, error - 0, // on equation_entry, error - 0, // on equation_entry*, error - 0, // on equation_entry+, error + 0, // on connect_clause*, error + 0, // on connect_clause+, error 0, // on expr, error 0, // on factor, error - 0, // on file, error 0, // on float, error 0, // on identifier, error 0, // on integer, error 0, // on model, error 0, // on simple_equation, error + 0, // on simple_equation*, error + 0, // on simple_equation+, error 0, // on string_literal, error 0, // on string_literal?, error 0, // on term, error - // State 132 - 0, // on __file, error + // State 143 + 0, // on __float, error + 0, // on __identifier, error 0, // on __integer, error 0, // on __model, error - 0, // on binary_op, error 0, // on component_declaration, error 0, // on component_declaration*, error 0, // on component_declaration+, error 0, // on component_prefix, error 0, // on component_prefix?, error 0, // on connect_clause, error - 0, // on equation_entry, error - 0, // on equation_entry*, error - 0, // on equation_entry+, error + 0, // on connect_clause*, error + 0, // on connect_clause+, error 0, // on expr, error 0, // on factor, error - 0, // on file, error 0, // on float, error - 145, // on identifier, goto 144 + 0, // on identifier, error 0, // on integer, error 0, // on model, error 0, // on simple_equation, error + 0, // on simple_equation*, error + 0, // on simple_equation+, error 0, // on string_literal, error 0, // on string_literal?, error 0, // on term, error - // State 133 - 0, // on __file, error + // State 144 + 0, // on __float, error + 0, // on __identifier, error 0, // on __integer, error 0, // on __model, error - 0, // on binary_op, error 0, // on component_declaration, error 0, // on component_declaration*, error 0, // on component_declaration+, error 0, // on component_prefix, error 0, // on component_prefix?, error 0, // on connect_clause, error - 0, // on equation_entry, error - 0, // on equation_entry*, error - 0, // on equation_entry+, error + 0, // on connect_clause*, error + 0, // on connect_clause+, error + 0, // on expr, error + 0, // on factor, error + 0, // on float, error + 160, // on identifier, goto 159 + 0, // on integer, error + 0, // on model, error + 0, // on simple_equation, error + 0, // on simple_equation*, error + 0, // on simple_equation+, error + 0, // on string_literal, error + 0, // on string_literal?, error + 0, // on term, error + // State 145 + 0, // on __float, error + 0, // on __identifier, error + 0, // on __integer, error + 0, // on __model, error + 0, // on component_declaration, error + 0, // on component_declaration*, error + 0, // on component_declaration+, error + 0, // on component_prefix, error + 0, // on component_prefix?, error + 0, // on connect_clause, error + 0, // on connect_clause*, error + 0, // on connect_clause+, error 0, // on expr, error 0, // on factor, error - 0, // on file, error 0, // on float, error 0, // on identifier, error 0, // on integer, error 0, // on model, error 0, // on simple_equation, error + 0, // on simple_equation*, error + 0, // on simple_equation+, error 0, // on string_literal, error 0, // on string_literal?, error 0, // on term, error - // State 134 - 0, // on __file, error + // State 146 + 0, // on __float, error + 0, // on __identifier, error 0, // on __integer, error 0, // on __model, error - 0, // on binary_op, error 0, // on component_declaration, error 0, // on component_declaration*, error 0, // on component_declaration+, error 0, // on component_prefix, error 0, // on component_prefix?, error 0, // on connect_clause, error - 0, // on equation_entry, error - 0, // on equation_entry*, error - 0, // on equation_entry+, error + 0, // on connect_clause*, error + 0, // on connect_clause+, error 0, // on expr, error 0, // on factor, error - 0, // on file, error 0, // on float, error 0, // on identifier, error 0, // on integer, error 0, // on model, error 0, // on simple_equation, error + 0, // on simple_equation*, error + 0, // on simple_equation+, error 0, // on string_literal, error 0, // on string_literal?, error 0, // on term, error - // State 135 - 0, // on __file, error + // State 147 + 0, // on __float, error + 0, // on __identifier, error 0, // on __integer, error 0, // on __model, error - 0, // on binary_op, error 0, // on component_declaration, error 0, // on component_declaration*, error 0, // on component_declaration+, error 0, // on component_prefix, error 0, // on component_prefix?, error 0, // on connect_clause, error - 0, // on equation_entry, error - 0, // on equation_entry*, error - 0, // on equation_entry+, error + 0, // on connect_clause*, error + 0, // on connect_clause+, error 0, // on expr, error 0, // on factor, error - 0, // on file, error 0, // on float, error 0, // on identifier, error 0, // on integer, error 0, // on model, error 0, // on simple_equation, error + 0, // on simple_equation*, error + 0, // on simple_equation+, error 0, // on string_literal, error 0, // on string_literal?, error 0, // on term, error - // State 136 - 0, // on __file, error + // State 148 + 0, // on __float, error + 0, // on __identifier, error 0, // on __integer, error 0, // on __model, error - 0, // on binary_op, error 0, // on component_declaration, error 0, // on component_declaration*, error 0, // on component_declaration+, error 0, // on component_prefix, error 0, // on component_prefix?, error 0, // on connect_clause, error - 0, // on equation_entry, error - 0, // on equation_entry*, error - 0, // on equation_entry+, error + 0, // on connect_clause*, error + 0, // on connect_clause+, error 0, // on expr, error 0, // on factor, error - 0, // on file, error 0, // on float, error 0, // on identifier, error 0, // on integer, error 0, // on model, error 0, // on simple_equation, error + 0, // on simple_equation*, error + 0, // on simple_equation+, error 0, // on string_literal, error 0, // on string_literal?, error 0, // on term, error - // State 137 - 0, // on __file, error + // State 149 + 0, // on __float, error + 0, // on __identifier, error 0, // on __integer, error 0, // on __model, error - 0, // on binary_op, error 0, // on component_declaration, error 0, // on component_declaration*, error 0, // on component_declaration+, error 0, // on component_prefix, error 0, // on component_prefix?, error 0, // on connect_clause, error - 0, // on equation_entry, error - 0, // on equation_entry*, error - 0, // on equation_entry+, error + 0, // on connect_clause*, error + 0, // on connect_clause+, error 0, // on expr, error 0, // on factor, error - 0, // on file, error 0, // on float, error 0, // on identifier, error 0, // on integer, error 0, // on model, error 0, // on simple_equation, error + 0, // on simple_equation*, error + 0, // on simple_equation+, error 0, // on string_literal, error 0, // on string_literal?, error 0, // on term, error - // State 138 - 0, // on __file, error + // State 150 + 0, // on __float, error + 0, // on __identifier, error 0, // on __integer, error 0, // on __model, error - 0, // on binary_op, error 0, // on component_declaration, error 0, // on component_declaration*, error 0, // on component_declaration+, error 0, // on component_prefix, error 0, // on component_prefix?, error 0, // on connect_clause, error - 0, // on equation_entry, error - 0, // on equation_entry*, error - 0, // on equation_entry+, error + 0, // on connect_clause*, error + 0, // on connect_clause+, error 0, // on expr, error 0, // on factor, error - 0, // on file, error 0, // on float, error 0, // on identifier, error 0, // on integer, error 0, // on model, error 0, // on simple_equation, error + 0, // on simple_equation*, error + 0, // on simple_equation+, error 0, // on string_literal, error 0, // on string_literal?, error 0, // on term, error - // State 139 - 0, // on __file, error + // State 151 + 0, // on __float, error + 0, // on __identifier, error 0, // on __integer, error 0, // on __model, error - 0, // on binary_op, error 0, // on component_declaration, error 0, // on component_declaration*, error 0, // on component_declaration+, error 0, // on component_prefix, error 0, // on component_prefix?, error 0, // on connect_clause, error - 0, // on equation_entry, error - 0, // on equation_entry*, error - 0, // on equation_entry+, error + 0, // on connect_clause*, error + 0, // on connect_clause+, error 0, // on expr, error 0, // on factor, error - 0, // on file, error 0, // on float, error 0, // on identifier, error 0, // on integer, error 0, // on model, error 0, // on simple_equation, error + 0, // on simple_equation*, error + 0, // on simple_equation+, error 0, // on string_literal, error 0, // on string_literal?, error 0, // on term, error - // State 140 - 0, // on __file, error + // State 152 + 0, // on __float, error + 0, // on __identifier, error 0, // on __integer, error 0, // on __model, error - 0, // on binary_op, error 0, // on component_declaration, error 0, // on component_declaration*, error 0, // on component_declaration+, error 0, // on component_prefix, error 0, // on component_prefix?, error 0, // on connect_clause, error - 0, // on equation_entry, error - 0, // on equation_entry*, error - 0, // on equation_entry+, error + 0, // on connect_clause*, error + 0, // on connect_clause+, error 0, // on expr, error 0, // on factor, error - 0, // on file, error 0, // on float, error 0, // on identifier, error 0, // on integer, error 0, // on model, error 0, // on simple_equation, error + 0, // on simple_equation*, error + 0, // on simple_equation+, error 0, // on string_literal, error 0, // on string_literal?, error 0, // on term, error - // State 141 - 0, // on __file, error + // State 153 + 0, // on __float, error + 0, // on __identifier, error 0, // on __integer, error 0, // on __model, error - 0, // on binary_op, error 0, // on component_declaration, error 0, // on component_declaration*, error 0, // on component_declaration+, error 0, // on component_prefix, error 0, // on component_prefix?, error 0, // on connect_clause, error - 0, // on equation_entry, error - 0, // on equation_entry*, error - 0, // on equation_entry+, error + 0, // on connect_clause*, error + 0, // on connect_clause+, error 0, // on expr, error 0, // on factor, error - 0, // on file, error 0, // on float, error 0, // on identifier, error 0, // on integer, error 0, // on model, error 0, // on simple_equation, error + 0, // on simple_equation*, error + 0, // on simple_equation+, error 0, // on string_literal, error 0, // on string_literal?, error 0, // on term, error - // State 142 - 0, // on __file, error + // State 154 + 0, // on __float, error + 0, // on __identifier, error 0, // on __integer, error 0, // on __model, error - 0, // on binary_op, error 0, // on component_declaration, error 0, // on component_declaration*, error 0, // on component_declaration+, error 0, // on component_prefix, error 0, // on component_prefix?, error 0, // on connect_clause, error - 0, // on equation_entry, error - 0, // on equation_entry*, error - 0, // on equation_entry+, error + 0, // on connect_clause*, error + 0, // on connect_clause+, error 0, // on expr, error 0, // on factor, error - 0, // on file, error 0, // on float, error 0, // on identifier, error 0, // on integer, error 0, // on model, error 0, // on simple_equation, error + 0, // on simple_equation*, error + 0, // on simple_equation+, error 0, // on string_literal, error 0, // on string_literal?, error 0, // on term, error - // State 143 - 0, // on __file, error + // State 155 + 0, // on __float, error + 0, // on __identifier, error 0, // on __integer, error 0, // on __model, error - 0, // on binary_op, error 0, // on component_declaration, error 0, // on component_declaration*, error 0, // on component_declaration+, error 0, // on component_prefix, error 0, // on component_prefix?, error 0, // on connect_clause, error - 0, // on equation_entry, error - 0, // on equation_entry*, error - 0, // on equation_entry+, error + 0, // on connect_clause*, error + 0, // on connect_clause+, error 0, // on expr, error 0, // on factor, error - 0, // on file, error 0, // on float, error 0, // on identifier, error 0, // on integer, error 0, // on model, error 0, // on simple_equation, error + 0, // on simple_equation*, error + 0, // on simple_equation+, error 0, // on string_literal, error 0, // on string_literal?, error 0, // on term, error - // State 144 - 0, // on __file, error + // State 156 + 0, // on __float, error + 0, // on __identifier, error 0, // on __integer, error 0, // on __model, error - 0, // on binary_op, error 0, // on component_declaration, error 0, // on component_declaration*, error 0, // on component_declaration+, error 0, // on component_prefix, error 0, // on component_prefix?, error 0, // on connect_clause, error - 0, // on equation_entry, error - 0, // on equation_entry*, error - 0, // on equation_entry+, error + 0, // on connect_clause*, error + 0, // on connect_clause+, error 0, // on expr, error 0, // on factor, error - 0, // on file, error 0, // on float, error 0, // on identifier, error 0, // on integer, error 0, // on model, error 0, // on simple_equation, error + 0, // on simple_equation*, error + 0, // on simple_equation+, error 0, // on string_literal, error 0, // on string_literal?, error 0, // on term, error - // State 145 - 0, // on __file, error + // State 157 + 0, // on __float, error + 0, // on __identifier, error 0, // on __integer, error 0, // on __model, error - 0, // on binary_op, error 0, // on component_declaration, error 0, // on component_declaration*, error 0, // on component_declaration+, error 0, // on component_prefix, error 0, // on component_prefix?, error 0, // on connect_clause, error - 0, // on equation_entry, error - 0, // on equation_entry*, error - 0, // on equation_entry+, error + 0, // on connect_clause*, error + 0, // on connect_clause+, error 0, // on expr, error 0, // on factor, error - 0, // on file, error 0, // on float, error 0, // on identifier, error 0, // on integer, error 0, // on model, error 0, // on simple_equation, error + 0, // on simple_equation*, error + 0, // on simple_equation+, error 0, // on string_literal, error 0, // on string_literal?, error 0, // on term, error - // State 146 - 0, // on __file, error + // State 158 + 0, // on __float, error + 0, // on __identifier, error 0, // on __integer, error 0, // on __model, error - 0, // on binary_op, error 0, // on component_declaration, error 0, // on component_declaration*, error 0, // on component_declaration+, error 0, // on component_prefix, error 0, // on component_prefix?, error 0, // on connect_clause, error - 0, // on equation_entry, error - 0, // on equation_entry*, error - 0, // on equation_entry+, error + 0, // on connect_clause*, error + 0, // on connect_clause+, error 0, // on expr, error 0, // on factor, error - 0, // on file, error 0, // on float, error 0, // on identifier, error 0, // on integer, error 0, // on model, error 0, // on simple_equation, error + 0, // on simple_equation*, error + 0, // on simple_equation+, error 0, // on string_literal, error 0, // on string_literal?, error 0, // on term, error - // State 147 - 0, // on __file, error + // State 159 + 0, // on __float, error + 0, // on __identifier, error 0, // on __integer, error 0, // on __model, error - 0, // on binary_op, error 0, // on component_declaration, error 0, // on component_declaration*, error 0, // on component_declaration+, error 0, // on component_prefix, error 0, // on component_prefix?, error 0, // on connect_clause, error - 0, // on equation_entry, error - 0, // on equation_entry*, error - 0, // on equation_entry+, error + 0, // on connect_clause*, error + 0, // on connect_clause+, error 0, // on expr, error 0, // on factor, error - 0, // on file, error 0, // on float, error 0, // on identifier, error 0, // on integer, error 0, // on model, error 0, // on simple_equation, error + 0, // on simple_equation*, error + 0, // on simple_equation+, error 0, // on string_literal, error 0, // on string_literal?, error 0, // on term, error - // State 148 - 0, // on __file, error + // State 160 + 0, // on __float, error + 0, // on __identifier, error 0, // on __integer, error 0, // on __model, error - 0, // on binary_op, error 0, // on component_declaration, error 0, // on component_declaration*, error 0, // on component_declaration+, error 0, // on component_prefix, error 0, // on component_prefix?, error 0, // on connect_clause, error - 0, // on equation_entry, error - 0, // on equation_entry*, error - 0, // on equation_entry+, error + 0, // on connect_clause*, error + 0, // on connect_clause+, error 0, // on expr, error 0, // on factor, error - 0, // on file, error 0, // on float, error 0, // on identifier, error 0, // on integer, error 0, // on model, error 0, // on simple_equation, error + 0, // on simple_equation*, error + 0, // on simple_equation+, error 0, // on string_literal, error 0, // on string_literal?, error 0, // on term, error - // State 149 - 0, // on __file, error + // State 161 + 0, // on __float, error + 0, // on __identifier, error + 0, // on __integer, error + 0, // on __model, error + 0, // on component_declaration, error + 0, // on component_declaration*, error + 0, // on component_declaration+, error + 0, // on component_prefix, error + 0, // on component_prefix?, error + 0, // on connect_clause, error + 0, // on connect_clause*, error + 0, // on connect_clause+, error + 0, // on expr, error + 0, // on factor, error + 0, // on float, error + 0, // on identifier, error + 0, // on integer, error + 0, // on model, error + 0, // on simple_equation, error + 0, // on simple_equation*, error + 0, // on simple_equation+, error + 0, // on string_literal, error + 0, // on string_literal?, error + 0, // on term, error + // State 162 + 0, // on __float, error + 0, // on __identifier, error + 0, // on __integer, error + 0, // on __model, error + 0, // on component_declaration, error + 0, // on component_declaration*, error + 0, // on component_declaration+, error + 0, // on component_prefix, error + 0, // on component_prefix?, error + 0, // on connect_clause, error + 0, // on connect_clause*, error + 0, // on connect_clause+, error + 0, // on expr, error + 0, // on factor, error + 0, // on float, error + 0, // on identifier, error + 0, // on integer, error + 0, // on model, error + 0, // on simple_equation, error + 0, // on simple_equation*, error + 0, // on simple_equation+, error + 0, // on string_literal, error + 0, // on string_literal?, error + 0, // on term, error + // State 163 + 0, // on __float, error + 0, // on __identifier, error + 0, // on __integer, error + 0, // on __model, error + 0, // on component_declaration, error + 0, // on component_declaration*, error + 0, // on component_declaration+, error + 0, // on component_prefix, error + 0, // on component_prefix?, error + 0, // on connect_clause, error + 0, // on connect_clause*, error + 0, // on connect_clause+, error + 0, // on expr, error + 0, // on factor, error + 0, // on float, error + 0, // on identifier, error + 0, // on integer, error + 0, // on model, error + 0, // on simple_equation, error + 0, // on simple_equation*, error + 0, // on simple_equation+, error + 0, // on string_literal, error + 0, // on string_literal?, error + 0, // on term, error + // State 164 + 0, // on __float, error + 0, // on __identifier, error + 0, // on __integer, error + 0, // on __model, error + 0, // on component_declaration, error + 0, // on component_declaration*, error + 0, // on component_declaration+, error + 0, // on component_prefix, error + 0, // on component_prefix?, error + 0, // on connect_clause, error + 0, // on connect_clause*, error + 0, // on connect_clause+, error + 0, // on expr, error + 0, // on factor, error + 0, // on float, error + 0, // on identifier, error + 0, // on integer, error + 0, // on model, error + 0, // on simple_equation, error + 0, // on simple_equation*, error + 0, // on simple_equation+, error + 0, // on string_literal, error + 0, // on string_literal?, error + 0, // on term, error + // State 165 + 0, // on __float, error + 0, // on __identifier, error 0, // on __integer, error 0, // on __model, error - 0, // on binary_op, error 0, // on component_declaration, error 0, // on component_declaration*, error 0, // on component_declaration+, error 0, // on component_prefix, error 0, // on component_prefix?, error 0, // on connect_clause, error - 0, // on equation_entry, error - 0, // on equation_entry*, error - 0, // on equation_entry+, error + 0, // on connect_clause*, error + 0, // on connect_clause+, error 0, // on expr, error 0, // on factor, error - 0, // on file, error 0, // on float, error 0, // on identifier, error 0, // on integer, error 0, // on model, error 0, // on simple_equation, error + 0, // on simple_equation*, error + 0, // on simple_equation+, error 0, // on string_literal, error 0, // on string_literal?, error 0, // on term, error @@ -19075,7 +13846,7 @@ mod __parse__model { 'input, >( input: &'input str, - ) -> Result<(), __lalrpop_util::ParseError<usize,(usize, &'input str),()>> + ) -> Result<Model, __lalrpop_util::ParseError<usize,(usize, &'input str),()>> { let mut __tokens = super::__intern_token::__Matcher::new(input); let mut __states = vec![0_i32]; @@ -19270,85 +14041,52 @@ mod __parse__model { __states: &mut ::std::vec::Vec<i32>, __symbols: &mut ::std::vec::Vec<(usize,__Symbol<'input>,usize)>, _: ::std::marker::PhantomData<()>, - ) -> Option<Result<(),__lalrpop_util::ParseError<usize,(usize, &'input str),()>>> + ) -> Option<Result<Model,__lalrpop_util::ParseError<usize,(usize, &'input str),()>>> { let __nonterminal = match -__action { 1 => { - // __file = file => ActionFn(2); - let __sym0 = __pop_Ntfile(__symbols); + // __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____file(__nt), __end)); + __symbols.push((__start, __Symbol::Nt____float(__nt), __end)); 0 } 2 => { - // __integer = integer => ActionFn(0); - let __sym0 = __pop_Ntinteger(__symbols); + // __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____integer(__nt), __end)); + __symbols.push((__start, __Symbol::Nt____identifier(__nt), __end)); 1 } 3 => { - // __model = model => ActionFn(1); - let __sym0 = __pop_Ntmodel(__symbols); + // __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 => { - // binary_op = "+" => ActionFn(33); - let __sym0 = __pop_Term_22_2b_22(__symbols); - let __start = __sym0.0.clone(); - let __end = __sym0.2.clone(); - let __nt = super::__action33::<>(input, __sym0); - let __states_len = __states.len(); - __states.truncate(__states_len - 1); - __symbols.push((__start, __Symbol::Ntbinary__op(__nt), __end)); - 3 - } - 5 => { - // binary_op = "-" => ActionFn(34); - let __sym0 = __pop_Term_22_2d_22(__symbols); - let __start = __sym0.0.clone(); - let __end = __sym0.2.clone(); - let __nt = super::__action34::<>(input, __sym0); - let __states_len = __states.len(); - __states.truncate(__states_len - 1); - __symbols.push((__start, __Symbol::Ntbinary__op(__nt), __end)); - 3 - } - 6 => { - // binary_op = "*" => ActionFn(35); - let __sym0 = __pop_Term_22_2a_22(__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::Ntbinary__op(__nt), __end)); - 3 + __symbols.push((__start, __Symbol::Nt____integer(__nt), __end)); + 2 } - 7 => { - // binary_op = "/" => ActionFn(36); - let __sym0 = __pop_Term_22_2f_22(__symbols); + 4 => { + // __model = model => ActionFn(3); + let __sym0 = __pop_Ntmodel(__symbols); let __start = __sym0.0.clone(); let __end = __sym0.2.clone(); - let __nt = super::__action36::<>(input, __sym0); - let __states_len = __states.len(); - __states.truncate(__states_len - 1); - __symbols.push((__start, __Symbol::Ntbinary__op(__nt), __end)); - 3 + let __nt = super::__action3::<>(input, __sym0); + return Some(Ok(__nt)); } - 8 => { - // component_declaration = component_prefix, identifier, identifier, string_literal, ";" => ActionFn(58); + 5 => { + // component_declaration = component_prefix, identifier, identifier, string_literal, ";" => ActionFn(64); let __sym4 = __pop_Term_22_3b_22(__symbols); let __sym3 = __pop_Ntstring__literal(__symbols); let __sym2 = __pop_Ntidentifier(__symbols); @@ -19356,197 +14094,197 @@ mod __parse__model { let __sym0 = __pop_Ntcomponent__prefix(__symbols); let __start = __sym0.0.clone(); let __end = __sym4.2.clone(); - let __nt = super::__action58::<>(input, __sym0, __sym1, __sym2, __sym3, __sym4); + let __nt = super::__action64::<>(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, ";" => ActionFn(59); + 6 => { + // component_declaration = component_prefix, identifier, identifier, ";" => ActionFn(65); 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::__action59::<>(input, __sym0, __sym1, __sym2, __sym3); + let __nt = super::__action65::<>(input, __sym0, __sym1, __sym2, __sym3); let __states_len = __states.len(); __states.truncate(__states_len - 4); __symbols.push((__start, __Symbol::Ntcomponent__declaration(__nt), __end)); 4 } - 10 => { - // component_declaration = identifier, identifier, string_literal, ";" => ActionFn(60); + 7 => { + // component_declaration = identifier, identifier, string_literal, ";" => ActionFn(66); 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::__action60::<>(input, __sym0, __sym1, __sym2, __sym3); + let __nt = super::__action66::<>(input, __sym0, __sym1, __sym2, __sym3); let __states_len = __states.len(); __states.truncate(__states_len - 4); __symbols.push((__start, __Symbol::Ntcomponent__declaration(__nt), __end)); 4 } - 11 => { - // component_declaration = identifier, identifier, ";" => ActionFn(61); + 8 => { + // component_declaration = identifier, identifier, ";" => ActionFn(67); 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::__action61::<>(input, __sym0, __sym1, __sym2); + let __nt = super::__action67::<>(input, __sym0, __sym1, __sym2); let __states_len = __states.len(); __states.truncate(__states_len - 3); __symbols.push((__start, __Symbol::Ntcomponent__declaration(__nt), __end)); 4 } - 12 => { - // component_declaration* = => ActionFn(44); + 9 => { + // component_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::__action44::<>(input, &__start, &__end); + let __nt = super::__action40::<>(input, &__start, &__end); let __states_len = __states.len(); __states.truncate(__states_len - 0); __symbols.push((__start, __Symbol::Ntcomponent__declaration_2a(__nt), __end)); 5 } - 13 => { - // component_declaration* = component_declaration+ => ActionFn(45); + 10 => { + // component_declaration* = component_declaration+ => ActionFn(41); let __sym0 = __pop_Ntcomponent__declaration_2b(__symbols); let __start = __sym0.0.clone(); let __end = __sym0.2.clone(); - let __nt = super::__action45::<>(input, __sym0); + let __nt = super::__action41::<>(input, __sym0); let __states_len = __states.len(); __states.truncate(__states_len - 1); __symbols.push((__start, __Symbol::Ntcomponent__declaration_2a(__nt), __end)); 5 } - 14 => { - // component_declaration+ = component_declaration => ActionFn(46); + 11 => { + // component_declaration+ = component_declaration => ActionFn(42); let __sym0 = __pop_Ntcomponent__declaration(__symbols); let __start = __sym0.0.clone(); let __end = __sym0.2.clone(); - let __nt = super::__action46::<>(input, __sym0); + let __nt = super::__action42::<>(input, __sym0); let __states_len = __states.len(); __states.truncate(__states_len - 1); __symbols.push((__start, __Symbol::Ntcomponent__declaration_2b(__nt), __end)); 6 } - 15 => { - // component_declaration+ = component_declaration+, component_declaration => ActionFn(47); + 12 => { + // component_declaration+ = component_declaration+, component_declaration => ActionFn(43); 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::__action47::<>(input, __sym0, __sym1); + let __nt = super::__action43::<>(input, __sym0, __sym1); let __states_len = __states.len(); __states.truncate(__states_len - 2); __symbols.push((__start, __Symbol::Ntcomponent__declaration_2b(__nt), __end)); 6 } - 16 => { - // component_prefix = "flow" => ActionFn(11); + 13 => { + // component_prefix = "flow" => ActionFn(10); let __sym0 = __pop_Term_22flow_22(__symbols); let __start = __sym0.0.clone(); let __end = __sym0.2.clone(); - let __nt = super::__action11::<>(input, __sym0); + let __nt = super::__action10::<>(input, __sym0); let __states_len = __states.len(); __states.truncate(__states_len - 1); __symbols.push((__start, __Symbol::Ntcomponent__prefix(__nt), __end)); 7 } - 17 => { - // component_prefix = "stream" => ActionFn(12); + 14 => { + // component_prefix = "stream" => ActionFn(11); let __sym0 = __pop_Term_22stream_22(__symbols); let __start = __sym0.0.clone(); let __end = __sym0.2.clone(); - let __nt = super::__action12::<>(input, __sym0); + let __nt = super::__action11::<>(input, __sym0); let __states_len = __states.len(); __states.truncate(__states_len - 1); __symbols.push((__start, __Symbol::Ntcomponent__prefix(__nt), __end)); 7 } - 18 => { - // component_prefix = "input" => ActionFn(13); + 15 => { + // component_prefix = "input" => ActionFn(12); let __sym0 = __pop_Term_22input_22(__symbols); let __start = __sym0.0.clone(); let __end = __sym0.2.clone(); - let __nt = super::__action13::<>(input, __sym0); + 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 } - 19 => { - // component_prefix = "output" => ActionFn(14); + 16 => { + // component_prefix = "output" => ActionFn(13); let __sym0 = __pop_Term_22output_22(__symbols); let __start = __sym0.0.clone(); let __end = __sym0.2.clone(); - let __nt = super::__action14::<>(input, __sym0); + 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 } - 20 => { - // component_prefix = "discrete" => ActionFn(15); + 17 => { + // component_prefix = "discrete" => ActionFn(14); let __sym0 = __pop_Term_22discrete_22(__symbols); let __start = __sym0.0.clone(); let __end = __sym0.2.clone(); - let __nt = super::__action15::<>(input, __sym0); + 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 } - 21 => { - // component_prefix = "parameter" => ActionFn(16); + 18 => { + // component_prefix = "parameter" => ActionFn(15); let __sym0 = __pop_Term_22parameter_22(__symbols); let __start = __sym0.0.clone(); let __end = __sym0.2.clone(); - let __nt = super::__action16::<>(input, __sym0); + 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 } - 22 => { - // component_prefix = "constant" => ActionFn(17); + 19 => { + // component_prefix = "constant" => ActionFn(16); let __sym0 = __pop_Term_22constant_22(__symbols); let __start = __sym0.0.clone(); let __end = __sym0.2.clone(); - let __nt = super::__action17::<>(input, __sym0); + 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 } - 23 => { - // component_prefix? = component_prefix => ActionFn(40); + 20 => { + // component_prefix? = component_prefix => ActionFn(34); let __sym0 = __pop_Ntcomponent__prefix(__symbols); let __start = __sym0.0.clone(); let __end = __sym0.2.clone(); - let __nt = super::__action40::<>(input, __sym0); + let __nt = super::__action34::<>(input, __sym0); let __states_len = __states.len(); __states.truncate(__states_len - 1); __symbols.push((__start, __Symbol::Ntcomponent__prefix_3f(__nt), __end)); 8 } - 24 => { - // component_prefix? = => ActionFn(41); + 21 => { + // component_prefix? = => ActionFn(35); 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::__action41::<>(input, &__start, &__end); + let __nt = super::__action35::<>(input, &__start, &__end); let __states_len = __states.len(); __states.truncate(__states_len - 0); __symbols.push((__start, __Symbol::Ntcomponent__prefix_3f(__nt), __end)); 8 } - 25 => { - // connect_clause = "connect", "(", identifier, ",", identifier, ")", ";" => ActionFn(19); + 22 => { + // connect_clause = "connect", "(", identifier, ",", identifier, ")", ";" => ActionFn(18); let __sym6 = __pop_Term_22_3b_22(__symbols); let __sym5 = __pop_Term_22_29_22(__symbols); let __sym4 = __pop_Ntidentifier(__symbols); @@ -19556,210 +14294,177 @@ mod __parse__model { let __sym0 = __pop_Term_22connect_22(__symbols); let __start = __sym0.0.clone(); let __end = __sym6.2.clone(); - let __nt = super::__action19::<>(input, __sym0, __sym1, __sym2, __sym3, __sym4, __sym5, __sym6); + let __nt = super::__action18::<>(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 } - 26 => { - // equation_entry = simple_equation => ActionFn(8); - let __sym0 = __pop_Ntsimple__equation(__symbols); - let __start = __sym0.0.clone(); - let __end = __sym0.2.clone(); - let __nt = super::__action8::<>(input, __sym0); - let __states_len = __states.len(); - __states.truncate(__states_len - 1); - __symbols.push((__start, __Symbol::Ntequation__entry(__nt), __end)); - 10 - } - 27 => { - // equation_entry = connect_clause => ActionFn(9); - let __sym0 = __pop_Ntconnect__clause(__symbols); - let __start = __sym0.0.clone(); - let __end = __sym0.2.clone(); - let __nt = super::__action9::<>(input, __sym0); - let __states_len = __states.len(); - __states.truncate(__states_len - 1); - __symbols.push((__start, __Symbol::Ntequation__entry(__nt), __end)); - 10 - } - 28 => { - // equation_entry* = => ActionFn(42); + 23 => { + // connect_clause* = => 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::__action42::<>(input, &__start, &__end); + let __nt = super::__action38::<>(input, &__start, &__end); let __states_len = __states.len(); __states.truncate(__states_len - 0); - __symbols.push((__start, __Symbol::Ntequation__entry_2a(__nt), __end)); - 11 + __symbols.push((__start, __Symbol::Ntconnect__clause_2a(__nt), __end)); + 10 } - 29 => { - // equation_entry* = equation_entry+ => ActionFn(43); - let __sym0 = __pop_Ntequation__entry_2b(__symbols); + 24 => { + // connect_clause* = connect_clause+ => ActionFn(39); + let __sym0 = __pop_Ntconnect__clause_2b(__symbols); let __start = __sym0.0.clone(); let __end = __sym0.2.clone(); - let __nt = super::__action43::<>(input, __sym0); + let __nt = super::__action39::<>(input, __sym0); let __states_len = __states.len(); __states.truncate(__states_len - 1); - __symbols.push((__start, __Symbol::Ntequation__entry_2a(__nt), __end)); - 11 + __symbols.push((__start, __Symbol::Ntconnect__clause_2a(__nt), __end)); + 10 } - 30 => { - // equation_entry+ = equation_entry => ActionFn(48); - let __sym0 = __pop_Ntequation__entry(__symbols); + 25 => { + // connect_clause+ = connect_clause => ActionFn(44); + let __sym0 = __pop_Ntconnect__clause(__symbols); let __start = __sym0.0.clone(); let __end = __sym0.2.clone(); - let __nt = super::__action48::<>(input, __sym0); + let __nt = super::__action44::<>(input, __sym0); let __states_len = __states.len(); __states.truncate(__states_len - 1); - __symbols.push((__start, __Symbol::Ntequation__entry_2b(__nt), __end)); - 12 + __symbols.push((__start, __Symbol::Ntconnect__clause_2b(__nt), __end)); + 11 } - 31 => { - // equation_entry+ = equation_entry+, equation_entry => ActionFn(49); - let __sym1 = __pop_Ntequation__entry(__symbols); - let __sym0 = __pop_Ntequation__entry_2b(__symbols); + 26 => { + // connect_clause+ = connect_clause+, connect_clause => ActionFn(45); + 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::__action49::<>(input, __sym0, __sym1); + let __nt = super::__action45::<>(input, __sym0, __sym1); let __states_len = __states.len(); __states.truncate(__states_len - 2); - __symbols.push((__start, __Symbol::Ntequation__entry_2b(__nt), __end)); - 12 + __symbols.push((__start, __Symbol::Ntconnect__clause_2b(__nt), __end)); + 11 } - 32 => { - // expr = expr, "+", factor => ActionFn(20); + 27 => { + // expr = expr, "+", factor => ActionFn(19); 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::__action20::<>(input, __sym0, __sym1, __sym2); + let __nt = super::__action19::<>(input, __sym0, __sym1, __sym2); let __states_len = __states.len(); __states.truncate(__states_len - 3); __symbols.push((__start, __Symbol::Ntexpr(__nt), __end)); - 13 + 12 } - 33 => { - // expr = expr, "-", factor => ActionFn(21); + 28 => { + // expr = expr, "-", factor => ActionFn(20); 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::__action21::<>(input, __sym0, __sym1, __sym2); + let __nt = super::__action20::<>(input, __sym0, __sym1, __sym2); let __states_len = __states.len(); __states.truncate(__states_len - 3); __symbols.push((__start, __Symbol::Ntexpr(__nt), __end)); - 13 + 12 } - 34 => { - // expr = factor => ActionFn(22); + 29 => { + // expr = factor => ActionFn(21); let __sym0 = __pop_Ntfactor(__symbols); let __start = __sym0.0.clone(); let __end = __sym0.2.clone(); - let __nt = super::__action22::<>(input, __sym0); + let __nt = super::__action21::<>(input, __sym0); let __states_len = __states.len(); __states.truncate(__states_len - 1); __symbols.push((__start, __Symbol::Ntexpr(__nt), __end)); - 13 + 12 } - 35 => { - // factor = factor, "*", term => ActionFn(23); + 30 => { + // factor = factor, "*", term => ActionFn(22); 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::__action23::<>(input, __sym0, __sym1, __sym2); + let __nt = super::__action22::<>(input, __sym0, __sym1, __sym2); let __states_len = __states.len(); __states.truncate(__states_len - 3); __symbols.push((__start, __Symbol::Ntfactor(__nt), __end)); - 14 + 13 } - 36 => { - // factor = factor, "/", term => ActionFn(24); + 31 => { + // factor = factor, "/", term => ActionFn(23); 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::__action24::<>(input, __sym0, __sym1, __sym2); + let __nt = super::__action23::<>(input, __sym0, __sym1, __sym2); let __states_len = __states.len(); __states.truncate(__states_len - 3); __symbols.push((__start, __Symbol::Ntfactor(__nt), __end)); - 14 + 13 } - 37 => { - // factor = "-", term => ActionFn(25); + 32 => { + // factor = "-", term => ActionFn(24); 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::__action25::<>(input, __sym0, __sym1); + let __nt = super::__action24::<>(input, __sym0, __sym1); let __states_len = __states.len(); __states.truncate(__states_len - 2); __symbols.push((__start, __Symbol::Ntfactor(__nt), __end)); - 14 + 13 } - 38 => { - // factor = term => ActionFn(26); + 33 => { + // factor = term => ActionFn(25); let __sym0 = __pop_Ntterm(__symbols); let __start = __sym0.0.clone(); let __end = __sym0.2.clone(); - let __nt = super::__action26::<>(input, __sym0); + let __nt = super::__action25::<>(input, __sym0); let __states_len = __states.len(); __states.truncate(__states_len - 1); __symbols.push((__start, __Symbol::Ntfactor(__nt), __end)); - 14 - } - 39 => { - // file = model => ActionFn(37); - let __sym0 = __pop_Ntmodel(__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::Ntfile(__nt), __end)); - 15 + 13 } - 40 => { - // float = r#"[+-]?\\d+\\.\\d*([eE][-+]?\\d+)?"# => ActionFn(6); + 34 => { + // 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::__action6::<>(input, __sym0); + let __nt = super::__action7::<>(input, __sym0); let __states_len = __states.len(); __states.truncate(__states_len - 1); __symbols.push((__start, __Symbol::Ntfloat(__nt), __end)); - 16 + 14 } - 41 => { - // identifier = r#"[a-zA-Z_][a-zA-Z_0-9]*"# => ActionFn(3); + 35 => { + // 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::__action3::<>(input, __sym0); + let __nt = super::__action4::<>(input, __sym0); let __states_len = __states.len(); __states.truncate(__states_len - 1); __symbols.push((__start, __Symbol::Ntidentifier(__nt), __end)); - 17 + 15 } - 42 => { - // integer = r#"[+-]?\\d+"# => ActionFn(5); + 36 => { + // 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::__action5::<>(input, __sym0); + let __nt = super::__action6::<>(input, __sym0); let __states_len = __states.len(); __states.truncate(__states_len - 1); __symbols.push((__start, __Symbol::Ntinteger(__nt), __end)); - 18 + 16 } - 43 => { - // model = "model", identifier, "equation", "end", identifier, ";" => ActionFn(54); + 37 => { + // model = "model", identifier, "equation", "end", identifier, ";" => ActionFn(56); let __sym5 = __pop_Term_22_3b_22(__symbols); let __sym4 = __pop_Ntidentifier(__symbols); let __sym3 = __pop_Term_22end_22(__symbols); @@ -19768,31 +14473,66 @@ mod __parse__model { let __sym0 = __pop_Term_22model_22(__symbols); let __start = __sym0.0.clone(); let __end = __sym5.2.clone(); - let __nt = super::__action54::<>(input, __sym0, __sym1, __sym2, __sym3, __sym4, __sym5); + let __nt = super::__action56::<>(input, __sym0, __sym1, __sym2, __sym3, __sym4, __sym5); let __states_len = __states.len(); __states.truncate(__states_len - 6); __symbols.push((__start, __Symbol::Ntmodel(__nt), __end)); - 19 + 17 } - 44 => { - // model = "model", identifier, "equation", equation_entry+, "end", identifier, ";" => ActionFn(55); + 38 => { + // model = "model", identifier, "equation", simple_equation+, "end", identifier, ";" => ActionFn(57); let __sym6 = __pop_Term_22_3b_22(__symbols); let __sym5 = __pop_Ntidentifier(__symbols); let __sym4 = __pop_Term_22end_22(__symbols); - let __sym3 = __pop_Ntequation__entry_2b(__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::__action55::<>(input, __sym0, __sym1, __sym2, __sym3, __sym4, __sym5, __sym6); + let __nt = super::__action57::<>(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)); - 19 + 17 } - 45 => { - // model = "model", identifier, component_declaration+, "equation", "end", identifier, ";" => ActionFn(56); + 39 => { + // model = "model", identifier, "equation", connect_clause+, "end", identifier, ";" => ActionFn(58); + 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::__action58::<>(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 + } + 40 => { + // model = "model", identifier, "equation", connect_clause+, simple_equation+, "end", identifier, ";" => ActionFn(59); + 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::__action59::<>(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 + } + 41 => { + // model = "model", identifier, component_declaration+, "equation", "end", identifier, ";" => ActionFn(60); let __sym6 = __pop_Term_22_3b_22(__symbols); let __sym5 = __pop_Ntidentifier(__symbols); let __sym4 = __pop_Term_22end_22(__symbols); @@ -19802,145 +14542,226 @@ mod __parse__model { let __sym0 = __pop_Term_22model_22(__symbols); let __start = __sym0.0.clone(); let __end = __sym6.2.clone(); - let __nt = super::__action56::<>(input, __sym0, __sym1, __sym2, __sym3, __sym4, __sym5, __sym6); + let __nt = super::__action60::<>(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)); - 19 + 17 } - 46 => { - // model = "model", identifier, component_declaration+, "equation", equation_entry+, "end", identifier, ";" => ActionFn(57); + 42 => { + // model = "model", identifier, component_declaration+, "equation", simple_equation+, "end", identifier, ";" => ActionFn(61); let __sym7 = __pop_Term_22_3b_22(__symbols); let __sym6 = __pop_Ntidentifier(__symbols); let __sym5 = __pop_Term_22end_22(__symbols); - let __sym4 = __pop_Ntequation__entry_2b(__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::__action57::<>(input, __sym0, __sym1, __sym2, __sym3, __sym4, __sym5, __sym6, __sym7); + let __nt = super::__action61::<>(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)); - 19 + 17 } - 47 => { - // simple_equation = expr, "=", expr, ";" => ActionFn(18); + 43 => { + // model = "model", identifier, component_declaration+, "equation", connect_clause+, "end", identifier, ";" => ActionFn(62); + 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::__action62::<>(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 + } + 44 => { + // model = "model", identifier, component_declaration+, "equation", connect_clause+, simple_equation+, "end", identifier, ";" => ActionFn(63); + 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::__action63::<>(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 + } + 45 => { + // simple_equation = expr, "=", expr, ";" => ActionFn(17); 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::__action18::<>(input, __sym0, __sym1, __sym2, __sym3); + let __nt = super::__action17::<>(input, __sym0, __sym1, __sym2, __sym3); let __states_len = __states.len(); __states.truncate(__states_len - 4); __symbols.push((__start, __Symbol::Ntsimple__equation(__nt), __end)); - 20 + 18 + } + 46 => { + // simple_equation* = => 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::Ntsimple__equation_2a(__nt), __end)); + 19 + } + 47 => { + // simple_equation* = simple_equation+ => ActionFn(37); + let __sym0 = __pop_Ntsimple__equation_2b(__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::Ntsimple__equation_2a(__nt), __end)); + 19 } 48 => { - // string_literal = r#"\"[^\"\\\\]*\""# => ActionFn(4); + // simple_equation+ = simple_equation => ActionFn(46); + let __sym0 = __pop_Ntsimple__equation(__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::Ntsimple__equation_2b(__nt), __end)); + 20 + } + 49 => { + // simple_equation+ = simple_equation+, simple_equation => ActionFn(47); + 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::__action47::<>(input, __sym0, __sym1); + let __states_len = __states.len(); + __states.truncate(__states_len - 2); + __symbols.push((__start, __Symbol::Ntsimple__equation_2b(__nt), __end)); + 20 + } + 50 => { + // 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::__action4::<>(input, __sym0); + 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 } - 49 => { - // string_literal? = string_literal => ActionFn(38); + 51 => { + // string_literal? = string_literal => ActionFn(32); let __sym0 = __pop_Ntstring__literal(__symbols); let __start = __sym0.0.clone(); let __end = __sym0.2.clone(); - let __nt = super::__action38::<>(input, __sym0); + let __nt = super::__action32::<>(input, __sym0); let __states_len = __states.len(); __states.truncate(__states_len - 1); __symbols.push((__start, __Symbol::Ntstring__literal_3f(__nt), __end)); 22 } - 50 => { - // string_literal? = => ActionFn(39); + 52 => { + // string_literal? = => ActionFn(33); 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::__action39::<>(input, &__start, &__end); + let __nt = super::__action33::<>(input, &__start, &__end); let __states_len = __states.len(); __states.truncate(__states_len - 0); __symbols.push((__start, __Symbol::Ntstring__literal_3f(__nt), __end)); 22 } - 51 => { - // term = integer => ActionFn(27); + 53 => { + // term = integer => ActionFn(26); let __sym0 = __pop_Ntinteger(__symbols); let __start = __sym0.0.clone(); let __end = __sym0.2.clone(); - let __nt = super::__action27::<>(input, __sym0); + let __nt = super::__action26::<>(input, __sym0); let __states_len = __states.len(); __states.truncate(__states_len - 1); __symbols.push((__start, __Symbol::Ntterm(__nt), __end)); 23 } - 52 => { - // term = float => ActionFn(28); + 54 => { + // term = float => ActionFn(27); let __sym0 = __pop_Ntfloat(__symbols); let __start = __sym0.0.clone(); let __end = __sym0.2.clone(); - let __nt = super::__action28::<>(input, __sym0); + let __nt = super::__action27::<>(input, __sym0); let __states_len = __states.len(); __states.truncate(__states_len - 1); __symbols.push((__start, __Symbol::Ntterm(__nt), __end)); 23 } - 53 => { - // term = identifier => ActionFn(29); + 55 => { + // term = identifier => ActionFn(28); let __sym0 = __pop_Ntidentifier(__symbols); let __start = __sym0.0.clone(); let __end = __sym0.2.clone(); - let __nt = super::__action29::<>(input, __sym0); + let __nt = super::__action28::<>(input, __sym0); let __states_len = __states.len(); __states.truncate(__states_len - 1); __symbols.push((__start, __Symbol::Ntterm(__nt), __end)); 23 } - 54 => { - // term = "der", "(", expr, ")" => ActionFn(30); + 56 => { + // term = "der", "(", expr, ")" => ActionFn(29); 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::__action30::<>(input, __sym0, __sym1, __sym2, __sym3); + let __nt = super::__action29::<>(input, __sym0, __sym1, __sym2, __sym3); let __states_len = __states.len(); __states.truncate(__states_len - 4); __symbols.push((__start, __Symbol::Ntterm(__nt), __end)); 23 } - 55 => { - // term = "abs", "(", expr, ")" => ActionFn(31); + 57 => { + // term = "abs", "(", expr, ")" => ActionFn(30); 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::__action31::<>(input, __sym0, __sym1, __sym2, __sym3); + let __nt = super::__action30::<>(input, __sym0, __sym1, __sym2, __sym3); let __states_len = __states.len(); __states.truncate(__states_len - 4); __symbols.push((__start, __Symbol::Ntterm(__nt), __end)); 23 } - 56 => { - // term = "(", expr, ")" => ActionFn(32); + 58 => { + // term = "(", expr, ")" => ActionFn(31); 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::__action32::<>(input, __sym0, __sym1, __sym2); + let __nt = super::__action31::<>(input, __sym0, __sym1, __sym2); let __states_len = __states.len(); __states.truncate(__states_len - 3); __symbols.push((__start, __Symbol::Ntterm(__nt), __end)); @@ -20213,43 +15034,43 @@ mod __parse__model { _ => panic!("symbol type mismatch") } } - fn __pop_Nt____file< + fn __pop_Nt____float< 'input, >( __symbols: &mut ::std::vec::Vec<(usize,__Symbol<'input>,usize)> - ) -> (usize, (), usize) { + ) -> (usize, f64, usize) { match __symbols.pop().unwrap() { - (__l, __Symbol::Nt____file(__v), __r) => (__l, __v, __r), + (__l, __Symbol::Nt____float(__v), __r) => (__l, __v, __r), _ => panic!("symbol type mismatch") } } - fn __pop_Nt____integer< + fn __pop_Nt____identifier< 'input, >( __symbols: &mut ::std::vec::Vec<(usize,__Symbol<'input>,usize)> - ) -> (usize, (), usize) { + ) -> (usize, String, usize) { match __symbols.pop().unwrap() { - (__l, __Symbol::Nt____integer(__v), __r) => (__l, __v, __r), + (__l, __Symbol::Nt____identifier(__v), __r) => (__l, __v, __r), _ => panic!("symbol type mismatch") } } - fn __pop_Nt____model< + fn __pop_Nt____integer< 'input, >( __symbols: &mut ::std::vec::Vec<(usize,__Symbol<'input>,usize)> - ) -> (usize, (), usize) { + ) -> (usize, i64, usize) { match __symbols.pop().unwrap() { - (__l, __Symbol::Nt____model(__v), __r) => (__l, __v, __r), + (__l, __Symbol::Nt____integer(__v), __r) => (__l, __v, __r), _ => panic!("symbol type mismatch") } } - fn __pop_Ntbinary__op< + fn __pop_Nt____model< 'input, >( __symbols: &mut ::std::vec::Vec<(usize,__Symbol<'input>,usize)> - ) -> (usize, (), usize) { + ) -> (usize, Model, usize) { match __symbols.pop().unwrap() { - (__l, __Symbol::Ntbinary__op(__v), __r) => (__l, __v, __r), + (__l, __Symbol::Nt____model(__v), __r) => (__l, __v, __r), _ => panic!("symbol type mismatch") } } @@ -20257,7 +15078,7 @@ mod __parse__model { 'input, >( __symbols: &mut ::std::vec::Vec<(usize,__Symbol<'input>,usize)> - ) -> (usize, (), usize) { + ) -> (usize, Component, usize) { match __symbols.pop().unwrap() { (__l, __Symbol::Ntcomponent__declaration(__v), __r) => (__l, __v, __r), _ => panic!("symbol type mismatch") @@ -20267,7 +15088,7 @@ mod __parse__model { 'input, >( __symbols: &mut ::std::vec::Vec<(usize,__Symbol<'input>,usize)> - ) -> (usize, ::std::vec::Vec<()>, 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") @@ -20277,7 +15098,7 @@ mod __parse__model { 'input, >( __symbols: &mut ::std::vec::Vec<(usize,__Symbol<'input>,usize)> - ) -> (usize, ::std::vec::Vec<()>, 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") @@ -20287,7 +15108,7 @@ mod __parse__model { 'input, >( __symbols: &mut ::std::vec::Vec<(usize,__Symbol<'input>,usize)> - ) -> (usize, (), usize) { + ) -> (usize, ComponentPrefix, usize) { match __symbols.pop().unwrap() { (__l, __Symbol::Ntcomponent__prefix(__v), __r) => (__l, __v, __r), _ => panic!("symbol type mismatch") @@ -20297,7 +15118,7 @@ mod __parse__model { 'input, >( __symbols: &mut ::std::vec::Vec<(usize,__Symbol<'input>,usize)> - ) -> (usize, ::std::option::Option<()>, 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") @@ -20307,39 +15128,29 @@ mod __parse__model { 'input, >( __symbols: &mut ::std::vec::Vec<(usize,__Symbol<'input>,usize)> - ) -> (usize, (), usize) { + ) -> (usize, Connection, usize) { match __symbols.pop().unwrap() { (__l, __Symbol::Ntconnect__clause(__v), __r) => (__l, __v, __r), _ => panic!("symbol type mismatch") } } - fn __pop_Ntequation__entry< - 'input, - >( - __symbols: &mut ::std::vec::Vec<(usize,__Symbol<'input>,usize)> - ) -> (usize, (), usize) { - match __symbols.pop().unwrap() { - (__l, __Symbol::Ntequation__entry(__v), __r) => (__l, __v, __r), - _ => panic!("symbol type mismatch") - } - } - fn __pop_Ntequation__entry_2a< + fn __pop_Ntconnect__clause_2a< 'input, >( __symbols: &mut ::std::vec::Vec<(usize,__Symbol<'input>,usize)> - ) -> (usize, ::std::vec::Vec<()>, usize) { + ) -> (usize, ::std::vec::Vec<Connection>, usize) { match __symbols.pop().unwrap() { - (__l, __Symbol::Ntequation__entry_2a(__v), __r) => (__l, __v, __r), + (__l, __Symbol::Ntconnect__clause_2a(__v), __r) => (__l, __v, __r), _ => panic!("symbol type mismatch") } } - fn __pop_Ntequation__entry_2b< + fn __pop_Ntconnect__clause_2b< 'input, >( __symbols: &mut ::std::vec::Vec<(usize,__Symbol<'input>,usize)> - ) -> (usize, ::std::vec::Vec<()>, usize) { + ) -> (usize, ::std::vec::Vec<Connection>, usize) { match __symbols.pop().unwrap() { - (__l, __Symbol::Ntequation__entry_2b(__v), __r) => (__l, __v, __r), + (__l, __Symbol::Ntconnect__clause_2b(__v), __r) => (__l, __v, __r), _ => panic!("symbol type mismatch") } } @@ -20347,7 +15158,7 @@ mod __parse__model { 'input, >( __symbols: &mut ::std::vec::Vec<(usize,__Symbol<'input>,usize)> - ) -> (usize, (), usize) { + ) -> (usize, Expr, usize) { match __symbols.pop().unwrap() { (__l, __Symbol::Ntexpr(__v), __r) => (__l, __v, __r), _ => panic!("symbol type mismatch") @@ -20357,27 +15168,17 @@ mod __parse__model { 'input, >( __symbols: &mut ::std::vec::Vec<(usize,__Symbol<'input>,usize)> - ) -> (usize, (), usize) { + ) -> (usize, Expr, usize) { match __symbols.pop().unwrap() { (__l, __Symbol::Ntfactor(__v), __r) => (__l, __v, __r), _ => panic!("symbol type mismatch") } } - fn __pop_Ntfile< - 'input, - >( - __symbols: &mut ::std::vec::Vec<(usize,__Symbol<'input>,usize)> - ) -> (usize, (), usize) { - match __symbols.pop().unwrap() { - (__l, __Symbol::Ntfile(__v), __r) => (__l, __v, __r), - _ => panic!("symbol type mismatch") - } - } fn __pop_Ntfloat< 'input, >( __symbols: &mut ::std::vec::Vec<(usize,__Symbol<'input>,usize)> - ) -> (usize, (), usize) { + ) -> (usize, f64, usize) { match __symbols.pop().unwrap() { (__l, __Symbol::Ntfloat(__v), __r) => (__l, __v, __r), _ => panic!("symbol type mismatch") @@ -20387,7 +15188,7 @@ mod __parse__model { 'input, >( __symbols: &mut ::std::vec::Vec<(usize,__Symbol<'input>,usize)> - ) -> (usize, (), usize) { + ) -> (usize, String, usize) { match __symbols.pop().unwrap() { (__l, __Symbol::Ntidentifier(__v), __r) => (__l, __v, __r), _ => panic!("symbol type mismatch") @@ -20397,7 +15198,7 @@ mod __parse__model { 'input, >( __symbols: &mut ::std::vec::Vec<(usize,__Symbol<'input>,usize)> - ) -> (usize, (), usize) { + ) -> (usize, i64, usize) { match __symbols.pop().unwrap() { (__l, __Symbol::Ntinteger(__v), __r) => (__l, __v, __r), _ => panic!("symbol type mismatch") @@ -20407,7 +15208,7 @@ mod __parse__model { 'input, >( __symbols: &mut ::std::vec::Vec<(usize,__Symbol<'input>,usize)> - ) -> (usize, (), usize) { + ) -> (usize, Model, usize) { match __symbols.pop().unwrap() { (__l, __Symbol::Ntmodel(__v), __r) => (__l, __v, __r), _ => panic!("symbol type mismatch") @@ -20417,17 +15218,37 @@ mod __parse__model { 'input, >( __symbols: &mut ::std::vec::Vec<(usize,__Symbol<'input>,usize)> - ) -> (usize, (), 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, (), usize) { + ) -> (usize, String, usize) { match __symbols.pop().unwrap() { (__l, __Symbol::Ntstring__literal(__v), __r) => (__l, __v, __r), _ => panic!("symbol type mismatch") @@ -20437,7 +15258,7 @@ mod __parse__model { 'input, >( __symbols: &mut ::std::vec::Vec<(usize,__Symbol<'input>,usize)> - ) -> (usize, ::std::option::Option<()>, 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") @@ -20447,7 +15268,7 @@ mod __parse__model { 'input, >( __symbols: &mut ::std::vec::Vec<(usize,__Symbol<'input>,usize)> - ) -> (usize, (), usize) { + ) -> (usize, Expr, usize) { match __symbols.pop().unwrap() { (__l, __Symbol::Ntterm(__v), __r) => (__l, __v, __r), _ => panic!("symbol type mismatch") @@ -25491,10 +20312,10 @@ pub fn __action0< 'input, >( input: &'input str, - (_, __0, _): (usize, (), usize), -) -> () + (_, __0, _): (usize, String, usize), +) -> String { - () + (__0) } #[allow(unused_variables)] @@ -25502,10 +20323,10 @@ pub fn __action1< 'input, >( input: &'input str, - (_, __0, _): (usize, (), usize), -) -> () + (_, __0, _): (usize, i64, usize), +) -> i64 { - () + (__0) } #[allow(unused_variables)] @@ -25513,10 +20334,10 @@ pub fn __action2< 'input, >( input: &'input str, - (_, __0, _): (usize, (), usize), -) -> () + (_, __0, _): (usize, f64, usize), +) -> f64 { - () + (__0) } #[allow(unused_variables)] @@ -25524,10 +20345,10 @@ pub fn __action3< 'input, >( input: &'input str, - (_, __0, _): (usize, &'input str, usize), -) -> () + (_, __0, _): (usize, Model, usize), +) -> Model { - () + (__0) } #[allow(unused_variables)] @@ -25536,9 +20357,9 @@ pub fn __action4< >( input: &'input str, (_, __0, _): (usize, &'input str, usize), -) -> () +) -> String { - () + __0.to_string() } #[allow(unused_variables)] @@ -25547,9 +20368,9 @@ pub fn __action5< >( input: &'input str, (_, __0, _): (usize, &'input str, usize), -) -> () +) -> String { - () + __0.to_string() } #[allow(unused_variables)] @@ -25558,9 +20379,9 @@ pub fn __action6< >( input: &'input str, (_, __0, _): (usize, &'input str, usize), -) -> () +) -> i64 { - () + i64::from_str(__0).unwrap() } #[allow(unused_variables)] @@ -25569,16 +20390,9 @@ pub fn __action7< >( input: &'input str, (_, __0, _): (usize, &'input str, usize), - (_, __1, _): (usize, (), usize), - (_, __2, _): (usize, ::std::vec::Vec<()>, usize), - (_, __3, _): (usize, &'input str, usize), - (_, __4, _): (usize, ::std::vec::Vec<()>, usize), - (_, __5, _): (usize, &'input str, usize), - (_, __6, _): (usize, (), usize), - (_, __7, _): (usize, &'input str, usize), -) -> () +) -> f64 { - () + f64::from_str(__0).unwrap() } #[allow(unused_variables)] @@ -25586,10 +20400,18 @@ pub fn __action8< 'input, >( input: &'input str, - (_, __0, _): (usize, (), usize), -) -> () + (_, _, _): (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), +) -> Model { - () + Model { name:n, components: cd, connections: cc, equations: se, extends: vec![] } } #[allow(unused_variables)] @@ -25597,10 +20419,14 @@ pub fn __action9< 'input, >( input: &'input str, - (_, __0, _): (usize, (), usize), -) -> () + (_, prefix, _): (usize, ::std::option::Option<ComponentPrefix>, usize), + (_, specifier, _): (usize, String, usize), + (_, name, _): (usize, String, usize), + (_, _, _): (usize, ::std::option::Option<String>, usize), + (_, _, _): (usize, &'input str, usize), +) -> Component { - () + Component { prefix:prefix, specifier:specifier, name:name} } #[allow(unused_variables)] @@ -25608,14 +20434,10 @@ pub fn __action10< 'input, >( input: &'input str, - (_, __0, _): (usize, ::std::option::Option<()>, usize), - (_, __1, _): (usize, (), usize), - (_, __2, _): (usize, (), usize), - (_, __3, _): (usize, ::std::option::Option<()>, usize), - (_, __4, _): (usize, &'input str, usize), -) -> () + (_, __0, _): (usize, &'input str, usize), +) -> ComponentPrefix { - () + ComponentPrefix::Flow } #[allow(unused_variables)] @@ -25624,9 +20446,9 @@ pub fn __action11< >( input: &'input str, (_, __0, _): (usize, &'input str, usize), -) -> () +) -> ComponentPrefix { - () + ComponentPrefix::Stream } #[allow(unused_variables)] @@ -25635,9 +20457,9 @@ pub fn __action12< >( input: &'input str, (_, __0, _): (usize, &'input str, usize), -) -> () +) -> ComponentPrefix { - () + ComponentPrefix::Input } #[allow(unused_variables)] @@ -25646,9 +20468,9 @@ pub fn __action13< >( input: &'input str, (_, __0, _): (usize, &'input str, usize), -) -> () +) -> ComponentPrefix { - () + ComponentPrefix::Output } #[allow(unused_variables)] @@ -25657,9 +20479,9 @@ pub fn __action14< >( input: &'input str, (_, __0, _): (usize, &'input str, usize), -) -> () +) -> ComponentPrefix { - () + ComponentPrefix::Discrete } #[allow(unused_variables)] @@ -25668,9 +20490,9 @@ pub fn __action15< >( input: &'input str, (_, __0, _): (usize, &'input str, usize), -) -> () +) -> ComponentPrefix { - () + ComponentPrefix::Parameter } #[allow(unused_variables)] @@ -25679,9 +20501,9 @@ pub fn __action16< >( input: &'input str, (_, __0, _): (usize, &'input str, usize), -) -> () +) -> ComponentPrefix { - () + ComponentPrefix::Constant } #[allow(unused_variables)] @@ -25689,10 +20511,13 @@ pub fn __action17< 'input, >( input: &'input str, - (_, __0, _): (usize, &'input str, usize), -) -> () + (_, 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)] @@ -25700,13 +20525,16 @@ pub fn __action18< 'input, >( input: &'input str, - (_, __0, _): (usize, (), usize), - (_, __1, _): (usize, &'input str, usize), - (_, __2, _): (usize, (), usize), - (_, __3, _): (usize, &'input str, usize), -) -> () + (_, _, _): (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)] @@ -25714,16 +20542,12 @@ pub fn __action19< 'input, >( input: &'input str, - (_, __0, _): (usize, &'input str, usize), - (_, __1, _): (usize, &'input str, usize), - (_, __2, _): (usize, (), usize), - (_, __3, _): (usize, &'input str, usize), - (_, __4, _): (usize, (), usize), - (_, __5, _): (usize, &'input str, usize), - (_, __6, _): (usize, &'input str, usize), -) -> () + (_, 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)] @@ -25731,12 +20555,12 @@ pub fn __action20< 'input, >( input: &'input str, - (_, __0, _): (usize, (), usize), - (_, __1, _): (usize, &'input str, usize), - (_, __2, _): (usize, (), usize), -) -> () + (_, 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)] @@ -25744,12 +20568,10 @@ pub fn __action21< 'input, >( input: &'input str, - (_, __0, _): (usize, (), usize), - (_, __1, _): (usize, &'input str, usize), - (_, __2, _): (usize, (), usize), -) -> () + (_, __0, _): (usize, Expr, usize), +) -> Expr { - () + (__0) } #[allow(unused_variables)] @@ -25757,10 +20579,12 @@ pub fn __action22< 'input, >( input: &'input str, - (_, __0, _): (usize, (), usize), -) -> () + (_, 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)] @@ -25768,12 +20592,12 @@ pub fn __action23< 'input, >( input: &'input str, - (_, __0, _): (usize, (), usize), - (_, __1, _): (usize, &'input str, usize), - (_, __2, _): (usize, (), usize), -) -> () + (_, 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)] @@ -25781,12 +20605,11 @@ pub fn __action24< 'input, >( input: &'input str, - (_, __0, _): (usize, (), usize), - (_, __1, _): (usize, &'input str, usize), - (_, __2, _): (usize, (), usize), -) -> () + (_, _, _): (usize, &'input str, usize), + (_, t, _): (usize, Expr, usize), +) -> Expr { - () + Expr::BinExpr(BinOperator::Multiply, Box::new(Expr::Integer(-1)), Box::new(t)) } #[allow(unused_variables)] @@ -25794,11 +20617,10 @@ pub fn __action25< 'input, >( input: &'input str, - (_, __0, _): (usize, &'input str, usize), - (_, __1, _): (usize, (), usize), -) -> () + (_, __0, _): (usize, Expr, usize), +) -> Expr { - () + (__0) } #[allow(unused_variables)] @@ -25806,10 +20628,10 @@ pub fn __action26< 'input, >( input: &'input str, - (_, __0, _): (usize, (), usize), -) -> () + (_, __0, _): (usize, i64, usize), +) -> Expr { - () + Expr::Integer(__0) } #[allow(unused_variables)] @@ -25817,10 +20639,10 @@ pub fn __action27< 'input, >( input: &'input str, - (_, __0, _): (usize, (), usize), -) -> () + (_, __0, _): (usize, f64, usize), +) -> Expr { - () + Expr::Float(__0) } #[allow(unused_variables)] @@ -25828,10 +20650,10 @@ pub fn __action28< 'input, >( input: &'input str, - (_, __0, _): (usize, (), usize), -) -> () + (_, __0, _): (usize, String, usize), +) -> Expr { - () + Expr::Ident(__0) } #[allow(unused_variables)] @@ -25839,10 +20661,13 @@ pub fn __action29< 'input, >( input: &'input str, - (_, __0, _): (usize, (), usize), -) -> () + (_, _, _): (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)] @@ -25850,13 +20675,13 @@ pub fn __action30< 'input, >( input: &'input str, - (_, __0, _): (usize, &'input str, usize), - (_, __1, _): (usize, &'input str, usize), - (_, __2, _): (usize, (), usize), - (_, __3, _): (usize, &'input str, usize), -) -> () + (_, _, _): (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)] @@ -25864,13 +20689,12 @@ pub fn __action31< 'input, >( input: &'input str, - (_, __0, _): (usize, &'input str, usize), - (_, __1, _): (usize, &'input str, usize), - (_, __2, _): (usize, (), usize), - (_, __3, _): (usize, &'input str, usize), -) -> () + (_, _, _): (usize, &'input str, usize), + (_, e, _): (usize, Expr, usize), + (_, _, _): (usize, &'input str, usize), +) -> Expr { - () + e } #[allow(unused_variables)] @@ -25878,12 +20702,10 @@ pub fn __action32< 'input, >( input: &'input str, - (_, __0, _): (usize, &'input str, usize), - (_, __1, _): (usize, (), usize), - (_, __2, _): (usize, &'input str, usize), -) -> () + (_, __0, _): (usize, String, usize), +) -> ::std::option::Option<String> { - () + Some(__0) } #[allow(unused_variables)] @@ -25891,10 +20713,11 @@ pub fn __action33< 'input, >( input: &'input str, - (_, __0, _): (usize, &'input str, usize), -) -> () + __lookbehind: &usize, + __lookahead: &usize, +) -> ::std::option::Option<String> { - () + None } #[allow(unused_variables)] @@ -25902,10 +20725,10 @@ pub fn __action34< 'input, >( input: &'input str, - (_, __0, _): (usize, &'input str, usize), -) -> () + (_, __0, _): (usize, ComponentPrefix, usize), +) -> ::std::option::Option<ComponentPrefix> { - () + Some(__0) } #[allow(unused_variables)] @@ -25913,10 +20736,11 @@ pub fn __action35< 'input, >( input: &'input str, - (_, __0, _): (usize, &'input str, usize), -) -> () + __lookbehind: &usize, + __lookahead: &usize, +) -> ::std::option::Option<ComponentPrefix> { - () + None } #[allow(unused_variables)] @@ -25924,10 +20748,11 @@ pub fn __action36< 'input, >( input: &'input str, - (_, __0, _): (usize, &'input str, usize), -) -> () + __lookbehind: &usize, + __lookahead: &usize, +) -> ::std::vec::Vec<SimpleEquation> { - () + vec![] } #[allow(unused_variables)] @@ -25935,10 +20760,10 @@ pub fn __action37< 'input, >( input: &'input str, - (_, __0, _): (usize, (), usize), -) -> () + (_, v, _): (usize, ::std::vec::Vec<SimpleEquation>, usize), +) -> ::std::vec::Vec<SimpleEquation> { - () + v } #[allow(unused_variables)] @@ -25946,10 +20771,11 @@ pub fn __action38< 'input, >( input: &'input str, - (_, __0, _): (usize, (), usize), -) -> ::std::option::Option<()> + __lookbehind: &usize, + __lookahead: &usize, +) -> ::std::vec::Vec<Connection> { - Some(__0) + vec![] } #[allow(unused_variables)] @@ -25957,11 +20783,10 @@ pub fn __action39< 'input, >( input: &'input str, - __lookbehind: &usize, - __lookahead: &usize, -) -> ::std::option::Option<()> + (_, v, _): (usize, ::std::vec::Vec<Connection>, usize), +) -> ::std::vec::Vec<Connection> { - None + v } #[allow(unused_variables)] @@ -25969,10 +20794,11 @@ pub fn __action40< 'input, >( input: &'input str, - (_, __0, _): (usize, (), usize), -) -> ::std::option::Option<()> + __lookbehind: &usize, + __lookahead: &usize, +) -> ::std::vec::Vec<Component> { - Some(__0) + vec![] } #[allow(unused_variables)] @@ -25980,11 +20806,10 @@ pub fn __action41< 'input, >( input: &'input str, - __lookbehind: &usize, - __lookahead: &usize, -) -> ::std::option::Option<()> + (_, v, _): (usize, ::std::vec::Vec<Component>, usize), +) -> ::std::vec::Vec<Component> { - None + v } #[allow(unused_variables)] @@ -25992,11 +20817,10 @@ pub fn __action42< 'input, >( input: &'input str, - __lookbehind: &usize, - __lookahead: &usize, -) -> ::std::vec::Vec<()> + (_, __0, _): (usize, Component, usize), +) -> ::std::vec::Vec<Component> { - vec![] + vec![__0] } #[allow(unused_variables)] @@ -26004,10 +20828,11 @@ pub fn __action43< 'input, >( input: &'input str, - (_, v, _): (usize, ::std::vec::Vec<()>, usize), -) -> ::std::vec::Vec<()> + (_, v, _): (usize, ::std::vec::Vec<Component>, usize), + (_, e, _): (usize, Component, usize), +) -> ::std::vec::Vec<Component> { - v + { let mut v = v; v.push(e); v } } #[allow(unused_variables)] @@ -26015,11 +20840,10 @@ pub fn __action44< 'input, >( input: &'input str, - __lookbehind: &usize, - __lookahead: &usize, -) -> ::std::vec::Vec<()> + (_, __0, _): (usize, Connection, usize), +) -> ::std::vec::Vec<Connection> { - vec![] + vec![__0] } #[allow(unused_variables)] @@ -26027,10 +20851,11 @@ pub fn __action45< 'input, >( input: &'input str, - (_, v, _): (usize, ::std::vec::Vec<()>, usize), -) -> ::std::vec::Vec<()> + (_, v, _): (usize, ::std::vec::Vec<Connection>, usize), + (_, e, _): (usize, Connection, usize), +) -> ::std::vec::Vec<Connection> { - v + { let mut v = v; v.push(e); v } } #[allow(unused_variables)] @@ -26038,8 +20863,8 @@ pub fn __action46< 'input, >( input: &'input str, - (_, __0, _): (usize, (), usize), -) -> ::std::vec::Vec<()> + (_, __0, _): (usize, SimpleEquation, usize), +) -> ::std::vec::Vec<SimpleEquation> { vec![__0] } @@ -26049,9 +20874,9 @@ pub fn __action47< 'input, >( input: &'input str, - (_, v, _): (usize, ::std::vec::Vec<()>, usize), - (_, e, _): (usize, (), usize), -) -> ::std::vec::Vec<()> + (_, v, _): (usize, ::std::vec::Vec<SimpleEquation>, usize), + (_, e, _): (usize, SimpleEquation, usize), +) -> ::std::vec::Vec<SimpleEquation> { { let mut v = v; v.push(e); v } } @@ -26061,10 +20886,36 @@ pub fn __action48< 'input, >( input: &'input str, - (_, __0, _): (usize, (), usize), -) -> ::std::vec::Vec<()> + __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), +) -> Model { - vec![__0] + let __start0 = __1.2.clone(); + let __end0 = __2.0.clone(); + let __temp0 = __action40( + input, + &__start0, + &__end0, + ); + let __temp0 = (__start0, __temp0, __end0); + __action8( + input, + __0, + __1, + __temp0, + __2, + __3, + __4, + __5, + __6, + __7, + ) } #[allow(unused_variables)] @@ -26072,11 +20923,36 @@ pub fn __action49< 'input, >( input: &'input str, - (_, v, _): (usize, ::std::vec::Vec<()>, usize), - (_, e, _): (usize, (), usize), -) -> ::std::vec::Vec<()> + __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), +) -> Model { - { let mut v = v; v.push(e); v } + let __start0 = __2.0.clone(); + let __end0 = __2.2.clone(); + let __temp0 = __action41( + input, + __2, + ); + let __temp0 = (__start0, __temp0, __end0); + __action8( + input, + __0, + __1, + __temp0, + __3, + __4, + __5, + __6, + __7, + __8, + ) } #[allow(unused_variables)] @@ -26084,29 +20960,87 @@ pub fn __action50< '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, &'input str, usize), +) -> Component +{ + let __start0 = __0.0.clone(); + let __end0 = __0.2.clone(); + let __temp0 = __action34( + input, + __0, + ); + let __temp0 = (__start0, __temp0, __end0); + __action9( + input, + __temp0, + __1, + __2, + __3, + __4, + ) +} + +#[allow(unused_variables)] +pub fn __action51< + 'input, +>( + input: &'input str, + __0: (usize, String, usize), + __1: (usize, String, usize), + __2: (usize, ::std::option::Option<String>, usize), + __3: (usize, &'input str, usize), +) -> Component +{ + let __start0 = __0.0.clone(); + let __end0 = __0.0.clone(); + let __temp0 = __action35( + input, + &__start0, + &__end0, + ); + let __temp0 = (__start0, __temp0, __end0); + __action9( + input, + __temp0, + __0, + __1, + __2, + __3, + ) +} + +#[allow(unused_variables)] +pub fn __action52< + 'input, +>( + input: &'input str, __0: (usize, &'input str, usize), - __1: (usize, (), usize), + __1: (usize, String, usize), __2: (usize, &'input str, usize), - __3: (usize, ::std::vec::Vec<()>, usize), + __3: (usize, ::std::vec::Vec<SimpleEquation>, usize), __4: (usize, &'input str, usize), - __5: (usize, (), usize), + __5: (usize, String, usize), __6: (usize, &'input str, usize), -) -> () +) -> Model { - let __start0 = __1.2.clone(); - let __end0 = __2.0.clone(); - let __temp0 = __action44( + let __start0 = __2.2.clone(); + let __end0 = __3.0.clone(); + let __temp0 = __action38( input, &__start0, &__end0, ); let __temp0 = (__start0, __temp0, __end0); - __action7( + __action48( input, __0, __1, - __temp0, __2, + __temp0, __3, __4, __5, @@ -26115,33 +21049,33 @@ pub fn __action50< } #[allow(unused_variables)] -pub fn __action51< +pub fn __action53< 'input, >( input: &'input str, __0: (usize, &'input str, usize), - __1: (usize, (), usize), - __2: (usize, ::std::vec::Vec<()>, usize), - __3: (usize, &'input str, usize), - __4: (usize, ::std::vec::Vec<()>, 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, (), usize), + __6: (usize, String, usize), __7: (usize, &'input str, usize), -) -> () +) -> Model { - let __start0 = __2.0.clone(); - let __end0 = __2.2.clone(); - let __temp0 = __action45( + let __start0 = __3.0.clone(); + let __end0 = __3.2.clone(); + let __temp0 = __action39( input, - __2, + __3, ); let __temp0 = (__start0, __temp0, __end0); - __action7( + __action48( input, __0, __1, + __2, __temp0, - __3, __4, __5, __6, @@ -26150,85 +21084,101 @@ pub fn __action51< } #[allow(unused_variables)] -pub fn __action52< +pub fn __action54< 'input, >( input: &'input str, - __0: (usize, (), usize), - __1: (usize, (), usize), - __2: (usize, (), usize), - __3: (usize, ::std::option::Option<()>, usize), - __4: (usize, &'input str, usize), -) -> () + __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), +) -> Model { - let __start0 = __0.0.clone(); - let __end0 = __0.2.clone(); - let __temp0 = __action40( + let __start0 = __3.2.clone(); + let __end0 = __4.0.clone(); + let __temp0 = __action38( input, - __0, + &__start0, + &__end0, ); let __temp0 = (__start0, __temp0, __end0); - __action10( + __action49( input, - __temp0, + __0, __1, __2, __3, + __temp0, __4, + __5, + __6, + __7, ) } #[allow(unused_variables)] -pub fn __action53< +pub fn __action55< 'input, >( input: &'input str, - __0: (usize, (), usize), - __1: (usize, (), usize), - __2: (usize, ::std::option::Option<()>, usize), + __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), +) -> Model { - let __start0 = __0.0.clone(); - let __end0 = __0.0.clone(); - let __temp0 = __action41( + let __start0 = __4.0.clone(); + let __end0 = __4.2.clone(); + let __temp0 = __action39( input, - &__start0, - &__end0, + __4, ); let __temp0 = (__start0, __temp0, __end0); - __action10( + __action49( input, - __temp0, __0, __1, __2, __3, + __temp0, + __5, + __6, + __7, + __8, ) } #[allow(unused_variables)] -pub fn __action54< +pub fn __action56< 'input, >( input: &'input str, __0: (usize, &'input str, usize), - __1: (usize, (), usize), + __1: (usize, String, usize), __2: (usize, &'input str, usize), __3: (usize, &'input str, usize), - __4: (usize, (), usize), + __4: (usize, String, usize), __5: (usize, &'input str, usize), -) -> () +) -> Model { let __start0 = __2.2.clone(); let __end0 = __3.0.clone(); - let __temp0 = __action42( + let __temp0 = __action36( input, &__start0, &__end0, ); let __temp0 = (__start0, __temp0, __end0); - __action50( + __action52( input, __0, __1, @@ -26241,27 +21191,27 @@ pub fn __action54< } #[allow(unused_variables)] -pub fn __action55< +pub fn __action57< 'input, >( input: &'input str, __0: (usize, &'input str, usize), - __1: (usize, (), usize), + __1: (usize, String, usize), __2: (usize, &'input str, usize), - __3: (usize, ::std::vec::Vec<()>, usize), + __3: (usize, ::std::vec::Vec<SimpleEquation>, usize), __4: (usize, &'input str, usize), - __5: (usize, (), usize), + __5: (usize, String, usize), __6: (usize, &'input str, usize), -) -> () +) -> Model { let __start0 = __3.0.clone(); let __end0 = __3.2.clone(); - let __temp0 = __action43( + let __temp0 = __action37( input, __3, ); let __temp0 = (__start0, __temp0, __end0); - __action50( + __action52( input, __0, __1, @@ -26274,28 +21224,98 @@ pub fn __action55< } #[allow(unused_variables)] -pub fn __action56< +pub fn __action58< + '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), +) -> Model +{ + let __start0 = __3.2.clone(); + let __end0 = __4.0.clone(); + let __temp0 = __action36( + input, + &__start0, + &__end0, + ); + let __temp0 = (__start0, __temp0, __end0); + __action53( + input, + __0, + __1, + __2, + __3, + __temp0, + __4, + __5, + __6, + ) +} + +#[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<Connection>, usize), + __4: (usize, ::std::vec::Vec<SimpleEquation>, usize), + __5: (usize, &'input str, usize), + __6: (usize, String, usize), + __7: (usize, &'input str, usize), +) -> Model +{ + let __start0 = __4.0.clone(); + let __end0 = __4.2.clone(); + let __temp0 = __action37( + input, + __4, + ); + let __temp0 = (__start0, __temp0, __end0); + __action53( + input, + __0, + __1, + __2, + __3, + __temp0, + __5, + __6, + __7, + ) +} + +#[allow(unused_variables)] +pub fn __action60< 'input, >( input: &'input str, __0: (usize, &'input str, usize), - __1: (usize, (), usize), - __2: (usize, ::std::vec::Vec<()>, usize), + __1: (usize, String, usize), + __2: (usize, ::std::vec::Vec<Component>, usize), __3: (usize, &'input str, usize), __4: (usize, &'input str, usize), - __5: (usize, (), usize), + __5: (usize, String, usize), __6: (usize, &'input str, usize), -) -> () +) -> Model { let __start0 = __3.2.clone(); let __end0 = __4.0.clone(); - let __temp0 = __action42( + let __temp0 = __action36( input, &__start0, &__end0, ); let __temp0 = (__start0, __temp0, __end0); - __action51( + __action54( input, __0, __1, @@ -26309,28 +21329,28 @@ pub fn __action56< } #[allow(unused_variables)] -pub fn __action57< +pub fn __action61< 'input, >( input: &'input str, __0: (usize, &'input str, usize), - __1: (usize, (), usize), - __2: (usize, ::std::vec::Vec<()>, usize), + __1: (usize, String, usize), + __2: (usize, ::std::vec::Vec<Component>, usize), __3: (usize, &'input str, usize), - __4: (usize, ::std::vec::Vec<()>, usize), + __4: (usize, ::std::vec::Vec<SimpleEquation>, usize), __5: (usize, &'input str, usize), - __6: (usize, (), usize), + __6: (usize, String, usize), __7: (usize, &'input str, usize), -) -> () +) -> Model { let __start0 = __4.0.clone(); let __end0 = __4.2.clone(); - let __temp0 = __action43( + let __temp0 = __action37( input, __4, ); let __temp0 = (__start0, __temp0, __end0); - __action51( + __action54( input, __0, __1, @@ -26344,25 +21364,99 @@ pub fn __action57< } #[allow(unused_variables)] -pub fn __action58< +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, &'input str, usize), + __6: (usize, String, usize), + __7: (usize, &'input str, usize), +) -> Model +{ + let __start0 = __4.2.clone(); + let __end0 = __5.0.clone(); + let __temp0 = __action36( + input, + &__start0, + &__end0, + ); + let __temp0 = (__start0, __temp0, __end0); + __action55( + input, + __0, + __1, + __2, + __3, + __4, + __temp0, + __5, + __6, + __7, + ) +} + +#[allow(unused_variables)] +pub fn __action63< 'input, >( input: &'input str, - __0: (usize, (), usize), - __1: (usize, (), usize), - __2: (usize, (), usize), - __3: (usize, (), usize), + __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), +) -> Model +{ + let __start0 = __5.0.clone(); + let __end0 = __5.2.clone(); + let __temp0 = __action37( + input, + __5, + ); + let __temp0 = (__start0, __temp0, __end0); + __action55( + input, + __0, + __1, + __2, + __3, + __4, + __temp0, + __6, + __7, + __8, + ) +} + +#[allow(unused_variables)] +pub fn __action64< + '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.0.clone(); let __end0 = __3.2.clone(); - let __temp0 = __action38( + let __temp0 = __action32( input, __3, ); let __temp0 = (__start0, __temp0, __end0); - __action52( + __action50( input, __0, __1, @@ -26373,25 +21467,25 @@ pub fn __action58< } #[allow(unused_variables)] -pub fn __action59< +pub fn __action65< 'input, >( input: &'input str, - __0: (usize, (), usize), - __1: (usize, (), usize), - __2: (usize, (), usize), + __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 = __action39( + let __temp0 = __action33( input, &__start0, &__end0, ); let __temp0 = (__start0, __temp0, __end0); - __action52( + __action50( input, __0, __1, @@ -26402,24 +21496,24 @@ pub fn __action59< } #[allow(unused_variables)] -pub fn __action60< +pub fn __action66< 'input, >( input: &'input str, - __0: (usize, (), usize), - __1: (usize, (), usize), - __2: (usize, (), usize), + __0: (usize, String, usize), + __1: (usize, String, usize), + __2: (usize, String, usize), __3: (usize, &'input str, usize), -) -> () +) -> Component { let __start0 = __2.0.clone(); let __end0 = __2.2.clone(); - let __temp0 = __action38( + let __temp0 = __action32( input, __2, ); let __temp0 = (__start0, __temp0, __end0); - __action53( + __action51( input, __0, __1, @@ -26429,24 +21523,24 @@ pub fn __action60< } #[allow(unused_variables)] -pub fn __action61< +pub fn __action67< 'input, >( input: &'input str, - __0: (usize, (), usize), - __1: (usize, (), usize), + __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 = __action39( + let __temp0 = __action33( input, &__start0, &__end0, ); let __temp0 = (__start0, __temp0, __end0); - __action53( + __action51( input, __0, __1, |