From 57c8bea738990b9cd5efcfbc081249025fa5d608 Mon Sep 17 00:00:00 2001 From: bnewbold Date: Wed, 2 Nov 2016 19:50:13 -0700 Subject: push more variable metadata into the model file --- src/modelica_ast.rs | 3 + src/modelica_parser.lalrpop | 14 +- src/modelica_parser.rs | 13598 +++++++++++++++++++++++++++--------------- 3 files changed, 8898 insertions(+), 4717 deletions(-) (limited to 'src') 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, pub specifier: String, pub name: String, + pub value: Option, + pub units: Option, + pub description: Option, } #[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 +}; + +units_declaration: String = { + "(" "unit" "=" ")" => units +}; + component_declaration: Component = { - string_literal? ";" => - Component { prefix:prefix, specifier:specifier, name:name}, - "=" string_literal? ";" => - Component { prefix:prefix, specifier:specifier, name:name}, + ";" => + 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), Ntterm(Expr), + Ntunits__declaration(String), + Ntunits__declaration_3f(::std::option::Option), + Ntvalue__declaration(Expr), + Ntvalue__declaration_3f(::std::option::Option), } const __ACTION: &'static [i32] = &[ // State 0 @@ -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, usize) { + match __symbols.pop().unwrap() { + (__l, __Symbol::Ntunits__declaration_3f(__v), __r) => (__l, __v, __r), + _ => panic!("symbol type mismatch") + } + } + fn __pop_Ntvalue__declaration< + 'input, + >( + __symbols: &mut ::std::vec::Vec<(usize,__Symbol<'input>,usize)> + ) -> (usize, Expr, usize) { + match __symbols.pop().unwrap() { + (__l, __Symbol::Ntvalue__declaration(__v), __r) => (__l, __v, __r), + _ => panic!("symbol type mismatch") + } + } + fn __pop_Ntvalue__declaration_3f< + 'input, + >( + __symbols: &mut ::std::vec::Vec<(usize,__Symbol<'input>,usize)> + ) -> (usize, ::std::option::Option, usize) { + match __symbols.pop().unwrap() { + (__l, __Symbol::Ntvalue__declaration_3f(__v), __r) => (__l, __v, __r), + _ => panic!("symbol type mismatch") + } + } } pub use self::__parse__float::parse_float; @@ -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), Ntterm(Expr), + Ntunits__declaration(String), + Ntunits__declaration_3f(::std::option::Option), + Ntvalue__declaration(Expr), + Ntvalue__declaration_3f(::std::option::Option), } const __ACTION: &'static [i32] = &[ // State 0 @@ -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,194 +2521,303 @@ 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); - let __start = __symbols.last().map(|s| s.2.clone()).unwrap_or_default(); - let __end = __lookahead_start.cloned().unwrap_or_else(|| __start.clone()); - let __nt = super::__action42(input, &__start, &__end); - let __states_len = __states.len(); - __states.truncate(__states_len - 0); - __symbols.push((__start, __Symbol::Ntcomponent__declaration_2a(__nt), __end)); - 5 - } - 14 => { - // component_declaration* = component_declaration+ => ActionFn(43); - let __sym0 = __pop_Ntcomponent__declaration_2b(__symbols); - let __start = __sym0.0.clone(); - let __end = __sym0.2.clone(); - let __nt = super::__action43(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); - let __sym0 = __pop_Ntcomponent__declaration(__symbols); + // 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 = __sym0.2.clone(); - let __nt = super::__action44(input, __sym0); + let __end = __sym4.2.clone(); + let __nt = super::__action93(input, __sym0, __sym1, __sym2, __sym3, __sym4); let __states_len = __states.len(); - __states.truncate(__states_len - 1); - __symbols.push((__start, __Symbol::Ntcomponent__declaration_2b(__nt), __end)); - 6 + __states.truncate(__states_len - 5); + __symbols.push((__start, __Symbol::Ntcomponent__declaration(__nt), __end)); + 4 } 16 => { - // component_declaration+ = component_declaration+, component_declaration => ActionFn(45); - let __sym1 = __pop_Ntcomponent__declaration(__symbols); - let __sym0 = __pop_Ntcomponent__declaration_2b(__symbols); + // 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 = __sym1.2.clone(); - let __nt = super::__action45(input, __sym0, __sym1); + let __end = __sym3.2.clone(); + let __nt = super::__action94(input, __sym0, __sym1, __sym2, __sym3); let __states_len = __states.len(); - __states.truncate(__states_len - 2); - __symbols.push((__start, __Symbol::Ntcomponent__declaration_2b(__nt), __end)); - 6 + __states.truncate(__states_len - 4); + __symbols.push((__start, __Symbol::Ntcomponent__declaration(__nt), __end)); + 4 } 17 => { - // component_prefix = "flow" => ActionFn(11); - let __sym0 = __pop_Term_22flow_22(__symbols); + // 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 = __sym0.2.clone(); - let __nt = super::__action11(input, __sym0); + let __end = __sym4.2.clone(); + let __nt = super::__action95(input, __sym0, __sym1, __sym2, __sym3, __sym4); let __states_len = __states.len(); - __states.truncate(__states_len - 1); - __symbols.push((__start, __Symbol::Ntcomponent__prefix(__nt), __end)); - 7 + __states.truncate(__states_len - 5); + __symbols.push((__start, __Symbol::Ntcomponent__declaration(__nt), __end)); + 4 } 18 => { - // component_prefix = "stream" => ActionFn(12); - let __sym0 = __pop_Term_22stream_22(__symbols); + // 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 = __sym0.2.clone(); - let __nt = super::__action12(input, __sym0); + let __end = __sym3.2.clone(); + let __nt = super::__action96(input, __sym0, __sym1, __sym2, __sym3); let __states_len = __states.len(); - __states.truncate(__states_len - 1); - __symbols.push((__start, __Symbol::Ntcomponent__prefix(__nt), __end)); - 7 + __states.truncate(__states_len - 4); + __symbols.push((__start, __Symbol::Ntcomponent__declaration(__nt), __end)); + 4 } 19 => { - // component_prefix = "input" => ActionFn(13); - let __sym0 = __pop_Term_22input_22(__symbols); + // component_declaration = identifier, identifier, value_declaration, ";" => ActionFn(97); + let __sym3 = __pop_Term_22_3b_22(__symbols); + let __sym2 = __pop_Ntvalue__declaration(__symbols); + let __sym1 = __pop_Ntidentifier(__symbols); + let __sym0 = __pop_Ntidentifier(__symbols); + let __start = __sym0.0.clone(); + let __end = __sym3.2.clone(); + let __nt = super::__action97(input, __sym0, __sym1, __sym2, __sym3); + let __states_len = __states.len(); + __states.truncate(__states_len - 4); + __symbols.push((__start, __Symbol::Ntcomponent__declaration(__nt), __end)); + 4 + } + 20 => { + // component_declaration = identifier, identifier, ";" => ActionFn(98); + let __sym2 = __pop_Term_22_3b_22(__symbols); + let __sym1 = __pop_Ntidentifier(__symbols); + let __sym0 = __pop_Ntidentifier(__symbols); + let __start = __sym0.0.clone(); + let __end = __sym2.2.clone(); + let __nt = super::__action98(input, __sym0, __sym1, __sym2); + let __states_len = __states.len(); + __states.truncate(__states_len - 3); + __symbols.push((__start, __Symbol::Ntcomponent__declaration(__nt), __end)); + 4 + } + 21 => { + // component_declaration* = => ActionFn(47); + let __start = __symbols.last().map(|s| s.2.clone()).unwrap_or_default(); + let __end = __lookahead_start.cloned().unwrap_or_else(|| __start.clone()); + let __nt = super::__action47(input, &__start, &__end); + let __states_len = __states.len(); + __states.truncate(__states_len - 0); + __symbols.push((__start, __Symbol::Ntcomponent__declaration_2a(__nt), __end)); + 5 + } + 22 => { + // component_declaration* = component_declaration+ => ActionFn(48); + let __sym0 = __pop_Ntcomponent__declaration_2b(__symbols); + let __start = __sym0.0.clone(); + let __end = __sym0.2.clone(); + let __nt = super::__action48(input, __sym0); + let __states_len = __states.len(); + __states.truncate(__states_len - 1); + __symbols.push((__start, __Symbol::Ntcomponent__declaration_2a(__nt), __end)); + 5 + } + 23 => { + // component_declaration+ = component_declaration => ActionFn(49); + let __sym0 = __pop_Ntcomponent__declaration(__symbols); + let __start = __sym0.0.clone(); + let __end = __sym0.2.clone(); + let __nt = super::__action49(input, __sym0); + let __states_len = __states.len(); + __states.truncate(__states_len - 1); + __symbols.push((__start, __Symbol::Ntcomponent__declaration_2b(__nt), __end)); + 6 + } + 24 => { + // component_declaration+ = component_declaration+, component_declaration => ActionFn(50); + let __sym1 = __pop_Ntcomponent__declaration(__symbols); + let __sym0 = __pop_Ntcomponent__declaration_2b(__symbols); + let __start = __sym0.0.clone(); + let __end = __sym1.2.clone(); + let __nt = super::__action50(input, __sym0, __sym1); + let __states_len = __states.len(); + __states.truncate(__states_len - 2); + __symbols.push((__start, __Symbol::Ntcomponent__declaration_2b(__nt), __end)); + 6 + } + 25 => { + // component_prefix = "flow" => ActionFn(12); + let __sym0 = __pop_Term_22flow_22(__symbols); + let __start = __sym0.0.clone(); + let __end = __sym0.2.clone(); + let __nt = super::__action12(input, __sym0); + let __states_len = __states.len(); + __states.truncate(__states_len - 1); + __symbols.push((__start, __Symbol::Ntcomponent__prefix(__nt), __end)); + 7 + } + 26 => { + // component_prefix = "stream" => ActionFn(13); + let __sym0 = __pop_Term_22stream_22(__symbols); let __start = __sym0.0.clone(); let __end = __sym0.2.clone(); let __nt = super::__action13(input, __sym0); @@ -2428,9 +2826,9 @@ mod __parse__identifier { __symbols.push((__start, __Symbol::Ntcomponent__prefix(__nt), __end)); 7 } - 20 => { - // component_prefix = "output" => ActionFn(14); - let __sym0 = __pop_Term_22output_22(__symbols); + 27 => { + // component_prefix = "input" => ActionFn(14); + let __sym0 = __pop_Term_22input_22(__symbols); let __start = __sym0.0.clone(); let __end = __sym0.2.clone(); let __nt = super::__action14(input, __sym0); @@ -2439,9 +2837,9 @@ mod __parse__identifier { __symbols.push((__start, __Symbol::Ntcomponent__prefix(__nt), __end)); 7 } - 21 => { - // component_prefix = "discrete" => ActionFn(15); - let __sym0 = __pop_Term_22discrete_22(__symbols); + 28 => { + // component_prefix = "output" => ActionFn(15); + let __sym0 = __pop_Term_22output_22(__symbols); let __start = __sym0.0.clone(); let __end = __sym0.2.clone(); let __nt = super::__action15(input, __sym0); @@ -2450,9 +2848,9 @@ mod __parse__identifier { __symbols.push((__start, __Symbol::Ntcomponent__prefix(__nt), __end)); 7 } - 22 => { - // component_prefix = "parameter" => ActionFn(16); - let __sym0 = __pop_Term_22parameter_22(__symbols); + 29 => { + // component_prefix = "discrete" => ActionFn(16); + let __sym0 = __pop_Term_22discrete_22(__symbols); let __start = __sym0.0.clone(); let __end = __sym0.2.clone(); let __nt = super::__action16(input, __sym0); @@ -2461,9 +2859,9 @@ mod __parse__identifier { __symbols.push((__start, __Symbol::Ntcomponent__prefix(__nt), __end)); 7 } - 23 => { - // component_prefix = "constant" => ActionFn(17); - let __sym0 = __pop_Term_22constant_22(__symbols); + 30 => { + // component_prefix = "parameter" => ActionFn(17); + let __sym0 = __pop_Term_22parameter_22(__symbols); let __start = __sym0.0.clone(); let __end = __sym0.2.clone(); let __nt = super::__action17(input, __sym0); @@ -2472,29 +2870,40 @@ mod __parse__identifier { __symbols.push((__start, __Symbol::Ntcomponent__prefix(__nt), __end)); 7 } - 24 => { - // component_prefix? = component_prefix => ActionFn(36); + 31 => { + // component_prefix = "constant" => ActionFn(18); + let __sym0 = __pop_Term_22constant_22(__symbols); + let __start = __sym0.0.clone(); + let __end = __sym0.2.clone(); + let __nt = super::__action18(input, __sym0); + let __states_len = __states.len(); + __states.truncate(__states_len - 1); + __symbols.push((__start, __Symbol::Ntcomponent__prefix(__nt), __end)); + 7 + } + 32 => { + // component_prefix? = component_prefix => ActionFn(41); let __sym0 = __pop_Ntcomponent__prefix(__symbols); let __start = __sym0.0.clone(); let __end = __sym0.2.clone(); - let __nt = super::__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,21 +3995,61 @@ mod __parse__identifier { _ => panic!("symbol type mismatch") } } -} -pub use self::__parse__identifier::parse_identifier; - -mod __parse__integer { - #![allow(non_snake_case, non_camel_case_types, unused_mut, unused_variables, unused_imports)] - - use std::str::FromStr; - use modelica_ast::*; - extern crate lalrpop_util as __lalrpop_util; - #[allow(dead_code)] - pub enum __Symbol<'input> { - Term_22_28_22(&'input str), - Term_22_29_22(&'input str), - Term_22_2a_22(&'input str), - Term_22_2b_22(&'input str), + fn __pop_Ntunits__declaration< + 'input, + >( + __symbols: &mut ::std::vec::Vec<(usize,__Symbol<'input>,usize)> + ) -> (usize, String, usize) { + match __symbols.pop().unwrap() { + (__l, __Symbol::Ntunits__declaration(__v), __r) => (__l, __v, __r), + _ => panic!("symbol type mismatch") + } + } + fn __pop_Ntunits__declaration_3f< + 'input, + >( + __symbols: &mut ::std::vec::Vec<(usize,__Symbol<'input>,usize)> + ) -> (usize, ::std::option::Option, usize) { + match __symbols.pop().unwrap() { + (__l, __Symbol::Ntunits__declaration_3f(__v), __r) => (__l, __v, __r), + _ => panic!("symbol type mismatch") + } + } + fn __pop_Ntvalue__declaration< + 'input, + >( + __symbols: &mut ::std::vec::Vec<(usize,__Symbol<'input>,usize)> + ) -> (usize, Expr, usize) { + match __symbols.pop().unwrap() { + (__l, __Symbol::Ntvalue__declaration(__v), __r) => (__l, __v, __r), + _ => panic!("symbol type mismatch") + } + } + fn __pop_Ntvalue__declaration_3f< + 'input, + >( + __symbols: &mut ::std::vec::Vec<(usize,__Symbol<'input>,usize)> + ) -> (usize, ::std::option::Option, usize) { + match __symbols.pop().unwrap() { + (__l, __Symbol::Ntvalue__declaration_3f(__v), __r) => (__l, __v, __r), + _ => panic!("symbol type mismatch") + } + } +} +pub use self::__parse__identifier::parse_identifier; + +mod __parse__integer { + #![allow(non_snake_case, non_camel_case_types, unused_mut, unused_variables, unused_imports)] + + use std::str::FromStr; + use modelica_ast::*; + extern crate lalrpop_util as __lalrpop_util; + #[allow(dead_code)] + pub enum __Symbol<'input> { + Term_22_28_22(&'input str), + Term_22_29_22(&'input str), + Term_22_2a_22(&'input str), + Term_22_2b_22(&'input str), Term_22_2c_22(&'input str), Term_22_2d_22(&'input str), Term_22_2f_22(&'input str), @@ -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), Ntterm(Expr), + Ntunits__declaration(String), + Ntunits__declaration_3f(::std::option::Option), + Ntvalue__declaration(Expr), + Ntvalue__declaration_3f(::std::option::Option), } const __ACTION: &'static [i32] = &[ // State 0 @@ -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, usize) { + match __symbols.pop().unwrap() { + (__l, __Symbol::Ntunits__declaration_3f(__v), __r) => (__l, __v, __r), + _ => panic!("symbol type mismatch") + } + } + fn __pop_Ntvalue__declaration< + 'input, + >( + __symbols: &mut ::std::vec::Vec<(usize,__Symbol<'input>,usize)> + ) -> (usize, Expr, usize) { + match __symbols.pop().unwrap() { + (__l, __Symbol::Ntvalue__declaration(__v), __r) => (__l, __v, __r), + _ => panic!("symbol type mismatch") + } + } + fn __pop_Ntvalue__declaration_3f< + 'input, + >( + __symbols: &mut ::std::vec::Vec<(usize,__Symbol<'input>,usize)> + ) -> (usize, ::std::option::Option, usize) { + match __symbols.pop().unwrap() { + (__l, __Symbol::Ntvalue__declaration_3f(__v), __r) => (__l, __v, __r), + _ => panic!("symbol type mismatch") + } + } } pub use self::__parse__integer::parse_integer; @@ -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), Ntterm(Expr), + Ntunits__declaration(String), + Ntunits__declaration_3f(::std::option::Option), + Ntvalue__declaration(Expr), + Ntvalue__declaration_3f(::std::option::Option), } const __ACTION: &'static [i32] = &[ // State 0 @@ -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,42 @@ mod __parse__model { 0, // on ",", error 0, // on "-", error 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 - -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 r#"\"[^\"\\\\]*\""#, 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 - -8, // on r#"[a-zA-Z_][a-zA-Z_0-9]*"#, reduce `component_declaration = identifier, identifier, ";" => ActionFn(71);` + 0, // on r#"[a-zA-Z_][a-zA-Z_0-9]*"#, error // State 48 - 95, // on "(", goto 94 + 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 + 97, // on ";", goto 96 0, // on "=", error 0, // on "^", error - 97, // on "abs", goto 96 + 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 @@ -6693,10 +7538,11 @@ mod __parse__model { 0, // on "output", error 0, // on "parameter", error 0, // on "stream", 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 + 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 @@ -6705,7 +7551,7 @@ mod __parse__model { 0, // on ",", error 0, // on "-", error 0, // on "/", error - -55, // on ";", reduce `string_literal = r#"\"[^\"\\\\]*\""# => ActionFn(5);` + 0, // on ";", error 0, // on "=", error 0, // on "^", error 0, // on "abs", error @@ -6721,55 +7567,57 @@ mod __parse__model { 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 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);` + 0, // on "(", error 0, // on ")", error 0, // on "*", error 0, // on "+", error 0, // on ",", error - -30, // on "-", reduce `connect_clause+ = connect_clause+, connect_clause => ActionFn(47);` + 0, // on "-", error 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);` - 0, // on "constant", error - -30, // on "der", reduce `connect_clause+ = connect_clause+, connect_clause => ActionFn(47);` - 0, // on "discrete", error - -30, // on "end", reduce `connect_clause+ = connect_clause+, connect_clause => ActionFn(47);` - 0, // on "equation", error - 0, // on "flow", error - 0, // on "input", 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 - 0, // on "output", error - 0, // on "parameter", error - 0, // on "stream", 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 - -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);` + 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 - 34, // on "(", goto 33 + 105, // on "(", goto 104 0, // on ")", error 0, // on "*", error 0, // on "+", error 0, // on ",", error - 35, // on "-", goto 34 + 106, // on "-", goto 105 0, // on "/", error 0, // on ";", error 0, // on "=", error 0, // on "^", error - 36, // on "abs", goto 35 + 107, // on "abs", goto 106 0, // on "connect", error 0, // on "constant", error - 38, // on "der", goto 37 + 108, // on "der", goto 107 0, // on "discrete", error - 102, // on "end", goto 101 + 0, // on "end", error 0, // on "equation", error 0, // on "flow", error 0, // on "input", error @@ -6777,10 +7625,11 @@ 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 + 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 @@ -6789,7 +7638,7 @@ mod __parse__model { 0, // on ",", error 0, // on "-", error 0, // on "/", error - 0, // on ";", error + -63, // on ";", reduce `string_literal = r#"\"[^\"\\\\]*\""# => ActionFn(5);` 0, // on "=", error 0, // on "^", error 0, // on "abs", error @@ -6805,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 - 80, // on r#"[a-zA-Z_][a-zA-Z_0-9]*"#, goto 79 + 0, // on r#"[a-zA-Z_][a-zA-Z_0-9]*"#, error // State 53 - 34, // on "(", goto 33 + -38, // on "(", reduce `connect_clause+ = connect_clause+, connect_clause => ActionFn(52);` 0, // on ")", error 0, // on "*", error 0, // on "+", error 0, // on ",", error - 35, // on "-", goto 34 + -38, // on "-", reduce `connect_clause+ = connect_clause+, connect_clause => ActionFn(52);` 0, // on "/", error 0, // on ";", error 0, // on "=", error 0, // on "^", error - 36, // on "abs", goto 35 - 0, // on "connect", error + -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 - 38, // on "der", goto 37 + -38, // on "der", reduce `connect_clause+ = connect_clause+, connect_clause => ActionFn(52);` 0, // on "discrete", error - 0, // on "end", error + -38, // on "end", reduce `connect_clause+ = connect_clause+, connect_clause => ActionFn(52);` 0, // on "equation", error 0, // on "flow", error 0, // on "input", error @@ -6833,10 +7683,11 @@ 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 + -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 @@ -6853,7 +7704,7 @@ mod __parse__model { 0, // on "constant", error 38, // on "der", goto 37 0, // on "discrete", error - 0, // on "end", error + 112, // on "end", goto 111 0, // on "equation", error 0, // on "flow", error 0, // on "input", error @@ -6861,25 +7712,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 + 0, // on "(", error 0, // on ")", error 0, // on "*", error 0, // on "+", error 0, // on ",", error - 113, // on "-", goto 112 + 0, // on "-", error 0, // on "/", error 0, // on ";", error 0, // on "=", error 0, // on "^", error - 114, // on "abs", goto 113 + 0, // on "abs", error 0, // on "connect", error 0, // on "constant", error - 115, // on "der", goto 114 + 0, // on "der", error 0, // on "discrete", error 0, // on "end", error 0, // on "equation", error @@ -6889,17 +7741,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 + 0, // on r#"[+-]?\\d+"#, error + 0, // on r#"[+-]?\\d+\\.\\d*([eE][-+]?\\d+)?"#, error + 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 0, // on "+", error 0, // on ",", error - 0, // on "-", error + 35, // on "-", goto 34 0, // on "/", error 0, // on ";", error 0, // on "=", error @@ -6917,6 +7770,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 @@ -6927,7 +7781,7 @@ mod __parse__model { 0, // on "*", error 0, // on "+", error 0, // on ",", error - 0, // on "-", error + 35, // on "-", goto 34 0, // on "/", error 0, // on ";", error 0, // on "=", error @@ -6945,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 58 - 34, // on "(", goto 33 + 122, // on "(", goto 121 0, // on ")", error 0, // on "*", error 0, // on "+", error 0, // on ",", error - 0, // on "-", error + 123, // on "-", goto 122 0, // on "/", error 0, // on ";", error 0, // on "=", error 0, // on "^", error - 36, // on "abs", goto 35 + 124, // on "abs", goto 123 0, // on "connect", error 0, // on "constant", error - 38, // on "der", goto 37 + 125, // on "der", goto 124 0, // on "discrete", error 0, // on "end", error 0, // on "equation", error @@ -6973,27 +7828,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 + 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 - -54, // on "(", reduce `simple_equation+ = simple_equation+, simple_equation => ActionFn(49);` + 34, // on "(", goto 33 0, // on ")", error 0, // on "*", error 0, // on "+", error 0, // on ",", error - -54, // on "-", reduce `simple_equation+ = simple_equation+, simple_equation => ActionFn(49);` + 0, // on "-", error 0, // on "/", error 0, // on ";", error 0, // on "=", error 0, // on "^", error - -54, // on "abs", reduce `simple_equation+ = simple_equation+, simple_equation => ActionFn(49);` + 36, // on "abs", goto 35 0, // on "connect", error 0, // on "constant", error - -54, // on "der", reduce `simple_equation+ = simple_equation+, simple_equation => ActionFn(49);` + 38, // on "der", goto 37 0, // on "discrete", error - -54, // on "end", reduce `simple_equation+ = simple_equation+, simple_equation => ActionFn(49);` + 0, // on "end", error 0, // on "equation", error 0, // on "flow", error 0, // on "input", error @@ -7001,12 +7857,13 @@ 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);` + 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 60 - 0, // on "(", error + 34, // on "(", goto 33 0, // on ")", error 0, // on "*", error 0, // on "+", error @@ -7016,10 +7873,10 @@ mod __parse__model { 0, // on ";", error 0, // on "=", error 0, // on "^", error - 0, // on "abs", error + 36, // on "abs", goto 35 0, // on "connect", error 0, // on "constant", error - 0, // on "der", error + 38, // on "der", goto 37 0, // on "discrete", error 0, // on "end", error 0, // on "equation", error @@ -7029,25 +7886,113 @@ 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 + 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 61 - 0, // on "(", error - 123, // on ")", goto 122 + 34, // on "(", goto 33 + 0, // on ")", error 0, // on "*", error - 124, // on "+", goto 123 + 0, // on "+", error 0, // on ",", error - 125, // on "-", goto 124 + 0, // on "-", error 0, // on "/", error 0, // on ";", error 0, // on "=", error 0, // on "^", error - 0, // on "abs", error + 36, // on "abs", goto 35 0, // on "connect", error 0, // on "constant", error - 0, // on "der", error + 38, // on "der", goto 37 + 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 + 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 62 + -62, // on "(", reduce `simple_equation+ = simple_equation+, simple_equation => ActionFn(54);` + 0, // on ")", error + 0, // on "*", error + 0, // on "+", error + 0, // on ",", error + -62, // on "-", reduce `simple_equation+ = simple_equation+, simple_equation => ActionFn(54);` + 0, // on "/", error + 0, // on ";", error + 0, // on "=", error + 0, // on "^", error + -62, // on "abs", reduce `simple_equation+ = simple_equation+, simple_equation => ActionFn(54);` + 0, // on "connect", error + 0, // on "constant", error + -62, // on "der", reduce `simple_equation+ = simple_equation+, simple_equation => ActionFn(54);` + 0, // on "discrete", error + -62, // on "end", reduce `simple_equation+ = simple_equation+, simple_equation => ActionFn(54);` + 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 + -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 + 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 + 83, // on r#"[a-zA-Z_][a-zA-Z_0-9]*"#, goto 82 + // State 64 + 0, // on "(", error + 133, // on ")", goto 132 + 0, // on "*", error + 134, // on "+", goto 133 + 0, // on ",", error + 135, // on "-", goto 134 + 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 @@ -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,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 85 + // State 88 0, // on "(", error 0, // on ")", error 0, // on "*", error @@ -7713,41 +8682,42 @@ mod __parse__model { 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 - -6, // on "constant", reduce `component_declaration = component_prefix, identifier, identifier, ";" => ActionFn(69);` + 0, // on "constant", error 0, // on "der", error - -6, // on "discrete", reduce `component_declaration = component_prefix, identifier, identifier, ";" => ActionFn(69);` + 0, // on "discrete", error 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);` + 0, // on "equation", error + 0, // on "flow", error + 0, // on "input", error 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);` - 0, // on r#"\"[^\"\\\\]*\""#, 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 - -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 + 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 - 96, // on "-", goto 95 + 0, // on "-", error 0, // on "/", error - 0, // on ";", error + 157, // on ";", goto 156 0, // on "=", error 0, // on "^", error - 97, // on "abs", goto 96 + 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 +8727,12 @@ mod __parse__model { 0, // on "output", error 0, // on "parameter", error 0, // on "stream", 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 "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 @@ -7774,60 +8745,62 @@ 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);` + -12, // on "constant", reduce `component_declaration = component_prefix, identifier, identifier, ";" => ActionFn(90);` 0, // on "der", error - -7, // on "discrete", reduce `component_declaration = identifier, identifier, string_literal, ";" => ActionFn(70);` + -12, // on "discrete", reduce `component_declaration = component_prefix, identifier, identifier, ";" => ActionFn(90);` 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);` + -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 - -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);` + -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 - -7, // on r#"[a-zA-Z_][a-zA-Z_0-9]*"#, reduce `component_declaration = identifier, identifier, string_literal, ";" => ActionFn(70);` - // State 88 + -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 - 145, // on "+", goto 144 + 0, // on "+", error 0, // on ",", error - 146, // on "-", goto 145 + 0, // on "-", error 0, // on "/", error - 147, // on ";", goto 146 + 0, // on ";", error 0, // on "=", error 0, // on "^", error 0, // on "abs", error 0, // on "connect", error - 0, // on "constant", error + -16, // on "constant", reduce `component_declaration = identifier, identifier, string_literal, ";" => ActionFn(94);` 0, // on "der", error - 0, // on "discrete", error + -16, // on "discrete", reduce `component_declaration = identifier, identifier, string_literal, ";" => ActionFn(94);` 0, // on "end", error - 0, // on "equation", error - 0, // on "flow", error - 0, // on "input", 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 - 0, // on "output", error - 0, // on "parameter", error - 0, // on "stream", error - 50, // on r#"\"[^\"\\\\]*\""#, goto 49 + -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 - 0, // on r#"[a-zA-Z_][a-zA-Z_0-9]*"#, error - // State 89 + -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 - 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 + 158, // on ";", goto 157 0, // on "=", error - 150, // on "^", goto 149 + 0, // on "^", error 0, // on "abs", error 0, // on "connect", error 0, // on "constant", error @@ -7841,21 +8814,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 93 0, // on "(", error 0, // on ")", error - -59, // on "*", reduce `term = float => ActionFn(29);` - -59, // on "+", reduce `term = float => ActionFn(29);` + 0, // on "*", error + 0, // on "+", error 0, // on ",", error - -59, // on "-", reduce `term = float => ActionFn(29);` - -59, // on "/", reduce `term = float => ActionFn(29);` - -59, // on ";", reduce `term = float => ActionFn(29);` + 0, // on "-", error + 0, // on "/", error + 160, // on ";", goto 159 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,49 +8843,51 @@ 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 + 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 91 + // State 94 0, // on "(", error 0, // on ")", error - -60, // on "*", reduce `term = identifier => ActionFn(30);` - -60, // on "+", reduce `term = identifier => ActionFn(30);` + 0, // on "*", error + 0, // on "+", error 0, // on ",", error - -60, // on "-", reduce `term = identifier => ActionFn(30);` - -60, // on "/", reduce `term = identifier => ActionFn(30);` - -60, // on ";", reduce `term = identifier => ActionFn(30);` + 0, // on "-", error + 0, // on "/", error + 0, // on ";", error 0, // on "=", error - -60, // on "^", reduce `term = identifier => ActionFn(30);` + 0, // on "^", error 0, // on "abs", error 0, // on "connect", error - 0, // on "constant", error + -18, // on "constant", reduce `component_declaration = identifier, identifier, units_declaration, ";" => ActionFn(96);` 0, // on "der", error - 0, // on "discrete", error + -18, // on "discrete", reduce `component_declaration = identifier, identifier, units_declaration, ";" => ActionFn(96);` 0, // on "end", error - 0, // on "equation", error - 0, // on "flow", error - 0, // on "input", error + -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 - 0, // on "output", error - 0, // on "parameter", error - 0, // on "stream", error - -60, // on r#"\"[^\"\\\\]*\""#, reduce `term = identifier => ActionFn(30);` + -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 - 0, // on r#"[a-zA-Z_][a-zA-Z_0-9]*"#, error - // State 92 + -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 - -58, // on "*", reduce `term = integer => ActionFn(28);` - -58, // on "+", reduce `term = integer => ActionFn(28);` + 0, // on "*", error + 0, // on "+", error 0, // on ",", error - -58, // on "-", reduce `term = integer => ActionFn(28);` - -58, // on "/", reduce `term = integer => ActionFn(28);` - -58, // on ";", reduce `term = integer => ActionFn(28);` + 0, // on "-", error + 0, // on "/", error + 161, // on ";", goto 160 0, // on "=", error - -58, // on "^", reduce `term = integer => ActionFn(28);` + 0, // on "^", error 0, // on "abs", error 0, // on "connect", error 0, // on "constant", error @@ -7925,53 +8901,55 @@ 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 + 0, // on r#"\"[^\"\\\\]*\""#, error 0, // on r#"[+-]?\\d+"#, error 0, // on r#"[+-]?\\d+\\.\\d*([eE][-+]?\\d+)?"#, error 0, // on r#"[a-zA-Z_][a-zA-Z_0-9]*"#, error - // State 93 + // State 96 0, // on "(", error 0, // on ")", error - -38, // on "*", reduce `factor = term => ActionFn(27);` - -38, // on "+", reduce `factor = term => ActionFn(27);` + 0, // on "*", error + 0, // on "+", error 0, // on ",", error - -38, // on "-", reduce `factor = term => ActionFn(27);` - -38, // on "/", reduce `factor = term => ActionFn(27);` - -38, // on ";", reduce `factor = term => ActionFn(27);` + 0, // on "-", error + 0, // on "/", error + 0, // on ";", error 0, // on "=", error - -38, // on "^", reduce `factor = term => ActionFn(27);` + 0, // on "^", error 0, // on "abs", error 0, // on "connect", error - 0, // on "constant", error + -19, // on "constant", reduce `component_declaration = identifier, identifier, value_declaration, ";" => ActionFn(97);` 0, // on "der", error - 0, // on "discrete", error + -19, // on "discrete", reduce `component_declaration = identifier, identifier, value_declaration, ";" => ActionFn(97);` 0, // on "end", error - 0, // on "equation", error - 0, // on "flow", error - 0, // on "input", 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 - 0, // on "output", error - 0, // on "parameter", error - 0, // on "stream", error - -38, // on r#"\"[^\"\\\\]*\""#, reduce `factor = term => ActionFn(27);` + -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 - 0, // on r#"[a-zA-Z_][a-zA-Z_0-9]*"#, error - // State 94 - 68, // on "(", goto 67 + -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 - 69, // on "-", goto 68 + 0, // on "-", error 0, // on "/", error 0, // on ";", error - 0, // on "=", error + 162, // on "=", goto 161 0, // on "^", error - 70, // on "abs", goto 69 + 0, // on "abs", error 0, // on "connect", error 0, // on "constant", error - 71, // on "der", goto 70 + 0, // on "der", error 0, // on "discrete", error 0, // on "end", error 0, // on "equation", error @@ -7981,25 +8959,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 95 - 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 98 + 0, // on "(", error 0, // on ")", error 0, // on "*", error - 0, // on "+", error + 163, // on "+", goto 162 0, // on ",", error - 0, // on "-", error + 164, // on "-", goto 163 0, // on "/", error - 0, // on ";", error + -75, // on ";", reduce `value_declaration = "=", expr => ActionFn(9);` 0, // on "=", error 0, // on "^", error - 97, // on "abs", goto 96 + 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 @@ -8009,21 +8988,22 @@ mod __parse__model { 0, // on "output", error 0, // on "parameter", error 0, // on "stream", 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 + 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 99 + 0, // on "(", error 0, // on ")", error - 0, // on "*", error - 0, // on "+", error + 165, // on "*", goto 164 + -41, // on "+", reduce `expr = factor => ActionFn(23);` 0, // on ",", error - 0, // on "-", error - 0, // on "/", error - 0, // on ";", error + -41, // on "-", reduce `expr = factor => ActionFn(23);` + 166, // on "/", goto 165 + -41, // on ";", reduce `expr = factor => ActionFn(23);` 0, // on "=", error - 0, // on "^", error + 167, // on "^", goto 166 0, // on "abs", error 0, // on "connect", error 0, // on "constant", error @@ -8037,13 +9017,188 @@ mod __parse__model { 0, // on "output", error 0, // on "parameter", error 0, // on "stream", error - 0, // on r#"\"[^\"\\\\]*\""#, error + 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 97 - 154, // on "(", goto 153 - 0, // on ")", error + // State 100 + 0, // on "(", error + 0, // on ")", error + -67, // on "*", reduce `term = float => ActionFn(30);` + -67, // on "+", reduce `term = float => ActionFn(30);` + 0, // on ",", error + -67, // on "-", reduce `term = float => ActionFn(30);` + -67, // on "/", reduce `term = float => ActionFn(30);` + -67, // on ";", reduce `term = float => ActionFn(30);` + 0, // on "=", error + -67, // on "^", reduce `term = float => ActionFn(30);` + 0, // on "abs", error + 0, // on "connect", error + 0, // on "constant", error + 0, // on "der", error + 0, // on "discrete", error + 0, // on "end", error + 0, // on "equation", error + 0, // on "flow", error + 0, // on "input", error + 0, // on "model", error + 0, // on "output", error + 0, // on "parameter", error + 0, // on "stream", error + 0, // on "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 101 + 0, // on "(", error + 0, // on ")", error + -68, // on "*", reduce `term = identifier => ActionFn(31);` + -68, // on "+", reduce `term = identifier => ActionFn(31);` + 0, // on ",", error + -68, // on "-", reduce `term = identifier => ActionFn(31);` + -68, // on "/", reduce `term = identifier => ActionFn(31);` + -68, // on ";", reduce `term = identifier => ActionFn(31);` + 0, // on "=", error + -68, // on "^", reduce `term = identifier => ActionFn(31);` + 0, // on "abs", error + 0, // on "connect", error + 0, // on "constant", error + 0, // on "der", error + 0, // on "discrete", error + 0, // on "end", error + 0, // on "equation", error + 0, // on "flow", error + 0, // on "input", error + 0, // on "model", error + 0, // on "output", error + 0, // on "parameter", error + 0, // on "stream", error + 0, // on "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 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 + 72, // on "-", goto 71 + 0, // on "/", error + 0, // on ";", error + 0, // on "=", error + 0, // on "^", error + 73, // on "abs", goto 72 + 0, // on "connect", error + 0, // on "constant", error + 74, // on "der", goto 73 + 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 + 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 + 0, // on ",", error + 0, // on "-", error + 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 106 + 170, // on "(", goto 169 + 0, // on ")", error 0, // on "*", error 0, // on "+", error 0, // on ",", error @@ -8065,21 +9220,51 @@ 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 107 + 171, // on "(", goto 170 + 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 + 0, // on r#"\"[^\"\\\\]*\""#, error + 0, // on r#"[+-]?\\d+"#, error + 0, // on r#"[+-]?\\d+\\.\\d*([eE][-+]?\\d+)?"#, error + 0, // on r#"[a-zA-Z_][a-zA-Z_0-9]*"#, error + // State 108 0, // on "(", error 0, // on ")", error - -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,53 @@ 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 @@ -9452,10 +10802,39 @@ mod __parse__model { 0, // on ";", error 0, // on "=", error 0, // on "^", error - 97, // on "abs", goto 96 + 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 - 98, // on "der", goto 97 + 108, // on "der", goto 107 0, // on "discrete", error 0, // on "end", error 0, // on "equation", error @@ -9465,12 +10844,42 @@ 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 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 @@ -9480,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 @@ -9493,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 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 165 + 105, // on "(", goto 104 0, // on ")", error 0, // on "*", error 0, // on "+", error @@ -9508,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 @@ -9521,17 +10931,47 @@ 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 166 + 105, // on "(", goto 104 + 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 + 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 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 + 0, // on "-", error + 0, // on "/", error + 0, // on ";", error + 0, // on "=", error + 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 - -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 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 + 0, // on "*", error + 0, // on "+", error + 0, // on ",", error + 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 - -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 @@ -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,16 @@ 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 + 0, // on EOF, error + 0, // on EOF, error 0, // on EOF, error 0, // on EOF, error 0, // on EOF, error @@ -11446,7 +13102,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 @@ -11456,8 +13111,8 @@ mod __parse__model { 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 - -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 @@ -11467,11 +13122,10 @@ mod __parse__model { 0, // on EOF, error 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 - -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 0, // on EOF, error @@ -11481,9 +13135,10 @@ mod __parse__model { 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 - -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 @@ -11496,7 +13151,22 @@ 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 + -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,18 +14668,22 @@ mod __parse__model { 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 + 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 - 60, // on simple_equation, goto 59 + 0, // on simple_equation, error 0, // on simple_equation*, error 0, // on simple_equation+, error 0, // on string_literal, error 0, // on string_literal?, error - 33, // on term, goto 32 + 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 @@ -12822,7 +14700,7 @@ mod __parse__model { 0, // on expr, error 0, // on factor, error 0, // on float, error - 103, // on identifier, goto 102 + 0, // on identifier, error 0, // on integer, error 0, // on model, error 0, // on simple_equation, error @@ -12831,6 +14709,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 53 0, // on __float, error 0, // on __identifier, error @@ -12845,17 +14727,21 @@ mod __parse__model { 0, // on connect_clause*, error 0, // on connect_clause+, error 0, // on expr, error - 104, // on factor, goto 103 - 28, // on float, goto 27 - 29, // on identifier, goto 28 - 30, // on integer, goto 29 + 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 - 33, // on term, goto 32 + 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 @@ -12869,18 +14755,22 @@ mod __parse__model { 0, // on connect_clause, error 0, // on connect_clause*, error 0, // on connect_clause+, error - 0, // on expr, error - 105, // on factor, goto 104 + 26, // on expr, goto 25 + 27, // on factor, goto 26 28, // on float, goto 27 29, // on identifier, goto 28 30, // on integer, goto 29 0, // on model, error - 0, // on simple_equation, error + 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 55 0, // on __float, error 0, // on __identifier, error @@ -12894,18 +14784,22 @@ 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 + 0, // on expr, error + 0, // on factor, error + 0, // on float, error + 113, // on identifier, goto 112 + 0, // on integer, error 0, // on model, error 0, // on simple_equation, error 0, // on simple_equation*, error 0, // on simple_equation+, error 0, // on string_literal, error 0, // on string_literal?, error - 111, // on term, goto 110 + 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 56 0, // on __float, error 0, // on __identifier, error @@ -12920,7 +14814,7 @@ mod __parse__model { 0, // on connect_clause*, error 0, // on connect_clause+, error 0, // on expr, error - 0, // on factor, error + 114, // on factor, goto 113 28, // on float, goto 27 29, // on identifier, goto 28 30, // on integer, goto 29 @@ -12930,7 +14824,11 @@ mod __parse__model { 0, // on simple_equation+, error 0, // on string_literal, error 0, // on string_literal?, error - 119, // on term, goto 118 + 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 57 0, // on __float, error 0, // on __identifier, error @@ -12945,7 +14843,7 @@ mod __parse__model { 0, // on connect_clause*, error 0, // on connect_clause+, error 0, // on expr, error - 0, // on factor, error + 115, // on factor, goto 114 28, // on float, goto 27 29, // on identifier, goto 28 30, // on integer, goto 29 @@ -12955,7 +14853,11 @@ mod __parse__model { 0, // on simple_equation+, error 0, // on string_literal, error 0, // on string_literal?, error - 120, // on term, goto 119 + 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 58 0, // on __float, error 0, // on __identifier, error @@ -12969,11 +14871,11 @@ mod __parse__model { 0, // on connect_clause, error 0, // on connect_clause*, error 0, // on connect_clause+, error - 0, // on expr, error - 0, // on factor, error - 28, // on float, goto 27 - 29, // on identifier, goto 28 - 30, // on integer, goto 29 + 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 @@ -12981,6 +14883,10 @@ mod __parse__model { 0, // on string_literal, error 0, // on string_literal?, error 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 @@ -12996,16 +14902,20 @@ mod __parse__model { 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 + 28, // on float, goto 27 + 29, // on identifier, goto 28 + 30, // on integer, goto 29 0, // on model, error 0, // on simple_equation, error 0, // on simple_equation*, error 0, // on simple_equation+, error 0, // on string_literal, error 0, // on string_literal?, error - 0, // on term, error + 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 @@ -13021,16 +14931,20 @@ mod __parse__model { 0, // on connect_clause+, error 0, // on expr, error 0, // on factor, error - 0, // on float, error - 122, // on identifier, goto 121 - 0, // on integer, error + 28, // on float, goto 27 + 29, // on identifier, goto 28 + 30, // on integer, goto 29 0, // on model, error 0, // on simple_equation, error 0, // on simple_equation*, error 0, // on simple_equation+, error 0, // on string_literal, error 0, // on string_literal?, error - 0, // on term, error + 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 @@ -13046,16 +14960,20 @@ mod __parse__model { 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 + 28, // on float, goto 27 + 29, // on identifier, goto 28 + 30, // on integer, goto 29 0, // on model, error 0, // on simple_equation, error 0, // on simple_equation*, error 0, // on simple_equation+, error 0, // on string_literal, error 0, // on string_literal?, error - 0, // on term, error + 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 @@ -13081,6 +14999,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 63 0, // on __float, error 0, // on __identifier, error @@ -13097,7 +15019,7 @@ mod __parse__model { 0, // on expr, error 0, // on factor, error 0, // on float, error - 0, // on identifier, error + 132, // on identifier, goto 131 0, // on integer, error 0, // on model, error 0, // on simple_equation, error @@ -13106,6 +15028,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 64 0, // on __float, error 0, // on __identifier, error @@ -13131,6 +15057,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 65 0, // on __float, error 0, // on __identifier, error @@ -13156,6 +15086,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 66 0, // on __float, error 0, // on __identifier, error @@ -13181,6 +15115,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 67 0, // on __float, error 0, // on __identifier, error @@ -13194,18 +15132,22 @@ 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 + 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 + 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 68 0, // on __float, error 0, // on __identifier, error @@ -13221,16 +15163,20 @@ 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 + 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 - 130, // on term, goto 129 + 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 69 0, // on __float, error 0, // on __identifier, error @@ -13256,6 +15202,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 70 0, // on __float, error 0, // on __identifier, error @@ -13269,18 +15219,22 @@ mod __parse__model { 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 + 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 - 0, // on term, 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 71 0, // on __float, error 0, // on __identifier, error @@ -13296,16 +15250,20 @@ mod __parse__model { 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 + 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 - 0, // on term, error + 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 @@ -13331,6 +15289,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 73 0, // on __float, error 0, // on __identifier, error @@ -13356,6 +15318,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 74 0, // on __float, error 0, // on __identifier, error @@ -13381,6 +15347,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 75 0, // on __float, error 0, // on __identifier, error @@ -13394,18 +15364,22 @@ 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 + 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 + 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 76 0, // on __float, error 0, // on __identifier, error @@ -13422,7 +15396,7 @@ mod __parse__model { 0, // on expr, error 0, // on factor, error 0, // on float, error - 134, // on identifier, goto 133 + 0, // on identifier, error 0, // on integer, error 0, // on model, error 0, // on simple_equation, error @@ -13431,6 +15405,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 77 0, // on __float, error 0, // on __identifier, error @@ -13444,18 +15422,22 @@ 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 + 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 + 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 78 0, // on __float, error 0, // on __identifier, error @@ -13469,18 +15451,22 @@ mod __parse__model { 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 + 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 - 0, // on term, 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 79 0, // on __float, error 0, // on __identifier, error @@ -13497,7 +15483,7 @@ mod __parse__model { 0, // on expr, error 0, // on factor, error 0, // on float, error - 0, // on identifier, error + 144, // on identifier, goto 143 0, // on integer, error 0, // on model, error 0, // on simple_equation, error @@ -13506,6 +15492,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 80 0, // on __float, error 0, // on __identifier, error @@ -13519,18 +15509,22 @@ mod __parse__model { 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 + 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 - 60, // on simple_equation, goto 59 + 0, // on simple_equation, error 0, // on simple_equation*, error 0, // on simple_equation+, error 0, // on string_literal, error 0, // on string_literal?, error - 33, // on term, goto 32 + 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 @@ -13547,7 +15541,7 @@ mod __parse__model { 0, // on expr, error 0, // on factor, error 0, // on float, error - 139, // on identifier, goto 138 + 0, // on identifier, error 0, // on integer, error 0, // on model, error 0, // on simple_equation, error @@ -13556,6 +15550,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 82 0, // on __float, error 0, // on __identifier, error @@ -13572,7 +15570,7 @@ mod __parse__model { 0, // on expr, error 0, // on factor, error 0, // on float, error - 140, // on identifier, goto 139 + 0, // on identifier, error 0, // on integer, error 0, // on model, error 0, // on simple_equation, error @@ -13581,6 +15579,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 83 0, // on __float, error 0, // on __identifier, error @@ -13594,18 +15596,22 @@ mod __parse__model { 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 + 26, // on expr, goto 25 + 27, // on factor, goto 26 + 28, // on float, goto 27 + 29, // on identifier, goto 28 + 30, // on integer, goto 29 0, // on model, error - 0, // on simple_equation, error + 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 - 0, // on term, 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 84 0, // on __float, error 0, // on __identifier, error @@ -13622,7 +15628,7 @@ mod __parse__model { 0, // on expr, error 0, // on factor, error 0, // on float, error - 0, // on identifier, error + 149, // on identifier, goto 148 0, // on integer, error 0, // on model, error 0, // on simple_equation, error @@ -13631,6 +15637,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 85 0, // on __float, error 0, // on __identifier, error @@ -13647,7 +15657,7 @@ mod __parse__model { 0, // on expr, error 0, // on factor, error 0, // on float, error - 0, // on identifier, error + 150, // on identifier, goto 149 0, // on integer, error 0, // on model, error 0, // on simple_equation, error @@ -13656,6 +15666,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 86 0, // on __float, error 0, // on __identifier, error @@ -13669,18 +15683,22 @@ 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 + 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 87 0, // on __float, error 0, // on __identifier, error @@ -13706,6 +15724,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 88 0, // on __float, error 0, // on __identifier, error @@ -13728,9 +15750,13 @@ mod __parse__model { 0, // on simple_equation, error 0, // on simple_equation*, error 0, // on simple_equation+, error - 144, // on string_literal, goto 143 + 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 @@ -13753,9 +15779,13 @@ mod __parse__model { 0, // on simple_equation, error 0, // on simple_equation*, error 0, // on simple_equation+, error - 0, // on string_literal, 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 @@ -13781,6 +15811,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 91 0, // on __float, error 0, // on __identifier, error @@ -13806,6 +15840,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 92 0, // on __float, error 0, // on __identifier, error @@ -13831,6 +15869,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 93 0, // on __float, error 0, // on __identifier, error @@ -13853,9 +15895,13 @@ mod __parse__model { 0, // on simple_equation, error 0, // on simple_equation*, error 0, // on simple_equation+, error - 0, // on string_literal, error + 159, // on string_literal, goto 158 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 94 0, // on __float, error 0, // on __identifier, error @@ -13869,18 +15915,22 @@ 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 + 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 95 0, // on __float, error 0, // on __identifier, error @@ -13896,16 +15946,20 @@ 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 + 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 96 0, // on __float, error 0, // on __identifier, error @@ -13931,6 +15985,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 97 0, // on __float, error 0, // on __identifier, error @@ -13956,6 +16014,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 98 0, // on __float, error 0, // on __identifier, error @@ -13981,6 +16043,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 99 0, // on __float, error 0, // on __identifier, error @@ -14006,6 +16072,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 100 0, // on __float, error 0, // on __identifier, error @@ -14031,6 +16101,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 101 0, // on __float, error 0, // on __identifier, error @@ -14047,7 +16121,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,6 +16130,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 102 0, // on __float, error 0, // on __identifier, error @@ -14081,6 +16159,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 103 0, // on __float, error 0, // on __identifier, error @@ -14106,6 +16188,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 104 0, // on __float, error 0, // on __identifier, error @@ -14119,18 +16205,22 @@ mod __parse__model { 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 + 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 - 0, // on term, 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 @@ -14146,16 +16236,20 @@ mod __parse__model { 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 + 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 - 0, // on term, 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 @@ -14181,6 +16275,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 107 0, // on __float, error 0, // on __identifier, error @@ -14206,6 +16304,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 108 0, // on __float, error 0, // on __identifier, error @@ -14231,6 +16333,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 109 0, // on __float, error 0, // on __identifier, error @@ -14256,6 +16362,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 110 0, // on __float, error 0, // on __identifier, error @@ -14281,6 +16391,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 111 0, // on __float, error 0, // on __identifier, error @@ -14294,18 +16408,22 @@ 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 + 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 - 67, // on term, goto 66 + 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 @@ -14321,16 +16439,20 @@ 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 + 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 113 0, // on __float, error 0, // on __identifier, error @@ -14356,6 +16478,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 114 0, // on __float, error 0, // on __identifier, error @@ -14381,6 +16507,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 115 0, // on __float, error 0, // on __identifier, error @@ -14406,6 +16536,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 116 0, // on __float, error 0, // on __identifier, error @@ -14431,6 +16565,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 117 0, // on __float, error 0, // on __identifier, error @@ -14456,6 +16594,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 118 0, // on __float, error 0, // on __identifier, error @@ -14481,6 +16623,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 119 0, // on __float, error 0, // on __identifier, error @@ -14506,6 +16652,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 120 0, // on __float, error 0, // on __identifier, error @@ -14531,6 +16681,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 121 0, // on __float, error 0, // on __identifier, error @@ -14544,18 +16698,22 @@ mod __parse__model { 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 + 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 - 0, // on term, 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 @@ -14571,16 +16729,20 @@ mod __parse__model { 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 + 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 - 0, // on term, 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 @@ -14595,17 +16757,21 @@ 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 + 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 + 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 124 0, // on __float, error 0, // on __identifier, error @@ -14620,17 +16786,21 @@ 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 + 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 + 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 125 0, // on __float, error 0, // on __identifier, error @@ -14646,16 +16816,20 @@ 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 + 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 - 170, // on term, goto 169 + 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 126 0, // on __float, error 0, // on __identifier, error @@ -14671,16 +16845,20 @@ 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 + 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 - 171, // on term, goto 170 + 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 127 0, // on __float, error 0, // on __identifier, error @@ -14696,16 +16874,20 @@ 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 + 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 - 172, // on term, goto 171 + 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 128 0, // on __float, error 0, // on __identifier, error @@ -14731,6 +16913,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 129 0, // on __float, error 0, // on __identifier, error @@ -14756,6 +16942,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 130 0, // on __float, error 0, // on __identifier, error @@ -14769,18 +16959,22 @@ 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 + 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 + 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 131 0, // on __float, error 0, // on __identifier, error @@ -14794,18 +16988,22 @@ 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 + 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 + 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 132 0, // on __float, error 0, // on __identifier, error @@ -14831,6 +17029,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 133 0, // on __float, error 0, // on __identifier, error @@ -14845,17 +17047,21 @@ mod __parse__model { 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 + 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 - 0, // on term, 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 134 0, // on __float, error 0, // on __identifier, error @@ -14870,17 +17076,21 @@ mod __parse__model { 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 + 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 - 0, // on term, 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 135 0, // on __float, error 0, // on __identifier, error @@ -14896,16 +17106,20 @@ mod __parse__model { 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 + 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 - 0, // on term, error + 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 @@ -14921,16 +17135,20 @@ mod __parse__model { 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 + 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 - 0, // on term, error + 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 @@ -14946,16 +17164,20 @@ mod __parse__model { 0, // on connect_clause+, error 0, // on expr, error 0, // on factor, error - 0, // on float, error - 179, // on identifier, goto 178 - 0, // on integer, error + 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 - 0, // on term, error + 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 @@ -14981,6 +17203,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 139 0, // on __float, error 0, // on __identifier, error @@ -15006,6 +17232,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 140 0, // on __float, error 0, // on __identifier, error @@ -15019,18 +17249,22 @@ mod __parse__model { 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 + 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 - 0, // on term, 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 141 0, // on __float, error 0, // on __identifier, error @@ -15044,18 +17278,22 @@ mod __parse__model { 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 + 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 - 0, // on term, 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 142 0, // on __float, error 0, // on __identifier, error @@ -15078,9 +17316,13 @@ 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 + 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 @@ -15106,6 +17348,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 144 0, // on __float, error 0, // on __identifier, error @@ -15120,17 +17366,21 @@ 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 + 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 145 0, // on __float, error 0, // on __identifier, error @@ -15145,17 +17395,21 @@ 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 + 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 146 0, // on __float, error 0, // on __identifier, error @@ -15181,6 +17435,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 147 0, // on __float, error 0, // on __identifier, error @@ -15196,16 +17454,20 @@ 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 + 196, // on identifier, goto 195 + 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 + 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 148 0, // on __float, error 0, // on __identifier, error @@ -15221,16 +17483,20 @@ 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 + 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 149 0, // on __float, error 0, // on __identifier, error @@ -15246,16 +17512,20 @@ 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 + 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 150 0, // on __float, error 0, // on __identifier, error @@ -15281,6 +17551,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 151 0, // on __float, error 0, // on __identifier, error @@ -15306,6 +17580,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 152 0, // on __float, error 0, // on __identifier, error @@ -15319,18 +17597,22 @@ 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 + 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 + 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 153 0, // on __float, error 0, // on __identifier, error @@ -15344,18 +17626,22 @@ 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 + 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 + 200, // on string_literal, goto 199 0, // on string_literal?, error - 67, // on term, goto 66 + 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 @@ -15381,6 +17667,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 155 0, // on __float, error 0, // on __identifier, error @@ -15406,6 +17696,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 156 0, // on __float, error 0, // on __identifier, error @@ -15420,17 +17714,21 @@ 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 + 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 - 111, // on term, goto 110 + 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 @@ -15445,17 +17743,21 @@ 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 + 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 - 111, // on term, goto 110 + 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 158 0, // on __float, error 0, // on __identifier, error @@ -15481,6 +17783,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 159 0, // on __float, error 0, // on __identifier, error @@ -15496,16 +17802,20 @@ 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 - 196, // on term, goto 195 + 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 @@ -15521,16 +17831,20 @@ 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 - 197, // on term, goto 196 + 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 @@ -15546,16 +17860,20 @@ 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 + 204, // on string_literal, goto 203 0, // on string_literal?, error - 198, // on term, goto 197 + 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 @@ -15570,17 +17888,21 @@ mod __parse__model { 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 + 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 - 0, // on term, 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 @@ -15595,17 +17917,21 @@ mod __parse__model { 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 + 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 - 0, // on term, 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 @@ -15619,18 +17945,22 @@ 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 + 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 - 67, // on term, goto 66 + 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 @@ -15644,18 +17974,22 @@ 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 + 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 - 67, // on term, goto 66 + 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 @@ -15671,16 +18005,20 @@ mod __parse__model { 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 + 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 - 0, // on term, 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 @@ -15706,6 +18044,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 168 0, // on __float, error 0, // on __identifier, error @@ -15731,6 +18073,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 169 0, // on __float, error 0, // on __identifier, error @@ -15744,18 +18090,22 @@ mod __parse__model { 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 + 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 - 0, // on term, 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 170 0, // on __float, error 0, // on __identifier, error @@ -15769,18 +18119,22 @@ mod __parse__model { 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 + 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 - 0, // on term, 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 171 0, // on __float, error 0, // on __identifier, error @@ -15806,6 +18160,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 172 0, // on __float, error 0, // on __identifier, error @@ -15831,6 +18189,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 173 0, // on __float, error 0, // on __identifier, error @@ -15845,17 +18207,21 @@ mod __parse__model { 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 + 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 - 0, // on term, error + 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 @@ -15870,17 +18236,21 @@ mod __parse__model { 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 + 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 - 0, // on term, error + 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 @@ -15906,6 +18276,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 176 0, // on __float, error 0, // on __identifier, error @@ -15921,16 +18295,20 @@ mod __parse__model { 0, // on connect_clause+, error 0, // on expr, error 0, // on factor, error - 0, // on float, error - 204, // on identifier, goto 203 - 0, // on integer, 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 - 0, // on term, error + 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 @@ -15946,16 +18324,20 @@ mod __parse__model { 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 + 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 - 0, // on term, error + 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 @@ -15971,16 +18353,20 @@ mod __parse__model { 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 + 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 - 0, // on term, error + 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 @@ -16006,6 +18392,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 180 0, // on __float, error 0, // on __identifier, error @@ -16031,6 +18421,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 181 0, // on __float, error 0, // on __identifier, error @@ -16044,18 +18438,22 @@ mod __parse__model { 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 + 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 - 0, // on term, 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 182 0, // on __float, error 0, // on __identifier, error @@ -16069,18 +18467,22 @@ mod __parse__model { 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 + 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 - 0, // on term, 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 183 0, // on __float, error 0, // on __identifier, error @@ -16106,6 +18508,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 184 0, // on __float, error 0, // on __identifier, error @@ -16131,6 +18537,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 185 0, // on __float, error 0, // on __identifier, error @@ -16156,6 +18566,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 186 0, // on __float, error 0, // on __identifier, error @@ -16181,6 +18595,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 187 0, // on __float, error 0, // on __identifier, error @@ -16206,6 +18624,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 188 0, // on __float, error 0, // on __identifier, error @@ -16231,6 +18653,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 189 0, // on __float, error 0, // on __identifier, error @@ -16256,6 +18682,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 190 0, // on __float, error 0, // on __identifier, error @@ -16281,6 +18711,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 191 0, // on __float, error 0, // on __identifier, error @@ -16306,6 +18740,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 192 0, // on __float, error 0, // on __identifier, error @@ -16331,6 +18769,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 193 0, // on __float, error 0, // on __identifier, error @@ -16347,7 +18789,7 @@ mod __parse__model { 0, // on expr, error 0, // on factor, error 0, // on float, error - 0, // on identifier, error + 225, // on identifier, goto 224 0, // on integer, error 0, // on model, error 0, // on simple_equation, error @@ -16356,6 +18798,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 194 0, // on __float, error 0, // on __identifier, error @@ -16381,6 +18827,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 195 0, // on __float, error 0, // on __identifier, error @@ -16406,6 +18856,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 196 0, // on __float, error 0, // on __identifier, error @@ -16431,6 +18885,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 197 0, // on __float, error 0, // on __identifier, error @@ -16456,6 +18914,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 198 0, // on __float, error 0, // on __identifier, error @@ -16481,6 +18943,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 199 0, // on __float, error 0, // on __identifier, error @@ -16506,6 +18972,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 200 0, // on __float, error 0, // on __identifier, error @@ -16531,6 +19001,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 201 0, // on __float, error 0, // on __identifier, error @@ -16556,6 +19030,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 202 0, // on __float, error 0, // on __identifier, error @@ -16581,6 +19059,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 203 0, // on __float, error 0, // on __identifier, error @@ -16606,6 +19088,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 204 0, // on __float, error 0, // on __identifier, error @@ -16631,6 +19117,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 205 0, // on __float, error 0, // on __identifier, error @@ -16656,6 +19146,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 206 0, // on __float, error 0, // on __identifier, error @@ -16681,6 +19175,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 207 0, // on __float, error 0, // on __identifier, error @@ -16706,6 +19204,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 208 0, // on __float, error 0, // on __identifier, error @@ -16731,6 +19233,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 209 0, // on __float, error 0, // on __identifier, error @@ -16756,6 +19262,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 210 0, // on __float, error 0, // on __identifier, error @@ -16781,6 +19291,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 211 0, // on __float, error 0, // on __identifier, error @@ -16806,6 +19320,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 212 0, // on __float, error 0, // on __identifier, error @@ -16831,236 +19349,883 @@ mod __parse__model { 0, // on string_literal, error 0, // on string_literal?, error 0, // on term, error - ]; - pub fn parse_model< - 'input, - >( - input: &'input str, - ) -> Result> - { - let mut __tokens = super::__intern_token::__Matcher::new(input); - let mut __states = vec![0_i32]; - let mut __symbols = vec![]; - '__shift: loop { - let __lookahead = match __tokens.next() { - Some(Ok(v)) => v, - None => break '__shift, - Some(Err(e)) => return Err(e), - }; - let __integer = match __lookahead { - (_, (0, _), _) if true => 0, - (_, (1, _), _) if true => 1, - (_, (2, _), _) if true => 2, - (_, (3, _), _) if true => 3, - (_, (4, _), _) if true => 4, - (_, (5, _), _) if true => 5, - (_, (6, _), _) if true => 6, - (_, (7, _), _) if true => 7, - (_, (8, _), _) if true => 8, - (_, (9, _), _) if true => 9, - (_, (10, _), _) if true => 10, - (_, (11, _), _) if true => 11, - (_, (12, _), _) if true => 12, - (_, (13, _), _) if true => 13, - (_, (14, _), _) if true => 14, - (_, (15, _), _) if true => 15, - (_, (16, _), _) if true => 16, - (_, (17, _), _) if true => 17, - (_, (18, _), _) if true => 18, - (_, (19, _), _) if true => 19, - (_, (20, _), _) if true => 20, - (_, (21, _), _) if true => 21, - (_, (22, _), _) if true => 22, - (_, (23, _), _) if true => 23, - (_, (24, _), _) if true => 24, - (_, (25, _), _) if true => 25, - (_, (26, _), _) if true => 26, - _ => { - return Err(__lalrpop_util::ParseError::UnrecognizedToken { - token: Some(__lookahead), - expected: vec![], - }); - } - }; - loop { - let __state = *__states.last().unwrap() as usize; - let __action = __ACTION[__state * 27 + __integer]; - if __action > 0 { - let __symbol = match __integer { - 0 => match __lookahead.1 { - (0, __tok0) => __Symbol::Term_22_28_22(__tok0), - _ => unreachable!(), - }, - 1 => match __lookahead.1 { - (1, __tok0) => __Symbol::Term_22_29_22(__tok0), - _ => unreachable!(), - }, - 2 => match __lookahead.1 { - (2, __tok0) => __Symbol::Term_22_2a_22(__tok0), - _ => unreachable!(), - }, - 3 => match __lookahead.1 { - (3, __tok0) => __Symbol::Term_22_2b_22(__tok0), - _ => unreachable!(), - }, - 4 => match __lookahead.1 { - (4, __tok0) => __Symbol::Term_22_2c_22(__tok0), - _ => unreachable!(), - }, - 5 => match __lookahead.1 { - (5, __tok0) => __Symbol::Term_22_2d_22(__tok0), - _ => unreachable!(), - }, - 6 => match __lookahead.1 { - (6, __tok0) => __Symbol::Term_22_2f_22(__tok0), - _ => unreachable!(), - }, - 7 => match __lookahead.1 { - (7, __tok0) => __Symbol::Term_22_3b_22(__tok0), - _ => unreachable!(), - }, - 8 => match __lookahead.1 { - (8, __tok0) => __Symbol::Term_22_3d_22(__tok0), - _ => unreachable!(), - }, - 9 => match __lookahead.1 { - (9, __tok0) => __Symbol::Term_22_5e_22(__tok0), - _ => unreachable!(), - }, - 10 => match __lookahead.1 { - (10, __tok0) => __Symbol::Term_22abs_22(__tok0), - _ => unreachable!(), - }, - 11 => match __lookahead.1 { - (11, __tok0) => __Symbol::Term_22connect_22(__tok0), - _ => unreachable!(), - }, - 12 => match __lookahead.1 { - (12, __tok0) => __Symbol::Term_22constant_22(__tok0), - _ => unreachable!(), - }, - 13 => match __lookahead.1 { - (13, __tok0) => __Symbol::Term_22der_22(__tok0), - _ => unreachable!(), - }, - 14 => match __lookahead.1 { - (14, __tok0) => __Symbol::Term_22discrete_22(__tok0), - _ => unreachable!(), - }, - 15 => match __lookahead.1 { - (15, __tok0) => __Symbol::Term_22end_22(__tok0), - _ => unreachable!(), - }, - 16 => match __lookahead.1 { - (16, __tok0) => __Symbol::Term_22equation_22(__tok0), - _ => unreachable!(), - }, - 17 => match __lookahead.1 { - (17, __tok0) => __Symbol::Term_22flow_22(__tok0), - _ => unreachable!(), - }, - 18 => match __lookahead.1 { - (18, __tok0) => __Symbol::Term_22input_22(__tok0), - _ => unreachable!(), - }, - 19 => match __lookahead.1 { - (19, __tok0) => __Symbol::Term_22model_22(__tok0), - _ => unreachable!(), - }, - 20 => match __lookahead.1 { - (20, __tok0) => __Symbol::Term_22output_22(__tok0), - _ => unreachable!(), - }, - 21 => match __lookahead.1 { - (21, __tok0) => __Symbol::Term_22parameter_22(__tok0), - _ => unreachable!(), - }, - 22 => match __lookahead.1 { - (22, __tok0) => __Symbol::Term_22stream_22(__tok0), - _ => unreachable!(), - }, - 23 => match __lookahead.1 { - (23, __tok0) => __Symbol::Termr_23_22_5c_22_5b_5e_5c_22_5c_5c_5c_5c_5d_2a_5c_22_22_23(__tok0), - _ => unreachable!(), - }, - 24 => match __lookahead.1 { - (24, __tok0) => __Symbol::Termr_23_22_5b_2b_2d_5d_3f_5c_5cd_2b_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), - _ => 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), - _ => unreachable!(), - }, - _ => unreachable!(), - }; - __states.push(__action - 1); - __symbols.push((__lookahead.0, __symbol, __lookahead.2)); - continue '__shift; - } else if __action < 0 { - if let Some(r) = __reduce(input, __action, Some(&__lookahead.0), &mut __states, &mut __symbols) { - return r; - } - } else { - return Err(__lalrpop_util::ParseError::UnrecognizedToken { - token: Some(__lookahead), - expected: vec![], - }); - } - } - } - loop { - let __state = *__states.last().unwrap() as usize; - let __action = __EOF_ACTION[__state]; - if __action < 0 { - if let Some(r) = __reduce(input, __action, None, &mut __states, &mut __symbols) { - return r; - } - } else { - return Err(__lalrpop_util::ParseError::UnrecognizedToken { - token: None, - expected: vec![], - }); - } - } - } - pub fn __reduce< - 'input, - >( - input: &'input str, - __action: i32, - __lookahead_start: Option<&usize>, - __states: &mut ::std::vec::Vec, - __symbols: &mut ::std::vec::Vec<(usize,__Symbol<'input>,usize)>, - ) -> Option>> - { - let __nonterminal = match -__action { - 1 => { - // __float = float => ActionFn(2); - let __sym0 = __pop_Ntfloat(__symbols); - let __start = __sym0.0.clone(); - let __end = __sym0.2.clone(); - let __nt = super::__action2(input, __sym0); - let __states_len = __states.len(); - __states.truncate(__states_len - 1); - __symbols.push((__start, __Symbol::Nt____float(__nt), __end)); - 0 - } - 2 => { - // __identifier = identifier => ActionFn(0); - let __sym0 = __pop_Ntidentifier(__symbols); - let __start = __sym0.0.clone(); - let __end = __sym0.2.clone(); - let __nt = super::__action0(input, __sym0); - let __states_len = __states.len(); - __states.truncate(__states_len - 1); - __symbols.push((__start, __Symbol::Nt____identifier(__nt), __end)); - 1 - } - 3 => { + 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 + 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 214 + 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 215 + 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 216 + 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 217 + 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 218 + 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 219 + 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 220 + 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 221 + 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 222 + 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 223 + 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 224 + 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 225 + 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 226 + 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 227 + 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 228 + 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 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 + 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 + ]; + pub fn parse_model< + 'input, + >( + input: &'input str, + ) -> Result> + { + let mut __tokens = super::__intern_token::__Matcher::new(input); + let mut __states = vec![0_i32]; + let mut __symbols = vec![]; + '__shift: loop { + let __lookahead = match __tokens.next() { + Some(Ok(v)) => v, + None => break '__shift, + Some(Err(e)) => return Err(e), + }; + let __integer = match __lookahead { + (_, (0, _), _) if true => 0, + (_, (1, _), _) if true => 1, + (_, (2, _), _) if true => 2, + (_, (3, _), _) if true => 3, + (_, (4, _), _) if true => 4, + (_, (5, _), _) if true => 5, + (_, (6, _), _) if true => 6, + (_, (7, _), _) if true => 7, + (_, (8, _), _) if true => 8, + (_, (9, _), _) if true => 9, + (_, (10, _), _) if true => 10, + (_, (11, _), _) if true => 11, + (_, (12, _), _) if true => 12, + (_, (13, _), _) if true => 13, + (_, (14, _), _) if true => 14, + (_, (15, _), _) if true => 15, + (_, (16, _), _) if true => 16, + (_, (17, _), _) if true => 17, + (_, (18, _), _) if true => 18, + (_, (19, _), _) if true => 19, + (_, (20, _), _) if true => 20, + (_, (21, _), _) if true => 21, + (_, (22, _), _) if true => 22, + (_, (23, _), _) if true => 23, + (_, (24, _), _) if true => 24, + (_, (25, _), _) if true => 25, + (_, (26, _), _) if true => 26, + (_, (27, _), _) if true => 27, + _ => { + return Err(__lalrpop_util::ParseError::UnrecognizedToken { + token: Some(__lookahead), + expected: vec![], + }); + } + }; + loop { + let __state = *__states.last().unwrap() as usize; + let __action = __ACTION[__state * 28 + __integer]; + if __action > 0 { + let __symbol = match __integer { + 0 => match __lookahead.1 { + (0, __tok0) => __Symbol::Term_22_28_22(__tok0), + _ => unreachable!(), + }, + 1 => match __lookahead.1 { + (1, __tok0) => __Symbol::Term_22_29_22(__tok0), + _ => unreachable!(), + }, + 2 => match __lookahead.1 { + (2, __tok0) => __Symbol::Term_22_2a_22(__tok0), + _ => unreachable!(), + }, + 3 => match __lookahead.1 { + (3, __tok0) => __Symbol::Term_22_2b_22(__tok0), + _ => unreachable!(), + }, + 4 => match __lookahead.1 { + (4, __tok0) => __Symbol::Term_22_2c_22(__tok0), + _ => unreachable!(), + }, + 5 => match __lookahead.1 { + (5, __tok0) => __Symbol::Term_22_2d_22(__tok0), + _ => unreachable!(), + }, + 6 => match __lookahead.1 { + (6, __tok0) => __Symbol::Term_22_2f_22(__tok0), + _ => unreachable!(), + }, + 7 => match __lookahead.1 { + (7, __tok0) => __Symbol::Term_22_3b_22(__tok0), + _ => unreachable!(), + }, + 8 => match __lookahead.1 { + (8, __tok0) => __Symbol::Term_22_3d_22(__tok0), + _ => unreachable!(), + }, + 9 => match __lookahead.1 { + (9, __tok0) => __Symbol::Term_22_5e_22(__tok0), + _ => unreachable!(), + }, + 10 => match __lookahead.1 { + (10, __tok0) => __Symbol::Term_22abs_22(__tok0), + _ => unreachable!(), + }, + 11 => match __lookahead.1 { + (11, __tok0) => __Symbol::Term_22connect_22(__tok0), + _ => unreachable!(), + }, + 12 => match __lookahead.1 { + (12, __tok0) => __Symbol::Term_22constant_22(__tok0), + _ => unreachable!(), + }, + 13 => match __lookahead.1 { + (13, __tok0) => __Symbol::Term_22der_22(__tok0), + _ => unreachable!(), + }, + 14 => match __lookahead.1 { + (14, __tok0) => __Symbol::Term_22discrete_22(__tok0), + _ => unreachable!(), + }, + 15 => match __lookahead.1 { + (15, __tok0) => __Symbol::Term_22end_22(__tok0), + _ => unreachable!(), + }, + 16 => match __lookahead.1 { + (16, __tok0) => __Symbol::Term_22equation_22(__tok0), + _ => unreachable!(), + }, + 17 => match __lookahead.1 { + (17, __tok0) => __Symbol::Term_22flow_22(__tok0), + _ => unreachable!(), + }, + 18 => match __lookahead.1 { + (18, __tok0) => __Symbol::Term_22input_22(__tok0), + _ => unreachable!(), + }, + 19 => match __lookahead.1 { + (19, __tok0) => __Symbol::Term_22model_22(__tok0), + _ => unreachable!(), + }, + 20 => match __lookahead.1 { + (20, __tok0) => __Symbol::Term_22output_22(__tok0), + _ => unreachable!(), + }, + 21 => match __lookahead.1 { + (21, __tok0) => __Symbol::Term_22parameter_22(__tok0), + _ => unreachable!(), + }, + 22 => match __lookahead.1 { + (22, __tok0) => __Symbol::Term_22stream_22(__tok0), + _ => unreachable!(), + }, + 23 => match __lookahead.1 { + (23, __tok0) => __Symbol::Term_22unit_22(__tok0), + _ => unreachable!(), + }, + 24 => match __lookahead.1 { + (24, __tok0) => __Symbol::Termr_23_22_5c_22_5b_5e_5c_22_5c_5c_5c_5c_5d_2a_5c_22_22_23(__tok0), + _ => unreachable!(), + }, + 25 => match __lookahead.1 { + (25, __tok0) => __Symbol::Termr_23_22_5b_2b_2d_5d_3f_5c_5cd_2b_22_23(__tok0), + _ => unreachable!(), + }, + 26 => match __lookahead.1 { + (26, __tok0) => __Symbol::Termr_23_22_5b_2b_2d_5d_3f_5c_5cd_2b_5c_5c_2e_5c_5cd_2a_28_5beE_5d_5b_2d_2b_5d_3f_5c_5cd_2b_29_3f_22_23(__tok0), + _ => unreachable!(), + }, + 27 => match __lookahead.1 { + (27, __tok0) => __Symbol::Termr_23_22_5ba_2dzA_2dZ___5d_5ba_2dzA_2dZ__0_2d9_5d_2a_22_23(__tok0), + _ => unreachable!(), + }, + _ => unreachable!(), + }; + __states.push(__action - 1); + __symbols.push((__lookahead.0, __symbol, __lookahead.2)); + continue '__shift; + } else if __action < 0 { + if let Some(r) = __reduce(input, __action, Some(&__lookahead.0), &mut __states, &mut __symbols) { + return r; + } + } else { + return Err(__lalrpop_util::ParseError::UnrecognizedToken { + token: Some(__lookahead), + expected: vec![], + }); + } + } + } + loop { + let __state = *__states.last().unwrap() as usize; + let __action = __EOF_ACTION[__state]; + if __action < 0 { + if let Some(r) = __reduce(input, __action, None, &mut __states, &mut __symbols) { + return r; + } + } else { + return Err(__lalrpop_util::ParseError::UnrecognizedToken { + token: None, + expected: vec![], + }); + } + } + } + pub fn __reduce< + 'input, + >( + input: &'input str, + __action: i32, + __lookahead_start: Option<&usize>, + __states: &mut ::std::vec::Vec, + __symbols: &mut ::std::vec::Vec<(usize,__Symbol<'input>,usize)>, + ) -> Option>> + { + let __nonterminal = match -__action { + 1 => { + // __float = float => ActionFn(2); + let __sym0 = __pop_Ntfloat(__symbols); + let __start = __sym0.0.clone(); + let __end = __sym0.2.clone(); + let __nt = super::__action2(input, __sym0); + let __states_len = __states.len(); + __states.truncate(__states_len - 1); + __symbols.push((__start, __Symbol::Nt____float(__nt), __end)); + 0 + } + 2 => { + // __identifier = identifier => ActionFn(0); + let __sym0 = __pop_Ntidentifier(__symbols); + let __start = __sym0.0.clone(); + let __end = __sym0.2.clone(); + let __nt = super::__action0(input, __sym0); + let __states_len = __states.len(); + __states.truncate(__states_len - 1); + __symbols.push((__start, __Symbol::Nt____identifier(__nt), __end)); + 1 + } + 3 => { // __integer = integer => ActionFn(1); let __sym0 = __pop_Ntinteger(__symbols); let __start = __sym0.0.clone(); @@ -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, usize) { + match __symbols.pop().unwrap() { + (__l, __Symbol::Ntunits__declaration_3f(__v), __r) => (__l, __v, __r), + _ => panic!("symbol type mismatch") + } + } + fn __pop_Ntvalue__declaration< + 'input, + >( + __symbols: &mut ::std::vec::Vec<(usize,__Symbol<'input>,usize)> + ) -> (usize, Expr, usize) { + match __symbols.pop().unwrap() { + (__l, __Symbol::Ntvalue__declaration(__v), __r) => (__l, __v, __r), + _ => panic!("symbol type mismatch") + } + } + fn __pop_Ntvalue__declaration_3f< + 'input, + >( + __symbols: &mut ::std::vec::Vec<(usize,__Symbol<'input>,usize)> + ) -> (usize, ::std::option::Option, usize) { + match __symbols.pop().unwrap() { + (__l, __Symbol::Ntvalue__declaration_3f(__v), __r) => (__l, __v, __r), + _ => panic!("symbol type mismatch") + } + } } pub use self::__parse__model::parse_model; mod __intern_token { @@ -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,29 +23500,67 @@ 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; } } } 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,75 @@ 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((27, __index + __ch.len_utf8())); + __current_state = 29; + continue; + } + _ => { + return __current_match; + } + } + } + 38 => { + let (__index, __ch) = match __chars.next() { Some(p) => p, None => return __current_match }; + match __ch as u32 { + 48 ... 57 => { + __current_match = Some((27, __index + __ch.len_utf8())); + __current_state = 29; + continue; + } + 65 ... 90 => { + __current_match = Some((27, __index + __ch.len_utf8())); + __current_state = 29; + continue; + } + 95 => /* '_' */ { + __current_match = Some((27, __index + 1)); + __current_state = 29; + continue; + } + 97 ... 99 => { + __current_match = Some((27, __index + __ch.len_utf8())); + __current_state = 29; continue; } - 113 ... 122 => { - __current_match = Some((26, __index + __ch.len_utf8())); - __current_state = 28; + 100 => /* 'd' */ { + __current_match = Some((27, __index + 1)); + __current_state = 52; + continue; + } + 101 ... 122 => { + __current_match = Some((27, __index + __ch.len_utf8())); + __current_state = 29; continue; } _ => { @@ -20727,37 +24217,37 @@ mod __intern_token { } } } - 37 => { + 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 ... 99 => { - __current_match = Some((26, __index + __ch.len_utf8())); - __current_state = 28; + 97 ... 115 => { + __current_match = Some((27, __index + __ch.len_utf8())); + __current_state = 29; continue; } - 100 => /* 'd' */ { - __current_match = Some((26, __index + 1)); - __current_state = 50; + 116 => /* 't' */ { + __current_match = Some((27, __index + 1)); + __current_state = 53; continue; } - 101 ... 122 => { - __current_match = Some((26, __index + __ch.len_utf8())); - __current_state = 28; + 117 ... 122 => { + __current_match = Some((27, __index + __ch.len_utf8())); + __current_state = 29; continue; } _ => { @@ -20765,37 +24255,37 @@ mod __intern_token { } } } - 38 => { + 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 ... 115 => { - __current_match = Some((26, __index + __ch.len_utf8())); - __current_state = 28; + 97 ... 113 => { + __current_match = Some((27, __index + __ch.len_utf8())); + __current_state = 29; continue; } - 116 => /* 't' */ { - __current_match = Some((26, __index + 1)); - __current_state = 51; + 114 => /* 'r' */ { + __current_match = Some((27, __index + 1)); + __current_state = 54; continue; } - 117 ... 122 => { - __current_match = Some((26, __index + __ch.len_utf8())); - __current_state = 28; + 115 ... 122 => { + __current_match = Some((27, __index + __ch.len_utf8())); + __current_state = 29; continue; } _ => { @@ -20803,37 +24293,37 @@ mod __intern_token { } } } - 39 => { + 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 = 52; + __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; } _ => { @@ -20841,37 +24331,37 @@ mod __intern_token { } } } - 40 => { + 42 => { 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; + 97 ... 104 => { + __current_match = Some((27, __index + __ch.len_utf8())); + __current_state = 29; continue; } - 114 => /* 'r' */ { - __current_match = Some((26, __index + 1)); - __current_state = 53; + 105 => /* 'i' */ { + __current_match = Some((27, __index + 1)); + __current_state = 56; continue; } - 115 ... 122 => { - __current_match = Some((26, __index + __ch.len_utf8())); - __current_state = 28; + 106 ... 122 => { + __current_match = Some((27, __index + __ch.len_utf8())); + __current_state = 29; continue; } _ => { @@ -20879,270 +24369,270 @@ mod __intern_token { } } } - 41 => { + 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,75 @@ 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; + } + _ => { + return __current_match; + } + } + } + 53 => { + let (__index, __ch) = match __chars.next() { Some(p) => p, None => return __current_match }; + match __ch as u32 { + 48 ... 57 => { + __current_match = Some((27, __index + __ch.len_utf8())); + __current_state = 29; + continue; + } + 65 ... 90 => { + __current_match = Some((27, __index + __ch.len_utf8())); + __current_state = 29; + continue; + } + 95 => /* '_' */ { + __current_match = Some((27, __index + 1)); + __current_state = 29; + continue; + } + 97 ... 111 => { + __current_match = Some((27, __index + __ch.len_utf8())); + __current_state = 29; + continue; + } + 112 => /* 'p' */ { + __current_match = Some((27, __index + 1)); + __current_state = 66; + continue; + } + 113 ... 122 => { + __current_match = Some((27, __index + __ch.len_utf8())); + __current_state = 29; continue; } _ => { @@ -21467,37 +24995,32 @@ mod __intern_token { } } } - 51 => { + 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; - continue; - } - 97 ... 111 => { - __current_match = Some((26, __index + __ch.len_utf8())); - __current_state = 28; + __current_match = Some((27, __index + 1)); + __current_state = 29; continue; } - 112 => /* 'p' */ { - __current_match = Some((26, __index + 1)); - __current_state = 63; + 97 => /* 'a' */ { + __current_match = Some((27, __index + 1)); + __current_state = 67; continue; } - 113 ... 122 => { - __current_match = Some((26, __index + __ch.len_utf8())); - __current_state = 28; + 98 ... 122 => { + __current_match = Some((27, __index + __ch.len_utf8())); + __current_state = 29; continue; } _ => { @@ -21505,32 +25028,37 @@ mod __intern_token { } } } - 52 => { + 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 => /* 'a' */ { - __current_match = Some((26, __index + 1)); - __current_state = 64; + 97 ... 100 => { + __current_match = Some((27, __index + __ch.len_utf8())); + __current_state = 29; continue; } - 98 ... 122 => { - __current_match = Some((26, __index + __ch.len_utf8())); - __current_state = 28; + 101 => /* 'e' */ { + __current_match = Some((27, __index + 1)); + __current_state = 68; + continue; + } + 102 ... 122 => { + __current_match = Some((27, __index + __ch.len_utf8())); + __current_state = 29; continue; } _ => { @@ -21538,37 +25066,37 @@ mod __intern_token { } } } - 53 => { + 56 => { 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; + 97 ... 115 => { + __current_match = Some((27, __index + __ch.len_utf8())); + __current_state = 29; continue; } - 101 => /* 'e' */ { - __current_match = Some((26, __index + 1)); - __current_state = 65; + 116 => /* 't' */ { + __current_match = Some((23, __index + 1)); + __current_state = 69; continue; } - 102 ... 122 => { - __current_match = Some((26, __index + __ch.len_utf8())); - __current_state = 28; + 117 ... 122 => { + __current_match = Some((27, __index + __ch.len_utf8())); + __current_state = 29; continue; } _ => { @@ -21576,262 +25104,262 @@ mod __intern_token { } } } - 54 => { + 57 => { 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; + 70864 ... 70873 => { + __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; + 97 ... 115 => { + __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; } _ => { @@ -23402,801 +26958,1512 @@ mod __intern_token { } #[allow(unused_variables)] -pub fn __action0< +pub fn __action0< + 'input, +>( + input: &'input str, + (_, __0, _): (usize, String, usize), +) -> String +{ + (__0) +} + +#[allow(unused_variables)] +pub fn __action1< + 'input, +>( + input: &'input str, + (_, __0, _): (usize, i64, usize), +) -> i64 +{ + (__0) +} + +#[allow(unused_variables)] +pub fn __action2< + 'input, +>( + input: &'input str, + (_, __0, _): (usize, f64, usize), +) -> f64 +{ + (__0) +} + +#[allow(unused_variables)] +pub fn __action3< + 'input, +>( + input: &'input str, + (_, __0, _): (usize, ModelicaModel, usize), +) -> ModelicaModel +{ + (__0) +} + +#[allow(unused_variables)] +pub fn __action4< + 'input, +>( + input: &'input str, + (_, __0, _): (usize, &'input str, usize), +) -> String +{ + __0.to_string() +} + +#[allow(unused_variables)] +pub fn __action5< + 'input, +>( + input: &'input str, + (_, __0, _): (usize, &'input str, usize), +) -> String +{ + __0.to_string() +} + +#[allow(unused_variables)] +pub fn __action6< + 'input, +>( + input: &'input str, + (_, __0, _): (usize, &'input str, usize), +) -> i64 +{ + i64::from_str(__0).unwrap() +} + +#[allow(unused_variables)] +pub fn __action7< + 'input, +>( + input: &'input str, + (_, __0, _): (usize, &'input str, usize), +) -> f64 +{ + f64::from_str(__0).unwrap() +} + +#[allow(unused_variables)] +pub fn __action8< + 'input, +>( + input: &'input str, + (_, _, _): (usize, &'input str, usize), + (_, n, _): (usize, String, usize), + (_, cd, _): (usize, ::std::vec::Vec, usize), + (_, _, _): (usize, &'input str, usize), + (_, cc, _): (usize, ::std::vec::Vec, usize), + (_, se, _): (usize, ::std::vec::Vec, usize), + (_, _, _): (usize, &'input str, usize), + (_, _, _): (usize, String, usize), + (_, _, _): (usize, &'input str, usize), +) -> ModelicaModel +{ + ModelicaModel { name:n, components: cd, connections: cc, equations: se, extends: vec![] } +} + +#[allow(unused_variables)] +pub fn __action9< + 'input, +>( + input: &'input str, + (_, _, _): (usize, &'input str, usize), + (_, value, _): (usize, Expr, usize), +) -> Expr +{ + value +} + +#[allow(unused_variables)] +pub fn __action10< + 'input, +>( + input: &'input str, + (_, _, _): (usize, &'input str, usize), + (_, _, _): (usize, &'input str, usize), + (_, _, _): (usize, &'input str, usize), + (_, units, _): (usize, String, usize), + (_, _, _): (usize, &'input str, usize), +) -> String +{ + units +} + +#[allow(unused_variables)] +pub fn __action11< 'input, >( input: &'input str, - (_, __0, _): (usize, String, usize), -) -> String + (_, prefix, _): (usize, ::std::option::Option, usize), + (_, specifier, _): (usize, String, usize), + (_, name, _): (usize, String, usize), + (_, units, _): (usize, ::std::option::Option, usize), + (_, value, _): (usize, ::std::option::Option, usize), + (_, desc, _): (usize, ::std::option::Option, usize), + (_, _, _): (usize, &'input str, usize), +) -> Component { - (__0) + Component { prefix:prefix, specifier:specifier, name:name, description:desc, value:value, units:units } } #[allow(unused_variables)] -pub fn __action1< +pub fn __action12< 'input, >( input: &'input str, - (_, __0, _): (usize, i64, usize), -) -> i64 + (_, __0, _): (usize, &'input str, usize), +) -> ComponentPrefix { - (__0) + ComponentPrefix::Flow } #[allow(unused_variables)] -pub fn __action2< +pub fn __action13< 'input, >( input: &'input str, - (_, __0, _): (usize, f64, usize), -) -> f64 + (_, __0, _): (usize, &'input str, usize), +) -> ComponentPrefix { - (__0) + ComponentPrefix::Stream } #[allow(unused_variables)] -pub fn __action3< +pub fn __action14< 'input, >( input: &'input str, - (_, __0, _): (usize, ModelicaModel, usize), -) -> ModelicaModel + (_, __0, _): (usize, &'input str, usize), +) -> ComponentPrefix { - (__0) + ComponentPrefix::Input } #[allow(unused_variables)] -pub fn __action4< +pub fn __action15< 'input, >( input: &'input str, (_, __0, _): (usize, &'input str, usize), -) -> String +) -> ComponentPrefix { - __0.to_string() + ComponentPrefix::Output } #[allow(unused_variables)] -pub fn __action5< +pub fn __action16< 'input, >( input: &'input str, (_, __0, _): (usize, &'input str, usize), -) -> String +) -> ComponentPrefix { - __0.to_string() + ComponentPrefix::Discrete } #[allow(unused_variables)] -pub fn __action6< +pub fn __action17< 'input, >( input: &'input str, (_, __0, _): (usize, &'input str, usize), -) -> i64 +) -> ComponentPrefix { - i64::from_str(__0).unwrap() + ComponentPrefix::Parameter } #[allow(unused_variables)] -pub fn __action7< +pub fn __action18< 'input, >( input: &'input str, (_, __0, _): (usize, &'input str, usize), -) -> f64 +) -> ComponentPrefix { - f64::from_str(__0).unwrap() + ComponentPrefix::Constant } #[allow(unused_variables)] -pub fn __action8< +pub fn __action19< 'input, >( input: &'input str, + (_, lhs, _): (usize, Expr, usize), (_, _, _): (usize, &'input str, usize), - (_, n, _): (usize, String, usize), - (_, cd, _): (usize, ::std::vec::Vec, usize), + (_, rhs, _): (usize, Expr, usize), (_, _, _): (usize, &'input str, usize), - (_, cc, _): (usize, ::std::vec::Vec, usize), - (_, se, _): (usize, ::std::vec::Vec, usize), +) -> SimpleEquation +{ + SimpleEquation {lhs:lhs, rhs:rhs} +} + +#[allow(unused_variables)] +pub fn __action20< + 'input, +>( + input: &'input str, (_, _, _): (usize, &'input str, usize), - (_, _, _): (usize, String, usize), (_, _, _): (usize, &'input str, usize), -) -> ModelicaModel + (_, a, _): (usize, String, usize), + (_, _, _): (usize, &'input str, usize), + (_, b, _): (usize, String, usize), + (_, _, _): (usize, &'input str, usize), + (_, _, _): (usize, &'input str, usize), +) -> Connection { - ModelicaModel { name:n, components: cd, connections: cc, equations: se, extends: vec![] } + Connection { a: a.to_string(), b: b.to_string()} } #[allow(unused_variables)] -pub fn __action9< +pub fn __action21< 'input, >( input: &'input str, - (_, prefix, _): (usize, ::std::option::Option, usize), - (_, specifier, _): (usize, String, usize), - (_, name, _): (usize, String, usize), - (_, _, _): (usize, ::std::option::Option, usize), + (_, lhs, _): (usize, Expr, usize), (_, _, _): (usize, &'input str, usize), -) -> Component + (_, rhs, _): (usize, Expr, usize), +) -> Expr { - Component { prefix:prefix, specifier:specifier, name:name} + Expr::BinExpr(BinOperator::Add, Box::new(lhs), Box::new(rhs)) } #[allow(unused_variables)] -pub fn __action10< +pub fn __action22< 'input, >( input: &'input str, - (_, prefix, _): (usize, ::std::option::Option, usize), - (_, specifier, _): (usize, String, usize), - (_, name, _): (usize, String, usize), + (_, lhs, _): (usize, Expr, usize), (_, _, _): (usize, &'input str, usize), - (_, value, _): (usize, Expr, usize), - (_, _, _): (usize, ::std::option::Option, usize), + (_, rhs, _): (usize, Expr, usize), +) -> Expr +{ + Expr::BinExpr(BinOperator::Subtract, Box::new(lhs), Box::new(rhs)) +} + +#[allow(unused_variables)] +pub fn __action23< + 'input, +>( + input: &'input str, + (_, __0, _): (usize, Expr, usize), +) -> Expr +{ + (__0) +} + +#[allow(unused_variables)] +pub fn __action24< + 'input, +>( + input: &'input str, + (_, lhs, _): (usize, Expr, usize), + (_, _, _): (usize, &'input str, usize), + (_, rhs, _): (usize, Expr, usize), +) -> Expr +{ + Expr::BinExpr(BinOperator::Multiply, Box::new(lhs), Box::new(rhs)) +} + +#[allow(unused_variables)] +pub fn __action25< + 'input, +>( + input: &'input str, + (_, lhs, _): (usize, Expr, usize), + (_, _, _): (usize, &'input str, usize), + (_, rhs, _): (usize, Expr, usize), +) -> Expr +{ + Expr::BinExpr(BinOperator::Divide, Box::new(lhs), Box::new(rhs)) +} + +#[allow(unused_variables)] +pub fn __action26< + 'input, +>( + input: &'input str, + (_, lhs, _): (usize, Expr, usize), + (_, _, _): (usize, &'input str, usize), + (_, rhs, _): (usize, Expr, usize), +) -> Expr +{ + Expr::BinExpr(BinOperator::Divide, Box::new(lhs), Box::new(rhs)) +} + +#[allow(unused_variables)] +pub fn __action27< + 'input, +>( + input: &'input str, + (_, _, _): (usize, &'input str, usize), + (_, t, _): (usize, Expr, usize), +) -> Expr +{ + Expr::BinExpr(BinOperator::Multiply, Box::new(Expr::Integer(-1)), Box::new(t)) +} + +#[allow(unused_variables)] +pub fn __action28< + 'input, +>( + input: &'input str, + (_, __0, _): (usize, Expr, usize), +) -> Expr +{ + (__0) +} + +#[allow(unused_variables)] +pub fn __action29< + 'input, +>( + input: &'input str, + (_, __0, _): (usize, i64, usize), +) -> Expr +{ + Expr::Integer(__0) +} + +#[allow(unused_variables)] +pub fn __action30< + 'input, +>( + input: &'input str, + (_, __0, _): (usize, f64, usize), +) -> Expr +{ + Expr::Float(__0) +} + +#[allow(unused_variables)] +pub fn __action31< + 'input, +>( + input: &'input str, + (_, __0, _): (usize, String, usize), +) -> Expr +{ + Expr::Ident(__0) +} + +#[allow(unused_variables)] +pub fn __action32< + 'input, +>( + input: &'input str, + (_, _, _): (usize, &'input str, usize), + (_, _, _): (usize, &'input str, usize), + (_, e, _): (usize, Expr, usize), + (_, _, _): (usize, &'input str, usize), +) -> Expr +{ + Expr::Der(Box::new(e)) +} + +#[allow(unused_variables)] +pub fn __action33< + 'input, +>( + input: &'input str, + (_, _, _): (usize, &'input str, usize), + (_, _, _): (usize, &'input str, usize), + (_, e, _): (usize, Expr, usize), + (_, _, _): (usize, &'input str, usize), +) -> Expr +{ + Expr::Abs(Box::new(e)) +} + +#[allow(unused_variables)] +pub fn __action34< + 'input, +>( + input: &'input str, + (_, _, _): (usize, &'input str, usize), + (_, e, _): (usize, Expr, usize), (_, _, _): (usize, &'input str, usize), -) -> Component +) -> Expr { - Component { prefix:prefix, specifier:specifier, name:name} + e } #[allow(unused_variables)] -pub fn __action11< +pub fn __action35< 'input, >( input: &'input str, - (_, __0, _): (usize, &'input str, usize), -) -> ComponentPrefix + (_, __0, _): (usize, String, usize), +) -> ::std::option::Option { - ComponentPrefix::Flow + Some(__0) } #[allow(unused_variables)] -pub fn __action12< +pub fn __action36< 'input, >( input: &'input str, - (_, __0, _): (usize, &'input str, usize), -) -> ComponentPrefix + __lookbehind: &usize, + __lookahead: &usize, +) -> ::std::option::Option { - ComponentPrefix::Stream + None } #[allow(unused_variables)] -pub fn __action13< +pub fn __action37< 'input, >( input: &'input str, - (_, __0, _): (usize, &'input str, usize), -) -> ComponentPrefix + (_, __0, _): (usize, Expr, usize), +) -> ::std::option::Option { - ComponentPrefix::Input + Some(__0) } #[allow(unused_variables)] -pub fn __action14< +pub fn __action38< 'input, >( input: &'input str, - (_, __0, _): (usize, &'input str, usize), -) -> ComponentPrefix + __lookbehind: &usize, + __lookahead: &usize, +) -> ::std::option::Option { - ComponentPrefix::Output + None } #[allow(unused_variables)] -pub fn __action15< +pub fn __action39< 'input, >( input: &'input str, - (_, __0, _): (usize, &'input str, usize), -) -> ComponentPrefix + (_, __0, _): (usize, String, usize), +) -> ::std::option::Option { - ComponentPrefix::Discrete + Some(__0) } #[allow(unused_variables)] -pub fn __action16< +pub fn __action40< 'input, >( input: &'input str, - (_, __0, _): (usize, &'input str, usize), -) -> ComponentPrefix + __lookbehind: &usize, + __lookahead: &usize, +) -> ::std::option::Option { - ComponentPrefix::Parameter + None } #[allow(unused_variables)] -pub fn __action17< +pub fn __action41< 'input, >( input: &'input str, - (_, __0, _): (usize, &'input str, usize), -) -> ComponentPrefix + (_, __0, _): (usize, ComponentPrefix, usize), +) -> ::std::option::Option { - ComponentPrefix::Constant + Some(__0) } #[allow(unused_variables)] -pub fn __action18< +pub fn __action42< 'input, >( input: &'input str, - (_, lhs, _): (usize, Expr, usize), - (_, _, _): (usize, &'input str, usize), - (_, rhs, _): (usize, Expr, usize), - (_, _, _): (usize, &'input str, usize), -) -> SimpleEquation + __lookbehind: &usize, + __lookahead: &usize, +) -> ::std::option::Option { - SimpleEquation {lhs:lhs, rhs:rhs} + None } #[allow(unused_variables)] -pub fn __action19< +pub fn __action43< 'input, >( input: &'input str, - (_, _, _): (usize, &'input str, usize), - (_, _, _): (usize, &'input str, usize), - (_, a, _): (usize, String, usize), - (_, _, _): (usize, &'input str, usize), - (_, b, _): (usize, String, usize), - (_, _, _): (usize, &'input str, usize), - (_, _, _): (usize, &'input str, usize), -) -> Connection + __lookbehind: &usize, + __lookahead: &usize, +) -> ::std::vec::Vec { - Connection { a: a.to_string(), b: b.to_string()} + vec![] } #[allow(unused_variables)] -pub fn __action20< +pub fn __action44< 'input, >( input: &'input str, - (_, lhs, _): (usize, Expr, usize), - (_, _, _): (usize, &'input str, usize), - (_, rhs, _): (usize, Expr, usize), -) -> Expr + (_, v, _): (usize, ::std::vec::Vec, usize), +) -> ::std::vec::Vec { - Expr::BinExpr(BinOperator::Add, Box::new(lhs), Box::new(rhs)) + v } #[allow(unused_variables)] -pub fn __action21< +pub fn __action45< 'input, >( input: &'input str, - (_, lhs, _): (usize, Expr, usize), - (_, _, _): (usize, &'input str, usize), - (_, rhs, _): (usize, Expr, usize), -) -> Expr + __lookbehind: &usize, + __lookahead: &usize, +) -> ::std::vec::Vec { - Expr::BinExpr(BinOperator::Subtract, Box::new(lhs), Box::new(rhs)) + vec![] } #[allow(unused_variables)] -pub fn __action22< +pub fn __action46< 'input, >( input: &'input str, - (_, __0, _): (usize, Expr, usize), -) -> Expr + (_, v, _): (usize, ::std::vec::Vec, usize), +) -> ::std::vec::Vec { - (__0) + v } #[allow(unused_variables)] -pub fn __action23< +pub fn __action47< 'input, >( input: &'input str, - (_, lhs, _): (usize, Expr, usize), - (_, _, _): (usize, &'input str, usize), - (_, rhs, _): (usize, Expr, usize), -) -> Expr + __lookbehind: &usize, + __lookahead: &usize, +) -> ::std::vec::Vec { - Expr::BinExpr(BinOperator::Multiply, Box::new(lhs), Box::new(rhs)) + vec![] } #[allow(unused_variables)] -pub fn __action24< +pub fn __action48< 'input, >( input: &'input str, - (_, lhs, _): (usize, Expr, usize), - (_, _, _): (usize, &'input str, usize), - (_, rhs, _): (usize, Expr, usize), -) -> Expr + (_, v, _): (usize, ::std::vec::Vec, usize), +) -> ::std::vec::Vec { - Expr::BinExpr(BinOperator::Divide, Box::new(lhs), Box::new(rhs)) + v } #[allow(unused_variables)] -pub fn __action25< +pub fn __action49< 'input, >( input: &'input str, - (_, lhs, _): (usize, Expr, usize), - (_, _, _): (usize, &'input str, usize), - (_, rhs, _): (usize, Expr, usize), -) -> Expr + (_, __0, _): (usize, Component, usize), +) -> ::std::vec::Vec { - Expr::BinExpr(BinOperator::Divide, Box::new(lhs), Box::new(rhs)) + vec![__0] } #[allow(unused_variables)] -pub fn __action26< +pub fn __action50< 'input, >( input: &'input str, - (_, _, _): (usize, &'input str, usize), - (_, t, _): (usize, Expr, usize), -) -> Expr + (_, v, _): (usize, ::std::vec::Vec, usize), + (_, e, _): (usize, Component, usize), +) -> ::std::vec::Vec { - Expr::BinExpr(BinOperator::Multiply, Box::new(Expr::Integer(-1)), Box::new(t)) + { let mut v = v; v.push(e); v } } #[allow(unused_variables)] -pub fn __action27< +pub fn __action51< 'input, >( input: &'input str, - (_, __0, _): (usize, Expr, usize), -) -> Expr + (_, __0, _): (usize, Connection, usize), +) -> ::std::vec::Vec { - (__0) + vec![__0] } #[allow(unused_variables)] -pub fn __action28< +pub fn __action52< 'input, >( input: &'input str, - (_, __0, _): (usize, i64, usize), -) -> Expr + (_, v, _): (usize, ::std::vec::Vec, usize), + (_, e, _): (usize, Connection, usize), +) -> ::std::vec::Vec { - Expr::Integer(__0) + { let mut v = v; v.push(e); v } } #[allow(unused_variables)] -pub fn __action29< +pub fn __action53< 'input, >( input: &'input str, - (_, __0, _): (usize, f64, usize), -) -> Expr + (_, __0, _): (usize, SimpleEquation, usize), +) -> ::std::vec::Vec { - Expr::Float(__0) + vec![__0] } #[allow(unused_variables)] -pub fn __action30< +pub fn __action54< 'input, >( input: &'input str, - (_, __0, _): (usize, String, usize), -) -> Expr + (_, v, _): (usize, ::std::vec::Vec, usize), + (_, e, _): (usize, SimpleEquation, usize), +) -> ::std::vec::Vec { - Expr::Ident(__0) + { let mut v = v; v.push(e); v } } #[allow(unused_variables)] -pub fn __action31< +pub fn __action55< 'input, >( input: &'input str, - (_, _, _): (usize, &'input str, usize), - (_, _, _): (usize, &'input str, usize), - (_, e, _): (usize, Expr, usize), - (_, _, _): (usize, &'input str, usize), -) -> Expr + __0: (usize, &'input str, usize), + __1: (usize, String, usize), + __2: (usize, &'input str, usize), + __3: (usize, ::std::vec::Vec, usize), + __4: (usize, ::std::vec::Vec, usize), + __5: (usize, &'input str, usize), + __6: (usize, String, usize), + __7: (usize, &'input str, usize), +) -> ModelicaModel { - Expr::Der(Box::new(e)) + let __start0 = __1.2.clone(); + let __end0 = __2.0.clone(); + let __temp0 = __action47( + input, + &__start0, + &__end0, + ); + let __temp0 = (__start0, __temp0, __end0); + __action8( + input, + __0, + __1, + __temp0, + __2, + __3, + __4, + __5, + __6, + __7, + ) } #[allow(unused_variables)] -pub fn __action32< +pub fn __action56< 'input, >( input: &'input str, - (_, _, _): (usize, &'input str, usize), - (_, _, _): (usize, &'input str, usize), - (_, e, _): (usize, Expr, usize), - (_, _, _): (usize, &'input str, usize), -) -> Expr + __0: (usize, &'input str, usize), + __1: (usize, String, usize), + __2: (usize, ::std::vec::Vec, usize), + __3: (usize, &'input str, usize), + __4: (usize, ::std::vec::Vec, usize), + __5: (usize, ::std::vec::Vec, usize), + __6: (usize, &'input str, usize), + __7: (usize, String, usize), + __8: (usize, &'input str, usize), +) -> ModelicaModel { - Expr::Abs(Box::new(e)) + let __start0 = __2.0.clone(); + let __end0 = __2.2.clone(); + let __temp0 = __action48( + input, + __2, + ); + let __temp0 = (__start0, __temp0, __end0); + __action8( + input, + __0, + __1, + __temp0, + __3, + __4, + __5, + __6, + __7, + __8, + ) } #[allow(unused_variables)] -pub fn __action33< +pub fn __action57< 'input, >( input: &'input str, - (_, _, _): (usize, &'input str, usize), - (_, e, _): (usize, Expr, usize), - (_, _, _): (usize, &'input str, usize), -) -> Expr + __0: (usize, ComponentPrefix, usize), + __1: (usize, String, usize), + __2: (usize, String, usize), + __3: (usize, ::std::option::Option, usize), + __4: (usize, ::std::option::Option, usize), + __5: (usize, ::std::option::Option, usize), + __6: (usize, &'input str, usize), +) -> Component { - e + let __start0 = __0.0.clone(); + let __end0 = __0.2.clone(); + let __temp0 = __action41( + input, + __0, + ); + let __temp0 = (__start0, __temp0, __end0); + __action11( + input, + __temp0, + __1, + __2, + __3, + __4, + __5, + __6, + ) } #[allow(unused_variables)] -pub fn __action34< +pub fn __action58< 'input, >( input: &'input str, - (_, __0, _): (usize, String, usize), -) -> ::std::option::Option + __0: (usize, String, usize), + __1: (usize, String, usize), + __2: (usize, ::std::option::Option, usize), + __3: (usize, ::std::option::Option, usize), + __4: (usize, ::std::option::Option, usize), + __5: (usize, &'input str, usize), +) -> Component { - Some(__0) + let __start0 = __0.0.clone(); + let __end0 = __0.0.clone(); + let __temp0 = __action42( + input, + &__start0, + &__end0, + ); + let __temp0 = (__start0, __temp0, __end0); + __action11( + input, + __temp0, + __0, + __1, + __2, + __3, + __4, + __5, + ) } #[allow(unused_variables)] -pub fn __action35< +pub fn __action59< 'input, >( input: &'input str, - __lookbehind: &usize, - __lookahead: &usize, -) -> ::std::option::Option + __0: (usize, &'input str, usize), + __1: (usize, String, usize), + __2: (usize, &'input str, usize), + __3: (usize, ::std::vec::Vec, usize), + __4: (usize, &'input str, usize), + __5: (usize, String, usize), + __6: (usize, &'input str, usize), +) -> ModelicaModel { - None + let __start0 = __2.2.clone(); + let __end0 = __3.0.clone(); + let __temp0 = __action45( + input, + &__start0, + &__end0, + ); + let __temp0 = (__start0, __temp0, __end0); + __action55( + input, + __0, + __1, + __2, + __temp0, + __3, + __4, + __5, + __6, + ) } #[allow(unused_variables)] -pub fn __action36< +pub fn __action60< 'input, >( input: &'input str, - (_, __0, _): (usize, ComponentPrefix, usize), -) -> ::std::option::Option + __0: (usize, &'input str, usize), + __1: (usize, String, usize), + __2: (usize, &'input str, usize), + __3: (usize, ::std::vec::Vec, usize), + __4: (usize, ::std::vec::Vec, usize), + __5: (usize, &'input str, usize), + __6: (usize, String, usize), + __7: (usize, &'input str, usize), +) -> ModelicaModel { - Some(__0) + let __start0 = __3.0.clone(); + let __end0 = __3.2.clone(); + let __temp0 = __action46( + input, + __3, + ); + let __temp0 = (__start0, __temp0, __end0); + __action55( + input, + __0, + __1, + __2, + __temp0, + __4, + __5, + __6, + __7, + ) } #[allow(unused_variables)] -pub fn __action37< +pub fn __action61< 'input, >( input: &'input str, - __lookbehind: &usize, - __lookahead: &usize, -) -> ::std::option::Option + __0: (usize, &'input str, usize), + __1: (usize, String, usize), + __2: (usize, ::std::vec::Vec, usize), + __3: (usize, &'input str, usize), + __4: (usize, ::std::vec::Vec, usize), + __5: (usize, &'input str, usize), + __6: (usize, String, usize), + __7: (usize, &'input str, usize), +) -> ModelicaModel { - None + let __start0 = __3.2.clone(); + let __end0 = __4.0.clone(); + let __temp0 = __action45( + input, + &__start0, + &__end0, + ); + let __temp0 = (__start0, __temp0, __end0); + __action56( + input, + __0, + __1, + __2, + __3, + __temp0, + __4, + __5, + __6, + __7, + ) } #[allow(unused_variables)] -pub fn __action38< +pub fn __action62< 'input, >( input: &'input str, - __lookbehind: &usize, - __lookahead: &usize, -) -> ::std::vec::Vec + __0: (usize, &'input str, usize), + __1: (usize, String, usize), + __2: (usize, ::std::vec::Vec, usize), + __3: (usize, &'input str, usize), + __4: (usize, ::std::vec::Vec, usize), + __5: (usize, ::std::vec::Vec, usize), + __6: (usize, &'input str, usize), + __7: (usize, String, usize), + __8: (usize, &'input str, usize), +) -> ModelicaModel { - vec![] + let __start0 = __4.0.clone(); + let __end0 = __4.2.clone(); + let __temp0 = __action46( + input, + __4, + ); + let __temp0 = (__start0, __temp0, __end0); + __action56( + input, + __0, + __1, + __2, + __3, + __temp0, + __5, + __6, + __7, + __8, + ) } #[allow(unused_variables)] -pub fn __action39< +pub fn __action63< 'input, >( input: &'input str, - (_, v, _): (usize, ::std::vec::Vec, usize), -) -> ::std::vec::Vec + __0: (usize, &'input str, usize), + __1: (usize, String, usize), + __2: (usize, &'input str, usize), + __3: (usize, &'input str, usize), + __4: (usize, String, usize), + __5: (usize, &'input str, usize), +) -> ModelicaModel { - v + let __start0 = __2.2.clone(); + let __end0 = __3.0.clone(); + let __temp0 = __action43( + input, + &__start0, + &__end0, + ); + let __temp0 = (__start0, __temp0, __end0); + __action59( + input, + __0, + __1, + __2, + __temp0, + __3, + __4, + __5, + ) } #[allow(unused_variables)] -pub fn __action40< +pub fn __action64< 'input, >( input: &'input str, - __lookbehind: &usize, - __lookahead: &usize, -) -> ::std::vec::Vec + __0: (usize, &'input str, usize), + __1: (usize, String, usize), + __2: (usize, &'input str, usize), + __3: (usize, ::std::vec::Vec, usize), + __4: (usize, &'input str, usize), + __5: (usize, String, usize), + __6: (usize, &'input str, usize), +) -> ModelicaModel { - vec![] + let __start0 = __3.0.clone(); + let __end0 = __3.2.clone(); + let __temp0 = __action44( + input, + __3, + ); + let __temp0 = (__start0, __temp0, __end0); + __action59( + input, + __0, + __1, + __2, + __temp0, + __4, + __5, + __6, + ) } #[allow(unused_variables)] -pub fn __action41< +pub fn __action65< 'input, >( input: &'input str, - (_, v, _): (usize, ::std::vec::Vec, usize), -) -> ::std::vec::Vec + __0: (usize, &'input str, usize), + __1: (usize, String, usize), + __2: (usize, &'input str, usize), + __3: (usize, ::std::vec::Vec, usize), + __4: (usize, &'input str, usize), + __5: (usize, String, usize), + __6: (usize, &'input str, usize), +) -> ModelicaModel { - v + let __start0 = __3.2.clone(); + let __end0 = __4.0.clone(); + let __temp0 = __action43( + input, + &__start0, + &__end0, + ); + let __temp0 = (__start0, __temp0, __end0); + __action60( + input, + __0, + __1, + __2, + __3, + __temp0, + __4, + __5, + __6, + ) } #[allow(unused_variables)] -pub fn __action42< +pub fn __action66< 'input, >( input: &'input str, - __lookbehind: &usize, - __lookahead: &usize, -) -> ::std::vec::Vec + __0: (usize, &'input str, usize), + __1: (usize, String, usize), + __2: (usize, &'input str, usize), + __3: (usize, ::std::vec::Vec, usize), + __4: (usize, ::std::vec::Vec, usize), + __5: (usize, &'input str, usize), + __6: (usize, String, usize), + __7: (usize, &'input str, usize), +) -> ModelicaModel { - vec![] + let __start0 = __4.0.clone(); + let __end0 = __4.2.clone(); + let __temp0 = __action44( + input, + __4, + ); + let __temp0 = (__start0, __temp0, __end0); + __action60( + input, + __0, + __1, + __2, + __3, + __temp0, + __5, + __6, + __7, + ) } #[allow(unused_variables)] -pub fn __action43< +pub fn __action67< 'input, >( input: &'input str, - (_, v, _): (usize, ::std::vec::Vec, usize), -) -> ::std::vec::Vec + __0: (usize, &'input str, usize), + __1: (usize, String, usize), + __2: (usize, ::std::vec::Vec, usize), + __3: (usize, &'input str, usize), + __4: (usize, &'input str, usize), + __5: (usize, String, usize), + __6: (usize, &'input str, usize), +) -> ModelicaModel { - v + let __start0 = __3.2.clone(); + let __end0 = __4.0.clone(); + let __temp0 = __action43( + input, + &__start0, + &__end0, + ); + let __temp0 = (__start0, __temp0, __end0); + __action61( + input, + __0, + __1, + __2, + __3, + __temp0, + __4, + __5, + __6, + ) } #[allow(unused_variables)] -pub fn __action44< +pub fn __action68< 'input, >( input: &'input str, - (_, __0, _): (usize, Component, usize), -) -> ::std::vec::Vec + __0: (usize, &'input str, usize), + __1: (usize, String, usize), + __2: (usize, ::std::vec::Vec, usize), + __3: (usize, &'input str, usize), + __4: (usize, ::std::vec::Vec, usize), + __5: (usize, &'input str, usize), + __6: (usize, String, usize), + __7: (usize, &'input str, usize), +) -> ModelicaModel { - vec![__0] + let __start0 = __4.0.clone(); + let __end0 = __4.2.clone(); + let __temp0 = __action44( + input, + __4, + ); + let __temp0 = (__start0, __temp0, __end0); + __action61( + input, + __0, + __1, + __2, + __3, + __temp0, + __5, + __6, + __7, + ) } #[allow(unused_variables)] -pub fn __action45< +pub fn __action69< 'input, >( input: &'input str, - (_, v, _): (usize, ::std::vec::Vec, usize), - (_, e, _): (usize, Component, usize), -) -> ::std::vec::Vec + __0: (usize, &'input str, usize), + __1: (usize, String, usize), + __2: (usize, ::std::vec::Vec, usize), + __3: (usize, &'input str, usize), + __4: (usize, ::std::vec::Vec, usize), + __5: (usize, &'input str, usize), + __6: (usize, String, usize), + __7: (usize, &'input str, usize), +) -> ModelicaModel { - { let mut v = v; v.push(e); v } + let __start0 = __4.2.clone(); + let __end0 = __5.0.clone(); + let __temp0 = __action43( + input, + &__start0, + &__end0, + ); + let __temp0 = (__start0, __temp0, __end0); + __action62( + input, + __0, + __1, + __2, + __3, + __4, + __temp0, + __5, + __6, + __7, + ) } #[allow(unused_variables)] -pub fn __action46< +pub fn __action70< 'input, >( input: &'input str, - (_, __0, _): (usize, Connection, usize), -) -> ::std::vec::Vec + __0: (usize, &'input str, usize), + __1: (usize, String, usize), + __2: (usize, ::std::vec::Vec, usize), + __3: (usize, &'input str, usize), + __4: (usize, ::std::vec::Vec, usize), + __5: (usize, ::std::vec::Vec, usize), + __6: (usize, &'input str, usize), + __7: (usize, String, usize), + __8: (usize, &'input str, usize), +) -> ModelicaModel { - vec![__0] + let __start0 = __5.0.clone(); + let __end0 = __5.2.clone(); + let __temp0 = __action44( + input, + __5, + ); + let __temp0 = (__start0, __temp0, __end0); + __action62( + input, + __0, + __1, + __2, + __3, + __4, + __temp0, + __6, + __7, + __8, + ) } #[allow(unused_variables)] -pub fn __action47< +pub fn __action71< 'input, >( input: &'input str, - (_, v, _): (usize, ::std::vec::Vec, usize), - (_, e, _): (usize, Connection, usize), -) -> ::std::vec::Vec + __0: (usize, ComponentPrefix, usize), + __1: (usize, String, usize), + __2: (usize, String, usize), + __3: (usize, ::std::option::Option, usize), + __4: (usize, ::std::option::Option, usize), + __5: (usize, String, usize), + __6: (usize, &'input str, usize), +) -> Component { - { let mut v = v; v.push(e); v } + 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 __action48< +pub fn __action72< 'input, >( input: &'input str, - (_, __0, _): (usize, SimpleEquation, usize), -) -> ::std::vec::Vec + __0: (usize, ComponentPrefix, usize), + __1: (usize, String, usize), + __2: (usize, String, usize), + __3: (usize, ::std::option::Option, usize), + __4: (usize, ::std::option::Option, usize), + __5: (usize, &'input str, usize), +) -> Component { - vec![__0] + 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 __action49< +pub fn __action73< 'input, ->( - input: &'input str, - (_, v, _): (usize, ::std::vec::Vec, usize), - (_, e, _): (usize, SimpleEquation, usize), -) -> ::std::vec::Vec +>( + input: &'input str, + __0: (usize, String, usize), + __1: (usize, String, usize), + __2: (usize, ::std::option::Option, usize), + __3: (usize, ::std::option::Option, usize), + __4: (usize, String, usize), + __5: (usize, &'input str, usize), +) -> Component { - { let mut v = v; v.push(e); v } + 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 __action50< +pub fn __action74< 'input, >( input: &'input str, - __0: (usize, &'input str, usize), + __0: (usize, String, usize), __1: (usize, String, usize), - __2: (usize, &'input str, usize), - __3: (usize, ::std::vec::Vec, usize), - __4: (usize, ::std::vec::Vec, usize), - __5: (usize, &'input str, usize), - __6: (usize, String, usize), - __7: (usize, &'input str, usize), -) -> ModelicaModel + __2: (usize, ::std::option::Option, usize), + __3: (usize, ::std::option::Option, usize), + __4: (usize, &'input str, usize), +) -> Component { - let __start0 = __1.2.clone(); - let __end0 = __2.0.clone(); - let __temp0 = __action42( + let __start0 = __3.2.clone(); + let __end0 = __4.0.clone(); + let __temp0 = __action36( input, &__start0, &__end0, ); let __temp0 = (__start0, __temp0, __end0); - __action8( + __action58( input, __0, __1, - __temp0, __2, __3, + __temp0, __4, - __5, - __6, - __7, ) } #[allow(unused_variables)] -pub fn __action51< +pub fn __action75< 'input, >( input: &'input str, - __0: (usize, &'input str, usize), + __0: (usize, ComponentPrefix, usize), __1: (usize, String, usize), - __2: (usize, ::std::vec::Vec, usize), - __3: (usize, &'input str, usize), - __4: (usize, ::std::vec::Vec, usize), - __5: (usize, ::std::vec::Vec, usize), + __2: (usize, String, usize), + __3: (usize, String, usize), + __4: (usize, ::std::option::Option, usize), + __5: (usize, String, usize), __6: (usize, &'input str, usize), - __7: (usize, String, usize), - __8: (usize, &'input str, usize), -) -> ModelicaModel +) -> Component { - let __start0 = __2.0.clone(); - let __end0 = __2.2.clone(); - let __temp0 = __action43( + let __start0 = __3.0.clone(); + let __end0 = __3.2.clone(); + let __temp0 = __action39( input, - __2, + __3, ); let __temp0 = (__start0, __temp0, __end0); - __action8( + __action71( input, __0, __1, + __2, __temp0, - __3, __4, __5, __6, - __7, - __8, ) } #[allow(unused_variables)] -pub fn __action52< +pub fn __action76< 'input, >( input: &'input str, __0: (usize, ComponentPrefix, usize), __1: (usize, String, usize), __2: (usize, String, usize), - __3: (usize, ::std::option::Option, usize), - __4: (usize, &'input str, usize), + __3: (usize, ::std::option::Option, usize), + __4: (usize, String, usize), + __5: (usize, &'input str, usize), ) -> Component { - let __start0 = __0.0.clone(); - let __end0 = __0.2.clone(); - let __temp0 = __action36( + let __start0 = __2.2.clone(); + let __end0 = __3.0.clone(); + let __temp0 = __action40( input, - __0, + &__start0, + &__end0, ); let __temp0 = (__start0, __temp0, __end0); - __action9( + __action71( input, - __temp0, + __0, __1, __2, + __temp0, __3, __4, + __5, ) } #[allow(unused_variables)] -pub fn __action53< +pub fn __action77< 'input, >( input: &'input str, - __0: (usize, String, usize), + __0: (usize, ComponentPrefix, usize), __1: (usize, String, usize), - __2: (usize, ::std::option::Option, usize), - __3: (usize, &'input str, usize), + __2: (usize, String, usize), + __3: (usize, String, usize), + __4: (usize, ::std::option::Option, usize), + __5: (usize, &'input str, usize), ) -> Component { - let __start0 = __0.0.clone(); - let __end0 = __0.0.clone(); - let __temp0 = __action37( + let __start0 = __3.0.clone(); + let __end0 = __3.2.clone(); + let __temp0 = __action39( input, - &__start0, - &__end0, + __3, ); let __temp0 = (__start0, __temp0, __end0); - __action9( + __action72( input, - __temp0, __0, __1, __2, - __3, + __temp0, + __4, + __5, ) } #[allow(unused_variables)] -pub fn __action54< +pub fn __action78< '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), - __5: (usize, ::std::option::Option, usize), - __6: (usize, &'input str, usize), + __3: (usize, ::std::option::Option, usize), + __4: (usize, &'input str, usize), ) -> Component { - let __start0 = __0.0.clone(); - let __end0 = __0.2.clone(); - let __temp0 = __action36( + let __start0 = __2.2.clone(); + let __end0 = __3.0.clone(); + let __temp0 = __action40( input, - __0, + &__start0, + &__end0, ); let __temp0 = (__start0, __temp0, __end0); - __action10( + __action72( input, - __temp0, + __0, __1, __2, + __temp0, __3, __4, - __5, - __6, ) } #[allow(unused_variables)] -pub fn __action55< +pub fn __action79< 'input, >( input: &'input str, __0: (usize, String, usize), __1: (usize, String, usize), - __2: (usize, &'input str, usize), - __3: (usize, Expr, usize), - __4: (usize, ::std::option::Option, usize), + __2: (usize, String, usize), + __3: (usize, ::std::option::Option, usize), + __4: (usize, String, usize), __5: (usize, &'input str, usize), ) -> Component { - let __start0 = __0.0.clone(); - let __end0 = __0.0.clone(); - let __temp0 = __action37( + let __start0 = __2.0.clone(); + let __end0 = __2.2.clone(); + let __temp0 = __action39( input, - &__start0, - &__end0, + __2, ); let __temp0 = (__start0, __temp0, __end0); - __action10( + __action73( input, - __temp0, __0, __1, - __2, + __temp0, __3, __4, __5, @@ -24204,136 +28471,116 @@ pub fn __action55< } #[allow(unused_variables)] -pub fn __action56< +pub fn __action80< 'input, >( input: &'input str, - __0: (usize, &'input str, usize), + __0: (usize, String, usize), __1: (usize, String, usize), - __2: (usize, &'input str, usize), - __3: (usize, ::std::vec::Vec, usize), + __2: (usize, ::std::option::Option, usize), + __3: (usize, String, usize), __4: (usize, &'input str, usize), - __5: (usize, String, usize), - __6: (usize, &'input str, usize), -) -> ModelicaModel +) -> Component { - let __start0 = __2.2.clone(); - let __end0 = __3.0.clone(); + let __start0 = __1.2.clone(); + let __end0 = __2.0.clone(); let __temp0 = __action40( input, &__start0, &__end0, ); let __temp0 = (__start0, __temp0, __end0); - __action50( + __action73( input, __0, __1, - __2, __temp0, + __2, __3, __4, - __5, - __6, ) } #[allow(unused_variables)] -pub fn __action57< +pub fn __action81< 'input, >( input: &'input str, - __0: (usize, &'input str, usize), + __0: (usize, String, usize), __1: (usize, String, usize), - __2: (usize, &'input str, usize), - __3: (usize, ::std::vec::Vec, usize), - __4: (usize, ::std::vec::Vec, usize), - __5: (usize, &'input str, usize), - __6: (usize, String, usize), - __7: (usize, &'input str, usize), -) -> ModelicaModel + __2: (usize, String, usize), + __3: (usize, ::std::option::Option, usize), + __4: (usize, &'input str, usize), +) -> Component { - let __start0 = __3.0.clone(); - let __end0 = __3.2.clone(); - let __temp0 = __action41( + let __start0 = __2.0.clone(); + let __end0 = __2.2.clone(); + let __temp0 = __action39( input, - __3, + __2, ); let __temp0 = (__start0, __temp0, __end0); - __action50( + __action74( input, __0, __1, - __2, __temp0, + __3, __4, - __5, - __6, - __7, ) } #[allow(unused_variables)] -pub fn __action58< +pub fn __action82< 'input, >( input: &'input str, - __0: (usize, &'input str, usize), + __0: (usize, String, usize), __1: (usize, String, usize), - __2: (usize, ::std::vec::Vec, usize), + __2: (usize, ::std::option::Option, usize), __3: (usize, &'input str, usize), - __4: (usize, ::std::vec::Vec, usize), - __5: (usize, &'input str, usize), - __6: (usize, String, usize), - __7: (usize, &'input str, usize), -) -> ModelicaModel +) -> Component { - let __start0 = __3.2.clone(); - let __end0 = __4.0.clone(); + let __start0 = __1.2.clone(); + let __end0 = __2.0.clone(); let __temp0 = __action40( input, &__start0, &__end0, ); let __temp0 = (__start0, __temp0, __end0); - __action51( + __action74( input, __0, __1, + __temp0, __2, __3, - __temp0, - __4, - __5, - __6, - __7, ) } #[allow(unused_variables)] -pub fn __action59< +pub fn __action83< 'input, >( input: &'input str, - __0: (usize, &'input str, usize), + __0: (usize, ComponentPrefix, usize), __1: (usize, String, usize), - __2: (usize, ::std::vec::Vec, usize), - __3: (usize, &'input str, usize), - __4: (usize, ::std::vec::Vec, usize), - __5: (usize, ::std::vec::Vec, usize), + __2: (usize, String, usize), + __3: (usize, String, usize), + __4: (usize, Expr, usize), + __5: (usize, String, usize), __6: (usize, &'input str, usize), - __7: (usize, String, usize), - __8: (usize, &'input str, usize), -) -> ModelicaModel +) -> Component { let __start0 = __4.0.clone(); let __end0 = __4.2.clone(); - let __temp0 = __action41( + let __temp0 = __action37( input, __4, ); let __temp0 = (__start0, __temp0, __end0); - __action51( + __action75( input, __0, __1, @@ -24342,66 +28589,63 @@ pub fn __action59< __temp0, __5, __6, - __7, - __8, ) } #[allow(unused_variables)] -pub fn __action60< +pub fn __action84< 'input, >( input: &'input str, - __0: (usize, &'input str, usize), + __0: (usize, ComponentPrefix, usize), __1: (usize, String, usize), - __2: (usize, &'input str, usize), - __3: (usize, &'input str, usize), + __2: (usize, String, usize), + __3: (usize, String, usize), __4: (usize, String, usize), __5: (usize, &'input str, usize), -) -> ModelicaModel +) -> Component { - let __start0 = __2.2.clone(); - let __end0 = __3.0.clone(); + let __start0 = __3.2.clone(); + let __end0 = __4.0.clone(); let __temp0 = __action38( input, &__start0, &__end0, ); let __temp0 = (__start0, __temp0, __end0); - __action56( + __action75( input, __0, __1, __2, - __temp0, __3, + __temp0, __4, __5, ) } #[allow(unused_variables)] -pub fn __action61< +pub fn __action85< 'input, >( input: &'input str, - __0: (usize, &'input str, usize), + __0: (usize, ComponentPrefix, usize), __1: (usize, String, usize), - __2: (usize, &'input str, usize), - __3: (usize, ::std::vec::Vec, usize), - __4: (usize, &'input str, usize), - __5: (usize, String, usize), - __6: (usize, &'input str, usize), -) -> ModelicaModel + __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 = __action39( + let __temp0 = __action37( input, __3, ); let __temp0 = (__start0, __temp0, __end0); - __action56( + __action76( input, __0, __1, @@ -24409,68 +28653,61 @@ pub fn __action61< __temp0, __4, __5, - __6, ) } #[allow(unused_variables)] -pub fn __action62< +pub fn __action86< 'input, >( input: &'input str, - __0: (usize, &'input str, usize), + __0: (usize, ComponentPrefix, usize), __1: (usize, String, usize), - __2: (usize, &'input str, usize), - __3: (usize, ::std::vec::Vec, usize), + __2: (usize, String, usize), + __3: (usize, String, usize), __4: (usize, &'input str, usize), - __5: (usize, String, usize), - __6: (usize, &'input str, usize), -) -> ModelicaModel +) -> Component { - let __start0 = __3.2.clone(); - let __end0 = __4.0.clone(); + let __start0 = __2.2.clone(); + let __end0 = __3.0.clone(); let __temp0 = __action38( input, &__start0, &__end0, ); let __temp0 = (__start0, __temp0, __end0); - __action57( + __action76( input, __0, __1, __2, - __3, __temp0, + __3, __4, - __5, - __6, ) } #[allow(unused_variables)] -pub fn __action63< +pub fn __action87< 'input, >( input: &'input str, - __0: (usize, &'input str, usize), + __0: (usize, ComponentPrefix, usize), __1: (usize, String, usize), - __2: (usize, &'input str, usize), - __3: (usize, ::std::vec::Vec, usize), - __4: (usize, ::std::vec::Vec, usize), + __2: (usize, String, usize), + __3: (usize, String, usize), + __4: (usize, Expr, usize), __5: (usize, &'input str, usize), - __6: (usize, String, usize), - __7: (usize, &'input str, usize), -) -> ModelicaModel +) -> Component { let __start0 = __4.0.clone(); let __end0 = __4.2.clone(); - let __temp0 = __action39( + let __temp0 = __action37( input, __4, ); let __temp0 = (__start0, __temp0, __end0); - __action57( + __action77( input, __0, __1, @@ -24478,24 +28715,20 @@ pub fn __action63< __3, __temp0, __5, - __6, - __7, ) } #[allow(unused_variables)] -pub fn __action64< +pub fn __action88< 'input, >( input: &'input str, - __0: (usize, &'input str, usize), + __0: (usize, ComponentPrefix, usize), __1: (usize, String, usize), - __2: (usize, ::std::vec::Vec, usize), - __3: (usize, &'input str, usize), + __2: (usize, String, usize), + __3: (usize, String, usize), __4: (usize, &'input str, usize), - __5: (usize, String, usize), - __6: (usize, &'input str, usize), -) -> ModelicaModel +) -> Component { let __start0 = __3.2.clone(); let __end0 = __4.0.clone(); @@ -24505,7 +28738,7 @@ pub fn __action64< &__end0, ); let __temp0 = (__start0, __temp0, __end0); - __action58( + __action77( input, __0, __1, @@ -24513,357 +28746,296 @@ pub fn __action64< __3, __temp0, __4, - __5, - __6, ) } #[allow(unused_variables)] -pub fn __action65< +pub fn __action89< 'input, >( input: &'input str, - __0: (usize, &'input str, usize), + __0: (usize, ComponentPrefix, usize), __1: (usize, String, usize), - __2: (usize, ::std::vec::Vec, usize), - __3: (usize, &'input str, usize), - __4: (usize, ::std::vec::Vec, usize), - __5: (usize, &'input str, usize), - __6: (usize, String, usize), - __7: (usize, &'input str, usize), -) -> ModelicaModel + __2: (usize, String, usize), + __3: (usize, Expr, usize), + __4: (usize, &'input str, usize), +) -> Component { - let __start0 = __4.0.clone(); - let __end0 = __4.2.clone(); - let __temp0 = __action39( + let __start0 = __3.0.clone(); + let __end0 = __3.2.clone(); + let __temp0 = __action37( input, - __4, + __3, ); let __temp0 = (__start0, __temp0, __end0); - __action58( + __action78( input, __0, __1, __2, - __3, __temp0, - __5, - __6, - __7, + __4, ) } #[allow(unused_variables)] -pub fn __action66< +pub fn __action90< 'input, >( input: &'input str, - __0: (usize, &'input str, usize), + __0: (usize, ComponentPrefix, usize), __1: (usize, String, usize), - __2: (usize, ::std::vec::Vec, usize), + __2: (usize, String, usize), __3: (usize, &'input str, usize), - __4: (usize, ::std::vec::Vec, usize), - __5: (usize, &'input str, usize), - __6: (usize, String, usize), - __7: (usize, &'input str, usize), -) -> ModelicaModel +) -> Component { - let __start0 = __4.2.clone(); - let __end0 = __5.0.clone(); + let __start0 = __2.2.clone(); + let __end0 = __3.0.clone(); let __temp0 = __action38( input, &__start0, &__end0, ); let __temp0 = (__start0, __temp0, __end0); - __action59( + __action78( input, __0, __1, __2, - __3, - __4, __temp0, - __5, - __6, - __7, - ) -} - -#[allow(unused_variables)] -pub fn __action67< - 'input, ->( - input: &'input str, - __0: (usize, &'input str, usize), - __1: (usize, String, usize), - __2: (usize, ::std::vec::Vec, usize), - __3: (usize, &'input str, usize), - __4: (usize, ::std::vec::Vec, usize), - __5: (usize, ::std::vec::Vec, usize), - __6: (usize, &'input str, usize), - __7: (usize, String, usize), - __8: (usize, &'input str, usize), -) -> ModelicaModel -{ - let __start0 = __5.0.clone(); - let __end0 = __5.2.clone(); - let __temp0 = __action39( - input, - __5, - ); - let __temp0 = (__start0, __temp0, __end0); - __action59( - input, - __0, - __1, - __2, __3, - __4, - __temp0, - __6, - __7, - __8, ) } #[allow(unused_variables)] -pub fn __action68< +pub fn __action91< 'input, >( input: &'input str, - __0: (usize, ComponentPrefix, usize), + __0: (usize, String, usize), __1: (usize, String, usize), __2: (usize, String, usize), - __3: (usize, String, usize), - __4: (usize, &'input str, 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 = __action34( + let __temp0 = __action37( input, __3, ); let __temp0 = (__start0, __temp0, __end0); - __action52( + __action79( input, __0, __1, __2, __temp0, __4, + __5, ) } #[allow(unused_variables)] -pub fn __action69< +pub fn __action92< 'input, >( input: &'input str, - __0: (usize, ComponentPrefix, usize), + __0: (usize, String, usize), __1: (usize, String, usize), __2: (usize, String, usize), - __3: (usize, &'input str, usize), + __3: (usize, String, usize), + __4: (usize, &'input str, usize), ) -> Component { let __start0 = __2.2.clone(); let __end0 = __3.0.clone(); - let __temp0 = __action35( + let __temp0 = __action38( input, &__start0, &__end0, ); let __temp0 = (__start0, __temp0, __end0); - __action52( + __action79( input, __0, __1, __2, __temp0, __3, + __4, ) } #[allow(unused_variables)] -pub fn __action70< +pub fn __action93< 'input, >( input: &'input str, __0: (usize, String, usize), __1: (usize, String, usize), - __2: (usize, String, usize), - __3: (usize, &'input str, 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 = __action34( + let __temp0 = __action37( input, __2, ); let __temp0 = (__start0, __temp0, __end0); - __action53( + __action80( input, __0, __1, __temp0, __3, + __4, ) } #[allow(unused_variables)] -pub fn __action71< +pub fn __action94< 'input, >( input: &'input str, __0: (usize, String, usize), __1: (usize, String, usize), - __2: (usize, &'input str, usize), + __2: (usize, String, usize), + __3: (usize, &'input str, usize), ) -> Component { let __start0 = __1.2.clone(); let __end0 = __2.0.clone(); - let __temp0 = __action35( + let __temp0 = __action38( input, &__start0, &__end0, ); let __temp0 = (__start0, __temp0, __end0); - __action53( + __action80( input, __0, __1, __temp0, __2, + __3, ) } #[allow(unused_variables)] -pub fn __action72< +pub fn __action95< 'input, >( input: &'input str, - __0: (usize, ComponentPrefix, usize), + __0: (usize, String, usize), __1: (usize, String, usize), __2: (usize, String, usize), - __3: (usize, &'input str, usize), - __4: (usize, Expr, usize), - __5: (usize, String, usize), - __6: (usize, &'input str, usize), + __3: (usize, Expr, usize), + __4: (usize, &'input str, usize), ) -> Component { - let __start0 = __5.0.clone(); - let __end0 = __5.2.clone(); - let __temp0 = __action34( + let __start0 = __3.0.clone(); + let __end0 = __3.2.clone(); + let __temp0 = __action37( input, - __5, + __3, ); let __temp0 = (__start0, __temp0, __end0); - __action54( + __action81( input, __0, __1, __2, - __3, - __4, __temp0, - __6, + __4, ) } #[allow(unused_variables)] -pub fn __action73< +pub fn __action96< 'input, >( input: &'input str, - __0: (usize, ComponentPrefix, usize), + __0: (usize, String, usize), __1: (usize, String, usize), __2: (usize, String, usize), __3: (usize, &'input str, usize), - __4: (usize, Expr, usize), - __5: (usize, &'input str, usize), ) -> Component { - let __start0 = __4.2.clone(); - let __end0 = __5.0.clone(); - let __temp0 = __action35( + let __start0 = __2.2.clone(); + let __end0 = __3.0.clone(); + let __temp0 = __action38( input, &__start0, &__end0, ); let __temp0 = (__start0, __temp0, __end0); - __action54( + __action81( input, __0, __1, __2, - __3, - __4, __temp0, - __5, + __3, ) } #[allow(unused_variables)] -pub fn __action74< +pub fn __action97< 'input, >( input: &'input str, __0: (usize, String, usize), __1: (usize, String, usize), - __2: (usize, &'input str, usize), - __3: (usize, Expr, usize), - __4: (usize, String, usize), - __5: (usize, &'input str, usize), + __2: (usize, Expr, usize), + __3: (usize, &'input str, usize), ) -> Component { - let __start0 = __4.0.clone(); - let __end0 = __4.2.clone(); - let __temp0 = __action34( + let __start0 = __2.0.clone(); + let __end0 = __2.2.clone(); + let __temp0 = __action37( input, - __4, + __2, ); let __temp0 = (__start0, __temp0, __end0); - __action55( + __action82( input, __0, __1, - __2, - __3, __temp0, - __5, + __3, ) } #[allow(unused_variables)] -pub fn __action75< +pub fn __action98< 'input, >( input: &'input str, __0: (usize, String, usize), __1: (usize, String, usize), __2: (usize, &'input str, usize), - __3: (usize, Expr, usize), - __4: (usize, &'input str, usize), ) -> Component { - let __start0 = __3.2.clone(); - let __end0 = __4.0.clone(); - let __temp0 = __action35( + let __start0 = __1.2.clone(); + let __end0 = __2.0.clone(); + let __temp0 = __action38( input, &__start0, &__end0, ); let __temp0 = (__start0, __temp0, __end0); - __action55( + __action82( input, __0, __1, - __2, - __3, __temp0, - __4, + __2, ) } -- cgit v1.2.3