diff options
Diffstat (limited to 'src')
-rw-r--r-- | src/modelica_ast.rs | 3 | ||||
-rw-r--r-- | src/modelica_parser.lalrpop | 14 | ||||
-rw-r--r-- | src/modelica_parser.rs | 12060 |
3 files changed, 8129 insertions, 3948 deletions
diff --git a/src/modelica_ast.rs b/src/modelica_ast.rs index 9e25b1b..cbb82ea 100644 --- a/src/modelica_ast.rs +++ b/src/modelica_ast.rs @@ -28,6 +28,9 @@ pub struct Component { pub prefix: Option<ComponentPrefix>, pub specifier: String, pub name: String, + pub value: Option<Expr>, + pub units: Option<String>, + pub description: Option<String>, } #[derive(Clone, PartialEq)] diff --git a/src/modelica_parser.lalrpop b/src/modelica_parser.lalrpop index 1b7861b..6a1ceaf 100644 --- a/src/modelica_parser.lalrpop +++ b/src/modelica_parser.lalrpop @@ -33,11 +33,17 @@ pub model: ModelicaModel = { ModelicaModel { name:n, components: cd, connections: cc, equations: se, extends: vec![] }, }; +value_declaration: Expr = { + "=" <value:expr> => value +}; + +units_declaration: String = { + "(" "unit" "=" <units:string_literal> ")" => units +}; + component_declaration: Component = { - <prefix:component_prefix?> <specifier:identifier> <name:identifier> string_literal? ";" => - Component { prefix:prefix, specifier:specifier, name:name}, - <prefix:component_prefix?> <specifier:identifier> <name:identifier> "=" <value:expr> string_literal? ";" => - Component { prefix:prefix, specifier:specifier, name:name}, + <prefix:component_prefix?> <specifier:identifier> <name:identifier> <units:units_declaration?> <value:value_declaration?> <desc:string_literal?> ";" => + Component { prefix:prefix, specifier:specifier, name:name, description:desc, value:value, units:units }, }; component_prefix: ComponentPrefix = { diff --git a/src/modelica_parser.rs b/src/modelica_parser.rs index 6e34bc1..91e158b 100644 --- a/src/modelica_parser.rs +++ b/src/modelica_parser.rs @@ -33,6 +33,7 @@ mod __parse__float { Term_22output_22(&'input str), Term_22parameter_22(&'input str), Term_22stream_22(&'input str), + Term_22unit_22(&'input str), Termr_23_22_5c_22_5b_5e_5c_22_5c_5c_5c_5c_5d_2a_5c_22_22_23(&'input str), Termr_23_22_5b_2b_2d_5d_3f_5c_5cd_2b_22_23(&'input str), Termr_23_22_5b_2b_2d_5d_3f_5c_5cd_2b_5c_5c_2e_5c_5cd_2a_28_5beE_5d_5b_2d_2b_5d_3f_5c_5cd_2b_29_3f_22_23(&'input str), @@ -61,6 +62,10 @@ mod __parse__float { Ntstring__literal(String), Ntstring__literal_3f(::std::option::Option<String>), Ntterm(Expr), + Ntunits__declaration(String), + Ntunits__declaration_3f(::std::option::Option<String>), + Ntvalue__declaration(Expr), + Ntvalue__declaration_3f(::std::option::Option<Expr>), } const __ACTION: &'static [i32] = &[ // State 0 @@ -87,6 +92,7 @@ mod __parse__float { 0, // on "output", error 0, // on "parameter", error 0, // on "stream", error + 0, // on "unit", error 0, // on r#"\"[^\"\\\\]*\""#, error 0, // on r#"[+-]?\\d+"#, error 3, // on r#"[+-]?\\d+\\.\\d*([eE][-+]?\\d+)?"#, goto 2 @@ -115,6 +121,7 @@ mod __parse__float { 0, // on "output", error 0, // on "parameter", error 0, // on "stream", error + 0, // on "unit", error 0, // on r#"\"[^\"\\\\]*\""#, error 0, // on r#"[+-]?\\d+"#, error 0, // on r#"[+-]?\\d+\\.\\d*([eE][-+]?\\d+)?"#, error @@ -143,6 +150,7 @@ mod __parse__float { 0, // on "output", error 0, // on "parameter", error 0, // on "stream", error + 0, // on "unit", error 0, // on r#"\"[^\"\\\\]*\""#, error 0, // on r#"[+-]?\\d+"#, error 0, // on r#"[+-]?\\d+\\.\\d*([eE][-+]?\\d+)?"#, error @@ -151,7 +159,7 @@ mod __parse__float { const __EOF_ACTION: &'static [i32] = &[ 0, // on EOF, error -1, // on EOF, reduce `__float = float => ActionFn(2);` - -39, // on EOF, reduce `float = r#"[+-]?\\d+\\.\\d*([eE][-+]?\\d+)?"# => ActionFn(7);` + -47, // on EOF, reduce `float = r#"[+-]?\\d+\\.\\d*([eE][-+]?\\d+)?"# => ActionFn(7);` ]; const __GOTO: &'static [i32] = &[ // State 0 @@ -179,6 +187,10 @@ mod __parse__float { 0, // on string_literal, error 0, // on string_literal?, error 0, // on term, error + 0, // on units_declaration, error + 0, // on units_declaration?, error + 0, // on value_declaration, error + 0, // on value_declaration?, error // State 1 0, // on __float, error 0, // on __identifier, error @@ -204,6 +216,10 @@ mod __parse__float { 0, // on string_literal, error 0, // on string_literal?, error 0, // on term, error + 0, // on units_declaration, error + 0, // on units_declaration?, error + 0, // on value_declaration, error + 0, // on value_declaration?, error // State 2 0, // on __float, error 0, // on __identifier, error @@ -229,6 +245,10 @@ mod __parse__float { 0, // on string_literal, error 0, // on string_literal?, error 0, // on term, error + 0, // on units_declaration, error + 0, // on units_declaration?, error + 0, // on value_declaration, error + 0, // on value_declaration?, error ]; pub fn parse_float< 'input, @@ -273,6 +293,7 @@ mod __parse__float { (_, (24, _), _) if true => 24, (_, (25, _), _) if true => 25, (_, (26, _), _) if true => 26, + (_, (27, _), _) if true => 27, _ => { return Err(__lalrpop_util::ParseError::UnrecognizedToken { token: Some(__lookahead), @@ -282,7 +303,7 @@ mod __parse__float { }; loop { let __state = *__states.last().unwrap() as usize; - let __action = __ACTION[__state * 27 + __integer]; + let __action = __ACTION[__state * 28 + __integer]; if __action > 0 { let __symbol = match __integer { 0 => match __lookahead.1 { @@ -378,19 +399,23 @@ mod __parse__float { _ => unreachable!(), }, 23 => match __lookahead.1 { - (23, __tok0) => __Symbol::Termr_23_22_5c_22_5b_5e_5c_22_5c_5c_5c_5c_5d_2a_5c_22_22_23(__tok0), + (23, __tok0) => __Symbol::Term_22unit_22(__tok0), _ => unreachable!(), }, 24 => match __lookahead.1 { - (24, __tok0) => __Symbol::Termr_23_22_5b_2b_2d_5d_3f_5c_5cd_2b_22_23(__tok0), + (24, __tok0) => __Symbol::Termr_23_22_5c_22_5b_5e_5c_22_5c_5c_5c_5c_5d_2a_5c_22_22_23(__tok0), _ => unreachable!(), }, 25 => match __lookahead.1 { - (25, __tok0) => __Symbol::Termr_23_22_5b_2b_2d_5d_3f_5c_5cd_2b_5c_5c_2e_5c_5cd_2a_28_5beE_5d_5b_2d_2b_5d_3f_5c_5cd_2b_29_3f_22_23(__tok0), + (25, __tok0) => __Symbol::Termr_23_22_5b_2b_2d_5d_3f_5c_5cd_2b_22_23(__tok0), _ => unreachable!(), }, 26 => match __lookahead.1 { - (26, __tok0) => __Symbol::Termr_23_22_5ba_2dzA_2dZ___5d_5ba_2dzA_2dZ__0_2d9_5d_2a_22_23(__tok0), + (26, __tok0) => __Symbol::Termr_23_22_5b_2b_2d_5d_3f_5c_5cd_2b_5c_5c_2e_5c_5cd_2a_28_5beE_5d_5b_2d_2b_5d_3f_5c_5cd_2b_29_3f_22_23(__tok0), + _ => unreachable!(), + }, + 27 => match __lookahead.1 { + (27, __tok0) => __Symbol::Termr_23_22_5ba_2dzA_2dZ___5d_5ba_2dzA_2dZ__0_2d9_5d_2a_22_23(__tok0), _ => unreachable!(), }, _ => unreachable!(), @@ -478,269 +503,389 @@ mod __parse__float { 3 } 5 => { - // component_declaration = component_prefix, identifier, identifier, string_literal, ";" => ActionFn(68); - let __sym4 = __pop_Term_22_3b_22(__symbols); - let __sym3 = __pop_Ntstring__literal(__symbols); + // component_declaration = component_prefix, identifier, identifier, units_declaration, value_declaration, string_literal, ";" => ActionFn(83); + let __sym6 = __pop_Term_22_3b_22(__symbols); + let __sym5 = __pop_Ntstring__literal(__symbols); + let __sym4 = __pop_Ntvalue__declaration(__symbols); + let __sym3 = __pop_Ntunits__declaration(__symbols); let __sym2 = __pop_Ntidentifier(__symbols); let __sym1 = __pop_Ntidentifier(__symbols); let __sym0 = __pop_Ntcomponent__prefix(__symbols); let __start = __sym0.0.clone(); - let __end = __sym4.2.clone(); - let __nt = super::__action68(input, __sym0, __sym1, __sym2, __sym3, __sym4); + let __end = __sym6.2.clone(); + let __nt = super::__action83(input, __sym0, __sym1, __sym2, __sym3, __sym4, __sym5, __sym6); let __states_len = __states.len(); - __states.truncate(__states_len - 5); + __states.truncate(__states_len - 7); __symbols.push((__start, __Symbol::Ntcomponent__declaration(__nt), __end)); 4 } 6 => { - // component_declaration = component_prefix, identifier, identifier, ";" => ActionFn(69); - let __sym3 = __pop_Term_22_3b_22(__symbols); + // component_declaration = component_prefix, identifier, identifier, units_declaration, string_literal, ";" => ActionFn(84); + let __sym5 = __pop_Term_22_3b_22(__symbols); + let __sym4 = __pop_Ntstring__literal(__symbols); + let __sym3 = __pop_Ntunits__declaration(__symbols); let __sym2 = __pop_Ntidentifier(__symbols); let __sym1 = __pop_Ntidentifier(__symbols); let __sym0 = __pop_Ntcomponent__prefix(__symbols); let __start = __sym0.0.clone(); - let __end = __sym3.2.clone(); - let __nt = super::__action69(input, __sym0, __sym1, __sym2, __sym3); + let __end = __sym5.2.clone(); + let __nt = super::__action84(input, __sym0, __sym1, __sym2, __sym3, __sym4, __sym5); let __states_len = __states.len(); - __states.truncate(__states_len - 4); + __states.truncate(__states_len - 6); __symbols.push((__start, __Symbol::Ntcomponent__declaration(__nt), __end)); 4 } 7 => { - // component_declaration = identifier, identifier, string_literal, ";" => ActionFn(70); - let __sym3 = __pop_Term_22_3b_22(__symbols); - let __sym2 = __pop_Ntstring__literal(__symbols); + // component_declaration = component_prefix, identifier, identifier, value_declaration, string_literal, ";" => ActionFn(85); + let __sym5 = __pop_Term_22_3b_22(__symbols); + let __sym4 = __pop_Ntstring__literal(__symbols); + let __sym3 = __pop_Ntvalue__declaration(__symbols); + let __sym2 = __pop_Ntidentifier(__symbols); let __sym1 = __pop_Ntidentifier(__symbols); - let __sym0 = __pop_Ntidentifier(__symbols); + let __sym0 = __pop_Ntcomponent__prefix(__symbols); let __start = __sym0.0.clone(); - let __end = __sym3.2.clone(); - let __nt = super::__action70(input, __sym0, __sym1, __sym2, __sym3); + let __end = __sym5.2.clone(); + let __nt = super::__action85(input, __sym0, __sym1, __sym2, __sym3, __sym4, __sym5); let __states_len = __states.len(); - __states.truncate(__states_len - 4); + __states.truncate(__states_len - 6); __symbols.push((__start, __Symbol::Ntcomponent__declaration(__nt), __end)); 4 } 8 => { - // component_declaration = identifier, identifier, ";" => ActionFn(71); - let __sym2 = __pop_Term_22_3b_22(__symbols); + // component_declaration = component_prefix, identifier, identifier, string_literal, ";" => ActionFn(86); + let __sym4 = __pop_Term_22_3b_22(__symbols); + let __sym3 = __pop_Ntstring__literal(__symbols); + let __sym2 = __pop_Ntidentifier(__symbols); let __sym1 = __pop_Ntidentifier(__symbols); - let __sym0 = __pop_Ntidentifier(__symbols); + let __sym0 = __pop_Ntcomponent__prefix(__symbols); let __start = __sym0.0.clone(); - let __end = __sym2.2.clone(); - let __nt = super::__action71(input, __sym0, __sym1, __sym2); + let __end = __sym4.2.clone(); + let __nt = super::__action86(input, __sym0, __sym1, __sym2, __sym3, __sym4); let __states_len = __states.len(); - __states.truncate(__states_len - 3); + __states.truncate(__states_len - 5); __symbols.push((__start, __Symbol::Ntcomponent__declaration(__nt), __end)); 4 } 9 => { - // component_declaration = component_prefix, identifier, identifier, "=", expr, string_literal, ";" => ActionFn(72); - let __sym6 = __pop_Term_22_3b_22(__symbols); - let __sym5 = __pop_Ntstring__literal(__symbols); - let __sym4 = __pop_Ntexpr(__symbols); - let __sym3 = __pop_Term_22_3d_22(__symbols); + // component_declaration = component_prefix, identifier, identifier, units_declaration, value_declaration, ";" => ActionFn(87); + let __sym5 = __pop_Term_22_3b_22(__symbols); + let __sym4 = __pop_Ntvalue__declaration(__symbols); + let __sym3 = __pop_Ntunits__declaration(__symbols); let __sym2 = __pop_Ntidentifier(__symbols); let __sym1 = __pop_Ntidentifier(__symbols); let __sym0 = __pop_Ntcomponent__prefix(__symbols); let __start = __sym0.0.clone(); - let __end = __sym6.2.clone(); - let __nt = super::__action72(input, __sym0, __sym1, __sym2, __sym3, __sym4, __sym5, __sym6); + let __end = __sym5.2.clone(); + let __nt = super::__action87(input, __sym0, __sym1, __sym2, __sym3, __sym4, __sym5); let __states_len = __states.len(); - __states.truncate(__states_len - 7); + __states.truncate(__states_len - 6); __symbols.push((__start, __Symbol::Ntcomponent__declaration(__nt), __end)); 4 } 10 => { - // component_declaration = component_prefix, identifier, identifier, "=", expr, ";" => ActionFn(73); - let __sym5 = __pop_Term_22_3b_22(__symbols); - let __sym4 = __pop_Ntexpr(__symbols); - let __sym3 = __pop_Term_22_3d_22(__symbols); + // component_declaration = component_prefix, identifier, identifier, units_declaration, ";" => ActionFn(88); + let __sym4 = __pop_Term_22_3b_22(__symbols); + let __sym3 = __pop_Ntunits__declaration(__symbols); let __sym2 = __pop_Ntidentifier(__symbols); let __sym1 = __pop_Ntidentifier(__symbols); let __sym0 = __pop_Ntcomponent__prefix(__symbols); let __start = __sym0.0.clone(); - let __end = __sym5.2.clone(); - let __nt = super::__action73(input, __sym0, __sym1, __sym2, __sym3, __sym4, __sym5); + let __end = __sym4.2.clone(); + let __nt = super::__action88(input, __sym0, __sym1, __sym2, __sym3, __sym4); let __states_len = __states.len(); - __states.truncate(__states_len - 6); + __states.truncate(__states_len - 5); __symbols.push((__start, __Symbol::Ntcomponent__declaration(__nt), __end)); 4 } 11 => { - // component_declaration = identifier, identifier, "=", expr, string_literal, ";" => ActionFn(74); + // component_declaration = component_prefix, identifier, identifier, value_declaration, ";" => ActionFn(89); + let __sym4 = __pop_Term_22_3b_22(__symbols); + let __sym3 = __pop_Ntvalue__declaration(__symbols); + let __sym2 = __pop_Ntidentifier(__symbols); + let __sym1 = __pop_Ntidentifier(__symbols); + let __sym0 = __pop_Ntcomponent__prefix(__symbols); + let __start = __sym0.0.clone(); + let __end = __sym4.2.clone(); + let __nt = super::__action89(input, __sym0, __sym1, __sym2, __sym3, __sym4); + let __states_len = __states.len(); + __states.truncate(__states_len - 5); + __symbols.push((__start, __Symbol::Ntcomponent__declaration(__nt), __end)); + 4 + } + 12 => { + // component_declaration = component_prefix, identifier, identifier, ";" => ActionFn(90); + let __sym3 = __pop_Term_22_3b_22(__symbols); + let __sym2 = __pop_Ntidentifier(__symbols); + let __sym1 = __pop_Ntidentifier(__symbols); + let __sym0 = __pop_Ntcomponent__prefix(__symbols); + let __start = __sym0.0.clone(); + let __end = __sym3.2.clone(); + let __nt = super::__action90(input, __sym0, __sym1, __sym2, __sym3); + let __states_len = __states.len(); + __states.truncate(__states_len - 4); + __symbols.push((__start, __Symbol::Ntcomponent__declaration(__nt), __end)); + 4 + } + 13 => { + // component_declaration = identifier, identifier, units_declaration, value_declaration, string_literal, ";" => ActionFn(91); let __sym5 = __pop_Term_22_3b_22(__symbols); let __sym4 = __pop_Ntstring__literal(__symbols); - let __sym3 = __pop_Ntexpr(__symbols); - let __sym2 = __pop_Term_22_3d_22(__symbols); + let __sym3 = __pop_Ntvalue__declaration(__symbols); + let __sym2 = __pop_Ntunits__declaration(__symbols); let __sym1 = __pop_Ntidentifier(__symbols); let __sym0 = __pop_Ntidentifier(__symbols); let __start = __sym0.0.clone(); let __end = __sym5.2.clone(); - let __nt = super::__action74(input, __sym0, __sym1, __sym2, __sym3, __sym4, __sym5); + let __nt = super::__action91(input, __sym0, __sym1, __sym2, __sym3, __sym4, __sym5); let __states_len = __states.len(); __states.truncate(__states_len - 6); __symbols.push((__start, __Symbol::Ntcomponent__declaration(__nt), __end)); 4 } - 12 => { - // component_declaration = identifier, identifier, "=", expr, ";" => ActionFn(75); + 14 => { + // component_declaration = identifier, identifier, units_declaration, string_literal, ";" => ActionFn(92); let __sym4 = __pop_Term_22_3b_22(__symbols); - let __sym3 = __pop_Ntexpr(__symbols); - let __sym2 = __pop_Term_22_3d_22(__symbols); + let __sym3 = __pop_Ntstring__literal(__symbols); + let __sym2 = __pop_Ntunits__declaration(__symbols); let __sym1 = __pop_Ntidentifier(__symbols); let __sym0 = __pop_Ntidentifier(__symbols); let __start = __sym0.0.clone(); let __end = __sym4.2.clone(); - let __nt = super::__action75(input, __sym0, __sym1, __sym2, __sym3, __sym4); + let __nt = super::__action92(input, __sym0, __sym1, __sym2, __sym3, __sym4); let __states_len = __states.len(); __states.truncate(__states_len - 5); __symbols.push((__start, __Symbol::Ntcomponent__declaration(__nt), __end)); 4 } - 13 => { - // component_declaration* = => ActionFn(42); + 15 => { + // component_declaration = identifier, identifier, value_declaration, string_literal, ";" => ActionFn(93); + let __sym4 = __pop_Term_22_3b_22(__symbols); + let __sym3 = __pop_Ntstring__literal(__symbols); + let __sym2 = __pop_Ntvalue__declaration(__symbols); + let __sym1 = __pop_Ntidentifier(__symbols); + let __sym0 = __pop_Ntidentifier(__symbols); + let __start = __sym0.0.clone(); + let __end = __sym4.2.clone(); + let __nt = super::__action93(input, __sym0, __sym1, __sym2, __sym3, __sym4); + let __states_len = __states.len(); + __states.truncate(__states_len - 5); + __symbols.push((__start, __Symbol::Ntcomponent__declaration(__nt), __end)); + 4 + } + 16 => { + // component_declaration = identifier, identifier, string_literal, ";" => ActionFn(94); + let __sym3 = __pop_Term_22_3b_22(__symbols); + let __sym2 = __pop_Ntstring__literal(__symbols); + let __sym1 = __pop_Ntidentifier(__symbols); + let __sym0 = __pop_Ntidentifier(__symbols); + let __start = __sym0.0.clone(); + let __end = __sym3.2.clone(); + let __nt = super::__action94(input, __sym0, __sym1, __sym2, __sym3); + let __states_len = __states.len(); + __states.truncate(__states_len - 4); + __symbols.push((__start, __Symbol::Ntcomponent__declaration(__nt), __end)); + 4 + } + 17 => { + // component_declaration = identifier, identifier, units_declaration, value_declaration, ";" => ActionFn(95); + let __sym4 = __pop_Term_22_3b_22(__symbols); + let __sym3 = __pop_Ntvalue__declaration(__symbols); + let __sym2 = __pop_Ntunits__declaration(__symbols); + let __sym1 = __pop_Ntidentifier(__symbols); + let __sym0 = __pop_Ntidentifier(__symbols); + let __start = __sym0.0.clone(); + let __end = __sym4.2.clone(); + let __nt = super::__action95(input, __sym0, __sym1, __sym2, __sym3, __sym4); + let __states_len = __states.len(); + __states.truncate(__states_len - 5); + __symbols.push((__start, __Symbol::Ntcomponent__declaration(__nt), __end)); + 4 + } + 18 => { + // component_declaration = identifier, identifier, units_declaration, ";" => ActionFn(96); + let __sym3 = __pop_Term_22_3b_22(__symbols); + let __sym2 = __pop_Ntunits__declaration(__symbols); + let __sym1 = __pop_Ntidentifier(__symbols); + let __sym0 = __pop_Ntidentifier(__symbols); + let __start = __sym0.0.clone(); + let __end = __sym3.2.clone(); + let __nt = super::__action96(input, __sym0, __sym1, __sym2, __sym3); + let __states_len = __states.len(); + __states.truncate(__states_len - 4); + __symbols.push((__start, __Symbol::Ntcomponent__declaration(__nt), __end)); + 4 + } + 19 => { + // component_declaration = identifier, identifier, value_declaration, ";" => ActionFn(97); + let __sym3 = __pop_Term_22_3b_22(__symbols); + let __sym2 = __pop_Ntvalue__declaration(__symbols); + let __sym1 = __pop_Ntidentifier(__symbols); + let __sym0 = __pop_Ntidentifier(__symbols); + let __start = __sym0.0.clone(); + let __end = __sym3.2.clone(); + let __nt = super::__action97(input, __sym0, __sym1, __sym2, __sym3); + let __states_len = __states.len(); + __states.truncate(__states_len - 4); + __symbols.push((__start, __Symbol::Ntcomponent__declaration(__nt), __end)); + 4 + } + 20 => { + // component_declaration = identifier, identifier, ";" => ActionFn(98); + let __sym2 = __pop_Term_22_3b_22(__symbols); + let __sym1 = __pop_Ntidentifier(__symbols); + let __sym0 = __pop_Ntidentifier(__symbols); + let __start = __sym0.0.clone(); + let __end = __sym2.2.clone(); + let __nt = super::__action98(input, __sym0, __sym1, __sym2); + let __states_len = __states.len(); + __states.truncate(__states_len - 3); + __symbols.push((__start, __Symbol::Ntcomponent__declaration(__nt), __end)); + 4 + } + 21 => { + // component_declaration* = => ActionFn(47); let __start = __symbols.last().map(|s| s.2.clone()).unwrap_or_default(); let __end = __lookahead_start.cloned().unwrap_or_else(|| __start.clone()); - let __nt = super::__action42(input, &__start, &__end); + let __nt = super::__action47(input, &__start, &__end); let __states_len = __states.len(); __states.truncate(__states_len - 0); __symbols.push((__start, __Symbol::Ntcomponent__declaration_2a(__nt), __end)); 5 } - 14 => { - // component_declaration* = component_declaration+ => ActionFn(43); + 22 => { + // component_declaration* = component_declaration+ => ActionFn(48); let __sym0 = __pop_Ntcomponent__declaration_2b(__symbols); let __start = __sym0.0.clone(); let __end = __sym0.2.clone(); - let __nt = super::__action43(input, __sym0); + let __nt = super::__action48(input, __sym0); let __states_len = __states.len(); __states.truncate(__states_len - 1); __symbols.push((__start, __Symbol::Ntcomponent__declaration_2a(__nt), __end)); 5 } - 15 => { - // component_declaration+ = component_declaration => ActionFn(44); + 23 => { + // component_declaration+ = component_declaration => ActionFn(49); let __sym0 = __pop_Ntcomponent__declaration(__symbols); let __start = __sym0.0.clone(); let __end = __sym0.2.clone(); - let __nt = super::__action44(input, __sym0); + let __nt = super::__action49(input, __sym0); let __states_len = __states.len(); __states.truncate(__states_len - 1); __symbols.push((__start, __Symbol::Ntcomponent__declaration_2b(__nt), __end)); 6 } - 16 => { - // component_declaration+ = component_declaration+, component_declaration => ActionFn(45); + 24 => { + // component_declaration+ = component_declaration+, component_declaration => ActionFn(50); let __sym1 = __pop_Ntcomponent__declaration(__symbols); let __sym0 = __pop_Ntcomponent__declaration_2b(__symbols); let __start = __sym0.0.clone(); let __end = __sym1.2.clone(); - let __nt = super::__action45(input, __sym0, __sym1); + let __nt = super::__action50(input, __sym0, __sym1); let __states_len = __states.len(); __states.truncate(__states_len - 2); __symbols.push((__start, __Symbol::Ntcomponent__declaration_2b(__nt), __end)); 6 } - 17 => { - // component_prefix = "flow" => ActionFn(11); + 25 => { + // component_prefix = "flow" => ActionFn(12); let __sym0 = __pop_Term_22flow_22(__symbols); let __start = __sym0.0.clone(); let __end = __sym0.2.clone(); - let __nt = super::__action11(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 } - 18 => { - // component_prefix = "stream" => ActionFn(12); + 26 => { + // component_prefix = "stream" => ActionFn(13); let __sym0 = __pop_Term_22stream_22(__symbols); let __start = __sym0.0.clone(); let __end = __sym0.2.clone(); - let __nt = super::__action12(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 } - 19 => { - // component_prefix = "input" => ActionFn(13); + 27 => { + // component_prefix = "input" => ActionFn(14); let __sym0 = __pop_Term_22input_22(__symbols); let __start = __sym0.0.clone(); let __end = __sym0.2.clone(); - let __nt = super::__action13(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 } - 20 => { - // component_prefix = "output" => ActionFn(14); + 28 => { + // component_prefix = "output" => ActionFn(15); let __sym0 = __pop_Term_22output_22(__symbols); let __start = __sym0.0.clone(); let __end = __sym0.2.clone(); - let __nt = super::__action14(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 } - 21 => { - // component_prefix = "discrete" => ActionFn(15); + 29 => { + // component_prefix = "discrete" => ActionFn(16); let __sym0 = __pop_Term_22discrete_22(__symbols); let __start = __sym0.0.clone(); let __end = __sym0.2.clone(); - let __nt = super::__action15(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 } - 22 => { - // component_prefix = "parameter" => ActionFn(16); + 30 => { + // component_prefix = "parameter" => ActionFn(17); let __sym0 = __pop_Term_22parameter_22(__symbols); let __start = __sym0.0.clone(); let __end = __sym0.2.clone(); - let __nt = super::__action16(input, __sym0); + let __nt = super::__action17(input, __sym0); let __states_len = __states.len(); __states.truncate(__states_len - 1); __symbols.push((__start, __Symbol::Ntcomponent__prefix(__nt), __end)); 7 } - 23 => { - // component_prefix = "constant" => ActionFn(17); + 31 => { + // component_prefix = "constant" => ActionFn(18); let __sym0 = __pop_Term_22constant_22(__symbols); let __start = __sym0.0.clone(); let __end = __sym0.2.clone(); - let __nt = super::__action17(input, __sym0); + let __nt = super::__action18(input, __sym0); let __states_len = __states.len(); __states.truncate(__states_len - 1); __symbols.push((__start, __Symbol::Ntcomponent__prefix(__nt), __end)); 7 } - 24 => { - // component_prefix? = component_prefix => ActionFn(36); + 32 => { + // component_prefix? = component_prefix => ActionFn(41); let __sym0 = __pop_Ntcomponent__prefix(__symbols); let __start = __sym0.0.clone(); let __end = __sym0.2.clone(); - let __nt = super::__action36(input, __sym0); + let __nt = super::__action41(input, __sym0); let __states_len = __states.len(); __states.truncate(__states_len - 1); __symbols.push((__start, __Symbol::Ntcomponent__prefix_3f(__nt), __end)); 8 } - 25 => { - // component_prefix? = => ActionFn(37); + 33 => { + // component_prefix? = => ActionFn(42); let __start = __symbols.last().map(|s| s.2.clone()).unwrap_or_default(); let __end = __lookahead_start.cloned().unwrap_or_else(|| __start.clone()); - let __nt = super::__action37(input, &__start, &__end); + let __nt = super::__action42(input, &__start, &__end); let __states_len = __states.len(); __states.truncate(__states_len - 0); __symbols.push((__start, __Symbol::Ntcomponent__prefix_3f(__nt), __end)); 8 } - 26 => { - // connect_clause = "connect", "(", identifier, ",", identifier, ")", ";" => ActionFn(19); + 34 => { + // connect_clause = "connect", "(", identifier, ",", identifier, ")", ";" => ActionFn(20); let __sym6 = __pop_Term_22_3b_22(__symbols); let __sym5 = __pop_Term_22_29_22(__symbols); let __sym4 = __pop_Ntidentifier(__symbols); @@ -750,156 +895,156 @@ mod __parse__float { 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::__action20(input, __sym0, __sym1, __sym2, __sym3, __sym4, __sym5, __sym6); let __states_len = __states.len(); __states.truncate(__states_len - 7); __symbols.push((__start, __Symbol::Ntconnect__clause(__nt), __end)); 9 } - 27 => { - // connect_clause* = => ActionFn(40); + 35 => { + // connect_clause* = => ActionFn(45); let __start = __symbols.last().map(|s| s.2.clone()).unwrap_or_default(); let __end = __lookahead_start.cloned().unwrap_or_else(|| __start.clone()); - let __nt = super::__action40(input, &__start, &__end); + let __nt = super::__action45(input, &__start, &__end); let __states_len = __states.len(); __states.truncate(__states_len - 0); __symbols.push((__start, __Symbol::Ntconnect__clause_2a(__nt), __end)); 10 } - 28 => { - // connect_clause* = connect_clause+ => ActionFn(41); + 36 => { + // connect_clause* = connect_clause+ => ActionFn(46); let __sym0 = __pop_Ntconnect__clause_2b(__symbols); let __start = __sym0.0.clone(); let __end = __sym0.2.clone(); - let __nt = super::__action41(input, __sym0); + let __nt = super::__action46(input, __sym0); let __states_len = __states.len(); __states.truncate(__states_len - 1); __symbols.push((__start, __Symbol::Ntconnect__clause_2a(__nt), __end)); 10 } - 29 => { - // connect_clause+ = connect_clause => ActionFn(46); + 37 => { + // connect_clause+ = connect_clause => ActionFn(51); let __sym0 = __pop_Ntconnect__clause(__symbols); let __start = __sym0.0.clone(); let __end = __sym0.2.clone(); - let __nt = super::__action46(input, __sym0); + let __nt = super::__action51(input, __sym0); let __states_len = __states.len(); __states.truncate(__states_len - 1); __symbols.push((__start, __Symbol::Ntconnect__clause_2b(__nt), __end)); 11 } - 30 => { - // connect_clause+ = connect_clause+, connect_clause => ActionFn(47); + 38 => { + // connect_clause+ = connect_clause+, connect_clause => ActionFn(52); let __sym1 = __pop_Ntconnect__clause(__symbols); let __sym0 = __pop_Ntconnect__clause_2b(__symbols); let __start = __sym0.0.clone(); let __end = __sym1.2.clone(); - let __nt = super::__action47(input, __sym0, __sym1); + let __nt = super::__action52(input, __sym0, __sym1); let __states_len = __states.len(); __states.truncate(__states_len - 2); __symbols.push((__start, __Symbol::Ntconnect__clause_2b(__nt), __end)); 11 } - 31 => { - // expr = expr, "+", factor => ActionFn(20); + 39 => { + // expr = expr, "+", factor => ActionFn(21); let __sym2 = __pop_Ntfactor(__symbols); let __sym1 = __pop_Term_22_2b_22(__symbols); let __sym0 = __pop_Ntexpr(__symbols); let __start = __sym0.0.clone(); let __end = __sym2.2.clone(); - let __nt = super::__action20(input, __sym0, __sym1, __sym2); + let __nt = super::__action21(input, __sym0, __sym1, __sym2); let __states_len = __states.len(); __states.truncate(__states_len - 3); __symbols.push((__start, __Symbol::Ntexpr(__nt), __end)); 12 } - 32 => { - // expr = expr, "-", factor => ActionFn(21); + 40 => { + // expr = expr, "-", factor => ActionFn(22); let __sym2 = __pop_Ntfactor(__symbols); let __sym1 = __pop_Term_22_2d_22(__symbols); let __sym0 = __pop_Ntexpr(__symbols); let __start = __sym0.0.clone(); let __end = __sym2.2.clone(); - let __nt = super::__action21(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::Ntexpr(__nt), __end)); 12 } - 33 => { - // expr = factor => ActionFn(22); + 41 => { + // expr = factor => ActionFn(23); let __sym0 = __pop_Ntfactor(__symbols); let __start = __sym0.0.clone(); let __end = __sym0.2.clone(); - let __nt = super::__action22(input, __sym0); + let __nt = super::__action23(input, __sym0); let __states_len = __states.len(); __states.truncate(__states_len - 1); __symbols.push((__start, __Symbol::Ntexpr(__nt), __end)); 12 } - 34 => { - // factor = factor, "*", term => ActionFn(23); + 42 => { + // factor = factor, "*", term => ActionFn(24); let __sym2 = __pop_Ntterm(__symbols); let __sym1 = __pop_Term_22_2a_22(__symbols); let __sym0 = __pop_Ntfactor(__symbols); let __start = __sym0.0.clone(); let __end = __sym2.2.clone(); - let __nt = super::__action23(input, __sym0, __sym1, __sym2); + let __nt = super::__action24(input, __sym0, __sym1, __sym2); let __states_len = __states.len(); __states.truncate(__states_len - 3); __symbols.push((__start, __Symbol::Ntfactor(__nt), __end)); 13 } - 35 => { - // factor = factor, "/", term => ActionFn(24); + 43 => { + // factor = factor, "/", term => ActionFn(25); let __sym2 = __pop_Ntterm(__symbols); let __sym1 = __pop_Term_22_2f_22(__symbols); let __sym0 = __pop_Ntfactor(__symbols); let __start = __sym0.0.clone(); let __end = __sym2.2.clone(); - let __nt = super::__action24(input, __sym0, __sym1, __sym2); + let __nt = super::__action25(input, __sym0, __sym1, __sym2); let __states_len = __states.len(); __states.truncate(__states_len - 3); __symbols.push((__start, __Symbol::Ntfactor(__nt), __end)); 13 } - 36 => { - // factor = factor, "^", term => ActionFn(25); + 44 => { + // factor = factor, "^", term => ActionFn(26); let __sym2 = __pop_Ntterm(__symbols); let __sym1 = __pop_Term_22_5e_22(__symbols); let __sym0 = __pop_Ntfactor(__symbols); let __start = __sym0.0.clone(); let __end = __sym2.2.clone(); - let __nt = super::__action25(input, __sym0, __sym1, __sym2); + let __nt = super::__action26(input, __sym0, __sym1, __sym2); let __states_len = __states.len(); __states.truncate(__states_len - 3); __symbols.push((__start, __Symbol::Ntfactor(__nt), __end)); 13 } - 37 => { - // factor = "-", term => ActionFn(26); + 45 => { + // factor = "-", term => ActionFn(27); let __sym1 = __pop_Ntterm(__symbols); let __sym0 = __pop_Term_22_2d_22(__symbols); let __start = __sym0.0.clone(); let __end = __sym1.2.clone(); - let __nt = super::__action26(input, __sym0, __sym1); + let __nt = super::__action27(input, __sym0, __sym1); let __states_len = __states.len(); __states.truncate(__states_len - 2); __symbols.push((__start, __Symbol::Ntfactor(__nt), __end)); 13 } - 38 => { - // factor = term => ActionFn(27); + 46 => { + // factor = term => ActionFn(28); let __sym0 = __pop_Ntterm(__symbols); let __start = __sym0.0.clone(); let __end = __sym0.2.clone(); - let __nt = super::__action27(input, __sym0); + let __nt = super::__action28(input, __sym0); let __states_len = __states.len(); __states.truncate(__states_len - 1); __symbols.push((__start, __Symbol::Ntfactor(__nt), __end)); 13 } - 39 => { + 47 => { // float = r#"[+-]?\\d+\\.\\d*([eE][-+]?\\d+)?"# => ActionFn(7); let __sym0 = __pop_Termr_23_22_5b_2b_2d_5d_3f_5c_5cd_2b_5c_5c_2e_5c_5cd_2a_28_5beE_5d_5b_2d_2b_5d_3f_5c_5cd_2b_29_3f_22_23(__symbols); let __start = __sym0.0.clone(); @@ -910,7 +1055,7 @@ mod __parse__float { __symbols.push((__start, __Symbol::Ntfloat(__nt), __end)); 14 } - 40 => { + 48 => { // identifier = r#"[a-zA-Z_][a-zA-Z_0-9]*"# => ActionFn(4); let __sym0 = __pop_Termr_23_22_5ba_2dzA_2dZ___5d_5ba_2dzA_2dZ__0_2d9_5d_2a_22_23(__symbols); let __start = __sym0.0.clone(); @@ -921,7 +1066,7 @@ mod __parse__float { __symbols.push((__start, __Symbol::Ntidentifier(__nt), __end)); 15 } - 41 => { + 49 => { // integer = r#"[+-]?\\d+"# => ActionFn(6); let __sym0 = __pop_Termr_23_22_5b_2b_2d_5d_3f_5c_5cd_2b_22_23(__symbols); let __start = __sym0.0.clone(); @@ -932,8 +1077,8 @@ mod __parse__float { __symbols.push((__start, __Symbol::Ntinteger(__nt), __end)); 16 } - 42 => { - // model = "model", identifier, "equation", "end", identifier, ";" => ActionFn(60); + 50 => { + // model = "model", identifier, "equation", "end", identifier, ";" => ActionFn(63); let __sym5 = __pop_Term_22_3b_22(__symbols); let __sym4 = __pop_Ntidentifier(__symbols); let __sym3 = __pop_Term_22end_22(__symbols); @@ -942,14 +1087,14 @@ mod __parse__float { let __sym0 = __pop_Term_22model_22(__symbols); let __start = __sym0.0.clone(); let __end = __sym5.2.clone(); - let __nt = super::__action60(input, __sym0, __sym1, __sym2, __sym3, __sym4, __sym5); + let __nt = super::__action63(input, __sym0, __sym1, __sym2, __sym3, __sym4, __sym5); let __states_len = __states.len(); __states.truncate(__states_len - 6); __symbols.push((__start, __Symbol::Ntmodel(__nt), __end)); 17 } - 43 => { - // model = "model", identifier, "equation", simple_equation+, "end", identifier, ";" => ActionFn(61); + 51 => { + // model = "model", identifier, "equation", simple_equation+, "end", identifier, ";" => ActionFn(64); let __sym6 = __pop_Term_22_3b_22(__symbols); let __sym5 = __pop_Ntidentifier(__symbols); let __sym4 = __pop_Term_22end_22(__symbols); @@ -959,14 +1104,14 @@ mod __parse__float { let __sym0 = __pop_Term_22model_22(__symbols); let __start = __sym0.0.clone(); let __end = __sym6.2.clone(); - let __nt = super::__action61(input, __sym0, __sym1, __sym2, __sym3, __sym4, __sym5, __sym6); + let __nt = super::__action64(input, __sym0, __sym1, __sym2, __sym3, __sym4, __sym5, __sym6); let __states_len = __states.len(); __states.truncate(__states_len - 7); __symbols.push((__start, __Symbol::Ntmodel(__nt), __end)); 17 } - 44 => { - // model = "model", identifier, "equation", connect_clause+, "end", identifier, ";" => ActionFn(62); + 52 => { + // model = "model", identifier, "equation", connect_clause+, "end", identifier, ";" => ActionFn(65); let __sym6 = __pop_Term_22_3b_22(__symbols); let __sym5 = __pop_Ntidentifier(__symbols); let __sym4 = __pop_Term_22end_22(__symbols); @@ -976,14 +1121,14 @@ mod __parse__float { let __sym0 = __pop_Term_22model_22(__symbols); let __start = __sym0.0.clone(); let __end = __sym6.2.clone(); - let __nt = super::__action62(input, __sym0, __sym1, __sym2, __sym3, __sym4, __sym5, __sym6); + let __nt = super::__action65(input, __sym0, __sym1, __sym2, __sym3, __sym4, __sym5, __sym6); let __states_len = __states.len(); __states.truncate(__states_len - 7); __symbols.push((__start, __Symbol::Ntmodel(__nt), __end)); 17 } - 45 => { - // model = "model", identifier, "equation", connect_clause+, simple_equation+, "end", identifier, ";" => ActionFn(63); + 53 => { + // model = "model", identifier, "equation", connect_clause+, simple_equation+, "end", identifier, ";" => ActionFn(66); let __sym7 = __pop_Term_22_3b_22(__symbols); let __sym6 = __pop_Ntidentifier(__symbols); let __sym5 = __pop_Term_22end_22(__symbols); @@ -994,14 +1139,14 @@ mod __parse__float { let __sym0 = __pop_Term_22model_22(__symbols); let __start = __sym0.0.clone(); let __end = __sym7.2.clone(); - let __nt = super::__action63(input, __sym0, __sym1, __sym2, __sym3, __sym4, __sym5, __sym6, __sym7); + let __nt = super::__action66(input, __sym0, __sym1, __sym2, __sym3, __sym4, __sym5, __sym6, __sym7); let __states_len = __states.len(); __states.truncate(__states_len - 8); __symbols.push((__start, __Symbol::Ntmodel(__nt), __end)); 17 } - 46 => { - // model = "model", identifier, component_declaration+, "equation", "end", identifier, ";" => ActionFn(64); + 54 => { + // model = "model", identifier, component_declaration+, "equation", "end", identifier, ";" => ActionFn(67); let __sym6 = __pop_Term_22_3b_22(__symbols); let __sym5 = __pop_Ntidentifier(__symbols); let __sym4 = __pop_Term_22end_22(__symbols); @@ -1011,14 +1156,14 @@ mod __parse__float { let __sym0 = __pop_Term_22model_22(__symbols); let __start = __sym0.0.clone(); let __end = __sym6.2.clone(); - let __nt = super::__action64(input, __sym0, __sym1, __sym2, __sym3, __sym4, __sym5, __sym6); + let __nt = super::__action67(input, __sym0, __sym1, __sym2, __sym3, __sym4, __sym5, __sym6); let __states_len = __states.len(); __states.truncate(__states_len - 7); __symbols.push((__start, __Symbol::Ntmodel(__nt), __end)); 17 } - 47 => { - // model = "model", identifier, component_declaration+, "equation", simple_equation+, "end", identifier, ";" => ActionFn(65); + 55 => { + // model = "model", identifier, component_declaration+, "equation", simple_equation+, "end", identifier, ";" => ActionFn(68); let __sym7 = __pop_Term_22_3b_22(__symbols); let __sym6 = __pop_Ntidentifier(__symbols); let __sym5 = __pop_Term_22end_22(__symbols); @@ -1029,14 +1174,14 @@ mod __parse__float { let __sym0 = __pop_Term_22model_22(__symbols); let __start = __sym0.0.clone(); let __end = __sym7.2.clone(); - let __nt = super::__action65(input, __sym0, __sym1, __sym2, __sym3, __sym4, __sym5, __sym6, __sym7); + let __nt = super::__action68(input, __sym0, __sym1, __sym2, __sym3, __sym4, __sym5, __sym6, __sym7); let __states_len = __states.len(); __states.truncate(__states_len - 8); __symbols.push((__start, __Symbol::Ntmodel(__nt), __end)); 17 } - 48 => { - // model = "model", identifier, component_declaration+, "equation", connect_clause+, "end", identifier, ";" => ActionFn(66); + 56 => { + // model = "model", identifier, component_declaration+, "equation", connect_clause+, "end", identifier, ";" => ActionFn(69); let __sym7 = __pop_Term_22_3b_22(__symbols); let __sym6 = __pop_Ntidentifier(__symbols); let __sym5 = __pop_Term_22end_22(__symbols); @@ -1047,14 +1192,14 @@ mod __parse__float { let __sym0 = __pop_Term_22model_22(__symbols); let __start = __sym0.0.clone(); let __end = __sym7.2.clone(); - let __nt = super::__action66(input, __sym0, __sym1, __sym2, __sym3, __sym4, __sym5, __sym6, __sym7); + let __nt = super::__action69(input, __sym0, __sym1, __sym2, __sym3, __sym4, __sym5, __sym6, __sym7); let __states_len = __states.len(); __states.truncate(__states_len - 8); __symbols.push((__start, __Symbol::Ntmodel(__nt), __end)); 17 } - 49 => { - // model = "model", identifier, component_declaration+, "equation", connect_clause+, simple_equation+, "end", identifier, ";" => ActionFn(67); + 57 => { + // model = "model", identifier, component_declaration+, "equation", connect_clause+, simple_equation+, "end", identifier, ";" => ActionFn(70); let __sym8 = __pop_Term_22_3b_22(__symbols); let __sym7 = __pop_Ntidentifier(__symbols); let __sym6 = __pop_Term_22end_22(__symbols); @@ -1066,71 +1211,71 @@ mod __parse__float { let __sym0 = __pop_Term_22model_22(__symbols); let __start = __sym0.0.clone(); let __end = __sym8.2.clone(); - let __nt = super::__action67(input, __sym0, __sym1, __sym2, __sym3, __sym4, __sym5, __sym6, __sym7, __sym8); + let __nt = super::__action70(input, __sym0, __sym1, __sym2, __sym3, __sym4, __sym5, __sym6, __sym7, __sym8); let __states_len = __states.len(); __states.truncate(__states_len - 9); __symbols.push((__start, __Symbol::Ntmodel(__nt), __end)); 17 } - 50 => { - // simple_equation = expr, "=", expr, ";" => ActionFn(18); + 58 => { + // simple_equation = expr, "=", expr, ";" => ActionFn(19); let __sym3 = __pop_Term_22_3b_22(__symbols); let __sym2 = __pop_Ntexpr(__symbols); let __sym1 = __pop_Term_22_3d_22(__symbols); let __sym0 = __pop_Ntexpr(__symbols); let __start = __sym0.0.clone(); let __end = __sym3.2.clone(); - let __nt = super::__action18(input, __sym0, __sym1, __sym2, __sym3); + let __nt = super::__action19(input, __sym0, __sym1, __sym2, __sym3); let __states_len = __states.len(); __states.truncate(__states_len - 4); __symbols.push((__start, __Symbol::Ntsimple__equation(__nt), __end)); 18 } - 51 => { - // simple_equation* = => ActionFn(38); + 59 => { + // simple_equation* = => ActionFn(43); let __start = __symbols.last().map(|s| s.2.clone()).unwrap_or_default(); let __end = __lookahead_start.cloned().unwrap_or_else(|| __start.clone()); - let __nt = super::__action38(input, &__start, &__end); + let __nt = super::__action43(input, &__start, &__end); let __states_len = __states.len(); __states.truncate(__states_len - 0); __symbols.push((__start, __Symbol::Ntsimple__equation_2a(__nt), __end)); 19 } - 52 => { - // simple_equation* = simple_equation+ => ActionFn(39); + 60 => { + // simple_equation* = simple_equation+ => ActionFn(44); let __sym0 = __pop_Ntsimple__equation_2b(__symbols); let __start = __sym0.0.clone(); let __end = __sym0.2.clone(); - let __nt = super::__action39(input, __sym0); + let __nt = super::__action44(input, __sym0); let __states_len = __states.len(); __states.truncate(__states_len - 1); __symbols.push((__start, __Symbol::Ntsimple__equation_2a(__nt), __end)); 19 } - 53 => { - // simple_equation+ = simple_equation => ActionFn(48); + 61 => { + // simple_equation+ = simple_equation => ActionFn(53); let __sym0 = __pop_Ntsimple__equation(__symbols); let __start = __sym0.0.clone(); let __end = __sym0.2.clone(); - let __nt = super::__action48(input, __sym0); + let __nt = super::__action53(input, __sym0); let __states_len = __states.len(); __states.truncate(__states_len - 1); __symbols.push((__start, __Symbol::Ntsimple__equation_2b(__nt), __end)); 20 } - 54 => { - // simple_equation+ = simple_equation+, simple_equation => ActionFn(49); + 62 => { + // simple_equation+ = simple_equation+, simple_equation => ActionFn(54); let __sym1 = __pop_Ntsimple__equation(__symbols); let __sym0 = __pop_Ntsimple__equation_2b(__symbols); let __start = __sym0.0.clone(); let __end = __sym1.2.clone(); - let __nt = super::__action49(input, __sym0, __sym1); + let __nt = super::__action54(input, __sym0, __sym1); let __states_len = __states.len(); __states.truncate(__states_len - 2); __symbols.push((__start, __Symbol::Ntsimple__equation_2b(__nt), __end)); 20 } - 55 => { + 63 => { // string_literal = r#"\"[^\"\\\\]*\""# => ActionFn(5); let __sym0 = __pop_Termr_23_22_5c_22_5b_5e_5c_22_5c_5c_5c_5c_5d_2a_5c_22_22_23(__symbols); let __start = __sym0.0.clone(); @@ -1141,105 +1286,174 @@ mod __parse__float { __symbols.push((__start, __Symbol::Ntstring__literal(__nt), __end)); 21 } - 56 => { - // string_literal? = string_literal => ActionFn(34); + 64 => { + // string_literal? = string_literal => ActionFn(35); let __sym0 = __pop_Ntstring__literal(__symbols); let __start = __sym0.0.clone(); let __end = __sym0.2.clone(); - let __nt = super::__action34(input, __sym0); + let __nt = super::__action35(input, __sym0); let __states_len = __states.len(); __states.truncate(__states_len - 1); __symbols.push((__start, __Symbol::Ntstring__literal_3f(__nt), __end)); 22 } - 57 => { - // string_literal? = => ActionFn(35); + 65 => { + // string_literal? = => ActionFn(36); let __start = __symbols.last().map(|s| s.2.clone()).unwrap_or_default(); let __end = __lookahead_start.cloned().unwrap_or_else(|| __start.clone()); - let __nt = super::__action35(input, &__start, &__end); + let __nt = super::__action36(input, &__start, &__end); let __states_len = __states.len(); __states.truncate(__states_len - 0); __symbols.push((__start, __Symbol::Ntstring__literal_3f(__nt), __end)); 22 } - 58 => { - // term = integer => ActionFn(28); + 66 => { + // term = integer => ActionFn(29); let __sym0 = __pop_Ntinteger(__symbols); let __start = __sym0.0.clone(); let __end = __sym0.2.clone(); - let __nt = super::__action28(input, __sym0); + let __nt = super::__action29(input, __sym0); let __states_len = __states.len(); __states.truncate(__states_len - 1); __symbols.push((__start, __Symbol::Ntterm(__nt), __end)); 23 } - 59 => { - // term = float => ActionFn(29); + 67 => { + // term = float => ActionFn(30); let __sym0 = __pop_Ntfloat(__symbols); let __start = __sym0.0.clone(); let __end = __sym0.2.clone(); - let __nt = super::__action29(input, __sym0); + let __nt = super::__action30(input, __sym0); let __states_len = __states.len(); __states.truncate(__states_len - 1); __symbols.push((__start, __Symbol::Ntterm(__nt), __end)); 23 } - 60 => { - // term = identifier => ActionFn(30); + 68 => { + // term = identifier => ActionFn(31); let __sym0 = __pop_Ntidentifier(__symbols); let __start = __sym0.0.clone(); let __end = __sym0.2.clone(); - let __nt = super::__action30(input, __sym0); + let __nt = super::__action31(input, __sym0); let __states_len = __states.len(); __states.truncate(__states_len - 1); __symbols.push((__start, __Symbol::Ntterm(__nt), __end)); 23 } - 61 => { - // term = "der", "(", expr, ")" => ActionFn(31); + 69 => { + // term = "der", "(", expr, ")" => ActionFn(32); let __sym3 = __pop_Term_22_29_22(__symbols); let __sym2 = __pop_Ntexpr(__symbols); let __sym1 = __pop_Term_22_28_22(__symbols); let __sym0 = __pop_Term_22der_22(__symbols); let __start = __sym0.0.clone(); let __end = __sym3.2.clone(); - let __nt = super::__action31(input, __sym0, __sym1, __sym2, __sym3); + let __nt = super::__action32(input, __sym0, __sym1, __sym2, __sym3); let __states_len = __states.len(); __states.truncate(__states_len - 4); __symbols.push((__start, __Symbol::Ntterm(__nt), __end)); 23 } - 62 => { - // term = "abs", "(", expr, ")" => ActionFn(32); + 70 => { + // term = "abs", "(", expr, ")" => ActionFn(33); let __sym3 = __pop_Term_22_29_22(__symbols); let __sym2 = __pop_Ntexpr(__symbols); let __sym1 = __pop_Term_22_28_22(__symbols); let __sym0 = __pop_Term_22abs_22(__symbols); let __start = __sym0.0.clone(); let __end = __sym3.2.clone(); - let __nt = super::__action32(input, __sym0, __sym1, __sym2, __sym3); + let __nt = super::__action33(input, __sym0, __sym1, __sym2, __sym3); let __states_len = __states.len(); __states.truncate(__states_len - 4); __symbols.push((__start, __Symbol::Ntterm(__nt), __end)); 23 } - 63 => { - // term = "(", expr, ")" => ActionFn(33); + 71 => { + // term = "(", expr, ")" => ActionFn(34); let __sym2 = __pop_Term_22_29_22(__symbols); let __sym1 = __pop_Ntexpr(__symbols); let __sym0 = __pop_Term_22_28_22(__symbols); let __start = __sym0.0.clone(); let __end = __sym2.2.clone(); - let __nt = super::__action33(input, __sym0, __sym1, __sym2); + let __nt = super::__action34(input, __sym0, __sym1, __sym2); let __states_len = __states.len(); __states.truncate(__states_len - 3); __symbols.push((__start, __Symbol::Ntterm(__nt), __end)); 23 } + 72 => { + // units_declaration = "(", "unit", "=", string_literal, ")" => ActionFn(10); + let __sym4 = __pop_Term_22_29_22(__symbols); + let __sym3 = __pop_Ntstring__literal(__symbols); + let __sym2 = __pop_Term_22_3d_22(__symbols); + let __sym1 = __pop_Term_22unit_22(__symbols); + let __sym0 = __pop_Term_22_28_22(__symbols); + let __start = __sym0.0.clone(); + let __end = __sym4.2.clone(); + let __nt = super::__action10(input, __sym0, __sym1, __sym2, __sym3, __sym4); + let __states_len = __states.len(); + __states.truncate(__states_len - 5); + __symbols.push((__start, __Symbol::Ntunits__declaration(__nt), __end)); + 24 + } + 73 => { + // units_declaration? = units_declaration => ActionFn(39); + let __sym0 = __pop_Ntunits__declaration(__symbols); + let __start = __sym0.0.clone(); + let __end = __sym0.2.clone(); + let __nt = super::__action39(input, __sym0); + let __states_len = __states.len(); + __states.truncate(__states_len - 1); + __symbols.push((__start, __Symbol::Ntunits__declaration_3f(__nt), __end)); + 25 + } + 74 => { + // units_declaration? = => ActionFn(40); + let __start = __symbols.last().map(|s| s.2.clone()).unwrap_or_default(); + let __end = __lookahead_start.cloned().unwrap_or_else(|| __start.clone()); + let __nt = super::__action40(input, &__start, &__end); + let __states_len = __states.len(); + __states.truncate(__states_len - 0); + __symbols.push((__start, __Symbol::Ntunits__declaration_3f(__nt), __end)); + 25 + } + 75 => { + // value_declaration = "=", expr => ActionFn(9); + let __sym1 = __pop_Ntexpr(__symbols); + let __sym0 = __pop_Term_22_3d_22(__symbols); + let __start = __sym0.0.clone(); + let __end = __sym1.2.clone(); + let __nt = super::__action9(input, __sym0, __sym1); + let __states_len = __states.len(); + __states.truncate(__states_len - 2); + __symbols.push((__start, __Symbol::Ntvalue__declaration(__nt), __end)); + 26 + } + 76 => { + // value_declaration? = value_declaration => ActionFn(37); + let __sym0 = __pop_Ntvalue__declaration(__symbols); + let __start = __sym0.0.clone(); + let __end = __sym0.2.clone(); + let __nt = super::__action37(input, __sym0); + let __states_len = __states.len(); + __states.truncate(__states_len - 1); + __symbols.push((__start, __Symbol::Ntvalue__declaration_3f(__nt), __end)); + 27 + } + 77 => { + // value_declaration? = => ActionFn(38); + let __start = __symbols.last().map(|s| s.2.clone()).unwrap_or_default(); + let __end = __lookahead_start.cloned().unwrap_or_else(|| __start.clone()); + let __nt = super::__action38(input, &__start, &__end); + let __states_len = __states.len(); + __states.truncate(__states_len - 0); + __symbols.push((__start, __Symbol::Ntvalue__declaration_3f(__nt), __end)); + 27 + } _ => panic!("invalid action code {}", __action) }; let __state = *__states.last().unwrap() as usize; - let __next_state = __GOTO[__state * 24 + __nonterminal] - 1; + let __next_state = __GOTO[__state * 28 + __nonterminal] - 1; __states.push(__next_state); None } @@ -1473,6 +1687,16 @@ mod __parse__float { _ => panic!("symbol type mismatch") } } + fn __pop_Term_22unit_22< + 'input, + >( + __symbols: &mut ::std::vec::Vec<(usize,__Symbol<'input>,usize)> + ) -> (usize, &'input str, usize) { + match __symbols.pop().unwrap() { + (__l, __Symbol::Term_22unit_22(__v), __r) => (__l, __v, __r), + _ => panic!("symbol type mismatch") + } + } fn __pop_Termr_23_22_5c_22_5b_5e_5c_22_5c_5c_5c_5c_5d_2a_5c_22_22_23< 'input, >( @@ -1753,6 +1977,46 @@ mod __parse__float { _ => panic!("symbol type mismatch") } } + fn __pop_Ntunits__declaration< + 'input, + >( + __symbols: &mut ::std::vec::Vec<(usize,__Symbol<'input>,usize)> + ) -> (usize, String, usize) { + match __symbols.pop().unwrap() { + (__l, __Symbol::Ntunits__declaration(__v), __r) => (__l, __v, __r), + _ => panic!("symbol type mismatch") + } + } + fn __pop_Ntunits__declaration_3f< + 'input, + >( + __symbols: &mut ::std::vec::Vec<(usize,__Symbol<'input>,usize)> + ) -> (usize, ::std::option::Option<String>, usize) { + match __symbols.pop().unwrap() { + (__l, __Symbol::Ntunits__declaration_3f(__v), __r) => (__l, __v, __r), + _ => panic!("symbol type mismatch") + } + } + fn __pop_Ntvalue__declaration< + 'input, + >( + __symbols: &mut ::std::vec::Vec<(usize,__Symbol<'input>,usize)> + ) -> (usize, Expr, usize) { + match __symbols.pop().unwrap() { + (__l, __Symbol::Ntvalue__declaration(__v), __r) => (__l, __v, __r), + _ => panic!("symbol type mismatch") + } + } + fn __pop_Ntvalue__declaration_3f< + 'input, + >( + __symbols: &mut ::std::vec::Vec<(usize,__Symbol<'input>,usize)> + ) -> (usize, ::std::option::Option<Expr>, usize) { + match __symbols.pop().unwrap() { + (__l, __Symbol::Ntvalue__declaration_3f(__v), __r) => (__l, __v, __r), + _ => panic!("symbol type mismatch") + } + } } pub use self::__parse__float::parse_float; @@ -1787,6 +2051,7 @@ mod __parse__identifier { Term_22output_22(&'input str), Term_22parameter_22(&'input str), Term_22stream_22(&'input str), + Term_22unit_22(&'input str), Termr_23_22_5c_22_5b_5e_5c_22_5c_5c_5c_5c_5d_2a_5c_22_22_23(&'input str), Termr_23_22_5b_2b_2d_5d_3f_5c_5cd_2b_22_23(&'input str), Termr_23_22_5b_2b_2d_5d_3f_5c_5cd_2b_5c_5c_2e_5c_5cd_2a_28_5beE_5d_5b_2d_2b_5d_3f_5c_5cd_2b_29_3f_22_23(&'input str), @@ -1815,6 +2080,10 @@ mod __parse__identifier { Ntstring__literal(String), Ntstring__literal_3f(::std::option::Option<String>), Ntterm(Expr), + Ntunits__declaration(String), + Ntunits__declaration_3f(::std::option::Option<String>), + Ntvalue__declaration(Expr), + Ntvalue__declaration_3f(::std::option::Option<Expr>), } const __ACTION: &'static [i32] = &[ // State 0 @@ -1841,6 +2110,7 @@ mod __parse__identifier { 0, // on "output", error 0, // on "parameter", error 0, // on "stream", error + 0, // on "unit", error 0, // on r#"\"[^\"\\\\]*\""#, error 0, // on r#"[+-]?\\d+"#, error 0, // on r#"[+-]?\\d+\\.\\d*([eE][-+]?\\d+)?"#, error @@ -1869,6 +2139,7 @@ mod __parse__identifier { 0, // on "output", error 0, // on "parameter", error 0, // on "stream", error + 0, // on "unit", error 0, // on r#"\"[^\"\\\\]*\""#, error 0, // on r#"[+-]?\\d+"#, error 0, // on r#"[+-]?\\d+\\.\\d*([eE][-+]?\\d+)?"#, error @@ -1897,6 +2168,7 @@ mod __parse__identifier { 0, // on "output", error 0, // on "parameter", error 0, // on "stream", error + 0, // on "unit", error 0, // on r#"\"[^\"\\\\]*\""#, error 0, // on r#"[+-]?\\d+"#, error 0, // on r#"[+-]?\\d+\\.\\d*([eE][-+]?\\d+)?"#, error @@ -1905,7 +2177,7 @@ mod __parse__identifier { const __EOF_ACTION: &'static [i32] = &[ 0, // on EOF, error -2, // on EOF, reduce `__identifier = identifier => ActionFn(0);` - -40, // on EOF, reduce `identifier = r#"[a-zA-Z_][a-zA-Z_0-9]*"# => ActionFn(4);` + -48, // on EOF, reduce `identifier = r#"[a-zA-Z_][a-zA-Z_0-9]*"# => ActionFn(4);` ]; const __GOTO: &'static [i32] = &[ // State 0 @@ -1933,6 +2205,10 @@ mod __parse__identifier { 0, // on string_literal, error 0, // on string_literal?, error 0, // on term, error + 0, // on units_declaration, error + 0, // on units_declaration?, error + 0, // on value_declaration, error + 0, // on value_declaration?, error // State 1 0, // on __float, error 0, // on __identifier, error @@ -1958,6 +2234,10 @@ mod __parse__identifier { 0, // on string_literal, error 0, // on string_literal?, error 0, // on term, error + 0, // on units_declaration, error + 0, // on units_declaration?, error + 0, // on value_declaration, error + 0, // on value_declaration?, error // State 2 0, // on __float, error 0, // on __identifier, error @@ -1983,6 +2263,10 @@ mod __parse__identifier { 0, // on string_literal, error 0, // on string_literal?, error 0, // on term, error + 0, // on units_declaration, error + 0, // on units_declaration?, error + 0, // on value_declaration, error + 0, // on value_declaration?, error ]; pub fn parse_identifier< 'input, @@ -2027,6 +2311,7 @@ mod __parse__identifier { (_, (24, _), _) if true => 24, (_, (25, _), _) if true => 25, (_, (26, _), _) if true => 26, + (_, (27, _), _) if true => 27, _ => { return Err(__lalrpop_util::ParseError::UnrecognizedToken { token: Some(__lookahead), @@ -2036,7 +2321,7 @@ mod __parse__identifier { }; loop { let __state = *__states.last().unwrap() as usize; - let __action = __ACTION[__state * 27 + __integer]; + let __action = __ACTION[__state * 28 + __integer]; if __action > 0 { let __symbol = match __integer { 0 => match __lookahead.1 { @@ -2132,19 +2417,23 @@ mod __parse__identifier { _ => unreachable!(), }, 23 => match __lookahead.1 { - (23, __tok0) => __Symbol::Termr_23_22_5c_22_5b_5e_5c_22_5c_5c_5c_5c_5d_2a_5c_22_22_23(__tok0), + (23, __tok0) => __Symbol::Term_22unit_22(__tok0), _ => unreachable!(), }, 24 => match __lookahead.1 { - (24, __tok0) => __Symbol::Termr_23_22_5b_2b_2d_5d_3f_5c_5cd_2b_22_23(__tok0), + (24, __tok0) => __Symbol::Termr_23_22_5c_22_5b_5e_5c_22_5c_5c_5c_5c_5d_2a_5c_22_22_23(__tok0), _ => unreachable!(), }, 25 => match __lookahead.1 { - (25, __tok0) => __Symbol::Termr_23_22_5b_2b_2d_5d_3f_5c_5cd_2b_5c_5c_2e_5c_5cd_2a_28_5beE_5d_5b_2d_2b_5d_3f_5c_5cd_2b_29_3f_22_23(__tok0), + (25, __tok0) => __Symbol::Termr_23_22_5b_2b_2d_5d_3f_5c_5cd_2b_22_23(__tok0), _ => unreachable!(), }, 26 => match __lookahead.1 { - (26, __tok0) => __Symbol::Termr_23_22_5ba_2dzA_2dZ___5d_5ba_2dzA_2dZ__0_2d9_5d_2a_22_23(__tok0), + (26, __tok0) => __Symbol::Termr_23_22_5b_2b_2d_5d_3f_5c_5cd_2b_5c_5c_2e_5c_5cd_2a_28_5beE_5d_5b_2d_2b_5d_3f_5c_5cd_2b_29_3f_22_23(__tok0), + _ => unreachable!(), + }, + 27 => match __lookahead.1 { + (27, __tok0) => __Symbol::Termr_23_22_5ba_2dzA_2dZ___5d_5ba_2dzA_2dZ__0_2d9_5d_2a_22_23(__tok0), _ => unreachable!(), }, _ => unreachable!(), @@ -2232,269 +2521,389 @@ mod __parse__identifier { 3 } 5 => { - // component_declaration = component_prefix, identifier, identifier, string_literal, ";" => ActionFn(68); - let __sym4 = __pop_Term_22_3b_22(__symbols); - let __sym3 = __pop_Ntstring__literal(__symbols); + // component_declaration = component_prefix, identifier, identifier, units_declaration, value_declaration, string_literal, ";" => ActionFn(83); + let __sym6 = __pop_Term_22_3b_22(__symbols); + let __sym5 = __pop_Ntstring__literal(__symbols); + let __sym4 = __pop_Ntvalue__declaration(__symbols); + let __sym3 = __pop_Ntunits__declaration(__symbols); let __sym2 = __pop_Ntidentifier(__symbols); let __sym1 = __pop_Ntidentifier(__symbols); let __sym0 = __pop_Ntcomponent__prefix(__symbols); let __start = __sym0.0.clone(); - let __end = __sym4.2.clone(); - let __nt = super::__action68(input, __sym0, __sym1, __sym2, __sym3, __sym4); + let __end = __sym6.2.clone(); + let __nt = super::__action83(input, __sym0, __sym1, __sym2, __sym3, __sym4, __sym5, __sym6); let __states_len = __states.len(); - __states.truncate(__states_len - 5); + __states.truncate(__states_len - 7); __symbols.push((__start, __Symbol::Ntcomponent__declaration(__nt), __end)); 4 } 6 => { - // component_declaration = component_prefix, identifier, identifier, ";" => ActionFn(69); - let __sym3 = __pop_Term_22_3b_22(__symbols); + // component_declaration = component_prefix, identifier, identifier, units_declaration, string_literal, ";" => ActionFn(84); + let __sym5 = __pop_Term_22_3b_22(__symbols); + let __sym4 = __pop_Ntstring__literal(__symbols); + let __sym3 = __pop_Ntunits__declaration(__symbols); let __sym2 = __pop_Ntidentifier(__symbols); let __sym1 = __pop_Ntidentifier(__symbols); let __sym0 = __pop_Ntcomponent__prefix(__symbols); let __start = __sym0.0.clone(); - let __end = __sym3.2.clone(); - let __nt = super::__action69(input, __sym0, __sym1, __sym2, __sym3); + let __end = __sym5.2.clone(); + let __nt = super::__action84(input, __sym0, __sym1, __sym2, __sym3, __sym4, __sym5); let __states_len = __states.len(); - __states.truncate(__states_len - 4); + __states.truncate(__states_len - 6); __symbols.push((__start, __Symbol::Ntcomponent__declaration(__nt), __end)); 4 } 7 => { - // component_declaration = identifier, identifier, string_literal, ";" => ActionFn(70); - let __sym3 = __pop_Term_22_3b_22(__symbols); - let __sym2 = __pop_Ntstring__literal(__symbols); + // component_declaration = component_prefix, identifier, identifier, value_declaration, string_literal, ";" => ActionFn(85); + let __sym5 = __pop_Term_22_3b_22(__symbols); + let __sym4 = __pop_Ntstring__literal(__symbols); + let __sym3 = __pop_Ntvalue__declaration(__symbols); + let __sym2 = __pop_Ntidentifier(__symbols); let __sym1 = __pop_Ntidentifier(__symbols); - let __sym0 = __pop_Ntidentifier(__symbols); + let __sym0 = __pop_Ntcomponent__prefix(__symbols); let __start = __sym0.0.clone(); - let __end = __sym3.2.clone(); - let __nt = super::__action70(input, __sym0, __sym1, __sym2, __sym3); + let __end = __sym5.2.clone(); + let __nt = super::__action85(input, __sym0, __sym1, __sym2, __sym3, __sym4, __sym5); let __states_len = __states.len(); - __states.truncate(__states_len - 4); + __states.truncate(__states_len - 6); __symbols.push((__start, __Symbol::Ntcomponent__declaration(__nt), __end)); 4 } 8 => { - // component_declaration = identifier, identifier, ";" => ActionFn(71); - let __sym2 = __pop_Term_22_3b_22(__symbols); + // component_declaration = component_prefix, identifier, identifier, string_literal, ";" => ActionFn(86); + let __sym4 = __pop_Term_22_3b_22(__symbols); + let __sym3 = __pop_Ntstring__literal(__symbols); + let __sym2 = __pop_Ntidentifier(__symbols); let __sym1 = __pop_Ntidentifier(__symbols); - let __sym0 = __pop_Ntidentifier(__symbols); + let __sym0 = __pop_Ntcomponent__prefix(__symbols); let __start = __sym0.0.clone(); - let __end = __sym2.2.clone(); - let __nt = super::__action71(input, __sym0, __sym1, __sym2); + let __end = __sym4.2.clone(); + let __nt = super::__action86(input, __sym0, __sym1, __sym2, __sym3, __sym4); let __states_len = __states.len(); - __states.truncate(__states_len - 3); + __states.truncate(__states_len - 5); __symbols.push((__start, __Symbol::Ntcomponent__declaration(__nt), __end)); 4 } 9 => { - // component_declaration = component_prefix, identifier, identifier, "=", expr, string_literal, ";" => ActionFn(72); - let __sym6 = __pop_Term_22_3b_22(__symbols); - let __sym5 = __pop_Ntstring__literal(__symbols); - let __sym4 = __pop_Ntexpr(__symbols); - let __sym3 = __pop_Term_22_3d_22(__symbols); + // component_declaration = component_prefix, identifier, identifier, units_declaration, value_declaration, ";" => ActionFn(87); + let __sym5 = __pop_Term_22_3b_22(__symbols); + let __sym4 = __pop_Ntvalue__declaration(__symbols); + let __sym3 = __pop_Ntunits__declaration(__symbols); let __sym2 = __pop_Ntidentifier(__symbols); let __sym1 = __pop_Ntidentifier(__symbols); let __sym0 = __pop_Ntcomponent__prefix(__symbols); let __start = __sym0.0.clone(); - let __end = __sym6.2.clone(); - let __nt = super::__action72(input, __sym0, __sym1, __sym2, __sym3, __sym4, __sym5, __sym6); + let __end = __sym5.2.clone(); + let __nt = super::__action87(input, __sym0, __sym1, __sym2, __sym3, __sym4, __sym5); let __states_len = __states.len(); - __states.truncate(__states_len - 7); + __states.truncate(__states_len - 6); __symbols.push((__start, __Symbol::Ntcomponent__declaration(__nt), __end)); 4 } 10 => { - // component_declaration = component_prefix, identifier, identifier, "=", expr, ";" => ActionFn(73); - let __sym5 = __pop_Term_22_3b_22(__symbols); - let __sym4 = __pop_Ntexpr(__symbols); - let __sym3 = __pop_Term_22_3d_22(__symbols); + // component_declaration = component_prefix, identifier, identifier, units_declaration, ";" => ActionFn(88); + let __sym4 = __pop_Term_22_3b_22(__symbols); + let __sym3 = __pop_Ntunits__declaration(__symbols); let __sym2 = __pop_Ntidentifier(__symbols); let __sym1 = __pop_Ntidentifier(__symbols); let __sym0 = __pop_Ntcomponent__prefix(__symbols); let __start = __sym0.0.clone(); - let __end = __sym5.2.clone(); - let __nt = super::__action73(input, __sym0, __sym1, __sym2, __sym3, __sym4, __sym5); + let __end = __sym4.2.clone(); + let __nt = super::__action88(input, __sym0, __sym1, __sym2, __sym3, __sym4); let __states_len = __states.len(); - __states.truncate(__states_len - 6); + __states.truncate(__states_len - 5); __symbols.push((__start, __Symbol::Ntcomponent__declaration(__nt), __end)); 4 } 11 => { - // component_declaration = identifier, identifier, "=", expr, string_literal, ";" => ActionFn(74); + // component_declaration = component_prefix, identifier, identifier, value_declaration, ";" => ActionFn(89); + let __sym4 = __pop_Term_22_3b_22(__symbols); + let __sym3 = __pop_Ntvalue__declaration(__symbols); + let __sym2 = __pop_Ntidentifier(__symbols); + let __sym1 = __pop_Ntidentifier(__symbols); + let __sym0 = __pop_Ntcomponent__prefix(__symbols); + let __start = __sym0.0.clone(); + let __end = __sym4.2.clone(); + let __nt = super::__action89(input, __sym0, __sym1, __sym2, __sym3, __sym4); + let __states_len = __states.len(); + __states.truncate(__states_len - 5); + __symbols.push((__start, __Symbol::Ntcomponent__declaration(__nt), __end)); + 4 + } + 12 => { + // component_declaration = component_prefix, identifier, identifier, ";" => ActionFn(90); + let __sym3 = __pop_Term_22_3b_22(__symbols); + let __sym2 = __pop_Ntidentifier(__symbols); + let __sym1 = __pop_Ntidentifier(__symbols); + let __sym0 = __pop_Ntcomponent__prefix(__symbols); + let __start = __sym0.0.clone(); + let __end = __sym3.2.clone(); + let __nt = super::__action90(input, __sym0, __sym1, __sym2, __sym3); + let __states_len = __states.len(); + __states.truncate(__states_len - 4); + __symbols.push((__start, __Symbol::Ntcomponent__declaration(__nt), __end)); + 4 + } + 13 => { + // component_declaration = identifier, identifier, units_declaration, value_declaration, string_literal, ";" => ActionFn(91); let __sym5 = __pop_Term_22_3b_22(__symbols); let __sym4 = __pop_Ntstring__literal(__symbols); - let __sym3 = __pop_Ntexpr(__symbols); - let __sym2 = __pop_Term_22_3d_22(__symbols); + let __sym3 = __pop_Ntvalue__declaration(__symbols); + let __sym2 = __pop_Ntunits__declaration(__symbols); let __sym1 = __pop_Ntidentifier(__symbols); let __sym0 = __pop_Ntidentifier(__symbols); let __start = __sym0.0.clone(); let __end = __sym5.2.clone(); - let __nt = super::__action74(input, __sym0, __sym1, __sym2, __sym3, __sym4, __sym5); + let __nt = super::__action91(input, __sym0, __sym1, __sym2, __sym3, __sym4, __sym5); let __states_len = __states.len(); __states.truncate(__states_len - 6); __symbols.push((__start, __Symbol::Ntcomponent__declaration(__nt), __end)); 4 } - 12 => { - // component_declaration = identifier, identifier, "=", expr, ";" => ActionFn(75); + 14 => { + // component_declaration = identifier, identifier, units_declaration, string_literal, ";" => ActionFn(92); let __sym4 = __pop_Term_22_3b_22(__symbols); - let __sym3 = __pop_Ntexpr(__symbols); - let __sym2 = __pop_Term_22_3d_22(__symbols); + let __sym3 = __pop_Ntstring__literal(__symbols); + let __sym2 = __pop_Ntunits__declaration(__symbols); let __sym1 = __pop_Ntidentifier(__symbols); let __sym0 = __pop_Ntidentifier(__symbols); let __start = __sym0.0.clone(); let __end = __sym4.2.clone(); - let __nt = super::__action75(input, __sym0, __sym1, __sym2, __sym3, __sym4); + let __nt = super::__action92(input, __sym0, __sym1, __sym2, __sym3, __sym4); let __states_len = __states.len(); __states.truncate(__states_len - 5); __symbols.push((__start, __Symbol::Ntcomponent__declaration(__nt), __end)); 4 } - 13 => { - // component_declaration* = => ActionFn(42); + 15 => { + // component_declaration = identifier, identifier, value_declaration, string_literal, ";" => ActionFn(93); + let __sym4 = __pop_Term_22_3b_22(__symbols); + let __sym3 = __pop_Ntstring__literal(__symbols); + let __sym2 = __pop_Ntvalue__declaration(__symbols); + let __sym1 = __pop_Ntidentifier(__symbols); + let __sym0 = __pop_Ntidentifier(__symbols); + let __start = __sym0.0.clone(); + let __end = __sym4.2.clone(); + let __nt = super::__action93(input, __sym0, __sym1, __sym2, __sym3, __sym4); + let __states_len = __states.len(); + __states.truncate(__states_len - 5); + __symbols.push((__start, __Symbol::Ntcomponent__declaration(__nt), __end)); + 4 + } + 16 => { + // component_declaration = identifier, identifier, string_literal, ";" => ActionFn(94); + let __sym3 = __pop_Term_22_3b_22(__symbols); + let __sym2 = __pop_Ntstring__literal(__symbols); + let __sym1 = __pop_Ntidentifier(__symbols); + let __sym0 = __pop_Ntidentifier(__symbols); + let __start = __sym0.0.clone(); + let __end = __sym3.2.clone(); + let __nt = super::__action94(input, __sym0, __sym1, __sym2, __sym3); + let __states_len = __states.len(); + __states.truncate(__states_len - 4); + __symbols.push((__start, __Symbol::Ntcomponent__declaration(__nt), __end)); + 4 + } + 17 => { + // component_declaration = identifier, identifier, units_declaration, value_declaration, ";" => ActionFn(95); + let __sym4 = __pop_Term_22_3b_22(__symbols); + let __sym3 = __pop_Ntvalue__declaration(__symbols); + let __sym2 = __pop_Ntunits__declaration(__symbols); + let __sym1 = __pop_Ntidentifier(__symbols); + let __sym0 = __pop_Ntidentifier(__symbols); + let __start = __sym0.0.clone(); + let __end = __sym4.2.clone(); + let __nt = super::__action95(input, __sym0, __sym1, __sym2, __sym3, __sym4); + let __states_len = __states.len(); + __states.truncate(__states_len - 5); + __symbols.push((__start, __Symbol::Ntcomponent__declaration(__nt), __end)); + 4 + } + 18 => { + // component_declaration = identifier, identifier, units_declaration, ";" => ActionFn(96); + let __sym3 = __pop_Term_22_3b_22(__symbols); + let __sym2 = __pop_Ntunits__declaration(__symbols); + let __sym1 = __pop_Ntidentifier(__symbols); + let __sym0 = __pop_Ntidentifier(__symbols); + let __start = __sym0.0.clone(); + let __end = __sym3.2.clone(); + let __nt = super::__action96(input, __sym0, __sym1, __sym2, __sym3); + let __states_len = __states.len(); + __states.truncate(__states_len - 4); + __symbols.push((__start, __Symbol::Ntcomponent__declaration(__nt), __end)); + 4 + } + 19 => { + // component_declaration = identifier, identifier, value_declaration, ";" => ActionFn(97); + let __sym3 = __pop_Term_22_3b_22(__symbols); + let __sym2 = __pop_Ntvalue__declaration(__symbols); + let __sym1 = __pop_Ntidentifier(__symbols); + let __sym0 = __pop_Ntidentifier(__symbols); + let __start = __sym0.0.clone(); + let __end = __sym3.2.clone(); + let __nt = super::__action97(input, __sym0, __sym1, __sym2, __sym3); + let __states_len = __states.len(); + __states.truncate(__states_len - 4); + __symbols.push((__start, __Symbol::Ntcomponent__declaration(__nt), __end)); + 4 + } + 20 => { + // component_declaration = identifier, identifier, ";" => ActionFn(98); + let __sym2 = __pop_Term_22_3b_22(__symbols); + let __sym1 = __pop_Ntidentifier(__symbols); + let __sym0 = __pop_Ntidentifier(__symbols); + let __start = __sym0.0.clone(); + let __end = __sym2.2.clone(); + let __nt = super::__action98(input, __sym0, __sym1, __sym2); + let __states_len = __states.len(); + __states.truncate(__states_len - 3); + __symbols.push((__start, __Symbol::Ntcomponent__declaration(__nt), __end)); + 4 + } + 21 => { + // component_declaration* = => ActionFn(47); let __start = __symbols.last().map(|s| s.2.clone()).unwrap_or_default(); let __end = __lookahead_start.cloned().unwrap_or_else(|| __start.clone()); - let __nt = super::__action42(input, &__start, &__end); + let __nt = super::__action47(input, &__start, &__end); let __states_len = __states.len(); __states.truncate(__states_len - 0); __symbols.push((__start, __Symbol::Ntcomponent__declaration_2a(__nt), __end)); 5 } - 14 => { - // component_declaration* = component_declaration+ => ActionFn(43); + 22 => { + // component_declaration* = component_declaration+ => ActionFn(48); let __sym0 = __pop_Ntcomponent__declaration_2b(__symbols); let __start = __sym0.0.clone(); let __end = __sym0.2.clone(); - let __nt = super::__action43(input, __sym0); + let __nt = super::__action48(input, __sym0); let __states_len = __states.len(); __states.truncate(__states_len - 1); __symbols.push((__start, __Symbol::Ntcomponent__declaration_2a(__nt), __end)); 5 } - 15 => { - // component_declaration+ = component_declaration => ActionFn(44); + 23 => { + // component_declaration+ = component_declaration => ActionFn(49); let __sym0 = __pop_Ntcomponent__declaration(__symbols); let __start = __sym0.0.clone(); let __end = __sym0.2.clone(); - let __nt = super::__action44(input, __sym0); + let __nt = super::__action49(input, __sym0); let __states_len = __states.len(); __states.truncate(__states_len - 1); __symbols.push((__start, __Symbol::Ntcomponent__declaration_2b(__nt), __end)); 6 } - 16 => { - // component_declaration+ = component_declaration+, component_declaration => ActionFn(45); + 24 => { + // component_declaration+ = component_declaration+, component_declaration => ActionFn(50); let __sym1 = __pop_Ntcomponent__declaration(__symbols); let __sym0 = __pop_Ntcomponent__declaration_2b(__symbols); let __start = __sym0.0.clone(); let __end = __sym1.2.clone(); - let __nt = super::__action45(input, __sym0, __sym1); + let __nt = super::__action50(input, __sym0, __sym1); let __states_len = __states.len(); __states.truncate(__states_len - 2); __symbols.push((__start, __Symbol::Ntcomponent__declaration_2b(__nt), __end)); 6 } - 17 => { - // component_prefix = "flow" => ActionFn(11); + 25 => { + // component_prefix = "flow" => ActionFn(12); let __sym0 = __pop_Term_22flow_22(__symbols); let __start = __sym0.0.clone(); let __end = __sym0.2.clone(); - let __nt = super::__action11(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 } - 18 => { - // component_prefix = "stream" => ActionFn(12); + 26 => { + // component_prefix = "stream" => ActionFn(13); let __sym0 = __pop_Term_22stream_22(__symbols); let __start = __sym0.0.clone(); let __end = __sym0.2.clone(); - let __nt = super::__action12(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 } - 19 => { - // component_prefix = "input" => ActionFn(13); + 27 => { + // component_prefix = "input" => ActionFn(14); let __sym0 = __pop_Term_22input_22(__symbols); let __start = __sym0.0.clone(); let __end = __sym0.2.clone(); - let __nt = super::__action13(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 } - 20 => { - // component_prefix = "output" => ActionFn(14); + 28 => { + // component_prefix = "output" => ActionFn(15); let __sym0 = __pop_Term_22output_22(__symbols); let __start = __sym0.0.clone(); let __end = __sym0.2.clone(); - let __nt = super::__action14(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 } - 21 => { - // component_prefix = "discrete" => ActionFn(15); + 29 => { + // component_prefix = "discrete" => ActionFn(16); let __sym0 = __pop_Term_22discrete_22(__symbols); let __start = __sym0.0.clone(); let __end = __sym0.2.clone(); - let __nt = super::__action15(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 } - 22 => { - // component_prefix = "parameter" => ActionFn(16); + 30 => { + // component_prefix = "parameter" => ActionFn(17); let __sym0 = __pop_Term_22parameter_22(__symbols); let __start = __sym0.0.clone(); let __end = __sym0.2.clone(); - let __nt = super::__action16(input, __sym0); + let __nt = super::__action17(input, __sym0); let __states_len = __states.len(); __states.truncate(__states_len - 1); __symbols.push((__start, __Symbol::Ntcomponent__prefix(__nt), __end)); 7 } - 23 => { - // component_prefix = "constant" => ActionFn(17); + 31 => { + // component_prefix = "constant" => ActionFn(18); let __sym0 = __pop_Term_22constant_22(__symbols); let __start = __sym0.0.clone(); let __end = __sym0.2.clone(); - let __nt = super::__action17(input, __sym0); + let __nt = super::__action18(input, __sym0); let __states_len = __states.len(); __states.truncate(__states_len - 1); __symbols.push((__start, __Symbol::Ntcomponent__prefix(__nt), __end)); 7 } - 24 => { - // component_prefix? = component_prefix => ActionFn(36); + 32 => { + // component_prefix? = component_prefix => ActionFn(41); let __sym0 = __pop_Ntcomponent__prefix(__symbols); let __start = __sym0.0.clone(); let __end = __sym0.2.clone(); - let __nt = super::__action36(input, __sym0); + let __nt = super::__action41(input, __sym0); let __states_len = __states.len(); __states.truncate(__states_len - 1); __symbols.push((__start, __Symbol::Ntcomponent__prefix_3f(__nt), __end)); 8 } - 25 => { - // component_prefix? = => ActionFn(37); + 33 => { + // component_prefix? = => ActionFn(42); let __start = __symbols.last().map(|s| s.2.clone()).unwrap_or_default(); let __end = __lookahead_start.cloned().unwrap_or_else(|| __start.clone()); - let __nt = super::__action37(input, &__start, &__end); + let __nt = super::__action42(input, &__start, &__end); let __states_len = __states.len(); __states.truncate(__states_len - 0); __symbols.push((__start, __Symbol::Ntcomponent__prefix_3f(__nt), __end)); 8 } - 26 => { - // connect_clause = "connect", "(", identifier, ",", identifier, ")", ";" => ActionFn(19); + 34 => { + // connect_clause = "connect", "(", identifier, ",", identifier, ")", ";" => ActionFn(20); let __sym6 = __pop_Term_22_3b_22(__symbols); let __sym5 = __pop_Term_22_29_22(__symbols); let __sym4 = __pop_Ntidentifier(__symbols); @@ -2504,156 +2913,156 @@ mod __parse__identifier { 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::__action20(input, __sym0, __sym1, __sym2, __sym3, __sym4, __sym5, __sym6); let __states_len = __states.len(); __states.truncate(__states_len - 7); __symbols.push((__start, __Symbol::Ntconnect__clause(__nt), __end)); 9 } - 27 => { - // connect_clause* = => ActionFn(40); + 35 => { + // connect_clause* = => ActionFn(45); let __start = __symbols.last().map(|s| s.2.clone()).unwrap_or_default(); let __end = __lookahead_start.cloned().unwrap_or_else(|| __start.clone()); - let __nt = super::__action40(input, &__start, &__end); + let __nt = super::__action45(input, &__start, &__end); let __states_len = __states.len(); __states.truncate(__states_len - 0); __symbols.push((__start, __Symbol::Ntconnect__clause_2a(__nt), __end)); 10 } - 28 => { - // connect_clause* = connect_clause+ => ActionFn(41); + 36 => { + // connect_clause* = connect_clause+ => ActionFn(46); let __sym0 = __pop_Ntconnect__clause_2b(__symbols); let __start = __sym0.0.clone(); let __end = __sym0.2.clone(); - let __nt = super::__action41(input, __sym0); + let __nt = super::__action46(input, __sym0); let __states_len = __states.len(); __states.truncate(__states_len - 1); __symbols.push((__start, __Symbol::Ntconnect__clause_2a(__nt), __end)); 10 } - 29 => { - // connect_clause+ = connect_clause => ActionFn(46); + 37 => { + // connect_clause+ = connect_clause => ActionFn(51); let __sym0 = __pop_Ntconnect__clause(__symbols); let __start = __sym0.0.clone(); let __end = __sym0.2.clone(); - let __nt = super::__action46(input, __sym0); + let __nt = super::__action51(input, __sym0); let __states_len = __states.len(); __states.truncate(__states_len - 1); __symbols.push((__start, __Symbol::Ntconnect__clause_2b(__nt), __end)); 11 } - 30 => { - // connect_clause+ = connect_clause+, connect_clause => ActionFn(47); + 38 => { + // connect_clause+ = connect_clause+, connect_clause => ActionFn(52); let __sym1 = __pop_Ntconnect__clause(__symbols); let __sym0 = __pop_Ntconnect__clause_2b(__symbols); let __start = __sym0.0.clone(); let __end = __sym1.2.clone(); - let __nt = super::__action47(input, __sym0, __sym1); + let __nt = super::__action52(input, __sym0, __sym1); let __states_len = __states.len(); __states.truncate(__states_len - 2); __symbols.push((__start, __Symbol::Ntconnect__clause_2b(__nt), __end)); 11 } - 31 => { - // expr = expr, "+", factor => ActionFn(20); + 39 => { + // expr = expr, "+", factor => ActionFn(21); let __sym2 = __pop_Ntfactor(__symbols); let __sym1 = __pop_Term_22_2b_22(__symbols); let __sym0 = __pop_Ntexpr(__symbols); let __start = __sym0.0.clone(); let __end = __sym2.2.clone(); - let __nt = super::__action20(input, __sym0, __sym1, __sym2); + let __nt = super::__action21(input, __sym0, __sym1, __sym2); let __states_len = __states.len(); __states.truncate(__states_len - 3); __symbols.push((__start, __Symbol::Ntexpr(__nt), __end)); 12 } - 32 => { - // expr = expr, "-", factor => ActionFn(21); + 40 => { + // expr = expr, "-", factor => ActionFn(22); let __sym2 = __pop_Ntfactor(__symbols); let __sym1 = __pop_Term_22_2d_22(__symbols); let __sym0 = __pop_Ntexpr(__symbols); let __start = __sym0.0.clone(); let __end = __sym2.2.clone(); - let __nt = super::__action21(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::Ntexpr(__nt), __end)); 12 } - 33 => { - // expr = factor => ActionFn(22); + 41 => { + // expr = factor => ActionFn(23); let __sym0 = __pop_Ntfactor(__symbols); let __start = __sym0.0.clone(); let __end = __sym0.2.clone(); - let __nt = super::__action22(input, __sym0); + let __nt = super::__action23(input, __sym0); let __states_len = __states.len(); __states.truncate(__states_len - 1); __symbols.push((__start, __Symbol::Ntexpr(__nt), __end)); 12 } - 34 => { - // factor = factor, "*", term => ActionFn(23); + 42 => { + // factor = factor, "*", term => ActionFn(24); let __sym2 = __pop_Ntterm(__symbols); let __sym1 = __pop_Term_22_2a_22(__symbols); let __sym0 = __pop_Ntfactor(__symbols); let __start = __sym0.0.clone(); let __end = __sym2.2.clone(); - let __nt = super::__action23(input, __sym0, __sym1, __sym2); + let __nt = super::__action24(input, __sym0, __sym1, __sym2); let __states_len = __states.len(); __states.truncate(__states_len - 3); __symbols.push((__start, __Symbol::Ntfactor(__nt), __end)); 13 } - 35 => { - // factor = factor, "/", term => ActionFn(24); + 43 => { + // factor = factor, "/", term => ActionFn(25); let __sym2 = __pop_Ntterm(__symbols); let __sym1 = __pop_Term_22_2f_22(__symbols); let __sym0 = __pop_Ntfactor(__symbols); let __start = __sym0.0.clone(); let __end = __sym2.2.clone(); - let __nt = super::__action24(input, __sym0, __sym1, __sym2); + let __nt = super::__action25(input, __sym0, __sym1, __sym2); let __states_len = __states.len(); __states.truncate(__states_len - 3); __symbols.push((__start, __Symbol::Ntfactor(__nt), __end)); 13 } - 36 => { - // factor = factor, "^", term => ActionFn(25); + 44 => { + // factor = factor, "^", term => ActionFn(26); let __sym2 = __pop_Ntterm(__symbols); let __sym1 = __pop_Term_22_5e_22(__symbols); let __sym0 = __pop_Ntfactor(__symbols); let __start = __sym0.0.clone(); let __end = __sym2.2.clone(); - let __nt = super::__action25(input, __sym0, __sym1, __sym2); + let __nt = super::__action26(input, __sym0, __sym1, __sym2); let __states_len = __states.len(); __states.truncate(__states_len - 3); __symbols.push((__start, __Symbol::Ntfactor(__nt), __end)); 13 } - 37 => { - // factor = "-", term => ActionFn(26); + 45 => { + // factor = "-", term => ActionFn(27); let __sym1 = __pop_Ntterm(__symbols); let __sym0 = __pop_Term_22_2d_22(__symbols); let __start = __sym0.0.clone(); let __end = __sym1.2.clone(); - let __nt = super::__action26(input, __sym0, __sym1); + let __nt = super::__action27(input, __sym0, __sym1); let __states_len = __states.len(); __states.truncate(__states_len - 2); __symbols.push((__start, __Symbol::Ntfactor(__nt), __end)); 13 } - 38 => { - // factor = term => ActionFn(27); + 46 => { + // factor = term => ActionFn(28); let __sym0 = __pop_Ntterm(__symbols); let __start = __sym0.0.clone(); let __end = __sym0.2.clone(); - let __nt = super::__action27(input, __sym0); + let __nt = super::__action28(input, __sym0); let __states_len = __states.len(); __states.truncate(__states_len - 1); __symbols.push((__start, __Symbol::Ntfactor(__nt), __end)); 13 } - 39 => { + 47 => { // float = r#"[+-]?\\d+\\.\\d*([eE][-+]?\\d+)?"# => ActionFn(7); let __sym0 = __pop_Termr_23_22_5b_2b_2d_5d_3f_5c_5cd_2b_5c_5c_2e_5c_5cd_2a_28_5beE_5d_5b_2d_2b_5d_3f_5c_5cd_2b_29_3f_22_23(__symbols); let __start = __sym0.0.clone(); @@ -2664,7 +3073,7 @@ mod __parse__identifier { __symbols.push((__start, __Symbol::Ntfloat(__nt), __end)); 14 } - 40 => { + 48 => { // identifier = r#"[a-zA-Z_][a-zA-Z_0-9]*"# => ActionFn(4); let __sym0 = __pop_Termr_23_22_5ba_2dzA_2dZ___5d_5ba_2dzA_2dZ__0_2d9_5d_2a_22_23(__symbols); let __start = __sym0.0.clone(); @@ -2675,7 +3084,7 @@ mod __parse__identifier { __symbols.push((__start, __Symbol::Ntidentifier(__nt), __end)); 15 } - 41 => { + 49 => { // integer = r#"[+-]?\\d+"# => ActionFn(6); let __sym0 = __pop_Termr_23_22_5b_2b_2d_5d_3f_5c_5cd_2b_22_23(__symbols); let __start = __sym0.0.clone(); @@ -2686,8 +3095,8 @@ mod __parse__identifier { __symbols.push((__start, __Symbol::Ntinteger(__nt), __end)); 16 } - 42 => { - // model = "model", identifier, "equation", "end", identifier, ";" => ActionFn(60); + 50 => { + // model = "model", identifier, "equation", "end", identifier, ";" => ActionFn(63); let __sym5 = __pop_Term_22_3b_22(__symbols); let __sym4 = __pop_Ntidentifier(__symbols); let __sym3 = __pop_Term_22end_22(__symbols); @@ -2696,14 +3105,14 @@ mod __parse__identifier { let __sym0 = __pop_Term_22model_22(__symbols); let __start = __sym0.0.clone(); let __end = __sym5.2.clone(); - let __nt = super::__action60(input, __sym0, __sym1, __sym2, __sym3, __sym4, __sym5); + let __nt = super::__action63(input, __sym0, __sym1, __sym2, __sym3, __sym4, __sym5); let __states_len = __states.len(); __states.truncate(__states_len - 6); __symbols.push((__start, __Symbol::Ntmodel(__nt), __end)); 17 } - 43 => { - // model = "model", identifier, "equation", simple_equation+, "end", identifier, ";" => ActionFn(61); + 51 => { + // model = "model", identifier, "equation", simple_equation+, "end", identifier, ";" => ActionFn(64); let __sym6 = __pop_Term_22_3b_22(__symbols); let __sym5 = __pop_Ntidentifier(__symbols); let __sym4 = __pop_Term_22end_22(__symbols); @@ -2713,14 +3122,14 @@ mod __parse__identifier { let __sym0 = __pop_Term_22model_22(__symbols); let __start = __sym0.0.clone(); let __end = __sym6.2.clone(); - let __nt = super::__action61(input, __sym0, __sym1, __sym2, __sym3, __sym4, __sym5, __sym6); + let __nt = super::__action64(input, __sym0, __sym1, __sym2, __sym3, __sym4, __sym5, __sym6); let __states_len = __states.len(); __states.truncate(__states_len - 7); __symbols.push((__start, __Symbol::Ntmodel(__nt), __end)); 17 } - 44 => { - // model = "model", identifier, "equation", connect_clause+, "end", identifier, ";" => ActionFn(62); + 52 => { + // model = "model", identifier, "equation", connect_clause+, "end", identifier, ";" => ActionFn(65); let __sym6 = __pop_Term_22_3b_22(__symbols); let __sym5 = __pop_Ntidentifier(__symbols); let __sym4 = __pop_Term_22end_22(__symbols); @@ -2730,14 +3139,14 @@ mod __parse__identifier { let __sym0 = __pop_Term_22model_22(__symbols); let __start = __sym0.0.clone(); let __end = __sym6.2.clone(); - let __nt = super::__action62(input, __sym0, __sym1, __sym2, __sym3, __sym4, __sym5, __sym6); + let __nt = super::__action65(input, __sym0, __sym1, __sym2, __sym3, __sym4, __sym5, __sym6); let __states_len = __states.len(); __states.truncate(__states_len - 7); __symbols.push((__start, __Symbol::Ntmodel(__nt), __end)); 17 } - 45 => { - // model = "model", identifier, "equation", connect_clause+, simple_equation+, "end", identifier, ";" => ActionFn(63); + 53 => { + // model = "model", identifier, "equation", connect_clause+, simple_equation+, "end", identifier, ";" => ActionFn(66); let __sym7 = __pop_Term_22_3b_22(__symbols); let __sym6 = __pop_Ntidentifier(__symbols); let __sym5 = __pop_Term_22end_22(__symbols); @@ -2748,14 +3157,14 @@ mod __parse__identifier { let __sym0 = __pop_Term_22model_22(__symbols); let __start = __sym0.0.clone(); let __end = __sym7.2.clone(); - let __nt = super::__action63(input, __sym0, __sym1, __sym2, __sym3, __sym4, __sym5, __sym6, __sym7); + let __nt = super::__action66(input, __sym0, __sym1, __sym2, __sym3, __sym4, __sym5, __sym6, __sym7); let __states_len = __states.len(); __states.truncate(__states_len - 8); __symbols.push((__start, __Symbol::Ntmodel(__nt), __end)); 17 } - 46 => { - // model = "model", identifier, component_declaration+, "equation", "end", identifier, ";" => ActionFn(64); + 54 => { + // model = "model", identifier, component_declaration+, "equation", "end", identifier, ";" => ActionFn(67); let __sym6 = __pop_Term_22_3b_22(__symbols); let __sym5 = __pop_Ntidentifier(__symbols); let __sym4 = __pop_Term_22end_22(__symbols); @@ -2765,14 +3174,14 @@ mod __parse__identifier { let __sym0 = __pop_Term_22model_22(__symbols); let __start = __sym0.0.clone(); let __end = __sym6.2.clone(); - let __nt = super::__action64(input, __sym0, __sym1, __sym2, __sym3, __sym4, __sym5, __sym6); + let __nt = super::__action67(input, __sym0, __sym1, __sym2, __sym3, __sym4, __sym5, __sym6); let __states_len = __states.len(); __states.truncate(__states_len - 7); __symbols.push((__start, __Symbol::Ntmodel(__nt), __end)); 17 } - 47 => { - // model = "model", identifier, component_declaration+, "equation", simple_equation+, "end", identifier, ";" => ActionFn(65); + 55 => { + // model = "model", identifier, component_declaration+, "equation", simple_equation+, "end", identifier, ";" => ActionFn(68); let __sym7 = __pop_Term_22_3b_22(__symbols); let __sym6 = __pop_Ntidentifier(__symbols); let __sym5 = __pop_Term_22end_22(__symbols); @@ -2783,14 +3192,14 @@ mod __parse__identifier { let __sym0 = __pop_Term_22model_22(__symbols); let __start = __sym0.0.clone(); let __end = __sym7.2.clone(); - let __nt = super::__action65(input, __sym0, __sym1, __sym2, __sym3, __sym4, __sym5, __sym6, __sym7); + let __nt = super::__action68(input, __sym0, __sym1, __sym2, __sym3, __sym4, __sym5, __sym6, __sym7); let __states_len = __states.len(); __states.truncate(__states_len - 8); __symbols.push((__start, __Symbol::Ntmodel(__nt), __end)); 17 } - 48 => { - // model = "model", identifier, component_declaration+, "equation", connect_clause+, "end", identifier, ";" => ActionFn(66); + 56 => { + // model = "model", identifier, component_declaration+, "equation", connect_clause+, "end", identifier, ";" => ActionFn(69); let __sym7 = __pop_Term_22_3b_22(__symbols); let __sym6 = __pop_Ntidentifier(__symbols); let __sym5 = __pop_Term_22end_22(__symbols); @@ -2801,14 +3210,14 @@ mod __parse__identifier { let __sym0 = __pop_Term_22model_22(__symbols); let __start = __sym0.0.clone(); let __end = __sym7.2.clone(); - let __nt = super::__action66(input, __sym0, __sym1, __sym2, __sym3, __sym4, __sym5, __sym6, __sym7); + let __nt = super::__action69(input, __sym0, __sym1, __sym2, __sym3, __sym4, __sym5, __sym6, __sym7); let __states_len = __states.len(); __states.truncate(__states_len - 8); __symbols.push((__start, __Symbol::Ntmodel(__nt), __end)); 17 } - 49 => { - // model = "model", identifier, component_declaration+, "equation", connect_clause+, simple_equation+, "end", identifier, ";" => ActionFn(67); + 57 => { + // model = "model", identifier, component_declaration+, "equation", connect_clause+, simple_equation+, "end", identifier, ";" => ActionFn(70); let __sym8 = __pop_Term_22_3b_22(__symbols); let __sym7 = __pop_Ntidentifier(__symbols); let __sym6 = __pop_Term_22end_22(__symbols); @@ -2820,71 +3229,71 @@ mod __parse__identifier { let __sym0 = __pop_Term_22model_22(__symbols); let __start = __sym0.0.clone(); let __end = __sym8.2.clone(); - let __nt = super::__action67(input, __sym0, __sym1, __sym2, __sym3, __sym4, __sym5, __sym6, __sym7, __sym8); + let __nt = super::__action70(input, __sym0, __sym1, __sym2, __sym3, __sym4, __sym5, __sym6, __sym7, __sym8); let __states_len = __states.len(); __states.truncate(__states_len - 9); __symbols.push((__start, __Symbol::Ntmodel(__nt), __end)); 17 } - 50 => { - // simple_equation = expr, "=", expr, ";" => ActionFn(18); + 58 => { + // simple_equation = expr, "=", expr, ";" => ActionFn(19); let __sym3 = __pop_Term_22_3b_22(__symbols); let __sym2 = __pop_Ntexpr(__symbols); let __sym1 = __pop_Term_22_3d_22(__symbols); let __sym0 = __pop_Ntexpr(__symbols); let __start = __sym0.0.clone(); let __end = __sym3.2.clone(); - let __nt = super::__action18(input, __sym0, __sym1, __sym2, __sym3); + let __nt = super::__action19(input, __sym0, __sym1, __sym2, __sym3); let __states_len = __states.len(); __states.truncate(__states_len - 4); __symbols.push((__start, __Symbol::Ntsimple__equation(__nt), __end)); 18 } - 51 => { - // simple_equation* = => ActionFn(38); + 59 => { + // simple_equation* = => ActionFn(43); let __start = __symbols.last().map(|s| s.2.clone()).unwrap_or_default(); let __end = __lookahead_start.cloned().unwrap_or_else(|| __start.clone()); - let __nt = super::__action38(input, &__start, &__end); + let __nt = super::__action43(input, &__start, &__end); let __states_len = __states.len(); __states.truncate(__states_len - 0); __symbols.push((__start, __Symbol::Ntsimple__equation_2a(__nt), __end)); 19 } - 52 => { - // simple_equation* = simple_equation+ => ActionFn(39); + 60 => { + // simple_equation* = simple_equation+ => ActionFn(44); let __sym0 = __pop_Ntsimple__equation_2b(__symbols); let __start = __sym0.0.clone(); let __end = __sym0.2.clone(); - let __nt = super::__action39(input, __sym0); + let __nt = super::__action44(input, __sym0); let __states_len = __states.len(); __states.truncate(__states_len - 1); __symbols.push((__start, __Symbol::Ntsimple__equation_2a(__nt), __end)); 19 } - 53 => { - // simple_equation+ = simple_equation => ActionFn(48); + 61 => { + // simple_equation+ = simple_equation => ActionFn(53); let __sym0 = __pop_Ntsimple__equation(__symbols); let __start = __sym0.0.clone(); let __end = __sym0.2.clone(); - let __nt = super::__action48(input, __sym0); + let __nt = super::__action53(input, __sym0); let __states_len = __states.len(); __states.truncate(__states_len - 1); __symbols.push((__start, __Symbol::Ntsimple__equation_2b(__nt), __end)); 20 } - 54 => { - // simple_equation+ = simple_equation+, simple_equation => ActionFn(49); + 62 => { + // simple_equation+ = simple_equation+, simple_equation => ActionFn(54); let __sym1 = __pop_Ntsimple__equation(__symbols); let __sym0 = __pop_Ntsimple__equation_2b(__symbols); let __start = __sym0.0.clone(); let __end = __sym1.2.clone(); - let __nt = super::__action49(input, __sym0, __sym1); + let __nt = super::__action54(input, __sym0, __sym1); let __states_len = __states.len(); __states.truncate(__states_len - 2); __symbols.push((__start, __Symbol::Ntsimple__equation_2b(__nt), __end)); 20 } - 55 => { + 63 => { // string_literal = r#"\"[^\"\\\\]*\""# => ActionFn(5); let __sym0 = __pop_Termr_23_22_5c_22_5b_5e_5c_22_5c_5c_5c_5c_5d_2a_5c_22_22_23(__symbols); let __start = __sym0.0.clone(); @@ -2895,105 +3304,174 @@ mod __parse__identifier { __symbols.push((__start, __Symbol::Ntstring__literal(__nt), __end)); 21 } - 56 => { - // string_literal? = string_literal => ActionFn(34); + 64 => { + // string_literal? = string_literal => ActionFn(35); let __sym0 = __pop_Ntstring__literal(__symbols); let __start = __sym0.0.clone(); let __end = __sym0.2.clone(); - let __nt = super::__action34(input, __sym0); + let __nt = super::__action35(input, __sym0); let __states_len = __states.len(); __states.truncate(__states_len - 1); __symbols.push((__start, __Symbol::Ntstring__literal_3f(__nt), __end)); 22 } - 57 => { - // string_literal? = => ActionFn(35); + 65 => { + // string_literal? = => ActionFn(36); let __start = __symbols.last().map(|s| s.2.clone()).unwrap_or_default(); let __end = __lookahead_start.cloned().unwrap_or_else(|| __start.clone()); - let __nt = super::__action35(input, &__start, &__end); + let __nt = super::__action36(input, &__start, &__end); let __states_len = __states.len(); __states.truncate(__states_len - 0); __symbols.push((__start, __Symbol::Ntstring__literal_3f(__nt), __end)); 22 } - 58 => { - // term = integer => ActionFn(28); + 66 => { + // term = integer => ActionFn(29); let __sym0 = __pop_Ntinteger(__symbols); let __start = __sym0.0.clone(); let __end = __sym0.2.clone(); - let __nt = super::__action28(input, __sym0); + let __nt = super::__action29(input, __sym0); let __states_len = __states.len(); __states.truncate(__states_len - 1); __symbols.push((__start, __Symbol::Ntterm(__nt), __end)); 23 } - 59 => { - // term = float => ActionFn(29); + 67 => { + // term = float => ActionFn(30); let __sym0 = __pop_Ntfloat(__symbols); let __start = __sym0.0.clone(); let __end = __sym0.2.clone(); - let __nt = super::__action29(input, __sym0); + let __nt = super::__action30(input, __sym0); let __states_len = __states.len(); __states.truncate(__states_len - 1); __symbols.push((__start, __Symbol::Ntterm(__nt), __end)); 23 } - 60 => { - // term = identifier => ActionFn(30); + 68 => { + // term = identifier => ActionFn(31); let __sym0 = __pop_Ntidentifier(__symbols); let __start = __sym0.0.clone(); let __end = __sym0.2.clone(); - let __nt = super::__action30(input, __sym0); + let __nt = super::__action31(input, __sym0); let __states_len = __states.len(); __states.truncate(__states_len - 1); __symbols.push((__start, __Symbol::Ntterm(__nt), __end)); 23 } - 61 => { - // term = "der", "(", expr, ")" => ActionFn(31); + 69 => { + // term = "der", "(", expr, ")" => ActionFn(32); let __sym3 = __pop_Term_22_29_22(__symbols); let __sym2 = __pop_Ntexpr(__symbols); let __sym1 = __pop_Term_22_28_22(__symbols); let __sym0 = __pop_Term_22der_22(__symbols); let __start = __sym0.0.clone(); let __end = __sym3.2.clone(); - let __nt = super::__action31(input, __sym0, __sym1, __sym2, __sym3); + let __nt = super::__action32(input, __sym0, __sym1, __sym2, __sym3); let __states_len = __states.len(); __states.truncate(__states_len - 4); __symbols.push((__start, __Symbol::Ntterm(__nt), __end)); 23 } - 62 => { - // term = "abs", "(", expr, ")" => ActionFn(32); + 70 => { + // term = "abs", "(", expr, ")" => ActionFn(33); let __sym3 = __pop_Term_22_29_22(__symbols); let __sym2 = __pop_Ntexpr(__symbols); let __sym1 = __pop_Term_22_28_22(__symbols); let __sym0 = __pop_Term_22abs_22(__symbols); let __start = __sym0.0.clone(); let __end = __sym3.2.clone(); - let __nt = super::__action32(input, __sym0, __sym1, __sym2, __sym3); + let __nt = super::__action33(input, __sym0, __sym1, __sym2, __sym3); let __states_len = __states.len(); __states.truncate(__states_len - 4); __symbols.push((__start, __Symbol::Ntterm(__nt), __end)); 23 } - 63 => { - // term = "(", expr, ")" => ActionFn(33); + 71 => { + // term = "(", expr, ")" => ActionFn(34); let __sym2 = __pop_Term_22_29_22(__symbols); let __sym1 = __pop_Ntexpr(__symbols); let __sym0 = __pop_Term_22_28_22(__symbols); let __start = __sym0.0.clone(); let __end = __sym2.2.clone(); - let __nt = super::__action33(input, __sym0, __sym1, __sym2); + let __nt = super::__action34(input, __sym0, __sym1, __sym2); let __states_len = __states.len(); __states.truncate(__states_len - 3); __symbols.push((__start, __Symbol::Ntterm(__nt), __end)); 23 } + 72 => { + // units_declaration = "(", "unit", "=", string_literal, ")" => ActionFn(10); + let __sym4 = __pop_Term_22_29_22(__symbols); + let __sym3 = __pop_Ntstring__literal(__symbols); + let __sym2 = __pop_Term_22_3d_22(__symbols); + let __sym1 = __pop_Term_22unit_22(__symbols); + let __sym0 = __pop_Term_22_28_22(__symbols); + let __start = __sym0.0.clone(); + let __end = __sym4.2.clone(); + let __nt = super::__action10(input, __sym0, __sym1, __sym2, __sym3, __sym4); + let __states_len = __states.len(); + __states.truncate(__states_len - 5); + __symbols.push((__start, __Symbol::Ntunits__declaration(__nt), __end)); + 24 + } + 73 => { + // units_declaration? = units_declaration => ActionFn(39); + let __sym0 = __pop_Ntunits__declaration(__symbols); + let __start = __sym0.0.clone(); + let __end = __sym0.2.clone(); + let __nt = super::__action39(input, __sym0); + let __states_len = __states.len(); + __states.truncate(__states_len - 1); + __symbols.push((__start, __Symbol::Ntunits__declaration_3f(__nt), __end)); + 25 + } + 74 => { + // units_declaration? = => ActionFn(40); + let __start = __symbols.last().map(|s| s.2.clone()).unwrap_or_default(); + let __end = __lookahead_start.cloned().unwrap_or_else(|| __start.clone()); + let __nt = super::__action40(input, &__start, &__end); + let __states_len = __states.len(); + __states.truncate(__states_len - 0); + __symbols.push((__start, __Symbol::Ntunits__declaration_3f(__nt), __end)); + 25 + } + 75 => { + // value_declaration = "=", expr => ActionFn(9); + let __sym1 = __pop_Ntexpr(__symbols); + let __sym0 = __pop_Term_22_3d_22(__symbols); + let __start = __sym0.0.clone(); + let __end = __sym1.2.clone(); + let __nt = super::__action9(input, __sym0, __sym1); + let __states_len = __states.len(); + __states.truncate(__states_len - 2); + __symbols.push((__start, __Symbol::Ntvalue__declaration(__nt), __end)); + 26 + } + 76 => { + // value_declaration? = value_declaration => ActionFn(37); + let __sym0 = __pop_Ntvalue__declaration(__symbols); + let __start = __sym0.0.clone(); + let __end = __sym0.2.clone(); + let __nt = super::__action37(input, __sym0); + let __states_len = __states.len(); + __states.truncate(__states_len - 1); + __symbols.push((__start, __Symbol::Ntvalue__declaration_3f(__nt), __end)); + 27 + } + 77 => { + // value_declaration? = => ActionFn(38); + let __start = __symbols.last().map(|s| s.2.clone()).unwrap_or_default(); + let __end = __lookahead_start.cloned().unwrap_or_else(|| __start.clone()); + let __nt = super::__action38(input, &__start, &__end); + let __states_len = __states.len(); + __states.truncate(__states_len - 0); + __symbols.push((__start, __Symbol::Ntvalue__declaration_3f(__nt), __end)); + 27 + } _ => panic!("invalid action code {}", __action) }; let __state = *__states.last().unwrap() as usize; - let __next_state = __GOTO[__state * 24 + __nonterminal] - 1; + let __next_state = __GOTO[__state * 28 + __nonterminal] - 1; __states.push(__next_state); None } @@ -3227,6 +3705,16 @@ mod __parse__identifier { _ => panic!("symbol type mismatch") } } + fn __pop_Term_22unit_22< + 'input, + >( + __symbols: &mut ::std::vec::Vec<(usize,__Symbol<'input>,usize)> + ) -> (usize, &'input str, usize) { + match __symbols.pop().unwrap() { + (__l, __Symbol::Term_22unit_22(__v), __r) => (__l, __v, __r), + _ => panic!("symbol type mismatch") + } + } fn __pop_Termr_23_22_5c_22_5b_5e_5c_22_5c_5c_5c_5c_5d_2a_5c_22_22_23< 'input, >( @@ -3507,6 +3995,46 @@ mod __parse__identifier { _ => panic!("symbol type mismatch") } } + fn __pop_Ntunits__declaration< + 'input, + >( + __symbols: &mut ::std::vec::Vec<(usize,__Symbol<'input>,usize)> + ) -> (usize, String, usize) { + match __symbols.pop().unwrap() { + (__l, __Symbol::Ntunits__declaration(__v), __r) => (__l, __v, __r), + _ => panic!("symbol type mismatch") + } + } + fn __pop_Ntunits__declaration_3f< + 'input, + >( + __symbols: &mut ::std::vec::Vec<(usize,__Symbol<'input>,usize)> + ) -> (usize, ::std::option::Option<String>, usize) { + match __symbols.pop().unwrap() { + (__l, __Symbol::Ntunits__declaration_3f(__v), __r) => (__l, __v, __r), + _ => panic!("symbol type mismatch") + } + } + fn __pop_Ntvalue__declaration< + 'input, + >( + __symbols: &mut ::std::vec::Vec<(usize,__Symbol<'input>,usize)> + ) -> (usize, Expr, usize) { + match __symbols.pop().unwrap() { + (__l, __Symbol::Ntvalue__declaration(__v), __r) => (__l, __v, __r), + _ => panic!("symbol type mismatch") + } + } + fn __pop_Ntvalue__declaration_3f< + 'input, + >( + __symbols: &mut ::std::vec::Vec<(usize,__Symbol<'input>,usize)> + ) -> (usize, ::std::option::Option<Expr>, usize) { + match __symbols.pop().unwrap() { + (__l, __Symbol::Ntvalue__declaration_3f(__v), __r) => (__l, __v, __r), + _ => panic!("symbol type mismatch") + } + } } pub use self::__parse__identifier::parse_identifier; @@ -3541,6 +4069,7 @@ mod __parse__integer { Term_22output_22(&'input str), Term_22parameter_22(&'input str), Term_22stream_22(&'input str), + Term_22unit_22(&'input str), Termr_23_22_5c_22_5b_5e_5c_22_5c_5c_5c_5c_5d_2a_5c_22_22_23(&'input str), Termr_23_22_5b_2b_2d_5d_3f_5c_5cd_2b_22_23(&'input str), Termr_23_22_5b_2b_2d_5d_3f_5c_5cd_2b_5c_5c_2e_5c_5cd_2a_28_5beE_5d_5b_2d_2b_5d_3f_5c_5cd_2b_29_3f_22_23(&'input str), @@ -3569,6 +4098,10 @@ mod __parse__integer { Ntstring__literal(String), Ntstring__literal_3f(::std::option::Option<String>), Ntterm(Expr), + Ntunits__declaration(String), + Ntunits__declaration_3f(::std::option::Option<String>), + Ntvalue__declaration(Expr), + Ntvalue__declaration_3f(::std::option::Option<Expr>), } const __ACTION: &'static [i32] = &[ // State 0 @@ -3595,6 +4128,7 @@ mod __parse__integer { 0, // on "output", error 0, // on "parameter", error 0, // on "stream", error + 0, // on "unit", error 0, // on r#"\"[^\"\\\\]*\""#, error 3, // on r#"[+-]?\\d+"#, goto 2 0, // on r#"[+-]?\\d+\\.\\d*([eE][-+]?\\d+)?"#, error @@ -3623,6 +4157,7 @@ mod __parse__integer { 0, // on "output", error 0, // on "parameter", error 0, // on "stream", error + 0, // on "unit", error 0, // on r#"\"[^\"\\\\]*\""#, error 0, // on r#"[+-]?\\d+"#, error 0, // on r#"[+-]?\\d+\\.\\d*([eE][-+]?\\d+)?"#, error @@ -3651,6 +4186,7 @@ mod __parse__integer { 0, // on "output", error 0, // on "parameter", error 0, // on "stream", error + 0, // on "unit", error 0, // on r#"\"[^\"\\\\]*\""#, error 0, // on r#"[+-]?\\d+"#, error 0, // on r#"[+-]?\\d+\\.\\d*([eE][-+]?\\d+)?"#, error @@ -3659,7 +4195,7 @@ mod __parse__integer { const __EOF_ACTION: &'static [i32] = &[ 0, // on EOF, error -3, // on EOF, reduce `__integer = integer => ActionFn(1);` - -41, // on EOF, reduce `integer = r#"[+-]?\\d+"# => ActionFn(6);` + -49, // on EOF, reduce `integer = r#"[+-]?\\d+"# => ActionFn(6);` ]; const __GOTO: &'static [i32] = &[ // State 0 @@ -3687,6 +4223,10 @@ mod __parse__integer { 0, // on string_literal, error 0, // on string_literal?, error 0, // on term, error + 0, // on units_declaration, error + 0, // on units_declaration?, error + 0, // on value_declaration, error + 0, // on value_declaration?, error // State 1 0, // on __float, error 0, // on __identifier, error @@ -3712,6 +4252,10 @@ mod __parse__integer { 0, // on string_literal, error 0, // on string_literal?, error 0, // on term, error + 0, // on units_declaration, error + 0, // on units_declaration?, error + 0, // on value_declaration, error + 0, // on value_declaration?, error // State 2 0, // on __float, error 0, // on __identifier, error @@ -3737,6 +4281,10 @@ mod __parse__integer { 0, // on string_literal, error 0, // on string_literal?, error 0, // on term, error + 0, // on units_declaration, error + 0, // on units_declaration?, error + 0, // on value_declaration, error + 0, // on value_declaration?, error ]; pub fn parse_integer< 'input, @@ -3781,6 +4329,7 @@ mod __parse__integer { (_, (24, _), _) if true => 24, (_, (25, _), _) if true => 25, (_, (26, _), _) if true => 26, + (_, (27, _), _) if true => 27, _ => { return Err(__lalrpop_util::ParseError::UnrecognizedToken { token: Some(__lookahead), @@ -3790,7 +4339,7 @@ mod __parse__integer { }; loop { let __state = *__states.last().unwrap() as usize; - let __action = __ACTION[__state * 27 + __integer]; + let __action = __ACTION[__state * 28 + __integer]; if __action > 0 { let __symbol = match __integer { 0 => match __lookahead.1 { @@ -3886,19 +4435,23 @@ mod __parse__integer { _ => unreachable!(), }, 23 => match __lookahead.1 { - (23, __tok0) => __Symbol::Termr_23_22_5c_22_5b_5e_5c_22_5c_5c_5c_5c_5d_2a_5c_22_22_23(__tok0), + (23, __tok0) => __Symbol::Term_22unit_22(__tok0), _ => unreachable!(), }, 24 => match __lookahead.1 { - (24, __tok0) => __Symbol::Termr_23_22_5b_2b_2d_5d_3f_5c_5cd_2b_22_23(__tok0), + (24, __tok0) => __Symbol::Termr_23_22_5c_22_5b_5e_5c_22_5c_5c_5c_5c_5d_2a_5c_22_22_23(__tok0), _ => unreachable!(), }, 25 => match __lookahead.1 { - (25, __tok0) => __Symbol::Termr_23_22_5b_2b_2d_5d_3f_5c_5cd_2b_5c_5c_2e_5c_5cd_2a_28_5beE_5d_5b_2d_2b_5d_3f_5c_5cd_2b_29_3f_22_23(__tok0), + (25, __tok0) => __Symbol::Termr_23_22_5b_2b_2d_5d_3f_5c_5cd_2b_22_23(__tok0), _ => unreachable!(), }, 26 => match __lookahead.1 { - (26, __tok0) => __Symbol::Termr_23_22_5ba_2dzA_2dZ___5d_5ba_2dzA_2dZ__0_2d9_5d_2a_22_23(__tok0), + (26, __tok0) => __Symbol::Termr_23_22_5b_2b_2d_5d_3f_5c_5cd_2b_5c_5c_2e_5c_5cd_2a_28_5beE_5d_5b_2d_2b_5d_3f_5c_5cd_2b_29_3f_22_23(__tok0), + _ => unreachable!(), + }, + 27 => match __lookahead.1 { + (27, __tok0) => __Symbol::Termr_23_22_5ba_2dzA_2dZ___5d_5ba_2dzA_2dZ__0_2d9_5d_2a_22_23(__tok0), _ => unreachable!(), }, _ => unreachable!(), @@ -3986,269 +4539,389 @@ mod __parse__integer { 3 } 5 => { - // component_declaration = component_prefix, identifier, identifier, string_literal, ";" => ActionFn(68); - let __sym4 = __pop_Term_22_3b_22(__symbols); - let __sym3 = __pop_Ntstring__literal(__symbols); + // component_declaration = component_prefix, identifier, identifier, units_declaration, value_declaration, string_literal, ";" => ActionFn(83); + let __sym6 = __pop_Term_22_3b_22(__symbols); + let __sym5 = __pop_Ntstring__literal(__symbols); + let __sym4 = __pop_Ntvalue__declaration(__symbols); + let __sym3 = __pop_Ntunits__declaration(__symbols); let __sym2 = __pop_Ntidentifier(__symbols); let __sym1 = __pop_Ntidentifier(__symbols); let __sym0 = __pop_Ntcomponent__prefix(__symbols); let __start = __sym0.0.clone(); - let __end = __sym4.2.clone(); - let __nt = super::__action68(input, __sym0, __sym1, __sym2, __sym3, __sym4); + let __end = __sym6.2.clone(); + let __nt = super::__action83(input, __sym0, __sym1, __sym2, __sym3, __sym4, __sym5, __sym6); let __states_len = __states.len(); - __states.truncate(__states_len - 5); + __states.truncate(__states_len - 7); __symbols.push((__start, __Symbol::Ntcomponent__declaration(__nt), __end)); 4 } 6 => { - // component_declaration = component_prefix, identifier, identifier, ";" => ActionFn(69); - let __sym3 = __pop_Term_22_3b_22(__symbols); + // component_declaration = component_prefix, identifier, identifier, units_declaration, string_literal, ";" => ActionFn(84); + let __sym5 = __pop_Term_22_3b_22(__symbols); + let __sym4 = __pop_Ntstring__literal(__symbols); + let __sym3 = __pop_Ntunits__declaration(__symbols); let __sym2 = __pop_Ntidentifier(__symbols); let __sym1 = __pop_Ntidentifier(__symbols); let __sym0 = __pop_Ntcomponent__prefix(__symbols); let __start = __sym0.0.clone(); - let __end = __sym3.2.clone(); - let __nt = super::__action69(input, __sym0, __sym1, __sym2, __sym3); + let __end = __sym5.2.clone(); + let __nt = super::__action84(input, __sym0, __sym1, __sym2, __sym3, __sym4, __sym5); let __states_len = __states.len(); - __states.truncate(__states_len - 4); + __states.truncate(__states_len - 6); __symbols.push((__start, __Symbol::Ntcomponent__declaration(__nt), __end)); 4 } 7 => { - // component_declaration = identifier, identifier, string_literal, ";" => ActionFn(70); - let __sym3 = __pop_Term_22_3b_22(__symbols); - let __sym2 = __pop_Ntstring__literal(__symbols); + // component_declaration = component_prefix, identifier, identifier, value_declaration, string_literal, ";" => ActionFn(85); + let __sym5 = __pop_Term_22_3b_22(__symbols); + let __sym4 = __pop_Ntstring__literal(__symbols); + let __sym3 = __pop_Ntvalue__declaration(__symbols); + let __sym2 = __pop_Ntidentifier(__symbols); let __sym1 = __pop_Ntidentifier(__symbols); - let __sym0 = __pop_Ntidentifier(__symbols); + let __sym0 = __pop_Ntcomponent__prefix(__symbols); let __start = __sym0.0.clone(); - let __end = __sym3.2.clone(); - let __nt = super::__action70(input, __sym0, __sym1, __sym2, __sym3); + let __end = __sym5.2.clone(); + let __nt = super::__action85(input, __sym0, __sym1, __sym2, __sym3, __sym4, __sym5); let __states_len = __states.len(); - __states.truncate(__states_len - 4); + __states.truncate(__states_len - 6); __symbols.push((__start, __Symbol::Ntcomponent__declaration(__nt), __end)); 4 } 8 => { - // component_declaration = identifier, identifier, ";" => ActionFn(71); - let __sym2 = __pop_Term_22_3b_22(__symbols); + // component_declaration = component_prefix, identifier, identifier, string_literal, ";" => ActionFn(86); + let __sym4 = __pop_Term_22_3b_22(__symbols); + let __sym3 = __pop_Ntstring__literal(__symbols); + let __sym2 = __pop_Ntidentifier(__symbols); let __sym1 = __pop_Ntidentifier(__symbols); - let __sym0 = __pop_Ntidentifier(__symbols); + let __sym0 = __pop_Ntcomponent__prefix(__symbols); let __start = __sym0.0.clone(); - let __end = __sym2.2.clone(); - let __nt = super::__action71(input, __sym0, __sym1, __sym2); + let __end = __sym4.2.clone(); + let __nt = super::__action86(input, __sym0, __sym1, __sym2, __sym3, __sym4); let __states_len = __states.len(); - __states.truncate(__states_len - 3); + __states.truncate(__states_len - 5); __symbols.push((__start, __Symbol::Ntcomponent__declaration(__nt), __end)); 4 } 9 => { - // component_declaration = component_prefix, identifier, identifier, "=", expr, string_literal, ";" => ActionFn(72); - let __sym6 = __pop_Term_22_3b_22(__symbols); - let __sym5 = __pop_Ntstring__literal(__symbols); - let __sym4 = __pop_Ntexpr(__symbols); - let __sym3 = __pop_Term_22_3d_22(__symbols); + // component_declaration = component_prefix, identifier, identifier, units_declaration, value_declaration, ";" => ActionFn(87); + let __sym5 = __pop_Term_22_3b_22(__symbols); + let __sym4 = __pop_Ntvalue__declaration(__symbols); + let __sym3 = __pop_Ntunits__declaration(__symbols); let __sym2 = __pop_Ntidentifier(__symbols); let __sym1 = __pop_Ntidentifier(__symbols); let __sym0 = __pop_Ntcomponent__prefix(__symbols); let __start = __sym0.0.clone(); - let __end = __sym6.2.clone(); - let __nt = super::__action72(input, __sym0, __sym1, __sym2, __sym3, __sym4, __sym5, __sym6); + let __end = __sym5.2.clone(); + let __nt = super::__action87(input, __sym0, __sym1, __sym2, __sym3, __sym4, __sym5); let __states_len = __states.len(); - __states.truncate(__states_len - 7); + __states.truncate(__states_len - 6); __symbols.push((__start, __Symbol::Ntcomponent__declaration(__nt), __end)); 4 } 10 => { - // component_declaration = component_prefix, identifier, identifier, "=", expr, ";" => ActionFn(73); - let __sym5 = __pop_Term_22_3b_22(__symbols); - let __sym4 = __pop_Ntexpr(__symbols); - let __sym3 = __pop_Term_22_3d_22(__symbols); + // component_declaration = component_prefix, identifier, identifier, units_declaration, ";" => ActionFn(88); + let __sym4 = __pop_Term_22_3b_22(__symbols); + let __sym3 = __pop_Ntunits__declaration(__symbols); let __sym2 = __pop_Ntidentifier(__symbols); let __sym1 = __pop_Ntidentifier(__symbols); let __sym0 = __pop_Ntcomponent__prefix(__symbols); let __start = __sym0.0.clone(); - let __end = __sym5.2.clone(); - let __nt = super::__action73(input, __sym0, __sym1, __sym2, __sym3, __sym4, __sym5); + let __end = __sym4.2.clone(); + let __nt = super::__action88(input, __sym0, __sym1, __sym2, __sym3, __sym4); let __states_len = __states.len(); - __states.truncate(__states_len - 6); + __states.truncate(__states_len - 5); __symbols.push((__start, __Symbol::Ntcomponent__declaration(__nt), __end)); 4 } 11 => { - // component_declaration = identifier, identifier, "=", expr, string_literal, ";" => ActionFn(74); + // component_declaration = component_prefix, identifier, identifier, value_declaration, ";" => ActionFn(89); + let __sym4 = __pop_Term_22_3b_22(__symbols); + let __sym3 = __pop_Ntvalue__declaration(__symbols); + let __sym2 = __pop_Ntidentifier(__symbols); + let __sym1 = __pop_Ntidentifier(__symbols); + let __sym0 = __pop_Ntcomponent__prefix(__symbols); + let __start = __sym0.0.clone(); + let __end = __sym4.2.clone(); + let __nt = super::__action89(input, __sym0, __sym1, __sym2, __sym3, __sym4); + let __states_len = __states.len(); + __states.truncate(__states_len - 5); + __symbols.push((__start, __Symbol::Ntcomponent__declaration(__nt), __end)); + 4 + } + 12 => { + // component_declaration = component_prefix, identifier, identifier, ";" => ActionFn(90); + let __sym3 = __pop_Term_22_3b_22(__symbols); + let __sym2 = __pop_Ntidentifier(__symbols); + let __sym1 = __pop_Ntidentifier(__symbols); + let __sym0 = __pop_Ntcomponent__prefix(__symbols); + let __start = __sym0.0.clone(); + let __end = __sym3.2.clone(); + let __nt = super::__action90(input, __sym0, __sym1, __sym2, __sym3); + let __states_len = __states.len(); + __states.truncate(__states_len - 4); + __symbols.push((__start, __Symbol::Ntcomponent__declaration(__nt), __end)); + 4 + } + 13 => { + // component_declaration = identifier, identifier, units_declaration, value_declaration, string_literal, ";" => ActionFn(91); let __sym5 = __pop_Term_22_3b_22(__symbols); let __sym4 = __pop_Ntstring__literal(__symbols); - let __sym3 = __pop_Ntexpr(__symbols); - let __sym2 = __pop_Term_22_3d_22(__symbols); + let __sym3 = __pop_Ntvalue__declaration(__symbols); + let __sym2 = __pop_Ntunits__declaration(__symbols); let __sym1 = __pop_Ntidentifier(__symbols); let __sym0 = __pop_Ntidentifier(__symbols); let __start = __sym0.0.clone(); let __end = __sym5.2.clone(); - let __nt = super::__action74(input, __sym0, __sym1, __sym2, __sym3, __sym4, __sym5); + let __nt = super::__action91(input, __sym0, __sym1, __sym2, __sym3, __sym4, __sym5); let __states_len = __states.len(); __states.truncate(__states_len - 6); __symbols.push((__start, __Symbol::Ntcomponent__declaration(__nt), __end)); 4 } - 12 => { - // component_declaration = identifier, identifier, "=", expr, ";" => ActionFn(75); + 14 => { + // component_declaration = identifier, identifier, units_declaration, string_literal, ";" => ActionFn(92); let __sym4 = __pop_Term_22_3b_22(__symbols); - let __sym3 = __pop_Ntexpr(__symbols); - let __sym2 = __pop_Term_22_3d_22(__symbols); + let __sym3 = __pop_Ntstring__literal(__symbols); + let __sym2 = __pop_Ntunits__declaration(__symbols); let __sym1 = __pop_Ntidentifier(__symbols); let __sym0 = __pop_Ntidentifier(__symbols); let __start = __sym0.0.clone(); let __end = __sym4.2.clone(); - let __nt = super::__action75(input, __sym0, __sym1, __sym2, __sym3, __sym4); + let __nt = super::__action92(input, __sym0, __sym1, __sym2, __sym3, __sym4); let __states_len = __states.len(); __states.truncate(__states_len - 5); __symbols.push((__start, __Symbol::Ntcomponent__declaration(__nt), __end)); 4 } - 13 => { - // component_declaration* = => ActionFn(42); + 15 => { + // component_declaration = identifier, identifier, value_declaration, string_literal, ";" => ActionFn(93); + let __sym4 = __pop_Term_22_3b_22(__symbols); + let __sym3 = __pop_Ntstring__literal(__symbols); + let __sym2 = __pop_Ntvalue__declaration(__symbols); + let __sym1 = __pop_Ntidentifier(__symbols); + let __sym0 = __pop_Ntidentifier(__symbols); + let __start = __sym0.0.clone(); + let __end = __sym4.2.clone(); + let __nt = super::__action93(input, __sym0, __sym1, __sym2, __sym3, __sym4); + let __states_len = __states.len(); + __states.truncate(__states_len - 5); + __symbols.push((__start, __Symbol::Ntcomponent__declaration(__nt), __end)); + 4 + } + 16 => { + // component_declaration = identifier, identifier, string_literal, ";" => ActionFn(94); + let __sym3 = __pop_Term_22_3b_22(__symbols); + let __sym2 = __pop_Ntstring__literal(__symbols); + let __sym1 = __pop_Ntidentifier(__symbols); + let __sym0 = __pop_Ntidentifier(__symbols); + let __start = __sym0.0.clone(); + let __end = __sym3.2.clone(); + let __nt = super::__action94(input, __sym0, __sym1, __sym2, __sym3); + let __states_len = __states.len(); + __states.truncate(__states_len - 4); + __symbols.push((__start, __Symbol::Ntcomponent__declaration(__nt), __end)); + 4 + } + 17 => { + // component_declaration = identifier, identifier, units_declaration, value_declaration, ";" => ActionFn(95); + let __sym4 = __pop_Term_22_3b_22(__symbols); + let __sym3 = __pop_Ntvalue__declaration(__symbols); + let __sym2 = __pop_Ntunits__declaration(__symbols); + let __sym1 = __pop_Ntidentifier(__symbols); + let __sym0 = __pop_Ntidentifier(__symbols); + let __start = __sym0.0.clone(); + let __end = __sym4.2.clone(); + let __nt = super::__action95(input, __sym0, __sym1, __sym2, __sym3, __sym4); + let __states_len = __states.len(); + __states.truncate(__states_len - 5); + __symbols.push((__start, __Symbol::Ntcomponent__declaration(__nt), __end)); + 4 + } + 18 => { + // component_declaration = identifier, identifier, units_declaration, ";" => ActionFn(96); + let __sym3 = __pop_Term_22_3b_22(__symbols); + let __sym2 = __pop_Ntunits__declaration(__symbols); + let __sym1 = __pop_Ntidentifier(__symbols); + let __sym0 = __pop_Ntidentifier(__symbols); + let __start = __sym0.0.clone(); + let __end = __sym3.2.clone(); + let __nt = super::__action96(input, __sym0, __sym1, __sym2, __sym3); + let __states_len = __states.len(); + __states.truncate(__states_len - 4); + __symbols.push((__start, __Symbol::Ntcomponent__declaration(__nt), __end)); + 4 + } + 19 => { + // component_declaration = identifier, identifier, value_declaration, ";" => ActionFn(97); + let __sym3 = __pop_Term_22_3b_22(__symbols); + let __sym2 = __pop_Ntvalue__declaration(__symbols); + let __sym1 = __pop_Ntidentifier(__symbols); + let __sym0 = __pop_Ntidentifier(__symbols); + let __start = __sym0.0.clone(); + let __end = __sym3.2.clone(); + let __nt = super::__action97(input, __sym0, __sym1, __sym2, __sym3); + let __states_len = __states.len(); + __states.truncate(__states_len - 4); + __symbols.push((__start, __Symbol::Ntcomponent__declaration(__nt), __end)); + 4 + } + 20 => { + // component_declaration = identifier, identifier, ";" => ActionFn(98); + let __sym2 = __pop_Term_22_3b_22(__symbols); + let __sym1 = __pop_Ntidentifier(__symbols); + let __sym0 = __pop_Ntidentifier(__symbols); + let __start = __sym0.0.clone(); + let __end = __sym2.2.clone(); + let __nt = super::__action98(input, __sym0, __sym1, __sym2); + let __states_len = __states.len(); + __states.truncate(__states_len - 3); + __symbols.push((__start, __Symbol::Ntcomponent__declaration(__nt), __end)); + 4 + } + 21 => { + // component_declaration* = => ActionFn(47); let __start = __symbols.last().map(|s| s.2.clone()).unwrap_or_default(); let __end = __lookahead_start.cloned().unwrap_or_else(|| __start.clone()); - let __nt = super::__action42(input, &__start, &__end); + let __nt = super::__action47(input, &__start, &__end); let __states_len = __states.len(); __states.truncate(__states_len - 0); __symbols.push((__start, __Symbol::Ntcomponent__declaration_2a(__nt), __end)); 5 } - 14 => { - // component_declaration* = component_declaration+ => ActionFn(43); + 22 => { + // component_declaration* = component_declaration+ => ActionFn(48); let __sym0 = __pop_Ntcomponent__declaration_2b(__symbols); let __start = __sym0.0.clone(); let __end = __sym0.2.clone(); - let __nt = super::__action43(input, __sym0); + let __nt = super::__action48(input, __sym0); let __states_len = __states.len(); __states.truncate(__states_len - 1); __symbols.push((__start, __Symbol::Ntcomponent__declaration_2a(__nt), __end)); 5 } - 15 => { - // component_declaration+ = component_declaration => ActionFn(44); + 23 => { + // component_declaration+ = component_declaration => ActionFn(49); let __sym0 = __pop_Ntcomponent__declaration(__symbols); let __start = __sym0.0.clone(); let __end = __sym0.2.clone(); - let __nt = super::__action44(input, __sym0); + let __nt = super::__action49(input, __sym0); let __states_len = __states.len(); __states.truncate(__states_len - 1); __symbols.push((__start, __Symbol::Ntcomponent__declaration_2b(__nt), __end)); 6 } - 16 => { - // component_declaration+ = component_declaration+, component_declaration => ActionFn(45); + 24 => { + // component_declaration+ = component_declaration+, component_declaration => ActionFn(50); let __sym1 = __pop_Ntcomponent__declaration(__symbols); let __sym0 = __pop_Ntcomponent__declaration_2b(__symbols); let __start = __sym0.0.clone(); let __end = __sym1.2.clone(); - let __nt = super::__action45(input, __sym0, __sym1); + let __nt = super::__action50(input, __sym0, __sym1); let __states_len = __states.len(); __states.truncate(__states_len - 2); __symbols.push((__start, __Symbol::Ntcomponent__declaration_2b(__nt), __end)); 6 } - 17 => { - // component_prefix = "flow" => ActionFn(11); + 25 => { + // component_prefix = "flow" => ActionFn(12); let __sym0 = __pop_Term_22flow_22(__symbols); let __start = __sym0.0.clone(); let __end = __sym0.2.clone(); - let __nt = super::__action11(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 } - 18 => { - // component_prefix = "stream" => ActionFn(12); + 26 => { + // component_prefix = "stream" => ActionFn(13); let __sym0 = __pop_Term_22stream_22(__symbols); let __start = __sym0.0.clone(); let __end = __sym0.2.clone(); - let __nt = super::__action12(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 } - 19 => { - // component_prefix = "input" => ActionFn(13); + 27 => { + // component_prefix = "input" => ActionFn(14); let __sym0 = __pop_Term_22input_22(__symbols); let __start = __sym0.0.clone(); let __end = __sym0.2.clone(); - let __nt = super::__action13(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 } - 20 => { - // component_prefix = "output" => ActionFn(14); + 28 => { + // component_prefix = "output" => ActionFn(15); let __sym0 = __pop_Term_22output_22(__symbols); let __start = __sym0.0.clone(); let __end = __sym0.2.clone(); - let __nt = super::__action14(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 } - 21 => { - // component_prefix = "discrete" => ActionFn(15); + 29 => { + // component_prefix = "discrete" => ActionFn(16); let __sym0 = __pop_Term_22discrete_22(__symbols); let __start = __sym0.0.clone(); let __end = __sym0.2.clone(); - let __nt = super::__action15(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 } - 22 => { - // component_prefix = "parameter" => ActionFn(16); + 30 => { + // component_prefix = "parameter" => ActionFn(17); let __sym0 = __pop_Term_22parameter_22(__symbols); let __start = __sym0.0.clone(); let __end = __sym0.2.clone(); - let __nt = super::__action16(input, __sym0); + let __nt = super::__action17(input, __sym0); let __states_len = __states.len(); __states.truncate(__states_len - 1); __symbols.push((__start, __Symbol::Ntcomponent__prefix(__nt), __end)); 7 } - 23 => { - // component_prefix = "constant" => ActionFn(17); + 31 => { + // component_prefix = "constant" => ActionFn(18); let __sym0 = __pop_Term_22constant_22(__symbols); let __start = __sym0.0.clone(); let __end = __sym0.2.clone(); - let __nt = super::__action17(input, __sym0); + let __nt = super::__action18(input, __sym0); let __states_len = __states.len(); __states.truncate(__states_len - 1); __symbols.push((__start, __Symbol::Ntcomponent__prefix(__nt), __end)); 7 } - 24 => { - // component_prefix? = component_prefix => ActionFn(36); + 32 => { + // component_prefix? = component_prefix => ActionFn(41); let __sym0 = __pop_Ntcomponent__prefix(__symbols); let __start = __sym0.0.clone(); let __end = __sym0.2.clone(); - let __nt = super::__action36(input, __sym0); + let __nt = super::__action41(input, __sym0); let __states_len = __states.len(); __states.truncate(__states_len - 1); __symbols.push((__start, __Symbol::Ntcomponent__prefix_3f(__nt), __end)); 8 } - 25 => { - // component_prefix? = => ActionFn(37); + 33 => { + // component_prefix? = => ActionFn(42); let __start = __symbols.last().map(|s| s.2.clone()).unwrap_or_default(); let __end = __lookahead_start.cloned().unwrap_or_else(|| __start.clone()); - let __nt = super::__action37(input, &__start, &__end); + let __nt = super::__action42(input, &__start, &__end); let __states_len = __states.len(); __states.truncate(__states_len - 0); __symbols.push((__start, __Symbol::Ntcomponent__prefix_3f(__nt), __end)); 8 } - 26 => { - // connect_clause = "connect", "(", identifier, ",", identifier, ")", ";" => ActionFn(19); + 34 => { + // connect_clause = "connect", "(", identifier, ",", identifier, ")", ";" => ActionFn(20); let __sym6 = __pop_Term_22_3b_22(__symbols); let __sym5 = __pop_Term_22_29_22(__symbols); let __sym4 = __pop_Ntidentifier(__symbols); @@ -4258,156 +4931,156 @@ 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::__action20(input, __sym0, __sym1, __sym2, __sym3, __sym4, __sym5, __sym6); let __states_len = __states.len(); __states.truncate(__states_len - 7); __symbols.push((__start, __Symbol::Ntconnect__clause(__nt), __end)); 9 } - 27 => { - // connect_clause* = => ActionFn(40); + 35 => { + // connect_clause* = => ActionFn(45); let __start = __symbols.last().map(|s| s.2.clone()).unwrap_or_default(); let __end = __lookahead_start.cloned().unwrap_or_else(|| __start.clone()); - let __nt = super::__action40(input, &__start, &__end); + let __nt = super::__action45(input, &__start, &__end); let __states_len = __states.len(); __states.truncate(__states_len - 0); __symbols.push((__start, __Symbol::Ntconnect__clause_2a(__nt), __end)); 10 } - 28 => { - // connect_clause* = connect_clause+ => ActionFn(41); + 36 => { + // connect_clause* = connect_clause+ => ActionFn(46); let __sym0 = __pop_Ntconnect__clause_2b(__symbols); let __start = __sym0.0.clone(); let __end = __sym0.2.clone(); - let __nt = super::__action41(input, __sym0); + let __nt = super::__action46(input, __sym0); let __states_len = __states.len(); __states.truncate(__states_len - 1); __symbols.push((__start, __Symbol::Ntconnect__clause_2a(__nt), __end)); 10 } - 29 => { - // connect_clause+ = connect_clause => ActionFn(46); + 37 => { + // connect_clause+ = connect_clause => ActionFn(51); let __sym0 = __pop_Ntconnect__clause(__symbols); let __start = __sym0.0.clone(); let __end = __sym0.2.clone(); - let __nt = super::__action46(input, __sym0); + let __nt = super::__action51(input, __sym0); let __states_len = __states.len(); __states.truncate(__states_len - 1); __symbols.push((__start, __Symbol::Ntconnect__clause_2b(__nt), __end)); 11 } - 30 => { - // connect_clause+ = connect_clause+, connect_clause => ActionFn(47); + 38 => { + // connect_clause+ = connect_clause+, connect_clause => ActionFn(52); let __sym1 = __pop_Ntconnect__clause(__symbols); let __sym0 = __pop_Ntconnect__clause_2b(__symbols); let __start = __sym0.0.clone(); let __end = __sym1.2.clone(); - let __nt = super::__action47(input, __sym0, __sym1); + let __nt = super::__action52(input, __sym0, __sym1); let __states_len = __states.len(); __states.truncate(__states_len - 2); __symbols.push((__start, __Symbol::Ntconnect__clause_2b(__nt), __end)); 11 } - 31 => { - // expr = expr, "+", factor => ActionFn(20); + 39 => { + // expr = expr, "+", factor => ActionFn(21); let __sym2 = __pop_Ntfactor(__symbols); let __sym1 = __pop_Term_22_2b_22(__symbols); let __sym0 = __pop_Ntexpr(__symbols); let __start = __sym0.0.clone(); let __end = __sym2.2.clone(); - let __nt = super::__action20(input, __sym0, __sym1, __sym2); + let __nt = super::__action21(input, __sym0, __sym1, __sym2); let __states_len = __states.len(); __states.truncate(__states_len - 3); __symbols.push((__start, __Symbol::Ntexpr(__nt), __end)); 12 } - 32 => { - // expr = expr, "-", factor => ActionFn(21); + 40 => { + // expr = expr, "-", factor => ActionFn(22); let __sym2 = __pop_Ntfactor(__symbols); let __sym1 = __pop_Term_22_2d_22(__symbols); let __sym0 = __pop_Ntexpr(__symbols); let __start = __sym0.0.clone(); let __end = __sym2.2.clone(); - let __nt = super::__action21(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::Ntexpr(__nt), __end)); 12 } - 33 => { - // expr = factor => ActionFn(22); + 41 => { + // expr = factor => ActionFn(23); let __sym0 = __pop_Ntfactor(__symbols); let __start = __sym0.0.clone(); let __end = __sym0.2.clone(); - let __nt = super::__action22(input, __sym0); + let __nt = super::__action23(input, __sym0); let __states_len = __states.len(); __states.truncate(__states_len - 1); __symbols.push((__start, __Symbol::Ntexpr(__nt), __end)); 12 } - 34 => { - // factor = factor, "*", term => ActionFn(23); + 42 => { + // factor = factor, "*", term => ActionFn(24); let __sym2 = __pop_Ntterm(__symbols); let __sym1 = __pop_Term_22_2a_22(__symbols); let __sym0 = __pop_Ntfactor(__symbols); let __start = __sym0.0.clone(); let __end = __sym2.2.clone(); - let __nt = super::__action23(input, __sym0, __sym1, __sym2); + let __nt = super::__action24(input, __sym0, __sym1, __sym2); let __states_len = __states.len(); __states.truncate(__states_len - 3); __symbols.push((__start, __Symbol::Ntfactor(__nt), __end)); 13 } - 35 => { - // factor = factor, "/", term => ActionFn(24); + 43 => { + // factor = factor, "/", term => ActionFn(25); let __sym2 = __pop_Ntterm(__symbols); let __sym1 = __pop_Term_22_2f_22(__symbols); let __sym0 = __pop_Ntfactor(__symbols); let __start = __sym0.0.clone(); let __end = __sym2.2.clone(); - let __nt = super::__action24(input, __sym0, __sym1, __sym2); + let __nt = super::__action25(input, __sym0, __sym1, __sym2); let __states_len = __states.len(); __states.truncate(__states_len - 3); __symbols.push((__start, __Symbol::Ntfactor(__nt), __end)); 13 } - 36 => { - // factor = factor, "^", term => ActionFn(25); + 44 => { + // factor = factor, "^", term => ActionFn(26); let __sym2 = __pop_Ntterm(__symbols); let __sym1 = __pop_Term_22_5e_22(__symbols); let __sym0 = __pop_Ntfactor(__symbols); let __start = __sym0.0.clone(); let __end = __sym2.2.clone(); - let __nt = super::__action25(input, __sym0, __sym1, __sym2); + let __nt = super::__action26(input, __sym0, __sym1, __sym2); let __states_len = __states.len(); __states.truncate(__states_len - 3); __symbols.push((__start, __Symbol::Ntfactor(__nt), __end)); 13 } - 37 => { - // factor = "-", term => ActionFn(26); + 45 => { + // factor = "-", term => ActionFn(27); let __sym1 = __pop_Ntterm(__symbols); let __sym0 = __pop_Term_22_2d_22(__symbols); let __start = __sym0.0.clone(); let __end = __sym1.2.clone(); - let __nt = super::__action26(input, __sym0, __sym1); + let __nt = super::__action27(input, __sym0, __sym1); let __states_len = __states.len(); __states.truncate(__states_len - 2); __symbols.push((__start, __Symbol::Ntfactor(__nt), __end)); 13 } - 38 => { - // factor = term => ActionFn(27); + 46 => { + // factor = term => ActionFn(28); let __sym0 = __pop_Ntterm(__symbols); let __start = __sym0.0.clone(); let __end = __sym0.2.clone(); - let __nt = super::__action27(input, __sym0); + let __nt = super::__action28(input, __sym0); let __states_len = __states.len(); __states.truncate(__states_len - 1); __symbols.push((__start, __Symbol::Ntfactor(__nt), __end)); 13 } - 39 => { + 47 => { // float = r#"[+-]?\\d+\\.\\d*([eE][-+]?\\d+)?"# => ActionFn(7); let __sym0 = __pop_Termr_23_22_5b_2b_2d_5d_3f_5c_5cd_2b_5c_5c_2e_5c_5cd_2a_28_5beE_5d_5b_2d_2b_5d_3f_5c_5cd_2b_29_3f_22_23(__symbols); let __start = __sym0.0.clone(); @@ -4418,7 +5091,7 @@ mod __parse__integer { __symbols.push((__start, __Symbol::Ntfloat(__nt), __end)); 14 } - 40 => { + 48 => { // identifier = r#"[a-zA-Z_][a-zA-Z_0-9]*"# => ActionFn(4); let __sym0 = __pop_Termr_23_22_5ba_2dzA_2dZ___5d_5ba_2dzA_2dZ__0_2d9_5d_2a_22_23(__symbols); let __start = __sym0.0.clone(); @@ -4429,7 +5102,7 @@ mod __parse__integer { __symbols.push((__start, __Symbol::Ntidentifier(__nt), __end)); 15 } - 41 => { + 49 => { // integer = r#"[+-]?\\d+"# => ActionFn(6); let __sym0 = __pop_Termr_23_22_5b_2b_2d_5d_3f_5c_5cd_2b_22_23(__symbols); let __start = __sym0.0.clone(); @@ -4440,8 +5113,8 @@ mod __parse__integer { __symbols.push((__start, __Symbol::Ntinteger(__nt), __end)); 16 } - 42 => { - // model = "model", identifier, "equation", "end", identifier, ";" => ActionFn(60); + 50 => { + // model = "model", identifier, "equation", "end", identifier, ";" => ActionFn(63); let __sym5 = __pop_Term_22_3b_22(__symbols); let __sym4 = __pop_Ntidentifier(__symbols); let __sym3 = __pop_Term_22end_22(__symbols); @@ -4450,14 +5123,14 @@ mod __parse__integer { let __sym0 = __pop_Term_22model_22(__symbols); let __start = __sym0.0.clone(); let __end = __sym5.2.clone(); - let __nt = super::__action60(input, __sym0, __sym1, __sym2, __sym3, __sym4, __sym5); + let __nt = super::__action63(input, __sym0, __sym1, __sym2, __sym3, __sym4, __sym5); let __states_len = __states.len(); __states.truncate(__states_len - 6); __symbols.push((__start, __Symbol::Ntmodel(__nt), __end)); 17 } - 43 => { - // model = "model", identifier, "equation", simple_equation+, "end", identifier, ";" => ActionFn(61); + 51 => { + // model = "model", identifier, "equation", simple_equation+, "end", identifier, ";" => ActionFn(64); let __sym6 = __pop_Term_22_3b_22(__symbols); let __sym5 = __pop_Ntidentifier(__symbols); let __sym4 = __pop_Term_22end_22(__symbols); @@ -4467,14 +5140,14 @@ mod __parse__integer { let __sym0 = __pop_Term_22model_22(__symbols); let __start = __sym0.0.clone(); let __end = __sym6.2.clone(); - let __nt = super::__action61(input, __sym0, __sym1, __sym2, __sym3, __sym4, __sym5, __sym6); + let __nt = super::__action64(input, __sym0, __sym1, __sym2, __sym3, __sym4, __sym5, __sym6); let __states_len = __states.len(); __states.truncate(__states_len - 7); __symbols.push((__start, __Symbol::Ntmodel(__nt), __end)); 17 } - 44 => { - // model = "model", identifier, "equation", connect_clause+, "end", identifier, ";" => ActionFn(62); + 52 => { + // model = "model", identifier, "equation", connect_clause+, "end", identifier, ";" => ActionFn(65); let __sym6 = __pop_Term_22_3b_22(__symbols); let __sym5 = __pop_Ntidentifier(__symbols); let __sym4 = __pop_Term_22end_22(__symbols); @@ -4484,14 +5157,14 @@ mod __parse__integer { let __sym0 = __pop_Term_22model_22(__symbols); let __start = __sym0.0.clone(); let __end = __sym6.2.clone(); - let __nt = super::__action62(input, __sym0, __sym1, __sym2, __sym3, __sym4, __sym5, __sym6); + let __nt = super::__action65(input, __sym0, __sym1, __sym2, __sym3, __sym4, __sym5, __sym6); let __states_len = __states.len(); __states.truncate(__states_len - 7); __symbols.push((__start, __Symbol::Ntmodel(__nt), __end)); 17 } - 45 => { - // model = "model", identifier, "equation", connect_clause+, simple_equation+, "end", identifier, ";" => ActionFn(63); + 53 => { + // model = "model", identifier, "equation", connect_clause+, simple_equation+, "end", identifier, ";" => ActionFn(66); let __sym7 = __pop_Term_22_3b_22(__symbols); let __sym6 = __pop_Ntidentifier(__symbols); let __sym5 = __pop_Term_22end_22(__symbols); @@ -4502,14 +5175,14 @@ mod __parse__integer { let __sym0 = __pop_Term_22model_22(__symbols); let __start = __sym0.0.clone(); let __end = __sym7.2.clone(); - let __nt = super::__action63(input, __sym0, __sym1, __sym2, __sym3, __sym4, __sym5, __sym6, __sym7); + let __nt = super::__action66(input, __sym0, __sym1, __sym2, __sym3, __sym4, __sym5, __sym6, __sym7); let __states_len = __states.len(); __states.truncate(__states_len - 8); __symbols.push((__start, __Symbol::Ntmodel(__nt), __end)); 17 } - 46 => { - // model = "model", identifier, component_declaration+, "equation", "end", identifier, ";" => ActionFn(64); + 54 => { + // model = "model", identifier, component_declaration+, "equation", "end", identifier, ";" => ActionFn(67); let __sym6 = __pop_Term_22_3b_22(__symbols); let __sym5 = __pop_Ntidentifier(__symbols); let __sym4 = __pop_Term_22end_22(__symbols); @@ -4519,14 +5192,14 @@ mod __parse__integer { let __sym0 = __pop_Term_22model_22(__symbols); let __start = __sym0.0.clone(); let __end = __sym6.2.clone(); - let __nt = super::__action64(input, __sym0, __sym1, __sym2, __sym3, __sym4, __sym5, __sym6); + let __nt = super::__action67(input, __sym0, __sym1, __sym2, __sym3, __sym4, __sym5, __sym6); let __states_len = __states.len(); __states.truncate(__states_len - 7); __symbols.push((__start, __Symbol::Ntmodel(__nt), __end)); 17 } - 47 => { - // model = "model", identifier, component_declaration+, "equation", simple_equation+, "end", identifier, ";" => ActionFn(65); + 55 => { + // model = "model", identifier, component_declaration+, "equation", simple_equation+, "end", identifier, ";" => ActionFn(68); let __sym7 = __pop_Term_22_3b_22(__symbols); let __sym6 = __pop_Ntidentifier(__symbols); let __sym5 = __pop_Term_22end_22(__symbols); @@ -4537,14 +5210,14 @@ mod __parse__integer { let __sym0 = __pop_Term_22model_22(__symbols); let __start = __sym0.0.clone(); let __end = __sym7.2.clone(); - let __nt = super::__action65(input, __sym0, __sym1, __sym2, __sym3, __sym4, __sym5, __sym6, __sym7); + let __nt = super::__action68(input, __sym0, __sym1, __sym2, __sym3, __sym4, __sym5, __sym6, __sym7); let __states_len = __states.len(); __states.truncate(__states_len - 8); __symbols.push((__start, __Symbol::Ntmodel(__nt), __end)); 17 } - 48 => { - // model = "model", identifier, component_declaration+, "equation", connect_clause+, "end", identifier, ";" => ActionFn(66); + 56 => { + // model = "model", identifier, component_declaration+, "equation", connect_clause+, "end", identifier, ";" => ActionFn(69); let __sym7 = __pop_Term_22_3b_22(__symbols); let __sym6 = __pop_Ntidentifier(__symbols); let __sym5 = __pop_Term_22end_22(__symbols); @@ -4555,14 +5228,14 @@ mod __parse__integer { let __sym0 = __pop_Term_22model_22(__symbols); let __start = __sym0.0.clone(); let __end = __sym7.2.clone(); - let __nt = super::__action66(input, __sym0, __sym1, __sym2, __sym3, __sym4, __sym5, __sym6, __sym7); + let __nt = super::__action69(input, __sym0, __sym1, __sym2, __sym3, __sym4, __sym5, __sym6, __sym7); let __states_len = __states.len(); __states.truncate(__states_len - 8); __symbols.push((__start, __Symbol::Ntmodel(__nt), __end)); 17 } - 49 => { - // model = "model", identifier, component_declaration+, "equation", connect_clause+, simple_equation+, "end", identifier, ";" => ActionFn(67); + 57 => { + // model = "model", identifier, component_declaration+, "equation", connect_clause+, simple_equation+, "end", identifier, ";" => ActionFn(70); let __sym8 = __pop_Term_22_3b_22(__symbols); let __sym7 = __pop_Ntidentifier(__symbols); let __sym6 = __pop_Term_22end_22(__symbols); @@ -4574,71 +5247,71 @@ mod __parse__integer { let __sym0 = __pop_Term_22model_22(__symbols); let __start = __sym0.0.clone(); let __end = __sym8.2.clone(); - let __nt = super::__action67(input, __sym0, __sym1, __sym2, __sym3, __sym4, __sym5, __sym6, __sym7, __sym8); + let __nt = super::__action70(input, __sym0, __sym1, __sym2, __sym3, __sym4, __sym5, __sym6, __sym7, __sym8); let __states_len = __states.len(); __states.truncate(__states_len - 9); __symbols.push((__start, __Symbol::Ntmodel(__nt), __end)); 17 } - 50 => { - // simple_equation = expr, "=", expr, ";" => ActionFn(18); + 58 => { + // simple_equation = expr, "=", expr, ";" => ActionFn(19); let __sym3 = __pop_Term_22_3b_22(__symbols); let __sym2 = __pop_Ntexpr(__symbols); let __sym1 = __pop_Term_22_3d_22(__symbols); let __sym0 = __pop_Ntexpr(__symbols); let __start = __sym0.0.clone(); let __end = __sym3.2.clone(); - let __nt = super::__action18(input, __sym0, __sym1, __sym2, __sym3); + let __nt = super::__action19(input, __sym0, __sym1, __sym2, __sym3); let __states_len = __states.len(); __states.truncate(__states_len - 4); __symbols.push((__start, __Symbol::Ntsimple__equation(__nt), __end)); 18 } - 51 => { - // simple_equation* = => ActionFn(38); + 59 => { + // simple_equation* = => ActionFn(43); let __start = __symbols.last().map(|s| s.2.clone()).unwrap_or_default(); let __end = __lookahead_start.cloned().unwrap_or_else(|| __start.clone()); - let __nt = super::__action38(input, &__start, &__end); + let __nt = super::__action43(input, &__start, &__end); let __states_len = __states.len(); __states.truncate(__states_len - 0); __symbols.push((__start, __Symbol::Ntsimple__equation_2a(__nt), __end)); 19 } - 52 => { - // simple_equation* = simple_equation+ => ActionFn(39); + 60 => { + // simple_equation* = simple_equation+ => ActionFn(44); let __sym0 = __pop_Ntsimple__equation_2b(__symbols); let __start = __sym0.0.clone(); let __end = __sym0.2.clone(); - let __nt = super::__action39(input, __sym0); + let __nt = super::__action44(input, __sym0); let __states_len = __states.len(); __states.truncate(__states_len - 1); __symbols.push((__start, __Symbol::Ntsimple__equation_2a(__nt), __end)); 19 } - 53 => { - // simple_equation+ = simple_equation => ActionFn(48); + 61 => { + // simple_equation+ = simple_equation => ActionFn(53); let __sym0 = __pop_Ntsimple__equation(__symbols); let __start = __sym0.0.clone(); let __end = __sym0.2.clone(); - let __nt = super::__action48(input, __sym0); + let __nt = super::__action53(input, __sym0); let __states_len = __states.len(); __states.truncate(__states_len - 1); __symbols.push((__start, __Symbol::Ntsimple__equation_2b(__nt), __end)); 20 } - 54 => { - // simple_equation+ = simple_equation+, simple_equation => ActionFn(49); + 62 => { + // simple_equation+ = simple_equation+, simple_equation => ActionFn(54); let __sym1 = __pop_Ntsimple__equation(__symbols); let __sym0 = __pop_Ntsimple__equation_2b(__symbols); let __start = __sym0.0.clone(); let __end = __sym1.2.clone(); - let __nt = super::__action49(input, __sym0, __sym1); + let __nt = super::__action54(input, __sym0, __sym1); let __states_len = __states.len(); __states.truncate(__states_len - 2); __symbols.push((__start, __Symbol::Ntsimple__equation_2b(__nt), __end)); 20 } - 55 => { + 63 => { // string_literal = r#"\"[^\"\\\\]*\""# => ActionFn(5); let __sym0 = __pop_Termr_23_22_5c_22_5b_5e_5c_22_5c_5c_5c_5c_5d_2a_5c_22_22_23(__symbols); let __start = __sym0.0.clone(); @@ -4649,105 +5322,174 @@ mod __parse__integer { __symbols.push((__start, __Symbol::Ntstring__literal(__nt), __end)); 21 } - 56 => { - // string_literal? = string_literal => ActionFn(34); + 64 => { + // string_literal? = string_literal => ActionFn(35); let __sym0 = __pop_Ntstring__literal(__symbols); let __start = __sym0.0.clone(); let __end = __sym0.2.clone(); - let __nt = super::__action34(input, __sym0); + let __nt = super::__action35(input, __sym0); let __states_len = __states.len(); __states.truncate(__states_len - 1); __symbols.push((__start, __Symbol::Ntstring__literal_3f(__nt), __end)); 22 } - 57 => { - // string_literal? = => ActionFn(35); + 65 => { + // string_literal? = => ActionFn(36); let __start = __symbols.last().map(|s| s.2.clone()).unwrap_or_default(); let __end = __lookahead_start.cloned().unwrap_or_else(|| __start.clone()); - let __nt = super::__action35(input, &__start, &__end); + let __nt = super::__action36(input, &__start, &__end); let __states_len = __states.len(); __states.truncate(__states_len - 0); __symbols.push((__start, __Symbol::Ntstring__literal_3f(__nt), __end)); 22 } - 58 => { - // term = integer => ActionFn(28); + 66 => { + // term = integer => ActionFn(29); let __sym0 = __pop_Ntinteger(__symbols); let __start = __sym0.0.clone(); let __end = __sym0.2.clone(); - let __nt = super::__action28(input, __sym0); + let __nt = super::__action29(input, __sym0); let __states_len = __states.len(); __states.truncate(__states_len - 1); __symbols.push((__start, __Symbol::Ntterm(__nt), __end)); 23 } - 59 => { - // term = float => ActionFn(29); + 67 => { + // term = float => ActionFn(30); let __sym0 = __pop_Ntfloat(__symbols); let __start = __sym0.0.clone(); let __end = __sym0.2.clone(); - let __nt = super::__action29(input, __sym0); + let __nt = super::__action30(input, __sym0); let __states_len = __states.len(); __states.truncate(__states_len - 1); __symbols.push((__start, __Symbol::Ntterm(__nt), __end)); 23 } - 60 => { - // term = identifier => ActionFn(30); + 68 => { + // term = identifier => ActionFn(31); let __sym0 = __pop_Ntidentifier(__symbols); let __start = __sym0.0.clone(); let __end = __sym0.2.clone(); - let __nt = super::__action30(input, __sym0); + let __nt = super::__action31(input, __sym0); let __states_len = __states.len(); __states.truncate(__states_len - 1); __symbols.push((__start, __Symbol::Ntterm(__nt), __end)); 23 } - 61 => { - // term = "der", "(", expr, ")" => ActionFn(31); + 69 => { + // term = "der", "(", expr, ")" => ActionFn(32); let __sym3 = __pop_Term_22_29_22(__symbols); let __sym2 = __pop_Ntexpr(__symbols); let __sym1 = __pop_Term_22_28_22(__symbols); let __sym0 = __pop_Term_22der_22(__symbols); let __start = __sym0.0.clone(); let __end = __sym3.2.clone(); - let __nt = super::__action31(input, __sym0, __sym1, __sym2, __sym3); + let __nt = super::__action32(input, __sym0, __sym1, __sym2, __sym3); let __states_len = __states.len(); __states.truncate(__states_len - 4); __symbols.push((__start, __Symbol::Ntterm(__nt), __end)); 23 } - 62 => { - // term = "abs", "(", expr, ")" => ActionFn(32); + 70 => { + // term = "abs", "(", expr, ")" => ActionFn(33); let __sym3 = __pop_Term_22_29_22(__symbols); let __sym2 = __pop_Ntexpr(__symbols); let __sym1 = __pop_Term_22_28_22(__symbols); let __sym0 = __pop_Term_22abs_22(__symbols); let __start = __sym0.0.clone(); let __end = __sym3.2.clone(); - let __nt = super::__action32(input, __sym0, __sym1, __sym2, __sym3); + let __nt = super::__action33(input, __sym0, __sym1, __sym2, __sym3); let __states_len = __states.len(); __states.truncate(__states_len - 4); __symbols.push((__start, __Symbol::Ntterm(__nt), __end)); 23 } - 63 => { - // term = "(", expr, ")" => ActionFn(33); + 71 => { + // term = "(", expr, ")" => ActionFn(34); let __sym2 = __pop_Term_22_29_22(__symbols); let __sym1 = __pop_Ntexpr(__symbols); let __sym0 = __pop_Term_22_28_22(__symbols); let __start = __sym0.0.clone(); let __end = __sym2.2.clone(); - let __nt = super::__action33(input, __sym0, __sym1, __sym2); + let __nt = super::__action34(input, __sym0, __sym1, __sym2); let __states_len = __states.len(); __states.truncate(__states_len - 3); __symbols.push((__start, __Symbol::Ntterm(__nt), __end)); 23 } + 72 => { + // units_declaration = "(", "unit", "=", string_literal, ")" => ActionFn(10); + let __sym4 = __pop_Term_22_29_22(__symbols); + let __sym3 = __pop_Ntstring__literal(__symbols); + let __sym2 = __pop_Term_22_3d_22(__symbols); + let __sym1 = __pop_Term_22unit_22(__symbols); + let __sym0 = __pop_Term_22_28_22(__symbols); + let __start = __sym0.0.clone(); + let __end = __sym4.2.clone(); + let __nt = super::__action10(input, __sym0, __sym1, __sym2, __sym3, __sym4); + let __states_len = __states.len(); + __states.truncate(__states_len - 5); + __symbols.push((__start, __Symbol::Ntunits__declaration(__nt), __end)); + 24 + } + 73 => { + // units_declaration? = units_declaration => ActionFn(39); + let __sym0 = __pop_Ntunits__declaration(__symbols); + let __start = __sym0.0.clone(); + let __end = __sym0.2.clone(); + let __nt = super::__action39(input, __sym0); + let __states_len = __states.len(); + __states.truncate(__states_len - 1); + __symbols.push((__start, __Symbol::Ntunits__declaration_3f(__nt), __end)); + 25 + } + 74 => { + // units_declaration? = => ActionFn(40); + let __start = __symbols.last().map(|s| s.2.clone()).unwrap_or_default(); + let __end = __lookahead_start.cloned().unwrap_or_else(|| __start.clone()); + let __nt = super::__action40(input, &__start, &__end); + let __states_len = __states.len(); + __states.truncate(__states_len - 0); + __symbols.push((__start, __Symbol::Ntunits__declaration_3f(__nt), __end)); + 25 + } + 75 => { + // value_declaration = "=", expr => ActionFn(9); + let __sym1 = __pop_Ntexpr(__symbols); + let __sym0 = __pop_Term_22_3d_22(__symbols); + let __start = __sym0.0.clone(); + let __end = __sym1.2.clone(); + let __nt = super::__action9(input, __sym0, __sym1); + let __states_len = __states.len(); + __states.truncate(__states_len - 2); + __symbols.push((__start, __Symbol::Ntvalue__declaration(__nt), __end)); + 26 + } + 76 => { + // value_declaration? = value_declaration => ActionFn(37); + let __sym0 = __pop_Ntvalue__declaration(__symbols); + let __start = __sym0.0.clone(); + let __end = __sym0.2.clone(); + let __nt = super::__action37(input, __sym0); + let __states_len = __states.len(); + __states.truncate(__states_len - 1); + __symbols.push((__start, __Symbol::Ntvalue__declaration_3f(__nt), __end)); + 27 + } + 77 => { + // value_declaration? = => ActionFn(38); + let __start = __symbols.last().map(|s| s.2.clone()).unwrap_or_default(); + let __end = __lookahead_start.cloned().unwrap_or_else(|| __start.clone()); + let __nt = super::__action38(input, &__start, &__end); + let __states_len = __states.len(); + __states.truncate(__states_len - 0); + __symbols.push((__start, __Symbol::Ntvalue__declaration_3f(__nt), __end)); + 27 + } _ => panic!("invalid action code {}", __action) }; let __state = *__states.last().unwrap() as usize; - let __next_state = __GOTO[__state * 24 + __nonterminal] - 1; + let __next_state = __GOTO[__state * 28 + __nonterminal] - 1; __states.push(__next_state); None } @@ -4981,6 +5723,16 @@ mod __parse__integer { _ => panic!("symbol type mismatch") } } + fn __pop_Term_22unit_22< + 'input, + >( + __symbols: &mut ::std::vec::Vec<(usize,__Symbol<'input>,usize)> + ) -> (usize, &'input str, usize) { + match __symbols.pop().unwrap() { + (__l, __Symbol::Term_22unit_22(__v), __r) => (__l, __v, __r), + _ => panic!("symbol type mismatch") + } + } fn __pop_Termr_23_22_5c_22_5b_5e_5c_22_5c_5c_5c_5c_5d_2a_5c_22_22_23< 'input, >( @@ -5261,6 +6013,46 @@ mod __parse__integer { _ => panic!("symbol type mismatch") } } + fn __pop_Ntunits__declaration< + 'input, + >( + __symbols: &mut ::std::vec::Vec<(usize,__Symbol<'input>,usize)> + ) -> (usize, String, usize) { + match __symbols.pop().unwrap() { + (__l, __Symbol::Ntunits__declaration(__v), __r) => (__l, __v, __r), + _ => panic!("symbol type mismatch") + } + } + fn __pop_Ntunits__declaration_3f< + 'input, + >( + __symbols: &mut ::std::vec::Vec<(usize,__Symbol<'input>,usize)> + ) -> (usize, ::std::option::Option<String>, usize) { + match __symbols.pop().unwrap() { + (__l, __Symbol::Ntunits__declaration_3f(__v), __r) => (__l, __v, __r), + _ => panic!("symbol type mismatch") + } + } + fn __pop_Ntvalue__declaration< + 'input, + >( + __symbols: &mut ::std::vec::Vec<(usize,__Symbol<'input>,usize)> + ) -> (usize, Expr, usize) { + match __symbols.pop().unwrap() { + (__l, __Symbol::Ntvalue__declaration(__v), __r) => (__l, __v, __r), + _ => panic!("symbol type mismatch") + } + } + fn __pop_Ntvalue__declaration_3f< + 'input, + >( + __symbols: &mut ::std::vec::Vec<(usize,__Symbol<'input>,usize)> + ) -> (usize, ::std::option::Option<Expr>, usize) { + match __symbols.pop().unwrap() { + (__l, __Symbol::Ntvalue__declaration_3f(__v), __r) => (__l, __v, __r), + _ => panic!("symbol type mismatch") + } + } } pub use self::__parse__integer::parse_integer; @@ -5295,6 +6087,7 @@ mod __parse__model { Term_22output_22(&'input str), Term_22parameter_22(&'input str), Term_22stream_22(&'input str), + Term_22unit_22(&'input str), Termr_23_22_5c_22_5b_5e_5c_22_5c_5c_5c_5c_5d_2a_5c_22_22_23(&'input str), Termr_23_22_5b_2b_2d_5d_3f_5c_5cd_2b_22_23(&'input str), Termr_23_22_5b_2b_2d_5d_3f_5c_5cd_2b_5c_5c_2e_5c_5cd_2a_28_5beE_5d_5b_2d_2b_5d_3f_5c_5cd_2b_29_3f_22_23(&'input str), @@ -5323,6 +6116,10 @@ mod __parse__model { Ntstring__literal(String), Ntstring__literal_3f(::std::option::Option<String>), Ntterm(Expr), + Ntunits__declaration(String), + Ntunits__declaration_3f(::std::option::Option<String>), + Ntvalue__declaration(Expr), + Ntvalue__declaration_3f(::std::option::Option<Expr>), } const __ACTION: &'static [i32] = &[ // State 0 @@ -5349,6 +6146,7 @@ mod __parse__model { 0, // on "output", error 0, // on "parameter", error 0, // on "stream", error + 0, // on "unit", error 0, // on r#"\"[^\"\\\\]*\""#, error 0, // on r#"[+-]?\\d+"#, error 0, // on r#"[+-]?\\d+\\.\\d*([eE][-+]?\\d+)?"#, error @@ -5377,6 +6175,7 @@ mod __parse__model { 0, // on "output", error 0, // on "parameter", error 0, // on "stream", error + 0, // on "unit", error 0, // on r#"\"[^\"\\\\]*\""#, error 0, // on r#"[+-]?\\d+"#, error 0, // on r#"[+-]?\\d+\\.\\d*([eE][-+]?\\d+)?"#, error @@ -5405,6 +6204,7 @@ mod __parse__model { 0, // on "output", error 0, // on "parameter", error 0, // on "stream", error + 0, // on "unit", error 0, // on r#"\"[^\"\\\\]*\""#, error 0, // on r#"[+-]?\\d+"#, error 0, // on r#"[+-]?\\d+\\.\\d*([eE][-+]?\\d+)?"#, error @@ -5433,6 +6233,7 @@ mod __parse__model { 15, // on "output", goto 14 16, // on "parameter", goto 15 17, // on "stream", goto 16 + 0, // on "unit", error 0, // on r#"\"[^\"\\\\]*\""#, error 0, // on r#"[+-]?\\d+"#, error 0, // on r#"[+-]?\\d+\\.\\d*([eE][-+]?\\d+)?"#, error @@ -5450,21 +6251,22 @@ mod __parse__model { 0, // on "^", error 0, // on "abs", error 0, // on "connect", error - -40, // on "constant", reduce `identifier = r#"[a-zA-Z_][a-zA-Z_0-9]*"# => ActionFn(4);` + -48, // on "constant", reduce `identifier = r#"[a-zA-Z_][a-zA-Z_0-9]*"# => ActionFn(4);` 0, // on "der", error - -40, // on "discrete", reduce `identifier = r#"[a-zA-Z_][a-zA-Z_0-9]*"# => ActionFn(4);` + -48, // on "discrete", reduce `identifier = r#"[a-zA-Z_][a-zA-Z_0-9]*"# => ActionFn(4);` 0, // on "end", error - -40, // on "equation", reduce `identifier = r#"[a-zA-Z_][a-zA-Z_0-9]*"# => ActionFn(4);` - -40, // on "flow", reduce `identifier = r#"[a-zA-Z_][a-zA-Z_0-9]*"# => ActionFn(4);` - -40, // on "input", reduce `identifier = r#"[a-zA-Z_][a-zA-Z_0-9]*"# => ActionFn(4);` + -48, // on "equation", reduce `identifier = r#"[a-zA-Z_][a-zA-Z_0-9]*"# => ActionFn(4);` + -48, // on "flow", reduce `identifier = r#"[a-zA-Z_][a-zA-Z_0-9]*"# => ActionFn(4);` + -48, // on "input", reduce `identifier = r#"[a-zA-Z_][a-zA-Z_0-9]*"# => ActionFn(4);` 0, // on "model", error - -40, // on "output", reduce `identifier = r#"[a-zA-Z_][a-zA-Z_0-9]*"# => ActionFn(4);` - -40, // on "parameter", reduce `identifier = r#"[a-zA-Z_][a-zA-Z_0-9]*"# => ActionFn(4);` - -40, // on "stream", reduce `identifier = r#"[a-zA-Z_][a-zA-Z_0-9]*"# => ActionFn(4);` + -48, // on "output", reduce `identifier = r#"[a-zA-Z_][a-zA-Z_0-9]*"# => ActionFn(4);` + -48, // on "parameter", reduce `identifier = r#"[a-zA-Z_][a-zA-Z_0-9]*"# => ActionFn(4);` + -48, // on "stream", reduce `identifier = r#"[a-zA-Z_][a-zA-Z_0-9]*"# => ActionFn(4);` + 0, // on "unit", error 0, // on r#"\"[^\"\\\\]*\""#, error 0, // on r#"[+-]?\\d+"#, error 0, // on r#"[+-]?\\d+\\.\\d*([eE][-+]?\\d+)?"#, error - -40, // on r#"[a-zA-Z_][a-zA-Z_0-9]*"#, reduce `identifier = r#"[a-zA-Z_][a-zA-Z_0-9]*"# => ActionFn(4);` + -48, // 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 @@ -5478,21 +6280,22 @@ mod __parse__model { 0, // on "^", error 0, // on "abs", error 0, // on "connect", error - -15, // on "constant", reduce `component_declaration+ = component_declaration => ActionFn(44);` + -23, // on "constant", reduce `component_declaration+ = component_declaration => ActionFn(49);` 0, // on "der", error - -15, // on "discrete", reduce `component_declaration+ = component_declaration => ActionFn(44);` + -23, // on "discrete", reduce `component_declaration+ = component_declaration => ActionFn(49);` 0, // on "end", error - -15, // on "equation", reduce `component_declaration+ = component_declaration => ActionFn(44);` - -15, // on "flow", reduce `component_declaration+ = component_declaration => ActionFn(44);` - -15, // on "input", reduce `component_declaration+ = component_declaration => ActionFn(44);` + -23, // on "equation", reduce `component_declaration+ = component_declaration => ActionFn(49);` + -23, // on "flow", reduce `component_declaration+ = component_declaration => ActionFn(49);` + -23, // on "input", reduce `component_declaration+ = component_declaration => ActionFn(49);` 0, // on "model", error - -15, // on "output", reduce `component_declaration+ = component_declaration => ActionFn(44);` - -15, // on "parameter", reduce `component_declaration+ = component_declaration => ActionFn(44);` - -15, // on "stream", reduce `component_declaration+ = component_declaration => ActionFn(44);` + -23, // on "output", reduce `component_declaration+ = component_declaration => ActionFn(49);` + -23, // on "parameter", reduce `component_declaration+ = component_declaration => ActionFn(49);` + -23, // on "stream", reduce `component_declaration+ = component_declaration => ActionFn(49);` + 0, // on "unit", error 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 => ActionFn(44);` + -23, // on r#"[a-zA-Z_][a-zA-Z_0-9]*"#, reduce `component_declaration+ = component_declaration => ActionFn(49);` // State 6 0, // on "(", error 0, // on ")", error @@ -5517,6 +6320,7 @@ mod __parse__model { 15, // on "output", goto 14 16, // on "parameter", goto 15 17, // on "stream", goto 16 + 0, // on "unit", error 0, // on r#"\"[^\"\\\\]*\""#, error 0, // on r#"[+-]?\\d+"#, error 0, // on r#"[+-]?\\d+\\.\\d*([eE][-+]?\\d+)?"#, error @@ -5545,6 +6349,7 @@ mod __parse__model { 0, // on "output", error 0, // on "parameter", error 0, // on "stream", error + 0, // on "unit", error 0, // on r#"\"[^\"\\\\]*\""#, error 0, // on r#"[+-]?\\d+"#, error 0, // on r#"[+-]?\\d+\\.\\d*([eE][-+]?\\d+)?"#, error @@ -5573,6 +6378,7 @@ mod __parse__model { 0, // on "output", error 0, // on "parameter", error 0, // on "stream", error + 0, // on "unit", error 0, // on r#"\"[^\"\\\\]*\""#, error 0, // on r#"[+-]?\\d+"#, error 0, // on r#"[+-]?\\d+\\.\\d*([eE][-+]?\\d+)?"#, error @@ -5601,10 +6407,11 @@ mod __parse__model { 0, // on "output", error 0, // on "parameter", error 0, // on "stream", error + 0, // on "unit", error 0, // on r#"\"[^\"\\\\]*\""#, error 0, // on r#"[+-]?\\d+"#, error 0, // on r#"[+-]?\\d+\\.\\d*([eE][-+]?\\d+)?"#, error - -23, // on r#"[a-zA-Z_][a-zA-Z_0-9]*"#, reduce `component_prefix = "constant" => ActionFn(17);` + -31, // on r#"[a-zA-Z_][a-zA-Z_0-9]*"#, reduce `component_prefix = "constant" => ActionFn(18);` // State 10 0, // on "(", error 0, // on ")", error @@ -5629,10 +6436,11 @@ mod __parse__model { 0, // on "output", error 0, // on "parameter", error 0, // on "stream", error + 0, // on "unit", 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 = "discrete" => ActionFn(15);` + -29, // on r#"[a-zA-Z_][a-zA-Z_0-9]*"#, reduce `component_prefix = "discrete" => ActionFn(16);` // State 11 34, // on "(", goto 33 0, // on ")", error @@ -5657,6 +6465,7 @@ mod __parse__model { 0, // on "output", error 0, // on "parameter", error 0, // on "stream", error + 0, // on "unit", error 0, // on r#"\"[^\"\\\\]*\""#, error 40, // on r#"[+-]?\\d+"#, goto 39 41, // on r#"[+-]?\\d+\\.\\d*([eE][-+]?\\d+)?"#, goto 40 @@ -5685,10 +6494,11 @@ mod __parse__model { 0, // on "output", error 0, // on "parameter", error 0, // on "stream", error + 0, // on "unit", 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 = "flow" => ActionFn(11);` + -25, // on r#"[a-zA-Z_][a-zA-Z_0-9]*"#, reduce `component_prefix = "flow" => ActionFn(12);` // State 13 0, // on "(", error 0, // on ")", error @@ -5713,10 +6523,11 @@ mod __parse__model { 0, // on "output", error 0, // on "parameter", error 0, // on "stream", error + 0, // on "unit", 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 = "input" => ActionFn(13);` + -27, // on r#"[a-zA-Z_][a-zA-Z_0-9]*"#, reduce `component_prefix = "input" => ActionFn(14);` // State 14 0, // on "(", error 0, // on ")", error @@ -5741,10 +6552,11 @@ mod __parse__model { 0, // on "output", error 0, // on "parameter", error 0, // on "stream", error + 0, // on "unit", 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 = "output" => ActionFn(14);` + -28, // on r#"[a-zA-Z_][a-zA-Z_0-9]*"#, reduce `component_prefix = "output" => ActionFn(15);` // State 15 0, // on "(", error 0, // on ")", error @@ -5769,10 +6581,11 @@ mod __parse__model { 0, // on "output", error 0, // on "parameter", error 0, // on "stream", error + 0, // on "unit", 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 = "parameter" => ActionFn(16);` + -30, // on r#"[a-zA-Z_][a-zA-Z_0-9]*"#, reduce `component_prefix = "parameter" => ActionFn(17);` // State 16 0, // on "(", error 0, // on ")", error @@ -5797,10 +6610,11 @@ mod __parse__model { 0, // on "output", error 0, // on "parameter", error 0, // on "stream", error + 0, // on "unit", 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 = "stream" => ActionFn(12);` + -26, // on r#"[a-zA-Z_][a-zA-Z_0-9]*"#, reduce `component_prefix = "stream" => ActionFn(13);` // State 17 0, // on "(", error 0, // on ")", error @@ -5825,10 +6639,11 @@ mod __parse__model { 0, // on "output", error 0, // on "parameter", error 0, // on "stream", error + 0, // on "unit", error 0, // on r#"\"[^\"\\\\]*\""#, error 0, // on r#"[+-]?\\d+"#, error 0, // on r#"[+-]?\\d+\\.\\d*([eE][-+]?\\d+)?"#, error - -40, // on r#"[a-zA-Z_][a-zA-Z_0-9]*"#, reduce `identifier = r#"[a-zA-Z_][a-zA-Z_0-9]*"# => ActionFn(4);` + -48, // 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 @@ -5842,21 +6657,22 @@ mod __parse__model { 0, // on "^", error 0, // on "abs", error 0, // on "connect", error - -16, // on "constant", reduce `component_declaration+ = component_declaration+, component_declaration => ActionFn(45);` + -24, // on "constant", reduce `component_declaration+ = component_declaration+, component_declaration => ActionFn(50);` 0, // on "der", error - -16, // on "discrete", reduce `component_declaration+ = component_declaration+, component_declaration => ActionFn(45);` + -24, // on "discrete", reduce `component_declaration+ = component_declaration+, component_declaration => ActionFn(50);` 0, // on "end", error - -16, // on "equation", reduce `component_declaration+ = component_declaration+, component_declaration => ActionFn(45);` - -16, // on "flow", reduce `component_declaration+ = component_declaration+, component_declaration => ActionFn(45);` - -16, // on "input", reduce `component_declaration+ = component_declaration+, component_declaration => ActionFn(45);` + -24, // on "equation", reduce `component_declaration+ = component_declaration+, component_declaration => ActionFn(50);` + -24, // on "flow", reduce `component_declaration+ = component_declaration+, component_declaration => ActionFn(50);` + -24, // on "input", reduce `component_declaration+ = component_declaration+, component_declaration => ActionFn(50);` 0, // on "model", error - -16, // on "output", reduce `component_declaration+ = component_declaration+, component_declaration => ActionFn(45);` - -16, // on "parameter", reduce `component_declaration+ = component_declaration+, component_declaration => ActionFn(45);` - -16, // on "stream", reduce `component_declaration+ = component_declaration+, component_declaration => ActionFn(45);` + -24, // on "output", reduce `component_declaration+ = component_declaration+, component_declaration => ActionFn(50);` + -24, // on "parameter", reduce `component_declaration+ = component_declaration+, component_declaration => ActionFn(50);` + -24, // on "stream", reduce `component_declaration+ = component_declaration+, component_declaration => ActionFn(50);` + 0, // on "unit", 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_declaration+ = component_declaration+, component_declaration => ActionFn(45);` + -24, // on r#"[a-zA-Z_][a-zA-Z_0-9]*"#, reduce `component_declaration+ = component_declaration+, component_declaration => ActionFn(50);` // State 19 34, // on "(", goto 33 0, // on ")", error @@ -5881,6 +6697,7 @@ mod __parse__model { 0, // on "output", error 0, // on "parameter", error 0, // on "stream", error + 0, // on "unit", error 0, // on r#"\"[^\"\\\\]*\""#, error 40, // on r#"[+-]?\\d+"#, goto 39 41, // on r#"[+-]?\\d+\\.\\d*([eE][-+]?\\d+)?"#, goto 40 @@ -5909,20 +6726,21 @@ mod __parse__model { 0, // on "output", error 0, // on "parameter", error 0, // on "stream", error + 0, // on "unit", error 0, // on r#"\"[^\"\\\\]*\""#, error 0, // on r#"[+-]?\\d+"#, error 0, // on r#"[+-]?\\d+\\.\\d*([eE][-+]?\\d+)?"#, error 23, // on r#"[a-zA-Z_][a-zA-Z_0-9]*"#, goto 22 // State 21 - 0, // on "(", error + 50, // on "(", goto 49 0, // on ")", error 0, // on "*", error 0, // on "+", error 0, // on ",", error 0, // on "-", error 0, // on "/", error - 48, // on ";", goto 47 - 49, // on "=", goto 48 + 51, // on ";", goto 50 + 52, // on "=", goto 51 0, // on "^", error 0, // on "abs", error 0, // on "connect", error @@ -5937,20 +6755,21 @@ mod __parse__model { 0, // on "output", error 0, // on "parameter", error 0, // on "stream", error - 50, // on r#"\"[^\"\\\\]*\""#, goto 49 + 0, // on "unit", error + 53, // on r#"\"[^\"\\\\]*\""#, goto 52 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 22 - 0, // on "(", error + -48, // on "(", reduce `identifier = r#"[a-zA-Z_][a-zA-Z_0-9]*"# => ActionFn(4);` 0, // on ")", error 0, // on "*", error 0, // on "+", error 0, // on ",", error 0, // on "-", error 0, // on "/", error - -40, // on ";", reduce `identifier = r#"[a-zA-Z_][a-zA-Z_0-9]*"# => ActionFn(4);` - -40, // on "=", reduce `identifier = r#"[a-zA-Z_][a-zA-Z_0-9]*"# => ActionFn(4);` + -48, // on ";", reduce `identifier = r#"[a-zA-Z_][a-zA-Z_0-9]*"# => ActionFn(4);` + -48, // 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 @@ -5965,27 +6784,28 @@ mod __parse__model { 0, // on "output", error 0, // on "parameter", error 0, // on "stream", error - -40, // on r#"\"[^\"\\\\]*\""#, reduce `identifier = r#"[a-zA-Z_][a-zA-Z_0-9]*"# => ActionFn(4);` + 0, // on "unit", error + -48, // 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 - -29, // on "(", reduce `connect_clause+ = connect_clause => ActionFn(46);` + -37, // on "(", reduce `connect_clause+ = connect_clause => ActionFn(51);` 0, // on ")", error 0, // on "*", error 0, // on "+", error 0, // on ",", error - -29, // on "-", reduce `connect_clause+ = connect_clause => ActionFn(46);` + -37, // on "-", reduce `connect_clause+ = connect_clause => ActionFn(51);` 0, // on "/", error 0, // on ";", error 0, // on "=", error 0, // on "^", error - -29, // on "abs", reduce `connect_clause+ = connect_clause => ActionFn(46);` - -29, // on "connect", reduce `connect_clause+ = connect_clause => ActionFn(46);` + -37, // on "abs", reduce `connect_clause+ = connect_clause => ActionFn(51);` + -37, // on "connect", reduce `connect_clause+ = connect_clause => ActionFn(51);` 0, // on "constant", error - -29, // on "der", reduce `connect_clause+ = connect_clause => ActionFn(46);` + -37, // on "der", reduce `connect_clause+ = connect_clause => ActionFn(51);` 0, // on "discrete", error - -29, // on "end", reduce `connect_clause+ = connect_clause => ActionFn(46);` + -37, // on "end", reduce `connect_clause+ = connect_clause => ActionFn(51);` 0, // on "equation", error 0, // on "flow", error 0, // on "input", error @@ -5993,10 +6813,11 @@ mod __parse__model { 0, // on "output", error 0, // on "parameter", error 0, // on "stream", error + 0, // on "unit", error 0, // on r#"\"[^\"\\\\]*\""#, error - -29, // on r#"[+-]?\\d+"#, reduce `connect_clause+ = connect_clause => ActionFn(46);` - -29, // on r#"[+-]?\\d+\\.\\d*([eE][-+]?\\d+)?"#, reduce `connect_clause+ = connect_clause => ActionFn(46);` - -29, // on r#"[a-zA-Z_][a-zA-Z_0-9]*"#, reduce `connect_clause+ = connect_clause => ActionFn(46);` + -37, // on r#"[+-]?\\d+"#, reduce `connect_clause+ = connect_clause => ActionFn(51);` + -37, // on r#"[+-]?\\d+\\.\\d*([eE][-+]?\\d+)?"#, reduce `connect_clause+ = connect_clause => ActionFn(51);` + -37, // on r#"[a-zA-Z_][a-zA-Z_0-9]*"#, reduce `connect_clause+ = connect_clause => ActionFn(51);` // State 24 34, // on "(", goto 33 0, // on ")", error @@ -6013,7 +6834,7 @@ mod __parse__model { 0, // on "constant", error 38, // on "der", goto 37 0, // on "discrete", error - 53, // on "end", goto 52 + 56, // on "end", goto 55 0, // on "equation", error 0, // on "flow", error 0, // on "input", error @@ -6021,6 +6842,7 @@ mod __parse__model { 0, // on "output", error 0, // on "parameter", error 0, // on "stream", error + 0, // on "unit", error 0, // on r#"\"[^\"\\\\]*\""#, error 40, // on r#"[+-]?\\d+"#, goto 39 41, // on r#"[+-]?\\d+\\.\\d*([eE][-+]?\\d+)?"#, goto 40 @@ -6029,12 +6851,12 @@ mod __parse__model { 0, // on "(", error 0, // on ")", error 0, // on "*", error - 54, // on "+", goto 53 + 57, // on "+", goto 56 0, // on ",", error - 55, // on "-", goto 54 + 58, // on "-", goto 57 0, // on "/", error 0, // on ";", error - 56, // on "=", goto 55 + 59, // on "=", goto 58 0, // on "^", error 0, // on "abs", error 0, // on "connect", error @@ -6049,6 +6871,7 @@ mod __parse__model { 0, // on "output", error 0, // on "parameter", error 0, // on "stream", error + 0, // on "unit", error 0, // on r#"\"[^\"\\\\]*\""#, error 0, // on r#"[+-]?\\d+"#, error 0, // on r#"[+-]?\\d+\\.\\d*([eE][-+]?\\d+)?"#, error @@ -6056,14 +6879,14 @@ mod __parse__model { // State 26 0, // on "(", error 0, // on ")", error - 57, // on "*", goto 56 - -33, // on "+", reduce `expr = factor => ActionFn(22);` + 60, // on "*", goto 59 + -41, // on "+", reduce `expr = factor => ActionFn(23);` 0, // on ",", error - -33, // on "-", reduce `expr = factor => ActionFn(22);` - 58, // on "/", goto 57 + -41, // on "-", reduce `expr = factor => ActionFn(23);` + 61, // on "/", goto 60 0, // on ";", error - -33, // on "=", reduce `expr = factor => ActionFn(22);` - 59, // on "^", goto 58 + -41, // on "=", reduce `expr = factor => ActionFn(23);` + 62, // on "^", goto 61 0, // on "abs", error 0, // on "connect", error 0, // on "constant", error @@ -6077,6 +6900,7 @@ mod __parse__model { 0, // on "output", error 0, // on "parameter", error 0, // on "stream", error + 0, // on "unit", error 0, // on r#"\"[^\"\\\\]*\""#, error 0, // on r#"[+-]?\\d+"#, error 0, // on r#"[+-]?\\d+\\.\\d*([eE][-+]?\\d+)?"#, error @@ -6084,14 +6908,14 @@ mod __parse__model { // State 27 0, // on "(", error 0, // on ")", error - -59, // on "*", reduce `term = float => ActionFn(29);` - -59, // on "+", reduce `term = float => ActionFn(29);` + -67, // on "*", reduce `term = float => ActionFn(30);` + -67, // on "+", reduce `term = float => ActionFn(30);` 0, // on ",", error - -59, // on "-", reduce `term = float => ActionFn(29);` - -59, // on "/", reduce `term = float => ActionFn(29);` + -67, // on "-", reduce `term = float => ActionFn(30);` + -67, // on "/", reduce `term = float => ActionFn(30);` 0, // on ";", error - -59, // on "=", reduce `term = float => ActionFn(29);` - -59, // on "^", reduce `term = float => ActionFn(29);` + -67, // on "=", reduce `term = float => ActionFn(30);` + -67, // on "^", reduce `term = float => ActionFn(30);` 0, // on "abs", error 0, // on "connect", error 0, // on "constant", error @@ -6105,6 +6929,7 @@ mod __parse__model { 0, // on "output", error 0, // on "parameter", error 0, // on "stream", error + 0, // on "unit", error 0, // on r#"\"[^\"\\\\]*\""#, error 0, // on r#"[+-]?\\d+"#, error 0, // on r#"[+-]?\\d+\\.\\d*([eE][-+]?\\d+)?"#, error @@ -6112,14 +6937,14 @@ mod __parse__model { // State 28 0, // on "(", error 0, // on ")", error - -60, // on "*", reduce `term = identifier => ActionFn(30);` - -60, // on "+", reduce `term = identifier => ActionFn(30);` + -68, // on "*", reduce `term = identifier => ActionFn(31);` + -68, // on "+", reduce `term = identifier => ActionFn(31);` 0, // on ",", error - -60, // on "-", reduce `term = identifier => ActionFn(30);` - -60, // on "/", reduce `term = identifier => ActionFn(30);` + -68, // on "-", reduce `term = identifier => ActionFn(31);` + -68, // on "/", reduce `term = identifier => ActionFn(31);` 0, // on ";", error - -60, // on "=", reduce `term = identifier => ActionFn(30);` - -60, // on "^", reduce `term = identifier => ActionFn(30);` + -68, // on "=", reduce `term = identifier => ActionFn(31);` + -68, // on "^", reduce `term = identifier => ActionFn(31);` 0, // on "abs", error 0, // on "connect", error 0, // on "constant", error @@ -6133,6 +6958,7 @@ mod __parse__model { 0, // on "output", error 0, // on "parameter", error 0, // on "stream", error + 0, // on "unit", error 0, // on r#"\"[^\"\\\\]*\""#, error 0, // on r#"[+-]?\\d+"#, error 0, // on r#"[+-]?\\d+\\.\\d*([eE][-+]?\\d+)?"#, error @@ -6140,14 +6966,14 @@ mod __parse__model { // State 29 0, // on "(", error 0, // on ")", error - -58, // on "*", reduce `term = integer => ActionFn(28);` - -58, // on "+", reduce `term = integer => ActionFn(28);` + -66, // on "*", reduce `term = integer => ActionFn(29);` + -66, // on "+", reduce `term = integer => ActionFn(29);` 0, // on ",", error - -58, // on "-", reduce `term = integer => ActionFn(28);` - -58, // on "/", reduce `term = integer => ActionFn(28);` + -66, // on "-", reduce `term = integer => ActionFn(29);` + -66, // on "/", reduce `term = integer => ActionFn(29);` 0, // on ";", error - -58, // on "=", reduce `term = integer => ActionFn(28);` - -58, // on "^", reduce `term = integer => ActionFn(28);` + -66, // on "=", reduce `term = integer => ActionFn(29);` + -66, // on "^", reduce `term = integer => ActionFn(29);` 0, // on "abs", error 0, // on "connect", error 0, // on "constant", error @@ -6161,27 +6987,28 @@ mod __parse__model { 0, // on "output", error 0, // on "parameter", error 0, // on "stream", error + 0, // on "unit", 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 - -53, // on "(", reduce `simple_equation+ = simple_equation => ActionFn(48);` + -61, // on "(", reduce `simple_equation+ = simple_equation => ActionFn(53);` 0, // on ")", error 0, // on "*", error 0, // on "+", error 0, // on ",", error - -53, // on "-", reduce `simple_equation+ = simple_equation => ActionFn(48);` + -61, // on "-", reduce `simple_equation+ = simple_equation => ActionFn(53);` 0, // on "/", error 0, // on ";", error 0, // on "=", error 0, // on "^", error - -53, // on "abs", reduce `simple_equation+ = simple_equation => ActionFn(48);` + -61, // on "abs", reduce `simple_equation+ = simple_equation => ActionFn(53);` 0, // on "connect", error 0, // on "constant", error - -53, // on "der", reduce `simple_equation+ = simple_equation => ActionFn(48);` + -61, // on "der", reduce `simple_equation+ = simple_equation => ActionFn(53);` 0, // on "discrete", error - -53, // on "end", reduce `simple_equation+ = simple_equation => ActionFn(48);` + -61, // on "end", reduce `simple_equation+ = simple_equation => ActionFn(53);` 0, // on "equation", error 0, // on "flow", error 0, // on "input", error @@ -6189,10 +7016,11 @@ mod __parse__model { 0, // on "output", error 0, // on "parameter", error 0, // on "stream", error + 0, // on "unit", error 0, // on r#"\"[^\"\\\\]*\""#, error - -53, // on r#"[+-]?\\d+"#, reduce `simple_equation+ = simple_equation => ActionFn(48);` - -53, // on r#"[+-]?\\d+\\.\\d*([eE][-+]?\\d+)?"#, reduce `simple_equation+ = simple_equation => ActionFn(48);` - -53, // on r#"[a-zA-Z_][a-zA-Z_0-9]*"#, reduce `simple_equation+ = simple_equation => ActionFn(48);` + -61, // on r#"[+-]?\\d+"#, reduce `simple_equation+ = simple_equation => ActionFn(53);` + -61, // on r#"[+-]?\\d+\\.\\d*([eE][-+]?\\d+)?"#, reduce `simple_equation+ = simple_equation => ActionFn(53);` + -61, // on r#"[a-zA-Z_][a-zA-Z_0-9]*"#, reduce `simple_equation+ = simple_equation => ActionFn(53);` // State 31 34, // on "(", goto 33 0, // on ")", error @@ -6209,7 +7037,7 @@ mod __parse__model { 0, // on "constant", error 38, // on "der", goto 37 0, // on "discrete", error - 61, // on "end", goto 60 + 64, // on "end", goto 63 0, // on "equation", error 0, // on "flow", error 0, // on "input", error @@ -6217,6 +7045,7 @@ mod __parse__model { 0, // on "output", error 0, // on "parameter", error 0, // on "stream", error + 0, // on "unit", error 0, // on r#"\"[^\"\\\\]*\""#, error 40, // on r#"[+-]?\\d+"#, goto 39 41, // on r#"[+-]?\\d+\\.\\d*([eE][-+]?\\d+)?"#, goto 40 @@ -6224,14 +7053,14 @@ mod __parse__model { // State 32 0, // on "(", error 0, // on ")", error - -38, // on "*", reduce `factor = term => ActionFn(27);` - -38, // on "+", reduce `factor = term => ActionFn(27);` + -46, // on "*", reduce `factor = term => ActionFn(28);` + -46, // on "+", reduce `factor = term => ActionFn(28);` 0, // on ",", error - -38, // on "-", reduce `factor = term => ActionFn(27);` - -38, // on "/", reduce `factor = term => ActionFn(27);` + -46, // on "-", reduce `factor = term => ActionFn(28);` + -46, // on "/", reduce `factor = term => ActionFn(28);` 0, // on ";", error - -38, // on "=", reduce `factor = term => ActionFn(27);` - -38, // on "^", reduce `factor = term => ActionFn(27);` + -46, // on "=", reduce `factor = term => ActionFn(28);` + -46, // on "^", reduce `factor = term => ActionFn(28);` 0, // on "abs", error 0, // on "connect", error 0, // on "constant", error @@ -6245,25 +7074,26 @@ mod __parse__model { 0, // on "output", error 0, // on "parameter", error 0, // on "stream", error + 0, // on "unit", 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 33 - 68, // on "(", goto 67 + 71, // on "(", goto 70 0, // on ")", error 0, // on "*", error 0, // on "+", error 0, // on ",", error - 69, // on "-", goto 68 + 72, // on "-", goto 71 0, // on "/", error 0, // on ";", error 0, // on "=", error 0, // on "^", error - 70, // on "abs", goto 69 + 73, // on "abs", goto 72 0, // on "connect", error 0, // on "constant", error - 71, // on "der", goto 70 + 74, // on "der", goto 73 0, // on "discrete", error 0, // on "end", error 0, // on "equation", error @@ -6273,10 +7103,11 @@ mod __parse__model { 0, // on "output", error 0, // on "parameter", error 0, // on "stream", error + 0, // on "unit", error 0, // on r#"\"[^\"\\\\]*\""#, error - 72, // on r#"[+-]?\\d+"#, goto 71 - 73, // on r#"[+-]?\\d+\\.\\d*([eE][-+]?\\d+)?"#, goto 72 - 74, // on r#"[a-zA-Z_][a-zA-Z_0-9]*"#, goto 73 + 75, // on r#"[+-]?\\d+"#, goto 74 + 76, // on r#"[+-]?\\d+\\.\\d*([eE][-+]?\\d+)?"#, goto 75 + 77, // on r#"[a-zA-Z_][a-zA-Z_0-9]*"#, goto 76 // State 34 34, // on "(", goto 33 0, // on ")", error @@ -6301,12 +7132,13 @@ mod __parse__model { 0, // on "output", error 0, // on "parameter", error 0, // on "stream", error + 0, // on "unit", 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 35 - 76, // on "(", goto 75 + 79, // on "(", goto 78 0, // on ")", error 0, // on "*", error 0, // on "+", error @@ -6329,12 +7161,13 @@ mod __parse__model { 0, // on "output", error 0, // on "parameter", error 0, // on "stream", error + 0, // on "unit", 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 36 - 77, // on "(", goto 76 + 80, // on "(", goto 79 0, // on ")", error 0, // on "*", error 0, // on "+", error @@ -6357,12 +7190,13 @@ mod __parse__model { 0, // on "output", error 0, // on "parameter", error 0, // on "stream", error + 0, // on "unit", 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 - 78, // on "(", goto 77 + 81, // on "(", goto 80 0, // on ")", error 0, // on "*", error 0, // on "+", error @@ -6385,6 +7219,7 @@ mod __parse__model { 0, // on "output", error 0, // on "parameter", error 0, // on "stream", error + 0, // on "unit", error 0, // on r#"\"[^\"\\\\]*\""#, error 0, // on r#"[+-]?\\d+"#, error 0, // on r#"[+-]?\\d+\\.\\d*([eE][-+]?\\d+)?"#, error @@ -6413,21 +7248,22 @@ mod __parse__model { 0, // on "output", error 0, // on "parameter", error 0, // on "stream", error + 0, // on "unit", error 0, // on r#"\"[^\"\\\\]*\""#, error 0, // on r#"[+-]?\\d+"#, error 0, // on r#"[+-]?\\d+\\.\\d*([eE][-+]?\\d+)?"#, error - 80, // on r#"[a-zA-Z_][a-zA-Z_0-9]*"#, goto 79 + 83, // on r#"[a-zA-Z_][a-zA-Z_0-9]*"#, goto 82 // State 39 0, // on "(", error 0, // on ")", error - -41, // on "*", reduce `integer = r#"[+-]?\\d+"# => ActionFn(6);` - -41, // on "+", reduce `integer = r#"[+-]?\\d+"# => ActionFn(6);` + -49, // on "*", reduce `integer = r#"[+-]?\\d+"# => ActionFn(6);` + -49, // on "+", reduce `integer = r#"[+-]?\\d+"# => ActionFn(6);` 0, // on ",", error - -41, // on "-", reduce `integer = r#"[+-]?\\d+"# => ActionFn(6);` - -41, // on "/", reduce `integer = r#"[+-]?\\d+"# => ActionFn(6);` + -49, // on "-", reduce `integer = r#"[+-]?\\d+"# => ActionFn(6);` + -49, // on "/", reduce `integer = r#"[+-]?\\d+"# => ActionFn(6);` 0, // on ";", error - -41, // on "=", reduce `integer = r#"[+-]?\\d+"# => ActionFn(6);` - -41, // on "^", reduce `integer = r#"[+-]?\\d+"# => ActionFn(6);` + -49, // on "=", reduce `integer = r#"[+-]?\\d+"# => ActionFn(6);` + -49, // on "^", reduce `integer = r#"[+-]?\\d+"# => ActionFn(6);` 0, // on "abs", error 0, // on "connect", error 0, // on "constant", error @@ -6441,6 +7277,7 @@ mod __parse__model { 0, // on "output", error 0, // on "parameter", error 0, // on "stream", error + 0, // on "unit", error 0, // on r#"\"[^\"\\\\]*\""#, error 0, // on r#"[+-]?\\d+"#, error 0, // on r#"[+-]?\\d+\\.\\d*([eE][-+]?\\d+)?"#, error @@ -6448,14 +7285,14 @@ mod __parse__model { // State 40 0, // on "(", error 0, // on ")", error - -39, // on "*", reduce `float = r#"[+-]?\\d+\\.\\d*([eE][-+]?\\d+)?"# => ActionFn(7);` - -39, // on "+", reduce `float = r#"[+-]?\\d+\\.\\d*([eE][-+]?\\d+)?"# => ActionFn(7);` + -47, // on "*", reduce `float = r#"[+-]?\\d+\\.\\d*([eE][-+]?\\d+)?"# => ActionFn(7);` + -47, // on "+", reduce `float = r#"[+-]?\\d+\\.\\d*([eE][-+]?\\d+)?"# => ActionFn(7);` 0, // on ",", error - -39, // on "-", reduce `float = r#"[+-]?\\d+\\.\\d*([eE][-+]?\\d+)?"# => ActionFn(7);` - -39, // on "/", reduce `float = r#"[+-]?\\d+\\.\\d*([eE][-+]?\\d+)?"# => ActionFn(7);` + -47, // on "-", reduce `float = r#"[+-]?\\d+\\.\\d*([eE][-+]?\\d+)?"# => ActionFn(7);` + -47, // on "/", reduce `float = r#"[+-]?\\d+\\.\\d*([eE][-+]?\\d+)?"# => ActionFn(7);` 0, // on ";", error - -39, // on "=", reduce `float = r#"[+-]?\\d+\\.\\d*([eE][-+]?\\d+)?"# => ActionFn(7);` - -39, // on "^", reduce `float = r#"[+-]?\\d+\\.\\d*([eE][-+]?\\d+)?"# => ActionFn(7);` + -47, // on "=", reduce `float = r#"[+-]?\\d+\\.\\d*([eE][-+]?\\d+)?"# => ActionFn(7);` + -47, // on "^", reduce `float = r#"[+-]?\\d+\\.\\d*([eE][-+]?\\d+)?"# => ActionFn(7);` 0, // on "abs", error 0, // on "connect", error 0, // on "constant", error @@ -6469,6 +7306,7 @@ mod __parse__model { 0, // on "output", error 0, // on "parameter", error 0, // on "stream", error + 0, // on "unit", error 0, // on r#"\"[^\"\\\\]*\""#, error 0, // on r#"[+-]?\\d+"#, error 0, // on r#"[+-]?\\d+\\.\\d*([eE][-+]?\\d+)?"#, error @@ -6476,14 +7314,14 @@ mod __parse__model { // State 41 0, // on "(", error 0, // on ")", error - -40, // on "*", reduce `identifier = r#"[a-zA-Z_][a-zA-Z_0-9]*"# => ActionFn(4);` - -40, // on "+", reduce `identifier = r#"[a-zA-Z_][a-zA-Z_0-9]*"# => ActionFn(4);` + -48, // on "*", reduce `identifier = r#"[a-zA-Z_][a-zA-Z_0-9]*"# => ActionFn(4);` + -48, // on "+", reduce `identifier = r#"[a-zA-Z_][a-zA-Z_0-9]*"# => ActionFn(4);` 0, // on ",", error - -40, // on "-", reduce `identifier = r#"[a-zA-Z_][a-zA-Z_0-9]*"# => ActionFn(4);` - -40, // on "/", reduce `identifier = r#"[a-zA-Z_][a-zA-Z_0-9]*"# => ActionFn(4);` + -48, // on "-", reduce `identifier = r#"[a-zA-Z_][a-zA-Z_0-9]*"# => ActionFn(4);` + -48, // on "/", reduce `identifier = r#"[a-zA-Z_][a-zA-Z_0-9]*"# => ActionFn(4);` 0, // on ";", error - -40, // on "=", reduce `identifier = r#"[a-zA-Z_][a-zA-Z_0-9]*"# => ActionFn(4);` - -40, // on "^", reduce `identifier = r#"[a-zA-Z_][a-zA-Z_0-9]*"# => ActionFn(4);` + -48, // on "=", reduce `identifier = r#"[a-zA-Z_][a-zA-Z_0-9]*"# => ActionFn(4);` + -48, // 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 @@ -6497,6 +7335,7 @@ mod __parse__model { 0, // on "output", error 0, // on "parameter", error 0, // on "stream", error + 0, // on "unit", error 0, // on r#"\"[^\"\\\\]*\""#, error 0, // on r#"[+-]?\\d+"#, error 0, // on r#"[+-]?\\d+\\.\\d*([eE][-+]?\\d+)?"#, error @@ -6517,7 +7356,7 @@ mod __parse__model { 0, // on "constant", error 38, // on "der", goto 37 0, // on "discrete", error - 82, // on "end", goto 81 + 85, // on "end", goto 84 0, // on "equation", error 0, // on "flow", error 0, // on "input", error @@ -6525,6 +7364,7 @@ mod __parse__model { 0, // on "output", error 0, // on "parameter", error 0, // on "stream", error + 0, // on "unit", error 0, // on r#"\"[^\"\\\\]*\""#, error 40, // on r#"[+-]?\\d+"#, goto 39 41, // on r#"[+-]?\\d+\\.\\d*([eE][-+]?\\d+)?"#, goto 40 @@ -6545,7 +7385,7 @@ mod __parse__model { 0, // on "constant", error 38, // on "der", goto 37 0, // on "discrete", error - 83, // on "end", goto 82 + 86, // on "end", goto 85 0, // on "equation", error 0, // on "flow", error 0, // on "input", error @@ -6553,6 +7393,7 @@ mod __parse__model { 0, // on "output", error 0, // on "parameter", error 0, // on "stream", error + 0, // on "unit", error 0, // on r#"\"[^\"\\\\]*\""#, error 40, // on r#"[+-]?\\d+"#, goto 39 41, // on r#"[+-]?\\d+\\.\\d*([eE][-+]?\\d+)?"#, goto 40 @@ -6581,20 +7422,21 @@ mod __parse__model { 0, // on "output", error 0, // on "parameter", error 0, // on "stream", error + 0, // on "unit", error 0, // on r#"\"[^\"\\\\]*\""#, error 0, // on r#"[+-]?\\d+"#, error 0, // on r#"[+-]?\\d+\\.\\d*([eE][-+]?\\d+)?"#, error - 80, // on r#"[a-zA-Z_][a-zA-Z_0-9]*"#, goto 79 + 83, // on r#"[a-zA-Z_][a-zA-Z_0-9]*"#, goto 82 // State 45 - 0, // on "(", error + 50, // on "(", goto 49 0, // on ")", error 0, // on "*", error 0, // on "+", error 0, // on ",", error 0, // on "-", error 0, // on "/", error - 86, // on ";", goto 85 - 87, // on "=", goto 86 + 91, // on ";", goto 90 + 52, // on "=", goto 51 0, // on "^", error 0, // on "abs", error 0, // on "connect", error @@ -6609,7 +7451,8 @@ mod __parse__model { 0, // on "output", error 0, // on "parameter", error 0, // on "stream", error - 50, // on r#"\"[^\"\\\\]*\""#, goto 49 + 0, // on "unit", error + 53, // on r#"\"[^\"\\\\]*\""#, goto 52 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 @@ -6621,7 +7464,7 @@ mod __parse__model { 0, // on ",", error 0, // on "-", error 0, // on "/", error - 88, // on ";", goto 87 + 92, // on ";", goto 91 0, // on "=", error 0, // on "^", error 0, // on "abs", error @@ -6637,6 +7480,7 @@ mod __parse__model { 0, // on "output", error 0, // on "parameter", error 0, // on "stream", error + 0, // on "unit", error 0, // on r#"\"[^\"\\\\]*\""#, error 0, // on r#"[+-]?\\d+"#, error 0, // on r#"[+-]?\\d+\\.\\d*([eE][-+]?\\d+)?"#, error @@ -6649,41 +7493,129 @@ mod __parse__model { 0, // on ",", error 0, // on "-", error 0, // on "/", error + 95, // on ";", goto 94 + 52, // on "=", goto 51 + 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 "unit", error + 53, // on r#"\"[^\"\\\\]*\""#, goto 52 + 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 + 0, // on "(", error + 0, // on ")", error + 0, // on "*", error + 0, // on "+", error + 0, // on ",", error + 0, // on "-", error + 0, // on "/", error + 97, // on ";", goto 96 + 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 "unit", error + 53, // on r#"\"[^\"\\\\]*\""#, goto 52 + 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 + 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 "^", error 0, // on "abs", error 0, // on "connect", error - -8, // on "constant", reduce `component_declaration = identifier, identifier, ";" => ActionFn(71);` + 0, // on "constant", error 0, // on "der", error - -8, // on "discrete", reduce `component_declaration = identifier, identifier, ";" => ActionFn(71);` + 0, // on "discrete", error 0, // on "end", error - -8, // on "equation", reduce `component_declaration = identifier, identifier, ";" => ActionFn(71);` - -8, // on "flow", reduce `component_declaration = identifier, identifier, ";" => ActionFn(71);` - -8, // on "input", reduce `component_declaration = identifier, identifier, ";" => ActionFn(71);` + 0, // on "equation", error + 0, // on "flow", error + 0, // on "input", error 0, // on "model", error - -8, // on "output", reduce `component_declaration = identifier, identifier, ";" => ActionFn(71);` - -8, // on "parameter", reduce `component_declaration = identifier, identifier, ";" => ActionFn(71);` - -8, // on "stream", reduce `component_declaration = identifier, identifier, ";" => ActionFn(71);` + 0, // on "output", error + 0, // on "parameter", error + 0, // on "stream", error + 98, // on "unit", goto 97 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 = identifier, identifier, ";" => ActionFn(71);` - // State 48 - 95, // on "(", goto 94 + 0, // on r#"[a-zA-Z_][a-zA-Z_0-9]*"#, error + // 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 "^", error + 0, // on "abs", error + 0, // on "connect", error + -20, // on "constant", reduce `component_declaration = identifier, identifier, ";" => ActionFn(98);` + 0, // on "der", error + -20, // on "discrete", reduce `component_declaration = identifier, identifier, ";" => ActionFn(98);` + 0, // on "end", error + -20, // on "equation", reduce `component_declaration = identifier, identifier, ";" => ActionFn(98);` + -20, // on "flow", reduce `component_declaration = identifier, identifier, ";" => ActionFn(98);` + -20, // on "input", reduce `component_declaration = identifier, identifier, ";" => ActionFn(98);` + 0, // on "model", error + -20, // on "output", reduce `component_declaration = identifier, identifier, ";" => ActionFn(98);` + -20, // on "parameter", reduce `component_declaration = identifier, identifier, ";" => ActionFn(98);` + -20, // on "stream", reduce `component_declaration = identifier, identifier, ";" => ActionFn(98);` + 0, // on "unit", 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_declaration = identifier, identifier, ";" => ActionFn(98);` + // State 51 + 105, // on "(", goto 104 0, // on ")", error 0, // on "*", error 0, // on "+", error 0, // on ",", error - 96, // on "-", goto 95 + 106, // on "-", goto 105 0, // on "/", error 0, // on ";", error 0, // on "=", error 0, // on "^", error - 97, // on "abs", goto 96 + 107, // on "abs", goto 106 0, // on "connect", error 0, // on "constant", error - 98, // on "der", goto 97 + 108, // on "der", goto 107 0, // on "discrete", error 0, // on "end", error 0, // on "equation", error @@ -6693,11 +7625,12 @@ mod __parse__model { 0, // on "output", error 0, // on "parameter", error 0, // on "stream", error + 0, // on "unit", error 0, // on r#"\"[^\"\\\\]*\""#, error - 99, // on r#"[+-]?\\d+"#, goto 98 - 100, // on r#"[+-]?\\d+\\.\\d*([eE][-+]?\\d+)?"#, goto 99 - 101, // on r#"[a-zA-Z_][a-zA-Z_0-9]*"#, goto 100 - // State 49 + 109, // on r#"[+-]?\\d+"#, goto 108 + 110, // on r#"[+-]?\\d+\\.\\d*([eE][-+]?\\d+)?"#, goto 109 + 111, // on r#"[a-zA-Z_][a-zA-Z_0-9]*"#, goto 110 + // State 52 0, // on "(", error 0, // on ")", error 0, // on "*", error @@ -6705,7 +7638,7 @@ mod __parse__model { 0, // on ",", error 0, // on "-", error 0, // on "/", error - -55, // on ";", reduce `string_literal = r#"\"[^\"\\\\]*\""# => ActionFn(5);` + -63, // on ";", reduce `string_literal = r#"\"[^\"\\\\]*\""# => ActionFn(5);` 0, // on "=", error 0, // on "^", error 0, // on "abs", error @@ -6721,27 +7654,28 @@ mod __parse__model { 0, // on "output", error 0, // on "parameter", error 0, // on "stream", error + 0, // on "unit", 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 50 - -30, // on "(", reduce `connect_clause+ = connect_clause+, connect_clause => ActionFn(47);` + // State 53 + -38, // on "(", reduce `connect_clause+ = connect_clause+, connect_clause => ActionFn(52);` 0, // on ")", error 0, // on "*", error 0, // on "+", error 0, // on ",", error - -30, // on "-", reduce `connect_clause+ = connect_clause+, connect_clause => ActionFn(47);` + -38, // on "-", reduce `connect_clause+ = connect_clause+, connect_clause => ActionFn(52);` 0, // on "/", error 0, // on ";", error 0, // on "=", error 0, // on "^", error - -30, // on "abs", reduce `connect_clause+ = connect_clause+, connect_clause => ActionFn(47);` - -30, // on "connect", reduce `connect_clause+ = connect_clause+, connect_clause => ActionFn(47);` + -38, // on "abs", reduce `connect_clause+ = connect_clause+, connect_clause => ActionFn(52);` + -38, // on "connect", reduce `connect_clause+ = connect_clause+, connect_clause => ActionFn(52);` 0, // on "constant", error - -30, // on "der", reduce `connect_clause+ = connect_clause+, connect_clause => ActionFn(47);` + -38, // on "der", reduce `connect_clause+ = connect_clause+, connect_clause => ActionFn(52);` 0, // on "discrete", error - -30, // on "end", reduce `connect_clause+ = connect_clause+, connect_clause => ActionFn(47);` + -38, // on "end", reduce `connect_clause+ = connect_clause+, connect_clause => ActionFn(52);` 0, // on "equation", error 0, // on "flow", error 0, // on "input", error @@ -6749,11 +7683,12 @@ mod __parse__model { 0, // on "output", error 0, // on "parameter", error 0, // on "stream", error + 0, // on "unit", error 0, // on r#"\"[^\"\\\\]*\""#, error - -30, // on r#"[+-]?\\d+"#, reduce `connect_clause+ = connect_clause+, connect_clause => ActionFn(47);` - -30, // on r#"[+-]?\\d+\\.\\d*([eE][-+]?\\d+)?"#, reduce `connect_clause+ = connect_clause+, connect_clause => ActionFn(47);` - -30, // on r#"[a-zA-Z_][a-zA-Z_0-9]*"#, reduce `connect_clause+ = connect_clause+, connect_clause => ActionFn(47);` - // State 51 + -38, // on r#"[+-]?\\d+"#, reduce `connect_clause+ = connect_clause+, connect_clause => ActionFn(52);` + -38, // on r#"[+-]?\\d+\\.\\d*([eE][-+]?\\d+)?"#, reduce `connect_clause+ = connect_clause+, connect_clause => ActionFn(52);` + -38, // on r#"[a-zA-Z_][a-zA-Z_0-9]*"#, reduce `connect_clause+ = connect_clause+, connect_clause => ActionFn(52);` + // State 54 34, // on "(", goto 33 0, // on ")", error 0, // on "*", error @@ -6769,7 +7704,7 @@ mod __parse__model { 0, // on "constant", error 38, // on "der", goto 37 0, // on "discrete", error - 102, // on "end", goto 101 + 112, // on "end", goto 111 0, // on "equation", error 0, // on "flow", error 0, // on "input", error @@ -6777,11 +7712,12 @@ mod __parse__model { 0, // on "output", error 0, // on "parameter", error 0, // on "stream", error + 0, // on "unit", 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 52 + // State 55 0, // on "(", error 0, // on ")", error 0, // on "*", error @@ -6805,11 +7741,12 @@ mod __parse__model { 0, // on "output", error 0, // on "parameter", error 0, // on "stream", error + 0, // on "unit", error 0, // on r#"\"[^\"\\\\]*\""#, error 0, // on r#"[+-]?\\d+"#, error 0, // on r#"[+-]?\\d+\\.\\d*([eE][-+]?\\d+)?"#, error - 80, // on r#"[a-zA-Z_][a-zA-Z_0-9]*"#, goto 79 - // State 53 + 83, // on r#"[a-zA-Z_][a-zA-Z_0-9]*"#, goto 82 + // State 56 34, // on "(", goto 33 0, // on ")", error 0, // on "*", error @@ -6833,11 +7770,12 @@ mod __parse__model { 0, // on "output", error 0, // on "parameter", error 0, // on "stream", error + 0, // on "unit", 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 54 + // State 57 34, // on "(", goto 33 0, // on ")", error 0, // on "*", error @@ -6861,25 +7799,26 @@ mod __parse__model { 0, // on "output", error 0, // on "parameter", error 0, // on "stream", error + 0, // on "unit", 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 55 - 112, // on "(", goto 111 + // State 58 + 122, // on "(", goto 121 0, // on ")", error 0, // on "*", error 0, // on "+", error 0, // on ",", error - 113, // on "-", goto 112 + 123, // on "-", goto 122 0, // on "/", error 0, // on ";", error 0, // on "=", error 0, // on "^", error - 114, // on "abs", goto 113 + 124, // on "abs", goto 123 0, // on "connect", error 0, // on "constant", error - 115, // on "der", goto 114 + 125, // on "der", goto 124 0, // on "discrete", error 0, // on "end", error 0, // on "equation", error @@ -6889,11 +7828,12 @@ mod __parse__model { 0, // on "output", error 0, // on "parameter", error 0, // on "stream", error + 0, // on "unit", error 0, // on r#"\"[^\"\\\\]*\""#, error - 116, // on r#"[+-]?\\d+"#, goto 115 - 117, // on r#"[+-]?\\d+\\.\\d*([eE][-+]?\\d+)?"#, goto 116 - 118, // on r#"[a-zA-Z_][a-zA-Z_0-9]*"#, goto 117 - // State 56 + 126, // on r#"[+-]?\\d+"#, goto 125 + 127, // on r#"[+-]?\\d+\\.\\d*([eE][-+]?\\d+)?"#, goto 126 + 128, // on r#"[a-zA-Z_][a-zA-Z_0-9]*"#, goto 127 + // State 59 34, // on "(", goto 33 0, // on ")", error 0, // on "*", error @@ -6917,11 +7857,12 @@ mod __parse__model { 0, // on "output", error 0, // on "parameter", error 0, // on "stream", error + 0, // on "unit", 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 57 + // State 60 34, // on "(", goto 33 0, // on ")", error 0, // on "*", error @@ -6945,11 +7886,12 @@ mod __parse__model { 0, // on "output", error 0, // on "parameter", error 0, // on "stream", error + 0, // on "unit", 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 58 + // State 61 34, // on "(", goto 33 0, // on ")", error 0, // on "*", error @@ -6973,27 +7915,28 @@ mod __parse__model { 0, // on "output", error 0, // on "parameter", error 0, // on "stream", error + 0, // on "unit", 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 59 - -54, // on "(", reduce `simple_equation+ = simple_equation+, simple_equation => ActionFn(49);` + // State 62 + -62, // on "(", reduce `simple_equation+ = simple_equation+, simple_equation => ActionFn(54);` 0, // on ")", error 0, // on "*", error 0, // on "+", error 0, // on ",", error - -54, // on "-", reduce `simple_equation+ = simple_equation+, simple_equation => ActionFn(49);` + -62, // on "-", reduce `simple_equation+ = simple_equation+, simple_equation => ActionFn(54);` 0, // on "/", error 0, // on ";", error 0, // on "=", error 0, // on "^", error - -54, // on "abs", reduce `simple_equation+ = simple_equation+, simple_equation => ActionFn(49);` + -62, // on "abs", reduce `simple_equation+ = simple_equation+, simple_equation => ActionFn(54);` 0, // on "connect", error 0, // on "constant", error - -54, // on "der", reduce `simple_equation+ = simple_equation+, simple_equation => ActionFn(49);` + -62, // on "der", reduce `simple_equation+ = simple_equation+, simple_equation => ActionFn(54);` 0, // on "discrete", error - -54, // on "end", reduce `simple_equation+ = simple_equation+, simple_equation => ActionFn(49);` + -62, // on "end", reduce `simple_equation+ = simple_equation+, simple_equation => ActionFn(54);` 0, // on "equation", error 0, // on "flow", error 0, // on "input", error @@ -7001,11 +7944,12 @@ mod __parse__model { 0, // on "output", error 0, // on "parameter", error 0, // on "stream", error + 0, // on "unit", error 0, // on r#"\"[^\"\\\\]*\""#, error - -54, // on r#"[+-]?\\d+"#, reduce `simple_equation+ = simple_equation+, simple_equation => ActionFn(49);` - -54, // on r#"[+-]?\\d+\\.\\d*([eE][-+]?\\d+)?"#, reduce `simple_equation+ = simple_equation+, simple_equation => ActionFn(49);` - -54, // on r#"[a-zA-Z_][a-zA-Z_0-9]*"#, reduce `simple_equation+ = simple_equation+, simple_equation => ActionFn(49);` - // State 60 + -62, // on r#"[+-]?\\d+"#, reduce `simple_equation+ = simple_equation+, simple_equation => ActionFn(54);` + -62, // on r#"[+-]?\\d+\\.\\d*([eE][-+]?\\d+)?"#, reduce `simple_equation+ = simple_equation+, simple_equation => ActionFn(54);` + -62, // on r#"[a-zA-Z_][a-zA-Z_0-9]*"#, reduce `simple_equation+ = simple_equation+, simple_equation => ActionFn(54);` + // State 63 0, // on "(", error 0, // on ")", error 0, // on "*", error @@ -7029,17 +7973,18 @@ mod __parse__model { 0, // on "output", error 0, // on "parameter", error 0, // on "stream", error + 0, // on "unit", error 0, // on r#"\"[^\"\\\\]*\""#, error 0, // on r#"[+-]?\\d+"#, error 0, // on r#"[+-]?\\d+\\.\\d*([eE][-+]?\\d+)?"#, error - 80, // on r#"[a-zA-Z_][a-zA-Z_0-9]*"#, goto 79 - // State 61 + 83, // on r#"[a-zA-Z_][a-zA-Z_0-9]*"#, goto 82 + // State 64 0, // on "(", error - 123, // on ")", goto 122 + 133, // on ")", goto 132 0, // on "*", error - 124, // on "+", goto 123 + 134, // on "+", goto 133 0, // on ",", error - 125, // on "-", goto 124 + 135, // on "-", goto 134 0, // on "/", error 0, // on ";", error 0, // on "=", error @@ -7057,21 +8002,22 @@ mod __parse__model { 0, // on "output", error 0, // on "parameter", error 0, // on "stream", error + 0, // on "unit", 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 + // State 65 0, // on "(", error - -33, // on ")", reduce `expr = factor => ActionFn(22);` - 126, // on "*", goto 125 - -33, // on "+", reduce `expr = factor => ActionFn(22);` + -41, // on ")", reduce `expr = factor => ActionFn(23);` + 136, // on "*", goto 135 + -41, // on "+", reduce `expr = factor => ActionFn(23);` 0, // on ",", error - -33, // on "-", reduce `expr = factor => ActionFn(22);` - 127, // on "/", goto 126 + -41, // on "-", reduce `expr = factor => ActionFn(23);` + 137, // on "/", goto 136 0, // on ";", error 0, // on "=", error - 128, // on "^", goto 127 + 138, // on "^", goto 137 0, // on "abs", error 0, // on "connect", error 0, // on "constant", error @@ -7085,21 +8031,22 @@ mod __parse__model { 0, // on "output", error 0, // on "parameter", error 0, // on "stream", error + 0, // on "unit", 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 63 + // State 66 0, // on "(", error - -59, // on ")", reduce `term = float => ActionFn(29);` - -59, // on "*", reduce `term = float => ActionFn(29);` - -59, // on "+", reduce `term = float => ActionFn(29);` + -67, // on ")", reduce `term = float => ActionFn(30);` + -67, // on "*", reduce `term = float => ActionFn(30);` + -67, // on "+", reduce `term = float => ActionFn(30);` 0, // on ",", error - -59, // on "-", reduce `term = float => ActionFn(29);` - -59, // on "/", reduce `term = float => ActionFn(29);` + -67, // on "-", reduce `term = float => ActionFn(30);` + -67, // on "/", reduce `term = float => ActionFn(30);` 0, // on ";", error 0, // on "=", error - -59, // on "^", reduce `term = float => ActionFn(29);` + -67, // on "^", reduce `term = float => ActionFn(30);` 0, // on "abs", error 0, // on "connect", error 0, // on "constant", error @@ -7113,21 +8060,22 @@ mod __parse__model { 0, // on "output", error 0, // on "parameter", error 0, // on "stream", error + 0, // on "unit", 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 64 + // State 67 0, // on "(", error - -60, // on ")", reduce `term = identifier => ActionFn(30);` - -60, // on "*", reduce `term = identifier => ActionFn(30);` - -60, // on "+", reduce `term = identifier => ActionFn(30);` + -68, // on ")", reduce `term = identifier => ActionFn(31);` + -68, // on "*", reduce `term = identifier => ActionFn(31);` + -68, // on "+", reduce `term = identifier => ActionFn(31);` 0, // on ",", error - -60, // on "-", reduce `term = identifier => ActionFn(30);` - -60, // on "/", reduce `term = identifier => ActionFn(30);` + -68, // on "-", reduce `term = identifier => ActionFn(31);` + -68, // on "/", reduce `term = identifier => ActionFn(31);` 0, // on ";", error 0, // on "=", error - -60, // on "^", reduce `term = identifier => ActionFn(30);` + -68, // on "^", reduce `term = identifier => ActionFn(31);` 0, // on "abs", error 0, // on "connect", error 0, // on "constant", error @@ -7141,21 +8089,22 @@ mod __parse__model { 0, // on "output", error 0, // on "parameter", error 0, // on "stream", error + 0, // on "unit", 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 + // State 68 0, // on "(", error - -58, // on ")", reduce `term = integer => ActionFn(28);` - -58, // on "*", reduce `term = integer => ActionFn(28);` - -58, // on "+", reduce `term = integer => ActionFn(28);` + -66, // on ")", reduce `term = integer => ActionFn(29);` + -66, // on "*", reduce `term = integer => ActionFn(29);` + -66, // on "+", reduce `term = integer => ActionFn(29);` 0, // on ",", error - -58, // on "-", reduce `term = integer => ActionFn(28);` - -58, // on "/", reduce `term = integer => ActionFn(28);` + -66, // on "-", reduce `term = integer => ActionFn(29);` + -66, // on "/", reduce `term = integer => ActionFn(29);` 0, // on ";", error 0, // on "=", error - -58, // on "^", reduce `term = integer => ActionFn(28);` + -66, // on "^", reduce `term = integer => ActionFn(29);` 0, // on "abs", error 0, // on "connect", error 0, // on "constant", error @@ -7169,21 +8118,22 @@ mod __parse__model { 0, // on "output", error 0, // on "parameter", error 0, // on "stream", error + 0, // on "unit", 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 + // State 69 0, // on "(", error - -38, // on ")", reduce `factor = term => ActionFn(27);` - -38, // on "*", reduce `factor = term => ActionFn(27);` - -38, // on "+", reduce `factor = term => ActionFn(27);` + -46, // on ")", reduce `factor = term => ActionFn(28);` + -46, // on "*", reduce `factor = term => ActionFn(28);` + -46, // on "+", reduce `factor = term => ActionFn(28);` 0, // on ",", error - -38, // on "-", reduce `factor = term => ActionFn(27);` - -38, // on "/", reduce `factor = term => ActionFn(27);` + -46, // on "-", reduce `factor = term => ActionFn(28);` + -46, // on "/", reduce `factor = term => ActionFn(28);` 0, // on ";", error 0, // on "=", error - -38, // on "^", reduce `factor = term => ActionFn(27);` + -46, // on "^", reduce `factor = term => ActionFn(28);` 0, // on "abs", error 0, // on "connect", error 0, // on "constant", error @@ -7197,25 +8147,26 @@ mod __parse__model { 0, // on "output", error 0, // on "parameter", error 0, // on "stream", error + 0, // on "unit", 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 - 68, // on "(", goto 67 + // State 70 + 71, // on "(", goto 70 0, // on ")", error 0, // on "*", error 0, // on "+", error 0, // on ",", error - 69, // on "-", goto 68 + 72, // on "-", goto 71 0, // on "/", error 0, // on ";", error 0, // on "=", error 0, // on "^", error - 70, // on "abs", goto 69 + 73, // on "abs", goto 72 0, // on "connect", error 0, // on "constant", error - 71, // on "der", goto 70 + 74, // on "der", goto 73 0, // on "discrete", error 0, // on "end", error 0, // on "equation", error @@ -7225,12 +8176,13 @@ mod __parse__model { 0, // on "output", error 0, // on "parameter", error 0, // on "stream", error + 0, // on "unit", error 0, // on r#"\"[^\"\\\\]*\""#, error - 72, // on r#"[+-]?\\d+"#, goto 71 - 73, // on r#"[+-]?\\d+\\.\\d*([eE][-+]?\\d+)?"#, goto 72 - 74, // on r#"[a-zA-Z_][a-zA-Z_0-9]*"#, goto 73 - // State 68 - 68, // on "(", goto 67 + 75, // on r#"[+-]?\\d+"#, goto 74 + 76, // on r#"[+-]?\\d+\\.\\d*([eE][-+]?\\d+)?"#, goto 75 + 77, // on r#"[a-zA-Z_][a-zA-Z_0-9]*"#, goto 76 + // State 71 + 71, // on "(", goto 70 0, // on ")", error 0, // on "*", error 0, // on "+", error @@ -7240,10 +8192,10 @@ mod __parse__model { 0, // on ";", error 0, // on "=", error 0, // on "^", error - 70, // on "abs", goto 69 + 73, // on "abs", goto 72 0, // on "connect", error 0, // on "constant", error - 71, // on "der", goto 70 + 74, // on "der", goto 73 0, // on "discrete", error 0, // on "end", error 0, // on "equation", error @@ -7253,12 +8205,13 @@ mod __parse__model { 0, // on "output", error 0, // on "parameter", error 0, // on "stream", error + 0, // on "unit", error 0, // on r#"\"[^\"\\\\]*\""#, error - 72, // on r#"[+-]?\\d+"#, goto 71 - 73, // on r#"[+-]?\\d+\\.\\d*([eE][-+]?\\d+)?"#, goto 72 - 74, // on r#"[a-zA-Z_][a-zA-Z_0-9]*"#, goto 73 - // State 69 - 131, // on "(", goto 130 + 75, // on r#"[+-]?\\d+"#, goto 74 + 76, // on r#"[+-]?\\d+\\.\\d*([eE][-+]?\\d+)?"#, goto 75 + 77, // on r#"[a-zA-Z_][a-zA-Z_0-9]*"#, goto 76 + // State 72 + 141, // on "(", goto 140 0, // on ")", error 0, // on "*", error 0, // on "+", error @@ -7281,12 +8234,13 @@ mod __parse__model { 0, // on "output", error 0, // on "parameter", error 0, // on "stream", error + 0, // on "unit", 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 - 132, // on "(", goto 131 + // State 73 + 142, // on "(", goto 141 0, // on ")", error 0, // on "*", error 0, // on "+", error @@ -7309,21 +8263,22 @@ mod __parse__model { 0, // on "output", error 0, // on "parameter", error 0, // on "stream", error + 0, // on "unit", 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 71 + // State 74 0, // on "(", error - -41, // on ")", reduce `integer = r#"[+-]?\\d+"# => ActionFn(6);` - -41, // on "*", reduce `integer = r#"[+-]?\\d+"# => ActionFn(6);` - -41, // on "+", reduce `integer = r#"[+-]?\\d+"# => ActionFn(6);` + -49, // on ")", reduce `integer = r#"[+-]?\\d+"# => ActionFn(6);` + -49, // on "*", reduce `integer = r#"[+-]?\\d+"# => ActionFn(6);` + -49, // on "+", reduce `integer = r#"[+-]?\\d+"# => ActionFn(6);` 0, // on ",", error - -41, // on "-", reduce `integer = r#"[+-]?\\d+"# => ActionFn(6);` - -41, // on "/", reduce `integer = r#"[+-]?\\d+"# => ActionFn(6);` + -49, // on "-", reduce `integer = r#"[+-]?\\d+"# => ActionFn(6);` + -49, // on "/", reduce `integer = r#"[+-]?\\d+"# => ActionFn(6);` 0, // on ";", error 0, // on "=", error - -41, // on "^", reduce `integer = r#"[+-]?\\d+"# => ActionFn(6);` + -49, // on "^", reduce `integer = r#"[+-]?\\d+"# => ActionFn(6);` 0, // on "abs", error 0, // on "connect", error 0, // on "constant", error @@ -7337,21 +8292,22 @@ mod __parse__model { 0, // on "output", error 0, // on "parameter", error 0, // on "stream", error + 0, // on "unit", 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 72 + // State 75 0, // on "(", error - -39, // on ")", reduce `float = r#"[+-]?\\d+\\.\\d*([eE][-+]?\\d+)?"# => ActionFn(7);` - -39, // on "*", reduce `float = r#"[+-]?\\d+\\.\\d*([eE][-+]?\\d+)?"# => ActionFn(7);` - -39, // on "+", reduce `float = r#"[+-]?\\d+\\.\\d*([eE][-+]?\\d+)?"# => ActionFn(7);` + -47, // on ")", reduce `float = r#"[+-]?\\d+\\.\\d*([eE][-+]?\\d+)?"# => ActionFn(7);` + -47, // on "*", reduce `float = r#"[+-]?\\d+\\.\\d*([eE][-+]?\\d+)?"# => ActionFn(7);` + -47, // on "+", reduce `float = r#"[+-]?\\d+\\.\\d*([eE][-+]?\\d+)?"# => ActionFn(7);` 0, // on ",", error - -39, // on "-", reduce `float = r#"[+-]?\\d+\\.\\d*([eE][-+]?\\d+)?"# => ActionFn(7);` - -39, // on "/", reduce `float = r#"[+-]?\\d+\\.\\d*([eE][-+]?\\d+)?"# => ActionFn(7);` + -47, // on "-", reduce `float = r#"[+-]?\\d+\\.\\d*([eE][-+]?\\d+)?"# => ActionFn(7);` + -47, // on "/", reduce `float = r#"[+-]?\\d+\\.\\d*([eE][-+]?\\d+)?"# => ActionFn(7);` 0, // on ";", error 0, // on "=", error - -39, // on "^", reduce `float = r#"[+-]?\\d+\\.\\d*([eE][-+]?\\d+)?"# => ActionFn(7);` + -47, // on "^", reduce `float = r#"[+-]?\\d+\\.\\d*([eE][-+]?\\d+)?"# => ActionFn(7);` 0, // on "abs", error 0, // on "connect", error 0, // on "constant", error @@ -7365,21 +8321,22 @@ mod __parse__model { 0, // on "output", error 0, // on "parameter", error 0, // on "stream", error + 0, // on "unit", 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 73 + // State 76 0, // on "(", error - -40, // on ")", reduce `identifier = r#"[a-zA-Z_][a-zA-Z_0-9]*"# => ActionFn(4);` - -40, // on "*", reduce `identifier = r#"[a-zA-Z_][a-zA-Z_0-9]*"# => ActionFn(4);` - -40, // on "+", reduce `identifier = r#"[a-zA-Z_][a-zA-Z_0-9]*"# => ActionFn(4);` + -48, // on ")", reduce `identifier = r#"[a-zA-Z_][a-zA-Z_0-9]*"# => ActionFn(4);` + -48, // on "*", reduce `identifier = r#"[a-zA-Z_][a-zA-Z_0-9]*"# => ActionFn(4);` + -48, // on "+", reduce `identifier = r#"[a-zA-Z_][a-zA-Z_0-9]*"# => ActionFn(4);` 0, // on ",", error - -40, // on "-", reduce `identifier = r#"[a-zA-Z_][a-zA-Z_0-9]*"# => ActionFn(4);` - -40, // on "/", reduce `identifier = r#"[a-zA-Z_][a-zA-Z_0-9]*"# => ActionFn(4);` + -48, // on "-", reduce `identifier = r#"[a-zA-Z_][a-zA-Z_0-9]*"# => ActionFn(4);` + -48, // on "/", reduce `identifier = r#"[a-zA-Z_][a-zA-Z_0-9]*"# => ActionFn(4);` 0, // on ";", error 0, // on "=", error - -40, // on "^", reduce `identifier = r#"[a-zA-Z_][a-zA-Z_0-9]*"# => ActionFn(4);` + -48, // 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 @@ -7393,21 +8350,22 @@ mod __parse__model { 0, // on "output", error 0, // on "parameter", error 0, // on "stream", error + 0, // on "unit", 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 + // State 77 0, // on "(", error 0, // on ")", error - -37, // on "*", reduce `factor = "-", term => ActionFn(26);` - -37, // on "+", reduce `factor = "-", term => ActionFn(26);` + -45, // on "*", reduce `factor = "-", term => ActionFn(27);` + -45, // on "+", reduce `factor = "-", term => ActionFn(27);` 0, // on ",", error - -37, // on "-", reduce `factor = "-", term => ActionFn(26);` - -37, // on "/", reduce `factor = "-", term => ActionFn(26);` + -45, // on "-", reduce `factor = "-", term => ActionFn(27);` + -45, // on "/", reduce `factor = "-", term => ActionFn(27);` 0, // on ";", error - -37, // on "=", reduce `factor = "-", term => ActionFn(26);` - -37, // on "^", reduce `factor = "-", term => ActionFn(26);` + -45, // on "=", reduce `factor = "-", term => ActionFn(27);` + -45, // on "^", reduce `factor = "-", term => ActionFn(27);` 0, // on "abs", error 0, // on "connect", error 0, // on "constant", error @@ -7421,25 +8379,26 @@ mod __parse__model { 0, // on "output", error 0, // on "parameter", error 0, // on "stream", error + 0, // on "unit", 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 - 68, // on "(", goto 67 + // State 78 + 71, // on "(", goto 70 0, // on ")", error 0, // on "*", error 0, // on "+", error 0, // on ",", error - 69, // on "-", goto 68 + 72, // on "-", goto 71 0, // on "/", error 0, // on ";", error 0, // on "=", error 0, // on "^", error - 70, // on "abs", goto 69 + 73, // on "abs", goto 72 0, // on "connect", error 0, // on "constant", error - 71, // on "der", goto 70 + 74, // on "der", goto 73 0, // on "discrete", error 0, // on "end", error 0, // on "equation", error @@ -7449,11 +8408,12 @@ mod __parse__model { 0, // on "output", error 0, // on "parameter", error 0, // on "stream", error + 0, // on "unit", error 0, // on r#"\"[^\"\\\\]*\""#, error - 72, // on r#"[+-]?\\d+"#, goto 71 - 73, // on r#"[+-]?\\d+\\.\\d*([eE][-+]?\\d+)?"#, goto 72 - 74, // on r#"[a-zA-Z_][a-zA-Z_0-9]*"#, goto 73 - // State 76 + 75, // on r#"[+-]?\\d+"#, goto 74 + 76, // on r#"[+-]?\\d+\\.\\d*([eE][-+]?\\d+)?"#, goto 75 + 77, // on r#"[a-zA-Z_][a-zA-Z_0-9]*"#, goto 76 + // State 79 0, // on "(", error 0, // on ")", error 0, // on "*", error @@ -7477,25 +8437,26 @@ mod __parse__model { 0, // on "output", error 0, // on "parameter", error 0, // on "stream", error + 0, // on "unit", error 0, // on r#"\"[^\"\\\\]*\""#, error 0, // on r#"[+-]?\\d+"#, error 0, // on r#"[+-]?\\d+\\.\\d*([eE][-+]?\\d+)?"#, error - 135, // on r#"[a-zA-Z_][a-zA-Z_0-9]*"#, goto 134 - // State 77 - 68, // on "(", goto 67 + 145, // on r#"[a-zA-Z_][a-zA-Z_0-9]*"#, goto 144 + // State 80 + 71, // on "(", goto 70 0, // on ")", error 0, // on "*", error 0, // on "+", error 0, // on ",", error - 69, // on "-", goto 68 + 72, // on "-", goto 71 0, // on "/", error 0, // on ";", error 0, // on "=", error 0, // on "^", error - 70, // on "abs", goto 69 + 73, // on "abs", goto 72 0, // on "connect", error 0, // on "constant", error - 71, // on "der", goto 70 + 74, // on "der", goto 73 0, // on "discrete", error 0, // on "end", error 0, // on "equation", error @@ -7505,11 +8466,12 @@ mod __parse__model { 0, // on "output", error 0, // on "parameter", error 0, // on "stream", error + 0, // on "unit", error 0, // on r#"\"[^\"\\\\]*\""#, error - 72, // on r#"[+-]?\\d+"#, goto 71 - 73, // on r#"[+-]?\\d+\\.\\d*([eE][-+]?\\d+)?"#, goto 72 - 74, // on r#"[a-zA-Z_][a-zA-Z_0-9]*"#, goto 73 - // State 78 + 75, // on r#"[+-]?\\d+"#, goto 74 + 76, // on r#"[+-]?\\d+\\.\\d*([eE][-+]?\\d+)?"#, goto 75 + 77, // on r#"[a-zA-Z_][a-zA-Z_0-9]*"#, goto 76 + // State 81 0, // on "(", error 0, // on ")", error 0, // on "*", error @@ -7517,7 +8479,7 @@ mod __parse__model { 0, // on ",", error 0, // on "-", error 0, // on "/", error - 137, // on ";", goto 136 + 147, // on ";", goto 146 0, // on "=", error 0, // on "^", error 0, // on "abs", error @@ -7533,11 +8495,12 @@ mod __parse__model { 0, // on "output", error 0, // on "parameter", error 0, // on "stream", error + 0, // on "unit", 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 79 + // State 82 0, // on "(", error 0, // on ")", error 0, // on "*", error @@ -7545,7 +8508,7 @@ mod __parse__model { 0, // on ",", error 0, // on "-", error 0, // on "/", error - -40, // on ";", reduce `identifier = r#"[a-zA-Z_][a-zA-Z_0-9]*"# => ActionFn(4);` + -48, // on ";", reduce `identifier = r#"[a-zA-Z_][a-zA-Z_0-9]*"# => ActionFn(4);` 0, // on "=", error 0, // on "^", error 0, // on "abs", error @@ -7561,11 +8524,12 @@ mod __parse__model { 0, // on "output", error 0, // on "parameter", error 0, // on "stream", error + 0, // on "unit", 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 80 + // State 83 34, // on "(", goto 33 0, // on ")", error 0, // on "*", error @@ -7581,7 +8545,7 @@ mod __parse__model { 0, // on "constant", error 38, // on "der", goto 37 0, // on "discrete", error - 138, // on "end", goto 137 + 148, // on "end", goto 147 0, // on "equation", error 0, // on "flow", error 0, // on "input", error @@ -7589,11 +8553,12 @@ mod __parse__model { 0, // on "output", error 0, // on "parameter", error 0, // on "stream", error + 0, // on "unit", 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 81 + // State 84 0, // on "(", error 0, // on ")", error 0, // on "*", error @@ -7617,11 +8582,12 @@ mod __parse__model { 0, // on "output", error 0, // on "parameter", error 0, // on "stream", error + 0, // on "unit", error 0, // on r#"\"[^\"\\\\]*\""#, error 0, // on r#"[+-]?\\d+"#, error 0, // on r#"[+-]?\\d+\\.\\d*([eE][-+]?\\d+)?"#, error - 80, // on r#"[a-zA-Z_][a-zA-Z_0-9]*"#, goto 79 - // State 82 + 83, // on r#"[a-zA-Z_][a-zA-Z_0-9]*"#, goto 82 + // State 85 0, // on "(", error 0, // on ")", error 0, // on "*", error @@ -7645,11 +8611,12 @@ mod __parse__model { 0, // on "output", error 0, // on "parameter", error 0, // on "stream", error + 0, // on "unit", error 0, // on r#"\"[^\"\\\\]*\""#, error 0, // on r#"[+-]?\\d+"#, error 0, // on r#"[+-]?\\d+\\.\\d*([eE][-+]?\\d+)?"#, error - 80, // on r#"[a-zA-Z_][a-zA-Z_0-9]*"#, goto 79 - // State 83 + 83, // on r#"[a-zA-Z_][a-zA-Z_0-9]*"#, goto 82 + // State 86 0, // on "(", error 0, // on ")", error 0, // on "*", error @@ -7657,7 +8624,7 @@ mod __parse__model { 0, // on ",", error 0, // on "-", error 0, // on "/", error - 141, // on ";", goto 140 + 151, // on ";", goto 150 0, // on "=", error 0, // on "^", error 0, // on "abs", error @@ -7673,11 +8640,12 @@ mod __parse__model { 0, // on "output", error 0, // on "parameter", error 0, // on "stream", error + 0, // on "unit", 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 + // State 87 0, // on "(", error 0, // on ")", error 0, // on "*", error @@ -7685,7 +8653,7 @@ mod __parse__model { 0, // on ",", error 0, // on "-", error 0, // on "/", error - 142, // on ";", goto 141 + 152, // on ";", goto 151 0, // on "=", error 0, // on "^", error 0, // on "abs", error @@ -7701,11 +8669,70 @@ mod __parse__model { 0, // on "output", error 0, // on "parameter", error 0, // on "stream", error + 0, // on "unit", 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 + // State 88 + 0, // on "(", error + 0, // on ")", error + 0, // on "*", error + 0, // on "+", error + 0, // on ",", error + 0, // on "-", error + 0, // on "/", error + 155, // on ";", goto 154 + 52, // on "=", goto 51 + 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 "unit", error + 53, // on r#"\"[^\"\\\\]*\""#, goto 52 + 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 + 0, // on "(", error + 0, // on ")", error + 0, // on "*", error + 0, // on "+", error + 0, // on ",", error + 0, // on "-", error + 0, // on "/", error + 157, // on ";", goto 156 + 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 "unit", error + 53, // on r#"\"[^\"\\\\]*\""#, goto 52 + 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 90 0, // on "(", error 0, // on ")", error 0, // on "*", error @@ -7718,36 +8745,66 @@ mod __parse__model { 0, // on "^", error 0, // on "abs", error 0, // on "connect", error - -6, // on "constant", reduce `component_declaration = component_prefix, identifier, identifier, ";" => ActionFn(69);` + -12, // on "constant", reduce `component_declaration = component_prefix, identifier, identifier, ";" => ActionFn(90);` 0, // on "der", error - -6, // on "discrete", reduce `component_declaration = component_prefix, identifier, identifier, ";" => ActionFn(69);` + -12, // on "discrete", reduce `component_declaration = component_prefix, identifier, identifier, ";" => ActionFn(90);` 0, // on "end", error - -6, // on "equation", reduce `component_declaration = component_prefix, identifier, identifier, ";" => ActionFn(69);` - -6, // on "flow", reduce `component_declaration = component_prefix, identifier, identifier, ";" => ActionFn(69);` - -6, // on "input", reduce `component_declaration = component_prefix, identifier, identifier, ";" => ActionFn(69);` + -12, // on "equation", reduce `component_declaration = component_prefix, identifier, identifier, ";" => ActionFn(90);` + -12, // on "flow", reduce `component_declaration = component_prefix, identifier, identifier, ";" => ActionFn(90);` + -12, // on "input", reduce `component_declaration = component_prefix, identifier, identifier, ";" => ActionFn(90);` 0, // on "model", error - -6, // on "output", reduce `component_declaration = component_prefix, identifier, identifier, ";" => ActionFn(69);` - -6, // on "parameter", reduce `component_declaration = component_prefix, identifier, identifier, ";" => ActionFn(69);` - -6, // on "stream", reduce `component_declaration = component_prefix, identifier, identifier, ";" => ActionFn(69);` + -12, // on "output", reduce `component_declaration = component_prefix, identifier, identifier, ";" => ActionFn(90);` + -12, // on "parameter", reduce `component_declaration = component_prefix, identifier, identifier, ";" => ActionFn(90);` + -12, // on "stream", reduce `component_declaration = component_prefix, identifier, identifier, ";" => ActionFn(90);` + 0, // on "unit", 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]*"#, reduce `component_declaration = component_prefix, identifier, identifier, ";" => ActionFn(69);` - // State 86 - 95, // on "(", goto 94 + -12, // on r#"[a-zA-Z_][a-zA-Z_0-9]*"#, reduce `component_declaration = component_prefix, identifier, identifier, ";" => ActionFn(90);` + // State 91 + 0, // on "(", error 0, // on ")", error 0, // on "*", error 0, // on "+", error 0, // on ",", error - 96, // on "-", goto 95 + 0, // on "-", error 0, // on "/", error 0, // on ";", error 0, // on "=", error 0, // on "^", error - 97, // on "abs", goto 96 + 0, // on "abs", error + 0, // on "connect", error + -16, // on "constant", reduce `component_declaration = identifier, identifier, string_literal, ";" => ActionFn(94);` + 0, // on "der", error + -16, // on "discrete", reduce `component_declaration = identifier, identifier, string_literal, ";" => ActionFn(94);` + 0, // on "end", error + -16, // on "equation", reduce `component_declaration = identifier, identifier, string_literal, ";" => ActionFn(94);` + -16, // on "flow", reduce `component_declaration = identifier, identifier, string_literal, ";" => ActionFn(94);` + -16, // on "input", reduce `component_declaration = identifier, identifier, string_literal, ";" => ActionFn(94);` + 0, // on "model", error + -16, // on "output", reduce `component_declaration = identifier, identifier, string_literal, ";" => ActionFn(94);` + -16, // on "parameter", reduce `component_declaration = identifier, identifier, string_literal, ";" => ActionFn(94);` + -16, // on "stream", reduce `component_declaration = identifier, identifier, string_literal, ";" => ActionFn(94);` + 0, // on "unit", 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_declaration = identifier, identifier, string_literal, ";" => ActionFn(94);` + // State 92 + 0, // on "(", error + 0, // on ")", error + 0, // on "*", error + 0, // on "+", error + 0, // on ",", error + 0, // on "-", error + 0, // on "/", error + 158, // on ";", goto 157 + 0, // on "=", error + 0, // on "^", error + 0, // on "abs", error 0, // on "connect", error 0, // on "constant", error - 98, // on "der", goto 97 + 0, // on "der", error 0, // on "discrete", error 0, // on "end", error 0, // on "equation", error @@ -7757,11 +8814,41 @@ mod __parse__model { 0, // on "output", error 0, // on "parameter", error 0, // on "stream", error + 0, // on "unit", error 0, // on r#"\"[^\"\\\\]*\""#, error - 99, // on r#"[+-]?\\d+"#, goto 98 - 100, // on r#"[+-]?\\d+\\.\\d*([eE][-+]?\\d+)?"#, goto 99 - 101, // on r#"[a-zA-Z_][a-zA-Z_0-9]*"#, goto 100 - // State 87 + 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 + 0, // on "*", error + 0, // on "+", error + 0, // on ",", error + 0, // on "-", error + 0, // on "/", error + 160, // on ";", goto 159 + 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 "unit", error + 53, // on r#"\"[^\"\\\\]*\""#, goto 52 + 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 0, // on "*", error @@ -7774,30 +8861,31 @@ mod __parse__model { 0, // on "^", error 0, // on "abs", error 0, // on "connect", error - -7, // on "constant", reduce `component_declaration = identifier, identifier, string_literal, ";" => ActionFn(70);` + -18, // on "constant", reduce `component_declaration = identifier, identifier, units_declaration, ";" => ActionFn(96);` 0, // on "der", error - -7, // on "discrete", reduce `component_declaration = identifier, identifier, string_literal, ";" => ActionFn(70);` + -18, // on "discrete", reduce `component_declaration = identifier, identifier, units_declaration, ";" => ActionFn(96);` 0, // on "end", error - -7, // on "equation", reduce `component_declaration = identifier, identifier, string_literal, ";" => ActionFn(70);` - -7, // on "flow", reduce `component_declaration = identifier, identifier, string_literal, ";" => ActionFn(70);` - -7, // on "input", reduce `component_declaration = identifier, identifier, string_literal, ";" => ActionFn(70);` + -18, // on "equation", reduce `component_declaration = identifier, identifier, units_declaration, ";" => ActionFn(96);` + -18, // on "flow", reduce `component_declaration = identifier, identifier, units_declaration, ";" => ActionFn(96);` + -18, // on "input", reduce `component_declaration = identifier, identifier, units_declaration, ";" => ActionFn(96);` 0, // on "model", error - -7, // on "output", reduce `component_declaration = identifier, identifier, string_literal, ";" => ActionFn(70);` - -7, // on "parameter", reduce `component_declaration = identifier, identifier, string_literal, ";" => ActionFn(70);` - -7, // on "stream", reduce `component_declaration = identifier, identifier, string_literal, ";" => ActionFn(70);` + -18, // on "output", reduce `component_declaration = identifier, identifier, units_declaration, ";" => ActionFn(96);` + -18, // on "parameter", reduce `component_declaration = identifier, identifier, units_declaration, ";" => ActionFn(96);` + -18, // on "stream", reduce `component_declaration = identifier, identifier, units_declaration, ";" => ActionFn(96);` + 0, // on "unit", error 0, // on r#"\"[^\"\\\\]*\""#, error 0, // on r#"[+-]?\\d+"#, error 0, // on r#"[+-]?\\d+\\.\\d*([eE][-+]?\\d+)?"#, error - -7, // on r#"[a-zA-Z_][a-zA-Z_0-9]*"#, reduce `component_declaration = identifier, identifier, string_literal, ";" => ActionFn(70);` - // State 88 + -18, // on r#"[a-zA-Z_][a-zA-Z_0-9]*"#, reduce `component_declaration = identifier, identifier, units_declaration, ";" => ActionFn(96);` + // State 95 0, // on "(", error 0, // on ")", error 0, // on "*", error - 145, // on "+", goto 144 + 0, // on "+", error 0, // on ",", error - 146, // on "-", goto 145 + 0, // on "-", error 0, // on "/", error - 147, // on ";", goto 146 + 161, // on ";", goto 160 0, // on "=", error 0, // on "^", error 0, // on "abs", error @@ -7813,21 +8901,51 @@ mod __parse__model { 0, // on "output", error 0, // on "parameter", error 0, // on "stream", error - 50, // on r#"\"[^\"\\\\]*\""#, goto 49 + 0, // on "unit", 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 + // State 96 0, // on "(", error 0, // on ")", error - 148, // on "*", goto 147 - -33, // on "+", reduce `expr = factor => ActionFn(22);` + 0, // on "*", error + 0, // on "+", error 0, // on ",", error - -33, // on "-", reduce `expr = factor => ActionFn(22);` - 149, // on "/", goto 148 - -33, // on ";", reduce `expr = factor => ActionFn(22);` + 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 + -19, // on "constant", reduce `component_declaration = identifier, identifier, value_declaration, ";" => ActionFn(97);` + 0, // on "der", error + -19, // on "discrete", reduce `component_declaration = identifier, identifier, value_declaration, ";" => ActionFn(97);` + 0, // on "end", error + -19, // on "equation", reduce `component_declaration = identifier, identifier, value_declaration, ";" => ActionFn(97);` + -19, // on "flow", reduce `component_declaration = identifier, identifier, value_declaration, ";" => ActionFn(97);` + -19, // on "input", reduce `component_declaration = identifier, identifier, value_declaration, ";" => ActionFn(97);` + 0, // on "model", error + -19, // on "output", reduce `component_declaration = identifier, identifier, value_declaration, ";" => ActionFn(97);` + -19, // on "parameter", reduce `component_declaration = identifier, identifier, value_declaration, ";" => ActionFn(97);` + -19, // on "stream", reduce `component_declaration = identifier, identifier, value_declaration, ";" => ActionFn(97);` + 0, // on "unit", 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_declaration = identifier, identifier, value_declaration, ";" => ActionFn(97);` + // State 97 + 0, // on "(", error + 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 @@ -7841,21 +8959,22 @@ mod __parse__model { 0, // on "output", error 0, // on "parameter", error 0, // on "stream", error - -33, // on r#"\"[^\"\\\\]*\""#, reduce `expr = factor => ActionFn(22);` + 0, // on "unit", 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 90 + // State 98 0, // on "(", error 0, // on ")", error - -59, // on "*", reduce `term = float => ActionFn(29);` - -59, // on "+", reduce `term = float => ActionFn(29);` + 0, // on "*", error + 163, // on "+", goto 162 0, // on ",", error - -59, // on "-", reduce `term = float => ActionFn(29);` - -59, // on "/", reduce `term = float => ActionFn(29);` - -59, // on ";", reduce `term = float => ActionFn(29);` + 164, // on "-", goto 163 + 0, // on "/", error + -75, // on ";", reduce `value_declaration = "=", expr => ActionFn(9);` 0, // on "=", error - -59, // on "^", reduce `term = float => ActionFn(29);` + 0, // on "^", error 0, // on "abs", error 0, // on "connect", error 0, // on "constant", error @@ -7869,21 +8988,22 @@ mod __parse__model { 0, // on "output", error 0, // on "parameter", error 0, // on "stream", error - -59, // on r#"\"[^\"\\\\]*\""#, reduce `term = float => ActionFn(29);` + 0, // on "unit", error + -75, // on r#"\"[^\"\\\\]*\""#, reduce `value_declaration = "=", expr => ActionFn(9);` 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 + // State 99 0, // on "(", error 0, // on ")", error - -60, // on "*", reduce `term = identifier => ActionFn(30);` - -60, // on "+", reduce `term = identifier => ActionFn(30);` + 165, // on "*", goto 164 + -41, // on "+", reduce `expr = factor => ActionFn(23);` 0, // on ",", error - -60, // on "-", reduce `term = identifier => ActionFn(30);` - -60, // on "/", reduce `term = identifier => ActionFn(30);` - -60, // on ";", reduce `term = identifier => ActionFn(30);` + -41, // on "-", reduce `expr = factor => ActionFn(23);` + 166, // on "/", goto 165 + -41, // on ";", reduce `expr = factor => ActionFn(23);` 0, // on "=", error - -60, // on "^", reduce `term = identifier => ActionFn(30);` + 167, // on "^", goto 166 0, // on "abs", error 0, // on "connect", error 0, // on "constant", error @@ -7897,21 +9017,22 @@ mod __parse__model { 0, // on "output", error 0, // on "parameter", error 0, // on "stream", error - -60, // on r#"\"[^\"\\\\]*\""#, reduce `term = identifier => ActionFn(30);` + 0, // on "unit", error + -41, // on r#"\"[^\"\\\\]*\""#, reduce `expr = factor => ActionFn(23);` 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 100 0, // on "(", error 0, // on ")", error - -58, // on "*", reduce `term = integer => ActionFn(28);` - -58, // on "+", reduce `term = integer => ActionFn(28);` + -67, // on "*", reduce `term = float => ActionFn(30);` + -67, // on "+", reduce `term = float => ActionFn(30);` 0, // on ",", error - -58, // on "-", reduce `term = integer => ActionFn(28);` - -58, // on "/", reduce `term = integer => ActionFn(28);` - -58, // on ";", reduce `term = integer => ActionFn(28);` + -67, // on "-", reduce `term = float => ActionFn(30);` + -67, // on "/", reduce `term = float => ActionFn(30);` + -67, // on ";", reduce `term = float => ActionFn(30);` 0, // on "=", error - -58, // on "^", reduce `term = integer => ActionFn(28);` + -67, // on "^", reduce `term = float => ActionFn(30);` 0, // on "abs", error 0, // on "connect", error 0, // on "constant", error @@ -7925,21 +9046,22 @@ mod __parse__model { 0, // on "output", error 0, // on "parameter", error 0, // on "stream", error - -58, // on r#"\"[^\"\\\\]*\""#, reduce `term = integer => ActionFn(28);` + 0, // on "unit", error + -67, // on r#"\"[^\"\\\\]*\""#, reduce `term = float => ActionFn(30);` 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 101 0, // on "(", error 0, // on ")", error - -38, // on "*", reduce `factor = term => ActionFn(27);` - -38, // on "+", reduce `factor = term => ActionFn(27);` + -68, // on "*", reduce `term = identifier => ActionFn(31);` + -68, // on "+", reduce `term = identifier => ActionFn(31);` 0, // on ",", error - -38, // on "-", reduce `factor = term => ActionFn(27);` - -38, // on "/", reduce `factor = term => ActionFn(27);` - -38, // on ";", reduce `factor = term => ActionFn(27);` + -68, // on "-", reduce `term = identifier => ActionFn(31);` + -68, // on "/", reduce `term = identifier => ActionFn(31);` + -68, // on ";", reduce `term = identifier => ActionFn(31);` 0, // on "=", error - -38, // on "^", reduce `factor = term => ActionFn(27);` + -68, // on "^", reduce `term = identifier => ActionFn(31);` 0, // on "abs", error 0, // on "connect", error 0, // on "constant", error @@ -7953,25 +9075,84 @@ mod __parse__model { 0, // on "output", error 0, // on "parameter", error 0, // on "stream", error - -38, // on r#"\"[^\"\\\\]*\""#, reduce `factor = term => ActionFn(27);` + 0, // on "unit", error + -68, // on r#"\"[^\"\\\\]*\""#, reduce `term = identifier => ActionFn(31);` 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 - 68, // on "(", goto 67 + // State 102 + 0, // on "(", error + 0, // on ")", error + -66, // on "*", reduce `term = integer => ActionFn(29);` + -66, // on "+", reduce `term = integer => ActionFn(29);` + 0, // on ",", error + -66, // on "-", reduce `term = integer => ActionFn(29);` + -66, // on "/", reduce `term = integer => ActionFn(29);` + -66, // on ";", reduce `term = integer => ActionFn(29);` + 0, // on "=", error + -66, // on "^", reduce `term = integer => 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 "unit", error + -66, // on r#"\"[^\"\\\\]*\""#, reduce `term = integer => ActionFn(29);` + 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 + 0, // on "(", error + 0, // on ")", error + -46, // on "*", reduce `factor = term => ActionFn(28);` + -46, // on "+", reduce `factor = term => ActionFn(28);` + 0, // on ",", error + -46, // on "-", reduce `factor = term => ActionFn(28);` + -46, // on "/", reduce `factor = term => ActionFn(28);` + -46, // on ";", reduce `factor = term => ActionFn(28);` + 0, // on "=", error + -46, // on "^", reduce `factor = term => 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 "unit", error + -46, // on r#"\"[^\"\\\\]*\""#, reduce `factor = term => ActionFn(28);` + 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 + 71, // on "(", goto 70 0, // on ")", error 0, // on "*", error 0, // on "+", error 0, // on ",", error - 69, // on "-", goto 68 + 72, // on "-", goto 71 0, // on "/", error 0, // on ";", error 0, // on "=", error 0, // on "^", error - 70, // on "abs", goto 69 + 73, // on "abs", goto 72 0, // on "connect", error 0, // on "constant", error - 71, // on "der", goto 70 + 74, // on "der", goto 73 0, // on "discrete", error 0, // on "end", error 0, // on "equation", error @@ -7981,12 +9162,13 @@ mod __parse__model { 0, // on "output", error 0, // on "parameter", error 0, // on "stream", error + 0, // on "unit", error 0, // on r#"\"[^\"\\\\]*\""#, error - 72, // on r#"[+-]?\\d+"#, goto 71 - 73, // on r#"[+-]?\\d+\\.\\d*([eE][-+]?\\d+)?"#, goto 72 - 74, // on r#"[a-zA-Z_][a-zA-Z_0-9]*"#, goto 73 - // State 95 - 95, // on "(", goto 94 + 75, // on r#"[+-]?\\d+"#, goto 74 + 76, // on r#"[+-]?\\d+\\.\\d*([eE][-+]?\\d+)?"#, goto 75 + 77, // on r#"[a-zA-Z_][a-zA-Z_0-9]*"#, goto 76 + // State 105 + 105, // on "(", goto 104 0, // on ")", error 0, // on "*", error 0, // on "+", error @@ -7996,10 +9178,10 @@ mod __parse__model { 0, // on ";", error 0, // on "=", error 0, // on "^", error - 97, // on "abs", goto 96 + 107, // on "abs", goto 106 0, // on "connect", error 0, // on "constant", error - 98, // on "der", goto 97 + 108, // on "der", goto 107 0, // on "discrete", error 0, // on "end", error 0, // on "equation", error @@ -8009,12 +9191,13 @@ mod __parse__model { 0, // on "output", error 0, // on "parameter", error 0, // on "stream", error + 0, // on "unit", error 0, // on r#"\"[^\"\\\\]*\""#, error - 99, // on r#"[+-]?\\d+"#, goto 98 - 100, // on r#"[+-]?\\d+\\.\\d*([eE][-+]?\\d+)?"#, goto 99 - 101, // on r#"[a-zA-Z_][a-zA-Z_0-9]*"#, goto 100 - // State 96 - 153, // on "(", goto 152 + 109, // on r#"[+-]?\\d+"#, goto 108 + 110, // on r#"[+-]?\\d+\\.\\d*([eE][-+]?\\d+)?"#, goto 109 + 111, // on r#"[a-zA-Z_][a-zA-Z_0-9]*"#, goto 110 + // State 106 + 170, // on "(", goto 169 0, // on ")", error 0, // on "*", error 0, // on "+", error @@ -8037,12 +9220,13 @@ mod __parse__model { 0, // on "output", error 0, // on "parameter", error 0, // on "stream", error + 0, // on "unit", 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 - 154, // on "(", goto 153 + // State 107 + 171, // on "(", goto 170 0, // on ")", error 0, // on "*", error 0, // on "+", error @@ -8065,21 +9249,22 @@ mod __parse__model { 0, // on "output", error 0, // on "parameter", error 0, // on "stream", error + 0, // on "unit", 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 + // State 108 0, // on "(", error 0, // on ")", error - -41, // on "*", reduce `integer = r#"[+-]?\\d+"# => ActionFn(6);` - -41, // on "+", reduce `integer = r#"[+-]?\\d+"# => ActionFn(6);` + -49, // on "*", reduce `integer = r#"[+-]?\\d+"# => ActionFn(6);` + -49, // on "+", reduce `integer = r#"[+-]?\\d+"# => ActionFn(6);` 0, // on ",", error - -41, // on "-", reduce `integer = r#"[+-]?\\d+"# => ActionFn(6);` - -41, // on "/", reduce `integer = r#"[+-]?\\d+"# => ActionFn(6);` - -41, // on ";", reduce `integer = r#"[+-]?\\d+"# => ActionFn(6);` + -49, // on "-", reduce `integer = r#"[+-]?\\d+"# => ActionFn(6);` + -49, // on "/", reduce `integer = r#"[+-]?\\d+"# => ActionFn(6);` + -49, // on ";", reduce `integer = r#"[+-]?\\d+"# => ActionFn(6);` 0, // on "=", error - -41, // on "^", reduce `integer = r#"[+-]?\\d+"# => ActionFn(6);` + -49, // on "^", reduce `integer = r#"[+-]?\\d+"# => ActionFn(6);` 0, // on "abs", error 0, // on "connect", error 0, // on "constant", error @@ -8093,21 +9278,22 @@ mod __parse__model { 0, // on "output", error 0, // on "parameter", error 0, // on "stream", error - -41, // on r#"\"[^\"\\\\]*\""#, reduce `integer = r#"[+-]?\\d+"# => ActionFn(6);` + 0, // on "unit", error + -49, // on r#"\"[^\"\\\\]*\""#, reduce `integer = r#"[+-]?\\d+"# => ActionFn(6);` 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 + // State 109 0, // on "(", error 0, // on ")", error - -39, // on "*", reduce `float = r#"[+-]?\\d+\\.\\d*([eE][-+]?\\d+)?"# => ActionFn(7);` - -39, // on "+", reduce `float = r#"[+-]?\\d+\\.\\d*([eE][-+]?\\d+)?"# => ActionFn(7);` + -47, // on "*", reduce `float = r#"[+-]?\\d+\\.\\d*([eE][-+]?\\d+)?"# => ActionFn(7);` + -47, // on "+", reduce `float = r#"[+-]?\\d+\\.\\d*([eE][-+]?\\d+)?"# => ActionFn(7);` 0, // on ",", error - -39, // on "-", reduce `float = r#"[+-]?\\d+\\.\\d*([eE][-+]?\\d+)?"# => ActionFn(7);` - -39, // on "/", reduce `float = r#"[+-]?\\d+\\.\\d*([eE][-+]?\\d+)?"# => ActionFn(7);` - -39, // on ";", reduce `float = r#"[+-]?\\d+\\.\\d*([eE][-+]?\\d+)?"# => ActionFn(7);` + -47, // on "-", reduce `float = r#"[+-]?\\d+\\.\\d*([eE][-+]?\\d+)?"# => ActionFn(7);` + -47, // on "/", reduce `float = r#"[+-]?\\d+\\.\\d*([eE][-+]?\\d+)?"# => ActionFn(7);` + -47, // on ";", reduce `float = r#"[+-]?\\d+\\.\\d*([eE][-+]?\\d+)?"# => ActionFn(7);` 0, // on "=", error - -39, // on "^", reduce `float = r#"[+-]?\\d+\\.\\d*([eE][-+]?\\d+)?"# => ActionFn(7);` + -47, // on "^", reduce `float = r#"[+-]?\\d+\\.\\d*([eE][-+]?\\d+)?"# => ActionFn(7);` 0, // on "abs", error 0, // on "connect", error 0, // on "constant", error @@ -8121,21 +9307,22 @@ mod __parse__model { 0, // on "output", error 0, // on "parameter", error 0, // on "stream", error - -39, // on r#"\"[^\"\\\\]*\""#, reduce `float = r#"[+-]?\\d+\\.\\d*([eE][-+]?\\d+)?"# => ActionFn(7);` + 0, // on "unit", error + -47, // on r#"\"[^\"\\\\]*\""#, reduce `float = r#"[+-]?\\d+\\.\\d*([eE][-+]?\\d+)?"# => ActionFn(7);` 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 100 + // State 110 0, // on "(", error 0, // on ")", error - -40, // on "*", reduce `identifier = r#"[a-zA-Z_][a-zA-Z_0-9]*"# => ActionFn(4);` - -40, // on "+", reduce `identifier = r#"[a-zA-Z_][a-zA-Z_0-9]*"# => ActionFn(4);` + -48, // on "*", reduce `identifier = r#"[a-zA-Z_][a-zA-Z_0-9]*"# => ActionFn(4);` + -48, // on "+", reduce `identifier = r#"[a-zA-Z_][a-zA-Z_0-9]*"# => ActionFn(4);` 0, // on ",", error - -40, // on "-", reduce `identifier = r#"[a-zA-Z_][a-zA-Z_0-9]*"# => ActionFn(4);` - -40, // on "/", reduce `identifier = r#"[a-zA-Z_][a-zA-Z_0-9]*"# => ActionFn(4);` - -40, // on ";", reduce `identifier = r#"[a-zA-Z_][a-zA-Z_0-9]*"# => ActionFn(4);` + -48, // on "-", reduce `identifier = r#"[a-zA-Z_][a-zA-Z_0-9]*"# => ActionFn(4);` + -48, // on "/", reduce `identifier = r#"[a-zA-Z_][a-zA-Z_0-9]*"# => ActionFn(4);` + -48, // on ";", reduce `identifier = r#"[a-zA-Z_][a-zA-Z_0-9]*"# => ActionFn(4);` 0, // on "=", error - -40, // on "^", reduce `identifier = r#"[a-zA-Z_][a-zA-Z_0-9]*"# => ActionFn(4);` + -48, // 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 @@ -8149,11 +9336,12 @@ mod __parse__model { 0, // on "output", error 0, // on "parameter", error 0, // on "stream", error - -40, // on r#"\"[^\"\\\\]*\""#, reduce `identifier = r#"[a-zA-Z_][a-zA-Z_0-9]*"# => ActionFn(4);` + 0, // on "unit", error + -48, // 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 101 + // State 111 0, // on "(", error 0, // on ")", error 0, // on "*", error @@ -8177,11 +9365,12 @@ mod __parse__model { 0, // on "output", error 0, // on "parameter", error 0, // on "stream", error + 0, // on "unit", error 0, // on r#"\"[^\"\\\\]*\""#, error 0, // on r#"[+-]?\\d+"#, error 0, // on r#"[+-]?\\d+\\.\\d*([eE][-+]?\\d+)?"#, error - 80, // on r#"[a-zA-Z_][a-zA-Z_0-9]*"#, goto 79 - // State 102 + 83, // on r#"[a-zA-Z_][a-zA-Z_0-9]*"#, goto 82 + // State 112 0, // on "(", error 0, // on ")", error 0, // on "*", error @@ -8189,7 +9378,7 @@ mod __parse__model { 0, // on ",", error 0, // on "-", error 0, // on "/", error - 156, // on ";", goto 155 + 173, // on ";", goto 172 0, // on "=", error 0, // on "^", error 0, // on "abs", error @@ -8205,21 +9394,22 @@ mod __parse__model { 0, // on "output", error 0, // on "parameter", error 0, // on "stream", error + 0, // on "unit", 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 103 + // State 113 0, // on "(", error 0, // on ")", error - 57, // on "*", goto 56 - -31, // on "+", reduce `expr = expr, "+", factor => ActionFn(20);` + 60, // on "*", goto 59 + -39, // on "+", reduce `expr = expr, "+", factor => ActionFn(21);` 0, // on ",", error - -31, // on "-", reduce `expr = expr, "+", factor => ActionFn(20);` - 58, // on "/", goto 57 + -39, // on "-", reduce `expr = expr, "+", factor => ActionFn(21);` + 61, // on "/", goto 60 0, // on ";", error - -31, // on "=", reduce `expr = expr, "+", factor => ActionFn(20);` - 59, // on "^", goto 58 + -39, // on "=", reduce `expr = expr, "+", factor => ActionFn(21);` + 62, // on "^", goto 61 0, // on "abs", error 0, // on "connect", error 0, // on "constant", error @@ -8233,21 +9423,22 @@ mod __parse__model { 0, // on "output", error 0, // on "parameter", error 0, // on "stream", error + 0, // on "unit", 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 + // State 114 0, // on "(", error 0, // on ")", error - 57, // on "*", goto 56 - -32, // on "+", reduce `expr = expr, "-", factor => ActionFn(21);` + 60, // on "*", goto 59 + -40, // on "+", reduce `expr = expr, "-", factor => ActionFn(22);` 0, // on ",", error - -32, // on "-", reduce `expr = expr, "-", factor => ActionFn(21);` - 58, // on "/", goto 57 + -40, // on "-", reduce `expr = expr, "-", factor => ActionFn(22);` + 61, // on "/", goto 60 0, // on ";", error - -32, // on "=", reduce `expr = expr, "-", factor => ActionFn(21);` - 59, // on "^", goto 58 + -40, // on "=", reduce `expr = expr, "-", factor => ActionFn(22);` + 62, // on "^", goto 61 0, // on "abs", error 0, // on "connect", error 0, // on "constant", error @@ -8261,19 +9452,20 @@ mod __parse__model { 0, // on "output", error 0, // on "parameter", error 0, // on "stream", error + 0, // on "unit", 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 + // State 115 0, // on "(", error 0, // on ")", error 0, // on "*", error - 157, // on "+", goto 156 + 174, // on "+", goto 173 0, // on ",", error - 158, // on "-", goto 157 + 175, // on "-", goto 174 0, // on "/", error - 159, // on ";", goto 158 + 176, // on ";", goto 175 0, // on "=", error 0, // on "^", error 0, // on "abs", error @@ -8289,21 +9481,22 @@ mod __parse__model { 0, // on "output", error 0, // on "parameter", error 0, // on "stream", error + 0, // on "unit", 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 106 + // State 116 0, // on "(", error 0, // on ")", error - 160, // on "*", goto 159 - -33, // on "+", reduce `expr = factor => ActionFn(22);` + 177, // on "*", goto 176 + -41, // on "+", reduce `expr = factor => ActionFn(23);` 0, // on ",", error - -33, // on "-", reduce `expr = factor => ActionFn(22);` - 161, // on "/", goto 160 - -33, // on ";", reduce `expr = factor => ActionFn(22);` + -41, // on "-", reduce `expr = factor => ActionFn(23);` + 178, // on "/", goto 177 + -41, // on ";", reduce `expr = factor => ActionFn(23);` 0, // on "=", error - 162, // on "^", goto 161 + 179, // on "^", goto 178 0, // on "abs", error 0, // on "connect", error 0, // on "constant", error @@ -8317,21 +9510,22 @@ mod __parse__model { 0, // on "output", error 0, // on "parameter", error 0, // on "stream", error + 0, // on "unit", 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 107 + // State 117 0, // on "(", error 0, // on ")", error - -59, // on "*", reduce `term = float => ActionFn(29);` - -59, // on "+", reduce `term = float => ActionFn(29);` + -67, // on "*", reduce `term = float => ActionFn(30);` + -67, // on "+", reduce `term = float => ActionFn(30);` 0, // on ",", error - -59, // on "-", reduce `term = float => ActionFn(29);` - -59, // on "/", reduce `term = float => ActionFn(29);` - -59, // on ";", reduce `term = float => ActionFn(29);` + -67, // on "-", reduce `term = float => ActionFn(30);` + -67, // on "/", reduce `term = float => ActionFn(30);` + -67, // on ";", reduce `term = float => ActionFn(30);` 0, // on "=", error - -59, // on "^", reduce `term = float => ActionFn(29);` + -67, // on "^", reduce `term = float => ActionFn(30);` 0, // on "abs", error 0, // on "connect", error 0, // on "constant", error @@ -8345,21 +9539,22 @@ mod __parse__model { 0, // on "output", error 0, // on "parameter", error 0, // on "stream", error + 0, // on "unit", 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 + // State 118 0, // on "(", error 0, // on ")", error - -60, // on "*", reduce `term = identifier => ActionFn(30);` - -60, // on "+", reduce `term = identifier => ActionFn(30);` + -68, // on "*", reduce `term = identifier => ActionFn(31);` + -68, // on "+", reduce `term = identifier => ActionFn(31);` 0, // on ",", error - -60, // on "-", reduce `term = identifier => ActionFn(30);` - -60, // on "/", reduce `term = identifier => ActionFn(30);` - -60, // on ";", reduce `term = identifier => ActionFn(30);` + -68, // on "-", reduce `term = identifier => ActionFn(31);` + -68, // on "/", reduce `term = identifier => ActionFn(31);` + -68, // on ";", reduce `term = identifier => ActionFn(31);` 0, // on "=", error - -60, // on "^", reduce `term = identifier => ActionFn(30);` + -68, // on "^", reduce `term = identifier => ActionFn(31);` 0, // on "abs", error 0, // on "connect", error 0, // on "constant", error @@ -8373,21 +9568,22 @@ mod __parse__model { 0, // on "output", error 0, // on "parameter", error 0, // on "stream", error + 0, // on "unit", 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 + // State 119 0, // on "(", error 0, // on ")", error - -58, // on "*", reduce `term = integer => ActionFn(28);` - -58, // on "+", reduce `term = integer => ActionFn(28);` + -66, // on "*", reduce `term = integer => ActionFn(29);` + -66, // on "+", reduce `term = integer => ActionFn(29);` 0, // on ",", error - -58, // on "-", reduce `term = integer => ActionFn(28);` - -58, // on "/", reduce `term = integer => ActionFn(28);` - -58, // on ";", reduce `term = integer => ActionFn(28);` + -66, // on "-", reduce `term = integer => ActionFn(29);` + -66, // on "/", reduce `term = integer => ActionFn(29);` + -66, // on ";", reduce `term = integer => ActionFn(29);` 0, // on "=", error - -58, // on "^", reduce `term = integer => ActionFn(28);` + -66, // on "^", reduce `term = integer => ActionFn(29);` 0, // on "abs", error 0, // on "connect", error 0, // on "constant", error @@ -8401,21 +9597,22 @@ mod __parse__model { 0, // on "output", error 0, // on "parameter", error 0, // on "stream", error + 0, // on "unit", 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 + // State 120 0, // on "(", error 0, // on ")", error - -38, // on "*", reduce `factor = term => ActionFn(27);` - -38, // on "+", reduce `factor = term => ActionFn(27);` + -46, // on "*", reduce `factor = term => ActionFn(28);` + -46, // on "+", reduce `factor = term => ActionFn(28);` 0, // on ",", error - -38, // on "-", reduce `factor = term => ActionFn(27);` - -38, // on "/", reduce `factor = term => ActionFn(27);` - -38, // on ";", reduce `factor = term => ActionFn(27);` + -46, // on "-", reduce `factor = term => ActionFn(28);` + -46, // on "/", reduce `factor = term => ActionFn(28);` + -46, // on ";", reduce `factor = term => ActionFn(28);` 0, // on "=", error - -38, // on "^", reduce `factor = term => ActionFn(27);` + -46, // on "^", reduce `factor = term => ActionFn(28);` 0, // on "abs", error 0, // on "connect", error 0, // on "constant", error @@ -8429,25 +9626,26 @@ mod __parse__model { 0, // on "output", error 0, // on "parameter", error 0, // on "stream", error + 0, // on "unit", 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 - 68, // on "(", goto 67 + // State 121 + 71, // on "(", goto 70 0, // on ")", error 0, // on "*", error 0, // on "+", error 0, // on ",", error - 69, // on "-", goto 68 + 72, // on "-", goto 71 0, // on "/", error 0, // on ";", error 0, // on "=", error 0, // on "^", error - 70, // on "abs", goto 69 + 73, // on "abs", goto 72 0, // on "connect", error 0, // on "constant", error - 71, // on "der", goto 70 + 74, // on "der", goto 73 0, // on "discrete", error 0, // on "end", error 0, // on "equation", error @@ -8457,12 +9655,13 @@ mod __parse__model { 0, // on "output", error 0, // on "parameter", error 0, // on "stream", error + 0, // on "unit", error 0, // on r#"\"[^\"\\\\]*\""#, error - 72, // on r#"[+-]?\\d+"#, goto 71 - 73, // on r#"[+-]?\\d+\\.\\d*([eE][-+]?\\d+)?"#, goto 72 - 74, // on r#"[a-zA-Z_][a-zA-Z_0-9]*"#, goto 73 - // State 112 - 112, // on "(", goto 111 + 75, // on r#"[+-]?\\d+"#, goto 74 + 76, // on r#"[+-]?\\d+\\.\\d*([eE][-+]?\\d+)?"#, goto 75 + 77, // on r#"[a-zA-Z_][a-zA-Z_0-9]*"#, goto 76 + // State 122 + 122, // on "(", goto 121 0, // on ")", error 0, // on "*", error 0, // on "+", error @@ -8472,10 +9671,10 @@ mod __parse__model { 0, // on ";", error 0, // on "=", error 0, // on "^", error - 114, // on "abs", goto 113 + 124, // on "abs", goto 123 0, // on "connect", error 0, // on "constant", error - 115, // on "der", goto 114 + 125, // on "der", goto 124 0, // on "discrete", error 0, // on "end", error 0, // on "equation", error @@ -8485,12 +9684,13 @@ mod __parse__model { 0, // on "output", error 0, // on "parameter", error 0, // on "stream", error + 0, // on "unit", error 0, // on r#"\"[^\"\\\\]*\""#, error - 116, // on r#"[+-]?\\d+"#, goto 115 - 117, // on r#"[+-]?\\d+\\.\\d*([eE][-+]?\\d+)?"#, goto 116 - 118, // on r#"[a-zA-Z_][a-zA-Z_0-9]*"#, goto 117 - // State 113 - 165, // on "(", goto 164 + 126, // on r#"[+-]?\\d+"#, goto 125 + 127, // on r#"[+-]?\\d+\\.\\d*([eE][-+]?\\d+)?"#, goto 126 + 128, // on r#"[a-zA-Z_][a-zA-Z_0-9]*"#, goto 127 + // State 123 + 182, // on "(", goto 181 0, // on ")", error 0, // on "*", error 0, // on "+", error @@ -8513,12 +9713,13 @@ mod __parse__model { 0, // on "output", error 0, // on "parameter", error 0, // on "stream", error + 0, // on "unit", 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 - 166, // on "(", goto 165 + // State 124 + 183, // on "(", goto 182 0, // on ")", error 0, // on "*", error 0, // on "+", error @@ -8541,21 +9742,22 @@ mod __parse__model { 0, // on "output", error 0, // on "parameter", error 0, // on "stream", error + 0, // on "unit", 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 115 + // State 125 0, // on "(", error 0, // on ")", error - -41, // on "*", reduce `integer = r#"[+-]?\\d+"# => ActionFn(6);` - -41, // on "+", reduce `integer = r#"[+-]?\\d+"# => ActionFn(6);` + -49, // on "*", reduce `integer = r#"[+-]?\\d+"# => ActionFn(6);` + -49, // on "+", reduce `integer = r#"[+-]?\\d+"# => ActionFn(6);` 0, // on ",", error - -41, // on "-", reduce `integer = r#"[+-]?\\d+"# => ActionFn(6);` - -41, // on "/", reduce `integer = r#"[+-]?\\d+"# => ActionFn(6);` - -41, // on ";", reduce `integer = r#"[+-]?\\d+"# => ActionFn(6);` + -49, // on "-", reduce `integer = r#"[+-]?\\d+"# => ActionFn(6);` + -49, // on "/", reduce `integer = r#"[+-]?\\d+"# => ActionFn(6);` + -49, // on ";", reduce `integer = r#"[+-]?\\d+"# => ActionFn(6);` 0, // on "=", error - -41, // on "^", reduce `integer = r#"[+-]?\\d+"# => ActionFn(6);` + -49, // on "^", reduce `integer = r#"[+-]?\\d+"# => ActionFn(6);` 0, // on "abs", error 0, // on "connect", error 0, // on "constant", error @@ -8569,21 +9771,22 @@ mod __parse__model { 0, // on "output", error 0, // on "parameter", error 0, // on "stream", error + 0, // on "unit", 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 + // State 126 0, // on "(", error 0, // on ")", error - -39, // on "*", reduce `float = r#"[+-]?\\d+\\.\\d*([eE][-+]?\\d+)?"# => ActionFn(7);` - -39, // on "+", reduce `float = r#"[+-]?\\d+\\.\\d*([eE][-+]?\\d+)?"# => ActionFn(7);` + -47, // on "*", reduce `float = r#"[+-]?\\d+\\.\\d*([eE][-+]?\\d+)?"# => ActionFn(7);` + -47, // on "+", reduce `float = r#"[+-]?\\d+\\.\\d*([eE][-+]?\\d+)?"# => ActionFn(7);` 0, // on ",", error - -39, // on "-", reduce `float = r#"[+-]?\\d+\\.\\d*([eE][-+]?\\d+)?"# => ActionFn(7);` - -39, // on "/", reduce `float = r#"[+-]?\\d+\\.\\d*([eE][-+]?\\d+)?"# => ActionFn(7);` - -39, // on ";", reduce `float = r#"[+-]?\\d+\\.\\d*([eE][-+]?\\d+)?"# => ActionFn(7);` + -47, // on "-", reduce `float = r#"[+-]?\\d+\\.\\d*([eE][-+]?\\d+)?"# => ActionFn(7);` + -47, // on "/", reduce `float = r#"[+-]?\\d+\\.\\d*([eE][-+]?\\d+)?"# => ActionFn(7);` + -47, // on ";", reduce `float = r#"[+-]?\\d+\\.\\d*([eE][-+]?\\d+)?"# => ActionFn(7);` 0, // on "=", error - -39, // on "^", reduce `float = r#"[+-]?\\d+\\.\\d*([eE][-+]?\\d+)?"# => ActionFn(7);` + -47, // on "^", reduce `float = r#"[+-]?\\d+\\.\\d*([eE][-+]?\\d+)?"# => ActionFn(7);` 0, // on "abs", error 0, // on "connect", error 0, // on "constant", error @@ -8597,21 +9800,22 @@ mod __parse__model { 0, // on "output", error 0, // on "parameter", error 0, // on "stream", error + 0, // on "unit", 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 117 + // State 127 0, // on "(", error 0, // on ")", error - -40, // on "*", reduce `identifier = r#"[a-zA-Z_][a-zA-Z_0-9]*"# => ActionFn(4);` - -40, // on "+", reduce `identifier = r#"[a-zA-Z_][a-zA-Z_0-9]*"# => ActionFn(4);` + -48, // on "*", reduce `identifier = r#"[a-zA-Z_][a-zA-Z_0-9]*"# => ActionFn(4);` + -48, // on "+", reduce `identifier = r#"[a-zA-Z_][a-zA-Z_0-9]*"# => ActionFn(4);` 0, // on ",", error - -40, // on "-", reduce `identifier = r#"[a-zA-Z_][a-zA-Z_0-9]*"# => ActionFn(4);` - -40, // on "/", reduce `identifier = r#"[a-zA-Z_][a-zA-Z_0-9]*"# => ActionFn(4);` - -40, // on ";", reduce `identifier = r#"[a-zA-Z_][a-zA-Z_0-9]*"# => ActionFn(4);` + -48, // on "-", reduce `identifier = r#"[a-zA-Z_][a-zA-Z_0-9]*"# => ActionFn(4);` + -48, // on "/", reduce `identifier = r#"[a-zA-Z_][a-zA-Z_0-9]*"# => ActionFn(4);` + -48, // on ";", reduce `identifier = r#"[a-zA-Z_][a-zA-Z_0-9]*"# => ActionFn(4);` 0, // on "=", error - -40, // on "^", reduce `identifier = r#"[a-zA-Z_][a-zA-Z_0-9]*"# => ActionFn(4);` + -48, // 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 @@ -8625,21 +9829,22 @@ mod __parse__model { 0, // on "output", error 0, // on "parameter", error 0, // on "stream", error + 0, // on "unit", 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 118 + // State 128 0, // on "(", error 0, // on ")", error - -34, // on "*", reduce `factor = factor, "*", term => ActionFn(23);` - -34, // on "+", reduce `factor = factor, "*", term => ActionFn(23);` + -42, // on "*", reduce `factor = factor, "*", term => ActionFn(24);` + -42, // on "+", reduce `factor = factor, "*", term => ActionFn(24);` 0, // on ",", error - -34, // on "-", reduce `factor = factor, "*", term => ActionFn(23);` - -34, // on "/", reduce `factor = factor, "*", term => ActionFn(23);` + -42, // on "-", reduce `factor = factor, "*", term => ActionFn(24);` + -42, // on "/", reduce `factor = factor, "*", term => ActionFn(24);` 0, // on ";", error - -34, // on "=", reduce `factor = factor, "*", term => ActionFn(23);` - -34, // on "^", reduce `factor = factor, "*", term => ActionFn(23);` + -42, // on "=", reduce `factor = factor, "*", term => ActionFn(24);` + -42, // on "^", reduce `factor = factor, "*", term => ActionFn(24);` 0, // on "abs", error 0, // on "connect", error 0, // on "constant", error @@ -8653,21 +9858,22 @@ mod __parse__model { 0, // on "output", error 0, // on "parameter", error 0, // on "stream", error + 0, // on "unit", 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 119 + // State 129 0, // on "(", error 0, // on ")", error - -35, // on "*", reduce `factor = factor, "/", term => ActionFn(24);` - -35, // on "+", reduce `factor = factor, "/", term => ActionFn(24);` + -43, // on "*", reduce `factor = factor, "/", term => ActionFn(25);` + -43, // on "+", reduce `factor = factor, "/", term => ActionFn(25);` 0, // on ",", error - -35, // on "-", reduce `factor = factor, "/", term => ActionFn(24);` - -35, // on "/", reduce `factor = factor, "/", term => ActionFn(24);` + -43, // on "-", reduce `factor = factor, "/", term => ActionFn(25);` + -43, // on "/", reduce `factor = factor, "/", term => ActionFn(25);` 0, // on ";", error - -35, // on "=", reduce `factor = factor, "/", term => ActionFn(24);` - -35, // on "^", reduce `factor = factor, "/", term => ActionFn(24);` + -43, // on "=", reduce `factor = factor, "/", term => ActionFn(25);` + -43, // on "^", reduce `factor = factor, "/", term => ActionFn(25);` 0, // on "abs", error 0, // on "connect", error 0, // on "constant", error @@ -8681,21 +9887,22 @@ mod __parse__model { 0, // on "output", error 0, // on "parameter", error 0, // on "stream", error + 0, // on "unit", 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 120 + // State 130 0, // on "(", error 0, // on ")", error - -36, // on "*", reduce `factor = factor, "^", term => ActionFn(25);` - -36, // on "+", reduce `factor = factor, "^", term => ActionFn(25);` + -44, // on "*", reduce `factor = factor, "^", term => ActionFn(26);` + -44, // on "+", reduce `factor = factor, "^", term => ActionFn(26);` 0, // on ",", error - -36, // on "-", reduce `factor = factor, "^", term => ActionFn(25);` - -36, // on "/", reduce `factor = factor, "^", term => ActionFn(25);` + -44, // on "-", reduce `factor = factor, "^", term => ActionFn(26);` + -44, // on "/", reduce `factor = factor, "^", term => ActionFn(26);` 0, // on ";", error - -36, // on "=", reduce `factor = factor, "^", term => ActionFn(25);` - -36, // on "^", reduce `factor = factor, "^", term => ActionFn(25);` + -44, // on "=", reduce `factor = factor, "^", term => ActionFn(26);` + -44, // on "^", reduce `factor = factor, "^", term => ActionFn(26);` 0, // on "abs", error 0, // on "connect", error 0, // on "constant", error @@ -8709,11 +9916,12 @@ mod __parse__model { 0, // on "output", error 0, // on "parameter", error 0, // on "stream", error + 0, // on "unit", 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 121 + // State 131 0, // on "(", error 0, // on ")", error 0, // on "*", error @@ -8721,7 +9929,7 @@ mod __parse__model { 0, // on ",", error 0, // on "-", error 0, // on "/", error - 167, // on ";", goto 166 + 184, // on ";", goto 183 0, // on "=", error 0, // on "^", error 0, // on "abs", error @@ -8737,21 +9945,22 @@ mod __parse__model { 0, // on "output", error 0, // on "parameter", error 0, // on "stream", error + 0, // on "unit", 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 + // State 132 0, // on "(", error 0, // on ")", error - -63, // on "*", reduce `term = "(", expr, ")" => ActionFn(33);` - -63, // on "+", reduce `term = "(", expr, ")" => ActionFn(33);` + -71, // on "*", reduce `term = "(", expr, ")" => ActionFn(34);` + -71, // on "+", reduce `term = "(", expr, ")" => ActionFn(34);` 0, // on ",", error - -63, // on "-", reduce `term = "(", expr, ")" => ActionFn(33);` - -63, // on "/", reduce `term = "(", expr, ")" => ActionFn(33);` + -71, // on "-", reduce `term = "(", expr, ")" => ActionFn(34);` + -71, // on "/", reduce `term = "(", expr, ")" => ActionFn(34);` 0, // on ";", error - -63, // on "=", reduce `term = "(", expr, ")" => ActionFn(33);` - -63, // on "^", reduce `term = "(", expr, ")" => ActionFn(33);` + -71, // on "=", reduce `term = "(", expr, ")" => ActionFn(34);` + -71, // on "^", reduce `term = "(", expr, ")" => ActionFn(34);` 0, // on "abs", error 0, // on "connect", error 0, // on "constant", error @@ -8765,25 +9974,26 @@ mod __parse__model { 0, // on "output", error 0, // on "parameter", error 0, // on "stream", error + 0, // on "unit", 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 - 68, // on "(", goto 67 + // State 133 + 71, // on "(", goto 70 0, // on ")", error 0, // on "*", error 0, // on "+", error 0, // on ",", error - 69, // on "-", goto 68 + 72, // on "-", goto 71 0, // on "/", error 0, // on ";", error 0, // on "=", error 0, // on "^", error - 70, // on "abs", goto 69 + 73, // on "abs", goto 72 0, // on "connect", error 0, // on "constant", error - 71, // on "der", goto 70 + 74, // on "der", goto 73 0, // on "discrete", error 0, // on "end", error 0, // on "equation", error @@ -8793,25 +10003,26 @@ mod __parse__model { 0, // on "output", error 0, // on "parameter", error 0, // on "stream", error + 0, // on "unit", error 0, // on r#"\"[^\"\\\\]*\""#, error - 72, // on r#"[+-]?\\d+"#, goto 71 - 73, // on r#"[+-]?\\d+\\.\\d*([eE][-+]?\\d+)?"#, goto 72 - 74, // on r#"[a-zA-Z_][a-zA-Z_0-9]*"#, goto 73 - // State 124 - 68, // on "(", goto 67 + 75, // on r#"[+-]?\\d+"#, goto 74 + 76, // on r#"[+-]?\\d+\\.\\d*([eE][-+]?\\d+)?"#, goto 75 + 77, // on r#"[a-zA-Z_][a-zA-Z_0-9]*"#, goto 76 + // State 134 + 71, // on "(", goto 70 0, // on ")", error 0, // on "*", error 0, // on "+", error 0, // on ",", error - 69, // on "-", goto 68 + 72, // on "-", goto 71 0, // on "/", error 0, // on ";", error 0, // on "=", error 0, // on "^", error - 70, // on "abs", goto 69 + 73, // on "abs", goto 72 0, // on "connect", error 0, // on "constant", error - 71, // on "der", goto 70 + 74, // on "der", goto 73 0, // on "discrete", error 0, // on "end", error 0, // on "equation", error @@ -8821,12 +10032,13 @@ mod __parse__model { 0, // on "output", error 0, // on "parameter", error 0, // on "stream", error + 0, // on "unit", error 0, // on r#"\"[^\"\\\\]*\""#, error - 72, // on r#"[+-]?\\d+"#, goto 71 - 73, // on r#"[+-]?\\d+\\.\\d*([eE][-+]?\\d+)?"#, goto 72 - 74, // on r#"[a-zA-Z_][a-zA-Z_0-9]*"#, goto 73 - // State 125 - 68, // on "(", goto 67 + 75, // on r#"[+-]?\\d+"#, goto 74 + 76, // on r#"[+-]?\\d+\\.\\d*([eE][-+]?\\d+)?"#, goto 75 + 77, // on r#"[a-zA-Z_][a-zA-Z_0-9]*"#, goto 76 + // State 135 + 71, // on "(", goto 70 0, // on ")", error 0, // on "*", error 0, // on "+", error @@ -8836,10 +10048,10 @@ mod __parse__model { 0, // on ";", error 0, // on "=", error 0, // on "^", error - 70, // on "abs", goto 69 + 73, // on "abs", goto 72 0, // on "connect", error 0, // on "constant", error - 71, // on "der", goto 70 + 74, // on "der", goto 73 0, // on "discrete", error 0, // on "end", error 0, // on "equation", error @@ -8849,12 +10061,13 @@ mod __parse__model { 0, // on "output", error 0, // on "parameter", error 0, // on "stream", error + 0, // on "unit", error 0, // on r#"\"[^\"\\\\]*\""#, error - 72, // on r#"[+-]?\\d+"#, goto 71 - 73, // on r#"[+-]?\\d+\\.\\d*([eE][-+]?\\d+)?"#, goto 72 - 74, // on r#"[a-zA-Z_][a-zA-Z_0-9]*"#, goto 73 - // State 126 - 68, // on "(", goto 67 + 75, // on r#"[+-]?\\d+"#, goto 74 + 76, // on r#"[+-]?\\d+\\.\\d*([eE][-+]?\\d+)?"#, goto 75 + 77, // on r#"[a-zA-Z_][a-zA-Z_0-9]*"#, goto 76 + // State 136 + 71, // on "(", goto 70 0, // on ")", error 0, // on "*", error 0, // on "+", error @@ -8864,10 +10077,10 @@ mod __parse__model { 0, // on ";", error 0, // on "=", error 0, // on "^", error - 70, // on "abs", goto 69 + 73, // on "abs", goto 72 0, // on "connect", error 0, // on "constant", error - 71, // on "der", goto 70 + 74, // on "der", goto 73 0, // on "discrete", error 0, // on "end", error 0, // on "equation", error @@ -8877,12 +10090,13 @@ mod __parse__model { 0, // on "output", error 0, // on "parameter", error 0, // on "stream", error + 0, // on "unit", error 0, // on r#"\"[^\"\\\\]*\""#, error - 72, // on r#"[+-]?\\d+"#, goto 71 - 73, // on r#"[+-]?\\d+\\.\\d*([eE][-+]?\\d+)?"#, goto 72 - 74, // on r#"[a-zA-Z_][a-zA-Z_0-9]*"#, goto 73 - // State 127 - 68, // on "(", goto 67 + 75, // on r#"[+-]?\\d+"#, goto 74 + 76, // on r#"[+-]?\\d+\\.\\d*([eE][-+]?\\d+)?"#, goto 75 + 77, // on r#"[a-zA-Z_][a-zA-Z_0-9]*"#, goto 76 + // State 137 + 71, // on "(", goto 70 0, // on ")", error 0, // on "*", error 0, // on "+", error @@ -8892,10 +10106,10 @@ mod __parse__model { 0, // on ";", error 0, // on "=", error 0, // on "^", error - 70, // on "abs", goto 69 + 73, // on "abs", goto 72 0, // on "connect", error 0, // on "constant", error - 71, // on "der", goto 70 + 74, // on "der", goto 73 0, // on "discrete", error 0, // on "end", error 0, // on "equation", error @@ -8905,17 +10119,18 @@ mod __parse__model { 0, // on "output", error 0, // on "parameter", error 0, // on "stream", error + 0, // on "unit", error 0, // on r#"\"[^\"\\\\]*\""#, error - 72, // on r#"[+-]?\\d+"#, goto 71 - 73, // on r#"[+-]?\\d+\\.\\d*([eE][-+]?\\d+)?"#, goto 72 - 74, // on r#"[a-zA-Z_][a-zA-Z_0-9]*"#, goto 73 - // State 128 + 75, // on r#"[+-]?\\d+"#, goto 74 + 76, // on r#"[+-]?\\d+\\.\\d*([eE][-+]?\\d+)?"#, goto 75 + 77, // on r#"[a-zA-Z_][a-zA-Z_0-9]*"#, goto 76 + // State 138 0, // on "(", error - 173, // on ")", goto 172 + 190, // on ")", goto 189 0, // on "*", error - 124, // on "+", goto 123 + 134, // on "+", goto 133 0, // on ",", error - 125, // on "-", goto 124 + 135, // on "-", goto 134 0, // on "/", error 0, // on ";", error 0, // on "=", error @@ -8933,21 +10148,22 @@ mod __parse__model { 0, // on "output", error 0, // on "parameter", error 0, // on "stream", error + 0, // on "unit", 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 + // State 139 0, // on "(", error - -37, // on ")", reduce `factor = "-", term => ActionFn(26);` - -37, // on "*", reduce `factor = "-", term => ActionFn(26);` - -37, // on "+", reduce `factor = "-", term => ActionFn(26);` + -45, // on ")", reduce `factor = "-", term => ActionFn(27);` + -45, // on "*", reduce `factor = "-", term => ActionFn(27);` + -45, // on "+", reduce `factor = "-", term => ActionFn(27);` 0, // on ",", error - -37, // on "-", reduce `factor = "-", term => ActionFn(26);` - -37, // on "/", reduce `factor = "-", term => ActionFn(26);` + -45, // on "-", reduce `factor = "-", term => ActionFn(27);` + -45, // on "/", reduce `factor = "-", term => ActionFn(27);` 0, // on ";", error 0, // on "=", error - -37, // on "^", reduce `factor = "-", term => ActionFn(26);` + -45, // on "^", reduce `factor = "-", term => ActionFn(27);` 0, // on "abs", error 0, // on "connect", error 0, // on "constant", error @@ -8961,25 +10177,26 @@ mod __parse__model { 0, // on "output", error 0, // on "parameter", error 0, // on "stream", error + 0, // on "unit", 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 - 68, // on "(", goto 67 + // State 140 + 71, // on "(", goto 70 0, // on ")", error 0, // on "*", error 0, // on "+", error 0, // on ",", error - 69, // on "-", goto 68 + 72, // on "-", goto 71 0, // on "/", error 0, // on ";", error 0, // on "=", error 0, // on "^", error - 70, // on "abs", goto 69 + 73, // on "abs", goto 72 0, // on "connect", error 0, // on "constant", error - 71, // on "der", goto 70 + 74, // on "der", goto 73 0, // on "discrete", error 0, // on "end", error 0, // on "equation", error @@ -8989,25 +10206,26 @@ mod __parse__model { 0, // on "output", error 0, // on "parameter", error 0, // on "stream", error + 0, // on "unit", error 0, // on r#"\"[^\"\\\\]*\""#, error - 72, // on r#"[+-]?\\d+"#, goto 71 - 73, // on r#"[+-]?\\d+\\.\\d*([eE][-+]?\\d+)?"#, goto 72 - 74, // on r#"[a-zA-Z_][a-zA-Z_0-9]*"#, goto 73 - // State 131 - 68, // on "(", goto 67 + 75, // on r#"[+-]?\\d+"#, goto 74 + 76, // on r#"[+-]?\\d+\\.\\d*([eE][-+]?\\d+)?"#, goto 75 + 77, // on r#"[a-zA-Z_][a-zA-Z_0-9]*"#, goto 76 + // State 141 + 71, // on "(", goto 70 0, // on ")", error 0, // on "*", error 0, // on "+", error 0, // on ",", error - 69, // on "-", goto 68 + 72, // on "-", goto 71 0, // on "/", error 0, // on ";", error 0, // on "=", error 0, // on "^", error - 70, // on "abs", goto 69 + 73, // on "abs", goto 72 0, // on "connect", error 0, // on "constant", error - 71, // on "der", goto 70 + 74, // on "der", goto 73 0, // on "discrete", error 0, // on "end", error 0, // on "equation", error @@ -9017,17 +10235,18 @@ mod __parse__model { 0, // on "output", error 0, // on "parameter", error 0, // on "stream", error + 0, // on "unit", error 0, // on r#"\"[^\"\\\\]*\""#, error - 72, // on r#"[+-]?\\d+"#, goto 71 - 73, // on r#"[+-]?\\d+\\.\\d*([eE][-+]?\\d+)?"#, goto 72 - 74, // on r#"[a-zA-Z_][a-zA-Z_0-9]*"#, goto 73 - // State 132 + 75, // on r#"[+-]?\\d+"#, goto 74 + 76, // on r#"[+-]?\\d+\\.\\d*([eE][-+]?\\d+)?"#, goto 75 + 77, // on r#"[a-zA-Z_][a-zA-Z_0-9]*"#, goto 76 + // State 142 0, // on "(", error - 176, // on ")", goto 175 + 193, // on ")", goto 192 0, // on "*", error - 124, // on "+", goto 123 + 134, // on "+", goto 133 0, // on ",", error - 125, // on "-", goto 124 + 135, // on "-", goto 134 0, // on "/", error 0, // on ";", error 0, // on "=", error @@ -9045,16 +10264,17 @@ mod __parse__model { 0, // on "output", error 0, // on "parameter", error 0, // on "stream", error + 0, // on "unit", 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 + // State 143 0, // on "(", error 0, // on ")", error 0, // on "*", error 0, // on "+", error - 177, // on ",", goto 176 + 194, // on ",", goto 193 0, // on "-", error 0, // on "/", error 0, // on ";", error @@ -9073,16 +10293,17 @@ mod __parse__model { 0, // on "output", error 0, // on "parameter", error 0, // on "stream", error + 0, // on "unit", 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 134 + // State 144 0, // on "(", error 0, // on ")", error 0, // on "*", error 0, // on "+", error - -40, // on ",", reduce `identifier = r#"[a-zA-Z_][a-zA-Z_0-9]*"# => ActionFn(4);` + -48, // on ",", reduce `identifier = r#"[a-zA-Z_][a-zA-Z_0-9]*"# => ActionFn(4);` 0, // on "-", error 0, // on "/", error 0, // on ";", error @@ -9101,17 +10322,18 @@ mod __parse__model { 0, // on "output", error 0, // on "parameter", error 0, // on "stream", error + 0, // on "unit", 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 + // State 145 0, // on "(", error - 178, // on ")", goto 177 + 195, // on ")", goto 194 0, // on "*", error - 124, // on "+", goto 123 + 134, // on "+", goto 133 0, // on ",", error - 125, // on "-", goto 124 + 135, // on "-", goto 134 0, // on "/", error 0, // on ";", error 0, // on "=", error @@ -9129,11 +10351,12 @@ mod __parse__model { 0, // on "output", error 0, // on "parameter", error 0, // on "stream", error + 0, // on "unit", 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 136 + // State 146 0, // on "(", error 0, // on ")", error 0, // on "*", error @@ -9157,11 +10380,12 @@ mod __parse__model { 0, // on "output", error 0, // on "parameter", error 0, // on "stream", error + 0, // on "unit", 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 + // State 147 0, // on "(", error 0, // on ")", error 0, // on "*", error @@ -9185,11 +10409,12 @@ mod __parse__model { 0, // on "output", error 0, // on "parameter", error 0, // on "stream", error + 0, // on "unit", error 0, // on r#"\"[^\"\\\\]*\""#, error 0, // on r#"[+-]?\\d+"#, error 0, // on r#"[+-]?\\d+\\.\\d*([eE][-+]?\\d+)?"#, error - 80, // on r#"[a-zA-Z_][a-zA-Z_0-9]*"#, goto 79 - // State 138 + 83, // on r#"[a-zA-Z_][a-zA-Z_0-9]*"#, goto 82 + // State 148 0, // on "(", error 0, // on ")", error 0, // on "*", error @@ -9197,7 +10422,7 @@ mod __parse__model { 0, // on ",", error 0, // on "-", error 0, // on "/", error - 180, // on ";", goto 179 + 197, // on ";", goto 196 0, // on "=", error 0, // on "^", error 0, // on "abs", error @@ -9213,11 +10438,12 @@ mod __parse__model { 0, // on "output", error 0, // on "parameter", error 0, // on "stream", error + 0, // on "unit", 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 + // State 149 0, // on "(", error 0, // on ")", error 0, // on "*", error @@ -9225,7 +10451,7 @@ mod __parse__model { 0, // on ",", error 0, // on "-", error 0, // on "/", error - 181, // on ";", goto 180 + 198, // on ";", goto 197 0, // on "=", error 0, // on "^", error 0, // on "abs", error @@ -9241,11 +10467,12 @@ mod __parse__model { 0, // on "output", error 0, // on "parameter", error 0, // on "stream", error + 0, // on "unit", 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 150 0, // on "(", error 0, // on ")", error 0, // on "*", error @@ -9269,11 +10496,12 @@ mod __parse__model { 0, // on "output", error 0, // on "parameter", error 0, // on "stream", error + 0, // on "unit", 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 + // State 151 0, // on "(", error 0, // on ")", error 0, // on "*", error @@ -9286,30 +10514,31 @@ mod __parse__model { 0, // on "^", error 0, // on "abs", error 0, // on "connect", error - -5, // on "constant", reduce `component_declaration = component_prefix, identifier, identifier, string_literal, ";" => ActionFn(68);` + -8, // on "constant", reduce `component_declaration = component_prefix, identifier, identifier, string_literal, ";" => ActionFn(86);` 0, // on "der", error - -5, // on "discrete", reduce `component_declaration = component_prefix, identifier, identifier, string_literal, ";" => ActionFn(68);` + -8, // on "discrete", reduce `component_declaration = component_prefix, identifier, identifier, string_literal, ";" => ActionFn(86);` 0, // on "end", error - -5, // on "equation", reduce `component_declaration = component_prefix, identifier, identifier, string_literal, ";" => ActionFn(68);` - -5, // on "flow", reduce `component_declaration = component_prefix, identifier, identifier, string_literal, ";" => ActionFn(68);` - -5, // on "input", reduce `component_declaration = component_prefix, identifier, identifier, string_literal, ";" => ActionFn(68);` + -8, // on "equation", reduce `component_declaration = component_prefix, identifier, identifier, string_literal, ";" => ActionFn(86);` + -8, // on "flow", reduce `component_declaration = component_prefix, identifier, identifier, string_literal, ";" => ActionFn(86);` + -8, // on "input", reduce `component_declaration = component_prefix, identifier, identifier, string_literal, ";" => ActionFn(86);` 0, // on "model", error - -5, // on "output", reduce `component_declaration = component_prefix, identifier, identifier, string_literal, ";" => ActionFn(68);` - -5, // on "parameter", reduce `component_declaration = component_prefix, identifier, identifier, string_literal, ";" => ActionFn(68);` - -5, // on "stream", reduce `component_declaration = component_prefix, identifier, identifier, string_literal, ";" => ActionFn(68);` + -8, // on "output", reduce `component_declaration = component_prefix, identifier, identifier, string_literal, ";" => ActionFn(86);` + -8, // on "parameter", reduce `component_declaration = component_prefix, identifier, identifier, string_literal, ";" => ActionFn(86);` + -8, // on "stream", reduce `component_declaration = component_prefix, identifier, identifier, string_literal, ";" => ActionFn(86);` + 0, // on "unit", error 0, // on r#"\"[^\"\\\\]*\""#, error 0, // on r#"[+-]?\\d+"#, error 0, // on r#"[+-]?\\d+\\.\\d*([eE][-+]?\\d+)?"#, error - -5, // on r#"[a-zA-Z_][a-zA-Z_0-9]*"#, reduce `component_declaration = component_prefix, identifier, identifier, string_literal, ";" => ActionFn(68);` - // State 142 + -8, // on r#"[a-zA-Z_][a-zA-Z_0-9]*"#, reduce `component_declaration = component_prefix, identifier, identifier, string_literal, ";" => ActionFn(86);` + // State 152 0, // on "(", error 0, // on ")", error 0, // on "*", error - 145, // on "+", goto 144 + 0, // on "+", error 0, // on ",", error - 146, // on "-", goto 145 + 0, // on "-", error 0, // on "/", error - 183, // on ";", goto 182 + 199, // on ";", goto 198 0, // on "=", error 0, // on "^", error 0, // on "abs", error @@ -9325,11 +10554,12 @@ mod __parse__model { 0, // on "output", error 0, // on "parameter", error 0, // on "stream", error - 50, // on r#"\"[^\"\\\\]*\""#, goto 49 + 0, // on "unit", 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 + // State 153 0, // on "(", error 0, // on ")", error 0, // on "*", error @@ -9337,7 +10567,7 @@ mod __parse__model { 0, // on ",", error 0, // on "-", error 0, // on "/", error - 184, // on ";", goto 183 + 201, // on ";", goto 200 0, // on "=", error 0, // on "^", error 0, // on "abs", error @@ -9353,25 +10583,55 @@ mod __parse__model { 0, // on "output", error 0, // on "parameter", error 0, // on "stream", error - 0, // on r#"\"[^\"\\\\]*\""#, error + 0, // on "unit", error + 53, // on r#"\"[^\"\\\\]*\""#, goto 52 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 - 95, // on "(", goto 94 + // State 154 + 0, // on "(", error 0, // on ")", error 0, // on "*", error 0, // on "+", error 0, // on ",", error - 96, // on "-", goto 95 + 0, // on "-", error 0, // on "/", error 0, // on ";", error 0, // on "=", error 0, // on "^", error - 97, // on "abs", goto 96 + 0, // on "abs", error + 0, // on "connect", error + -10, // on "constant", reduce `component_declaration = component_prefix, identifier, identifier, units_declaration, ";" => ActionFn(88);` + 0, // on "der", error + -10, // on "discrete", reduce `component_declaration = component_prefix, identifier, identifier, units_declaration, ";" => ActionFn(88);` + 0, // on "end", error + -10, // on "equation", reduce `component_declaration = component_prefix, identifier, identifier, units_declaration, ";" => ActionFn(88);` + -10, // on "flow", reduce `component_declaration = component_prefix, identifier, identifier, units_declaration, ";" => ActionFn(88);` + -10, // on "input", reduce `component_declaration = component_prefix, identifier, identifier, units_declaration, ";" => ActionFn(88);` + 0, // on "model", error + -10, // on "output", reduce `component_declaration = component_prefix, identifier, identifier, units_declaration, ";" => ActionFn(88);` + -10, // on "parameter", reduce `component_declaration = component_prefix, identifier, identifier, units_declaration, ";" => ActionFn(88);` + -10, // on "stream", reduce `component_declaration = component_prefix, identifier, identifier, units_declaration, ";" => ActionFn(88);` + 0, // on "unit", error + 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 = component_prefix, identifier, identifier, units_declaration, ";" => ActionFn(88);` + // State 155 + 0, // on "(", error + 0, // on ")", error + 0, // on "*", error + 0, // on "+", error + 0, // on ",", error + 0, // on "-", error + 0, // on "/", error + 202, // on ";", goto 201 + 0, // on "=", error + 0, // on "^", error + 0, // on "abs", error 0, // on "connect", error 0, // on "constant", error - 98, // on "der", goto 97 + 0, // on "der", error 0, // on "discrete", error 0, // on "end", error 0, // on "equation", error @@ -9381,25 +10641,84 @@ mod __parse__model { 0, // on "output", error 0, // on "parameter", error 0, // on "stream", error + 0, // on "unit", error 0, // on r#"\"[^\"\\\\]*\""#, error - 99, // on r#"[+-]?\\d+"#, goto 98 - 100, // on r#"[+-]?\\d+\\.\\d*([eE][-+]?\\d+)?"#, goto 99 - 101, // on r#"[a-zA-Z_][a-zA-Z_0-9]*"#, goto 100 - // State 145 - 95, // on "(", goto 94 + 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 156 + 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 "^", error + 0, // on "abs", error + 0, // on "connect", error + -11, // on "constant", reduce `component_declaration = component_prefix, identifier, identifier, value_declaration, ";" => ActionFn(89);` + 0, // on "der", error + -11, // on "discrete", reduce `component_declaration = component_prefix, identifier, identifier, value_declaration, ";" => ActionFn(89);` + 0, // on "end", error + -11, // on "equation", reduce `component_declaration = component_prefix, identifier, identifier, value_declaration, ";" => ActionFn(89);` + -11, // on "flow", reduce `component_declaration = component_prefix, identifier, identifier, value_declaration, ";" => ActionFn(89);` + -11, // on "input", reduce `component_declaration = component_prefix, identifier, identifier, value_declaration, ";" => ActionFn(89);` + 0, // on "model", error + -11, // on "output", reduce `component_declaration = component_prefix, identifier, identifier, value_declaration, ";" => ActionFn(89);` + -11, // on "parameter", reduce `component_declaration = component_prefix, identifier, identifier, value_declaration, ";" => ActionFn(89);` + -11, // on "stream", reduce `component_declaration = component_prefix, identifier, identifier, value_declaration, ";" => ActionFn(89);` + 0, // on "unit", error + 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 = component_prefix, identifier, identifier, value_declaration, ";" => ActionFn(89);` + // State 157 + 0, // on "(", error 0, // on ")", error 0, // on "*", error 0, // on "+", error 0, // on ",", error - 96, // on "-", goto 95 + 0, // on "-", error 0, // on "/", error 0, // on ";", error 0, // on "=", error 0, // on "^", error - 97, // on "abs", goto 96 + 0, // on "abs", error + 0, // on "connect", error + -14, // on "constant", reduce `component_declaration = identifier, identifier, units_declaration, string_literal, ";" => ActionFn(92);` + 0, // on "der", error + -14, // on "discrete", reduce `component_declaration = identifier, identifier, units_declaration, string_literal, ";" => ActionFn(92);` + 0, // on "end", error + -14, // on "equation", reduce `component_declaration = identifier, identifier, units_declaration, string_literal, ";" => ActionFn(92);` + -14, // on "flow", reduce `component_declaration = identifier, identifier, units_declaration, string_literal, ";" => ActionFn(92);` + -14, // on "input", reduce `component_declaration = identifier, identifier, units_declaration, string_literal, ";" => ActionFn(92);` + 0, // on "model", error + -14, // on "output", reduce `component_declaration = identifier, identifier, units_declaration, string_literal, ";" => ActionFn(92);` + -14, // on "parameter", reduce `component_declaration = identifier, identifier, units_declaration, string_literal, ";" => ActionFn(92);` + -14, // on "stream", reduce `component_declaration = identifier, identifier, units_declaration, string_literal, ";" => ActionFn(92);` + 0, // on "unit", error + 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 = identifier, identifier, units_declaration, string_literal, ";" => ActionFn(92);` + // State 158 + 0, // on "(", error + 0, // on ")", error + 0, // on "*", error + 0, // on "+", error + 0, // on ",", error + 0, // on "-", error + 0, // on "/", error + 203, // on ";", goto 202 + 0, // on "=", error + 0, // on "^", error + 0, // on "abs", error 0, // on "connect", error 0, // on "constant", error - 98, // on "der", goto 97 + 0, // on "der", error 0, // on "discrete", error 0, // on "end", error 0, // on "equation", error @@ -9409,11 +10728,12 @@ mod __parse__model { 0, // on "output", error 0, // on "parameter", error 0, // on "stream", error + 0, // on "unit", error 0, // on r#"\"[^\"\\\\]*\""#, error - 99, // on r#"[+-]?\\d+"#, goto 98 - 100, // on r#"[+-]?\\d+\\.\\d*([eE][-+]?\\d+)?"#, goto 99 - 101, // on r#"[a-zA-Z_][a-zA-Z_0-9]*"#, goto 100 - // State 146 + 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 159 0, // on "(", error 0, // on ")", error 0, // on "*", error @@ -9426,23 +10746,140 @@ mod __parse__model { 0, // on "^", error 0, // on "abs", error 0, // on "connect", error - -12, // on "constant", reduce `component_declaration = identifier, identifier, "=", expr, ";" => ActionFn(75);` + -17, // on "constant", reduce `component_declaration = identifier, identifier, units_declaration, value_declaration, ";" => ActionFn(95);` 0, // on "der", error - -12, // on "discrete", reduce `component_declaration = identifier, identifier, "=", expr, ";" => ActionFn(75);` + -17, // on "discrete", reduce `component_declaration = identifier, identifier, units_declaration, value_declaration, ";" => ActionFn(95);` 0, // on "end", error - -12, // on "equation", reduce `component_declaration = identifier, identifier, "=", expr, ";" => ActionFn(75);` - -12, // on "flow", reduce `component_declaration = identifier, identifier, "=", expr, ";" => ActionFn(75);` - -12, // on "input", reduce `component_declaration = identifier, identifier, "=", expr, ";" => ActionFn(75);` + -17, // on "equation", reduce `component_declaration = identifier, identifier, units_declaration, value_declaration, ";" => ActionFn(95);` + -17, // on "flow", reduce `component_declaration = identifier, identifier, units_declaration, value_declaration, ";" => ActionFn(95);` + -17, // on "input", reduce `component_declaration = identifier, identifier, units_declaration, value_declaration, ";" => ActionFn(95);` 0, // on "model", error - -12, // on "output", reduce `component_declaration = identifier, identifier, "=", expr, ";" => ActionFn(75);` - -12, // on "parameter", reduce `component_declaration = identifier, identifier, "=", expr, ";" => ActionFn(75);` - -12, // on "stream", reduce `component_declaration = identifier, identifier, "=", expr, ";" => ActionFn(75);` + -17, // on "output", reduce `component_declaration = identifier, identifier, units_declaration, value_declaration, ";" => ActionFn(95);` + -17, // on "parameter", reduce `component_declaration = identifier, identifier, units_declaration, value_declaration, ";" => ActionFn(95);` + -17, // on "stream", reduce `component_declaration = identifier, identifier, units_declaration, value_declaration, ";" => ActionFn(95);` + 0, // on "unit", error 0, // on r#"\"[^\"\\\\]*\""#, error 0, // on r#"[+-]?\\d+"#, error 0, // on r#"[+-]?\\d+\\.\\d*([eE][-+]?\\d+)?"#, error - -12, // on r#"[a-zA-Z_][a-zA-Z_0-9]*"#, reduce `component_declaration = identifier, identifier, "=", expr, ";" => ActionFn(75);` - // State 147 - 95, // on "(", goto 94 + -17, // on r#"[a-zA-Z_][a-zA-Z_0-9]*"#, reduce `component_declaration = identifier, identifier, units_declaration, value_declaration, ";" => ActionFn(95);` + // State 160 + 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 "^", error + 0, // on "abs", error + 0, // on "connect", error + -15, // on "constant", reduce `component_declaration = identifier, identifier, value_declaration, string_literal, ";" => ActionFn(93);` + 0, // on "der", error + -15, // on "discrete", reduce `component_declaration = identifier, identifier, value_declaration, string_literal, ";" => ActionFn(93);` + 0, // on "end", error + -15, // on "equation", reduce `component_declaration = identifier, identifier, value_declaration, string_literal, ";" => ActionFn(93);` + -15, // on "flow", reduce `component_declaration = identifier, identifier, value_declaration, string_literal, ";" => ActionFn(93);` + -15, // on "input", reduce `component_declaration = identifier, identifier, value_declaration, string_literal, ";" => ActionFn(93);` + 0, // on "model", error + -15, // on "output", reduce `component_declaration = identifier, identifier, value_declaration, string_literal, ";" => ActionFn(93);` + -15, // on "parameter", reduce `component_declaration = identifier, identifier, value_declaration, string_literal, ";" => ActionFn(93);` + -15, // on "stream", reduce `component_declaration = identifier, identifier, value_declaration, string_literal, ";" => ActionFn(93);` + 0, // on "unit", error + 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 = identifier, identifier, value_declaration, string_literal, ";" => ActionFn(93);` + // State 161 + 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 "^", 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 "unit", error + 205, // on r#"\"[^\"\\\\]*\""#, goto 204 + 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 162 + 105, // on "(", goto 104 + 0, // on ")", error + 0, // on "*", error + 0, // on "+", error + 0, // on ",", error + 106, // on "-", goto 105 + 0, // on "/", error + 0, // on ";", error + 0, // on "=", error + 0, // on "^", error + 107, // on "abs", goto 106 + 0, // on "connect", error + 0, // on "constant", error + 108, // on "der", goto 107 + 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 "unit", error + 0, // on r#"\"[^\"\\\\]*\""#, error + 109, // on r#"[+-]?\\d+"#, goto 108 + 110, // on r#"[+-]?\\d+\\.\\d*([eE][-+]?\\d+)?"#, goto 109 + 111, // on r#"[a-zA-Z_][a-zA-Z_0-9]*"#, goto 110 + // State 163 + 105, // on "(", goto 104 + 0, // on ")", error + 0, // on "*", error + 0, // on "+", error + 0, // on ",", error + 106, // on "-", goto 105 + 0, // on "/", error + 0, // on ";", error + 0, // on "=", error + 0, // on "^", error + 107, // on "abs", goto 106 + 0, // on "connect", error + 0, // on "constant", error + 108, // on "der", goto 107 + 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 "unit", error + 0, // on r#"\"[^\"\\\\]*\""#, error + 109, // on r#"[+-]?\\d+"#, goto 108 + 110, // on r#"[+-]?\\d+\\.\\d*([eE][-+]?\\d+)?"#, goto 109 + 111, // on r#"[a-zA-Z_][a-zA-Z_0-9]*"#, goto 110 + // State 164 + 105, // on "(", goto 104 0, // on ")", error 0, // on "*", error 0, // on "+", error @@ -9452,10 +10889,10 @@ mod __parse__model { 0, // on ";", error 0, // on "=", error 0, // on "^", error - 97, // on "abs", goto 96 + 107, // on "abs", goto 106 0, // on "connect", error 0, // on "constant", error - 98, // on "der", goto 97 + 108, // on "der", goto 107 0, // on "discrete", error 0, // on "end", error 0, // on "equation", error @@ -9465,12 +10902,13 @@ mod __parse__model { 0, // on "output", error 0, // on "parameter", error 0, // on "stream", error + 0, // on "unit", error 0, // on r#"\"[^\"\\\\]*\""#, error - 99, // on r#"[+-]?\\d+"#, goto 98 - 100, // on r#"[+-]?\\d+\\.\\d*([eE][-+]?\\d+)?"#, goto 99 - 101, // on r#"[a-zA-Z_][a-zA-Z_0-9]*"#, goto 100 - // State 148 - 95, // on "(", goto 94 + 109, // on r#"[+-]?\\d+"#, goto 108 + 110, // on r#"[+-]?\\d+\\.\\d*([eE][-+]?\\d+)?"#, goto 109 + 111, // on r#"[a-zA-Z_][a-zA-Z_0-9]*"#, goto 110 + // State 165 + 105, // on "(", goto 104 0, // on ")", error 0, // on "*", error 0, // on "+", error @@ -9480,10 +10918,10 @@ mod __parse__model { 0, // on ";", error 0, // on "=", error 0, // on "^", error - 97, // on "abs", goto 96 + 107, // on "abs", goto 106 0, // on "connect", error 0, // on "constant", error - 98, // on "der", goto 97 + 108, // on "der", goto 107 0, // on "discrete", error 0, // on "end", error 0, // on "equation", error @@ -9493,12 +10931,13 @@ mod __parse__model { 0, // on "output", error 0, // on "parameter", error 0, // on "stream", error + 0, // on "unit", error 0, // on r#"\"[^\"\\\\]*\""#, error - 99, // on r#"[+-]?\\d+"#, goto 98 - 100, // on r#"[+-]?\\d+\\.\\d*([eE][-+]?\\d+)?"#, goto 99 - 101, // on r#"[a-zA-Z_][a-zA-Z_0-9]*"#, goto 100 - // State 149 - 95, // on "(", goto 94 + 109, // on r#"[+-]?\\d+"#, goto 108 + 110, // on r#"[+-]?\\d+\\.\\d*([eE][-+]?\\d+)?"#, goto 109 + 111, // on r#"[a-zA-Z_][a-zA-Z_0-9]*"#, goto 110 + // State 166 + 105, // on "(", goto 104 0, // on ")", error 0, // on "*", error 0, // on "+", error @@ -9508,10 +10947,10 @@ mod __parse__model { 0, // on ";", error 0, // on "=", error 0, // on "^", error - 97, // on "abs", goto 96 + 107, // on "abs", goto 106 0, // on "connect", error 0, // on "constant", error - 98, // on "der", goto 97 + 108, // on "der", goto 107 0, // on "discrete", error 0, // on "end", error 0, // on "equation", error @@ -9521,17 +10960,18 @@ mod __parse__model { 0, // on "output", error 0, // on "parameter", error 0, // on "stream", error + 0, // on "unit", error 0, // on r#"\"[^\"\\\\]*\""#, error - 99, // on r#"[+-]?\\d+"#, goto 98 - 100, // on r#"[+-]?\\d+\\.\\d*([eE][-+]?\\d+)?"#, goto 99 - 101, // on r#"[a-zA-Z_][a-zA-Z_0-9]*"#, goto 100 - // State 150 + 109, // on r#"[+-]?\\d+"#, goto 108 + 110, // on r#"[+-]?\\d+\\.\\d*([eE][-+]?\\d+)?"#, goto 109 + 111, // on r#"[a-zA-Z_][a-zA-Z_0-9]*"#, goto 110 + // State 167 0, // on "(", error - 190, // on ")", goto 189 + 211, // on ")", goto 210 0, // on "*", error - 124, // on "+", goto 123 + 134, // on "+", goto 133 0, // on ",", error - 125, // on "-", goto 124 + 135, // on "-", goto 134 0, // on "/", error 0, // on ";", error 0, // on "=", error @@ -9549,21 +10989,22 @@ mod __parse__model { 0, // on "output", error 0, // on "parameter", error 0, // on "stream", error + 0, // on "unit", 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 151 + // State 168 0, // on "(", error 0, // on ")", error - -37, // on "*", reduce `factor = "-", term => ActionFn(26);` - -37, // on "+", reduce `factor = "-", term => ActionFn(26);` + -45, // on "*", reduce `factor = "-", term => ActionFn(27);` + -45, // on "+", reduce `factor = "-", term => ActionFn(27);` 0, // on ",", error - -37, // on "-", reduce `factor = "-", term => ActionFn(26);` - -37, // on "/", reduce `factor = "-", term => ActionFn(26);` - -37, // on ";", reduce `factor = "-", term => ActionFn(26);` + -45, // on "-", reduce `factor = "-", term => ActionFn(27);` + -45, // on "/", reduce `factor = "-", term => ActionFn(27);` + -45, // on ";", reduce `factor = "-", term => ActionFn(27);` 0, // on "=", error - -37, // on "^", reduce `factor = "-", term => ActionFn(26);` + -45, // on "^", reduce `factor = "-", term => ActionFn(27);` 0, // on "abs", error 0, // on "connect", error 0, // on "constant", error @@ -9577,25 +11018,26 @@ mod __parse__model { 0, // on "output", error 0, // on "parameter", error 0, // on "stream", error - -37, // on r#"\"[^\"\\\\]*\""#, reduce `factor = "-", term => ActionFn(26);` + 0, // on "unit", error + -45, // on r#"\"[^\"\\\\]*\""#, reduce `factor = "-", term => ActionFn(27);` 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 152 - 68, // on "(", goto 67 + // State 169 + 71, // on "(", goto 70 0, // on ")", error 0, // on "*", error 0, // on "+", error 0, // on ",", error - 69, // on "-", goto 68 + 72, // on "-", goto 71 0, // on "/", error 0, // on ";", error 0, // on "=", error 0, // on "^", error - 70, // on "abs", goto 69 + 73, // on "abs", goto 72 0, // on "connect", error 0, // on "constant", error - 71, // on "der", goto 70 + 74, // on "der", goto 73 0, // on "discrete", error 0, // on "end", error 0, // on "equation", error @@ -9605,25 +11047,26 @@ mod __parse__model { 0, // on "output", error 0, // on "parameter", error 0, // on "stream", error + 0, // on "unit", error 0, // on r#"\"[^\"\\\\]*\""#, error - 72, // on r#"[+-]?\\d+"#, goto 71 - 73, // on r#"[+-]?\\d+\\.\\d*([eE][-+]?\\d+)?"#, goto 72 - 74, // on r#"[a-zA-Z_][a-zA-Z_0-9]*"#, goto 73 - // State 153 - 68, // on "(", goto 67 + 75, // on r#"[+-]?\\d+"#, goto 74 + 76, // on r#"[+-]?\\d+\\.\\d*([eE][-+]?\\d+)?"#, goto 75 + 77, // on r#"[a-zA-Z_][a-zA-Z_0-9]*"#, goto 76 + // State 170 + 71, // on "(", goto 70 0, // on ")", error 0, // on "*", error 0, // on "+", error 0, // on ",", error - 69, // on "-", goto 68 + 72, // on "-", goto 71 0, // on "/", error 0, // on ";", error 0, // on "=", error 0, // on "^", error - 70, // on "abs", goto 69 + 73, // on "abs", goto 72 0, // on "connect", error 0, // on "constant", error - 71, // on "der", goto 70 + 74, // on "der", goto 73 0, // on "discrete", error 0, // on "end", error 0, // on "equation", error @@ -9633,11 +11076,12 @@ mod __parse__model { 0, // on "output", error 0, // on "parameter", error 0, // on "stream", error + 0, // on "unit", error 0, // on r#"\"[^\"\\\\]*\""#, error - 72, // on r#"[+-]?\\d+"#, goto 71 - 73, // on r#"[+-]?\\d+\\.\\d*([eE][-+]?\\d+)?"#, goto 72 - 74, // on r#"[a-zA-Z_][a-zA-Z_0-9]*"#, goto 73 - // State 154 + 75, // on r#"[+-]?\\d+"#, goto 74 + 76, // on r#"[+-]?\\d+\\.\\d*([eE][-+]?\\d+)?"#, goto 75 + 77, // on r#"[a-zA-Z_][a-zA-Z_0-9]*"#, goto 76 + // State 171 0, // on "(", error 0, // on ")", error 0, // on "*", error @@ -9645,7 +11089,7 @@ mod __parse__model { 0, // on ",", error 0, // on "-", error 0, // on "/", error - 193, // on ";", goto 192 + 214, // on ";", goto 213 0, // on "=", error 0, // on "^", error 0, // on "abs", error @@ -9661,11 +11105,12 @@ mod __parse__model { 0, // on "output", error 0, // on "parameter", error 0, // on "stream", error + 0, // on "unit", 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 + // State 172 0, // on "(", error 0, // on ")", error 0, // on "*", error @@ -9689,25 +11134,26 @@ mod __parse__model { 0, // on "output", error 0, // on "parameter", error 0, // on "stream", error + 0, // on "unit", 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 156 - 112, // on "(", goto 111 + // State 173 + 122, // on "(", goto 121 0, // on ")", error 0, // on "*", error 0, // on "+", error 0, // on ",", error - 113, // on "-", goto 112 + 123, // on "-", goto 122 0, // on "/", error 0, // on ";", error 0, // on "=", error 0, // on "^", error - 114, // on "abs", goto 113 + 124, // on "abs", goto 123 0, // on "connect", error 0, // on "constant", error - 115, // on "der", goto 114 + 125, // on "der", goto 124 0, // on "discrete", error 0, // on "end", error 0, // on "equation", error @@ -9717,25 +11163,26 @@ mod __parse__model { 0, // on "output", error 0, // on "parameter", error 0, // on "stream", error + 0, // on "unit", error 0, // on r#"\"[^\"\\\\]*\""#, error - 116, // on r#"[+-]?\\d+"#, goto 115 - 117, // on r#"[+-]?\\d+\\.\\d*([eE][-+]?\\d+)?"#, goto 116 - 118, // on r#"[a-zA-Z_][a-zA-Z_0-9]*"#, goto 117 - // State 157 - 112, // on "(", goto 111 + 126, // on r#"[+-]?\\d+"#, goto 125 + 127, // on r#"[+-]?\\d+\\.\\d*([eE][-+]?\\d+)?"#, goto 126 + 128, // on r#"[a-zA-Z_][a-zA-Z_0-9]*"#, goto 127 + // State 174 + 122, // on "(", goto 121 0, // on ")", error 0, // on "*", error 0, // on "+", error 0, // on ",", error - 113, // on "-", goto 112 + 123, // on "-", goto 122 0, // on "/", error 0, // on ";", error 0, // on "=", error 0, // on "^", error - 114, // on "abs", goto 113 + 124, // on "abs", goto 123 0, // on "connect", error 0, // on "constant", error - 115, // on "der", goto 114 + 125, // on "der", goto 124 0, // on "discrete", error 0, // on "end", error 0, // on "equation", error @@ -9745,27 +11192,28 @@ mod __parse__model { 0, // on "output", error 0, // on "parameter", error 0, // on "stream", error + 0, // on "unit", error 0, // on r#"\"[^\"\\\\]*\""#, error - 116, // on r#"[+-]?\\d+"#, goto 115 - 117, // on r#"[+-]?\\d+\\.\\d*([eE][-+]?\\d+)?"#, goto 116 - 118, // on r#"[a-zA-Z_][a-zA-Z_0-9]*"#, goto 117 - // State 158 - -50, // on "(", reduce `simple_equation = expr, "=", expr, ";" => ActionFn(18);` + 126, // on r#"[+-]?\\d+"#, goto 125 + 127, // on r#"[+-]?\\d+\\.\\d*([eE][-+]?\\d+)?"#, goto 126 + 128, // on r#"[a-zA-Z_][a-zA-Z_0-9]*"#, goto 127 + // State 175 + -58, // on "(", reduce `simple_equation = expr, "=", expr, ";" => ActionFn(19);` 0, // on ")", error 0, // on "*", error 0, // on "+", error 0, // on ",", error - -50, // on "-", reduce `simple_equation = expr, "=", expr, ";" => ActionFn(18);` + -58, // on "-", reduce `simple_equation = expr, "=", expr, ";" => ActionFn(19);` 0, // on "/", error 0, // on ";", error 0, // on "=", error 0, // on "^", error - -50, // on "abs", reduce `simple_equation = expr, "=", expr, ";" => ActionFn(18);` + -58, // on "abs", reduce `simple_equation = expr, "=", expr, ";" => ActionFn(19);` 0, // on "connect", error 0, // on "constant", error - -50, // on "der", reduce `simple_equation = expr, "=", expr, ";" => ActionFn(18);` + -58, // on "der", reduce `simple_equation = expr, "=", expr, ";" => ActionFn(19);` 0, // on "discrete", error - -50, // on "end", reduce `simple_equation = expr, "=", expr, ";" => ActionFn(18);` + -58, // on "end", reduce `simple_equation = expr, "=", expr, ";" => ActionFn(19);` 0, // on "equation", error 0, // on "flow", error 0, // on "input", error @@ -9773,12 +11221,13 @@ mod __parse__model { 0, // on "output", error 0, // on "parameter", error 0, // on "stream", error + 0, // on "unit", error 0, // on r#"\"[^\"\\\\]*\""#, error - -50, // on r#"[+-]?\\d+"#, reduce `simple_equation = expr, "=", expr, ";" => ActionFn(18);` - -50, // on r#"[+-]?\\d+\\.\\d*([eE][-+]?\\d+)?"#, reduce `simple_equation = expr, "=", expr, ";" => ActionFn(18);` - -50, // on r#"[a-zA-Z_][a-zA-Z_0-9]*"#, reduce `simple_equation = expr, "=", expr, ";" => ActionFn(18);` - // State 159 - 112, // on "(", goto 111 + -58, // on r#"[+-]?\\d+"#, reduce `simple_equation = expr, "=", expr, ";" => ActionFn(19);` + -58, // on r#"[+-]?\\d+\\.\\d*([eE][-+]?\\d+)?"#, reduce `simple_equation = expr, "=", expr, ";" => ActionFn(19);` + -58, // on r#"[a-zA-Z_][a-zA-Z_0-9]*"#, reduce `simple_equation = expr, "=", expr, ";" => ActionFn(19);` + // State 176 + 122, // on "(", goto 121 0, // on ")", error 0, // on "*", error 0, // on "+", error @@ -9788,10 +11237,10 @@ mod __parse__model { 0, // on ";", error 0, // on "=", error 0, // on "^", error - 114, // on "abs", goto 113 + 124, // on "abs", goto 123 0, // on "connect", error 0, // on "constant", error - 115, // on "der", goto 114 + 125, // on "der", goto 124 0, // on "discrete", error 0, // on "end", error 0, // on "equation", error @@ -9801,12 +11250,13 @@ mod __parse__model { 0, // on "output", error 0, // on "parameter", error 0, // on "stream", error + 0, // on "unit", error 0, // on r#"\"[^\"\\\\]*\""#, error - 116, // on r#"[+-]?\\d+"#, goto 115 - 117, // on r#"[+-]?\\d+\\.\\d*([eE][-+]?\\d+)?"#, goto 116 - 118, // on r#"[a-zA-Z_][a-zA-Z_0-9]*"#, goto 117 - // State 160 - 112, // on "(", goto 111 + 126, // on r#"[+-]?\\d+"#, goto 125 + 127, // on r#"[+-]?\\d+\\.\\d*([eE][-+]?\\d+)?"#, goto 126 + 128, // on r#"[a-zA-Z_][a-zA-Z_0-9]*"#, goto 127 + // State 177 + 122, // on "(", goto 121 0, // on ")", error 0, // on "*", error 0, // on "+", error @@ -9816,10 +11266,10 @@ mod __parse__model { 0, // on ";", error 0, // on "=", error 0, // on "^", error - 114, // on "abs", goto 113 + 124, // on "abs", goto 123 0, // on "connect", error 0, // on "constant", error - 115, // on "der", goto 114 + 125, // on "der", goto 124 0, // on "discrete", error 0, // on "end", error 0, // on "equation", error @@ -9829,12 +11279,13 @@ mod __parse__model { 0, // on "output", error 0, // on "parameter", error 0, // on "stream", error + 0, // on "unit", error 0, // on r#"\"[^\"\\\\]*\""#, error - 116, // on r#"[+-]?\\d+"#, goto 115 - 117, // on r#"[+-]?\\d+\\.\\d*([eE][-+]?\\d+)?"#, goto 116 - 118, // on r#"[a-zA-Z_][a-zA-Z_0-9]*"#, goto 117 - // State 161 - 112, // on "(", goto 111 + 126, // on r#"[+-]?\\d+"#, goto 125 + 127, // on r#"[+-]?\\d+\\.\\d*([eE][-+]?\\d+)?"#, goto 126 + 128, // on r#"[a-zA-Z_][a-zA-Z_0-9]*"#, goto 127 + // State 178 + 122, // on "(", goto 121 0, // on ")", error 0, // on "*", error 0, // on "+", error @@ -9844,10 +11295,10 @@ mod __parse__model { 0, // on ";", error 0, // on "=", error 0, // on "^", error - 114, // on "abs", goto 113 + 124, // on "abs", goto 123 0, // on "connect", error 0, // on "constant", error - 115, // on "der", goto 114 + 125, // on "der", goto 124 0, // on "discrete", error 0, // on "end", error 0, // on "equation", error @@ -9857,17 +11308,18 @@ mod __parse__model { 0, // on "output", error 0, // on "parameter", error 0, // on "stream", error + 0, // on "unit", error 0, // on r#"\"[^\"\\\\]*\""#, error - 116, // on r#"[+-]?\\d+"#, goto 115 - 117, // on r#"[+-]?\\d+\\.\\d*([eE][-+]?\\d+)?"#, goto 116 - 118, // on r#"[a-zA-Z_][a-zA-Z_0-9]*"#, goto 117 - // State 162 + 126, // on r#"[+-]?\\d+"#, goto 125 + 127, // on r#"[+-]?\\d+\\.\\d*([eE][-+]?\\d+)?"#, goto 126 + 128, // on r#"[a-zA-Z_][a-zA-Z_0-9]*"#, goto 127 + // State 179 0, // on "(", error - 199, // on ")", goto 198 + 220, // on ")", goto 219 0, // on "*", error - 124, // on "+", goto 123 + 134, // on "+", goto 133 0, // on ",", error - 125, // on "-", goto 124 + 135, // on "-", goto 134 0, // on "/", error 0, // on ";", error 0, // on "=", error @@ -9885,21 +11337,22 @@ mod __parse__model { 0, // on "output", error 0, // on "parameter", error 0, // on "stream", error + 0, // on "unit", 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 163 + // State 180 0, // on "(", error 0, // on ")", error - -37, // on "*", reduce `factor = "-", term => ActionFn(26);` - -37, // on "+", reduce `factor = "-", term => ActionFn(26);` + -45, // on "*", reduce `factor = "-", term => ActionFn(27);` + -45, // on "+", reduce `factor = "-", term => ActionFn(27);` 0, // on ",", error - -37, // on "-", reduce `factor = "-", term => ActionFn(26);` - -37, // on "/", reduce `factor = "-", term => ActionFn(26);` - -37, // on ";", reduce `factor = "-", term => ActionFn(26);` + -45, // on "-", reduce `factor = "-", term => ActionFn(27);` + -45, // on "/", reduce `factor = "-", term => ActionFn(27);` + -45, // on ";", reduce `factor = "-", term => ActionFn(27);` 0, // on "=", error - -37, // on "^", reduce `factor = "-", term => ActionFn(26);` + -45, // on "^", reduce `factor = "-", term => ActionFn(27);` 0, // on "abs", error 0, // on "connect", error 0, // on "constant", error @@ -9913,25 +11366,26 @@ mod __parse__model { 0, // on "output", error 0, // on "parameter", error 0, // on "stream", error + 0, // on "unit", 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 - 68, // on "(", goto 67 + // State 181 + 71, // on "(", goto 70 0, // on ")", error 0, // on "*", error 0, // on "+", error 0, // on ",", error - 69, // on "-", goto 68 + 72, // on "-", goto 71 0, // on "/", error 0, // on ";", error 0, // on "=", error 0, // on "^", error - 70, // on "abs", goto 69 + 73, // on "abs", goto 72 0, // on "connect", error 0, // on "constant", error - 71, // on "der", goto 70 + 74, // on "der", goto 73 0, // on "discrete", error 0, // on "end", error 0, // on "equation", error @@ -9941,25 +11395,26 @@ mod __parse__model { 0, // on "output", error 0, // on "parameter", error 0, // on "stream", error + 0, // on "unit", error 0, // on r#"\"[^\"\\\\]*\""#, error - 72, // on r#"[+-]?\\d+"#, goto 71 - 73, // on r#"[+-]?\\d+\\.\\d*([eE][-+]?\\d+)?"#, goto 72 - 74, // on r#"[a-zA-Z_][a-zA-Z_0-9]*"#, goto 73 - // State 165 - 68, // on "(", goto 67 + 75, // on r#"[+-]?\\d+"#, goto 74 + 76, // on r#"[+-]?\\d+\\.\\d*([eE][-+]?\\d+)?"#, goto 75 + 77, // on r#"[a-zA-Z_][a-zA-Z_0-9]*"#, goto 76 + // State 182 + 71, // on "(", goto 70 0, // on ")", error 0, // on "*", error 0, // on "+", error 0, // on ",", error - 69, // on "-", goto 68 + 72, // on "-", goto 71 0, // on "/", error 0, // on ";", error 0, // on "=", error 0, // on "^", error - 70, // on "abs", goto 69 + 73, // on "abs", goto 72 0, // on "connect", error 0, // on "constant", error - 71, // on "der", goto 70 + 74, // on "der", goto 73 0, // on "discrete", error 0, // on "end", error 0, // on "equation", error @@ -9969,11 +11424,12 @@ mod __parse__model { 0, // on "output", error 0, // on "parameter", error 0, // on "stream", error + 0, // on "unit", error 0, // on r#"\"[^\"\\\\]*\""#, error - 72, // on r#"[+-]?\\d+"#, goto 71 - 73, // on r#"[+-]?\\d+\\.\\d*([eE][-+]?\\d+)?"#, goto 72 - 74, // on r#"[a-zA-Z_][a-zA-Z_0-9]*"#, goto 73 - // State 166 + 75, // on r#"[+-]?\\d+"#, goto 74 + 76, // on r#"[+-]?\\d+\\.\\d*([eE][-+]?\\d+)?"#, goto 75 + 77, // on r#"[a-zA-Z_][a-zA-Z_0-9]*"#, goto 76 + // State 183 0, // on "(", error 0, // on ")", error 0, // on "*", error @@ -9997,21 +11453,22 @@ mod __parse__model { 0, // on "output", error 0, // on "parameter", error 0, // on "stream", error + 0, // on "unit", 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 167 + // State 184 0, // on "(", error - -31, // on ")", reduce `expr = expr, "+", factor => ActionFn(20);` - 126, // on "*", goto 125 - -31, // on "+", reduce `expr = expr, "+", factor => ActionFn(20);` + -39, // on ")", reduce `expr = expr, "+", factor => ActionFn(21);` + 136, // on "*", goto 135 + -39, // on "+", reduce `expr = expr, "+", factor => ActionFn(21);` 0, // on ",", error - -31, // on "-", reduce `expr = expr, "+", factor => ActionFn(20);` - 127, // on "/", goto 126 + -39, // on "-", reduce `expr = expr, "+", factor => ActionFn(21);` + 137, // on "/", goto 136 0, // on ";", error 0, // on "=", error - 128, // on "^", goto 127 + 138, // on "^", goto 137 0, // on "abs", error 0, // on "connect", error 0, // on "constant", error @@ -10025,21 +11482,22 @@ mod __parse__model { 0, // on "output", error 0, // on "parameter", error 0, // on "stream", error + 0, // on "unit", 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 168 + // State 185 0, // on "(", error - -32, // on ")", reduce `expr = expr, "-", factor => ActionFn(21);` - 126, // on "*", goto 125 - -32, // on "+", reduce `expr = expr, "-", factor => ActionFn(21);` + -40, // on ")", reduce `expr = expr, "-", factor => ActionFn(22);` + 136, // on "*", goto 135 + -40, // on "+", reduce `expr = expr, "-", factor => ActionFn(22);` 0, // on ",", error - -32, // on "-", reduce `expr = expr, "-", factor => ActionFn(21);` - 127, // on "/", goto 126 + -40, // on "-", reduce `expr = expr, "-", factor => ActionFn(22);` + 137, // on "/", goto 136 0, // on ";", error 0, // on "=", error - 128, // on "^", goto 127 + 138, // on "^", goto 137 0, // on "abs", error 0, // on "connect", error 0, // on "constant", error @@ -10053,21 +11511,22 @@ mod __parse__model { 0, // on "output", error 0, // on "parameter", error 0, // on "stream", error + 0, // on "unit", 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 169 + // State 186 0, // on "(", error - -34, // on ")", reduce `factor = factor, "*", term => ActionFn(23);` - -34, // on "*", reduce `factor = factor, "*", term => ActionFn(23);` - -34, // on "+", reduce `factor = factor, "*", term => ActionFn(23);` + -42, // on ")", reduce `factor = factor, "*", term => ActionFn(24);` + -42, // on "*", reduce `factor = factor, "*", term => ActionFn(24);` + -42, // on "+", reduce `factor = factor, "*", term => ActionFn(24);` 0, // on ",", error - -34, // on "-", reduce `factor = factor, "*", term => ActionFn(23);` - -34, // on "/", reduce `factor = factor, "*", term => ActionFn(23);` + -42, // on "-", reduce `factor = factor, "*", term => ActionFn(24);` + -42, // on "/", reduce `factor = factor, "*", term => ActionFn(24);` 0, // on ";", error 0, // on "=", error - -34, // on "^", reduce `factor = factor, "*", term => ActionFn(23);` + -42, // on "^", reduce `factor = factor, "*", term => ActionFn(24);` 0, // on "abs", error 0, // on "connect", error 0, // on "constant", error @@ -10081,21 +11540,22 @@ mod __parse__model { 0, // on "output", error 0, // on "parameter", error 0, // on "stream", error + 0, // on "unit", 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 170 + // State 187 0, // on "(", error - -35, // on ")", reduce `factor = factor, "/", term => ActionFn(24);` - -35, // on "*", reduce `factor = factor, "/", term => ActionFn(24);` - -35, // on "+", reduce `factor = factor, "/", term => ActionFn(24);` + -43, // on ")", reduce `factor = factor, "/", term => ActionFn(25);` + -43, // on "*", reduce `factor = factor, "/", term => ActionFn(25);` + -43, // on "+", reduce `factor = factor, "/", term => ActionFn(25);` 0, // on ",", error - -35, // on "-", reduce `factor = factor, "/", term => ActionFn(24);` - -35, // on "/", reduce `factor = factor, "/", term => ActionFn(24);` + -43, // on "-", reduce `factor = factor, "/", term => ActionFn(25);` + -43, // on "/", reduce `factor = factor, "/", term => ActionFn(25);` 0, // on ";", error 0, // on "=", error - -35, // on "^", reduce `factor = factor, "/", term => ActionFn(24);` + -43, // on "^", reduce `factor = factor, "/", term => ActionFn(25);` 0, // on "abs", error 0, // on "connect", error 0, // on "constant", error @@ -10109,21 +11569,22 @@ mod __parse__model { 0, // on "output", error 0, // on "parameter", error 0, // on "stream", error + 0, // on "unit", 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 171 + // State 188 0, // on "(", error - -36, // on ")", reduce `factor = factor, "^", term => ActionFn(25);` - -36, // on "*", reduce `factor = factor, "^", term => ActionFn(25);` - -36, // on "+", reduce `factor = factor, "^", term => ActionFn(25);` + -44, // on ")", reduce `factor = factor, "^", term => ActionFn(26);` + -44, // on "*", reduce `factor = factor, "^", term => ActionFn(26);` + -44, // on "+", reduce `factor = factor, "^", term => ActionFn(26);` 0, // on ",", error - -36, // on "-", reduce `factor = factor, "^", term => ActionFn(25);` - -36, // on "/", reduce `factor = factor, "^", term => ActionFn(25);` + -44, // on "-", reduce `factor = factor, "^", term => ActionFn(26);` + -44, // on "/", reduce `factor = factor, "^", term => ActionFn(26);` 0, // on ";", error 0, // on "=", error - -36, // on "^", reduce `factor = factor, "^", term => ActionFn(25);` + -44, // on "^", reduce `factor = factor, "^", term => ActionFn(26);` 0, // on "abs", error 0, // on "connect", error 0, // on "constant", error @@ -10137,21 +11598,22 @@ mod __parse__model { 0, // on "output", error 0, // on "parameter", error 0, // on "stream", error + 0, // on "unit", 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 172 + // State 189 0, // on "(", error - -63, // on ")", reduce `term = "(", expr, ")" => ActionFn(33);` - -63, // on "*", reduce `term = "(", expr, ")" => ActionFn(33);` - -63, // on "+", reduce `term = "(", expr, ")" => ActionFn(33);` + -71, // on ")", reduce `term = "(", expr, ")" => ActionFn(34);` + -71, // on "*", reduce `term = "(", expr, ")" => ActionFn(34);` + -71, // on "+", reduce `term = "(", expr, ")" => ActionFn(34);` 0, // on ",", error - -63, // on "-", reduce `term = "(", expr, ")" => ActionFn(33);` - -63, // on "/", reduce `term = "(", expr, ")" => ActionFn(33);` + -71, // on "-", reduce `term = "(", expr, ")" => ActionFn(34);` + -71, // on "/", reduce `term = "(", expr, ")" => ActionFn(34);` 0, // on ";", error 0, // on "=", error - -63, // on "^", reduce `term = "(", expr, ")" => ActionFn(33);` + -71, // on "^", reduce `term = "(", expr, ")" => ActionFn(34);` 0, // on "abs", error 0, // on "connect", error 0, // on "constant", error @@ -10165,17 +11627,18 @@ mod __parse__model { 0, // on "output", error 0, // on "parameter", error 0, // on "stream", error + 0, // on "unit", 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 173 + // State 190 0, // on "(", error - 202, // on ")", goto 201 + 223, // on ")", goto 222 0, // on "*", error - 124, // on "+", goto 123 + 134, // on "+", goto 133 0, // on ",", error - 125, // on "-", goto 124 + 135, // on "-", goto 134 0, // on "/", error 0, // on ";", error 0, // on "=", error @@ -10193,17 +11656,18 @@ mod __parse__model { 0, // on "output", error 0, // on "parameter", error 0, // on "stream", error + 0, // on "unit", 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 174 + // State 191 0, // on "(", error - 203, // on ")", goto 202 + 224, // on ")", goto 223 0, // on "*", error - 124, // on "+", goto 123 + 134, // on "+", goto 133 0, // on ",", error - 125, // on "-", goto 124 + 135, // on "-", goto 134 0, // on "/", error 0, // on ";", error 0, // on "=", error @@ -10221,21 +11685,22 @@ mod __parse__model { 0, // on "output", error 0, // on "parameter", error 0, // on "stream", error + 0, // on "unit", 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 175 + // State 192 0, // on "(", error 0, // on ")", error - -62, // on "*", reduce `term = "abs", "(", expr, ")" => ActionFn(32);` - -62, // on "+", reduce `term = "abs", "(", expr, ")" => ActionFn(32);` + -70, // on "*", reduce `term = "abs", "(", expr, ")" => ActionFn(33);` + -70, // on "+", reduce `term = "abs", "(", expr, ")" => ActionFn(33);` 0, // on ",", error - -62, // on "-", reduce `term = "abs", "(", expr, ")" => ActionFn(32);` - -62, // on "/", reduce `term = "abs", "(", expr, ")" => ActionFn(32);` + -70, // on "-", reduce `term = "abs", "(", expr, ")" => ActionFn(33);` + -70, // on "/", reduce `term = "abs", "(", expr, ")" => ActionFn(33);` 0, // on ";", error - -62, // on "=", reduce `term = "abs", "(", expr, ")" => ActionFn(32);` - -62, // on "^", reduce `term = "abs", "(", expr, ")" => ActionFn(32);` + -70, // on "=", reduce `term = "abs", "(", expr, ")" => ActionFn(33);` + -70, // on "^", reduce `term = "abs", "(", expr, ")" => ActionFn(33);` 0, // on "abs", error 0, // on "connect", error 0, // on "constant", error @@ -10249,11 +11714,12 @@ mod __parse__model { 0, // on "output", error 0, // on "parameter", error 0, // on "stream", error + 0, // on "unit", 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 176 + // State 193 0, // on "(", error 0, // on ")", error 0, // on "*", error @@ -10277,21 +11743,22 @@ mod __parse__model { 0, // on "output", error 0, // on "parameter", error 0, // on "stream", error + 0, // on "unit", error 0, // on r#"\"[^\"\\\\]*\""#, error 0, // on r#"[+-]?\\d+"#, error 0, // on r#"[+-]?\\d+\\.\\d*([eE][-+]?\\d+)?"#, error - 205, // on r#"[a-zA-Z_][a-zA-Z_0-9]*"#, goto 204 - // State 177 + 226, // on r#"[a-zA-Z_][a-zA-Z_0-9]*"#, goto 225 + // State 194 0, // on "(", error 0, // on ")", error - -61, // on "*", reduce `term = "der", "(", expr, ")" => ActionFn(31);` - -61, // on "+", reduce `term = "der", "(", expr, ")" => ActionFn(31);` + -69, // on "*", reduce `term = "der", "(", expr, ")" => ActionFn(32);` + -69, // on "+", reduce `term = "der", "(", expr, ")" => ActionFn(32);` 0, // on ",", error - -61, // on "-", reduce `term = "der", "(", expr, ")" => ActionFn(31);` - -61, // on "/", reduce `term = "der", "(", expr, ")" => ActionFn(31);` + -69, // on "-", reduce `term = "der", "(", expr, ")" => ActionFn(32);` + -69, // on "/", reduce `term = "der", "(", expr, ")" => ActionFn(32);` 0, // on ";", error - -61, // on "=", reduce `term = "der", "(", expr, ")" => ActionFn(31);` - -61, // on "^", reduce `term = "der", "(", expr, ")" => ActionFn(31);` + -69, // on "=", reduce `term = "der", "(", expr, ")" => ActionFn(32);` + -69, // on "^", reduce `term = "der", "(", expr, ")" => ActionFn(32);` 0, // on "abs", error 0, // on "connect", error 0, // on "constant", error @@ -10305,11 +11772,12 @@ mod __parse__model { 0, // on "output", error 0, // on "parameter", error 0, // on "stream", error + 0, // on "unit", 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 178 + // State 195 0, // on "(", error 0, // on ")", error 0, // on "*", error @@ -10317,7 +11785,7 @@ mod __parse__model { 0, // on ",", error 0, // on "-", error 0, // on "/", error - 206, // on ";", goto 205 + 227, // on ";", goto 226 0, // on "=", error 0, // on "^", error 0, // on "abs", error @@ -10333,11 +11801,12 @@ mod __parse__model { 0, // on "output", error 0, // on "parameter", error 0, // on "stream", error + 0, // on "unit", 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 179 + // State 196 0, // on "(", error 0, // on ")", error 0, // on "*", error @@ -10361,11 +11830,12 @@ mod __parse__model { 0, // on "output", error 0, // on "parameter", error 0, // on "stream", error + 0, // on "unit", 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 180 + // State 197 0, // on "(", error 0, // on ")", error 0, // on "*", error @@ -10389,11 +11859,41 @@ mod __parse__model { 0, // on "output", error 0, // on "parameter", error 0, // on "stream", error + 0, // on "unit", 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 181 + // State 198 + 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 "^", error + 0, // on "abs", error + 0, // on "connect", error + -6, // on "constant", reduce `component_declaration = component_prefix, identifier, identifier, units_declaration, string_literal, ";" => ActionFn(84);` + 0, // on "der", error + -6, // on "discrete", reduce `component_declaration = component_prefix, identifier, identifier, units_declaration, string_literal, ";" => ActionFn(84);` + 0, // on "end", error + -6, // on "equation", reduce `component_declaration = component_prefix, identifier, identifier, units_declaration, string_literal, ";" => ActionFn(84);` + -6, // on "flow", reduce `component_declaration = component_prefix, identifier, identifier, units_declaration, string_literal, ";" => ActionFn(84);` + -6, // on "input", reduce `component_declaration = component_prefix, identifier, identifier, units_declaration, string_literal, ";" => ActionFn(84);` + 0, // on "model", error + -6, // on "output", reduce `component_declaration = component_prefix, identifier, identifier, units_declaration, string_literal, ";" => ActionFn(84);` + -6, // on "parameter", reduce `component_declaration = component_prefix, identifier, identifier, units_declaration, string_literal, ";" => ActionFn(84);` + -6, // on "stream", reduce `component_declaration = component_prefix, identifier, identifier, units_declaration, string_literal, ";" => ActionFn(84);` + 0, // on "unit", 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]*"#, reduce `component_declaration = component_prefix, identifier, identifier, units_declaration, string_literal, ";" => ActionFn(84);` + // State 199 0, // on "(", error 0, // on ")", error 0, // on "*", error @@ -10401,7 +11901,7 @@ mod __parse__model { 0, // on ",", error 0, // on "-", error 0, // on "/", error - 207, // on ";", goto 206 + 228, // on ";", goto 227 0, // on "=", error 0, // on "^", error 0, // on "abs", error @@ -10417,11 +11917,12 @@ mod __parse__model { 0, // on "output", error 0, // on "parameter", error 0, // on "stream", error + 0, // on "unit", 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 182 + // State 200 0, // on "(", error 0, // on ")", error 0, // on "*", error @@ -10434,22 +11935,23 @@ mod __parse__model { 0, // on "^", error 0, // on "abs", error 0, // on "connect", error - -10, // on "constant", reduce `component_declaration = component_prefix, identifier, identifier, "=", expr, ";" => ActionFn(73);` + -9, // on "constant", reduce `component_declaration = component_prefix, identifier, identifier, units_declaration, value_declaration, ";" => ActionFn(87);` 0, // on "der", error - -10, // on "discrete", reduce `component_declaration = component_prefix, identifier, identifier, "=", expr, ";" => ActionFn(73);` + -9, // on "discrete", reduce `component_declaration = component_prefix, identifier, identifier, units_declaration, value_declaration, ";" => ActionFn(87);` 0, // on "end", error - -10, // on "equation", reduce `component_declaration = component_prefix, identifier, identifier, "=", expr, ";" => ActionFn(73);` - -10, // on "flow", reduce `component_declaration = component_prefix, identifier, identifier, "=", expr, ";" => ActionFn(73);` - -10, // on "input", reduce `component_declaration = component_prefix, identifier, identifier, "=", expr, ";" => ActionFn(73);` + -9, // on "equation", reduce `component_declaration = component_prefix, identifier, identifier, units_declaration, value_declaration, ";" => ActionFn(87);` + -9, // on "flow", reduce `component_declaration = component_prefix, identifier, identifier, units_declaration, value_declaration, ";" => ActionFn(87);` + -9, // on "input", reduce `component_declaration = component_prefix, identifier, identifier, units_declaration, value_declaration, ";" => ActionFn(87);` 0, // on "model", error - -10, // on "output", reduce `component_declaration = component_prefix, identifier, identifier, "=", expr, ";" => ActionFn(73);` - -10, // on "parameter", reduce `component_declaration = component_prefix, identifier, identifier, "=", expr, ";" => ActionFn(73);` - -10, // on "stream", reduce `component_declaration = component_prefix, identifier, identifier, "=", expr, ";" => ActionFn(73);` + -9, // on "output", reduce `component_declaration = component_prefix, identifier, identifier, units_declaration, value_declaration, ";" => ActionFn(87);` + -9, // on "parameter", reduce `component_declaration = component_prefix, identifier, identifier, units_declaration, value_declaration, ";" => ActionFn(87);` + -9, // on "stream", reduce `component_declaration = component_prefix, identifier, identifier, units_declaration, value_declaration, ";" => ActionFn(87);` + 0, // on "unit", error 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 = component_prefix, identifier, identifier, "=", expr, ";" => ActionFn(73);` - // State 183 + -9, // on r#"[a-zA-Z_][a-zA-Z_0-9]*"#, reduce `component_declaration = component_prefix, identifier, identifier, units_declaration, value_declaration, ";" => ActionFn(87);` + // State 201 0, // on "(", error 0, // on ")", error 0, // on "*", error @@ -10462,32 +11964,62 @@ mod __parse__model { 0, // on "^", error 0, // on "abs", error 0, // on "connect", error - -11, // on "constant", reduce `component_declaration = identifier, identifier, "=", expr, string_literal, ";" => ActionFn(74);` + -7, // on "constant", reduce `component_declaration = component_prefix, identifier, identifier, value_declaration, string_literal, ";" => ActionFn(85);` 0, // on "der", error - -11, // on "discrete", reduce `component_declaration = identifier, identifier, "=", expr, string_literal, ";" => ActionFn(74);` + -7, // on "discrete", reduce `component_declaration = component_prefix, identifier, identifier, value_declaration, string_literal, ";" => ActionFn(85);` 0, // on "end", error - -11, // on "equation", reduce `component_declaration = identifier, identifier, "=", expr, string_literal, ";" => ActionFn(74);` - -11, // on "flow", reduce `component_declaration = identifier, identifier, "=", expr, string_literal, ";" => ActionFn(74);` - -11, // on "input", reduce `component_declaration = identifier, identifier, "=", expr, string_literal, ";" => ActionFn(74);` + -7, // on "equation", reduce `component_declaration = component_prefix, identifier, identifier, value_declaration, string_literal, ";" => ActionFn(85);` + -7, // on "flow", reduce `component_declaration = component_prefix, identifier, identifier, value_declaration, string_literal, ";" => ActionFn(85);` + -7, // on "input", reduce `component_declaration = component_prefix, identifier, identifier, value_declaration, string_literal, ";" => ActionFn(85);` 0, // on "model", error - -11, // on "output", reduce `component_declaration = identifier, identifier, "=", expr, string_literal, ";" => ActionFn(74);` - -11, // on "parameter", reduce `component_declaration = identifier, identifier, "=", expr, string_literal, ";" => ActionFn(74);` - -11, // on "stream", reduce `component_declaration = identifier, identifier, "=", expr, string_literal, ";" => ActionFn(74);` + -7, // on "output", reduce `component_declaration = component_prefix, identifier, identifier, value_declaration, string_literal, ";" => ActionFn(85);` + -7, // on "parameter", reduce `component_declaration = component_prefix, identifier, identifier, value_declaration, string_literal, ";" => ActionFn(85);` + -7, // on "stream", reduce `component_declaration = component_prefix, identifier, identifier, value_declaration, string_literal, ";" => ActionFn(85);` + 0, // on "unit", error 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, "=", expr, string_literal, ";" => ActionFn(74);` - // State 184 + -7, // on r#"[a-zA-Z_][a-zA-Z_0-9]*"#, reduce `component_declaration = component_prefix, identifier, identifier, value_declaration, string_literal, ";" => ActionFn(85);` + // State 202 0, // on "(", error 0, // on ")", error - 148, // on "*", goto 147 - -31, // on "+", reduce `expr = expr, "+", factor => ActionFn(20);` + 0, // on "*", error + 0, // on "+", error 0, // on ",", error - -31, // on "-", reduce `expr = expr, "+", factor => ActionFn(20);` - 149, // on "/", goto 148 - -31, // on ";", reduce `expr = expr, "+", factor => ActionFn(20);` + 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 + -13, // on "constant", reduce `component_declaration = identifier, identifier, units_declaration, value_declaration, string_literal, ";" => ActionFn(91);` + 0, // on "der", error + -13, // on "discrete", reduce `component_declaration = identifier, identifier, units_declaration, value_declaration, string_literal, ";" => ActionFn(91);` + 0, // on "end", error + -13, // on "equation", reduce `component_declaration = identifier, identifier, units_declaration, value_declaration, string_literal, ";" => ActionFn(91);` + -13, // on "flow", reduce `component_declaration = identifier, identifier, units_declaration, value_declaration, string_literal, ";" => ActionFn(91);` + -13, // on "input", reduce `component_declaration = identifier, identifier, units_declaration, value_declaration, string_literal, ";" => ActionFn(91);` + 0, // on "model", error + -13, // on "output", reduce `component_declaration = identifier, identifier, units_declaration, value_declaration, string_literal, ";" => ActionFn(91);` + -13, // on "parameter", reduce `component_declaration = identifier, identifier, units_declaration, value_declaration, string_literal, ";" => ActionFn(91);` + -13, // on "stream", reduce `component_declaration = identifier, identifier, units_declaration, value_declaration, string_literal, ";" => ActionFn(91);` + 0, // on "unit", error + 0, // on r#"\"[^\"\\\\]*\""#, error + 0, // on r#"[+-]?\\d+"#, error + 0, // on r#"[+-]?\\d+\\.\\d*([eE][-+]?\\d+)?"#, error + -13, // on r#"[a-zA-Z_][a-zA-Z_0-9]*"#, reduce `component_declaration = identifier, identifier, units_declaration, value_declaration, string_literal, ";" => ActionFn(91);` + // State 203 + 0, // on "(", error + 229, // on ")", goto 228 + 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 @@ -10501,21 +12033,51 @@ mod __parse__model { 0, // on "output", error 0, // on "parameter", error 0, // on "stream", error - -31, // on r#"\"[^\"\\\\]*\""#, reduce `expr = expr, "+", factor => ActionFn(20);` + 0, // on "unit", 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 185 + // State 204 + 0, // on "(", error + -63, // on ")", reduce `string_literal = r#"\"[^\"\\\\]*\""# => ActionFn(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 "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 "unit", 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 205 0, // on "(", error 0, // on ")", error - 148, // on "*", goto 147 - -32, // on "+", reduce `expr = expr, "-", factor => ActionFn(21);` + 165, // on "*", goto 164 + -39, // on "+", reduce `expr = expr, "+", factor => ActionFn(21);` 0, // on ",", error - -32, // on "-", reduce `expr = expr, "-", factor => ActionFn(21);` - 149, // on "/", goto 148 - -32, // on ";", reduce `expr = expr, "-", factor => ActionFn(21);` + -39, // on "-", reduce `expr = expr, "+", factor => ActionFn(21);` + 166, // on "/", goto 165 + -39, // on ";", reduce `expr = expr, "+", factor => ActionFn(21);` 0, // on "=", error - 150, // on "^", goto 149 + 167, // on "^", goto 166 0, // on "abs", error 0, // on "connect", error 0, // on "constant", error @@ -10529,21 +12091,22 @@ mod __parse__model { 0, // on "output", error 0, // on "parameter", error 0, // on "stream", error - -32, // on r#"\"[^\"\\\\]*\""#, reduce `expr = expr, "-", factor => ActionFn(21);` + 0, // on "unit", error + -39, // on r#"\"[^\"\\\\]*\""#, reduce `expr = expr, "+", factor => ActionFn(21);` 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 186 + // State 206 0, // on "(", error 0, // on ")", error - -34, // on "*", reduce `factor = factor, "*", term => ActionFn(23);` - -34, // on "+", reduce `factor = factor, "*", term => ActionFn(23);` + 165, // on "*", goto 164 + -40, // on "+", reduce `expr = expr, "-", factor => ActionFn(22);` 0, // on ",", error - -34, // on "-", reduce `factor = factor, "*", term => ActionFn(23);` - -34, // on "/", reduce `factor = factor, "*", term => ActionFn(23);` - -34, // on ";", reduce `factor = factor, "*", term => ActionFn(23);` + -40, // on "-", reduce `expr = expr, "-", factor => ActionFn(22);` + 166, // on "/", goto 165 + -40, // on ";", reduce `expr = expr, "-", factor => ActionFn(22);` 0, // on "=", error - -34, // on "^", reduce `factor = factor, "*", term => ActionFn(23);` + 167, // on "^", goto 166 0, // on "abs", error 0, // on "connect", error 0, // on "constant", error @@ -10557,21 +12120,22 @@ mod __parse__model { 0, // on "output", error 0, // on "parameter", error 0, // on "stream", error - -34, // on r#"\"[^\"\\\\]*\""#, reduce `factor = factor, "*", term => ActionFn(23);` + 0, // on "unit", error + -40, // on r#"\"[^\"\\\\]*\""#, reduce `expr = expr, "-", factor => ActionFn(22);` 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 187 + // State 207 0, // on "(", error 0, // on ")", error - -35, // on "*", reduce `factor = factor, "/", term => ActionFn(24);` - -35, // on "+", reduce `factor = factor, "/", term => ActionFn(24);` + -42, // on "*", reduce `factor = factor, "*", term => ActionFn(24);` + -42, // on "+", reduce `factor = factor, "*", term => ActionFn(24);` 0, // on ",", error - -35, // on "-", reduce `factor = factor, "/", term => ActionFn(24);` - -35, // on "/", reduce `factor = factor, "/", term => ActionFn(24);` - -35, // on ";", reduce `factor = factor, "/", term => ActionFn(24);` + -42, // on "-", reduce `factor = factor, "*", term => ActionFn(24);` + -42, // on "/", reduce `factor = factor, "*", term => ActionFn(24);` + -42, // on ";", reduce `factor = factor, "*", term => ActionFn(24);` 0, // on "=", error - -35, // on "^", reduce `factor = factor, "/", term => ActionFn(24);` + -42, // on "^", reduce `factor = factor, "*", term => ActionFn(24);` 0, // on "abs", error 0, // on "connect", error 0, // on "constant", error @@ -10585,21 +12149,22 @@ mod __parse__model { 0, // on "output", error 0, // on "parameter", error 0, // on "stream", error - -35, // on r#"\"[^\"\\\\]*\""#, reduce `factor = factor, "/", term => ActionFn(24);` + 0, // on "unit", error + -42, // on r#"\"[^\"\\\\]*\""#, reduce `factor = factor, "*", term => ActionFn(24);` 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 188 + // State 208 0, // on "(", error 0, // on ")", error - -36, // on "*", reduce `factor = factor, "^", term => ActionFn(25);` - -36, // on "+", reduce `factor = factor, "^", term => ActionFn(25);` + -43, // on "*", reduce `factor = factor, "/", term => ActionFn(25);` + -43, // on "+", reduce `factor = factor, "/", term => ActionFn(25);` 0, // on ",", error - -36, // on "-", reduce `factor = factor, "^", term => ActionFn(25);` - -36, // on "/", reduce `factor = factor, "^", term => ActionFn(25);` - -36, // on ";", reduce `factor = factor, "^", term => ActionFn(25);` + -43, // on "-", reduce `factor = factor, "/", term => ActionFn(25);` + -43, // on "/", reduce `factor = factor, "/", term => ActionFn(25);` + -43, // on ";", reduce `factor = factor, "/", term => ActionFn(25);` 0, // on "=", error - -36, // on "^", reduce `factor = factor, "^", term => ActionFn(25);` + -43, // on "^", reduce `factor = factor, "/", term => ActionFn(25);` 0, // on "abs", error 0, // on "connect", error 0, // on "constant", error @@ -10613,21 +12178,22 @@ mod __parse__model { 0, // on "output", error 0, // on "parameter", error 0, // on "stream", error - -36, // on r#"\"[^\"\\\\]*\""#, reduce `factor = factor, "^", term => ActionFn(25);` + 0, // on "unit", error + -43, // on r#"\"[^\"\\\\]*\""#, reduce `factor = factor, "/", term => ActionFn(25);` 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 189 + // State 209 0, // on "(", error 0, // on ")", error - -63, // on "*", reduce `term = "(", expr, ")" => ActionFn(33);` - -63, // on "+", reduce `term = "(", expr, ")" => ActionFn(33);` + -44, // on "*", reduce `factor = factor, "^", term => ActionFn(26);` + -44, // on "+", reduce `factor = factor, "^", term => ActionFn(26);` 0, // on ",", error - -63, // on "-", reduce `term = "(", expr, ")" => ActionFn(33);` - -63, // on "/", reduce `term = "(", expr, ")" => ActionFn(33);` - -63, // on ";", reduce `term = "(", expr, ")" => ActionFn(33);` + -44, // on "-", reduce `factor = factor, "^", term => ActionFn(26);` + -44, // on "/", reduce `factor = factor, "^", term => ActionFn(26);` + -44, // on ";", reduce `factor = factor, "^", term => ActionFn(26);` 0, // on "=", error - -63, // on "^", reduce `term = "(", expr, ")" => ActionFn(33);` + -44, // on "^", reduce `factor = factor, "^", term => ActionFn(26);` 0, // on "abs", error 0, // on "connect", error 0, // on "constant", error @@ -10641,17 +12207,47 @@ mod __parse__model { 0, // on "output", error 0, // on "parameter", error 0, // on "stream", error - -63, // on r#"\"[^\"\\\\]*\""#, reduce `term = "(", expr, ")" => ActionFn(33);` + 0, // on "unit", error + -44, // on r#"\"[^\"\\\\]*\""#, reduce `factor = factor, "^", term => ActionFn(26);` 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 190 + // State 210 + 0, // on "(", error + 0, // on ")", error + -71, // on "*", reduce `term = "(", expr, ")" => ActionFn(34);` + -71, // on "+", reduce `term = "(", expr, ")" => ActionFn(34);` + 0, // on ",", error + -71, // on "-", reduce `term = "(", expr, ")" => ActionFn(34);` + -71, // on "/", reduce `term = "(", expr, ")" => ActionFn(34);` + -71, // on ";", reduce `term = "(", expr, ")" => ActionFn(34);` + 0, // on "=", error + -71, // on "^", reduce `term = "(", expr, ")" => ActionFn(34);` + 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 "unit", error + -71, // on r#"\"[^\"\\\\]*\""#, reduce `term = "(", expr, ")" => ActionFn(34);` + 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 211 0, // on "(", error - 208, // on ")", goto 207 + 230, // on ")", goto 229 0, // on "*", error - 124, // on "+", goto 123 + 134, // on "+", goto 133 0, // on ",", error - 125, // on "-", goto 124 + 135, // on "-", goto 134 0, // on "/", error 0, // on ";", error 0, // on "=", error @@ -10669,17 +12265,18 @@ mod __parse__model { 0, // on "output", error 0, // on "parameter", error 0, // on "stream", error + 0, // on "unit", 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 191 + // State 212 0, // on "(", error - 209, // on ")", goto 208 + 231, // on ")", goto 230 0, // on "*", error - 124, // on "+", goto 123 + 134, // on "+", goto 133 0, // on ",", error - 125, // on "-", goto 124 + 135, // on "-", goto 134 0, // on "/", error 0, // on ";", error 0, // on "=", error @@ -10697,11 +12294,12 @@ mod __parse__model { 0, // on "output", error 0, // on "parameter", error 0, // on "stream", error + 0, // on "unit", 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 192 + // State 213 0, // on "(", error 0, // on ")", error 0, // on "*", error @@ -10725,21 +12323,22 @@ mod __parse__model { 0, // on "output", error 0, // on "parameter", error 0, // on "stream", error + 0, // on "unit", 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 193 + // State 214 0, // on "(", error 0, // on ")", error - 160, // on "*", goto 159 - -31, // on "+", reduce `expr = expr, "+", factor => ActionFn(20);` + 177, // on "*", goto 176 + -39, // on "+", reduce `expr = expr, "+", factor => ActionFn(21);` 0, // on ",", error - -31, // on "-", reduce `expr = expr, "+", factor => ActionFn(20);` - 161, // on "/", goto 160 - -31, // on ";", reduce `expr = expr, "+", factor => ActionFn(20);` + -39, // on "-", reduce `expr = expr, "+", factor => ActionFn(21);` + 178, // on "/", goto 177 + -39, // on ";", reduce `expr = expr, "+", factor => ActionFn(21);` 0, // on "=", error - 162, // on "^", goto 161 + 179, // on "^", goto 178 0, // on "abs", error 0, // on "connect", error 0, // on "constant", error @@ -10753,21 +12352,22 @@ mod __parse__model { 0, // on "output", error 0, // on "parameter", error 0, // on "stream", error + 0, // on "unit", 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 194 + // State 215 0, // on "(", error 0, // on ")", error - 160, // on "*", goto 159 - -32, // on "+", reduce `expr = expr, "-", factor => ActionFn(21);` + 177, // on "*", goto 176 + -40, // on "+", reduce `expr = expr, "-", factor => ActionFn(22);` 0, // on ",", error - -32, // on "-", reduce `expr = expr, "-", factor => ActionFn(21);` - 161, // on "/", goto 160 - -32, // on ";", reduce `expr = expr, "-", factor => ActionFn(21);` + -40, // on "-", reduce `expr = expr, "-", factor => ActionFn(22);` + 178, // on "/", goto 177 + -40, // on ";", reduce `expr = expr, "-", factor => ActionFn(22);` 0, // on "=", error - 162, // on "^", goto 161 + 179, // on "^", goto 178 0, // on "abs", error 0, // on "connect", error 0, // on "constant", error @@ -10781,21 +12381,22 @@ mod __parse__model { 0, // on "output", error 0, // on "parameter", error 0, // on "stream", error + 0, // on "unit", 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 195 + // State 216 0, // on "(", error 0, // on ")", error - -34, // on "*", reduce `factor = factor, "*", term => ActionFn(23);` - -34, // on "+", reduce `factor = factor, "*", term => ActionFn(23);` + -42, // on "*", reduce `factor = factor, "*", term => ActionFn(24);` + -42, // on "+", reduce `factor = factor, "*", term => ActionFn(24);` 0, // on ",", error - -34, // on "-", reduce `factor = factor, "*", term => ActionFn(23);` - -34, // on "/", reduce `factor = factor, "*", term => ActionFn(23);` - -34, // on ";", reduce `factor = factor, "*", term => ActionFn(23);` + -42, // on "-", reduce `factor = factor, "*", term => ActionFn(24);` + -42, // on "/", reduce `factor = factor, "*", term => ActionFn(24);` + -42, // on ";", reduce `factor = factor, "*", term => ActionFn(24);` 0, // on "=", error - -34, // on "^", reduce `factor = factor, "*", term => ActionFn(23);` + -42, // on "^", reduce `factor = factor, "*", term => ActionFn(24);` 0, // on "abs", error 0, // on "connect", error 0, // on "constant", error @@ -10809,21 +12410,22 @@ mod __parse__model { 0, // on "output", error 0, // on "parameter", error 0, // on "stream", error + 0, // on "unit", 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 196 + // State 217 0, // on "(", error 0, // on ")", error - -35, // on "*", reduce `factor = factor, "/", term => ActionFn(24);` - -35, // on "+", reduce `factor = factor, "/", term => ActionFn(24);` + -43, // on "*", reduce `factor = factor, "/", term => ActionFn(25);` + -43, // on "+", reduce `factor = factor, "/", term => ActionFn(25);` 0, // on ",", error - -35, // on "-", reduce `factor = factor, "/", term => ActionFn(24);` - -35, // on "/", reduce `factor = factor, "/", term => ActionFn(24);` - -35, // on ";", reduce `factor = factor, "/", term => ActionFn(24);` + -43, // on "-", reduce `factor = factor, "/", term => ActionFn(25);` + -43, // on "/", reduce `factor = factor, "/", term => ActionFn(25);` + -43, // on ";", reduce `factor = factor, "/", term => ActionFn(25);` 0, // on "=", error - -35, // on "^", reduce `factor = factor, "/", term => ActionFn(24);` + -43, // on "^", reduce `factor = factor, "/", term => ActionFn(25);` 0, // on "abs", error 0, // on "connect", error 0, // on "constant", error @@ -10837,21 +12439,22 @@ mod __parse__model { 0, // on "output", error 0, // on "parameter", error 0, // on "stream", error + 0, // on "unit", 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 197 + // State 218 0, // on "(", error 0, // on ")", error - -36, // on "*", reduce `factor = factor, "^", term => ActionFn(25);` - -36, // on "+", reduce `factor = factor, "^", term => ActionFn(25);` + -44, // on "*", reduce `factor = factor, "^", term => ActionFn(26);` + -44, // on "+", reduce `factor = factor, "^", term => ActionFn(26);` 0, // on ",", error - -36, // on "-", reduce `factor = factor, "^", term => ActionFn(25);` - -36, // on "/", reduce `factor = factor, "^", term => ActionFn(25);` - -36, // on ";", reduce `factor = factor, "^", term => ActionFn(25);` + -44, // on "-", reduce `factor = factor, "^", term => ActionFn(26);` + -44, // on "/", reduce `factor = factor, "^", term => ActionFn(26);` + -44, // on ";", reduce `factor = factor, "^", term => ActionFn(26);` 0, // on "=", error - -36, // on "^", reduce `factor = factor, "^", term => ActionFn(25);` + -44, // on "^", reduce `factor = factor, "^", term => ActionFn(26);` 0, // on "abs", error 0, // on "connect", error 0, // on "constant", error @@ -10865,21 +12468,22 @@ mod __parse__model { 0, // on "output", error 0, // on "parameter", error 0, // on "stream", error + 0, // on "unit", 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 198 + // State 219 0, // on "(", error 0, // on ")", error - -63, // on "*", reduce `term = "(", expr, ")" => ActionFn(33);` - -63, // on "+", reduce `term = "(", expr, ")" => ActionFn(33);` + -71, // on "*", reduce `term = "(", expr, ")" => ActionFn(34);` + -71, // on "+", reduce `term = "(", expr, ")" => ActionFn(34);` 0, // on ",", error - -63, // on "-", reduce `term = "(", expr, ")" => ActionFn(33);` - -63, // on "/", reduce `term = "(", expr, ")" => ActionFn(33);` - -63, // on ";", reduce `term = "(", expr, ")" => ActionFn(33);` + -71, // on "-", reduce `term = "(", expr, ")" => ActionFn(34);` + -71, // on "/", reduce `term = "(", expr, ")" => ActionFn(34);` + -71, // on ";", reduce `term = "(", expr, ")" => ActionFn(34);` 0, // on "=", error - -63, // on "^", reduce `term = "(", expr, ")" => ActionFn(33);` + -71, // on "^", reduce `term = "(", expr, ")" => ActionFn(34);` 0, // on "abs", error 0, // on "connect", error 0, // on "constant", error @@ -10893,17 +12497,18 @@ mod __parse__model { 0, // on "output", error 0, // on "parameter", error 0, // on "stream", error + 0, // on "unit", 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 199 + // State 220 0, // on "(", error - 210, // on ")", goto 209 + 232, // on ")", goto 231 0, // on "*", error - 124, // on "+", goto 123 + 134, // on "+", goto 133 0, // on ",", error - 125, // on "-", goto 124 + 135, // on "-", goto 134 0, // on "/", error 0, // on ";", error 0, // on "=", error @@ -10921,17 +12526,18 @@ mod __parse__model { 0, // on "output", error 0, // on "parameter", error 0, // on "stream", error + 0, // on "unit", 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 200 + // State 221 0, // on "(", error - 211, // on ")", goto 210 + 233, // on ")", goto 232 0, // on "*", error - 124, // on "+", goto 123 + 134, // on "+", goto 133 0, // on ",", error - 125, // on "-", goto 124 + 135, // on "-", goto 134 0, // on "/", error 0, // on ";", error 0, // on "=", error @@ -10949,21 +12555,22 @@ mod __parse__model { 0, // on "output", error 0, // on "parameter", error 0, // on "stream", error + 0, // on "unit", 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 201 + // State 222 0, // on "(", error - -62, // on ")", reduce `term = "abs", "(", expr, ")" => ActionFn(32);` - -62, // on "*", reduce `term = "abs", "(", expr, ")" => ActionFn(32);` - -62, // on "+", reduce `term = "abs", "(", expr, ")" => ActionFn(32);` + -70, // on ")", reduce `term = "abs", "(", expr, ")" => ActionFn(33);` + -70, // on "*", reduce `term = "abs", "(", expr, ")" => ActionFn(33);` + -70, // on "+", reduce `term = "abs", "(", expr, ")" => ActionFn(33);` 0, // on ",", error - -62, // on "-", reduce `term = "abs", "(", expr, ")" => ActionFn(32);` - -62, // on "/", reduce `term = "abs", "(", expr, ")" => ActionFn(32);` + -70, // on "-", reduce `term = "abs", "(", expr, ")" => ActionFn(33);` + -70, // on "/", reduce `term = "abs", "(", expr, ")" => ActionFn(33);` 0, // on ";", error 0, // on "=", error - -62, // on "^", reduce `term = "abs", "(", expr, ")" => ActionFn(32);` + -70, // on "^", reduce `term = "abs", "(", expr, ")" => ActionFn(33);` 0, // on "abs", error 0, // on "connect", error 0, // on "constant", error @@ -10977,21 +12584,22 @@ mod __parse__model { 0, // on "output", error 0, // on "parameter", error 0, // on "stream", error + 0, // on "unit", 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 202 + // State 223 0, // on "(", error - -61, // on ")", reduce `term = "der", "(", expr, ")" => ActionFn(31);` - -61, // on "*", reduce `term = "der", "(", expr, ")" => ActionFn(31);` - -61, // on "+", reduce `term = "der", "(", expr, ")" => ActionFn(31);` + -69, // on ")", reduce `term = "der", "(", expr, ")" => ActionFn(32);` + -69, // on "*", reduce `term = "der", "(", expr, ")" => ActionFn(32);` + -69, // on "+", reduce `term = "der", "(", expr, ")" => ActionFn(32);` 0, // on ",", error - -61, // on "-", reduce `term = "der", "(", expr, ")" => ActionFn(31);` - -61, // on "/", reduce `term = "der", "(", expr, ")" => ActionFn(31);` + -69, // on "-", reduce `term = "der", "(", expr, ")" => ActionFn(32);` + -69, // on "/", reduce `term = "der", "(", expr, ")" => ActionFn(32);` 0, // on ";", error 0, // on "=", error - -61, // on "^", reduce `term = "der", "(", expr, ")" => ActionFn(31);` + -69, // on "^", reduce `term = "der", "(", expr, ")" => ActionFn(32);` 0, // on "abs", error 0, // on "connect", error 0, // on "constant", error @@ -11005,13 +12613,14 @@ mod __parse__model { 0, // on "output", error 0, // on "parameter", error 0, // on "stream", error + 0, // on "unit", 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 203 + // State 224 0, // on "(", error - 212, // on ")", goto 211 + 234, // on ")", goto 233 0, // on "*", error 0, // on "+", error 0, // on ",", error @@ -11033,13 +12642,14 @@ mod __parse__model { 0, // on "output", error 0, // on "parameter", error 0, // on "stream", error + 0, // on "unit", 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 204 + // State 225 0, // on "(", error - -40, // on ")", reduce `identifier = r#"[a-zA-Z_][a-zA-Z_0-9]*"# => ActionFn(4);` + -48, // on ")", reduce `identifier = r#"[a-zA-Z_][a-zA-Z_0-9]*"# => ActionFn(4);` 0, // on "*", error 0, // on "+", error 0, // on ",", error @@ -11061,11 +12671,12 @@ mod __parse__model { 0, // on "output", error 0, // on "parameter", error 0, // on "stream", error + 0, // on "unit", 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 205 + // State 226 0, // on "(", error 0, // on ")", error 0, // on "*", error @@ -11089,11 +12700,12 @@ mod __parse__model { 0, // on "output", error 0, // on "parameter", error 0, // on "stream", error + 0, // on "unit", 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 206 + // State 227 0, // on "(", error 0, // on ")", error 0, // on "*", error @@ -11106,32 +12718,62 @@ mod __parse__model { 0, // on "^", error 0, // on "abs", error 0, // on "connect", error - -9, // on "constant", reduce `component_declaration = component_prefix, identifier, identifier, "=", expr, string_literal, ";" => ActionFn(72);` + -5, // on "constant", reduce `component_declaration = component_prefix, identifier, identifier, units_declaration, value_declaration, string_literal, ";" => ActionFn(83);` 0, // on "der", error - -9, // on "discrete", reduce `component_declaration = component_prefix, identifier, identifier, "=", expr, string_literal, ";" => ActionFn(72);` + -5, // on "discrete", reduce `component_declaration = component_prefix, identifier, identifier, units_declaration, value_declaration, string_literal, ";" => ActionFn(83);` 0, // on "end", error - -9, // on "equation", reduce `component_declaration = component_prefix, identifier, identifier, "=", expr, string_literal, ";" => ActionFn(72);` - -9, // on "flow", reduce `component_declaration = component_prefix, identifier, identifier, "=", expr, string_literal, ";" => ActionFn(72);` - -9, // on "input", reduce `component_declaration = component_prefix, identifier, identifier, "=", expr, string_literal, ";" => ActionFn(72);` + -5, // on "equation", reduce `component_declaration = component_prefix, identifier, identifier, units_declaration, value_declaration, string_literal, ";" => ActionFn(83);` + -5, // on "flow", reduce `component_declaration = component_prefix, identifier, identifier, units_declaration, value_declaration, string_literal, ";" => ActionFn(83);` + -5, // on "input", reduce `component_declaration = component_prefix, identifier, identifier, units_declaration, value_declaration, string_literal, ";" => ActionFn(83);` 0, // on "model", error - -9, // on "output", reduce `component_declaration = component_prefix, identifier, identifier, "=", expr, string_literal, ";" => ActionFn(72);` - -9, // on "parameter", reduce `component_declaration = component_prefix, identifier, identifier, "=", expr, string_literal, ";" => ActionFn(72);` - -9, // on "stream", reduce `component_declaration = component_prefix, identifier, identifier, "=", expr, string_literal, ";" => ActionFn(72);` + -5, // on "output", reduce `component_declaration = component_prefix, identifier, identifier, units_declaration, value_declaration, string_literal, ";" => ActionFn(83);` + -5, // on "parameter", reduce `component_declaration = component_prefix, identifier, identifier, units_declaration, value_declaration, string_literal, ";" => ActionFn(83);` + -5, // on "stream", reduce `component_declaration = component_prefix, identifier, identifier, units_declaration, value_declaration, string_literal, ";" => ActionFn(83);` + 0, // on "unit", error 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, "=", expr, string_literal, ";" => ActionFn(72);` - // State 207 + -5, // on r#"[a-zA-Z_][a-zA-Z_0-9]*"#, reduce `component_declaration = component_prefix, identifier, identifier, units_declaration, value_declaration, string_literal, ";" => ActionFn(83);` + // State 228 0, // on "(", error 0, // on ")", error - -62, // on "*", reduce `term = "abs", "(", expr, ")" => ActionFn(32);` - -62, // on "+", reduce `term = "abs", "(", expr, ")" => ActionFn(32);` + 0, // on "*", error + 0, // on "+", error 0, // on ",", error - -62, // on "-", reduce `term = "abs", "(", expr, ")" => ActionFn(32);` - -62, // on "/", reduce `term = "abs", "(", expr, ")" => ActionFn(32);` - -62, // on ";", reduce `term = "abs", "(", expr, ")" => ActionFn(32);` + 0, // on "-", error + 0, // on "/", error + -72, // on ";", reduce `units_declaration = "(", "unit", "=", string_literal, ")" => ActionFn(10);` + -72, // on "=", reduce `units_declaration = "(", "unit", "=", string_literal, ")" => ActionFn(10);` + 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 "unit", error + -72, // on r#"\"[^\"\\\\]*\""#, reduce `units_declaration = "(", "unit", "=", string_literal, ")" => ActionFn(10);` + 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 229 + 0, // on "(", error + 0, // on ")", error + -70, // on "*", reduce `term = "abs", "(", expr, ")" => ActionFn(33);` + -70, // on "+", reduce `term = "abs", "(", expr, ")" => ActionFn(33);` + 0, // on ",", error + -70, // on "-", reduce `term = "abs", "(", expr, ")" => ActionFn(33);` + -70, // on "/", reduce `term = "abs", "(", expr, ")" => ActionFn(33);` + -70, // on ";", reduce `term = "abs", "(", expr, ")" => ActionFn(33);` 0, // on "=", error - -62, // on "^", reduce `term = "abs", "(", expr, ")" => ActionFn(32);` + -70, // on "^", reduce `term = "abs", "(", expr, ")" => ActionFn(33);` 0, // on "abs", error 0, // on "connect", error 0, // on "constant", error @@ -11145,21 +12787,22 @@ mod __parse__model { 0, // on "output", error 0, // on "parameter", error 0, // on "stream", error - -62, // on r#"\"[^\"\\\\]*\""#, reduce `term = "abs", "(", expr, ")" => ActionFn(32);` + 0, // on "unit", error + -70, // on r#"\"[^\"\\\\]*\""#, reduce `term = "abs", "(", expr, ")" => ActionFn(33);` 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 208 + // State 230 0, // on "(", error 0, // on ")", error - -61, // on "*", reduce `term = "der", "(", expr, ")" => ActionFn(31);` - -61, // on "+", reduce `term = "der", "(", expr, ")" => ActionFn(31);` + -69, // on "*", reduce `term = "der", "(", expr, ")" => ActionFn(32);` + -69, // on "+", reduce `term = "der", "(", expr, ")" => ActionFn(32);` 0, // on ",", error - -61, // on "-", reduce `term = "der", "(", expr, ")" => ActionFn(31);` - -61, // on "/", reduce `term = "der", "(", expr, ")" => ActionFn(31);` - -61, // on ";", reduce `term = "der", "(", expr, ")" => ActionFn(31);` + -69, // on "-", reduce `term = "der", "(", expr, ")" => ActionFn(32);` + -69, // on "/", reduce `term = "der", "(", expr, ")" => ActionFn(32);` + -69, // on ";", reduce `term = "der", "(", expr, ")" => ActionFn(32);` 0, // on "=", error - -61, // on "^", reduce `term = "der", "(", expr, ")" => ActionFn(31);` + -69, // on "^", reduce `term = "der", "(", expr, ")" => ActionFn(32);` 0, // on "abs", error 0, // on "connect", error 0, // on "constant", error @@ -11173,21 +12816,22 @@ mod __parse__model { 0, // on "output", error 0, // on "parameter", error 0, // on "stream", error - -61, // on r#"\"[^\"\\\\]*\""#, reduce `term = "der", "(", expr, ")" => ActionFn(31);` + 0, // on "unit", error + -69, // on r#"\"[^\"\\\\]*\""#, reduce `term = "der", "(", expr, ")" => ActionFn(32);` 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 209 + // State 231 0, // on "(", error 0, // on ")", error - -62, // on "*", reduce `term = "abs", "(", expr, ")" => ActionFn(32);` - -62, // on "+", reduce `term = "abs", "(", expr, ")" => ActionFn(32);` + -70, // on "*", reduce `term = "abs", "(", expr, ")" => ActionFn(33);` + -70, // on "+", reduce `term = "abs", "(", expr, ")" => ActionFn(33);` 0, // on ",", error - -62, // on "-", reduce `term = "abs", "(", expr, ")" => ActionFn(32);` - -62, // on "/", reduce `term = "abs", "(", expr, ")" => ActionFn(32);` - -62, // on ";", reduce `term = "abs", "(", expr, ")" => ActionFn(32);` + -70, // on "-", reduce `term = "abs", "(", expr, ")" => ActionFn(33);` + -70, // on "/", reduce `term = "abs", "(", expr, ")" => ActionFn(33);` + -70, // on ";", reduce `term = "abs", "(", expr, ")" => ActionFn(33);` 0, // on "=", error - -62, // on "^", reduce `term = "abs", "(", expr, ")" => ActionFn(32);` + -70, // on "^", reduce `term = "abs", "(", expr, ")" => ActionFn(33);` 0, // on "abs", error 0, // on "connect", error 0, // on "constant", error @@ -11201,21 +12845,22 @@ mod __parse__model { 0, // on "output", error 0, // on "parameter", error 0, // on "stream", error + 0, // on "unit", 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 210 + // State 232 0, // on "(", error 0, // on ")", error - -61, // on "*", reduce `term = "der", "(", expr, ")" => ActionFn(31);` - -61, // on "+", reduce `term = "der", "(", expr, ")" => ActionFn(31);` + -69, // on "*", reduce `term = "der", "(", expr, ")" => ActionFn(32);` + -69, // on "+", reduce `term = "der", "(", expr, ")" => ActionFn(32);` 0, // on ",", error - -61, // on "-", reduce `term = "der", "(", expr, ")" => ActionFn(31);` - -61, // on "/", reduce `term = "der", "(", expr, ")" => ActionFn(31);` - -61, // on ";", reduce `term = "der", "(", expr, ")" => ActionFn(31);` + -69, // on "-", reduce `term = "der", "(", expr, ")" => ActionFn(32);` + -69, // on "/", reduce `term = "der", "(", expr, ")" => ActionFn(32);` + -69, // on ";", reduce `term = "der", "(", expr, ")" => ActionFn(32);` 0, // on "=", error - -61, // on "^", reduce `term = "der", "(", expr, ")" => ActionFn(31);` + -69, // on "^", reduce `term = "der", "(", expr, ")" => ActionFn(32);` 0, // on "abs", error 0, // on "connect", error 0, // on "constant", error @@ -11229,11 +12874,12 @@ mod __parse__model { 0, // on "output", error 0, // on "parameter", error 0, // on "stream", error + 0, // on "unit", 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 211 + // State 233 0, // on "(", error 0, // on ")", error 0, // on "*", error @@ -11241,7 +12887,7 @@ mod __parse__model { 0, // on ",", error 0, // on "-", error 0, // on "/", error - 213, // on ";", goto 212 + 235, // on ";", goto 234 0, // on "=", error 0, // on "^", error 0, // on "abs", error @@ -11257,27 +12903,28 @@ mod __parse__model { 0, // on "output", error 0, // on "parameter", error 0, // on "stream", error + 0, // on "unit", 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 212 - -26, // on "(", reduce `connect_clause = "connect", "(", identifier, ",", identifier, ")", ";" => ActionFn(19);` + // State 234 + -34, // on "(", reduce `connect_clause = "connect", "(", identifier, ",", identifier, ")", ";" => ActionFn(20);` 0, // on ")", error 0, // on "*", error 0, // on "+", error 0, // on ",", error - -26, // on "-", reduce `connect_clause = "connect", "(", identifier, ",", identifier, ")", ";" => ActionFn(19);` + -34, // on "-", reduce `connect_clause = "connect", "(", identifier, ",", identifier, ")", ";" => ActionFn(20);` 0, // on "/", error 0, // on ";", error 0, // on "=", error 0, // on "^", error - -26, // on "abs", reduce `connect_clause = "connect", "(", identifier, ",", identifier, ")", ";" => ActionFn(19);` - -26, // on "connect", reduce `connect_clause = "connect", "(", identifier, ",", identifier, ")", ";" => ActionFn(19);` + -34, // on "abs", reduce `connect_clause = "connect", "(", identifier, ",", identifier, ")", ";" => ActionFn(20);` + -34, // on "connect", reduce `connect_clause = "connect", "(", identifier, ",", identifier, ")", ";" => ActionFn(20);` 0, // on "constant", error - -26, // on "der", reduce `connect_clause = "connect", "(", identifier, ",", identifier, ")", ";" => ActionFn(19);` + -34, // on "der", reduce `connect_clause = "connect", "(", identifier, ",", identifier, ")", ";" => ActionFn(20);` 0, // on "discrete", error - -26, // on "end", reduce `connect_clause = "connect", "(", identifier, ",", identifier, ")", ";" => ActionFn(19);` + -34, // on "end", reduce `connect_clause = "connect", "(", identifier, ",", identifier, ")", ";" => ActionFn(20);` 0, // on "equation", error 0, // on "flow", error 0, // on "input", error @@ -11285,10 +12932,11 @@ mod __parse__model { 0, // on "output", error 0, // on "parameter", error 0, // on "stream", error + 0, // on "unit", error 0, // on r#"\"[^\"\\\\]*\""#, error - -26, // on r#"[+-]?\\d+"#, reduce `connect_clause = "connect", "(", identifier, ",", identifier, ")", ";" => ActionFn(19);` - -26, // on r#"[+-]?\\d+\\.\\d*([eE][-+]?\\d+)?"#, reduce `connect_clause = "connect", "(", identifier, ",", identifier, ")", ";" => ActionFn(19);` - -26, // on r#"[a-zA-Z_][a-zA-Z_0-9]*"#, reduce `connect_clause = "connect", "(", identifier, ",", identifier, ")", ";" => ActionFn(19);` + -34, // on r#"[+-]?\\d+"#, reduce `connect_clause = "connect", "(", identifier, ",", identifier, ")", ";" => ActionFn(20);` + -34, // on r#"[+-]?\\d+\\.\\d*([eE][-+]?\\d+)?"#, reduce `connect_clause = "connect", "(", identifier, ",", identifier, ")", ";" => ActionFn(20);` + -34, // on r#"[a-zA-Z_][a-zA-Z_0-9]*"#, reduce `connect_clause = "connect", "(", identifier, ",", identifier, ")", ";" => ActionFn(20);` ]; const __EOF_ACTION: &'static [i32] = &[ 0, // on EOF, error @@ -11427,11 +13075,9 @@ mod __parse__model { 0, // on EOF, error 0, // on EOF, error 0, // on EOF, error - -42, // on EOF, reduce `model = "model", identifier, "equation", "end", identifier, ";" => ActionFn(60);` 0, // on EOF, error 0, // on EOF, error 0, // on EOF, error - -46, // on EOF, reduce `model = "model", identifier, component_declaration+, "equation", "end", identifier, ";" => ActionFn(64);` 0, // on EOF, error 0, // on EOF, error 0, // on EOF, error @@ -11439,6 +13085,11 @@ mod __parse__model { 0, // on EOF, error 0, // on EOF, error 0, // on EOF, error + -50, // on EOF, reduce `model = "model", identifier, "equation", "end", identifier, ";" => ActionFn(63);` + 0, // on EOF, error + 0, // on EOF, error + 0, // on EOF, error + -54, // on EOF, reduce `model = "model", identifier, component_declaration+, "equation", "end", identifier, ";" => ActionFn(67);` 0, // on EOF, error 0, // on EOF, error 0, // on EOF, error @@ -11446,7 +13097,6 @@ mod __parse__model { 0, // on EOF, error 0, // on EOF, error 0, // on EOF, error - -44, // on EOF, reduce `model = "model", identifier, "equation", connect_clause+, "end", identifier, ";" => ActionFn(62);` 0, // on EOF, error 0, // on EOF, error 0, // on EOF, error @@ -11457,11 +13107,11 @@ mod __parse__model { 0, // on EOF, error 0, // on EOF, error 0, // on EOF, error - -43, // on EOF, reduce `model = "model", identifier, "equation", simple_equation+, "end", identifier, ";" => ActionFn(61);` 0, // on EOF, error 0, // on EOF, error 0, // on EOF, error 0, // on EOF, error + -52, // on EOF, reduce `model = "model", identifier, "equation", connect_clause+, "end", identifier, ";" => ActionFn(65);` 0, // on EOF, error 0, // on EOF, error 0, // on EOF, error @@ -11470,10 +13120,9 @@ mod __parse__model { 0, // on EOF, error 0, // on EOF, error 0, // on EOF, error - -48, // on EOF, reduce `model = "model", identifier, component_declaration+, "equation", connect_clause+, "end", identifier, ";" => ActionFn(66);` - -47, // on EOF, reduce `model = "model", identifier, component_declaration+, "equation", simple_equation+, "end", identifier, ";" => ActionFn(65);` 0, // on EOF, error 0, // on EOF, error + -51, // on EOF, reduce `model = "model", identifier, "equation", simple_equation+, "end", identifier, ";" => ActionFn(64);` 0, // on EOF, error 0, // on EOF, error 0, // on EOF, error @@ -11483,10 +13132,11 @@ mod __parse__model { 0, // on EOF, error 0, // on EOF, error 0, // on EOF, error - -45, // on EOF, reduce `model = "model", identifier, "equation", connect_clause+, simple_equation+, "end", identifier, ";" => ActionFn(63);` 0, // on EOF, error 0, // on EOF, error 0, // on EOF, error + -56, // on EOF, reduce `model = "model", identifier, component_declaration+, "equation", connect_clause+, "end", identifier, ";" => ActionFn(69);` + -55, // on EOF, reduce `model = "model", identifier, component_declaration+, "equation", simple_equation+, "end", identifier, ";" => ActionFn(68);` 0, // on EOF, error 0, // on EOF, error 0, // on EOF, error @@ -11496,7 +13146,27 @@ mod __parse__model { 0, // on EOF, error 0, // on EOF, error 0, // on EOF, error - -49, // on EOF, reduce `model = "model", identifier, component_declaration+, "equation", connect_clause+, simple_equation+, "end", identifier, ";" => ActionFn(67);` + 0, // on EOF, error + 0, // on EOF, error + 0, // on EOF, error + 0, // on EOF, error + 0, // on EOF, error + 0, // on EOF, error + -53, // on EOF, reduce `model = "model", identifier, "equation", connect_clause+, simple_equation+, "end", identifier, ";" => ActionFn(66);` + 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 + -57, // on EOF, reduce `model = "model", identifier, component_declaration+, "equation", connect_clause+, simple_equation+, "end", identifier, ";" => ActionFn(70);` + 0, // on EOF, error 0, // on EOF, error 0, // on EOF, error 0, // on EOF, error @@ -11531,6 +13201,10 @@ mod __parse__model { 0, // on string_literal, error 0, // on string_literal?, error 0, // on term, error + 0, // on units_declaration, error + 0, // on units_declaration?, error + 0, // on value_declaration, error + 0, // on value_declaration?, error // State 1 0, // on __float, error 0, // on __identifier, error @@ -11556,6 +13230,10 @@ mod __parse__model { 0, // on string_literal, error 0, // on string_literal?, error 0, // on term, error + 0, // on units_declaration, error + 0, // on units_declaration?, error + 0, // on value_declaration, error + 0, // on value_declaration?, error // State 2 0, // on __float, error 0, // on __identifier, error @@ -11581,6 +13259,10 @@ mod __parse__model { 0, // on string_literal, error 0, // on string_literal?, error 0, // on term, error + 0, // on units_declaration, error + 0, // on units_declaration?, error + 0, // on value_declaration, error + 0, // on value_declaration?, error // State 3 0, // on __float, error 0, // on __identifier, error @@ -11606,6 +13288,10 @@ mod __parse__model { 0, // on string_literal, error 0, // on string_literal?, error 0, // on term, error + 0, // on units_declaration, error + 0, // on units_declaration?, error + 0, // on value_declaration, error + 0, // on value_declaration?, error // State 4 0, // on __float, error 0, // on __identifier, error @@ -11631,6 +13317,10 @@ mod __parse__model { 0, // on string_literal, error 0, // on string_literal?, error 0, // on term, error + 0, // on units_declaration, error + 0, // on units_declaration?, error + 0, // on value_declaration, error + 0, // on value_declaration?, error // State 5 0, // on __float, error 0, // on __identifier, error @@ -11656,6 +13346,10 @@ mod __parse__model { 0, // on string_literal, error 0, // on string_literal?, error 0, // on term, error + 0, // on units_declaration, error + 0, // on units_declaration?, error + 0, // on value_declaration, error + 0, // on value_declaration?, error // State 6 0, // on __float, error 0, // on __identifier, error @@ -11681,6 +13375,10 @@ mod __parse__model { 0, // on string_literal, error 0, // on string_literal?, error 0, // on term, error + 0, // on units_declaration, error + 0, // on units_declaration?, error + 0, // on value_declaration, error + 0, // on value_declaration?, error // State 7 0, // on __float, error 0, // on __identifier, error @@ -11706,6 +13404,10 @@ mod __parse__model { 0, // on string_literal, error 0, // on string_literal?, error 0, // on term, error + 0, // on units_declaration, error + 0, // on units_declaration?, error + 0, // on value_declaration, error + 0, // on value_declaration?, error // State 8 0, // on __float, error 0, // on __identifier, error @@ -11731,6 +13433,10 @@ mod __parse__model { 0, // on string_literal, error 0, // on string_literal?, error 0, // on term, error + 0, // on units_declaration, error + 0, // on units_declaration?, error + 0, // on value_declaration, error + 0, // on value_declaration?, error // State 9 0, // on __float, error 0, // on __identifier, error @@ -11756,6 +13462,10 @@ mod __parse__model { 0, // on string_literal, error 0, // on string_literal?, error 0, // on term, error + 0, // on units_declaration, error + 0, // on units_declaration?, error + 0, // on value_declaration, error + 0, // on value_declaration?, error // State 10 0, // on __float, error 0, // on __identifier, error @@ -11781,6 +13491,10 @@ mod __parse__model { 0, // on string_literal, error 0, // on string_literal?, error 0, // on term, error + 0, // on units_declaration, error + 0, // on units_declaration?, error + 0, // on value_declaration, error + 0, // on value_declaration?, error // State 11 0, // on __float, error 0, // on __identifier, error @@ -11806,6 +13520,10 @@ mod __parse__model { 0, // on string_literal, error 0, // on string_literal?, error 33, // on term, goto 32 + 0, // on units_declaration, error + 0, // on units_declaration?, error + 0, // on value_declaration, error + 0, // on value_declaration?, error // State 12 0, // on __float, error 0, // on __identifier, error @@ -11831,6 +13549,10 @@ mod __parse__model { 0, // on string_literal, error 0, // on string_literal?, error 0, // on term, error + 0, // on units_declaration, error + 0, // on units_declaration?, error + 0, // on value_declaration, error + 0, // on value_declaration?, error // State 13 0, // on __float, error 0, // on __identifier, error @@ -11856,6 +13578,10 @@ mod __parse__model { 0, // on string_literal, error 0, // on string_literal?, error 0, // on term, error + 0, // on units_declaration, error + 0, // on units_declaration?, error + 0, // on value_declaration, error + 0, // on value_declaration?, error // State 14 0, // on __float, error 0, // on __identifier, error @@ -11881,6 +13607,10 @@ mod __parse__model { 0, // on string_literal, error 0, // on string_literal?, error 0, // on term, error + 0, // on units_declaration, error + 0, // on units_declaration?, error + 0, // on value_declaration, error + 0, // on value_declaration?, error // State 15 0, // on __float, error 0, // on __identifier, error @@ -11906,6 +13636,10 @@ mod __parse__model { 0, // on string_literal, error 0, // on string_literal?, error 0, // on term, error + 0, // on units_declaration, error + 0, // on units_declaration?, error + 0, // on value_declaration, error + 0, // on value_declaration?, error // State 16 0, // on __float, error 0, // on __identifier, error @@ -11931,6 +13665,10 @@ mod __parse__model { 0, // on string_literal, error 0, // on string_literal?, error 0, // on term, error + 0, // on units_declaration, error + 0, // on units_declaration?, error + 0, // on value_declaration, error + 0, // on value_declaration?, error // State 17 0, // on __float, error 0, // on __identifier, error @@ -11956,6 +13694,10 @@ mod __parse__model { 0, // on string_literal, error 0, // on string_literal?, error 0, // on term, error + 0, // on units_declaration, error + 0, // on units_declaration?, error + 0, // on value_declaration, error + 0, // on value_declaration?, error // State 18 0, // on __float, error 0, // on __identifier, error @@ -11981,6 +13723,10 @@ mod __parse__model { 0, // on string_literal, error 0, // on string_literal?, error 0, // on term, error + 0, // on units_declaration, error + 0, // on units_declaration?, error + 0, // on value_declaration, error + 0, // on value_declaration?, error // State 19 0, // on __float, error 0, // on __identifier, error @@ -12006,6 +13752,10 @@ mod __parse__model { 0, // on string_literal, error 0, // on string_literal?, error 33, // on term, goto 32 + 0, // on units_declaration, error + 0, // on units_declaration?, error + 0, // on value_declaration, error + 0, // on value_declaration?, error // State 20 0, // on __float, error 0, // on __identifier, error @@ -12031,6 +13781,10 @@ mod __parse__model { 0, // on string_literal, error 0, // on string_literal?, error 0, // on term, error + 0, // on units_declaration, error + 0, // on units_declaration?, error + 0, // on value_declaration, error + 0, // on value_declaration?, error // State 21 0, // on __float, error 0, // on __identifier, error @@ -12056,6 +13810,10 @@ mod __parse__model { 47, // on string_literal, goto 46 0, // on string_literal?, error 0, // on term, error + 48, // on units_declaration, goto 47 + 0, // on units_declaration?, error + 49, // on value_declaration, goto 48 + 0, // on value_declaration?, error // State 22 0, // on __float, error 0, // on __identifier, error @@ -12081,6 +13839,10 @@ mod __parse__model { 0, // on string_literal, error 0, // on string_literal?, error 0, // on term, error + 0, // on units_declaration, error + 0, // on units_declaration?, error + 0, // on value_declaration, error + 0, // on value_declaration?, error // State 23 0, // on __float, error 0, // on __identifier, error @@ -12106,6 +13868,10 @@ mod __parse__model { 0, // on string_literal, error 0, // on string_literal?, error 0, // on term, error + 0, // on units_declaration, error + 0, // on units_declaration?, error + 0, // on value_declaration, error + 0, // on value_declaration?, error // State 24 0, // on __float, error 0, // on __identifier, error @@ -12116,7 +13882,7 @@ mod __parse__model { 0, // on component_declaration+, error 0, // on component_prefix, error 0, // on component_prefix?, error - 51, // on connect_clause, goto 50 + 54, // on connect_clause, goto 53 0, // on connect_clause*, error 0, // on connect_clause+, error 26, // on expr, goto 25 @@ -12127,10 +13893,14 @@ mod __parse__model { 0, // on model, error 31, // on simple_equation, goto 30 0, // on simple_equation*, error - 52, // on simple_equation+, goto 51 + 55, // on simple_equation+, goto 54 0, // on string_literal, error 0, // on string_literal?, error 33, // on term, goto 32 + 0, // on units_declaration, error + 0, // on units_declaration?, error + 0, // on value_declaration, error + 0, // on value_declaration?, error // State 25 0, // on __float, error 0, // on __identifier, error @@ -12156,6 +13926,10 @@ mod __parse__model { 0, // on string_literal, error 0, // on string_literal?, error 0, // on term, error + 0, // on units_declaration, error + 0, // on units_declaration?, error + 0, // on value_declaration, error + 0, // on value_declaration?, error // State 26 0, // on __float, error 0, // on __identifier, error @@ -12181,6 +13955,10 @@ mod __parse__model { 0, // on string_literal, error 0, // on string_literal?, error 0, // on term, error + 0, // on units_declaration, error + 0, // on units_declaration?, error + 0, // on value_declaration, error + 0, // on value_declaration?, error // State 27 0, // on __float, error 0, // on __identifier, error @@ -12206,6 +13984,10 @@ mod __parse__model { 0, // on string_literal, error 0, // on string_literal?, error 0, // on term, error + 0, // on units_declaration, error + 0, // on units_declaration?, error + 0, // on value_declaration, error + 0, // on value_declaration?, error // State 28 0, // on __float, error 0, // on __identifier, error @@ -12231,6 +14013,10 @@ mod __parse__model { 0, // on string_literal, error 0, // on string_literal?, error 0, // on term, error + 0, // on units_declaration, error + 0, // on units_declaration?, error + 0, // on value_declaration, error + 0, // on value_declaration?, error // State 29 0, // on __float, error 0, // on __identifier, error @@ -12256,6 +14042,10 @@ mod __parse__model { 0, // on string_literal, error 0, // on string_literal?, error 0, // on term, error + 0, // on units_declaration, error + 0, // on units_declaration?, error + 0, // on value_declaration, error + 0, // on value_declaration?, error // State 30 0, // on __float, error 0, // on __identifier, error @@ -12281,6 +14071,10 @@ mod __parse__model { 0, // on string_literal, error 0, // on string_literal?, error 0, // on term, error + 0, // on units_declaration, error + 0, // on units_declaration?, error + 0, // on value_declaration, error + 0, // on value_declaration?, error // State 31 0, // on __float, error 0, // on __identifier, error @@ -12300,12 +14094,16 @@ mod __parse__model { 29, // on identifier, goto 28 30, // on integer, goto 29 0, // on model, error - 60, // on simple_equation, goto 59 + 63, // on simple_equation, goto 62 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 units_declaration, error + 0, // on units_declaration?, error + 0, // on value_declaration, error + 0, // on value_declaration?, error // State 32 0, // on __float, error 0, // on __identifier, error @@ -12331,6 +14129,10 @@ mod __parse__model { 0, // on string_literal, error 0, // on string_literal?, error 0, // on term, error + 0, // on units_declaration, error + 0, // on units_declaration?, error + 0, // on value_declaration, error + 0, // on value_declaration?, error // State 33 0, // on __float, error 0, // on __identifier, error @@ -12344,18 +14146,22 @@ mod __parse__model { 0, // on connect_clause, error 0, // on connect_clause*, error 0, // on connect_clause+, error - 62, // on expr, goto 61 - 63, // on factor, goto 62 - 64, // on float, goto 63 - 65, // on identifier, goto 64 - 66, // on integer, goto 65 + 65, // on expr, goto 64 + 66, // on factor, goto 65 + 67, // on float, goto 66 + 68, // on identifier, goto 67 + 69, // on integer, goto 68 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 - 67, // on term, goto 66 + 70, // on term, goto 69 + 0, // on units_declaration, error + 0, // on units_declaration?, error + 0, // on value_declaration, error + 0, // on value_declaration?, error // State 34 0, // on __float, error 0, // on __identifier, error @@ -12380,7 +14186,11 @@ mod __parse__model { 0, // on simple_equation+, error 0, // on string_literal, error 0, // on string_literal?, error - 75, // on term, goto 74 + 78, // on term, goto 77 + 0, // on units_declaration, error + 0, // on units_declaration?, error + 0, // on value_declaration, error + 0, // on value_declaration?, error // State 35 0, // on __float, error 0, // on __identifier, error @@ -12406,6 +14216,10 @@ mod __parse__model { 0, // on string_literal, error 0, // on string_literal?, error 0, // on term, error + 0, // on units_declaration, error + 0, // on units_declaration?, error + 0, // on value_declaration, error + 0, // on value_declaration?, error // State 36 0, // on __float, error 0, // on __identifier, error @@ -12431,6 +14245,10 @@ mod __parse__model { 0, // on string_literal, error 0, // on string_literal?, error 0, // on term, error + 0, // on units_declaration, error + 0, // on units_declaration?, error + 0, // on value_declaration, error + 0, // on value_declaration?, error // State 37 0, // on __float, error 0, // on __identifier, error @@ -12456,6 +14274,10 @@ mod __parse__model { 0, // on string_literal, error 0, // on string_literal?, error 0, // on term, error + 0, // on units_declaration, error + 0, // on units_declaration?, error + 0, // on value_declaration, error + 0, // on value_declaration?, error // State 38 0, // on __float, error 0, // on __identifier, error @@ -12472,7 +14294,7 @@ mod __parse__model { 0, // on expr, error 0, // on factor, error 0, // on float, error - 79, // on identifier, goto 78 + 82, // on identifier, goto 81 0, // on integer, error 0, // on model, error 0, // on simple_equation, error @@ -12481,6 +14303,10 @@ mod __parse__model { 0, // on string_literal, error 0, // on string_literal?, error 0, // on term, error + 0, // on units_declaration, error + 0, // on units_declaration?, error + 0, // on value_declaration, error + 0, // on value_declaration?, error // State 39 0, // on __float, error 0, // on __identifier, error @@ -12506,6 +14332,10 @@ mod __parse__model { 0, // on string_literal, error 0, // on string_literal?, error 0, // on term, error + 0, // on units_declaration, error + 0, // on units_declaration?, error + 0, // on value_declaration, error + 0, // on value_declaration?, error // State 40 0, // on __float, error 0, // on __identifier, error @@ -12531,6 +14361,10 @@ mod __parse__model { 0, // on string_literal, error 0, // on string_literal?, error 0, // on term, error + 0, // on units_declaration, error + 0, // on units_declaration?, error + 0, // on value_declaration, error + 0, // on value_declaration?, error // State 41 0, // on __float, error 0, // on __identifier, error @@ -12556,6 +14390,10 @@ mod __parse__model { 0, // on string_literal, error 0, // on string_literal?, error 0, // on term, error + 0, // on units_declaration, error + 0, // on units_declaration?, error + 0, // on value_declaration, error + 0, // on value_declaration?, error // State 42 0, // on __float, error 0, // on __identifier, error @@ -12566,7 +14404,7 @@ mod __parse__model { 0, // on component_declaration+, error 0, // on component_prefix, error 0, // on component_prefix?, error - 51, // on connect_clause, goto 50 + 54, // on connect_clause, goto 53 0, // on connect_clause*, error 0, // on connect_clause+, error 26, // on expr, goto 25 @@ -12577,10 +14415,14 @@ mod __parse__model { 0, // on model, error 31, // on simple_equation, goto 30 0, // on simple_equation*, error - 81, // on simple_equation+, goto 80 + 84, // on simple_equation+, goto 83 0, // on string_literal, error 0, // on string_literal?, error 33, // on term, goto 32 + 0, // on units_declaration, error + 0, // on units_declaration?, error + 0, // on value_declaration, error + 0, // on value_declaration?, error // State 43 0, // on __float, error 0, // on __identifier, error @@ -12600,12 +14442,16 @@ mod __parse__model { 29, // on identifier, goto 28 30, // on integer, goto 29 0, // on model, error - 60, // on simple_equation, goto 59 + 63, // on simple_equation, goto 62 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 units_declaration, error + 0, // on units_declaration?, error + 0, // on value_declaration, error + 0, // on value_declaration?, error // State 44 0, // on __float, error 0, // on __identifier, error @@ -12622,7 +14468,7 @@ mod __parse__model { 0, // on expr, error 0, // on factor, error 0, // on float, error - 84, // on identifier, goto 83 + 87, // on identifier, goto 86 0, // on integer, error 0, // on model, error 0, // on simple_equation, error @@ -12631,6 +14477,10 @@ mod __parse__model { 0, // on string_literal, error 0, // on string_literal?, error 0, // on term, error + 0, // on units_declaration, error + 0, // on units_declaration?, error + 0, // on value_declaration, error + 0, // on value_declaration?, error // State 45 0, // on __float, error 0, // on __identifier, error @@ -12653,9 +14503,13 @@ mod __parse__model { 0, // on simple_equation, error 0, // on simple_equation*, error 0, // on simple_equation+, error - 85, // on string_literal, goto 84 + 88, // on string_literal, goto 87 0, // on string_literal?, error 0, // on term, error + 89, // on units_declaration, goto 88 + 0, // on units_declaration?, error + 90, // on value_declaration, goto 89 + 0, // on value_declaration?, error // State 46 0, // on __float, error 0, // on __identifier, error @@ -12681,6 +14535,10 @@ mod __parse__model { 0, // on string_literal, error 0, // on string_literal?, error 0, // on term, error + 0, // on units_declaration, error + 0, // on units_declaration?, error + 0, // on value_declaration, error + 0, // on value_declaration?, error // State 47 0, // on __float, error 0, // on __identifier, error @@ -12703,9 +14561,13 @@ mod __parse__model { 0, // on simple_equation, error 0, // on simple_equation*, error 0, // on simple_equation+, error - 0, // on string_literal, error + 93, // on string_literal, goto 92 0, // on string_literal?, error 0, // on term, error + 0, // on units_declaration, error + 0, // on units_declaration?, error + 94, // on value_declaration, goto 93 + 0, // on value_declaration?, error // State 48 0, // on __float, error 0, // on __identifier, error @@ -12719,18 +14581,22 @@ mod __parse__model { 0, // on connect_clause, error 0, // on connect_clause*, error 0, // on connect_clause+, error - 89, // on expr, goto 88 - 90, // on factor, goto 89 - 91, // on float, goto 90 - 92, // on identifier, goto 91 - 93, // on integer, goto 92 + 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 + 96, // on string_literal, goto 95 0, // on string_literal?, error - 94, // on term, goto 93 + 0, // on term, error + 0, // on units_declaration, error + 0, // on units_declaration?, error + 0, // on value_declaration, error + 0, // on value_declaration?, error // State 49 0, // on __float, error 0, // on __identifier, error @@ -12756,6 +14622,10 @@ mod __parse__model { 0, // on string_literal, error 0, // on string_literal?, error 0, // on term, error + 0, // on units_declaration, error + 0, // on units_declaration?, error + 0, // on value_declaration, error + 0, // on value_declaration?, error // State 50 0, // on __float, error 0, // on __identifier, error @@ -12781,6 +14651,10 @@ mod __parse__model { 0, // on string_literal, error 0, // on string_literal?, error 0, // on term, error + 0, // on units_declaration, error + 0, // on units_declaration?, error + 0, // on value_declaration, error + 0, // on value_declaration?, error // State 51 0, // on __float, error 0, // on __identifier, error @@ -12794,19 +14668,110 @@ mod __parse__model { 0, // on connect_clause, error 0, // on connect_clause*, error 0, // on connect_clause+, error + 99, // on expr, goto 98 + 100, // on factor, goto 99 + 101, // on float, goto 100 + 102, // on identifier, goto 101 + 103, // on integer, goto 102 + 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 + 0, // on units_declaration, error + 0, // on units_declaration?, error + 0, // on value_declaration, error + 0, // on value_declaration?, error + // State 52 + 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 + 0, // on units_declaration, error + 0, // on units_declaration?, error + 0, // on value_declaration, error + 0, // on value_declaration?, error + // State 53 + 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 + 0, // on units_declaration, error + 0, // on units_declaration?, error + 0, // on value_declaration, error + 0, // on value_declaration?, error + // State 54 + 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 - 60, // on simple_equation, goto 59 + 63, // on simple_equation, goto 62 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 units_declaration, error + 0, // on units_declaration?, error + 0, // on value_declaration, error + 0, // on value_declaration?, error + // State 55 0, // on __float, error 0, // on __identifier, error 0, // on __integer, error @@ -12822,7 +14787,7 @@ mod __parse__model { 0, // on expr, error 0, // on factor, error 0, // on float, error - 103, // on identifier, goto 102 + 113, // on identifier, goto 112 0, // on integer, error 0, // on model, error 0, // on simple_equation, error @@ -12831,7 +14796,11 @@ mod __parse__model { 0, // on string_literal, error 0, // on string_literal?, error 0, // on term, error - // State 53 + 0, // on units_declaration, error + 0, // on units_declaration?, error + 0, // on value_declaration, error + 0, // on value_declaration?, error + // State 56 0, // on __float, error 0, // on __identifier, error 0, // on __integer, error @@ -12845,7 +14814,7 @@ mod __parse__model { 0, // on connect_clause*, error 0, // on connect_clause+, error 0, // on expr, error - 104, // on factor, goto 103 + 114, // on factor, goto 113 28, // on float, goto 27 29, // on identifier, goto 28 30, // on integer, goto 29 @@ -12856,7 +14825,11 @@ mod __parse__model { 0, // on string_literal, error 0, // on string_literal?, error 33, // on term, goto 32 - // State 54 + 0, // on units_declaration, error + 0, // on units_declaration?, error + 0, // on value_declaration, error + 0, // on value_declaration?, error + // State 57 0, // on __float, error 0, // on __identifier, error 0, // on __integer, error @@ -12870,7 +14843,7 @@ mod __parse__model { 0, // on connect_clause*, error 0, // on connect_clause+, error 0, // on expr, error - 105, // on factor, goto 104 + 115, // on factor, goto 114 28, // on float, goto 27 29, // on identifier, goto 28 30, // on integer, goto 29 @@ -12881,7 +14854,11 @@ mod __parse__model { 0, // on string_literal, error 0, // on string_literal?, error 33, // on term, goto 32 - // State 55 + 0, // on units_declaration, error + 0, // on units_declaration?, error + 0, // on value_declaration, error + 0, // on value_declaration?, error + // State 58 0, // on __float, error 0, // on __identifier, error 0, // on __integer, error @@ -12894,19 +14871,23 @@ mod __parse__model { 0, // on connect_clause, error 0, // on connect_clause*, error 0, // on connect_clause+, error - 106, // on expr, goto 105 - 107, // on factor, goto 106 - 108, // on float, goto 107 - 109, // on identifier, goto 108 - 110, // on integer, goto 109 + 116, // on expr, goto 115 + 117, // on factor, goto 116 + 118, // on float, goto 117 + 119, // on identifier, goto 118 + 120, // on integer, goto 119 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 - 111, // on term, goto 110 - // State 56 + 121, // on term, goto 120 + 0, // on units_declaration, error + 0, // on units_declaration?, error + 0, // on value_declaration, error + 0, // on value_declaration?, error + // State 59 0, // on __float, error 0, // on __identifier, error 0, // on __integer, error @@ -12930,8 +14911,12 @@ mod __parse__model { 0, // on simple_equation+, error 0, // on string_literal, error 0, // on string_literal?, error - 119, // on term, goto 118 - // State 57 + 129, // on term, goto 128 + 0, // on units_declaration, error + 0, // on units_declaration?, error + 0, // on value_declaration, error + 0, // on value_declaration?, error + // State 60 0, // on __float, error 0, // on __identifier, error 0, // on __integer, error @@ -12955,8 +14940,12 @@ mod __parse__model { 0, // on simple_equation+, error 0, // on string_literal, error 0, // on string_literal?, error - 120, // on term, goto 119 - // State 58 + 130, // on term, goto 129 + 0, // on units_declaration, error + 0, // on units_declaration?, error + 0, // on value_declaration, error + 0, // on value_declaration?, error + // State 61 0, // on __float, error 0, // on __identifier, error 0, // on __integer, error @@ -12980,8 +14969,12 @@ mod __parse__model { 0, // on simple_equation+, error 0, // on string_literal, error 0, // on string_literal?, error - 121, // on term, goto 120 - // State 59 + 131, // on term, goto 130 + 0, // on units_declaration, error + 0, // on units_declaration?, error + 0, // on value_declaration, error + 0, // on value_declaration?, error + // State 62 0, // on __float, error 0, // on __identifier, error 0, // on __integer, error @@ -13006,7 +14999,11 @@ mod __parse__model { 0, // on string_literal, error 0, // on string_literal?, error 0, // on term, error - // State 60 + 0, // on units_declaration, error + 0, // on units_declaration?, error + 0, // on value_declaration, error + 0, // on value_declaration?, error + // State 63 0, // on __float, error 0, // on __identifier, error 0, // on __integer, error @@ -13022,7 +15019,7 @@ mod __parse__model { 0, // on expr, error 0, // on factor, error 0, // on float, error - 122, // on identifier, goto 121 + 132, // on identifier, goto 131 0, // on integer, error 0, // on model, error 0, // on simple_equation, error @@ -13031,7 +15028,11 @@ mod __parse__model { 0, // on string_literal, error 0, // on string_literal?, error 0, // on term, error - // State 61 + 0, // on units_declaration, error + 0, // on units_declaration?, error + 0, // on value_declaration, error + 0, // on value_declaration?, error + // State 64 0, // on __float, error 0, // on __identifier, error 0, // on __integer, error @@ -13056,7 +15057,11 @@ mod __parse__model { 0, // on string_literal, error 0, // on string_literal?, error 0, // on term, error - // State 62 + 0, // on units_declaration, error + 0, // on units_declaration?, error + 0, // on value_declaration, error + 0, // on value_declaration?, error + // State 65 0, // on __float, error 0, // on __identifier, error 0, // on __integer, error @@ -13081,7 +15086,11 @@ mod __parse__model { 0, // on string_literal, error 0, // on string_literal?, error 0, // on term, error - // State 63 + 0, // on units_declaration, error + 0, // on units_declaration?, error + 0, // on value_declaration, error + 0, // on value_declaration?, error + // State 66 0, // on __float, error 0, // on __identifier, error 0, // on __integer, error @@ -13106,7 +15115,11 @@ mod __parse__model { 0, // on string_literal, error 0, // on string_literal?, error 0, // on term, error - // State 64 + 0, // on units_declaration, error + 0, // on units_declaration?, error + 0, // on value_declaration, error + 0, // on value_declaration?, error + // State 67 0, // on __float, error 0, // on __identifier, error 0, // on __integer, error @@ -13131,7 +15144,11 @@ mod __parse__model { 0, // on string_literal, error 0, // on string_literal?, error 0, // on term, error - // State 65 + 0, // on units_declaration, error + 0, // on units_declaration?, error + 0, // on value_declaration, error + 0, // on value_declaration?, error + // State 68 0, // on __float, error 0, // on __identifier, error 0, // on __integer, error @@ -13156,7 +15173,11 @@ mod __parse__model { 0, // on string_literal, error 0, // on string_literal?, error 0, // on term, error - // State 66 + 0, // on units_declaration, error + 0, // on units_declaration?, error + 0, // on value_declaration, error + 0, // on value_declaration?, error + // State 69 0, // on __float, error 0, // on __identifier, error 0, // on __integer, error @@ -13181,7 +15202,11 @@ mod __parse__model { 0, // on string_literal, error 0, // on string_literal?, error 0, // on term, error - // State 67 + 0, // on units_declaration, error + 0, // on units_declaration?, error + 0, // on value_declaration, error + 0, // on value_declaration?, error + // State 70 0, // on __float, error 0, // on __identifier, error 0, // on __integer, error @@ -13194,19 +15219,23 @@ mod __parse__model { 0, // on connect_clause, error 0, // on connect_clause*, error 0, // on connect_clause+, error - 129, // on expr, goto 128 - 63, // on factor, goto 62 - 64, // on float, goto 63 - 65, // on identifier, goto 64 - 66, // on integer, goto 65 + 139, // on expr, goto 138 + 66, // on factor, goto 65 + 67, // on float, goto 66 + 68, // on identifier, goto 67 + 69, // on integer, goto 68 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 - 67, // on term, goto 66 - // State 68 + 70, // on term, goto 69 + 0, // on units_declaration, error + 0, // on units_declaration?, error + 0, // on value_declaration, error + 0, // on value_declaration?, error + // State 71 0, // on __float, error 0, // on __identifier, error 0, // on __integer, error @@ -13221,17 +15250,21 @@ mod __parse__model { 0, // on connect_clause+, error 0, // on expr, error 0, // on factor, error - 64, // on float, goto 63 - 65, // on identifier, goto 64 - 66, // on integer, goto 65 + 67, // on float, goto 66 + 68, // on identifier, goto 67 + 69, // on integer, goto 68 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 - 130, // on term, goto 129 - // State 69 + 140, // on term, goto 139 + 0, // on units_declaration, error + 0, // on units_declaration?, error + 0, // on value_declaration, error + 0, // on value_declaration?, error + // State 72 0, // on __float, error 0, // on __identifier, error 0, // on __integer, error @@ -13256,7 +15289,11 @@ mod __parse__model { 0, // on string_literal, error 0, // on string_literal?, error 0, // on term, error - // State 70 + 0, // on units_declaration, error + 0, // on units_declaration?, error + 0, // on value_declaration, error + 0, // on value_declaration?, error + // State 73 0, // on __float, error 0, // on __identifier, error 0, // on __integer, error @@ -13281,7 +15318,11 @@ mod __parse__model { 0, // on string_literal, error 0, // on string_literal?, error 0, // on term, error - // State 71 + 0, // on units_declaration, error + 0, // on units_declaration?, error + 0, // on value_declaration, error + 0, // on value_declaration?, error + // State 74 0, // on __float, error 0, // on __identifier, error 0, // on __integer, error @@ -13306,7 +15347,11 @@ mod __parse__model { 0, // on string_literal, error 0, // on string_literal?, error 0, // on term, error - // State 72 + 0, // on units_declaration, error + 0, // on units_declaration?, error + 0, // on value_declaration, error + 0, // on value_declaration?, error + // State 75 0, // on __float, error 0, // on __identifier, error 0, // on __integer, error @@ -13331,7 +15376,11 @@ mod __parse__model { 0, // on string_literal, error 0, // on string_literal?, error 0, // on term, error - // State 73 + 0, // on units_declaration, error + 0, // on units_declaration?, error + 0, // on value_declaration, error + 0, // on value_declaration?, error + // State 76 0, // on __float, error 0, // on __identifier, error 0, // on __integer, error @@ -13356,7 +15405,11 @@ mod __parse__model { 0, // on string_literal, error 0, // on string_literal?, error 0, // on term, error - // State 74 + 0, // on units_declaration, error + 0, // on units_declaration?, error + 0, // on value_declaration, error + 0, // on value_declaration?, error + // State 77 0, // on __float, error 0, // on __identifier, error 0, // on __integer, error @@ -13381,7 +15434,11 @@ mod __parse__model { 0, // on string_literal, error 0, // on string_literal?, error 0, // on term, error - // State 75 + 0, // on units_declaration, error + 0, // on units_declaration?, error + 0, // on value_declaration, error + 0, // on value_declaration?, error + // State 78 0, // on __float, error 0, // on __identifier, error 0, // on __integer, error @@ -13394,19 +15451,23 @@ mod __parse__model { 0, // on connect_clause, error 0, // on connect_clause*, error 0, // on connect_clause+, error - 133, // on expr, goto 132 - 63, // on factor, goto 62 - 64, // on float, goto 63 - 65, // on identifier, goto 64 - 66, // on integer, goto 65 + 143, // on expr, goto 142 + 66, // on factor, goto 65 + 67, // on float, goto 66 + 68, // on identifier, goto 67 + 69, // on integer, goto 68 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 - 67, // on term, goto 66 - // State 76 + 70, // on term, goto 69 + 0, // on units_declaration, error + 0, // on units_declaration?, error + 0, // on value_declaration, error + 0, // on value_declaration?, error + // State 79 0, // on __float, error 0, // on __identifier, error 0, // on __integer, error @@ -13422,7 +15483,7 @@ mod __parse__model { 0, // on expr, error 0, // on factor, error 0, // on float, error - 134, // on identifier, goto 133 + 144, // on identifier, goto 143 0, // on integer, error 0, // on model, error 0, // on simple_equation, error @@ -13431,7 +15492,11 @@ mod __parse__model { 0, // on string_literal, error 0, // on string_literal?, error 0, // on term, error - // State 77 + 0, // on units_declaration, error + 0, // on units_declaration?, error + 0, // on value_declaration, error + 0, // on value_declaration?, error + // State 80 0, // on __float, error 0, // on __identifier, error 0, // on __integer, error @@ -13444,19 +15509,23 @@ mod __parse__model { 0, // on connect_clause, error 0, // on connect_clause*, error 0, // on connect_clause+, error - 136, // on expr, goto 135 - 63, // on factor, goto 62 - 64, // on float, goto 63 - 65, // on identifier, goto 64 - 66, // on integer, goto 65 + 146, // on expr, goto 145 + 66, // on factor, goto 65 + 67, // on float, goto 66 + 68, // on identifier, goto 67 + 69, // on integer, goto 68 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 - 67, // on term, goto 66 - // State 78 + 70, // on term, goto 69 + 0, // on units_declaration, error + 0, // on units_declaration?, error + 0, // on value_declaration, error + 0, // on value_declaration?, error + // State 81 0, // on __float, error 0, // on __identifier, error 0, // on __integer, error @@ -13481,7 +15550,11 @@ mod __parse__model { 0, // on string_literal, error 0, // on string_literal?, error 0, // on term, error - // State 79 + 0, // on units_declaration, error + 0, // on units_declaration?, error + 0, // on value_declaration, error + 0, // on value_declaration?, error + // State 82 0, // on __float, error 0, // on __identifier, error 0, // on __integer, error @@ -13506,7 +15579,11 @@ mod __parse__model { 0, // on string_literal, error 0, // on string_literal?, error 0, // on term, error - // State 80 + 0, // on units_declaration, error + 0, // on units_declaration?, error + 0, // on value_declaration, error + 0, // on value_declaration?, error + // State 83 0, // on __float, error 0, // on __identifier, error 0, // on __integer, error @@ -13525,13 +15602,17 @@ mod __parse__model { 29, // on identifier, goto 28 30, // on integer, goto 29 0, // on model, error - 60, // on simple_equation, goto 59 + 63, // on simple_equation, goto 62 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 81 + 0, // on units_declaration, error + 0, // on units_declaration?, error + 0, // on value_declaration, error + 0, // on value_declaration?, error + // State 84 0, // on __float, error 0, // on __identifier, error 0, // on __integer, error @@ -13547,7 +15628,7 @@ mod __parse__model { 0, // on expr, error 0, // on factor, error 0, // on float, error - 139, // on identifier, goto 138 + 149, // on identifier, goto 148 0, // on integer, error 0, // on model, error 0, // on simple_equation, error @@ -13556,7 +15637,11 @@ mod __parse__model { 0, // on string_literal, error 0, // on string_literal?, error 0, // on term, error - // State 82 + 0, // on units_declaration, error + 0, // on units_declaration?, error + 0, // on value_declaration, error + 0, // on value_declaration?, error + // State 85 0, // on __float, error 0, // on __identifier, error 0, // on __integer, error @@ -13572,7 +15657,7 @@ mod __parse__model { 0, // on expr, error 0, // on factor, error 0, // on float, error - 140, // on identifier, goto 139 + 150, // on identifier, goto 149 0, // on integer, error 0, // on model, error 0, // on simple_equation, error @@ -13581,7 +15666,11 @@ mod __parse__model { 0, // on string_literal, error 0, // on string_literal?, error 0, // on term, error - // State 83 + 0, // on units_declaration, error + 0, // on units_declaration?, error + 0, // on value_declaration, error + 0, // on value_declaration?, error + // State 86 0, // on __float, error 0, // on __identifier, error 0, // on __integer, error @@ -13606,7 +15695,11 @@ mod __parse__model { 0, // on string_literal, error 0, // on string_literal?, error 0, // on term, error - // State 84 + 0, // on units_declaration, error + 0, // on units_declaration?, error + 0, // on value_declaration, error + 0, // on value_declaration?, error + // State 87 0, // on __float, error 0, // on __identifier, error 0, // on __integer, error @@ -13631,7 +15724,69 @@ mod __parse__model { 0, // on string_literal, error 0, // on string_literal?, error 0, // on term, error - // State 85 + 0, // on units_declaration, error + 0, // on units_declaration?, error + 0, // on value_declaration, error + 0, // on value_declaration?, error + // State 88 + 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 + 153, // on string_literal, goto 152 + 0, // on string_literal?, error + 0, // on term, error + 0, // on units_declaration, error + 0, // on units_declaration?, error + 154, // on value_declaration, goto 153 + 0, // on value_declaration?, error + // State 89 + 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 + 156, // on string_literal, goto 155 + 0, // on string_literal?, error + 0, // on term, error + 0, // on units_declaration, error + 0, // on units_declaration?, error + 0, // on value_declaration, error + 0, // on value_declaration?, error + // State 90 0, // on __float, error 0, // on __identifier, error 0, // on __integer, error @@ -13656,7 +15811,11 @@ mod __parse__model { 0, // on string_literal, error 0, // on string_literal?, error 0, // on term, error - // State 86 + 0, // on units_declaration, error + 0, // on units_declaration?, error + 0, // on value_declaration, error + 0, // on value_declaration?, error + // State 91 0, // on __float, error 0, // on __identifier, error 0, // on __integer, error @@ -13669,19 +15828,23 @@ mod __parse__model { 0, // on connect_clause, error 0, // on connect_clause*, error 0, // on connect_clause+, error - 143, // on expr, goto 142 - 90, // on factor, goto 89 - 91, // on float, goto 90 - 92, // on identifier, goto 91 - 93, // on integer, goto 92 + 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 - 94, // on term, goto 93 - // State 87 + 0, // on term, error + 0, // on units_declaration, error + 0, // on units_declaration?, error + 0, // on value_declaration, error + 0, // on value_declaration?, error + // State 92 0, // on __float, error 0, // on __identifier, error 0, // on __integer, error @@ -13706,7 +15869,11 @@ mod __parse__model { 0, // on string_literal, error 0, // on string_literal?, error 0, // on term, error - // State 88 + 0, // on units_declaration, error + 0, // on units_declaration?, error + 0, // on value_declaration, error + 0, // on value_declaration?, error + // State 93 0, // on __float, error 0, // on __identifier, error 0, // on __integer, error @@ -13728,10 +15895,14 @@ mod __parse__model { 0, // on simple_equation, error 0, // on simple_equation*, error 0, // on simple_equation+, error - 144, // on string_literal, goto 143 + 159, // on string_literal, goto 158 0, // on string_literal?, error 0, // on term, error - // State 89 + 0, // on units_declaration, error + 0, // on units_declaration?, error + 0, // on value_declaration, error + 0, // on value_declaration?, error + // State 94 0, // on __float, error 0, // on __identifier, error 0, // on __integer, error @@ -13756,7 +15927,11 @@ mod __parse__model { 0, // on string_literal, error 0, // on string_literal?, error 0, // on term, error - // State 90 + 0, // on units_declaration, error + 0, // on units_declaration?, error + 0, // on value_declaration, error + 0, // on value_declaration?, error + // State 95 0, // on __float, error 0, // on __identifier, error 0, // on __integer, error @@ -13781,7 +15956,11 @@ mod __parse__model { 0, // on string_literal, error 0, // on string_literal?, error 0, // on term, error - // State 91 + 0, // on units_declaration, error + 0, // on units_declaration?, error + 0, // on value_declaration, error + 0, // on value_declaration?, error + // State 96 0, // on __float, error 0, // on __identifier, error 0, // on __integer, error @@ -13806,7 +15985,11 @@ mod __parse__model { 0, // on string_literal, error 0, // on string_literal?, error 0, // on term, error - // State 92 + 0, // on units_declaration, error + 0, // on units_declaration?, error + 0, // on value_declaration, error + 0, // on value_declaration?, error + // State 97 0, // on __float, error 0, // on __identifier, error 0, // on __integer, error @@ -13831,7 +16014,11 @@ mod __parse__model { 0, // on string_literal, error 0, // on string_literal?, error 0, // on term, error - // State 93 + 0, // on units_declaration, error + 0, // on units_declaration?, error + 0, // on value_declaration, error + 0, // on value_declaration?, error + // State 98 0, // on __float, error 0, // on __identifier, error 0, // on __integer, error @@ -13856,7 +16043,11 @@ mod __parse__model { 0, // on string_literal, error 0, // on string_literal?, error 0, // on term, error - // State 94 + 0, // on units_declaration, error + 0, // on units_declaration?, error + 0, // on value_declaration, error + 0, // on value_declaration?, error + // State 99 0, // on __float, error 0, // on __identifier, error 0, // on __integer, error @@ -13869,19 +16060,23 @@ mod __parse__model { 0, // on connect_clause, error 0, // on connect_clause*, error 0, // on connect_clause+, error - 151, // on expr, goto 150 - 63, // on factor, goto 62 - 64, // on float, goto 63 - 65, // on identifier, goto 64 - 66, // on integer, goto 65 + 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 - 67, // on term, goto 66 - // State 95 + 0, // on term, error + 0, // on units_declaration, error + 0, // on units_declaration?, error + 0, // on value_declaration, error + 0, // on value_declaration?, error + // State 100 0, // on __float, error 0, // on __identifier, error 0, // on __integer, error @@ -13896,17 +16091,21 @@ mod __parse__model { 0, // on connect_clause+, error 0, // on expr, error 0, // on factor, error - 91, // on float, goto 90 - 92, // on identifier, goto 91 - 93, // on integer, goto 92 + 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 - 152, // on term, goto 151 - // State 96 + 0, // on term, error + 0, // on units_declaration, error + 0, // on units_declaration?, error + 0, // on value_declaration, error + 0, // on value_declaration?, error + // State 101 0, // on __float, error 0, // on __identifier, error 0, // on __integer, error @@ -13931,7 +16130,11 @@ mod __parse__model { 0, // on string_literal, error 0, // on string_literal?, error 0, // on term, error - // State 97 + 0, // on units_declaration, error + 0, // on units_declaration?, error + 0, // on value_declaration, error + 0, // on value_declaration?, error + // State 102 0, // on __float, error 0, // on __identifier, error 0, // on __integer, error @@ -13956,7 +16159,11 @@ mod __parse__model { 0, // on string_literal, error 0, // on string_literal?, error 0, // on term, error - // State 98 + 0, // on units_declaration, error + 0, // on units_declaration?, error + 0, // on value_declaration, error + 0, // on value_declaration?, error + // State 103 0, // on __float, error 0, // on __identifier, error 0, // on __integer, error @@ -13981,7 +16188,69 @@ mod __parse__model { 0, // on string_literal, error 0, // on string_literal?, error 0, // on term, error - // State 99 + 0, // on units_declaration, error + 0, // on units_declaration?, error + 0, // on value_declaration, error + 0, // on value_declaration?, error + // State 104 + 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 + 168, // on expr, goto 167 + 66, // on factor, goto 65 + 67, // on float, goto 66 + 68, // on identifier, goto 67 + 69, // on integer, goto 68 + 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 + 70, // on term, goto 69 + 0, // on units_declaration, error + 0, // on units_declaration?, error + 0, // on value_declaration, error + 0, // on value_declaration?, error + // State 105 + 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 + 101, // on float, goto 100 + 102, // on identifier, goto 101 + 103, // on integer, goto 102 + 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 + 169, // on term, goto 168 + 0, // on units_declaration, error + 0, // on units_declaration?, error + 0, // on value_declaration, error + 0, // on value_declaration?, error + // State 106 0, // on __float, error 0, // on __identifier, error 0, // on __integer, error @@ -14006,7 +16275,11 @@ mod __parse__model { 0, // on string_literal, error 0, // on string_literal?, error 0, // on term, error - // State 100 + 0, // on units_declaration, error + 0, // on units_declaration?, error + 0, // on value_declaration, error + 0, // on value_declaration?, error + // State 107 0, // on __float, error 0, // on __identifier, error 0, // on __integer, error @@ -14031,7 +16304,11 @@ mod __parse__model { 0, // on string_literal, error 0, // on string_literal?, error 0, // on term, error - // State 101 + 0, // on units_declaration, error + 0, // on units_declaration?, error + 0, // on value_declaration, error + 0, // on value_declaration?, error + // State 108 0, // on __float, error 0, // on __identifier, error 0, // on __integer, error @@ -14047,7 +16324,7 @@ mod __parse__model { 0, // on expr, error 0, // on factor, error 0, // on float, error - 155, // on identifier, goto 154 + 0, // on identifier, error 0, // on integer, error 0, // on model, error 0, // on simple_equation, error @@ -14056,7 +16333,11 @@ mod __parse__model { 0, // on string_literal, error 0, // on string_literal?, error 0, // on term, error - // State 102 + 0, // on units_declaration, error + 0, // on units_declaration?, error + 0, // on value_declaration, error + 0, // on value_declaration?, error + // State 109 0, // on __float, error 0, // on __identifier, error 0, // on __integer, error @@ -14081,7 +16362,11 @@ mod __parse__model { 0, // on string_literal, error 0, // on string_literal?, error 0, // on term, error - // State 103 + 0, // on units_declaration, error + 0, // on units_declaration?, error + 0, // on value_declaration, error + 0, // on value_declaration?, error + // State 110 0, // on __float, error 0, // on __identifier, error 0, // on __integer, error @@ -14106,7 +16391,40 @@ mod __parse__model { 0, // on string_literal, error 0, // on string_literal?, error 0, // on term, error - // State 104 + 0, // on units_declaration, error + 0, // on units_declaration?, error + 0, // on value_declaration, error + 0, // on value_declaration?, error + // State 111 + 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 + 172, // on identifier, goto 171 + 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 + 0, // on units_declaration, error + 0, // on units_declaration?, error + 0, // on value_declaration, error + 0, // on value_declaration?, error + // State 112 0, // on __float, error 0, // on __identifier, error 0, // on __integer, error @@ -14131,7 +16449,11 @@ mod __parse__model { 0, // on string_literal, error 0, // on string_literal?, error 0, // on term, error - // State 105 + 0, // on units_declaration, error + 0, // on units_declaration?, error + 0, // on value_declaration, error + 0, // on value_declaration?, error + // State 113 0, // on __float, error 0, // on __identifier, error 0, // on __integer, error @@ -14156,7 +16478,11 @@ mod __parse__model { 0, // on string_literal, error 0, // on string_literal?, error 0, // on term, error - // State 106 + 0, // on units_declaration, error + 0, // on units_declaration?, error + 0, // on value_declaration, error + 0, // on value_declaration?, error + // State 114 0, // on __float, error 0, // on __identifier, error 0, // on __integer, error @@ -14181,7 +16507,11 @@ mod __parse__model { 0, // on string_literal, error 0, // on string_literal?, error 0, // on term, error - // State 107 + 0, // on units_declaration, error + 0, // on units_declaration?, error + 0, // on value_declaration, error + 0, // on value_declaration?, error + // State 115 0, // on __float, error 0, // on __identifier, error 0, // on __integer, error @@ -14206,7 +16536,11 @@ mod __parse__model { 0, // on string_literal, error 0, // on string_literal?, error 0, // on term, error - // State 108 + 0, // on units_declaration, error + 0, // on units_declaration?, error + 0, // on value_declaration, error + 0, // on value_declaration?, error + // State 116 0, // on __float, error 0, // on __identifier, error 0, // on __integer, error @@ -14231,7 +16565,11 @@ mod __parse__model { 0, // on string_literal, error 0, // on string_literal?, error 0, // on term, error - // State 109 + 0, // on units_declaration, error + 0, // on units_declaration?, error + 0, // on value_declaration, error + 0, // on value_declaration?, error + // State 117 0, // on __float, error 0, // on __identifier, error 0, // on __integer, error @@ -14256,7 +16594,11 @@ mod __parse__model { 0, // on string_literal, error 0, // on string_literal?, error 0, // on term, error - // State 110 + 0, // on units_declaration, error + 0, // on units_declaration?, error + 0, // on value_declaration, error + 0, // on value_declaration?, error + // State 118 0, // on __float, error 0, // on __identifier, error 0, // on __integer, error @@ -14281,7 +16623,11 @@ mod __parse__model { 0, // on string_literal, error 0, // on string_literal?, error 0, // on term, error - // State 111 + 0, // on units_declaration, error + 0, // on units_declaration?, error + 0, // on value_declaration, error + 0, // on value_declaration?, error + // State 119 0, // on __float, error 0, // on __identifier, error 0, // on __integer, error @@ -14294,19 +16640,23 @@ mod __parse__model { 0, // on connect_clause, error 0, // on connect_clause*, error 0, // on connect_clause+, error - 163, // on expr, goto 162 - 63, // on factor, goto 62 - 64, // on float, goto 63 - 65, // on identifier, goto 64 - 66, // on integer, goto 65 + 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 - 67, // on term, goto 66 - // State 112 + 0, // on term, error + 0, // on units_declaration, error + 0, // on units_declaration?, error + 0, // on value_declaration, error + 0, // on value_declaration?, error + // State 120 0, // on __float, error 0, // on __identifier, error 0, // on __integer, error @@ -14321,17 +16671,79 @@ mod __parse__model { 0, // on connect_clause+, error 0, // on expr, error 0, // on factor, error - 108, // on float, goto 107 - 109, // on identifier, goto 108 - 110, // on integer, goto 109 + 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 - 164, // on term, goto 163 - // State 113 + 0, // on term, error + 0, // on units_declaration, error + 0, // on units_declaration?, error + 0, // on value_declaration, error + 0, // on value_declaration?, error + // State 121 + 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 + 180, // on expr, goto 179 + 66, // on factor, goto 65 + 67, // on float, goto 66 + 68, // on identifier, goto 67 + 69, // on integer, goto 68 + 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 + 70, // on term, goto 69 + 0, // on units_declaration, error + 0, // on units_declaration?, error + 0, // on value_declaration, error + 0, // on value_declaration?, error + // State 122 + 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 + 118, // on float, goto 117 + 119, // on identifier, goto 118 + 120, // on integer, goto 119 + 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 + 181, // on term, goto 180 + 0, // on units_declaration, error + 0, // on units_declaration?, error + 0, // on value_declaration, error + 0, // on value_declaration?, error + // State 123 0, // on __float, error 0, // on __identifier, error 0, // on __integer, error @@ -14356,7 +16768,11 @@ mod __parse__model { 0, // on string_literal, error 0, // on string_literal?, error 0, // on term, error - // State 114 + 0, // on units_declaration, error + 0, // on units_declaration?, error + 0, // on value_declaration, error + 0, // on value_declaration?, error + // State 124 0, // on __float, error 0, // on __identifier, error 0, // on __integer, error @@ -14381,7 +16797,11 @@ mod __parse__model { 0, // on string_literal, error 0, // on string_literal?, error 0, // on term, error - // State 115 + 0, // on units_declaration, error + 0, // on units_declaration?, error + 0, // on value_declaration, error + 0, // on value_declaration?, error + // State 125 0, // on __float, error 0, // on __identifier, error 0, // on __integer, error @@ -14406,7 +16826,11 @@ mod __parse__model { 0, // on string_literal, error 0, // on string_literal?, error 0, // on term, error - // State 116 + 0, // on units_declaration, error + 0, // on units_declaration?, error + 0, // on value_declaration, error + 0, // on value_declaration?, error + // State 126 0, // on __float, error 0, // on __identifier, error 0, // on __integer, error @@ -14431,7 +16855,11 @@ mod __parse__model { 0, // on string_literal, error 0, // on string_literal?, error 0, // on term, error - // State 117 + 0, // on units_declaration, error + 0, // on units_declaration?, error + 0, // on value_declaration, error + 0, // on value_declaration?, error + // State 127 0, // on __float, error 0, // on __identifier, error 0, // on __integer, error @@ -14456,7 +16884,11 @@ mod __parse__model { 0, // on string_literal, error 0, // on string_literal?, error 0, // on term, error - // State 118 + 0, // on units_declaration, error + 0, // on units_declaration?, error + 0, // on value_declaration, error + 0, // on value_declaration?, error + // State 128 0, // on __float, error 0, // on __identifier, error 0, // on __integer, error @@ -14481,7 +16913,11 @@ mod __parse__model { 0, // on string_literal, error 0, // on string_literal?, error 0, // on term, error - // State 119 + 0, // on units_declaration, error + 0, // on units_declaration?, error + 0, // on value_declaration, error + 0, // on value_declaration?, error + // State 129 0, // on __float, error 0, // on __identifier, error 0, // on __integer, error @@ -14506,7 +16942,11 @@ mod __parse__model { 0, // on string_literal, error 0, // on string_literal?, error 0, // on term, error - // State 120 + 0, // on units_declaration, error + 0, // on units_declaration?, error + 0, // on value_declaration, error + 0, // on value_declaration?, error + // State 130 0, // on __float, error 0, // on __identifier, error 0, // on __integer, error @@ -14531,7 +16971,11 @@ mod __parse__model { 0, // on string_literal, error 0, // on string_literal?, error 0, // on term, error - // State 121 + 0, // on units_declaration, error + 0, // on units_declaration?, error + 0, // on value_declaration, error + 0, // on value_declaration?, error + // State 131 0, // on __float, error 0, // on __identifier, error 0, // on __integer, error @@ -14556,7 +17000,11 @@ mod __parse__model { 0, // on string_literal, error 0, // on string_literal?, error 0, // on term, error - // State 122 + 0, // on units_declaration, error + 0, // on units_declaration?, error + 0, // on value_declaration, error + 0, // on value_declaration?, error + // State 132 0, // on __float, error 0, // on __identifier, error 0, // on __integer, error @@ -14581,7 +17029,11 @@ mod __parse__model { 0, // on string_literal, error 0, // on string_literal?, error 0, // on term, error - // State 123 + 0, // on units_declaration, error + 0, // on units_declaration?, error + 0, // on value_declaration, error + 0, // on value_declaration?, error + // State 133 0, // on __float, error 0, // on __identifier, error 0, // on __integer, error @@ -14595,18 +17047,22 @@ mod __parse__model { 0, // on connect_clause*, error 0, // on connect_clause+, error 0, // on expr, error - 168, // on factor, goto 167 - 64, // on float, goto 63 - 65, // on identifier, goto 64 - 66, // on integer, goto 65 + 185, // on factor, goto 184 + 67, // on float, goto 66 + 68, // on identifier, goto 67 + 69, // on integer, goto 68 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 - 67, // on term, goto 66 - // State 124 + 70, // on term, goto 69 + 0, // on units_declaration, error + 0, // on units_declaration?, error + 0, // on value_declaration, error + 0, // on value_declaration?, error + // State 134 0, // on __float, error 0, // on __identifier, error 0, // on __integer, error @@ -14620,18 +17076,22 @@ mod __parse__model { 0, // on connect_clause*, error 0, // on connect_clause+, error 0, // on expr, error - 169, // on factor, goto 168 - 64, // on float, goto 63 - 65, // on identifier, goto 64 - 66, // on integer, goto 65 + 186, // on factor, goto 185 + 67, // on float, goto 66 + 68, // on identifier, goto 67 + 69, // on integer, goto 68 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 - 67, // on term, goto 66 - // State 125 + 70, // on term, goto 69 + 0, // on units_declaration, error + 0, // on units_declaration?, error + 0, // on value_declaration, error + 0, // on value_declaration?, error + // State 135 0, // on __float, error 0, // on __identifier, error 0, // on __integer, error @@ -14646,17 +17106,21 @@ mod __parse__model { 0, // on connect_clause+, error 0, // on expr, error 0, // on factor, error - 64, // on float, goto 63 - 65, // on identifier, goto 64 - 66, // on integer, goto 65 + 67, // on float, goto 66 + 68, // on identifier, goto 67 + 69, // on integer, goto 68 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 - 170, // on term, goto 169 - // State 126 + 187, // on term, goto 186 + 0, // on units_declaration, error + 0, // on units_declaration?, error + 0, // on value_declaration, error + 0, // on value_declaration?, error + // State 136 0, // on __float, error 0, // on __identifier, error 0, // on __integer, error @@ -14671,17 +17135,21 @@ mod __parse__model { 0, // on connect_clause+, error 0, // on expr, error 0, // on factor, error - 64, // on float, goto 63 - 65, // on identifier, goto 64 - 66, // on integer, goto 65 + 67, // on float, goto 66 + 68, // on identifier, goto 67 + 69, // on integer, goto 68 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 - 171, // on term, goto 170 - // State 127 + 188, // on term, goto 187 + 0, // on units_declaration, error + 0, // on units_declaration?, error + 0, // on value_declaration, error + 0, // on value_declaration?, error + // State 137 0, // on __float, error 0, // on __identifier, error 0, // on __integer, error @@ -14696,17 +17164,21 @@ mod __parse__model { 0, // on connect_clause+, error 0, // on expr, error 0, // on factor, error - 64, // on float, goto 63 - 65, // on identifier, goto 64 - 66, // on integer, goto 65 + 67, // on float, goto 66 + 68, // on identifier, goto 67 + 69, // on integer, goto 68 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 - 172, // on term, goto 171 - // State 128 + 189, // on term, goto 188 + 0, // on units_declaration, error + 0, // on units_declaration?, error + 0, // on value_declaration, error + 0, // on value_declaration?, error + // State 138 0, // on __float, error 0, // on __identifier, error 0, // on __integer, error @@ -14731,7 +17203,11 @@ mod __parse__model { 0, // on string_literal, error 0, // on string_literal?, error 0, // on term, error - // State 129 + 0, // on units_declaration, error + 0, // on units_declaration?, error + 0, // on value_declaration, error + 0, // on value_declaration?, error + // State 139 0, // on __float, error 0, // on __identifier, error 0, // on __integer, error @@ -14756,7 +17232,11 @@ mod __parse__model { 0, // on string_literal, error 0, // on string_literal?, error 0, // on term, error - // State 130 + 0, // on units_declaration, error + 0, // on units_declaration?, error + 0, // on value_declaration, error + 0, // on value_declaration?, error + // State 140 0, // on __float, error 0, // on __identifier, error 0, // on __integer, error @@ -14769,19 +17249,23 @@ mod __parse__model { 0, // on connect_clause, error 0, // on connect_clause*, error 0, // on connect_clause+, error - 174, // on expr, goto 173 - 63, // on factor, goto 62 - 64, // on float, goto 63 - 65, // on identifier, goto 64 - 66, // on integer, goto 65 + 191, // on expr, goto 190 + 66, // on factor, goto 65 + 67, // on float, goto 66 + 68, // on identifier, goto 67 + 69, // on integer, goto 68 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 - 67, // on term, goto 66 - // State 131 + 70, // on term, goto 69 + 0, // on units_declaration, error + 0, // on units_declaration?, error + 0, // on value_declaration, error + 0, // on value_declaration?, error + // State 141 0, // on __float, error 0, // on __identifier, error 0, // on __integer, error @@ -14794,19 +17278,23 @@ mod __parse__model { 0, // on connect_clause, error 0, // on connect_clause*, error 0, // on connect_clause+, error - 175, // on expr, goto 174 - 63, // on factor, goto 62 - 64, // on float, goto 63 - 65, // on identifier, goto 64 - 66, // on integer, goto 65 + 192, // on expr, goto 191 + 66, // on factor, goto 65 + 67, // on float, goto 66 + 68, // on identifier, goto 67 + 69, // on integer, goto 68 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 - 67, // on term, goto 66 - // State 132 + 70, // on term, goto 69 + 0, // on units_declaration, error + 0, // on units_declaration?, error + 0, // on value_declaration, error + 0, // on value_declaration?, error + // State 142 0, // on __float, error 0, // on __identifier, error 0, // on __integer, error @@ -14831,7 +17319,11 @@ mod __parse__model { 0, // on string_literal, error 0, // on string_literal?, error 0, // on term, error - // State 133 + 0, // on units_declaration, error + 0, // on units_declaration?, error + 0, // on value_declaration, error + 0, // on value_declaration?, error + // State 143 0, // on __float, error 0, // on __identifier, error 0, // on __integer, error @@ -14856,7 +17348,11 @@ mod __parse__model { 0, // on string_literal, error 0, // on string_literal?, error 0, // on term, error - // State 134 + 0, // on units_declaration, error + 0, // on units_declaration?, error + 0, // on value_declaration, error + 0, // on value_declaration?, error + // State 144 0, // on __float, error 0, // on __identifier, error 0, // on __integer, error @@ -14881,7 +17377,11 @@ mod __parse__model { 0, // on string_literal, error 0, // on string_literal?, error 0, // on term, error - // State 135 + 0, // on units_declaration, error + 0, // on units_declaration?, error + 0, // on value_declaration, error + 0, // on value_declaration?, error + // State 145 0, // on __float, error 0, // on __identifier, error 0, // on __integer, error @@ -14906,7 +17406,11 @@ mod __parse__model { 0, // on string_literal, error 0, // on string_literal?, error 0, // on term, error - // State 136 + 0, // on units_declaration, error + 0, // on units_declaration?, error + 0, // on value_declaration, error + 0, // on value_declaration?, error + // State 146 0, // on __float, error 0, // on __identifier, error 0, // on __integer, error @@ -14931,7 +17435,11 @@ mod __parse__model { 0, // on string_literal, error 0, // on string_literal?, error 0, // on term, error - // State 137 + 0, // on units_declaration, error + 0, // on units_declaration?, error + 0, // on value_declaration, error + 0, // on value_declaration?, error + // State 147 0, // on __float, error 0, // on __identifier, error 0, // on __integer, error @@ -14947,7 +17455,7 @@ mod __parse__model { 0, // on expr, error 0, // on factor, error 0, // on float, error - 179, // on identifier, goto 178 + 196, // on identifier, goto 195 0, // on integer, error 0, // on model, error 0, // on simple_equation, error @@ -14956,7 +17464,11 @@ mod __parse__model { 0, // on string_literal, error 0, // on string_literal?, error 0, // on term, error - // State 138 + 0, // on units_declaration, error + 0, // on units_declaration?, error + 0, // on value_declaration, error + 0, // on value_declaration?, error + // State 148 0, // on __float, error 0, // on __identifier, error 0, // on __integer, error @@ -14981,7 +17493,11 @@ mod __parse__model { 0, // on string_literal, error 0, // on string_literal?, error 0, // on term, error - // State 139 + 0, // on units_declaration, error + 0, // on units_declaration?, error + 0, // on value_declaration, error + 0, // on value_declaration?, error + // State 149 0, // on __float, error 0, // on __identifier, error 0, // on __integer, error @@ -15006,7 +17522,11 @@ mod __parse__model { 0, // on string_literal, error 0, // on string_literal?, error 0, // on term, error - // State 140 + 0, // on units_declaration, error + 0, // on units_declaration?, error + 0, // on value_declaration, error + 0, // on value_declaration?, error + // State 150 0, // on __float, error 0, // on __identifier, error 0, // on __integer, error @@ -15031,7 +17551,11 @@ mod __parse__model { 0, // on string_literal, error 0, // on string_literal?, error 0, // on term, error - // State 141 + 0, // on units_declaration, error + 0, // on units_declaration?, error + 0, // on value_declaration, error + 0, // on value_declaration?, error + // State 151 0, // on __float, error 0, // on __identifier, error 0, // on __integer, error @@ -15056,7 +17580,11 @@ mod __parse__model { 0, // on string_literal, error 0, // on string_literal?, error 0, // on term, error - // State 142 + 0, // on units_declaration, error + 0, // on units_declaration?, error + 0, // on value_declaration, error + 0, // on value_declaration?, error + // State 152 0, // on __float, error 0, // on __identifier, error 0, // on __integer, error @@ -15078,10 +17606,43 @@ mod __parse__model { 0, // on simple_equation, error 0, // on simple_equation*, error 0, // on simple_equation+, error - 182, // on string_literal, goto 181 + 0, // on string_literal, error 0, // on string_literal?, error 0, // on term, error - // State 143 + 0, // on units_declaration, error + 0, // on units_declaration?, error + 0, // on value_declaration, error + 0, // on value_declaration?, error + // State 153 + 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 + 200, // on string_literal, goto 199 + 0, // on string_literal?, error + 0, // on term, error + 0, // on units_declaration, error + 0, // on units_declaration?, error + 0, // on value_declaration, error + 0, // on value_declaration?, error + // State 154 0, // on __float, error 0, // on __identifier, error 0, // on __integer, error @@ -15106,7 +17667,11 @@ mod __parse__model { 0, // on string_literal, error 0, // on string_literal?, error 0, // on term, error - // State 144 + 0, // on units_declaration, error + 0, // on units_declaration?, error + 0, // on value_declaration, error + 0, // on value_declaration?, error + // State 155 0, // on __float, error 0, // on __identifier, error 0, // on __integer, error @@ -15120,18 +17685,22 @@ mod __parse__model { 0, // on connect_clause*, error 0, // on connect_clause+, error 0, // on expr, error - 185, // on factor, goto 184 - 91, // on float, goto 90 - 92, // on identifier, goto 91 - 93, // on integer, goto 92 + 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 - 94, // on term, goto 93 - // State 145 + 0, // on term, error + 0, // on units_declaration, error + 0, // on units_declaration?, error + 0, // on value_declaration, error + 0, // on value_declaration?, error + // State 156 0, // on __float, error 0, // on __identifier, error 0, // on __integer, error @@ -15145,18 +17714,22 @@ mod __parse__model { 0, // on connect_clause*, error 0, // on connect_clause+, error 0, // on expr, error - 186, // on factor, goto 185 - 91, // on float, goto 90 - 92, // on identifier, goto 91 - 93, // on integer, goto 92 + 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 - 94, // on term, goto 93 - // State 146 + 0, // on term, error + 0, // on units_declaration, error + 0, // on units_declaration?, error + 0, // on value_declaration, error + 0, // on value_declaration?, error + // State 157 0, // on __float, error 0, // on __identifier, error 0, // on __integer, error @@ -15181,7 +17754,11 @@ mod __parse__model { 0, // on string_literal, error 0, // on string_literal?, error 0, // on term, error - // State 147 + 0, // on units_declaration, error + 0, // on units_declaration?, error + 0, // on value_declaration, error + 0, // on value_declaration?, error + // State 158 0, // on __float, error 0, // on __identifier, error 0, // on __integer, error @@ -15196,17 +17773,21 @@ mod __parse__model { 0, // on connect_clause+, error 0, // on expr, error 0, // on factor, error - 91, // on float, goto 90 - 92, // on identifier, goto 91 - 93, // on integer, goto 92 + 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 - 187, // on term, goto 186 - // State 148 + 0, // on term, error + 0, // on units_declaration, error + 0, // on units_declaration?, error + 0, // on value_declaration, error + 0, // on value_declaration?, error + // State 159 0, // on __float, error 0, // on __identifier, error 0, // on __integer, error @@ -15221,17 +17802,21 @@ mod __parse__model { 0, // on connect_clause+, error 0, // on expr, error 0, // on factor, error - 91, // on float, goto 90 - 92, // on identifier, goto 91 - 93, // on integer, goto 92 + 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 - 188, // on term, goto 187 - // State 149 + 0, // on term, error + 0, // on units_declaration, error + 0, // on units_declaration?, error + 0, // on value_declaration, error + 0, // on value_declaration?, error + // State 160 0, // on __float, error 0, // on __identifier, error 0, // on __integer, error @@ -15246,17 +17831,195 @@ mod __parse__model { 0, // on connect_clause+, error 0, // on expr, error 0, // on factor, error - 91, // on float, goto 90 - 92, // on identifier, goto 91 - 93, // on integer, goto 92 + 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 - 189, // on term, goto 188 - // State 150 + 0, // on term, error + 0, // on units_declaration, error + 0, // on units_declaration?, error + 0, // on value_declaration, error + 0, // on value_declaration?, 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 + 204, // on string_literal, goto 203 + 0, // on string_literal?, error + 0, // on term, error + 0, // on units_declaration, error + 0, // on units_declaration?, error + 0, // on value_declaration, error + 0, // on value_declaration?, 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 + 206, // on factor, goto 205 + 101, // on float, goto 100 + 102, // on identifier, goto 101 + 103, // on integer, goto 102 + 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 + 0, // on units_declaration, error + 0, // on units_declaration?, error + 0, // on value_declaration, error + 0, // on value_declaration?, 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 + 207, // on factor, goto 206 + 101, // on float, goto 100 + 102, // on identifier, goto 101 + 103, // on integer, goto 102 + 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 + 0, // on units_declaration, error + 0, // on units_declaration?, error + 0, // on value_declaration, error + 0, // on value_declaration?, 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 + 101, // on float, goto 100 + 102, // on identifier, goto 101 + 103, // on integer, goto 102 + 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 + 208, // on term, goto 207 + 0, // on units_declaration, error + 0, // on units_declaration?, error + 0, // on value_declaration, error + 0, // on value_declaration?, error + // State 165 + 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 + 101, // on float, goto 100 + 102, // on identifier, goto 101 + 103, // on integer, goto 102 + 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 + 209, // on term, goto 208 + 0, // on units_declaration, error + 0, // on units_declaration?, error + 0, // on value_declaration, error + 0, // on value_declaration?, error + // State 166 + 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 + 101, // on float, goto 100 + 102, // on identifier, goto 101 + 103, // on integer, goto 102 + 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 + 210, // on term, goto 209 + 0, // on units_declaration, error + 0, // on units_declaration?, error + 0, // on value_declaration, error + 0, // on value_declaration?, error + // State 167 0, // on __float, error 0, // on __identifier, error 0, // on __integer, error @@ -15281,7 +18044,11 @@ mod __parse__model { 0, // on string_literal, error 0, // on string_literal?, error 0, // on term, error - // State 151 + 0, // on units_declaration, error + 0, // on units_declaration?, error + 0, // on value_declaration, error + 0, // on value_declaration?, error + // State 168 0, // on __float, error 0, // on __identifier, error 0, // on __integer, error @@ -15306,7 +18073,11 @@ mod __parse__model { 0, // on string_literal, error 0, // on string_literal?, error 0, // on term, error - // State 152 + 0, // on units_declaration, error + 0, // on units_declaration?, error + 0, // on value_declaration, error + 0, // on value_declaration?, error + // State 169 0, // on __float, error 0, // on __identifier, error 0, // on __integer, error @@ -15319,19 +18090,23 @@ mod __parse__model { 0, // on connect_clause, error 0, // on connect_clause*, error 0, // on connect_clause+, error - 191, // on expr, goto 190 - 63, // on factor, goto 62 - 64, // on float, goto 63 - 65, // on identifier, goto 64 - 66, // on integer, goto 65 + 212, // on expr, goto 211 + 66, // on factor, goto 65 + 67, // on float, goto 66 + 68, // on identifier, goto 67 + 69, // on integer, goto 68 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 - 67, // on term, goto 66 - // State 153 + 70, // on term, goto 69 + 0, // on units_declaration, error + 0, // on units_declaration?, error + 0, // on value_declaration, error + 0, // on value_declaration?, error + // State 170 0, // on __float, error 0, // on __identifier, error 0, // on __integer, error @@ -15344,19 +18119,23 @@ mod __parse__model { 0, // on connect_clause, error 0, // on connect_clause*, error 0, // on connect_clause+, error - 192, // on expr, goto 191 - 63, // on factor, goto 62 - 64, // on float, goto 63 - 65, // on identifier, goto 64 - 66, // on integer, goto 65 + 213, // on expr, goto 212 + 66, // on factor, goto 65 + 67, // on float, goto 66 + 68, // on identifier, goto 67 + 69, // on integer, goto 68 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 - 67, // on term, goto 66 - // State 154 + 70, // on term, goto 69 + 0, // on units_declaration, error + 0, // on units_declaration?, error + 0, // on value_declaration, error + 0, // on value_declaration?, error + // State 171 0, // on __float, error 0, // on __identifier, error 0, // on __integer, error @@ -15381,7 +18160,11 @@ mod __parse__model { 0, // on string_literal, error 0, // on string_literal?, error 0, // on term, error - // State 155 + 0, // on units_declaration, error + 0, // on units_declaration?, error + 0, // on value_declaration, error + 0, // on value_declaration?, error + // State 172 0, // on __float, error 0, // on __identifier, error 0, // on __integer, error @@ -15406,7 +18189,11 @@ mod __parse__model { 0, // on string_literal, error 0, // on string_literal?, error 0, // on term, error - // State 156 + 0, // on units_declaration, error + 0, // on units_declaration?, error + 0, // on value_declaration, error + 0, // on value_declaration?, error + // State 173 0, // on __float, error 0, // on __identifier, error 0, // on __integer, error @@ -15420,18 +18207,22 @@ mod __parse__model { 0, // on connect_clause*, error 0, // on connect_clause+, error 0, // on expr, error - 194, // on factor, goto 193 - 108, // on float, goto 107 - 109, // on identifier, goto 108 - 110, // on integer, goto 109 + 215, // on factor, goto 214 + 118, // on float, goto 117 + 119, // on identifier, goto 118 + 120, // on integer, goto 119 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 - 111, // on term, goto 110 - // State 157 + 121, // on term, goto 120 + 0, // on units_declaration, error + 0, // on units_declaration?, error + 0, // on value_declaration, error + 0, // on value_declaration?, error + // State 174 0, // on __float, error 0, // on __identifier, error 0, // on __integer, error @@ -15445,18 +18236,22 @@ mod __parse__model { 0, // on connect_clause*, error 0, // on connect_clause+, error 0, // on expr, error - 195, // on factor, goto 194 - 108, // on float, goto 107 - 109, // on identifier, goto 108 - 110, // on integer, goto 109 + 216, // on factor, goto 215 + 118, // on float, goto 117 + 119, // on identifier, goto 118 + 120, // on integer, goto 119 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 - 111, // on term, goto 110 - // State 158 + 121, // on term, goto 120 + 0, // on units_declaration, error + 0, // on units_declaration?, error + 0, // on value_declaration, error + 0, // on value_declaration?, error + // State 175 0, // on __float, error 0, // on __identifier, error 0, // on __integer, error @@ -15481,7 +18276,11 @@ mod __parse__model { 0, // on string_literal, error 0, // on string_literal?, error 0, // on term, error - // State 159 + 0, // on units_declaration, error + 0, // on units_declaration?, error + 0, // on value_declaration, error + 0, // on value_declaration?, error + // State 176 0, // on __float, error 0, // on __identifier, error 0, // on __integer, error @@ -15496,17 +18295,21 @@ mod __parse__model { 0, // on connect_clause+, error 0, // on expr, error 0, // on factor, error - 108, // on float, goto 107 - 109, // on identifier, goto 108 - 110, // on integer, goto 109 + 118, // on float, goto 117 + 119, // on identifier, goto 118 + 120, // on integer, goto 119 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 - 196, // on term, goto 195 - // State 160 + 217, // on term, goto 216 + 0, // on units_declaration, error + 0, // on units_declaration?, error + 0, // on value_declaration, error + 0, // on value_declaration?, error + // State 177 0, // on __float, error 0, // on __identifier, error 0, // on __integer, error @@ -15521,17 +18324,21 @@ mod __parse__model { 0, // on connect_clause+, error 0, // on expr, error 0, // on factor, error - 108, // on float, goto 107 - 109, // on identifier, goto 108 - 110, // on integer, goto 109 + 118, // on float, goto 117 + 119, // on identifier, goto 118 + 120, // on integer, goto 119 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 - 197, // on term, goto 196 - // State 161 + 218, // on term, goto 217 + 0, // on units_declaration, error + 0, // on units_declaration?, error + 0, // on value_declaration, error + 0, // on value_declaration?, error + // State 178 0, // on __float, error 0, // on __identifier, error 0, // on __integer, error @@ -15546,17 +18353,21 @@ mod __parse__model { 0, // on connect_clause+, error 0, // on expr, error 0, // on factor, error - 108, // on float, goto 107 - 109, // on identifier, goto 108 - 110, // on integer, goto 109 + 118, // on float, goto 117 + 119, // on identifier, goto 118 + 120, // on integer, goto 119 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 - 198, // on term, goto 197 - // State 162 + 219, // on term, goto 218 + 0, // on units_declaration, error + 0, // on units_declaration?, error + 0, // on value_declaration, error + 0, // on value_declaration?, error + // State 179 0, // on __float, error 0, // on __identifier, error 0, // on __integer, error @@ -15581,7 +18392,11 @@ mod __parse__model { 0, // on string_literal, error 0, // on string_literal?, error 0, // on term, error - // State 163 + 0, // on units_declaration, error + 0, // on units_declaration?, error + 0, // on value_declaration, error + 0, // on value_declaration?, error + // State 180 0, // on __float, error 0, // on __identifier, error 0, // on __integer, error @@ -15606,7 +18421,11 @@ mod __parse__model { 0, // on string_literal, error 0, // on string_literal?, error 0, // on term, error - // State 164 + 0, // on units_declaration, error + 0, // on units_declaration?, error + 0, // on value_declaration, error + 0, // on value_declaration?, error + // State 181 0, // on __float, error 0, // on __identifier, error 0, // on __integer, error @@ -15619,19 +18438,23 @@ mod __parse__model { 0, // on connect_clause, error 0, // on connect_clause*, error 0, // on connect_clause+, error - 200, // on expr, goto 199 - 63, // on factor, goto 62 - 64, // on float, goto 63 - 65, // on identifier, goto 64 - 66, // on integer, goto 65 + 221, // on expr, goto 220 + 66, // on factor, goto 65 + 67, // on float, goto 66 + 68, // on identifier, goto 67 + 69, // on integer, goto 68 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 - 67, // on term, goto 66 - // State 165 + 70, // on term, goto 69 + 0, // on units_declaration, error + 0, // on units_declaration?, error + 0, // on value_declaration, error + 0, // on value_declaration?, error + // State 182 0, // on __float, error 0, // on __identifier, error 0, // on __integer, error @@ -15644,19 +18467,23 @@ mod __parse__model { 0, // on connect_clause, error 0, // on connect_clause*, error 0, // on connect_clause+, error - 201, // on expr, goto 200 - 63, // on factor, goto 62 - 64, // on float, goto 63 - 65, // on identifier, goto 64 - 66, // on integer, goto 65 + 222, // on expr, goto 221 + 66, // on factor, goto 65 + 67, // on float, goto 66 + 68, // on identifier, goto 67 + 69, // on integer, goto 68 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 - 67, // on term, goto 66 - // State 166 + 70, // on term, goto 69 + 0, // on units_declaration, error + 0, // on units_declaration?, error + 0, // on value_declaration, error + 0, // on value_declaration?, error + // State 183 0, // on __float, error 0, // on __identifier, error 0, // on __integer, error @@ -15681,7 +18508,11 @@ mod __parse__model { 0, // on string_literal, error 0, // on string_literal?, error 0, // on term, error - // State 167 + 0, // on units_declaration, error + 0, // on units_declaration?, error + 0, // on value_declaration, error + 0, // on value_declaration?, error + // State 184 0, // on __float, error 0, // on __identifier, error 0, // on __integer, error @@ -15706,7 +18537,11 @@ mod __parse__model { 0, // on string_literal, error 0, // on string_literal?, error 0, // on term, error - // State 168 + 0, // on units_declaration, error + 0, // on units_declaration?, error + 0, // on value_declaration, error + 0, // on value_declaration?, error + // State 185 0, // on __float, error 0, // on __identifier, error 0, // on __integer, error @@ -15731,7 +18566,11 @@ mod __parse__model { 0, // on string_literal, error 0, // on string_literal?, error 0, // on term, error - // State 169 + 0, // on units_declaration, error + 0, // on units_declaration?, error + 0, // on value_declaration, error + 0, // on value_declaration?, error + // State 186 0, // on __float, error 0, // on __identifier, error 0, // on __integer, error @@ -15756,7 +18595,11 @@ mod __parse__model { 0, // on string_literal, error 0, // on string_literal?, error 0, // on term, error - // State 170 + 0, // on units_declaration, error + 0, // on units_declaration?, error + 0, // on value_declaration, error + 0, // on value_declaration?, error + // State 187 0, // on __float, error 0, // on __identifier, error 0, // on __integer, error @@ -15781,7 +18624,11 @@ mod __parse__model { 0, // on string_literal, error 0, // on string_literal?, error 0, // on term, error - // State 171 + 0, // on units_declaration, error + 0, // on units_declaration?, error + 0, // on value_declaration, error + 0, // on value_declaration?, error + // State 188 0, // on __float, error 0, // on __identifier, error 0, // on __integer, error @@ -15806,7 +18653,11 @@ mod __parse__model { 0, // on string_literal, error 0, // on string_literal?, error 0, // on term, error - // State 172 + 0, // on units_declaration, error + 0, // on units_declaration?, error + 0, // on value_declaration, error + 0, // on value_declaration?, error + // State 189 0, // on __float, error 0, // on __identifier, error 0, // on __integer, error @@ -15831,7 +18682,11 @@ mod __parse__model { 0, // on string_literal, error 0, // on string_literal?, error 0, // on term, error - // State 173 + 0, // on units_declaration, error + 0, // on units_declaration?, error + 0, // on value_declaration, error + 0, // on value_declaration?, error + // State 190 0, // on __float, error 0, // on __identifier, error 0, // on __integer, error @@ -15856,7 +18711,11 @@ mod __parse__model { 0, // on string_literal, error 0, // on string_literal?, error 0, // on term, error - // State 174 + 0, // on units_declaration, error + 0, // on units_declaration?, error + 0, // on value_declaration, error + 0, // on value_declaration?, error + // State 191 0, // on __float, error 0, // on __identifier, error 0, // on __integer, error @@ -15881,7 +18740,11 @@ mod __parse__model { 0, // on string_literal, error 0, // on string_literal?, error 0, // on term, error - // State 175 + 0, // on units_declaration, error + 0, // on units_declaration?, error + 0, // on value_declaration, error + 0, // on value_declaration?, error + // State 192 0, // on __float, error 0, // on __identifier, error 0, // on __integer, error @@ -15906,7 +18769,11 @@ mod __parse__model { 0, // on string_literal, error 0, // on string_literal?, error 0, // on term, error - // State 176 + 0, // on units_declaration, error + 0, // on units_declaration?, error + 0, // on value_declaration, error + 0, // on value_declaration?, error + // State 193 0, // on __float, error 0, // on __identifier, error 0, // on __integer, error @@ -15922,7 +18789,7 @@ mod __parse__model { 0, // on expr, error 0, // on factor, error 0, // on float, error - 204, // on identifier, goto 203 + 225, // on identifier, goto 224 0, // on integer, error 0, // on model, error 0, // on simple_equation, error @@ -15931,7 +18798,11 @@ mod __parse__model { 0, // on string_literal, error 0, // on string_literal?, error 0, // on term, error - // State 177 + 0, // on units_declaration, error + 0, // on units_declaration?, error + 0, // on value_declaration, error + 0, // on value_declaration?, error + // State 194 0, // on __float, error 0, // on __identifier, error 0, // on __integer, error @@ -15956,7 +18827,11 @@ mod __parse__model { 0, // on string_literal, error 0, // on string_literal?, error 0, // on term, error - // State 178 + 0, // on units_declaration, error + 0, // on units_declaration?, error + 0, // on value_declaration, error + 0, // on value_declaration?, error + // State 195 0, // on __float, error 0, // on __identifier, error 0, // on __integer, error @@ -15981,7 +18856,11 @@ mod __parse__model { 0, // on string_literal, error 0, // on string_literal?, error 0, // on term, error - // State 179 + 0, // on units_declaration, error + 0, // on units_declaration?, error + 0, // on value_declaration, error + 0, // on value_declaration?, error + // State 196 0, // on __float, error 0, // on __identifier, error 0, // on __integer, error @@ -16006,7 +18885,11 @@ mod __parse__model { 0, // on string_literal, error 0, // on string_literal?, error 0, // on term, error - // State 180 + 0, // on units_declaration, error + 0, // on units_declaration?, error + 0, // on value_declaration, error + 0, // on value_declaration?, error + // State 197 0, // on __float, error 0, // on __identifier, error 0, // on __integer, error @@ -16031,7 +18914,11 @@ mod __parse__model { 0, // on string_literal, error 0, // on string_literal?, error 0, // on term, error - // State 181 + 0, // on units_declaration, error + 0, // on units_declaration?, error + 0, // on value_declaration, error + 0, // on value_declaration?, error + // State 198 0, // on __float, error 0, // on __identifier, error 0, // on __integer, error @@ -16056,7 +18943,11 @@ mod __parse__model { 0, // on string_literal, error 0, // on string_literal?, error 0, // on term, error - // State 182 + 0, // on units_declaration, error + 0, // on units_declaration?, error + 0, // on value_declaration, error + 0, // on value_declaration?, error + // State 199 0, // on __float, error 0, // on __identifier, error 0, // on __integer, error @@ -16081,7 +18972,11 @@ mod __parse__model { 0, // on string_literal, error 0, // on string_literal?, error 0, // on term, error - // State 183 + 0, // on units_declaration, error + 0, // on units_declaration?, error + 0, // on value_declaration, error + 0, // on value_declaration?, error + // State 200 0, // on __float, error 0, // on __identifier, error 0, // on __integer, error @@ -16106,7 +19001,11 @@ mod __parse__model { 0, // on string_literal, error 0, // on string_literal?, error 0, // on term, error - // State 184 + 0, // on units_declaration, error + 0, // on units_declaration?, error + 0, // on value_declaration, error + 0, // on value_declaration?, error + // State 201 0, // on __float, error 0, // on __identifier, error 0, // on __integer, error @@ -16131,7 +19030,11 @@ mod __parse__model { 0, // on string_literal, error 0, // on string_literal?, error 0, // on term, error - // State 185 + 0, // on units_declaration, error + 0, // on units_declaration?, error + 0, // on value_declaration, error + 0, // on value_declaration?, error + // State 202 0, // on __float, error 0, // on __identifier, error 0, // on __integer, error @@ -16156,7 +19059,11 @@ mod __parse__model { 0, // on string_literal, error 0, // on string_literal?, error 0, // on term, error - // State 186 + 0, // on units_declaration, error + 0, // on units_declaration?, error + 0, // on value_declaration, error + 0, // on value_declaration?, error + // State 203 0, // on __float, error 0, // on __identifier, error 0, // on __integer, error @@ -16181,7 +19088,11 @@ mod __parse__model { 0, // on string_literal, error 0, // on string_literal?, error 0, // on term, error - // State 187 + 0, // on units_declaration, error + 0, // on units_declaration?, error + 0, // on value_declaration, error + 0, // on value_declaration?, error + // State 204 0, // on __float, error 0, // on __identifier, error 0, // on __integer, error @@ -16206,7 +19117,11 @@ mod __parse__model { 0, // on string_literal, error 0, // on string_literal?, error 0, // on term, error - // State 188 + 0, // on units_declaration, error + 0, // on units_declaration?, error + 0, // on value_declaration, error + 0, // on value_declaration?, error + // State 205 0, // on __float, error 0, // on __identifier, error 0, // on __integer, error @@ -16231,7 +19146,11 @@ mod __parse__model { 0, // on string_literal, error 0, // on string_literal?, error 0, // on term, error - // State 189 + 0, // on units_declaration, error + 0, // on units_declaration?, error + 0, // on value_declaration, error + 0, // on value_declaration?, error + // State 206 0, // on __float, error 0, // on __identifier, error 0, // on __integer, error @@ -16256,7 +19175,11 @@ mod __parse__model { 0, // on string_literal, error 0, // on string_literal?, error 0, // on term, error - // State 190 + 0, // on units_declaration, error + 0, // on units_declaration?, error + 0, // on value_declaration, error + 0, // on value_declaration?, error + // State 207 0, // on __float, error 0, // on __identifier, error 0, // on __integer, error @@ -16281,7 +19204,11 @@ mod __parse__model { 0, // on string_literal, error 0, // on string_literal?, error 0, // on term, error - // State 191 + 0, // on units_declaration, error + 0, // on units_declaration?, error + 0, // on value_declaration, error + 0, // on value_declaration?, error + // State 208 0, // on __float, error 0, // on __identifier, error 0, // on __integer, error @@ -16306,7 +19233,11 @@ mod __parse__model { 0, // on string_literal, error 0, // on string_literal?, error 0, // on term, error - // State 192 + 0, // on units_declaration, error + 0, // on units_declaration?, error + 0, // on value_declaration, error + 0, // on value_declaration?, error + // State 209 0, // on __float, error 0, // on __identifier, error 0, // on __integer, error @@ -16331,7 +19262,11 @@ mod __parse__model { 0, // on string_literal, error 0, // on string_literal?, error 0, // on term, error - // State 193 + 0, // on units_declaration, error + 0, // on units_declaration?, error + 0, // on value_declaration, error + 0, // on value_declaration?, error + // State 210 0, // on __float, error 0, // on __identifier, error 0, // on __integer, error @@ -16356,7 +19291,11 @@ mod __parse__model { 0, // on string_literal, error 0, // on string_literal?, error 0, // on term, error - // State 194 + 0, // on units_declaration, error + 0, // on units_declaration?, error + 0, // on value_declaration, error + 0, // on value_declaration?, error + // State 211 0, // on __float, error 0, // on __identifier, error 0, // on __integer, error @@ -16381,7 +19320,11 @@ mod __parse__model { 0, // on string_literal, error 0, // on string_literal?, error 0, // on term, error - // State 195 + 0, // on units_declaration, error + 0, // on units_declaration?, error + 0, // on value_declaration, error + 0, // on value_declaration?, error + // State 212 0, // on __float, error 0, // on __identifier, error 0, // on __integer, error @@ -16406,7 +19349,11 @@ mod __parse__model { 0, // on string_literal, error 0, // on string_literal?, error 0, // on term, error - // State 196 + 0, // on units_declaration, error + 0, // on units_declaration?, error + 0, // on value_declaration, error + 0, // on value_declaration?, error + // State 213 0, // on __float, error 0, // on __identifier, error 0, // on __integer, error @@ -16431,7 +19378,11 @@ mod __parse__model { 0, // on string_literal, error 0, // on string_literal?, error 0, // on term, error - // State 197 + 0, // on units_declaration, error + 0, // on units_declaration?, error + 0, // on value_declaration, error + 0, // on value_declaration?, error + // State 214 0, // on __float, error 0, // on __identifier, error 0, // on __integer, error @@ -16456,7 +19407,11 @@ mod __parse__model { 0, // on string_literal, error 0, // on string_literal?, error 0, // on term, error - // State 198 + 0, // on units_declaration, error + 0, // on units_declaration?, error + 0, // on value_declaration, error + 0, // on value_declaration?, error + // State 215 0, // on __float, error 0, // on __identifier, error 0, // on __integer, error @@ -16481,7 +19436,11 @@ mod __parse__model { 0, // on string_literal, error 0, // on string_literal?, error 0, // on term, error - // State 199 + 0, // on units_declaration, error + 0, // on units_declaration?, error + 0, // on value_declaration, error + 0, // on value_declaration?, error + // State 216 0, // on __float, error 0, // on __identifier, error 0, // on __integer, error @@ -16506,7 +19465,11 @@ mod __parse__model { 0, // on string_literal, error 0, // on string_literal?, error 0, // on term, error - // State 200 + 0, // on units_declaration, error + 0, // on units_declaration?, error + 0, // on value_declaration, error + 0, // on value_declaration?, error + // State 217 0, // on __float, error 0, // on __identifier, error 0, // on __integer, error @@ -16531,7 +19494,11 @@ mod __parse__model { 0, // on string_literal, error 0, // on string_literal?, error 0, // on term, error - // State 201 + 0, // on units_declaration, error + 0, // on units_declaration?, error + 0, // on value_declaration, error + 0, // on value_declaration?, error + // State 218 0, // on __float, error 0, // on __identifier, error 0, // on __integer, error @@ -16556,7 +19523,11 @@ mod __parse__model { 0, // on string_literal, error 0, // on string_literal?, error 0, // on term, error - // State 202 + 0, // on units_declaration, error + 0, // on units_declaration?, error + 0, // on value_declaration, error + 0, // on value_declaration?, error + // State 219 0, // on __float, error 0, // on __identifier, error 0, // on __integer, error @@ -16581,7 +19552,11 @@ mod __parse__model { 0, // on string_literal, error 0, // on string_literal?, error 0, // on term, error - // State 203 + 0, // on units_declaration, error + 0, // on units_declaration?, error + 0, // on value_declaration, error + 0, // on value_declaration?, error + // State 220 0, // on __float, error 0, // on __identifier, error 0, // on __integer, error @@ -16606,7 +19581,11 @@ mod __parse__model { 0, // on string_literal, error 0, // on string_literal?, error 0, // on term, error - // State 204 + 0, // on units_declaration, error + 0, // on units_declaration?, error + 0, // on value_declaration, error + 0, // on value_declaration?, error + // State 221 0, // on __float, error 0, // on __identifier, error 0, // on __integer, error @@ -16631,7 +19610,11 @@ mod __parse__model { 0, // on string_literal, error 0, // on string_literal?, error 0, // on term, error - // State 205 + 0, // on units_declaration, error + 0, // on units_declaration?, error + 0, // on value_declaration, error + 0, // on value_declaration?, error + // State 222 0, // on __float, error 0, // on __identifier, error 0, // on __integer, error @@ -16656,7 +19639,11 @@ mod __parse__model { 0, // on string_literal, error 0, // on string_literal?, error 0, // on term, error - // State 206 + 0, // on units_declaration, error + 0, // on units_declaration?, error + 0, // on value_declaration, error + 0, // on value_declaration?, error + // State 223 0, // on __float, error 0, // on __identifier, error 0, // on __integer, error @@ -16681,7 +19668,11 @@ mod __parse__model { 0, // on string_literal, error 0, // on string_literal?, error 0, // on term, error - // State 207 + 0, // on units_declaration, error + 0, // on units_declaration?, error + 0, // on value_declaration, error + 0, // on value_declaration?, error + // State 224 0, // on __float, error 0, // on __identifier, error 0, // on __integer, error @@ -16706,7 +19697,11 @@ mod __parse__model { 0, // on string_literal, error 0, // on string_literal?, error 0, // on term, error - // State 208 + 0, // on units_declaration, error + 0, // on units_declaration?, error + 0, // on value_declaration, error + 0, // on value_declaration?, error + // State 225 0, // on __float, error 0, // on __identifier, error 0, // on __integer, error @@ -16731,7 +19726,11 @@ mod __parse__model { 0, // on string_literal, error 0, // on string_literal?, error 0, // on term, error - // State 209 + 0, // on units_declaration, error + 0, // on units_declaration?, error + 0, // on value_declaration, error + 0, // on value_declaration?, error + // State 226 0, // on __float, error 0, // on __identifier, error 0, // on __integer, error @@ -16756,7 +19755,11 @@ mod __parse__model { 0, // on string_literal, error 0, // on string_literal?, error 0, // on term, error - // State 210 + 0, // on units_declaration, error + 0, // on units_declaration?, error + 0, // on value_declaration, error + 0, // on value_declaration?, error + // State 227 0, // on __float, error 0, // on __identifier, error 0, // on __integer, error @@ -16781,7 +19784,11 @@ mod __parse__model { 0, // on string_literal, error 0, // on string_literal?, error 0, // on term, error - // State 211 + 0, // on units_declaration, error + 0, // on units_declaration?, error + 0, // on value_declaration, error + 0, // on value_declaration?, error + // State 228 0, // on __float, error 0, // on __identifier, error 0, // on __integer, error @@ -16806,7 +19813,156 @@ mod __parse__model { 0, // on string_literal, error 0, // on string_literal?, error 0, // on term, error - // State 212 + 0, // on units_declaration, error + 0, // on units_declaration?, error + 0, // on value_declaration, error + 0, // on value_declaration?, error + // State 229 + 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 + 0, // on units_declaration, error + 0, // on units_declaration?, error + 0, // on value_declaration, error + 0, // on value_declaration?, error + // State 230 + 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 + 0, // on units_declaration, error + 0, // on units_declaration?, error + 0, // on value_declaration, error + 0, // on value_declaration?, error + // State 231 + 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 + 0, // on units_declaration, error + 0, // on units_declaration?, error + 0, // on value_declaration, error + 0, // on value_declaration?, error + // State 232 + 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 + 0, // on units_declaration, error + 0, // on units_declaration?, error + 0, // on value_declaration, error + 0, // on value_declaration?, error + // State 233 + 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 + 0, // on units_declaration, error + 0, // on units_declaration?, error + 0, // on value_declaration, error + 0, // on value_declaration?, error + // State 234 0, // on __float, error 0, // on __identifier, error 0, // on __integer, error @@ -16831,6 +19987,10 @@ mod __parse__model { 0, // on string_literal, error 0, // on string_literal?, error 0, // on term, error + 0, // on units_declaration, error + 0, // on units_declaration?, error + 0, // on value_declaration, error + 0, // on value_declaration?, error ]; pub fn parse_model< 'input, @@ -16875,6 +20035,7 @@ mod __parse__model { (_, (24, _), _) if true => 24, (_, (25, _), _) if true => 25, (_, (26, _), _) if true => 26, + (_, (27, _), _) if true => 27, _ => { return Err(__lalrpop_util::ParseError::UnrecognizedToken { token: Some(__lookahead), @@ -16884,7 +20045,7 @@ mod __parse__model { }; loop { let __state = *__states.last().unwrap() as usize; - let __action = __ACTION[__state * 27 + __integer]; + let __action = __ACTION[__state * 28 + __integer]; if __action > 0 { let __symbol = match __integer { 0 => match __lookahead.1 { @@ -16980,19 +20141,23 @@ mod __parse__model { _ => unreachable!(), }, 23 => match __lookahead.1 { - (23, __tok0) => __Symbol::Termr_23_22_5c_22_5b_5e_5c_22_5c_5c_5c_5c_5d_2a_5c_22_22_23(__tok0), + (23, __tok0) => __Symbol::Term_22unit_22(__tok0), _ => unreachable!(), }, 24 => match __lookahead.1 { - (24, __tok0) => __Symbol::Termr_23_22_5b_2b_2d_5d_3f_5c_5cd_2b_22_23(__tok0), + (24, __tok0) => __Symbol::Termr_23_22_5c_22_5b_5e_5c_22_5c_5c_5c_5c_5d_2a_5c_22_22_23(__tok0), _ => unreachable!(), }, 25 => match __lookahead.1 { - (25, __tok0) => __Symbol::Termr_23_22_5b_2b_2d_5d_3f_5c_5cd_2b_5c_5c_2e_5c_5cd_2a_28_5beE_5d_5b_2d_2b_5d_3f_5c_5cd_2b_29_3f_22_23(__tok0), + (25, __tok0) => __Symbol::Termr_23_22_5b_2b_2d_5d_3f_5c_5cd_2b_22_23(__tok0), _ => unreachable!(), }, 26 => match __lookahead.1 { - (26, __tok0) => __Symbol::Termr_23_22_5ba_2dzA_2dZ___5d_5ba_2dzA_2dZ__0_2d9_5d_2a_22_23(__tok0), + (26, __tok0) => __Symbol::Termr_23_22_5b_2b_2d_5d_3f_5c_5cd_2b_5c_5c_2e_5c_5cd_2a_28_5beE_5d_5b_2d_2b_5d_3f_5c_5cd_2b_29_3f_22_23(__tok0), + _ => unreachable!(), + }, + 27 => match __lookahead.1 { + (27, __tok0) => __Symbol::Termr_23_22_5ba_2dzA_2dZ___5d_5ba_2dzA_2dZ__0_2d9_5d_2a_22_23(__tok0), _ => unreachable!(), }, _ => unreachable!(), @@ -17080,269 +20245,389 @@ mod __parse__model { return Some(Ok(__nt)); } 5 => { - // component_declaration = component_prefix, identifier, identifier, string_literal, ";" => ActionFn(68); - let __sym4 = __pop_Term_22_3b_22(__symbols); - let __sym3 = __pop_Ntstring__literal(__symbols); + // component_declaration = component_prefix, identifier, identifier, units_declaration, value_declaration, string_literal, ";" => ActionFn(83); + let __sym6 = __pop_Term_22_3b_22(__symbols); + let __sym5 = __pop_Ntstring__literal(__symbols); + let __sym4 = __pop_Ntvalue__declaration(__symbols); + let __sym3 = __pop_Ntunits__declaration(__symbols); let __sym2 = __pop_Ntidentifier(__symbols); let __sym1 = __pop_Ntidentifier(__symbols); let __sym0 = __pop_Ntcomponent__prefix(__symbols); let __start = __sym0.0.clone(); - let __end = __sym4.2.clone(); - let __nt = super::__action68(input, __sym0, __sym1, __sym2, __sym3, __sym4); + let __end = __sym6.2.clone(); + let __nt = super::__action83(input, __sym0, __sym1, __sym2, __sym3, __sym4, __sym5, __sym6); let __states_len = __states.len(); - __states.truncate(__states_len - 5); + __states.truncate(__states_len - 7); __symbols.push((__start, __Symbol::Ntcomponent__declaration(__nt), __end)); 4 } 6 => { - // component_declaration = component_prefix, identifier, identifier, ";" => ActionFn(69); - let __sym3 = __pop_Term_22_3b_22(__symbols); + // component_declaration = component_prefix, identifier, identifier, units_declaration, string_literal, ";" => ActionFn(84); + let __sym5 = __pop_Term_22_3b_22(__symbols); + let __sym4 = __pop_Ntstring__literal(__symbols); + let __sym3 = __pop_Ntunits__declaration(__symbols); let __sym2 = __pop_Ntidentifier(__symbols); let __sym1 = __pop_Ntidentifier(__symbols); let __sym0 = __pop_Ntcomponent__prefix(__symbols); let __start = __sym0.0.clone(); - let __end = __sym3.2.clone(); - let __nt = super::__action69(input, __sym0, __sym1, __sym2, __sym3); + let __end = __sym5.2.clone(); + let __nt = super::__action84(input, __sym0, __sym1, __sym2, __sym3, __sym4, __sym5); let __states_len = __states.len(); - __states.truncate(__states_len - 4); + __states.truncate(__states_len - 6); __symbols.push((__start, __Symbol::Ntcomponent__declaration(__nt), __end)); 4 } 7 => { - // component_declaration = identifier, identifier, string_literal, ";" => ActionFn(70); - let __sym3 = __pop_Term_22_3b_22(__symbols); - let __sym2 = __pop_Ntstring__literal(__symbols); + // component_declaration = component_prefix, identifier, identifier, value_declaration, string_literal, ";" => ActionFn(85); + let __sym5 = __pop_Term_22_3b_22(__symbols); + let __sym4 = __pop_Ntstring__literal(__symbols); + let __sym3 = __pop_Ntvalue__declaration(__symbols); + let __sym2 = __pop_Ntidentifier(__symbols); let __sym1 = __pop_Ntidentifier(__symbols); - let __sym0 = __pop_Ntidentifier(__symbols); + let __sym0 = __pop_Ntcomponent__prefix(__symbols); let __start = __sym0.0.clone(); - let __end = __sym3.2.clone(); - let __nt = super::__action70(input, __sym0, __sym1, __sym2, __sym3); + let __end = __sym5.2.clone(); + let __nt = super::__action85(input, __sym0, __sym1, __sym2, __sym3, __sym4, __sym5); let __states_len = __states.len(); - __states.truncate(__states_len - 4); + __states.truncate(__states_len - 6); __symbols.push((__start, __Symbol::Ntcomponent__declaration(__nt), __end)); 4 } 8 => { - // component_declaration = identifier, identifier, ";" => ActionFn(71); - let __sym2 = __pop_Term_22_3b_22(__symbols); + // component_declaration = component_prefix, identifier, identifier, string_literal, ";" => ActionFn(86); + let __sym4 = __pop_Term_22_3b_22(__symbols); + let __sym3 = __pop_Ntstring__literal(__symbols); + let __sym2 = __pop_Ntidentifier(__symbols); let __sym1 = __pop_Ntidentifier(__symbols); - let __sym0 = __pop_Ntidentifier(__symbols); + let __sym0 = __pop_Ntcomponent__prefix(__symbols); let __start = __sym0.0.clone(); - let __end = __sym2.2.clone(); - let __nt = super::__action71(input, __sym0, __sym1, __sym2); + let __end = __sym4.2.clone(); + let __nt = super::__action86(input, __sym0, __sym1, __sym2, __sym3, __sym4); let __states_len = __states.len(); - __states.truncate(__states_len - 3); + __states.truncate(__states_len - 5); __symbols.push((__start, __Symbol::Ntcomponent__declaration(__nt), __end)); 4 } 9 => { - // component_declaration = component_prefix, identifier, identifier, "=", expr, string_literal, ";" => ActionFn(72); - let __sym6 = __pop_Term_22_3b_22(__symbols); - let __sym5 = __pop_Ntstring__literal(__symbols); - let __sym4 = __pop_Ntexpr(__symbols); - let __sym3 = __pop_Term_22_3d_22(__symbols); + // component_declaration = component_prefix, identifier, identifier, units_declaration, value_declaration, ";" => ActionFn(87); + let __sym5 = __pop_Term_22_3b_22(__symbols); + let __sym4 = __pop_Ntvalue__declaration(__symbols); + let __sym3 = __pop_Ntunits__declaration(__symbols); let __sym2 = __pop_Ntidentifier(__symbols); let __sym1 = __pop_Ntidentifier(__symbols); let __sym0 = __pop_Ntcomponent__prefix(__symbols); let __start = __sym0.0.clone(); - let __end = __sym6.2.clone(); - let __nt = super::__action72(input, __sym0, __sym1, __sym2, __sym3, __sym4, __sym5, __sym6); + let __end = __sym5.2.clone(); + let __nt = super::__action87(input, __sym0, __sym1, __sym2, __sym3, __sym4, __sym5); let __states_len = __states.len(); - __states.truncate(__states_len - 7); + __states.truncate(__states_len - 6); __symbols.push((__start, __Symbol::Ntcomponent__declaration(__nt), __end)); 4 } 10 => { - // component_declaration = component_prefix, identifier, identifier, "=", expr, ";" => ActionFn(73); - let __sym5 = __pop_Term_22_3b_22(__symbols); - let __sym4 = __pop_Ntexpr(__symbols); - let __sym3 = __pop_Term_22_3d_22(__symbols); + // component_declaration = component_prefix, identifier, identifier, units_declaration, ";" => ActionFn(88); + let __sym4 = __pop_Term_22_3b_22(__symbols); + let __sym3 = __pop_Ntunits__declaration(__symbols); let __sym2 = __pop_Ntidentifier(__symbols); let __sym1 = __pop_Ntidentifier(__symbols); let __sym0 = __pop_Ntcomponent__prefix(__symbols); let __start = __sym0.0.clone(); - let __end = __sym5.2.clone(); - let __nt = super::__action73(input, __sym0, __sym1, __sym2, __sym3, __sym4, __sym5); + let __end = __sym4.2.clone(); + let __nt = super::__action88(input, __sym0, __sym1, __sym2, __sym3, __sym4); let __states_len = __states.len(); - __states.truncate(__states_len - 6); + __states.truncate(__states_len - 5); __symbols.push((__start, __Symbol::Ntcomponent__declaration(__nt), __end)); 4 } 11 => { - // component_declaration = identifier, identifier, "=", expr, string_literal, ";" => ActionFn(74); + // component_declaration = component_prefix, identifier, identifier, value_declaration, ";" => ActionFn(89); + let __sym4 = __pop_Term_22_3b_22(__symbols); + let __sym3 = __pop_Ntvalue__declaration(__symbols); + let __sym2 = __pop_Ntidentifier(__symbols); + let __sym1 = __pop_Ntidentifier(__symbols); + let __sym0 = __pop_Ntcomponent__prefix(__symbols); + let __start = __sym0.0.clone(); + let __end = __sym4.2.clone(); + let __nt = super::__action89(input, __sym0, __sym1, __sym2, __sym3, __sym4); + let __states_len = __states.len(); + __states.truncate(__states_len - 5); + __symbols.push((__start, __Symbol::Ntcomponent__declaration(__nt), __end)); + 4 + } + 12 => { + // component_declaration = component_prefix, identifier, identifier, ";" => ActionFn(90); + let __sym3 = __pop_Term_22_3b_22(__symbols); + let __sym2 = __pop_Ntidentifier(__symbols); + let __sym1 = __pop_Ntidentifier(__symbols); + let __sym0 = __pop_Ntcomponent__prefix(__symbols); + let __start = __sym0.0.clone(); + let __end = __sym3.2.clone(); + let __nt = super::__action90(input, __sym0, __sym1, __sym2, __sym3); + let __states_len = __states.len(); + __states.truncate(__states_len - 4); + __symbols.push((__start, __Symbol::Ntcomponent__declaration(__nt), __end)); + 4 + } + 13 => { + // component_declaration = identifier, identifier, units_declaration, value_declaration, string_literal, ";" => ActionFn(91); let __sym5 = __pop_Term_22_3b_22(__symbols); let __sym4 = __pop_Ntstring__literal(__symbols); - let __sym3 = __pop_Ntexpr(__symbols); - let __sym2 = __pop_Term_22_3d_22(__symbols); + let __sym3 = __pop_Ntvalue__declaration(__symbols); + let __sym2 = __pop_Ntunits__declaration(__symbols); let __sym1 = __pop_Ntidentifier(__symbols); let __sym0 = __pop_Ntidentifier(__symbols); let __start = __sym0.0.clone(); let __end = __sym5.2.clone(); - let __nt = super::__action74(input, __sym0, __sym1, __sym2, __sym3, __sym4, __sym5); + let __nt = super::__action91(input, __sym0, __sym1, __sym2, __sym3, __sym4, __sym5); let __states_len = __states.len(); __states.truncate(__states_len - 6); __symbols.push((__start, __Symbol::Ntcomponent__declaration(__nt), __end)); 4 } - 12 => { - // component_declaration = identifier, identifier, "=", expr, ";" => ActionFn(75); + 14 => { + // component_declaration = identifier, identifier, units_declaration, string_literal, ";" => ActionFn(92); let __sym4 = __pop_Term_22_3b_22(__symbols); - let __sym3 = __pop_Ntexpr(__symbols); - let __sym2 = __pop_Term_22_3d_22(__symbols); + let __sym3 = __pop_Ntstring__literal(__symbols); + let __sym2 = __pop_Ntunits__declaration(__symbols); let __sym1 = __pop_Ntidentifier(__symbols); let __sym0 = __pop_Ntidentifier(__symbols); let __start = __sym0.0.clone(); let __end = __sym4.2.clone(); - let __nt = super::__action75(input, __sym0, __sym1, __sym2, __sym3, __sym4); + let __nt = super::__action92(input, __sym0, __sym1, __sym2, __sym3, __sym4); let __states_len = __states.len(); __states.truncate(__states_len - 5); __symbols.push((__start, __Symbol::Ntcomponent__declaration(__nt), __end)); 4 } - 13 => { - // component_declaration* = => ActionFn(42); + 15 => { + // component_declaration = identifier, identifier, value_declaration, string_literal, ";" => ActionFn(93); + let __sym4 = __pop_Term_22_3b_22(__symbols); + let __sym3 = __pop_Ntstring__literal(__symbols); + let __sym2 = __pop_Ntvalue__declaration(__symbols); + let __sym1 = __pop_Ntidentifier(__symbols); + let __sym0 = __pop_Ntidentifier(__symbols); + let __start = __sym0.0.clone(); + let __end = __sym4.2.clone(); + let __nt = super::__action93(input, __sym0, __sym1, __sym2, __sym3, __sym4); + let __states_len = __states.len(); + __states.truncate(__states_len - 5); + __symbols.push((__start, __Symbol::Ntcomponent__declaration(__nt), __end)); + 4 + } + 16 => { + // component_declaration = identifier, identifier, string_literal, ";" => ActionFn(94); + let __sym3 = __pop_Term_22_3b_22(__symbols); + let __sym2 = __pop_Ntstring__literal(__symbols); + let __sym1 = __pop_Ntidentifier(__symbols); + let __sym0 = __pop_Ntidentifier(__symbols); + let __start = __sym0.0.clone(); + let __end = __sym3.2.clone(); + let __nt = super::__action94(input, __sym0, __sym1, __sym2, __sym3); + let __states_len = __states.len(); + __states.truncate(__states_len - 4); + __symbols.push((__start, __Symbol::Ntcomponent__declaration(__nt), __end)); + 4 + } + 17 => { + // component_declaration = identifier, identifier, units_declaration, value_declaration, ";" => ActionFn(95); + let __sym4 = __pop_Term_22_3b_22(__symbols); + let __sym3 = __pop_Ntvalue__declaration(__symbols); + let __sym2 = __pop_Ntunits__declaration(__symbols); + let __sym1 = __pop_Ntidentifier(__symbols); + let __sym0 = __pop_Ntidentifier(__symbols); + let __start = __sym0.0.clone(); + let __end = __sym4.2.clone(); + let __nt = super::__action95(input, __sym0, __sym1, __sym2, __sym3, __sym4); + let __states_len = __states.len(); + __states.truncate(__states_len - 5); + __symbols.push((__start, __Symbol::Ntcomponent__declaration(__nt), __end)); + 4 + } + 18 => { + // component_declaration = identifier, identifier, units_declaration, ";" => ActionFn(96); + let __sym3 = __pop_Term_22_3b_22(__symbols); + let __sym2 = __pop_Ntunits__declaration(__symbols); + let __sym1 = __pop_Ntidentifier(__symbols); + let __sym0 = __pop_Ntidentifier(__symbols); + let __start = __sym0.0.clone(); + let __end = __sym3.2.clone(); + let __nt = super::__action96(input, __sym0, __sym1, __sym2, __sym3); + let __states_len = __states.len(); + __states.truncate(__states_len - 4); + __symbols.push((__start, __Symbol::Ntcomponent__declaration(__nt), __end)); + 4 + } + 19 => { + // component_declaration = identifier, identifier, value_declaration, ";" => ActionFn(97); + let __sym3 = __pop_Term_22_3b_22(__symbols); + let __sym2 = __pop_Ntvalue__declaration(__symbols); + let __sym1 = __pop_Ntidentifier(__symbols); + let __sym0 = __pop_Ntidentifier(__symbols); + let __start = __sym0.0.clone(); + let __end = __sym3.2.clone(); + let __nt = super::__action97(input, __sym0, __sym1, __sym2, __sym3); + let __states_len = __states.len(); + __states.truncate(__states_len - 4); + __symbols.push((__start, __Symbol::Ntcomponent__declaration(__nt), __end)); + 4 + } + 20 => { + // component_declaration = identifier, identifier, ";" => ActionFn(98); + let __sym2 = __pop_Term_22_3b_22(__symbols); + let __sym1 = __pop_Ntidentifier(__symbols); + let __sym0 = __pop_Ntidentifier(__symbols); + let __start = __sym0.0.clone(); + let __end = __sym2.2.clone(); + let __nt = super::__action98(input, __sym0, __sym1, __sym2); + let __states_len = __states.len(); + __states.truncate(__states_len - 3); + __symbols.push((__start, __Symbol::Ntcomponent__declaration(__nt), __end)); + 4 + } + 21 => { + // component_declaration* = => ActionFn(47); let __start = __symbols.last().map(|s| s.2.clone()).unwrap_or_default(); let __end = __lookahead_start.cloned().unwrap_or_else(|| __start.clone()); - let __nt = super::__action42(input, &__start, &__end); + let __nt = super::__action47(input, &__start, &__end); let __states_len = __states.len(); __states.truncate(__states_len - 0); __symbols.push((__start, __Symbol::Ntcomponent__declaration_2a(__nt), __end)); 5 } - 14 => { - // component_declaration* = component_declaration+ => ActionFn(43); + 22 => { + // component_declaration* = component_declaration+ => ActionFn(48); let __sym0 = __pop_Ntcomponent__declaration_2b(__symbols); let __start = __sym0.0.clone(); let __end = __sym0.2.clone(); - let __nt = super::__action43(input, __sym0); + let __nt = super::__action48(input, __sym0); let __states_len = __states.len(); __states.truncate(__states_len - 1); __symbols.push((__start, __Symbol::Ntcomponent__declaration_2a(__nt), __end)); 5 } - 15 => { - // component_declaration+ = component_declaration => ActionFn(44); + 23 => { + // component_declaration+ = component_declaration => ActionFn(49); let __sym0 = __pop_Ntcomponent__declaration(__symbols); let __start = __sym0.0.clone(); let __end = __sym0.2.clone(); - let __nt = super::__action44(input, __sym0); + let __nt = super::__action49(input, __sym0); let __states_len = __states.len(); __states.truncate(__states_len - 1); __symbols.push((__start, __Symbol::Ntcomponent__declaration_2b(__nt), __end)); 6 } - 16 => { - // component_declaration+ = component_declaration+, component_declaration => ActionFn(45); + 24 => { + // component_declaration+ = component_declaration+, component_declaration => ActionFn(50); let __sym1 = __pop_Ntcomponent__declaration(__symbols); let __sym0 = __pop_Ntcomponent__declaration_2b(__symbols); let __start = __sym0.0.clone(); let __end = __sym1.2.clone(); - let __nt = super::__action45(input, __sym0, __sym1); + let __nt = super::__action50(input, __sym0, __sym1); let __states_len = __states.len(); __states.truncate(__states_len - 2); __symbols.push((__start, __Symbol::Ntcomponent__declaration_2b(__nt), __end)); 6 } - 17 => { - // component_prefix = "flow" => ActionFn(11); + 25 => { + // component_prefix = "flow" => ActionFn(12); let __sym0 = __pop_Term_22flow_22(__symbols); let __start = __sym0.0.clone(); let __end = __sym0.2.clone(); - let __nt = super::__action11(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 } - 18 => { - // component_prefix = "stream" => ActionFn(12); + 26 => { + // component_prefix = "stream" => ActionFn(13); let __sym0 = __pop_Term_22stream_22(__symbols); let __start = __sym0.0.clone(); let __end = __sym0.2.clone(); - let __nt = super::__action12(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 } - 19 => { - // component_prefix = "input" => ActionFn(13); + 27 => { + // component_prefix = "input" => ActionFn(14); let __sym0 = __pop_Term_22input_22(__symbols); let __start = __sym0.0.clone(); let __end = __sym0.2.clone(); - let __nt = super::__action13(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 } - 20 => { - // component_prefix = "output" => ActionFn(14); + 28 => { + // component_prefix = "output" => ActionFn(15); let __sym0 = __pop_Term_22output_22(__symbols); let __start = __sym0.0.clone(); let __end = __sym0.2.clone(); - let __nt = super::__action14(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 } - 21 => { - // component_prefix = "discrete" => ActionFn(15); + 29 => { + // component_prefix = "discrete" => ActionFn(16); let __sym0 = __pop_Term_22discrete_22(__symbols); let __start = __sym0.0.clone(); let __end = __sym0.2.clone(); - let __nt = super::__action15(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 } - 22 => { - // component_prefix = "parameter" => ActionFn(16); + 30 => { + // component_prefix = "parameter" => ActionFn(17); let __sym0 = __pop_Term_22parameter_22(__symbols); let __start = __sym0.0.clone(); let __end = __sym0.2.clone(); - let __nt = super::__action16(input, __sym0); + let __nt = super::__action17(input, __sym0); let __states_len = __states.len(); __states.truncate(__states_len - 1); __symbols.push((__start, __Symbol::Ntcomponent__prefix(__nt), __end)); 7 } - 23 => { - // component_prefix = "constant" => ActionFn(17); + 31 => { + // component_prefix = "constant" => ActionFn(18); let __sym0 = __pop_Term_22constant_22(__symbols); let __start = __sym0.0.clone(); let __end = __sym0.2.clone(); - let __nt = super::__action17(input, __sym0); + let __nt = super::__action18(input, __sym0); let __states_len = __states.len(); __states.truncate(__states_len - 1); __symbols.push((__start, __Symbol::Ntcomponent__prefix(__nt), __end)); 7 } - 24 => { - // component_prefix? = component_prefix => ActionFn(36); + 32 => { + // component_prefix? = component_prefix => ActionFn(41); let __sym0 = __pop_Ntcomponent__prefix(__symbols); let __start = __sym0.0.clone(); let __end = __sym0.2.clone(); - let __nt = super::__action36(input, __sym0); + let __nt = super::__action41(input, __sym0); let __states_len = __states.len(); __states.truncate(__states_len - 1); __symbols.push((__start, __Symbol::Ntcomponent__prefix_3f(__nt), __end)); 8 } - 25 => { - // component_prefix? = => ActionFn(37); + 33 => { + // component_prefix? = => ActionFn(42); let __start = __symbols.last().map(|s| s.2.clone()).unwrap_or_default(); let __end = __lookahead_start.cloned().unwrap_or_else(|| __start.clone()); - let __nt = super::__action37(input, &__start, &__end); + let __nt = super::__action42(input, &__start, &__end); let __states_len = __states.len(); __states.truncate(__states_len - 0); __symbols.push((__start, __Symbol::Ntcomponent__prefix_3f(__nt), __end)); 8 } - 26 => { - // connect_clause = "connect", "(", identifier, ",", identifier, ")", ";" => ActionFn(19); + 34 => { + // connect_clause = "connect", "(", identifier, ",", identifier, ")", ";" => ActionFn(20); let __sym6 = __pop_Term_22_3b_22(__symbols); let __sym5 = __pop_Term_22_29_22(__symbols); let __sym4 = __pop_Ntidentifier(__symbols); @@ -17352,156 +20637,156 @@ 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::__action20(input, __sym0, __sym1, __sym2, __sym3, __sym4, __sym5, __sym6); let __states_len = __states.len(); __states.truncate(__states_len - 7); __symbols.push((__start, __Symbol::Ntconnect__clause(__nt), __end)); 9 } - 27 => { - // connect_clause* = => ActionFn(40); + 35 => { + // connect_clause* = => ActionFn(45); let __start = __symbols.last().map(|s| s.2.clone()).unwrap_or_default(); let __end = __lookahead_start.cloned().unwrap_or_else(|| __start.clone()); - let __nt = super::__action40(input, &__start, &__end); + let __nt = super::__action45(input, &__start, &__end); let __states_len = __states.len(); __states.truncate(__states_len - 0); __symbols.push((__start, __Symbol::Ntconnect__clause_2a(__nt), __end)); 10 } - 28 => { - // connect_clause* = connect_clause+ => ActionFn(41); + 36 => { + // connect_clause* = connect_clause+ => ActionFn(46); let __sym0 = __pop_Ntconnect__clause_2b(__symbols); let __start = __sym0.0.clone(); let __end = __sym0.2.clone(); - let __nt = super::__action41(input, __sym0); + let __nt = super::__action46(input, __sym0); let __states_len = __states.len(); __states.truncate(__states_len - 1); __symbols.push((__start, __Symbol::Ntconnect__clause_2a(__nt), __end)); 10 } - 29 => { - // connect_clause+ = connect_clause => ActionFn(46); + 37 => { + // connect_clause+ = connect_clause => ActionFn(51); let __sym0 = __pop_Ntconnect__clause(__symbols); let __start = __sym0.0.clone(); let __end = __sym0.2.clone(); - let __nt = super::__action46(input, __sym0); + let __nt = super::__action51(input, __sym0); let __states_len = __states.len(); __states.truncate(__states_len - 1); __symbols.push((__start, __Symbol::Ntconnect__clause_2b(__nt), __end)); 11 } - 30 => { - // connect_clause+ = connect_clause+, connect_clause => ActionFn(47); + 38 => { + // connect_clause+ = connect_clause+, connect_clause => ActionFn(52); let __sym1 = __pop_Ntconnect__clause(__symbols); let __sym0 = __pop_Ntconnect__clause_2b(__symbols); let __start = __sym0.0.clone(); let __end = __sym1.2.clone(); - let __nt = super::__action47(input, __sym0, __sym1); + let __nt = super::__action52(input, __sym0, __sym1); let __states_len = __states.len(); __states.truncate(__states_len - 2); __symbols.push((__start, __Symbol::Ntconnect__clause_2b(__nt), __end)); 11 } - 31 => { - // expr = expr, "+", factor => ActionFn(20); + 39 => { + // expr = expr, "+", factor => ActionFn(21); let __sym2 = __pop_Ntfactor(__symbols); let __sym1 = __pop_Term_22_2b_22(__symbols); let __sym0 = __pop_Ntexpr(__symbols); let __start = __sym0.0.clone(); let __end = __sym2.2.clone(); - let __nt = super::__action20(input, __sym0, __sym1, __sym2); + let __nt = super::__action21(input, __sym0, __sym1, __sym2); let __states_len = __states.len(); __states.truncate(__states_len - 3); __symbols.push((__start, __Symbol::Ntexpr(__nt), __end)); 12 } - 32 => { - // expr = expr, "-", factor => ActionFn(21); + 40 => { + // expr = expr, "-", factor => ActionFn(22); let __sym2 = __pop_Ntfactor(__symbols); let __sym1 = __pop_Term_22_2d_22(__symbols); let __sym0 = __pop_Ntexpr(__symbols); let __start = __sym0.0.clone(); let __end = __sym2.2.clone(); - let __nt = super::__action21(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::Ntexpr(__nt), __end)); 12 } - 33 => { - // expr = factor => ActionFn(22); + 41 => { + // expr = factor => ActionFn(23); let __sym0 = __pop_Ntfactor(__symbols); let __start = __sym0.0.clone(); let __end = __sym0.2.clone(); - let __nt = super::__action22(input, __sym0); + let __nt = super::__action23(input, __sym0); let __states_len = __states.len(); __states.truncate(__states_len - 1); __symbols.push((__start, __Symbol::Ntexpr(__nt), __end)); 12 } - 34 => { - // factor = factor, "*", term => ActionFn(23); + 42 => { + // factor = factor, "*", term => ActionFn(24); let __sym2 = __pop_Ntterm(__symbols); let __sym1 = __pop_Term_22_2a_22(__symbols); let __sym0 = __pop_Ntfactor(__symbols); let __start = __sym0.0.clone(); let __end = __sym2.2.clone(); - let __nt = super::__action23(input, __sym0, __sym1, __sym2); + let __nt = super::__action24(input, __sym0, __sym1, __sym2); let __states_len = __states.len(); __states.truncate(__states_len - 3); __symbols.push((__start, __Symbol::Ntfactor(__nt), __end)); 13 } - 35 => { - // factor = factor, "/", term => ActionFn(24); + 43 => { + // factor = factor, "/", term => ActionFn(25); let __sym2 = __pop_Ntterm(__symbols); let __sym1 = __pop_Term_22_2f_22(__symbols); let __sym0 = __pop_Ntfactor(__symbols); let __start = __sym0.0.clone(); let __end = __sym2.2.clone(); - let __nt = super::__action24(input, __sym0, __sym1, __sym2); + let __nt = super::__action25(input, __sym0, __sym1, __sym2); let __states_len = __states.len(); __states.truncate(__states_len - 3); __symbols.push((__start, __Symbol::Ntfactor(__nt), __end)); 13 } - 36 => { - // factor = factor, "^", term => ActionFn(25); + 44 => { + // factor = factor, "^", term => ActionFn(26); let __sym2 = __pop_Ntterm(__symbols); let __sym1 = __pop_Term_22_5e_22(__symbols); let __sym0 = __pop_Ntfactor(__symbols); let __start = __sym0.0.clone(); let __end = __sym2.2.clone(); - let __nt = super::__action25(input, __sym0, __sym1, __sym2); + let __nt = super::__action26(input, __sym0, __sym1, __sym2); let __states_len = __states.len(); __states.truncate(__states_len - 3); __symbols.push((__start, __Symbol::Ntfactor(__nt), __end)); 13 } - 37 => { - // factor = "-", term => ActionFn(26); + 45 => { + // factor = "-", term => ActionFn(27); let __sym1 = __pop_Ntterm(__symbols); let __sym0 = __pop_Term_22_2d_22(__symbols); let __start = __sym0.0.clone(); let __end = __sym1.2.clone(); - let __nt = super::__action26(input, __sym0, __sym1); + let __nt = super::__action27(input, __sym0, __sym1); let __states_len = __states.len(); __states.truncate(__states_len - 2); __symbols.push((__start, __Symbol::Ntfactor(__nt), __end)); 13 } - 38 => { - // factor = term => ActionFn(27); + 46 => { + // factor = term => ActionFn(28); let __sym0 = __pop_Ntterm(__symbols); let __start = __sym0.0.clone(); let __end = __sym0.2.clone(); - let __nt = super::__action27(input, __sym0); + let __nt = super::__action28(input, __sym0); let __states_len = __states.len(); __states.truncate(__states_len - 1); __symbols.push((__start, __Symbol::Ntfactor(__nt), __end)); 13 } - 39 => { + 47 => { // float = r#"[+-]?\\d+\\.\\d*([eE][-+]?\\d+)?"# => ActionFn(7); let __sym0 = __pop_Termr_23_22_5b_2b_2d_5d_3f_5c_5cd_2b_5c_5c_2e_5c_5cd_2a_28_5beE_5d_5b_2d_2b_5d_3f_5c_5cd_2b_29_3f_22_23(__symbols); let __start = __sym0.0.clone(); @@ -17512,7 +20797,7 @@ mod __parse__model { __symbols.push((__start, __Symbol::Ntfloat(__nt), __end)); 14 } - 40 => { + 48 => { // identifier = r#"[a-zA-Z_][a-zA-Z_0-9]*"# => ActionFn(4); let __sym0 = __pop_Termr_23_22_5ba_2dzA_2dZ___5d_5ba_2dzA_2dZ__0_2d9_5d_2a_22_23(__symbols); let __start = __sym0.0.clone(); @@ -17523,7 +20808,7 @@ mod __parse__model { __symbols.push((__start, __Symbol::Ntidentifier(__nt), __end)); 15 } - 41 => { + 49 => { // integer = r#"[+-]?\\d+"# => ActionFn(6); let __sym0 = __pop_Termr_23_22_5b_2b_2d_5d_3f_5c_5cd_2b_22_23(__symbols); let __start = __sym0.0.clone(); @@ -17534,8 +20819,8 @@ mod __parse__model { __symbols.push((__start, __Symbol::Ntinteger(__nt), __end)); 16 } - 42 => { - // model = "model", identifier, "equation", "end", identifier, ";" => ActionFn(60); + 50 => { + // model = "model", identifier, "equation", "end", identifier, ";" => ActionFn(63); let __sym5 = __pop_Term_22_3b_22(__symbols); let __sym4 = __pop_Ntidentifier(__symbols); let __sym3 = __pop_Term_22end_22(__symbols); @@ -17544,14 +20829,14 @@ mod __parse__model { let __sym0 = __pop_Term_22model_22(__symbols); let __start = __sym0.0.clone(); let __end = __sym5.2.clone(); - let __nt = super::__action60(input, __sym0, __sym1, __sym2, __sym3, __sym4, __sym5); + let __nt = super::__action63(input, __sym0, __sym1, __sym2, __sym3, __sym4, __sym5); let __states_len = __states.len(); __states.truncate(__states_len - 6); __symbols.push((__start, __Symbol::Ntmodel(__nt), __end)); 17 } - 43 => { - // model = "model", identifier, "equation", simple_equation+, "end", identifier, ";" => ActionFn(61); + 51 => { + // model = "model", identifier, "equation", simple_equation+, "end", identifier, ";" => ActionFn(64); let __sym6 = __pop_Term_22_3b_22(__symbols); let __sym5 = __pop_Ntidentifier(__symbols); let __sym4 = __pop_Term_22end_22(__symbols); @@ -17561,14 +20846,14 @@ mod __parse__model { let __sym0 = __pop_Term_22model_22(__symbols); let __start = __sym0.0.clone(); let __end = __sym6.2.clone(); - let __nt = super::__action61(input, __sym0, __sym1, __sym2, __sym3, __sym4, __sym5, __sym6); + let __nt = super::__action64(input, __sym0, __sym1, __sym2, __sym3, __sym4, __sym5, __sym6); let __states_len = __states.len(); __states.truncate(__states_len - 7); __symbols.push((__start, __Symbol::Ntmodel(__nt), __end)); 17 } - 44 => { - // model = "model", identifier, "equation", connect_clause+, "end", identifier, ";" => ActionFn(62); + 52 => { + // model = "model", identifier, "equation", connect_clause+, "end", identifier, ";" => ActionFn(65); let __sym6 = __pop_Term_22_3b_22(__symbols); let __sym5 = __pop_Ntidentifier(__symbols); let __sym4 = __pop_Term_22end_22(__symbols); @@ -17578,14 +20863,14 @@ mod __parse__model { let __sym0 = __pop_Term_22model_22(__symbols); let __start = __sym0.0.clone(); let __end = __sym6.2.clone(); - let __nt = super::__action62(input, __sym0, __sym1, __sym2, __sym3, __sym4, __sym5, __sym6); + let __nt = super::__action65(input, __sym0, __sym1, __sym2, __sym3, __sym4, __sym5, __sym6); let __states_len = __states.len(); __states.truncate(__states_len - 7); __symbols.push((__start, __Symbol::Ntmodel(__nt), __end)); 17 } - 45 => { - // model = "model", identifier, "equation", connect_clause+, simple_equation+, "end", identifier, ";" => ActionFn(63); + 53 => { + // model = "model", identifier, "equation", connect_clause+, simple_equation+, "end", identifier, ";" => ActionFn(66); let __sym7 = __pop_Term_22_3b_22(__symbols); let __sym6 = __pop_Ntidentifier(__symbols); let __sym5 = __pop_Term_22end_22(__symbols); @@ -17596,14 +20881,14 @@ mod __parse__model { let __sym0 = __pop_Term_22model_22(__symbols); let __start = __sym0.0.clone(); let __end = __sym7.2.clone(); - let __nt = super::__action63(input, __sym0, __sym1, __sym2, __sym3, __sym4, __sym5, __sym6, __sym7); + let __nt = super::__action66(input, __sym0, __sym1, __sym2, __sym3, __sym4, __sym5, __sym6, __sym7); let __states_len = __states.len(); __states.truncate(__states_len - 8); __symbols.push((__start, __Symbol::Ntmodel(__nt), __end)); 17 } - 46 => { - // model = "model", identifier, component_declaration+, "equation", "end", identifier, ";" => ActionFn(64); + 54 => { + // model = "model", identifier, component_declaration+, "equation", "end", identifier, ";" => ActionFn(67); let __sym6 = __pop_Term_22_3b_22(__symbols); let __sym5 = __pop_Ntidentifier(__symbols); let __sym4 = __pop_Term_22end_22(__symbols); @@ -17613,14 +20898,14 @@ mod __parse__model { let __sym0 = __pop_Term_22model_22(__symbols); let __start = __sym0.0.clone(); let __end = __sym6.2.clone(); - let __nt = super::__action64(input, __sym0, __sym1, __sym2, __sym3, __sym4, __sym5, __sym6); + let __nt = super::__action67(input, __sym0, __sym1, __sym2, __sym3, __sym4, __sym5, __sym6); let __states_len = __states.len(); __states.truncate(__states_len - 7); __symbols.push((__start, __Symbol::Ntmodel(__nt), __end)); 17 } - 47 => { - // model = "model", identifier, component_declaration+, "equation", simple_equation+, "end", identifier, ";" => ActionFn(65); + 55 => { + // model = "model", identifier, component_declaration+, "equation", simple_equation+, "end", identifier, ";" => ActionFn(68); let __sym7 = __pop_Term_22_3b_22(__symbols); let __sym6 = __pop_Ntidentifier(__symbols); let __sym5 = __pop_Term_22end_22(__symbols); @@ -17631,14 +20916,14 @@ mod __parse__model { let __sym0 = __pop_Term_22model_22(__symbols); let __start = __sym0.0.clone(); let __end = __sym7.2.clone(); - let __nt = super::__action65(input, __sym0, __sym1, __sym2, __sym3, __sym4, __sym5, __sym6, __sym7); + let __nt = super::__action68(input, __sym0, __sym1, __sym2, __sym3, __sym4, __sym5, __sym6, __sym7); let __states_len = __states.len(); __states.truncate(__states_len - 8); __symbols.push((__start, __Symbol::Ntmodel(__nt), __end)); 17 } - 48 => { - // model = "model", identifier, component_declaration+, "equation", connect_clause+, "end", identifier, ";" => ActionFn(66); + 56 => { + // model = "model", identifier, component_declaration+, "equation", connect_clause+, "end", identifier, ";" => ActionFn(69); let __sym7 = __pop_Term_22_3b_22(__symbols); let __sym6 = __pop_Ntidentifier(__symbols); let __sym5 = __pop_Term_22end_22(__symbols); @@ -17649,14 +20934,14 @@ mod __parse__model { let __sym0 = __pop_Term_22model_22(__symbols); let __start = __sym0.0.clone(); let __end = __sym7.2.clone(); - let __nt = super::__action66(input, __sym0, __sym1, __sym2, __sym3, __sym4, __sym5, __sym6, __sym7); + let __nt = super::__action69(input, __sym0, __sym1, __sym2, __sym3, __sym4, __sym5, __sym6, __sym7); let __states_len = __states.len(); __states.truncate(__states_len - 8); __symbols.push((__start, __Symbol::Ntmodel(__nt), __end)); 17 } - 49 => { - // model = "model", identifier, component_declaration+, "equation", connect_clause+, simple_equation+, "end", identifier, ";" => ActionFn(67); + 57 => { + // model = "model", identifier, component_declaration+, "equation", connect_clause+, simple_equation+, "end", identifier, ";" => ActionFn(70); let __sym8 = __pop_Term_22_3b_22(__symbols); let __sym7 = __pop_Ntidentifier(__symbols); let __sym6 = __pop_Term_22end_22(__symbols); @@ -17668,71 +20953,71 @@ mod __parse__model { let __sym0 = __pop_Term_22model_22(__symbols); let __start = __sym0.0.clone(); let __end = __sym8.2.clone(); - let __nt = super::__action67(input, __sym0, __sym1, __sym2, __sym3, __sym4, __sym5, __sym6, __sym7, __sym8); + let __nt = super::__action70(input, __sym0, __sym1, __sym2, __sym3, __sym4, __sym5, __sym6, __sym7, __sym8); let __states_len = __states.len(); __states.truncate(__states_len - 9); __symbols.push((__start, __Symbol::Ntmodel(__nt), __end)); 17 } - 50 => { - // simple_equation = expr, "=", expr, ";" => ActionFn(18); + 58 => { + // simple_equation = expr, "=", expr, ";" => ActionFn(19); let __sym3 = __pop_Term_22_3b_22(__symbols); let __sym2 = __pop_Ntexpr(__symbols); let __sym1 = __pop_Term_22_3d_22(__symbols); let __sym0 = __pop_Ntexpr(__symbols); let __start = __sym0.0.clone(); let __end = __sym3.2.clone(); - let __nt = super::__action18(input, __sym0, __sym1, __sym2, __sym3); + let __nt = super::__action19(input, __sym0, __sym1, __sym2, __sym3); let __states_len = __states.len(); __states.truncate(__states_len - 4); __symbols.push((__start, __Symbol::Ntsimple__equation(__nt), __end)); 18 } - 51 => { - // simple_equation* = => ActionFn(38); + 59 => { + // simple_equation* = => ActionFn(43); let __start = __symbols.last().map(|s| s.2.clone()).unwrap_or_default(); let __end = __lookahead_start.cloned().unwrap_or_else(|| __start.clone()); - let __nt = super::__action38(input, &__start, &__end); + let __nt = super::__action43(input, &__start, &__end); let __states_len = __states.len(); __states.truncate(__states_len - 0); __symbols.push((__start, __Symbol::Ntsimple__equation_2a(__nt), __end)); 19 } - 52 => { - // simple_equation* = simple_equation+ => ActionFn(39); + 60 => { + // simple_equation* = simple_equation+ => ActionFn(44); let __sym0 = __pop_Ntsimple__equation_2b(__symbols); let __start = __sym0.0.clone(); let __end = __sym0.2.clone(); - let __nt = super::__action39(input, __sym0); + let __nt = super::__action44(input, __sym0); let __states_len = __states.len(); __states.truncate(__states_len - 1); __symbols.push((__start, __Symbol::Ntsimple__equation_2a(__nt), __end)); 19 } - 53 => { - // simple_equation+ = simple_equation => ActionFn(48); + 61 => { + // simple_equation+ = simple_equation => ActionFn(53); let __sym0 = __pop_Ntsimple__equation(__symbols); let __start = __sym0.0.clone(); let __end = __sym0.2.clone(); - let __nt = super::__action48(input, __sym0); + let __nt = super::__action53(input, __sym0); let __states_len = __states.len(); __states.truncate(__states_len - 1); __symbols.push((__start, __Symbol::Ntsimple__equation_2b(__nt), __end)); 20 } - 54 => { - // simple_equation+ = simple_equation+, simple_equation => ActionFn(49); + 62 => { + // simple_equation+ = simple_equation+, simple_equation => ActionFn(54); let __sym1 = __pop_Ntsimple__equation(__symbols); let __sym0 = __pop_Ntsimple__equation_2b(__symbols); let __start = __sym0.0.clone(); let __end = __sym1.2.clone(); - let __nt = super::__action49(input, __sym0, __sym1); + let __nt = super::__action54(input, __sym0, __sym1); let __states_len = __states.len(); __states.truncate(__states_len - 2); __symbols.push((__start, __Symbol::Ntsimple__equation_2b(__nt), __end)); 20 } - 55 => { + 63 => { // string_literal = r#"\"[^\"\\\\]*\""# => ActionFn(5); let __sym0 = __pop_Termr_23_22_5c_22_5b_5e_5c_22_5c_5c_5c_5c_5d_2a_5c_22_22_23(__symbols); let __start = __sym0.0.clone(); @@ -17743,105 +21028,174 @@ mod __parse__model { __symbols.push((__start, __Symbol::Ntstring__literal(__nt), __end)); 21 } - 56 => { - // string_literal? = string_literal => ActionFn(34); + 64 => { + // string_literal? = string_literal => ActionFn(35); let __sym0 = __pop_Ntstring__literal(__symbols); let __start = __sym0.0.clone(); let __end = __sym0.2.clone(); - let __nt = super::__action34(input, __sym0); + let __nt = super::__action35(input, __sym0); let __states_len = __states.len(); __states.truncate(__states_len - 1); __symbols.push((__start, __Symbol::Ntstring__literal_3f(__nt), __end)); 22 } - 57 => { - // string_literal? = => ActionFn(35); + 65 => { + // string_literal? = => ActionFn(36); let __start = __symbols.last().map(|s| s.2.clone()).unwrap_or_default(); let __end = __lookahead_start.cloned().unwrap_or_else(|| __start.clone()); - let __nt = super::__action35(input, &__start, &__end); + let __nt = super::__action36(input, &__start, &__end); let __states_len = __states.len(); __states.truncate(__states_len - 0); __symbols.push((__start, __Symbol::Ntstring__literal_3f(__nt), __end)); 22 } - 58 => { - // term = integer => ActionFn(28); + 66 => { + // term = integer => ActionFn(29); let __sym0 = __pop_Ntinteger(__symbols); let __start = __sym0.0.clone(); let __end = __sym0.2.clone(); - let __nt = super::__action28(input, __sym0); + let __nt = super::__action29(input, __sym0); let __states_len = __states.len(); __states.truncate(__states_len - 1); __symbols.push((__start, __Symbol::Ntterm(__nt), __end)); 23 } - 59 => { - // term = float => ActionFn(29); + 67 => { + // term = float => ActionFn(30); let __sym0 = __pop_Ntfloat(__symbols); let __start = __sym0.0.clone(); let __end = __sym0.2.clone(); - let __nt = super::__action29(input, __sym0); + let __nt = super::__action30(input, __sym0); let __states_len = __states.len(); __states.truncate(__states_len - 1); __symbols.push((__start, __Symbol::Ntterm(__nt), __end)); 23 } - 60 => { - // term = identifier => ActionFn(30); + 68 => { + // term = identifier => ActionFn(31); let __sym0 = __pop_Ntidentifier(__symbols); let __start = __sym0.0.clone(); let __end = __sym0.2.clone(); - let __nt = super::__action30(input, __sym0); + let __nt = super::__action31(input, __sym0); let __states_len = __states.len(); __states.truncate(__states_len - 1); __symbols.push((__start, __Symbol::Ntterm(__nt), __end)); 23 } - 61 => { - // term = "der", "(", expr, ")" => ActionFn(31); + 69 => { + // term = "der", "(", expr, ")" => ActionFn(32); let __sym3 = __pop_Term_22_29_22(__symbols); let __sym2 = __pop_Ntexpr(__symbols); let __sym1 = __pop_Term_22_28_22(__symbols); let __sym0 = __pop_Term_22der_22(__symbols); let __start = __sym0.0.clone(); let __end = __sym3.2.clone(); - let __nt = super::__action31(input, __sym0, __sym1, __sym2, __sym3); + let __nt = super::__action32(input, __sym0, __sym1, __sym2, __sym3); let __states_len = __states.len(); __states.truncate(__states_len - 4); __symbols.push((__start, __Symbol::Ntterm(__nt), __end)); 23 } - 62 => { - // term = "abs", "(", expr, ")" => ActionFn(32); + 70 => { + // term = "abs", "(", expr, ")" => ActionFn(33); let __sym3 = __pop_Term_22_29_22(__symbols); let __sym2 = __pop_Ntexpr(__symbols); let __sym1 = __pop_Term_22_28_22(__symbols); let __sym0 = __pop_Term_22abs_22(__symbols); let __start = __sym0.0.clone(); let __end = __sym3.2.clone(); - let __nt = super::__action32(input, __sym0, __sym1, __sym2, __sym3); + let __nt = super::__action33(input, __sym0, __sym1, __sym2, __sym3); let __states_len = __states.len(); __states.truncate(__states_len - 4); __symbols.push((__start, __Symbol::Ntterm(__nt), __end)); 23 } - 63 => { - // term = "(", expr, ")" => ActionFn(33); + 71 => { + // term = "(", expr, ")" => ActionFn(34); let __sym2 = __pop_Term_22_29_22(__symbols); let __sym1 = __pop_Ntexpr(__symbols); let __sym0 = __pop_Term_22_28_22(__symbols); let __start = __sym0.0.clone(); let __end = __sym2.2.clone(); - let __nt = super::__action33(input, __sym0, __sym1, __sym2); + let __nt = super::__action34(input, __sym0, __sym1, __sym2); let __states_len = __states.len(); __states.truncate(__states_len - 3); __symbols.push((__start, __Symbol::Ntterm(__nt), __end)); 23 } + 72 => { + // units_declaration = "(", "unit", "=", string_literal, ")" => ActionFn(10); + let __sym4 = __pop_Term_22_29_22(__symbols); + let __sym3 = __pop_Ntstring__literal(__symbols); + let __sym2 = __pop_Term_22_3d_22(__symbols); + let __sym1 = __pop_Term_22unit_22(__symbols); + let __sym0 = __pop_Term_22_28_22(__symbols); + let __start = __sym0.0.clone(); + let __end = __sym4.2.clone(); + let __nt = super::__action10(input, __sym0, __sym1, __sym2, __sym3, __sym4); + let __states_len = __states.len(); + __states.truncate(__states_len - 5); + __symbols.push((__start, __Symbol::Ntunits__declaration(__nt), __end)); + 24 + } + 73 => { + // units_declaration? = units_declaration => ActionFn(39); + let __sym0 = __pop_Ntunits__declaration(__symbols); + let __start = __sym0.0.clone(); + let __end = __sym0.2.clone(); + let __nt = super::__action39(input, __sym0); + let __states_len = __states.len(); + __states.truncate(__states_len - 1); + __symbols.push((__start, __Symbol::Ntunits__declaration_3f(__nt), __end)); + 25 + } + 74 => { + // units_declaration? = => ActionFn(40); + let __start = __symbols.last().map(|s| s.2.clone()).unwrap_or_default(); + let __end = __lookahead_start.cloned().unwrap_or_else(|| __start.clone()); + let __nt = super::__action40(input, &__start, &__end); + let __states_len = __states.len(); + __states.truncate(__states_len - 0); + __symbols.push((__start, __Symbol::Ntunits__declaration_3f(__nt), __end)); + 25 + } + 75 => { + // value_declaration = "=", expr => ActionFn(9); + let __sym1 = __pop_Ntexpr(__symbols); + let __sym0 = __pop_Term_22_3d_22(__symbols); + let __start = __sym0.0.clone(); + let __end = __sym1.2.clone(); + let __nt = super::__action9(input, __sym0, __sym1); + let __states_len = __states.len(); + __states.truncate(__states_len - 2); + __symbols.push((__start, __Symbol::Ntvalue__declaration(__nt), __end)); + 26 + } + 76 => { + // value_declaration? = value_declaration => ActionFn(37); + let __sym0 = __pop_Ntvalue__declaration(__symbols); + let __start = __sym0.0.clone(); + let __end = __sym0.2.clone(); + let __nt = super::__action37(input, __sym0); + let __states_len = __states.len(); + __states.truncate(__states_len - 1); + __symbols.push((__start, __Symbol::Ntvalue__declaration_3f(__nt), __end)); + 27 + } + 77 => { + // value_declaration? = => ActionFn(38); + let __start = __symbols.last().map(|s| s.2.clone()).unwrap_or_default(); + let __end = __lookahead_start.cloned().unwrap_or_else(|| __start.clone()); + let __nt = super::__action38(input, &__start, &__end); + let __states_len = __states.len(); + __states.truncate(__states_len - 0); + __symbols.push((__start, __Symbol::Ntvalue__declaration_3f(__nt), __end)); + 27 + } _ => panic!("invalid action code {}", __action) }; let __state = *__states.last().unwrap() as usize; - let __next_state = __GOTO[__state * 24 + __nonterminal] - 1; + let __next_state = __GOTO[__state * 28 + __nonterminal] - 1; __states.push(__next_state); None } @@ -18075,6 +21429,16 @@ mod __parse__model { _ => panic!("symbol type mismatch") } } + fn __pop_Term_22unit_22< + 'input, + >( + __symbols: &mut ::std::vec::Vec<(usize,__Symbol<'input>,usize)> + ) -> (usize, &'input str, usize) { + match __symbols.pop().unwrap() { + (__l, __Symbol::Term_22unit_22(__v), __r) => (__l, __v, __r), + _ => panic!("symbol type mismatch") + } + } fn __pop_Termr_23_22_5c_22_5b_5e_5c_22_5c_5c_5c_5c_5d_2a_5c_22_22_23< 'input, >( @@ -18355,6 +21719,46 @@ mod __parse__model { _ => panic!("symbol type mismatch") } } + fn __pop_Ntunits__declaration< + 'input, + >( + __symbols: &mut ::std::vec::Vec<(usize,__Symbol<'input>,usize)> + ) -> (usize, String, usize) { + match __symbols.pop().unwrap() { + (__l, __Symbol::Ntunits__declaration(__v), __r) => (__l, __v, __r), + _ => panic!("symbol type mismatch") + } + } + fn __pop_Ntunits__declaration_3f< + 'input, + >( + __symbols: &mut ::std::vec::Vec<(usize,__Symbol<'input>,usize)> + ) -> (usize, ::std::option::Option<String>, usize) { + match __symbols.pop().unwrap() { + (__l, __Symbol::Ntunits__declaration_3f(__v), __r) => (__l, __v, __r), + _ => panic!("symbol type mismatch") + } + } + fn __pop_Ntvalue__declaration< + 'input, + >( + __symbols: &mut ::std::vec::Vec<(usize,__Symbol<'input>,usize)> + ) -> (usize, Expr, usize) { + match __symbols.pop().unwrap() { + (__l, __Symbol::Ntvalue__declaration(__v), __r) => (__l, __v, __r), + _ => panic!("symbol type mismatch") + } + } + fn __pop_Ntvalue__declaration_3f< + 'input, + >( + __symbols: &mut ::std::vec::Vec<(usize,__Symbol<'input>,usize)> + ) -> (usize, ::std::option::Option<Expr>, usize) { + match __symbols.pop().unwrap() { + (__l, __Symbol::Ntvalue__declaration_3f(__v), __r) => (__l, __v, __r), + _ => panic!("symbol type mismatch") + } + } } pub use self::__parse__model::parse_model; mod __intern_token { @@ -18413,7 +21817,7 @@ mod __intern_token { continue; } 48 ... 57 => { - __current_match = Some((24, __index + __ch.len_utf8())); + __current_match = Some((25, __index + __ch.len_utf8())); __current_state = 9; continue; } @@ -18428,7 +21832,7 @@ mod __intern_token { continue; } 65 ... 90 => { - __current_match = Some((26, __index + __ch.len_utf8())); + __current_match = Some((27, __index + __ch.len_utf8())); __current_state = 12; continue; } @@ -18438,337 +21842,347 @@ mod __intern_token { continue; } 95 => /* '_' */ { - __current_match = Some((26, __index + 1)); + __current_match = Some((27, __index + 1)); __current_state = 12; continue; } 97 => /* 'a' */ { - __current_match = Some((26, __index + 1)); + __current_match = Some((27, __index + 1)); __current_state = 14; continue; } 98 => /* 'b' */ { - __current_match = Some((26, __index + 1)); + __current_match = Some((27, __index + 1)); __current_state = 12; continue; } 99 => /* 'c' */ { - __current_match = Some((26, __index + 1)); + __current_match = Some((27, __index + 1)); __current_state = 15; continue; } 100 => /* 'd' */ { - __current_match = Some((26, __index + 1)); + __current_match = Some((27, __index + 1)); __current_state = 16; continue; } 101 => /* 'e' */ { - __current_match = Some((26, __index + 1)); + __current_match = Some((27, __index + 1)); __current_state = 17; continue; } 102 => /* 'f' */ { - __current_match = Some((26, __index + 1)); + __current_match = Some((27, __index + 1)); __current_state = 18; continue; } 103 ... 104 => { - __current_match = Some((26, __index + __ch.len_utf8())); + __current_match = Some((27, __index + __ch.len_utf8())); __current_state = 12; continue; } 105 => /* 'i' */ { - __current_match = Some((26, __index + 1)); + __current_match = Some((27, __index + 1)); __current_state = 19; continue; } 106 ... 108 => { - __current_match = Some((26, __index + __ch.len_utf8())); + __current_match = Some((27, __index + __ch.len_utf8())); __current_state = 12; continue; } 109 => /* 'm' */ { - __current_match = Some((26, __index + 1)); + __current_match = Some((27, __index + 1)); __current_state = 20; continue; } 110 => /* 'n' */ { - __current_match = Some((26, __index + 1)); + __current_match = Some((27, __index + 1)); __current_state = 12; continue; } 111 => /* 'o' */ { - __current_match = Some((26, __index + 1)); + __current_match = Some((27, __index + 1)); __current_state = 21; continue; } 112 => /* 'p' */ { - __current_match = Some((26, __index + 1)); + __current_match = Some((27, __index + 1)); __current_state = 22; continue; } 113 ... 114 => { - __current_match = Some((26, __index + __ch.len_utf8())); + __current_match = Some((27, __index + __ch.len_utf8())); __current_state = 12; continue; } 115 => /* 's' */ { - __current_match = Some((26, __index + 1)); + __current_match = Some((27, __index + 1)); __current_state = 23; continue; } - 116 ... 122 => { - __current_match = Some((26, __index + __ch.len_utf8())); + 116 => /* 't' */ { + __current_match = Some((27, __index + 1)); + __current_state = 12; + continue; + } + 117 => /* 'u' */ { + __current_match = Some((27, __index + 1)); + __current_state = 24; + continue; + } + 118 ... 122 => { + __current_match = Some((27, __index + __ch.len_utf8())); __current_state = 12; continue; } 1632 ... 1641 => { - __current_match = Some((24, __index + __ch.len_utf8())); + __current_match = Some((25, __index + __ch.len_utf8())); __current_state = 9; continue; } 1776 ... 1785 => { - __current_match = Some((24, __index + __ch.len_utf8())); + __current_match = Some((25, __index + __ch.len_utf8())); __current_state = 9; continue; } 1984 ... 1993 => { - __current_match = Some((24, __index + __ch.len_utf8())); + __current_match = Some((25, __index + __ch.len_utf8())); __current_state = 9; continue; } 2406 ... 2415 => { - __current_match = Some((24, __index + __ch.len_utf8())); + __current_match = Some((25, __index + __ch.len_utf8())); __current_state = 9; continue; } 2534 ... 2543 => { - __current_match = Some((24, __index + __ch.len_utf8())); + __current_match = Some((25, __index + __ch.len_utf8())); __current_state = 9; continue; } 2662 ... 2671 => { - __current_match = Some((24, __index + __ch.len_utf8())); + __current_match = Some((25, __index + __ch.len_utf8())); __current_state = 9; continue; } 2790 ... 2799 => { - __current_match = Some((24, __index + __ch.len_utf8())); + __current_match = Some((25, __index + __ch.len_utf8())); __current_state = 9; continue; } 2918 ... 2927 => { - __current_match = Some((24, __index + __ch.len_utf8())); + __current_match = Some((25, __index + __ch.len_utf8())); __current_state = 9; continue; } 3046 ... 3055 => { - __current_match = Some((24, __index + __ch.len_utf8())); + __current_match = Some((25, __index + __ch.len_utf8())); __current_state = 9; continue; } 3174 ... 3183 => { - __current_match = Some((24, __index + __ch.len_utf8())); + __current_match = Some((25, __index + __ch.len_utf8())); __current_state = 9; continue; } 3302 ... 3311 => { - __current_match = Some((24, __index + __ch.len_utf8())); + __current_match = Some((25, __index + __ch.len_utf8())); __current_state = 9; continue; } 3430 ... 3439 => { - __current_match = Some((24, __index + __ch.len_utf8())); + __current_match = Some((25, __index + __ch.len_utf8())); __current_state = 9; continue; } 3558 ... 3567 => { - __current_match = Some((24, __index + __ch.len_utf8())); + __current_match = Some((25, __index + __ch.len_utf8())); __current_state = 9; continue; } 3664 ... 3673 => { - __current_match = Some((24, __index + __ch.len_utf8())); + __current_match = Some((25, __index + __ch.len_utf8())); __current_state = 9; continue; } 3792 ... 3801 => { - __current_match = Some((24, __index + __ch.len_utf8())); + __current_match = Some((25, __index + __ch.len_utf8())); __current_state = 9; continue; } 3872 ... 3881 => { - __current_match = Some((24, __index + __ch.len_utf8())); + __current_match = Some((25, __index + __ch.len_utf8())); __current_state = 9; continue; } 4160 ... 4169 => { - __current_match = Some((24, __index + __ch.len_utf8())); + __current_match = Some((25, __index + __ch.len_utf8())); __current_state = 9; continue; } 4240 ... 4249 => { - __current_match = Some((24, __index + __ch.len_utf8())); + __current_match = Some((25, __index + __ch.len_utf8())); __current_state = 9; continue; } 6112 ... 6121 => { - __current_match = Some((24, __index + __ch.len_utf8())); + __current_match = Some((25, __index + __ch.len_utf8())); __current_state = 9; continue; } 6160 ... 6169 => { - __current_match = Some((24, __index + __ch.len_utf8())); + __current_match = Some((25, __index + __ch.len_utf8())); __current_state = 9; continue; } 6470 ... 6479 => { - __current_match = Some((24, __index + __ch.len_utf8())); + __current_match = Some((25, __index + __ch.len_utf8())); __current_state = 9; continue; } 6608 ... 6617 => { - __current_match = Some((24, __index + __ch.len_utf8())); + __current_match = Some((25, __index + __ch.len_utf8())); __current_state = 9; continue; } 6784 ... 6793 => { - __current_match = Some((24, __index + __ch.len_utf8())); + __current_match = Some((25, __index + __ch.len_utf8())); __current_state = 9; continue; } 6800 ... 6809 => { - __current_match = Some((24, __index + __ch.len_utf8())); + __current_match = Some((25, __index + __ch.len_utf8())); __current_state = 9; continue; } 6992 ... 7001 => { - __current_match = Some((24, __index + __ch.len_utf8())); + __current_match = Some((25, __index + __ch.len_utf8())); __current_state = 9; continue; } 7088 ... 7097 => { - __current_match = Some((24, __index + __ch.len_utf8())); + __current_match = Some((25, __index + __ch.len_utf8())); __current_state = 9; continue; } 7232 ... 7241 => { - __current_match = Some((24, __index + __ch.len_utf8())); + __current_match = Some((25, __index + __ch.len_utf8())); __current_state = 9; continue; } 7248 ... 7257 => { - __current_match = Some((24, __index + __ch.len_utf8())); + __current_match = Some((25, __index + __ch.len_utf8())); __current_state = 9; continue; } 42528 ... 42537 => { - __current_match = Some((24, __index + __ch.len_utf8())); + __current_match = Some((25, __index + __ch.len_utf8())); __current_state = 9; continue; } 43216 ... 43225 => { - __current_match = Some((24, __index + __ch.len_utf8())); + __current_match = Some((25, __index + __ch.len_utf8())); __current_state = 9; continue; } 43264 ... 43273 => { - __current_match = Some((24, __index + __ch.len_utf8())); + __current_match = Some((25, __index + __ch.len_utf8())); __current_state = 9; continue; } 43472 ... 43481 => { - __current_match = Some((24, __index + __ch.len_utf8())); + __current_match = Some((25, __index + __ch.len_utf8())); __current_state = 9; continue; } 43504 ... 43513 => { - __current_match = Some((24, __index + __ch.len_utf8())); + __current_match = Some((25, __index + __ch.len_utf8())); __current_state = 9; continue; } 43600 ... 43609 => { - __current_match = Some((24, __index + __ch.len_utf8())); + __current_match = Some((25, __index + __ch.len_utf8())); __current_state = 9; continue; } 44016 ... 44025 => { - __current_match = Some((24, __index + __ch.len_utf8())); + __current_match = Some((25, __index + __ch.len_utf8())); __current_state = 9; continue; } 65296 ... 65305 => { - __current_match = Some((24, __index + __ch.len_utf8())); + __current_match = Some((25, __index + __ch.len_utf8())); __current_state = 9; continue; } 66720 ... 66729 => { - __current_match = Some((24, __index + __ch.len_utf8())); + __current_match = Some((25, __index + __ch.len_utf8())); __current_state = 9; continue; } 69734 ... 69743 => { - __current_match = Some((24, __index + __ch.len_utf8())); + __current_match = Some((25, __index + __ch.len_utf8())); __current_state = 9; continue; } 69872 ... 69881 => { - __current_match = Some((24, __index + __ch.len_utf8())); + __current_match = Some((25, __index + __ch.len_utf8())); __current_state = 9; continue; } 69942 ... 69951 => { - __current_match = Some((24, __index + __ch.len_utf8())); + __current_match = Some((25, __index + __ch.len_utf8())); __current_state = 9; continue; } 70096 ... 70105 => { - __current_match = Some((24, __index + __ch.len_utf8())); + __current_match = Some((25, __index + __ch.len_utf8())); __current_state = 9; continue; } 70384 ... 70393 => { - __current_match = Some((24, __index + __ch.len_utf8())); + __current_match = Some((25, __index + __ch.len_utf8())); __current_state = 9; continue; } 70864 ... 70873 => { - __current_match = Some((24, __index + __ch.len_utf8())); + __current_match = Some((25, __index + __ch.len_utf8())); __current_state = 9; continue; } 71248 ... 71257 => { - __current_match = Some((24, __index + __ch.len_utf8())); + __current_match = Some((25, __index + __ch.len_utf8())); __current_state = 9; continue; } 71360 ... 71369 => { - __current_match = Some((24, __index + __ch.len_utf8())); + __current_match = Some((25, __index + __ch.len_utf8())); __current_state = 9; continue; } 71472 ... 71481 => { - __current_match = Some((24, __index + __ch.len_utf8())); + __current_match = Some((25, __index + __ch.len_utf8())); __current_state = 9; continue; } 71904 ... 71913 => { - __current_match = Some((24, __index + __ch.len_utf8())); + __current_match = Some((25, __index + __ch.len_utf8())); __current_state = 9; continue; } 92768 ... 92777 => { - __current_match = Some((24, __index + __ch.len_utf8())); + __current_match = Some((25, __index + __ch.len_utf8())); __current_state = 9; continue; } 93008 ... 93017 => { - __current_match = Some((24, __index + __ch.len_utf8())); + __current_match = Some((25, __index + __ch.len_utf8())); __current_state = 9; continue; } 120782 ... 120831 => { - __current_match = Some((24, __index + __ch.len_utf8())); + __current_match = Some((25, __index + __ch.len_utf8())); __current_state = 9; continue; } @@ -18781,20 +22195,20 @@ mod __intern_token { let (__index, __ch) = match __chars.next() { Some(p) => p, None => return __current_match }; match __ch as u32 { 0 ... 33 => { - __current_state = 25; + __current_state = 26; continue; } 34 => /* '\"' */ { - __current_match = Some((23, __index + 1)); - __current_state = 26; + __current_match = Some((24, __index + 1)); + __current_state = 27; continue; } 35 ... 91 => { - __current_state = 25; + __current_state = 26; continue; } 93 ... 1114111 => { - __current_state = 25; + __current_state = 26; continue; } _ => { @@ -18830,257 +22244,257 @@ mod __intern_token { let (__index, __ch) = match __chars.next() { Some(p) => p, None => return __current_match }; match __ch as u32 { 48 ... 57 => { - __current_match = Some((24, __index + __ch.len_utf8())); + __current_match = Some((25, __index + __ch.len_utf8())); __current_state = 9; continue; } 1632 ... 1641 => { - __current_match = Some((24, __index + __ch.len_utf8())); + __current_match = Some((25, __index + __ch.len_utf8())); __current_state = 9; continue; } 1776 ... 1785 => { - __current_match = Some((24, __index + __ch.len_utf8())); + __current_match = Some((25, __index + __ch.len_utf8())); __current_state = 9; continue; } 1984 ... 1993 => { - __current_match = Some((24, __index + __ch.len_utf8())); + __current_match = Some((25, __index + __ch.len_utf8())); __current_state = 9; continue; } 2406 ... 2415 => { - __current_match = Some((24, __index + __ch.len_utf8())); + __current_match = Some((25, __index + __ch.len_utf8())); __current_state = 9; continue; } 2534 ... 2543 => { - __current_match = Some((24, __index + __ch.len_utf8())); + __current_match = Some((25, __index + __ch.len_utf8())); __current_state = 9; continue; } 2662 ... 2671 => { - __current_match = Some((24, __index + __ch.len_utf8())); + __current_match = Some((25, __index + __ch.len_utf8())); __current_state = 9; continue; } 2790 ... 2799 => { - __current_match = Some((24, __index + __ch.len_utf8())); + __current_match = Some((25, __index + __ch.len_utf8())); __current_state = 9; continue; } 2918 ... 2927 => { - __current_match = Some((24, __index + __ch.len_utf8())); + __current_match = Some((25, __index + __ch.len_utf8())); __current_state = 9; continue; } 3046 ... 3055 => { - __current_match = Some((24, __index + __ch.len_utf8())); + __current_match = Some((25, __index + __ch.len_utf8())); __current_state = 9; continue; } 3174 ... 3183 => { - __current_match = Some((24, __index + __ch.len_utf8())); + __current_match = Some((25, __index + __ch.len_utf8())); __current_state = 9; continue; } 3302 ... 3311 => { - __current_match = Some((24, __index + __ch.len_utf8())); + __current_match = Some((25, __index + __ch.len_utf8())); __current_state = 9; continue; } 3430 ... 3439 => { - __current_match = Some((24, __index + __ch.len_utf8())); + __current_match = Some((25, __index + __ch.len_utf8())); __current_state = 9; continue; } 3558 ... 3567 => { - __current_match = Some((24, __index + __ch.len_utf8())); + __current_match = Some((25, __index + __ch.len_utf8())); __current_state = 9; continue; } 3664 ... 3673 => { - __current_match = Some((24, __index + __ch.len_utf8())); + __current_match = Some((25, __index + __ch.len_utf8())); __current_state = 9; continue; } 3792 ... 3801 => { - __current_match = Some((24, __index + __ch.len_utf8())); + __current_match = Some((25, __index + __ch.len_utf8())); __current_state = 9; continue; } 3872 ... 3881 => { - __current_match = Some((24, __index + __ch.len_utf8())); + __current_match = Some((25, __index + __ch.len_utf8())); __current_state = 9; continue; } 4160 ... 4169 => { - __current_match = Some((24, __index + __ch.len_utf8())); + __current_match = Some((25, __index + __ch.len_utf8())); __current_state = 9; continue; } 4240 ... 4249 => { - __current_match = Some((24, __index + __ch.len_utf8())); + __current_match = Some((25, __index + __ch.len_utf8())); __current_state = 9; continue; } 6112 ... 6121 => { - __current_match = Some((24, __index + __ch.len_utf8())); + __current_match = Some((25, __index + __ch.len_utf8())); __current_state = 9; continue; } 6160 ... 6169 => { - __current_match = Some((24, __index + __ch.len_utf8())); + __current_match = Some((25, __index + __ch.len_utf8())); __current_state = 9; continue; } 6470 ... 6479 => { - __current_match = Some((24, __index + __ch.len_utf8())); + __current_match = Some((25, __index + __ch.len_utf8())); __current_state = 9; continue; } 6608 ... 6617 => { - __current_match = Some((24, __index + __ch.len_utf8())); + __current_match = Some((25, __index + __ch.len_utf8())); __current_state = 9; continue; } 6784 ... 6793 => { - __current_match = Some((24, __index + __ch.len_utf8())); + __current_match = Some((25, __index + __ch.len_utf8())); __current_state = 9; continue; } 6800 ... 6809 => { - __current_match = Some((24, __index + __ch.len_utf8())); + __current_match = Some((25, __index + __ch.len_utf8())); __current_state = 9; continue; } 6992 ... 7001 => { - __current_match = Some((24, __index + __ch.len_utf8())); + __current_match = Some((25, __index + __ch.len_utf8())); __current_state = 9; continue; } 7088 ... 7097 => { - __current_match = Some((24, __index + __ch.len_utf8())); + __current_match = Some((25, __index + __ch.len_utf8())); __current_state = 9; continue; } 7232 ... 7241 => { - __current_match = Some((24, __index + __ch.len_utf8())); + __current_match = Some((25, __index + __ch.len_utf8())); __current_state = 9; continue; } 7248 ... 7257 => { - __current_match = Some((24, __index + __ch.len_utf8())); + __current_match = Some((25, __index + __ch.len_utf8())); __current_state = 9; continue; } 42528 ... 42537 => { - __current_match = Some((24, __index + __ch.len_utf8())); + __current_match = Some((25, __index + __ch.len_utf8())); __current_state = 9; continue; } 43216 ... 43225 => { - __current_match = Some((24, __index + __ch.len_utf8())); + __current_match = Some((25, __index + __ch.len_utf8())); __current_state = 9; continue; } 43264 ... 43273 => { - __current_match = Some((24, __index + __ch.len_utf8())); + __current_match = Some((25, __index + __ch.len_utf8())); __current_state = 9; continue; } 43472 ... 43481 => { - __current_match = Some((24, __index + __ch.len_utf8())); + __current_match = Some((25, __index + __ch.len_utf8())); __current_state = 9; continue; } 43504 ... 43513 => { - __current_match = Some((24, __index + __ch.len_utf8())); + __current_match = Some((25, __index + __ch.len_utf8())); __current_state = 9; continue; } 43600 ... 43609 => { - __current_match = Some((24, __index + __ch.len_utf8())); + __current_match = Some((25, __index + __ch.len_utf8())); __current_state = 9; continue; } 44016 ... 44025 => { - __current_match = Some((24, __index + __ch.len_utf8())); + __current_match = Some((25, __index + __ch.len_utf8())); __current_state = 9; continue; } 65296 ... 65305 => { - __current_match = Some((24, __index + __ch.len_utf8())); + __current_match = Some((25, __index + __ch.len_utf8())); __current_state = 9; continue; } 66720 ... 66729 => { - __current_match = Some((24, __index + __ch.len_utf8())); + __current_match = Some((25, __index + __ch.len_utf8())); __current_state = 9; continue; } 69734 ... 69743 => { - __current_match = Some((24, __index + __ch.len_utf8())); + __current_match = Some((25, __index + __ch.len_utf8())); __current_state = 9; continue; } 69872 ... 69881 => { - __current_match = Some((24, __index + __ch.len_utf8())); + __current_match = Some((25, __index + __ch.len_utf8())); __current_state = 9; continue; } 69942 ... 69951 => { - __current_match = Some((24, __index + __ch.len_utf8())); + __current_match = Some((25, __index + __ch.len_utf8())); __current_state = 9; continue; } 70096 ... 70105 => { - __current_match = Some((24, __index + __ch.len_utf8())); + __current_match = Some((25, __index + __ch.len_utf8())); __current_state = 9; continue; } 70384 ... 70393 => { - __current_match = Some((24, __index + __ch.len_utf8())); + __current_match = Some((25, __index + __ch.len_utf8())); __current_state = 9; continue; } 70864 ... 70873 => { - __current_match = Some((24, __index + __ch.len_utf8())); + __current_match = Some((25, __index + __ch.len_utf8())); __current_state = 9; continue; } 71248 ... 71257 => { - __current_match = Some((24, __index + __ch.len_utf8())); + __current_match = Some((25, __index + __ch.len_utf8())); __current_state = 9; continue; } 71360 ... 71369 => { - __current_match = Some((24, __index + __ch.len_utf8())); + __current_match = Some((25, __index + __ch.len_utf8())); __current_state = 9; continue; } 71472 ... 71481 => { - __current_match = Some((24, __index + __ch.len_utf8())); + __current_match = Some((25, __index + __ch.len_utf8())); __current_state = 9; continue; } 71904 ... 71913 => { - __current_match = Some((24, __index + __ch.len_utf8())); + __current_match = Some((25, __index + __ch.len_utf8())); __current_state = 9; continue; } 92768 ... 92777 => { - __current_match = Some((24, __index + __ch.len_utf8())); + __current_match = Some((25, __index + __ch.len_utf8())); __current_state = 9; continue; } 93008 ... 93017 => { - __current_match = Some((24, __index + __ch.len_utf8())); + __current_match = Some((25, __index + __ch.len_utf8())); __current_state = 9; continue; } 120782 ... 120831 => { - __current_match = Some((24, __index + __ch.len_utf8())); + __current_match = Some((25, __index + __ch.len_utf8())); __current_state = 9; continue; } @@ -19101,257 +22515,257 @@ mod __intern_token { let (__index, __ch) = match __chars.next() { Some(p) => p, None => return __current_match }; match __ch as u32 { 48 ... 57 => { - __current_match = Some((24, __index + __ch.len_utf8())); + __current_match = Some((25, __index + __ch.len_utf8())); __current_state = 9; continue; } 1632 ... 1641 => { - __current_match = Some((24, __index + __ch.len_utf8())); + __current_match = Some((25, __index + __ch.len_utf8())); __current_state = 9; continue; } 1776 ... 1785 => { - __current_match = Some((24, __index + __ch.len_utf8())); + __current_match = Some((25, __index + __ch.len_utf8())); __current_state = 9; continue; } 1984 ... 1993 => { - __current_match = Some((24, __index + __ch.len_utf8())); + __current_match = Some((25, __index + __ch.len_utf8())); __current_state = 9; continue; } 2406 ... 2415 => { - __current_match = Some((24, __index + __ch.len_utf8())); + __current_match = Some((25, __index + __ch.len_utf8())); __current_state = 9; continue; } 2534 ... 2543 => { - __current_match = Some((24, __index + __ch.len_utf8())); + __current_match = Some((25, __index + __ch.len_utf8())); __current_state = 9; continue; } 2662 ... 2671 => { - __current_match = Some((24, __index + __ch.len_utf8())); + __current_match = Some((25, __index + __ch.len_utf8())); __current_state = 9; continue; } 2790 ... 2799 => { - __current_match = Some((24, __index + __ch.len_utf8())); + __current_match = Some((25, __index + __ch.len_utf8())); __current_state = 9; continue; } 2918 ... 2927 => { - __current_match = Some((24, __index + __ch.len_utf8())); + __current_match = Some((25, __index + __ch.len_utf8())); __current_state = 9; continue; } 3046 ... 3055 => { - __current_match = Some((24, __index + __ch.len_utf8())); + __current_match = Some((25, __index + __ch.len_utf8())); __current_state = 9; continue; } 3174 ... 3183 => { - __current_match = Some((24, __index + __ch.len_utf8())); + __current_match = Some((25, __index + __ch.len_utf8())); __current_state = 9; continue; } 3302 ... 3311 => { - __current_match = Some((24, __index + __ch.len_utf8())); + __current_match = Some((25, __index + __ch.len_utf8())); __current_state = 9; continue; } 3430 ... 3439 => { - __current_match = Some((24, __index + __ch.len_utf8())); + __current_match = Some((25, __index + __ch.len_utf8())); __current_state = 9; continue; } 3558 ... 3567 => { - __current_match = Some((24, __index + __ch.len_utf8())); + __current_match = Some((25, __index + __ch.len_utf8())); __current_state = 9; continue; } 3664 ... 3673 => { - __current_match = Some((24, __index + __ch.len_utf8())); + __current_match = Some((25, __index + __ch.len_utf8())); __current_state = 9; continue; } 3792 ... 3801 => { - __current_match = Some((24, __index + __ch.len_utf8())); + __current_match = Some((25, __index + __ch.len_utf8())); __current_state = 9; continue; } 3872 ... 3881 => { - __current_match = Some((24, __index + __ch.len_utf8())); + __current_match = Some((25, __index + __ch.len_utf8())); __current_state = 9; continue; } 4160 ... 4169 => { - __current_match = Some((24, __index + __ch.len_utf8())); + __current_match = Some((25, __index + __ch.len_utf8())); __current_state = 9; continue; } 4240 ... 4249 => { - __current_match = Some((24, __index + __ch.len_utf8())); + __current_match = Some((25, __index + __ch.len_utf8())); __current_state = 9; continue; } 6112 ... 6121 => { - __current_match = Some((24, __index + __ch.len_utf8())); + __current_match = Some((25, __index + __ch.len_utf8())); __current_state = 9; continue; } 6160 ... 6169 => { - __current_match = Some((24, __index + __ch.len_utf8())); + __current_match = Some((25, __index + __ch.len_utf8())); __current_state = 9; continue; } 6470 ... 6479 => { - __current_match = Some((24, __index + __ch.len_utf8())); + __current_match = Some((25, __index + __ch.len_utf8())); __current_state = 9; continue; } 6608 ... 6617 => { - __current_match = Some((24, __index + __ch.len_utf8())); + __current_match = Some((25, __index + __ch.len_utf8())); __current_state = 9; continue; } 6784 ... 6793 => { - __current_match = Some((24, __index + __ch.len_utf8())); + __current_match = Some((25, __index + __ch.len_utf8())); __current_state = 9; continue; } 6800 ... 6809 => { - __current_match = Some((24, __index + __ch.len_utf8())); + __current_match = Some((25, __index + __ch.len_utf8())); __current_state = 9; continue; } 6992 ... 7001 => { - __current_match = Some((24, __index + __ch.len_utf8())); + __current_match = Some((25, __index + __ch.len_utf8())); __current_state = 9; continue; } 7088 ... 7097 => { - __current_match = Some((24, __index + __ch.len_utf8())); + __current_match = Some((25, __index + __ch.len_utf8())); __current_state = 9; continue; } 7232 ... 7241 => { - __current_match = Some((24, __index + __ch.len_utf8())); + __current_match = Some((25, __index + __ch.len_utf8())); __current_state = 9; continue; } 7248 ... 7257 => { - __current_match = Some((24, __index + __ch.len_utf8())); + __current_match = Some((25, __index + __ch.len_utf8())); __current_state = 9; continue; } 42528 ... 42537 => { - __current_match = Some((24, __index + __ch.len_utf8())); + __current_match = Some((25, __index + __ch.len_utf8())); __current_state = 9; continue; } 43216 ... 43225 => { - __current_match = Some((24, __index + __ch.len_utf8())); + __current_match = Some((25, __index + __ch.len_utf8())); __current_state = 9; continue; } 43264 ... 43273 => { - __current_match = Some((24, __index + __ch.len_utf8())); + __current_match = Some((25, __index + __ch.len_utf8())); __current_state = 9; continue; } 43472 ... 43481 => { - __current_match = Some((24, __index + __ch.len_utf8())); + __current_match = Some((25, __index + __ch.len_utf8())); __current_state = 9; continue; } 43504 ... 43513 => { - __current_match = Some((24, __index + __ch.len_utf8())); + __current_match = Some((25, __index + __ch.len_utf8())); __current_state = 9; continue; } 43600 ... 43609 => { - __current_match = Some((24, __index + __ch.len_utf8())); + __current_match = Some((25, __index + __ch.len_utf8())); __current_state = 9; continue; } 44016 ... 44025 => { - __current_match = Some((24, __index + __ch.len_utf8())); + __current_match = Some((25, __index + __ch.len_utf8())); __current_state = 9; continue; } 65296 ... 65305 => { - __current_match = Some((24, __index + __ch.len_utf8())); + __current_match = Some((25, __index + __ch.len_utf8())); __current_state = 9; continue; } 66720 ... 66729 => { - __current_match = Some((24, __index + __ch.len_utf8())); + __current_match = Some((25, __index + __ch.len_utf8())); __current_state = 9; continue; } 69734 ... 69743 => { - __current_match = Some((24, __index + __ch.len_utf8())); + __current_match = Some((25, __index + __ch.len_utf8())); __current_state = 9; continue; } 69872 ... 69881 => { - __current_match = Some((24, __index + __ch.len_utf8())); + __current_match = Some((25, __index + __ch.len_utf8())); __current_state = 9; continue; } 69942 ... 69951 => { - __current_match = Some((24, __index + __ch.len_utf8())); + __current_match = Some((25, __index + __ch.len_utf8())); __current_state = 9; continue; } 70096 ... 70105 => { - __current_match = Some((24, __index + __ch.len_utf8())); + __current_match = Some((25, __index + __ch.len_utf8())); __current_state = 9; continue; } 70384 ... 70393 => { - __current_match = Some((24, __index + __ch.len_utf8())); + __current_match = Some((25, __index + __ch.len_utf8())); __current_state = 9; continue; } 70864 ... 70873 => { - __current_match = Some((24, __index + __ch.len_utf8())); + __current_match = Some((25, __index + __ch.len_utf8())); __current_state = 9; continue; } 71248 ... 71257 => { - __current_match = Some((24, __index + __ch.len_utf8())); + __current_match = Some((25, __index + __ch.len_utf8())); __current_state = 9; continue; } 71360 ... 71369 => { - __current_match = Some((24, __index + __ch.len_utf8())); + __current_match = Some((25, __index + __ch.len_utf8())); __current_state = 9; continue; } 71472 ... 71481 => { - __current_match = Some((24, __index + __ch.len_utf8())); + __current_match = Some((25, __index + __ch.len_utf8())); __current_state = 9; continue; } 71904 ... 71913 => { - __current_match = Some((24, __index + __ch.len_utf8())); + __current_match = Some((25, __index + __ch.len_utf8())); __current_state = 9; continue; } 92768 ... 92777 => { - __current_match = Some((24, __index + __ch.len_utf8())); + __current_match = Some((25, __index + __ch.len_utf8())); __current_state = 9; continue; } 93008 ... 93017 => { - __current_match = Some((24, __index + __ch.len_utf8())); + __current_match = Some((25, __index + __ch.len_utf8())); __current_state = 9; continue; } 120782 ... 120831 => { - __current_match = Some((24, __index + __ch.len_utf8())); + __current_match = Some((25, __index + __ch.len_utf8())); __current_state = 9; continue; } @@ -19372,262 +22786,262 @@ mod __intern_token { let (__index, __ch) = match __chars.next() { Some(p) => p, None => return __current_match }; match __ch as u32 { 46 => /* '.' */ { - __current_match = Some((25, __index + 1)); - __current_state = 27; + __current_match = Some((26, __index + 1)); + __current_state = 28; continue; } 48 ... 57 => { - __current_match = Some((24, __index + __ch.len_utf8())); + __current_match = Some((25, __index + __ch.len_utf8())); __current_state = 9; continue; } 1632 ... 1641 => { - __current_match = Some((24, __index + __ch.len_utf8())); + __current_match = Some((25, __index + __ch.len_utf8())); __current_state = 9; continue; } 1776 ... 1785 => { - __current_match = Some((24, __index + __ch.len_utf8())); + __current_match = Some((25, __index + __ch.len_utf8())); __current_state = 9; continue; } 1984 ... 1993 => { - __current_match = Some((24, __index + __ch.len_utf8())); + __current_match = Some((25, __index + __ch.len_utf8())); __current_state = 9; continue; } 2406 ... 2415 => { - __current_match = Some((24, __index + __ch.len_utf8())); + __current_match = Some((25, __index + __ch.len_utf8())); __current_state = 9; continue; } 2534 ... 2543 => { - __current_match = Some((24, __index + __ch.len_utf8())); + __current_match = Some((25, __index + __ch.len_utf8())); __current_state = 9; continue; } 2662 ... 2671 => { - __current_match = Some((24, __index + __ch.len_utf8())); + __current_match = Some((25, __index + __ch.len_utf8())); __current_state = 9; continue; } 2790 ... 2799 => { - __current_match = Some((24, __index + __ch.len_utf8())); + __current_match = Some((25, __index + __ch.len_utf8())); __current_state = 9; continue; } 2918 ... 2927 => { - __current_match = Some((24, __index + __ch.len_utf8())); + __current_match = Some((25, __index + __ch.len_utf8())); __current_state = 9; continue; } 3046 ... 3055 => { - __current_match = Some((24, __index + __ch.len_utf8())); + __current_match = Some((25, __index + __ch.len_utf8())); __current_state = 9; continue; } 3174 ... 3183 => { - __current_match = Some((24, __index + __ch.len_utf8())); + __current_match = Some((25, __index + __ch.len_utf8())); __current_state = 9; continue; } 3302 ... 3311 => { - __current_match = Some((24, __index + __ch.len_utf8())); + __current_match = Some((25, __index + __ch.len_utf8())); __current_state = 9; continue; } 3430 ... 3439 => { - __current_match = Some((24, __index + __ch.len_utf8())); + __current_match = Some((25, __index + __ch.len_utf8())); __current_state = 9; continue; } 3558 ... 3567 => { - __current_match = Some((24, __index + __ch.len_utf8())); + __current_match = Some((25, __index + __ch.len_utf8())); __current_state = 9; continue; } 3664 ... 3673 => { - __current_match = Some((24, __index + __ch.len_utf8())); + __current_match = Some((25, __index + __ch.len_utf8())); __current_state = 9; continue; } 3792 ... 3801 => { - __current_match = Some((24, __index + __ch.len_utf8())); + __current_match = Some((25, __index + __ch.len_utf8())); __current_state = 9; continue; } 3872 ... 3881 => { - __current_match = Some((24, __index + __ch.len_utf8())); + __current_match = Some((25, __index + __ch.len_utf8())); __current_state = 9; continue; } 4160 ... 4169 => { - __current_match = Some((24, __index + __ch.len_utf8())); + __current_match = Some((25, __index + __ch.len_utf8())); __current_state = 9; continue; } 4240 ... 4249 => { - __current_match = Some((24, __index + __ch.len_utf8())); + __current_match = Some((25, __index + __ch.len_utf8())); __current_state = 9; continue; } 6112 ... 6121 => { - __current_match = Some((24, __index + __ch.len_utf8())); + __current_match = Some((25, __index + __ch.len_utf8())); __current_state = 9; continue; } 6160 ... 6169 => { - __current_match = Some((24, __index + __ch.len_utf8())); + __current_match = Some((25, __index + __ch.len_utf8())); __current_state = 9; continue; } 6470 ... 6479 => { - __current_match = Some((24, __index + __ch.len_utf8())); + __current_match = Some((25, __index + __ch.len_utf8())); __current_state = 9; continue; } 6608 ... 6617 => { - __current_match = Some((24, __index + __ch.len_utf8())); + __current_match = Some((25, __index + __ch.len_utf8())); __current_state = 9; continue; } 6784 ... 6793 => { - __current_match = Some((24, __index + __ch.len_utf8())); + __current_match = Some((25, __index + __ch.len_utf8())); __current_state = 9; continue; } 6800 ... 6809 => { - __current_match = Some((24, __index + __ch.len_utf8())); + __current_match = Some((25, __index + __ch.len_utf8())); __current_state = 9; continue; } 6992 ... 7001 => { - __current_match = Some((24, __index + __ch.len_utf8())); + __current_match = Some((25, __index + __ch.len_utf8())); __current_state = 9; continue; } 7088 ... 7097 => { - __current_match = Some((24, __index + __ch.len_utf8())); + __current_match = Some((25, __index + __ch.len_utf8())); __current_state = 9; continue; } 7232 ... 7241 => { - __current_match = Some((24, __index + __ch.len_utf8())); + __current_match = Some((25, __index + __ch.len_utf8())); __current_state = 9; continue; } 7248 ... 7257 => { - __current_match = Some((24, __index + __ch.len_utf8())); + __current_match = Some((25, __index + __ch.len_utf8())); __current_state = 9; continue; } 42528 ... 42537 => { - __current_match = Some((24, __index + __ch.len_utf8())); + __current_match = Some((25, __index + __ch.len_utf8())); __current_state = 9; continue; } 43216 ... 43225 => { - __current_match = Some((24, __index + __ch.len_utf8())); + __current_match = Some((25, __index + __ch.len_utf8())); __current_state = 9; continue; } 43264 ... 43273 => { - __current_match = Some((24, __index + __ch.len_utf8())); + __current_match = Some((25, __index + __ch.len_utf8())); __current_state = 9; continue; } 43472 ... 43481 => { - __current_match = Some((24, __index + __ch.len_utf8())); + __current_match = Some((25, __index + __ch.len_utf8())); __current_state = 9; continue; } 43504 ... 43513 => { - __current_match = Some((24, __index + __ch.len_utf8())); + __current_match = Some((25, __index + __ch.len_utf8())); __current_state = 9; continue; } 43600 ... 43609 => { - __current_match = Some((24, __index + __ch.len_utf8())); + __current_match = Some((25, __index + __ch.len_utf8())); __current_state = 9; continue; } 44016 ... 44025 => { - __current_match = Some((24, __index + __ch.len_utf8())); + __current_match = Some((25, __index + __ch.len_utf8())); __current_state = 9; continue; } 65296 ... 65305 => { - __current_match = Some((24, __index + __ch.len_utf8())); + __current_match = Some((25, __index + __ch.len_utf8())); __current_state = 9; continue; } 66720 ... 66729 => { - __current_match = Some((24, __index + __ch.len_utf8())); + __current_match = Some((25, __index + __ch.len_utf8())); __current_state = 9; continue; } 69734 ... 69743 => { - __current_match = Some((24, __index + __ch.len_utf8())); + __current_match = Some((25, __index + __ch.len_utf8())); __current_state = 9; continue; } 69872 ... 69881 => { - __current_match = Some((24, __index + __ch.len_utf8())); + __current_match = Some((25, __index + __ch.len_utf8())); __current_state = 9; continue; } 69942 ... 69951 => { - __current_match = Some((24, __index + __ch.len_utf8())); + __current_match = Some((25, __index + __ch.len_utf8())); __current_state = 9; continue; } 70096 ... 70105 => { - __current_match = Some((24, __index + __ch.len_utf8())); + __current_match = Some((25, __index + __ch.len_utf8())); __current_state = 9; continue; } 70384 ... 70393 => { - __current_match = Some((24, __index + __ch.len_utf8())); + __current_match = Some((25, __index + __ch.len_utf8())); __current_state = 9; continue; } 70864 ... 70873 => { - __current_match = Some((24, __index + __ch.len_utf8())); + __current_match = Some((25, __index + __ch.len_utf8())); __current_state = 9; continue; } 71248 ... 71257 => { - __current_match = Some((24, __index + __ch.len_utf8())); + __current_match = Some((25, __index + __ch.len_utf8())); __current_state = 9; continue; } 71360 ... 71369 => { - __current_match = Some((24, __index + __ch.len_utf8())); + __current_match = Some((25, __index + __ch.len_utf8())); __current_state = 9; continue; } 71472 ... 71481 => { - __current_match = Some((24, __index + __ch.len_utf8())); + __current_match = Some((25, __index + __ch.len_utf8())); __current_state = 9; continue; } 71904 ... 71913 => { - __current_match = Some((24, __index + __ch.len_utf8())); + __current_match = Some((25, __index + __ch.len_utf8())); __current_state = 9; continue; } 92768 ... 92777 => { - __current_match = Some((24, __index + __ch.len_utf8())); + __current_match = Some((25, __index + __ch.len_utf8())); __current_state = 9; continue; } 93008 ... 93017 => { - __current_match = Some((24, __index + __ch.len_utf8())); + __current_match = Some((25, __index + __ch.len_utf8())); __current_state = 9; continue; } 120782 ... 120831 => { - __current_match = Some((24, __index + __ch.len_utf8())); + __current_match = Some((25, __index + __ch.len_utf8())); __current_state = 9; continue; } @@ -19656,23 +23070,23 @@ mod __intern_token { let (__index, __ch) = match __chars.next() { Some(p) => p, None => return __current_match }; match __ch as u32 { 48 ... 57 => { - __current_match = Some((26, __index + __ch.len_utf8())); - __current_state = 28; + __current_match = Some((27, __index + __ch.len_utf8())); + __current_state = 29; continue; } 65 ... 90 => { - __current_match = Some((26, __index + __ch.len_utf8())); - __current_state = 28; + __current_match = Some((27, __index + __ch.len_utf8())); + __current_state = 29; continue; } 95 => /* '_' */ { - __current_match = Some((26, __index + 1)); - __current_state = 28; + __current_match = Some((27, __index + 1)); + __current_state = 29; continue; } 97 ... 122 => { - __current_match = Some((26, __index + __ch.len_utf8())); - __current_state = 28; + __current_match = Some((27, __index + __ch.len_utf8())); + __current_state = 29; continue; } _ => { @@ -19692,33 +23106,33 @@ mod __intern_token { let (__index, __ch) = match __chars.next() { Some(p) => p, None => return __current_match }; match __ch as u32 { 48 ... 57 => { - __current_match = Some((26, __index + __ch.len_utf8())); - __current_state = 28; + __current_match = Some((27, __index + __ch.len_utf8())); + __current_state = 29; continue; } 65 ... 90 => { - __current_match = Some((26, __index + __ch.len_utf8())); - __current_state = 28; + __current_match = Some((27, __index + __ch.len_utf8())); + __current_state = 29; continue; } 95 => /* '_' */ { - __current_match = Some((26, __index + 1)); - __current_state = 28; + __current_match = Some((27, __index + 1)); + __current_state = 29; continue; } 97 => /* 'a' */ { - __current_match = Some((26, __index + 1)); - __current_state = 28; + __current_match = Some((27, __index + 1)); + __current_state = 29; continue; } 98 => /* 'b' */ { - __current_match = Some((26, __index + 1)); - __current_state = 29; + __current_match = Some((27, __index + 1)); + __current_state = 30; continue; } 99 ... 122 => { - __current_match = Some((26, __index + __ch.len_utf8())); - __current_state = 28; + __current_match = Some((27, __index + __ch.len_utf8())); + __current_state = 29; continue; } _ => { @@ -19730,33 +23144,33 @@ mod __intern_token { let (__index, __ch) = match __chars.next() { Some(p) => p, None => return __current_match }; match __ch as u32 { 48 ... 57 => { - __current_match = Some((26, __index + __ch.len_utf8())); - __current_state = 28; + __current_match = Some((27, __index + __ch.len_utf8())); + __current_state = 29; continue; } 65 ... 90 => { - __current_match = Some((26, __index + __ch.len_utf8())); - __current_state = 28; + __current_match = Some((27, __index + __ch.len_utf8())); + __current_state = 29; continue; } 95 => /* '_' */ { - __current_match = Some((26, __index + 1)); - __current_state = 28; + __current_match = Some((27, __index + 1)); + __current_state = 29; continue; } 97 ... 110 => { - __current_match = Some((26, __index + __ch.len_utf8())); - __current_state = 28; + __current_match = Some((27, __index + __ch.len_utf8())); + __current_state = 29; continue; } 111 => /* 'o' */ { - __current_match = Some((26, __index + 1)); - __current_state = 30; + __current_match = Some((27, __index + 1)); + __current_state = 31; continue; } 112 ... 122 => { - __current_match = Some((26, __index + __ch.len_utf8())); - __current_state = 28; + __current_match = Some((27, __index + __ch.len_utf8())); + __current_state = 29; continue; } _ => { @@ -19768,43 +23182,43 @@ mod __intern_token { let (__index, __ch) = match __chars.next() { Some(p) => p, None => return __current_match }; match __ch as u32 { 48 ... 57 => { - __current_match = Some((26, __index + __ch.len_utf8())); - __current_state = 28; + __current_match = Some((27, __index + __ch.len_utf8())); + __current_state = 29; continue; } 65 ... 90 => { - __current_match = Some((26, __index + __ch.len_utf8())); - __current_state = 28; + __current_match = Some((27, __index + __ch.len_utf8())); + __current_state = 29; continue; } 95 => /* '_' */ { - __current_match = Some((26, __index + 1)); - __current_state = 28; + __current_match = Some((27, __index + 1)); + __current_state = 29; continue; } 97 ... 100 => { - __current_match = Some((26, __index + __ch.len_utf8())); - __current_state = 28; + __current_match = Some((27, __index + __ch.len_utf8())); + __current_state = 29; continue; } 101 => /* 'e' */ { - __current_match = Some((26, __index + 1)); - __current_state = 31; + __current_match = Some((27, __index + 1)); + __current_state = 32; continue; } 102 ... 104 => { - __current_match = Some((26, __index + __ch.len_utf8())); - __current_state = 28; + __current_match = Some((27, __index + __ch.len_utf8())); + __current_state = 29; continue; } 105 => /* 'i' */ { - __current_match = Some((26, __index + 1)); - __current_state = 32; + __current_match = Some((27, __index + 1)); + __current_state = 33; continue; } 106 ... 122 => { - __current_match = Some((26, __index + __ch.len_utf8())); - __current_state = 28; + __current_match = Some((27, __index + __ch.len_utf8())); + __current_state = 29; continue; } _ => { @@ -19816,43 +23230,43 @@ mod __intern_token { let (__index, __ch) = match __chars.next() { Some(p) => p, None => return __current_match }; match __ch as u32 { 48 ... 57 => { - __current_match = Some((26, __index + __ch.len_utf8())); - __current_state = 28; + __current_match = Some((27, __index + __ch.len_utf8())); + __current_state = 29; continue; } 65 ... 90 => { - __current_match = Some((26, __index + __ch.len_utf8())); - __current_state = 28; + __current_match = Some((27, __index + __ch.len_utf8())); + __current_state = 29; continue; } 95 => /* '_' */ { - __current_match = Some((26, __index + 1)); - __current_state = 28; + __current_match = Some((27, __index + 1)); + __current_state = 29; continue; } 97 ... 109 => { - __current_match = Some((26, __index + __ch.len_utf8())); - __current_state = 28; + __current_match = Some((27, __index + __ch.len_utf8())); + __current_state = 29; continue; } 110 => /* 'n' */ { - __current_match = Some((26, __index + 1)); - __current_state = 33; + __current_match = Some((27, __index + 1)); + __current_state = 34; continue; } 111 ... 112 => { - __current_match = Some((26, __index + __ch.len_utf8())); - __current_state = 28; + __current_match = Some((27, __index + __ch.len_utf8())); + __current_state = 29; continue; } 113 => /* 'q' */ { - __current_match = Some((26, __index + 1)); - __current_state = 34; + __current_match = Some((27, __index + 1)); + __current_state = 35; continue; } 114 ... 122 => { - __current_match = Some((26, __index + __ch.len_utf8())); - __current_state = 28; + __current_match = Some((27, __index + __ch.len_utf8())); + __current_state = 29; continue; } _ => { @@ -19864,33 +23278,33 @@ mod __intern_token { let (__index, __ch) = match __chars.next() { Some(p) => p, None => return __current_match }; match __ch as u32 { 48 ... 57 => { - __current_match = Some((26, __index + __ch.len_utf8())); - __current_state = 28; + __current_match = Some((27, __index + __ch.len_utf8())); + __current_state = 29; continue; } 65 ... 90 => { - __current_match = Some((26, __index + __ch.len_utf8())); - __current_state = 28; + __current_match = Some((27, __index + __ch.len_utf8())); + __current_state = 29; continue; } 95 => /* '_' */ { - __current_match = Some((26, __index + 1)); - __current_state = 28; + __current_match = Some((27, __index + 1)); + __current_state = 29; continue; } 97 ... 107 => { - __current_match = Some((26, __index + __ch.len_utf8())); - __current_state = 28; + __current_match = Some((27, __index + __ch.len_utf8())); + __current_state = 29; continue; } 108 => /* 'l' */ { - __current_match = Some((26, __index + 1)); - __current_state = 35; + __current_match = Some((27, __index + 1)); + __current_state = 36; continue; } 109 ... 122 => { - __current_match = Some((26, __index + __ch.len_utf8())); - __current_state = 28; + __current_match = Some((27, __index + __ch.len_utf8())); + __current_state = 29; continue; } _ => { @@ -19902,33 +23316,33 @@ mod __intern_token { let (__index, __ch) = match __chars.next() { Some(p) => p, None => return __current_match }; match __ch as u32 { 48 ... 57 => { - __current_match = Some((26, __index + __ch.len_utf8())); - __current_state = 28; + __current_match = Some((27, __index + __ch.len_utf8())); + __current_state = 29; continue; } 65 ... 90 => { - __current_match = Some((26, __index + __ch.len_utf8())); - __current_state = 28; + __current_match = Some((27, __index + __ch.len_utf8())); + __current_state = 29; continue; } 95 => /* '_' */ { - __current_match = Some((26, __index + 1)); - __current_state = 28; + __current_match = Some((27, __index + 1)); + __current_state = 29; continue; } 97 ... 109 => { - __current_match = Some((26, __index + __ch.len_utf8())); - __current_state = 28; + __current_match = Some((27, __index + __ch.len_utf8())); + __current_state = 29; continue; } 110 => /* 'n' */ { - __current_match = Some((26, __index + 1)); - __current_state = 36; + __current_match = Some((27, __index + 1)); + __current_state = 37; continue; } 111 ... 122 => { - __current_match = Some((26, __index + __ch.len_utf8())); - __current_state = 28; + __current_match = Some((27, __index + __ch.len_utf8())); + __current_state = 29; continue; } _ => { @@ -19940,33 +23354,33 @@ mod __intern_token { let (__index, __ch) = match __chars.next() { Some(p) => p, None => return __current_match }; match __ch as u32 { 48 ... 57 => { - __current_match = Some((26, __index + __ch.len_utf8())); - __current_state = 28; + __current_match = Some((27, __index + __ch.len_utf8())); + __current_state = 29; continue; } 65 ... 90 => { - __current_match = Some((26, __index + __ch.len_utf8())); - __current_state = 28; + __current_match = Some((27, __index + __ch.len_utf8())); + __current_state = 29; continue; } 95 => /* '_' */ { - __current_match = Some((26, __index + 1)); - __current_state = 28; + __current_match = Some((27, __index + 1)); + __current_state = 29; continue; } 97 ... 110 => { - __current_match = Some((26, __index + __ch.len_utf8())); - __current_state = 28; + __current_match = Some((27, __index + __ch.len_utf8())); + __current_state = 29; continue; } 111 => /* 'o' */ { - __current_match = Some((26, __index + 1)); - __current_state = 37; + __current_match = Some((27, __index + 1)); + __current_state = 38; continue; } 112 ... 122 => { - __current_match = Some((26, __index + __ch.len_utf8())); - __current_state = 28; + __current_match = Some((27, __index + __ch.len_utf8())); + __current_state = 29; continue; } _ => { @@ -19978,33 +23392,33 @@ mod __intern_token { let (__index, __ch) = match __chars.next() { Some(p) => p, None => return __current_match }; match __ch as u32 { 48 ... 57 => { - __current_match = Some((26, __index + __ch.len_utf8())); - __current_state = 28; + __current_match = Some((27, __index + __ch.len_utf8())); + __current_state = 29; continue; } 65 ... 90 => { - __current_match = Some((26, __index + __ch.len_utf8())); - __current_state = 28; + __current_match = Some((27, __index + __ch.len_utf8())); + __current_state = 29; continue; } 95 => /* '_' */ { - __current_match = Some((26, __index + 1)); - __current_state = 28; + __current_match = Some((27, __index + 1)); + __current_state = 29; continue; } 97 ... 116 => { - __current_match = Some((26, __index + __ch.len_utf8())); - __current_state = 28; + __current_match = Some((27, __index + __ch.len_utf8())); + __current_state = 29; continue; } 117 => /* 'u' */ { - __current_match = Some((26, __index + 1)); - __current_state = 38; + __current_match = Some((27, __index + 1)); + __current_state = 39; continue; } 118 ... 122 => { - __current_match = Some((26, __index + __ch.len_utf8())); - __current_state = 28; + __current_match = Some((27, __index + __ch.len_utf8())); + __current_state = 29; continue; } _ => { @@ -20016,28 +23430,28 @@ mod __intern_token { let (__index, __ch) = match __chars.next() { Some(p) => p, None => return __current_match }; match __ch as u32 { 48 ... 57 => { - __current_match = Some((26, __index + __ch.len_utf8())); - __current_state = 28; + __current_match = Some((27, __index + __ch.len_utf8())); + __current_state = 29; continue; } 65 ... 90 => { - __current_match = Some((26, __index + __ch.len_utf8())); - __current_state = 28; + __current_match = Some((27, __index + __ch.len_utf8())); + __current_state = 29; continue; } 95 => /* '_' */ { - __current_match = Some((26, __index + 1)); - __current_state = 28; + __current_match = Some((27, __index + 1)); + __current_state = 29; continue; } 97 => /* 'a' */ { - __current_match = Some((26, __index + 1)); - __current_state = 39; + __current_match = Some((27, __index + 1)); + __current_state = 40; continue; } 98 ... 122 => { - __current_match = Some((26, __index + __ch.len_utf8())); - __current_state = 28; + __current_match = Some((27, __index + __ch.len_utf8())); + __current_state = 29; continue; } _ => { @@ -20049,33 +23463,33 @@ mod __intern_token { let (__index, __ch) = match __chars.next() { Some(p) => p, None => return __current_match }; match __ch as u32 { 48 ... 57 => { - __current_match = Some((26, __index + __ch.len_utf8())); - __current_state = 28; + __current_match = Some((27, __index + __ch.len_utf8())); + __current_state = 29; continue; } 65 ... 90 => { - __current_match = Some((26, __index + __ch.len_utf8())); - __current_state = 28; + __current_match = Some((27, __index + __ch.len_utf8())); + __current_state = 29; continue; } 95 => /* '_' */ { - __current_match = Some((26, __index + 1)); - __current_state = 28; + __current_match = Some((27, __index + 1)); + __current_state = 29; continue; } 97 ... 115 => { - __current_match = Some((26, __index + __ch.len_utf8())); - __current_state = 28; + __current_match = Some((27, __index + __ch.len_utf8())); + __current_state = 29; continue; } 116 => /* 't' */ { - __current_match = Some((26, __index + 1)); - __current_state = 40; + __current_match = Some((27, __index + 1)); + __current_state = 41; continue; } 117 ... 122 => { - __current_match = Some((26, __index + __ch.len_utf8())); - __current_state = 28; + __current_match = Some((27, __index + __ch.len_utf8())); + __current_state = 29; continue; } _ => { @@ -20086,6 +23500,36 @@ mod __intern_token { 24 => { let (__index, __ch) = match __chars.next() { Some(p) => p, None => return __current_match }; match __ch as u32 { + 48 ... 57 => { + __current_match = Some((27, __index + __ch.len_utf8())); + __current_state = 29; + continue; + } + 65 ... 90 => { + __current_match = Some((27, __index + __ch.len_utf8())); + __current_state = 29; + continue; + } + 95 => /* '_' */ { + __current_match = Some((27, __index + 1)); + __current_state = 29; + continue; + } + 97 ... 109 => { + __current_match = Some((27, __index + __ch.len_utf8())); + __current_state = 29; + continue; + } + 110 => /* 'n' */ { + __current_match = Some((27, __index + 1)); + __current_state = 42; + continue; + } + 111 ... 122 => { + __current_match = Some((27, __index + __ch.len_utf8())); + __current_state = 29; + continue; + } _ => { return __current_match; } @@ -20094,21 +23538,29 @@ mod __intern_token { 25 => { let (__index, __ch) = match __chars.next() { Some(p) => p, None => return __current_match }; match __ch as u32 { + _ => { + return __current_match; + } + } + } + 26 => { + let (__index, __ch) = match __chars.next() { Some(p) => p, None => return __current_match }; + match __ch as u32 { 0 ... 33 => { - __current_state = 25; + __current_state = 26; continue; } 34 => /* '\"' */ { - __current_match = Some((23, __index + 1)); - __current_state = 26; + __current_match = Some((24, __index + 1)); + __current_state = 27; continue; } 35 ... 91 => { - __current_state = 25; + __current_state = 26; continue; } 93 ... 1114111 => { - __current_state = 25; + __current_state = 26; continue; } _ => { @@ -20116,7 +23568,7 @@ mod __intern_token { } } } - 26 => { + 27 => { let (__index, __ch) = match __chars.next() { Some(p) => p, None => return __current_match }; match __ch as u32 { _ => { @@ -20124,270 +23576,270 @@ mod __intern_token { } } } - 27 => { + 28 => { let (__index, __ch) = match __chars.next() { Some(p) => p, None => return __current_match }; match __ch as u32 { 48 ... 57 => { - __current_match = Some((25, __index + __ch.len_utf8())); - __current_state = 27; + __current_match = Some((26, __index + __ch.len_utf8())); + __current_state = 28; continue; } 69 => /* 'E' */ { - __current_state = 41; + __current_state = 43; continue; } 101 => /* 'e' */ { - __current_state = 41; + __current_state = 43; continue; } 1632 ... 1641 => { - __current_match = Some((25, __index + __ch.len_utf8())); - __current_state = 27; + __current_match = Some((26, __index + __ch.len_utf8())); + __current_state = 28; continue; } 1776 ... 1785 => { - __current_match = Some((25, __index + __ch.len_utf8())); - __current_state = 27; + __current_match = Some((26, __index + __ch.len_utf8())); + __current_state = 28; continue; } 1984 ... 1993 => { - __current_match = Some((25, __index + __ch.len_utf8())); - __current_state = 27; + __current_match = Some((26, __index + __ch.len_utf8())); + __current_state = 28; continue; } 2406 ... 2415 => { - __current_match = Some((25, __index + __ch.len_utf8())); - __current_state = 27; + __current_match = Some((26, __index + __ch.len_utf8())); + __current_state = 28; continue; } 2534 ... 2543 => { - __current_match = Some((25, __index + __ch.len_utf8())); - __current_state = 27; + __current_match = Some((26, __index + __ch.len_utf8())); + __current_state = 28; continue; } 2662 ... 2671 => { - __current_match = Some((25, __index + __ch.len_utf8())); - __current_state = 27; + __current_match = Some((26, __index + __ch.len_utf8())); + __current_state = 28; continue; } 2790 ... 2799 => { - __current_match = Some((25, __index + __ch.len_utf8())); - __current_state = 27; + __current_match = Some((26, __index + __ch.len_utf8())); + __current_state = 28; continue; } 2918 ... 2927 => { - __current_match = Some((25, __index + __ch.len_utf8())); - __current_state = 27; + __current_match = Some((26, __index + __ch.len_utf8())); + __current_state = 28; continue; } 3046 ... 3055 => { - __current_match = Some((25, __index + __ch.len_utf8())); - __current_state = 27; + __current_match = Some((26, __index + __ch.len_utf8())); + __current_state = 28; continue; } 3174 ... 3183 => { - __current_match = Some((25, __index + __ch.len_utf8())); - __current_state = 27; + __current_match = Some((26, __index + __ch.len_utf8())); + __current_state = 28; continue; } 3302 ... 3311 => { - __current_match = Some((25, __index + __ch.len_utf8())); - __current_state = 27; + __current_match = Some((26, __index + __ch.len_utf8())); + __current_state = 28; continue; } 3430 ... 3439 => { - __current_match = Some((25, __index + __ch.len_utf8())); - __current_state = 27; + __current_match = Some((26, __index + __ch.len_utf8())); + __current_state = 28; continue; } 3558 ... 3567 => { - __current_match = Some((25, __index + __ch.len_utf8())); - __current_state = 27; + __current_match = Some((26, __index + __ch.len_utf8())); + __current_state = 28; continue; } 3664 ... 3673 => { - __current_match = Some((25, __index + __ch.len_utf8())); - __current_state = 27; + __current_match = Some((26, __index + __ch.len_utf8())); + __current_state = 28; continue; } 3792 ... 3801 => { - __current_match = Some((25, __index + __ch.len_utf8())); - __current_state = 27; + __current_match = Some((26, __index + __ch.len_utf8())); + __current_state = 28; continue; } 3872 ... 3881 => { - __current_match = Some((25, __index + __ch.len_utf8())); - __current_state = 27; + __current_match = Some((26, __index + __ch.len_utf8())); + __current_state = 28; continue; } 4160 ... 4169 => { - __current_match = Some((25, __index + __ch.len_utf8())); - __current_state = 27; + __current_match = Some((26, __index + __ch.len_utf8())); + __current_state = 28; continue; } 4240 ... 4249 => { - __current_match = Some((25, __index + __ch.len_utf8())); - __current_state = 27; + __current_match = Some((26, __index + __ch.len_utf8())); + __current_state = 28; continue; } 6112 ... 6121 => { - __current_match = Some((25, __index + __ch.len_utf8())); - __current_state = 27; + __current_match = Some((26, __index + __ch.len_utf8())); + __current_state = 28; continue; } 6160 ... 6169 => { - __current_match = Some((25, __index + __ch.len_utf8())); - __current_state = 27; + __current_match = Some((26, __index + __ch.len_utf8())); + __current_state = 28; continue; } 6470 ... 6479 => { - __current_match = Some((25, __index + __ch.len_utf8())); - __current_state = 27; + __current_match = Some((26, __index + __ch.len_utf8())); + __current_state = 28; continue; } 6608 ... 6617 => { - __current_match = Some((25, __index + __ch.len_utf8())); - __current_state = 27; + __current_match = Some((26, __index + __ch.len_utf8())); + __current_state = 28; continue; } 6784 ... 6793 => { - __current_match = Some((25, __index + __ch.len_utf8())); - __current_state = 27; + __current_match = Some((26, __index + __ch.len_utf8())); + __current_state = 28; continue; } 6800 ... 6809 => { - __current_match = Some((25, __index + __ch.len_utf8())); - __current_state = 27; + __current_match = Some((26, __index + __ch.len_utf8())); + __current_state = 28; continue; } 6992 ... 7001 => { - __current_match = Some((25, __index + __ch.len_utf8())); - __current_state = 27; + __current_match = Some((26, __index + __ch.len_utf8())); + __current_state = 28; continue; } 7088 ... 7097 => { - __current_match = Some((25, __index + __ch.len_utf8())); - __current_state = 27; + __current_match = Some((26, __index + __ch.len_utf8())); + __current_state = 28; continue; } 7232 ... 7241 => { - __current_match = Some((25, __index + __ch.len_utf8())); - __current_state = 27; + __current_match = Some((26, __index + __ch.len_utf8())); + __current_state = 28; continue; } 7248 ... 7257 => { - __current_match = Some((25, __index + __ch.len_utf8())); - __current_state = 27; + __current_match = Some((26, __index + __ch.len_utf8())); + __current_state = 28; continue; } 42528 ... 42537 => { - __current_match = Some((25, __index + __ch.len_utf8())); - __current_state = 27; + __current_match = Some((26, __index + __ch.len_utf8())); + __current_state = 28; continue; } 43216 ... 43225 => { - __current_match = Some((25, __index + __ch.len_utf8())); - __current_state = 27; + __current_match = Some((26, __index + __ch.len_utf8())); + __current_state = 28; continue; } 43264 ... 43273 => { - __current_match = Some((25, __index + __ch.len_utf8())); - __current_state = 27; + __current_match = Some((26, __index + __ch.len_utf8())); + __current_state = 28; continue; } 43472 ... 43481 => { - __current_match = Some((25, __index + __ch.len_utf8())); - __current_state = 27; + __current_match = Some((26, __index + __ch.len_utf8())); + __current_state = 28; continue; } 43504 ... 43513 => { - __current_match = Some((25, __index + __ch.len_utf8())); - __current_state = 27; + __current_match = Some((26, __index + __ch.len_utf8())); + __current_state = 28; continue; } 43600 ... 43609 => { - __current_match = Some((25, __index + __ch.len_utf8())); - __current_state = 27; + __current_match = Some((26, __index + __ch.len_utf8())); + __current_state = 28; continue; } 44016 ... 44025 => { - __current_match = Some((25, __index + __ch.len_utf8())); - __current_state = 27; + __current_match = Some((26, __index + __ch.len_utf8())); + __current_state = 28; continue; } 65296 ... 65305 => { - __current_match = Some((25, __index + __ch.len_utf8())); - __current_state = 27; + __current_match = Some((26, __index + __ch.len_utf8())); + __current_state = 28; continue; } 66720 ... 66729 => { - __current_match = Some((25, __index + __ch.len_utf8())); - __current_state = 27; + __current_match = Some((26, __index + __ch.len_utf8())); + __current_state = 28; continue; } 69734 ... 69743 => { - __current_match = Some((25, __index + __ch.len_utf8())); - __current_state = 27; + __current_match = Some((26, __index + __ch.len_utf8())); + __current_state = 28; continue; } 69872 ... 69881 => { - __current_match = Some((25, __index + __ch.len_utf8())); - __current_state = 27; + __current_match = Some((26, __index + __ch.len_utf8())); + __current_state = 28; continue; } 69942 ... 69951 => { - __current_match = Some((25, __index + __ch.len_utf8())); - __current_state = 27; + __current_match = Some((26, __index + __ch.len_utf8())); + __current_state = 28; continue; } 70096 ... 70105 => { - __current_match = Some((25, __index + __ch.len_utf8())); - __current_state = 27; + __current_match = Some((26, __index + __ch.len_utf8())); + __current_state = 28; continue; } 70384 ... 70393 => { - __current_match = Some((25, __index + __ch.len_utf8())); - __current_state = 27; + __current_match = Some((26, __index + __ch.len_utf8())); + __current_state = 28; continue; } 70864 ... 70873 => { - __current_match = Some((25, __index + __ch.len_utf8())); - __current_state = 27; + __current_match = Some((26, __index + __ch.len_utf8())); + __current_state = 28; continue; } 71248 ... 71257 => { - __current_match = Some((25, __index + __ch.len_utf8())); - __current_state = 27; + __current_match = Some((26, __index + __ch.len_utf8())); + __current_state = 28; continue; } 71360 ... 71369 => { - __current_match = Some((25, __index + __ch.len_utf8())); - __current_state = 27; + __current_match = Some((26, __index + __ch.len_utf8())); + __current_state = 28; continue; } 71472 ... 71481 => { - __current_match = Some((25, __index + __ch.len_utf8())); - __current_state = 27; + __current_match = Some((26, __index + __ch.len_utf8())); + __current_state = 28; continue; } 71904 ... 71913 => { - __current_match = Some((25, __index + __ch.len_utf8())); - __current_state = 27; + __current_match = Some((26, __index + __ch.len_utf8())); + __current_state = 28; continue; } 92768 ... 92777 => { - __current_match = Some((25, __index + __ch.len_utf8())); - __current_state = 27; + __current_match = Some((26, __index + __ch.len_utf8())); + __current_state = 28; continue; } 93008 ... 93017 => { - __current_match = Some((25, __index + __ch.len_utf8())); - __current_state = 27; + __current_match = Some((26, __index + __ch.len_utf8())); + __current_state = 28; continue; } 120782 ... 120831 => { - __current_match = Some((25, __index + __ch.len_utf8())); - __current_state = 27; + __current_match = Some((26, __index + __ch.len_utf8())); + __current_state = 28; continue; } _ => { @@ -20395,27 +23847,27 @@ mod __intern_token { } } } - 28 => { + 29 => { let (__index, __ch) = match __chars.next() { Some(p) => p, None => return __current_match }; match __ch as u32 { 48 ... 57 => { - __current_match = Some((26, __index + __ch.len_utf8())); - __current_state = 28; + __current_match = Some((27, __index + __ch.len_utf8())); + __current_state = 29; continue; } 65 ... 90 => { - __current_match = Some((26, __index + __ch.len_utf8())); - __current_state = 28; + __current_match = Some((27, __index + __ch.len_utf8())); + __current_state = 29; continue; } 95 => /* '_' */ { - __current_match = Some((26, __index + 1)); - __current_state = 28; + __current_match = Some((27, __index + 1)); + __current_state = 29; continue; } 97 ... 122 => { - __current_match = Some((26, __index + __ch.len_utf8())); - __current_state = 28; + __current_match = Some((27, __index + __ch.len_utf8())); + __current_state = 29; continue; } _ => { @@ -20423,37 +23875,37 @@ mod __intern_token { } } } - 29 => { + 30 => { let (__index, __ch) = match __chars.next() { Some(p) => p, None => return __current_match }; match __ch as u32 { 48 ... 57 => { - __current_match = Some((26, __index + __ch.len_utf8())); - __current_state = 28; + __current_match = Some((27, __index + __ch.len_utf8())); + __current_state = 29; continue; } 65 ... 90 => { - __current_match = Some((26, __index + __ch.len_utf8())); - __current_state = 28; + __current_match = Some((27, __index + __ch.len_utf8())); + __current_state = 29; continue; } 95 => /* '_' */ { - __current_match = Some((26, __index + 1)); - __current_state = 28; + __current_match = Some((27, __index + 1)); + __current_state = 29; continue; } 97 ... 114 => { - __current_match = Some((26, __index + __ch.len_utf8())); - __current_state = 28; + __current_match = Some((27, __index + __ch.len_utf8())); + __current_state = 29; continue; } 115 => /* 's' */ { __current_match = Some((10, __index + 1)); - __current_state = 42; + __current_state = 44; continue; } 116 ... 122 => { - __current_match = Some((26, __index + __ch.len_utf8())); - __current_state = 28; + __current_match = Some((27, __index + __ch.len_utf8())); + __current_state = 29; continue; } _ => { @@ -20461,37 +23913,37 @@ mod __intern_token { } } } - 30 => { + 31 => { let (__index, __ch) = match __chars.next() { Some(p) => p, None => return __current_match }; match __ch as u32 { 48 ... 57 => { - __current_match = Some((26, __index + __ch.len_utf8())); - __current_state = 28; + __current_match = Some((27, __index + __ch.len_utf8())); + __current_state = 29; continue; } 65 ... 90 => { - __current_match = Some((26, __index + __ch.len_utf8())); - __current_state = 28; + __current_match = Some((27, __index + __ch.len_utf8())); + __current_state = 29; continue; } 95 => /* '_' */ { - __current_match = Some((26, __index + 1)); - __current_state = 28; + __current_match = Some((27, __index + 1)); + __current_state = 29; continue; } 97 ... 109 => { - __current_match = Some((26, __index + __ch.len_utf8())); - __current_state = 28; + __current_match = Some((27, __index + __ch.len_utf8())); + __current_state = 29; continue; } 110 => /* 'n' */ { - __current_match = Some((26, __index + 1)); - __current_state = 43; + __current_match = Some((27, __index + 1)); + __current_state = 45; continue; } 111 ... 122 => { - __current_match = Some((26, __index + __ch.len_utf8())); - __current_state = 28; + __current_match = Some((27, __index + __ch.len_utf8())); + __current_state = 29; continue; } _ => { @@ -20499,37 +23951,37 @@ mod __intern_token { } } } - 31 => { + 32 => { let (__index, __ch) = match __chars.next() { Some(p) => p, None => return __current_match }; match __ch as u32 { 48 ... 57 => { - __current_match = Some((26, __index + __ch.len_utf8())); - __current_state = 28; + __current_match = Some((27, __index + __ch.len_utf8())); + __current_state = 29; continue; } 65 ... 90 => { - __current_match = Some((26, __index + __ch.len_utf8())); - __current_state = 28; + __current_match = Some((27, __index + __ch.len_utf8())); + __current_state = 29; continue; } 95 => /* '_' */ { - __current_match = Some((26, __index + 1)); - __current_state = 28; + __current_match = Some((27, __index + 1)); + __current_state = 29; continue; } 97 ... 113 => { - __current_match = Some((26, __index + __ch.len_utf8())); - __current_state = 28; + __current_match = Some((27, __index + __ch.len_utf8())); + __current_state = 29; continue; } 114 => /* 'r' */ { __current_match = Some((13, __index + 1)); - __current_state = 44; + __current_state = 46; continue; } 115 ... 122 => { - __current_match = Some((26, __index + __ch.len_utf8())); - __current_state = 28; + __current_match = Some((27, __index + __ch.len_utf8())); + __current_state = 29; continue; } _ => { @@ -20537,37 +23989,37 @@ mod __intern_token { } } } - 32 => { + 33 => { let (__index, __ch) = match __chars.next() { Some(p) => p, None => return __current_match }; match __ch as u32 { 48 ... 57 => { - __current_match = Some((26, __index + __ch.len_utf8())); - __current_state = 28; + __current_match = Some((27, __index + __ch.len_utf8())); + __current_state = 29; continue; } 65 ... 90 => { - __current_match = Some((26, __index + __ch.len_utf8())); - __current_state = 28; + __current_match = Some((27, __index + __ch.len_utf8())); + __current_state = 29; continue; } 95 => /* '_' */ { - __current_match = Some((26, __index + 1)); - __current_state = 28; + __current_match = Some((27, __index + 1)); + __current_state = 29; continue; } 97 ... 114 => { - __current_match = Some((26, __index + __ch.len_utf8())); - __current_state = 28; + __current_match = Some((27, __index + __ch.len_utf8())); + __current_state = 29; continue; } 115 => /* 's' */ { - __current_match = Some((26, __index + 1)); - __current_state = 45; + __current_match = Some((27, __index + 1)); + __current_state = 47; continue; } 116 ... 122 => { - __current_match = Some((26, __index + __ch.len_utf8())); - __current_state = 28; + __current_match = Some((27, __index + __ch.len_utf8())); + __current_state = 29; continue; } _ => { @@ -20575,37 +24027,37 @@ mod __intern_token { } } } - 33 => { + 34 => { let (__index, __ch) = match __chars.next() { Some(p) => p, None => return __current_match }; match __ch as u32 { 48 ... 57 => { - __current_match = Some((26, __index + __ch.len_utf8())); - __current_state = 28; + __current_match = Some((27, __index + __ch.len_utf8())); + __current_state = 29; continue; } 65 ... 90 => { - __current_match = Some((26, __index + __ch.len_utf8())); - __current_state = 28; + __current_match = Some((27, __index + __ch.len_utf8())); + __current_state = 29; continue; } 95 => /* '_' */ { - __current_match = Some((26, __index + 1)); - __current_state = 28; + __current_match = Some((27, __index + 1)); + __current_state = 29; continue; } 97 ... 99 => { - __current_match = Some((26, __index + __ch.len_utf8())); - __current_state = 28; + __current_match = Some((27, __index + __ch.len_utf8())); + __current_state = 29; continue; } 100 => /* 'd' */ { __current_match = Some((15, __index + 1)); - __current_state = 46; + __current_state = 48; continue; } 101 ... 122 => { - __current_match = Some((26, __index + __ch.len_utf8())); - __current_state = 28; + __current_match = Some((27, __index + __ch.len_utf8())); + __current_state = 29; continue; } _ => { @@ -20613,37 +24065,37 @@ mod __intern_token { } } } - 34 => { + 35 => { let (__index, __ch) = match __chars.next() { Some(p) => p, None => return __current_match }; match __ch as u32 { 48 ... 57 => { - __current_match = Some((26, __index + __ch.len_utf8())); - __current_state = 28; + __current_match = Some((27, __index + __ch.len_utf8())); + __current_state = 29; continue; } 65 ... 90 => { - __current_match = Some((26, __index + __ch.len_utf8())); - __current_state = 28; + __current_match = Some((27, __index + __ch.len_utf8())); + __current_state = 29; continue; } 95 => /* '_' */ { - __current_match = Some((26, __index + 1)); - __current_state = 28; + __current_match = Some((27, __index + 1)); + __current_state = 29; continue; } 97 ... 116 => { - __current_match = Some((26, __index + __ch.len_utf8())); - __current_state = 28; + __current_match = Some((27, __index + __ch.len_utf8())); + __current_state = 29; continue; } 117 => /* 'u' */ { - __current_match = Some((26, __index + 1)); - __current_state = 47; + __current_match = Some((27, __index + 1)); + __current_state = 49; continue; } 118 ... 122 => { - __current_match = Some((26, __index + __ch.len_utf8())); - __current_state = 28; + __current_match = Some((27, __index + __ch.len_utf8())); + __current_state = 29; continue; } _ => { @@ -20651,37 +24103,37 @@ mod __intern_token { } } } - 35 => { + 36 => { let (__index, __ch) = match __chars.next() { Some(p) => p, None => return __current_match }; match __ch as u32 { 48 ... 57 => { - __current_match = Some((26, __index + __ch.len_utf8())); - __current_state = 28; + __current_match = Some((27, __index + __ch.len_utf8())); + __current_state = 29; continue; } 65 ... 90 => { - __current_match = Some((26, __index + __ch.len_utf8())); - __current_state = 28; + __current_match = Some((27, __index + __ch.len_utf8())); + __current_state = 29; continue; } 95 => /* '_' */ { - __current_match = Some((26, __index + 1)); - __current_state = 28; + __current_match = Some((27, __index + 1)); + __current_state = 29; continue; } 97 ... 110 => { - __current_match = Some((26, __index + __ch.len_utf8())); - __current_state = 28; + __current_match = Some((27, __index + __ch.len_utf8())); + __current_state = 29; continue; } 111 => /* 'o' */ { - __current_match = Some((26, __index + 1)); - __current_state = 48; + __current_match = Some((27, __index + 1)); + __current_state = 50; continue; } 112 ... 122 => { - __current_match = Some((26, __index + __ch.len_utf8())); - __current_state = 28; + __current_match = Some((27, __index + __ch.len_utf8())); + __current_state = 29; continue; } _ => { @@ -20689,37 +24141,37 @@ mod __intern_token { } } } - 36 => { + 37 => { let (__index, __ch) = match __chars.next() { Some(p) => p, None => return __current_match }; match __ch as u32 { 48 ... 57 => { - __current_match = Some((26, __index + __ch.len_utf8())); - __current_state = 28; + __current_match = Some((27, __index + __ch.len_utf8())); + __current_state = 29; continue; } 65 ... 90 => { - __current_match = Some((26, __index + __ch.len_utf8())); - __current_state = 28; + __current_match = Some((27, __index + __ch.len_utf8())); + __current_state = 29; continue; } 95 => /* '_' */ { - __current_match = Some((26, __index + 1)); - __current_state = 28; + __current_match = Some((27, __index + 1)); + __current_state = 29; continue; } 97 ... 111 => { - __current_match = Some((26, __index + __ch.len_utf8())); - __current_state = 28; + __current_match = Some((27, __index + __ch.len_utf8())); + __current_state = 29; continue; } 112 => /* 'p' */ { - __current_match = Some((26, __index + 1)); - __current_state = 49; + __current_match = Some((27, __index + 1)); + __current_state = 51; continue; } 113 ... 122 => { - __current_match = Some((26, __index + __ch.len_utf8())); - __current_state = 28; + __current_match = Some((27, __index + __ch.len_utf8())); + __current_state = 29; continue; } _ => { @@ -20727,37 +24179,37 @@ mod __intern_token { } } } - 37 => { + 38 => { let (__index, __ch) = match __chars.next() { Some(p) => p, None => return __current_match }; match __ch as u32 { 48 ... 57 => { - __current_match = Some((26, __index + __ch.len_utf8())); - __current_state = 28; + __current_match = Some((27, __index + __ch.len_utf8())); + __current_state = 29; continue; } 65 ... 90 => { - __current_match = Some((26, __index + __ch.len_utf8())); - __current_state = 28; + __current_match = Some((27, __index + __ch.len_utf8())); + __current_state = 29; continue; } 95 => /* '_' */ { - __current_match = Some((26, __index + 1)); - __current_state = 28; + __current_match = Some((27, __index + 1)); + __current_state = 29; continue; } 97 ... 99 => { - __current_match = Some((26, __index + __ch.len_utf8())); - __current_state = 28; + __current_match = Some((27, __index + __ch.len_utf8())); + __current_state = 29; continue; } 100 => /* 'd' */ { - __current_match = Some((26, __index + 1)); - __current_state = 50; + __current_match = Some((27, __index + 1)); + __current_state = 52; continue; } 101 ... 122 => { - __current_match = Some((26, __index + __ch.len_utf8())); - __current_state = 28; + __current_match = Some((27, __index + __ch.len_utf8())); + __current_state = 29; continue; } _ => { @@ -20765,37 +24217,37 @@ mod __intern_token { } } } - 38 => { + 39 => { let (__index, __ch) = match __chars.next() { Some(p) => p, None => return __current_match }; match __ch as u32 { 48 ... 57 => { - __current_match = Some((26, __index + __ch.len_utf8())); - __current_state = 28; + __current_match = Some((27, __index + __ch.len_utf8())); + __current_state = 29; continue; } 65 ... 90 => { - __current_match = Some((26, __index + __ch.len_utf8())); - __current_state = 28; + __current_match = Some((27, __index + __ch.len_utf8())); + __current_state = 29; continue; } 95 => /* '_' */ { - __current_match = Some((26, __index + 1)); - __current_state = 28; + __current_match = Some((27, __index + 1)); + __current_state = 29; continue; } 97 ... 115 => { - __current_match = Some((26, __index + __ch.len_utf8())); - __current_state = 28; + __current_match = Some((27, __index + __ch.len_utf8())); + __current_state = 29; continue; } 116 => /* 't' */ { - __current_match = Some((26, __index + 1)); - __current_state = 51; + __current_match = Some((27, __index + 1)); + __current_state = 53; continue; } 117 ... 122 => { - __current_match = Some((26, __index + __ch.len_utf8())); - __current_state = 28; + __current_match = Some((27, __index + __ch.len_utf8())); + __current_state = 29; continue; } _ => { @@ -20803,37 +24255,37 @@ mod __intern_token { } } } - 39 => { + 40 => { let (__index, __ch) = match __chars.next() { Some(p) => p, None => return __current_match }; match __ch as u32 { 48 ... 57 => { - __current_match = Some((26, __index + __ch.len_utf8())); - __current_state = 28; + __current_match = Some((27, __index + __ch.len_utf8())); + __current_state = 29; continue; } 65 ... 90 => { - __current_match = Some((26, __index + __ch.len_utf8())); - __current_state = 28; + __current_match = Some((27, __index + __ch.len_utf8())); + __current_state = 29; continue; } 95 => /* '_' */ { - __current_match = Some((26, __index + 1)); - __current_state = 28; + __current_match = Some((27, __index + 1)); + __current_state = 29; continue; } 97 ... 113 => { - __current_match = Some((26, __index + __ch.len_utf8())); - __current_state = 28; + __current_match = Some((27, __index + __ch.len_utf8())); + __current_state = 29; continue; } 114 => /* 'r' */ { - __current_match = Some((26, __index + 1)); - __current_state = 52; + __current_match = Some((27, __index + 1)); + __current_state = 54; continue; } 115 ... 122 => { - __current_match = Some((26, __index + __ch.len_utf8())); - __current_state = 28; + __current_match = Some((27, __index + __ch.len_utf8())); + __current_state = 29; continue; } _ => { @@ -20841,37 +24293,37 @@ mod __intern_token { } } } - 40 => { + 41 => { let (__index, __ch) = match __chars.next() { Some(p) => p, None => return __current_match }; match __ch as u32 { 48 ... 57 => { - __current_match = Some((26, __index + __ch.len_utf8())); - __current_state = 28; + __current_match = Some((27, __index + __ch.len_utf8())); + __current_state = 29; continue; } 65 ... 90 => { - __current_match = Some((26, __index + __ch.len_utf8())); - __current_state = 28; + __current_match = Some((27, __index + __ch.len_utf8())); + __current_state = 29; continue; } 95 => /* '_' */ { - __current_match = Some((26, __index + 1)); - __current_state = 28; + __current_match = Some((27, __index + 1)); + __current_state = 29; continue; } 97 ... 113 => { - __current_match = Some((26, __index + __ch.len_utf8())); - __current_state = 28; + __current_match = Some((27, __index + __ch.len_utf8())); + __current_state = 29; continue; } 114 => /* 'r' */ { - __current_match = Some((26, __index + 1)); - __current_state = 53; + __current_match = Some((27, __index + 1)); + __current_state = 55; continue; } 115 ... 122 => { - __current_match = Some((26, __index + __ch.len_utf8())); - __current_state = 28; + __current_match = Some((27, __index + __ch.len_utf8())); + __current_state = 29; continue; } _ => { @@ -20879,270 +24331,308 @@ mod __intern_token { } } } - 41 => { + 42 => { + let (__index, __ch) = match __chars.next() { Some(p) => p, None => return __current_match }; + match __ch as u32 { + 48 ... 57 => { + __current_match = Some((27, __index + __ch.len_utf8())); + __current_state = 29; + continue; + } + 65 ... 90 => { + __current_match = Some((27, __index + __ch.len_utf8())); + __current_state = 29; + continue; + } + 95 => /* '_' */ { + __current_match = Some((27, __index + 1)); + __current_state = 29; + continue; + } + 97 ... 104 => { + __current_match = Some((27, __index + __ch.len_utf8())); + __current_state = 29; + continue; + } + 105 => /* 'i' */ { + __current_match = Some((27, __index + 1)); + __current_state = 56; + continue; + } + 106 ... 122 => { + __current_match = Some((27, __index + __ch.len_utf8())); + __current_state = 29; + continue; + } + _ => { + return __current_match; + } + } + } + 43 => { let (__index, __ch) = match __chars.next() { Some(p) => p, None => return __current_match }; match __ch as u32 { 43 => /* '+' */ { - __current_state = 54; + __current_state = 57; continue; } 45 => /* '-' */ { - __current_state = 54; + __current_state = 57; continue; } 48 ... 57 => { - __current_match = Some((25, __index + __ch.len_utf8())); - __current_state = 55; + __current_match = Some((26, __index + __ch.len_utf8())); + __current_state = 58; continue; } 1632 ... 1641 => { - __current_match = Some((25, __index + __ch.len_utf8())); - __current_state = 55; + __current_match = Some((26, __index + __ch.len_utf8())); + __current_state = 58; continue; } 1776 ... 1785 => { - __current_match = Some((25, __index + __ch.len_utf8())); - __current_state = 55; + __current_match = Some((26, __index + __ch.len_utf8())); + __current_state = 58; continue; } 1984 ... 1993 => { - __current_match = Some((25, __index + __ch.len_utf8())); - __current_state = 55; + __current_match = Some((26, __index + __ch.len_utf8())); + __current_state = 58; continue; } 2406 ... 2415 => { - __current_match = Some((25, __index + __ch.len_utf8())); - __current_state = 55; + __current_match = Some((26, __index + __ch.len_utf8())); + __current_state = 58; continue; } 2534 ... 2543 => { - __current_match = Some((25, __index + __ch.len_utf8())); - __current_state = 55; + __current_match = Some((26, __index + __ch.len_utf8())); + __current_state = 58; continue; } 2662 ... 2671 => { - __current_match = Some((25, __index + __ch.len_utf8())); - __current_state = 55; + __current_match = Some((26, __index + __ch.len_utf8())); + __current_state = 58; continue; } 2790 ... 2799 => { - __current_match = Some((25, __index + __ch.len_utf8())); - __current_state = 55; + __current_match = Some((26, __index + __ch.len_utf8())); + __current_state = 58; continue; } 2918 ... 2927 => { - __current_match = Some((25, __index + __ch.len_utf8())); - __current_state = 55; + __current_match = Some((26, __index + __ch.len_utf8())); + __current_state = 58; continue; } 3046 ... 3055 => { - __current_match = Some((25, __index + __ch.len_utf8())); - __current_state = 55; + __current_match = Some((26, __index + __ch.len_utf8())); + __current_state = 58; continue; } 3174 ... 3183 => { - __current_match = Some((25, __index + __ch.len_utf8())); - __current_state = 55; + __current_match = Some((26, __index + __ch.len_utf8())); + __current_state = 58; continue; } 3302 ... 3311 => { - __current_match = Some((25, __index + __ch.len_utf8())); - __current_state = 55; + __current_match = Some((26, __index + __ch.len_utf8())); + __current_state = 58; continue; } 3430 ... 3439 => { - __current_match = Some((25, __index + __ch.len_utf8())); - __current_state = 55; + __current_match = Some((26, __index + __ch.len_utf8())); + __current_state = 58; continue; } 3558 ... 3567 => { - __current_match = Some((25, __index + __ch.len_utf8())); - __current_state = 55; + __current_match = Some((26, __index + __ch.len_utf8())); + __current_state = 58; continue; } 3664 ... 3673 => { - __current_match = Some((25, __index + __ch.len_utf8())); - __current_state = 55; + __current_match = Some((26, __index + __ch.len_utf8())); + __current_state = 58; continue; } 3792 ... 3801 => { - __current_match = Some((25, __index + __ch.len_utf8())); - __current_state = 55; + __current_match = Some((26, __index + __ch.len_utf8())); + __current_state = 58; continue; } 3872 ... 3881 => { - __current_match = Some((25, __index + __ch.len_utf8())); - __current_state = 55; + __current_match = Some((26, __index + __ch.len_utf8())); + __current_state = 58; continue; } 4160 ... 4169 => { - __current_match = Some((25, __index + __ch.len_utf8())); - __current_state = 55; + __current_match = Some((26, __index + __ch.len_utf8())); + __current_state = 58; continue; } 4240 ... 4249 => { - __current_match = Some((25, __index + __ch.len_utf8())); - __current_state = 55; + __current_match = Some((26, __index + __ch.len_utf8())); + __current_state = 58; continue; } 6112 ... 6121 => { - __current_match = Some((25, __index + __ch.len_utf8())); - __current_state = 55; + __current_match = Some((26, __index + __ch.len_utf8())); + __current_state = 58; continue; } 6160 ... 6169 => { - __current_match = Some((25, __index + __ch.len_utf8())); - __current_state = 55; + __current_match = Some((26, __index + __ch.len_utf8())); + __current_state = 58; continue; } 6470 ... 6479 => { - __current_match = Some((25, __index + __ch.len_utf8())); - __current_state = 55; + __current_match = Some((26, __index + __ch.len_utf8())); + __current_state = 58; continue; } 6608 ... 6617 => { - __current_match = Some((25, __index + __ch.len_utf8())); - __current_state = 55; + __current_match = Some((26, __index + __ch.len_utf8())); + __current_state = 58; continue; } 6784 ... 6793 => { - __current_match = Some((25, __index + __ch.len_utf8())); - __current_state = 55; + __current_match = Some((26, __index + __ch.len_utf8())); + __current_state = 58; continue; } 6800 ... 6809 => { - __current_match = Some((25, __index + __ch.len_utf8())); - __current_state = 55; + __current_match = Some((26, __index + __ch.len_utf8())); + __current_state = 58; continue; } 6992 ... 7001 => { - __current_match = Some((25, __index + __ch.len_utf8())); - __current_state = 55; + __current_match = Some((26, __index + __ch.len_utf8())); + __current_state = 58; continue; } 7088 ... 7097 => { - __current_match = Some((25, __index + __ch.len_utf8())); - __current_state = 55; + __current_match = Some((26, __index + __ch.len_utf8())); + __current_state = 58; continue; } 7232 ... 7241 => { - __current_match = Some((25, __index + __ch.len_utf8())); - __current_state = 55; + __current_match = Some((26, __index + __ch.len_utf8())); + __current_state = 58; continue; } 7248 ... 7257 => { - __current_match = Some((25, __index + __ch.len_utf8())); - __current_state = 55; + __current_match = Some((26, __index + __ch.len_utf8())); + __current_state = 58; continue; } 42528 ... 42537 => { - __current_match = Some((25, __index + __ch.len_utf8())); - __current_state = 55; + __current_match = Some((26, __index + __ch.len_utf8())); + __current_state = 58; continue; } 43216 ... 43225 => { - __current_match = Some((25, __index + __ch.len_utf8())); - __current_state = 55; + __current_match = Some((26, __index + __ch.len_utf8())); + __current_state = 58; continue; } 43264 ... 43273 => { - __current_match = Some((25, __index + __ch.len_utf8())); - __current_state = 55; + __current_match = Some((26, __index + __ch.len_utf8())); + __current_state = 58; continue; } 43472 ... 43481 => { - __current_match = Some((25, __index + __ch.len_utf8())); - __current_state = 55; + __current_match = Some((26, __index + __ch.len_utf8())); + __current_state = 58; continue; } 43504 ... 43513 => { - __current_match = Some((25, __index + __ch.len_utf8())); - __current_state = 55; + __current_match = Some((26, __index + __ch.len_utf8())); + __current_state = 58; continue; } 43600 ... 43609 => { - __current_match = Some((25, __index + __ch.len_utf8())); - __current_state = 55; + __current_match = Some((26, __index + __ch.len_utf8())); + __current_state = 58; continue; } 44016 ... 44025 => { - __current_match = Some((25, __index + __ch.len_utf8())); - __current_state = 55; + __current_match = Some((26, __index + __ch.len_utf8())); + __current_state = 58; continue; } 65296 ... 65305 => { - __current_match = Some((25, __index + __ch.len_utf8())); - __current_state = 55; + __current_match = Some((26, __index + __ch.len_utf8())); + __current_state = 58; continue; } 66720 ... 66729 => { - __current_match = Some((25, __index + __ch.len_utf8())); - __current_state = 55; + __current_match = Some((26, __index + __ch.len_utf8())); + __current_state = 58; continue; } 69734 ... 69743 => { - __current_match = Some((25, __index + __ch.len_utf8())); - __current_state = 55; + __current_match = Some((26, __index + __ch.len_utf8())); + __current_state = 58; continue; } 69872 ... 69881 => { - __current_match = Some((25, __index + __ch.len_utf8())); - __current_state = 55; + __current_match = Some((26, __index + __ch.len_utf8())); + __current_state = 58; continue; } 69942 ... 69951 => { - __current_match = Some((25, __index + __ch.len_utf8())); - __current_state = 55; + __current_match = Some((26, __index + __ch.len_utf8())); + __current_state = 58; continue; } 70096 ... 70105 => { - __current_match = Some((25, __index + __ch.len_utf8())); - __current_state = 55; + __current_match = Some((26, __index + __ch.len_utf8())); + __current_state = 58; continue; } 70384 ... 70393 => { - __current_match = Some((25, __index + __ch.len_utf8())); - __current_state = 55; + __current_match = Some((26, __index + __ch.len_utf8())); + __current_state = 58; continue; } 70864 ... 70873 => { - __current_match = Some((25, __index + __ch.len_utf8())); - __current_state = 55; + __current_match = Some((26, __index + __ch.len_utf8())); + __current_state = 58; continue; } 71248 ... 71257 => { - __current_match = Some((25, __index + __ch.len_utf8())); - __current_state = 55; + __current_match = Some((26, __index + __ch.len_utf8())); + __current_state = 58; continue; } 71360 ... 71369 => { - __current_match = Some((25, __index + __ch.len_utf8())); - __current_state = 55; + __current_match = Some((26, __index + __ch.len_utf8())); + __current_state = 58; continue; } 71472 ... 71481 => { - __current_match = Some((25, __index + __ch.len_utf8())); - __current_state = 55; + __current_match = Some((26, __index + __ch.len_utf8())); + __current_state = 58; continue; } 71904 ... 71913 => { - __current_match = Some((25, __index + __ch.len_utf8())); - __current_state = 55; + __current_match = Some((26, __index + __ch.len_utf8())); + __current_state = 58; continue; } 92768 ... 92777 => { - __current_match = Some((25, __index + __ch.len_utf8())); - __current_state = 55; + __current_match = Some((26, __index + __ch.len_utf8())); + __current_state = 58; continue; } 93008 ... 93017 => { - __current_match = Some((25, __index + __ch.len_utf8())); - __current_state = 55; + __current_match = Some((26, __index + __ch.len_utf8())); + __current_state = 58; continue; } 120782 ... 120831 => { - __current_match = Some((25, __index + __ch.len_utf8())); - __current_state = 55; + __current_match = Some((26, __index + __ch.len_utf8())); + __current_state = 58; continue; } _ => { @@ -21150,27 +24640,27 @@ mod __intern_token { } } } - 42 => { + 44 => { let (__index, __ch) = match __chars.next() { Some(p) => p, None => return __current_match }; match __ch as u32 { 48 ... 57 => { - __current_match = Some((26, __index + __ch.len_utf8())); - __current_state = 28; + __current_match = Some((27, __index + __ch.len_utf8())); + __current_state = 29; continue; } 65 ... 90 => { - __current_match = Some((26, __index + __ch.len_utf8())); - __current_state = 28; + __current_match = Some((27, __index + __ch.len_utf8())); + __current_state = 29; continue; } 95 => /* '_' */ { - __current_match = Some((26, __index + 1)); - __current_state = 28; + __current_match = Some((27, __index + 1)); + __current_state = 29; continue; } 97 ... 122 => { - __current_match = Some((26, __index + __ch.len_utf8())); - __current_state = 28; + __current_match = Some((27, __index + __ch.len_utf8())); + __current_state = 29; continue; } _ => { @@ -21178,47 +24668,47 @@ mod __intern_token { } } } - 43 => { + 45 => { let (__index, __ch) = match __chars.next() { Some(p) => p, None => return __current_match }; match __ch as u32 { 48 ... 57 => { - __current_match = Some((26, __index + __ch.len_utf8())); - __current_state = 28; + __current_match = Some((27, __index + __ch.len_utf8())); + __current_state = 29; continue; } 65 ... 90 => { - __current_match = Some((26, __index + __ch.len_utf8())); - __current_state = 28; + __current_match = Some((27, __index + __ch.len_utf8())); + __current_state = 29; continue; } 95 => /* '_' */ { - __current_match = Some((26, __index + 1)); - __current_state = 28; + __current_match = Some((27, __index + 1)); + __current_state = 29; continue; } 97 ... 109 => { - __current_match = Some((26, __index + __ch.len_utf8())); - __current_state = 28; + __current_match = Some((27, __index + __ch.len_utf8())); + __current_state = 29; continue; } 110 => /* 'n' */ { - __current_match = Some((26, __index + 1)); - __current_state = 56; + __current_match = Some((27, __index + 1)); + __current_state = 59; continue; } 111 ... 114 => { - __current_match = Some((26, __index + __ch.len_utf8())); - __current_state = 28; + __current_match = Some((27, __index + __ch.len_utf8())); + __current_state = 29; continue; } 115 => /* 's' */ { - __current_match = Some((26, __index + 1)); - __current_state = 57; + __current_match = Some((27, __index + 1)); + __current_state = 60; continue; } 116 ... 122 => { - __current_match = Some((26, __index + __ch.len_utf8())); - __current_state = 28; + __current_match = Some((27, __index + __ch.len_utf8())); + __current_state = 29; continue; } _ => { @@ -21226,27 +24716,27 @@ mod __intern_token { } } } - 44 => { + 46 => { let (__index, __ch) = match __chars.next() { Some(p) => p, None => return __current_match }; match __ch as u32 { 48 ... 57 => { - __current_match = Some((26, __index + __ch.len_utf8())); - __current_state = 28; + __current_match = Some((27, __index + __ch.len_utf8())); + __current_state = 29; continue; } 65 ... 90 => { - __current_match = Some((26, __index + __ch.len_utf8())); - __current_state = 28; + __current_match = Some((27, __index + __ch.len_utf8())); + __current_state = 29; continue; } 95 => /* '_' */ { - __current_match = Some((26, __index + 1)); - __current_state = 28; + __current_match = Some((27, __index + 1)); + __current_state = 29; continue; } 97 ... 122 => { - __current_match = Some((26, __index + __ch.len_utf8())); - __current_state = 28; + __current_match = Some((27, __index + __ch.len_utf8())); + __current_state = 29; continue; } _ => { @@ -21254,37 +24744,37 @@ mod __intern_token { } } } - 45 => { + 47 => { let (__index, __ch) = match __chars.next() { Some(p) => p, None => return __current_match }; match __ch as u32 { 48 ... 57 => { - __current_match = Some((26, __index + __ch.len_utf8())); - __current_state = 28; + __current_match = Some((27, __index + __ch.len_utf8())); + __current_state = 29; continue; } 65 ... 90 => { - __current_match = Some((26, __index + __ch.len_utf8())); - __current_state = 28; + __current_match = Some((27, __index + __ch.len_utf8())); + __current_state = 29; continue; } 95 => /* '_' */ { - __current_match = Some((26, __index + 1)); - __current_state = 28; + __current_match = Some((27, __index + 1)); + __current_state = 29; continue; } 97 ... 98 => { - __current_match = Some((26, __index + __ch.len_utf8())); - __current_state = 28; + __current_match = Some((27, __index + __ch.len_utf8())); + __current_state = 29; continue; } 99 => /* 'c' */ { - __current_match = Some((26, __index + 1)); - __current_state = 58; + __current_match = Some((27, __index + 1)); + __current_state = 61; continue; } 100 ... 122 => { - __current_match = Some((26, __index + __ch.len_utf8())); - __current_state = 28; + __current_match = Some((27, __index + __ch.len_utf8())); + __current_state = 29; continue; } _ => { @@ -21292,27 +24782,27 @@ mod __intern_token { } } } - 46 => { + 48 => { let (__index, __ch) = match __chars.next() { Some(p) => p, None => return __current_match }; match __ch as u32 { 48 ... 57 => { - __current_match = Some((26, __index + __ch.len_utf8())); - __current_state = 28; + __current_match = Some((27, __index + __ch.len_utf8())); + __current_state = 29; continue; } 65 ... 90 => { - __current_match = Some((26, __index + __ch.len_utf8())); - __current_state = 28; + __current_match = Some((27, __index + __ch.len_utf8())); + __current_state = 29; continue; } 95 => /* '_' */ { - __current_match = Some((26, __index + 1)); - __current_state = 28; + __current_match = Some((27, __index + 1)); + __current_state = 29; continue; } 97 ... 122 => { - __current_match = Some((26, __index + __ch.len_utf8())); - __current_state = 28; + __current_match = Some((27, __index + __ch.len_utf8())); + __current_state = 29; continue; } _ => { @@ -21320,32 +24810,32 @@ mod __intern_token { } } } - 47 => { + 49 => { let (__index, __ch) = match __chars.next() { Some(p) => p, None => return __current_match }; match __ch as u32 { 48 ... 57 => { - __current_match = Some((26, __index + __ch.len_utf8())); - __current_state = 28; + __current_match = Some((27, __index + __ch.len_utf8())); + __current_state = 29; continue; } 65 ... 90 => { - __current_match = Some((26, __index + __ch.len_utf8())); - __current_state = 28; + __current_match = Some((27, __index + __ch.len_utf8())); + __current_state = 29; continue; } 95 => /* '_' */ { - __current_match = Some((26, __index + 1)); - __current_state = 28; + __current_match = Some((27, __index + 1)); + __current_state = 29; continue; } 97 => /* 'a' */ { - __current_match = Some((26, __index + 1)); - __current_state = 59; + __current_match = Some((27, __index + 1)); + __current_state = 62; continue; } 98 ... 122 => { - __current_match = Some((26, __index + __ch.len_utf8())); - __current_state = 28; + __current_match = Some((27, __index + __ch.len_utf8())); + __current_state = 29; continue; } _ => { @@ -21353,37 +24843,37 @@ mod __intern_token { } } } - 48 => { + 50 => { let (__index, __ch) = match __chars.next() { Some(p) => p, None => return __current_match }; match __ch as u32 { 48 ... 57 => { - __current_match = Some((26, __index + __ch.len_utf8())); - __current_state = 28; + __current_match = Some((27, __index + __ch.len_utf8())); + __current_state = 29; continue; } 65 ... 90 => { - __current_match = Some((26, __index + __ch.len_utf8())); - __current_state = 28; + __current_match = Some((27, __index + __ch.len_utf8())); + __current_state = 29; continue; } 95 => /* '_' */ { - __current_match = Some((26, __index + 1)); - __current_state = 28; + __current_match = Some((27, __index + 1)); + __current_state = 29; continue; } 97 ... 118 => { - __current_match = Some((26, __index + __ch.len_utf8())); - __current_state = 28; + __current_match = Some((27, __index + __ch.len_utf8())); + __current_state = 29; continue; } 119 => /* 'w' */ { __current_match = Some((17, __index + 1)); - __current_state = 60; + __current_state = 63; continue; } 120 ... 122 => { - __current_match = Some((26, __index + __ch.len_utf8())); - __current_state = 28; + __current_match = Some((27, __index + __ch.len_utf8())); + __current_state = 29; continue; } _ => { @@ -21391,37 +24881,37 @@ mod __intern_token { } } } - 49 => { + 51 => { let (__index, __ch) = match __chars.next() { Some(p) => p, None => return __current_match }; match __ch as u32 { 48 ... 57 => { - __current_match = Some((26, __index + __ch.len_utf8())); - __current_state = 28; + __current_match = Some((27, __index + __ch.len_utf8())); + __current_state = 29; continue; } 65 ... 90 => { - __current_match = Some((26, __index + __ch.len_utf8())); - __current_state = 28; + __current_match = Some((27, __index + __ch.len_utf8())); + __current_state = 29; continue; } 95 => /* '_' */ { - __current_match = Some((26, __index + 1)); - __current_state = 28; + __current_match = Some((27, __index + 1)); + __current_state = 29; continue; } 97 ... 116 => { - __current_match = Some((26, __index + __ch.len_utf8())); - __current_state = 28; + __current_match = Some((27, __index + __ch.len_utf8())); + __current_state = 29; continue; } 117 => /* 'u' */ { - __current_match = Some((26, __index + 1)); - __current_state = 61; + __current_match = Some((27, __index + 1)); + __current_state = 64; continue; } 118 ... 122 => { - __current_match = Some((26, __index + __ch.len_utf8())); - __current_state = 28; + __current_match = Some((27, __index + __ch.len_utf8())); + __current_state = 29; continue; } _ => { @@ -21429,37 +24919,37 @@ mod __intern_token { } } } - 50 => { + 52 => { let (__index, __ch) = match __chars.next() { Some(p) => p, None => return __current_match }; match __ch as u32 { 48 ... 57 => { - __current_match = Some((26, __index + __ch.len_utf8())); - __current_state = 28; + __current_match = Some((27, __index + __ch.len_utf8())); + __current_state = 29; continue; } 65 ... 90 => { - __current_match = Some((26, __index + __ch.len_utf8())); - __current_state = 28; + __current_match = Some((27, __index + __ch.len_utf8())); + __current_state = 29; continue; } 95 => /* '_' */ { - __current_match = Some((26, __index + 1)); - __current_state = 28; + __current_match = Some((27, __index + 1)); + __current_state = 29; continue; } 97 ... 100 => { - __current_match = Some((26, __index + __ch.len_utf8())); - __current_state = 28; + __current_match = Some((27, __index + __ch.len_utf8())); + __current_state = 29; continue; } 101 => /* 'e' */ { - __current_match = Some((26, __index + 1)); - __current_state = 62; + __current_match = Some((27, __index + 1)); + __current_state = 65; continue; } 102 ... 122 => { - __current_match = Some((26, __index + __ch.len_utf8())); - __current_state = 28; + __current_match = Some((27, __index + __ch.len_utf8())); + __current_state = 29; continue; } _ => { @@ -21467,37 +24957,37 @@ mod __intern_token { } } } - 51 => { + 53 => { let (__index, __ch) = match __chars.next() { Some(p) => p, None => return __current_match }; match __ch as u32 { 48 ... 57 => { - __current_match = Some((26, __index + __ch.len_utf8())); - __current_state = 28; + __current_match = Some((27, __index + __ch.len_utf8())); + __current_state = 29; continue; } 65 ... 90 => { - __current_match = Some((26, __index + __ch.len_utf8())); - __current_state = 28; + __current_match = Some((27, __index + __ch.len_utf8())); + __current_state = 29; continue; } 95 => /* '_' */ { - __current_match = Some((26, __index + 1)); - __current_state = 28; + __current_match = Some((27, __index + 1)); + __current_state = 29; continue; } 97 ... 111 => { - __current_match = Some((26, __index + __ch.len_utf8())); - __current_state = 28; + __current_match = Some((27, __index + __ch.len_utf8())); + __current_state = 29; continue; } 112 => /* 'p' */ { - __current_match = Some((26, __index + 1)); - __current_state = 63; + __current_match = Some((27, __index + 1)); + __current_state = 66; continue; } 113 ... 122 => { - __current_match = Some((26, __index + __ch.len_utf8())); - __current_state = 28; + __current_match = Some((27, __index + __ch.len_utf8())); + __current_state = 29; continue; } _ => { @@ -21505,32 +24995,32 @@ mod __intern_token { } } } - 52 => { + 54 => { let (__index, __ch) = match __chars.next() { Some(p) => p, None => return __current_match }; match __ch as u32 { 48 ... 57 => { - __current_match = Some((26, __index + __ch.len_utf8())); - __current_state = 28; + __current_match = Some((27, __index + __ch.len_utf8())); + __current_state = 29; continue; } 65 ... 90 => { - __current_match = Some((26, __index + __ch.len_utf8())); - __current_state = 28; + __current_match = Some((27, __index + __ch.len_utf8())); + __current_state = 29; continue; } 95 => /* '_' */ { - __current_match = Some((26, __index + 1)); - __current_state = 28; + __current_match = Some((27, __index + 1)); + __current_state = 29; continue; } 97 => /* 'a' */ { - __current_match = Some((26, __index + 1)); - __current_state = 64; + __current_match = Some((27, __index + 1)); + __current_state = 67; continue; } 98 ... 122 => { - __current_match = Some((26, __index + __ch.len_utf8())); - __current_state = 28; + __current_match = Some((27, __index + __ch.len_utf8())); + __current_state = 29; continue; } _ => { @@ -21538,37 +25028,37 @@ mod __intern_token { } } } - 53 => { + 55 => { let (__index, __ch) = match __chars.next() { Some(p) => p, None => return __current_match }; match __ch as u32 { 48 ... 57 => { - __current_match = Some((26, __index + __ch.len_utf8())); - __current_state = 28; + __current_match = Some((27, __index + __ch.len_utf8())); + __current_state = 29; continue; } 65 ... 90 => { - __current_match = Some((26, __index + __ch.len_utf8())); - __current_state = 28; + __current_match = Some((27, __index + __ch.len_utf8())); + __current_state = 29; continue; } 95 => /* '_' */ { - __current_match = Some((26, __index + 1)); - __current_state = 28; + __current_match = Some((27, __index + 1)); + __current_state = 29; continue; } 97 ... 100 => { - __current_match = Some((26, __index + __ch.len_utf8())); - __current_state = 28; + __current_match = Some((27, __index + __ch.len_utf8())); + __current_state = 29; continue; } 101 => /* 'e' */ { - __current_match = Some((26, __index + 1)); - __current_state = 65; + __current_match = Some((27, __index + 1)); + __current_state = 68; continue; } 102 ... 122 => { - __current_match = Some((26, __index + __ch.len_utf8())); - __current_state = 28; + __current_match = Some((27, __index + __ch.len_utf8())); + __current_state = 29; continue; } _ => { @@ -21576,262 +25066,300 @@ mod __intern_token { } } } - 54 => { + 56 => { let (__index, __ch) = match __chars.next() { Some(p) => p, None => return __current_match }; match __ch as u32 { 48 ... 57 => { - __current_match = Some((25, __index + __ch.len_utf8())); - __current_state = 55; + __current_match = Some((27, __index + __ch.len_utf8())); + __current_state = 29; + continue; + } + 65 ... 90 => { + __current_match = Some((27, __index + __ch.len_utf8())); + __current_state = 29; + continue; + } + 95 => /* '_' */ { + __current_match = Some((27, __index + 1)); + __current_state = 29; + continue; + } + 97 ... 115 => { + __current_match = Some((27, __index + __ch.len_utf8())); + __current_state = 29; + continue; + } + 116 => /* 't' */ { + __current_match = Some((23, __index + 1)); + __current_state = 69; + continue; + } + 117 ... 122 => { + __current_match = Some((27, __index + __ch.len_utf8())); + __current_state = 29; + continue; + } + _ => { + return __current_match; + } + } + } + 57 => { + let (__index, __ch) = match __chars.next() { Some(p) => p, None => return __current_match }; + match __ch as u32 { + 48 ... 57 => { + __current_match = Some((26, __index + __ch.len_utf8())); + __current_state = 58; continue; } 1632 ... 1641 => { - __current_match = Some((25, __index + __ch.len_utf8())); - __current_state = 55; + __current_match = Some((26, __index + __ch.len_utf8())); + __current_state = 58; continue; } 1776 ... 1785 => { - __current_match = Some((25, __index + __ch.len_utf8())); - __current_state = 55; + __current_match = Some((26, __index + __ch.len_utf8())); + __current_state = 58; continue; } 1984 ... 1993 => { - __current_match = Some((25, __index + __ch.len_utf8())); - __current_state = 55; + __current_match = Some((26, __index + __ch.len_utf8())); + __current_state = 58; continue; } 2406 ... 2415 => { - __current_match = Some((25, __index + __ch.len_utf8())); - __current_state = 55; + __current_match = Some((26, __index + __ch.len_utf8())); + __current_state = 58; continue; } 2534 ... 2543 => { - __current_match = Some((25, __index + __ch.len_utf8())); - __current_state = 55; + __current_match = Some((26, __index + __ch.len_utf8())); + __current_state = 58; continue; } 2662 ... 2671 => { - __current_match = Some((25, __index + __ch.len_utf8())); - __current_state = 55; + __current_match = Some((26, __index + __ch.len_utf8())); + __current_state = 58; continue; } 2790 ... 2799 => { - __current_match = Some((25, __index + __ch.len_utf8())); - __current_state = 55; + __current_match = Some((26, __index + __ch.len_utf8())); + __current_state = 58; continue; } 2918 ... 2927 => { - __current_match = Some((25, __index + __ch.len_utf8())); - __current_state = 55; + __current_match = Some((26, __index + __ch.len_utf8())); + __current_state = 58; continue; } 3046 ... 3055 => { - __current_match = Some((25, __index + __ch.len_utf8())); - __current_state = 55; + __current_match = Some((26, __index + __ch.len_utf8())); + __current_state = 58; continue; } 3174 ... 3183 => { - __current_match = Some((25, __index + __ch.len_utf8())); - __current_state = 55; + __current_match = Some((26, __index + __ch.len_utf8())); + __current_state = 58; continue; } 3302 ... 3311 => { - __current_match = Some((25, __index + __ch.len_utf8())); - __current_state = 55; + __current_match = Some((26, __index + __ch.len_utf8())); + __current_state = 58; continue; } 3430 ... 3439 => { - __current_match = Some((25, __index + __ch.len_utf8())); - __current_state = 55; + __current_match = Some((26, __index + __ch.len_utf8())); + __current_state = 58; continue; } 3558 ... 3567 => { - __current_match = Some((25, __index + __ch.len_utf8())); - __current_state = 55; + __current_match = Some((26, __index + __ch.len_utf8())); + __current_state = 58; continue; } 3664 ... 3673 => { - __current_match = Some((25, __index + __ch.len_utf8())); - __current_state = 55; + __current_match = Some((26, __index + __ch.len_utf8())); + __current_state = 58; continue; } 3792 ... 3801 => { - __current_match = Some((25, __index + __ch.len_utf8())); - __current_state = 55; + __current_match = Some((26, __index + __ch.len_utf8())); + __current_state = 58; continue; } 3872 ... 3881 => { - __current_match = Some((25, __index + __ch.len_utf8())); - __current_state = 55; + __current_match = Some((26, __index + __ch.len_utf8())); + __current_state = 58; continue; } 4160 ... 4169 => { - __current_match = Some((25, __index + __ch.len_utf8())); - __current_state = 55; + __current_match = Some((26, __index + __ch.len_utf8())); + __current_state = 58; continue; } 4240 ... 4249 => { - __current_match = Some((25, __index + __ch.len_utf8())); - __current_state = 55; + __current_match = Some((26, __index + __ch.len_utf8())); + __current_state = 58; continue; } 6112 ... 6121 => { - __current_match = Some((25, __index + __ch.len_utf8())); - __current_state = 55; + __current_match = Some((26, __index + __ch.len_utf8())); + __current_state = 58; continue; } 6160 ... 6169 => { - __current_match = Some((25, __index + __ch.len_utf8())); - __current_state = 55; + __current_match = Some((26, __index + __ch.len_utf8())); + __current_state = 58; continue; } 6470 ... 6479 => { - __current_match = Some((25, __index + __ch.len_utf8())); - __current_state = 55; + __current_match = Some((26, __index + __ch.len_utf8())); + __current_state = 58; continue; } 6608 ... 6617 => { - __current_match = Some((25, __index + __ch.len_utf8())); - __current_state = 55; + __current_match = Some((26, __index + __ch.len_utf8())); + __current_state = 58; continue; } 6784 ... 6793 => { - __current_match = Some((25, __index + __ch.len_utf8())); - __current_state = 55; + __current_match = Some((26, __index + __ch.len_utf8())); + __current_state = 58; continue; } 6800 ... 6809 => { - __current_match = Some((25, __index + __ch.len_utf8())); - __current_state = 55; + __current_match = Some((26, __index + __ch.len_utf8())); + __current_state = 58; continue; } 6992 ... 7001 => { - __current_match = Some((25, __index + __ch.len_utf8())); - __current_state = 55; + __current_match = Some((26, __index + __ch.len_utf8())); + __current_state = 58; continue; } 7088 ... 7097 => { - __current_match = Some((25, __index + __ch.len_utf8())); - __current_state = 55; + __current_match = Some((26, __index + __ch.len_utf8())); + __current_state = 58; continue; } 7232 ... 7241 => { - __current_match = Some((25, __index + __ch.len_utf8())); - __current_state = 55; + __current_match = Some((26, __index + __ch.len_utf8())); + __current_state = 58; continue; } 7248 ... 7257 => { - __current_match = Some((25, __index + __ch.len_utf8())); - __current_state = 55; + __current_match = Some((26, __index + __ch.len_utf8())); + __current_state = 58; continue; } 42528 ... 42537 => { - __current_match = Some((25, __index + __ch.len_utf8())); - __current_state = 55; + __current_match = Some((26, __index + __ch.len_utf8())); + __current_state = 58; continue; } 43216 ... 43225 => { - __current_match = Some((25, __index + __ch.len_utf8())); - __current_state = 55; + __current_match = Some((26, __index + __ch.len_utf8())); + __current_state = 58; continue; } 43264 ... 43273 => { - __current_match = Some((25, __index + __ch.len_utf8())); - __current_state = 55; + __current_match = Some((26, __index + __ch.len_utf8())); + __current_state = 58; continue; } 43472 ... 43481 => { - __current_match = Some((25, __index + __ch.len_utf8())); - __current_state = 55; + __current_match = Some((26, __index + __ch.len_utf8())); + __current_state = 58; continue; } 43504 ... 43513 => { - __current_match = Some((25, __index + __ch.len_utf8())); - __current_state = 55; + __current_match = Some((26, __index + __ch.len_utf8())); + __current_state = 58; continue; } 43600 ... 43609 => { - __current_match = Some((25, __index + __ch.len_utf8())); - __current_state = 55; + __current_match = Some((26, __index + __ch.len_utf8())); + __current_state = 58; continue; } 44016 ... 44025 => { - __current_match = Some((25, __index + __ch.len_utf8())); - __current_state = 55; + __current_match = Some((26, __index + __ch.len_utf8())); + __current_state = 58; continue; } 65296 ... 65305 => { - __current_match = Some((25, __index + __ch.len_utf8())); - __current_state = 55; + __current_match = Some((26, __index + __ch.len_utf8())); + __current_state = 58; continue; } 66720 ... 66729 => { - __current_match = Some((25, __index + __ch.len_utf8())); - __current_state = 55; + __current_match = Some((26, __index + __ch.len_utf8())); + __current_state = 58; continue; } 69734 ... 69743 => { - __current_match = Some((25, __index + __ch.len_utf8())); - __current_state = 55; + __current_match = Some((26, __index + __ch.len_utf8())); + __current_state = 58; continue; } 69872 ... 69881 => { - __current_match = Some((25, __index + __ch.len_utf8())); - __current_state = 55; + __current_match = Some((26, __index + __ch.len_utf8())); + __current_state = 58; continue; } 69942 ... 69951 => { - __current_match = Some((25, __index + __ch.len_utf8())); - __current_state = 55; + __current_match = Some((26, __index + __ch.len_utf8())); + __current_state = 58; continue; } 70096 ... 70105 => { - __current_match = Some((25, __index + __ch.len_utf8())); - __current_state = 55; + __current_match = Some((26, __index + __ch.len_utf8())); + __current_state = 58; continue; } 70384 ... 70393 => { - __current_match = Some((25, __index + __ch.len_utf8())); - __current_state = 55; + __current_match = Some((26, __index + __ch.len_utf8())); + __current_state = 58; continue; } 70864 ... 70873 => { - __current_match = Some((25, __index + __ch.len_utf8())); - __current_state = 55; + __current_match = Some((26, __index + __ch.len_utf8())); + __current_state = 58; continue; } 71248 ... 71257 => { - __current_match = Some((25, __index + __ch.len_utf8())); - __current_state = 55; + __current_match = Some((26, __index + __ch.len_utf8())); + __current_state = 58; continue; } 71360 ... 71369 => { - __current_match = Some((25, __index + __ch.len_utf8())); - __current_state = 55; + __current_match = Some((26, __index + __ch.len_utf8())); + __current_state = 58; continue; } 71472 ... 71481 => { - __current_match = Some((25, __index + __ch.len_utf8())); - __current_state = 55; + __current_match = Some((26, __index + __ch.len_utf8())); + __current_state = 58; continue; } 71904 ... 71913 => { - __current_match = Some((25, __index + __ch.len_utf8())); - __current_state = 55; + __current_match = Some((26, __index + __ch.len_utf8())); + __current_state = 58; continue; } 92768 ... 92777 => { - __current_match = Some((25, __index + __ch.len_utf8())); - __current_state = 55; + __current_match = Some((26, __index + __ch.len_utf8())); + __current_state = 58; continue; } 93008 ... 93017 => { - __current_match = Some((25, __index + __ch.len_utf8())); - __current_state = 55; + __current_match = Some((26, __index + __ch.len_utf8())); + __current_state = 58; continue; } 120782 ... 120831 => { - __current_match = Some((25, __index + __ch.len_utf8())); - __current_state = 55; + __current_match = Some((26, __index + __ch.len_utf8())); + __current_state = 58; continue; } _ => { @@ -21839,262 +25367,262 @@ mod __intern_token { } } } - 55 => { + 58 => { let (__index, __ch) = match __chars.next() { Some(p) => p, None => return __current_match }; match __ch as u32 { 48 ... 57 => { - __current_match = Some((25, __index + __ch.len_utf8())); - __current_state = 55; + __current_match = Some((26, __index + __ch.len_utf8())); + __current_state = 58; continue; } 1632 ... 1641 => { - __current_match = Some((25, __index + __ch.len_utf8())); - __current_state = 55; + __current_match = Some((26, __index + __ch.len_utf8())); + __current_state = 58; continue; } 1776 ... 1785 => { - __current_match = Some((25, __index + __ch.len_utf8())); - __current_state = 55; + __current_match = Some((26, __index + __ch.len_utf8())); + __current_state = 58; continue; } 1984 ... 1993 => { - __current_match = Some((25, __index + __ch.len_utf8())); - __current_state = 55; + __current_match = Some((26, __index + __ch.len_utf8())); + __current_state = 58; continue; } 2406 ... 2415 => { - __current_match = Some((25, __index + __ch.len_utf8())); - __current_state = 55; + __current_match = Some((26, __index + __ch.len_utf8())); + __current_state = 58; continue; } 2534 ... 2543 => { - __current_match = Some((25, __index + __ch.len_utf8())); - __current_state = 55; + __current_match = Some((26, __index + __ch.len_utf8())); + __current_state = 58; continue; } 2662 ... 2671 => { - __current_match = Some((25, __index + __ch.len_utf8())); - __current_state = 55; + __current_match = Some((26, __index + __ch.len_utf8())); + __current_state = 58; continue; } 2790 ... 2799 => { - __current_match = Some((25, __index + __ch.len_utf8())); - __current_state = 55; + __current_match = Some((26, __index + __ch.len_utf8())); + __current_state = 58; continue; } 2918 ... 2927 => { - __current_match = Some((25, __index + __ch.len_utf8())); - __current_state = 55; + __current_match = Some((26, __index + __ch.len_utf8())); + __current_state = 58; continue; } 3046 ... 3055 => { - __current_match = Some((25, __index + __ch.len_utf8())); - __current_state = 55; + __current_match = Some((26, __index + __ch.len_utf8())); + __current_state = 58; continue; } 3174 ... 3183 => { - __current_match = Some((25, __index + __ch.len_utf8())); - __current_state = 55; + __current_match = Some((26, __index + __ch.len_utf8())); + __current_state = 58; continue; } 3302 ... 3311 => { - __current_match = Some((25, __index + __ch.len_utf8())); - __current_state = 55; + __current_match = Some((26, __index + __ch.len_utf8())); + __current_state = 58; continue; } 3430 ... 3439 => { - __current_match = Some((25, __index + __ch.len_utf8())); - __current_state = 55; + __current_match = Some((26, __index + __ch.len_utf8())); + __current_state = 58; continue; } 3558 ... 3567 => { - __current_match = Some((25, __index + __ch.len_utf8())); - __current_state = 55; + __current_match = Some((26, __index + __ch.len_utf8())); + __current_state = 58; continue; } 3664 ... 3673 => { - __current_match = Some((25, __index + __ch.len_utf8())); - __current_state = 55; + __current_match = Some((26, __index + __ch.len_utf8())); + __current_state = 58; continue; } 3792 ... 3801 => { - __current_match = Some((25, __index + __ch.len_utf8())); - __current_state = 55; + __current_match = Some((26, __index + __ch.len_utf8())); + __current_state = 58; continue; } 3872 ... 3881 => { - __current_match = Some((25, __index + __ch.len_utf8())); - __current_state = 55; + __current_match = Some((26, __index + __ch.len_utf8())); + __current_state = 58; continue; } 4160 ... 4169 => { - __current_match = Some((25, __index + __ch.len_utf8())); - __current_state = 55; + __current_match = Some((26, __index + __ch.len_utf8())); + __current_state = 58; continue; } 4240 ... 4249 => { - __current_match = Some((25, __index + __ch.len_utf8())); - __current_state = 55; + __current_match = Some((26, __index + __ch.len_utf8())); + __current_state = 58; continue; } 6112 ... 6121 => { - __current_match = Some((25, __index + __ch.len_utf8())); - __current_state = 55; + __current_match = Some((26, __index + __ch.len_utf8())); + __current_state = 58; continue; } 6160 ... 6169 => { - __current_match = Some((25, __index + __ch.len_utf8())); - __current_state = 55; + __current_match = Some((26, __index + __ch.len_utf8())); + __current_state = 58; continue; } 6470 ... 6479 => { - __current_match = Some((25, __index + __ch.len_utf8())); - __current_state = 55; + __current_match = Some((26, __index + __ch.len_utf8())); + __current_state = 58; continue; } 6608 ... 6617 => { - __current_match = Some((25, __index + __ch.len_utf8())); - __current_state = 55; + __current_match = Some((26, __index + __ch.len_utf8())); + __current_state = 58; continue; } 6784 ... 6793 => { - __current_match = Some((25, __index + __ch.len_utf8())); - __current_state = 55; + __current_match = Some((26, __index + __ch.len_utf8())); + __current_state = 58; continue; } 6800 ... 6809 => { - __current_match = Some((25, __index + __ch.len_utf8())); - __current_state = 55; + __current_match = Some((26, __index + __ch.len_utf8())); + __current_state = 58; continue; } 6992 ... 7001 => { - __current_match = Some((25, __index + __ch.len_utf8())); - __current_state = 55; + __current_match = Some((26, __index + __ch.len_utf8())); + __current_state = 58; continue; } 7088 ... 7097 => { - __current_match = Some((25, __index + __ch.len_utf8())); - __current_state = 55; + __current_match = Some((26, __index + __ch.len_utf8())); + __current_state = 58; continue; } 7232 ... 7241 => { - __current_match = Some((25, __index + __ch.len_utf8())); - __current_state = 55; + __current_match = Some((26, __index + __ch.len_utf8())); + __current_state = 58; continue; } 7248 ... 7257 => { - __current_match = Some((25, __index + __ch.len_utf8())); - __current_state = 55; + __current_match = Some((26, __index + __ch.len_utf8())); + __current_state = 58; continue; } 42528 ... 42537 => { - __current_match = Some((25, __index + __ch.len_utf8())); - __current_state = 55; + __current_match = Some((26, __index + __ch.len_utf8())); + __current_state = 58; continue; } 43216 ... 43225 => { - __current_match = Some((25, __index + __ch.len_utf8())); - __current_state = 55; + __current_match = Some((26, __index + __ch.len_utf8())); + __current_state = 58; continue; } 43264 ... 43273 => { - __current_match = Some((25, __index + __ch.len_utf8())); - __current_state = 55; + __current_match = Some((26, __index + __ch.len_utf8())); + __current_state = 58; continue; } 43472 ... 43481 => { - __current_match = Some((25, __index + __ch.len_utf8())); - __current_state = 55; + __current_match = Some((26, __index + __ch.len_utf8())); + __current_state = 58; continue; } 43504 ... 43513 => { - __current_match = Some((25, __index + __ch.len_utf8())); - __current_state = 55; + __current_match = Some((26, __index + __ch.len_utf8())); + __current_state = 58; continue; } 43600 ... 43609 => { - __current_match = Some((25, __index + __ch.len_utf8())); - __current_state = 55; + __current_match = Some((26, __index + __ch.len_utf8())); + __current_state = 58; continue; } 44016 ... 44025 => { - __current_match = Some((25, __index + __ch.len_utf8())); - __current_state = 55; + __current_match = Some((26, __index + __ch.len_utf8())); + __current_state = 58; continue; } 65296 ... 65305 => { - __current_match = Some((25, __index + __ch.len_utf8())); - __current_state = 55; + __current_match = Some((26, __index + __ch.len_utf8())); + __current_state = 58; continue; } 66720 ... 66729 => { - __current_match = Some((25, __index + __ch.len_utf8())); - __current_state = 55; + __current_match = Some((26, __index + __ch.len_utf8())); + __current_state = 58; continue; } 69734 ... 69743 => { - __current_match = Some((25, __index + __ch.len_utf8())); - __current_state = 55; + __current_match = Some((26, __index + __ch.len_utf8())); + __current_state = 58; continue; } 69872 ... 69881 => { - __current_match = Some((25, __index + __ch.len_utf8())); - __current_state = 55; + __current_match = Some((26, __index + __ch.len_utf8())); + __current_state = 58; continue; } 69942 ... 69951 => { - __current_match = Some((25, __index + __ch.len_utf8())); - __current_state = 55; + __current_match = Some((26, __index + __ch.len_utf8())); + __current_state = 58; continue; } 70096 ... 70105 => { - __current_match = Some((25, __index + __ch.len_utf8())); - __current_state = 55; + __current_match = Some((26, __index + __ch.len_utf8())); + __current_state = 58; continue; } 70384 ... 70393 => { - __current_match = Some((25, __index + __ch.len_utf8())); - __current_state = 55; + __current_match = Some((26, __index + __ch.len_utf8())); + __current_state = 58; continue; } 70864 ... 70873 => { - __current_match = Some((25, __index + __ch.len_utf8())); - __current_state = 55; + __current_match = Some((26, __index + __ch.len_utf8())); + __current_state = 58; continue; } 71248 ... 71257 => { - __current_match = Some((25, __index + __ch.len_utf8())); - __current_state = 55; + __current_match = Some((26, __index + __ch.len_utf8())); + __current_state = 58; continue; } 71360 ... 71369 => { - __current_match = Some((25, __index + __ch.len_utf8())); - __current_state = 55; + __current_match = Some((26, __index + __ch.len_utf8())); + __current_state = 58; continue; } 71472 ... 71481 => { - __current_match = Some((25, __index + __ch.len_utf8())); - __current_state = 55; + __current_match = Some((26, __index + __ch.len_utf8())); + __current_state = 58; continue; } 71904 ... 71913 => { - __current_match = Some((25, __index + __ch.len_utf8())); - __current_state = 55; + __current_match = Some((26, __index + __ch.len_utf8())); + __current_state = 58; continue; } 92768 ... 92777 => { - __current_match = Some((25, __index + __ch.len_utf8())); - __current_state = 55; + __current_match = Some((26, __index + __ch.len_utf8())); + __current_state = 58; continue; } 93008 ... 93017 => { - __current_match = Some((25, __index + __ch.len_utf8())); - __current_state = 55; + __current_match = Some((26, __index + __ch.len_utf8())); + __current_state = 58; continue; } 120782 ... 120831 => { - __current_match = Some((25, __index + __ch.len_utf8())); - __current_state = 55; + __current_match = Some((26, __index + __ch.len_utf8())); + __current_state = 58; continue; } _ => { @@ -22102,37 +25630,37 @@ mod __intern_token { } } } - 56 => { + 59 => { let (__index, __ch) = match __chars.next() { Some(p) => p, None => return __current_match }; match __ch as u32 { 48 ... 57 => { - __current_match = Some((26, __index + __ch.len_utf8())); - __current_state = 28; + __current_match = Some((27, __index + __ch.len_utf8())); + __current_state = 29; continue; } 65 ... 90 => { - __current_match = Some((26, __index + __ch.len_utf8())); - __current_state = 28; + __current_match = Some((27, __index + __ch.len_utf8())); + __current_state = 29; continue; } 95 => /* '_' */ { - __current_match = Some((26, __index + 1)); - __current_state = 28; + __current_match = Some((27, __index + 1)); + __current_state = 29; continue; } 97 ... 100 => { - __current_match = Some((26, __index + __ch.len_utf8())); - __current_state = 28; + __current_match = Some((27, __index + __ch.len_utf8())); + __current_state = 29; continue; } 101 => /* 'e' */ { - __current_match = Some((26, __index + 1)); - __current_state = 66; + __current_match = Some((27, __index + 1)); + __current_state = 70; continue; } 102 ... 122 => { - __current_match = Some((26, __index + __ch.len_utf8())); - __current_state = 28; + __current_match = Some((27, __index + __ch.len_utf8())); + __current_state = 29; continue; } _ => { @@ -22140,37 +25668,37 @@ mod __intern_token { } } } - 57 => { + 60 => { let (__index, __ch) = match __chars.next() { Some(p) => p, None => return __current_match }; match __ch as u32 { 48 ... 57 => { - __current_match = Some((26, __index + __ch.len_utf8())); - __current_state = 28; + __current_match = Some((27, __index + __ch.len_utf8())); + __current_state = 29; continue; } 65 ... 90 => { - __current_match = Some((26, __index + __ch.len_utf8())); - __current_state = 28; + __current_match = Some((27, __index + __ch.len_utf8())); + __current_state = 29; continue; } 95 => /* '_' */ { - __current_match = Some((26, __index + 1)); - __current_state = 28; + __current_match = Some((27, __index + 1)); + __current_state = 29; continue; } 97 ... 115 => { - __current_match = Some((26, __index + __ch.len_utf8())); - __current_state = 28; + __current_match = Some((27, __index + __ch.len_utf8())); + __current_state = 29; continue; } 116 => /* 't' */ { - __current_match = Some((26, __index + 1)); - __current_state = 67; + __current_match = Some((27, __index + 1)); + __current_state = 71; continue; } 117 ... 122 => { - __current_match = Some((26, __index + __ch.len_utf8())); - __current_state = 28; + __current_match = Some((27, __index + __ch.len_utf8())); + __current_state = 29; continue; } _ => { @@ -22178,37 +25706,37 @@ mod __intern_token { } } } - 58 => { + 61 => { let (__index, __ch) = match __chars.next() { Some(p) => p, None => return __current_match }; match __ch as u32 { 48 ... 57 => { - __current_match = Some((26, __index + __ch.len_utf8())); - __current_state = 28; + __current_match = Some((27, __index + __ch.len_utf8())); + __current_state = 29; continue; } 65 ... 90 => { - __current_match = Some((26, __index + __ch.len_utf8())); - __current_state = 28; + __current_match = Some((27, __index + __ch.len_utf8())); + __current_state = 29; continue; } 95 => /* '_' */ { - __current_match = Some((26, __index + 1)); - __current_state = 28; + __current_match = Some((27, __index + 1)); + __current_state = 29; continue; } 97 ... 113 => { - __current_match = Some((26, __index + __ch.len_utf8())); - __current_state = 28; + __current_match = Some((27, __index + __ch.len_utf8())); + __current_state = 29; continue; } 114 => /* 'r' */ { - __current_match = Some((26, __index + 1)); - __current_state = 68; + __current_match = Some((27, __index + 1)); + __current_state = 72; continue; } 115 ... 122 => { - __current_match = Some((26, __index + __ch.len_utf8())); - __current_state = 28; + __current_match = Some((27, __index + __ch.len_utf8())); + __current_state = 29; continue; } _ => { @@ -22216,37 +25744,37 @@ mod __intern_token { } } } - 59 => { + 62 => { let (__index, __ch) = match __chars.next() { Some(p) => p, None => return __current_match }; match __ch as u32 { 48 ... 57 => { - __current_match = Some((26, __index + __ch.len_utf8())); - __current_state = 28; + __current_match = Some((27, __index + __ch.len_utf8())); + __current_state = 29; continue; } 65 ... 90 => { - __current_match = Some((26, __index + __ch.len_utf8())); - __current_state = 28; + __current_match = Some((27, __index + __ch.len_utf8())); + __current_state = 29; continue; } 95 => /* '_' */ { - __current_match = Some((26, __index + 1)); - __current_state = 28; + __current_match = Some((27, __index + 1)); + __current_state = 29; continue; } 97 ... 115 => { - __current_match = Some((26, __index + __ch.len_utf8())); - __current_state = 28; + __current_match = Some((27, __index + __ch.len_utf8())); + __current_state = 29; continue; } 116 => /* 't' */ { - __current_match = Some((26, __index + 1)); - __current_state = 69; + __current_match = Some((27, __index + 1)); + __current_state = 73; continue; } 117 ... 122 => { - __current_match = Some((26, __index + __ch.len_utf8())); - __current_state = 28; + __current_match = Some((27, __index + __ch.len_utf8())); + __current_state = 29; continue; } _ => { @@ -22254,27 +25782,27 @@ mod __intern_token { } } } - 60 => { + 63 => { let (__index, __ch) = match __chars.next() { Some(p) => p, None => return __current_match }; match __ch as u32 { 48 ... 57 => { - __current_match = Some((26, __index + __ch.len_utf8())); - __current_state = 28; + __current_match = Some((27, __index + __ch.len_utf8())); + __current_state = 29; continue; } 65 ... 90 => { - __current_match = Some((26, __index + __ch.len_utf8())); - __current_state = 28; + __current_match = Some((27, __index + __ch.len_utf8())); + __current_state = 29; continue; } 95 => /* '_' */ { - __current_match = Some((26, __index + 1)); - __current_state = 28; + __current_match = Some((27, __index + 1)); + __current_state = 29; continue; } 97 ... 122 => { - __current_match = Some((26, __index + __ch.len_utf8())); - __current_state = 28; + __current_match = Some((27, __index + __ch.len_utf8())); + __current_state = 29; continue; } _ => { @@ -22282,37 +25810,37 @@ mod __intern_token { } } } - 61 => { + 64 => { let (__index, __ch) = match __chars.next() { Some(p) => p, None => return __current_match }; match __ch as u32 { 48 ... 57 => { - __current_match = Some((26, __index + __ch.len_utf8())); - __current_state = 28; + __current_match = Some((27, __index + __ch.len_utf8())); + __current_state = 29; continue; } 65 ... 90 => { - __current_match = Some((26, __index + __ch.len_utf8())); - __current_state = 28; + __current_match = Some((27, __index + __ch.len_utf8())); + __current_state = 29; continue; } 95 => /* '_' */ { - __current_match = Some((26, __index + 1)); - __current_state = 28; + __current_match = Some((27, __index + 1)); + __current_state = 29; continue; } 97 ... 115 => { - __current_match = Some((26, __index + __ch.len_utf8())); - __current_state = 28; + __current_match = Some((27, __index + __ch.len_utf8())); + __current_state = 29; continue; } 116 => /* 't' */ { __current_match = Some((18, __index + 1)); - __current_state = 70; + __current_state = 74; continue; } 117 ... 122 => { - __current_match = Some((26, __index + __ch.len_utf8())); - __current_state = 28; + __current_match = Some((27, __index + __ch.len_utf8())); + __current_state = 29; continue; } _ => { @@ -22320,37 +25848,37 @@ mod __intern_token { } } } - 62 => { + 65 => { let (__index, __ch) = match __chars.next() { Some(p) => p, None => return __current_match }; match __ch as u32 { 48 ... 57 => { - __current_match = Some((26, __index + __ch.len_utf8())); - __current_state = 28; + __current_match = Some((27, __index + __ch.len_utf8())); + __current_state = 29; continue; } 65 ... 90 => { - __current_match = Some((26, __index + __ch.len_utf8())); - __current_state = 28; + __current_match = Some((27, __index + __ch.len_utf8())); + __current_state = 29; continue; } 95 => /* '_' */ { - __current_match = Some((26, __index + 1)); - __current_state = 28; + __current_match = Some((27, __index + 1)); + __current_state = 29; continue; } 97 ... 107 => { - __current_match = Some((26, __index + __ch.len_utf8())); - __current_state = 28; + __current_match = Some((27, __index + __ch.len_utf8())); + __current_state = 29; continue; } 108 => /* 'l' */ { __current_match = Some((19, __index + 1)); - __current_state = 71; + __current_state = 75; continue; } 109 ... 122 => { - __current_match = Some((26, __index + __ch.len_utf8())); - __current_state = 28; + __current_match = Some((27, __index + __ch.len_utf8())); + __current_state = 29; continue; } _ => { @@ -22358,37 +25886,37 @@ mod __intern_token { } } } - 63 => { + 66 => { let (__index, __ch) = match __chars.next() { Some(p) => p, None => return __current_match }; match __ch as u32 { 48 ... 57 => { - __current_match = Some((26, __index + __ch.len_utf8())); - __current_state = 28; + __current_match = Some((27, __index + __ch.len_utf8())); + __current_state = 29; continue; } 65 ... 90 => { - __current_match = Some((26, __index + __ch.len_utf8())); - __current_state = 28; + __current_match = Some((27, __index + __ch.len_utf8())); + __current_state = 29; continue; } 95 => /* '_' */ { - __current_match = Some((26, __index + 1)); - __current_state = 28; + __current_match = Some((27, __index + 1)); + __current_state = 29; continue; } 97 ... 116 => { - __current_match = Some((26, __index + __ch.len_utf8())); - __current_state = 28; + __current_match = Some((27, __index + __ch.len_utf8())); + __current_state = 29; continue; } 117 => /* 'u' */ { - __current_match = Some((26, __index + 1)); - __current_state = 72; + __current_match = Some((27, __index + 1)); + __current_state = 76; continue; } 118 ... 122 => { - __current_match = Some((26, __index + __ch.len_utf8())); - __current_state = 28; + __current_match = Some((27, __index + __ch.len_utf8())); + __current_state = 29; continue; } _ => { @@ -22396,37 +25924,37 @@ mod __intern_token { } } } - 64 => { + 67 => { let (__index, __ch) = match __chars.next() { Some(p) => p, None => return __current_match }; match __ch as u32 { 48 ... 57 => { - __current_match = Some((26, __index + __ch.len_utf8())); - __current_state = 28; + __current_match = Some((27, __index + __ch.len_utf8())); + __current_state = 29; continue; } 65 ... 90 => { - __current_match = Some((26, __index + __ch.len_utf8())); - __current_state = 28; + __current_match = Some((27, __index + __ch.len_utf8())); + __current_state = 29; continue; } 95 => /* '_' */ { - __current_match = Some((26, __index + 1)); - __current_state = 28; + __current_match = Some((27, __index + 1)); + __current_state = 29; continue; } 97 ... 108 => { - __current_match = Some((26, __index + __ch.len_utf8())); - __current_state = 28; + __current_match = Some((27, __index + __ch.len_utf8())); + __current_state = 29; continue; } 109 => /* 'm' */ { - __current_match = Some((26, __index + 1)); - __current_state = 73; + __current_match = Some((27, __index + 1)); + __current_state = 77; continue; } 110 ... 122 => { - __current_match = Some((26, __index + __ch.len_utf8())); - __current_state = 28; + __current_match = Some((27, __index + __ch.len_utf8())); + __current_state = 29; continue; } _ => { @@ -22434,32 +25962,32 @@ mod __intern_token { } } } - 65 => { + 68 => { let (__index, __ch) = match __chars.next() { Some(p) => p, None => return __current_match }; match __ch as u32 { 48 ... 57 => { - __current_match = Some((26, __index + __ch.len_utf8())); - __current_state = 28; + __current_match = Some((27, __index + __ch.len_utf8())); + __current_state = 29; continue; } 65 ... 90 => { - __current_match = Some((26, __index + __ch.len_utf8())); - __current_state = 28; + __current_match = Some((27, __index + __ch.len_utf8())); + __current_state = 29; continue; } 95 => /* '_' */ { - __current_match = Some((26, __index + 1)); - __current_state = 28; + __current_match = Some((27, __index + 1)); + __current_state = 29; continue; } 97 => /* 'a' */ { - __current_match = Some((26, __index + 1)); - __current_state = 74; + __current_match = Some((27, __index + 1)); + __current_state = 78; continue; } 98 ... 122 => { - __current_match = Some((26, __index + __ch.len_utf8())); - __current_state = 28; + __current_match = Some((27, __index + __ch.len_utf8())); + __current_state = 29; continue; } _ => { @@ -22467,37 +25995,65 @@ mod __intern_token { } } } - 66 => { + 69 => { let (__index, __ch) = match __chars.next() { Some(p) => p, None => return __current_match }; match __ch as u32 { 48 ... 57 => { - __current_match = Some((26, __index + __ch.len_utf8())); - __current_state = 28; + __current_match = Some((27, __index + __ch.len_utf8())); + __current_state = 29; continue; } 65 ... 90 => { - __current_match = Some((26, __index + __ch.len_utf8())); - __current_state = 28; + __current_match = Some((27, __index + __ch.len_utf8())); + __current_state = 29; continue; } 95 => /* '_' */ { - __current_match = Some((26, __index + 1)); - __current_state = 28; + __current_match = Some((27, __index + 1)); + __current_state = 29; + continue; + } + 97 ... 122 => { + __current_match = Some((27, __index + __ch.len_utf8())); + __current_state = 29; + continue; + } + _ => { + return __current_match; + } + } + } + 70 => { + let (__index, __ch) = match __chars.next() { Some(p) => p, None => return __current_match }; + match __ch as u32 { + 48 ... 57 => { + __current_match = Some((27, __index + __ch.len_utf8())); + __current_state = 29; + continue; + } + 65 ... 90 => { + __current_match = Some((27, __index + __ch.len_utf8())); + __current_state = 29; + continue; + } + 95 => /* '_' */ { + __current_match = Some((27, __index + 1)); + __current_state = 29; continue; } 97 ... 98 => { - __current_match = Some((26, __index + __ch.len_utf8())); - __current_state = 28; + __current_match = Some((27, __index + __ch.len_utf8())); + __current_state = 29; continue; } 99 => /* 'c' */ { - __current_match = Some((26, __index + 1)); - __current_state = 75; + __current_match = Some((27, __index + 1)); + __current_state = 79; continue; } 100 ... 122 => { - __current_match = Some((26, __index + __ch.len_utf8())); - __current_state = 28; + __current_match = Some((27, __index + __ch.len_utf8())); + __current_state = 29; continue; } _ => { @@ -22505,32 +26061,32 @@ mod __intern_token { } } } - 67 => { + 71 => { let (__index, __ch) = match __chars.next() { Some(p) => p, None => return __current_match }; match __ch as u32 { 48 ... 57 => { - __current_match = Some((26, __index + __ch.len_utf8())); - __current_state = 28; + __current_match = Some((27, __index + __ch.len_utf8())); + __current_state = 29; continue; } 65 ... 90 => { - __current_match = Some((26, __index + __ch.len_utf8())); - __current_state = 28; + __current_match = Some((27, __index + __ch.len_utf8())); + __current_state = 29; continue; } 95 => /* '_' */ { - __current_match = Some((26, __index + 1)); - __current_state = 28; + __current_match = Some((27, __index + 1)); + __current_state = 29; continue; } 97 => /* 'a' */ { - __current_match = Some((26, __index + 1)); - __current_state = 76; + __current_match = Some((27, __index + 1)); + __current_state = 80; continue; } 98 ... 122 => { - __current_match = Some((26, __index + __ch.len_utf8())); - __current_state = 28; + __current_match = Some((27, __index + __ch.len_utf8())); + __current_state = 29; continue; } _ => { @@ -22538,37 +26094,37 @@ mod __intern_token { } } } - 68 => { + 72 => { let (__index, __ch) = match __chars.next() { Some(p) => p, None => return __current_match }; match __ch as u32 { 48 ... 57 => { - __current_match = Some((26, __index + __ch.len_utf8())); - __current_state = 28; + __current_match = Some((27, __index + __ch.len_utf8())); + __current_state = 29; continue; } 65 ... 90 => { - __current_match = Some((26, __index + __ch.len_utf8())); - __current_state = 28; + __current_match = Some((27, __index + __ch.len_utf8())); + __current_state = 29; continue; } 95 => /* '_' */ { - __current_match = Some((26, __index + 1)); - __current_state = 28; + __current_match = Some((27, __index + 1)); + __current_state = 29; continue; } 97 ... 100 => { - __current_match = Some((26, __index + __ch.len_utf8())); - __current_state = 28; + __current_match = Some((27, __index + __ch.len_utf8())); + __current_state = 29; continue; } 101 => /* 'e' */ { - __current_match = Some((26, __index + 1)); - __current_state = 77; + __current_match = Some((27, __index + 1)); + __current_state = 81; continue; } 102 ... 122 => { - __current_match = Some((26, __index + __ch.len_utf8())); - __current_state = 28; + __current_match = Some((27, __index + __ch.len_utf8())); + __current_state = 29; continue; } _ => { @@ -22576,37 +26132,37 @@ mod __intern_token { } } } - 69 => { + 73 => { let (__index, __ch) = match __chars.next() { Some(p) => p, None => return __current_match }; match __ch as u32 { 48 ... 57 => { - __current_match = Some((26, __index + __ch.len_utf8())); - __current_state = 28; + __current_match = Some((27, __index + __ch.len_utf8())); + __current_state = 29; continue; } 65 ... 90 => { - __current_match = Some((26, __index + __ch.len_utf8())); - __current_state = 28; + __current_match = Some((27, __index + __ch.len_utf8())); + __current_state = 29; continue; } 95 => /* '_' */ { - __current_match = Some((26, __index + 1)); - __current_state = 28; + __current_match = Some((27, __index + 1)); + __current_state = 29; continue; } 97 ... 104 => { - __current_match = Some((26, __index + __ch.len_utf8())); - __current_state = 28; + __current_match = Some((27, __index + __ch.len_utf8())); + __current_state = 29; continue; } 105 => /* 'i' */ { - __current_match = Some((26, __index + 1)); - __current_state = 78; + __current_match = Some((27, __index + 1)); + __current_state = 82; continue; } 106 ... 122 => { - __current_match = Some((26, __index + __ch.len_utf8())); - __current_state = 28; + __current_match = Some((27, __index + __ch.len_utf8())); + __current_state = 29; continue; } _ => { @@ -22614,27 +26170,27 @@ mod __intern_token { } } } - 70 => { + 74 => { let (__index, __ch) = match __chars.next() { Some(p) => p, None => return __current_match }; match __ch as u32 { 48 ... 57 => { - __current_match = Some((26, __index + __ch.len_utf8())); - __current_state = 28; + __current_match = Some((27, __index + __ch.len_utf8())); + __current_state = 29; continue; } 65 ... 90 => { - __current_match = Some((26, __index + __ch.len_utf8())); - __current_state = 28; + __current_match = Some((27, __index + __ch.len_utf8())); + __current_state = 29; continue; } 95 => /* '_' */ { - __current_match = Some((26, __index + 1)); - __current_state = 28; + __current_match = Some((27, __index + 1)); + __current_state = 29; continue; } 97 ... 122 => { - __current_match = Some((26, __index + __ch.len_utf8())); - __current_state = 28; + __current_match = Some((27, __index + __ch.len_utf8())); + __current_state = 29; continue; } _ => { @@ -22642,27 +26198,27 @@ mod __intern_token { } } } - 71 => { + 75 => { let (__index, __ch) = match __chars.next() { Some(p) => p, None => return __current_match }; match __ch as u32 { 48 ... 57 => { - __current_match = Some((26, __index + __ch.len_utf8())); - __current_state = 28; + __current_match = Some((27, __index + __ch.len_utf8())); + __current_state = 29; continue; } 65 ... 90 => { - __current_match = Some((26, __index + __ch.len_utf8())); - __current_state = 28; + __current_match = Some((27, __index + __ch.len_utf8())); + __current_state = 29; continue; } 95 => /* '_' */ { - __current_match = Some((26, __index + 1)); - __current_state = 28; + __current_match = Some((27, __index + 1)); + __current_state = 29; continue; } 97 ... 122 => { - __current_match = Some((26, __index + __ch.len_utf8())); - __current_state = 28; + __current_match = Some((27, __index + __ch.len_utf8())); + __current_state = 29; continue; } _ => { @@ -22670,37 +26226,37 @@ mod __intern_token { } } } - 72 => { + 76 => { let (__index, __ch) = match __chars.next() { Some(p) => p, None => return __current_match }; match __ch as u32 { 48 ... 57 => { - __current_match = Some((26, __index + __ch.len_utf8())); - __current_state = 28; + __current_match = Some((27, __index + __ch.len_utf8())); + __current_state = 29; continue; } 65 ... 90 => { - __current_match = Some((26, __index + __ch.len_utf8())); - __current_state = 28; + __current_match = Some((27, __index + __ch.len_utf8())); + __current_state = 29; continue; } 95 => /* '_' */ { - __current_match = Some((26, __index + 1)); - __current_state = 28; + __current_match = Some((27, __index + 1)); + __current_state = 29; continue; } 97 ... 115 => { - __current_match = Some((26, __index + __ch.len_utf8())); - __current_state = 28; + __current_match = Some((27, __index + __ch.len_utf8())); + __current_state = 29; continue; } 116 => /* 't' */ { __current_match = Some((20, __index + 1)); - __current_state = 79; + __current_state = 83; continue; } 117 ... 122 => { - __current_match = Some((26, __index + __ch.len_utf8())); - __current_state = 28; + __current_match = Some((27, __index + __ch.len_utf8())); + __current_state = 29; continue; } _ => { @@ -22708,37 +26264,37 @@ mod __intern_token { } } } - 73 => { + 77 => { let (__index, __ch) = match __chars.next() { Some(p) => p, None => return __current_match }; match __ch as u32 { 48 ... 57 => { - __current_match = Some((26, __index + __ch.len_utf8())); - __current_state = 28; + __current_match = Some((27, __index + __ch.len_utf8())); + __current_state = 29; continue; } 65 ... 90 => { - __current_match = Some((26, __index + __ch.len_utf8())); - __current_state = 28; + __current_match = Some((27, __index + __ch.len_utf8())); + __current_state = 29; continue; } 95 => /* '_' */ { - __current_match = Some((26, __index + 1)); - __current_state = 28; + __current_match = Some((27, __index + 1)); + __current_state = 29; continue; } 97 ... 100 => { - __current_match = Some((26, __index + __ch.len_utf8())); - __current_state = 28; + __current_match = Some((27, __index + __ch.len_utf8())); + __current_state = 29; continue; } 101 => /* 'e' */ { - __current_match = Some((26, __index + 1)); - __current_state = 80; + __current_match = Some((27, __index + 1)); + __current_state = 84; continue; } 102 ... 122 => { - __current_match = Some((26, __index + __ch.len_utf8())); - __current_state = 28; + __current_match = Some((27, __index + __ch.len_utf8())); + __current_state = 29; continue; } _ => { @@ -22746,37 +26302,37 @@ mod __intern_token { } } } - 74 => { + 78 => { let (__index, __ch) = match __chars.next() { Some(p) => p, None => return __current_match }; match __ch as u32 { 48 ... 57 => { - __current_match = Some((26, __index + __ch.len_utf8())); - __current_state = 28; + __current_match = Some((27, __index + __ch.len_utf8())); + __current_state = 29; continue; } 65 ... 90 => { - __current_match = Some((26, __index + __ch.len_utf8())); - __current_state = 28; + __current_match = Some((27, __index + __ch.len_utf8())); + __current_state = 29; continue; } 95 => /* '_' */ { - __current_match = Some((26, __index + 1)); - __current_state = 28; + __current_match = Some((27, __index + 1)); + __current_state = 29; continue; } 97 ... 108 => { - __current_match = Some((26, __index + __ch.len_utf8())); - __current_state = 28; + __current_match = Some((27, __index + __ch.len_utf8())); + __current_state = 29; continue; } 109 => /* 'm' */ { __current_match = Some((22, __index + 1)); - __current_state = 81; + __current_state = 85; continue; } 110 ... 122 => { - __current_match = Some((26, __index + __ch.len_utf8())); - __current_state = 28; + __current_match = Some((27, __index + __ch.len_utf8())); + __current_state = 29; continue; } _ => { @@ -22784,37 +26340,37 @@ mod __intern_token { } } } - 75 => { + 79 => { let (__index, __ch) = match __chars.next() { Some(p) => p, None => return __current_match }; match __ch as u32 { 48 ... 57 => { - __current_match = Some((26, __index + __ch.len_utf8())); - __current_state = 28; + __current_match = Some((27, __index + __ch.len_utf8())); + __current_state = 29; continue; } 65 ... 90 => { - __current_match = Some((26, __index + __ch.len_utf8())); - __current_state = 28; + __current_match = Some((27, __index + __ch.len_utf8())); + __current_state = 29; continue; } 95 => /* '_' */ { - __current_match = Some((26, __index + 1)); - __current_state = 28; + __current_match = Some((27, __index + 1)); + __current_state = 29; continue; } 97 ... 115 => { - __current_match = Some((26, __index + __ch.len_utf8())); - __current_state = 28; + __current_match = Some((27, __index + __ch.len_utf8())); + __current_state = 29; continue; } 116 => /* 't' */ { __current_match = Some((11, __index + 1)); - __current_state = 82; + __current_state = 86; continue; } 117 ... 122 => { - __current_match = Some((26, __index + __ch.len_utf8())); - __current_state = 28; + __current_match = Some((27, __index + __ch.len_utf8())); + __current_state = 29; continue; } _ => { @@ -22822,37 +26378,37 @@ mod __intern_token { } } } - 76 => { + 80 => { let (__index, __ch) = match __chars.next() { Some(p) => p, None => return __current_match }; match __ch as u32 { 48 ... 57 => { - __current_match = Some((26, __index + __ch.len_utf8())); - __current_state = 28; + __current_match = Some((27, __index + __ch.len_utf8())); + __current_state = 29; continue; } 65 ... 90 => { - __current_match = Some((26, __index + __ch.len_utf8())); - __current_state = 28; + __current_match = Some((27, __index + __ch.len_utf8())); + __current_state = 29; continue; } 95 => /* '_' */ { - __current_match = Some((26, __index + 1)); - __current_state = 28; + __current_match = Some((27, __index + 1)); + __current_state = 29; continue; } 97 ... 109 => { - __current_match = Some((26, __index + __ch.len_utf8())); - __current_state = 28; + __current_match = Some((27, __index + __ch.len_utf8())); + __current_state = 29; continue; } 110 => /* 'n' */ { - __current_match = Some((26, __index + 1)); - __current_state = 83; + __current_match = Some((27, __index + 1)); + __current_state = 87; continue; } 111 ... 122 => { - __current_match = Some((26, __index + __ch.len_utf8())); - __current_state = 28; + __current_match = Some((27, __index + __ch.len_utf8())); + __current_state = 29; continue; } _ => { @@ -22860,37 +26416,37 @@ mod __intern_token { } } } - 77 => { + 81 => { let (__index, __ch) = match __chars.next() { Some(p) => p, None => return __current_match }; match __ch as u32 { 48 ... 57 => { - __current_match = Some((26, __index + __ch.len_utf8())); - __current_state = 28; + __current_match = Some((27, __index + __ch.len_utf8())); + __current_state = 29; continue; } 65 ... 90 => { - __current_match = Some((26, __index + __ch.len_utf8())); - __current_state = 28; + __current_match = Some((27, __index + __ch.len_utf8())); + __current_state = 29; continue; } 95 => /* '_' */ { - __current_match = Some((26, __index + 1)); - __current_state = 28; + __current_match = Some((27, __index + 1)); + __current_state = 29; continue; } 97 ... 115 => { - __current_match = Some((26, __index + __ch.len_utf8())); - __current_state = 28; + __current_match = Some((27, __index + __ch.len_utf8())); + __current_state = 29; continue; } 116 => /* 't' */ { - __current_match = Some((26, __index + 1)); - __current_state = 84; + __current_match = Some((27, __index + 1)); + __current_state = 88; continue; } 117 ... 122 => { - __current_match = Some((26, __index + __ch.len_utf8())); - __current_state = 28; + __current_match = Some((27, __index + __ch.len_utf8())); + __current_state = 29; continue; } _ => { @@ -22898,37 +26454,37 @@ mod __intern_token { } } } - 78 => { + 82 => { let (__index, __ch) = match __chars.next() { Some(p) => p, None => return __current_match }; match __ch as u32 { 48 ... 57 => { - __current_match = Some((26, __index + __ch.len_utf8())); - __current_state = 28; + __current_match = Some((27, __index + __ch.len_utf8())); + __current_state = 29; continue; } 65 ... 90 => { - __current_match = Some((26, __index + __ch.len_utf8())); - __current_state = 28; + __current_match = Some((27, __index + __ch.len_utf8())); + __current_state = 29; continue; } 95 => /* '_' */ { - __current_match = Some((26, __index + 1)); - __current_state = 28; + __current_match = Some((27, __index + 1)); + __current_state = 29; continue; } 97 ... 110 => { - __current_match = Some((26, __index + __ch.len_utf8())); - __current_state = 28; + __current_match = Some((27, __index + __ch.len_utf8())); + __current_state = 29; continue; } 111 => /* 'o' */ { - __current_match = Some((26, __index + 1)); - __current_state = 85; + __current_match = Some((27, __index + 1)); + __current_state = 89; continue; } 112 ... 122 => { - __current_match = Some((26, __index + __ch.len_utf8())); - __current_state = 28; + __current_match = Some((27, __index + __ch.len_utf8())); + __current_state = 29; continue; } _ => { @@ -22936,27 +26492,27 @@ mod __intern_token { } } } - 79 => { + 83 => { let (__index, __ch) = match __chars.next() { Some(p) => p, None => return __current_match }; match __ch as u32 { 48 ... 57 => { - __current_match = Some((26, __index + __ch.len_utf8())); - __current_state = 28; + __current_match = Some((27, __index + __ch.len_utf8())); + __current_state = 29; continue; } 65 ... 90 => { - __current_match = Some((26, __index + __ch.len_utf8())); - __current_state = 28; + __current_match = Some((27, __index + __ch.len_utf8())); + __current_state = 29; continue; } 95 => /* '_' */ { - __current_match = Some((26, __index + 1)); - __current_state = 28; + __current_match = Some((27, __index + 1)); + __current_state = 29; continue; } 97 ... 122 => { - __current_match = Some((26, __index + __ch.len_utf8())); - __current_state = 28; + __current_match = Some((27, __index + __ch.len_utf8())); + __current_state = 29; continue; } _ => { @@ -22964,37 +26520,37 @@ mod __intern_token { } } } - 80 => { + 84 => { let (__index, __ch) = match __chars.next() { Some(p) => p, None => return __current_match }; match __ch as u32 { 48 ... 57 => { - __current_match = Some((26, __index + __ch.len_utf8())); - __current_state = 28; + __current_match = Some((27, __index + __ch.len_utf8())); + __current_state = 29; continue; } 65 ... 90 => { - __current_match = Some((26, __index + __ch.len_utf8())); - __current_state = 28; + __current_match = Some((27, __index + __ch.len_utf8())); + __current_state = 29; continue; } 95 => /* '_' */ { - __current_match = Some((26, __index + 1)); - __current_state = 28; + __current_match = Some((27, __index + 1)); + __current_state = 29; continue; } 97 ... 115 => { - __current_match = Some((26, __index + __ch.len_utf8())); - __current_state = 28; + __current_match = Some((27, __index + __ch.len_utf8())); + __current_state = 29; continue; } 116 => /* 't' */ { - __current_match = Some((26, __index + 1)); - __current_state = 86; + __current_match = Some((27, __index + 1)); + __current_state = 90; continue; } 117 ... 122 => { - __current_match = Some((26, __index + __ch.len_utf8())); - __current_state = 28; + __current_match = Some((27, __index + __ch.len_utf8())); + __current_state = 29; continue; } _ => { @@ -23002,27 +26558,27 @@ mod __intern_token { } } } - 81 => { + 85 => { let (__index, __ch) = match __chars.next() { Some(p) => p, None => return __current_match }; match __ch as u32 { 48 ... 57 => { - __current_match = Some((26, __index + __ch.len_utf8())); - __current_state = 28; + __current_match = Some((27, __index + __ch.len_utf8())); + __current_state = 29; continue; } 65 ... 90 => { - __current_match = Some((26, __index + __ch.len_utf8())); - __current_state = 28; + __current_match = Some((27, __index + __ch.len_utf8())); + __current_state = 29; continue; } 95 => /* '_' */ { - __current_match = Some((26, __index + 1)); - __current_state = 28; + __current_match = Some((27, __index + 1)); + __current_state = 29; continue; } 97 ... 122 => { - __current_match = Some((26, __index + __ch.len_utf8())); - __current_state = 28; + __current_match = Some((27, __index + __ch.len_utf8())); + __current_state = 29; continue; } _ => { @@ -23030,27 +26586,27 @@ mod __intern_token { } } } - 82 => { + 86 => { let (__index, __ch) = match __chars.next() { Some(p) => p, None => return __current_match }; match __ch as u32 { 48 ... 57 => { - __current_match = Some((26, __index + __ch.len_utf8())); - __current_state = 28; + __current_match = Some((27, __index + __ch.len_utf8())); + __current_state = 29; continue; } 65 ... 90 => { - __current_match = Some((26, __index + __ch.len_utf8())); - __current_state = 28; + __current_match = Some((27, __index + __ch.len_utf8())); + __current_state = 29; continue; } 95 => /* '_' */ { - __current_match = Some((26, __index + 1)); - __current_state = 28; + __current_match = Some((27, __index + 1)); + __current_state = 29; continue; } 97 ... 122 => { - __current_match = Some((26, __index + __ch.len_utf8())); - __current_state = 28; + __current_match = Some((27, __index + __ch.len_utf8())); + __current_state = 29; continue; } _ => { @@ -23058,37 +26614,37 @@ mod __intern_token { } } } - 83 => { + 87 => { let (__index, __ch) = match __chars.next() { Some(p) => p, None => return __current_match }; match __ch as u32 { 48 ... 57 => { - __current_match = Some((26, __index + __ch.len_utf8())); - __current_state = 28; + __current_match = Some((27, __index + __ch.len_utf8())); + __current_state = 29; continue; } 65 ... 90 => { - __current_match = Some((26, __index + __ch.len_utf8())); - __current_state = 28; + __current_match = Some((27, __index + __ch.len_utf8())); + __current_state = 29; continue; } 95 => /* '_' */ { - __current_match = Some((26, __index + 1)); - __current_state = 28; + __current_match = Some((27, __index + 1)); + __current_state = 29; continue; } 97 ... 115 => { - __current_match = Some((26, __index + __ch.len_utf8())); - __current_state = 28; + __current_match = Some((27, __index + __ch.len_utf8())); + __current_state = 29; continue; } 116 => /* 't' */ { __current_match = Some((12, __index + 1)); - __current_state = 87; + __current_state = 91; continue; } 117 ... 122 => { - __current_match = Some((26, __index + __ch.len_utf8())); - __current_state = 28; + __current_match = Some((27, __index + __ch.len_utf8())); + __current_state = 29; continue; } _ => { @@ -23096,37 +26652,37 @@ mod __intern_token { } } } - 84 => { + 88 => { let (__index, __ch) = match __chars.next() { Some(p) => p, None => return __current_match }; match __ch as u32 { 48 ... 57 => { - __current_match = Some((26, __index + __ch.len_utf8())); - __current_state = 28; + __current_match = Some((27, __index + __ch.len_utf8())); + __current_state = 29; continue; } 65 ... 90 => { - __current_match = Some((26, __index + __ch.len_utf8())); - __current_state = 28; + __current_match = Some((27, __index + __ch.len_utf8())); + __current_state = 29; continue; } 95 => /* '_' */ { - __current_match = Some((26, __index + 1)); - __current_state = 28; + __current_match = Some((27, __index + 1)); + __current_state = 29; continue; } 97 ... 100 => { - __current_match = Some((26, __index + __ch.len_utf8())); - __current_state = 28; + __current_match = Some((27, __index + __ch.len_utf8())); + __current_state = 29; continue; } 101 => /* 'e' */ { __current_match = Some((14, __index + 1)); - __current_state = 88; + __current_state = 92; continue; } 102 ... 122 => { - __current_match = Some((26, __index + __ch.len_utf8())); - __current_state = 28; + __current_match = Some((27, __index + __ch.len_utf8())); + __current_state = 29; continue; } _ => { @@ -23134,37 +26690,37 @@ mod __intern_token { } } } - 85 => { + 89 => { let (__index, __ch) = match __chars.next() { Some(p) => p, None => return __current_match }; match __ch as u32 { 48 ... 57 => { - __current_match = Some((26, __index + __ch.len_utf8())); - __current_state = 28; + __current_match = Some((27, __index + __ch.len_utf8())); + __current_state = 29; continue; } 65 ... 90 => { - __current_match = Some((26, __index + __ch.len_utf8())); - __current_state = 28; + __current_match = Some((27, __index + __ch.len_utf8())); + __current_state = 29; continue; } 95 => /* '_' */ { - __current_match = Some((26, __index + 1)); - __current_state = 28; + __current_match = Some((27, __index + 1)); + __current_state = 29; continue; } 97 ... 109 => { - __current_match = Some((26, __index + __ch.len_utf8())); - __current_state = 28; + __current_match = Some((27, __index + __ch.len_utf8())); + __current_state = 29; continue; } 110 => /* 'n' */ { __current_match = Some((16, __index + 1)); - __current_state = 89; + __current_state = 93; continue; } 111 ... 122 => { - __current_match = Some((26, __index + __ch.len_utf8())); - __current_state = 28; + __current_match = Some((27, __index + __ch.len_utf8())); + __current_state = 29; continue; } _ => { @@ -23172,37 +26728,37 @@ mod __intern_token { } } } - 86 => { + 90 => { let (__index, __ch) = match __chars.next() { Some(p) => p, None => return __current_match }; match __ch as u32 { 48 ... 57 => { - __current_match = Some((26, __index + __ch.len_utf8())); - __current_state = 28; + __current_match = Some((27, __index + __ch.len_utf8())); + __current_state = 29; continue; } 65 ... 90 => { - __current_match = Some((26, __index + __ch.len_utf8())); - __current_state = 28; + __current_match = Some((27, __index + __ch.len_utf8())); + __current_state = 29; continue; } 95 => /* '_' */ { - __current_match = Some((26, __index + 1)); - __current_state = 28; + __current_match = Some((27, __index + 1)); + __current_state = 29; continue; } 97 ... 100 => { - __current_match = Some((26, __index + __ch.len_utf8())); - __current_state = 28; + __current_match = Some((27, __index + __ch.len_utf8())); + __current_state = 29; continue; } 101 => /* 'e' */ { - __current_match = Some((26, __index + 1)); - __current_state = 90; + __current_match = Some((27, __index + 1)); + __current_state = 94; continue; } 102 ... 122 => { - __current_match = Some((26, __index + __ch.len_utf8())); - __current_state = 28; + __current_match = Some((27, __index + __ch.len_utf8())); + __current_state = 29; continue; } _ => { @@ -23210,27 +26766,27 @@ mod __intern_token { } } } - 87 => { + 91 => { let (__index, __ch) = match __chars.next() { Some(p) => p, None => return __current_match }; match __ch as u32 { 48 ... 57 => { - __current_match = Some((26, __index + __ch.len_utf8())); - __current_state = 28; + __current_match = Some((27, __index + __ch.len_utf8())); + __current_state = 29; continue; } 65 ... 90 => { - __current_match = Some((26, __index + __ch.len_utf8())); - __current_state = 28; + __current_match = Some((27, __index + __ch.len_utf8())); + __current_state = 29; continue; } 95 => /* '_' */ { - __current_match = Some((26, __index + 1)); - __current_state = 28; + __current_match = Some((27, __index + 1)); + __current_state = 29; continue; } 97 ... 122 => { - __current_match = Some((26, __index + __ch.len_utf8())); - __current_state = 28; + __current_match = Some((27, __index + __ch.len_utf8())); + __current_state = 29; continue; } _ => { @@ -23238,27 +26794,27 @@ mod __intern_token { } } } - 88 => { + 92 => { let (__index, __ch) = match __chars.next() { Some(p) => p, None => return __current_match }; match __ch as u32 { 48 ... 57 => { - __current_match = Some((26, __index + __ch.len_utf8())); - __current_state = 28; + __current_match = Some((27, __index + __ch.len_utf8())); + __current_state = 29; continue; } 65 ... 90 => { - __current_match = Some((26, __index + __ch.len_utf8())); - __current_state = 28; + __current_match = Some((27, __index + __ch.len_utf8())); + __current_state = 29; continue; } 95 => /* '_' */ { - __current_match = Some((26, __index + 1)); - __current_state = 28; + __current_match = Some((27, __index + 1)); + __current_state = 29; continue; } 97 ... 122 => { - __current_match = Some((26, __index + __ch.len_utf8())); - __current_state = 28; + __current_match = Some((27, __index + __ch.len_utf8())); + __current_state = 29; continue; } _ => { @@ -23266,27 +26822,27 @@ mod __intern_token { } } } - 89 => { + 93 => { let (__index, __ch) = match __chars.next() { Some(p) => p, None => return __current_match }; match __ch as u32 { 48 ... 57 => { - __current_match = Some((26, __index + __ch.len_utf8())); - __current_state = 28; + __current_match = Some((27, __index + __ch.len_utf8())); + __current_state = 29; continue; } 65 ... 90 => { - __current_match = Some((26, __index + __ch.len_utf8())); - __current_state = 28; + __current_match = Some((27, __index + __ch.len_utf8())); + __current_state = 29; continue; } 95 => /* '_' */ { - __current_match = Some((26, __index + 1)); - __current_state = 28; + __current_match = Some((27, __index + 1)); + __current_state = 29; continue; } 97 ... 122 => { - __current_match = Some((26, __index + __ch.len_utf8())); - __current_state = 28; + __current_match = Some((27, __index + __ch.len_utf8())); + __current_state = 29; continue; } _ => { @@ -23294,37 +26850,37 @@ mod __intern_token { } } } - 90 => { + 94 => { let (__index, __ch) = match __chars.next() { Some(p) => p, None => return __current_match }; match __ch as u32 { 48 ... 57 => { - __current_match = Some((26, __index + __ch.len_utf8())); - __current_state = 28; + __current_match = Some((27, __index + __ch.len_utf8())); + __current_state = 29; continue; } 65 ... 90 => { - __current_match = Some((26, __index + __ch.len_utf8())); - __current_state = 28; + __current_match = Some((27, __index + __ch.len_utf8())); + __current_state = 29; continue; } 95 => /* '_' */ { - __current_match = Some((26, __index + 1)); - __current_state = 28; + __current_match = Some((27, __index + 1)); + __current_state = 29; continue; } 97 ... 113 => { - __current_match = Some((26, __index + __ch.len_utf8())); - __current_state = 28; + __current_match = Some((27, __index + __ch.len_utf8())); + __current_state = 29; continue; } 114 => /* 'r' */ { __current_match = Some((21, __index + 1)); - __current_state = 91; + __current_state = 95; continue; } 115 ... 122 => { - __current_match = Some((26, __index + __ch.len_utf8())); - __current_state = 28; + __current_match = Some((27, __index + __ch.len_utf8())); + __current_state = 29; continue; } _ => { @@ -23332,27 +26888,27 @@ mod __intern_token { } } } - 91 => { + 95 => { let (__index, __ch) = match __chars.next() { Some(p) => p, None => return __current_match }; match __ch as u32 { 48 ... 57 => { - __current_match = Some((26, __index + __ch.len_utf8())); - __current_state = 28; + __current_match = Some((27, __index + __ch.len_utf8())); + __current_state = 29; continue; } 65 ... 90 => { - __current_match = Some((26, __index + __ch.len_utf8())); - __current_state = 28; + __current_match = Some((27, __index + __ch.len_utf8())); + __current_state = 29; continue; } 95 => /* '_' */ { - __current_match = Some((26, __index + 1)); - __current_state = 28; + __current_match = Some((27, __index + 1)); + __current_state = 29; continue; } 97 ... 122 => { - __current_match = Some((26, __index + __ch.len_utf8())); - __current_state = 28; + __current_match = Some((27, __index + __ch.len_utf8())); + __current_state = 29; continue; } _ => { @@ -23513,14 +27069,11 @@ pub fn __action9< 'input, >( input: &'input str, - (_, 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 + (_, value, _): (usize, Expr, usize), +) -> Expr { - Component { prefix:prefix, specifier:specifier, name:name} + value } #[allow(unused_variables)] @@ -23528,20 +27081,35 @@ pub fn __action10< 'input, >( input: &'input str, + (_, _, _): (usize, &'input str, usize), + (_, _, _): (usize, &'input str, usize), + (_, _, _): (usize, &'input str, usize), + (_, units, _): (usize, String, usize), + (_, _, _): (usize, &'input str, usize), +) -> String +{ + units +} + +#[allow(unused_variables)] +pub fn __action11< + 'input, +>( + input: &'input str, (_, prefix, _): (usize, ::std::option::Option<ComponentPrefix>, usize), (_, specifier, _): (usize, String, usize), (_, name, _): (usize, String, usize), - (_, _, _): (usize, &'input str, usize), - (_, value, _): (usize, Expr, usize), - (_, _, _): (usize, ::std::option::Option<String>, usize), + (_, units, _): (usize, ::std::option::Option<String>, usize), + (_, value, _): (usize, ::std::option::Option<Expr>, usize), + (_, desc, _): (usize, ::std::option::Option<String>, usize), (_, _, _): (usize, &'input str, usize), ) -> Component { - Component { prefix:prefix, specifier:specifier, name:name} + Component { prefix:prefix, specifier:specifier, name:name, description:desc, value:value, units:units } } #[allow(unused_variables)] -pub fn __action11< +pub fn __action12< 'input, >( input: &'input str, @@ -23552,7 +27120,7 @@ pub fn __action11< } #[allow(unused_variables)] -pub fn __action12< +pub fn __action13< 'input, >( input: &'input str, @@ -23563,7 +27131,7 @@ pub fn __action12< } #[allow(unused_variables)] -pub fn __action13< +pub fn __action14< 'input, >( input: &'input str, @@ -23574,7 +27142,7 @@ pub fn __action13< } #[allow(unused_variables)] -pub fn __action14< +pub fn __action15< 'input, >( input: &'input str, @@ -23585,7 +27153,7 @@ pub fn __action14< } #[allow(unused_variables)] -pub fn __action15< +pub fn __action16< 'input, >( input: &'input str, @@ -23596,7 +27164,7 @@ pub fn __action15< } #[allow(unused_variables)] -pub fn __action16< +pub fn __action17< 'input, >( input: &'input str, @@ -23607,7 +27175,7 @@ pub fn __action16< } #[allow(unused_variables)] -pub fn __action17< +pub fn __action18< 'input, >( input: &'input str, @@ -23618,7 +27186,7 @@ pub fn __action17< } #[allow(unused_variables)] -pub fn __action18< +pub fn __action19< 'input, >( input: &'input str, @@ -23632,7 +27200,7 @@ pub fn __action18< } #[allow(unused_variables)] -pub fn __action19< +pub fn __action20< 'input, >( input: &'input str, @@ -23649,7 +27217,7 @@ pub fn __action19< } #[allow(unused_variables)] -pub fn __action20< +pub fn __action21< 'input, >( input: &'input str, @@ -23662,7 +27230,7 @@ pub fn __action20< } #[allow(unused_variables)] -pub fn __action21< +pub fn __action22< 'input, >( input: &'input str, @@ -23675,7 +27243,7 @@ pub fn __action21< } #[allow(unused_variables)] -pub fn __action22< +pub fn __action23< 'input, >( input: &'input str, @@ -23686,7 +27254,7 @@ pub fn __action22< } #[allow(unused_variables)] -pub fn __action23< +pub fn __action24< 'input, >( input: &'input str, @@ -23699,7 +27267,7 @@ pub fn __action23< } #[allow(unused_variables)] -pub fn __action24< +pub fn __action25< 'input, >( input: &'input str, @@ -23712,7 +27280,7 @@ pub fn __action24< } #[allow(unused_variables)] -pub fn __action25< +pub fn __action26< 'input, >( input: &'input str, @@ -23725,7 +27293,7 @@ pub fn __action25< } #[allow(unused_variables)] -pub fn __action26< +pub fn __action27< 'input, >( input: &'input str, @@ -23737,7 +27305,7 @@ pub fn __action26< } #[allow(unused_variables)] -pub fn __action27< +pub fn __action28< 'input, >( input: &'input str, @@ -23748,7 +27316,7 @@ pub fn __action27< } #[allow(unused_variables)] -pub fn __action28< +pub fn __action29< 'input, >( input: &'input str, @@ -23759,7 +27327,7 @@ pub fn __action28< } #[allow(unused_variables)] -pub fn __action29< +pub fn __action30< 'input, >( input: &'input str, @@ -23770,7 +27338,7 @@ pub fn __action29< } #[allow(unused_variables)] -pub fn __action30< +pub fn __action31< 'input, >( input: &'input str, @@ -23781,7 +27349,7 @@ pub fn __action30< } #[allow(unused_variables)] -pub fn __action31< +pub fn __action32< 'input, >( input: &'input str, @@ -23795,7 +27363,7 @@ pub fn __action31< } #[allow(unused_variables)] -pub fn __action32< +pub fn __action33< 'input, >( input: &'input str, @@ -23809,7 +27377,7 @@ pub fn __action32< } #[allow(unused_variables)] -pub fn __action33< +pub fn __action34< 'input, >( input: &'input str, @@ -23822,7 +27390,7 @@ pub fn __action33< } #[allow(unused_variables)] -pub fn __action34< +pub fn __action35< 'input, >( input: &'input str, @@ -23833,7 +27401,7 @@ pub fn __action34< } #[allow(unused_variables)] -pub fn __action35< +pub fn __action36< 'input, >( input: &'input str, @@ -23845,7 +27413,53 @@ pub fn __action35< } #[allow(unused_variables)] -pub fn __action36< +pub fn __action37< + 'input, +>( + input: &'input str, + (_, __0, _): (usize, Expr, usize), +) -> ::std::option::Option<Expr> +{ + Some(__0) +} + +#[allow(unused_variables)] +pub fn __action38< + 'input, +>( + input: &'input str, + __lookbehind: &usize, + __lookahead: &usize, +) -> ::std::option::Option<Expr> +{ + None +} + +#[allow(unused_variables)] +pub fn __action39< + 'input, +>( + input: &'input str, + (_, __0, _): (usize, String, usize), +) -> ::std::option::Option<String> +{ + Some(__0) +} + +#[allow(unused_variables)] +pub fn __action40< + 'input, +>( + input: &'input str, + __lookbehind: &usize, + __lookahead: &usize, +) -> ::std::option::Option<String> +{ + None +} + +#[allow(unused_variables)] +pub fn __action41< 'input, >( input: &'input str, @@ -23856,7 +27470,7 @@ pub fn __action36< } #[allow(unused_variables)] -pub fn __action37< +pub fn __action42< 'input, >( input: &'input str, @@ -23868,7 +27482,7 @@ pub fn __action37< } #[allow(unused_variables)] -pub fn __action38< +pub fn __action43< 'input, >( input: &'input str, @@ -23880,7 +27494,7 @@ pub fn __action38< } #[allow(unused_variables)] -pub fn __action39< +pub fn __action44< 'input, >( input: &'input str, @@ -23891,7 +27505,7 @@ pub fn __action39< } #[allow(unused_variables)] -pub fn __action40< +pub fn __action45< 'input, >( input: &'input str, @@ -23903,7 +27517,7 @@ pub fn __action40< } #[allow(unused_variables)] -pub fn __action41< +pub fn __action46< 'input, >( input: &'input str, @@ -23914,7 +27528,7 @@ pub fn __action41< } #[allow(unused_variables)] -pub fn __action42< +pub fn __action47< 'input, >( input: &'input str, @@ -23926,7 +27540,7 @@ pub fn __action42< } #[allow(unused_variables)] -pub fn __action43< +pub fn __action48< 'input, >( input: &'input str, @@ -23937,7 +27551,7 @@ pub fn __action43< } #[allow(unused_variables)] -pub fn __action44< +pub fn __action49< 'input, >( input: &'input str, @@ -23948,7 +27562,7 @@ pub fn __action44< } #[allow(unused_variables)] -pub fn __action45< +pub fn __action50< 'input, >( input: &'input str, @@ -23960,7 +27574,7 @@ pub fn __action45< } #[allow(unused_variables)] -pub fn __action46< +pub fn __action51< 'input, >( input: &'input str, @@ -23971,7 +27585,7 @@ pub fn __action46< } #[allow(unused_variables)] -pub fn __action47< +pub fn __action52< 'input, >( input: &'input str, @@ -23983,7 +27597,7 @@ pub fn __action47< } #[allow(unused_variables)] -pub fn __action48< +pub fn __action53< 'input, >( input: &'input str, @@ -23994,7 +27608,7 @@ pub fn __action48< } #[allow(unused_variables)] -pub fn __action49< +pub fn __action54< 'input, >( input: &'input str, @@ -24006,7 +27620,7 @@ pub fn __action49< } #[allow(unused_variables)] -pub fn __action50< +pub fn __action55< 'input, >( input: &'input str, @@ -24022,7 +27636,7 @@ pub fn __action50< { let __start0 = __1.2.clone(); let __end0 = __2.0.clone(); - let __temp0 = __action42( + let __temp0 = __action47( input, &__start0, &__end0, @@ -24043,7 +27657,7 @@ pub fn __action50< } #[allow(unused_variables)] -pub fn __action51< +pub fn __action56< 'input, >( input: &'input str, @@ -24060,7 +27674,7 @@ pub fn __action51< { let __start0 = __2.0.clone(); let __end0 = __2.2.clone(); - let __temp0 = __action43( + let __temp0 = __action48( input, __2, ); @@ -24080,7 +27694,7 @@ pub fn __action51< } #[allow(unused_variables)] -pub fn __action52< +pub fn __action57< 'input, >( input: &'input str, @@ -24088,77 +27702,19 @@ pub fn __action52< __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 = __action36( - input, - __0, - ); - let __temp0 = (__start0, __temp0, __end0); - __action9( - input, - __temp0, - __1, - __2, - __3, - __4, - ) -} - -#[allow(unused_variables)] -pub fn __action53< - '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 = __action37( - input, - &__start0, - &__end0, - ); - let __temp0 = (__start0, __temp0, __end0); - __action9( - input, - __temp0, - __0, - __1, - __2, - __3, - ) -} - -#[allow(unused_variables)] -pub fn __action54< - 'input, ->( - input: &'input str, - __0: (usize, ComponentPrefix, usize), - __1: (usize, String, usize), - __2: (usize, String, usize), - __3: (usize, &'input str, usize), - __4: (usize, Expr, usize), + __4: (usize, ::std::option::Option<Expr>, usize), __5: (usize, ::std::option::Option<String>, usize), __6: (usize, &'input str, usize), ) -> Component { let __start0 = __0.0.clone(); let __end0 = __0.2.clone(); - let __temp0 = __action36( + let __temp0 = __action41( input, __0, ); let __temp0 = (__start0, __temp0, __end0); - __action10( + __action11( input, __temp0, __1, @@ -24171,27 +27727,27 @@ pub fn __action54< } #[allow(unused_variables)] -pub fn __action55< +pub fn __action58< 'input, >( input: &'input str, __0: (usize, String, usize), __1: (usize, String, usize), - __2: (usize, &'input str, usize), - __3: (usize, Expr, usize), + __2: (usize, ::std::option::Option<String>, usize), + __3: (usize, ::std::option::Option<Expr>, usize), __4: (usize, ::std::option::Option<String>, usize), __5: (usize, &'input str, usize), ) -> Component { let __start0 = __0.0.clone(); let __end0 = __0.0.clone(); - let __temp0 = __action37( + let __temp0 = __action42( input, &__start0, &__end0, ); let __temp0 = (__start0, __temp0, __end0); - __action10( + __action11( input, __temp0, __0, @@ -24204,7 +27760,7 @@ pub fn __action55< } #[allow(unused_variables)] -pub fn __action56< +pub fn __action59< 'input, >( input: &'input str, @@ -24219,13 +27775,13 @@ pub fn __action56< { let __start0 = __2.2.clone(); let __end0 = __3.0.clone(); - let __temp0 = __action40( + let __temp0 = __action45( input, &__start0, &__end0, ); let __temp0 = (__start0, __temp0, __end0); - __action50( + __action55( input, __0, __1, @@ -24239,7 +27795,7 @@ pub fn __action56< } #[allow(unused_variables)] -pub fn __action57< +pub fn __action60< 'input, >( input: &'input str, @@ -24255,12 +27811,12 @@ pub fn __action57< { let __start0 = __3.0.clone(); let __end0 = __3.2.clone(); - let __temp0 = __action41( + let __temp0 = __action46( input, __3, ); let __temp0 = (__start0, __temp0, __end0); - __action50( + __action55( input, __0, __1, @@ -24274,7 +27830,7 @@ pub fn __action57< } #[allow(unused_variables)] -pub fn __action58< +pub fn __action61< 'input, >( input: &'input str, @@ -24290,13 +27846,13 @@ pub fn __action58< { let __start0 = __3.2.clone(); let __end0 = __4.0.clone(); - let __temp0 = __action40( + let __temp0 = __action45( input, &__start0, &__end0, ); let __temp0 = (__start0, __temp0, __end0); - __action51( + __action56( input, __0, __1, @@ -24311,7 +27867,7 @@ pub fn __action58< } #[allow(unused_variables)] -pub fn __action59< +pub fn __action62< 'input, >( input: &'input str, @@ -24328,12 +27884,12 @@ pub fn __action59< { let __start0 = __4.0.clone(); let __end0 = __4.2.clone(); - let __temp0 = __action41( + let __temp0 = __action46( input, __4, ); let __temp0 = (__start0, __temp0, __end0); - __action51( + __action56( input, __0, __1, @@ -24348,7 +27904,7 @@ pub fn __action59< } #[allow(unused_variables)] -pub fn __action60< +pub fn __action63< 'input, >( input: &'input str, @@ -24362,13 +27918,13 @@ pub fn __action60< { let __start0 = __2.2.clone(); let __end0 = __3.0.clone(); - let __temp0 = __action38( + let __temp0 = __action43( input, &__start0, &__end0, ); let __temp0 = (__start0, __temp0, __end0); - __action56( + __action59( input, __0, __1, @@ -24381,7 +27937,7 @@ pub fn __action60< } #[allow(unused_variables)] -pub fn __action61< +pub fn __action64< 'input, >( input: &'input str, @@ -24396,12 +27952,12 @@ pub fn __action61< { let __start0 = __3.0.clone(); let __end0 = __3.2.clone(); - let __temp0 = __action39( + let __temp0 = __action44( input, __3, ); let __temp0 = (__start0, __temp0, __end0); - __action56( + __action59( input, __0, __1, @@ -24414,7 +27970,7 @@ pub fn __action61< } #[allow(unused_variables)] -pub fn __action62< +pub fn __action65< 'input, >( input: &'input str, @@ -24429,13 +27985,13 @@ pub fn __action62< { let __start0 = __3.2.clone(); let __end0 = __4.0.clone(); - let __temp0 = __action38( + let __temp0 = __action43( input, &__start0, &__end0, ); let __temp0 = (__start0, __temp0, __end0); - __action57( + __action60( input, __0, __1, @@ -24449,7 +28005,7 @@ pub fn __action62< } #[allow(unused_variables)] -pub fn __action63< +pub fn __action66< 'input, >( input: &'input str, @@ -24465,12 +28021,12 @@ pub fn __action63< { let __start0 = __4.0.clone(); let __end0 = __4.2.clone(); - let __temp0 = __action39( + let __temp0 = __action44( input, __4, ); let __temp0 = (__start0, __temp0, __end0); - __action57( + __action60( input, __0, __1, @@ -24484,7 +28040,7 @@ pub fn __action63< } #[allow(unused_variables)] -pub fn __action64< +pub fn __action67< 'input, >( input: &'input str, @@ -24499,13 +28055,13 @@ pub fn __action64< { let __start0 = __3.2.clone(); let __end0 = __4.0.clone(); - let __temp0 = __action38( + let __temp0 = __action43( input, &__start0, &__end0, ); let __temp0 = (__start0, __temp0, __end0); - __action58( + __action61( input, __0, __1, @@ -24519,7 +28075,7 @@ pub fn __action64< } #[allow(unused_variables)] -pub fn __action65< +pub fn __action68< 'input, >( input: &'input str, @@ -24535,12 +28091,12 @@ pub fn __action65< { let __start0 = __4.0.clone(); let __end0 = __4.2.clone(); - let __temp0 = __action39( + let __temp0 = __action44( input, __4, ); let __temp0 = (__start0, __temp0, __end0); - __action58( + __action61( input, __0, __1, @@ -24554,7 +28110,7 @@ pub fn __action65< } #[allow(unused_variables)] -pub fn __action66< +pub fn __action69< 'input, >( input: &'input str, @@ -24570,13 +28126,13 @@ pub fn __action66< { let __start0 = __4.2.clone(); let __end0 = __5.0.clone(); - let __temp0 = __action38( + let __temp0 = __action43( input, &__start0, &__end0, ); let __temp0 = (__start0, __temp0, __end0); - __action59( + __action62( input, __0, __1, @@ -24591,7 +28147,7 @@ pub fn __action66< } #[allow(unused_variables)] -pub fn __action67< +pub fn __action70< 'input, >( input: &'input str, @@ -24608,12 +28164,12 @@ pub fn __action67< { let __start0 = __5.0.clone(); let __end0 = __5.2.clone(); - let __temp0 = __action39( + let __temp0 = __action44( input, __5, ); let __temp0 = (__start0, __temp0, __end0); - __action59( + __action62( input, __0, __1, @@ -24628,204 +28184,530 @@ pub fn __action67< } #[allow(unused_variables)] -pub fn __action68< +pub fn __action71< 'input, >( input: &'input str, __0: (usize, ComponentPrefix, usize), __1: (usize, String, usize), __2: (usize, String, usize), - __3: (usize, String, usize), + __3: (usize, ::std::option::Option<String>, usize), + __4: (usize, ::std::option::Option<Expr>, usize), + __5: (usize, String, usize), + __6: (usize, &'input str, usize), +) -> Component +{ + let __start0 = __5.0.clone(); + let __end0 = __5.2.clone(); + let __temp0 = __action35( + input, + __5, + ); + let __temp0 = (__start0, __temp0, __end0); + __action57( + input, + __0, + __1, + __2, + __3, + __4, + __temp0, + __6, + ) +} + +#[allow(unused_variables)] +pub fn __action72< + 'input, +>( + input: &'input str, + __0: (usize, ComponentPrefix, usize), + __1: (usize, String, usize), + __2: (usize, String, usize), + __3: (usize, ::std::option::Option<String>, usize), + __4: (usize, ::std::option::Option<Expr>, usize), + __5: (usize, &'input str, usize), +) -> Component +{ + let __start0 = __4.2.clone(); + let __end0 = __5.0.clone(); + let __temp0 = __action36( + input, + &__start0, + &__end0, + ); + let __temp0 = (__start0, __temp0, __end0); + __action57( + input, + __0, + __1, + __2, + __3, + __4, + __temp0, + __5, + ) +} + +#[allow(unused_variables)] +pub fn __action73< + 'input, +>( + input: &'input str, + __0: (usize, String, usize), + __1: (usize, String, usize), + __2: (usize, ::std::option::Option<String>, usize), + __3: (usize, ::std::option::Option<Expr>, usize), + __4: (usize, String, usize), + __5: (usize, &'input str, usize), +) -> Component +{ + let __start0 = __4.0.clone(); + let __end0 = __4.2.clone(); + let __temp0 = __action35( + input, + __4, + ); + let __temp0 = (__start0, __temp0, __end0); + __action58( + input, + __0, + __1, + __2, + __3, + __temp0, + __5, + ) +} + +#[allow(unused_variables)] +pub fn __action74< + 'input, +>( + input: &'input str, + __0: (usize, String, usize), + __1: (usize, String, usize), + __2: (usize, ::std::option::Option<String>, usize), + __3: (usize, ::std::option::Option<Expr>, usize), __4: (usize, &'input str, usize), ) -> Component { + let __start0 = __3.2.clone(); + let __end0 = __4.0.clone(); + let __temp0 = __action36( + input, + &__start0, + &__end0, + ); + let __temp0 = (__start0, __temp0, __end0); + __action58( + input, + __0, + __1, + __2, + __3, + __temp0, + __4, + ) +} + +#[allow(unused_variables)] +pub fn __action75< + 'input, +>( + input: &'input str, + __0: (usize, ComponentPrefix, usize), + __1: (usize, String, usize), + __2: (usize, String, usize), + __3: (usize, String, usize), + __4: (usize, ::std::option::Option<Expr>, usize), + __5: (usize, String, usize), + __6: (usize, &'input str, usize), +) -> Component +{ let __start0 = __3.0.clone(); let __end0 = __3.2.clone(); - let __temp0 = __action34( + let __temp0 = __action39( input, __3, ); let __temp0 = (__start0, __temp0, __end0); - __action52( + __action71( input, __0, __1, __2, __temp0, __4, + __5, + __6, ) } #[allow(unused_variables)] -pub fn __action69< +pub fn __action76< 'input, >( input: &'input str, __0: (usize, ComponentPrefix, usize), __1: (usize, String, usize), __2: (usize, String, usize), - __3: (usize, &'input str, usize), + __3: (usize, ::std::option::Option<Expr>, usize), + __4: (usize, String, usize), + __5: (usize, &'input str, usize), ) -> Component { let __start0 = __2.2.clone(); let __end0 = __3.0.clone(); - let __temp0 = __action35( + let __temp0 = __action40( input, &__start0, &__end0, ); let __temp0 = (__start0, __temp0, __end0); - __action52( + __action71( input, __0, __1, __2, __temp0, __3, + __4, + __5, ) } #[allow(unused_variables)] -pub fn __action70< +pub fn __action77< + 'input, +>( + input: &'input str, + __0: (usize, ComponentPrefix, usize), + __1: (usize, String, usize), + __2: (usize, String, usize), + __3: (usize, String, usize), + __4: (usize, ::std::option::Option<Expr>, usize), + __5: (usize, &'input str, usize), +) -> Component +{ + let __start0 = __3.0.clone(); + let __end0 = __3.2.clone(); + let __temp0 = __action39( + input, + __3, + ); + let __temp0 = (__start0, __temp0, __end0); + __action72( + input, + __0, + __1, + __2, + __temp0, + __4, + __5, + ) +} + +#[allow(unused_variables)] +pub fn __action78< + 'input, +>( + input: &'input str, + __0: (usize, ComponentPrefix, usize), + __1: (usize, String, usize), + __2: (usize, String, usize), + __3: (usize, ::std::option::Option<Expr>, usize), + __4: (usize, &'input str, usize), +) -> Component +{ + let __start0 = __2.2.clone(); + let __end0 = __3.0.clone(); + let __temp0 = __action40( + input, + &__start0, + &__end0, + ); + let __temp0 = (__start0, __temp0, __end0); + __action72( + input, + __0, + __1, + __2, + __temp0, + __3, + __4, + ) +} + +#[allow(unused_variables)] +pub fn __action79< 'input, >( input: &'input str, __0: (usize, String, usize), __1: (usize, String, usize), __2: (usize, String, usize), - __3: (usize, &'input str, usize), + __3: (usize, ::std::option::Option<Expr>, usize), + __4: (usize, String, usize), + __5: (usize, &'input str, usize), ) -> Component { let __start0 = __2.0.clone(); let __end0 = __2.2.clone(); - let __temp0 = __action34( + let __temp0 = __action39( input, __2, ); let __temp0 = (__start0, __temp0, __end0); - __action53( + __action73( input, __0, __1, __temp0, __3, + __4, + __5, ) } #[allow(unused_variables)] -pub fn __action71< +pub fn __action80< 'input, >( input: &'input str, __0: (usize, String, usize), __1: (usize, String, usize), - __2: (usize, &'input str, usize), + __2: (usize, ::std::option::Option<Expr>, usize), + __3: (usize, String, usize), + __4: (usize, &'input str, usize), ) -> Component { let __start0 = __1.2.clone(); let __end0 = __2.0.clone(); - let __temp0 = __action35( + let __temp0 = __action40( input, &__start0, &__end0, ); let __temp0 = (__start0, __temp0, __end0); - __action53( + __action73( input, __0, __1, __temp0, __2, + __3, + __4, ) } #[allow(unused_variables)] -pub fn __action72< +pub fn __action81< 'input, >( input: &'input str, - __0: (usize, ComponentPrefix, usize), + __0: (usize, String, usize), __1: (usize, String, usize), __2: (usize, String, usize), + __3: (usize, ::std::option::Option<Expr>, usize), + __4: (usize, &'input str, usize), +) -> Component +{ + let __start0 = __2.0.clone(); + let __end0 = __2.2.clone(); + let __temp0 = __action39( + input, + __2, + ); + let __temp0 = (__start0, __temp0, __end0); + __action74( + input, + __0, + __1, + __temp0, + __3, + __4, + ) +} + +#[allow(unused_variables)] +pub fn __action82< + 'input, +>( + input: &'input str, + __0: (usize, String, usize), + __1: (usize, String, usize), + __2: (usize, ::std::option::Option<Expr>, usize), __3: (usize, &'input str, usize), +) -> Component +{ + let __start0 = __1.2.clone(); + let __end0 = __2.0.clone(); + let __temp0 = __action40( + input, + &__start0, + &__end0, + ); + let __temp0 = (__start0, __temp0, __end0); + __action74( + input, + __0, + __1, + __temp0, + __2, + __3, + ) +} + +#[allow(unused_variables)] +pub fn __action83< + 'input, +>( + input: &'input str, + __0: (usize, ComponentPrefix, usize), + __1: (usize, String, usize), + __2: (usize, String, usize), + __3: (usize, String, usize), __4: (usize, Expr, usize), __5: (usize, String, usize), __6: (usize, &'input str, usize), ) -> Component { - let __start0 = __5.0.clone(); - let __end0 = __5.2.clone(); - let __temp0 = __action34( + let __start0 = __4.0.clone(); + let __end0 = __4.2.clone(); + let __temp0 = __action37( input, - __5, + __4, ); let __temp0 = (__start0, __temp0, __end0); - __action54( + __action75( input, __0, __1, __2, __3, - __4, __temp0, + __5, __6, ) } #[allow(unused_variables)] -pub fn __action73< +pub fn __action84< 'input, >( input: &'input str, __0: (usize, ComponentPrefix, usize), __1: (usize, String, usize), __2: (usize, String, usize), - __3: (usize, &'input str, usize), - __4: (usize, Expr, usize), + __3: (usize, String, usize), + __4: (usize, String, usize), __5: (usize, &'input str, usize), ) -> Component { - let __start0 = __4.2.clone(); - let __end0 = __5.0.clone(); - let __temp0 = __action35( + let __start0 = __3.2.clone(); + let __end0 = __4.0.clone(); + let __temp0 = __action38( input, &__start0, &__end0, ); let __temp0 = (__start0, __temp0, __end0); - __action54( + __action75( input, __0, __1, __2, __3, - __4, __temp0, + __4, __5, ) } #[allow(unused_variables)] -pub fn __action74< +pub fn __action85< 'input, >( input: &'input str, - __0: (usize, String, usize), + __0: (usize, ComponentPrefix, usize), __1: (usize, String, usize), - __2: (usize, &'input str, usize), + __2: (usize, String, usize), __3: (usize, Expr, usize), __4: (usize, String, usize), __5: (usize, &'input str, usize), ) -> Component { + let __start0 = __3.0.clone(); + let __end0 = __3.2.clone(); + let __temp0 = __action37( + input, + __3, + ); + let __temp0 = (__start0, __temp0, __end0); + __action76( + input, + __0, + __1, + __2, + __temp0, + __4, + __5, + ) +} + +#[allow(unused_variables)] +pub fn __action86< + 'input, +>( + input: &'input str, + __0: (usize, ComponentPrefix, usize), + __1: (usize, String, usize), + __2: (usize, String, usize), + __3: (usize, String, usize), + __4: (usize, &'input str, usize), +) -> Component +{ + let __start0 = __2.2.clone(); + let __end0 = __3.0.clone(); + let __temp0 = __action38( + input, + &__start0, + &__end0, + ); + let __temp0 = (__start0, __temp0, __end0); + __action76( + input, + __0, + __1, + __2, + __temp0, + __3, + __4, + ) +} + +#[allow(unused_variables)] +pub fn __action87< + 'input, +>( + input: &'input str, + __0: (usize, ComponentPrefix, usize), + __1: (usize, String, usize), + __2: (usize, String, usize), + __3: (usize, String, usize), + __4: (usize, Expr, usize), + __5: (usize, &'input str, usize), +) -> Component +{ let __start0 = __4.0.clone(); let __end0 = __4.2.clone(); - let __temp0 = __action34( + let __temp0 = __action37( input, __4, ); let __temp0 = (__start0, __temp0, __end0); - __action55( + __action77( input, __0, __1, @@ -24837,36 +28719,326 @@ pub fn __action74< } #[allow(unused_variables)] -pub fn __action75< +pub fn __action88< 'input, >( input: &'input str, - __0: (usize, String, usize), + __0: (usize, ComponentPrefix, usize), __1: (usize, String, usize), - __2: (usize, &'input str, usize), - __3: (usize, Expr, usize), + __2: (usize, String, usize), + __3: (usize, String, usize), __4: (usize, &'input str, usize), ) -> Component { let __start0 = __3.2.clone(); let __end0 = __4.0.clone(); - let __temp0 = __action35( + let __temp0 = __action38( input, &__start0, &__end0, ); let __temp0 = (__start0, __temp0, __end0); - __action55( + __action77( + input, + __0, + __1, + __2, + __3, + __temp0, + __4, + ) +} + +#[allow(unused_variables)] +pub fn __action89< + 'input, +>( + input: &'input str, + __0: (usize, ComponentPrefix, usize), + __1: (usize, String, usize), + __2: (usize, String, usize), + __3: (usize, Expr, usize), + __4: (usize, &'input str, usize), +) -> Component +{ + let __start0 = __3.0.clone(); + let __end0 = __3.2.clone(); + let __temp0 = __action37( + input, + __3, + ); + let __temp0 = (__start0, __temp0, __end0); + __action78( + input, + __0, + __1, + __2, + __temp0, + __4, + ) +} + +#[allow(unused_variables)] +pub fn __action90< + 'input, +>( + input: &'input str, + __0: (usize, ComponentPrefix, usize), + __1: (usize, String, usize), + __2: (usize, String, usize), + __3: (usize, &'input str, usize), +) -> Component +{ + let __start0 = __2.2.clone(); + let __end0 = __3.0.clone(); + let __temp0 = __action38( + input, + &__start0, + &__end0, + ); + let __temp0 = (__start0, __temp0, __end0); + __action78( + input, + __0, + __1, + __2, + __temp0, + __3, + ) +} + +#[allow(unused_variables)] +pub fn __action91< + 'input, +>( + input: &'input str, + __0: (usize, String, usize), + __1: (usize, String, usize), + __2: (usize, String, usize), + __3: (usize, Expr, usize), + __4: (usize, String, usize), + __5: (usize, &'input str, usize), +) -> Component +{ + let __start0 = __3.0.clone(); + let __end0 = __3.2.clone(); + let __temp0 = __action37( + input, + __3, + ); + let __temp0 = (__start0, __temp0, __end0); + __action79( + input, + __0, + __1, + __2, + __temp0, + __4, + __5, + ) +} + +#[allow(unused_variables)] +pub fn __action92< + 'input, +>( + input: &'input str, + __0: (usize, String, usize), + __1: (usize, String, usize), + __2: (usize, String, usize), + __3: (usize, String, usize), + __4: (usize, &'input str, usize), +) -> Component +{ + let __start0 = __2.2.clone(); + let __end0 = __3.0.clone(); + let __temp0 = __action38( + input, + &__start0, + &__end0, + ); + let __temp0 = (__start0, __temp0, __end0); + __action79( + input, + __0, + __1, + __2, + __temp0, + __3, + __4, + ) +} + +#[allow(unused_variables)] +pub fn __action93< + 'input, +>( + input: &'input str, + __0: (usize, String, usize), + __1: (usize, String, usize), + __2: (usize, Expr, usize), + __3: (usize, String, usize), + __4: (usize, &'input str, usize), +) -> Component +{ + let __start0 = __2.0.clone(); + let __end0 = __2.2.clone(); + let __temp0 = __action37( + input, + __2, + ); + let __temp0 = (__start0, __temp0, __end0); + __action80( + input, + __0, + __1, + __temp0, + __3, + __4, + ) +} + +#[allow(unused_variables)] +pub fn __action94< + 'input, +>( + input: &'input str, + __0: (usize, String, usize), + __1: (usize, String, usize), + __2: (usize, String, usize), + __3: (usize, &'input str, usize), +) -> Component +{ + let __start0 = __1.2.clone(); + let __end0 = __2.0.clone(); + let __temp0 = __action38( + input, + &__start0, + &__end0, + ); + let __temp0 = (__start0, __temp0, __end0); + __action80( input, __0, __1, + __temp0, __2, __3, + ) +} + +#[allow(unused_variables)] +pub fn __action95< + 'input, +>( + input: &'input str, + __0: (usize, String, usize), + __1: (usize, String, usize), + __2: (usize, String, usize), + __3: (usize, Expr, usize), + __4: (usize, &'input str, usize), +) -> Component +{ + let __start0 = __3.0.clone(); + let __end0 = __3.2.clone(); + let __temp0 = __action37( + input, + __3, + ); + let __temp0 = (__start0, __temp0, __end0); + __action81( + input, + __0, + __1, + __2, __temp0, __4, ) } +#[allow(unused_variables)] +pub fn __action96< + 'input, +>( + input: &'input str, + __0: (usize, String, usize), + __1: (usize, String, usize), + __2: (usize, String, usize), + __3: (usize, &'input str, usize), +) -> Component +{ + let __start0 = __2.2.clone(); + let __end0 = __3.0.clone(); + let __temp0 = __action38( + input, + &__start0, + &__end0, + ); + let __temp0 = (__start0, __temp0, __end0); + __action81( + input, + __0, + __1, + __2, + __temp0, + __3, + ) +} + +#[allow(unused_variables)] +pub fn __action97< + 'input, +>( + input: &'input str, + __0: (usize, String, usize), + __1: (usize, String, usize), + __2: (usize, Expr, usize), + __3: (usize, &'input str, usize), +) -> Component +{ + let __start0 = __2.0.clone(); + let __end0 = __2.2.clone(); + let __temp0 = __action37( + input, + __2, + ); + let __temp0 = (__start0, __temp0, __end0); + __action82( + input, + __0, + __1, + __temp0, + __3, + ) +} + +#[allow(unused_variables)] +pub fn __action98< + 'input, +>( + input: &'input str, + __0: (usize, String, usize), + __1: (usize, String, usize), + __2: (usize, &'input str, usize), +) -> Component +{ + let __start0 = __1.2.clone(); + let __end0 = __2.0.clone(); + let __temp0 = __action38( + input, + &__start0, + &__end0, + ); + let __temp0 = (__start0, __temp0, __end0); + __action82( + input, + __0, + __1, + __temp0, + __2, + ) +} + pub trait __ToTriple<'input, > { type Error; fn to_triple(value: Self) -> Result<(usize,(usize, &'input str),usize),Self::Error>; |