From d9bf679bd32002f351a569d49a76ce602209a631 Mon Sep 17 00:00:00 2001 From: dalance Date: Tue, 29 Oct 2024 15:34:10 +0900 Subject: [PATCH] `cond_type` attribute --- crates/analyzer/src/analyzer_error.rs | 32 +- crates/analyzer/src/attribute.rs | 48 + .../analyzer/src/handlers/check_attribute.rs | 29 +- .../src/handlers/check_clock_reset.rs | 10 +- crates/analyzer/src/handlers/check_var_ref.rs | 28 +- crates/emitter/src/emitter.rs | 180 +- crates/emitter/src/tests.rs | 180 + crates/formatter/src/formatter.rs | 24 +- crates/metadata/src/build.rs | 2 + crates/parser/src/generated/veryl-exp.par | 801 +- .../src/generated/veryl_grammar_trait.rs | 2093 ++- crates/parser/src/generated/veryl_parser.rs | 15018 ++++++++-------- crates/parser/src/veryl_grammar_trait.rs | 1 + crates/parser/src/veryl_walker.rs | 23 +- crates/parser/veryl.par | 4 +- .../map/testcases/sv/72_cond_type.sv.map | 1 + testcases/sv/72_cond_type.sv | 81 + testcases/veryl/72_cond_type.veryl | 79 + 18 files changed, 9977 insertions(+), 8657 deletions(-) create mode 100644 testcases/map/testcases/sv/72_cond_type.sv.map create mode 100644 testcases/sv/72_cond_type.sv create mode 100644 testcases/veryl/72_cond_type.veryl diff --git a/crates/analyzer/src/analyzer_error.rs b/crates/analyzer/src/analyzer_error.rs index 7c1c8db5..0fa48ba0 100644 --- a/crates/analyzer/src/analyzer_error.rs +++ b/crates/analyzer/src/analyzer_error.rs @@ -614,7 +614,12 @@ pub enum AnalyzerError { error_location: SourceSpan, }, - #[diagnostic(severity(Error), code(invalid_enum_encoding), help(""), url(""))] + #[diagnostic( + severity(Error), + code(invalid_enum_encoding), + help(""), + url("https://doc.veryl-lang.org/book/07_appendix/02_semantic_error.html#invalid_enum_encoding") + )] #[error("{identifier} is not valid enum encoding")] InvalidEnumEncoding { identifier: String, @@ -624,6 +629,23 @@ pub enum AnalyzerError { error_location: SourceSpan, }, + #[diagnostic( + severity(Error), + code(invalid_cond_type), + help(""), + url( + "https://doc.veryl-lang.org/book/07_appendix/02_semantic_error.html#invalid_cond_type" + ) + )] + #[error("{identifier} is not valid condition type")] + InvalidCondType { + identifier: String, + #[source_code] + input: NamedSource, + #[label("Error location")] + error_location: SourceSpan, + }, + #[diagnostic( severity(Error), code(too_large_enum_variant), @@ -1412,6 +1434,14 @@ impl AnalyzerError { } } + pub fn invalid_cond_type(identifier: &str, source: &str, token: &TokenRange) -> Self { + AnalyzerError::InvalidCondType { + identifier: identifier.to_string(), + input: AnalyzerError::named_source(source, token), + error_location: token.into(), + } + } + pub fn too_large_enum_variant( identifier: &str, value: isize, diff --git a/crates/analyzer/src/attribute.rs b/crates/analyzer/src/attribute.rs index ec26d695..98c67db9 100644 --- a/crates/analyzer/src/attribute.rs +++ b/crates/analyzer/src/attribute.rs @@ -12,6 +12,7 @@ pub enum Attribute { EnumEncoding(EnumEncodingItem), EnumMemberPrefix(StrId), Test(Token, Option), + CondType(CondTypeItem), } impl fmt::Display for Attribute { @@ -24,6 +25,7 @@ impl fmt::Display for Attribute { Attribute::EnumEncoding(x) => format!("enum_encoding({})", x), Attribute::EnumMemberPrefix(x) => format!("enum_member_prefix({})", x), Attribute::Test(x, _) => format!("test({})", x.text), + Attribute::CondType(x) => format!("cond_type({})", x), }; text.fmt(f) } @@ -35,6 +37,7 @@ pub enum AttributeError { MismatchArgs(&'static str), InvalidAllow(StrId), InvalidEnumEncoding(StrId), + InvalidCondType(StrId), } fn get_arg_ident( @@ -91,6 +94,11 @@ struct Pattern { pub gray: StrId, pub enum_member_prefix: StrId, pub test: StrId, + pub cond_type: StrId, + pub unique: StrId, + pub unique0: StrId, + pub priority: StrId, + pub none: StrId, } impl Pattern { @@ -109,6 +117,11 @@ impl Pattern { gray: resource_table::insert_str("gray"), enum_member_prefix: resource_table::insert_str("enum_member_prefix"), test: resource_table::insert_str("test"), + cond_type: resource_table::insert_str("cond_type"), + unique: resource_table::insert_str("unique"), + unique0: resource_table::insert_str("unique0"), + priority: resource_table::insert_str("priority"), + none: resource_table::insert_str("none"), } } } @@ -197,6 +210,21 @@ impl TryFrom<&veryl_parser::veryl_grammar_trait::Attribute> for Attribute { Err(AttributeError::MismatchArgs("single identifier")) } } + x if x == pat.cond_type => { + let arg = get_arg_ident(&value.attribute_opt, 0); + + if let Some(arg) = arg { + match arg.text { + x if x == pat.unique => Ok(Attribute::CondType(CondTypeItem::Unique)), + x if x == pat.unique0 => Ok(Attribute::CondType(CondTypeItem::Unique0)), + x if x == pat.priority => Ok(Attribute::CondType(CondTypeItem::Priority)), + x if x == pat.none => Ok(Attribute::CondType(CondTypeItem::None)), + _ => Err(AttributeError::InvalidCondType(arg.text)), + } + } else { + Err(AttributeError::MismatchArgs("condition type")) + } + } _ => Err(AttributeError::UnknownAttribute), }) } @@ -238,3 +266,23 @@ impl fmt::Display for EnumEncodingItem { text.fmt(f) } } + +#[derive(Copy, Clone, Debug, PartialEq, Eq)] +pub enum CondTypeItem { + Unique, + Unique0, + Priority, + None, +} + +impl fmt::Display for CondTypeItem { + fn fmt(&self, f: &mut fmt::Formatter) -> fmt::Result { + let text = match self { + CondTypeItem::Unique => "unique", + CondTypeItem::Unique0 => "unique0", + CondTypeItem::Priority => "priority", + CondTypeItem::None => "none", + }; + text.fmt(f) + } +} diff --git a/crates/analyzer/src/handlers/check_attribute.rs b/crates/analyzer/src/handlers/check_attribute.rs index 9ae45dfc..f7c2cd7c 100644 --- a/crates/analyzer/src/handlers/check_attribute.rs +++ b/crates/analyzer/src/handlers/check_attribute.rs @@ -1,4 +1,5 @@ use crate::analyzer_error::AnalyzerError; +use crate::attribute::AttributeError; use crate::attribute_table; use veryl_parser::last_token::LastToken; use veryl_parser::veryl_grammar_trait::*; @@ -40,14 +41,14 @@ impl<'a> VerylGrammarTrait for CheckAttribute<'a> { Err(err) => { attribute_table::begin(arg.hash.hash_token.token, None); match err { - crate::attribute::AttributeError::UnknownAttribute => { + AttributeError::UnknownAttribute => { self.errors.push(AnalyzerError::unknown_attribute( &arg.identifier.identifier_token.to_string(), self.text, &arg.identifier.as_ref().into(), )); } - crate::attribute::AttributeError::MismatchArgs(x) => { + AttributeError::MismatchArgs(x) => { self.errors.push(AnalyzerError::mismatch_attribute_args( &arg.identifier.identifier_token.to_string(), x, @@ -55,20 +56,27 @@ impl<'a> VerylGrammarTrait for CheckAttribute<'a> { &arg.identifier.as_ref().into(), )); } - crate::attribute::AttributeError::InvalidAllow(x) => { + AttributeError::InvalidAllow(x) => { self.errors.push(AnalyzerError::invalid_allow( &x.to_string(), self.text, &arg.identifier.as_ref().into(), )); } - crate::attribute::AttributeError::InvalidEnumEncoding(x) => { + AttributeError::InvalidEnumEncoding(x) => { self.errors.push(AnalyzerError::invalid_enum_encoding( &x.to_string(), self.text, &arg.identifier.as_ref().into(), )); } + AttributeError::InvalidCondType(x) => { + self.errors.push(AnalyzerError::invalid_cond_type( + &x.to_string(), + self.text, + &arg.identifier.as_ref().into(), + )); + } } } } @@ -76,6 +84,19 @@ impl<'a> VerylGrammarTrait for CheckAttribute<'a> { Ok(()) } + fn statement_block_group(&mut self, arg: &StatementBlockGroup) -> Result<(), ParolError> { + if let HandlerPoint::After = self.point { + let mut last_token = LastToken::default(); + last_token.statement_block_group(arg); + let last_token = last_token.token().unwrap(); + + for _ in &arg.statement_block_group_list { + attribute_table::end(last_token); + } + } + Ok(()) + } + fn modport_group(&mut self, arg: &ModportGroup) -> Result<(), ParolError> { if let HandlerPoint::After = self.point { let mut last_token = LastToken::default(); diff --git a/crates/analyzer/src/handlers/check_clock_reset.rs b/crates/analyzer/src/handlers/check_clock_reset.rs index 34c6fa26..23cabb1d 100644 --- a/crates/analyzer/src/handlers/check_clock_reset.rs +++ b/crates/analyzer/src/handlers/check_clock_reset.rs @@ -98,11 +98,11 @@ impl<'a> VerylGrammarTrait for CheckClockReset<'a> { let if_reset_required = if let Some(ref x) = arg.always_ff_declaration_opt { if x.alwayf_ff_event_list.alwayf_ff_event_list_opt.is_some() { if let Some(x) = arg.statement_block.statement_block_list.first() { - match &*x.statement_block_item { - StatementBlockItem::Statement(x) => { - !matches!(*x.statement, Statement::IfResetStatement(_)) - } - _ => true, + let x: Vec<_> = x.statement_block_group.as_ref().into(); + if let Some(StatementBlockItem::Statement(x)) = x.first() { + !matches!(*x.statement, Statement::IfResetStatement(_)) + } else { + true } } else { true diff --git a/crates/analyzer/src/handlers/check_var_ref.rs b/crates/analyzer/src/handlers/check_var_ref.rs index e29a8e36..ca0d59e5 100644 --- a/crates/analyzer/src/handlers/check_var_ref.rs +++ b/crates/analyzer/src/handlers/check_var_ref.rs @@ -1,6 +1,6 @@ use crate::analyzer_error::AnalyzerError; -use crate::attribute::AllowItem; use crate::attribute::Attribute as Attr; +use crate::attribute::{AllowItem, CondTypeItem}; use crate::attribute_table; use crate::symbol::{Direction, SymbolId, SymbolKind, TypeKind}; use crate::symbol_table; @@ -11,6 +11,7 @@ use crate::var_ref::{ }; use std::collections::HashMap; use veryl_parser::veryl_grammar_trait::*; +use veryl_parser::veryl_token::Token; use veryl_parser::veryl_walker::{Handler, HandlerPoint}; use veryl_parser::ParolError; @@ -95,6 +96,19 @@ fn can_assign(full_path: &[SymbolId]) -> bool { false } +fn has_cond_type(token: &Token) -> bool { + let mut attrs = attribute_table::get(token); + attrs.reverse(); + for attr in attrs { + match attr { + Attr::CondType(CondTypeItem::None) => return false, + Attr::CondType(_) => return true, + _ => (), + } + } + false +} + impl<'a> VerylGrammarTrait for CheckVarRef<'a> { fn r#else(&mut self, arg: &Else) -> Result<(), ParolError> { if let HandlerPoint::Before = self.point { @@ -248,7 +262,9 @@ impl<'a> VerylGrammarTrait for CheckVarRef<'a> { HandlerPoint::Before => { self.branch_index = 0; let branches = 1 + arg.if_statement_list.len() + arg.if_statement_opt.iter().len(); - let has_default = arg.if_statement_opt.is_some(); + let has_explicit_default = arg.if_statement_opt.is_some(); + let has_cond_type = has_cond_type(&arg.r#if.if_token.token); + let has_default = has_explicit_default | has_cond_type; self.assign_position .push(AssignPositionType::StatementBranch { token: arg.r#if.if_token.token, @@ -279,7 +295,9 @@ impl<'a> VerylGrammarTrait for CheckVarRef<'a> { self.branch_index = 0; let branches = 1 + arg.if_reset_statement_list.len() + arg.if_reset_statement_opt.iter().len(); - let has_default = arg.if_reset_statement_opt.is_some(); + let has_explicit_default = arg.if_reset_statement_opt.is_some(); + let has_cond_type = has_cond_type(&arg.if_reset.if_reset_token.token); + let has_default = has_explicit_default | has_cond_type; let allow_missing_reset_statement = attribute_table::contains( &arg.if_reset.if_reset_token.token, Attr::Allow(AllowItem::MissingResetStatement), @@ -326,12 +344,14 @@ impl<'a> VerylGrammarTrait for CheckVarRef<'a> { HandlerPoint::Before => { self.branch_index = 0; let branches = arg.case_statement_list.len(); - let has_default = arg.case_statement_list.iter().any(|x| { + let has_explicit_default = arg.case_statement_list.iter().any(|x| { matches!( x.case_item.case_item_group.as_ref(), CaseItemGroup::Defaul(_) ) }); + let has_cond_type = has_cond_type(&arg.case.case_token.token); + let has_default = has_explicit_default | has_cond_type; self.assign_position .push(AssignPositionType::StatementBranch { token: arg.case.case_token.token, diff --git a/crates/emitter/src/emitter.rs b/crates/emitter/src/emitter.rs index 16f35926..3e26d831 100644 --- a/crates/emitter/src/emitter.rs +++ b/crates/emitter/src/emitter.rs @@ -1,7 +1,9 @@ use crate::aligner::{Aligner, Location}; use std::fs; use std::path::Path; -use veryl_analyzer::attribute::EnumEncodingItem; +use veryl_analyzer::attribute::Attribute as Attr; +use veryl_analyzer::attribute::{CondTypeItem, EnumEncodingItem}; +use veryl_analyzer::attribute_table; use veryl_analyzer::evaluator::{Evaluated, Evaluator}; use veryl_analyzer::namespace::Namespace; use veryl_analyzer::symbol::TypeModifier as SymTypeModifier; @@ -309,28 +311,35 @@ impl Emitter { } fn case_inside_statement(&mut self, arg: &CaseStatement) { - self.case(&arg.case); + let (prefix, force_last_item_default) = self.cond_type_prefix(&arg.case.case_token.token); + self.token(&arg.case.case_token.append(&prefix, &None)); self.space(1); self.str("("); self.expression(&arg.expression); self.token_will_push(&arg.l_brace.l_brace_token.replace(") inside")); + let len = arg.case_statement_list.len(); for (i, x) in arg.case_statement_list.iter().enumerate() { + let force_default = force_last_item_default & (i == (len - 1)); self.newline_list(i); - self.case_inside_item(&x.case_item); + self.case_inside_item(&x.case_item, force_default); } self.newline_list_post(arg.case_statement_list.is_empty()); self.token(&arg.r_brace.r_brace_token.replace("endcase")); } - fn case_inside_item(&mut self, arg: &CaseItem) { + fn case_inside_item(&mut self, arg: &CaseItem, force_default: bool) { let start = self.dst_column; match &*arg.case_item_group { CaseItemGroup::CaseCondition(x) => { - self.range_item(&x.case_condition.range_item); - for x in &x.case_condition.case_condition_list { - self.comma(&x.comma); - self.space(1); - self.range_item(&x.range_item); + if force_default { + self.str("default"); + } else { + self.range_item(&x.case_condition.range_item); + for x in &x.case_condition.case_condition_list { + self.comma(&x.comma); + self.space(1); + self.range_item(&x.range_item); + } } } CaseItemGroup::Defaul(x) => self.defaul(&x.defaul), @@ -348,28 +357,35 @@ impl Emitter { } fn case_expaneded_statement(&mut self, arg: &CaseStatement) { - self.case(&arg.case); + let (prefix, force_last_item_default) = self.cond_type_prefix(&arg.case.case_token.token); + self.token(&arg.case.case_token.append(&prefix, &None)); self.space(1); self.str("("); self.str("1'b1"); self.token_will_push(&arg.l_brace.l_brace_token.replace(")")); + let len = arg.case_statement_list.len(); for (i, x) in arg.case_statement_list.iter().enumerate() { + let force_default = force_last_item_default & (i == (len - 1)); self.newline_list(i); - self.case_expanded_item(&arg.expression, &x.case_item); + self.case_expanded_item(&arg.expression, &x.case_item, force_default); } self.newline_list_post(arg.case_statement_list.is_empty()); self.token(&arg.r_brace.r_brace_token.replace("endcase")); } - fn case_expanded_item(&mut self, lhs: &Expression, item: &CaseItem) { + fn case_expanded_item(&mut self, lhs: &Expression, item: &CaseItem, force_default: bool) { let start: u32 = self.dst_column; match &*item.case_item_group { CaseItemGroup::CaseCondition(x) => { - self.inside_element_operation(lhs, &x.case_condition.range_item); - for x in &x.case_condition.case_condition_list { - self.comma(&x.comma); - self.space(1); - self.inside_element_operation(lhs, &x.range_item); + if force_default { + self.str("default"); + } else { + self.inside_element_operation(lhs, &x.case_condition.range_item); + for x in &x.case_condition.case_condition_list { + self.comma(&x.comma); + self.space(1); + self.inside_element_operation(lhs, &x.range_item); + } } } CaseItemGroup::Defaul(x) => self.defaul(&x.defaul), @@ -511,11 +527,11 @@ impl Emitter { fn always_ff_if_reset_exists(&mut self, arg: &AlwaysFfDeclaration) -> bool { if let Some(x) = arg.statement_block.statement_block_list.first() { - match &*x.statement_block_item { - StatementBlockItem::Statement(x) => { - matches!(*x.statement, Statement::IfResetStatement(_)) - } - _ => false, + let x: Vec<_> = x.statement_block_group.as_ref().into(); + if let Some(StatementBlockItem::Statement(x)) = x.first() { + matches!(*x.statement, Statement::IfResetStatement(_)) + } else { + false } } else { false @@ -655,27 +671,29 @@ impl Emitter { fn emit_statement_block(&mut self, arg: &StatementBlock, begin_kw: &str, end_kw: &str) { self.token_will_push(&arg.l_brace.l_brace_token.replace(begin_kw)); - let mut base = 0; - for (i, x) in arg + + let statement_block_list: Vec<_> = arg .statement_block_list .iter() - .filter(|x| { - is_var_declaration(&x.statement_block_item) - || is_let_statement(&x.statement_block_item) - }) + .flat_map(|x| Into::>::into(x.statement_block_group.as_ref())) + .collect(); + + let mut base = 0; + for (i, x) in statement_block_list + .iter() + .filter(|x| is_var_declaration(x) || is_let_statement(x)) .enumerate() { self.newline_list(i); - base += self.statement_variable_declatation_only(&x.statement_block_item); + base += self.statement_variable_declatation_only(x); } - for (i, x) in arg - .statement_block_list + for (i, x) in statement_block_list .iter() - .filter(|x| !is_var_declaration(&x.statement_block_item)) + .filter(|x| !is_var_declaration(x)) .enumerate() { self.newline_list(base + i); - match &*x.statement_block_item { + match &x { StatementBlockItem::LetStatement(x) => self.let_statement(&x.let_statement), StatementBlockItem::Statement(x) => self.statement(&x.statement), _ => unreachable!(), @@ -707,6 +725,32 @@ impl Emitter { _ => 0, } } + + fn cond_type_prefix(&self, token: &Token) -> (Option, bool) { + fn prefix(token: &Token) -> Option { + let mut attrs = attribute_table::get(token); + attrs.reverse(); + for attr in attrs { + match attr { + Attr::CondType(CondTypeItem::None) => { + return None; + } + Attr::CondType(x) => { + return Some(format!("{} ", x)); + } + _ => (), + } + } + None + } + + let prefix = prefix(token); + if self.build_opt.emit_cond_type { + (prefix, false) + } else { + (None, prefix.is_some()) + } + } } fn is_var_declaration(arg: &StatementBlockItem) -> bool { @@ -1687,23 +1731,33 @@ impl VerylWalker for Emitter { /// Semantic action for non-terminal 'IfStatement' fn if_statement(&mut self, arg: &IfStatement) { - self.r#if(&arg.r#if); + let (prefix, force_last_item_default) = self.cond_type_prefix(&arg.r#if.if_token.token); + self.token(&arg.r#if.if_token.append(&prefix, &None)); self.space(1); self.str("("); self.expression(&arg.expression); self.str(")"); self.space(1); self.statement_block(&arg.statement_block); - for x in &arg.if_statement_list { - self.space(1); - self.r#else(&x.r#else); - self.space(1); - self.r#if(&x.r#if); - self.space(1); - self.str("("); - self.expression(&x.expression); - self.str(")"); - self.space(1); + let len = arg.if_statement_list.len(); + for (i, x) in arg.if_statement_list.iter().enumerate() { + let force_default = + force_last_item_default & (i == (len - 1)) & arg.if_statement_opt.is_none(); + if force_default { + self.space(1); + self.str("else"); + self.space(1); + } else { + self.space(1); + self.r#else(&x.r#else); + self.space(1); + self.r#if(&x.r#if); + self.space(1); + self.str("("); + self.expression(&x.expression); + self.str(")"); + self.space(1); + } self.statement_block(&x.statement_block); } if let Some(ref x) = arg.if_statement_opt { @@ -1716,7 +1770,14 @@ impl VerylWalker for Emitter { /// Semantic action for non-terminal 'IfResetStatement' fn if_reset_statement(&mut self, arg: &IfResetStatement) { - self.token(&arg.if_reset.if_reset_token.replace("if")); + let (prefix, force_last_item_default) = + self.cond_type_prefix(&arg.if_reset.if_reset_token.token); + self.token( + &arg.if_reset + .if_reset_token + .replace("if") + .append(&prefix, &None), + ); self.space(1); self.str("("); let reset_signal = self.reset_signal.clone().unwrap(); @@ -1724,16 +1785,25 @@ impl VerylWalker for Emitter { self.str(")"); self.space(1); self.statement_block(&arg.statement_block); - for x in &arg.if_reset_statement_list { - self.space(1); - self.r#else(&x.r#else); - self.space(1); - self.r#if(&x.r#if); - self.space(1); - self.str("("); - self.expression(&x.expression); - self.str(")"); - self.space(1); + let len = arg.if_reset_statement_list.len(); + for (i, x) in arg.if_reset_statement_list.iter().enumerate() { + let force_default = + force_last_item_default & (i == (len - 1)) & arg.if_reset_statement_opt.is_none(); + if force_default { + self.space(1); + self.str("else"); + self.space(1); + } else { + self.space(1); + self.r#else(&x.r#else); + self.space(1); + self.r#if(&x.r#if); + self.space(1); + self.str("("); + self.expression(&x.expression); + self.str(")"); + self.space(1); + } self.statement_block(&x.statement_block); } if let Some(ref x) = arg.if_reset_statement_opt { diff --git a/crates/emitter/src/tests.rs b/crates/emitter/src/tests.rs index 9d64aacc..96237f58 100644 --- a/crates/emitter/src/tests.rs +++ b/crates/emitter/src/tests.rs @@ -467,3 +467,183 @@ endmodule assert_eq!(ret, expect); } + +#[test] +fn emit_cond_type() { + let code = r#"module ModuleA ( + i_clk: input clock, + i_rst: input reset, +) { + let x: logic = 1; + var a: logic; + var b: logic; + var c: logic; + var d: logic; + var e: logic; + var f: logic; + var g: logic; + var h: logic; + var i: logic; + + always_comb { + #[cond_type(unique)] + case x { + 0: a = 1; + 1: a = 1; + } + #[cond_type(unique0)] + case x { + 0: b = 1; + 1: b = 1; + } + #[cond_type(priority)] + case x { + 0: c = 1; + 1: c = 1; + } + } + + always_comb { + #[cond_type(unique)] + if x == 0 { + d = 1; + } else if x == 1 { + d = 1; + } + #[cond_type(unique0)] + if x == 0 { + e = 1; + } else if x == 1 { + e = 1; + } + #[cond_type(priority)] + if x == 0 { + f = 1; + } else if x == 1 { + f = 1; + } + } + + always_ff { + #[cond_type(unique)] + if_reset { + g = 1; + } else if x == 1 { + g = 1; + } + } + always_ff { + #[cond_type(unique0)] + if_reset { + h = 1; + } else if x == 1 { + h = 1; + } + } + always_ff { + #[cond_type(priority)] + if_reset { + i = 1; + } else if x == 1 { + i = 1; + } + } +} +"#; + + let expect = r#"module prj_ModuleA ( + input logic i_clk, + input logic i_rst +); + logic x; + always_comb x = 1; + logic a; + logic b; + logic c; + logic d; + logic e; + logic f; + logic g; + logic h; + logic i; + + always_comb begin + + unique case (x) inside + 0: a = 1; + 1: a = 1; + endcase + + unique0 case (x) inside + 0: b = 1; + 1: b = 1; + endcase + + priority case (x) inside + 0: c = 1; + 1: c = 1; + endcase + end + + always_comb begin + + unique if (x == 0) begin + d = 1; + end else if (x == 1) begin + d = 1; + end + + unique0 if (x == 0) begin + e = 1; + end else if (x == 1) begin + e = 1; + end + + priority if (x == 0) begin + f = 1; + end else if (x == 1) begin + f = 1; + end + end + + always_ff @ (posedge i_clk, negedge i_rst) begin + + unique if (!i_rst) begin + g <= 1; + end else if (x == 1) begin + g <= 1; + end + end + always_ff @ (posedge i_clk, negedge i_rst) begin + + unique0 if (!i_rst) begin + h <= 1; + end else if (x == 1) begin + h <= 1; + end + end + always_ff @ (posedge i_clk, negedge i_rst) begin + + priority if (!i_rst) begin + i <= 1; + end else if (x == 1) begin + i <= 1; + end + end +endmodule +//# sourceMappingURL=test.sv.map +"#; + + let mut metadata: Metadata = + toml::from_str(&Metadata::create_default_toml("prj").unwrap()).unwrap(); + + metadata.build.emit_cond_type = true; + + let ret = if cfg!(windows) { + emit(&metadata, code).replace("\r\n", "\n") + } else { + emit(&metadata, code) + }; + + assert_eq!(ret, expect); +} diff --git a/crates/formatter/src/formatter.rs b/crates/formatter/src/formatter.rs index 593f6dce..fc3411f7 100644 --- a/crates/formatter/src/formatter.rs +++ b/crates/formatter/src/formatter.rs @@ -670,12 +670,34 @@ impl VerylWalker for Formatter { self.token_will_push(&arg.l_brace.l_brace_token); for (i, x) in arg.statement_block_list.iter().enumerate() { self.newline_list(i); - self.statement_block_item(&x.statement_block_item); + self.statement_block_group(&x.statement_block_group); } self.newline_list_post(arg.statement_block_list.is_empty()); self.r_brace(&arg.r_brace); } + /// Semantic action for non-terminal 'StatementBlockGroup' + fn statement_block_group(&mut self, arg: &StatementBlockGroup) { + for x in &arg.statement_block_group_list { + self.attribute(&x.attribute); + self.newline(); + } + match arg.statement_block_group_group.as_ref() { + StatementBlockGroupGroup::LBraceStatementBlockGroupGroupListRBrace(x) => { + self.token_will_push(&x.l_brace.l_brace_token); + for (i, x) in x.statement_block_group_group_list.iter().enumerate() { + self.newline_list(i); + self.statement_block_group(&x.statement_block_group); + } + self.newline_list_post(x.statement_block_group_group_list.is_empty()); + self.r_brace(&x.r_brace); + } + StatementBlockGroupGroup::StatementBlockItem(x) => { + self.statement_block_item(&x.statement_block_item); + } + } + } + /// Semantic action for non-terminal 'IfStatement' fn if_statement(&mut self, arg: &IfStatement) { self.r#if(&arg.r#if); diff --git a/crates/metadata/src/build.rs b/crates/metadata/src/build.rs index ff1c66ee..0c091c04 100644 --- a/crates/metadata/src/build.rs +++ b/crates/metadata/src/build.rs @@ -32,6 +32,8 @@ pub struct Build { pub expand_inside_operation: bool, #[serde(default)] pub exclude_std: bool, + #[serde(default)] + pub emit_cond_type: bool, } #[derive(Clone, Copy, Debug, Default, Serialize, Deserialize, PartialEq, Eq)] diff --git a/crates/parser/src/generated/veryl-exp.par b/crates/parser/src/generated/veryl-exp.par index a29cf4f5..f947eabe 100644 --- a/crates/parser/src/generated/veryl-exp.par +++ b/crates/parser/src/generated/veryl-exp.par @@ -567,401 +567,408 @@ /* 552 */ CastingType: UserDefinedType; /* 553 */ ClockDomain: BackQuote Identifier; /* 554 */ StatementBlock: LBrace StatementBlockList /* Vec */ RBrace; -/* 555 */ StatementBlockList /* Vec::Push */: StatementBlockItem StatementBlockList; +/* 555 */ StatementBlockList /* Vec::Push */: StatementBlockGroup StatementBlockList; /* 556 */ StatementBlockList /* Vec::New */: ; -/* 557 */ StatementBlockItem: VarDeclaration; -/* 558 */ StatementBlockItem: LetStatement; -/* 559 */ StatementBlockItem: Statement; -/* 560 */ Statement: IdentifierStatement; -/* 561 */ Statement: IfStatement; -/* 562 */ Statement: IfResetStatement; -/* 563 */ Statement: ReturnStatement; -/* 564 */ Statement: BreakStatement; -/* 565 */ Statement: ForStatement; -/* 566 */ Statement: CaseStatement; -/* 567 */ Statement: SwitchStatement; -/* 568 */ LetStatement: Let Identifier Colon LetStatementOpt /* Option */ ArrayType Equ Expression Semicolon; -/* 569 */ LetStatementOpt /* Option::Some */: ClockDomain; -/* 570 */ LetStatementOpt /* Option::None */: ; -/* 571 */ IdentifierStatement: ExpressionIdentifier IdentifierStatementGroup Semicolon; -/* 572 */ IdentifierStatementGroup: FunctionCall; -/* 573 */ IdentifierStatementGroup: Assignment; -/* 574 */ Assignment: AssignmentGroup Expression; -/* 575 */ AssignmentGroup: Equ; -/* 576 */ AssignmentGroup: AssignmentOperator; -/* 577 */ IfStatement: If Expression StatementBlock IfStatementList /* Vec */ IfStatementOpt /* Option */; -/* 578 */ IfStatementList /* Vec::Push */: Else If Expression StatementBlock IfStatementList; -/* 579 */ IfStatementList /* Vec::New */: ; -/* 580 */ IfStatementOpt /* Option::Some */: Else StatementBlock; -/* 581 */ IfStatementOpt /* Option::None */: ; -/* 582 */ IfResetStatement: IfReset StatementBlock IfResetStatementList /* Vec */ IfResetStatementOpt /* Option */; -/* 583 */ IfResetStatementList /* Vec::Push */: Else If Expression StatementBlock IfResetStatementList; -/* 584 */ IfResetStatementList /* Vec::New */: ; -/* 585 */ IfResetStatementOpt /* Option::Some */: Else StatementBlock; -/* 586 */ IfResetStatementOpt /* Option::None */: ; -/* 587 */ ReturnStatement: Return Expression Semicolon; -/* 588 */ BreakStatement: Break Semicolon; -/* 589 */ ForStatement: For Identifier Colon ScalarType In Range ForStatementOpt /* Option */ StatementBlock; -/* 590 */ ForStatementOpt /* Option::Some */: Step AssignmentOperator Expression; -/* 591 */ ForStatementOpt /* Option::None */: ; -/* 592 */ CaseStatement: Case Expression LBrace CaseStatementList /* Vec */ RBrace; -/* 593 */ CaseStatementList /* Vec::Push */: CaseItem CaseStatementList; -/* 594 */ CaseStatementList /* Vec::New */: ; -/* 595 */ CaseItem: CaseItemGroup Colon CaseItemGroup0; -/* 596 */ CaseItemGroup0: Statement; -/* 597 */ CaseItemGroup0: StatementBlock; -/* 598 */ CaseItemGroup: CaseCondition; -/* 599 */ CaseItemGroup: Defaul; -/* 600 */ CaseCondition: RangeItem CaseConditionList /* Vec */; -/* 601 */ CaseConditionList /* Vec::Push */: Comma RangeItem CaseConditionList; -/* 602 */ CaseConditionList /* Vec::New */: ; -/* 603 */ SwitchStatement: Switch LBrace SwitchStatementList /* Vec */ RBrace; -/* 604 */ SwitchStatementList /* Vec::Push */: SwitchItem SwitchStatementList; -/* 605 */ SwitchStatementList /* Vec::New */: ; -/* 606 */ SwitchItem: SwitchItemGroup Colon SwitchItemGroup0; -/* 607 */ SwitchItemGroup0: Statement; -/* 608 */ SwitchItemGroup0: StatementBlock; -/* 609 */ SwitchItemGroup: SwitchCondition; -/* 610 */ SwitchItemGroup: Defaul; -/* 611 */ SwitchCondition: Expression SwitchConditionList /* Vec */; -/* 612 */ SwitchConditionList /* Vec::Push */: Comma Expression SwitchConditionList; -/* 613 */ SwitchConditionList /* Vec::New */: ; -/* 614 */ Attribute: Hash LBracket Identifier AttributeOpt /* Option */ RBracket; -/* 615 */ AttributeOpt /* Option::Some */: LParen AttributeList RParen; -/* 616 */ AttributeOpt /* Option::None */: ; -/* 617 */ AttributeList: AttributeItem AttributeListList /* Vec */ AttributeListOpt /* Option */; -/* 618 */ AttributeListList /* Vec::Push */: Comma AttributeItem AttributeListList; -/* 619 */ AttributeListList /* Vec::New */: ; -/* 620 */ AttributeListOpt /* Option::Some */: Comma; -/* 621 */ AttributeListOpt /* Option::None */: ; -/* 622 */ AttributeItem: Identifier; -/* 623 */ AttributeItem: StringLiteral; -/* 624 */ LetDeclaration: Let Identifier Colon LetDeclarationOpt /* Option */ ArrayType Equ Expression Semicolon; -/* 625 */ LetDeclarationOpt /* Option::Some */: ClockDomain; -/* 626 */ LetDeclarationOpt /* Option::None */: ; -/* 627 */ VarDeclaration: Var Identifier Colon VarDeclarationOpt /* Option */ ArrayType Semicolon; -/* 628 */ VarDeclarationOpt /* Option::Some */: ClockDomain; -/* 629 */ VarDeclarationOpt /* Option::None */: ; -/* 630 */ ConstDeclaration: Const Identifier Colon ConstDeclarationGroup Equ Expression Semicolon; -/* 631 */ ConstDeclarationGroup: ArrayType; -/* 632 */ ConstDeclarationGroup: Type; -/* 633 */ TypeDefDeclaration: Type Identifier Equ ArrayType Semicolon; -/* 634 */ AlwaysFfDeclaration: AlwaysFf AlwaysFfDeclarationOpt /* Option */ StatementBlock; -/* 635 */ AlwaysFfDeclarationOpt /* Option::Some */: AlwayfFfEventList; -/* 636 */ AlwaysFfDeclarationOpt /* Option::None */: ; -/* 637 */ AlwayfFfEventList: LParen AlwaysFfClock AlwayfFfEventListOpt /* Option */ RParen; -/* 638 */ AlwayfFfEventListOpt /* Option::Some */: Comma AlwaysFfReset; -/* 639 */ AlwayfFfEventListOpt /* Option::None */: ; -/* 640 */ AlwaysFfClock: HierarchicalIdentifier; -/* 641 */ AlwaysFfReset: HierarchicalIdentifier; -/* 642 */ AlwaysCombDeclaration: AlwaysComb StatementBlock; -/* 643 */ AssignDeclaration: Assign HierarchicalIdentifier Equ Expression Semicolon; -/* 644 */ ModportDeclaration: Modport Identifier LBrace ModportList RBrace; -/* 645 */ ModportList: ModportGroup ModportListList /* Vec */ ModportListOpt /* Option */; -/* 646 */ ModportListList /* Vec::Push */: Comma ModportGroup ModportListList; -/* 647 */ ModportListList /* Vec::New */: ; -/* 648 */ ModportListOpt /* Option::Some */: Comma; -/* 649 */ ModportListOpt /* Option::None */: ; -/* 650 */ ModportGroup: ModportGroupList /* Vec */ ModportGroupGroup; -/* 651 */ ModportGroupGroup: LBrace ModportList RBrace; -/* 652 */ ModportGroupGroup: ModportItem; -/* 653 */ ModportGroupList /* Vec::Push */: Attribute ModportGroupList; -/* 654 */ ModportGroupList /* Vec::New */: ; -/* 655 */ ModportItem: Identifier Colon Direction; -/* 656 */ EnumDeclaration: Enum Identifier EnumDeclarationOpt /* Option */ LBrace EnumList RBrace; -/* 657 */ EnumDeclarationOpt /* Option::Some */: Colon ScalarType; -/* 658 */ EnumDeclarationOpt /* Option::None */: ; -/* 659 */ EnumList: EnumGroup EnumListList /* Vec */ EnumListOpt /* Option */; -/* 660 */ EnumListList /* Vec::Push */: Comma EnumGroup EnumListList; -/* 661 */ EnumListList /* Vec::New */: ; -/* 662 */ EnumListOpt /* Option::Some */: Comma; -/* 663 */ EnumListOpt /* Option::None */: ; -/* 664 */ EnumGroup: EnumGroupList /* Vec */ EnumGroupGroup; -/* 665 */ EnumGroupGroup: LBrace EnumList RBrace; -/* 666 */ EnumGroupGroup: EnumItem; -/* 667 */ EnumGroupList /* Vec::Push */: Attribute EnumGroupList; -/* 668 */ EnumGroupList /* Vec::New */: ; -/* 669 */ EnumItem: Identifier EnumItemOpt /* Option */; -/* 670 */ EnumItemOpt /* Option::Some */: Equ Expression; -/* 671 */ EnumItemOpt /* Option::None */: ; -/* 672 */ StructUnion: Struct; -/* 673 */ StructUnion: Union; -/* 674 */ StructUnionDeclaration: StructUnion Identifier StructUnionDeclarationOpt /* Option */ LBrace StructUnionList RBrace; -/* 675 */ StructUnionDeclarationOpt /* Option::Some */: WithGenericParameter; -/* 676 */ StructUnionDeclarationOpt /* Option::None */: ; -/* 677 */ StructUnionList: StructUnionGroup StructUnionListList /* Vec */ StructUnionListOpt /* Option */; -/* 678 */ StructUnionListList /* Vec::Push */: Comma StructUnionGroup StructUnionListList; -/* 679 */ StructUnionListList /* Vec::New */: ; -/* 680 */ StructUnionListOpt /* Option::Some */: Comma; -/* 681 */ StructUnionListOpt /* Option::None */: ; -/* 682 */ StructUnionGroup: StructUnionGroupList /* Vec */ StructUnionGroupGroup; -/* 683 */ StructUnionGroupGroup: LBrace StructUnionList RBrace; -/* 684 */ StructUnionGroupGroup: StructUnionItem; -/* 685 */ StructUnionGroupList /* Vec::Push */: Attribute StructUnionGroupList; -/* 686 */ StructUnionGroupList /* Vec::New */: ; -/* 687 */ StructUnionItem: Identifier Colon ScalarType; -/* 688 */ InitialDeclaration: Initial StatementBlock; -/* 689 */ FinalDeclaration: Final StatementBlock; -/* 690 */ InstDeclaration: Inst Identifier Colon ScopedIdentifier InstDeclarationOpt /* Option */ InstDeclarationOpt0 /* Option */ InstDeclarationOpt1 /* Option */ Semicolon; -/* 691 */ InstDeclarationOpt1 /* Option::Some */: LParen InstDeclarationOpt2 /* Option */ RParen; -/* 692 */ InstDeclarationOpt2 /* Option::Some */: InstPortList; -/* 693 */ InstDeclarationOpt2 /* Option::None */: ; -/* 694 */ InstDeclarationOpt1 /* Option::None */: ; -/* 695 */ InstDeclarationOpt0 /* Option::Some */: InstParameter; -/* 696 */ InstDeclarationOpt0 /* Option::None */: ; -/* 697 */ InstDeclarationOpt /* Option::Some */: Array; -/* 698 */ InstDeclarationOpt /* Option::None */: ; -/* 699 */ InstParameter: Hash LParen InstParameterOpt /* Option */ RParen; -/* 700 */ InstParameterOpt /* Option::Some */: InstParameterList; -/* 701 */ InstParameterOpt /* Option::None */: ; -/* 702 */ InstParameterList: InstParameterGroup InstParameterListList /* Vec */ InstParameterListOpt /* Option */; -/* 703 */ InstParameterListList /* Vec::Push */: Comma InstParameterGroup InstParameterListList; -/* 704 */ InstParameterListList /* Vec::New */: ; -/* 705 */ InstParameterListOpt /* Option::Some */: Comma; -/* 706 */ InstParameterListOpt /* Option::None */: ; -/* 707 */ InstParameterGroup: InstParameterGroupList /* Vec */ InstParameterGroupGroup; -/* 708 */ InstParameterGroupGroup: LBrace InstParameterList RBrace; -/* 709 */ InstParameterGroupGroup: InstParameterItem; -/* 710 */ InstParameterGroupList /* Vec::Push */: Attribute InstParameterGroupList; -/* 711 */ InstParameterGroupList /* Vec::New */: ; -/* 712 */ InstParameterItem: Identifier InstParameterItemOpt /* Option */; -/* 713 */ InstParameterItemOpt /* Option::Some */: Colon Expression; -/* 714 */ InstParameterItemOpt /* Option::None */: ; -/* 715 */ InstPortList: InstPortGroup InstPortListList /* Vec */ InstPortListOpt /* Option */; -/* 716 */ InstPortListList /* Vec::Push */: Comma InstPortGroup InstPortListList; -/* 717 */ InstPortListList /* Vec::New */: ; -/* 718 */ InstPortListOpt /* Option::Some */: Comma; -/* 719 */ InstPortListOpt /* Option::None */: ; -/* 720 */ InstPortGroup: InstPortGroupList /* Vec */ InstPortGroupGroup; -/* 721 */ InstPortGroupGroup: LBrace InstPortList RBrace; -/* 722 */ InstPortGroupGroup: InstPortItem; -/* 723 */ InstPortGroupList /* Vec::Push */: Attribute InstPortGroupList; -/* 724 */ InstPortGroupList /* Vec::New */: ; -/* 725 */ InstPortItem: Identifier InstPortItemOpt /* Option */; -/* 726 */ InstPortItemOpt /* Option::Some */: Colon Expression; -/* 727 */ InstPortItemOpt /* Option::None */: ; -/* 728 */ WithParameter: Hash LParen WithParameterOpt /* Option */ RParen; -/* 729 */ WithParameterOpt /* Option::Some */: WithParameterList; -/* 730 */ WithParameterOpt /* Option::None */: ; -/* 731 */ WithParameterList: WithParameterGroup WithParameterListList /* Vec */ WithParameterListOpt /* Option */; -/* 732 */ WithParameterListList /* Vec::Push */: Comma WithParameterGroup WithParameterListList; -/* 733 */ WithParameterListList /* Vec::New */: ; -/* 734 */ WithParameterListOpt /* Option::Some */: Comma; -/* 735 */ WithParameterListOpt /* Option::None */: ; -/* 736 */ WithParameterGroup: WithParameterGroupList /* Vec */ WithParameterGroupGroup; -/* 737 */ WithParameterGroupGroup: LBrace WithParameterList RBrace; -/* 738 */ WithParameterGroupGroup: WithParameterItem; -/* 739 */ WithParameterGroupList /* Vec::Push */: Attribute WithParameterGroupList; -/* 740 */ WithParameterGroupList /* Vec::New */: ; -/* 741 */ WithParameterItem: WithParameterItemGroup Identifier Colon WithParameterItemGroup0 Equ Expression; -/* 742 */ WithParameterItemGroup0: ArrayType; -/* 743 */ WithParameterItemGroup0: Type; -/* 744 */ WithParameterItemGroup: Param; -/* 745 */ WithParameterItemGroup: Const; -/* 746 */ GenericBound: Const; -/* 747 */ GenericBound: Type; -/* 748 */ GenericBound: ScopedIdentifier; -/* 749 */ WithGenericParameter: ColonColonLAngle WithGenericParameterList RAngle; -/* 750 */ WithGenericParameterList: WithGenericParameterItem WithGenericParameterListList /* Vec */ WithGenericParameterListOpt /* Option */; -/* 751 */ WithGenericParameterListList /* Vec::Push */: Comma WithGenericParameterItem WithGenericParameterListList; -/* 752 */ WithGenericParameterListList /* Vec::New */: ; -/* 753 */ WithGenericParameterListOpt /* Option::Some */: Comma; -/* 754 */ WithGenericParameterListOpt /* Option::None */: ; -/* 755 */ WithGenericParameterItem: Identifier Colon GenericBound WithGenericParameterItemOpt /* Option */; -/* 756 */ WithGenericParameterItemOpt /* Option::Some */: Equ WithGenericArgumentItem; -/* 757 */ WithGenericParameterItemOpt /* Option::None */: ; -/* 758 */ WithGenericArgument: ColonColonLAngle %push(Generic) WithGenericArgumentOpt /* Option */ RAngle %pop(); -/* 759 */ WithGenericArgumentOpt /* Option::Some */: WithGenericArgumentList; -/* 760 */ WithGenericArgumentOpt /* Option::None */: ; -/* 761 */ WithGenericArgumentList: WithGenericArgumentItem WithGenericArgumentListList /* Vec */ WithGenericArgumentListOpt /* Option */; -/* 762 */ WithGenericArgumentListList /* Vec::Push */: Comma WithGenericArgumentItem WithGenericArgumentListList; -/* 763 */ WithGenericArgumentListList /* Vec::New */: ; -/* 764 */ WithGenericArgumentListOpt /* Option::Some */: Comma; -/* 765 */ WithGenericArgumentListOpt /* Option::None */: ; -/* 766 */ WithGenericArgumentItem: ScopedIdentifier; -/* 767 */ WithGenericArgumentItem: Number; -/* 768 */ PortDeclaration: LParen PortDeclarationOpt /* Option */ RParen; -/* 769 */ PortDeclarationOpt /* Option::Some */: PortDeclarationList; -/* 770 */ PortDeclarationOpt /* Option::None */: ; -/* 771 */ PortDeclarationList: PortDeclarationGroup PortDeclarationListList /* Vec */ PortDeclarationListOpt /* Option */; -/* 772 */ PortDeclarationListList /* Vec::Push */: Comma PortDeclarationGroup PortDeclarationListList; -/* 773 */ PortDeclarationListList /* Vec::New */: ; -/* 774 */ PortDeclarationListOpt /* Option::Some */: Comma; -/* 775 */ PortDeclarationListOpt /* Option::None */: ; -/* 776 */ PortDeclarationGroup: PortDeclarationGroupList /* Vec */ PortDeclarationGroupGroup; -/* 777 */ PortDeclarationGroupGroup: LBrace PortDeclarationList RBrace; -/* 778 */ PortDeclarationGroupGroup: PortDeclarationItem; -/* 779 */ PortDeclarationGroupList /* Vec::Push */: Attribute PortDeclarationGroupList; -/* 780 */ PortDeclarationGroupList /* Vec::New */: ; -/* 781 */ PortDeclarationItem: Identifier Colon PortDeclarationItemGroup; -/* 782 */ PortDeclarationItemGroup: PortTypeConcrete; -/* 783 */ PortDeclarationItemGroup: PortTypeAbstract; -/* 784 */ PortTypeConcrete: Direction PortTypeConcreteOpt /* Option */ ArrayType; -/* 785 */ PortTypeConcreteOpt /* Option::Some */: ClockDomain; -/* 786 */ PortTypeConcreteOpt /* Option::None */: ; -/* 787 */ PortTypeAbstract: PortTypeAbstractOpt /* Option */ Interface PortTypeAbstractOpt0 /* Option */; -/* 788 */ PortTypeAbstractOpt0 /* Option::Some */: Array; -/* 789 */ PortTypeAbstractOpt0 /* Option::None */: ; -/* 790 */ PortTypeAbstractOpt /* Option::Some */: ClockDomain; -/* 791 */ PortTypeAbstractOpt /* Option::None */: ; -/* 792 */ Direction: Input; -/* 793 */ Direction: Output; -/* 794 */ Direction: Inout; -/* 795 */ Direction: Ref; -/* 796 */ Direction: Modport; -/* 797 */ Direction: Import; -/* 798 */ FunctionDeclaration: Function Identifier FunctionDeclarationOpt /* Option */ FunctionDeclarationOpt0 /* Option */ FunctionDeclarationOpt1 /* Option */ StatementBlock; -/* 799 */ FunctionDeclarationOpt1 /* Option::Some */: MinusGT ScalarType; -/* 800 */ FunctionDeclarationOpt1 /* Option::None */: ; -/* 801 */ FunctionDeclarationOpt0 /* Option::Some */: PortDeclaration; -/* 802 */ FunctionDeclarationOpt0 /* Option::None */: ; -/* 803 */ FunctionDeclarationOpt /* Option::Some */: WithGenericParameter; -/* 804 */ FunctionDeclarationOpt /* Option::None */: ; -/* 805 */ ImportDeclaration: Import ScopedIdentifier ImportDeclarationOpt /* Option */ Semicolon; -/* 806 */ ImportDeclarationOpt /* Option::Some */: ColonColon Star; -/* 807 */ ImportDeclarationOpt /* Option::None */: ; -/* 808 */ ExportDeclaration: Export ExportDeclarationGroup Semicolon; -/* 809 */ ExportDeclarationGroup: Star; -/* 810 */ ExportDeclarationGroup: ScopedIdentifier ExportDeclarationOpt /* Option */; -/* 811 */ ExportDeclarationOpt /* Option::Some */: ColonColon Star; -/* 812 */ ExportDeclarationOpt /* Option::None */: ; -/* 813 */ UnsafeBlock: Unsafe LParen Identifier RParen LBrace UnsafeBlockList /* Vec */ RBrace; -/* 814 */ UnsafeBlockList /* Vec::Push */: GenerateGroup UnsafeBlockList; -/* 815 */ UnsafeBlockList /* Vec::New */: ; -/* 816 */ ModuleDeclaration: ModuleDeclarationOpt /* Option */ Module Identifier ModuleDeclarationOpt0 /* Option */ ModuleDeclarationOpt1 /* Option */ ModuleDeclarationOpt2 /* Option */ ModuleDeclarationOpt3 /* Option */ LBrace ModuleDeclarationList /* Vec */ RBrace; -/* 817 */ ModuleDeclarationList /* Vec::Push */: ModuleGroup ModuleDeclarationList; -/* 818 */ ModuleDeclarationList /* Vec::New */: ; -/* 819 */ ModuleDeclarationOpt3 /* Option::Some */: PortDeclaration; -/* 820 */ ModuleDeclarationOpt3 /* Option::None */: ; -/* 821 */ ModuleDeclarationOpt2 /* Option::Some */: WithParameter; -/* 822 */ ModuleDeclarationOpt2 /* Option::None */: ; -/* 823 */ ModuleDeclarationOpt1 /* Option::Some */: For ScopedIdentifier; -/* 824 */ ModuleDeclarationOpt1 /* Option::None */: ; -/* 825 */ ModuleDeclarationOpt0 /* Option::Some */: WithGenericParameter; -/* 826 */ ModuleDeclarationOpt0 /* Option::None */: ; -/* 827 */ ModuleDeclarationOpt /* Option::Some */: Pub; -/* 828 */ ModuleDeclarationOpt /* Option::None */: ; -/* 829 */ ModuleGroup: ModuleGroupList /* Vec */ ModuleGroupGroup; -/* 830 */ ModuleGroupGroup: LBrace ModuleGroupGroupList /* Vec */ RBrace; -/* 831 */ ModuleGroupGroupList /* Vec::Push */: ModuleGroup ModuleGroupGroupList; -/* 832 */ ModuleGroupGroupList /* Vec::New */: ; -/* 833 */ ModuleGroupGroup: ModuleItem; -/* 834 */ ModuleGroupList /* Vec::Push */: Attribute ModuleGroupList; -/* 835 */ ModuleGroupList /* Vec::New */: ; -/* 836 */ ModuleItem: GenerateItem; -/* 837 */ InterfaceDeclaration: InterfaceDeclarationOpt /* Option */ Interface Identifier InterfaceDeclarationOpt0 /* Option */ InterfaceDeclarationOpt1 /* Option */ LBrace InterfaceDeclarationList /* Vec */ RBrace; -/* 838 */ InterfaceDeclarationList /* Vec::Push */: InterfaceGroup InterfaceDeclarationList; -/* 839 */ InterfaceDeclarationList /* Vec::New */: ; -/* 840 */ InterfaceDeclarationOpt1 /* Option::Some */: WithParameter; -/* 841 */ InterfaceDeclarationOpt1 /* Option::None */: ; -/* 842 */ InterfaceDeclarationOpt0 /* Option::Some */: WithGenericParameter; -/* 843 */ InterfaceDeclarationOpt0 /* Option::None */: ; -/* 844 */ InterfaceDeclarationOpt /* Option::Some */: Pub; -/* 845 */ InterfaceDeclarationOpt /* Option::None */: ; -/* 846 */ InterfaceGroup: InterfaceGroupList /* Vec */ InterfaceGroupGroup; -/* 847 */ InterfaceGroupGroup: LBrace InterfaceGroupGroupList /* Vec */ RBrace; -/* 848 */ InterfaceGroupGroupList /* Vec::Push */: InterfaceGroup InterfaceGroupGroupList; -/* 849 */ InterfaceGroupGroupList /* Vec::New */: ; -/* 850 */ InterfaceGroupGroup: InterfaceItem; -/* 851 */ InterfaceGroupList /* Vec::Push */: Attribute InterfaceGroupList; -/* 852 */ InterfaceGroupList /* Vec::New */: ; -/* 853 */ InterfaceItem: GenerateItem; -/* 854 */ InterfaceItem: ModportDeclaration; -/* 855 */ GenerateIfDeclaration: If Expression GenerateNamedBlock GenerateIfDeclarationList /* Vec */ GenerateIfDeclarationOpt /* Option */; -/* 856 */ GenerateIfDeclarationList /* Vec::Push */: Else If Expression GenerateOptionalNamedBlock GenerateIfDeclarationList; -/* 857 */ GenerateIfDeclarationList /* Vec::New */: ; -/* 858 */ GenerateIfDeclarationOpt /* Option::Some */: Else GenerateOptionalNamedBlock; -/* 859 */ GenerateIfDeclarationOpt /* Option::None */: ; -/* 860 */ GenerateForDeclaration: For Identifier In Range GenerateForDeclarationOpt /* Option */ GenerateNamedBlock; -/* 861 */ GenerateForDeclarationOpt /* Option::Some */: Step AssignmentOperator Expression; -/* 862 */ GenerateForDeclarationOpt /* Option::None */: ; -/* 863 */ GenerateBlockDeclaration: GenerateNamedBlock; -/* 864 */ GenerateNamedBlock: Colon Identifier LBrace GenerateNamedBlockList /* Vec */ RBrace; -/* 865 */ GenerateNamedBlockList /* Vec::Push */: GenerateGroup GenerateNamedBlockList; -/* 866 */ GenerateNamedBlockList /* Vec::New */: ; -/* 867 */ GenerateOptionalNamedBlock: GenerateOptionalNamedBlockOpt /* Option */ LBrace GenerateOptionalNamedBlockList /* Vec */ RBrace; -/* 868 */ GenerateOptionalNamedBlockList /* Vec::Push */: GenerateGroup GenerateOptionalNamedBlockList; -/* 869 */ GenerateOptionalNamedBlockList /* Vec::New */: ; -/* 870 */ GenerateOptionalNamedBlockOpt /* Option::Some */: Colon Identifier; -/* 871 */ GenerateOptionalNamedBlockOpt /* Option::None */: ; -/* 872 */ GenerateGroup: GenerateGroupList /* Vec */ GenerateGroupGroup; -/* 873 */ GenerateGroupGroup: LBrace GenerateGroupGroupList /* Vec */ RBrace; -/* 874 */ GenerateGroupGroupList /* Vec::Push */: GenerateGroup GenerateGroupGroupList; -/* 875 */ GenerateGroupGroupList /* Vec::New */: ; -/* 876 */ GenerateGroupGroup: GenerateItem; -/* 877 */ GenerateGroupList /* Vec::Push */: Attribute GenerateGroupList; -/* 878 */ GenerateGroupList /* Vec::New */: ; -/* 879 */ GenerateItem: LetDeclaration; -/* 880 */ GenerateItem: VarDeclaration; -/* 881 */ GenerateItem: InstDeclaration; -/* 882 */ GenerateItem: ConstDeclaration; -/* 883 */ GenerateItem: AlwaysFfDeclaration; -/* 884 */ GenerateItem: AlwaysCombDeclaration; -/* 885 */ GenerateItem: AssignDeclaration; -/* 886 */ GenerateItem: FunctionDeclaration; -/* 887 */ GenerateItem: GenerateIfDeclaration; -/* 888 */ GenerateItem: GenerateForDeclaration; -/* 889 */ GenerateItem: GenerateBlockDeclaration; -/* 890 */ GenerateItem: TypeDefDeclaration; -/* 891 */ GenerateItem: EnumDeclaration; -/* 892 */ GenerateItem: StructUnionDeclaration; -/* 893 */ GenerateItem: ImportDeclaration; -/* 894 */ GenerateItem: InitialDeclaration; -/* 895 */ GenerateItem: FinalDeclaration; -/* 896 */ GenerateItem: UnsafeBlock; -/* 897 */ PackageDeclaration: PackageDeclarationOpt /* Option */ Package Identifier PackageDeclarationOpt0 /* Option */ LBrace PackageDeclarationList /* Vec */ RBrace; -/* 898 */ PackageDeclarationList /* Vec::Push */: PackageGroup PackageDeclarationList; -/* 899 */ PackageDeclarationList /* Vec::New */: ; -/* 900 */ PackageDeclarationOpt0 /* Option::Some */: WithGenericParameter; -/* 901 */ PackageDeclarationOpt0 /* Option::None */: ; -/* 902 */ PackageDeclarationOpt /* Option::Some */: Pub; -/* 903 */ PackageDeclarationOpt /* Option::None */: ; -/* 904 */ PackageGroup: PackageGroupList /* Vec */ PackageGroupGroup; -/* 905 */ PackageGroupGroup: LBrace PackageGroupGroupList /* Vec */ RBrace; -/* 906 */ PackageGroupGroupList /* Vec::Push */: PackageGroup PackageGroupGroupList; -/* 907 */ PackageGroupGroupList /* Vec::New */: ; -/* 908 */ PackageGroupGroup: PackageItem; -/* 909 */ PackageGroupList /* Vec::Push */: Attribute PackageGroupList; -/* 910 */ PackageGroupList /* Vec::New */: ; -/* 911 */ PackageItem: VarDeclaration; -/* 912 */ PackageItem: ConstDeclaration; -/* 913 */ PackageItem: TypeDefDeclaration; -/* 914 */ PackageItem: EnumDeclaration; -/* 915 */ PackageItem: StructUnionDeclaration; -/* 916 */ PackageItem: FunctionDeclaration; -/* 917 */ PackageItem: ImportDeclaration; -/* 918 */ PackageItem: ExportDeclaration; -/* 919 */ ProtoModuleDeclaration: ProtoModuleDeclarationOpt /* Option */ Proto Module Identifier ProtoModuleDeclarationOpt0 /* Option */ ProtoModuleDeclarationOpt1 /* Option */ Semicolon; -/* 920 */ ProtoModuleDeclarationOpt1 /* Option::Some */: PortDeclaration; -/* 921 */ ProtoModuleDeclarationOpt1 /* Option::None */: ; -/* 922 */ ProtoModuleDeclarationOpt0 /* Option::Some */: WithParameter; -/* 923 */ ProtoModuleDeclarationOpt0 /* Option::None */: ; -/* 924 */ ProtoModuleDeclarationOpt /* Option::Some */: Pub; -/* 925 */ ProtoModuleDeclarationOpt /* Option::None */: ; -/* 926 */ EmbedDeclaration: Embed LParen Identifier RParen Identifier EmbedContent; -/* 927 */ EmbedContent: EmbedContentToken : VerylToken; -/* 928 */ EmbedContentToken: LBraceTerm %push(Embed) LBraceTerm LBraceTerm EmbedContentTokenList /* Vec */ RBraceTerm RBraceTerm RBraceTerm %pop() Comments; -/* 929 */ EmbedContentTokenList /* Vec::Push */: EmbedItem EmbedContentTokenList; -/* 930 */ EmbedContentTokenList /* Vec::New */: ; -/* 931 */ EmbedItem: LBraceTerm EmbedItemList /* Vec */ RBraceTerm; -/* 932 */ EmbedItemList /* Vec::Push */: EmbedItem EmbedItemList; -/* 933 */ EmbedItemList /* Vec::New */: ; -/* 934 */ EmbedItem: AnyTerm; -/* 935 */ IncludeDeclaration: Include LParen Identifier Comma StringLiteral RParen Semicolon; -/* 936 */ DescriptionGroup: DescriptionGroupList /* Vec */ DescriptionGroupGroup; -/* 937 */ DescriptionGroupGroup: LBrace DescriptionGroupGroupList /* Vec */ RBrace; -/* 938 */ DescriptionGroupGroupList /* Vec::Push */: DescriptionGroup DescriptionGroupGroupList; -/* 939 */ DescriptionGroupGroupList /* Vec::New */: ; -/* 940 */ DescriptionGroupGroup: DescriptionItem; -/* 941 */ DescriptionGroupList /* Vec::Push */: Attribute DescriptionGroupList; -/* 942 */ DescriptionGroupList /* Vec::New */: ; -/* 943 */ DescriptionItem: ModuleDeclaration; -/* 944 */ DescriptionItem: InterfaceDeclaration; -/* 945 */ DescriptionItem: PackageDeclaration; -/* 946 */ DescriptionItem: ProtoModuleDeclaration; -/* 947 */ DescriptionItem: ImportDeclaration; -/* 948 */ DescriptionItem: EmbedDeclaration; -/* 949 */ DescriptionItem: IncludeDeclaration; -/* 950 */ Veryl: Start VerylList /* Vec */; -/* 951 */ VerylList /* Vec::Push */: DescriptionGroup VerylList; -/* 952 */ VerylList /* Vec::New */: ; +/* 557 */ StatementBlockGroup: StatementBlockGroupList /* Vec */ StatementBlockGroupGroup; +/* 558 */ StatementBlockGroupGroup: LBrace StatementBlockGroupGroupList /* Vec */ RBrace; +/* 559 */ StatementBlockGroupGroupList /* Vec::Push */: StatementBlockGroup StatementBlockGroupGroupList; +/* 560 */ StatementBlockGroupGroupList /* Vec::New */: ; +/* 561 */ StatementBlockGroupGroup: StatementBlockItem; +/* 562 */ StatementBlockGroupList /* Vec::Push */: Attribute StatementBlockGroupList; +/* 563 */ StatementBlockGroupList /* Vec::New */: ; +/* 564 */ StatementBlockItem: VarDeclaration; +/* 565 */ StatementBlockItem: LetStatement; +/* 566 */ StatementBlockItem: Statement; +/* 567 */ Statement: IdentifierStatement; +/* 568 */ Statement: IfStatement; +/* 569 */ Statement: IfResetStatement; +/* 570 */ Statement: ReturnStatement; +/* 571 */ Statement: BreakStatement; +/* 572 */ Statement: ForStatement; +/* 573 */ Statement: CaseStatement; +/* 574 */ Statement: SwitchStatement; +/* 575 */ LetStatement: Let Identifier Colon LetStatementOpt /* Option */ ArrayType Equ Expression Semicolon; +/* 576 */ LetStatementOpt /* Option::Some */: ClockDomain; +/* 577 */ LetStatementOpt /* Option::None */: ; +/* 578 */ IdentifierStatement: ExpressionIdentifier IdentifierStatementGroup Semicolon; +/* 579 */ IdentifierStatementGroup: FunctionCall; +/* 580 */ IdentifierStatementGroup: Assignment; +/* 581 */ Assignment: AssignmentGroup Expression; +/* 582 */ AssignmentGroup: Equ; +/* 583 */ AssignmentGroup: AssignmentOperator; +/* 584 */ IfStatement: If Expression StatementBlock IfStatementList /* Vec */ IfStatementOpt /* Option */; +/* 585 */ IfStatementList /* Vec::Push */: Else If Expression StatementBlock IfStatementList; +/* 586 */ IfStatementList /* Vec::New */: ; +/* 587 */ IfStatementOpt /* Option::Some */: Else StatementBlock; +/* 588 */ IfStatementOpt /* Option::None */: ; +/* 589 */ IfResetStatement: IfReset StatementBlock IfResetStatementList /* Vec */ IfResetStatementOpt /* Option */; +/* 590 */ IfResetStatementList /* Vec::Push */: Else If Expression StatementBlock IfResetStatementList; +/* 591 */ IfResetStatementList /* Vec::New */: ; +/* 592 */ IfResetStatementOpt /* Option::Some */: Else StatementBlock; +/* 593 */ IfResetStatementOpt /* Option::None */: ; +/* 594 */ ReturnStatement: Return Expression Semicolon; +/* 595 */ BreakStatement: Break Semicolon; +/* 596 */ ForStatement: For Identifier Colon ScalarType In Range ForStatementOpt /* Option */ StatementBlock; +/* 597 */ ForStatementOpt /* Option::Some */: Step AssignmentOperator Expression; +/* 598 */ ForStatementOpt /* Option::None */: ; +/* 599 */ CaseStatement: Case Expression LBrace CaseStatementList /* Vec */ RBrace; +/* 600 */ CaseStatementList /* Vec::Push */: CaseItem CaseStatementList; +/* 601 */ CaseStatementList /* Vec::New */: ; +/* 602 */ CaseItem: CaseItemGroup Colon CaseItemGroup0; +/* 603 */ CaseItemGroup0: Statement; +/* 604 */ CaseItemGroup0: StatementBlock; +/* 605 */ CaseItemGroup: CaseCondition; +/* 606 */ CaseItemGroup: Defaul; +/* 607 */ CaseCondition: RangeItem CaseConditionList /* Vec */; +/* 608 */ CaseConditionList /* Vec::Push */: Comma RangeItem CaseConditionList; +/* 609 */ CaseConditionList /* Vec::New */: ; +/* 610 */ SwitchStatement: Switch LBrace SwitchStatementList /* Vec */ RBrace; +/* 611 */ SwitchStatementList /* Vec::Push */: SwitchItem SwitchStatementList; +/* 612 */ SwitchStatementList /* Vec::New */: ; +/* 613 */ SwitchItem: SwitchItemGroup Colon SwitchItemGroup0; +/* 614 */ SwitchItemGroup0: Statement; +/* 615 */ SwitchItemGroup0: StatementBlock; +/* 616 */ SwitchItemGroup: SwitchCondition; +/* 617 */ SwitchItemGroup: Defaul; +/* 618 */ SwitchCondition: Expression SwitchConditionList /* Vec */; +/* 619 */ SwitchConditionList /* Vec::Push */: Comma Expression SwitchConditionList; +/* 620 */ SwitchConditionList /* Vec::New */: ; +/* 621 */ Attribute: Hash LBracket Identifier AttributeOpt /* Option */ RBracket; +/* 622 */ AttributeOpt /* Option::Some */: LParen AttributeList RParen; +/* 623 */ AttributeOpt /* Option::None */: ; +/* 624 */ AttributeList: AttributeItem AttributeListList /* Vec */ AttributeListOpt /* Option */; +/* 625 */ AttributeListList /* Vec::Push */: Comma AttributeItem AttributeListList; +/* 626 */ AttributeListList /* Vec::New */: ; +/* 627 */ AttributeListOpt /* Option::Some */: Comma; +/* 628 */ AttributeListOpt /* Option::None */: ; +/* 629 */ AttributeItem: Identifier; +/* 630 */ AttributeItem: StringLiteral; +/* 631 */ LetDeclaration: Let Identifier Colon LetDeclarationOpt /* Option */ ArrayType Equ Expression Semicolon; +/* 632 */ LetDeclarationOpt /* Option::Some */: ClockDomain; +/* 633 */ LetDeclarationOpt /* Option::None */: ; +/* 634 */ VarDeclaration: Var Identifier Colon VarDeclarationOpt /* Option */ ArrayType Semicolon; +/* 635 */ VarDeclarationOpt /* Option::Some */: ClockDomain; +/* 636 */ VarDeclarationOpt /* Option::None */: ; +/* 637 */ ConstDeclaration: Const Identifier Colon ConstDeclarationGroup Equ Expression Semicolon; +/* 638 */ ConstDeclarationGroup: ArrayType; +/* 639 */ ConstDeclarationGroup: Type; +/* 640 */ TypeDefDeclaration: Type Identifier Equ ArrayType Semicolon; +/* 641 */ AlwaysFfDeclaration: AlwaysFf AlwaysFfDeclarationOpt /* Option */ StatementBlock; +/* 642 */ AlwaysFfDeclarationOpt /* Option::Some */: AlwayfFfEventList; +/* 643 */ AlwaysFfDeclarationOpt /* Option::None */: ; +/* 644 */ AlwayfFfEventList: LParen AlwaysFfClock AlwayfFfEventListOpt /* Option */ RParen; +/* 645 */ AlwayfFfEventListOpt /* Option::Some */: Comma AlwaysFfReset; +/* 646 */ AlwayfFfEventListOpt /* Option::None */: ; +/* 647 */ AlwaysFfClock: HierarchicalIdentifier; +/* 648 */ AlwaysFfReset: HierarchicalIdentifier; +/* 649 */ AlwaysCombDeclaration: AlwaysComb StatementBlock; +/* 650 */ AssignDeclaration: Assign HierarchicalIdentifier Equ Expression Semicolon; +/* 651 */ ModportDeclaration: Modport Identifier LBrace ModportList RBrace; +/* 652 */ ModportList: ModportGroup ModportListList /* Vec */ ModportListOpt /* Option */; +/* 653 */ ModportListList /* Vec::Push */: Comma ModportGroup ModportListList; +/* 654 */ ModportListList /* Vec::New */: ; +/* 655 */ ModportListOpt /* Option::Some */: Comma; +/* 656 */ ModportListOpt /* Option::None */: ; +/* 657 */ ModportGroup: ModportGroupList /* Vec */ ModportGroupGroup; +/* 658 */ ModportGroupGroup: LBrace ModportList RBrace; +/* 659 */ ModportGroupGroup: ModportItem; +/* 660 */ ModportGroupList /* Vec::Push */: Attribute ModportGroupList; +/* 661 */ ModportGroupList /* Vec::New */: ; +/* 662 */ ModportItem: Identifier Colon Direction; +/* 663 */ EnumDeclaration: Enum Identifier EnumDeclarationOpt /* Option */ LBrace EnumList RBrace; +/* 664 */ EnumDeclarationOpt /* Option::Some */: Colon ScalarType; +/* 665 */ EnumDeclarationOpt /* Option::None */: ; +/* 666 */ EnumList: EnumGroup EnumListList /* Vec */ EnumListOpt /* Option */; +/* 667 */ EnumListList /* Vec::Push */: Comma EnumGroup EnumListList; +/* 668 */ EnumListList /* Vec::New */: ; +/* 669 */ EnumListOpt /* Option::Some */: Comma; +/* 670 */ EnumListOpt /* Option::None */: ; +/* 671 */ EnumGroup: EnumGroupList /* Vec */ EnumGroupGroup; +/* 672 */ EnumGroupGroup: LBrace EnumList RBrace; +/* 673 */ EnumGroupGroup: EnumItem; +/* 674 */ EnumGroupList /* Vec::Push */: Attribute EnumGroupList; +/* 675 */ EnumGroupList /* Vec::New */: ; +/* 676 */ EnumItem: Identifier EnumItemOpt /* Option */; +/* 677 */ EnumItemOpt /* Option::Some */: Equ Expression; +/* 678 */ EnumItemOpt /* Option::None */: ; +/* 679 */ StructUnion: Struct; +/* 680 */ StructUnion: Union; +/* 681 */ StructUnionDeclaration: StructUnion Identifier StructUnionDeclarationOpt /* Option */ LBrace StructUnionList RBrace; +/* 682 */ StructUnionDeclarationOpt /* Option::Some */: WithGenericParameter; +/* 683 */ StructUnionDeclarationOpt /* Option::None */: ; +/* 684 */ StructUnionList: StructUnionGroup StructUnionListList /* Vec */ StructUnionListOpt /* Option */; +/* 685 */ StructUnionListList /* Vec::Push */: Comma StructUnionGroup StructUnionListList; +/* 686 */ StructUnionListList /* Vec::New */: ; +/* 687 */ StructUnionListOpt /* Option::Some */: Comma; +/* 688 */ StructUnionListOpt /* Option::None */: ; +/* 689 */ StructUnionGroup: StructUnionGroupList /* Vec */ StructUnionGroupGroup; +/* 690 */ StructUnionGroupGroup: LBrace StructUnionList RBrace; +/* 691 */ StructUnionGroupGroup: StructUnionItem; +/* 692 */ StructUnionGroupList /* Vec::Push */: Attribute StructUnionGroupList; +/* 693 */ StructUnionGroupList /* Vec::New */: ; +/* 694 */ StructUnionItem: Identifier Colon ScalarType; +/* 695 */ InitialDeclaration: Initial StatementBlock; +/* 696 */ FinalDeclaration: Final StatementBlock; +/* 697 */ InstDeclaration: Inst Identifier Colon ScopedIdentifier InstDeclarationOpt /* Option */ InstDeclarationOpt0 /* Option */ InstDeclarationOpt1 /* Option */ Semicolon; +/* 698 */ InstDeclarationOpt1 /* Option::Some */: LParen InstDeclarationOpt2 /* Option */ RParen; +/* 699 */ InstDeclarationOpt2 /* Option::Some */: InstPortList; +/* 700 */ InstDeclarationOpt2 /* Option::None */: ; +/* 701 */ InstDeclarationOpt1 /* Option::None */: ; +/* 702 */ InstDeclarationOpt0 /* Option::Some */: InstParameter; +/* 703 */ InstDeclarationOpt0 /* Option::None */: ; +/* 704 */ InstDeclarationOpt /* Option::Some */: Array; +/* 705 */ InstDeclarationOpt /* Option::None */: ; +/* 706 */ InstParameter: Hash LParen InstParameterOpt /* Option */ RParen; +/* 707 */ InstParameterOpt /* Option::Some */: InstParameterList; +/* 708 */ InstParameterOpt /* Option::None */: ; +/* 709 */ InstParameterList: InstParameterGroup InstParameterListList /* Vec */ InstParameterListOpt /* Option */; +/* 710 */ InstParameterListList /* Vec::Push */: Comma InstParameterGroup InstParameterListList; +/* 711 */ InstParameterListList /* Vec::New */: ; +/* 712 */ InstParameterListOpt /* Option::Some */: Comma; +/* 713 */ InstParameterListOpt /* Option::None */: ; +/* 714 */ InstParameterGroup: InstParameterGroupList /* Vec */ InstParameterGroupGroup; +/* 715 */ InstParameterGroupGroup: LBrace InstParameterList RBrace; +/* 716 */ InstParameterGroupGroup: InstParameterItem; +/* 717 */ InstParameterGroupList /* Vec::Push */: Attribute InstParameterGroupList; +/* 718 */ InstParameterGroupList /* Vec::New */: ; +/* 719 */ InstParameterItem: Identifier InstParameterItemOpt /* Option */; +/* 720 */ InstParameterItemOpt /* Option::Some */: Colon Expression; +/* 721 */ InstParameterItemOpt /* Option::None */: ; +/* 722 */ InstPortList: InstPortGroup InstPortListList /* Vec */ InstPortListOpt /* Option */; +/* 723 */ InstPortListList /* Vec::Push */: Comma InstPortGroup InstPortListList; +/* 724 */ InstPortListList /* Vec::New */: ; +/* 725 */ InstPortListOpt /* Option::Some */: Comma; +/* 726 */ InstPortListOpt /* Option::None */: ; +/* 727 */ InstPortGroup: InstPortGroupList /* Vec */ InstPortGroupGroup; +/* 728 */ InstPortGroupGroup: LBrace InstPortList RBrace; +/* 729 */ InstPortGroupGroup: InstPortItem; +/* 730 */ InstPortGroupList /* Vec::Push */: Attribute InstPortGroupList; +/* 731 */ InstPortGroupList /* Vec::New */: ; +/* 732 */ InstPortItem: Identifier InstPortItemOpt /* Option */; +/* 733 */ InstPortItemOpt /* Option::Some */: Colon Expression; +/* 734 */ InstPortItemOpt /* Option::None */: ; +/* 735 */ WithParameter: Hash LParen WithParameterOpt /* Option */ RParen; +/* 736 */ WithParameterOpt /* Option::Some */: WithParameterList; +/* 737 */ WithParameterOpt /* Option::None */: ; +/* 738 */ WithParameterList: WithParameterGroup WithParameterListList /* Vec */ WithParameterListOpt /* Option */; +/* 739 */ WithParameterListList /* Vec::Push */: Comma WithParameterGroup WithParameterListList; +/* 740 */ WithParameterListList /* Vec::New */: ; +/* 741 */ WithParameterListOpt /* Option::Some */: Comma; +/* 742 */ WithParameterListOpt /* Option::None */: ; +/* 743 */ WithParameterGroup: WithParameterGroupList /* Vec */ WithParameterGroupGroup; +/* 744 */ WithParameterGroupGroup: LBrace WithParameterList RBrace; +/* 745 */ WithParameterGroupGroup: WithParameterItem; +/* 746 */ WithParameterGroupList /* Vec::Push */: Attribute WithParameterGroupList; +/* 747 */ WithParameterGroupList /* Vec::New */: ; +/* 748 */ WithParameterItem: WithParameterItemGroup Identifier Colon WithParameterItemGroup0 Equ Expression; +/* 749 */ WithParameterItemGroup0: ArrayType; +/* 750 */ WithParameterItemGroup0: Type; +/* 751 */ WithParameterItemGroup: Param; +/* 752 */ WithParameterItemGroup: Const; +/* 753 */ GenericBound: Const; +/* 754 */ GenericBound: Type; +/* 755 */ GenericBound: ScopedIdentifier; +/* 756 */ WithGenericParameter: ColonColonLAngle WithGenericParameterList RAngle; +/* 757 */ WithGenericParameterList: WithGenericParameterItem WithGenericParameterListList /* Vec */ WithGenericParameterListOpt /* Option */; +/* 758 */ WithGenericParameterListList /* Vec::Push */: Comma WithGenericParameterItem WithGenericParameterListList; +/* 759 */ WithGenericParameterListList /* Vec::New */: ; +/* 760 */ WithGenericParameterListOpt /* Option::Some */: Comma; +/* 761 */ WithGenericParameterListOpt /* Option::None */: ; +/* 762 */ WithGenericParameterItem: Identifier Colon GenericBound WithGenericParameterItemOpt /* Option */; +/* 763 */ WithGenericParameterItemOpt /* Option::Some */: Equ WithGenericArgumentItem; +/* 764 */ WithGenericParameterItemOpt /* Option::None */: ; +/* 765 */ WithGenericArgument: ColonColonLAngle %push(Generic) WithGenericArgumentOpt /* Option */ RAngle %pop(); +/* 766 */ WithGenericArgumentOpt /* Option::Some */: WithGenericArgumentList; +/* 767 */ WithGenericArgumentOpt /* Option::None */: ; +/* 768 */ WithGenericArgumentList: WithGenericArgumentItem WithGenericArgumentListList /* Vec */ WithGenericArgumentListOpt /* Option */; +/* 769 */ WithGenericArgumentListList /* Vec::Push */: Comma WithGenericArgumentItem WithGenericArgumentListList; +/* 770 */ WithGenericArgumentListList /* Vec::New */: ; +/* 771 */ WithGenericArgumentListOpt /* Option::Some */: Comma; +/* 772 */ WithGenericArgumentListOpt /* Option::None */: ; +/* 773 */ WithGenericArgumentItem: ScopedIdentifier; +/* 774 */ WithGenericArgumentItem: Number; +/* 775 */ PortDeclaration: LParen PortDeclarationOpt /* Option */ RParen; +/* 776 */ PortDeclarationOpt /* Option::Some */: PortDeclarationList; +/* 777 */ PortDeclarationOpt /* Option::None */: ; +/* 778 */ PortDeclarationList: PortDeclarationGroup PortDeclarationListList /* Vec */ PortDeclarationListOpt /* Option */; +/* 779 */ PortDeclarationListList /* Vec::Push */: Comma PortDeclarationGroup PortDeclarationListList; +/* 780 */ PortDeclarationListList /* Vec::New */: ; +/* 781 */ PortDeclarationListOpt /* Option::Some */: Comma; +/* 782 */ PortDeclarationListOpt /* Option::None */: ; +/* 783 */ PortDeclarationGroup: PortDeclarationGroupList /* Vec */ PortDeclarationGroupGroup; +/* 784 */ PortDeclarationGroupGroup: LBrace PortDeclarationList RBrace; +/* 785 */ PortDeclarationGroupGroup: PortDeclarationItem; +/* 786 */ PortDeclarationGroupList /* Vec::Push */: Attribute PortDeclarationGroupList; +/* 787 */ PortDeclarationGroupList /* Vec::New */: ; +/* 788 */ PortDeclarationItem: Identifier Colon PortDeclarationItemGroup; +/* 789 */ PortDeclarationItemGroup: PortTypeConcrete; +/* 790 */ PortDeclarationItemGroup: PortTypeAbstract; +/* 791 */ PortTypeConcrete: Direction PortTypeConcreteOpt /* Option */ ArrayType; +/* 792 */ PortTypeConcreteOpt /* Option::Some */: ClockDomain; +/* 793 */ PortTypeConcreteOpt /* Option::None */: ; +/* 794 */ PortTypeAbstract: PortTypeAbstractOpt /* Option */ Interface PortTypeAbstractOpt0 /* Option */; +/* 795 */ PortTypeAbstractOpt0 /* Option::Some */: Array; +/* 796 */ PortTypeAbstractOpt0 /* Option::None */: ; +/* 797 */ PortTypeAbstractOpt /* Option::Some */: ClockDomain; +/* 798 */ PortTypeAbstractOpt /* Option::None */: ; +/* 799 */ Direction: Input; +/* 800 */ Direction: Output; +/* 801 */ Direction: Inout; +/* 802 */ Direction: Ref; +/* 803 */ Direction: Modport; +/* 804 */ Direction: Import; +/* 805 */ FunctionDeclaration: Function Identifier FunctionDeclarationOpt /* Option */ FunctionDeclarationOpt0 /* Option */ FunctionDeclarationOpt1 /* Option */ StatementBlock; +/* 806 */ FunctionDeclarationOpt1 /* Option::Some */: MinusGT ScalarType; +/* 807 */ FunctionDeclarationOpt1 /* Option::None */: ; +/* 808 */ FunctionDeclarationOpt0 /* Option::Some */: PortDeclaration; +/* 809 */ FunctionDeclarationOpt0 /* Option::None */: ; +/* 810 */ FunctionDeclarationOpt /* Option::Some */: WithGenericParameter; +/* 811 */ FunctionDeclarationOpt /* Option::None */: ; +/* 812 */ ImportDeclaration: Import ScopedIdentifier ImportDeclarationOpt /* Option */ Semicolon; +/* 813 */ ImportDeclarationOpt /* Option::Some */: ColonColon Star; +/* 814 */ ImportDeclarationOpt /* Option::None */: ; +/* 815 */ ExportDeclaration: Export ExportDeclarationGroup Semicolon; +/* 816 */ ExportDeclarationGroup: Star; +/* 817 */ ExportDeclarationGroup: ScopedIdentifier ExportDeclarationOpt /* Option */; +/* 818 */ ExportDeclarationOpt /* Option::Some */: ColonColon Star; +/* 819 */ ExportDeclarationOpt /* Option::None */: ; +/* 820 */ UnsafeBlock: Unsafe LParen Identifier RParen LBrace UnsafeBlockList /* Vec */ RBrace; +/* 821 */ UnsafeBlockList /* Vec::Push */: GenerateGroup UnsafeBlockList; +/* 822 */ UnsafeBlockList /* Vec::New */: ; +/* 823 */ ModuleDeclaration: ModuleDeclarationOpt /* Option */ Module Identifier ModuleDeclarationOpt0 /* Option */ ModuleDeclarationOpt1 /* Option */ ModuleDeclarationOpt2 /* Option */ ModuleDeclarationOpt3 /* Option */ LBrace ModuleDeclarationList /* Vec */ RBrace; +/* 824 */ ModuleDeclarationList /* Vec::Push */: ModuleGroup ModuleDeclarationList; +/* 825 */ ModuleDeclarationList /* Vec::New */: ; +/* 826 */ ModuleDeclarationOpt3 /* Option::Some */: PortDeclaration; +/* 827 */ ModuleDeclarationOpt3 /* Option::None */: ; +/* 828 */ ModuleDeclarationOpt2 /* Option::Some */: WithParameter; +/* 829 */ ModuleDeclarationOpt2 /* Option::None */: ; +/* 830 */ ModuleDeclarationOpt1 /* Option::Some */: For ScopedIdentifier; +/* 831 */ ModuleDeclarationOpt1 /* Option::None */: ; +/* 832 */ ModuleDeclarationOpt0 /* Option::Some */: WithGenericParameter; +/* 833 */ ModuleDeclarationOpt0 /* Option::None */: ; +/* 834 */ ModuleDeclarationOpt /* Option::Some */: Pub; +/* 835 */ ModuleDeclarationOpt /* Option::None */: ; +/* 836 */ ModuleGroup: ModuleGroupList /* Vec */ ModuleGroupGroup; +/* 837 */ ModuleGroupGroup: LBrace ModuleGroupGroupList /* Vec */ RBrace; +/* 838 */ ModuleGroupGroupList /* Vec::Push */: ModuleGroup ModuleGroupGroupList; +/* 839 */ ModuleGroupGroupList /* Vec::New */: ; +/* 840 */ ModuleGroupGroup: ModuleItem; +/* 841 */ ModuleGroupList /* Vec::Push */: Attribute ModuleGroupList; +/* 842 */ ModuleGroupList /* Vec::New */: ; +/* 843 */ ModuleItem: GenerateItem; +/* 844 */ InterfaceDeclaration: InterfaceDeclarationOpt /* Option */ Interface Identifier InterfaceDeclarationOpt0 /* Option */ InterfaceDeclarationOpt1 /* Option */ LBrace InterfaceDeclarationList /* Vec */ RBrace; +/* 845 */ InterfaceDeclarationList /* Vec::Push */: InterfaceGroup InterfaceDeclarationList; +/* 846 */ InterfaceDeclarationList /* Vec::New */: ; +/* 847 */ InterfaceDeclarationOpt1 /* Option::Some */: WithParameter; +/* 848 */ InterfaceDeclarationOpt1 /* Option::None */: ; +/* 849 */ InterfaceDeclarationOpt0 /* Option::Some */: WithGenericParameter; +/* 850 */ InterfaceDeclarationOpt0 /* Option::None */: ; +/* 851 */ InterfaceDeclarationOpt /* Option::Some */: Pub; +/* 852 */ InterfaceDeclarationOpt /* Option::None */: ; +/* 853 */ InterfaceGroup: InterfaceGroupList /* Vec */ InterfaceGroupGroup; +/* 854 */ InterfaceGroupGroup: LBrace InterfaceGroupGroupList /* Vec */ RBrace; +/* 855 */ InterfaceGroupGroupList /* Vec::Push */: InterfaceGroup InterfaceGroupGroupList; +/* 856 */ InterfaceGroupGroupList /* Vec::New */: ; +/* 857 */ InterfaceGroupGroup: InterfaceItem; +/* 858 */ InterfaceGroupList /* Vec::Push */: Attribute InterfaceGroupList; +/* 859 */ InterfaceGroupList /* Vec::New */: ; +/* 860 */ InterfaceItem: GenerateItem; +/* 861 */ InterfaceItem: ModportDeclaration; +/* 862 */ GenerateIfDeclaration: If Expression GenerateNamedBlock GenerateIfDeclarationList /* Vec */ GenerateIfDeclarationOpt /* Option */; +/* 863 */ GenerateIfDeclarationList /* Vec::Push */: Else If Expression GenerateOptionalNamedBlock GenerateIfDeclarationList; +/* 864 */ GenerateIfDeclarationList /* Vec::New */: ; +/* 865 */ GenerateIfDeclarationOpt /* Option::Some */: Else GenerateOptionalNamedBlock; +/* 866 */ GenerateIfDeclarationOpt /* Option::None */: ; +/* 867 */ GenerateForDeclaration: For Identifier In Range GenerateForDeclarationOpt /* Option */ GenerateNamedBlock; +/* 868 */ GenerateForDeclarationOpt /* Option::Some */: Step AssignmentOperator Expression; +/* 869 */ GenerateForDeclarationOpt /* Option::None */: ; +/* 870 */ GenerateBlockDeclaration: GenerateNamedBlock; +/* 871 */ GenerateNamedBlock: Colon Identifier LBrace GenerateNamedBlockList /* Vec */ RBrace; +/* 872 */ GenerateNamedBlockList /* Vec::Push */: GenerateGroup GenerateNamedBlockList; +/* 873 */ GenerateNamedBlockList /* Vec::New */: ; +/* 874 */ GenerateOptionalNamedBlock: GenerateOptionalNamedBlockOpt /* Option */ LBrace GenerateOptionalNamedBlockList /* Vec */ RBrace; +/* 875 */ GenerateOptionalNamedBlockList /* Vec::Push */: GenerateGroup GenerateOptionalNamedBlockList; +/* 876 */ GenerateOptionalNamedBlockList /* Vec::New */: ; +/* 877 */ GenerateOptionalNamedBlockOpt /* Option::Some */: Colon Identifier; +/* 878 */ GenerateOptionalNamedBlockOpt /* Option::None */: ; +/* 879 */ GenerateGroup: GenerateGroupList /* Vec */ GenerateGroupGroup; +/* 880 */ GenerateGroupGroup: LBrace GenerateGroupGroupList /* Vec */ RBrace; +/* 881 */ GenerateGroupGroupList /* Vec::Push */: GenerateGroup GenerateGroupGroupList; +/* 882 */ GenerateGroupGroupList /* Vec::New */: ; +/* 883 */ GenerateGroupGroup: GenerateItem; +/* 884 */ GenerateGroupList /* Vec::Push */: Attribute GenerateGroupList; +/* 885 */ GenerateGroupList /* Vec::New */: ; +/* 886 */ GenerateItem: LetDeclaration; +/* 887 */ GenerateItem: VarDeclaration; +/* 888 */ GenerateItem: InstDeclaration; +/* 889 */ GenerateItem: ConstDeclaration; +/* 890 */ GenerateItem: AlwaysFfDeclaration; +/* 891 */ GenerateItem: AlwaysCombDeclaration; +/* 892 */ GenerateItem: AssignDeclaration; +/* 893 */ GenerateItem: FunctionDeclaration; +/* 894 */ GenerateItem: GenerateIfDeclaration; +/* 895 */ GenerateItem: GenerateForDeclaration; +/* 896 */ GenerateItem: GenerateBlockDeclaration; +/* 897 */ GenerateItem: TypeDefDeclaration; +/* 898 */ GenerateItem: EnumDeclaration; +/* 899 */ GenerateItem: StructUnionDeclaration; +/* 900 */ GenerateItem: ImportDeclaration; +/* 901 */ GenerateItem: InitialDeclaration; +/* 902 */ GenerateItem: FinalDeclaration; +/* 903 */ GenerateItem: UnsafeBlock; +/* 904 */ PackageDeclaration: PackageDeclarationOpt /* Option */ Package Identifier PackageDeclarationOpt0 /* Option */ LBrace PackageDeclarationList /* Vec */ RBrace; +/* 905 */ PackageDeclarationList /* Vec::Push */: PackageGroup PackageDeclarationList; +/* 906 */ PackageDeclarationList /* Vec::New */: ; +/* 907 */ PackageDeclarationOpt0 /* Option::Some */: WithGenericParameter; +/* 908 */ PackageDeclarationOpt0 /* Option::None */: ; +/* 909 */ PackageDeclarationOpt /* Option::Some */: Pub; +/* 910 */ PackageDeclarationOpt /* Option::None */: ; +/* 911 */ PackageGroup: PackageGroupList /* Vec */ PackageGroupGroup; +/* 912 */ PackageGroupGroup: LBrace PackageGroupGroupList /* Vec */ RBrace; +/* 913 */ PackageGroupGroupList /* Vec::Push */: PackageGroup PackageGroupGroupList; +/* 914 */ PackageGroupGroupList /* Vec::New */: ; +/* 915 */ PackageGroupGroup: PackageItem; +/* 916 */ PackageGroupList /* Vec::Push */: Attribute PackageGroupList; +/* 917 */ PackageGroupList /* Vec::New */: ; +/* 918 */ PackageItem: VarDeclaration; +/* 919 */ PackageItem: ConstDeclaration; +/* 920 */ PackageItem: TypeDefDeclaration; +/* 921 */ PackageItem: EnumDeclaration; +/* 922 */ PackageItem: StructUnionDeclaration; +/* 923 */ PackageItem: FunctionDeclaration; +/* 924 */ PackageItem: ImportDeclaration; +/* 925 */ PackageItem: ExportDeclaration; +/* 926 */ ProtoModuleDeclaration: ProtoModuleDeclarationOpt /* Option */ Proto Module Identifier ProtoModuleDeclarationOpt0 /* Option */ ProtoModuleDeclarationOpt1 /* Option */ Semicolon; +/* 927 */ ProtoModuleDeclarationOpt1 /* Option::Some */: PortDeclaration; +/* 928 */ ProtoModuleDeclarationOpt1 /* Option::None */: ; +/* 929 */ ProtoModuleDeclarationOpt0 /* Option::Some */: WithParameter; +/* 930 */ ProtoModuleDeclarationOpt0 /* Option::None */: ; +/* 931 */ ProtoModuleDeclarationOpt /* Option::Some */: Pub; +/* 932 */ ProtoModuleDeclarationOpt /* Option::None */: ; +/* 933 */ EmbedDeclaration: Embed LParen Identifier RParen Identifier EmbedContent; +/* 934 */ EmbedContent: EmbedContentToken : VerylToken; +/* 935 */ EmbedContentToken: LBraceTerm %push(Embed) LBraceTerm LBraceTerm EmbedContentTokenList /* Vec */ RBraceTerm RBraceTerm RBraceTerm %pop() Comments; +/* 936 */ EmbedContentTokenList /* Vec::Push */: EmbedItem EmbedContentTokenList; +/* 937 */ EmbedContentTokenList /* Vec::New */: ; +/* 938 */ EmbedItem: LBraceTerm EmbedItemList /* Vec */ RBraceTerm; +/* 939 */ EmbedItemList /* Vec::Push */: EmbedItem EmbedItemList; +/* 940 */ EmbedItemList /* Vec::New */: ; +/* 941 */ EmbedItem: AnyTerm; +/* 942 */ IncludeDeclaration: Include LParen Identifier Comma StringLiteral RParen Semicolon; +/* 943 */ DescriptionGroup: DescriptionGroupList /* Vec */ DescriptionGroupGroup; +/* 944 */ DescriptionGroupGroup: LBrace DescriptionGroupGroupList /* Vec */ RBrace; +/* 945 */ DescriptionGroupGroupList /* Vec::Push */: DescriptionGroup DescriptionGroupGroupList; +/* 946 */ DescriptionGroupGroupList /* Vec::New */: ; +/* 947 */ DescriptionGroupGroup: DescriptionItem; +/* 948 */ DescriptionGroupList /* Vec::Push */: Attribute DescriptionGroupList; +/* 949 */ DescriptionGroupList /* Vec::New */: ; +/* 950 */ DescriptionItem: ModuleDeclaration; +/* 951 */ DescriptionItem: InterfaceDeclaration; +/* 952 */ DescriptionItem: PackageDeclaration; +/* 953 */ DescriptionItem: ProtoModuleDeclaration; +/* 954 */ DescriptionItem: ImportDeclaration; +/* 955 */ DescriptionItem: EmbedDeclaration; +/* 956 */ DescriptionItem: IncludeDeclaration; +/* 957 */ Veryl: Start VerylList /* Vec */; +/* 958 */ VerylList /* Vec::Push */: DescriptionGroup VerylList; +/* 959 */ VerylList /* Vec::New */: ; diff --git a/crates/parser/src/generated/veryl_grammar_trait.rs b/crates/parser/src/generated/veryl_grammar_trait.rs index 86c4c0e2..81bf2340 100644 --- a/crates/parser/src/generated/veryl_grammar_trait.rs +++ b/crates/parser/src/generated/veryl_grammar_trait.rs @@ -1965,6 +1965,11 @@ pub trait VerylGrammarTrait { Ok(()) } + /// Semantic action for non-terminal 'StatementBlockGroup' + fn statement_block_group(&mut self, _arg: &StatementBlockGroup) -> Result<()> { + Ok(()) + } + /// Semantic action for non-terminal 'StatementBlockItem' fn statement_block_item(&mut self, _arg: &StatementBlockItem) -> Result<()> { Ok(()) @@ -3420,7 +3425,33 @@ pub struct CastingTypeUserDefinedType { } /// -/// Type derived for production 557 +/// Type derived for production 558 +/// +/// `StatementBlockGroupGroup: LBrace StatementBlockGroupGroupList /* Vec */ RBrace;` +/// +#[allow(dead_code)] +#[derive(Builder, Debug, Clone)] +#[builder(crate = "parol_runtime::derive_builder")] +pub struct StatementBlockGroupGroupLBraceStatementBlockGroupGroupListRBrace { + pub l_brace: Box, + pub statement_block_group_group_list: Vec, + pub r_brace: Box, +} + +/// +/// Type derived for production 561 +/// +/// `StatementBlockGroupGroup: StatementBlockItem;` +/// +#[allow(dead_code)] +#[derive(Builder, Debug, Clone)] +#[builder(crate = "parol_runtime::derive_builder")] +pub struct StatementBlockGroupGroupStatementBlockItem { + pub statement_block_item: Box, +} + +/// +/// Type derived for production 564 /// /// `StatementBlockItem: VarDeclaration;` /// @@ -3432,7 +3463,7 @@ pub struct StatementBlockItemVarDeclaration { } /// -/// Type derived for production 558 +/// Type derived for production 565 /// /// `StatementBlockItem: LetStatement;` /// @@ -3444,7 +3475,7 @@ pub struct StatementBlockItemLetStatement { } /// -/// Type derived for production 559 +/// Type derived for production 566 /// /// `StatementBlockItem: Statement;` /// @@ -3456,7 +3487,7 @@ pub struct StatementBlockItemStatement { } /// -/// Type derived for production 560 +/// Type derived for production 567 /// /// `Statement: IdentifierStatement;` /// @@ -3468,7 +3499,7 @@ pub struct StatementIdentifierStatement { } /// -/// Type derived for production 561 +/// Type derived for production 568 /// /// `Statement: IfStatement;` /// @@ -3480,7 +3511,7 @@ pub struct StatementIfStatement { } /// -/// Type derived for production 562 +/// Type derived for production 569 /// /// `Statement: IfResetStatement;` /// @@ -3492,7 +3523,7 @@ pub struct StatementIfResetStatement { } /// -/// Type derived for production 563 +/// Type derived for production 570 /// /// `Statement: ReturnStatement;` /// @@ -3504,7 +3535,7 @@ pub struct StatementReturnStatement { } /// -/// Type derived for production 564 +/// Type derived for production 571 /// /// `Statement: BreakStatement;` /// @@ -3516,7 +3547,7 @@ pub struct StatementBreakStatement { } /// -/// Type derived for production 565 +/// Type derived for production 572 /// /// `Statement: ForStatement;` /// @@ -3528,7 +3559,7 @@ pub struct StatementForStatement { } /// -/// Type derived for production 566 +/// Type derived for production 573 /// /// `Statement: CaseStatement;` /// @@ -3540,7 +3571,7 @@ pub struct StatementCaseStatement { } /// -/// Type derived for production 567 +/// Type derived for production 574 /// /// `Statement: SwitchStatement;` /// @@ -3552,7 +3583,7 @@ pub struct StatementSwitchStatement { } /// -/// Type derived for production 572 +/// Type derived for production 579 /// /// `IdentifierStatementGroup: FunctionCall;` /// @@ -3564,7 +3595,7 @@ pub struct IdentifierStatementGroupFunctionCall { } /// -/// Type derived for production 573 +/// Type derived for production 580 /// /// `IdentifierStatementGroup: Assignment;` /// @@ -3576,7 +3607,7 @@ pub struct IdentifierStatementGroupAssignment { } /// -/// Type derived for production 575 +/// Type derived for production 582 /// /// `AssignmentGroup: Equ;` /// @@ -3588,7 +3619,7 @@ pub struct AssignmentGroupEqu { } /// -/// Type derived for production 576 +/// Type derived for production 583 /// /// `AssignmentGroup: AssignmentOperator;` /// @@ -3600,7 +3631,7 @@ pub struct AssignmentGroupAssignmentOperator { } /// -/// Type derived for production 596 +/// Type derived for production 603 /// /// `CaseItemGroup0: Statement;` /// @@ -3612,7 +3643,7 @@ pub struct CaseItemGroup0Statement { } /// -/// Type derived for production 597 +/// Type derived for production 604 /// /// `CaseItemGroup0: StatementBlock;` /// @@ -3624,7 +3655,7 @@ pub struct CaseItemGroup0StatementBlock { } /// -/// Type derived for production 598 +/// Type derived for production 605 /// /// `CaseItemGroup: CaseCondition;` /// @@ -3636,7 +3667,7 @@ pub struct CaseItemGroupCaseCondition { } /// -/// Type derived for production 599 +/// Type derived for production 606 /// /// `CaseItemGroup: Defaul;` /// @@ -3648,7 +3679,7 @@ pub struct CaseItemGroupDefaul { } /// -/// Type derived for production 607 +/// Type derived for production 614 /// /// `SwitchItemGroup0: Statement;` /// @@ -3660,7 +3691,7 @@ pub struct SwitchItemGroup0Statement { } /// -/// Type derived for production 608 +/// Type derived for production 615 /// /// `SwitchItemGroup0: StatementBlock;` /// @@ -3672,7 +3703,7 @@ pub struct SwitchItemGroup0StatementBlock { } /// -/// Type derived for production 609 +/// Type derived for production 616 /// /// `SwitchItemGroup: SwitchCondition;` /// @@ -3684,7 +3715,7 @@ pub struct SwitchItemGroupSwitchCondition { } /// -/// Type derived for production 610 +/// Type derived for production 617 /// /// `SwitchItemGroup: Defaul;` /// @@ -3696,7 +3727,7 @@ pub struct SwitchItemGroupDefaul { } /// -/// Type derived for production 622 +/// Type derived for production 629 /// /// `AttributeItem: Identifier;` /// @@ -3708,7 +3739,7 @@ pub struct AttributeItemIdentifier { } /// -/// Type derived for production 623 +/// Type derived for production 630 /// /// `AttributeItem: StringLiteral;` /// @@ -3720,7 +3751,7 @@ pub struct AttributeItemStringLiteral { } /// -/// Type derived for production 631 +/// Type derived for production 638 /// /// `ConstDeclarationGroup: ArrayType;` /// @@ -3732,7 +3763,7 @@ pub struct ConstDeclarationGroupArrayType { } /// -/// Type derived for production 632 +/// Type derived for production 639 /// /// `ConstDeclarationGroup: Type;` /// @@ -3744,7 +3775,7 @@ pub struct ConstDeclarationGroupType { } /// -/// Type derived for production 651 +/// Type derived for production 658 /// /// `ModportGroupGroup: LBrace ModportList RBrace;` /// @@ -3758,7 +3789,7 @@ pub struct ModportGroupGroupLBraceModportListRBrace { } /// -/// Type derived for production 652 +/// Type derived for production 659 /// /// `ModportGroupGroup: ModportItem;` /// @@ -3770,7 +3801,7 @@ pub struct ModportGroupGroupModportItem { } /// -/// Type derived for production 665 +/// Type derived for production 672 /// /// `EnumGroupGroup: LBrace EnumList RBrace;` /// @@ -3784,7 +3815,7 @@ pub struct EnumGroupGroupLBraceEnumListRBrace { } /// -/// Type derived for production 666 +/// Type derived for production 673 /// /// `EnumGroupGroup: EnumItem;` /// @@ -3796,7 +3827,7 @@ pub struct EnumGroupGroupEnumItem { } /// -/// Type derived for production 672 +/// Type derived for production 679 /// /// `StructUnion: Struct;` /// @@ -3808,7 +3839,7 @@ pub struct StructUnionStruct { } /// -/// Type derived for production 673 +/// Type derived for production 680 /// /// `StructUnion: Union;` /// @@ -3820,7 +3851,7 @@ pub struct StructUnionUnion { } /// -/// Type derived for production 683 +/// Type derived for production 690 /// /// `StructUnionGroupGroup: LBrace StructUnionList RBrace;` /// @@ -3834,7 +3865,7 @@ pub struct StructUnionGroupGroupLBraceStructUnionListRBrace { } /// -/// Type derived for production 684 +/// Type derived for production 691 /// /// `StructUnionGroupGroup: StructUnionItem;` /// @@ -3846,7 +3877,7 @@ pub struct StructUnionGroupGroupStructUnionItem { } /// -/// Type derived for production 708 +/// Type derived for production 715 /// /// `InstParameterGroupGroup: LBrace InstParameterList RBrace;` /// @@ -3860,7 +3891,7 @@ pub struct InstParameterGroupGroupLBraceInstParameterListRBrace { } /// -/// Type derived for production 709 +/// Type derived for production 716 /// /// `InstParameterGroupGroup: InstParameterItem;` /// @@ -3872,7 +3903,7 @@ pub struct InstParameterGroupGroupInstParameterItem { } /// -/// Type derived for production 721 +/// Type derived for production 728 /// /// `InstPortGroupGroup: LBrace InstPortList RBrace;` /// @@ -3886,7 +3917,7 @@ pub struct InstPortGroupGroupLBraceInstPortListRBrace { } /// -/// Type derived for production 722 +/// Type derived for production 729 /// /// `InstPortGroupGroup: InstPortItem;` /// @@ -3898,7 +3929,7 @@ pub struct InstPortGroupGroupInstPortItem { } /// -/// Type derived for production 737 +/// Type derived for production 744 /// /// `WithParameterGroupGroup: LBrace WithParameterList RBrace;` /// @@ -3912,7 +3943,7 @@ pub struct WithParameterGroupGroupLBraceWithParameterListRBrace { } /// -/// Type derived for production 738 +/// Type derived for production 745 /// /// `WithParameterGroupGroup: WithParameterItem;` /// @@ -3924,7 +3955,7 @@ pub struct WithParameterGroupGroupWithParameterItem { } /// -/// Type derived for production 742 +/// Type derived for production 749 /// /// `WithParameterItemGroup0: ArrayType;` /// @@ -3936,7 +3967,7 @@ pub struct WithParameterItemGroup0ArrayType { } /// -/// Type derived for production 743 +/// Type derived for production 750 /// /// `WithParameterItemGroup0: Type;` /// @@ -3948,7 +3979,7 @@ pub struct WithParameterItemGroup0Type { } /// -/// Type derived for production 744 +/// Type derived for production 751 /// /// `WithParameterItemGroup: Param;` /// @@ -3960,7 +3991,7 @@ pub struct WithParameterItemGroupParam { } /// -/// Type derived for production 745 +/// Type derived for production 752 /// /// `WithParameterItemGroup: Const;` /// @@ -3972,7 +4003,7 @@ pub struct WithParameterItemGroupConst { } /// -/// Type derived for production 746 +/// Type derived for production 753 /// /// `GenericBound: Const;` /// @@ -3984,7 +4015,7 @@ pub struct GenericBoundConst { } /// -/// Type derived for production 747 +/// Type derived for production 754 /// /// `GenericBound: Type;` /// @@ -3996,7 +4027,7 @@ pub struct GenericBoundType { } /// -/// Type derived for production 748 +/// Type derived for production 755 /// /// `GenericBound: ScopedIdentifier;` /// @@ -4008,7 +4039,7 @@ pub struct GenericBoundScopedIdentifier { } /// -/// Type derived for production 766 +/// Type derived for production 773 /// /// `WithGenericArgumentItem: ScopedIdentifier;` /// @@ -4020,7 +4051,7 @@ pub struct WithGenericArgumentItemScopedIdentifier { } /// -/// Type derived for production 767 +/// Type derived for production 774 /// /// `WithGenericArgumentItem: Number;` /// @@ -4032,7 +4063,7 @@ pub struct WithGenericArgumentItemNumber { } /// -/// Type derived for production 777 +/// Type derived for production 784 /// /// `PortDeclarationGroupGroup: LBrace PortDeclarationList RBrace;` /// @@ -4046,7 +4077,7 @@ pub struct PortDeclarationGroupGroupLBracePortDeclarationListRBrace { } /// -/// Type derived for production 778 +/// Type derived for production 785 /// /// `PortDeclarationGroupGroup: PortDeclarationItem;` /// @@ -4058,7 +4089,7 @@ pub struct PortDeclarationGroupGroupPortDeclarationItem { } /// -/// Type derived for production 782 +/// Type derived for production 789 /// /// `PortDeclarationItemGroup: PortTypeConcrete;` /// @@ -4070,7 +4101,7 @@ pub struct PortDeclarationItemGroupPortTypeConcrete { } /// -/// Type derived for production 783 +/// Type derived for production 790 /// /// `PortDeclarationItemGroup: PortTypeAbstract;` /// @@ -4082,7 +4113,7 @@ pub struct PortDeclarationItemGroupPortTypeAbstract { } /// -/// Type derived for production 792 +/// Type derived for production 799 /// /// `Direction: Input;` /// @@ -4094,7 +4125,7 @@ pub struct DirectionInput { } /// -/// Type derived for production 793 +/// Type derived for production 800 /// /// `Direction: Output;` /// @@ -4106,7 +4137,7 @@ pub struct DirectionOutput { } /// -/// Type derived for production 794 +/// Type derived for production 801 /// /// `Direction: Inout;` /// @@ -4118,7 +4149,7 @@ pub struct DirectionInout { } /// -/// Type derived for production 795 +/// Type derived for production 802 /// /// `Direction: Ref;` /// @@ -4130,7 +4161,7 @@ pub struct DirectionRef { } /// -/// Type derived for production 796 +/// Type derived for production 803 /// /// `Direction: Modport;` /// @@ -4142,7 +4173,7 @@ pub struct DirectionModport { } /// -/// Type derived for production 797 +/// Type derived for production 804 /// /// `Direction: Import;` /// @@ -4154,7 +4185,7 @@ pub struct DirectionImport { } /// -/// Type derived for production 809 +/// Type derived for production 816 /// /// `ExportDeclarationGroup: Star;` /// @@ -4166,7 +4197,7 @@ pub struct ExportDeclarationGroupStar { } /// -/// Type derived for production 810 +/// Type derived for production 817 /// /// `ExportDeclarationGroup: ScopedIdentifier ExportDeclarationOpt /* Option */;` /// @@ -4179,7 +4210,7 @@ pub struct ExportDeclarationGroupScopedIdentifierExportDeclarationOpt { } /// -/// Type derived for production 830 +/// Type derived for production 837 /// /// `ModuleGroupGroup: LBrace ModuleGroupGroupList /* Vec */ RBrace;` /// @@ -4193,7 +4224,7 @@ pub struct ModuleGroupGroupLBraceModuleGroupGroupListRBrace { } /// -/// Type derived for production 833 +/// Type derived for production 840 /// /// `ModuleGroupGroup: ModuleItem;` /// @@ -4205,7 +4236,7 @@ pub struct ModuleGroupGroupModuleItem { } /// -/// Type derived for production 847 +/// Type derived for production 854 /// /// `InterfaceGroupGroup: LBrace InterfaceGroupGroupList /* Vec */ RBrace;` /// @@ -4219,7 +4250,7 @@ pub struct InterfaceGroupGroupLBraceInterfaceGroupGroupListRBrace { } /// -/// Type derived for production 850 +/// Type derived for production 857 /// /// `InterfaceGroupGroup: InterfaceItem;` /// @@ -4231,7 +4262,7 @@ pub struct InterfaceGroupGroupInterfaceItem { } /// -/// Type derived for production 853 +/// Type derived for production 860 /// /// `InterfaceItem: GenerateItem;` /// @@ -4243,7 +4274,7 @@ pub struct InterfaceItemGenerateItem { } /// -/// Type derived for production 854 +/// Type derived for production 861 /// /// `InterfaceItem: ModportDeclaration;` /// @@ -4255,7 +4286,7 @@ pub struct InterfaceItemModportDeclaration { } /// -/// Type derived for production 873 +/// Type derived for production 880 /// /// `GenerateGroupGroup: LBrace GenerateGroupGroupList /* Vec */ RBrace;` /// @@ -4269,7 +4300,7 @@ pub struct GenerateGroupGroupLBraceGenerateGroupGroupListRBrace { } /// -/// Type derived for production 876 +/// Type derived for production 883 /// /// `GenerateGroupGroup: GenerateItem;` /// @@ -4281,7 +4312,7 @@ pub struct GenerateGroupGroupGenerateItem { } /// -/// Type derived for production 879 +/// Type derived for production 886 /// /// `GenerateItem: LetDeclaration;` /// @@ -4293,7 +4324,7 @@ pub struct GenerateItemLetDeclaration { } /// -/// Type derived for production 880 +/// Type derived for production 887 /// /// `GenerateItem: VarDeclaration;` /// @@ -4305,7 +4336,7 @@ pub struct GenerateItemVarDeclaration { } /// -/// Type derived for production 881 +/// Type derived for production 888 /// /// `GenerateItem: InstDeclaration;` /// @@ -4317,7 +4348,7 @@ pub struct GenerateItemInstDeclaration { } /// -/// Type derived for production 882 +/// Type derived for production 889 /// /// `GenerateItem: ConstDeclaration;` /// @@ -4329,7 +4360,7 @@ pub struct GenerateItemConstDeclaration { } /// -/// Type derived for production 883 +/// Type derived for production 890 /// /// `GenerateItem: AlwaysFfDeclaration;` /// @@ -4341,7 +4372,7 @@ pub struct GenerateItemAlwaysFfDeclaration { } /// -/// Type derived for production 884 +/// Type derived for production 891 /// /// `GenerateItem: AlwaysCombDeclaration;` /// @@ -4353,7 +4384,7 @@ pub struct GenerateItemAlwaysCombDeclaration { } /// -/// Type derived for production 885 +/// Type derived for production 892 /// /// `GenerateItem: AssignDeclaration;` /// @@ -4365,7 +4396,7 @@ pub struct GenerateItemAssignDeclaration { } /// -/// Type derived for production 886 +/// Type derived for production 893 /// /// `GenerateItem: FunctionDeclaration;` /// @@ -4377,7 +4408,7 @@ pub struct GenerateItemFunctionDeclaration { } /// -/// Type derived for production 887 +/// Type derived for production 894 /// /// `GenerateItem: GenerateIfDeclaration;` /// @@ -4389,7 +4420,7 @@ pub struct GenerateItemGenerateIfDeclaration { } /// -/// Type derived for production 888 +/// Type derived for production 895 /// /// `GenerateItem: GenerateForDeclaration;` /// @@ -4401,7 +4432,7 @@ pub struct GenerateItemGenerateForDeclaration { } /// -/// Type derived for production 889 +/// Type derived for production 896 /// /// `GenerateItem: GenerateBlockDeclaration;` /// @@ -4413,7 +4444,7 @@ pub struct GenerateItemGenerateBlockDeclaration { } /// -/// Type derived for production 890 +/// Type derived for production 897 /// /// `GenerateItem: TypeDefDeclaration;` /// @@ -4425,7 +4456,7 @@ pub struct GenerateItemTypeDefDeclaration { } /// -/// Type derived for production 891 +/// Type derived for production 898 /// /// `GenerateItem: EnumDeclaration;` /// @@ -4437,7 +4468,7 @@ pub struct GenerateItemEnumDeclaration { } /// -/// Type derived for production 892 +/// Type derived for production 899 /// /// `GenerateItem: StructUnionDeclaration;` /// @@ -4449,7 +4480,7 @@ pub struct GenerateItemStructUnionDeclaration { } /// -/// Type derived for production 893 +/// Type derived for production 900 /// /// `GenerateItem: ImportDeclaration;` /// @@ -4461,7 +4492,7 @@ pub struct GenerateItemImportDeclaration { } /// -/// Type derived for production 894 +/// Type derived for production 901 /// /// `GenerateItem: InitialDeclaration;` /// @@ -4473,7 +4504,7 @@ pub struct GenerateItemInitialDeclaration { } /// -/// Type derived for production 895 +/// Type derived for production 902 /// /// `GenerateItem: FinalDeclaration;` /// @@ -4485,7 +4516,7 @@ pub struct GenerateItemFinalDeclaration { } /// -/// Type derived for production 896 +/// Type derived for production 903 /// /// `GenerateItem: UnsafeBlock;` /// @@ -4497,7 +4528,7 @@ pub struct GenerateItemUnsafeBlock { } /// -/// Type derived for production 905 +/// Type derived for production 912 /// /// `PackageGroupGroup: LBrace PackageGroupGroupList /* Vec */ RBrace;` /// @@ -4511,7 +4542,7 @@ pub struct PackageGroupGroupLBracePackageGroupGroupListRBrace { } /// -/// Type derived for production 908 +/// Type derived for production 915 /// /// `PackageGroupGroup: PackageItem;` /// @@ -4523,7 +4554,7 @@ pub struct PackageGroupGroupPackageItem { } /// -/// Type derived for production 911 +/// Type derived for production 918 /// /// `PackageItem: VarDeclaration;` /// @@ -4535,7 +4566,7 @@ pub struct PackageItemVarDeclaration { } /// -/// Type derived for production 912 +/// Type derived for production 919 /// /// `PackageItem: ConstDeclaration;` /// @@ -4547,7 +4578,7 @@ pub struct PackageItemConstDeclaration { } /// -/// Type derived for production 913 +/// Type derived for production 920 /// /// `PackageItem: TypeDefDeclaration;` /// @@ -4559,7 +4590,7 @@ pub struct PackageItemTypeDefDeclaration { } /// -/// Type derived for production 914 +/// Type derived for production 921 /// /// `PackageItem: EnumDeclaration;` /// @@ -4571,7 +4602,7 @@ pub struct PackageItemEnumDeclaration { } /// -/// Type derived for production 915 +/// Type derived for production 922 /// /// `PackageItem: StructUnionDeclaration;` /// @@ -4583,7 +4614,7 @@ pub struct PackageItemStructUnionDeclaration { } /// -/// Type derived for production 916 +/// Type derived for production 923 /// /// `PackageItem: FunctionDeclaration;` /// @@ -4595,7 +4626,7 @@ pub struct PackageItemFunctionDeclaration { } /// -/// Type derived for production 917 +/// Type derived for production 924 /// /// `PackageItem: ImportDeclaration;` /// @@ -4607,7 +4638,7 @@ pub struct PackageItemImportDeclaration { } /// -/// Type derived for production 918 +/// Type derived for production 925 /// /// `PackageItem: ExportDeclaration;` /// @@ -4619,7 +4650,7 @@ pub struct PackageItemExportDeclaration { } /// -/// Type derived for production 931 +/// Type derived for production 938 /// /// `EmbedItem: LBraceTerm EmbedItemList /* Vec */ RBraceTerm;` /// @@ -4633,7 +4664,7 @@ pub struct EmbedItemLBraceTermEmbedItemListRBraceTerm { } /// -/// Type derived for production 934 +/// Type derived for production 941 /// /// `EmbedItem: AnyTerm;` /// @@ -4645,7 +4676,7 @@ pub struct EmbedItemAnyTerm { } /// -/// Type derived for production 937 +/// Type derived for production 944 /// /// `DescriptionGroupGroup: LBrace DescriptionGroupGroupList /* Vec */ RBrace;` /// @@ -4659,7 +4690,7 @@ pub struct DescriptionGroupGroupLBraceDescriptionGroupGroupListRBrace { } /// -/// Type derived for production 940 +/// Type derived for production 947 /// /// `DescriptionGroupGroup: DescriptionItem;` /// @@ -4671,7 +4702,7 @@ pub struct DescriptionGroupGroupDescriptionItem { } /// -/// Type derived for production 943 +/// Type derived for production 950 /// /// `DescriptionItem: ModuleDeclaration;` /// @@ -4683,7 +4714,7 @@ pub struct DescriptionItemModuleDeclaration { } /// -/// Type derived for production 944 +/// Type derived for production 951 /// /// `DescriptionItem: InterfaceDeclaration;` /// @@ -4695,7 +4726,7 @@ pub struct DescriptionItemInterfaceDeclaration { } /// -/// Type derived for production 945 +/// Type derived for production 952 /// /// `DescriptionItem: PackageDeclaration;` /// @@ -4707,7 +4738,7 @@ pub struct DescriptionItemPackageDeclaration { } /// -/// Type derived for production 946 +/// Type derived for production 953 /// /// `DescriptionItem: ProtoModuleDeclaration;` /// @@ -4719,7 +4750,7 @@ pub struct DescriptionItemProtoModuleDeclaration { } /// -/// Type derived for production 947 +/// Type derived for production 954 /// /// `DescriptionItem: ImportDeclaration;` /// @@ -4731,7 +4762,7 @@ pub struct DescriptionItemImportDeclaration { } /// -/// Type derived for production 948 +/// Type derived for production 955 /// /// `DescriptionItem: EmbedDeclaration;` /// @@ -4743,7 +4774,7 @@ pub struct DescriptionItemEmbedDeclaration { } /// -/// Type derived for production 949 +/// Type derived for production 956 /// /// `DescriptionItem: IncludeDeclaration;` /// @@ -10977,6 +11008,49 @@ pub struct StatementBlock { pub r_brace: Box, } +/// +/// Type derived for non-terminal StatementBlockGroup +/// +#[allow(dead_code)] +#[derive(Builder, Debug, Clone)] +#[builder(crate = "parol_runtime::derive_builder")] +pub struct StatementBlockGroup { + pub statement_block_group_list: Vec, + pub statement_block_group_group: Box, +} + +/// +/// Type derived for non-terminal StatementBlockGroupGroup +/// +#[allow(dead_code)] +#[derive(Debug, Clone)] +pub enum StatementBlockGroupGroup { + LBraceStatementBlockGroupGroupListRBrace( + StatementBlockGroupGroupLBraceStatementBlockGroupGroupListRBrace, + ), + StatementBlockItem(StatementBlockGroupGroupStatementBlockItem), +} + +/// +/// Type derived for non-terminal StatementBlockGroupGroupList +/// +#[allow(dead_code)] +#[derive(Builder, Debug, Clone)] +#[builder(crate = "parol_runtime::derive_builder")] +pub struct StatementBlockGroupGroupList { + pub statement_block_group: Box, +} + +/// +/// Type derived for non-terminal StatementBlockGroupList +/// +#[allow(dead_code)] +#[derive(Builder, Debug, Clone)] +#[builder(crate = "parol_runtime::derive_builder")] +pub struct StatementBlockGroupList { + pub attribute: Box, +} + /// /// Type derived for non-terminal StatementBlockItem /// @@ -10995,7 +11069,7 @@ pub enum StatementBlockItem { #[derive(Builder, Debug, Clone)] #[builder(crate = "parol_runtime::derive_builder")] pub struct StatementBlockList { - pub statement_block_item: Box, + pub statement_block_group: Box, } /// @@ -12629,6 +12703,10 @@ pub enum ASTType { StartToken(StartToken), Statement(Statement), StatementBlock(StatementBlock), + StatementBlockGroup(StatementBlockGroup), + StatementBlockGroupGroup(StatementBlockGroupGroup), + StatementBlockGroupGroupList(Vec), + StatementBlockGroupList(Vec), StatementBlockItem(StatementBlockItem), StatementBlockList(Vec), Step(Step), @@ -24970,22 +25048,22 @@ impl<'t, 'u> VerylGrammarAuto<'t, 'u> { /// Semantic action for production 555: /// - /// `StatementBlockList /* Vec::Push */: StatementBlockItem StatementBlockList;` + /// `StatementBlockList /* Vec::Push */: StatementBlockGroup StatementBlockList;` /// #[parol_runtime::function_name::named] fn statement_block_list_0( &mut self, - _statement_block_item: &ParseTreeType<'t>, + _statement_block_group: &ParseTreeType<'t>, _statement_block_list: &ParseTreeType<'t>, ) -> Result<()> { let context = function_name!(); trace!("{}", self.trace_item_stack(context)); let mut statement_block_list = pop_item!(self, statement_block_list, StatementBlockList, context); - let statement_block_item = - pop_item!(self, statement_block_item, StatementBlockItem, context); + let statement_block_group = + pop_item!(self, statement_block_group, StatementBlockGroup, context); let statement_block_list_0_built = StatementBlockList { - statement_block_item: Box::new(statement_block_item), + statement_block_group: Box::new(statement_block_group), }; // Add an element to the vector statement_block_list.push(statement_block_list_0_built); @@ -25011,6 +25089,202 @@ impl<'t, 'u> VerylGrammarAuto<'t, 'u> { /// Semantic action for production 557: /// + /// `StatementBlockGroup: StatementBlockGroupList /* Vec */ StatementBlockGroupGroup;` + /// + #[parol_runtime::function_name::named] + fn statement_block_group( + &mut self, + _statement_block_group_list: &ParseTreeType<'t>, + _statement_block_group_group: &ParseTreeType<'t>, + ) -> Result<()> { + let context = function_name!(); + trace!("{}", self.trace_item_stack(context)); + let statement_block_group_group = pop_item!( + self, + statement_block_group_group, + StatementBlockGroupGroup, + context + ); + let statement_block_group_list = pop_and_reverse_item!( + self, + statement_block_group_list, + StatementBlockGroupList, + context + ); + let statement_block_group_built = StatementBlockGroup { + statement_block_group_list, + statement_block_group_group: Box::new(statement_block_group_group), + }; + // Calling user action here + self.user_grammar + .statement_block_group(&statement_block_group_built)?; + self.push( + ASTType::StatementBlockGroup(statement_block_group_built), + context, + ); + Ok(()) + } + + /// Semantic action for production 558: + /// + /// `StatementBlockGroupGroup: LBrace StatementBlockGroupGroupList /* Vec */ RBrace;` + /// + #[parol_runtime::function_name::named] + fn statement_block_group_group_0( + &mut self, + _l_brace: &ParseTreeType<'t>, + _statement_block_group_group_list: &ParseTreeType<'t>, + _r_brace: &ParseTreeType<'t>, + ) -> Result<()> { + let context = function_name!(); + trace!("{}", self.trace_item_stack(context)); + let r_brace = pop_item!(self, r_brace, RBrace, context); + let statement_block_group_group_list = pop_and_reverse_item!( + self, + statement_block_group_group_list, + StatementBlockGroupGroupList, + context + ); + let l_brace = pop_item!(self, l_brace, LBrace, context); + let statement_block_group_group_0_built = + StatementBlockGroupGroupLBraceStatementBlockGroupGroupListRBrace { + l_brace: Box::new(l_brace), + statement_block_group_group_list, + r_brace: Box::new(r_brace), + }; + let statement_block_group_group_0_built = + StatementBlockGroupGroup::LBraceStatementBlockGroupGroupListRBrace( + statement_block_group_group_0_built, + ); + self.push( + ASTType::StatementBlockGroupGroup(statement_block_group_group_0_built), + context, + ); + Ok(()) + } + + /// Semantic action for production 559: + /// + /// `StatementBlockGroupGroupList /* Vec::Push */: StatementBlockGroup StatementBlockGroupGroupList;` + /// + #[parol_runtime::function_name::named] + fn statement_block_group_group_list_0( + &mut self, + _statement_block_group: &ParseTreeType<'t>, + _statement_block_group_group_list: &ParseTreeType<'t>, + ) -> Result<()> { + let context = function_name!(); + trace!("{}", self.trace_item_stack(context)); + let mut statement_block_group_group_list = pop_item!( + self, + statement_block_group_group_list, + StatementBlockGroupGroupList, + context + ); + let statement_block_group = + pop_item!(self, statement_block_group, StatementBlockGroup, context); + let statement_block_group_group_list_0_built = StatementBlockGroupGroupList { + statement_block_group: Box::new(statement_block_group), + }; + // Add an element to the vector + statement_block_group_group_list.push(statement_block_group_group_list_0_built); + self.push( + ASTType::StatementBlockGroupGroupList(statement_block_group_group_list), + context, + ); + Ok(()) + } + + /// Semantic action for production 560: + /// + /// `StatementBlockGroupGroupList /* Vec::New */: ;` + /// + #[parol_runtime::function_name::named] + fn statement_block_group_group_list_1(&mut self) -> Result<()> { + let context = function_name!(); + trace!("{}", self.trace_item_stack(context)); + let statement_block_group_group_list_1_built = Vec::new(); + self.push( + ASTType::StatementBlockGroupGroupList(statement_block_group_group_list_1_built), + context, + ); + Ok(()) + } + + /// Semantic action for production 561: + /// + /// `StatementBlockGroupGroup: StatementBlockItem;` + /// + #[parol_runtime::function_name::named] + fn statement_block_group_group_1( + &mut self, + _statement_block_item: &ParseTreeType<'t>, + ) -> Result<()> { + let context = function_name!(); + trace!("{}", self.trace_item_stack(context)); + let statement_block_item = + pop_item!(self, statement_block_item, StatementBlockItem, context); + let statement_block_group_group_1_built = StatementBlockGroupGroupStatementBlockItem { + statement_block_item: Box::new(statement_block_item), + }; + let statement_block_group_group_1_built = + StatementBlockGroupGroup::StatementBlockItem(statement_block_group_group_1_built); + self.push( + ASTType::StatementBlockGroupGroup(statement_block_group_group_1_built), + context, + ); + Ok(()) + } + + /// Semantic action for production 562: + /// + /// `StatementBlockGroupList /* Vec::Push */: Attribute StatementBlockGroupList;` + /// + #[parol_runtime::function_name::named] + fn statement_block_group_list_0( + &mut self, + _attribute: &ParseTreeType<'t>, + _statement_block_group_list: &ParseTreeType<'t>, + ) -> Result<()> { + let context = function_name!(); + trace!("{}", self.trace_item_stack(context)); + let mut statement_block_group_list = pop_item!( + self, + statement_block_group_list, + StatementBlockGroupList, + context + ); + let attribute = pop_item!(self, attribute, Attribute, context); + let statement_block_group_list_0_built = StatementBlockGroupList { + attribute: Box::new(attribute), + }; + // Add an element to the vector + statement_block_group_list.push(statement_block_group_list_0_built); + self.push( + ASTType::StatementBlockGroupList(statement_block_group_list), + context, + ); + Ok(()) + } + + /// Semantic action for production 563: + /// + /// `StatementBlockGroupList /* Vec::New */: ;` + /// + #[parol_runtime::function_name::named] + fn statement_block_group_list_1(&mut self) -> Result<()> { + let context = function_name!(); + trace!("{}", self.trace_item_stack(context)); + let statement_block_group_list_1_built = Vec::new(); + self.push( + ASTType::StatementBlockGroupList(statement_block_group_list_1_built), + context, + ); + Ok(()) + } + + /// Semantic action for production 564: + /// /// `StatementBlockItem: VarDeclaration;` /// #[parol_runtime::function_name::named] @@ -25033,7 +25307,7 @@ impl<'t, 'u> VerylGrammarAuto<'t, 'u> { Ok(()) } - /// Semantic action for production 558: + /// Semantic action for production 565: /// /// `StatementBlockItem: LetStatement;` /// @@ -25057,7 +25331,7 @@ impl<'t, 'u> VerylGrammarAuto<'t, 'u> { Ok(()) } - /// Semantic action for production 559: + /// Semantic action for production 566: /// /// `StatementBlockItem: Statement;` /// @@ -25081,7 +25355,7 @@ impl<'t, 'u> VerylGrammarAuto<'t, 'u> { Ok(()) } - /// Semantic action for production 560: + /// Semantic action for production 567: /// /// `Statement: IdentifierStatement;` /// @@ -25101,7 +25375,7 @@ impl<'t, 'u> VerylGrammarAuto<'t, 'u> { Ok(()) } - /// Semantic action for production 561: + /// Semantic action for production 568: /// /// `Statement: IfStatement;` /// @@ -25120,7 +25394,7 @@ impl<'t, 'u> VerylGrammarAuto<'t, 'u> { Ok(()) } - /// Semantic action for production 562: + /// Semantic action for production 569: /// /// `Statement: IfResetStatement;` /// @@ -25139,7 +25413,7 @@ impl<'t, 'u> VerylGrammarAuto<'t, 'u> { Ok(()) } - /// Semantic action for production 563: + /// Semantic action for production 570: /// /// `Statement: ReturnStatement;` /// @@ -25158,7 +25432,7 @@ impl<'t, 'u> VerylGrammarAuto<'t, 'u> { Ok(()) } - /// Semantic action for production 564: + /// Semantic action for production 571: /// /// `Statement: BreakStatement;` /// @@ -25177,7 +25451,7 @@ impl<'t, 'u> VerylGrammarAuto<'t, 'u> { Ok(()) } - /// Semantic action for production 565: + /// Semantic action for production 572: /// /// `Statement: ForStatement;` /// @@ -25196,7 +25470,7 @@ impl<'t, 'u> VerylGrammarAuto<'t, 'u> { Ok(()) } - /// Semantic action for production 566: + /// Semantic action for production 573: /// /// `Statement: CaseStatement;` /// @@ -25215,7 +25489,7 @@ impl<'t, 'u> VerylGrammarAuto<'t, 'u> { Ok(()) } - /// Semantic action for production 567: + /// Semantic action for production 574: /// /// `Statement: SwitchStatement;` /// @@ -25234,7 +25508,7 @@ impl<'t, 'u> VerylGrammarAuto<'t, 'u> { Ok(()) } - /// Semantic action for production 568: + /// Semantic action for production 575: /// /// `LetStatement: Let Identifier Colon LetStatementOpt /* Option */ ArrayType Equ Expression Semicolon;` /// @@ -25276,7 +25550,7 @@ impl<'t, 'u> VerylGrammarAuto<'t, 'u> { Ok(()) } - /// Semantic action for production 569: + /// Semantic action for production 576: /// /// `LetStatementOpt /* Option::Some */: ClockDomain;` /// @@ -25295,7 +25569,7 @@ impl<'t, 'u> VerylGrammarAuto<'t, 'u> { Ok(()) } - /// Semantic action for production 570: + /// Semantic action for production 577: /// /// `LetStatementOpt /* Option::None */: ;` /// @@ -25307,7 +25581,7 @@ impl<'t, 'u> VerylGrammarAuto<'t, 'u> { Ok(()) } - /// Semantic action for production 571: + /// Semantic action for production 578: /// /// `IdentifierStatement: ExpressionIdentifier IdentifierStatementGroup Semicolon;` /// @@ -25344,7 +25618,7 @@ impl<'t, 'u> VerylGrammarAuto<'t, 'u> { Ok(()) } - /// Semantic action for production 572: + /// Semantic action for production 579: /// /// `IdentifierStatementGroup: FunctionCall;` /// @@ -25365,7 +25639,7 @@ impl<'t, 'u> VerylGrammarAuto<'t, 'u> { Ok(()) } - /// Semantic action for production 573: + /// Semantic action for production 580: /// /// `IdentifierStatementGroup: Assignment;` /// @@ -25386,7 +25660,7 @@ impl<'t, 'u> VerylGrammarAuto<'t, 'u> { Ok(()) } - /// Semantic action for production 574: + /// Semantic action for production 581: /// /// `Assignment: AssignmentGroup Expression;` /// @@ -25410,7 +25684,7 @@ impl<'t, 'u> VerylGrammarAuto<'t, 'u> { Ok(()) } - /// Semantic action for production 575: + /// Semantic action for production 582: /// /// `AssignmentGroup: Equ;` /// @@ -25425,7 +25699,7 @@ impl<'t, 'u> VerylGrammarAuto<'t, 'u> { Ok(()) } - /// Semantic action for production 576: + /// Semantic action for production 583: /// /// `AssignmentGroup: AssignmentOperator;` /// @@ -25443,7 +25717,7 @@ impl<'t, 'u> VerylGrammarAuto<'t, 'u> { Ok(()) } - /// Semantic action for production 577: + /// Semantic action for production 584: /// /// `IfStatement: If Expression StatementBlock IfStatementList /* Vec */ IfStatementOpt /* Option */;` /// @@ -25477,7 +25751,7 @@ impl<'t, 'u> VerylGrammarAuto<'t, 'u> { Ok(()) } - /// Semantic action for production 578: + /// Semantic action for production 585: /// /// `IfStatementList /* Vec::Push */: Else If Expression StatementBlock IfStatementList;` /// @@ -25509,7 +25783,7 @@ impl<'t, 'u> VerylGrammarAuto<'t, 'u> { Ok(()) } - /// Semantic action for production 579: + /// Semantic action for production 586: /// /// `IfStatementList /* Vec::New */: ;` /// @@ -25522,7 +25796,7 @@ impl<'t, 'u> VerylGrammarAuto<'t, 'u> { Ok(()) } - /// Semantic action for production 580: + /// Semantic action for production 587: /// /// `IfStatementOpt /* Option::Some */: Else StatementBlock;` /// @@ -25547,7 +25821,7 @@ impl<'t, 'u> VerylGrammarAuto<'t, 'u> { Ok(()) } - /// Semantic action for production 581: + /// Semantic action for production 588: /// /// `IfStatementOpt /* Option::None */: ;` /// @@ -25559,7 +25833,7 @@ impl<'t, 'u> VerylGrammarAuto<'t, 'u> { Ok(()) } - /// Semantic action for production 582: + /// Semantic action for production 589: /// /// `IfResetStatement: IfReset StatementBlock IfResetStatementList /* Vec */ IfResetStatementOpt /* Option */;` /// @@ -25592,7 +25866,7 @@ impl<'t, 'u> VerylGrammarAuto<'t, 'u> { Ok(()) } - /// Semantic action for production 583: + /// Semantic action for production 590: /// /// `IfResetStatementList /* Vec::Push */: Else If Expression StatementBlock IfResetStatementList;` /// @@ -25628,7 +25902,7 @@ impl<'t, 'u> VerylGrammarAuto<'t, 'u> { Ok(()) } - /// Semantic action for production 584: + /// Semantic action for production 591: /// /// `IfResetStatementList /* Vec::New */: ;` /// @@ -25644,7 +25918,7 @@ impl<'t, 'u> VerylGrammarAuto<'t, 'u> { Ok(()) } - /// Semantic action for production 585: + /// Semantic action for production 592: /// /// `IfResetStatementOpt /* Option::Some */: Else StatementBlock;` /// @@ -25669,7 +25943,7 @@ impl<'t, 'u> VerylGrammarAuto<'t, 'u> { Ok(()) } - /// Semantic action for production 586: + /// Semantic action for production 593: /// /// `IfResetStatementOpt /* Option::None */: ;` /// @@ -25681,7 +25955,7 @@ impl<'t, 'u> VerylGrammarAuto<'t, 'u> { Ok(()) } - /// Semantic action for production 587: + /// Semantic action for production 594: /// /// `ReturnStatement: Return Expression Semicolon;` /// @@ -25709,7 +25983,7 @@ impl<'t, 'u> VerylGrammarAuto<'t, 'u> { Ok(()) } - /// Semantic action for production 588: + /// Semantic action for production 595: /// /// `BreakStatement: Break Semicolon;` /// @@ -25733,7 +26007,7 @@ impl<'t, 'u> VerylGrammarAuto<'t, 'u> { Ok(()) } - /// Semantic action for production 589: + /// Semantic action for production 596: /// /// `ForStatement: For Identifier Colon ScalarType In Range ForStatementOpt /* Option */ StatementBlock;` /// @@ -25775,7 +26049,7 @@ impl<'t, 'u> VerylGrammarAuto<'t, 'u> { Ok(()) } - /// Semantic action for production 590: + /// Semantic action for production 597: /// /// `ForStatementOpt /* Option::Some */: Step AssignmentOperator Expression;` /// @@ -25803,7 +26077,7 @@ impl<'t, 'u> VerylGrammarAuto<'t, 'u> { Ok(()) } - /// Semantic action for production 591: + /// Semantic action for production 598: /// /// `ForStatementOpt /* Option::None */: ;` /// @@ -25815,7 +26089,7 @@ impl<'t, 'u> VerylGrammarAuto<'t, 'u> { Ok(()) } - /// Semantic action for production 592: + /// Semantic action for production 599: /// /// `CaseStatement: Case Expression LBrace CaseStatementList /* Vec */ RBrace;` /// @@ -25849,7 +26123,7 @@ impl<'t, 'u> VerylGrammarAuto<'t, 'u> { Ok(()) } - /// Semantic action for production 593: + /// Semantic action for production 600: /// /// `CaseStatementList /* Vec::Push */: CaseItem CaseStatementList;` /// @@ -25873,7 +26147,7 @@ impl<'t, 'u> VerylGrammarAuto<'t, 'u> { Ok(()) } - /// Semantic action for production 594: + /// Semantic action for production 601: /// /// `CaseStatementList /* Vec::New */: ;` /// @@ -25889,7 +26163,7 @@ impl<'t, 'u> VerylGrammarAuto<'t, 'u> { Ok(()) } - /// Semantic action for production 595: + /// Semantic action for production 602: /// /// `CaseItem: CaseItemGroup Colon CaseItemGroup0;` /// @@ -25916,7 +26190,7 @@ impl<'t, 'u> VerylGrammarAuto<'t, 'u> { Ok(()) } - /// Semantic action for production 596: + /// Semantic action for production 603: /// /// `CaseItemGroup0: Statement;` /// @@ -25933,7 +26207,7 @@ impl<'t, 'u> VerylGrammarAuto<'t, 'u> { Ok(()) } - /// Semantic action for production 597: + /// Semantic action for production 604: /// /// `CaseItemGroup0: StatementBlock;` /// @@ -25950,7 +26224,7 @@ impl<'t, 'u> VerylGrammarAuto<'t, 'u> { Ok(()) } - /// Semantic action for production 598: + /// Semantic action for production 605: /// /// `CaseItemGroup: CaseCondition;` /// @@ -25967,7 +26241,7 @@ impl<'t, 'u> VerylGrammarAuto<'t, 'u> { Ok(()) } - /// Semantic action for production 599: + /// Semantic action for production 606: /// /// `CaseItemGroup: Defaul;` /// @@ -25984,7 +26258,7 @@ impl<'t, 'u> VerylGrammarAuto<'t, 'u> { Ok(()) } - /// Semantic action for production 600: + /// Semantic action for production 607: /// /// `CaseCondition: RangeItem CaseConditionList /* Vec */;` /// @@ -26009,7 +26283,7 @@ impl<'t, 'u> VerylGrammarAuto<'t, 'u> { Ok(()) } - /// Semantic action for production 601: + /// Semantic action for production 608: /// /// `CaseConditionList /* Vec::Push */: Comma RangeItem CaseConditionList;` /// @@ -26036,7 +26310,7 @@ impl<'t, 'u> VerylGrammarAuto<'t, 'u> { Ok(()) } - /// Semantic action for production 602: + /// Semantic action for production 609: /// /// `CaseConditionList /* Vec::New */: ;` /// @@ -26052,7 +26326,7 @@ impl<'t, 'u> VerylGrammarAuto<'t, 'u> { Ok(()) } - /// Semantic action for production 603: + /// Semantic action for production 610: /// /// `SwitchStatement: Switch LBrace SwitchStatementList /* Vec */ RBrace;` /// @@ -26084,7 +26358,7 @@ impl<'t, 'u> VerylGrammarAuto<'t, 'u> { Ok(()) } - /// Semantic action for production 604: + /// Semantic action for production 611: /// /// `SwitchStatementList /* Vec::Push */: SwitchItem SwitchStatementList;` /// @@ -26108,7 +26382,7 @@ impl<'t, 'u> VerylGrammarAuto<'t, 'u> { Ok(()) } - /// Semantic action for production 605: + /// Semantic action for production 612: /// /// `SwitchStatementList /* Vec::New */: ;` /// @@ -26124,7 +26398,7 @@ impl<'t, 'u> VerylGrammarAuto<'t, 'u> { Ok(()) } - /// Semantic action for production 606: + /// Semantic action for production 613: /// /// `SwitchItem: SwitchItemGroup Colon SwitchItemGroup0;` /// @@ -26151,7 +26425,7 @@ impl<'t, 'u> VerylGrammarAuto<'t, 'u> { Ok(()) } - /// Semantic action for production 607: + /// Semantic action for production 614: /// /// `SwitchItemGroup0: Statement;` /// @@ -26171,7 +26445,7 @@ impl<'t, 'u> VerylGrammarAuto<'t, 'u> { Ok(()) } - /// Semantic action for production 608: + /// Semantic action for production 615: /// /// `SwitchItemGroup0: StatementBlock;` /// @@ -26192,7 +26466,7 @@ impl<'t, 'u> VerylGrammarAuto<'t, 'u> { Ok(()) } - /// Semantic action for production 609: + /// Semantic action for production 616: /// /// `SwitchItemGroup: SwitchCondition;` /// @@ -26209,7 +26483,7 @@ impl<'t, 'u> VerylGrammarAuto<'t, 'u> { Ok(()) } - /// Semantic action for production 610: + /// Semantic action for production 617: /// /// `SwitchItemGroup: Defaul;` /// @@ -26226,7 +26500,7 @@ impl<'t, 'u> VerylGrammarAuto<'t, 'u> { Ok(()) } - /// Semantic action for production 611: + /// Semantic action for production 618: /// /// `SwitchCondition: Expression SwitchConditionList /* Vec */;` /// @@ -26252,7 +26526,7 @@ impl<'t, 'u> VerylGrammarAuto<'t, 'u> { Ok(()) } - /// Semantic action for production 612: + /// Semantic action for production 619: /// /// `SwitchConditionList /* Vec::Push */: Comma Expression SwitchConditionList;` /// @@ -26279,7 +26553,7 @@ impl<'t, 'u> VerylGrammarAuto<'t, 'u> { Ok(()) } - /// Semantic action for production 613: + /// Semantic action for production 620: /// /// `SwitchConditionList /* Vec::New */: ;` /// @@ -26295,7 +26569,7 @@ impl<'t, 'u> VerylGrammarAuto<'t, 'u> { Ok(()) } - /// Semantic action for production 614: + /// Semantic action for production 621: /// /// `Attribute: Hash LBracket Identifier AttributeOpt /* Option */ RBracket;` /// @@ -26328,7 +26602,7 @@ impl<'t, 'u> VerylGrammarAuto<'t, 'u> { Ok(()) } - /// Semantic action for production 615: + /// Semantic action for production 622: /// /// `AttributeOpt /* Option::Some */: LParen AttributeList RParen;` /// @@ -26353,7 +26627,7 @@ impl<'t, 'u> VerylGrammarAuto<'t, 'u> { Ok(()) } - /// Semantic action for production 616: + /// Semantic action for production 623: /// /// `AttributeOpt /* Option::None */: ;` /// @@ -26365,7 +26639,7 @@ impl<'t, 'u> VerylGrammarAuto<'t, 'u> { Ok(()) } - /// Semantic action for production 617: + /// Semantic action for production 624: /// /// `AttributeList: AttributeItem AttributeListList /* Vec */ AttributeListOpt /* Option */;` /// @@ -26393,7 +26667,7 @@ impl<'t, 'u> VerylGrammarAuto<'t, 'u> { Ok(()) } - /// Semantic action for production 618: + /// Semantic action for production 625: /// /// `AttributeListList /* Vec::Push */: Comma AttributeItem AttributeListList;` /// @@ -26420,7 +26694,7 @@ impl<'t, 'u> VerylGrammarAuto<'t, 'u> { Ok(()) } - /// Semantic action for production 619: + /// Semantic action for production 626: /// /// `AttributeListList /* Vec::New */: ;` /// @@ -26436,7 +26710,7 @@ impl<'t, 'u> VerylGrammarAuto<'t, 'u> { Ok(()) } - /// Semantic action for production 620: + /// Semantic action for production 627: /// /// `AttributeListOpt /* Option::Some */: Comma;` /// @@ -26455,7 +26729,7 @@ impl<'t, 'u> VerylGrammarAuto<'t, 'u> { Ok(()) } - /// Semantic action for production 621: + /// Semantic action for production 628: /// /// `AttributeListOpt /* Option::None */: ;` /// @@ -26467,7 +26741,7 @@ impl<'t, 'u> VerylGrammarAuto<'t, 'u> { Ok(()) } - /// Semantic action for production 622: + /// Semantic action for production 629: /// /// `AttributeItem: Identifier;` /// @@ -26486,7 +26760,7 @@ impl<'t, 'u> VerylGrammarAuto<'t, 'u> { Ok(()) } - /// Semantic action for production 623: + /// Semantic action for production 630: /// /// `AttributeItem: StringLiteral;` /// @@ -26505,7 +26779,7 @@ impl<'t, 'u> VerylGrammarAuto<'t, 'u> { Ok(()) } - /// Semantic action for production 624: + /// Semantic action for production 631: /// /// `LetDeclaration: Let Identifier Colon LetDeclarationOpt /* Option */ ArrayType Equ Expression Semicolon;` /// @@ -26547,7 +26821,7 @@ impl<'t, 'u> VerylGrammarAuto<'t, 'u> { Ok(()) } - /// Semantic action for production 625: + /// Semantic action for production 632: /// /// `LetDeclarationOpt /* Option::Some */: ClockDomain;` /// @@ -26566,7 +26840,7 @@ impl<'t, 'u> VerylGrammarAuto<'t, 'u> { Ok(()) } - /// Semantic action for production 626: + /// Semantic action for production 633: /// /// `LetDeclarationOpt /* Option::None */: ;` /// @@ -26578,7 +26852,7 @@ impl<'t, 'u> VerylGrammarAuto<'t, 'u> { Ok(()) } - /// Semantic action for production 627: + /// Semantic action for production 634: /// /// `VarDeclaration: Var Identifier Colon VarDeclarationOpt /* Option */ ArrayType Semicolon;` /// @@ -26614,7 +26888,7 @@ impl<'t, 'u> VerylGrammarAuto<'t, 'u> { Ok(()) } - /// Semantic action for production 628: + /// Semantic action for production 635: /// /// `VarDeclarationOpt /* Option::Some */: ClockDomain;` /// @@ -26633,7 +26907,7 @@ impl<'t, 'u> VerylGrammarAuto<'t, 'u> { Ok(()) } - /// Semantic action for production 629: + /// Semantic action for production 636: /// /// `VarDeclarationOpt /* Option::None */: ;` /// @@ -26645,7 +26919,7 @@ impl<'t, 'u> VerylGrammarAuto<'t, 'u> { Ok(()) } - /// Semantic action for production 630: + /// Semantic action for production 637: /// /// `ConstDeclaration: Const Identifier Colon ConstDeclarationGroup Equ Expression Semicolon;` /// @@ -26690,7 +26964,7 @@ impl<'t, 'u> VerylGrammarAuto<'t, 'u> { Ok(()) } - /// Semantic action for production 631: + /// Semantic action for production 638: /// /// `ConstDeclarationGroup: ArrayType;` /// @@ -26711,7 +26985,7 @@ impl<'t, 'u> VerylGrammarAuto<'t, 'u> { Ok(()) } - /// Semantic action for production 632: + /// Semantic action for production 639: /// /// `ConstDeclarationGroup: Type;` /// @@ -26732,7 +27006,7 @@ impl<'t, 'u> VerylGrammarAuto<'t, 'u> { Ok(()) } - /// Semantic action for production 633: + /// Semantic action for production 640: /// /// `TypeDefDeclaration: Type Identifier Equ ArrayType Semicolon;` /// @@ -26769,7 +27043,7 @@ impl<'t, 'u> VerylGrammarAuto<'t, 'u> { Ok(()) } - /// Semantic action for production 634: + /// Semantic action for production 641: /// /// `AlwaysFfDeclaration: AlwaysFf AlwaysFfDeclarationOpt /* Option */ StatementBlock;` /// @@ -26805,7 +27079,7 @@ impl<'t, 'u> VerylGrammarAuto<'t, 'u> { Ok(()) } - /// Semantic action for production 635: + /// Semantic action for production 642: /// /// `AlwaysFfDeclarationOpt /* Option::Some */: AlwayfFfEventList;` /// @@ -26828,7 +27102,7 @@ impl<'t, 'u> VerylGrammarAuto<'t, 'u> { Ok(()) } - /// Semantic action for production 636: + /// Semantic action for production 643: /// /// `AlwaysFfDeclarationOpt /* Option::None */: ;` /// @@ -26840,7 +27114,7 @@ impl<'t, 'u> VerylGrammarAuto<'t, 'u> { Ok(()) } - /// Semantic action for production 637: + /// Semantic action for production 644: /// /// `AlwayfFfEventList: LParen AlwaysFfClock AlwayfFfEventListOpt /* Option */ RParen;` /// @@ -26879,7 +27153,7 @@ impl<'t, 'u> VerylGrammarAuto<'t, 'u> { Ok(()) } - /// Semantic action for production 638: + /// Semantic action for production 645: /// /// `AlwayfFfEventListOpt /* Option::Some */: Comma AlwaysFfReset;` /// @@ -26904,7 +27178,7 @@ impl<'t, 'u> VerylGrammarAuto<'t, 'u> { Ok(()) } - /// Semantic action for production 639: + /// Semantic action for production 646: /// /// `AlwayfFfEventListOpt /* Option::None */: ;` /// @@ -26916,7 +27190,7 @@ impl<'t, 'u> VerylGrammarAuto<'t, 'u> { Ok(()) } - /// Semantic action for production 640: + /// Semantic action for production 647: /// /// `AlwaysFfClock: HierarchicalIdentifier;` /// @@ -26939,7 +27213,7 @@ impl<'t, 'u> VerylGrammarAuto<'t, 'u> { Ok(()) } - /// Semantic action for production 641: + /// Semantic action for production 648: /// /// `AlwaysFfReset: HierarchicalIdentifier;` /// @@ -26962,7 +27236,7 @@ impl<'t, 'u> VerylGrammarAuto<'t, 'u> { Ok(()) } - /// Semantic action for production 642: + /// Semantic action for production 649: /// /// `AlwaysCombDeclaration: AlwaysComb StatementBlock;` /// @@ -26990,7 +27264,7 @@ impl<'t, 'u> VerylGrammarAuto<'t, 'u> { Ok(()) } - /// Semantic action for production 643: + /// Semantic action for production 650: /// /// `AssignDeclaration: Assign HierarchicalIdentifier Equ Expression Semicolon;` /// @@ -27032,7 +27306,7 @@ impl<'t, 'u> VerylGrammarAuto<'t, 'u> { Ok(()) } - /// Semantic action for production 644: + /// Semantic action for production 651: /// /// `ModportDeclaration: Modport Identifier LBrace ModportList RBrace;` /// @@ -27069,7 +27343,7 @@ impl<'t, 'u> VerylGrammarAuto<'t, 'u> { Ok(()) } - /// Semantic action for production 645: + /// Semantic action for production 652: /// /// `ModportList: ModportGroup ModportListList /* Vec */ ModportListOpt /* Option */;` /// @@ -27097,7 +27371,7 @@ impl<'t, 'u> VerylGrammarAuto<'t, 'u> { Ok(()) } - /// Semantic action for production 646: + /// Semantic action for production 653: /// /// `ModportListList /* Vec::Push */: Comma ModportGroup ModportListList;` /// @@ -27123,7 +27397,7 @@ impl<'t, 'u> VerylGrammarAuto<'t, 'u> { Ok(()) } - /// Semantic action for production 647: + /// Semantic action for production 654: /// /// `ModportListList /* Vec::New */: ;` /// @@ -27136,7 +27410,7 @@ impl<'t, 'u> VerylGrammarAuto<'t, 'u> { Ok(()) } - /// Semantic action for production 648: + /// Semantic action for production 655: /// /// `ModportListOpt /* Option::Some */: Comma;` /// @@ -27155,7 +27429,7 @@ impl<'t, 'u> VerylGrammarAuto<'t, 'u> { Ok(()) } - /// Semantic action for production 649: + /// Semantic action for production 656: /// /// `ModportListOpt /* Option::None */: ;` /// @@ -27167,7 +27441,7 @@ impl<'t, 'u> VerylGrammarAuto<'t, 'u> { Ok(()) } - /// Semantic action for production 650: + /// Semantic action for production 657: /// /// `ModportGroup: ModportGroupList /* Vec */ ModportGroupGroup;` /// @@ -27192,7 +27466,7 @@ impl<'t, 'u> VerylGrammarAuto<'t, 'u> { Ok(()) } - /// Semantic action for production 651: + /// Semantic action for production 658: /// /// `ModportGroupGroup: LBrace ModportList RBrace;` /// @@ -27222,7 +27496,7 @@ impl<'t, 'u> VerylGrammarAuto<'t, 'u> { Ok(()) } - /// Semantic action for production 652: + /// Semantic action for production 659: /// /// `ModportGroupGroup: ModportItem;` /// @@ -27243,7 +27517,7 @@ impl<'t, 'u> VerylGrammarAuto<'t, 'u> { Ok(()) } - /// Semantic action for production 653: + /// Semantic action for production 660: /// /// `ModportGroupList /* Vec::Push */: Attribute ModportGroupList;` /// @@ -27266,7 +27540,7 @@ impl<'t, 'u> VerylGrammarAuto<'t, 'u> { Ok(()) } - /// Semantic action for production 654: + /// Semantic action for production 661: /// /// `ModportGroupList /* Vec::New */: ;` /// @@ -27282,7 +27556,7 @@ impl<'t, 'u> VerylGrammarAuto<'t, 'u> { Ok(()) } - /// Semantic action for production 655: + /// Semantic action for production 662: /// /// `ModportItem: Identifier Colon Direction;` /// @@ -27309,7 +27583,7 @@ impl<'t, 'u> VerylGrammarAuto<'t, 'u> { Ok(()) } - /// Semantic action for production 656: + /// Semantic action for production 663: /// /// `EnumDeclaration: Enum Identifier EnumDeclarationOpt /* Option */ LBrace EnumList RBrace;` /// @@ -27347,7 +27621,7 @@ impl<'t, 'u> VerylGrammarAuto<'t, 'u> { Ok(()) } - /// Semantic action for production 657: + /// Semantic action for production 664: /// /// `EnumDeclarationOpt /* Option::Some */: Colon ScalarType;` /// @@ -27372,7 +27646,7 @@ impl<'t, 'u> VerylGrammarAuto<'t, 'u> { Ok(()) } - /// Semantic action for production 658: + /// Semantic action for production 665: /// /// `EnumDeclarationOpt /* Option::None */: ;` /// @@ -27384,7 +27658,7 @@ impl<'t, 'u> VerylGrammarAuto<'t, 'u> { Ok(()) } - /// Semantic action for production 659: + /// Semantic action for production 666: /// /// `EnumList: EnumGroup EnumListList /* Vec */ EnumListOpt /* Option */;` /// @@ -27411,7 +27685,7 @@ impl<'t, 'u> VerylGrammarAuto<'t, 'u> { Ok(()) } - /// Semantic action for production 660: + /// Semantic action for production 667: /// /// `EnumListList /* Vec::Push */: Comma EnumGroup EnumListList;` /// @@ -27437,7 +27711,7 @@ impl<'t, 'u> VerylGrammarAuto<'t, 'u> { Ok(()) } - /// Semantic action for production 661: + /// Semantic action for production 668: /// /// `EnumListList /* Vec::New */: ;` /// @@ -27450,7 +27724,7 @@ impl<'t, 'u> VerylGrammarAuto<'t, 'u> { Ok(()) } - /// Semantic action for production 662: + /// Semantic action for production 669: /// /// `EnumListOpt /* Option::Some */: Comma;` /// @@ -27466,7 +27740,7 @@ impl<'t, 'u> VerylGrammarAuto<'t, 'u> { Ok(()) } - /// Semantic action for production 663: + /// Semantic action for production 670: /// /// `EnumListOpt /* Option::None */: ;` /// @@ -27478,7 +27752,7 @@ impl<'t, 'u> VerylGrammarAuto<'t, 'u> { Ok(()) } - /// Semantic action for production 664: + /// Semantic action for production 671: /// /// `EnumGroup: EnumGroupList /* Vec */ EnumGroupGroup;` /// @@ -27502,7 +27776,7 @@ impl<'t, 'u> VerylGrammarAuto<'t, 'u> { Ok(()) } - /// Semantic action for production 665: + /// Semantic action for production 672: /// /// `EnumGroupGroup: LBrace EnumList RBrace;` /// @@ -27529,7 +27803,7 @@ impl<'t, 'u> VerylGrammarAuto<'t, 'u> { Ok(()) } - /// Semantic action for production 666: + /// Semantic action for production 673: /// /// `EnumGroupGroup: EnumItem;` /// @@ -27546,7 +27820,7 @@ impl<'t, 'u> VerylGrammarAuto<'t, 'u> { Ok(()) } - /// Semantic action for production 667: + /// Semantic action for production 674: /// /// `EnumGroupList /* Vec::Push */: Attribute EnumGroupList;` /// @@ -27569,7 +27843,7 @@ impl<'t, 'u> VerylGrammarAuto<'t, 'u> { Ok(()) } - /// Semantic action for production 668: + /// Semantic action for production 675: /// /// `EnumGroupList /* Vec::New */: ;` /// @@ -27582,7 +27856,7 @@ impl<'t, 'u> VerylGrammarAuto<'t, 'u> { Ok(()) } - /// Semantic action for production 669: + /// Semantic action for production 676: /// /// `EnumItem: Identifier EnumItemOpt /* Option */;` /// @@ -27606,7 +27880,7 @@ impl<'t, 'u> VerylGrammarAuto<'t, 'u> { Ok(()) } - /// Semantic action for production 670: + /// Semantic action for production 677: /// /// `EnumItemOpt /* Option::Some */: Equ Expression;` /// @@ -27628,7 +27902,7 @@ impl<'t, 'u> VerylGrammarAuto<'t, 'u> { Ok(()) } - /// Semantic action for production 671: + /// Semantic action for production 678: /// /// `EnumItemOpt /* Option::None */: ;` /// @@ -27640,7 +27914,7 @@ impl<'t, 'u> VerylGrammarAuto<'t, 'u> { Ok(()) } - /// Semantic action for production 672: + /// Semantic action for production 679: /// /// `StructUnion: Struct;` /// @@ -27659,7 +27933,7 @@ impl<'t, 'u> VerylGrammarAuto<'t, 'u> { Ok(()) } - /// Semantic action for production 673: + /// Semantic action for production 680: /// /// `StructUnion: Union;` /// @@ -27678,7 +27952,7 @@ impl<'t, 'u> VerylGrammarAuto<'t, 'u> { Ok(()) } - /// Semantic action for production 674: + /// Semantic action for production 681: /// /// `StructUnionDeclaration: StructUnion Identifier StructUnionDeclarationOpt /* Option */ LBrace StructUnionList RBrace;` /// @@ -27723,7 +27997,7 @@ impl<'t, 'u> VerylGrammarAuto<'t, 'u> { Ok(()) } - /// Semantic action for production 675: + /// Semantic action for production 682: /// /// `StructUnionDeclarationOpt /* Option::Some */: WithGenericParameter;` /// @@ -27746,7 +28020,7 @@ impl<'t, 'u> VerylGrammarAuto<'t, 'u> { Ok(()) } - /// Semantic action for production 676: + /// Semantic action for production 683: /// /// `StructUnionDeclarationOpt /* Option::None */: ;` /// @@ -27758,7 +28032,7 @@ impl<'t, 'u> VerylGrammarAuto<'t, 'u> { Ok(()) } - /// Semantic action for production 677: + /// Semantic action for production 684: /// /// `StructUnionList: StructUnionGroup StructUnionListList /* Vec */ StructUnionListOpt /* Option */;` /// @@ -27788,7 +28062,7 @@ impl<'t, 'u> VerylGrammarAuto<'t, 'u> { Ok(()) } - /// Semantic action for production 678: + /// Semantic action for production 685: /// /// `StructUnionListList /* Vec::Push */: Comma StructUnionGroup StructUnionListList;` /// @@ -27818,7 +28092,7 @@ impl<'t, 'u> VerylGrammarAuto<'t, 'u> { Ok(()) } - /// Semantic action for production 679: + /// Semantic action for production 686: /// /// `StructUnionListList /* Vec::New */: ;` /// @@ -27834,7 +28108,7 @@ impl<'t, 'u> VerylGrammarAuto<'t, 'u> { Ok(()) } - /// Semantic action for production 680: + /// Semantic action for production 687: /// /// `StructUnionListOpt /* Option::Some */: Comma;` /// @@ -27853,7 +28127,7 @@ impl<'t, 'u> VerylGrammarAuto<'t, 'u> { Ok(()) } - /// Semantic action for production 681: + /// Semantic action for production 688: /// /// `StructUnionListOpt /* Option::None */: ;` /// @@ -27865,7 +28139,7 @@ impl<'t, 'u> VerylGrammarAuto<'t, 'u> { Ok(()) } - /// Semantic action for production 682: + /// Semantic action for production 689: /// /// `StructUnionGroup: StructUnionGroupList /* Vec */ StructUnionGroupGroup;` /// @@ -27896,7 +28170,7 @@ impl<'t, 'u> VerylGrammarAuto<'t, 'u> { Ok(()) } - /// Semantic action for production 683: + /// Semantic action for production 690: /// /// `StructUnionGroupGroup: LBrace StructUnionList RBrace;` /// @@ -27926,7 +28200,7 @@ impl<'t, 'u> VerylGrammarAuto<'t, 'u> { Ok(()) } - /// Semantic action for production 684: + /// Semantic action for production 691: /// /// `StructUnionGroupGroup: StructUnionItem;` /// @@ -27947,7 +28221,7 @@ impl<'t, 'u> VerylGrammarAuto<'t, 'u> { Ok(()) } - /// Semantic action for production 685: + /// Semantic action for production 692: /// /// `StructUnionGroupList /* Vec::Push */: Attribute StructUnionGroupList;` /// @@ -27974,7 +28248,7 @@ impl<'t, 'u> VerylGrammarAuto<'t, 'u> { Ok(()) } - /// Semantic action for production 686: + /// Semantic action for production 693: /// /// `StructUnionGroupList /* Vec::New */: ;` /// @@ -27990,7 +28264,7 @@ impl<'t, 'u> VerylGrammarAuto<'t, 'u> { Ok(()) } - /// Semantic action for production 687: + /// Semantic action for production 694: /// /// `StructUnionItem: Identifier Colon ScalarType;` /// @@ -28018,7 +28292,7 @@ impl<'t, 'u> VerylGrammarAuto<'t, 'u> { Ok(()) } - /// Semantic action for production 688: + /// Semantic action for production 695: /// /// `InitialDeclaration: Initial StatementBlock;` /// @@ -28046,7 +28320,7 @@ impl<'t, 'u> VerylGrammarAuto<'t, 'u> { Ok(()) } - /// Semantic action for production 689: + /// Semantic action for production 696: /// /// `FinalDeclaration: Final StatementBlock;` /// @@ -28071,7 +28345,7 @@ impl<'t, 'u> VerylGrammarAuto<'t, 'u> { Ok(()) } - /// Semantic action for production 690: + /// Semantic action for production 697: /// /// `InstDeclaration: Inst Identifier Colon ScopedIdentifier InstDeclarationOpt /* Option */ InstDeclarationOpt0 /* Option */ InstDeclarationOpt1 /* Option */ Semicolon;` /// @@ -28117,7 +28391,7 @@ impl<'t, 'u> VerylGrammarAuto<'t, 'u> { Ok(()) } - /// Semantic action for production 691: + /// Semantic action for production 698: /// /// `InstDeclarationOpt1 /* Option::Some */: LParen InstDeclarationOpt2 /* Option */ RParen;` /// @@ -28146,7 +28420,7 @@ impl<'t, 'u> VerylGrammarAuto<'t, 'u> { Ok(()) } - /// Semantic action for production 692: + /// Semantic action for production 699: /// /// `InstDeclarationOpt2 /* Option::Some */: InstPortList;` /// @@ -28165,7 +28439,7 @@ impl<'t, 'u> VerylGrammarAuto<'t, 'u> { Ok(()) } - /// Semantic action for production 693: + /// Semantic action for production 700: /// /// `InstDeclarationOpt2 /* Option::None */: ;` /// @@ -28177,7 +28451,7 @@ impl<'t, 'u> VerylGrammarAuto<'t, 'u> { Ok(()) } - /// Semantic action for production 694: + /// Semantic action for production 701: /// /// `InstDeclarationOpt1 /* Option::None */: ;` /// @@ -28189,7 +28463,7 @@ impl<'t, 'u> VerylGrammarAuto<'t, 'u> { Ok(()) } - /// Semantic action for production 695: + /// Semantic action for production 702: /// /// `InstDeclarationOpt0 /* Option::Some */: InstParameter;` /// @@ -28208,7 +28482,7 @@ impl<'t, 'u> VerylGrammarAuto<'t, 'u> { Ok(()) } - /// Semantic action for production 696: + /// Semantic action for production 703: /// /// `InstDeclarationOpt0 /* Option::None */: ;` /// @@ -28220,7 +28494,7 @@ impl<'t, 'u> VerylGrammarAuto<'t, 'u> { Ok(()) } - /// Semantic action for production 697: + /// Semantic action for production 704: /// /// `InstDeclarationOpt /* Option::Some */: Array;` /// @@ -28239,7 +28513,7 @@ impl<'t, 'u> VerylGrammarAuto<'t, 'u> { Ok(()) } - /// Semantic action for production 698: + /// Semantic action for production 705: /// /// `InstDeclarationOpt /* Option::None */: ;` /// @@ -28251,7 +28525,7 @@ impl<'t, 'u> VerylGrammarAuto<'t, 'u> { Ok(()) } - /// Semantic action for production 699: + /// Semantic action for production 706: /// /// `InstParameter: Hash LParen InstParameterOpt /* Option */ RParen;` /// @@ -28281,7 +28555,7 @@ impl<'t, 'u> VerylGrammarAuto<'t, 'u> { Ok(()) } - /// Semantic action for production 700: + /// Semantic action for production 707: /// /// `InstParameterOpt /* Option::Some */: InstParameterList;` /// @@ -28300,7 +28574,7 @@ impl<'t, 'u> VerylGrammarAuto<'t, 'u> { Ok(()) } - /// Semantic action for production 701: + /// Semantic action for production 708: /// /// `InstParameterOpt /* Option::None */: ;` /// @@ -28312,7 +28586,7 @@ impl<'t, 'u> VerylGrammarAuto<'t, 'u> { Ok(()) } - /// Semantic action for production 702: + /// Semantic action for production 709: /// /// `InstParameterList: InstParameterGroup InstParameterListList /* Vec */ InstParameterListOpt /* Option */;` /// @@ -28350,7 +28624,7 @@ impl<'t, 'u> VerylGrammarAuto<'t, 'u> { Ok(()) } - /// Semantic action for production 703: + /// Semantic action for production 710: /// /// `InstParameterListList /* Vec::Push */: Comma InstParameterGroup InstParameterListList;` /// @@ -28385,7 +28659,7 @@ impl<'t, 'u> VerylGrammarAuto<'t, 'u> { Ok(()) } - /// Semantic action for production 704: + /// Semantic action for production 711: /// /// `InstParameterListList /* Vec::New */: ;` /// @@ -28401,7 +28675,7 @@ impl<'t, 'u> VerylGrammarAuto<'t, 'u> { Ok(()) } - /// Semantic action for production 705: + /// Semantic action for production 712: /// /// `InstParameterListOpt /* Option::Some */: Comma;` /// @@ -28420,7 +28694,7 @@ impl<'t, 'u> VerylGrammarAuto<'t, 'u> { Ok(()) } - /// Semantic action for production 706: + /// Semantic action for production 713: /// /// `InstParameterListOpt /* Option::None */: ;` /// @@ -28432,7 +28706,7 @@ impl<'t, 'u> VerylGrammarAuto<'t, 'u> { Ok(()) } - /// Semantic action for production 707: + /// Semantic action for production 714: /// /// `InstParameterGroup: InstParameterGroupList /* Vec */ InstParameterGroupGroup;` /// @@ -28470,7 +28744,7 @@ impl<'t, 'u> VerylGrammarAuto<'t, 'u> { Ok(()) } - /// Semantic action for production 708: + /// Semantic action for production 715: /// /// `InstParameterGroupGroup: LBrace InstParameterList RBrace;` /// @@ -28503,7 +28777,7 @@ impl<'t, 'u> VerylGrammarAuto<'t, 'u> { Ok(()) } - /// Semantic action for production 709: + /// Semantic action for production 716: /// /// `InstParameterGroupGroup: InstParameterItem;` /// @@ -28527,7 +28801,7 @@ impl<'t, 'u> VerylGrammarAuto<'t, 'u> { Ok(()) } - /// Semantic action for production 710: + /// Semantic action for production 717: /// /// `InstParameterGroupList /* Vec::Push */: Attribute InstParameterGroupList;` /// @@ -28558,7 +28832,7 @@ impl<'t, 'u> VerylGrammarAuto<'t, 'u> { Ok(()) } - /// Semantic action for production 711: + /// Semantic action for production 718: /// /// `InstParameterGroupList /* Vec::New */: ;` /// @@ -28574,7 +28848,7 @@ impl<'t, 'u> VerylGrammarAuto<'t, 'u> { Ok(()) } - /// Semantic action for production 712: + /// Semantic action for production 719: /// /// `InstParameterItem: Identifier InstParameterItemOpt /* Option */;` /// @@ -28603,7 +28877,7 @@ impl<'t, 'u> VerylGrammarAuto<'t, 'u> { Ok(()) } - /// Semantic action for production 713: + /// Semantic action for production 720: /// /// `InstParameterItemOpt /* Option::Some */: Colon Expression;` /// @@ -28628,7 +28902,7 @@ impl<'t, 'u> VerylGrammarAuto<'t, 'u> { Ok(()) } - /// Semantic action for production 714: + /// Semantic action for production 721: /// /// `InstParameterItemOpt /* Option::None */: ;` /// @@ -28640,7 +28914,7 @@ impl<'t, 'u> VerylGrammarAuto<'t, 'u> { Ok(()) } - /// Semantic action for production 715: + /// Semantic action for production 722: /// /// `InstPortList: InstPortGroup InstPortListList /* Vec */ InstPortListOpt /* Option */;` /// @@ -28668,7 +28942,7 @@ impl<'t, 'u> VerylGrammarAuto<'t, 'u> { Ok(()) } - /// Semantic action for production 716: + /// Semantic action for production 723: /// /// `InstPortListList /* Vec::Push */: Comma InstPortGroup InstPortListList;` /// @@ -28695,7 +28969,7 @@ impl<'t, 'u> VerylGrammarAuto<'t, 'u> { Ok(()) } - /// Semantic action for production 717: + /// Semantic action for production 724: /// /// `InstPortListList /* Vec::New */: ;` /// @@ -28711,7 +28985,7 @@ impl<'t, 'u> VerylGrammarAuto<'t, 'u> { Ok(()) } - /// Semantic action for production 718: + /// Semantic action for production 725: /// /// `InstPortListOpt /* Option::Some */: Comma;` /// @@ -28730,7 +29004,7 @@ impl<'t, 'u> VerylGrammarAuto<'t, 'u> { Ok(()) } - /// Semantic action for production 719: + /// Semantic action for production 726: /// /// `InstPortListOpt /* Option::None */: ;` /// @@ -28742,7 +29016,7 @@ impl<'t, 'u> VerylGrammarAuto<'t, 'u> { Ok(()) } - /// Semantic action for production 720: + /// Semantic action for production 727: /// /// `InstPortGroup: InstPortGroupList /* Vec */ InstPortGroupGroup;` /// @@ -28768,7 +29042,7 @@ impl<'t, 'u> VerylGrammarAuto<'t, 'u> { Ok(()) } - /// Semantic action for production 721: + /// Semantic action for production 728: /// /// `InstPortGroupGroup: LBrace InstPortList RBrace;` /// @@ -28798,7 +29072,7 @@ impl<'t, 'u> VerylGrammarAuto<'t, 'u> { Ok(()) } - /// Semantic action for production 722: + /// Semantic action for production 729: /// /// `InstPortGroupGroup: InstPortItem;` /// @@ -28819,7 +29093,7 @@ impl<'t, 'u> VerylGrammarAuto<'t, 'u> { Ok(()) } - /// Semantic action for production 723: + /// Semantic action for production 730: /// /// `InstPortGroupList /* Vec::Push */: Attribute InstPortGroupList;` /// @@ -28843,7 +29117,7 @@ impl<'t, 'u> VerylGrammarAuto<'t, 'u> { Ok(()) } - /// Semantic action for production 724: + /// Semantic action for production 731: /// /// `InstPortGroupList /* Vec::New */: ;` /// @@ -28859,7 +29133,7 @@ impl<'t, 'u> VerylGrammarAuto<'t, 'u> { Ok(()) } - /// Semantic action for production 725: + /// Semantic action for production 732: /// /// `InstPortItem: Identifier InstPortItemOpt /* Option */;` /// @@ -28883,7 +29157,7 @@ impl<'t, 'u> VerylGrammarAuto<'t, 'u> { Ok(()) } - /// Semantic action for production 726: + /// Semantic action for production 733: /// /// `InstPortItemOpt /* Option::Some */: Colon Expression;` /// @@ -28908,7 +29182,7 @@ impl<'t, 'u> VerylGrammarAuto<'t, 'u> { Ok(()) } - /// Semantic action for production 727: + /// Semantic action for production 734: /// /// `InstPortItemOpt /* Option::None */: ;` /// @@ -28920,7 +29194,7 @@ impl<'t, 'u> VerylGrammarAuto<'t, 'u> { Ok(()) } - /// Semantic action for production 728: + /// Semantic action for production 735: /// /// `WithParameter: Hash LParen WithParameterOpt /* Option */ RParen;` /// @@ -28950,7 +29224,7 @@ impl<'t, 'u> VerylGrammarAuto<'t, 'u> { Ok(()) } - /// Semantic action for production 729: + /// Semantic action for production 736: /// /// `WithParameterOpt /* Option::Some */: WithParameterList;` /// @@ -28969,7 +29243,7 @@ impl<'t, 'u> VerylGrammarAuto<'t, 'u> { Ok(()) } - /// Semantic action for production 730: + /// Semantic action for production 737: /// /// `WithParameterOpt /* Option::None */: ;` /// @@ -28981,7 +29255,7 @@ impl<'t, 'u> VerylGrammarAuto<'t, 'u> { Ok(()) } - /// Semantic action for production 731: + /// Semantic action for production 738: /// /// `WithParameterList: WithParameterGroup WithParameterListList /* Vec */ WithParameterListOpt /* Option */;` /// @@ -29019,7 +29293,7 @@ impl<'t, 'u> VerylGrammarAuto<'t, 'u> { Ok(()) } - /// Semantic action for production 732: + /// Semantic action for production 739: /// /// `WithParameterListList /* Vec::Push */: Comma WithParameterGroup WithParameterListList;` /// @@ -29054,7 +29328,7 @@ impl<'t, 'u> VerylGrammarAuto<'t, 'u> { Ok(()) } - /// Semantic action for production 733: + /// Semantic action for production 740: /// /// `WithParameterListList /* Vec::New */: ;` /// @@ -29070,7 +29344,7 @@ impl<'t, 'u> VerylGrammarAuto<'t, 'u> { Ok(()) } - /// Semantic action for production 734: + /// Semantic action for production 741: /// /// `WithParameterListOpt /* Option::Some */: Comma;` /// @@ -29089,7 +29363,7 @@ impl<'t, 'u> VerylGrammarAuto<'t, 'u> { Ok(()) } - /// Semantic action for production 735: + /// Semantic action for production 742: /// /// `WithParameterListOpt /* Option::None */: ;` /// @@ -29101,7 +29375,7 @@ impl<'t, 'u> VerylGrammarAuto<'t, 'u> { Ok(()) } - /// Semantic action for production 736: + /// Semantic action for production 743: /// /// `WithParameterGroup: WithParameterGroupList /* Vec */ WithParameterGroupGroup;` /// @@ -29139,7 +29413,7 @@ impl<'t, 'u> VerylGrammarAuto<'t, 'u> { Ok(()) } - /// Semantic action for production 737: + /// Semantic action for production 744: /// /// `WithParameterGroupGroup: LBrace WithParameterList RBrace;` /// @@ -29172,7 +29446,7 @@ impl<'t, 'u> VerylGrammarAuto<'t, 'u> { Ok(()) } - /// Semantic action for production 738: + /// Semantic action for production 745: /// /// `WithParameterGroupGroup: WithParameterItem;` /// @@ -29196,7 +29470,7 @@ impl<'t, 'u> VerylGrammarAuto<'t, 'u> { Ok(()) } - /// Semantic action for production 739: + /// Semantic action for production 746: /// /// `WithParameterGroupList /* Vec::Push */: Attribute WithParameterGroupList;` /// @@ -29227,7 +29501,7 @@ impl<'t, 'u> VerylGrammarAuto<'t, 'u> { Ok(()) } - /// Semantic action for production 740: + /// Semantic action for production 747: /// /// `WithParameterGroupList /* Vec::New */: ;` /// @@ -29243,7 +29517,7 @@ impl<'t, 'u> VerylGrammarAuto<'t, 'u> { Ok(()) } - /// Semantic action for production 741: + /// Semantic action for production 748: /// /// `WithParameterItem: WithParameterItemGroup Identifier Colon WithParameterItemGroup0 Equ Expression;` /// @@ -29293,7 +29567,7 @@ impl<'t, 'u> VerylGrammarAuto<'t, 'u> { Ok(()) } - /// Semantic action for production 742: + /// Semantic action for production 749: /// /// `WithParameterItemGroup0: ArrayType;` /// @@ -29314,7 +29588,7 @@ impl<'t, 'u> VerylGrammarAuto<'t, 'u> { Ok(()) } - /// Semantic action for production 743: + /// Semantic action for production 750: /// /// `WithParameterItemGroup0: Type;` /// @@ -29335,7 +29609,7 @@ impl<'t, 'u> VerylGrammarAuto<'t, 'u> { Ok(()) } - /// Semantic action for production 744: + /// Semantic action for production 751: /// /// `WithParameterItemGroup: Param;` /// @@ -29356,7 +29630,7 @@ impl<'t, 'u> VerylGrammarAuto<'t, 'u> { Ok(()) } - /// Semantic action for production 745: + /// Semantic action for production 752: /// /// `WithParameterItemGroup: Const;` /// @@ -29377,7 +29651,7 @@ impl<'t, 'u> VerylGrammarAuto<'t, 'u> { Ok(()) } - /// Semantic action for production 746: + /// Semantic action for production 753: /// /// `GenericBound: Const;` /// @@ -29396,7 +29670,7 @@ impl<'t, 'u> VerylGrammarAuto<'t, 'u> { Ok(()) } - /// Semantic action for production 747: + /// Semantic action for production 754: /// /// `GenericBound: Type;` /// @@ -29415,7 +29689,7 @@ impl<'t, 'u> VerylGrammarAuto<'t, 'u> { Ok(()) } - /// Semantic action for production 748: + /// Semantic action for production 755: /// /// `GenericBound: ScopedIdentifier;` /// @@ -29434,7 +29708,7 @@ impl<'t, 'u> VerylGrammarAuto<'t, 'u> { Ok(()) } - /// Semantic action for production 749: + /// Semantic action for production 756: /// /// `WithGenericParameter: ColonColonLAngle WithGenericParameterList RAngle;` /// @@ -29470,7 +29744,7 @@ impl<'t, 'u> VerylGrammarAuto<'t, 'u> { Ok(()) } - /// Semantic action for production 750: + /// Semantic action for production 757: /// /// `WithGenericParameterList: WithGenericParameterItem WithGenericParameterListList /* Vec */ WithGenericParameterListOpt /* Option */;` /// @@ -29516,7 +29790,7 @@ impl<'t, 'u> VerylGrammarAuto<'t, 'u> { Ok(()) } - /// Semantic action for production 751: + /// Semantic action for production 758: /// /// `WithGenericParameterListList /* Vec::Push */: Comma WithGenericParameterItem WithGenericParameterListList;` /// @@ -29555,7 +29829,7 @@ impl<'t, 'u> VerylGrammarAuto<'t, 'u> { Ok(()) } - /// Semantic action for production 752: + /// Semantic action for production 759: /// /// `WithGenericParameterListList /* Vec::New */: ;` /// @@ -29571,7 +29845,7 @@ impl<'t, 'u> VerylGrammarAuto<'t, 'u> { Ok(()) } - /// Semantic action for production 753: + /// Semantic action for production 760: /// /// `WithGenericParameterListOpt /* Option::Some */: Comma;` /// @@ -29590,7 +29864,7 @@ impl<'t, 'u> VerylGrammarAuto<'t, 'u> { Ok(()) } - /// Semantic action for production 754: + /// Semantic action for production 761: /// /// `WithGenericParameterListOpt /* Option::None */: ;` /// @@ -29602,7 +29876,7 @@ impl<'t, 'u> VerylGrammarAuto<'t, 'u> { Ok(()) } - /// Semantic action for production 755: + /// Semantic action for production 762: /// /// `WithGenericParameterItem: Identifier Colon GenericBound WithGenericParameterItemOpt /* Option */;` /// @@ -29641,7 +29915,7 @@ impl<'t, 'u> VerylGrammarAuto<'t, 'u> { Ok(()) } - /// Semantic action for production 756: + /// Semantic action for production 763: /// /// `WithGenericParameterItemOpt /* Option::Some */: Equ WithGenericArgumentItem;` /// @@ -29671,7 +29945,7 @@ impl<'t, 'u> VerylGrammarAuto<'t, 'u> { Ok(()) } - /// Semantic action for production 757: + /// Semantic action for production 764: /// /// `WithGenericParameterItemOpt /* Option::None */: ;` /// @@ -29683,7 +29957,7 @@ impl<'t, 'u> VerylGrammarAuto<'t, 'u> { Ok(()) } - /// Semantic action for production 758: + /// Semantic action for production 765: /// /// `WithGenericArgument: ColonColonLAngle %push(Generic) WithGenericArgumentOpt /* Option */ RAngle %pop();` /// @@ -29719,7 +29993,7 @@ impl<'t, 'u> VerylGrammarAuto<'t, 'u> { Ok(()) } - /// Semantic action for production 759: + /// Semantic action for production 766: /// /// `WithGenericArgumentOpt /* Option::Some */: WithGenericArgumentList;` /// @@ -29746,7 +30020,7 @@ impl<'t, 'u> VerylGrammarAuto<'t, 'u> { Ok(()) } - /// Semantic action for production 760: + /// Semantic action for production 767: /// /// `WithGenericArgumentOpt /* Option::None */: ;` /// @@ -29758,7 +30032,7 @@ impl<'t, 'u> VerylGrammarAuto<'t, 'u> { Ok(()) } - /// Semantic action for production 761: + /// Semantic action for production 768: /// /// `WithGenericArgumentList: WithGenericArgumentItem WithGenericArgumentListList /* Vec */ WithGenericArgumentListOpt /* Option */;` /// @@ -29804,7 +30078,7 @@ impl<'t, 'u> VerylGrammarAuto<'t, 'u> { Ok(()) } - /// Semantic action for production 762: + /// Semantic action for production 769: /// /// `WithGenericArgumentListList /* Vec::Push */: Comma WithGenericArgumentItem WithGenericArgumentListList;` /// @@ -29843,7 +30117,7 @@ impl<'t, 'u> VerylGrammarAuto<'t, 'u> { Ok(()) } - /// Semantic action for production 763: + /// Semantic action for production 770: /// /// `WithGenericArgumentListList /* Vec::New */: ;` /// @@ -29859,7 +30133,7 @@ impl<'t, 'u> VerylGrammarAuto<'t, 'u> { Ok(()) } - /// Semantic action for production 764: + /// Semantic action for production 771: /// /// `WithGenericArgumentListOpt /* Option::Some */: Comma;` /// @@ -29878,7 +30152,7 @@ impl<'t, 'u> VerylGrammarAuto<'t, 'u> { Ok(()) } - /// Semantic action for production 765: + /// Semantic action for production 772: /// /// `WithGenericArgumentListOpt /* Option::None */: ;` /// @@ -29890,7 +30164,7 @@ impl<'t, 'u> VerylGrammarAuto<'t, 'u> { Ok(()) } - /// Semantic action for production 766: + /// Semantic action for production 773: /// /// `WithGenericArgumentItem: ScopedIdentifier;` /// @@ -29917,7 +30191,7 @@ impl<'t, 'u> VerylGrammarAuto<'t, 'u> { Ok(()) } - /// Semantic action for production 767: + /// Semantic action for production 774: /// /// `WithGenericArgumentItem: Number;` /// @@ -29941,7 +30215,7 @@ impl<'t, 'u> VerylGrammarAuto<'t, 'u> { Ok(()) } - /// Semantic action for production 768: + /// Semantic action for production 775: /// /// `PortDeclaration: LParen PortDeclarationOpt /* Option */ RParen;` /// @@ -29970,7 +30244,7 @@ impl<'t, 'u> VerylGrammarAuto<'t, 'u> { Ok(()) } - /// Semantic action for production 769: + /// Semantic action for production 776: /// /// `PortDeclarationOpt /* Option::Some */: PortDeclarationList;` /// @@ -29990,7 +30264,7 @@ impl<'t, 'u> VerylGrammarAuto<'t, 'u> { Ok(()) } - /// Semantic action for production 770: + /// Semantic action for production 777: /// /// `PortDeclarationOpt /* Option::None */: ;` /// @@ -30002,7 +30276,7 @@ impl<'t, 'u> VerylGrammarAuto<'t, 'u> { Ok(()) } - /// Semantic action for production 771: + /// Semantic action for production 778: /// /// `PortDeclarationList: PortDeclarationGroup PortDeclarationListList /* Vec */ PortDeclarationListOpt /* Option */;` /// @@ -30044,7 +30318,7 @@ impl<'t, 'u> VerylGrammarAuto<'t, 'u> { Ok(()) } - /// Semantic action for production 772: + /// Semantic action for production 779: /// /// `PortDeclarationListList /* Vec::Push */: Comma PortDeclarationGroup PortDeclarationListList;` /// @@ -30079,7 +30353,7 @@ impl<'t, 'u> VerylGrammarAuto<'t, 'u> { Ok(()) } - /// Semantic action for production 773: + /// Semantic action for production 780: /// /// `PortDeclarationListList /* Vec::New */: ;` /// @@ -30095,7 +30369,7 @@ impl<'t, 'u> VerylGrammarAuto<'t, 'u> { Ok(()) } - /// Semantic action for production 774: + /// Semantic action for production 781: /// /// `PortDeclarationListOpt /* Option::Some */: Comma;` /// @@ -30114,7 +30388,7 @@ impl<'t, 'u> VerylGrammarAuto<'t, 'u> { Ok(()) } - /// Semantic action for production 775: + /// Semantic action for production 782: /// /// `PortDeclarationListOpt /* Option::None */: ;` /// @@ -30126,7 +30400,7 @@ impl<'t, 'u> VerylGrammarAuto<'t, 'u> { Ok(()) } - /// Semantic action for production 776: + /// Semantic action for production 783: /// /// `PortDeclarationGroup: PortDeclarationGroupList /* Vec */ PortDeclarationGroupGroup;` /// @@ -30164,7 +30438,7 @@ impl<'t, 'u> VerylGrammarAuto<'t, 'u> { Ok(()) } - /// Semantic action for production 777: + /// Semantic action for production 784: /// /// `PortDeclarationGroupGroup: LBrace PortDeclarationList RBrace;` /// @@ -30198,7 +30472,7 @@ impl<'t, 'u> VerylGrammarAuto<'t, 'u> { Ok(()) } - /// Semantic action for production 778: + /// Semantic action for production 785: /// /// `PortDeclarationGroupGroup: PortDeclarationItem;` /// @@ -30223,7 +30497,7 @@ impl<'t, 'u> VerylGrammarAuto<'t, 'u> { Ok(()) } - /// Semantic action for production 779: + /// Semantic action for production 786: /// /// `PortDeclarationGroupList /* Vec::Push */: Attribute PortDeclarationGroupList;` /// @@ -30254,7 +30528,7 @@ impl<'t, 'u> VerylGrammarAuto<'t, 'u> { Ok(()) } - /// Semantic action for production 780: + /// Semantic action for production 787: /// /// `PortDeclarationGroupList /* Vec::New */: ;` /// @@ -30270,7 +30544,7 @@ impl<'t, 'u> VerylGrammarAuto<'t, 'u> { Ok(()) } - /// Semantic action for production 781: + /// Semantic action for production 788: /// /// `PortDeclarationItem: Identifier Colon PortDeclarationItemGroup;` /// @@ -30306,7 +30580,7 @@ impl<'t, 'u> VerylGrammarAuto<'t, 'u> { Ok(()) } - /// Semantic action for production 782: + /// Semantic action for production 789: /// /// `PortDeclarationItemGroup: PortTypeConcrete;` /// @@ -30330,7 +30604,7 @@ impl<'t, 'u> VerylGrammarAuto<'t, 'u> { Ok(()) } - /// Semantic action for production 783: + /// Semantic action for production 790: /// /// `PortDeclarationItemGroup: PortTypeAbstract;` /// @@ -30354,7 +30628,7 @@ impl<'t, 'u> VerylGrammarAuto<'t, 'u> { Ok(()) } - /// Semantic action for production 784: + /// Semantic action for production 791: /// /// `PortTypeConcrete: Direction PortTypeConcreteOpt /* Option */ ArrayType;` /// @@ -30383,7 +30657,7 @@ impl<'t, 'u> VerylGrammarAuto<'t, 'u> { Ok(()) } - /// Semantic action for production 785: + /// Semantic action for production 792: /// /// `PortTypeConcreteOpt /* Option::Some */: ClockDomain;` /// @@ -30402,7 +30676,7 @@ impl<'t, 'u> VerylGrammarAuto<'t, 'u> { Ok(()) } - /// Semantic action for production 786: + /// Semantic action for production 793: /// /// `PortTypeConcreteOpt /* Option::None */: ;` /// @@ -30414,7 +30688,7 @@ impl<'t, 'u> VerylGrammarAuto<'t, 'u> { Ok(()) } - /// Semantic action for production 787: + /// Semantic action for production 794: /// /// `PortTypeAbstract: PortTypeAbstractOpt /* Option */ Interface PortTypeAbstractOpt0 /* Option */;` /// @@ -30444,7 +30718,7 @@ impl<'t, 'u> VerylGrammarAuto<'t, 'u> { Ok(()) } - /// Semantic action for production 788: + /// Semantic action for production 795: /// /// `PortTypeAbstractOpt0 /* Option::Some */: Array;` /// @@ -30463,7 +30737,7 @@ impl<'t, 'u> VerylGrammarAuto<'t, 'u> { Ok(()) } - /// Semantic action for production 789: + /// Semantic action for production 796: /// /// `PortTypeAbstractOpt0 /* Option::None */: ;` /// @@ -30475,7 +30749,7 @@ impl<'t, 'u> VerylGrammarAuto<'t, 'u> { Ok(()) } - /// Semantic action for production 790: + /// Semantic action for production 797: /// /// `PortTypeAbstractOpt /* Option::Some */: ClockDomain;` /// @@ -30494,7 +30768,7 @@ impl<'t, 'u> VerylGrammarAuto<'t, 'u> { Ok(()) } - /// Semantic action for production 791: + /// Semantic action for production 798: /// /// `PortTypeAbstractOpt /* Option::None */: ;` /// @@ -30506,7 +30780,7 @@ impl<'t, 'u> VerylGrammarAuto<'t, 'u> { Ok(()) } - /// Semantic action for production 792: + /// Semantic action for production 799: /// /// `Direction: Input;` /// @@ -30525,7 +30799,7 @@ impl<'t, 'u> VerylGrammarAuto<'t, 'u> { Ok(()) } - /// Semantic action for production 793: + /// Semantic action for production 800: /// /// `Direction: Output;` /// @@ -30544,7 +30818,7 @@ impl<'t, 'u> VerylGrammarAuto<'t, 'u> { Ok(()) } - /// Semantic action for production 794: + /// Semantic action for production 801: /// /// `Direction: Inout;` /// @@ -30563,7 +30837,7 @@ impl<'t, 'u> VerylGrammarAuto<'t, 'u> { Ok(()) } - /// Semantic action for production 795: + /// Semantic action for production 802: /// /// `Direction: Ref;` /// @@ -30582,7 +30856,7 @@ impl<'t, 'u> VerylGrammarAuto<'t, 'u> { Ok(()) } - /// Semantic action for production 796: + /// Semantic action for production 803: /// /// `Direction: Modport;` /// @@ -30601,7 +30875,7 @@ impl<'t, 'u> VerylGrammarAuto<'t, 'u> { Ok(()) } - /// Semantic action for production 797: + /// Semantic action for production 804: /// /// `Direction: Import;` /// @@ -30620,7 +30894,7 @@ impl<'t, 'u> VerylGrammarAuto<'t, 'u> { Ok(()) } - /// Semantic action for production 798: + /// Semantic action for production 805: /// /// `FunctionDeclaration: Function Identifier FunctionDeclarationOpt /* Option */ FunctionDeclarationOpt0 /* Option */ FunctionDeclarationOpt1 /* Option */ StatementBlock;` /// @@ -30675,7 +30949,7 @@ impl<'t, 'u> VerylGrammarAuto<'t, 'u> { Ok(()) } - /// Semantic action for production 799: + /// Semantic action for production 806: /// /// `FunctionDeclarationOpt1 /* Option::Some */: MinusGT ScalarType;` /// @@ -30700,7 +30974,7 @@ impl<'t, 'u> VerylGrammarAuto<'t, 'u> { Ok(()) } - /// Semantic action for production 800: + /// Semantic action for production 807: /// /// `FunctionDeclarationOpt1 /* Option::None */: ;` /// @@ -30712,7 +30986,7 @@ impl<'t, 'u> VerylGrammarAuto<'t, 'u> { Ok(()) } - /// Semantic action for production 801: + /// Semantic action for production 808: /// /// `FunctionDeclarationOpt0 /* Option::Some */: PortDeclaration;` /// @@ -30731,7 +31005,7 @@ impl<'t, 'u> VerylGrammarAuto<'t, 'u> { Ok(()) } - /// Semantic action for production 802: + /// Semantic action for production 809: /// /// `FunctionDeclarationOpt0 /* Option::None */: ;` /// @@ -30743,7 +31017,7 @@ impl<'t, 'u> VerylGrammarAuto<'t, 'u> { Ok(()) } - /// Semantic action for production 803: + /// Semantic action for production 810: /// /// `FunctionDeclarationOpt /* Option::Some */: WithGenericParameter;` /// @@ -30766,7 +31040,7 @@ impl<'t, 'u> VerylGrammarAuto<'t, 'u> { Ok(()) } - /// Semantic action for production 804: + /// Semantic action for production 811: /// /// `FunctionDeclarationOpt /* Option::None */: ;` /// @@ -30778,7 +31052,7 @@ impl<'t, 'u> VerylGrammarAuto<'t, 'u> { Ok(()) } - /// Semantic action for production 805: + /// Semantic action for production 812: /// /// `ImportDeclaration: Import ScopedIdentifier ImportDeclarationOpt /* Option */ Semicolon;` /// @@ -30813,7 +31087,7 @@ impl<'t, 'u> VerylGrammarAuto<'t, 'u> { Ok(()) } - /// Semantic action for production 806: + /// Semantic action for production 813: /// /// `ImportDeclarationOpt /* Option::Some */: ColonColon Star;` /// @@ -30838,7 +31112,7 @@ impl<'t, 'u> VerylGrammarAuto<'t, 'u> { Ok(()) } - /// Semantic action for production 807: + /// Semantic action for production 814: /// /// `ImportDeclarationOpt /* Option::None */: ;` /// @@ -30850,7 +31124,7 @@ impl<'t, 'u> VerylGrammarAuto<'t, 'u> { Ok(()) } - /// Semantic action for production 808: + /// Semantic action for production 815: /// /// `ExportDeclaration: Export ExportDeclarationGroup Semicolon;` /// @@ -30886,7 +31160,7 @@ impl<'t, 'u> VerylGrammarAuto<'t, 'u> { Ok(()) } - /// Semantic action for production 809: + /// Semantic action for production 816: /// /// `ExportDeclarationGroup: Star;` /// @@ -30907,7 +31181,7 @@ impl<'t, 'u> VerylGrammarAuto<'t, 'u> { Ok(()) } - /// Semantic action for production 810: + /// Semantic action for production 817: /// /// `ExportDeclarationGroup: ScopedIdentifier ExportDeclarationOpt /* Option */;` /// @@ -30938,7 +31212,7 @@ impl<'t, 'u> VerylGrammarAuto<'t, 'u> { Ok(()) } - /// Semantic action for production 811: + /// Semantic action for production 818: /// /// `ExportDeclarationOpt /* Option::Some */: ColonColon Star;` /// @@ -30963,7 +31237,7 @@ impl<'t, 'u> VerylGrammarAuto<'t, 'u> { Ok(()) } - /// Semantic action for production 812: + /// Semantic action for production 819: /// /// `ExportDeclarationOpt /* Option::None */: ;` /// @@ -30975,7 +31249,7 @@ impl<'t, 'u> VerylGrammarAuto<'t, 'u> { Ok(()) } - /// Semantic action for production 813: + /// Semantic action for production 820: /// /// `UnsafeBlock: Unsafe LParen Identifier RParen LBrace UnsafeBlockList /* Vec */ RBrace;` /// @@ -31015,7 +31289,7 @@ impl<'t, 'u> VerylGrammarAuto<'t, 'u> { Ok(()) } - /// Semantic action for production 814: + /// Semantic action for production 821: /// /// `UnsafeBlockList /* Vec::Push */: GenerateGroup UnsafeBlockList;` /// @@ -31038,7 +31312,7 @@ impl<'t, 'u> VerylGrammarAuto<'t, 'u> { Ok(()) } - /// Semantic action for production 815: + /// Semantic action for production 822: /// /// `UnsafeBlockList /* Vec::New */: ;` /// @@ -31051,7 +31325,7 @@ impl<'t, 'u> VerylGrammarAuto<'t, 'u> { Ok(()) } - /// Semantic action for production 816: + /// Semantic action for production 823: /// /// `ModuleDeclaration: ModuleDeclarationOpt /* Option */ Module Identifier ModuleDeclarationOpt0 /* Option */ ModuleDeclarationOpt1 /* Option */ ModuleDeclarationOpt2 /* Option */ ModuleDeclarationOpt3 /* Option */ LBrace ModuleDeclarationList /* Vec */ RBrace;` /// @@ -31129,7 +31403,7 @@ impl<'t, 'u> VerylGrammarAuto<'t, 'u> { Ok(()) } - /// Semantic action for production 817: + /// Semantic action for production 824: /// /// `ModuleDeclarationList /* Vec::Push */: ModuleGroup ModuleDeclarationList;` /// @@ -31160,7 +31434,7 @@ impl<'t, 'u> VerylGrammarAuto<'t, 'u> { Ok(()) } - /// Semantic action for production 818: + /// Semantic action for production 825: /// /// `ModuleDeclarationList /* Vec::New */: ;` /// @@ -31176,7 +31450,7 @@ impl<'t, 'u> VerylGrammarAuto<'t, 'u> { Ok(()) } - /// Semantic action for production 819: + /// Semantic action for production 826: /// /// `ModuleDeclarationOpt3 /* Option::Some */: PortDeclaration;` /// @@ -31195,7 +31469,7 @@ impl<'t, 'u> VerylGrammarAuto<'t, 'u> { Ok(()) } - /// Semantic action for production 820: + /// Semantic action for production 827: /// /// `ModuleDeclarationOpt3 /* Option::None */: ;` /// @@ -31207,7 +31481,7 @@ impl<'t, 'u> VerylGrammarAuto<'t, 'u> { Ok(()) } - /// Semantic action for production 821: + /// Semantic action for production 828: /// /// `ModuleDeclarationOpt2 /* Option::Some */: WithParameter;` /// @@ -31226,7 +31500,7 @@ impl<'t, 'u> VerylGrammarAuto<'t, 'u> { Ok(()) } - /// Semantic action for production 822: + /// Semantic action for production 829: /// /// `ModuleDeclarationOpt2 /* Option::None */: ;` /// @@ -31238,7 +31512,7 @@ impl<'t, 'u> VerylGrammarAuto<'t, 'u> { Ok(()) } - /// Semantic action for production 823: + /// Semantic action for production 830: /// /// `ModuleDeclarationOpt1 /* Option::Some */: For ScopedIdentifier;` /// @@ -31263,7 +31537,7 @@ impl<'t, 'u> VerylGrammarAuto<'t, 'u> { Ok(()) } - /// Semantic action for production 824: + /// Semantic action for production 831: /// /// `ModuleDeclarationOpt1 /* Option::None */: ;` /// @@ -31275,7 +31549,7 @@ impl<'t, 'u> VerylGrammarAuto<'t, 'u> { Ok(()) } - /// Semantic action for production 825: + /// Semantic action for production 832: /// /// `ModuleDeclarationOpt0 /* Option::Some */: WithGenericParameter;` /// @@ -31298,7 +31572,7 @@ impl<'t, 'u> VerylGrammarAuto<'t, 'u> { Ok(()) } - /// Semantic action for production 826: + /// Semantic action for production 833: /// /// `ModuleDeclarationOpt0 /* Option::None */: ;` /// @@ -31310,7 +31584,7 @@ impl<'t, 'u> VerylGrammarAuto<'t, 'u> { Ok(()) } - /// Semantic action for production 827: + /// Semantic action for production 834: /// /// `ModuleDeclarationOpt /* Option::Some */: Pub;` /// @@ -31329,7 +31603,7 @@ impl<'t, 'u> VerylGrammarAuto<'t, 'u> { Ok(()) } - /// Semantic action for production 828: + /// Semantic action for production 835: /// /// `ModuleDeclarationOpt /* Option::None */: ;` /// @@ -31341,7 +31615,7 @@ impl<'t, 'u> VerylGrammarAuto<'t, 'u> { Ok(()) } - /// Semantic action for production 829: + /// Semantic action for production 836: /// /// `ModuleGroup: ModuleGroupList /* Vec */ ModuleGroupGroup;` /// @@ -31366,7 +31640,7 @@ impl<'t, 'u> VerylGrammarAuto<'t, 'u> { Ok(()) } - /// Semantic action for production 830: + /// Semantic action for production 837: /// /// `ModuleGroupGroup: LBrace ModuleGroupGroupList /* Vec */ RBrace;` /// @@ -31397,7 +31671,7 @@ impl<'t, 'u> VerylGrammarAuto<'t, 'u> { Ok(()) } - /// Semantic action for production 831: + /// Semantic action for production 838: /// /// `ModuleGroupGroupList /* Vec::Push */: ModuleGroup ModuleGroupGroupList;` /// @@ -31424,7 +31698,7 @@ impl<'t, 'u> VerylGrammarAuto<'t, 'u> { Ok(()) } - /// Semantic action for production 832: + /// Semantic action for production 839: /// /// `ModuleGroupGroupList /* Vec::New */: ;` /// @@ -31440,7 +31714,7 @@ impl<'t, 'u> VerylGrammarAuto<'t, 'u> { Ok(()) } - /// Semantic action for production 833: + /// Semantic action for production 840: /// /// `ModuleGroupGroup: ModuleItem;` /// @@ -31460,7 +31734,7 @@ impl<'t, 'u> VerylGrammarAuto<'t, 'u> { Ok(()) } - /// Semantic action for production 834: + /// Semantic action for production 841: /// /// `ModuleGroupList /* Vec::Push */: Attribute ModuleGroupList;` /// @@ -31483,7 +31757,7 @@ impl<'t, 'u> VerylGrammarAuto<'t, 'u> { Ok(()) } - /// Semantic action for production 835: + /// Semantic action for production 842: /// /// `ModuleGroupList /* Vec::New */: ;` /// @@ -31496,7 +31770,7 @@ impl<'t, 'u> VerylGrammarAuto<'t, 'u> { Ok(()) } - /// Semantic action for production 836: + /// Semantic action for production 843: /// /// `ModuleItem: GenerateItem;` /// @@ -31514,7 +31788,7 @@ impl<'t, 'u> VerylGrammarAuto<'t, 'u> { Ok(()) } - /// Semantic action for production 837: + /// Semantic action for production 844: /// /// `InterfaceDeclaration: InterfaceDeclarationOpt /* Option */ Interface Identifier InterfaceDeclarationOpt0 /* Option */ InterfaceDeclarationOpt1 /* Option */ LBrace InterfaceDeclarationList /* Vec */ RBrace;` /// @@ -31580,7 +31854,7 @@ impl<'t, 'u> VerylGrammarAuto<'t, 'u> { Ok(()) } - /// Semantic action for production 838: + /// Semantic action for production 845: /// /// `InterfaceDeclarationList /* Vec::Push */: InterfaceGroup InterfaceDeclarationList;` /// @@ -31611,7 +31885,7 @@ impl<'t, 'u> VerylGrammarAuto<'t, 'u> { Ok(()) } - /// Semantic action for production 839: + /// Semantic action for production 846: /// /// `InterfaceDeclarationList /* Vec::New */: ;` /// @@ -31627,7 +31901,7 @@ impl<'t, 'u> VerylGrammarAuto<'t, 'u> { Ok(()) } - /// Semantic action for production 840: + /// Semantic action for production 847: /// /// `InterfaceDeclarationOpt1 /* Option::Some */: WithParameter;` /// @@ -31646,7 +31920,7 @@ impl<'t, 'u> VerylGrammarAuto<'t, 'u> { Ok(()) } - /// Semantic action for production 841: + /// Semantic action for production 848: /// /// `InterfaceDeclarationOpt1 /* Option::None */: ;` /// @@ -31658,7 +31932,7 @@ impl<'t, 'u> VerylGrammarAuto<'t, 'u> { Ok(()) } - /// Semantic action for production 842: + /// Semantic action for production 849: /// /// `InterfaceDeclarationOpt0 /* Option::Some */: WithGenericParameter;` /// @@ -31681,7 +31955,7 @@ impl<'t, 'u> VerylGrammarAuto<'t, 'u> { Ok(()) } - /// Semantic action for production 843: + /// Semantic action for production 850: /// /// `InterfaceDeclarationOpt0 /* Option::None */: ;` /// @@ -31693,7 +31967,7 @@ impl<'t, 'u> VerylGrammarAuto<'t, 'u> { Ok(()) } - /// Semantic action for production 844: + /// Semantic action for production 851: /// /// `InterfaceDeclarationOpt /* Option::Some */: Pub;` /// @@ -31712,7 +31986,7 @@ impl<'t, 'u> VerylGrammarAuto<'t, 'u> { Ok(()) } - /// Semantic action for production 845: + /// Semantic action for production 852: /// /// `InterfaceDeclarationOpt /* Option::None */: ;` /// @@ -31724,7 +31998,7 @@ impl<'t, 'u> VerylGrammarAuto<'t, 'u> { Ok(()) } - /// Semantic action for production 846: + /// Semantic action for production 853: /// /// `InterfaceGroup: InterfaceGroupList /* Vec */ InterfaceGroupGroup;` /// @@ -31750,7 +32024,7 @@ impl<'t, 'u> VerylGrammarAuto<'t, 'u> { Ok(()) } - /// Semantic action for production 847: + /// Semantic action for production 854: /// /// `InterfaceGroupGroup: LBrace InterfaceGroupGroupList /* Vec */ RBrace;` /// @@ -31786,7 +32060,7 @@ impl<'t, 'u> VerylGrammarAuto<'t, 'u> { Ok(()) } - /// Semantic action for production 848: + /// Semantic action for production 855: /// /// `InterfaceGroupGroupList /* Vec::Push */: InterfaceGroup InterfaceGroupGroupList;` /// @@ -31817,7 +32091,7 @@ impl<'t, 'u> VerylGrammarAuto<'t, 'u> { Ok(()) } - /// Semantic action for production 849: + /// Semantic action for production 856: /// /// `InterfaceGroupGroupList /* Vec::New */: ;` /// @@ -31833,7 +32107,7 @@ impl<'t, 'u> VerylGrammarAuto<'t, 'u> { Ok(()) } - /// Semantic action for production 850: + /// Semantic action for production 857: /// /// `InterfaceGroupGroup: InterfaceItem;` /// @@ -31854,7 +32128,7 @@ impl<'t, 'u> VerylGrammarAuto<'t, 'u> { Ok(()) } - /// Semantic action for production 851: + /// Semantic action for production 858: /// /// `InterfaceGroupList /* Vec::Push */: Attribute InterfaceGroupList;` /// @@ -31878,7 +32152,7 @@ impl<'t, 'u> VerylGrammarAuto<'t, 'u> { Ok(()) } - /// Semantic action for production 852: + /// Semantic action for production 859: /// /// `InterfaceGroupList /* Vec::New */: ;` /// @@ -31894,7 +32168,7 @@ impl<'t, 'u> VerylGrammarAuto<'t, 'u> { Ok(()) } - /// Semantic action for production 853: + /// Semantic action for production 860: /// /// `InterfaceItem: GenerateItem;` /// @@ -31913,7 +32187,7 @@ impl<'t, 'u> VerylGrammarAuto<'t, 'u> { Ok(()) } - /// Semantic action for production 854: + /// Semantic action for production 861: /// /// `InterfaceItem: ModportDeclaration;` /// @@ -31932,7 +32206,7 @@ impl<'t, 'u> VerylGrammarAuto<'t, 'u> { Ok(()) } - /// Semantic action for production 855: + /// Semantic action for production 862: /// /// `GenerateIfDeclaration: If Expression GenerateNamedBlock GenerateIfDeclarationList /* Vec */ GenerateIfDeclarationOpt /* Option */;` /// @@ -31980,7 +32254,7 @@ impl<'t, 'u> VerylGrammarAuto<'t, 'u> { Ok(()) } - /// Semantic action for production 856: + /// Semantic action for production 863: /// /// `GenerateIfDeclarationList /* Vec::Push */: Else If Expression GenerateOptionalNamedBlock GenerateIfDeclarationList;` /// @@ -32025,7 +32299,7 @@ impl<'t, 'u> VerylGrammarAuto<'t, 'u> { Ok(()) } - /// Semantic action for production 857: + /// Semantic action for production 864: /// /// `GenerateIfDeclarationList /* Vec::New */: ;` /// @@ -32041,7 +32315,7 @@ impl<'t, 'u> VerylGrammarAuto<'t, 'u> { Ok(()) } - /// Semantic action for production 858: + /// Semantic action for production 865: /// /// `GenerateIfDeclarationOpt /* Option::Some */: Else GenerateOptionalNamedBlock;` /// @@ -32071,7 +32345,7 @@ impl<'t, 'u> VerylGrammarAuto<'t, 'u> { Ok(()) } - /// Semantic action for production 859: + /// Semantic action for production 866: /// /// `GenerateIfDeclarationOpt /* Option::None */: ;` /// @@ -32083,7 +32357,7 @@ impl<'t, 'u> VerylGrammarAuto<'t, 'u> { Ok(()) } - /// Semantic action for production 860: + /// Semantic action for production 867: /// /// `GenerateForDeclaration: For Identifier In Range GenerateForDeclarationOpt /* Option */ GenerateNamedBlock;` /// @@ -32129,7 +32403,7 @@ impl<'t, 'u> VerylGrammarAuto<'t, 'u> { Ok(()) } - /// Semantic action for production 861: + /// Semantic action for production 868: /// /// `GenerateForDeclarationOpt /* Option::Some */: Step AssignmentOperator Expression;` /// @@ -32157,7 +32431,7 @@ impl<'t, 'u> VerylGrammarAuto<'t, 'u> { Ok(()) } - /// Semantic action for production 862: + /// Semantic action for production 869: /// /// `GenerateForDeclarationOpt /* Option::None */: ;` /// @@ -32169,7 +32443,7 @@ impl<'t, 'u> VerylGrammarAuto<'t, 'u> { Ok(()) } - /// Semantic action for production 863: + /// Semantic action for production 870: /// /// `GenerateBlockDeclaration: GenerateNamedBlock;` /// @@ -32195,7 +32469,7 @@ impl<'t, 'u> VerylGrammarAuto<'t, 'u> { Ok(()) } - /// Semantic action for production 864: + /// Semantic action for production 871: /// /// `GenerateNamedBlock: Colon Identifier LBrace GenerateNamedBlockList /* Vec */ RBrace;` /// @@ -32237,7 +32511,7 @@ impl<'t, 'u> VerylGrammarAuto<'t, 'u> { Ok(()) } - /// Semantic action for production 865: + /// Semantic action for production 872: /// /// `GenerateNamedBlockList /* Vec::Push */: GenerateGroup GenerateNamedBlockList;` /// @@ -32268,7 +32542,7 @@ impl<'t, 'u> VerylGrammarAuto<'t, 'u> { Ok(()) } - /// Semantic action for production 866: + /// Semantic action for production 873: /// /// `GenerateNamedBlockList /* Vec::New */: ;` /// @@ -32284,7 +32558,7 @@ impl<'t, 'u> VerylGrammarAuto<'t, 'u> { Ok(()) } - /// Semantic action for production 867: + /// Semantic action for production 874: /// /// `GenerateOptionalNamedBlock: GenerateOptionalNamedBlockOpt /* Option */ LBrace GenerateOptionalNamedBlockList /* Vec */ RBrace;` /// @@ -32328,7 +32602,7 @@ impl<'t, 'u> VerylGrammarAuto<'t, 'u> { Ok(()) } - /// Semantic action for production 868: + /// Semantic action for production 875: /// /// `GenerateOptionalNamedBlockList /* Vec::Push */: GenerateGroup GenerateOptionalNamedBlockList;` /// @@ -32359,7 +32633,7 @@ impl<'t, 'u> VerylGrammarAuto<'t, 'u> { Ok(()) } - /// Semantic action for production 869: + /// Semantic action for production 876: /// /// `GenerateOptionalNamedBlockList /* Vec::New */: ;` /// @@ -32375,7 +32649,7 @@ impl<'t, 'u> VerylGrammarAuto<'t, 'u> { Ok(()) } - /// Semantic action for production 870: + /// Semantic action for production 877: /// /// `GenerateOptionalNamedBlockOpt /* Option::Some */: Colon Identifier;` /// @@ -32400,7 +32674,7 @@ impl<'t, 'u> VerylGrammarAuto<'t, 'u> { Ok(()) } - /// Semantic action for production 871: + /// Semantic action for production 878: /// /// `GenerateOptionalNamedBlockOpt /* Option::None */: ;` /// @@ -32412,7 +32686,7 @@ impl<'t, 'u> VerylGrammarAuto<'t, 'u> { Ok(()) } - /// Semantic action for production 872: + /// Semantic action for production 879: /// /// `GenerateGroup: GenerateGroupList /* Vec */ GenerateGroupGroup;` /// @@ -32438,7 +32712,7 @@ impl<'t, 'u> VerylGrammarAuto<'t, 'u> { Ok(()) } - /// Semantic action for production 873: + /// Semantic action for production 880: /// /// `GenerateGroupGroup: LBrace GenerateGroupGroupList /* Vec */ RBrace;` /// @@ -32473,7 +32747,7 @@ impl<'t, 'u> VerylGrammarAuto<'t, 'u> { Ok(()) } - /// Semantic action for production 874: + /// Semantic action for production 881: /// /// `GenerateGroupGroupList /* Vec::Push */: GenerateGroup GenerateGroupGroupList;` /// @@ -32504,7 +32778,7 @@ impl<'t, 'u> VerylGrammarAuto<'t, 'u> { Ok(()) } - /// Semantic action for production 875: + /// Semantic action for production 882: /// /// `GenerateGroupGroupList /* Vec::New */: ;` /// @@ -32520,7 +32794,7 @@ impl<'t, 'u> VerylGrammarAuto<'t, 'u> { Ok(()) } - /// Semantic action for production 876: + /// Semantic action for production 883: /// /// `GenerateGroupGroup: GenerateItem;` /// @@ -32541,7 +32815,7 @@ impl<'t, 'u> VerylGrammarAuto<'t, 'u> { Ok(()) } - /// Semantic action for production 877: + /// Semantic action for production 884: /// /// `GenerateGroupList /* Vec::Push */: Attribute GenerateGroupList;` /// @@ -32565,7 +32839,7 @@ impl<'t, 'u> VerylGrammarAuto<'t, 'u> { Ok(()) } - /// Semantic action for production 878: + /// Semantic action for production 885: /// /// `GenerateGroupList /* Vec::New */: ;` /// @@ -32581,7 +32855,7 @@ impl<'t, 'u> VerylGrammarAuto<'t, 'u> { Ok(()) } - /// Semantic action for production 879: + /// Semantic action for production 886: /// /// `GenerateItem: LetDeclaration;` /// @@ -32600,7 +32874,7 @@ impl<'t, 'u> VerylGrammarAuto<'t, 'u> { Ok(()) } - /// Semantic action for production 880: + /// Semantic action for production 887: /// /// `GenerateItem: VarDeclaration;` /// @@ -32619,7 +32893,7 @@ impl<'t, 'u> VerylGrammarAuto<'t, 'u> { Ok(()) } - /// Semantic action for production 881: + /// Semantic action for production 888: /// /// `GenerateItem: InstDeclaration;` /// @@ -32638,7 +32912,7 @@ impl<'t, 'u> VerylGrammarAuto<'t, 'u> { Ok(()) } - /// Semantic action for production 882: + /// Semantic action for production 889: /// /// `GenerateItem: ConstDeclaration;` /// @@ -32657,7 +32931,7 @@ impl<'t, 'u> VerylGrammarAuto<'t, 'u> { Ok(()) } - /// Semantic action for production 883: + /// Semantic action for production 890: /// /// `GenerateItem: AlwaysFfDeclaration;` /// @@ -32677,7 +32951,7 @@ impl<'t, 'u> VerylGrammarAuto<'t, 'u> { Ok(()) } - /// Semantic action for production 884: + /// Semantic action for production 891: /// /// `GenerateItem: AlwaysCombDeclaration;` /// @@ -32701,7 +32975,7 @@ impl<'t, 'u> VerylGrammarAuto<'t, 'u> { Ok(()) } - /// Semantic action for production 885: + /// Semantic action for production 892: /// /// `GenerateItem: AssignDeclaration;` /// @@ -32720,7 +32994,7 @@ impl<'t, 'u> VerylGrammarAuto<'t, 'u> { Ok(()) } - /// Semantic action for production 886: + /// Semantic action for production 893: /// /// `GenerateItem: FunctionDeclaration;` /// @@ -32740,7 +33014,7 @@ impl<'t, 'u> VerylGrammarAuto<'t, 'u> { Ok(()) } - /// Semantic action for production 887: + /// Semantic action for production 894: /// /// `GenerateItem: GenerateIfDeclaration;` /// @@ -32764,7 +33038,7 @@ impl<'t, 'u> VerylGrammarAuto<'t, 'u> { Ok(()) } - /// Semantic action for production 888: + /// Semantic action for production 895: /// /// `GenerateItem: GenerateForDeclaration;` /// @@ -32788,7 +33062,7 @@ impl<'t, 'u> VerylGrammarAuto<'t, 'u> { Ok(()) } - /// Semantic action for production 889: + /// Semantic action for production 896: /// /// `GenerateItem: GenerateBlockDeclaration;` /// @@ -32812,7 +33086,7 @@ impl<'t, 'u> VerylGrammarAuto<'t, 'u> { Ok(()) } - /// Semantic action for production 890: + /// Semantic action for production 897: /// /// `GenerateItem: TypeDefDeclaration;` /// @@ -32832,7 +33106,7 @@ impl<'t, 'u> VerylGrammarAuto<'t, 'u> { Ok(()) } - /// Semantic action for production 891: + /// Semantic action for production 898: /// /// `GenerateItem: EnumDeclaration;` /// @@ -32851,7 +33125,7 @@ impl<'t, 'u> VerylGrammarAuto<'t, 'u> { Ok(()) } - /// Semantic action for production 892: + /// Semantic action for production 899: /// /// `GenerateItem: StructUnionDeclaration;` /// @@ -32875,7 +33149,7 @@ impl<'t, 'u> VerylGrammarAuto<'t, 'u> { Ok(()) } - /// Semantic action for production 893: + /// Semantic action for production 900: /// /// `GenerateItem: ImportDeclaration;` /// @@ -32894,7 +33168,7 @@ impl<'t, 'u> VerylGrammarAuto<'t, 'u> { Ok(()) } - /// Semantic action for production 894: + /// Semantic action for production 901: /// /// `GenerateItem: InitialDeclaration;` /// @@ -32913,7 +33187,7 @@ impl<'t, 'u> VerylGrammarAuto<'t, 'u> { Ok(()) } - /// Semantic action for production 895: + /// Semantic action for production 902: /// /// `GenerateItem: FinalDeclaration;` /// @@ -32932,7 +33206,7 @@ impl<'t, 'u> VerylGrammarAuto<'t, 'u> { Ok(()) } - /// Semantic action for production 896: + /// Semantic action for production 903: /// /// `GenerateItem: UnsafeBlock;` /// @@ -32951,7 +33225,7 @@ impl<'t, 'u> VerylGrammarAuto<'t, 'u> { Ok(()) } - /// Semantic action for production 897: + /// Semantic action for production 904: /// /// `PackageDeclaration: PackageDeclarationOpt /* Option */ Package Identifier PackageDeclarationOpt0 /* Option */ LBrace PackageDeclarationList /* Vec */ RBrace;` /// @@ -33009,7 +33283,7 @@ impl<'t, 'u> VerylGrammarAuto<'t, 'u> { Ok(()) } - /// Semantic action for production 898: + /// Semantic action for production 905: /// /// `PackageDeclarationList /* Vec::Push */: PackageGroup PackageDeclarationList;` /// @@ -33040,7 +33314,7 @@ impl<'t, 'u> VerylGrammarAuto<'t, 'u> { Ok(()) } - /// Semantic action for production 899: + /// Semantic action for production 906: /// /// `PackageDeclarationList /* Vec::New */: ;` /// @@ -33056,7 +33330,7 @@ impl<'t, 'u> VerylGrammarAuto<'t, 'u> { Ok(()) } - /// Semantic action for production 900: + /// Semantic action for production 907: /// /// `PackageDeclarationOpt0 /* Option::Some */: WithGenericParameter;` /// @@ -33079,7 +33353,7 @@ impl<'t, 'u> VerylGrammarAuto<'t, 'u> { Ok(()) } - /// Semantic action for production 901: + /// Semantic action for production 908: /// /// `PackageDeclarationOpt0 /* Option::None */: ;` /// @@ -33091,7 +33365,7 @@ impl<'t, 'u> VerylGrammarAuto<'t, 'u> { Ok(()) } - /// Semantic action for production 902: + /// Semantic action for production 909: /// /// `PackageDeclarationOpt /* Option::Some */: Pub;` /// @@ -33110,7 +33384,7 @@ impl<'t, 'u> VerylGrammarAuto<'t, 'u> { Ok(()) } - /// Semantic action for production 903: + /// Semantic action for production 910: /// /// `PackageDeclarationOpt /* Option::None */: ;` /// @@ -33122,7 +33396,7 @@ impl<'t, 'u> VerylGrammarAuto<'t, 'u> { Ok(()) } - /// Semantic action for production 904: + /// Semantic action for production 911: /// /// `PackageGroup: PackageGroupList /* Vec */ PackageGroupGroup;` /// @@ -33147,7 +33421,7 @@ impl<'t, 'u> VerylGrammarAuto<'t, 'u> { Ok(()) } - /// Semantic action for production 905: + /// Semantic action for production 912: /// /// `PackageGroupGroup: LBrace PackageGroupGroupList /* Vec */ RBrace;` /// @@ -33182,7 +33456,7 @@ impl<'t, 'u> VerylGrammarAuto<'t, 'u> { Ok(()) } - /// Semantic action for production 906: + /// Semantic action for production 913: /// /// `PackageGroupGroupList /* Vec::Push */: PackageGroup PackageGroupGroupList;` /// @@ -33213,7 +33487,7 @@ impl<'t, 'u> VerylGrammarAuto<'t, 'u> { Ok(()) } - /// Semantic action for production 907: + /// Semantic action for production 914: /// /// `PackageGroupGroupList /* Vec::New */: ;` /// @@ -33229,7 +33503,7 @@ impl<'t, 'u> VerylGrammarAuto<'t, 'u> { Ok(()) } - /// Semantic action for production 908: + /// Semantic action for production 915: /// /// `PackageGroupGroup: PackageItem;` /// @@ -33250,7 +33524,7 @@ impl<'t, 'u> VerylGrammarAuto<'t, 'u> { Ok(()) } - /// Semantic action for production 909: + /// Semantic action for production 916: /// /// `PackageGroupList /* Vec::Push */: Attribute PackageGroupList;` /// @@ -33273,7 +33547,7 @@ impl<'t, 'u> VerylGrammarAuto<'t, 'u> { Ok(()) } - /// Semantic action for production 910: + /// Semantic action for production 917: /// /// `PackageGroupList /* Vec::New */: ;` /// @@ -33289,7 +33563,7 @@ impl<'t, 'u> VerylGrammarAuto<'t, 'u> { Ok(()) } - /// Semantic action for production 911: + /// Semantic action for production 918: /// /// `PackageItem: VarDeclaration;` /// @@ -33308,7 +33582,7 @@ impl<'t, 'u> VerylGrammarAuto<'t, 'u> { Ok(()) } - /// Semantic action for production 912: + /// Semantic action for production 919: /// /// `PackageItem: ConstDeclaration;` /// @@ -33327,7 +33601,7 @@ impl<'t, 'u> VerylGrammarAuto<'t, 'u> { Ok(()) } - /// Semantic action for production 913: + /// Semantic action for production 920: /// /// `PackageItem: TypeDefDeclaration;` /// @@ -33347,7 +33621,7 @@ impl<'t, 'u> VerylGrammarAuto<'t, 'u> { Ok(()) } - /// Semantic action for production 914: + /// Semantic action for production 921: /// /// `PackageItem: EnumDeclaration;` /// @@ -33366,7 +33640,7 @@ impl<'t, 'u> VerylGrammarAuto<'t, 'u> { Ok(()) } - /// Semantic action for production 915: + /// Semantic action for production 922: /// /// `PackageItem: StructUnionDeclaration;` /// @@ -33390,7 +33664,7 @@ impl<'t, 'u> VerylGrammarAuto<'t, 'u> { Ok(()) } - /// Semantic action for production 916: + /// Semantic action for production 923: /// /// `PackageItem: FunctionDeclaration;` /// @@ -33410,7 +33684,7 @@ impl<'t, 'u> VerylGrammarAuto<'t, 'u> { Ok(()) } - /// Semantic action for production 917: + /// Semantic action for production 924: /// /// `PackageItem: ImportDeclaration;` /// @@ -33429,7 +33703,7 @@ impl<'t, 'u> VerylGrammarAuto<'t, 'u> { Ok(()) } - /// Semantic action for production 918: + /// Semantic action for production 925: /// /// `PackageItem: ExportDeclaration;` /// @@ -33448,7 +33722,7 @@ impl<'t, 'u> VerylGrammarAuto<'t, 'u> { Ok(()) } - /// Semantic action for production 919: + /// Semantic action for production 926: /// /// `ProtoModuleDeclaration: ProtoModuleDeclarationOpt /* Option */ Proto Module Identifier ProtoModuleDeclarationOpt0 /* Option */ ProtoModuleDeclarationOpt1 /* Option */ Semicolon;` /// @@ -33506,7 +33780,7 @@ impl<'t, 'u> VerylGrammarAuto<'t, 'u> { Ok(()) } - /// Semantic action for production 920: + /// Semantic action for production 927: /// /// `ProtoModuleDeclarationOpt1 /* Option::Some */: PortDeclaration;` /// @@ -33528,7 +33802,7 @@ impl<'t, 'u> VerylGrammarAuto<'t, 'u> { Ok(()) } - /// Semantic action for production 921: + /// Semantic action for production 928: /// /// `ProtoModuleDeclarationOpt1 /* Option::None */: ;` /// @@ -33540,7 +33814,7 @@ impl<'t, 'u> VerylGrammarAuto<'t, 'u> { Ok(()) } - /// Semantic action for production 922: + /// Semantic action for production 929: /// /// `ProtoModuleDeclarationOpt0 /* Option::Some */: WithParameter;` /// @@ -33562,7 +33836,7 @@ impl<'t, 'u> VerylGrammarAuto<'t, 'u> { Ok(()) } - /// Semantic action for production 923: + /// Semantic action for production 930: /// /// `ProtoModuleDeclarationOpt0 /* Option::None */: ;` /// @@ -33574,7 +33848,7 @@ impl<'t, 'u> VerylGrammarAuto<'t, 'u> { Ok(()) } - /// Semantic action for production 924: + /// Semantic action for production 931: /// /// `ProtoModuleDeclarationOpt /* Option::Some */: Pub;` /// @@ -33593,7 +33867,7 @@ impl<'t, 'u> VerylGrammarAuto<'t, 'u> { Ok(()) } - /// Semantic action for production 925: + /// Semantic action for production 932: /// /// `ProtoModuleDeclarationOpt /* Option::None */: ;` /// @@ -33605,7 +33879,7 @@ impl<'t, 'u> VerylGrammarAuto<'t, 'u> { Ok(()) } - /// Semantic action for production 926: + /// Semantic action for production 933: /// /// `EmbedDeclaration: Embed LParen Identifier RParen Identifier EmbedContent;` /// @@ -33642,7 +33916,7 @@ impl<'t, 'u> VerylGrammarAuto<'t, 'u> { Ok(()) } - /// Semantic action for production 927: + /// Semantic action for production 934: /// /// `EmbedContent: EmbedContentToken : VerylToken;` /// @@ -33662,7 +33936,7 @@ impl<'t, 'u> VerylGrammarAuto<'t, 'u> { Ok(()) } - /// Semantic action for production 928: + /// Semantic action for production 935: /// /// `EmbedContentToken: LBraceTerm %push(Embed) LBraceTerm LBraceTerm EmbedContentTokenList /* Vec */ RBraceTerm RBraceTerm RBraceTerm %pop() Comments;` /// @@ -33713,7 +33987,7 @@ impl<'t, 'u> VerylGrammarAuto<'t, 'u> { Ok(()) } - /// Semantic action for production 929: + /// Semantic action for production 936: /// /// `EmbedContentTokenList /* Vec::Push */: EmbedItem EmbedContentTokenList;` /// @@ -33744,7 +34018,7 @@ impl<'t, 'u> VerylGrammarAuto<'t, 'u> { Ok(()) } - /// Semantic action for production 930: + /// Semantic action for production 937: /// /// `EmbedContentTokenList /* Vec::New */: ;` /// @@ -33760,7 +34034,7 @@ impl<'t, 'u> VerylGrammarAuto<'t, 'u> { Ok(()) } - /// Semantic action for production 931: + /// Semantic action for production 938: /// /// `EmbedItem: LBraceTerm EmbedItemList /* Vec */ RBraceTerm;` /// @@ -33788,7 +34062,7 @@ impl<'t, 'u> VerylGrammarAuto<'t, 'u> { Ok(()) } - /// Semantic action for production 932: + /// Semantic action for production 939: /// /// `EmbedItemList /* Vec::Push */: EmbedItem EmbedItemList;` /// @@ -33811,7 +34085,7 @@ impl<'t, 'u> VerylGrammarAuto<'t, 'u> { Ok(()) } - /// Semantic action for production 933: + /// Semantic action for production 940: /// /// `EmbedItemList /* Vec::New */: ;` /// @@ -33824,7 +34098,7 @@ impl<'t, 'u> VerylGrammarAuto<'t, 'u> { Ok(()) } - /// Semantic action for production 934: + /// Semantic action for production 941: /// /// `EmbedItem: AnyTerm;` /// @@ -33843,7 +34117,7 @@ impl<'t, 'u> VerylGrammarAuto<'t, 'u> { Ok(()) } - /// Semantic action for production 935: + /// Semantic action for production 942: /// /// `IncludeDeclaration: Include LParen Identifier Comma StringLiteral RParen Semicolon;` /// @@ -33886,7 +34160,7 @@ impl<'t, 'u> VerylGrammarAuto<'t, 'u> { Ok(()) } - /// Semantic action for production 936: + /// Semantic action for production 943: /// /// `DescriptionGroup: DescriptionGroupList /* Vec */ DescriptionGroupGroup;` /// @@ -33917,7 +34191,7 @@ impl<'t, 'u> VerylGrammarAuto<'t, 'u> { Ok(()) } - /// Semantic action for production 937: + /// Semantic action for production 944: /// /// `DescriptionGroupGroup: LBrace DescriptionGroupGroupList /* Vec */ RBrace;` /// @@ -33955,7 +34229,7 @@ impl<'t, 'u> VerylGrammarAuto<'t, 'u> { Ok(()) } - /// Semantic action for production 938: + /// Semantic action for production 945: /// /// `DescriptionGroupGroupList /* Vec::Push */: DescriptionGroup DescriptionGroupGroupList;` /// @@ -33986,7 +34260,7 @@ impl<'t, 'u> VerylGrammarAuto<'t, 'u> { Ok(()) } - /// Semantic action for production 939: + /// Semantic action for production 946: /// /// `DescriptionGroupGroupList /* Vec::New */: ;` /// @@ -34002,7 +34276,7 @@ impl<'t, 'u> VerylGrammarAuto<'t, 'u> { Ok(()) } - /// Semantic action for production 940: + /// Semantic action for production 947: /// /// `DescriptionGroupGroup: DescriptionItem;` /// @@ -34023,7 +34297,7 @@ impl<'t, 'u> VerylGrammarAuto<'t, 'u> { Ok(()) } - /// Semantic action for production 941: + /// Semantic action for production 948: /// /// `DescriptionGroupList /* Vec::Push */: Attribute DescriptionGroupList;` /// @@ -34050,7 +34324,7 @@ impl<'t, 'u> VerylGrammarAuto<'t, 'u> { Ok(()) } - /// Semantic action for production 942: + /// Semantic action for production 949: /// /// `DescriptionGroupList /* Vec::New */: ;` /// @@ -34066,7 +34340,7 @@ impl<'t, 'u> VerylGrammarAuto<'t, 'u> { Ok(()) } - /// Semantic action for production 943: + /// Semantic action for production 950: /// /// `DescriptionItem: ModuleDeclaration;` /// @@ -34086,7 +34360,7 @@ impl<'t, 'u> VerylGrammarAuto<'t, 'u> { Ok(()) } - /// Semantic action for production 944: + /// Semantic action for production 951: /// /// `DescriptionItem: InterfaceDeclaration;` /// @@ -34108,7 +34382,7 @@ impl<'t, 'u> VerylGrammarAuto<'t, 'u> { Ok(()) } - /// Semantic action for production 945: + /// Semantic action for production 952: /// /// `DescriptionItem: PackageDeclaration;` /// @@ -34129,7 +34403,7 @@ impl<'t, 'u> VerylGrammarAuto<'t, 'u> { Ok(()) } - /// Semantic action for production 946: + /// Semantic action for production 953: /// /// `DescriptionItem: ProtoModuleDeclaration;` /// @@ -34155,7 +34429,7 @@ impl<'t, 'u> VerylGrammarAuto<'t, 'u> { Ok(()) } - /// Semantic action for production 947: + /// Semantic action for production 954: /// /// `DescriptionItem: ImportDeclaration;` /// @@ -34175,7 +34449,7 @@ impl<'t, 'u> VerylGrammarAuto<'t, 'u> { Ok(()) } - /// Semantic action for production 948: + /// Semantic action for production 955: /// /// `DescriptionItem: EmbedDeclaration;` /// @@ -34195,7 +34469,7 @@ impl<'t, 'u> VerylGrammarAuto<'t, 'u> { Ok(()) } - /// Semantic action for production 949: + /// Semantic action for production 956: /// /// `DescriptionItem: IncludeDeclaration;` /// @@ -34216,7 +34490,7 @@ impl<'t, 'u> VerylGrammarAuto<'t, 'u> { Ok(()) } - /// Semantic action for production 950: + /// Semantic action for production 957: /// /// `Veryl: Start VerylList /* Vec */;` /// @@ -34236,7 +34510,7 @@ impl<'t, 'u> VerylGrammarAuto<'t, 'u> { Ok(()) } - /// Semantic action for production 951: + /// Semantic action for production 958: /// /// `VerylList /* Vec::Push */: DescriptionGroup VerylList;` /// @@ -34259,7 +34533,7 @@ impl<'t, 'u> VerylGrammarAuto<'t, 'u> { Ok(()) } - /// Semantic action for production 952: + /// Semantic action for production 959: /// /// `VerylList /* Vec::New */: ;` /// @@ -34927,18 +35201,25 @@ impl<'t> UserActionsTrait<'t> for VerylGrammarAuto<'t, '_> { 554 => self.statement_block(&children[0], &children[1], &children[2]), 555 => self.statement_block_list_0(&children[0], &children[1]), 556 => self.statement_block_list_1(), - 557 => self.statement_block_item_0(&children[0]), - 558 => self.statement_block_item_1(&children[0]), - 559 => self.statement_block_item_2(&children[0]), - 560 => self.statement_0(&children[0]), - 561 => self.statement_1(&children[0]), - 562 => self.statement_2(&children[0]), - 563 => self.statement_3(&children[0]), - 564 => self.statement_4(&children[0]), - 565 => self.statement_5(&children[0]), - 566 => self.statement_6(&children[0]), - 567 => self.statement_7(&children[0]), - 568 => self.let_statement( + 557 => self.statement_block_group(&children[0], &children[1]), + 558 => self.statement_block_group_group_0(&children[0], &children[1], &children[2]), + 559 => self.statement_block_group_group_list_0(&children[0], &children[1]), + 560 => self.statement_block_group_group_list_1(), + 561 => self.statement_block_group_group_1(&children[0]), + 562 => self.statement_block_group_list_0(&children[0], &children[1]), + 563 => self.statement_block_group_list_1(), + 564 => self.statement_block_item_0(&children[0]), + 565 => self.statement_block_item_1(&children[0]), + 566 => self.statement_block_item_2(&children[0]), + 567 => self.statement_0(&children[0]), + 568 => self.statement_1(&children[0]), + 569 => self.statement_2(&children[0]), + 570 => self.statement_3(&children[0]), + 571 => self.statement_4(&children[0]), + 572 => self.statement_5(&children[0]), + 573 => self.statement_6(&children[0]), + 574 => self.statement_7(&children[0]), + 575 => self.let_statement( &children[0], &children[1], &children[2], @@ -34948,45 +35229,45 @@ impl<'t> UserActionsTrait<'t> for VerylGrammarAuto<'t, '_> { &children[6], &children[7], ), - 569 => self.let_statement_opt_0(&children[0]), - 570 => self.let_statement_opt_1(), - 571 => self.identifier_statement(&children[0], &children[1], &children[2]), - 572 => self.identifier_statement_group_0(&children[0]), - 573 => self.identifier_statement_group_1(&children[0]), - 574 => self.assignment(&children[0], &children[1]), - 575 => self.assignment_group_0(&children[0]), - 576 => self.assignment_group_1(&children[0]), - 577 => self.if_statement( + 576 => self.let_statement_opt_0(&children[0]), + 577 => self.let_statement_opt_1(), + 578 => self.identifier_statement(&children[0], &children[1], &children[2]), + 579 => self.identifier_statement_group_0(&children[0]), + 580 => self.identifier_statement_group_1(&children[0]), + 581 => self.assignment(&children[0], &children[1]), + 582 => self.assignment_group_0(&children[0]), + 583 => self.assignment_group_1(&children[0]), + 584 => self.if_statement( &children[0], &children[1], &children[2], &children[3], &children[4], ), - 578 => self.if_statement_list_0( + 585 => self.if_statement_list_0( &children[0], &children[1], &children[2], &children[3], &children[4], ), - 579 => self.if_statement_list_1(), - 580 => self.if_statement_opt_0(&children[0], &children[1]), - 581 => self.if_statement_opt_1(), - 582 => self.if_reset_statement(&children[0], &children[1], &children[2], &children[3]), - 583 => self.if_reset_statement_list_0( + 586 => self.if_statement_list_1(), + 587 => self.if_statement_opt_0(&children[0], &children[1]), + 588 => self.if_statement_opt_1(), + 589 => self.if_reset_statement(&children[0], &children[1], &children[2], &children[3]), + 590 => self.if_reset_statement_list_0( &children[0], &children[1], &children[2], &children[3], &children[4], ), - 584 => self.if_reset_statement_list_1(), - 585 => self.if_reset_statement_opt_0(&children[0], &children[1]), - 586 => self.if_reset_statement_opt_1(), - 587 => self.return_statement(&children[0], &children[1], &children[2]), - 588 => self.break_statement(&children[0], &children[1]), - 589 => self.for_statement( + 591 => self.if_reset_statement_list_1(), + 592 => self.if_reset_statement_opt_0(&children[0], &children[1]), + 593 => self.if_reset_statement_opt_1(), + 594 => self.return_statement(&children[0], &children[1], &children[2]), + 595 => self.break_statement(&children[0], &children[1]), + 596 => self.for_statement( &children[0], &children[1], &children[2], @@ -34996,53 +35277,53 @@ impl<'t> UserActionsTrait<'t> for VerylGrammarAuto<'t, '_> { &children[6], &children[7], ), - 590 => self.for_statement_opt_0(&children[0], &children[1], &children[2]), - 591 => self.for_statement_opt_1(), - 592 => self.case_statement( + 597 => self.for_statement_opt_0(&children[0], &children[1], &children[2]), + 598 => self.for_statement_opt_1(), + 599 => self.case_statement( &children[0], &children[1], &children[2], &children[3], &children[4], ), - 593 => self.case_statement_list_0(&children[0], &children[1]), - 594 => self.case_statement_list_1(), - 595 => self.case_item(&children[0], &children[1], &children[2]), - 596 => self.case_item_group0_0(&children[0]), - 597 => self.case_item_group0_1(&children[0]), - 598 => self.case_item_group_0(&children[0]), - 599 => self.case_item_group_1(&children[0]), - 600 => self.case_condition(&children[0], &children[1]), - 601 => self.case_condition_list_0(&children[0], &children[1], &children[2]), - 602 => self.case_condition_list_1(), - 603 => self.switch_statement(&children[0], &children[1], &children[2], &children[3]), - 604 => self.switch_statement_list_0(&children[0], &children[1]), - 605 => self.switch_statement_list_1(), - 606 => self.switch_item(&children[0], &children[1], &children[2]), - 607 => self.switch_item_group0_0(&children[0]), - 608 => self.switch_item_group0_1(&children[0]), - 609 => self.switch_item_group_0(&children[0]), - 610 => self.switch_item_group_1(&children[0]), - 611 => self.switch_condition(&children[0], &children[1]), - 612 => self.switch_condition_list_0(&children[0], &children[1], &children[2]), - 613 => self.switch_condition_list_1(), - 614 => self.attribute( + 600 => self.case_statement_list_0(&children[0], &children[1]), + 601 => self.case_statement_list_1(), + 602 => self.case_item(&children[0], &children[1], &children[2]), + 603 => self.case_item_group0_0(&children[0]), + 604 => self.case_item_group0_1(&children[0]), + 605 => self.case_item_group_0(&children[0]), + 606 => self.case_item_group_1(&children[0]), + 607 => self.case_condition(&children[0], &children[1]), + 608 => self.case_condition_list_0(&children[0], &children[1], &children[2]), + 609 => self.case_condition_list_1(), + 610 => self.switch_statement(&children[0], &children[1], &children[2], &children[3]), + 611 => self.switch_statement_list_0(&children[0], &children[1]), + 612 => self.switch_statement_list_1(), + 613 => self.switch_item(&children[0], &children[1], &children[2]), + 614 => self.switch_item_group0_0(&children[0]), + 615 => self.switch_item_group0_1(&children[0]), + 616 => self.switch_item_group_0(&children[0]), + 617 => self.switch_item_group_1(&children[0]), + 618 => self.switch_condition(&children[0], &children[1]), + 619 => self.switch_condition_list_0(&children[0], &children[1], &children[2]), + 620 => self.switch_condition_list_1(), + 621 => self.attribute( &children[0], &children[1], &children[2], &children[3], &children[4], ), - 615 => self.attribute_opt_0(&children[0], &children[1], &children[2]), - 616 => self.attribute_opt_1(), - 617 => self.attribute_list(&children[0], &children[1], &children[2]), - 618 => self.attribute_list_list_0(&children[0], &children[1], &children[2]), - 619 => self.attribute_list_list_1(), - 620 => self.attribute_list_opt_0(&children[0]), - 621 => self.attribute_list_opt_1(), - 622 => self.attribute_item_0(&children[0]), - 623 => self.attribute_item_1(&children[0]), - 624 => self.let_declaration( + 622 => self.attribute_opt_0(&children[0], &children[1], &children[2]), + 623 => self.attribute_opt_1(), + 624 => self.attribute_list(&children[0], &children[1], &children[2]), + 625 => self.attribute_list_list_0(&children[0], &children[1], &children[2]), + 626 => self.attribute_list_list_1(), + 627 => self.attribute_list_opt_0(&children[0]), + 628 => self.attribute_list_opt_1(), + 629 => self.attribute_item_0(&children[0]), + 630 => self.attribute_item_1(&children[0]), + 631 => self.let_declaration( &children[0], &children[1], &children[2], @@ -35052,9 +35333,9 @@ impl<'t> UserActionsTrait<'t> for VerylGrammarAuto<'t, '_> { &children[6], &children[7], ), - 625 => self.let_declaration_opt_0(&children[0]), - 626 => self.let_declaration_opt_1(), - 627 => self.var_declaration( + 632 => self.let_declaration_opt_0(&children[0]), + 633 => self.let_declaration_opt_1(), + 634 => self.var_declaration( &children[0], &children[1], &children[2], @@ -35062,9 +35343,9 @@ impl<'t> UserActionsTrait<'t> for VerylGrammarAuto<'t, '_> { &children[4], &children[5], ), - 628 => self.var_declaration_opt_0(&children[0]), - 629 => self.var_declaration_opt_1(), - 630 => self.const_declaration( + 635 => self.var_declaration_opt_0(&children[0]), + 636 => self.var_declaration_opt_1(), + 637 => self.const_declaration( &children[0], &children[1], &children[2], @@ -35073,52 +35354,52 @@ impl<'t> UserActionsTrait<'t> for VerylGrammarAuto<'t, '_> { &children[5], &children[6], ), - 631 => self.const_declaration_group_0(&children[0]), - 632 => self.const_declaration_group_1(&children[0]), - 633 => self.type_def_declaration( + 638 => self.const_declaration_group_0(&children[0]), + 639 => self.const_declaration_group_1(&children[0]), + 640 => self.type_def_declaration( &children[0], &children[1], &children[2], &children[3], &children[4], ), - 634 => self.always_ff_declaration(&children[0], &children[1], &children[2]), - 635 => self.always_ff_declaration_opt_0(&children[0]), - 636 => self.always_ff_declaration_opt_1(), - 637 => { + 641 => self.always_ff_declaration(&children[0], &children[1], &children[2]), + 642 => self.always_ff_declaration_opt_0(&children[0]), + 643 => self.always_ff_declaration_opt_1(), + 644 => { self.alwayf_ff_event_list(&children[0], &children[1], &children[2], &children[3]) } - 638 => self.alwayf_ff_event_list_opt_0(&children[0], &children[1]), - 639 => self.alwayf_ff_event_list_opt_1(), - 640 => self.always_ff_clock(&children[0]), - 641 => self.always_ff_reset(&children[0]), - 642 => self.always_comb_declaration(&children[0], &children[1]), - 643 => self.assign_declaration( + 645 => self.alwayf_ff_event_list_opt_0(&children[0], &children[1]), + 646 => self.alwayf_ff_event_list_opt_1(), + 647 => self.always_ff_clock(&children[0]), + 648 => self.always_ff_reset(&children[0]), + 649 => self.always_comb_declaration(&children[0], &children[1]), + 650 => self.assign_declaration( &children[0], &children[1], &children[2], &children[3], &children[4], ), - 644 => self.modport_declaration( + 651 => self.modport_declaration( &children[0], &children[1], &children[2], &children[3], &children[4], ), - 645 => self.modport_list(&children[0], &children[1], &children[2]), - 646 => self.modport_list_list_0(&children[0], &children[1], &children[2]), - 647 => self.modport_list_list_1(), - 648 => self.modport_list_opt_0(&children[0]), - 649 => self.modport_list_opt_1(), - 650 => self.modport_group(&children[0], &children[1]), - 651 => self.modport_group_group_0(&children[0], &children[1], &children[2]), - 652 => self.modport_group_group_1(&children[0]), - 653 => self.modport_group_list_0(&children[0], &children[1]), - 654 => self.modport_group_list_1(), - 655 => self.modport_item(&children[0], &children[1], &children[2]), - 656 => self.enum_declaration( + 652 => self.modport_list(&children[0], &children[1], &children[2]), + 653 => self.modport_list_list_0(&children[0], &children[1], &children[2]), + 654 => self.modport_list_list_1(), + 655 => self.modport_list_opt_0(&children[0]), + 656 => self.modport_list_opt_1(), + 657 => self.modport_group(&children[0], &children[1]), + 658 => self.modport_group_group_0(&children[0], &children[1], &children[2]), + 659 => self.modport_group_group_1(&children[0]), + 660 => self.modport_group_list_0(&children[0], &children[1]), + 661 => self.modport_group_list_1(), + 662 => self.modport_item(&children[0], &children[1], &children[2]), + 663 => self.enum_declaration( &children[0], &children[1], &children[2], @@ -35126,24 +35407,24 @@ impl<'t> UserActionsTrait<'t> for VerylGrammarAuto<'t, '_> { &children[4], &children[5], ), - 657 => self.enum_declaration_opt_0(&children[0], &children[1]), - 658 => self.enum_declaration_opt_1(), - 659 => self.enum_list(&children[0], &children[1], &children[2]), - 660 => self.enum_list_list_0(&children[0], &children[1], &children[2]), - 661 => self.enum_list_list_1(), - 662 => self.enum_list_opt_0(&children[0]), - 663 => self.enum_list_opt_1(), - 664 => self.enum_group(&children[0], &children[1]), - 665 => self.enum_group_group_0(&children[0], &children[1], &children[2]), - 666 => self.enum_group_group_1(&children[0]), - 667 => self.enum_group_list_0(&children[0], &children[1]), - 668 => self.enum_group_list_1(), - 669 => self.enum_item(&children[0], &children[1]), - 670 => self.enum_item_opt_0(&children[0], &children[1]), - 671 => self.enum_item_opt_1(), - 672 => self.struct_union_0(&children[0]), - 673 => self.struct_union_1(&children[0]), - 674 => self.struct_union_declaration( + 664 => self.enum_declaration_opt_0(&children[0], &children[1]), + 665 => self.enum_declaration_opt_1(), + 666 => self.enum_list(&children[0], &children[1], &children[2]), + 667 => self.enum_list_list_0(&children[0], &children[1], &children[2]), + 668 => self.enum_list_list_1(), + 669 => self.enum_list_opt_0(&children[0]), + 670 => self.enum_list_opt_1(), + 671 => self.enum_group(&children[0], &children[1]), + 672 => self.enum_group_group_0(&children[0], &children[1], &children[2]), + 673 => self.enum_group_group_1(&children[0]), + 674 => self.enum_group_list_0(&children[0], &children[1]), + 675 => self.enum_group_list_1(), + 676 => self.enum_item(&children[0], &children[1]), + 677 => self.enum_item_opt_0(&children[0], &children[1]), + 678 => self.enum_item_opt_1(), + 679 => self.struct_union_0(&children[0]), + 680 => self.struct_union_1(&children[0]), + 681 => self.struct_union_declaration( &children[0], &children[1], &children[2], @@ -35151,22 +35432,22 @@ impl<'t> UserActionsTrait<'t> for VerylGrammarAuto<'t, '_> { &children[4], &children[5], ), - 675 => self.struct_union_declaration_opt_0(&children[0]), - 676 => self.struct_union_declaration_opt_1(), - 677 => self.struct_union_list(&children[0], &children[1], &children[2]), - 678 => self.struct_union_list_list_0(&children[0], &children[1], &children[2]), - 679 => self.struct_union_list_list_1(), - 680 => self.struct_union_list_opt_0(&children[0]), - 681 => self.struct_union_list_opt_1(), - 682 => self.struct_union_group(&children[0], &children[1]), - 683 => self.struct_union_group_group_0(&children[0], &children[1], &children[2]), - 684 => self.struct_union_group_group_1(&children[0]), - 685 => self.struct_union_group_list_0(&children[0], &children[1]), - 686 => self.struct_union_group_list_1(), - 687 => self.struct_union_item(&children[0], &children[1], &children[2]), - 688 => self.initial_declaration(&children[0], &children[1]), - 689 => self.final_declaration(&children[0], &children[1]), - 690 => self.inst_declaration( + 682 => self.struct_union_declaration_opt_0(&children[0]), + 683 => self.struct_union_declaration_opt_1(), + 684 => self.struct_union_list(&children[0], &children[1], &children[2]), + 685 => self.struct_union_list_list_0(&children[0], &children[1], &children[2]), + 686 => self.struct_union_list_list_1(), + 687 => self.struct_union_list_opt_0(&children[0]), + 688 => self.struct_union_list_opt_1(), + 689 => self.struct_union_group(&children[0], &children[1]), + 690 => self.struct_union_group_group_0(&children[0], &children[1], &children[2]), + 691 => self.struct_union_group_group_1(&children[0]), + 692 => self.struct_union_group_list_0(&children[0], &children[1]), + 693 => self.struct_union_group_list_1(), + 694 => self.struct_union_item(&children[0], &children[1], &children[2]), + 695 => self.initial_declaration(&children[0], &children[1]), + 696 => self.final_declaration(&children[0], &children[1]), + 697 => self.inst_declaration( &children[0], &children[1], &children[2], @@ -35176,57 +35457,57 @@ impl<'t> UserActionsTrait<'t> for VerylGrammarAuto<'t, '_> { &children[6], &children[7], ), - 691 => self.inst_declaration_opt1_0(&children[0], &children[1], &children[2]), - 692 => self.inst_declaration_opt2_0(&children[0]), - 693 => self.inst_declaration_opt2_1(), - 694 => self.inst_declaration_opt1_1(), - 695 => self.inst_declaration_opt0_0(&children[0]), - 696 => self.inst_declaration_opt0_1(), - 697 => self.inst_declaration_opt_0(&children[0]), - 698 => self.inst_declaration_opt_1(), - 699 => self.inst_parameter(&children[0], &children[1], &children[2], &children[3]), - 700 => self.inst_parameter_opt_0(&children[0]), - 701 => self.inst_parameter_opt_1(), - 702 => self.inst_parameter_list(&children[0], &children[1], &children[2]), - 703 => self.inst_parameter_list_list_0(&children[0], &children[1], &children[2]), - 704 => self.inst_parameter_list_list_1(), - 705 => self.inst_parameter_list_opt_0(&children[0]), - 706 => self.inst_parameter_list_opt_1(), - 707 => self.inst_parameter_group(&children[0], &children[1]), - 708 => self.inst_parameter_group_group_0(&children[0], &children[1], &children[2]), - 709 => self.inst_parameter_group_group_1(&children[0]), - 710 => self.inst_parameter_group_list_0(&children[0], &children[1]), - 711 => self.inst_parameter_group_list_1(), - 712 => self.inst_parameter_item(&children[0], &children[1]), - 713 => self.inst_parameter_item_opt_0(&children[0], &children[1]), - 714 => self.inst_parameter_item_opt_1(), - 715 => self.inst_port_list(&children[0], &children[1], &children[2]), - 716 => self.inst_port_list_list_0(&children[0], &children[1], &children[2]), - 717 => self.inst_port_list_list_1(), - 718 => self.inst_port_list_opt_0(&children[0]), - 719 => self.inst_port_list_opt_1(), - 720 => self.inst_port_group(&children[0], &children[1]), - 721 => self.inst_port_group_group_0(&children[0], &children[1], &children[2]), - 722 => self.inst_port_group_group_1(&children[0]), - 723 => self.inst_port_group_list_0(&children[0], &children[1]), - 724 => self.inst_port_group_list_1(), - 725 => self.inst_port_item(&children[0], &children[1]), - 726 => self.inst_port_item_opt_0(&children[0], &children[1]), - 727 => self.inst_port_item_opt_1(), - 728 => self.with_parameter(&children[0], &children[1], &children[2], &children[3]), - 729 => self.with_parameter_opt_0(&children[0]), - 730 => self.with_parameter_opt_1(), - 731 => self.with_parameter_list(&children[0], &children[1], &children[2]), - 732 => self.with_parameter_list_list_0(&children[0], &children[1], &children[2]), - 733 => self.with_parameter_list_list_1(), - 734 => self.with_parameter_list_opt_0(&children[0]), - 735 => self.with_parameter_list_opt_1(), - 736 => self.with_parameter_group(&children[0], &children[1]), - 737 => self.with_parameter_group_group_0(&children[0], &children[1], &children[2]), - 738 => self.with_parameter_group_group_1(&children[0]), - 739 => self.with_parameter_group_list_0(&children[0], &children[1]), - 740 => self.with_parameter_group_list_1(), - 741 => self.with_parameter_item( + 698 => self.inst_declaration_opt1_0(&children[0], &children[1], &children[2]), + 699 => self.inst_declaration_opt2_0(&children[0]), + 700 => self.inst_declaration_opt2_1(), + 701 => self.inst_declaration_opt1_1(), + 702 => self.inst_declaration_opt0_0(&children[0]), + 703 => self.inst_declaration_opt0_1(), + 704 => self.inst_declaration_opt_0(&children[0]), + 705 => self.inst_declaration_opt_1(), + 706 => self.inst_parameter(&children[0], &children[1], &children[2], &children[3]), + 707 => self.inst_parameter_opt_0(&children[0]), + 708 => self.inst_parameter_opt_1(), + 709 => self.inst_parameter_list(&children[0], &children[1], &children[2]), + 710 => self.inst_parameter_list_list_0(&children[0], &children[1], &children[2]), + 711 => self.inst_parameter_list_list_1(), + 712 => self.inst_parameter_list_opt_0(&children[0]), + 713 => self.inst_parameter_list_opt_1(), + 714 => self.inst_parameter_group(&children[0], &children[1]), + 715 => self.inst_parameter_group_group_0(&children[0], &children[1], &children[2]), + 716 => self.inst_parameter_group_group_1(&children[0]), + 717 => self.inst_parameter_group_list_0(&children[0], &children[1]), + 718 => self.inst_parameter_group_list_1(), + 719 => self.inst_parameter_item(&children[0], &children[1]), + 720 => self.inst_parameter_item_opt_0(&children[0], &children[1]), + 721 => self.inst_parameter_item_opt_1(), + 722 => self.inst_port_list(&children[0], &children[1], &children[2]), + 723 => self.inst_port_list_list_0(&children[0], &children[1], &children[2]), + 724 => self.inst_port_list_list_1(), + 725 => self.inst_port_list_opt_0(&children[0]), + 726 => self.inst_port_list_opt_1(), + 727 => self.inst_port_group(&children[0], &children[1]), + 728 => self.inst_port_group_group_0(&children[0], &children[1], &children[2]), + 729 => self.inst_port_group_group_1(&children[0]), + 730 => self.inst_port_group_list_0(&children[0], &children[1]), + 731 => self.inst_port_group_list_1(), + 732 => self.inst_port_item(&children[0], &children[1]), + 733 => self.inst_port_item_opt_0(&children[0], &children[1]), + 734 => self.inst_port_item_opt_1(), + 735 => self.with_parameter(&children[0], &children[1], &children[2], &children[3]), + 736 => self.with_parameter_opt_0(&children[0]), + 737 => self.with_parameter_opt_1(), + 738 => self.with_parameter_list(&children[0], &children[1], &children[2]), + 739 => self.with_parameter_list_list_0(&children[0], &children[1], &children[2]), + 740 => self.with_parameter_list_list_1(), + 741 => self.with_parameter_list_opt_0(&children[0]), + 742 => self.with_parameter_list_opt_1(), + 743 => self.with_parameter_group(&children[0], &children[1]), + 744 => self.with_parameter_group_group_0(&children[0], &children[1], &children[2]), + 745 => self.with_parameter_group_group_1(&children[0]), + 746 => self.with_parameter_group_list_0(&children[0], &children[1]), + 747 => self.with_parameter_group_list_1(), + 748 => self.with_parameter_item( &children[0], &children[1], &children[2], @@ -35234,70 +35515,70 @@ impl<'t> UserActionsTrait<'t> for VerylGrammarAuto<'t, '_> { &children[4], &children[5], ), - 742 => self.with_parameter_item_group0_0(&children[0]), - 743 => self.with_parameter_item_group0_1(&children[0]), - 744 => self.with_parameter_item_group_0(&children[0]), - 745 => self.with_parameter_item_group_1(&children[0]), - 746 => self.generic_bound_0(&children[0]), - 747 => self.generic_bound_1(&children[0]), - 748 => self.generic_bound_2(&children[0]), - 749 => self.with_generic_parameter(&children[0], &children[1], &children[2]), - 750 => self.with_generic_parameter_list(&children[0], &children[1], &children[2]), - 751 => { + 749 => self.with_parameter_item_group0_0(&children[0]), + 750 => self.with_parameter_item_group0_1(&children[0]), + 751 => self.with_parameter_item_group_0(&children[0]), + 752 => self.with_parameter_item_group_1(&children[0]), + 753 => self.generic_bound_0(&children[0]), + 754 => self.generic_bound_1(&children[0]), + 755 => self.generic_bound_2(&children[0]), + 756 => self.with_generic_parameter(&children[0], &children[1], &children[2]), + 757 => self.with_generic_parameter_list(&children[0], &children[1], &children[2]), + 758 => { self.with_generic_parameter_list_list_0(&children[0], &children[1], &children[2]) } - 752 => self.with_generic_parameter_list_list_1(), - 753 => self.with_generic_parameter_list_opt_0(&children[0]), - 754 => self.with_generic_parameter_list_opt_1(), - 755 => self.with_generic_parameter_item( + 759 => self.with_generic_parameter_list_list_1(), + 760 => self.with_generic_parameter_list_opt_0(&children[0]), + 761 => self.with_generic_parameter_list_opt_1(), + 762 => self.with_generic_parameter_item( &children[0], &children[1], &children[2], &children[3], ), - 756 => self.with_generic_parameter_item_opt_0(&children[0], &children[1]), - 757 => self.with_generic_parameter_item_opt_1(), - 758 => self.with_generic_argument(&children[0], &children[1], &children[2]), - 759 => self.with_generic_argument_opt_0(&children[0]), - 760 => self.with_generic_argument_opt_1(), - 761 => self.with_generic_argument_list(&children[0], &children[1], &children[2]), - 762 => self.with_generic_argument_list_list_0(&children[0], &children[1], &children[2]), - 763 => self.with_generic_argument_list_list_1(), - 764 => self.with_generic_argument_list_opt_0(&children[0]), - 765 => self.with_generic_argument_list_opt_1(), - 766 => self.with_generic_argument_item_0(&children[0]), - 767 => self.with_generic_argument_item_1(&children[0]), - 768 => self.port_declaration(&children[0], &children[1], &children[2]), - 769 => self.port_declaration_opt_0(&children[0]), - 770 => self.port_declaration_opt_1(), - 771 => self.port_declaration_list(&children[0], &children[1], &children[2]), - 772 => self.port_declaration_list_list_0(&children[0], &children[1], &children[2]), - 773 => self.port_declaration_list_list_1(), - 774 => self.port_declaration_list_opt_0(&children[0]), - 775 => self.port_declaration_list_opt_1(), - 776 => self.port_declaration_group(&children[0], &children[1]), - 777 => self.port_declaration_group_group_0(&children[0], &children[1], &children[2]), - 778 => self.port_declaration_group_group_1(&children[0]), - 779 => self.port_declaration_group_list_0(&children[0], &children[1]), - 780 => self.port_declaration_group_list_1(), - 781 => self.port_declaration_item(&children[0], &children[1], &children[2]), - 782 => self.port_declaration_item_group_0(&children[0]), - 783 => self.port_declaration_item_group_1(&children[0]), - 784 => self.port_type_concrete(&children[0], &children[1], &children[2]), - 785 => self.port_type_concrete_opt_0(&children[0]), - 786 => self.port_type_concrete_opt_1(), - 787 => self.port_type_abstract(&children[0], &children[1], &children[2]), - 788 => self.port_type_abstract_opt0_0(&children[0]), - 789 => self.port_type_abstract_opt0_1(), - 790 => self.port_type_abstract_opt_0(&children[0]), - 791 => self.port_type_abstract_opt_1(), - 792 => self.direction_0(&children[0]), - 793 => self.direction_1(&children[0]), - 794 => self.direction_2(&children[0]), - 795 => self.direction_3(&children[0]), - 796 => self.direction_4(&children[0]), - 797 => self.direction_5(&children[0]), - 798 => self.function_declaration( + 763 => self.with_generic_parameter_item_opt_0(&children[0], &children[1]), + 764 => self.with_generic_parameter_item_opt_1(), + 765 => self.with_generic_argument(&children[0], &children[1], &children[2]), + 766 => self.with_generic_argument_opt_0(&children[0]), + 767 => self.with_generic_argument_opt_1(), + 768 => self.with_generic_argument_list(&children[0], &children[1], &children[2]), + 769 => self.with_generic_argument_list_list_0(&children[0], &children[1], &children[2]), + 770 => self.with_generic_argument_list_list_1(), + 771 => self.with_generic_argument_list_opt_0(&children[0]), + 772 => self.with_generic_argument_list_opt_1(), + 773 => self.with_generic_argument_item_0(&children[0]), + 774 => self.with_generic_argument_item_1(&children[0]), + 775 => self.port_declaration(&children[0], &children[1], &children[2]), + 776 => self.port_declaration_opt_0(&children[0]), + 777 => self.port_declaration_opt_1(), + 778 => self.port_declaration_list(&children[0], &children[1], &children[2]), + 779 => self.port_declaration_list_list_0(&children[0], &children[1], &children[2]), + 780 => self.port_declaration_list_list_1(), + 781 => self.port_declaration_list_opt_0(&children[0]), + 782 => self.port_declaration_list_opt_1(), + 783 => self.port_declaration_group(&children[0], &children[1]), + 784 => self.port_declaration_group_group_0(&children[0], &children[1], &children[2]), + 785 => self.port_declaration_group_group_1(&children[0]), + 786 => self.port_declaration_group_list_0(&children[0], &children[1]), + 787 => self.port_declaration_group_list_1(), + 788 => self.port_declaration_item(&children[0], &children[1], &children[2]), + 789 => self.port_declaration_item_group_0(&children[0]), + 790 => self.port_declaration_item_group_1(&children[0]), + 791 => self.port_type_concrete(&children[0], &children[1], &children[2]), + 792 => self.port_type_concrete_opt_0(&children[0]), + 793 => self.port_type_concrete_opt_1(), + 794 => self.port_type_abstract(&children[0], &children[1], &children[2]), + 795 => self.port_type_abstract_opt0_0(&children[0]), + 796 => self.port_type_abstract_opt0_1(), + 797 => self.port_type_abstract_opt_0(&children[0]), + 798 => self.port_type_abstract_opt_1(), + 799 => self.direction_0(&children[0]), + 800 => self.direction_1(&children[0]), + 801 => self.direction_2(&children[0]), + 802 => self.direction_3(&children[0]), + 803 => self.direction_4(&children[0]), + 804 => self.direction_5(&children[0]), + 805 => self.function_declaration( &children[0], &children[1], &children[2], @@ -35305,21 +35586,21 @@ impl<'t> UserActionsTrait<'t> for VerylGrammarAuto<'t, '_> { &children[4], &children[5], ), - 799 => self.function_declaration_opt1_0(&children[0], &children[1]), - 800 => self.function_declaration_opt1_1(), - 801 => self.function_declaration_opt0_0(&children[0]), - 802 => self.function_declaration_opt0_1(), - 803 => self.function_declaration_opt_0(&children[0]), - 804 => self.function_declaration_opt_1(), - 805 => self.import_declaration(&children[0], &children[1], &children[2], &children[3]), - 806 => self.import_declaration_opt_0(&children[0], &children[1]), - 807 => self.import_declaration_opt_1(), - 808 => self.export_declaration(&children[0], &children[1], &children[2]), - 809 => self.export_declaration_group_0(&children[0]), - 810 => self.export_declaration_group_1(&children[0], &children[1]), - 811 => self.export_declaration_opt_0(&children[0], &children[1]), - 812 => self.export_declaration_opt_1(), - 813 => self.unsafe_block( + 806 => self.function_declaration_opt1_0(&children[0], &children[1]), + 807 => self.function_declaration_opt1_1(), + 808 => self.function_declaration_opt0_0(&children[0]), + 809 => self.function_declaration_opt0_1(), + 810 => self.function_declaration_opt_0(&children[0]), + 811 => self.function_declaration_opt_1(), + 812 => self.import_declaration(&children[0], &children[1], &children[2], &children[3]), + 813 => self.import_declaration_opt_0(&children[0], &children[1]), + 814 => self.import_declaration_opt_1(), + 815 => self.export_declaration(&children[0], &children[1], &children[2]), + 816 => self.export_declaration_group_0(&children[0]), + 817 => self.export_declaration_group_1(&children[0], &children[1]), + 818 => self.export_declaration_opt_0(&children[0], &children[1]), + 819 => self.export_declaration_opt_1(), + 820 => self.unsafe_block( &children[0], &children[1], &children[2], @@ -35328,9 +35609,9 @@ impl<'t> UserActionsTrait<'t> for VerylGrammarAuto<'t, '_> { &children[5], &children[6], ), - 814 => self.unsafe_block_list_0(&children[0], &children[1]), - 815 => self.unsafe_block_list_1(), - 816 => self.module_declaration( + 821 => self.unsafe_block_list_0(&children[0], &children[1]), + 822 => self.unsafe_block_list_1(), + 823 => self.module_declaration( &children[0], &children[1], &children[2], @@ -35342,27 +35623,27 @@ impl<'t> UserActionsTrait<'t> for VerylGrammarAuto<'t, '_> { &children[8], &children[9], ), - 817 => self.module_declaration_list_0(&children[0], &children[1]), - 818 => self.module_declaration_list_1(), - 819 => self.module_declaration_opt3_0(&children[0]), - 820 => self.module_declaration_opt3_1(), - 821 => self.module_declaration_opt2_0(&children[0]), - 822 => self.module_declaration_opt2_1(), - 823 => self.module_declaration_opt1_0(&children[0], &children[1]), - 824 => self.module_declaration_opt1_1(), - 825 => self.module_declaration_opt0_0(&children[0]), - 826 => self.module_declaration_opt0_1(), - 827 => self.module_declaration_opt_0(&children[0]), - 828 => self.module_declaration_opt_1(), - 829 => self.module_group(&children[0], &children[1]), - 830 => self.module_group_group_0(&children[0], &children[1], &children[2]), - 831 => self.module_group_group_list_0(&children[0], &children[1]), - 832 => self.module_group_group_list_1(), - 833 => self.module_group_group_1(&children[0]), - 834 => self.module_group_list_0(&children[0], &children[1]), - 835 => self.module_group_list_1(), - 836 => self.module_item(&children[0]), - 837 => self.interface_declaration( + 824 => self.module_declaration_list_0(&children[0], &children[1]), + 825 => self.module_declaration_list_1(), + 826 => self.module_declaration_opt3_0(&children[0]), + 827 => self.module_declaration_opt3_1(), + 828 => self.module_declaration_opt2_0(&children[0]), + 829 => self.module_declaration_opt2_1(), + 830 => self.module_declaration_opt1_0(&children[0], &children[1]), + 831 => self.module_declaration_opt1_1(), + 832 => self.module_declaration_opt0_0(&children[0]), + 833 => self.module_declaration_opt0_1(), + 834 => self.module_declaration_opt_0(&children[0]), + 835 => self.module_declaration_opt_1(), + 836 => self.module_group(&children[0], &children[1]), + 837 => self.module_group_group_0(&children[0], &children[1], &children[2]), + 838 => self.module_group_group_list_0(&children[0], &children[1]), + 839 => self.module_group_group_list_1(), + 840 => self.module_group_group_1(&children[0]), + 841 => self.module_group_list_0(&children[0], &children[1]), + 842 => self.module_group_list_1(), + 843 => self.module_item(&children[0]), + 844 => self.interface_declaration( &children[0], &children[1], &children[2], @@ -35372,41 +35653,41 @@ impl<'t> UserActionsTrait<'t> for VerylGrammarAuto<'t, '_> { &children[6], &children[7], ), - 838 => self.interface_declaration_list_0(&children[0], &children[1]), - 839 => self.interface_declaration_list_1(), - 840 => self.interface_declaration_opt1_0(&children[0]), - 841 => self.interface_declaration_opt1_1(), - 842 => self.interface_declaration_opt0_0(&children[0]), - 843 => self.interface_declaration_opt0_1(), - 844 => self.interface_declaration_opt_0(&children[0]), - 845 => self.interface_declaration_opt_1(), - 846 => self.interface_group(&children[0], &children[1]), - 847 => self.interface_group_group_0(&children[0], &children[1], &children[2]), - 848 => self.interface_group_group_list_0(&children[0], &children[1]), - 849 => self.interface_group_group_list_1(), - 850 => self.interface_group_group_1(&children[0]), - 851 => self.interface_group_list_0(&children[0], &children[1]), - 852 => self.interface_group_list_1(), - 853 => self.interface_item_0(&children[0]), - 854 => self.interface_item_1(&children[0]), - 855 => self.generate_if_declaration( + 845 => self.interface_declaration_list_0(&children[0], &children[1]), + 846 => self.interface_declaration_list_1(), + 847 => self.interface_declaration_opt1_0(&children[0]), + 848 => self.interface_declaration_opt1_1(), + 849 => self.interface_declaration_opt0_0(&children[0]), + 850 => self.interface_declaration_opt0_1(), + 851 => self.interface_declaration_opt_0(&children[0]), + 852 => self.interface_declaration_opt_1(), + 853 => self.interface_group(&children[0], &children[1]), + 854 => self.interface_group_group_0(&children[0], &children[1], &children[2]), + 855 => self.interface_group_group_list_0(&children[0], &children[1]), + 856 => self.interface_group_group_list_1(), + 857 => self.interface_group_group_1(&children[0]), + 858 => self.interface_group_list_0(&children[0], &children[1]), + 859 => self.interface_group_list_1(), + 860 => self.interface_item_0(&children[0]), + 861 => self.interface_item_1(&children[0]), + 862 => self.generate_if_declaration( &children[0], &children[1], &children[2], &children[3], &children[4], ), - 856 => self.generate_if_declaration_list_0( + 863 => self.generate_if_declaration_list_0( &children[0], &children[1], &children[2], &children[3], &children[4], ), - 857 => self.generate_if_declaration_list_1(), - 858 => self.generate_if_declaration_opt_0(&children[0], &children[1]), - 859 => self.generate_if_declaration_opt_1(), - 860 => self.generate_for_declaration( + 864 => self.generate_if_declaration_list_1(), + 865 => self.generate_if_declaration_opt_0(&children[0], &children[1]), + 866 => self.generate_if_declaration_opt_1(), + 867 => self.generate_for_declaration( &children[0], &children[1], &children[2], @@ -35414,54 +35695,54 @@ impl<'t> UserActionsTrait<'t> for VerylGrammarAuto<'t, '_> { &children[4], &children[5], ), - 861 => self.generate_for_declaration_opt_0(&children[0], &children[1], &children[2]), - 862 => self.generate_for_declaration_opt_1(), - 863 => self.generate_block_declaration(&children[0]), - 864 => self.generate_named_block( + 868 => self.generate_for_declaration_opt_0(&children[0], &children[1], &children[2]), + 869 => self.generate_for_declaration_opt_1(), + 870 => self.generate_block_declaration(&children[0]), + 871 => self.generate_named_block( &children[0], &children[1], &children[2], &children[3], &children[4], ), - 865 => self.generate_named_block_list_0(&children[0], &children[1]), - 866 => self.generate_named_block_list_1(), - 867 => self.generate_optional_named_block( + 872 => self.generate_named_block_list_0(&children[0], &children[1]), + 873 => self.generate_named_block_list_1(), + 874 => self.generate_optional_named_block( &children[0], &children[1], &children[2], &children[3], ), - 868 => self.generate_optional_named_block_list_0(&children[0], &children[1]), - 869 => self.generate_optional_named_block_list_1(), - 870 => self.generate_optional_named_block_opt_0(&children[0], &children[1]), - 871 => self.generate_optional_named_block_opt_1(), - 872 => self.generate_group(&children[0], &children[1]), - 873 => self.generate_group_group_0(&children[0], &children[1], &children[2]), - 874 => self.generate_group_group_list_0(&children[0], &children[1]), - 875 => self.generate_group_group_list_1(), - 876 => self.generate_group_group_1(&children[0]), - 877 => self.generate_group_list_0(&children[0], &children[1]), - 878 => self.generate_group_list_1(), - 879 => self.generate_item_0(&children[0]), - 880 => self.generate_item_1(&children[0]), - 881 => self.generate_item_2(&children[0]), - 882 => self.generate_item_3(&children[0]), - 883 => self.generate_item_4(&children[0]), - 884 => self.generate_item_5(&children[0]), - 885 => self.generate_item_6(&children[0]), - 886 => self.generate_item_7(&children[0]), - 887 => self.generate_item_8(&children[0]), - 888 => self.generate_item_9(&children[0]), - 889 => self.generate_item_10(&children[0]), - 890 => self.generate_item_11(&children[0]), - 891 => self.generate_item_12(&children[0]), - 892 => self.generate_item_13(&children[0]), - 893 => self.generate_item_14(&children[0]), - 894 => self.generate_item_15(&children[0]), - 895 => self.generate_item_16(&children[0]), - 896 => self.generate_item_17(&children[0]), - 897 => self.package_declaration( + 875 => self.generate_optional_named_block_list_0(&children[0], &children[1]), + 876 => self.generate_optional_named_block_list_1(), + 877 => self.generate_optional_named_block_opt_0(&children[0], &children[1]), + 878 => self.generate_optional_named_block_opt_1(), + 879 => self.generate_group(&children[0], &children[1]), + 880 => self.generate_group_group_0(&children[0], &children[1], &children[2]), + 881 => self.generate_group_group_list_0(&children[0], &children[1]), + 882 => self.generate_group_group_list_1(), + 883 => self.generate_group_group_1(&children[0]), + 884 => self.generate_group_list_0(&children[0], &children[1]), + 885 => self.generate_group_list_1(), + 886 => self.generate_item_0(&children[0]), + 887 => self.generate_item_1(&children[0]), + 888 => self.generate_item_2(&children[0]), + 889 => self.generate_item_3(&children[0]), + 890 => self.generate_item_4(&children[0]), + 891 => self.generate_item_5(&children[0]), + 892 => self.generate_item_6(&children[0]), + 893 => self.generate_item_7(&children[0]), + 894 => self.generate_item_8(&children[0]), + 895 => self.generate_item_9(&children[0]), + 896 => self.generate_item_10(&children[0]), + 897 => self.generate_item_11(&children[0]), + 898 => self.generate_item_12(&children[0]), + 899 => self.generate_item_13(&children[0]), + 900 => self.generate_item_14(&children[0]), + 901 => self.generate_item_15(&children[0]), + 902 => self.generate_item_16(&children[0]), + 903 => self.generate_item_17(&children[0]), + 904 => self.package_declaration( &children[0], &children[1], &children[2], @@ -35470,28 +35751,28 @@ impl<'t> UserActionsTrait<'t> for VerylGrammarAuto<'t, '_> { &children[5], &children[6], ), - 898 => self.package_declaration_list_0(&children[0], &children[1]), - 899 => self.package_declaration_list_1(), - 900 => self.package_declaration_opt0_0(&children[0]), - 901 => self.package_declaration_opt0_1(), - 902 => self.package_declaration_opt_0(&children[0]), - 903 => self.package_declaration_opt_1(), - 904 => self.package_group(&children[0], &children[1]), - 905 => self.package_group_group_0(&children[0], &children[1], &children[2]), - 906 => self.package_group_group_list_0(&children[0], &children[1]), - 907 => self.package_group_group_list_1(), - 908 => self.package_group_group_1(&children[0]), - 909 => self.package_group_list_0(&children[0], &children[1]), - 910 => self.package_group_list_1(), - 911 => self.package_item_0(&children[0]), - 912 => self.package_item_1(&children[0]), - 913 => self.package_item_2(&children[0]), - 914 => self.package_item_3(&children[0]), - 915 => self.package_item_4(&children[0]), - 916 => self.package_item_5(&children[0]), - 917 => self.package_item_6(&children[0]), - 918 => self.package_item_7(&children[0]), - 919 => self.proto_module_declaration( + 905 => self.package_declaration_list_0(&children[0], &children[1]), + 906 => self.package_declaration_list_1(), + 907 => self.package_declaration_opt0_0(&children[0]), + 908 => self.package_declaration_opt0_1(), + 909 => self.package_declaration_opt_0(&children[0]), + 910 => self.package_declaration_opt_1(), + 911 => self.package_group(&children[0], &children[1]), + 912 => self.package_group_group_0(&children[0], &children[1], &children[2]), + 913 => self.package_group_group_list_0(&children[0], &children[1]), + 914 => self.package_group_group_list_1(), + 915 => self.package_group_group_1(&children[0]), + 916 => self.package_group_list_0(&children[0], &children[1]), + 917 => self.package_group_list_1(), + 918 => self.package_item_0(&children[0]), + 919 => self.package_item_1(&children[0]), + 920 => self.package_item_2(&children[0]), + 921 => self.package_item_3(&children[0]), + 922 => self.package_item_4(&children[0]), + 923 => self.package_item_5(&children[0]), + 924 => self.package_item_6(&children[0]), + 925 => self.package_item_7(&children[0]), + 926 => self.proto_module_declaration( &children[0], &children[1], &children[2], @@ -35500,13 +35781,13 @@ impl<'t> UserActionsTrait<'t> for VerylGrammarAuto<'t, '_> { &children[5], &children[6], ), - 920 => self.proto_module_declaration_opt1_0(&children[0]), - 921 => self.proto_module_declaration_opt1_1(), - 922 => self.proto_module_declaration_opt0_0(&children[0]), - 923 => self.proto_module_declaration_opt0_1(), - 924 => self.proto_module_declaration_opt_0(&children[0]), - 925 => self.proto_module_declaration_opt_1(), - 926 => self.embed_declaration( + 927 => self.proto_module_declaration_opt1_0(&children[0]), + 928 => self.proto_module_declaration_opt1_1(), + 929 => self.proto_module_declaration_opt0_0(&children[0]), + 930 => self.proto_module_declaration_opt0_1(), + 931 => self.proto_module_declaration_opt_0(&children[0]), + 932 => self.proto_module_declaration_opt_1(), + 933 => self.embed_declaration( &children[0], &children[1], &children[2], @@ -35514,8 +35795,8 @@ impl<'t> UserActionsTrait<'t> for VerylGrammarAuto<'t, '_> { &children[4], &children[5], ), - 927 => self.embed_content(&children[0]), - 928 => self.embed_content_token( + 934 => self.embed_content(&children[0]), + 935 => self.embed_content_token( &children[0], &children[1], &children[2], @@ -35525,13 +35806,13 @@ impl<'t> UserActionsTrait<'t> for VerylGrammarAuto<'t, '_> { &children[6], &children[7], ), - 929 => self.embed_content_token_list_0(&children[0], &children[1]), - 930 => self.embed_content_token_list_1(), - 931 => self.embed_item_0(&children[0], &children[1], &children[2]), - 932 => self.embed_item_list_0(&children[0], &children[1]), - 933 => self.embed_item_list_1(), - 934 => self.embed_item_1(&children[0]), - 935 => self.include_declaration( + 936 => self.embed_content_token_list_0(&children[0], &children[1]), + 937 => self.embed_content_token_list_1(), + 938 => self.embed_item_0(&children[0], &children[1], &children[2]), + 939 => self.embed_item_list_0(&children[0], &children[1]), + 940 => self.embed_item_list_1(), + 941 => self.embed_item_1(&children[0]), + 942 => self.include_declaration( &children[0], &children[1], &children[2], @@ -35540,23 +35821,23 @@ impl<'t> UserActionsTrait<'t> for VerylGrammarAuto<'t, '_> { &children[5], &children[6], ), - 936 => self.description_group(&children[0], &children[1]), - 937 => self.description_group_group_0(&children[0], &children[1], &children[2]), - 938 => self.description_group_group_list_0(&children[0], &children[1]), - 939 => self.description_group_group_list_1(), - 940 => self.description_group_group_1(&children[0]), - 941 => self.description_group_list_0(&children[0], &children[1]), - 942 => self.description_group_list_1(), - 943 => self.description_item_0(&children[0]), - 944 => self.description_item_1(&children[0]), - 945 => self.description_item_2(&children[0]), - 946 => self.description_item_3(&children[0]), - 947 => self.description_item_4(&children[0]), - 948 => self.description_item_5(&children[0]), - 949 => self.description_item_6(&children[0]), - 950 => self.veryl(&children[0], &children[1]), - 951 => self.veryl_list_0(&children[0], &children[1]), - 952 => self.veryl_list_1(), + 943 => self.description_group(&children[0], &children[1]), + 944 => self.description_group_group_0(&children[0], &children[1], &children[2]), + 945 => self.description_group_group_list_0(&children[0], &children[1]), + 946 => self.description_group_group_list_1(), + 947 => self.description_group_group_1(&children[0]), + 948 => self.description_group_list_0(&children[0], &children[1]), + 949 => self.description_group_list_1(), + 950 => self.description_item_0(&children[0]), + 951 => self.description_item_1(&children[0]), + 952 => self.description_item_2(&children[0]), + 953 => self.description_item_3(&children[0]), + 954 => self.description_item_4(&children[0]), + 955 => self.description_item_5(&children[0]), + 956 => self.description_item_6(&children[0]), + 957 => self.veryl(&children[0], &children[1]), + 958 => self.veryl_list_0(&children[0], &children[1]), + 959 => self.veryl_list_1(), _ => Err(ParserError::InternalError(format!( "Unhandled production number: {}", prod_num diff --git a/crates/parser/src/generated/veryl_parser.rs b/crates/parser/src/generated/veryl_parser.rs index 19e37334..c482c988 100644 --- a/crates/parser/src/generated/veryl_parser.rs +++ b/crates/parser/src/generated/veryl_parser.rs @@ -515,7 +515,7 @@ const SCANNER_2: (&[&str; 5], &[TerminalIndex; 96]) = ( const MAX_K: usize = 3; -pub const NON_TERMINALS: &[&str; 668] = &[ +pub const NON_TERMINALS: &[&str; 672] = &[ /* 0 */ "AllBit", /* 1 */ "AllBitTerm", /* 2 */ "AllBitToken", @@ -1087,106 +1087,110 @@ pub const NON_TERMINALS: &[&str; 668] = &[ /* 568 */ "StartToken", /* 569 */ "Statement", /* 570 */ "StatementBlock", - /* 571 */ "StatementBlockItem", - /* 572 */ "StatementBlockList", - /* 573 */ "Step", - /* 574 */ "StepTerm", - /* 575 */ "StepToken", - /* 576 */ "Strin", - /* 577 */ "StringLiteral", - /* 578 */ "StringLiteralTerm", - /* 579 */ "StringLiteralToken", - /* 580 */ "StringTerm", - /* 581 */ "StringToken", - /* 582 */ "Struct", - /* 583 */ "StructTerm", - /* 584 */ "StructToken", - /* 585 */ "StructUnion", - /* 586 */ "StructUnionDeclaration", - /* 587 */ "StructUnionDeclarationOpt", - /* 588 */ "StructUnionGroup", - /* 589 */ "StructUnionGroupGroup", - /* 590 */ "StructUnionGroupList", - /* 591 */ "StructUnionItem", - /* 592 */ "StructUnionList", - /* 593 */ "StructUnionListList", - /* 594 */ "StructUnionListOpt", - /* 595 */ "Switch", - /* 596 */ "SwitchCondition", - /* 597 */ "SwitchConditionList", - /* 598 */ "SwitchExpression", - /* 599 */ "SwitchExpressionList", - /* 600 */ "SwitchExpressionOpt", - /* 601 */ "SwitchItem", - /* 602 */ "SwitchItemGroup", - /* 603 */ "SwitchItemGroup0", - /* 604 */ "SwitchStatement", - /* 605 */ "SwitchStatementList", - /* 606 */ "SwitchTerm", - /* 607 */ "SwitchToken", - /* 608 */ "Tri", - /* 609 */ "TriTerm", - /* 610 */ "TriToken", - /* 611 */ "Type", - /* 612 */ "TypeDefDeclaration", - /* 613 */ "TypeExpression", - /* 614 */ "TypeModifier", - /* 615 */ "TypeTerm", - /* 616 */ "TypeToken", - /* 617 */ "U32", - /* 618 */ "U32Term", - /* 619 */ "U32Token", - /* 620 */ "U64", - /* 621 */ "U64Term", - /* 622 */ "U64Token", - /* 623 */ "UnaryOperator", - /* 624 */ "UnaryOperatorTerm", - /* 625 */ "UnaryOperatorToken", - /* 626 */ "Union", - /* 627 */ "UnionTerm", - /* 628 */ "UnionToken", - /* 629 */ "Unsafe", - /* 630 */ "UnsafeBlock", - /* 631 */ "UnsafeBlockList", - /* 632 */ "UnsafeTerm", - /* 633 */ "UnsafeToken", - /* 634 */ "UserDefinedType", - /* 635 */ "Var", - /* 636 */ "VarDeclaration", - /* 637 */ "VarDeclarationOpt", - /* 638 */ "VarTerm", - /* 639 */ "VarToken", - /* 640 */ "VariableType", - /* 641 */ "Veryl", - /* 642 */ "VerylList", - /* 643 */ "Width", - /* 644 */ "WidthList", - /* 645 */ "WithGenericArgument", - /* 646 */ "WithGenericArgumentItem", - /* 647 */ "WithGenericArgumentList", - /* 648 */ "WithGenericArgumentListList", - /* 649 */ "WithGenericArgumentListOpt", - /* 650 */ "WithGenericArgumentOpt", - /* 651 */ "WithGenericParameter", - /* 652 */ "WithGenericParameterItem", - /* 653 */ "WithGenericParameterItemOpt", - /* 654 */ "WithGenericParameterList", - /* 655 */ "WithGenericParameterListList", - /* 656 */ "WithGenericParameterListOpt", - /* 657 */ "WithParameter", - /* 658 */ "WithParameterGroup", - /* 659 */ "WithParameterGroupGroup", - /* 660 */ "WithParameterGroupList", - /* 661 */ "WithParameterItem", - /* 662 */ "WithParameterItemGroup", - /* 663 */ "WithParameterItemGroup0", - /* 664 */ "WithParameterList", - /* 665 */ "WithParameterListList", - /* 666 */ "WithParameterListOpt", - /* 667 */ "WithParameterOpt", + /* 571 */ "StatementBlockGroup", + /* 572 */ "StatementBlockGroupGroup", + /* 573 */ "StatementBlockGroupGroupList", + /* 574 */ "StatementBlockGroupList", + /* 575 */ "StatementBlockItem", + /* 576 */ "StatementBlockList", + /* 577 */ "Step", + /* 578 */ "StepTerm", + /* 579 */ "StepToken", + /* 580 */ "Strin", + /* 581 */ "StringLiteral", + /* 582 */ "StringLiteralTerm", + /* 583 */ "StringLiteralToken", + /* 584 */ "StringTerm", + /* 585 */ "StringToken", + /* 586 */ "Struct", + /* 587 */ "StructTerm", + /* 588 */ "StructToken", + /* 589 */ "StructUnion", + /* 590 */ "StructUnionDeclaration", + /* 591 */ "StructUnionDeclarationOpt", + /* 592 */ "StructUnionGroup", + /* 593 */ "StructUnionGroupGroup", + /* 594 */ "StructUnionGroupList", + /* 595 */ "StructUnionItem", + /* 596 */ "StructUnionList", + /* 597 */ "StructUnionListList", + /* 598 */ "StructUnionListOpt", + /* 599 */ "Switch", + /* 600 */ "SwitchCondition", + /* 601 */ "SwitchConditionList", + /* 602 */ "SwitchExpression", + /* 603 */ "SwitchExpressionList", + /* 604 */ "SwitchExpressionOpt", + /* 605 */ "SwitchItem", + /* 606 */ "SwitchItemGroup", + /* 607 */ "SwitchItemGroup0", + /* 608 */ "SwitchStatement", + /* 609 */ "SwitchStatementList", + /* 610 */ "SwitchTerm", + /* 611 */ "SwitchToken", + /* 612 */ "Tri", + /* 613 */ "TriTerm", + /* 614 */ "TriToken", + /* 615 */ "Type", + /* 616 */ "TypeDefDeclaration", + /* 617 */ "TypeExpression", + /* 618 */ "TypeModifier", + /* 619 */ "TypeTerm", + /* 620 */ "TypeToken", + /* 621 */ "U32", + /* 622 */ "U32Term", + /* 623 */ "U32Token", + /* 624 */ "U64", + /* 625 */ "U64Term", + /* 626 */ "U64Token", + /* 627 */ "UnaryOperator", + /* 628 */ "UnaryOperatorTerm", + /* 629 */ "UnaryOperatorToken", + /* 630 */ "Union", + /* 631 */ "UnionTerm", + /* 632 */ "UnionToken", + /* 633 */ "Unsafe", + /* 634 */ "UnsafeBlock", + /* 635 */ "UnsafeBlockList", + /* 636 */ "UnsafeTerm", + /* 637 */ "UnsafeToken", + /* 638 */ "UserDefinedType", + /* 639 */ "Var", + /* 640 */ "VarDeclaration", + /* 641 */ "VarDeclarationOpt", + /* 642 */ "VarTerm", + /* 643 */ "VarToken", + /* 644 */ "VariableType", + /* 645 */ "Veryl", + /* 646 */ "VerylList", + /* 647 */ "Width", + /* 648 */ "WidthList", + /* 649 */ "WithGenericArgument", + /* 650 */ "WithGenericArgumentItem", + /* 651 */ "WithGenericArgumentList", + /* 652 */ "WithGenericArgumentListList", + /* 653 */ "WithGenericArgumentListOpt", + /* 654 */ "WithGenericArgumentOpt", + /* 655 */ "WithGenericParameter", + /* 656 */ "WithGenericParameterItem", + /* 657 */ "WithGenericParameterItemOpt", + /* 658 */ "WithGenericParameterList", + /* 659 */ "WithGenericParameterListList", + /* 660 */ "WithGenericParameterListOpt", + /* 661 */ "WithParameter", + /* 662 */ "WithParameterGroup", + /* 663 */ "WithParameterGroupGroup", + /* 664 */ "WithParameterGroupList", + /* 665 */ "WithParameterItem", + /* 666 */ "WithParameterItemGroup", + /* 667 */ "WithParameterItemGroup0", + /* 668 */ "WithParameterList", + /* 669 */ "WithParameterListList", + /* 670 */ "WithParameterListOpt", + /* 671 */ "WithParameterOpt", ]; -pub const LOOKAHEAD_AUTOMATA: &[LookaheadDFA; 668] = &[ +pub const LOOKAHEAD_AUTOMATA: &[LookaheadDFA; 672] = &[ /* 0 - "AllBit" */ LookaheadDFA { prod0: 234, @@ -1207,14 +1211,14 @@ pub const LOOKAHEAD_AUTOMATA: &[LookaheadDFA; 668] = &[ }, /* 3 - "AlwayfFfEventList" */ LookaheadDFA { - prod0: 637, + prod0: 644, transitions: &[], k: 0, }, /* 4 - "AlwayfFfEventListOpt" */ LookaheadDFA { prod0: -1, - transitions: &[Trans(0, 32, 1, 638), Trans(0, 46, 2, 639)], + transitions: &[Trans(0, 32, 1, 645), Trans(0, 46, 2, 646)], k: 1, }, /* 5 - "AlwaysComb" */ @@ -1225,7 +1229,7 @@ pub const LOOKAHEAD_AUTOMATA: &[LookaheadDFA; 668] = &[ }, /* 6 - "AlwaysCombDeclaration" */ LookaheadDFA { - prod0: 642, + prod0: 649, transitions: &[], k: 0, }, @@ -1249,25 +1253,25 @@ pub const LOOKAHEAD_AUTOMATA: &[LookaheadDFA; 668] = &[ }, /* 10 - "AlwaysFfClock" */ LookaheadDFA { - prod0: 640, + prod0: 647, transitions: &[], k: 0, }, /* 11 - "AlwaysFfDeclaration" */ LookaheadDFA { - prod0: 634, + prod0: 641, transitions: &[], k: 0, }, /* 12 - "AlwaysFfDeclarationOpt" */ LookaheadDFA { prod0: -1, - transitions: &[Trans(0, 40, 2, 636), Trans(0, 42, 1, 635)], + transitions: &[Trans(0, 40, 2, 643), Trans(0, 42, 1, 642)], k: 1, }, /* 13 - "AlwaysFfReset" */ LookaheadDFA { - prod0: 641, + prod0: 648, transitions: &[], k: 0, }, @@ -3083,7 +3087,7 @@ pub const LOOKAHEAD_AUTOMATA: &[LookaheadDFA; 668] = &[ }, /* 35 - "AssignDeclaration" */ LookaheadDFA { - prod0: 643, + prod0: 650, transitions: &[], k: 0, }, @@ -3101,14 +3105,14 @@ pub const LOOKAHEAD_AUTOMATA: &[LookaheadDFA; 668] = &[ }, /* 38 - "Assignment" */ LookaheadDFA { - prod0: 574, + prod0: 581, transitions: &[], k: 0, }, /* 39 - "AssignmentGroup" */ LookaheadDFA { prod0: -1, - transitions: &[Trans(0, 15, 2, 576), Trans(0, 36, 1, 575)], + transitions: &[Trans(0, 15, 2, 583), Trans(0, 36, 1, 582)], k: 1, }, /* 40 - "AssignmentOperator" */ @@ -3131,19 +3135,19 @@ pub const LOOKAHEAD_AUTOMATA: &[LookaheadDFA; 668] = &[ }, /* 43 - "Attribute" */ LookaheadDFA { - prod0: 614, + prod0: 621, transitions: &[], k: 0, }, /* 44 - "AttributeItem" */ LookaheadDFA { prod0: -1, - transitions: &[Trans(0, 6, 2, 623), Trans(0, 116, 1, 622)], + transitions: &[Trans(0, 6, 2, 630), Trans(0, 116, 1, 629)], k: 1, }, /* 45 - "AttributeList" */ LookaheadDFA { - prod0: 617, + prod0: 624, transitions: &[], k: 0, }, @@ -3157,63 +3161,69 @@ pub const LOOKAHEAD_AUTOMATA: &[LookaheadDFA; 668] = &[ Trans(1, 6, 2, -1), Trans(1, 46, 9, -1), Trans(1, 116, 2, -1), - Trans(2, 5, 3, 618), - Trans(2, 32, 3, 618), - Trans(2, 46, 3, 618), - Trans(4, 6, 3, 618), - Trans(4, 46, 8, 619), - Trans(4, 116, 3, 618), + Trans(2, 5, 3, 625), + Trans(2, 32, 3, 625), + Trans(2, 46, 3, 625), + Trans(4, 6, 3, 625), + Trans(4, 46, 8, 626), + Trans(4, 116, 3, 625), Trans(5, 5, 6, -1), Trans(5, 45, 7, -1), - Trans(6, 45, 8, 619), - Trans(7, 5, 8, 619), - Trans(7, 31, 8, 619), - Trans(7, 37, 8, 619), - Trans(7, 40, 8, 619), - Trans(7, 49, 8, 619), - Trans(7, 50, 8, 619), - Trans(7, 51, 8, 619), - Trans(7, 58, 8, 619), - Trans(7, 61, 8, 619), - Trans(7, 62, 8, 619), - Trans(7, 63, 8, 619), - Trans(7, 66, 8, 619), - Trans(7, 67, 8, 619), - Trans(7, 68, 8, 619), - Trans(7, 72, 8, 619), - Trans(7, 73, 8, 619), - Trans(7, 74, 8, 619), - Trans(7, 75, 8, 619), - Trans(7, 79, 8, 619), - Trans(7, 80, 8, 619), - Trans(7, 82, 8, 619), - Trans(7, 85, 8, 619), - Trans(7, 86, 8, 619), - Trans(7, 90, 8, 619), - Trans(7, 91, 8, 619), - Trans(7, 92, 8, 619), - Trans(7, 93, 8, 619), - Trans(7, 106, 8, 619), - Trans(7, 109, 8, 619), - Trans(7, 112, 8, 619), - Trans(7, 113, 8, 619), - Trans(7, 114, 8, 619), - Trans(7, 116, 8, 619), - Trans(9, 5, 8, 619), - Trans(9, 45, 8, 619), + Trans(6, 45, 8, 626), + Trans(7, 5, 8, 626), + Trans(7, 31, 8, 626), + Trans(7, 37, 8, 626), + Trans(7, 40, 8, 626), + Trans(7, 49, 8, 626), + Trans(7, 50, 8, 626), + Trans(7, 51, 8, 626), + Trans(7, 54, 8, 626), + Trans(7, 58, 8, 626), + Trans(7, 61, 8, 626), + Trans(7, 62, 8, 626), + Trans(7, 63, 8, 626), + Trans(7, 66, 8, 626), + Trans(7, 67, 8, 626), + Trans(7, 68, 8, 626), + Trans(7, 71, 8, 626), + Trans(7, 72, 8, 626), + Trans(7, 73, 8, 626), + Trans(7, 74, 8, 626), + Trans(7, 75, 8, 626), + Trans(7, 79, 8, 626), + Trans(7, 80, 8, 626), + Trans(7, 82, 8, 626), + Trans(7, 85, 8, 626), + Trans(7, 86, 8, 626), + Trans(7, 90, 8, 626), + Trans(7, 91, 8, 626), + Trans(7, 92, 8, 626), + Trans(7, 93, 8, 626), + Trans(7, 101, 8, 626), + Trans(7, 102, 8, 626), + Trans(7, 106, 8, 626), + Trans(7, 107, 8, 626), + Trans(7, 109, 8, 626), + Trans(7, 112, 8, 626), + Trans(7, 113, 8, 626), + Trans(7, 114, 8, 626), + Trans(7, 115, 8, 626), + Trans(7, 116, 8, 626), + Trans(9, 5, 8, 626), + Trans(9, 45, 8, 626), ], k: 3, }, /* 47 - "AttributeListOpt" */ LookaheadDFA { prod0: -1, - transitions: &[Trans(0, 32, 1, 620), Trans(0, 46, 2, 621)], + transitions: &[Trans(0, 32, 1, 627), Trans(0, 46, 2, 628)], k: 1, }, /* 48 - "AttributeOpt" */ LookaheadDFA { prod0: -1, - transitions: &[Trans(0, 42, 1, 615), Trans(0, 45, 2, 616)], + transitions: &[Trans(0, 42, 1, 622), Trans(0, 45, 2, 623)], k: 1, }, /* 49 - "BackQuote" */ @@ -3296,7 +3306,7 @@ pub const LOOKAHEAD_AUTOMATA: &[LookaheadDFA; 668] = &[ }, /* 62 - "BreakStatement" */ LookaheadDFA { - prod0: 588, + prod0: 595, transitions: &[], k: 0, }, @@ -3320,14 +3330,14 @@ pub const LOOKAHEAD_AUTOMATA: &[LookaheadDFA; 668] = &[ }, /* 66 - "CaseCondition" */ LookaheadDFA { - prod0: 600, + prod0: 607, transitions: &[], k: 0, }, /* 67 - "CaseConditionList" */ LookaheadDFA { prod0: -1, - transitions: &[Trans(0, 31, 2, 602), Trans(0, 32, 1, 601)], + transitions: &[Trans(0, 31, 2, 609), Trans(0, 32, 1, 608)], k: 1, }, /* 68 - "CaseExpression" */ @@ -3393,7 +3403,7 @@ pub const LOOKAHEAD_AUTOMATA: &[LookaheadDFA; 668] = &[ }, /* 71 - "CaseItem" */ LookaheadDFA { - prod0: 595, + prod0: 602, transitions: &[], k: 0, }, @@ -3401,48 +3411,48 @@ pub const LOOKAHEAD_AUTOMATA: &[LookaheadDFA; 668] = &[ LookaheadDFA { prod0: -1, transitions: &[ - Trans(0, 6, 1, 598), - Trans(0, 7, 1, 598), - Trans(0, 8, 1, 598), - Trans(0, 9, 1, 598), - Trans(0, 10, 1, 598), - Trans(0, 11, 1, 598), - Trans(0, 18, 1, 598), - Trans(0, 24, 1, 598), - Trans(0, 25, 1, 598), - Trans(0, 26, 1, 598), - Trans(0, 27, 1, 598), - Trans(0, 39, 1, 598), - Trans(0, 40, 1, 598), - Trans(0, 42, 1, 598), - Trans(0, 53, 1, 598), - Trans(0, 54, 1, 598), - Trans(0, 55, 1, 598), - Trans(0, 56, 1, 598), - Trans(0, 57, 1, 598), - Trans(0, 59, 2, 599), - Trans(0, 64, 1, 598), - Trans(0, 65, 1, 598), - Trans(0, 69, 1, 598), - Trans(0, 70, 1, 598), - Trans(0, 72, 1, 598), - Trans(0, 78, 1, 598), - Trans(0, 83, 1, 598), - Trans(0, 84, 1, 598), - Trans(0, 87, 1, 598), - Trans(0, 89, 1, 598), - Trans(0, 96, 1, 598), - Trans(0, 97, 1, 598), - Trans(0, 98, 1, 598), - Trans(0, 99, 1, 598), - Trans(0, 100, 1, 598), - Trans(0, 105, 1, 598), - Trans(0, 107, 1, 598), - Trans(0, 109, 1, 598), - Trans(0, 110, 1, 598), - Trans(0, 111, 1, 598), - Trans(0, 115, 1, 598), - Trans(0, 116, 1, 598), + Trans(0, 6, 1, 605), + Trans(0, 7, 1, 605), + Trans(0, 8, 1, 605), + Trans(0, 9, 1, 605), + Trans(0, 10, 1, 605), + Trans(0, 11, 1, 605), + Trans(0, 18, 1, 605), + Trans(0, 24, 1, 605), + Trans(0, 25, 1, 605), + Trans(0, 26, 1, 605), + Trans(0, 27, 1, 605), + Trans(0, 39, 1, 605), + Trans(0, 40, 1, 605), + Trans(0, 42, 1, 605), + Trans(0, 53, 1, 605), + Trans(0, 54, 1, 605), + Trans(0, 55, 1, 605), + Trans(0, 56, 1, 605), + Trans(0, 57, 1, 605), + Trans(0, 59, 2, 606), + Trans(0, 64, 1, 605), + Trans(0, 65, 1, 605), + Trans(0, 69, 1, 605), + Trans(0, 70, 1, 605), + Trans(0, 72, 1, 605), + Trans(0, 78, 1, 605), + Trans(0, 83, 1, 605), + Trans(0, 84, 1, 605), + Trans(0, 87, 1, 605), + Trans(0, 89, 1, 605), + Trans(0, 96, 1, 605), + Trans(0, 97, 1, 605), + Trans(0, 98, 1, 605), + Trans(0, 99, 1, 605), + Trans(0, 100, 1, 605), + Trans(0, 105, 1, 605), + Trans(0, 107, 1, 605), + Trans(0, 109, 1, 605), + Trans(0, 110, 1, 605), + Trans(0, 111, 1, 605), + Trans(0, 115, 1, 605), + Trans(0, 116, 1, 605), ], k: 1, }, @@ -3450,22 +3460,22 @@ pub const LOOKAHEAD_AUTOMATA: &[LookaheadDFA; 668] = &[ LookaheadDFA { prod0: -1, transitions: &[ - Trans(0, 40, 2, 597), - Trans(0, 54, 1, 596), - Trans(0, 67, 1, 596), - Trans(0, 71, 1, 596), - Trans(0, 72, 1, 596), - Trans(0, 101, 1, 596), - Trans(0, 102, 1, 596), - Trans(0, 107, 1, 596), - Trans(0, 115, 1, 596), - Trans(0, 116, 1, 596), + Trans(0, 40, 2, 604), + Trans(0, 54, 1, 603), + Trans(0, 67, 1, 603), + Trans(0, 71, 1, 603), + Trans(0, 72, 1, 603), + Trans(0, 101, 1, 603), + Trans(0, 102, 1, 603), + Trans(0, 107, 1, 603), + Trans(0, 115, 1, 603), + Trans(0, 116, 1, 603), ], k: 1, }, /* 74 - "CaseStatement" */ LookaheadDFA { - prod0: 592, + prod0: 599, transitions: &[], k: 0, }, @@ -3473,49 +3483,49 @@ pub const LOOKAHEAD_AUTOMATA: &[LookaheadDFA; 668] = &[ LookaheadDFA { prod0: -1, transitions: &[ - Trans(0, 6, 1, 593), - Trans(0, 7, 1, 593), - Trans(0, 8, 1, 593), - Trans(0, 9, 1, 593), - Trans(0, 10, 1, 593), - Trans(0, 11, 1, 593), - Trans(0, 18, 1, 593), - Trans(0, 24, 1, 593), - Trans(0, 25, 1, 593), - Trans(0, 26, 1, 593), - Trans(0, 27, 1, 593), - Trans(0, 39, 1, 593), - Trans(0, 40, 1, 593), - Trans(0, 42, 1, 593), - Trans(0, 44, 2, 594), - Trans(0, 53, 1, 593), - Trans(0, 54, 1, 593), - Trans(0, 55, 1, 593), - Trans(0, 56, 1, 593), - Trans(0, 57, 1, 593), - Trans(0, 59, 1, 593), - Trans(0, 64, 1, 593), - Trans(0, 65, 1, 593), - Trans(0, 69, 1, 593), - Trans(0, 70, 1, 593), - Trans(0, 72, 1, 593), - Trans(0, 78, 1, 593), - Trans(0, 83, 1, 593), - Trans(0, 84, 1, 593), - Trans(0, 87, 1, 593), - Trans(0, 89, 1, 593), - Trans(0, 96, 1, 593), - Trans(0, 97, 1, 593), - Trans(0, 98, 1, 593), - Trans(0, 99, 1, 593), - Trans(0, 100, 1, 593), - Trans(0, 105, 1, 593), - Trans(0, 107, 1, 593), - Trans(0, 109, 1, 593), - Trans(0, 110, 1, 593), - Trans(0, 111, 1, 593), - Trans(0, 115, 1, 593), - Trans(0, 116, 1, 593), + Trans(0, 6, 1, 600), + Trans(0, 7, 1, 600), + Trans(0, 8, 1, 600), + Trans(0, 9, 1, 600), + Trans(0, 10, 1, 600), + Trans(0, 11, 1, 600), + Trans(0, 18, 1, 600), + Trans(0, 24, 1, 600), + Trans(0, 25, 1, 600), + Trans(0, 26, 1, 600), + Trans(0, 27, 1, 600), + Trans(0, 39, 1, 600), + Trans(0, 40, 1, 600), + Trans(0, 42, 1, 600), + Trans(0, 44, 2, 601), + Trans(0, 53, 1, 600), + Trans(0, 54, 1, 600), + Trans(0, 55, 1, 600), + Trans(0, 56, 1, 600), + Trans(0, 57, 1, 600), + Trans(0, 59, 1, 600), + Trans(0, 64, 1, 600), + Trans(0, 65, 1, 600), + Trans(0, 69, 1, 600), + Trans(0, 70, 1, 600), + Trans(0, 72, 1, 600), + Trans(0, 78, 1, 600), + Trans(0, 83, 1, 600), + Trans(0, 84, 1, 600), + Trans(0, 87, 1, 600), + Trans(0, 89, 1, 600), + Trans(0, 96, 1, 600), + Trans(0, 97, 1, 600), + Trans(0, 98, 1, 600), + Trans(0, 99, 1, 600), + Trans(0, 100, 1, 600), + Trans(0, 105, 1, 600), + Trans(0, 107, 1, 600), + Trans(0, 109, 1, 600), + Trans(0, 110, 1, 600), + Trans(0, 111, 1, 600), + Trans(0, 115, 1, 600), + Trans(0, 116, 1, 600), ], k: 1, }, @@ -4675,7 +4685,7 @@ pub const LOOKAHEAD_AUTOMATA: &[LookaheadDFA; 668] = &[ }, /* 110 - "ConstDeclaration" */ LookaheadDFA { - prod0: 630, + prod0: 637, transitions: &[], k: 0, }, @@ -4683,28 +4693,28 @@ pub const LOOKAHEAD_AUTOMATA: &[LookaheadDFA; 668] = &[ LookaheadDFA { prod0: -1, transitions: &[ - Trans(0, 53, 1, 631), - Trans(0, 55, 1, 631), - Trans(0, 56, 1, 631), - Trans(0, 57, 1, 631), - Trans(0, 64, 1, 631), - Trans(0, 65, 1, 631), - Trans(0, 69, 1, 631), - Trans(0, 70, 1, 631), - Trans(0, 83, 1, 631), - Trans(0, 96, 1, 631), - Trans(0, 97, 1, 631), - Trans(0, 98, 1, 631), - Trans(0, 99, 1, 631), - Trans(0, 100, 1, 631), - Trans(0, 103, 1, 631), - Trans(0, 105, 1, 631), - Trans(0, 108, 1, 631), - Trans(0, 109, 2, 632), - Trans(0, 110, 1, 631), - Trans(0, 111, 1, 631), - Trans(0, 115, 1, 631), - Trans(0, 116, 1, 631), + Trans(0, 53, 1, 638), + Trans(0, 55, 1, 638), + Trans(0, 56, 1, 638), + Trans(0, 57, 1, 638), + Trans(0, 64, 1, 638), + Trans(0, 65, 1, 638), + Trans(0, 69, 1, 638), + Trans(0, 70, 1, 638), + Trans(0, 83, 1, 638), + Trans(0, 96, 1, 638), + Trans(0, 97, 1, 638), + Trans(0, 98, 1, 638), + Trans(0, 99, 1, 638), + Trans(0, 100, 1, 638), + Trans(0, 103, 1, 638), + Trans(0, 105, 1, 638), + Trans(0, 108, 1, 638), + Trans(0, 109, 2, 639), + Trans(0, 110, 1, 638), + Trans(0, 111, 1, 638), + Trans(0, 115, 1, 638), + Trans(0, 116, 1, 638), ], k: 1, }, @@ -4740,7 +4750,7 @@ pub const LOOKAHEAD_AUTOMATA: &[LookaheadDFA; 668] = &[ }, /* 117 - "DescriptionGroup" */ LookaheadDFA { - prod0: 936, + prod0: 943, transitions: &[], k: 0, }, @@ -4748,15 +4758,15 @@ pub const LOOKAHEAD_AUTOMATA: &[LookaheadDFA; 668] = &[ LookaheadDFA { prod0: -1, transitions: &[ - Trans(0, 40, 1, 937), - Trans(0, 61, 2, 940), - Trans(0, 73, 2, 940), - Trans(0, 74, 2, 940), - Trans(0, 80, 2, 940), - Trans(0, 86, 2, 940), - Trans(0, 90, 2, 940), - Trans(0, 92, 2, 940), - Trans(0, 93, 2, 940), + Trans(0, 40, 1, 944), + Trans(0, 61, 2, 947), + Trans(0, 73, 2, 947), + Trans(0, 74, 2, 947), + Trans(0, 80, 2, 947), + Trans(0, 86, 2, 947), + Trans(0, 90, 2, 947), + Trans(0, 92, 2, 947), + Trans(0, 93, 2, 947), ], k: 1, }, @@ -4764,17 +4774,17 @@ pub const LOOKAHEAD_AUTOMATA: &[LookaheadDFA; 668] = &[ LookaheadDFA { prod0: -1, transitions: &[ - Trans(0, 37, 1, 938), - Trans(0, 40, 1, 938), - Trans(0, 44, 2, 939), - Trans(0, 61, 1, 938), - Trans(0, 73, 1, 938), - Trans(0, 74, 1, 938), - Trans(0, 80, 1, 938), - Trans(0, 86, 1, 938), - Trans(0, 90, 1, 938), - Trans(0, 92, 1, 938), - Trans(0, 93, 1, 938), + Trans(0, 37, 1, 945), + Trans(0, 40, 1, 945), + Trans(0, 44, 2, 946), + Trans(0, 61, 1, 945), + Trans(0, 73, 1, 945), + Trans(0, 74, 1, 945), + Trans(0, 80, 1, 945), + Trans(0, 86, 1, 945), + Trans(0, 90, 1, 945), + Trans(0, 92, 1, 945), + Trans(0, 93, 1, 945), ], k: 1, }, @@ -4782,16 +4792,16 @@ pub const LOOKAHEAD_AUTOMATA: &[LookaheadDFA; 668] = &[ LookaheadDFA { prod0: -1, transitions: &[ - Trans(0, 37, 1, 941), - Trans(0, 40, 2, 942), - Trans(0, 61, 2, 942), - Trans(0, 73, 2, 942), - Trans(0, 74, 2, 942), - Trans(0, 80, 2, 942), - Trans(0, 86, 2, 942), - Trans(0, 90, 2, 942), - Trans(0, 92, 2, 942), - Trans(0, 93, 2, 942), + Trans(0, 37, 1, 948), + Trans(0, 40, 2, 949), + Trans(0, 61, 2, 949), + Trans(0, 73, 2, 949), + Trans(0, 74, 2, 949), + Trans(0, 80, 2, 949), + Trans(0, 86, 2, 949), + Trans(0, 90, 2, 949), + Trans(0, 92, 2, 949), + Trans(0, 93, 2, 949), ], k: 1, }, @@ -4812,67 +4822,67 @@ pub const LOOKAHEAD_AUTOMATA: &[LookaheadDFA; 668] = &[ Trans(1, 86, 2, -1), Trans(1, 90, 14, -1), Trans(1, 92, 22, -1), - Trans(2, 5, 3, 943), - Trans(2, 116, 3, 943), + Trans(2, 5, 3, 950), + Trans(2, 116, 3, 950), Trans(4, 5, 7, -1), Trans(4, 116, 5, -1), - Trans(5, 5, 3, 943), - Trans(5, 29, 3, 943), - Trans(5, 37, 3, 943), - Trans(5, 40, 3, 943), - Trans(5, 42, 3, 943), - Trans(5, 67, 3, 943), - Trans(6, 80, 10, 944), - Trans(6, 86, 3, 943), - Trans(6, 90, 15, 945), - Trans(6, 92, 21, 946), - Trans(7, 116, 3, 943), + Trans(5, 5, 3, 950), + Trans(5, 29, 3, 950), + Trans(5, 37, 3, 950), + Trans(5, 40, 3, 950), + Trans(5, 42, 3, 950), + Trans(5, 67, 3, 950), + Trans(6, 80, 10, 951), + Trans(6, 86, 3, 950), + Trans(6, 90, 15, 952), + Trans(6, 92, 21, 953), + Trans(7, 116, 3, 950), Trans(8, 5, 11, -1), Trans(8, 116, 12, -1), - Trans(9, 5, 10, 944), - Trans(9, 116, 10, 944), - Trans(11, 116, 10, 944), - Trans(12, 5, 10, 944), - Trans(12, 29, 10, 944), - Trans(12, 37, 10, 944), - Trans(12, 40, 10, 944), + Trans(9, 5, 10, 951), + Trans(9, 116, 10, 951), + Trans(11, 116, 10, 951), + Trans(12, 5, 10, 951), + Trans(12, 29, 10, 951), + Trans(12, 37, 10, 951), + Trans(12, 40, 10, 951), Trans(13, 5, 16, -1), Trans(13, 116, 17, -1), - Trans(14, 5, 15, 945), - Trans(14, 116, 15, 945), - Trans(16, 116, 15, 945), - Trans(17, 5, 15, 945), - Trans(17, 29, 15, 945), - Trans(17, 40, 15, 945), + Trans(14, 5, 15, 952), + Trans(14, 116, 15, 952), + Trans(16, 116, 15, 952), + Trans(17, 5, 15, 952), + Trans(17, 29, 15, 952), + Trans(17, 40, 15, 952), Trans(18, 5, 19, -1), Trans(18, 86, 20, -1), - Trans(19, 86, 21, 946), - Trans(20, 5, 21, 946), - Trans(20, 116, 21, 946), - Trans(22, 5, 21, 946), - Trans(22, 86, 21, 946), + Trans(19, 86, 21, 953), + Trans(20, 5, 21, 953), + Trans(20, 116, 21, 953), + Trans(22, 5, 21, 953), + Trans(22, 86, 21, 953), Trans(23, 5, 24, -1), Trans(23, 115, 25, -1), Trans(23, 116, 26, -1), - Trans(24, 115, 27, 947), - Trans(24, 116, 27, 947), - Trans(25, 5, 27, 947), - Trans(25, 30, 27, 947), - Trans(25, 47, 27, 947), - Trans(26, 5, 27, 947), - Trans(26, 29, 27, 947), - Trans(26, 30, 27, 947), - Trans(26, 47, 27, 947), + Trans(24, 115, 27, 954), + Trans(24, 116, 27, 954), + Trans(25, 5, 27, 954), + Trans(25, 30, 27, 954), + Trans(25, 47, 27, 954), + Trans(26, 5, 27, 954), + Trans(26, 29, 27, 954), + Trans(26, 30, 27, 954), + Trans(26, 47, 27, 954), Trans(28, 5, 29, -1), Trans(28, 42, 30, -1), - Trans(29, 42, 31, 948), - Trans(30, 5, 31, 948), - Trans(30, 116, 31, 948), + Trans(29, 42, 31, 955), + Trans(30, 5, 31, 955), + Trans(30, 116, 31, 955), Trans(32, 5, 33, -1), Trans(32, 42, 34, -1), - Trans(33, 42, 35, 949), - Trans(34, 5, 35, 949), - Trans(34, 116, 35, 949), + Trans(33, 42, 35, 956), + Trans(34, 5, 35, 956), + Trans(34, 116, 35, 956), ], k: 3, }, @@ -4880,12 +4890,12 @@ pub const LOOKAHEAD_AUTOMATA: &[LookaheadDFA; 668] = &[ LookaheadDFA { prod0: -1, transitions: &[ - Trans(0, 73, 6, 797), - Trans(0, 76, 3, 794), - Trans(0, 77, 1, 792), - Trans(0, 85, 5, 796), - Trans(0, 88, 2, 793), - Trans(0, 94, 4, 795), + Trans(0, 73, 6, 804), + Trans(0, 76, 3, 801), + Trans(0, 77, 1, 799), + Trans(0, 85, 5, 803), + Trans(0, 88, 2, 800), + Trans(0, 94, 4, 802), ], k: 1, }, @@ -4987,13 +4997,13 @@ pub const LOOKAHEAD_AUTOMATA: &[LookaheadDFA; 668] = &[ }, /* 139 - "EmbedContent" */ LookaheadDFA { - prod0: 927, + prod0: 934, transitions: &[], k: 0, }, /* 140 - "EmbedContentToken" */ LookaheadDFA { - prod0: 928, + prod0: 935, transitions: &[], k: 0, }, @@ -5001,31 +5011,31 @@ pub const LOOKAHEAD_AUTOMATA: &[LookaheadDFA; 668] = &[ LookaheadDFA { prod0: -1, transitions: &[ - Trans(0, 40, 1, 929), - Trans(0, 44, 2, 930), - Trans(0, 117, 1, 929), + Trans(0, 40, 1, 936), + Trans(0, 44, 2, 937), + Trans(0, 117, 1, 936), ], k: 1, }, /* 142 - "EmbedDeclaration" */ LookaheadDFA { - prod0: 926, + prod0: 933, transitions: &[], k: 0, }, /* 143 - "EmbedItem" */ LookaheadDFA { prod0: -1, - transitions: &[Trans(0, 40, 1, 931), Trans(0, 117, 2, 934)], + transitions: &[Trans(0, 40, 1, 938), Trans(0, 117, 2, 941)], k: 1, }, /* 144 - "EmbedItemList" */ LookaheadDFA { prod0: -1, transitions: &[ - Trans(0, 40, 1, 932), - Trans(0, 44, 2, 933), - Trans(0, 117, 1, 932), + Trans(0, 40, 1, 939), + Trans(0, 44, 2, 940), + Trans(0, 117, 1, 939), ], k: 1, }, @@ -5049,41 +5059,41 @@ pub const LOOKAHEAD_AUTOMATA: &[LookaheadDFA; 668] = &[ }, /* 148 - "EnumDeclaration" */ LookaheadDFA { - prod0: 656, + prod0: 663, transitions: &[], k: 0, }, /* 149 - "EnumDeclarationOpt" */ LookaheadDFA { prod0: -1, - transitions: &[Trans(0, 31, 1, 657), Trans(0, 40, 2, 658)], + transitions: &[Trans(0, 31, 1, 664), Trans(0, 40, 2, 665)], k: 1, }, /* 150 - "EnumGroup" */ LookaheadDFA { - prod0: 664, + prod0: 671, transitions: &[], k: 0, }, /* 151 - "EnumGroupGroup" */ LookaheadDFA { prod0: -1, - transitions: &[Trans(0, 40, 1, 665), Trans(0, 116, 2, 666)], + transitions: &[Trans(0, 40, 1, 672), Trans(0, 116, 2, 673)], k: 1, }, /* 152 - "EnumGroupList" */ LookaheadDFA { prod0: -1, transitions: &[ - Trans(0, 37, 1, 667), - Trans(0, 40, 2, 668), - Trans(0, 116, 2, 668), + Trans(0, 37, 1, 674), + Trans(0, 40, 2, 675), + Trans(0, 116, 2, 675), ], k: 1, }, /* 153 - "EnumItem" */ LookaheadDFA { - prod0: 669, + prod0: 676, transitions: &[], k: 0, }, @@ -5091,15 +5101,15 @@ pub const LOOKAHEAD_AUTOMATA: &[LookaheadDFA; 668] = &[ LookaheadDFA { prod0: -1, transitions: &[ - Trans(0, 32, 2, 671), - Trans(0, 36, 1, 670), - Trans(0, 44, 2, 671), + Trans(0, 32, 2, 678), + Trans(0, 36, 1, 677), + Trans(0, 44, 2, 678), ], k: 1, }, /* 155 - "EnumList" */ LookaheadDFA { - prod0: 659, + prod0: 666, transitions: &[], k: 0, }, @@ -5114,20 +5124,20 @@ pub const LOOKAHEAD_AUTOMATA: &[LookaheadDFA; 668] = &[ Trans(1, 40, 4, -1), Trans(1, 44, 21, -1), Trans(1, 116, 5, -1), - Trans(2, 5, 3, 660), - Trans(2, 41, 3, 660), - Trans(4, 5, 3, 660), - Trans(4, 37, 3, 660), - Trans(4, 40, 3, 660), - Trans(4, 116, 3, 660), - Trans(5, 5, 3, 660), - Trans(5, 32, 3, 660), - Trans(5, 36, 3, 660), - Trans(5, 44, 3, 660), - Trans(6, 37, 3, 660), - Trans(6, 40, 3, 660), - Trans(6, 44, 20, 661), - Trans(6, 116, 3, 660), + Trans(2, 5, 3, 667), + Trans(2, 41, 3, 667), + Trans(4, 5, 3, 667), + Trans(4, 37, 3, 667), + Trans(4, 40, 3, 667), + Trans(4, 116, 3, 667), + Trans(5, 5, 3, 667), + Trans(5, 32, 3, 667), + Trans(5, 36, 3, 667), + Trans(5, 44, 3, 667), + Trans(6, 37, 3, 667), + Trans(6, 40, 3, 667), + Trans(6, 44, 20, 668), + Trans(6, 116, 3, 667), Trans(7, 5, 8, -1), Trans(7, 31, 9, -1), Trans(7, 32, 10, -1), @@ -5154,189 +5164,189 @@ pub const LOOKAHEAD_AUTOMATA: &[LookaheadDFA; 668] = &[ Trans(7, 112, 9, -1), Trans(7, 113, 19, -1), Trans(7, 114, 9, -1), - Trans(8, 31, 20, 661), - Trans(8, 32, 20, 661), - Trans(8, 37, 20, 661), - Trans(8, 40, 20, 661), - Trans(8, 44, 20, 661), - Trans(8, 49, 20, 661), - Trans(8, 50, 20, 661), - Trans(8, 51, 20, 661), - Trans(8, 58, 20, 661), - Trans(8, 62, 20, 661), - Trans(8, 63, 20, 661), - Trans(8, 66, 20, 661), - Trans(8, 67, 20, 661), - Trans(8, 68, 20, 661), - Trans(8, 72, 20, 661), - Trans(8, 73, 20, 661), - Trans(8, 75, 20, 661), - Trans(8, 79, 20, 661), - Trans(8, 82, 20, 661), - Trans(8, 85, 20, 661), - Trans(8, 106, 20, 661), - Trans(8, 109, 20, 661), - Trans(8, 112, 20, 661), - Trans(8, 113, 20, 661), - Trans(8, 114, 20, 661), - Trans(9, 5, 20, 661), - Trans(9, 116, 20, 661), - Trans(10, 5, 20, 661), - Trans(10, 37, 20, 661), - Trans(10, 40, 20, 661), - Trans(10, 44, 20, 661), - Trans(10, 116, 20, 661), - Trans(11, 5, 20, 661), - Trans(11, 41, 20, 661), - Trans(12, 5, 20, 661), - Trans(12, 31, 20, 661), - Trans(12, 37, 20, 661), - Trans(12, 40, 20, 661), - Trans(12, 44, 20, 661), - Trans(12, 49, 20, 661), - Trans(12, 50, 20, 661), - Trans(12, 51, 20, 661), - Trans(12, 58, 20, 661), - Trans(12, 62, 20, 661), - Trans(12, 63, 20, 661), - Trans(12, 66, 20, 661), - Trans(12, 67, 20, 661), - Trans(12, 68, 20, 661), - Trans(12, 72, 20, 661), - Trans(12, 73, 20, 661), - Trans(12, 75, 20, 661), - Trans(12, 79, 20, 661), - Trans(12, 82, 20, 661), - Trans(12, 85, 20, 661), - Trans(12, 106, 20, 661), - Trans(12, 109, 20, 661), - Trans(12, 112, 20, 661), - Trans(12, 113, 20, 661), - Trans(12, 114, 20, 661), - Trans(13, 0, 20, 661), - Trans(13, 5, 20, 661), - Trans(13, 31, 20, 661), - Trans(13, 32, 20, 661), - Trans(13, 37, 20, 661), - Trans(13, 40, 20, 661), - Trans(13, 44, 20, 661), - Trans(13, 49, 20, 661), - Trans(13, 50, 20, 661), - Trans(13, 51, 20, 661), - Trans(13, 58, 20, 661), - Trans(13, 60, 20, 661), - Trans(13, 61, 20, 661), - Trans(13, 62, 20, 661), - Trans(13, 63, 20, 661), - Trans(13, 66, 20, 661), - Trans(13, 67, 20, 661), - Trans(13, 68, 20, 661), - Trans(13, 72, 20, 661), - Trans(13, 73, 20, 661), - Trans(13, 74, 20, 661), - Trans(13, 75, 20, 661), - Trans(13, 79, 20, 661), - Trans(13, 80, 20, 661), - Trans(13, 82, 20, 661), - Trans(13, 85, 20, 661), - Trans(13, 86, 20, 661), - Trans(13, 90, 20, 661), - Trans(13, 92, 20, 661), - Trans(13, 93, 20, 661), - Trans(13, 106, 20, 661), - Trans(13, 109, 20, 661), - Trans(13, 112, 20, 661), - Trans(13, 113, 20, 661), - Trans(13, 114, 20, 661), - Trans(14, 5, 20, 661), - Trans(14, 40, 20, 661), - Trans(15, 5, 20, 661), - Trans(15, 40, 20, 661), - Trans(15, 42, 20, 661), - Trans(16, 5, 20, 661), - Trans(16, 48, 20, 661), - Trans(16, 115, 20, 661), - Trans(16, 116, 20, 661), - Trans(17, 5, 20, 661), - Trans(17, 6, 20, 661), - Trans(17, 7, 20, 661), - Trans(17, 8, 20, 661), - Trans(17, 9, 20, 661), - Trans(17, 10, 20, 661), - Trans(17, 11, 20, 661), - Trans(17, 18, 20, 661), - Trans(17, 24, 20, 661), - Trans(17, 25, 20, 661), - Trans(17, 26, 20, 661), - Trans(17, 27, 20, 661), - Trans(17, 39, 20, 661), - Trans(17, 40, 20, 661), - Trans(17, 42, 20, 661), - Trans(17, 53, 20, 661), - Trans(17, 54, 20, 661), - Trans(17, 55, 20, 661), - Trans(17, 56, 20, 661), - Trans(17, 57, 20, 661), - Trans(17, 64, 20, 661), - Trans(17, 65, 20, 661), - Trans(17, 69, 20, 661), - Trans(17, 70, 20, 661), - Trans(17, 72, 20, 661), - Trans(17, 78, 20, 661), - Trans(17, 83, 20, 661), - Trans(17, 84, 20, 661), - Trans(17, 87, 20, 661), - Trans(17, 89, 20, 661), - Trans(17, 96, 20, 661), - Trans(17, 97, 20, 661), - Trans(17, 98, 20, 661), - Trans(17, 99, 20, 661), - Trans(17, 100, 20, 661), - Trans(17, 105, 20, 661), - Trans(17, 107, 20, 661), - Trans(17, 109, 20, 661), - Trans(17, 110, 20, 661), - Trans(17, 111, 20, 661), - Trans(17, 115, 20, 661), - Trans(17, 116, 20, 661), - Trans(18, 5, 20, 661), - Trans(18, 115, 20, 661), - Trans(18, 116, 20, 661), - Trans(19, 5, 20, 661), - Trans(19, 42, 20, 661), - Trans(21, 5, 20, 661), - Trans(21, 31, 20, 661), - Trans(21, 32, 20, 661), - Trans(21, 37, 20, 661), - Trans(21, 40, 20, 661), - Trans(21, 44, 20, 661), - Trans(21, 49, 20, 661), - Trans(21, 50, 20, 661), - Trans(21, 51, 20, 661), - Trans(21, 58, 20, 661), - Trans(21, 62, 20, 661), - Trans(21, 63, 20, 661), - Trans(21, 66, 20, 661), - Trans(21, 67, 20, 661), - Trans(21, 68, 20, 661), - Trans(21, 72, 20, 661), - Trans(21, 73, 20, 661), - Trans(21, 75, 20, 661), - Trans(21, 79, 20, 661), - Trans(21, 82, 20, 661), - Trans(21, 85, 20, 661), - Trans(21, 106, 20, 661), - Trans(21, 109, 20, 661), - Trans(21, 112, 20, 661), - Trans(21, 113, 20, 661), - Trans(21, 114, 20, 661), + Trans(8, 31, 20, 668), + Trans(8, 32, 20, 668), + Trans(8, 37, 20, 668), + Trans(8, 40, 20, 668), + Trans(8, 44, 20, 668), + Trans(8, 49, 20, 668), + Trans(8, 50, 20, 668), + Trans(8, 51, 20, 668), + Trans(8, 58, 20, 668), + Trans(8, 62, 20, 668), + Trans(8, 63, 20, 668), + Trans(8, 66, 20, 668), + Trans(8, 67, 20, 668), + Trans(8, 68, 20, 668), + Trans(8, 72, 20, 668), + Trans(8, 73, 20, 668), + Trans(8, 75, 20, 668), + Trans(8, 79, 20, 668), + Trans(8, 82, 20, 668), + Trans(8, 85, 20, 668), + Trans(8, 106, 20, 668), + Trans(8, 109, 20, 668), + Trans(8, 112, 20, 668), + Trans(8, 113, 20, 668), + Trans(8, 114, 20, 668), + Trans(9, 5, 20, 668), + Trans(9, 116, 20, 668), + Trans(10, 5, 20, 668), + Trans(10, 37, 20, 668), + Trans(10, 40, 20, 668), + Trans(10, 44, 20, 668), + Trans(10, 116, 20, 668), + Trans(11, 5, 20, 668), + Trans(11, 41, 20, 668), + Trans(12, 5, 20, 668), + Trans(12, 31, 20, 668), + Trans(12, 37, 20, 668), + Trans(12, 40, 20, 668), + Trans(12, 44, 20, 668), + Trans(12, 49, 20, 668), + Trans(12, 50, 20, 668), + Trans(12, 51, 20, 668), + Trans(12, 58, 20, 668), + Trans(12, 62, 20, 668), + Trans(12, 63, 20, 668), + Trans(12, 66, 20, 668), + Trans(12, 67, 20, 668), + Trans(12, 68, 20, 668), + Trans(12, 72, 20, 668), + Trans(12, 73, 20, 668), + Trans(12, 75, 20, 668), + Trans(12, 79, 20, 668), + Trans(12, 82, 20, 668), + Trans(12, 85, 20, 668), + Trans(12, 106, 20, 668), + Trans(12, 109, 20, 668), + Trans(12, 112, 20, 668), + Trans(12, 113, 20, 668), + Trans(12, 114, 20, 668), + Trans(13, 0, 20, 668), + Trans(13, 5, 20, 668), + Trans(13, 31, 20, 668), + Trans(13, 32, 20, 668), + Trans(13, 37, 20, 668), + Trans(13, 40, 20, 668), + Trans(13, 44, 20, 668), + Trans(13, 49, 20, 668), + Trans(13, 50, 20, 668), + Trans(13, 51, 20, 668), + Trans(13, 58, 20, 668), + Trans(13, 60, 20, 668), + Trans(13, 61, 20, 668), + Trans(13, 62, 20, 668), + Trans(13, 63, 20, 668), + Trans(13, 66, 20, 668), + Trans(13, 67, 20, 668), + Trans(13, 68, 20, 668), + Trans(13, 72, 20, 668), + Trans(13, 73, 20, 668), + Trans(13, 74, 20, 668), + Trans(13, 75, 20, 668), + Trans(13, 79, 20, 668), + Trans(13, 80, 20, 668), + Trans(13, 82, 20, 668), + Trans(13, 85, 20, 668), + Trans(13, 86, 20, 668), + Trans(13, 90, 20, 668), + Trans(13, 92, 20, 668), + Trans(13, 93, 20, 668), + Trans(13, 106, 20, 668), + Trans(13, 109, 20, 668), + Trans(13, 112, 20, 668), + Trans(13, 113, 20, 668), + Trans(13, 114, 20, 668), + Trans(14, 5, 20, 668), + Trans(14, 40, 20, 668), + Trans(15, 5, 20, 668), + Trans(15, 40, 20, 668), + Trans(15, 42, 20, 668), + Trans(16, 5, 20, 668), + Trans(16, 48, 20, 668), + Trans(16, 115, 20, 668), + Trans(16, 116, 20, 668), + Trans(17, 5, 20, 668), + Trans(17, 6, 20, 668), + Trans(17, 7, 20, 668), + Trans(17, 8, 20, 668), + Trans(17, 9, 20, 668), + Trans(17, 10, 20, 668), + Trans(17, 11, 20, 668), + Trans(17, 18, 20, 668), + Trans(17, 24, 20, 668), + Trans(17, 25, 20, 668), + Trans(17, 26, 20, 668), + Trans(17, 27, 20, 668), + Trans(17, 39, 20, 668), + Trans(17, 40, 20, 668), + Trans(17, 42, 20, 668), + Trans(17, 53, 20, 668), + Trans(17, 54, 20, 668), + Trans(17, 55, 20, 668), + Trans(17, 56, 20, 668), + Trans(17, 57, 20, 668), + Trans(17, 64, 20, 668), + Trans(17, 65, 20, 668), + Trans(17, 69, 20, 668), + Trans(17, 70, 20, 668), + Trans(17, 72, 20, 668), + Trans(17, 78, 20, 668), + Trans(17, 83, 20, 668), + Trans(17, 84, 20, 668), + Trans(17, 87, 20, 668), + Trans(17, 89, 20, 668), + Trans(17, 96, 20, 668), + Trans(17, 97, 20, 668), + Trans(17, 98, 20, 668), + Trans(17, 99, 20, 668), + Trans(17, 100, 20, 668), + Trans(17, 105, 20, 668), + Trans(17, 107, 20, 668), + Trans(17, 109, 20, 668), + Trans(17, 110, 20, 668), + Trans(17, 111, 20, 668), + Trans(17, 115, 20, 668), + Trans(17, 116, 20, 668), + Trans(18, 5, 20, 668), + Trans(18, 115, 20, 668), + Trans(18, 116, 20, 668), + Trans(19, 5, 20, 668), + Trans(19, 42, 20, 668), + Trans(21, 5, 20, 668), + Trans(21, 31, 20, 668), + Trans(21, 32, 20, 668), + Trans(21, 37, 20, 668), + Trans(21, 40, 20, 668), + Trans(21, 44, 20, 668), + Trans(21, 49, 20, 668), + Trans(21, 50, 20, 668), + Trans(21, 51, 20, 668), + Trans(21, 58, 20, 668), + Trans(21, 62, 20, 668), + Trans(21, 63, 20, 668), + Trans(21, 66, 20, 668), + Trans(21, 67, 20, 668), + Trans(21, 68, 20, 668), + Trans(21, 72, 20, 668), + Trans(21, 73, 20, 668), + Trans(21, 75, 20, 668), + Trans(21, 79, 20, 668), + Trans(21, 82, 20, 668), + Trans(21, 85, 20, 668), + Trans(21, 106, 20, 668), + Trans(21, 109, 20, 668), + Trans(21, 112, 20, 668), + Trans(21, 113, 20, 668), + Trans(21, 114, 20, 668), ], k: 3, }, /* 157 - "EnumListOpt" */ LookaheadDFA { prod0: -1, - transitions: &[Trans(0, 32, 1, 662), Trans(0, 44, 2, 663)], + transitions: &[Trans(0, 32, 1, 669), Trans(0, 44, 2, 670)], k: 1, }, /* 158 - "EnumTerm" */ @@ -5395,7 +5405,7 @@ pub const LOOKAHEAD_AUTOMATA: &[LookaheadDFA; 668] = &[ }, /* 167 - "ExportDeclaration" */ LookaheadDFA { - prod0: 808, + prod0: 815, transitions: &[], k: 0, }, @@ -5403,16 +5413,16 @@ pub const LOOKAHEAD_AUTOMATA: &[LookaheadDFA; 668] = &[ LookaheadDFA { prod0: -1, transitions: &[ - Trans(0, 48, 1, 809), - Trans(0, 115, 2, 810), - Trans(0, 116, 2, 810), + Trans(0, 48, 1, 816), + Trans(0, 115, 2, 817), + Trans(0, 116, 2, 817), ], k: 1, }, /* 169 - "ExportDeclarationOpt" */ LookaheadDFA { prod0: -1, - transitions: &[Trans(0, 30, 1, 811), Trans(0, 47, 2, 812)], + transitions: &[Trans(0, 30, 1, 818), Trans(0, 47, 2, 819)], k: 1, }, /* 170 - "ExportTerm" */ @@ -6262,7 +6272,7 @@ pub const LOOKAHEAD_AUTOMATA: &[LookaheadDFA; 668] = &[ }, /* 218 - "FinalDeclaration" */ LookaheadDFA { - prod0: 689, + prod0: 696, transitions: &[], k: 0, }, @@ -6318,14 +6328,14 @@ pub const LOOKAHEAD_AUTOMATA: &[LookaheadDFA; 668] = &[ }, /* 226 - "ForStatement" */ LookaheadDFA { - prod0: 589, + prod0: 596, transitions: &[], k: 0, }, /* 227 - "ForStatementOpt" */ LookaheadDFA { prod0: -1, - transitions: &[Trans(0, 40, 2, 591), Trans(0, 104, 1, 590)], + transitions: &[Trans(0, 40, 2, 598), Trans(0, 104, 1, 597)], k: 1, }, /* 228 - "ForTerm" */ @@ -6403,7 +6413,7 @@ pub const LOOKAHEAD_AUTOMATA: &[LookaheadDFA; 668] = &[ }, /* 233 - "FunctionDeclaration" */ LookaheadDFA { - prod0: 798, + prod0: 805, transitions: &[], k: 0, }, @@ -6411,10 +6421,10 @@ pub const LOOKAHEAD_AUTOMATA: &[LookaheadDFA; 668] = &[ LookaheadDFA { prod0: -1, transitions: &[ - Trans(0, 13, 2, 804), - Trans(0, 29, 1, 803), - Trans(0, 40, 2, 804), - Trans(0, 42, 2, 804), + Trans(0, 13, 2, 811), + Trans(0, 29, 1, 810), + Trans(0, 40, 2, 811), + Trans(0, 42, 2, 811), ], k: 1, }, @@ -6422,16 +6432,16 @@ pub const LOOKAHEAD_AUTOMATA: &[LookaheadDFA; 668] = &[ LookaheadDFA { prod0: -1, transitions: &[ - Trans(0, 13, 2, 802), - Trans(0, 40, 2, 802), - Trans(0, 42, 1, 801), + Trans(0, 13, 2, 809), + Trans(0, 40, 2, 809), + Trans(0, 42, 1, 808), ], k: 1, }, /* 236 - "FunctionDeclarationOpt1" */ LookaheadDFA { prod0: -1, - transitions: &[Trans(0, 13, 1, 799), Trans(0, 40, 2, 800)], + transitions: &[Trans(0, 13, 1, 806), Trans(0, 40, 2, 807)], k: 1, }, /* 237 - "FunctionTerm" */ @@ -6448,25 +6458,25 @@ pub const LOOKAHEAD_AUTOMATA: &[LookaheadDFA; 668] = &[ }, /* 239 - "GenerateBlockDeclaration" */ LookaheadDFA { - prod0: 863, + prod0: 870, transitions: &[], k: 0, }, /* 240 - "GenerateForDeclaration" */ LookaheadDFA { - prod0: 860, + prod0: 867, transitions: &[], k: 0, }, /* 241 - "GenerateForDeclarationOpt" */ LookaheadDFA { prod0: -1, - transitions: &[Trans(0, 31, 2, 862), Trans(0, 104, 1, 861)], + transitions: &[Trans(0, 31, 2, 869), Trans(0, 104, 1, 868)], k: 1, }, /* 242 - "GenerateGroup" */ LookaheadDFA { - prod0: 872, + prod0: 879, transitions: &[], k: 0, }, @@ -6474,26 +6484,26 @@ pub const LOOKAHEAD_AUTOMATA: &[LookaheadDFA; 668] = &[ LookaheadDFA { prod0: -1, transitions: &[ - Trans(0, 31, 2, 876), - Trans(0, 40, 1, 873), - Trans(0, 49, 2, 876), - Trans(0, 50, 2, 876), - Trans(0, 51, 2, 876), - Trans(0, 58, 2, 876), - Trans(0, 62, 2, 876), - Trans(0, 66, 2, 876), - Trans(0, 67, 2, 876), - Trans(0, 68, 2, 876), - Trans(0, 72, 2, 876), - Trans(0, 73, 2, 876), - Trans(0, 75, 2, 876), - Trans(0, 79, 2, 876), - Trans(0, 82, 2, 876), - Trans(0, 106, 2, 876), - Trans(0, 109, 2, 876), - Trans(0, 112, 2, 876), - Trans(0, 113, 2, 876), - Trans(0, 114, 2, 876), + Trans(0, 31, 2, 883), + Trans(0, 40, 1, 880), + Trans(0, 49, 2, 883), + Trans(0, 50, 2, 883), + Trans(0, 51, 2, 883), + Trans(0, 58, 2, 883), + Trans(0, 62, 2, 883), + Trans(0, 66, 2, 883), + Trans(0, 67, 2, 883), + Trans(0, 68, 2, 883), + Trans(0, 72, 2, 883), + Trans(0, 73, 2, 883), + Trans(0, 75, 2, 883), + Trans(0, 79, 2, 883), + Trans(0, 82, 2, 883), + Trans(0, 106, 2, 883), + Trans(0, 109, 2, 883), + Trans(0, 112, 2, 883), + Trans(0, 113, 2, 883), + Trans(0, 114, 2, 883), ], k: 1, }, @@ -6501,28 +6511,28 @@ pub const LOOKAHEAD_AUTOMATA: &[LookaheadDFA; 668] = &[ LookaheadDFA { prod0: -1, transitions: &[ - Trans(0, 31, 1, 874), - Trans(0, 37, 1, 874), - Trans(0, 40, 1, 874), - Trans(0, 44, 2, 875), - Trans(0, 49, 1, 874), - Trans(0, 50, 1, 874), - Trans(0, 51, 1, 874), - Trans(0, 58, 1, 874), - Trans(0, 62, 1, 874), - Trans(0, 66, 1, 874), - Trans(0, 67, 1, 874), - Trans(0, 68, 1, 874), - Trans(0, 72, 1, 874), - Trans(0, 73, 1, 874), - Trans(0, 75, 1, 874), - Trans(0, 79, 1, 874), - Trans(0, 82, 1, 874), - Trans(0, 106, 1, 874), - Trans(0, 109, 1, 874), - Trans(0, 112, 1, 874), - Trans(0, 113, 1, 874), - Trans(0, 114, 1, 874), + Trans(0, 31, 1, 881), + Trans(0, 37, 1, 881), + Trans(0, 40, 1, 881), + Trans(0, 44, 2, 882), + Trans(0, 49, 1, 881), + Trans(0, 50, 1, 881), + Trans(0, 51, 1, 881), + Trans(0, 58, 1, 881), + Trans(0, 62, 1, 881), + Trans(0, 66, 1, 881), + Trans(0, 67, 1, 881), + Trans(0, 68, 1, 881), + Trans(0, 72, 1, 881), + Trans(0, 73, 1, 881), + Trans(0, 75, 1, 881), + Trans(0, 79, 1, 881), + Trans(0, 82, 1, 881), + Trans(0, 106, 1, 881), + Trans(0, 109, 1, 881), + Trans(0, 112, 1, 881), + Trans(0, 113, 1, 881), + Trans(0, 114, 1, 881), ], k: 1, }, @@ -6530,33 +6540,33 @@ pub const LOOKAHEAD_AUTOMATA: &[LookaheadDFA; 668] = &[ LookaheadDFA { prod0: -1, transitions: &[ - Trans(0, 31, 2, 878), - Trans(0, 37, 1, 877), - Trans(0, 40, 2, 878), - Trans(0, 49, 2, 878), - Trans(0, 50, 2, 878), - Trans(0, 51, 2, 878), - Trans(0, 58, 2, 878), - Trans(0, 62, 2, 878), - Trans(0, 66, 2, 878), - Trans(0, 67, 2, 878), - Trans(0, 68, 2, 878), - Trans(0, 72, 2, 878), - Trans(0, 73, 2, 878), - Trans(0, 75, 2, 878), - Trans(0, 79, 2, 878), - Trans(0, 82, 2, 878), - Trans(0, 106, 2, 878), - Trans(0, 109, 2, 878), - Trans(0, 112, 2, 878), - Trans(0, 113, 2, 878), - Trans(0, 114, 2, 878), + Trans(0, 31, 2, 885), + Trans(0, 37, 1, 884), + Trans(0, 40, 2, 885), + Trans(0, 49, 2, 885), + Trans(0, 50, 2, 885), + Trans(0, 51, 2, 885), + Trans(0, 58, 2, 885), + Trans(0, 62, 2, 885), + Trans(0, 66, 2, 885), + Trans(0, 67, 2, 885), + Trans(0, 68, 2, 885), + Trans(0, 72, 2, 885), + Trans(0, 73, 2, 885), + Trans(0, 75, 2, 885), + Trans(0, 79, 2, 885), + Trans(0, 82, 2, 885), + Trans(0, 106, 2, 885), + Trans(0, 109, 2, 885), + Trans(0, 112, 2, 885), + Trans(0, 113, 2, 885), + Trans(0, 114, 2, 885), ], k: 1, }, /* 246 - "GenerateIfDeclaration" */ LookaheadDFA { - prod0: 855, + prod0: 862, transitions: &[], k: 0, }, @@ -6592,51 +6602,51 @@ pub const LOOKAHEAD_AUTOMATA: &[LookaheadDFA; 668] = &[ Trans(1, 31, 23, -1), Trans(1, 40, 43, -1), Trans(1, 72, 2, -1), - Trans(2, 5, 3, 856), - Trans(2, 6, 3, 856), - Trans(2, 7, 3, 856), - Trans(2, 8, 3, 856), - Trans(2, 9, 3, 856), - Trans(2, 10, 3, 856), - Trans(2, 11, 3, 856), - Trans(2, 18, 3, 856), - Trans(2, 24, 3, 856), - Trans(2, 25, 3, 856), - Trans(2, 26, 3, 856), - Trans(2, 27, 3, 856), - Trans(2, 39, 3, 856), - Trans(2, 40, 3, 856), - Trans(2, 42, 3, 856), - Trans(2, 53, 3, 856), - Trans(2, 54, 3, 856), - Trans(2, 55, 3, 856), - Trans(2, 56, 3, 856), - Trans(2, 57, 3, 856), - Trans(2, 64, 3, 856), - Trans(2, 65, 3, 856), - Trans(2, 69, 3, 856), - Trans(2, 70, 3, 856), - Trans(2, 72, 3, 856), - Trans(2, 78, 3, 856), - Trans(2, 83, 3, 856), - Trans(2, 84, 3, 856), - Trans(2, 87, 3, 856), - Trans(2, 89, 3, 856), - Trans(2, 96, 3, 856), - Trans(2, 97, 3, 856), - Trans(2, 98, 3, 856), - Trans(2, 99, 3, 856), - Trans(2, 100, 3, 856), - Trans(2, 105, 3, 856), - Trans(2, 107, 3, 856), - Trans(2, 109, 3, 856), - Trans(2, 110, 3, 856), - Trans(2, 111, 3, 856), - Trans(2, 115, 3, 856), - Trans(2, 116, 3, 856), - Trans(4, 31, 21, 857), - Trans(4, 40, 21, 857), - Trans(4, 72, 3, 856), + Trans(2, 5, 3, 863), + Trans(2, 6, 3, 863), + Trans(2, 7, 3, 863), + Trans(2, 8, 3, 863), + Trans(2, 9, 3, 863), + Trans(2, 10, 3, 863), + Trans(2, 11, 3, 863), + Trans(2, 18, 3, 863), + Trans(2, 24, 3, 863), + Trans(2, 25, 3, 863), + Trans(2, 26, 3, 863), + Trans(2, 27, 3, 863), + Trans(2, 39, 3, 863), + Trans(2, 40, 3, 863), + Trans(2, 42, 3, 863), + Trans(2, 53, 3, 863), + Trans(2, 54, 3, 863), + Trans(2, 55, 3, 863), + Trans(2, 56, 3, 863), + Trans(2, 57, 3, 863), + Trans(2, 64, 3, 863), + Trans(2, 65, 3, 863), + Trans(2, 69, 3, 863), + Trans(2, 70, 3, 863), + Trans(2, 72, 3, 863), + Trans(2, 78, 3, 863), + Trans(2, 83, 3, 863), + Trans(2, 84, 3, 863), + Trans(2, 87, 3, 863), + Trans(2, 89, 3, 863), + Trans(2, 96, 3, 863), + Trans(2, 97, 3, 863), + Trans(2, 98, 3, 863), + Trans(2, 99, 3, 863), + Trans(2, 100, 3, 863), + Trans(2, 105, 3, 863), + Trans(2, 107, 3, 863), + Trans(2, 109, 3, 863), + Trans(2, 110, 3, 863), + Trans(2, 111, 3, 863), + Trans(2, 115, 3, 863), + Trans(2, 116, 3, 863), + Trans(4, 31, 21, 864), + Trans(4, 40, 21, 864), + Trans(4, 72, 3, 863), Trans(5, 5, 52, -1), Trans(5, 116, 27, -1), Trans(6, 5, 47, -1), @@ -6665,7 +6675,7 @@ pub const LOOKAHEAD_AUTOMATA: &[LookaheadDFA; 668] = &[ Trans(7, 112, 23, -1), Trans(7, 113, 30, -1), Trans(7, 114, 23, -1), - Trans(8, 0, 21, 857), + Trans(8, 0, 21, 864), Trans(8, 5, 22, -1), Trans(8, 31, 23, -1), Trans(8, 37, 24, -1), @@ -6764,444 +6774,446 @@ pub const LOOKAHEAD_AUTOMATA: &[LookaheadDFA; 668] = &[ Trans(19, 116, 59, -1), Trans(20, 5, 48, -1), Trans(20, 42, 23, -1), - Trans(22, 0, 21, 857), - Trans(22, 31, 21, 857), - Trans(22, 37, 21, 857), - Trans(22, 40, 21, 857), - Trans(22, 44, 21, 857), - Trans(22, 49, 21, 857), - Trans(22, 50, 21, 857), - Trans(22, 51, 21, 857), - Trans(22, 58, 21, 857), - Trans(22, 60, 21, 857), - Trans(22, 61, 21, 857), - Trans(22, 62, 21, 857), - Trans(22, 66, 21, 857), - Trans(22, 67, 21, 857), - Trans(22, 68, 21, 857), - Trans(22, 72, 21, 857), - Trans(22, 73, 21, 857), - Trans(22, 74, 21, 857), - Trans(22, 75, 21, 857), - Trans(22, 79, 21, 857), - Trans(22, 80, 21, 857), - Trans(22, 82, 21, 857), - Trans(22, 85, 21, 857), - Trans(22, 86, 21, 857), - Trans(22, 90, 21, 857), - Trans(22, 92, 21, 857), - Trans(22, 93, 21, 857), - Trans(22, 106, 21, 857), - Trans(22, 109, 21, 857), - Trans(22, 112, 21, 857), - Trans(22, 113, 21, 857), - Trans(22, 114, 21, 857), - Trans(23, 5, 21, 857), - Trans(23, 116, 21, 857), - Trans(24, 5, 21, 857), - Trans(24, 41, 21, 857), - Trans(25, 5, 21, 857), - Trans(25, 31, 21, 857), - Trans(25, 37, 21, 857), - Trans(25, 40, 21, 857), - Trans(25, 44, 21, 857), - Trans(25, 49, 21, 857), - Trans(25, 50, 21, 857), - Trans(25, 51, 21, 857), - Trans(25, 58, 21, 857), - Trans(25, 61, 21, 857), - Trans(25, 62, 21, 857), - Trans(25, 66, 21, 857), - Trans(25, 67, 21, 857), - Trans(25, 68, 21, 857), - Trans(25, 72, 21, 857), - Trans(25, 73, 21, 857), - Trans(25, 74, 21, 857), - Trans(25, 75, 21, 857), - Trans(25, 79, 21, 857), - Trans(25, 80, 21, 857), - Trans(25, 82, 21, 857), - Trans(25, 85, 21, 857), - Trans(25, 86, 21, 857), - Trans(25, 90, 21, 857), - Trans(25, 92, 21, 857), - Trans(25, 93, 21, 857), - Trans(25, 106, 21, 857), - Trans(25, 109, 21, 857), - Trans(25, 112, 21, 857), - Trans(25, 113, 21, 857), - Trans(25, 114, 21, 857), - Trans(26, 0, 21, 857), - Trans(26, 5, 21, 857), - Trans(26, 31, 21, 857), - Trans(26, 37, 21, 857), - Trans(26, 40, 21, 857), - Trans(26, 44, 21, 857), - Trans(26, 49, 21, 857), - Trans(26, 50, 21, 857), - Trans(26, 51, 21, 857), - Trans(26, 58, 21, 857), - Trans(26, 60, 21, 857), - Trans(26, 61, 21, 857), - Trans(26, 62, 21, 857), - Trans(26, 66, 21, 857), - Trans(26, 67, 21, 857), - Trans(26, 68, 21, 857), - Trans(26, 72, 21, 857), - Trans(26, 73, 21, 857), - Trans(26, 74, 21, 857), - Trans(26, 75, 21, 857), - Trans(26, 79, 21, 857), - Trans(26, 80, 21, 857), - Trans(26, 82, 21, 857), - Trans(26, 85, 21, 857), - Trans(26, 86, 21, 857), - Trans(26, 90, 21, 857), - Trans(26, 92, 21, 857), - Trans(26, 93, 21, 857), - Trans(26, 106, 21, 857), - Trans(26, 109, 21, 857), - Trans(26, 112, 21, 857), - Trans(26, 113, 21, 857), - Trans(26, 114, 21, 857), - Trans(27, 5, 21, 857), - Trans(27, 40, 21, 857), - Trans(28, 5, 21, 857), - Trans(28, 40, 21, 857), - Trans(28, 42, 21, 857), - Trans(29, 5, 21, 857), - Trans(29, 31, 21, 857), - Trans(29, 40, 21, 857), - Trans(29, 72, 21, 857), - Trans(30, 5, 21, 857), - Trans(30, 42, 21, 857), - Trans(31, 5, 21, 857), - Trans(31, 6, 21, 857), - Trans(31, 7, 21, 857), - Trans(31, 8, 21, 857), - Trans(31, 9, 21, 857), - Trans(31, 10, 21, 857), - Trans(31, 11, 21, 857), - Trans(31, 18, 21, 857), - Trans(31, 24, 21, 857), - Trans(31, 25, 21, 857), - Trans(31, 26, 21, 857), - Trans(31, 27, 21, 857), - Trans(31, 39, 21, 857), - Trans(31, 40, 21, 857), - Trans(31, 42, 21, 857), - Trans(31, 53, 21, 857), - Trans(31, 54, 21, 857), - Trans(31, 55, 21, 857), - Trans(31, 56, 21, 857), - Trans(31, 57, 21, 857), - Trans(31, 64, 21, 857), - Trans(31, 65, 21, 857), - Trans(31, 69, 21, 857), - Trans(31, 70, 21, 857), - Trans(31, 72, 21, 857), - Trans(31, 78, 21, 857), - Trans(31, 83, 21, 857), - Trans(31, 84, 21, 857), - Trans(31, 87, 21, 857), - Trans(31, 89, 21, 857), - Trans(31, 96, 21, 857), - Trans(31, 97, 21, 857), - Trans(31, 98, 21, 857), - Trans(31, 99, 21, 857), - Trans(31, 100, 21, 857), - Trans(31, 105, 21, 857), - Trans(31, 107, 21, 857), - Trans(31, 109, 21, 857), - Trans(31, 110, 21, 857), - Trans(31, 111, 21, 857), - Trans(31, 115, 21, 857), - Trans(31, 116, 21, 857), - Trans(32, 5, 21, 857), - Trans(32, 115, 21, 857), - Trans(32, 116, 21, 857), - Trans(33, 5, 21, 857), - Trans(33, 86, 21, 857), - Trans(34, 5, 21, 857), - Trans(34, 80, 21, 857), - Trans(34, 86, 21, 857), - Trans(34, 90, 21, 857), - Trans(34, 92, 21, 857), - Trans(35, 6, 21, 857), - Trans(35, 7, 21, 857), - Trans(35, 8, 21, 857), - Trans(35, 9, 21, 857), - Trans(35, 10, 21, 857), - Trans(35, 11, 21, 857), - Trans(35, 18, 21, 857), - Trans(35, 24, 21, 857), - Trans(35, 25, 21, 857), - Trans(35, 26, 21, 857), - Trans(35, 27, 21, 857), - Trans(35, 39, 21, 857), - Trans(35, 40, 21, 857), - Trans(35, 42, 21, 857), - Trans(35, 53, 21, 857), - Trans(35, 54, 21, 857), - Trans(35, 55, 21, 857), - Trans(35, 56, 21, 857), - Trans(35, 57, 21, 857), - Trans(35, 64, 21, 857), - Trans(35, 65, 21, 857), - Trans(35, 69, 21, 857), - Trans(35, 70, 21, 857), - Trans(35, 72, 21, 857), - Trans(35, 78, 21, 857), - Trans(35, 83, 21, 857), - Trans(35, 84, 21, 857), - Trans(35, 87, 21, 857), - Trans(35, 89, 21, 857), - Trans(35, 96, 21, 857), - Trans(35, 97, 21, 857), - Trans(35, 98, 21, 857), - Trans(35, 99, 21, 857), - Trans(35, 100, 21, 857), - Trans(35, 105, 21, 857), - Trans(35, 107, 21, 857), - Trans(35, 109, 21, 857), - Trans(35, 110, 21, 857), - Trans(35, 111, 21, 857), - Trans(35, 115, 21, 857), - Trans(35, 116, 21, 857), - Trans(36, 5, 21, 857), - Trans(36, 16, 21, 857), - Trans(36, 17, 21, 857), - Trans(36, 18, 21, 857), - Trans(36, 19, 21, 857), - Trans(36, 20, 21, 857), - Trans(36, 21, 21, 857), - Trans(36, 22, 21, 857), - Trans(36, 23, 21, 857), - Trans(36, 24, 21, 857), - Trans(36, 25, 21, 857), - Trans(36, 26, 21, 857), - Trans(36, 31, 21, 857), - Trans(36, 48, 21, 857), - Trans(36, 52, 21, 857), - Trans(37, 5, 21, 857), - Trans(37, 6, 21, 857), - Trans(37, 7, 21, 857), - Trans(37, 8, 21, 857), - Trans(37, 9, 21, 857), - Trans(37, 10, 21, 857), - Trans(37, 11, 21, 857), - Trans(37, 18, 21, 857), - Trans(37, 24, 21, 857), - Trans(37, 25, 21, 857), - Trans(37, 26, 21, 857), - Trans(37, 27, 21, 857), - Trans(37, 39, 21, 857), - Trans(37, 40, 21, 857), - Trans(37, 42, 21, 857), - Trans(37, 53, 21, 857), - Trans(37, 54, 21, 857), - Trans(37, 55, 21, 857), - Trans(37, 56, 21, 857), - Trans(37, 57, 21, 857), - Trans(37, 59, 21, 857), - Trans(37, 64, 21, 857), - Trans(37, 65, 21, 857), - Trans(37, 69, 21, 857), - Trans(37, 70, 21, 857), - Trans(37, 72, 21, 857), - Trans(37, 78, 21, 857), - Trans(37, 83, 21, 857), - Trans(37, 84, 21, 857), - Trans(37, 87, 21, 857), - Trans(37, 89, 21, 857), - Trans(37, 96, 21, 857), - Trans(37, 97, 21, 857), - Trans(37, 98, 21, 857), - Trans(37, 99, 21, 857), - Trans(37, 100, 21, 857), - Trans(37, 105, 21, 857), - Trans(37, 107, 21, 857), - Trans(37, 109, 21, 857), - Trans(37, 110, 21, 857), - Trans(37, 111, 21, 857), - Trans(37, 115, 21, 857), - Trans(37, 116, 21, 857), - Trans(38, 5, 21, 857), - Trans(38, 16, 21, 857), - Trans(38, 17, 21, 857), - Trans(38, 18, 21, 857), - Trans(38, 19, 21, 857), - Trans(38, 20, 21, 857), - Trans(38, 21, 21, 857), - Trans(38, 22, 21, 857), - Trans(38, 23, 21, 857), - Trans(38, 24, 21, 857), - Trans(38, 25, 21, 857), - Trans(38, 26, 21, 857), - Trans(38, 31, 21, 857), - Trans(38, 38, 21, 857), - Trans(38, 48, 21, 857), - Trans(38, 52, 21, 857), - Trans(39, 5, 21, 857), - Trans(39, 16, 21, 857), - Trans(39, 17, 21, 857), - Trans(39, 18, 21, 857), - Trans(39, 19, 21, 857), - Trans(39, 20, 21, 857), - Trans(39, 21, 21, 857), - Trans(39, 22, 21, 857), - Trans(39, 23, 21, 857), - Trans(39, 24, 21, 857), - Trans(39, 25, 21, 857), - Trans(39, 26, 21, 857), - Trans(39, 30, 21, 857), - Trans(39, 31, 21, 857), - Trans(39, 35, 21, 857), - Trans(39, 38, 21, 857), - Trans(39, 41, 21, 857), - Trans(39, 42, 21, 857), - Trans(39, 48, 21, 857), - Trans(39, 52, 21, 857), - Trans(40, 5, 21, 857), - Trans(40, 16, 21, 857), - Trans(40, 17, 21, 857), - Trans(40, 18, 21, 857), - Trans(40, 19, 21, 857), - Trans(40, 20, 21, 857), - Trans(40, 21, 21, 857), - Trans(40, 22, 21, 857), - Trans(40, 23, 21, 857), - Trans(40, 24, 21, 857), - Trans(40, 25, 21, 857), - Trans(40, 26, 21, 857), - Trans(40, 29, 21, 857), - Trans(40, 30, 21, 857), - Trans(40, 31, 21, 857), - Trans(40, 35, 21, 857), - Trans(40, 38, 21, 857), - Trans(40, 41, 21, 857), - Trans(40, 42, 21, 857), - Trans(40, 48, 21, 857), - Trans(40, 52, 21, 857), - Trans(41, 31, 21, 857), - Trans(41, 37, 21, 857), - Trans(41, 40, 21, 857), - Trans(41, 44, 21, 857), - Trans(41, 49, 21, 857), - Trans(41, 50, 21, 857), - Trans(41, 51, 21, 857), - Trans(41, 58, 21, 857), - Trans(41, 62, 21, 857), - Trans(41, 66, 21, 857), - Trans(41, 67, 21, 857), - Trans(41, 68, 21, 857), - Trans(41, 72, 21, 857), - Trans(41, 73, 21, 857), - Trans(41, 75, 21, 857), - Trans(41, 79, 21, 857), - Trans(41, 82, 21, 857), - Trans(41, 85, 21, 857), - Trans(41, 106, 21, 857), - Trans(41, 109, 21, 857), - Trans(41, 112, 21, 857), - Trans(41, 113, 21, 857), - Trans(41, 114, 21, 857), - Trans(42, 5, 21, 857), - Trans(42, 31, 21, 857), - Trans(42, 37, 21, 857), - Trans(42, 40, 21, 857), - Trans(42, 44, 21, 857), - Trans(42, 49, 21, 857), - Trans(42, 50, 21, 857), - Trans(42, 51, 21, 857), - Trans(42, 58, 21, 857), - Trans(42, 62, 21, 857), - Trans(42, 66, 21, 857), - Trans(42, 67, 21, 857), - Trans(42, 68, 21, 857), - Trans(42, 72, 21, 857), - Trans(42, 73, 21, 857), - Trans(42, 75, 21, 857), - Trans(42, 79, 21, 857), - Trans(42, 82, 21, 857), - Trans(42, 85, 21, 857), - Trans(42, 106, 21, 857), - Trans(42, 109, 21, 857), - Trans(42, 112, 21, 857), - Trans(42, 113, 21, 857), - Trans(42, 114, 21, 857), - Trans(43, 5, 21, 857), - Trans(43, 31, 21, 857), - Trans(43, 37, 21, 857), - Trans(43, 40, 21, 857), - Trans(43, 44, 21, 857), - Trans(43, 49, 21, 857), - Trans(43, 50, 21, 857), - Trans(43, 51, 21, 857), - Trans(43, 58, 21, 857), - Trans(43, 62, 21, 857), - Trans(43, 66, 21, 857), - Trans(43, 67, 21, 857), - Trans(43, 68, 21, 857), - Trans(43, 72, 21, 857), - Trans(43, 73, 21, 857), - Trans(43, 75, 21, 857), - Trans(43, 79, 21, 857), - Trans(43, 82, 21, 857), - Trans(43, 106, 21, 857), - Trans(43, 109, 21, 857), - Trans(43, 112, 21, 857), - Trans(43, 113, 21, 857), - Trans(43, 114, 21, 857), - Trans(44, 40, 21, 857), - Trans(45, 5, 21, 857), - Trans(45, 44, 21, 857), - Trans(45, 54, 21, 857), - Trans(45, 67, 21, 857), - Trans(45, 71, 21, 857), - Trans(45, 72, 21, 857), - Trans(45, 82, 21, 857), - Trans(45, 101, 21, 857), - Trans(45, 102, 21, 857), - Trans(45, 107, 21, 857), - Trans(45, 114, 21, 857), - Trans(45, 115, 21, 857), - Trans(45, 116, 21, 857), - Trans(46, 40, 21, 857), - Trans(46, 42, 21, 857), - Trans(47, 41, 21, 857), - Trans(48, 42, 21, 857), - Trans(49, 115, 21, 857), - Trans(49, 116, 21, 857), - Trans(50, 5, 21, 857), - Trans(50, 30, 21, 857), - Trans(50, 47, 21, 857), - Trans(51, 5, 21, 857), - Trans(51, 29, 21, 857), - Trans(51, 30, 21, 857), - Trans(51, 47, 21, 857), - Trans(52, 116, 21, 857), - Trans(53, 5, 21, 857), - Trans(53, 35, 21, 857), - Trans(53, 36, 21, 857), - Trans(53, 41, 21, 857), - Trans(54, 5, 21, 857), - Trans(54, 31, 21, 857), - Trans(55, 5, 21, 857), - Trans(55, 31, 21, 857), - Trans(55, 40, 21, 857), - Trans(56, 5, 21, 857), - Trans(56, 81, 21, 857), - Trans(57, 5, 21, 857), - Trans(57, 13, 21, 857), - Trans(57, 29, 21, 857), - Trans(57, 40, 21, 857), - Trans(57, 42, 21, 857), - Trans(58, 5, 21, 857), - Trans(58, 29, 21, 857), - Trans(58, 40, 21, 857), - Trans(59, 5, 21, 857), - Trans(59, 36, 21, 857), + Trans(22, 0, 21, 864), + Trans(22, 31, 21, 864), + Trans(22, 37, 21, 864), + Trans(22, 40, 21, 864), + Trans(22, 44, 21, 864), + Trans(22, 49, 21, 864), + Trans(22, 50, 21, 864), + Trans(22, 51, 21, 864), + Trans(22, 58, 21, 864), + Trans(22, 60, 21, 864), + Trans(22, 61, 21, 864), + Trans(22, 62, 21, 864), + Trans(22, 66, 21, 864), + Trans(22, 67, 21, 864), + Trans(22, 68, 21, 864), + Trans(22, 72, 21, 864), + Trans(22, 73, 21, 864), + Trans(22, 74, 21, 864), + Trans(22, 75, 21, 864), + Trans(22, 79, 21, 864), + Trans(22, 80, 21, 864), + Trans(22, 82, 21, 864), + Trans(22, 85, 21, 864), + Trans(22, 86, 21, 864), + Trans(22, 90, 21, 864), + Trans(22, 92, 21, 864), + Trans(22, 93, 21, 864), + Trans(22, 106, 21, 864), + Trans(22, 109, 21, 864), + Trans(22, 112, 21, 864), + Trans(22, 113, 21, 864), + Trans(22, 114, 21, 864), + Trans(23, 5, 21, 864), + Trans(23, 116, 21, 864), + Trans(24, 5, 21, 864), + Trans(24, 41, 21, 864), + Trans(25, 5, 21, 864), + Trans(25, 31, 21, 864), + Trans(25, 37, 21, 864), + Trans(25, 40, 21, 864), + Trans(25, 44, 21, 864), + Trans(25, 49, 21, 864), + Trans(25, 50, 21, 864), + Trans(25, 51, 21, 864), + Trans(25, 58, 21, 864), + Trans(25, 61, 21, 864), + Trans(25, 62, 21, 864), + Trans(25, 66, 21, 864), + Trans(25, 67, 21, 864), + Trans(25, 68, 21, 864), + Trans(25, 72, 21, 864), + Trans(25, 73, 21, 864), + Trans(25, 74, 21, 864), + Trans(25, 75, 21, 864), + Trans(25, 79, 21, 864), + Trans(25, 80, 21, 864), + Trans(25, 82, 21, 864), + Trans(25, 85, 21, 864), + Trans(25, 86, 21, 864), + Trans(25, 90, 21, 864), + Trans(25, 92, 21, 864), + Trans(25, 93, 21, 864), + Trans(25, 106, 21, 864), + Trans(25, 109, 21, 864), + Trans(25, 112, 21, 864), + Trans(25, 113, 21, 864), + Trans(25, 114, 21, 864), + Trans(26, 0, 21, 864), + Trans(26, 5, 21, 864), + Trans(26, 31, 21, 864), + Trans(26, 37, 21, 864), + Trans(26, 40, 21, 864), + Trans(26, 44, 21, 864), + Trans(26, 49, 21, 864), + Trans(26, 50, 21, 864), + Trans(26, 51, 21, 864), + Trans(26, 58, 21, 864), + Trans(26, 60, 21, 864), + Trans(26, 61, 21, 864), + Trans(26, 62, 21, 864), + Trans(26, 66, 21, 864), + Trans(26, 67, 21, 864), + Trans(26, 68, 21, 864), + Trans(26, 72, 21, 864), + Trans(26, 73, 21, 864), + Trans(26, 74, 21, 864), + Trans(26, 75, 21, 864), + Trans(26, 79, 21, 864), + Trans(26, 80, 21, 864), + Trans(26, 82, 21, 864), + Trans(26, 85, 21, 864), + Trans(26, 86, 21, 864), + Trans(26, 90, 21, 864), + Trans(26, 92, 21, 864), + Trans(26, 93, 21, 864), + Trans(26, 106, 21, 864), + Trans(26, 109, 21, 864), + Trans(26, 112, 21, 864), + Trans(26, 113, 21, 864), + Trans(26, 114, 21, 864), + Trans(27, 5, 21, 864), + Trans(27, 40, 21, 864), + Trans(28, 5, 21, 864), + Trans(28, 40, 21, 864), + Trans(28, 42, 21, 864), + Trans(29, 5, 21, 864), + Trans(29, 31, 21, 864), + Trans(29, 40, 21, 864), + Trans(29, 72, 21, 864), + Trans(30, 5, 21, 864), + Trans(30, 42, 21, 864), + Trans(31, 5, 21, 864), + Trans(31, 6, 21, 864), + Trans(31, 7, 21, 864), + Trans(31, 8, 21, 864), + Trans(31, 9, 21, 864), + Trans(31, 10, 21, 864), + Trans(31, 11, 21, 864), + Trans(31, 18, 21, 864), + Trans(31, 24, 21, 864), + Trans(31, 25, 21, 864), + Trans(31, 26, 21, 864), + Trans(31, 27, 21, 864), + Trans(31, 39, 21, 864), + Trans(31, 40, 21, 864), + Trans(31, 42, 21, 864), + Trans(31, 53, 21, 864), + Trans(31, 54, 21, 864), + Trans(31, 55, 21, 864), + Trans(31, 56, 21, 864), + Trans(31, 57, 21, 864), + Trans(31, 64, 21, 864), + Trans(31, 65, 21, 864), + Trans(31, 69, 21, 864), + Trans(31, 70, 21, 864), + Trans(31, 72, 21, 864), + Trans(31, 78, 21, 864), + Trans(31, 83, 21, 864), + Trans(31, 84, 21, 864), + Trans(31, 87, 21, 864), + Trans(31, 89, 21, 864), + Trans(31, 96, 21, 864), + Trans(31, 97, 21, 864), + Trans(31, 98, 21, 864), + Trans(31, 99, 21, 864), + Trans(31, 100, 21, 864), + Trans(31, 105, 21, 864), + Trans(31, 107, 21, 864), + Trans(31, 109, 21, 864), + Trans(31, 110, 21, 864), + Trans(31, 111, 21, 864), + Trans(31, 115, 21, 864), + Trans(31, 116, 21, 864), + Trans(32, 5, 21, 864), + Trans(32, 115, 21, 864), + Trans(32, 116, 21, 864), + Trans(33, 5, 21, 864), + Trans(33, 86, 21, 864), + Trans(34, 5, 21, 864), + Trans(34, 80, 21, 864), + Trans(34, 86, 21, 864), + Trans(34, 90, 21, 864), + Trans(34, 92, 21, 864), + Trans(35, 6, 21, 864), + Trans(35, 7, 21, 864), + Trans(35, 8, 21, 864), + Trans(35, 9, 21, 864), + Trans(35, 10, 21, 864), + Trans(35, 11, 21, 864), + Trans(35, 18, 21, 864), + Trans(35, 24, 21, 864), + Trans(35, 25, 21, 864), + Trans(35, 26, 21, 864), + Trans(35, 27, 21, 864), + Trans(35, 39, 21, 864), + Trans(35, 40, 21, 864), + Trans(35, 42, 21, 864), + Trans(35, 53, 21, 864), + Trans(35, 54, 21, 864), + Trans(35, 55, 21, 864), + Trans(35, 56, 21, 864), + Trans(35, 57, 21, 864), + Trans(35, 64, 21, 864), + Trans(35, 65, 21, 864), + Trans(35, 69, 21, 864), + Trans(35, 70, 21, 864), + Trans(35, 72, 21, 864), + Trans(35, 78, 21, 864), + Trans(35, 83, 21, 864), + Trans(35, 84, 21, 864), + Trans(35, 87, 21, 864), + Trans(35, 89, 21, 864), + Trans(35, 96, 21, 864), + Trans(35, 97, 21, 864), + Trans(35, 98, 21, 864), + Trans(35, 99, 21, 864), + Trans(35, 100, 21, 864), + Trans(35, 105, 21, 864), + Trans(35, 107, 21, 864), + Trans(35, 109, 21, 864), + Trans(35, 110, 21, 864), + Trans(35, 111, 21, 864), + Trans(35, 115, 21, 864), + Trans(35, 116, 21, 864), + Trans(36, 5, 21, 864), + Trans(36, 16, 21, 864), + Trans(36, 17, 21, 864), + Trans(36, 18, 21, 864), + Trans(36, 19, 21, 864), + Trans(36, 20, 21, 864), + Trans(36, 21, 21, 864), + Trans(36, 22, 21, 864), + Trans(36, 23, 21, 864), + Trans(36, 24, 21, 864), + Trans(36, 25, 21, 864), + Trans(36, 26, 21, 864), + Trans(36, 31, 21, 864), + Trans(36, 48, 21, 864), + Trans(36, 52, 21, 864), + Trans(37, 5, 21, 864), + Trans(37, 6, 21, 864), + Trans(37, 7, 21, 864), + Trans(37, 8, 21, 864), + Trans(37, 9, 21, 864), + Trans(37, 10, 21, 864), + Trans(37, 11, 21, 864), + Trans(37, 18, 21, 864), + Trans(37, 24, 21, 864), + Trans(37, 25, 21, 864), + Trans(37, 26, 21, 864), + Trans(37, 27, 21, 864), + Trans(37, 39, 21, 864), + Trans(37, 40, 21, 864), + Trans(37, 42, 21, 864), + Trans(37, 53, 21, 864), + Trans(37, 54, 21, 864), + Trans(37, 55, 21, 864), + Trans(37, 56, 21, 864), + Trans(37, 57, 21, 864), + Trans(37, 59, 21, 864), + Trans(37, 64, 21, 864), + Trans(37, 65, 21, 864), + Trans(37, 69, 21, 864), + Trans(37, 70, 21, 864), + Trans(37, 72, 21, 864), + Trans(37, 78, 21, 864), + Trans(37, 83, 21, 864), + Trans(37, 84, 21, 864), + Trans(37, 87, 21, 864), + Trans(37, 89, 21, 864), + Trans(37, 96, 21, 864), + Trans(37, 97, 21, 864), + Trans(37, 98, 21, 864), + Trans(37, 99, 21, 864), + Trans(37, 100, 21, 864), + Trans(37, 105, 21, 864), + Trans(37, 107, 21, 864), + Trans(37, 109, 21, 864), + Trans(37, 110, 21, 864), + Trans(37, 111, 21, 864), + Trans(37, 115, 21, 864), + Trans(37, 116, 21, 864), + Trans(38, 5, 21, 864), + Trans(38, 16, 21, 864), + Trans(38, 17, 21, 864), + Trans(38, 18, 21, 864), + Trans(38, 19, 21, 864), + Trans(38, 20, 21, 864), + Trans(38, 21, 21, 864), + Trans(38, 22, 21, 864), + Trans(38, 23, 21, 864), + Trans(38, 24, 21, 864), + Trans(38, 25, 21, 864), + Trans(38, 26, 21, 864), + Trans(38, 31, 21, 864), + Trans(38, 38, 21, 864), + Trans(38, 48, 21, 864), + Trans(38, 52, 21, 864), + Trans(39, 5, 21, 864), + Trans(39, 16, 21, 864), + Trans(39, 17, 21, 864), + Trans(39, 18, 21, 864), + Trans(39, 19, 21, 864), + Trans(39, 20, 21, 864), + Trans(39, 21, 21, 864), + Trans(39, 22, 21, 864), + Trans(39, 23, 21, 864), + Trans(39, 24, 21, 864), + Trans(39, 25, 21, 864), + Trans(39, 26, 21, 864), + Trans(39, 30, 21, 864), + Trans(39, 31, 21, 864), + Trans(39, 35, 21, 864), + Trans(39, 38, 21, 864), + Trans(39, 41, 21, 864), + Trans(39, 42, 21, 864), + Trans(39, 48, 21, 864), + Trans(39, 52, 21, 864), + Trans(40, 5, 21, 864), + Trans(40, 16, 21, 864), + Trans(40, 17, 21, 864), + Trans(40, 18, 21, 864), + Trans(40, 19, 21, 864), + Trans(40, 20, 21, 864), + Trans(40, 21, 21, 864), + Trans(40, 22, 21, 864), + Trans(40, 23, 21, 864), + Trans(40, 24, 21, 864), + Trans(40, 25, 21, 864), + Trans(40, 26, 21, 864), + Trans(40, 29, 21, 864), + Trans(40, 30, 21, 864), + Trans(40, 31, 21, 864), + Trans(40, 35, 21, 864), + Trans(40, 38, 21, 864), + Trans(40, 41, 21, 864), + Trans(40, 42, 21, 864), + Trans(40, 48, 21, 864), + Trans(40, 52, 21, 864), + Trans(41, 31, 21, 864), + Trans(41, 37, 21, 864), + Trans(41, 40, 21, 864), + Trans(41, 44, 21, 864), + Trans(41, 49, 21, 864), + Trans(41, 50, 21, 864), + Trans(41, 51, 21, 864), + Trans(41, 58, 21, 864), + Trans(41, 62, 21, 864), + Trans(41, 66, 21, 864), + Trans(41, 67, 21, 864), + Trans(41, 68, 21, 864), + Trans(41, 72, 21, 864), + Trans(41, 73, 21, 864), + Trans(41, 75, 21, 864), + Trans(41, 79, 21, 864), + Trans(41, 82, 21, 864), + Trans(41, 85, 21, 864), + Trans(41, 106, 21, 864), + Trans(41, 109, 21, 864), + Trans(41, 112, 21, 864), + Trans(41, 113, 21, 864), + Trans(41, 114, 21, 864), + Trans(42, 5, 21, 864), + Trans(42, 31, 21, 864), + Trans(42, 37, 21, 864), + Trans(42, 40, 21, 864), + Trans(42, 44, 21, 864), + Trans(42, 49, 21, 864), + Trans(42, 50, 21, 864), + Trans(42, 51, 21, 864), + Trans(42, 58, 21, 864), + Trans(42, 62, 21, 864), + Trans(42, 66, 21, 864), + Trans(42, 67, 21, 864), + Trans(42, 68, 21, 864), + Trans(42, 72, 21, 864), + Trans(42, 73, 21, 864), + Trans(42, 75, 21, 864), + Trans(42, 79, 21, 864), + Trans(42, 82, 21, 864), + Trans(42, 85, 21, 864), + Trans(42, 106, 21, 864), + Trans(42, 109, 21, 864), + Trans(42, 112, 21, 864), + Trans(42, 113, 21, 864), + Trans(42, 114, 21, 864), + Trans(43, 5, 21, 864), + Trans(43, 31, 21, 864), + Trans(43, 37, 21, 864), + Trans(43, 40, 21, 864), + Trans(43, 44, 21, 864), + Trans(43, 49, 21, 864), + Trans(43, 50, 21, 864), + Trans(43, 51, 21, 864), + Trans(43, 58, 21, 864), + Trans(43, 62, 21, 864), + Trans(43, 66, 21, 864), + Trans(43, 67, 21, 864), + Trans(43, 68, 21, 864), + Trans(43, 72, 21, 864), + Trans(43, 73, 21, 864), + Trans(43, 75, 21, 864), + Trans(43, 79, 21, 864), + Trans(43, 82, 21, 864), + Trans(43, 106, 21, 864), + Trans(43, 109, 21, 864), + Trans(43, 112, 21, 864), + Trans(43, 113, 21, 864), + Trans(43, 114, 21, 864), + Trans(44, 40, 21, 864), + Trans(45, 5, 21, 864), + Trans(45, 37, 21, 864), + Trans(45, 40, 21, 864), + Trans(45, 44, 21, 864), + Trans(45, 54, 21, 864), + Trans(45, 67, 21, 864), + Trans(45, 71, 21, 864), + Trans(45, 72, 21, 864), + Trans(45, 82, 21, 864), + Trans(45, 101, 21, 864), + Trans(45, 102, 21, 864), + Trans(45, 107, 21, 864), + Trans(45, 114, 21, 864), + Trans(45, 115, 21, 864), + Trans(45, 116, 21, 864), + Trans(46, 40, 21, 864), + Trans(46, 42, 21, 864), + Trans(47, 41, 21, 864), + Trans(48, 42, 21, 864), + Trans(49, 115, 21, 864), + Trans(49, 116, 21, 864), + Trans(50, 5, 21, 864), + Trans(50, 30, 21, 864), + Trans(50, 47, 21, 864), + Trans(51, 5, 21, 864), + Trans(51, 29, 21, 864), + Trans(51, 30, 21, 864), + Trans(51, 47, 21, 864), + Trans(52, 116, 21, 864), + Trans(53, 5, 21, 864), + Trans(53, 35, 21, 864), + Trans(53, 36, 21, 864), + Trans(53, 41, 21, 864), + Trans(54, 5, 21, 864), + Trans(54, 31, 21, 864), + Trans(55, 5, 21, 864), + Trans(55, 31, 21, 864), + Trans(55, 40, 21, 864), + Trans(56, 5, 21, 864), + Trans(56, 81, 21, 864), + Trans(57, 5, 21, 864), + Trans(57, 13, 21, 864), + Trans(57, 29, 21, 864), + Trans(57, 40, 21, 864), + Trans(57, 42, 21, 864), + Trans(58, 5, 21, 864), + Trans(58, 29, 21, 864), + Trans(58, 40, 21, 864), + Trans(59, 5, 21, 864), + Trans(59, 36, 21, 864), ], k: 3, }, @@ -7209,30 +7221,30 @@ pub const LOOKAHEAD_AUTOMATA: &[LookaheadDFA; 668] = &[ LookaheadDFA { prod0: -1, transitions: &[ - Trans(0, 31, 2, 859), - Trans(0, 37, 2, 859), - Trans(0, 40, 2, 859), - Trans(0, 44, 2, 859), - Trans(0, 49, 2, 859), - Trans(0, 50, 2, 859), - Trans(0, 51, 2, 859), - Trans(0, 58, 2, 859), - Trans(0, 60, 1, 858), - Trans(0, 62, 2, 859), - Trans(0, 66, 2, 859), - Trans(0, 67, 2, 859), - Trans(0, 68, 2, 859), - Trans(0, 72, 2, 859), - Trans(0, 73, 2, 859), - Trans(0, 75, 2, 859), - Trans(0, 79, 2, 859), - Trans(0, 82, 2, 859), - Trans(0, 85, 2, 859), - Trans(0, 106, 2, 859), - Trans(0, 109, 2, 859), - Trans(0, 112, 2, 859), - Trans(0, 113, 2, 859), - Trans(0, 114, 2, 859), + Trans(0, 31, 2, 866), + Trans(0, 37, 2, 866), + Trans(0, 40, 2, 866), + Trans(0, 44, 2, 866), + Trans(0, 49, 2, 866), + Trans(0, 50, 2, 866), + Trans(0, 51, 2, 866), + Trans(0, 58, 2, 866), + Trans(0, 60, 1, 865), + Trans(0, 62, 2, 866), + Trans(0, 66, 2, 866), + Trans(0, 67, 2, 866), + Trans(0, 68, 2, 866), + Trans(0, 72, 2, 866), + Trans(0, 73, 2, 866), + Trans(0, 75, 2, 866), + Trans(0, 79, 2, 866), + Trans(0, 82, 2, 866), + Trans(0, 85, 2, 866), + Trans(0, 106, 2, 866), + Trans(0, 109, 2, 866), + Trans(0, 112, 2, 866), + Trans(0, 113, 2, 866), + Trans(0, 114, 2, 866), ], k: 1, }, @@ -7240,31 +7252,31 @@ pub const LOOKAHEAD_AUTOMATA: &[LookaheadDFA; 668] = &[ LookaheadDFA { prod0: -1, transitions: &[ - Trans(0, 31, 11, 889), - Trans(0, 49, 6, 884), - Trans(0, 50, 5, 883), - Trans(0, 51, 7, 885), - Trans(0, 58, 4, 882), - Trans(0, 62, 13, 891), - Trans(0, 66, 17, 895), - Trans(0, 67, 10, 888), - Trans(0, 68, 8, 886), - Trans(0, 72, 9, 887), - Trans(0, 73, 15, 893), - Trans(0, 75, 16, 894), - Trans(0, 79, 3, 881), - Trans(0, 82, 1, 879), - Trans(0, 106, 14, 892), - Trans(0, 109, 12, 890), - Trans(0, 112, 14, 892), - Trans(0, 113, 18, 896), - Trans(0, 114, 2, 880), + Trans(0, 31, 11, 896), + Trans(0, 49, 6, 891), + Trans(0, 50, 5, 890), + Trans(0, 51, 7, 892), + Trans(0, 58, 4, 889), + Trans(0, 62, 13, 898), + Trans(0, 66, 17, 902), + Trans(0, 67, 10, 895), + Trans(0, 68, 8, 893), + Trans(0, 72, 9, 894), + Trans(0, 73, 15, 900), + Trans(0, 75, 16, 901), + Trans(0, 79, 3, 888), + Trans(0, 82, 1, 886), + Trans(0, 106, 14, 899), + Trans(0, 109, 12, 897), + Trans(0, 112, 14, 899), + Trans(0, 113, 18, 903), + Trans(0, 114, 2, 887), ], k: 1, }, /* 250 - "GenerateNamedBlock" */ LookaheadDFA { - prod0: 864, + prod0: 871, transitions: &[], k: 0, }, @@ -7272,34 +7284,34 @@ pub const LOOKAHEAD_AUTOMATA: &[LookaheadDFA; 668] = &[ LookaheadDFA { prod0: -1, transitions: &[ - Trans(0, 31, 1, 865), - Trans(0, 37, 1, 865), - Trans(0, 40, 1, 865), - Trans(0, 44, 2, 866), - Trans(0, 49, 1, 865), - Trans(0, 50, 1, 865), - Trans(0, 51, 1, 865), - Trans(0, 58, 1, 865), - Trans(0, 62, 1, 865), - Trans(0, 66, 1, 865), - Trans(0, 67, 1, 865), - Trans(0, 68, 1, 865), - Trans(0, 72, 1, 865), - Trans(0, 73, 1, 865), - Trans(0, 75, 1, 865), - Trans(0, 79, 1, 865), - Trans(0, 82, 1, 865), - Trans(0, 106, 1, 865), - Trans(0, 109, 1, 865), - Trans(0, 112, 1, 865), - Trans(0, 113, 1, 865), - Trans(0, 114, 1, 865), + Trans(0, 31, 1, 872), + Trans(0, 37, 1, 872), + Trans(0, 40, 1, 872), + Trans(0, 44, 2, 873), + Trans(0, 49, 1, 872), + Trans(0, 50, 1, 872), + Trans(0, 51, 1, 872), + Trans(0, 58, 1, 872), + Trans(0, 62, 1, 872), + Trans(0, 66, 1, 872), + Trans(0, 67, 1, 872), + Trans(0, 68, 1, 872), + Trans(0, 72, 1, 872), + Trans(0, 73, 1, 872), + Trans(0, 75, 1, 872), + Trans(0, 79, 1, 872), + Trans(0, 82, 1, 872), + Trans(0, 106, 1, 872), + Trans(0, 109, 1, 872), + Trans(0, 112, 1, 872), + Trans(0, 113, 1, 872), + Trans(0, 114, 1, 872), ], k: 1, }, /* 252 - "GenerateOptionalNamedBlock" */ LookaheadDFA { - prod0: 867, + prod0: 874, transitions: &[], k: 0, }, @@ -7307,45 +7319,45 @@ pub const LOOKAHEAD_AUTOMATA: &[LookaheadDFA; 668] = &[ LookaheadDFA { prod0: -1, transitions: &[ - Trans(0, 31, 1, 868), - Trans(0, 37, 1, 868), - Trans(0, 40, 1, 868), - Trans(0, 44, 2, 869), - Trans(0, 49, 1, 868), - Trans(0, 50, 1, 868), - Trans(0, 51, 1, 868), - Trans(0, 58, 1, 868), - Trans(0, 62, 1, 868), - Trans(0, 66, 1, 868), - Trans(0, 67, 1, 868), - Trans(0, 68, 1, 868), - Trans(0, 72, 1, 868), - Trans(0, 73, 1, 868), - Trans(0, 75, 1, 868), - Trans(0, 79, 1, 868), - Trans(0, 82, 1, 868), - Trans(0, 106, 1, 868), - Trans(0, 109, 1, 868), - Trans(0, 112, 1, 868), - Trans(0, 113, 1, 868), - Trans(0, 114, 1, 868), + Trans(0, 31, 1, 875), + Trans(0, 37, 1, 875), + Trans(0, 40, 1, 875), + Trans(0, 44, 2, 876), + Trans(0, 49, 1, 875), + Trans(0, 50, 1, 875), + Trans(0, 51, 1, 875), + Trans(0, 58, 1, 875), + Trans(0, 62, 1, 875), + Trans(0, 66, 1, 875), + Trans(0, 67, 1, 875), + Trans(0, 68, 1, 875), + Trans(0, 72, 1, 875), + Trans(0, 73, 1, 875), + Trans(0, 75, 1, 875), + Trans(0, 79, 1, 875), + Trans(0, 82, 1, 875), + Trans(0, 106, 1, 875), + Trans(0, 109, 1, 875), + Trans(0, 112, 1, 875), + Trans(0, 113, 1, 875), + Trans(0, 114, 1, 875), ], k: 1, }, /* 254 - "GenerateOptionalNamedBlockOpt" */ LookaheadDFA { prod0: -1, - transitions: &[Trans(0, 31, 1, 870), Trans(0, 40, 2, 871)], + transitions: &[Trans(0, 31, 1, 877), Trans(0, 40, 2, 878)], k: 1, }, /* 255 - "GenericBound" */ LookaheadDFA { prod0: -1, transitions: &[ - Trans(0, 58, 1, 746), - Trans(0, 109, 2, 747), - Trans(0, 115, 3, 748), - Trans(0, 116, 3, 748), + Trans(0, 58, 1, 753), + Trans(0, 109, 2, 754), + Trans(0, 115, 3, 755), + Trans(0, 116, 3, 755), ], k: 1, }, @@ -7452,7 +7464,7 @@ pub const LOOKAHEAD_AUTOMATA: &[LookaheadDFA; 668] = &[ }, /* 270 - "IdentifierStatement" */ LookaheadDFA { - prod0: 571, + prod0: 578, transitions: &[], k: 0, }, @@ -7460,9 +7472,9 @@ pub const LOOKAHEAD_AUTOMATA: &[LookaheadDFA; 668] = &[ LookaheadDFA { prod0: -1, transitions: &[ - Trans(0, 15, 2, 573), - Trans(0, 36, 2, 573), - Trans(0, 42, 1, 572), + Trans(0, 15, 2, 580), + Trans(0, 36, 2, 580), + Trans(0, 42, 1, 579), ], k: 1, }, @@ -7595,7 +7607,7 @@ pub const LOOKAHEAD_AUTOMATA: &[LookaheadDFA; 668] = &[ }, /* 278 - "IfResetStatement" */ LookaheadDFA { - prod0: 582, + prod0: 589, transitions: &[], k: 0, }, @@ -7614,1572 +7626,1737 @@ pub const LOOKAHEAD_AUTOMATA: &[LookaheadDFA; 668] = &[ Trans(0, 25, 6, -1), Trans(0, 26, 6, -1), Trans(0, 27, 6, -1), - Trans(0, 39, 7, -1), - Trans(0, 40, 8, -1), - Trans(0, 42, 9, -1), - Trans(0, 44, 10, -1), - Trans(0, 53, 11, -1), - Trans(0, 54, 12, -1), - Trans(0, 55, 11, -1), - Trans(0, 56, 11, -1), - Trans(0, 57, 11, -1), - Trans(0, 59, 13, -1), + Trans(0, 37, 7, -1), + Trans(0, 39, 8, -1), + Trans(0, 40, 9, -1), + Trans(0, 42, 10, -1), + Trans(0, 44, 11, -1), + Trans(0, 53, 12, -1), + Trans(0, 54, 13, -1), + Trans(0, 55, 12, -1), + Trans(0, 56, 12, -1), + Trans(0, 57, 12, -1), + Trans(0, 59, 14, -1), Trans(0, 60, 1, -1), Trans(0, 64, 5, -1), Trans(0, 65, 5, -1), - Trans(0, 67, 14, -1), + Trans(0, 67, 15, -1), Trans(0, 69, 5, -1), Trans(0, 70, 5, -1), - Trans(0, 71, 15, -1), - Trans(0, 72, 12, -1), - Trans(0, 78, 12, -1), - Trans(0, 82, 14, -1), - Trans(0, 83, 11, -1), + Trans(0, 71, 16, -1), + Trans(0, 72, 13, -1), + Trans(0, 78, 13, -1), + Trans(0, 82, 15, -1), + Trans(0, 83, 12, -1), Trans(0, 84, 5, -1), Trans(0, 87, 5, -1), - Trans(0, 89, 12, -1), - Trans(0, 96, 11, -1), - Trans(0, 97, 11, -1), - Trans(0, 98, 11, -1), - Trans(0, 99, 11, -1), - Trans(0, 100, 11, -1), - Trans(0, 101, 16, -1), - Trans(0, 102, 17, -1), + Trans(0, 89, 13, -1), + Trans(0, 96, 12, -1), + Trans(0, 97, 12, -1), + Trans(0, 98, 12, -1), + Trans(0, 99, 12, -1), + Trans(0, 100, 12, -1), + Trans(0, 101, 17, -1), + Trans(0, 102, 18, -1), Trans(0, 105, 5, -1), - Trans(0, 107, 18, -1), - Trans(0, 109, 19, -1), + Trans(0, 107, 19, -1), + Trans(0, 109, 20, -1), Trans(0, 110, 5, -1), Trans(0, 111, 5, -1), - Trans(0, 114, 14, -1), - Trans(0, 115, 20, -1), - Trans(0, 116, 21, -1), + Trans(0, 114, 15, -1), + Trans(0, 115, 21, -1), + Trans(0, 116, 22, -1), Trans(1, 5, 4, -1), - Trans(1, 40, 72, -1), + Trans(1, 40, 54, -1), Trans(1, 72, 2, -1), - Trans(2, 5, 3, 583), - Trans(2, 6, 3, 583), - Trans(2, 7, 3, 583), - Trans(2, 8, 3, 583), - Trans(2, 9, 3, 583), - Trans(2, 10, 3, 583), - Trans(2, 11, 3, 583), - Trans(2, 18, 3, 583), - Trans(2, 24, 3, 583), - Trans(2, 25, 3, 583), - Trans(2, 26, 3, 583), - Trans(2, 27, 3, 583), - Trans(2, 39, 3, 583), - Trans(2, 40, 3, 583), - Trans(2, 42, 3, 583), - Trans(2, 53, 3, 583), - Trans(2, 54, 3, 583), - Trans(2, 55, 3, 583), - Trans(2, 56, 3, 583), - Trans(2, 57, 3, 583), - Trans(2, 64, 3, 583), - Trans(2, 65, 3, 583), - Trans(2, 69, 3, 583), - Trans(2, 70, 3, 583), - Trans(2, 72, 3, 583), - Trans(2, 78, 3, 583), - Trans(2, 83, 3, 583), - Trans(2, 84, 3, 583), - Trans(2, 87, 3, 583), - Trans(2, 89, 3, 583), - Trans(2, 96, 3, 583), - Trans(2, 97, 3, 583), - Trans(2, 98, 3, 583), - Trans(2, 99, 3, 583), - Trans(2, 100, 3, 583), - Trans(2, 105, 3, 583), - Trans(2, 107, 3, 583), - Trans(2, 109, 3, 583), - Trans(2, 110, 3, 583), - Trans(2, 111, 3, 583), - Trans(2, 115, 3, 583), - Trans(2, 116, 3, 583), - Trans(4, 40, 42, 584), - Trans(4, 72, 3, 583), - Trans(5, 5, 69, -1), - Trans(5, 16, 24, -1), - Trans(5, 17, 24, -1), - Trans(5, 18, 24, -1), - Trans(5, 19, 24, -1), - Trans(5, 20, 24, -1), - Trans(5, 21, 24, -1), - Trans(5, 22, 24, -1), - Trans(5, 23, 24, -1), - Trans(5, 24, 24, -1), - Trans(5, 25, 24, -1), - Trans(5, 26, 24, -1), - Trans(5, 31, 64, -1), - Trans(5, 32, 24, -1), - Trans(5, 33, 24, -1), - Trans(5, 34, 24, -1), - Trans(5, 48, 24, -1), - Trans(5, 52, 66, -1), - Trans(6, 5, 43, -1), - Trans(6, 6, 23, -1), - Trans(6, 7, 23, -1), - Trans(6, 8, 23, -1), - Trans(6, 9, 23, -1), - Trans(6, 10, 23, -1), - Trans(6, 11, 23, -1), - Trans(6, 18, 24, -1), - Trans(6, 24, 24, -1), - Trans(6, 25, 24, -1), - Trans(6, 26, 24, -1), - Trans(6, 27, 24, -1), - Trans(6, 39, 27, -1), - Trans(6, 40, 24, -1), - Trans(6, 42, 24, -1), - Trans(6, 53, 32, -1), - Trans(6, 54, 24, -1), - Trans(6, 55, 32, -1), - Trans(6, 56, 32, -1), - Trans(6, 57, 32, -1), - Trans(6, 64, 23, -1), - Trans(6, 65, 23, -1), - Trans(6, 69, 23, -1), - Trans(6, 70, 23, -1), - Trans(6, 72, 24, -1), - Trans(6, 78, 24, -1), - Trans(6, 83, 32, -1), - Trans(6, 84, 23, -1), - Trans(6, 87, 23, -1), - Trans(6, 89, 24, -1), - Trans(6, 96, 32, -1), - Trans(6, 97, 32, -1), - Trans(6, 98, 32, -1), - Trans(6, 99, 32, -1), - Trans(6, 100, 32, -1), - Trans(6, 105, 23, -1), - Trans(6, 107, 30, -1), - Trans(6, 109, 39, -1), - Trans(6, 110, 23, -1), - Trans(6, 111, 23, -1), - Trans(6, 115, 44, -1), - Trans(6, 116, 45, -1), - Trans(7, 5, 46, -1), - Trans(7, 6, 47, -1), - Trans(7, 7, 47, -1), - Trans(7, 8, 47, -1), - Trans(7, 9, 47, -1), - Trans(7, 10, 47, -1), - Trans(7, 11, 47, -1), - Trans(7, 18, 24, -1), - Trans(7, 24, 24, -1), - Trans(7, 25, 24, -1), - Trans(7, 26, 24, -1), - Trans(7, 27, 24, -1), - Trans(7, 39, 27, -1), - Trans(7, 40, 24, -1), - Trans(7, 42, 24, -1), - Trans(7, 53, 48, -1), - Trans(7, 54, 24, -1), - Trans(7, 55, 48, -1), - Trans(7, 56, 48, -1), - Trans(7, 57, 48, -1), - Trans(7, 59, 33, -1), - Trans(7, 64, 47, -1), - Trans(7, 65, 47, -1), - Trans(7, 69, 47, -1), - Trans(7, 70, 47, -1), - Trans(7, 72, 24, -1), - Trans(7, 78, 24, -1), - Trans(7, 83, 48, -1), - Trans(7, 84, 47, -1), - Trans(7, 87, 47, -1), - Trans(7, 89, 24, -1), - Trans(7, 96, 48, -1), - Trans(7, 97, 48, -1), - Trans(7, 98, 48, -1), - Trans(7, 99, 48, -1), - Trans(7, 100, 48, -1), - Trans(7, 105, 47, -1), - Trans(7, 107, 30, -1), - Trans(7, 109, 39, -1), - Trans(7, 110, 47, -1), - Trans(7, 111, 47, -1), - Trans(7, 115, 49, -1), - Trans(7, 116, 50, -1), - Trans(8, 5, 43, -1), - Trans(8, 6, 47, -1), - Trans(8, 7, 47, -1), - Trans(8, 8, 47, -1), - Trans(8, 9, 47, -1), - Trans(8, 10, 47, -1), - Trans(8, 11, 47, -1), - Trans(8, 18, 24, -1), - Trans(8, 24, 24, -1), - Trans(8, 25, 24, -1), - Trans(8, 26, 24, -1), - Trans(8, 27, 24, -1), - Trans(8, 39, 27, -1), - Trans(8, 40, 24, -1), - Trans(8, 42, 24, -1), - Trans(8, 53, 48, -1), - Trans(8, 54, 24, -1), - Trans(8, 55, 48, -1), - Trans(8, 56, 48, -1), - Trans(8, 57, 48, -1), - Trans(8, 64, 47, -1), - Trans(8, 65, 47, -1), - Trans(8, 69, 47, -1), - Trans(8, 70, 47, -1), - Trans(8, 72, 24, -1), - Trans(8, 78, 24, -1), - Trans(8, 83, 48, -1), - Trans(8, 84, 47, -1), - Trans(8, 87, 47, -1), - Trans(8, 89, 24, -1), - Trans(8, 96, 48, -1), - Trans(8, 97, 48, -1), - Trans(8, 98, 48, -1), - Trans(8, 99, 48, -1), - Trans(8, 100, 48, -1), - Trans(8, 105, 47, -1), - Trans(8, 107, 30, -1), - Trans(8, 109, 39, -1), - Trans(8, 110, 47, -1), - Trans(8, 111, 47, -1), - Trans(8, 115, 49, -1), - Trans(8, 116, 50, -1), - Trans(9, 5, 43, -1), - Trans(9, 6, 51, -1), - Trans(9, 7, 51, -1), - Trans(9, 8, 51, -1), - Trans(9, 9, 51, -1), - Trans(9, 10, 51, -1), - Trans(9, 11, 51, -1), - Trans(9, 18, 24, -1), - Trans(9, 24, 24, -1), - Trans(9, 25, 24, -1), - Trans(9, 26, 24, -1), - Trans(9, 27, 24, -1), - Trans(9, 39, 27, -1), - Trans(9, 40, 24, -1), - Trans(9, 42, 24, -1), - Trans(9, 53, 52, -1), - Trans(9, 54, 24, -1), - Trans(9, 55, 52, -1), - Trans(9, 56, 52, -1), - Trans(9, 57, 52, -1), - Trans(9, 64, 51, -1), - Trans(9, 65, 51, -1), - Trans(9, 69, 51, -1), - Trans(9, 70, 51, -1), - Trans(9, 72, 24, -1), - Trans(9, 78, 24, -1), - Trans(9, 83, 52, -1), - Trans(9, 84, 51, -1), - Trans(9, 87, 51, -1), - Trans(9, 89, 24, -1), - Trans(9, 96, 52, -1), - Trans(9, 97, 52, -1), - Trans(9, 98, 52, -1), - Trans(9, 99, 52, -1), - Trans(9, 100, 52, -1), - Trans(9, 105, 51, -1), - Trans(9, 107, 30, -1), - Trans(9, 109, 39, -1), - Trans(9, 110, 51, -1), - Trans(9, 111, 51, -1), - Trans(9, 115, 53, -1), - Trans(9, 116, 54, -1), - Trans(10, 5, 22, -1), - Trans(10, 6, 23, -1), - Trans(10, 7, 23, -1), - Trans(10, 8, 23, -1), - Trans(10, 9, 23, -1), - Trans(10, 10, 23, -1), - Trans(10, 11, 23, -1), - Trans(10, 18, 24, -1), - Trans(10, 24, 24, -1), - Trans(10, 25, 24, -1), - Trans(10, 26, 24, -1), - Trans(10, 27, 24, -1), - Trans(10, 31, 25, -1), - Trans(10, 37, 26, -1), - Trans(10, 39, 27, -1), - Trans(10, 40, 28, -1), - Trans(10, 42, 24, -1), - Trans(10, 44, 29, -1), - Trans(10, 49, 30, -1), - Trans(10, 50, 31, -1), - Trans(10, 51, 25, -1), - Trans(10, 53, 32, -1), - Trans(10, 54, 24, -1), - Trans(10, 55, 32, -1), - Trans(10, 56, 32, -1), - Trans(10, 57, 32, -1), - Trans(10, 58, 25, -1), - Trans(10, 59, 33, -1), - Trans(10, 60, 34, -1), - Trans(10, 62, 25, -1), - Trans(10, 63, 35, -1), - Trans(10, 64, 23, -1), - Trans(10, 65, 23, -1), - Trans(10, 66, 30, -1), - Trans(10, 67, 25, -1), - Trans(10, 68, 25, -1), - Trans(10, 69, 23, -1), - Trans(10, 70, 23, -1), - Trans(10, 71, 30, -1), - Trans(10, 72, 24, -1), - Trans(10, 73, 36, -1), - Trans(10, 75, 30, -1), - Trans(10, 78, 24, -1), - Trans(10, 79, 25, -1), - Trans(10, 82, 25, -1), - Trans(10, 83, 32, -1), - Trans(10, 84, 23, -1), - Trans(10, 85, 25, -1), - Trans(10, 87, 23, -1), - Trans(10, 89, 24, -1), - Trans(10, 96, 32, -1), - Trans(10, 97, 32, -1), - Trans(10, 98, 32, -1), - Trans(10, 99, 32, -1), - Trans(10, 100, 32, -1), - Trans(10, 101, 24, -1), - Trans(10, 102, 37, -1), - Trans(10, 105, 23, -1), - Trans(10, 106, 25, -1), - Trans(10, 107, 30, -1), - Trans(10, 109, 38, -1), - Trans(10, 110, 23, -1), - Trans(10, 111, 23, -1), - Trans(10, 112, 25, -1), - Trans(10, 113, 39, -1), - Trans(10, 114, 25, -1), - Trans(10, 115, 40, -1), - Trans(10, 116, 41, -1), - Trans(11, 5, 70, -1), - Trans(11, 16, 24, -1), - Trans(11, 17, 24, -1), - Trans(11, 18, 24, -1), - Trans(11, 19, 24, -1), - Trans(11, 20, 24, -1), - Trans(11, 21, 24, -1), - Trans(11, 22, 24, -1), - Trans(11, 23, 24, -1), - Trans(11, 24, 24, -1), - Trans(11, 25, 24, -1), - Trans(11, 26, 24, -1), - Trans(11, 31, 64, -1), - Trans(11, 32, 24, -1), - Trans(11, 33, 24, -1), - Trans(11, 34, 24, -1), - Trans(11, 38, 24, -1), - Trans(11, 48, 24, -1), - Trans(11, 52, 66, -1), - Trans(12, 5, 43, -1), - Trans(12, 6, 55, -1), - Trans(12, 7, 55, -1), - Trans(12, 8, 55, -1), - Trans(12, 9, 55, -1), - Trans(12, 10, 55, -1), - Trans(12, 11, 55, -1), - Trans(12, 18, 24, -1), - Trans(12, 24, 24, -1), - Trans(12, 25, 24, -1), - Trans(12, 26, 24, -1), - Trans(12, 27, 24, -1), - Trans(12, 39, 27, -1), - Trans(12, 40, 24, -1), - Trans(12, 42, 24, -1), - Trans(12, 53, 56, -1), - Trans(12, 54, 24, -1), - Trans(12, 55, 56, -1), - Trans(12, 56, 56, -1), - Trans(12, 57, 56, -1), - Trans(12, 64, 55, -1), - Trans(12, 65, 55, -1), - Trans(12, 69, 55, -1), - Trans(12, 70, 55, -1), - Trans(12, 72, 24, -1), - Trans(12, 78, 24, -1), - Trans(12, 83, 56, -1), - Trans(12, 84, 55, -1), - Trans(12, 87, 55, -1), - Trans(12, 89, 24, -1), - Trans(12, 96, 56, -1), - Trans(12, 97, 56, -1), - Trans(12, 98, 56, -1), - Trans(12, 99, 56, -1), - Trans(12, 100, 56, -1), - Trans(12, 105, 55, -1), - Trans(12, 107, 30, -1), - Trans(12, 109, 39, -1), - Trans(12, 110, 55, -1), - Trans(12, 111, 55, -1), - Trans(12, 115, 57, -1), - Trans(12, 116, 58, -1), - Trans(13, 5, 71, -1), - Trans(13, 31, 64, -1), + Trans(2, 5, 3, 590), + Trans(2, 6, 3, 590), + Trans(2, 7, 3, 590), + Trans(2, 8, 3, 590), + Trans(2, 9, 3, 590), + Trans(2, 10, 3, 590), + Trans(2, 11, 3, 590), + Trans(2, 18, 3, 590), + Trans(2, 24, 3, 590), + Trans(2, 25, 3, 590), + Trans(2, 26, 3, 590), + Trans(2, 27, 3, 590), + Trans(2, 39, 3, 590), + Trans(2, 40, 3, 590), + Trans(2, 42, 3, 590), + Trans(2, 53, 3, 590), + Trans(2, 54, 3, 590), + Trans(2, 55, 3, 590), + Trans(2, 56, 3, 590), + Trans(2, 57, 3, 590), + Trans(2, 64, 3, 590), + Trans(2, 65, 3, 590), + Trans(2, 69, 3, 590), + Trans(2, 70, 3, 590), + Trans(2, 72, 3, 590), + Trans(2, 78, 3, 590), + Trans(2, 83, 3, 590), + Trans(2, 84, 3, 590), + Trans(2, 87, 3, 590), + Trans(2, 89, 3, 590), + Trans(2, 96, 3, 590), + Trans(2, 97, 3, 590), + Trans(2, 98, 3, 590), + Trans(2, 99, 3, 590), + Trans(2, 100, 3, 590), + Trans(2, 105, 3, 590), + Trans(2, 107, 3, 590), + Trans(2, 109, 3, 590), + Trans(2, 110, 3, 590), + Trans(2, 111, 3, 590), + Trans(2, 115, 3, 590), + Trans(2, 116, 3, 590), + Trans(4, 40, 43, 591), + Trans(4, 72, 3, 590), + Trans(5, 5, 75, -1), + Trans(5, 16, 25, -1), + Trans(5, 17, 25, -1), + Trans(5, 18, 25, -1), + Trans(5, 19, 25, -1), + Trans(5, 20, 25, -1), + Trans(5, 21, 25, -1), + Trans(5, 22, 25, -1), + Trans(5, 23, 25, -1), + Trans(5, 24, 25, -1), + Trans(5, 25, 25, -1), + Trans(5, 26, 25, -1), + Trans(5, 31, 70, -1), + Trans(5, 32, 25, -1), + Trans(5, 33, 25, -1), + Trans(5, 34, 25, -1), + Trans(5, 48, 25, -1), + Trans(5, 52, 72, -1), + Trans(6, 5, 44, -1), + Trans(6, 6, 24, -1), + Trans(6, 7, 24, -1), + Trans(6, 8, 24, -1), + Trans(6, 9, 24, -1), + Trans(6, 10, 24, -1), + Trans(6, 11, 24, -1), + Trans(6, 18, 25, -1), + Trans(6, 24, 25, -1), + Trans(6, 25, 25, -1), + Trans(6, 26, 25, -1), + Trans(6, 27, 25, -1), + Trans(6, 39, 28, -1), + Trans(6, 40, 25, -1), + Trans(6, 42, 25, -1), + Trans(6, 53, 33, -1), + Trans(6, 54, 25, -1), + Trans(6, 55, 33, -1), + Trans(6, 56, 33, -1), + Trans(6, 57, 33, -1), + Trans(6, 64, 24, -1), + Trans(6, 65, 24, -1), + Trans(6, 69, 24, -1), + Trans(6, 70, 24, -1), + Trans(6, 72, 25, -1), + Trans(6, 78, 25, -1), + Trans(6, 83, 33, -1), + Trans(6, 84, 24, -1), + Trans(6, 87, 24, -1), + Trans(6, 89, 25, -1), + Trans(6, 96, 33, -1), + Trans(6, 97, 33, -1), + Trans(6, 98, 33, -1), + Trans(6, 99, 33, -1), + Trans(6, 100, 33, -1), + Trans(6, 105, 24, -1), + Trans(6, 107, 31, -1), + Trans(6, 109, 40, -1), + Trans(6, 110, 24, -1), + Trans(6, 111, 24, -1), + Trans(6, 115, 45, -1), + Trans(6, 116, 46, -1), + Trans(7, 5, 80, -1), + Trans(7, 41, 26, -1), + Trans(8, 5, 47, -1), + Trans(8, 6, 48, -1), + Trans(8, 7, 48, -1), + Trans(8, 8, 48, -1), + Trans(8, 9, 48, -1), + Trans(8, 10, 48, -1), + Trans(8, 11, 48, -1), + Trans(8, 18, 25, -1), + Trans(8, 24, 25, -1), + Trans(8, 25, 25, -1), + Trans(8, 26, 25, -1), + Trans(8, 27, 25, -1), + Trans(8, 39, 28, -1), + Trans(8, 40, 25, -1), + Trans(8, 42, 25, -1), + Trans(8, 53, 49, -1), + Trans(8, 54, 25, -1), + Trans(8, 55, 49, -1), + Trans(8, 56, 49, -1), + Trans(8, 57, 49, -1), + Trans(8, 59, 34, -1), + Trans(8, 64, 48, -1), + Trans(8, 65, 48, -1), + Trans(8, 69, 48, -1), + Trans(8, 70, 48, -1), + Trans(8, 72, 25, -1), + Trans(8, 78, 25, -1), + Trans(8, 83, 49, -1), + Trans(8, 84, 48, -1), + Trans(8, 87, 48, -1), + Trans(8, 89, 25, -1), + Trans(8, 96, 49, -1), + Trans(8, 97, 49, -1), + Trans(8, 98, 49, -1), + Trans(8, 99, 49, -1), + Trans(8, 100, 49, -1), + Trans(8, 105, 48, -1), + Trans(8, 107, 31, -1), + Trans(8, 109, 40, -1), + Trans(8, 110, 48, -1), + Trans(8, 111, 48, -1), + Trans(8, 115, 50, -1), + Trans(8, 116, 51, -1), + Trans(9, 5, 52, -1), + Trans(9, 6, 48, -1), + Trans(9, 7, 48, -1), + Trans(9, 8, 48, -1), + Trans(9, 9, 48, -1), + Trans(9, 10, 48, -1), + Trans(9, 11, 48, -1), + Trans(9, 18, 25, -1), + Trans(9, 24, 25, -1), + Trans(9, 25, 25, -1), + Trans(9, 26, 25, -1), + Trans(9, 27, 25, -1), + Trans(9, 37, 27, -1), + Trans(9, 39, 28, -1), + Trans(9, 40, 53, -1), + Trans(9, 42, 25, -1), + Trans(9, 44, 54, -1), + Trans(9, 53, 49, -1), + Trans(9, 54, 25, -1), + Trans(9, 55, 49, -1), + Trans(9, 56, 49, -1), + Trans(9, 57, 49, -1), + Trans(9, 64, 48, -1), + Trans(9, 65, 48, -1), + Trans(9, 67, 26, -1), + Trans(9, 69, 48, -1), + Trans(9, 70, 48, -1), + Trans(9, 71, 31, -1), + Trans(9, 72, 25, -1), + Trans(9, 78, 25, -1), + Trans(9, 82, 26, -1), + Trans(9, 83, 49, -1), + Trans(9, 84, 48, -1), + Trans(9, 87, 48, -1), + Trans(9, 89, 25, -1), + Trans(9, 96, 49, -1), + Trans(9, 97, 49, -1), + Trans(9, 98, 49, -1), + Trans(9, 99, 49, -1), + Trans(9, 100, 49, -1), + Trans(9, 101, 25, -1), + Trans(9, 102, 38, -1), + Trans(9, 105, 48, -1), + Trans(9, 107, 31, -1), + Trans(9, 109, 40, -1), + Trans(9, 110, 48, -1), + Trans(9, 111, 48, -1), + Trans(9, 114, 26, -1), + Trans(9, 115, 55, -1), + Trans(9, 116, 56, -1), + Trans(10, 5, 44, -1), + Trans(10, 6, 57, -1), + Trans(10, 7, 57, -1), + Trans(10, 8, 57, -1), + Trans(10, 9, 57, -1), + Trans(10, 10, 57, -1), + Trans(10, 11, 57, -1), + Trans(10, 18, 25, -1), + Trans(10, 24, 25, -1), + Trans(10, 25, 25, -1), + Trans(10, 26, 25, -1), + Trans(10, 27, 25, -1), + Trans(10, 39, 28, -1), + Trans(10, 40, 25, -1), + Trans(10, 42, 25, -1), + Trans(10, 53, 58, -1), + Trans(10, 54, 25, -1), + Trans(10, 55, 58, -1), + Trans(10, 56, 58, -1), + Trans(10, 57, 58, -1), + Trans(10, 64, 57, -1), + Trans(10, 65, 57, -1), + Trans(10, 69, 57, -1), + Trans(10, 70, 57, -1), + Trans(10, 72, 25, -1), + Trans(10, 78, 25, -1), + Trans(10, 83, 58, -1), + Trans(10, 84, 57, -1), + Trans(10, 87, 57, -1), + Trans(10, 89, 25, -1), + Trans(10, 96, 58, -1), + Trans(10, 97, 58, -1), + Trans(10, 98, 58, -1), + Trans(10, 99, 58, -1), + Trans(10, 100, 58, -1), + Trans(10, 105, 57, -1), + Trans(10, 107, 31, -1), + Trans(10, 109, 40, -1), + Trans(10, 110, 57, -1), + Trans(10, 111, 57, -1), + Trans(10, 115, 59, -1), + Trans(10, 116, 60, -1), + Trans(11, 5, 23, -1), + Trans(11, 6, 24, -1), + Trans(11, 7, 24, -1), + Trans(11, 8, 24, -1), + Trans(11, 9, 24, -1), + Trans(11, 10, 24, -1), + Trans(11, 11, 24, -1), + Trans(11, 18, 25, -1), + Trans(11, 24, 25, -1), + Trans(11, 25, 25, -1), + Trans(11, 26, 25, -1), + Trans(11, 27, 25, -1), + Trans(11, 31, 26, -1), + Trans(11, 37, 27, -1), + Trans(11, 39, 28, -1), + Trans(11, 40, 29, -1), + Trans(11, 42, 25, -1), + Trans(11, 44, 30, -1), + Trans(11, 49, 31, -1), + Trans(11, 50, 32, -1), + Trans(11, 51, 26, -1), + Trans(11, 53, 33, -1), + Trans(11, 54, 25, -1), + Trans(11, 55, 33, -1), + Trans(11, 56, 33, -1), + Trans(11, 57, 33, -1), + Trans(11, 58, 26, -1), + Trans(11, 59, 34, -1), + Trans(11, 60, 35, -1), + Trans(11, 62, 26, -1), + Trans(11, 63, 36, -1), + Trans(11, 64, 24, -1), + Trans(11, 65, 24, -1), + Trans(11, 66, 31, -1), + Trans(11, 67, 26, -1), + Trans(11, 68, 26, -1), + Trans(11, 69, 24, -1), + Trans(11, 70, 24, -1), + Trans(11, 71, 31, -1), + Trans(11, 72, 25, -1), + Trans(11, 73, 37, -1), + Trans(11, 75, 31, -1), + Trans(11, 78, 25, -1), + Trans(11, 79, 26, -1), + Trans(11, 82, 26, -1), + Trans(11, 83, 33, -1), + Trans(11, 84, 24, -1), + Trans(11, 85, 26, -1), + Trans(11, 87, 24, -1), + Trans(11, 89, 25, -1), + Trans(11, 96, 33, -1), + Trans(11, 97, 33, -1), + Trans(11, 98, 33, -1), + Trans(11, 99, 33, -1), + Trans(11, 100, 33, -1), + Trans(11, 101, 25, -1), + Trans(11, 102, 38, -1), + Trans(11, 105, 24, -1), + Trans(11, 106, 26, -1), + Trans(11, 107, 31, -1), + Trans(11, 109, 39, -1), + Trans(11, 110, 24, -1), + Trans(11, 111, 24, -1), + Trans(11, 112, 26, -1), + Trans(11, 113, 40, -1), + Trans(11, 114, 26, -1), + Trans(11, 115, 41, -1), + Trans(11, 116, 42, -1), + Trans(12, 5, 76, -1), + Trans(12, 16, 25, -1), + Trans(12, 17, 25, -1), + Trans(12, 18, 25, -1), + Trans(12, 19, 25, -1), + Trans(12, 20, 25, -1), + Trans(12, 21, 25, -1), + Trans(12, 22, 25, -1), + Trans(12, 23, 25, -1), + Trans(12, 24, 25, -1), + Trans(12, 25, 25, -1), + Trans(12, 26, 25, -1), + Trans(12, 31, 70, -1), + Trans(12, 32, 25, -1), + Trans(12, 33, 25, -1), + Trans(12, 34, 25, -1), + Trans(12, 38, 25, -1), + Trans(12, 48, 25, -1), + Trans(12, 52, 72, -1), + Trans(13, 5, 44, -1), + Trans(13, 6, 61, -1), + Trans(13, 7, 61, -1), + Trans(13, 8, 61, -1), + Trans(13, 9, 61, -1), + Trans(13, 10, 61, -1), + Trans(13, 11, 61, -1), + Trans(13, 18, 25, -1), + Trans(13, 24, 25, -1), + Trans(13, 25, 25, -1), + Trans(13, 26, 25, -1), + Trans(13, 27, 25, -1), + Trans(13, 39, 28, -1), + Trans(13, 40, 25, -1), + Trans(13, 42, 25, -1), + Trans(13, 53, 62, -1), + Trans(13, 54, 25, -1), + Trans(13, 55, 62, -1), + Trans(13, 56, 62, -1), + Trans(13, 57, 62, -1), + Trans(13, 64, 61, -1), + Trans(13, 65, 61, -1), + Trans(13, 69, 61, -1), + Trans(13, 70, 61, -1), + Trans(13, 72, 25, -1), + Trans(13, 78, 25, -1), + Trans(13, 83, 62, -1), + Trans(13, 84, 61, -1), + Trans(13, 87, 61, -1), + Trans(13, 89, 25, -1), + Trans(13, 96, 62, -1), + Trans(13, 97, 62, -1), + Trans(13, 98, 62, -1), + Trans(13, 99, 62, -1), + Trans(13, 100, 62, -1), + Trans(13, 105, 61, -1), + Trans(13, 107, 31, -1), + Trans(13, 109, 40, -1), + Trans(13, 110, 61, -1), + Trans(13, 111, 61, -1), + Trans(13, 115, 63, -1), + Trans(13, 116, 64, -1), Trans(14, 5, 77, -1), - Trans(14, 116, 33, -1), - Trans(15, 5, 73, -1), - Trans(15, 40, 72, -1), - Trans(16, 5, 43, -1), - Trans(16, 6, 59, -1), - Trans(16, 7, 59, -1), - Trans(16, 8, 59, -1), - Trans(16, 9, 59, -1), - Trans(16, 10, 59, -1), - Trans(16, 11, 59, -1), - Trans(16, 18, 24, -1), - Trans(16, 24, 24, -1), - Trans(16, 25, 24, -1), - Trans(16, 26, 24, -1), - Trans(16, 27, 24, -1), - Trans(16, 39, 27, -1), - Trans(16, 40, 24, -1), - Trans(16, 42, 24, -1), - Trans(16, 53, 60, -1), - Trans(16, 54, 24, -1), - Trans(16, 55, 60, -1), - Trans(16, 56, 60, -1), - Trans(16, 57, 60, -1), - Trans(16, 64, 59, -1), - Trans(16, 65, 59, -1), - Trans(16, 69, 59, -1), - Trans(16, 70, 59, -1), - Trans(16, 72, 24, -1), - Trans(16, 78, 24, -1), - Trans(16, 83, 60, -1), - Trans(16, 84, 59, -1), - Trans(16, 87, 59, -1), - Trans(16, 89, 24, -1), - Trans(16, 96, 60, -1), - Trans(16, 97, 60, -1), - Trans(16, 98, 60, -1), - Trans(16, 99, 60, -1), - Trans(16, 100, 60, -1), - Trans(16, 105, 59, -1), - Trans(16, 107, 30, -1), - Trans(16, 109, 39, -1), - Trans(16, 110, 59, -1), - Trans(16, 111, 59, -1), - Trans(16, 115, 61, -1), - Trans(16, 116, 62, -1), - Trans(17, 5, 76, -1), - Trans(17, 47, 72, -1), - Trans(18, 5, 73, -1), - Trans(18, 40, 74, -1), - Trans(19, 5, 75, -1), - Trans(19, 42, 24, -1), - Trans(20, 5, 63, -1), - Trans(20, 15, 24, -1), - Trans(20, 16, 24, -1), - Trans(20, 17, 24, -1), - Trans(20, 18, 24, -1), - Trans(20, 19, 24, -1), - Trans(20, 20, 24, -1), - Trans(20, 21, 24, -1), - Trans(20, 22, 24, -1), - Trans(20, 23, 24, -1), - Trans(20, 24, 24, -1), - Trans(20, 25, 24, -1), - Trans(20, 26, 24, -1), - Trans(20, 30, 25, -1), - Trans(20, 31, 64, -1), - Trans(20, 32, 24, -1), - Trans(20, 33, 24, -1), - Trans(20, 34, 24, -1), - Trans(20, 35, 25, -1), - Trans(20, 36, 24, -1), - Trans(20, 38, 24, -1), - Trans(20, 41, 24, -1), - Trans(20, 42, 65, -1), - Trans(20, 48, 24, -1), - Trans(20, 52, 66, -1), - Trans(21, 5, 67, -1), - Trans(21, 15, 24, -1), - Trans(21, 16, 24, -1), - Trans(21, 17, 24, -1), - Trans(21, 18, 24, -1), - Trans(21, 19, 24, -1), - Trans(21, 20, 24, -1), - Trans(21, 21, 24, -1), - Trans(21, 22, 24, -1), - Trans(21, 23, 24, -1), - Trans(21, 24, 24, -1), - Trans(21, 25, 24, -1), - Trans(21, 26, 24, -1), - Trans(21, 29, 68, -1), - Trans(21, 30, 25, -1), - Trans(21, 31, 64, -1), - Trans(21, 32, 24, -1), - Trans(21, 33, 24, -1), - Trans(21, 34, 24, -1), - Trans(21, 35, 25, -1), - Trans(21, 36, 24, -1), - Trans(21, 38, 24, -1), - Trans(21, 41, 24, -1), - Trans(21, 42, 65, -1), - Trans(21, 48, 24, -1), - Trans(21, 52, 66, -1), - Trans(22, 6, 42, 584), - Trans(22, 7, 42, 584), - Trans(22, 8, 42, 584), - Trans(22, 9, 42, 584), - Trans(22, 10, 42, 584), - Trans(22, 11, 42, 584), - Trans(22, 18, 42, 584), - Trans(22, 24, 42, 584), - Trans(22, 25, 42, 584), - Trans(22, 26, 42, 584), - Trans(22, 27, 42, 584), - Trans(22, 31, 42, 584), - Trans(22, 37, 42, 584), - Trans(22, 39, 42, 584), - Trans(22, 40, 42, 584), - Trans(22, 42, 42, 584), - Trans(22, 44, 42, 584), - Trans(22, 49, 42, 584), - Trans(22, 50, 42, 584), - Trans(22, 51, 42, 584), - Trans(22, 53, 42, 584), - Trans(22, 54, 42, 584), - Trans(22, 55, 42, 584), - Trans(22, 56, 42, 584), - Trans(22, 57, 42, 584), - Trans(22, 58, 42, 584), - Trans(22, 59, 42, 584), - Trans(22, 60, 42, 584), - Trans(22, 62, 42, 584), - Trans(22, 63, 42, 584), - Trans(22, 64, 42, 584), - Trans(22, 65, 42, 584), - Trans(22, 66, 42, 584), - Trans(22, 67, 42, 584), - Trans(22, 68, 42, 584), - Trans(22, 69, 42, 584), - Trans(22, 70, 42, 584), - Trans(22, 71, 42, 584), - Trans(22, 72, 42, 584), - Trans(22, 73, 42, 584), - Trans(22, 75, 42, 584), - Trans(22, 78, 42, 584), - Trans(22, 79, 42, 584), - Trans(22, 82, 42, 584), - Trans(22, 83, 42, 584), - Trans(22, 84, 42, 584), - Trans(22, 85, 42, 584), - Trans(22, 87, 42, 584), - Trans(22, 89, 42, 584), - Trans(22, 96, 42, 584), - Trans(22, 97, 42, 584), - Trans(22, 98, 42, 584), - Trans(22, 99, 42, 584), - Trans(22, 100, 42, 584), - Trans(22, 101, 42, 584), - Trans(22, 102, 42, 584), - Trans(22, 105, 42, 584), - Trans(22, 106, 42, 584), - Trans(22, 107, 42, 584), - Trans(22, 109, 42, 584), - Trans(22, 110, 42, 584), - Trans(22, 111, 42, 584), - Trans(22, 112, 42, 584), - Trans(22, 113, 42, 584), - Trans(22, 114, 42, 584), - Trans(22, 115, 42, 584), - Trans(22, 116, 42, 584), - Trans(23, 5, 42, 584), - Trans(23, 16, 42, 584), - Trans(23, 17, 42, 584), - Trans(23, 18, 42, 584), - Trans(23, 19, 42, 584), - Trans(23, 20, 42, 584), - Trans(23, 21, 42, 584), - Trans(23, 22, 42, 584), - Trans(23, 23, 42, 584), - Trans(23, 24, 42, 584), - Trans(23, 25, 42, 584), - Trans(23, 26, 42, 584), - Trans(23, 31, 42, 584), - Trans(23, 32, 42, 584), - Trans(23, 33, 42, 584), - Trans(23, 34, 42, 584), - Trans(23, 48, 42, 584), - Trans(23, 52, 42, 584), - Trans(24, 5, 42, 584), - Trans(24, 6, 42, 584), - Trans(24, 7, 42, 584), - Trans(24, 8, 42, 584), - Trans(24, 9, 42, 584), - Trans(24, 10, 42, 584), - Trans(24, 11, 42, 584), - Trans(24, 18, 42, 584), - Trans(24, 24, 42, 584), - Trans(24, 25, 42, 584), - Trans(24, 26, 42, 584), - Trans(24, 27, 42, 584), - Trans(24, 39, 42, 584), - Trans(24, 40, 42, 584), - Trans(24, 42, 42, 584), - Trans(24, 53, 42, 584), - Trans(24, 54, 42, 584), - Trans(24, 55, 42, 584), - Trans(24, 56, 42, 584), - Trans(24, 57, 42, 584), - Trans(24, 64, 42, 584), - Trans(24, 65, 42, 584), - Trans(24, 69, 42, 584), - Trans(24, 70, 42, 584), - Trans(24, 72, 42, 584), - Trans(24, 78, 42, 584), - Trans(24, 83, 42, 584), - Trans(24, 84, 42, 584), - Trans(24, 87, 42, 584), - Trans(24, 89, 42, 584), - Trans(24, 96, 42, 584), - Trans(24, 97, 42, 584), - Trans(24, 98, 42, 584), - Trans(24, 99, 42, 584), - Trans(24, 100, 42, 584), - Trans(24, 105, 42, 584), - Trans(24, 107, 42, 584), - Trans(24, 109, 42, 584), - Trans(24, 110, 42, 584), - Trans(24, 111, 42, 584), - Trans(24, 115, 42, 584), - Trans(24, 116, 42, 584), - Trans(25, 5, 42, 584), - Trans(25, 116, 42, 584), - Trans(26, 5, 42, 584), - Trans(26, 41, 42, 584), - Trans(27, 5, 42, 584), - Trans(27, 6, 42, 584), - Trans(27, 7, 42, 584), - Trans(27, 8, 42, 584), - Trans(27, 9, 42, 584), - Trans(27, 10, 42, 584), - Trans(27, 11, 42, 584), - Trans(27, 18, 42, 584), - Trans(27, 24, 42, 584), - Trans(27, 25, 42, 584), - Trans(27, 26, 42, 584), - Trans(27, 27, 42, 584), - Trans(27, 39, 42, 584), - Trans(27, 40, 42, 584), - Trans(27, 42, 42, 584), - Trans(27, 53, 42, 584), - Trans(27, 54, 42, 584), - Trans(27, 55, 42, 584), - Trans(27, 56, 42, 584), - Trans(27, 57, 42, 584), - Trans(27, 59, 42, 584), - Trans(27, 64, 42, 584), - Trans(27, 65, 42, 584), - Trans(27, 69, 42, 584), - Trans(27, 70, 42, 584), - Trans(27, 72, 42, 584), - Trans(27, 78, 42, 584), - Trans(27, 83, 42, 584), - Trans(27, 84, 42, 584), - Trans(27, 87, 42, 584), - Trans(27, 89, 42, 584), - Trans(27, 96, 42, 584), - Trans(27, 97, 42, 584), - Trans(27, 98, 42, 584), - Trans(27, 99, 42, 584), - Trans(27, 100, 42, 584), - Trans(27, 105, 42, 584), - Trans(27, 107, 42, 584), - Trans(27, 109, 42, 584), - Trans(27, 110, 42, 584), - Trans(27, 111, 42, 584), - Trans(27, 115, 42, 584), - Trans(27, 116, 42, 584), - Trans(28, 5, 42, 584), - Trans(28, 6, 42, 584), - Trans(28, 7, 42, 584), - Trans(28, 8, 42, 584), - Trans(28, 9, 42, 584), - Trans(28, 10, 42, 584), - Trans(28, 11, 42, 584), - Trans(28, 18, 42, 584), - Trans(28, 24, 42, 584), - Trans(28, 25, 42, 584), - Trans(28, 26, 42, 584), - Trans(28, 27, 42, 584), - Trans(28, 31, 42, 584), - Trans(28, 37, 42, 584), - Trans(28, 39, 42, 584), - Trans(28, 40, 42, 584), - Trans(28, 42, 42, 584), - Trans(28, 44, 42, 584), - Trans(28, 49, 42, 584), - Trans(28, 50, 42, 584), - Trans(28, 51, 42, 584), - Trans(28, 53, 42, 584), - Trans(28, 54, 42, 584), - Trans(28, 55, 42, 584), - Trans(28, 56, 42, 584), - Trans(28, 57, 42, 584), - Trans(28, 58, 42, 584), - Trans(28, 62, 42, 584), - Trans(28, 63, 42, 584), - Trans(28, 64, 42, 584), - Trans(28, 65, 42, 584), - Trans(28, 66, 42, 584), - Trans(28, 67, 42, 584), - Trans(28, 68, 42, 584), - Trans(28, 69, 42, 584), - Trans(28, 70, 42, 584), - Trans(28, 72, 42, 584), - Trans(28, 73, 42, 584), - Trans(28, 75, 42, 584), - Trans(28, 78, 42, 584), - Trans(28, 79, 42, 584), - Trans(28, 82, 42, 584), - Trans(28, 83, 42, 584), - Trans(28, 84, 42, 584), - Trans(28, 85, 42, 584), - Trans(28, 87, 42, 584), - Trans(28, 89, 42, 584), - Trans(28, 96, 42, 584), - Trans(28, 97, 42, 584), - Trans(28, 98, 42, 584), - Trans(28, 99, 42, 584), - Trans(28, 100, 42, 584), - Trans(28, 105, 42, 584), - Trans(28, 106, 42, 584), - Trans(28, 107, 42, 584), - Trans(28, 109, 42, 584), - Trans(28, 110, 42, 584), - Trans(28, 111, 42, 584), - Trans(28, 112, 42, 584), - Trans(28, 113, 42, 584), - Trans(28, 114, 42, 584), - Trans(28, 115, 42, 584), - Trans(28, 116, 42, 584), - Trans(29, 0, 42, 584), - Trans(29, 5, 42, 584), - Trans(29, 6, 42, 584), - Trans(29, 7, 42, 584), - Trans(29, 8, 42, 584), - Trans(29, 9, 42, 584), - Trans(29, 10, 42, 584), - Trans(29, 11, 42, 584), - Trans(29, 18, 42, 584), - Trans(29, 24, 42, 584), - Trans(29, 25, 42, 584), - Trans(29, 26, 42, 584), - Trans(29, 27, 42, 584), - Trans(29, 31, 42, 584), - Trans(29, 37, 42, 584), - Trans(29, 39, 42, 584), - Trans(29, 40, 42, 584), - Trans(29, 42, 42, 584), - Trans(29, 44, 42, 584), - Trans(29, 49, 42, 584), - Trans(29, 50, 42, 584), - Trans(29, 51, 42, 584), - Trans(29, 53, 42, 584), - Trans(29, 54, 42, 584), - Trans(29, 55, 42, 584), - Trans(29, 56, 42, 584), - Trans(29, 57, 42, 584), - Trans(29, 58, 42, 584), - Trans(29, 59, 42, 584), - Trans(29, 60, 42, 584), - Trans(29, 61, 42, 584), - Trans(29, 62, 42, 584), - Trans(29, 63, 42, 584), - Trans(29, 64, 42, 584), - Trans(29, 65, 42, 584), - Trans(29, 66, 42, 584), - Trans(29, 67, 42, 584), - Trans(29, 68, 42, 584), - Trans(29, 69, 42, 584), - Trans(29, 70, 42, 584), - Trans(29, 71, 42, 584), - Trans(29, 72, 42, 584), - Trans(29, 73, 42, 584), - Trans(29, 74, 42, 584), - Trans(29, 75, 42, 584), - Trans(29, 78, 42, 584), - Trans(29, 79, 42, 584), - Trans(29, 80, 42, 584), - Trans(29, 82, 42, 584), - Trans(29, 83, 42, 584), - Trans(29, 84, 42, 584), - Trans(29, 85, 42, 584), - Trans(29, 86, 42, 584), - Trans(29, 87, 42, 584), - Trans(29, 89, 42, 584), - Trans(29, 90, 42, 584), - Trans(29, 92, 42, 584), - Trans(29, 93, 42, 584), - Trans(29, 96, 42, 584), - Trans(29, 97, 42, 584), - Trans(29, 98, 42, 584), - Trans(29, 99, 42, 584), - Trans(29, 100, 42, 584), - Trans(29, 101, 42, 584), - Trans(29, 102, 42, 584), - Trans(29, 105, 42, 584), - Trans(29, 106, 42, 584), - Trans(29, 107, 42, 584), - Trans(29, 109, 42, 584), - Trans(29, 110, 42, 584), - Trans(29, 111, 42, 584), - Trans(29, 112, 42, 584), - Trans(29, 113, 42, 584), - Trans(29, 114, 42, 584), - Trans(29, 115, 42, 584), - Trans(29, 116, 42, 584), - Trans(30, 5, 42, 584), - Trans(30, 40, 42, 584), - Trans(31, 5, 42, 584), - Trans(31, 40, 42, 584), - Trans(31, 42, 42, 584), - Trans(32, 5, 42, 584), - Trans(32, 16, 42, 584), - Trans(32, 17, 42, 584), - Trans(32, 18, 42, 584), - Trans(32, 19, 42, 584), - Trans(32, 20, 42, 584), - Trans(32, 21, 42, 584), - Trans(32, 22, 42, 584), - Trans(32, 23, 42, 584), - Trans(32, 24, 42, 584), - Trans(32, 25, 42, 584), - Trans(32, 26, 42, 584), - Trans(32, 31, 42, 584), - Trans(32, 32, 42, 584), - Trans(32, 33, 42, 584), - Trans(32, 34, 42, 584), - Trans(32, 38, 42, 584), - Trans(32, 48, 42, 584), - Trans(32, 52, 42, 584), - Trans(33, 5, 42, 584), - Trans(33, 31, 42, 584), - Trans(34, 5, 42, 584), - Trans(34, 40, 42, 584), - Trans(34, 72, 42, 584), - Trans(35, 5, 42, 584), - Trans(35, 48, 42, 584), - Trans(35, 115, 42, 584), - Trans(35, 116, 42, 584), - Trans(36, 5, 42, 584), - Trans(36, 115, 42, 584), - Trans(36, 116, 42, 584), - Trans(37, 5, 42, 584), - Trans(37, 47, 42, 584), - Trans(38, 5, 42, 584), - Trans(38, 42, 42, 584), - Trans(38, 116, 42, 584), - Trans(39, 5, 42, 584), - Trans(39, 42, 42, 584), - Trans(40, 5, 42, 584), - Trans(40, 15, 42, 584), - Trans(40, 16, 42, 584), - Trans(40, 17, 42, 584), - Trans(40, 18, 42, 584), - Trans(40, 19, 42, 584), - Trans(40, 20, 42, 584), - Trans(40, 21, 42, 584), - Trans(40, 22, 42, 584), - Trans(40, 23, 42, 584), - Trans(40, 24, 42, 584), - Trans(40, 25, 42, 584), - Trans(40, 26, 42, 584), - Trans(40, 30, 42, 584), - Trans(40, 31, 42, 584), - Trans(40, 32, 42, 584), - Trans(40, 33, 42, 584), - Trans(40, 34, 42, 584), - Trans(40, 35, 42, 584), - Trans(40, 36, 42, 584), - Trans(40, 38, 42, 584), - Trans(40, 41, 42, 584), - Trans(40, 42, 42, 584), - Trans(40, 48, 42, 584), - Trans(40, 52, 42, 584), - Trans(41, 5, 42, 584), - Trans(41, 15, 42, 584), - Trans(41, 16, 42, 584), - Trans(41, 17, 42, 584), - Trans(41, 18, 42, 584), - Trans(41, 19, 42, 584), - Trans(41, 20, 42, 584), - Trans(41, 21, 42, 584), - Trans(41, 22, 42, 584), - Trans(41, 23, 42, 584), - Trans(41, 24, 42, 584), - Trans(41, 25, 42, 584), - Trans(41, 26, 42, 584), - Trans(41, 29, 42, 584), - Trans(41, 30, 42, 584), - Trans(41, 31, 42, 584), - Trans(41, 32, 42, 584), - Trans(41, 33, 42, 584), - Trans(41, 34, 42, 584), - Trans(41, 35, 42, 584), - Trans(41, 36, 42, 584), - Trans(41, 38, 42, 584), - Trans(41, 41, 42, 584), - Trans(41, 42, 42, 584), - Trans(41, 48, 42, 584), - Trans(41, 52, 42, 584), - Trans(43, 6, 42, 584), - Trans(43, 7, 42, 584), - Trans(43, 8, 42, 584), - Trans(43, 9, 42, 584), - Trans(43, 10, 42, 584), - Trans(43, 11, 42, 584), - Trans(43, 18, 42, 584), - Trans(43, 24, 42, 584), - Trans(43, 25, 42, 584), - Trans(43, 26, 42, 584), - Trans(43, 27, 42, 584), - Trans(43, 39, 42, 584), - Trans(43, 40, 42, 584), - Trans(43, 42, 42, 584), - Trans(43, 53, 42, 584), - Trans(43, 54, 42, 584), - Trans(43, 55, 42, 584), - Trans(43, 56, 42, 584), - Trans(43, 57, 42, 584), - Trans(43, 64, 42, 584), - Trans(43, 65, 42, 584), - Trans(43, 69, 42, 584), - Trans(43, 70, 42, 584), - Trans(43, 72, 42, 584), - Trans(43, 78, 42, 584), - Trans(43, 83, 42, 584), - Trans(43, 84, 42, 584), - Trans(43, 87, 42, 584), - Trans(43, 89, 42, 584), - Trans(43, 96, 42, 584), - Trans(43, 97, 42, 584), - Trans(43, 98, 42, 584), - Trans(43, 99, 42, 584), - Trans(43, 100, 42, 584), - Trans(43, 105, 42, 584), - Trans(43, 107, 42, 584), - Trans(43, 109, 42, 584), - Trans(43, 110, 42, 584), - Trans(43, 111, 42, 584), - Trans(43, 115, 42, 584), - Trans(43, 116, 42, 584), - Trans(44, 5, 42, 584), - Trans(44, 16, 42, 584), - Trans(44, 17, 42, 584), - Trans(44, 18, 42, 584), - Trans(44, 19, 42, 584), - Trans(44, 20, 42, 584), - Trans(44, 21, 42, 584), - Trans(44, 22, 42, 584), - Trans(44, 23, 42, 584), - Trans(44, 24, 42, 584), - Trans(44, 25, 42, 584), - Trans(44, 26, 42, 584), - Trans(44, 30, 42, 584), - Trans(44, 31, 42, 584), - Trans(44, 32, 42, 584), - Trans(44, 33, 42, 584), - Trans(44, 34, 42, 584), - Trans(44, 35, 42, 584), - Trans(44, 38, 42, 584), - Trans(44, 41, 42, 584), - Trans(44, 42, 42, 584), - Trans(44, 48, 42, 584), - Trans(44, 52, 42, 584), - Trans(45, 5, 42, 584), - Trans(45, 16, 42, 584), - Trans(45, 17, 42, 584), - Trans(45, 18, 42, 584), - Trans(45, 19, 42, 584), - Trans(45, 20, 42, 584), - Trans(45, 21, 42, 584), - Trans(45, 22, 42, 584), - Trans(45, 23, 42, 584), - Trans(45, 24, 42, 584), - Trans(45, 25, 42, 584), - Trans(45, 26, 42, 584), - Trans(45, 29, 42, 584), - Trans(45, 30, 42, 584), - Trans(45, 31, 42, 584), - Trans(45, 32, 42, 584), - Trans(45, 33, 42, 584), - Trans(45, 34, 42, 584), - Trans(45, 35, 42, 584), - Trans(45, 38, 42, 584), - Trans(45, 41, 42, 584), - Trans(45, 42, 42, 584), - Trans(45, 48, 42, 584), - Trans(45, 52, 42, 584), - Trans(46, 6, 42, 584), - Trans(46, 7, 42, 584), - Trans(46, 8, 42, 584), - Trans(46, 9, 42, 584), - Trans(46, 10, 42, 584), - Trans(46, 11, 42, 584), - Trans(46, 18, 42, 584), - Trans(46, 24, 42, 584), - Trans(46, 25, 42, 584), - Trans(46, 26, 42, 584), - Trans(46, 27, 42, 584), - Trans(46, 39, 42, 584), - Trans(46, 40, 42, 584), - Trans(46, 42, 42, 584), - Trans(46, 53, 42, 584), - Trans(46, 54, 42, 584), - Trans(46, 55, 42, 584), - Trans(46, 56, 42, 584), - Trans(46, 57, 42, 584), - Trans(46, 59, 42, 584), - Trans(46, 64, 42, 584), - Trans(46, 65, 42, 584), - Trans(46, 69, 42, 584), - Trans(46, 70, 42, 584), - Trans(46, 72, 42, 584), - Trans(46, 78, 42, 584), - Trans(46, 83, 42, 584), - Trans(46, 84, 42, 584), - Trans(46, 87, 42, 584), - Trans(46, 89, 42, 584), - Trans(46, 96, 42, 584), - Trans(46, 97, 42, 584), - Trans(46, 98, 42, 584), - Trans(46, 99, 42, 584), - Trans(46, 100, 42, 584), - Trans(46, 105, 42, 584), - Trans(46, 107, 42, 584), - Trans(46, 109, 42, 584), - Trans(46, 110, 42, 584), - Trans(46, 111, 42, 584), - Trans(46, 115, 42, 584), - Trans(46, 116, 42, 584), - Trans(47, 5, 42, 584), - Trans(47, 16, 42, 584), - Trans(47, 17, 42, 584), - Trans(47, 18, 42, 584), - Trans(47, 19, 42, 584), - Trans(47, 20, 42, 584), - Trans(47, 21, 42, 584), - Trans(47, 22, 42, 584), - Trans(47, 23, 42, 584), - Trans(47, 24, 42, 584), - Trans(47, 25, 42, 584), - Trans(47, 26, 42, 584), - Trans(47, 32, 42, 584), - Trans(47, 44, 42, 584), - Trans(47, 48, 42, 584), - Trans(47, 52, 42, 584), - Trans(47, 95, 42, 584), - Trans(48, 5, 42, 584), - Trans(48, 16, 42, 584), - Trans(48, 17, 42, 584), - Trans(48, 18, 42, 584), - Trans(48, 19, 42, 584), - Trans(48, 20, 42, 584), - Trans(48, 21, 42, 584), - Trans(48, 22, 42, 584), - Trans(48, 23, 42, 584), - Trans(48, 24, 42, 584), - Trans(48, 25, 42, 584), - Trans(48, 26, 42, 584), - Trans(48, 32, 42, 584), - Trans(48, 38, 42, 584), - Trans(48, 44, 42, 584), - Trans(48, 48, 42, 584), - Trans(48, 52, 42, 584), - Trans(48, 95, 42, 584), - Trans(49, 5, 42, 584), - Trans(49, 16, 42, 584), - Trans(49, 17, 42, 584), - Trans(49, 18, 42, 584), - Trans(49, 19, 42, 584), - Trans(49, 20, 42, 584), - Trans(49, 21, 42, 584), - Trans(49, 22, 42, 584), - Trans(49, 23, 42, 584), - Trans(49, 24, 42, 584), - Trans(49, 25, 42, 584), - Trans(49, 26, 42, 584), - Trans(49, 30, 42, 584), - Trans(49, 32, 42, 584), - Trans(49, 35, 42, 584), - Trans(49, 38, 42, 584), - Trans(49, 41, 42, 584), - Trans(49, 42, 42, 584), - Trans(49, 44, 42, 584), - Trans(49, 48, 42, 584), - Trans(49, 52, 42, 584), - Trans(49, 95, 42, 584), - Trans(50, 5, 42, 584), - Trans(50, 16, 42, 584), - Trans(50, 17, 42, 584), - Trans(50, 18, 42, 584), - Trans(50, 19, 42, 584), - Trans(50, 20, 42, 584), - Trans(50, 21, 42, 584), - Trans(50, 22, 42, 584), - Trans(50, 23, 42, 584), - Trans(50, 24, 42, 584), - Trans(50, 25, 42, 584), - Trans(50, 26, 42, 584), - Trans(50, 29, 42, 584), - Trans(50, 30, 42, 584), - Trans(50, 32, 42, 584), - Trans(50, 35, 42, 584), - Trans(50, 38, 42, 584), - Trans(50, 41, 42, 584), - Trans(50, 42, 42, 584), - Trans(50, 44, 42, 584), - Trans(50, 48, 42, 584), - Trans(50, 52, 42, 584), - Trans(50, 95, 42, 584), - Trans(51, 5, 42, 584), - Trans(51, 16, 42, 584), - Trans(51, 17, 42, 584), - Trans(51, 18, 42, 584), - Trans(51, 19, 42, 584), - Trans(51, 20, 42, 584), - Trans(51, 21, 42, 584), - Trans(51, 22, 42, 584), - Trans(51, 23, 42, 584), - Trans(51, 24, 42, 584), - Trans(51, 25, 42, 584), - Trans(51, 26, 42, 584), - Trans(51, 46, 42, 584), - Trans(51, 48, 42, 584), - Trans(51, 52, 42, 584), - Trans(52, 5, 42, 584), - Trans(52, 16, 42, 584), - Trans(52, 17, 42, 584), - Trans(52, 18, 42, 584), - Trans(52, 19, 42, 584), - Trans(52, 20, 42, 584), - Trans(52, 21, 42, 584), - Trans(52, 22, 42, 584), - Trans(52, 23, 42, 584), - Trans(52, 24, 42, 584), - Trans(52, 25, 42, 584), - Trans(52, 26, 42, 584), - Trans(52, 38, 42, 584), - Trans(52, 46, 42, 584), - Trans(52, 48, 42, 584), - Trans(52, 52, 42, 584), - Trans(53, 5, 42, 584), - Trans(53, 16, 42, 584), - Trans(53, 17, 42, 584), - Trans(53, 18, 42, 584), - Trans(53, 19, 42, 584), - Trans(53, 20, 42, 584), - Trans(53, 21, 42, 584), - Trans(53, 22, 42, 584), - Trans(53, 23, 42, 584), - Trans(53, 24, 42, 584), - Trans(53, 25, 42, 584), - Trans(53, 26, 42, 584), - Trans(53, 30, 42, 584), - Trans(53, 35, 42, 584), - Trans(53, 38, 42, 584), - Trans(53, 41, 42, 584), - Trans(53, 42, 42, 584), - Trans(53, 46, 42, 584), - Trans(53, 48, 42, 584), - Trans(53, 52, 42, 584), - Trans(54, 5, 42, 584), - Trans(54, 16, 42, 584), - Trans(54, 17, 42, 584), - Trans(54, 18, 42, 584), - Trans(54, 19, 42, 584), - Trans(54, 20, 42, 584), - Trans(54, 21, 42, 584), - Trans(54, 22, 42, 584), - Trans(54, 23, 42, 584), - Trans(54, 24, 42, 584), - Trans(54, 25, 42, 584), - Trans(54, 26, 42, 584), - Trans(54, 29, 42, 584), - Trans(54, 30, 42, 584), - Trans(54, 35, 42, 584), - Trans(54, 38, 42, 584), - Trans(54, 41, 42, 584), - Trans(54, 42, 42, 584), - Trans(54, 46, 42, 584), - Trans(54, 48, 42, 584), - Trans(54, 52, 42, 584), - Trans(55, 5, 42, 584), - Trans(55, 16, 42, 584), - Trans(55, 17, 42, 584), - Trans(55, 18, 42, 584), - Trans(55, 19, 42, 584), - Trans(55, 20, 42, 584), - Trans(55, 21, 42, 584), - Trans(55, 22, 42, 584), - Trans(55, 23, 42, 584), - Trans(55, 24, 42, 584), - Trans(55, 25, 42, 584), - Trans(55, 26, 42, 584), - Trans(55, 40, 42, 584), - Trans(55, 48, 42, 584), - Trans(55, 52, 42, 584), - Trans(56, 5, 42, 584), - Trans(56, 16, 42, 584), - Trans(56, 17, 42, 584), - Trans(56, 18, 42, 584), - Trans(56, 19, 42, 584), - Trans(56, 20, 42, 584), - Trans(56, 21, 42, 584), - Trans(56, 22, 42, 584), - Trans(56, 23, 42, 584), - Trans(56, 24, 42, 584), - Trans(56, 25, 42, 584), - Trans(56, 26, 42, 584), - Trans(56, 38, 42, 584), - Trans(56, 40, 42, 584), - Trans(56, 48, 42, 584), - Trans(56, 52, 42, 584), - Trans(57, 5, 42, 584), - Trans(57, 16, 42, 584), - Trans(57, 17, 42, 584), - Trans(57, 18, 42, 584), - Trans(57, 19, 42, 584), - Trans(57, 20, 42, 584), - Trans(57, 21, 42, 584), - Trans(57, 22, 42, 584), - Trans(57, 23, 42, 584), - Trans(57, 24, 42, 584), - Trans(57, 25, 42, 584), - Trans(57, 26, 42, 584), - Trans(57, 30, 42, 584), - Trans(57, 35, 42, 584), - Trans(57, 38, 42, 584), - Trans(57, 40, 42, 584), - Trans(57, 41, 42, 584), - Trans(57, 42, 42, 584), - Trans(57, 48, 42, 584), - Trans(57, 52, 42, 584), - Trans(58, 5, 42, 584), - Trans(58, 16, 42, 584), - Trans(58, 17, 42, 584), - Trans(58, 18, 42, 584), - Trans(58, 19, 42, 584), - Trans(58, 20, 42, 584), - Trans(58, 21, 42, 584), - Trans(58, 22, 42, 584), - Trans(58, 23, 42, 584), - Trans(58, 24, 42, 584), - Trans(58, 25, 42, 584), - Trans(58, 26, 42, 584), - Trans(58, 29, 42, 584), - Trans(58, 30, 42, 584), - Trans(58, 35, 42, 584), - Trans(58, 38, 42, 584), - Trans(58, 40, 42, 584), - Trans(58, 41, 42, 584), - Trans(58, 42, 42, 584), - Trans(58, 48, 42, 584), - Trans(58, 52, 42, 584), - Trans(59, 5, 42, 584), - Trans(59, 16, 42, 584), - Trans(59, 17, 42, 584), - Trans(59, 18, 42, 584), - Trans(59, 19, 42, 584), - Trans(59, 20, 42, 584), - Trans(59, 21, 42, 584), - Trans(59, 22, 42, 584), - Trans(59, 23, 42, 584), - Trans(59, 24, 42, 584), - Trans(59, 25, 42, 584), - Trans(59, 26, 42, 584), - Trans(59, 47, 42, 584), - Trans(59, 48, 42, 584), - Trans(59, 52, 42, 584), - Trans(60, 5, 42, 584), - Trans(60, 16, 42, 584), - Trans(60, 17, 42, 584), - Trans(60, 18, 42, 584), - Trans(60, 19, 42, 584), - Trans(60, 20, 42, 584), - Trans(60, 21, 42, 584), - Trans(60, 22, 42, 584), - Trans(60, 23, 42, 584), - Trans(60, 24, 42, 584), - Trans(60, 25, 42, 584), - Trans(60, 26, 42, 584), - Trans(60, 38, 42, 584), - Trans(60, 47, 42, 584), - Trans(60, 48, 42, 584), - Trans(60, 52, 42, 584), - Trans(61, 5, 42, 584), - Trans(61, 16, 42, 584), - Trans(61, 17, 42, 584), - Trans(61, 18, 42, 584), - Trans(61, 19, 42, 584), - Trans(61, 20, 42, 584), - Trans(61, 21, 42, 584), - Trans(61, 22, 42, 584), - Trans(61, 23, 42, 584), - Trans(61, 24, 42, 584), - Trans(61, 25, 42, 584), - Trans(61, 26, 42, 584), - Trans(61, 30, 42, 584), - Trans(61, 35, 42, 584), - Trans(61, 38, 42, 584), - Trans(61, 41, 42, 584), - Trans(61, 42, 42, 584), - Trans(61, 47, 42, 584), - Trans(61, 48, 42, 584), - Trans(61, 52, 42, 584), - Trans(62, 5, 42, 584), - Trans(62, 16, 42, 584), - Trans(62, 17, 42, 584), - Trans(62, 18, 42, 584), - Trans(62, 19, 42, 584), - Trans(62, 20, 42, 584), - Trans(62, 21, 42, 584), - Trans(62, 22, 42, 584), - Trans(62, 23, 42, 584), - Trans(62, 24, 42, 584), - Trans(62, 25, 42, 584), - Trans(62, 26, 42, 584), - Trans(62, 29, 42, 584), - Trans(62, 30, 42, 584), - Trans(62, 35, 42, 584), - Trans(62, 38, 42, 584), - Trans(62, 41, 42, 584), - Trans(62, 42, 42, 584), - Trans(62, 47, 42, 584), - Trans(62, 48, 42, 584), - Trans(62, 52, 42, 584), - Trans(63, 15, 42, 584), - Trans(63, 16, 42, 584), - Trans(63, 17, 42, 584), - Trans(63, 18, 42, 584), - Trans(63, 19, 42, 584), - Trans(63, 20, 42, 584), - Trans(63, 21, 42, 584), - Trans(63, 22, 42, 584), - Trans(63, 23, 42, 584), - Trans(63, 24, 42, 584), - Trans(63, 25, 42, 584), - Trans(63, 26, 42, 584), - Trans(63, 30, 42, 584), - Trans(63, 31, 42, 584), - Trans(63, 32, 42, 584), - Trans(63, 33, 42, 584), - Trans(63, 34, 42, 584), - Trans(63, 35, 42, 584), - Trans(63, 36, 42, 584), - Trans(63, 38, 42, 584), - Trans(63, 41, 42, 584), - Trans(63, 42, 42, 584), - Trans(63, 48, 42, 584), - Trans(63, 52, 42, 584), - Trans(64, 5, 42, 584), - Trans(64, 40, 42, 584), - Trans(64, 54, 42, 584), - Trans(64, 67, 42, 584), - Trans(64, 71, 42, 584), - Trans(64, 72, 42, 584), - Trans(64, 101, 42, 584), - Trans(64, 102, 42, 584), - Trans(64, 107, 42, 584), - Trans(64, 115, 42, 584), - Trans(64, 116, 42, 584), - Trans(65, 5, 42, 584), - Trans(65, 6, 42, 584), - Trans(65, 7, 42, 584), - Trans(65, 8, 42, 584), - Trans(65, 9, 42, 584), - Trans(65, 10, 42, 584), - Trans(65, 11, 42, 584), - Trans(65, 18, 42, 584), - Trans(65, 24, 42, 584), - Trans(65, 25, 42, 584), - Trans(65, 26, 42, 584), - Trans(65, 27, 42, 584), - Trans(65, 39, 42, 584), - Trans(65, 40, 42, 584), - Trans(65, 42, 42, 584), - Trans(65, 46, 42, 584), - Trans(65, 53, 42, 584), - Trans(65, 54, 42, 584), - Trans(65, 55, 42, 584), - Trans(65, 56, 42, 584), - Trans(65, 57, 42, 584), - Trans(65, 64, 42, 584), - Trans(65, 65, 42, 584), - Trans(65, 69, 42, 584), - Trans(65, 70, 42, 584), - Trans(65, 72, 42, 584), - Trans(65, 78, 42, 584), - Trans(65, 83, 42, 584), - Trans(65, 84, 42, 584), - Trans(65, 87, 42, 584), - Trans(65, 89, 42, 584), - Trans(65, 96, 42, 584), - Trans(65, 97, 42, 584), - Trans(65, 98, 42, 584), - Trans(65, 99, 42, 584), - Trans(65, 100, 42, 584), - Trans(65, 105, 42, 584), - Trans(65, 107, 42, 584), - Trans(65, 109, 42, 584), - Trans(65, 110, 42, 584), - Trans(65, 111, 42, 584), - Trans(65, 115, 42, 584), - Trans(65, 116, 42, 584), - Trans(66, 5, 42, 584), - Trans(66, 55, 42, 584), - Trans(66, 56, 42, 584), - Trans(66, 57, 42, 584), - Trans(66, 64, 42, 584), - Trans(66, 65, 42, 584), - Trans(66, 69, 42, 584), - Trans(66, 70, 42, 584), - Trans(66, 96, 42, 584), - Trans(66, 97, 42, 584), - Trans(66, 98, 42, 584), - Trans(66, 99, 42, 584), - Trans(66, 100, 42, 584), - Trans(66, 110, 42, 584), - Trans(66, 111, 42, 584), - Trans(66, 115, 42, 584), - Trans(66, 116, 42, 584), - Trans(67, 15, 42, 584), - Trans(67, 16, 42, 584), - Trans(67, 17, 42, 584), - Trans(67, 18, 42, 584), - Trans(67, 19, 42, 584), - Trans(67, 20, 42, 584), - Trans(67, 21, 42, 584), - Trans(67, 22, 42, 584), - Trans(67, 23, 42, 584), - Trans(67, 24, 42, 584), - Trans(67, 25, 42, 584), - Trans(67, 26, 42, 584), - Trans(67, 29, 42, 584), - Trans(67, 30, 42, 584), - Trans(67, 31, 42, 584), - Trans(67, 32, 42, 584), - Trans(67, 33, 42, 584), - Trans(67, 34, 42, 584), - Trans(67, 35, 42, 584), - Trans(67, 36, 42, 584), - Trans(67, 38, 42, 584), - Trans(67, 41, 42, 584), - Trans(67, 42, 42, 584), - Trans(67, 48, 42, 584), - Trans(67, 52, 42, 584), - Trans(68, 5, 42, 584), - Trans(68, 7, 42, 584), - Trans(68, 8, 42, 584), - Trans(68, 9, 42, 584), - Trans(68, 10, 42, 584), - Trans(68, 11, 42, 584), - Trans(68, 43, 42, 584), - Trans(68, 115, 42, 584), - Trans(68, 116, 42, 584), - Trans(69, 16, 42, 584), - Trans(69, 17, 42, 584), - Trans(69, 18, 42, 584), - Trans(69, 19, 42, 584), - Trans(69, 20, 42, 584), - Trans(69, 21, 42, 584), - Trans(69, 22, 42, 584), - Trans(69, 23, 42, 584), - Trans(69, 24, 42, 584), - Trans(69, 25, 42, 584), - Trans(69, 26, 42, 584), - Trans(69, 31, 42, 584), - Trans(69, 32, 42, 584), - Trans(69, 33, 42, 584), - Trans(69, 34, 42, 584), - Trans(69, 48, 42, 584), - Trans(69, 52, 42, 584), - Trans(70, 16, 42, 584), - Trans(70, 17, 42, 584), - Trans(70, 18, 42, 584), - Trans(70, 19, 42, 584), - Trans(70, 20, 42, 584), - Trans(70, 21, 42, 584), - Trans(70, 22, 42, 584), - Trans(70, 23, 42, 584), - Trans(70, 24, 42, 584), - Trans(70, 25, 42, 584), - Trans(70, 26, 42, 584), - Trans(70, 31, 42, 584), - Trans(70, 32, 42, 584), - Trans(70, 33, 42, 584), - Trans(70, 34, 42, 584), - Trans(70, 38, 42, 584), - Trans(70, 48, 42, 584), - Trans(70, 52, 42, 584), - Trans(71, 31, 42, 584), - Trans(72, 5, 42, 584), - Trans(72, 44, 42, 584), - Trans(72, 54, 42, 584), - Trans(72, 67, 42, 584), - Trans(72, 71, 42, 584), - Trans(72, 72, 42, 584), - Trans(72, 82, 42, 584), - Trans(72, 101, 42, 584), - Trans(72, 102, 42, 584), - Trans(72, 107, 42, 584), - Trans(72, 114, 42, 584), - Trans(72, 115, 42, 584), - Trans(72, 116, 42, 584), - Trans(73, 40, 42, 584), - Trans(74, 5, 42, 584), - Trans(74, 6, 42, 584), - Trans(74, 7, 42, 584), - Trans(74, 8, 42, 584), - Trans(74, 9, 42, 584), - Trans(74, 10, 42, 584), - Trans(74, 11, 42, 584), - Trans(74, 18, 42, 584), - Trans(74, 24, 42, 584), - Trans(74, 25, 42, 584), - Trans(74, 26, 42, 584), - Trans(74, 27, 42, 584), - Trans(74, 39, 42, 584), - Trans(74, 40, 42, 584), - Trans(74, 42, 42, 584), - Trans(74, 44, 42, 584), - Trans(74, 53, 42, 584), - Trans(74, 54, 42, 584), - Trans(74, 55, 42, 584), - Trans(74, 56, 42, 584), - Trans(74, 57, 42, 584), - Trans(74, 59, 42, 584), - Trans(74, 64, 42, 584), - Trans(74, 65, 42, 584), - Trans(74, 69, 42, 584), - Trans(74, 70, 42, 584), - Trans(74, 72, 42, 584), - Trans(74, 78, 42, 584), - Trans(74, 83, 42, 584), - Trans(74, 84, 42, 584), - Trans(74, 87, 42, 584), - Trans(74, 89, 42, 584), - Trans(74, 96, 42, 584), - Trans(74, 97, 42, 584), - Trans(74, 98, 42, 584), - Trans(74, 99, 42, 584), - Trans(74, 100, 42, 584), - Trans(74, 105, 42, 584), - Trans(74, 107, 42, 584), - Trans(74, 109, 42, 584), - Trans(74, 110, 42, 584), - Trans(74, 111, 42, 584), - Trans(74, 115, 42, 584), - Trans(74, 116, 42, 584), - Trans(75, 42, 42, 584), - Trans(76, 47, 42, 584), - Trans(77, 116, 42, 584), + Trans(14, 31, 70, -1), + Trans(15, 5, 83, -1), + Trans(15, 116, 34, -1), + Trans(16, 5, 78, -1), + Trans(16, 40, 54, -1), + Trans(17, 5, 44, -1), + Trans(17, 6, 65, -1), + Trans(17, 7, 65, -1), + Trans(17, 8, 65, -1), + Trans(17, 9, 65, -1), + Trans(17, 10, 65, -1), + Trans(17, 11, 65, -1), + Trans(17, 18, 25, -1), + Trans(17, 24, 25, -1), + Trans(17, 25, 25, -1), + Trans(17, 26, 25, -1), + Trans(17, 27, 25, -1), + Trans(17, 39, 28, -1), + Trans(17, 40, 25, -1), + Trans(17, 42, 25, -1), + Trans(17, 53, 66, -1), + Trans(17, 54, 25, -1), + Trans(17, 55, 66, -1), + Trans(17, 56, 66, -1), + Trans(17, 57, 66, -1), + Trans(17, 64, 65, -1), + Trans(17, 65, 65, -1), + Trans(17, 69, 65, -1), + Trans(17, 70, 65, -1), + Trans(17, 72, 25, -1), + Trans(17, 78, 25, -1), + Trans(17, 83, 66, -1), + Trans(17, 84, 65, -1), + Trans(17, 87, 65, -1), + Trans(17, 89, 25, -1), + Trans(17, 96, 66, -1), + Trans(17, 97, 66, -1), + Trans(17, 98, 66, -1), + Trans(17, 99, 66, -1), + Trans(17, 100, 66, -1), + Trans(17, 105, 65, -1), + Trans(17, 107, 31, -1), + Trans(17, 109, 40, -1), + Trans(17, 110, 65, -1), + Trans(17, 111, 65, -1), + Trans(17, 115, 67, -1), + Trans(17, 116, 68, -1), + Trans(18, 5, 82, -1), + Trans(18, 47, 54, -1), + Trans(19, 5, 78, -1), + Trans(19, 40, 79, -1), + Trans(20, 5, 81, -1), + Trans(20, 42, 25, -1), + Trans(21, 5, 69, -1), + Trans(21, 15, 25, -1), + Trans(21, 16, 25, -1), + Trans(21, 17, 25, -1), + Trans(21, 18, 25, -1), + Trans(21, 19, 25, -1), + Trans(21, 20, 25, -1), + Trans(21, 21, 25, -1), + Trans(21, 22, 25, -1), + Trans(21, 23, 25, -1), + Trans(21, 24, 25, -1), + Trans(21, 25, 25, -1), + Trans(21, 26, 25, -1), + Trans(21, 30, 26, -1), + Trans(21, 31, 70, -1), + Trans(21, 32, 25, -1), + Trans(21, 33, 25, -1), + Trans(21, 34, 25, -1), + Trans(21, 35, 26, -1), + Trans(21, 36, 25, -1), + Trans(21, 38, 25, -1), + Trans(21, 41, 25, -1), + Trans(21, 42, 71, -1), + Trans(21, 48, 25, -1), + Trans(21, 52, 72, -1), + Trans(22, 5, 73, -1), + Trans(22, 15, 25, -1), + Trans(22, 16, 25, -1), + Trans(22, 17, 25, -1), + Trans(22, 18, 25, -1), + Trans(22, 19, 25, -1), + Trans(22, 20, 25, -1), + Trans(22, 21, 25, -1), + Trans(22, 22, 25, -1), + Trans(22, 23, 25, -1), + Trans(22, 24, 25, -1), + Trans(22, 25, 25, -1), + Trans(22, 26, 25, -1), + Trans(22, 29, 74, -1), + Trans(22, 30, 26, -1), + Trans(22, 31, 70, -1), + Trans(22, 32, 25, -1), + Trans(22, 33, 25, -1), + Trans(22, 34, 25, -1), + Trans(22, 35, 26, -1), + Trans(22, 36, 25, -1), + Trans(22, 38, 25, -1), + Trans(22, 41, 25, -1), + Trans(22, 42, 71, -1), + Trans(22, 48, 25, -1), + Trans(22, 52, 72, -1), + Trans(23, 6, 43, 591), + Trans(23, 7, 43, 591), + Trans(23, 8, 43, 591), + Trans(23, 9, 43, 591), + Trans(23, 10, 43, 591), + Trans(23, 11, 43, 591), + Trans(23, 18, 43, 591), + Trans(23, 24, 43, 591), + Trans(23, 25, 43, 591), + Trans(23, 26, 43, 591), + Trans(23, 27, 43, 591), + Trans(23, 31, 43, 591), + Trans(23, 37, 43, 591), + Trans(23, 39, 43, 591), + Trans(23, 40, 43, 591), + Trans(23, 42, 43, 591), + Trans(23, 44, 43, 591), + Trans(23, 49, 43, 591), + Trans(23, 50, 43, 591), + Trans(23, 51, 43, 591), + Trans(23, 53, 43, 591), + Trans(23, 54, 43, 591), + Trans(23, 55, 43, 591), + Trans(23, 56, 43, 591), + Trans(23, 57, 43, 591), + Trans(23, 58, 43, 591), + Trans(23, 59, 43, 591), + Trans(23, 60, 43, 591), + Trans(23, 62, 43, 591), + Trans(23, 63, 43, 591), + Trans(23, 64, 43, 591), + Trans(23, 65, 43, 591), + Trans(23, 66, 43, 591), + Trans(23, 67, 43, 591), + Trans(23, 68, 43, 591), + Trans(23, 69, 43, 591), + Trans(23, 70, 43, 591), + Trans(23, 71, 43, 591), + Trans(23, 72, 43, 591), + Trans(23, 73, 43, 591), + Trans(23, 75, 43, 591), + Trans(23, 78, 43, 591), + Trans(23, 79, 43, 591), + Trans(23, 82, 43, 591), + Trans(23, 83, 43, 591), + Trans(23, 84, 43, 591), + Trans(23, 85, 43, 591), + Trans(23, 87, 43, 591), + Trans(23, 89, 43, 591), + Trans(23, 96, 43, 591), + Trans(23, 97, 43, 591), + Trans(23, 98, 43, 591), + Trans(23, 99, 43, 591), + Trans(23, 100, 43, 591), + Trans(23, 101, 43, 591), + Trans(23, 102, 43, 591), + Trans(23, 105, 43, 591), + Trans(23, 106, 43, 591), + Trans(23, 107, 43, 591), + Trans(23, 109, 43, 591), + Trans(23, 110, 43, 591), + Trans(23, 111, 43, 591), + Trans(23, 112, 43, 591), + Trans(23, 113, 43, 591), + Trans(23, 114, 43, 591), + Trans(23, 115, 43, 591), + Trans(23, 116, 43, 591), + Trans(24, 5, 43, 591), + Trans(24, 16, 43, 591), + Trans(24, 17, 43, 591), + Trans(24, 18, 43, 591), + Trans(24, 19, 43, 591), + Trans(24, 20, 43, 591), + Trans(24, 21, 43, 591), + Trans(24, 22, 43, 591), + Trans(24, 23, 43, 591), + Trans(24, 24, 43, 591), + Trans(24, 25, 43, 591), + Trans(24, 26, 43, 591), + Trans(24, 31, 43, 591), + Trans(24, 32, 43, 591), + Trans(24, 33, 43, 591), + Trans(24, 34, 43, 591), + Trans(24, 48, 43, 591), + Trans(24, 52, 43, 591), + Trans(25, 5, 43, 591), + Trans(25, 6, 43, 591), + Trans(25, 7, 43, 591), + Trans(25, 8, 43, 591), + Trans(25, 9, 43, 591), + Trans(25, 10, 43, 591), + Trans(25, 11, 43, 591), + Trans(25, 18, 43, 591), + Trans(25, 24, 43, 591), + Trans(25, 25, 43, 591), + Trans(25, 26, 43, 591), + Trans(25, 27, 43, 591), + Trans(25, 39, 43, 591), + Trans(25, 40, 43, 591), + Trans(25, 42, 43, 591), + Trans(25, 53, 43, 591), + Trans(25, 54, 43, 591), + Trans(25, 55, 43, 591), + Trans(25, 56, 43, 591), + Trans(25, 57, 43, 591), + Trans(25, 64, 43, 591), + Trans(25, 65, 43, 591), + Trans(25, 69, 43, 591), + Trans(25, 70, 43, 591), + Trans(25, 72, 43, 591), + Trans(25, 78, 43, 591), + Trans(25, 83, 43, 591), + Trans(25, 84, 43, 591), + Trans(25, 87, 43, 591), + Trans(25, 89, 43, 591), + Trans(25, 96, 43, 591), + Trans(25, 97, 43, 591), + Trans(25, 98, 43, 591), + Trans(25, 99, 43, 591), + Trans(25, 100, 43, 591), + Trans(25, 105, 43, 591), + Trans(25, 107, 43, 591), + Trans(25, 109, 43, 591), + Trans(25, 110, 43, 591), + Trans(25, 111, 43, 591), + Trans(25, 115, 43, 591), + Trans(25, 116, 43, 591), + Trans(26, 5, 43, 591), + Trans(26, 116, 43, 591), + Trans(27, 5, 43, 591), + Trans(27, 41, 43, 591), + Trans(28, 5, 43, 591), + Trans(28, 6, 43, 591), + Trans(28, 7, 43, 591), + Trans(28, 8, 43, 591), + Trans(28, 9, 43, 591), + Trans(28, 10, 43, 591), + Trans(28, 11, 43, 591), + Trans(28, 18, 43, 591), + Trans(28, 24, 43, 591), + Trans(28, 25, 43, 591), + Trans(28, 26, 43, 591), + Trans(28, 27, 43, 591), + Trans(28, 39, 43, 591), + Trans(28, 40, 43, 591), + Trans(28, 42, 43, 591), + Trans(28, 53, 43, 591), + Trans(28, 54, 43, 591), + Trans(28, 55, 43, 591), + Trans(28, 56, 43, 591), + Trans(28, 57, 43, 591), + Trans(28, 59, 43, 591), + Trans(28, 64, 43, 591), + Trans(28, 65, 43, 591), + Trans(28, 69, 43, 591), + Trans(28, 70, 43, 591), + Trans(28, 72, 43, 591), + Trans(28, 78, 43, 591), + Trans(28, 83, 43, 591), + Trans(28, 84, 43, 591), + Trans(28, 87, 43, 591), + Trans(28, 89, 43, 591), + Trans(28, 96, 43, 591), + Trans(28, 97, 43, 591), + Trans(28, 98, 43, 591), + Trans(28, 99, 43, 591), + Trans(28, 100, 43, 591), + Trans(28, 105, 43, 591), + Trans(28, 107, 43, 591), + Trans(28, 109, 43, 591), + Trans(28, 110, 43, 591), + Trans(28, 111, 43, 591), + Trans(28, 115, 43, 591), + Trans(28, 116, 43, 591), + Trans(29, 5, 43, 591), + Trans(29, 6, 43, 591), + Trans(29, 7, 43, 591), + Trans(29, 8, 43, 591), + Trans(29, 9, 43, 591), + Trans(29, 10, 43, 591), + Trans(29, 11, 43, 591), + Trans(29, 18, 43, 591), + Trans(29, 24, 43, 591), + Trans(29, 25, 43, 591), + Trans(29, 26, 43, 591), + Trans(29, 27, 43, 591), + Trans(29, 31, 43, 591), + Trans(29, 37, 43, 591), + Trans(29, 39, 43, 591), + Trans(29, 40, 43, 591), + Trans(29, 42, 43, 591), + Trans(29, 44, 43, 591), + Trans(29, 49, 43, 591), + Trans(29, 50, 43, 591), + Trans(29, 51, 43, 591), + Trans(29, 53, 43, 591), + Trans(29, 54, 43, 591), + Trans(29, 55, 43, 591), + Trans(29, 56, 43, 591), + Trans(29, 57, 43, 591), + Trans(29, 58, 43, 591), + Trans(29, 62, 43, 591), + Trans(29, 63, 43, 591), + Trans(29, 64, 43, 591), + Trans(29, 65, 43, 591), + Trans(29, 66, 43, 591), + Trans(29, 67, 43, 591), + Trans(29, 68, 43, 591), + Trans(29, 69, 43, 591), + Trans(29, 70, 43, 591), + Trans(29, 71, 43, 591), + Trans(29, 72, 43, 591), + Trans(29, 73, 43, 591), + Trans(29, 75, 43, 591), + Trans(29, 78, 43, 591), + Trans(29, 79, 43, 591), + Trans(29, 82, 43, 591), + Trans(29, 83, 43, 591), + Trans(29, 84, 43, 591), + Trans(29, 85, 43, 591), + Trans(29, 87, 43, 591), + Trans(29, 89, 43, 591), + Trans(29, 96, 43, 591), + Trans(29, 97, 43, 591), + Trans(29, 98, 43, 591), + Trans(29, 99, 43, 591), + Trans(29, 100, 43, 591), + Trans(29, 101, 43, 591), + Trans(29, 102, 43, 591), + Trans(29, 105, 43, 591), + Trans(29, 106, 43, 591), + Trans(29, 107, 43, 591), + Trans(29, 109, 43, 591), + Trans(29, 110, 43, 591), + Trans(29, 111, 43, 591), + Trans(29, 112, 43, 591), + Trans(29, 113, 43, 591), + Trans(29, 114, 43, 591), + Trans(29, 115, 43, 591), + Trans(29, 116, 43, 591), + Trans(30, 0, 43, 591), + Trans(30, 5, 43, 591), + Trans(30, 6, 43, 591), + Trans(30, 7, 43, 591), + Trans(30, 8, 43, 591), + Trans(30, 9, 43, 591), + Trans(30, 10, 43, 591), + Trans(30, 11, 43, 591), + Trans(30, 18, 43, 591), + Trans(30, 24, 43, 591), + Trans(30, 25, 43, 591), + Trans(30, 26, 43, 591), + Trans(30, 27, 43, 591), + Trans(30, 31, 43, 591), + Trans(30, 37, 43, 591), + Trans(30, 39, 43, 591), + Trans(30, 40, 43, 591), + Trans(30, 42, 43, 591), + Trans(30, 44, 43, 591), + Trans(30, 49, 43, 591), + Trans(30, 50, 43, 591), + Trans(30, 51, 43, 591), + Trans(30, 53, 43, 591), + Trans(30, 54, 43, 591), + Trans(30, 55, 43, 591), + Trans(30, 56, 43, 591), + Trans(30, 57, 43, 591), + Trans(30, 58, 43, 591), + Trans(30, 59, 43, 591), + Trans(30, 60, 43, 591), + Trans(30, 61, 43, 591), + Trans(30, 62, 43, 591), + Trans(30, 63, 43, 591), + Trans(30, 64, 43, 591), + Trans(30, 65, 43, 591), + Trans(30, 66, 43, 591), + Trans(30, 67, 43, 591), + Trans(30, 68, 43, 591), + Trans(30, 69, 43, 591), + Trans(30, 70, 43, 591), + Trans(30, 71, 43, 591), + Trans(30, 72, 43, 591), + Trans(30, 73, 43, 591), + Trans(30, 74, 43, 591), + Trans(30, 75, 43, 591), + Trans(30, 78, 43, 591), + Trans(30, 79, 43, 591), + Trans(30, 80, 43, 591), + Trans(30, 82, 43, 591), + Trans(30, 83, 43, 591), + Trans(30, 84, 43, 591), + Trans(30, 85, 43, 591), + Trans(30, 86, 43, 591), + Trans(30, 87, 43, 591), + Trans(30, 89, 43, 591), + Trans(30, 90, 43, 591), + Trans(30, 92, 43, 591), + Trans(30, 93, 43, 591), + Trans(30, 96, 43, 591), + Trans(30, 97, 43, 591), + Trans(30, 98, 43, 591), + Trans(30, 99, 43, 591), + Trans(30, 100, 43, 591), + Trans(30, 101, 43, 591), + Trans(30, 102, 43, 591), + Trans(30, 105, 43, 591), + Trans(30, 106, 43, 591), + Trans(30, 107, 43, 591), + Trans(30, 109, 43, 591), + Trans(30, 110, 43, 591), + Trans(30, 111, 43, 591), + Trans(30, 112, 43, 591), + Trans(30, 113, 43, 591), + Trans(30, 114, 43, 591), + Trans(30, 115, 43, 591), + Trans(30, 116, 43, 591), + Trans(31, 5, 43, 591), + Trans(31, 40, 43, 591), + Trans(32, 5, 43, 591), + Trans(32, 40, 43, 591), + Trans(32, 42, 43, 591), + Trans(33, 5, 43, 591), + Trans(33, 16, 43, 591), + Trans(33, 17, 43, 591), + Trans(33, 18, 43, 591), + Trans(33, 19, 43, 591), + Trans(33, 20, 43, 591), + Trans(33, 21, 43, 591), + Trans(33, 22, 43, 591), + Trans(33, 23, 43, 591), + Trans(33, 24, 43, 591), + Trans(33, 25, 43, 591), + Trans(33, 26, 43, 591), + Trans(33, 31, 43, 591), + Trans(33, 32, 43, 591), + Trans(33, 33, 43, 591), + Trans(33, 34, 43, 591), + Trans(33, 38, 43, 591), + Trans(33, 48, 43, 591), + Trans(33, 52, 43, 591), + Trans(34, 5, 43, 591), + Trans(34, 31, 43, 591), + Trans(35, 5, 43, 591), + Trans(35, 40, 43, 591), + Trans(35, 72, 43, 591), + Trans(36, 5, 43, 591), + Trans(36, 48, 43, 591), + Trans(36, 115, 43, 591), + Trans(36, 116, 43, 591), + Trans(37, 5, 43, 591), + Trans(37, 115, 43, 591), + Trans(37, 116, 43, 591), + Trans(38, 5, 43, 591), + Trans(38, 47, 43, 591), + Trans(39, 5, 43, 591), + Trans(39, 42, 43, 591), + Trans(39, 116, 43, 591), + Trans(40, 5, 43, 591), + Trans(40, 42, 43, 591), + Trans(41, 5, 43, 591), + Trans(41, 15, 43, 591), + Trans(41, 16, 43, 591), + Trans(41, 17, 43, 591), + Trans(41, 18, 43, 591), + Trans(41, 19, 43, 591), + Trans(41, 20, 43, 591), + Trans(41, 21, 43, 591), + Trans(41, 22, 43, 591), + Trans(41, 23, 43, 591), + Trans(41, 24, 43, 591), + Trans(41, 25, 43, 591), + Trans(41, 26, 43, 591), + Trans(41, 30, 43, 591), + Trans(41, 31, 43, 591), + Trans(41, 32, 43, 591), + Trans(41, 33, 43, 591), + Trans(41, 34, 43, 591), + Trans(41, 35, 43, 591), + Trans(41, 36, 43, 591), + Trans(41, 38, 43, 591), + Trans(41, 41, 43, 591), + Trans(41, 42, 43, 591), + Trans(41, 48, 43, 591), + Trans(41, 52, 43, 591), + Trans(42, 5, 43, 591), + Trans(42, 15, 43, 591), + Trans(42, 16, 43, 591), + Trans(42, 17, 43, 591), + Trans(42, 18, 43, 591), + Trans(42, 19, 43, 591), + Trans(42, 20, 43, 591), + Trans(42, 21, 43, 591), + Trans(42, 22, 43, 591), + Trans(42, 23, 43, 591), + Trans(42, 24, 43, 591), + Trans(42, 25, 43, 591), + Trans(42, 26, 43, 591), + Trans(42, 29, 43, 591), + Trans(42, 30, 43, 591), + Trans(42, 31, 43, 591), + Trans(42, 32, 43, 591), + Trans(42, 33, 43, 591), + Trans(42, 34, 43, 591), + Trans(42, 35, 43, 591), + Trans(42, 36, 43, 591), + Trans(42, 38, 43, 591), + Trans(42, 41, 43, 591), + Trans(42, 42, 43, 591), + Trans(42, 48, 43, 591), + Trans(42, 52, 43, 591), + Trans(44, 6, 43, 591), + Trans(44, 7, 43, 591), + Trans(44, 8, 43, 591), + Trans(44, 9, 43, 591), + Trans(44, 10, 43, 591), + Trans(44, 11, 43, 591), + Trans(44, 18, 43, 591), + Trans(44, 24, 43, 591), + Trans(44, 25, 43, 591), + Trans(44, 26, 43, 591), + Trans(44, 27, 43, 591), + Trans(44, 39, 43, 591), + Trans(44, 40, 43, 591), + Trans(44, 42, 43, 591), + Trans(44, 53, 43, 591), + Trans(44, 54, 43, 591), + Trans(44, 55, 43, 591), + Trans(44, 56, 43, 591), + Trans(44, 57, 43, 591), + Trans(44, 64, 43, 591), + Trans(44, 65, 43, 591), + Trans(44, 69, 43, 591), + Trans(44, 70, 43, 591), + Trans(44, 72, 43, 591), + Trans(44, 78, 43, 591), + Trans(44, 83, 43, 591), + Trans(44, 84, 43, 591), + Trans(44, 87, 43, 591), + Trans(44, 89, 43, 591), + Trans(44, 96, 43, 591), + Trans(44, 97, 43, 591), + Trans(44, 98, 43, 591), + Trans(44, 99, 43, 591), + Trans(44, 100, 43, 591), + Trans(44, 105, 43, 591), + Trans(44, 107, 43, 591), + Trans(44, 109, 43, 591), + Trans(44, 110, 43, 591), + Trans(44, 111, 43, 591), + Trans(44, 115, 43, 591), + Trans(44, 116, 43, 591), + Trans(45, 5, 43, 591), + Trans(45, 16, 43, 591), + Trans(45, 17, 43, 591), + Trans(45, 18, 43, 591), + Trans(45, 19, 43, 591), + Trans(45, 20, 43, 591), + Trans(45, 21, 43, 591), + Trans(45, 22, 43, 591), + Trans(45, 23, 43, 591), + Trans(45, 24, 43, 591), + Trans(45, 25, 43, 591), + Trans(45, 26, 43, 591), + Trans(45, 30, 43, 591), + Trans(45, 31, 43, 591), + Trans(45, 32, 43, 591), + Trans(45, 33, 43, 591), + Trans(45, 34, 43, 591), + Trans(45, 35, 43, 591), + Trans(45, 38, 43, 591), + Trans(45, 41, 43, 591), + Trans(45, 42, 43, 591), + Trans(45, 48, 43, 591), + Trans(45, 52, 43, 591), + Trans(46, 5, 43, 591), + Trans(46, 16, 43, 591), + Trans(46, 17, 43, 591), + Trans(46, 18, 43, 591), + Trans(46, 19, 43, 591), + Trans(46, 20, 43, 591), + Trans(46, 21, 43, 591), + Trans(46, 22, 43, 591), + Trans(46, 23, 43, 591), + Trans(46, 24, 43, 591), + Trans(46, 25, 43, 591), + Trans(46, 26, 43, 591), + Trans(46, 29, 43, 591), + Trans(46, 30, 43, 591), + Trans(46, 31, 43, 591), + Trans(46, 32, 43, 591), + Trans(46, 33, 43, 591), + Trans(46, 34, 43, 591), + Trans(46, 35, 43, 591), + Trans(46, 38, 43, 591), + Trans(46, 41, 43, 591), + Trans(46, 42, 43, 591), + Trans(46, 48, 43, 591), + Trans(46, 52, 43, 591), + Trans(47, 6, 43, 591), + Trans(47, 7, 43, 591), + Trans(47, 8, 43, 591), + Trans(47, 9, 43, 591), + Trans(47, 10, 43, 591), + Trans(47, 11, 43, 591), + Trans(47, 18, 43, 591), + Trans(47, 24, 43, 591), + Trans(47, 25, 43, 591), + Trans(47, 26, 43, 591), + Trans(47, 27, 43, 591), + Trans(47, 39, 43, 591), + Trans(47, 40, 43, 591), + Trans(47, 42, 43, 591), + Trans(47, 53, 43, 591), + Trans(47, 54, 43, 591), + Trans(47, 55, 43, 591), + Trans(47, 56, 43, 591), + Trans(47, 57, 43, 591), + Trans(47, 59, 43, 591), + Trans(47, 64, 43, 591), + Trans(47, 65, 43, 591), + Trans(47, 69, 43, 591), + Trans(47, 70, 43, 591), + Trans(47, 72, 43, 591), + Trans(47, 78, 43, 591), + Trans(47, 83, 43, 591), + Trans(47, 84, 43, 591), + Trans(47, 87, 43, 591), + Trans(47, 89, 43, 591), + Trans(47, 96, 43, 591), + Trans(47, 97, 43, 591), + Trans(47, 98, 43, 591), + Trans(47, 99, 43, 591), + Trans(47, 100, 43, 591), + Trans(47, 105, 43, 591), + Trans(47, 107, 43, 591), + Trans(47, 109, 43, 591), + Trans(47, 110, 43, 591), + Trans(47, 111, 43, 591), + Trans(47, 115, 43, 591), + Trans(47, 116, 43, 591), + Trans(48, 5, 43, 591), + Trans(48, 16, 43, 591), + Trans(48, 17, 43, 591), + Trans(48, 18, 43, 591), + Trans(48, 19, 43, 591), + Trans(48, 20, 43, 591), + Trans(48, 21, 43, 591), + Trans(48, 22, 43, 591), + Trans(48, 23, 43, 591), + Trans(48, 24, 43, 591), + Trans(48, 25, 43, 591), + Trans(48, 26, 43, 591), + Trans(48, 32, 43, 591), + Trans(48, 44, 43, 591), + Trans(48, 48, 43, 591), + Trans(48, 52, 43, 591), + Trans(48, 95, 43, 591), + Trans(49, 5, 43, 591), + Trans(49, 16, 43, 591), + Trans(49, 17, 43, 591), + Trans(49, 18, 43, 591), + Trans(49, 19, 43, 591), + Trans(49, 20, 43, 591), + Trans(49, 21, 43, 591), + Trans(49, 22, 43, 591), + Trans(49, 23, 43, 591), + Trans(49, 24, 43, 591), + Trans(49, 25, 43, 591), + Trans(49, 26, 43, 591), + Trans(49, 32, 43, 591), + Trans(49, 38, 43, 591), + Trans(49, 44, 43, 591), + Trans(49, 48, 43, 591), + Trans(49, 52, 43, 591), + Trans(49, 95, 43, 591), + Trans(50, 5, 43, 591), + Trans(50, 16, 43, 591), + Trans(50, 17, 43, 591), + Trans(50, 18, 43, 591), + Trans(50, 19, 43, 591), + Trans(50, 20, 43, 591), + Trans(50, 21, 43, 591), + Trans(50, 22, 43, 591), + Trans(50, 23, 43, 591), + Trans(50, 24, 43, 591), + Trans(50, 25, 43, 591), + Trans(50, 26, 43, 591), + Trans(50, 30, 43, 591), + Trans(50, 32, 43, 591), + Trans(50, 35, 43, 591), + Trans(50, 38, 43, 591), + Trans(50, 41, 43, 591), + Trans(50, 42, 43, 591), + Trans(50, 44, 43, 591), + Trans(50, 48, 43, 591), + Trans(50, 52, 43, 591), + Trans(50, 95, 43, 591), + Trans(51, 5, 43, 591), + Trans(51, 16, 43, 591), + Trans(51, 17, 43, 591), + Trans(51, 18, 43, 591), + Trans(51, 19, 43, 591), + Trans(51, 20, 43, 591), + Trans(51, 21, 43, 591), + Trans(51, 22, 43, 591), + Trans(51, 23, 43, 591), + Trans(51, 24, 43, 591), + Trans(51, 25, 43, 591), + Trans(51, 26, 43, 591), + Trans(51, 29, 43, 591), + Trans(51, 30, 43, 591), + Trans(51, 32, 43, 591), + Trans(51, 35, 43, 591), + Trans(51, 38, 43, 591), + Trans(51, 41, 43, 591), + Trans(51, 42, 43, 591), + Trans(51, 44, 43, 591), + Trans(51, 48, 43, 591), + Trans(51, 52, 43, 591), + Trans(51, 95, 43, 591), + Trans(52, 6, 43, 591), + Trans(52, 7, 43, 591), + Trans(52, 8, 43, 591), + Trans(52, 9, 43, 591), + Trans(52, 10, 43, 591), + Trans(52, 11, 43, 591), + Trans(52, 18, 43, 591), + Trans(52, 24, 43, 591), + Trans(52, 25, 43, 591), + Trans(52, 26, 43, 591), + Trans(52, 27, 43, 591), + Trans(52, 37, 43, 591), + Trans(52, 39, 43, 591), + Trans(52, 40, 43, 591), + Trans(52, 42, 43, 591), + Trans(52, 44, 43, 591), + Trans(52, 53, 43, 591), + Trans(52, 54, 43, 591), + Trans(52, 55, 43, 591), + Trans(52, 56, 43, 591), + Trans(52, 57, 43, 591), + Trans(52, 64, 43, 591), + Trans(52, 65, 43, 591), + Trans(52, 67, 43, 591), + Trans(52, 69, 43, 591), + Trans(52, 70, 43, 591), + Trans(52, 71, 43, 591), + Trans(52, 72, 43, 591), + Trans(52, 78, 43, 591), + Trans(52, 82, 43, 591), + Trans(52, 83, 43, 591), + Trans(52, 84, 43, 591), + Trans(52, 87, 43, 591), + Trans(52, 89, 43, 591), + Trans(52, 96, 43, 591), + Trans(52, 97, 43, 591), + Trans(52, 98, 43, 591), + Trans(52, 99, 43, 591), + Trans(52, 100, 43, 591), + Trans(52, 101, 43, 591), + Trans(52, 102, 43, 591), + Trans(52, 105, 43, 591), + Trans(52, 107, 43, 591), + Trans(52, 109, 43, 591), + Trans(52, 110, 43, 591), + Trans(52, 111, 43, 591), + Trans(52, 114, 43, 591), + Trans(52, 115, 43, 591), + Trans(52, 116, 43, 591), + Trans(53, 5, 43, 591), + Trans(53, 6, 43, 591), + Trans(53, 7, 43, 591), + Trans(53, 8, 43, 591), + Trans(53, 9, 43, 591), + Trans(53, 10, 43, 591), + Trans(53, 11, 43, 591), + Trans(53, 18, 43, 591), + Trans(53, 24, 43, 591), + Trans(53, 25, 43, 591), + Trans(53, 26, 43, 591), + Trans(53, 27, 43, 591), + Trans(53, 37, 43, 591), + Trans(53, 39, 43, 591), + Trans(53, 40, 43, 591), + Trans(53, 42, 43, 591), + Trans(53, 44, 43, 591), + Trans(53, 53, 43, 591), + Trans(53, 54, 43, 591), + Trans(53, 55, 43, 591), + Trans(53, 56, 43, 591), + Trans(53, 57, 43, 591), + Trans(53, 64, 43, 591), + Trans(53, 65, 43, 591), + Trans(53, 67, 43, 591), + Trans(53, 69, 43, 591), + Trans(53, 70, 43, 591), + Trans(53, 71, 43, 591), + Trans(53, 72, 43, 591), + Trans(53, 78, 43, 591), + Trans(53, 82, 43, 591), + Trans(53, 83, 43, 591), + Trans(53, 84, 43, 591), + Trans(53, 87, 43, 591), + Trans(53, 89, 43, 591), + Trans(53, 96, 43, 591), + Trans(53, 97, 43, 591), + Trans(53, 98, 43, 591), + Trans(53, 99, 43, 591), + Trans(53, 100, 43, 591), + Trans(53, 101, 43, 591), + Trans(53, 102, 43, 591), + Trans(53, 105, 43, 591), + Trans(53, 107, 43, 591), + Trans(53, 109, 43, 591), + Trans(53, 110, 43, 591), + Trans(53, 111, 43, 591), + Trans(53, 114, 43, 591), + Trans(53, 115, 43, 591), + Trans(53, 116, 43, 591), + Trans(54, 5, 43, 591), + Trans(54, 37, 43, 591), + Trans(54, 40, 43, 591), + Trans(54, 44, 43, 591), + Trans(54, 54, 43, 591), + Trans(54, 67, 43, 591), + Trans(54, 71, 43, 591), + Trans(54, 72, 43, 591), + Trans(54, 82, 43, 591), + Trans(54, 101, 43, 591), + Trans(54, 102, 43, 591), + Trans(54, 107, 43, 591), + Trans(54, 114, 43, 591), + Trans(54, 115, 43, 591), + Trans(54, 116, 43, 591), + Trans(55, 5, 43, 591), + Trans(55, 15, 43, 591), + Trans(55, 16, 43, 591), + Trans(55, 17, 43, 591), + Trans(55, 18, 43, 591), + Trans(55, 19, 43, 591), + Trans(55, 20, 43, 591), + Trans(55, 21, 43, 591), + Trans(55, 22, 43, 591), + Trans(55, 23, 43, 591), + Trans(55, 24, 43, 591), + Trans(55, 25, 43, 591), + Trans(55, 26, 43, 591), + Trans(55, 30, 43, 591), + Trans(55, 32, 43, 591), + Trans(55, 35, 43, 591), + Trans(55, 36, 43, 591), + Trans(55, 38, 43, 591), + Trans(55, 41, 43, 591), + Trans(55, 42, 43, 591), + Trans(55, 44, 43, 591), + Trans(55, 48, 43, 591), + Trans(55, 52, 43, 591), + Trans(55, 95, 43, 591), + Trans(56, 5, 43, 591), + Trans(56, 15, 43, 591), + Trans(56, 16, 43, 591), + Trans(56, 17, 43, 591), + Trans(56, 18, 43, 591), + Trans(56, 19, 43, 591), + Trans(56, 20, 43, 591), + Trans(56, 21, 43, 591), + Trans(56, 22, 43, 591), + Trans(56, 23, 43, 591), + Trans(56, 24, 43, 591), + Trans(56, 25, 43, 591), + Trans(56, 26, 43, 591), + Trans(56, 29, 43, 591), + Trans(56, 30, 43, 591), + Trans(56, 32, 43, 591), + Trans(56, 35, 43, 591), + Trans(56, 36, 43, 591), + Trans(56, 38, 43, 591), + Trans(56, 41, 43, 591), + Trans(56, 42, 43, 591), + Trans(56, 44, 43, 591), + Trans(56, 48, 43, 591), + Trans(56, 52, 43, 591), + Trans(56, 95, 43, 591), + Trans(57, 5, 43, 591), + Trans(57, 16, 43, 591), + Trans(57, 17, 43, 591), + Trans(57, 18, 43, 591), + Trans(57, 19, 43, 591), + Trans(57, 20, 43, 591), + Trans(57, 21, 43, 591), + Trans(57, 22, 43, 591), + Trans(57, 23, 43, 591), + Trans(57, 24, 43, 591), + Trans(57, 25, 43, 591), + Trans(57, 26, 43, 591), + Trans(57, 46, 43, 591), + Trans(57, 48, 43, 591), + Trans(57, 52, 43, 591), + Trans(58, 5, 43, 591), + Trans(58, 16, 43, 591), + Trans(58, 17, 43, 591), + Trans(58, 18, 43, 591), + Trans(58, 19, 43, 591), + Trans(58, 20, 43, 591), + Trans(58, 21, 43, 591), + Trans(58, 22, 43, 591), + Trans(58, 23, 43, 591), + Trans(58, 24, 43, 591), + Trans(58, 25, 43, 591), + Trans(58, 26, 43, 591), + Trans(58, 38, 43, 591), + Trans(58, 46, 43, 591), + Trans(58, 48, 43, 591), + Trans(58, 52, 43, 591), + Trans(59, 5, 43, 591), + Trans(59, 16, 43, 591), + Trans(59, 17, 43, 591), + Trans(59, 18, 43, 591), + Trans(59, 19, 43, 591), + Trans(59, 20, 43, 591), + Trans(59, 21, 43, 591), + Trans(59, 22, 43, 591), + Trans(59, 23, 43, 591), + Trans(59, 24, 43, 591), + Trans(59, 25, 43, 591), + Trans(59, 26, 43, 591), + Trans(59, 30, 43, 591), + Trans(59, 35, 43, 591), + Trans(59, 38, 43, 591), + Trans(59, 41, 43, 591), + Trans(59, 42, 43, 591), + Trans(59, 46, 43, 591), + Trans(59, 48, 43, 591), + Trans(59, 52, 43, 591), + Trans(60, 5, 43, 591), + Trans(60, 16, 43, 591), + Trans(60, 17, 43, 591), + Trans(60, 18, 43, 591), + Trans(60, 19, 43, 591), + Trans(60, 20, 43, 591), + Trans(60, 21, 43, 591), + Trans(60, 22, 43, 591), + Trans(60, 23, 43, 591), + Trans(60, 24, 43, 591), + Trans(60, 25, 43, 591), + Trans(60, 26, 43, 591), + Trans(60, 29, 43, 591), + Trans(60, 30, 43, 591), + Trans(60, 35, 43, 591), + Trans(60, 38, 43, 591), + Trans(60, 41, 43, 591), + Trans(60, 42, 43, 591), + Trans(60, 46, 43, 591), + Trans(60, 48, 43, 591), + Trans(60, 52, 43, 591), + Trans(61, 5, 43, 591), + Trans(61, 16, 43, 591), + Trans(61, 17, 43, 591), + Trans(61, 18, 43, 591), + Trans(61, 19, 43, 591), + Trans(61, 20, 43, 591), + Trans(61, 21, 43, 591), + Trans(61, 22, 43, 591), + Trans(61, 23, 43, 591), + Trans(61, 24, 43, 591), + Trans(61, 25, 43, 591), + Trans(61, 26, 43, 591), + Trans(61, 40, 43, 591), + Trans(61, 48, 43, 591), + Trans(61, 52, 43, 591), + Trans(62, 5, 43, 591), + Trans(62, 16, 43, 591), + Trans(62, 17, 43, 591), + Trans(62, 18, 43, 591), + Trans(62, 19, 43, 591), + Trans(62, 20, 43, 591), + Trans(62, 21, 43, 591), + Trans(62, 22, 43, 591), + Trans(62, 23, 43, 591), + Trans(62, 24, 43, 591), + Trans(62, 25, 43, 591), + Trans(62, 26, 43, 591), + Trans(62, 38, 43, 591), + Trans(62, 40, 43, 591), + Trans(62, 48, 43, 591), + Trans(62, 52, 43, 591), + Trans(63, 5, 43, 591), + Trans(63, 16, 43, 591), + Trans(63, 17, 43, 591), + Trans(63, 18, 43, 591), + Trans(63, 19, 43, 591), + Trans(63, 20, 43, 591), + Trans(63, 21, 43, 591), + Trans(63, 22, 43, 591), + Trans(63, 23, 43, 591), + Trans(63, 24, 43, 591), + Trans(63, 25, 43, 591), + Trans(63, 26, 43, 591), + Trans(63, 30, 43, 591), + Trans(63, 35, 43, 591), + Trans(63, 38, 43, 591), + Trans(63, 40, 43, 591), + Trans(63, 41, 43, 591), + Trans(63, 42, 43, 591), + Trans(63, 48, 43, 591), + Trans(63, 52, 43, 591), + Trans(64, 5, 43, 591), + Trans(64, 16, 43, 591), + Trans(64, 17, 43, 591), + Trans(64, 18, 43, 591), + Trans(64, 19, 43, 591), + Trans(64, 20, 43, 591), + Trans(64, 21, 43, 591), + Trans(64, 22, 43, 591), + Trans(64, 23, 43, 591), + Trans(64, 24, 43, 591), + Trans(64, 25, 43, 591), + Trans(64, 26, 43, 591), + Trans(64, 29, 43, 591), + Trans(64, 30, 43, 591), + Trans(64, 35, 43, 591), + Trans(64, 38, 43, 591), + Trans(64, 40, 43, 591), + Trans(64, 41, 43, 591), + Trans(64, 42, 43, 591), + Trans(64, 48, 43, 591), + Trans(64, 52, 43, 591), + Trans(65, 5, 43, 591), + Trans(65, 16, 43, 591), + Trans(65, 17, 43, 591), + Trans(65, 18, 43, 591), + Trans(65, 19, 43, 591), + Trans(65, 20, 43, 591), + Trans(65, 21, 43, 591), + Trans(65, 22, 43, 591), + Trans(65, 23, 43, 591), + Trans(65, 24, 43, 591), + Trans(65, 25, 43, 591), + Trans(65, 26, 43, 591), + Trans(65, 47, 43, 591), + Trans(65, 48, 43, 591), + Trans(65, 52, 43, 591), + Trans(66, 5, 43, 591), + Trans(66, 16, 43, 591), + Trans(66, 17, 43, 591), + Trans(66, 18, 43, 591), + Trans(66, 19, 43, 591), + Trans(66, 20, 43, 591), + Trans(66, 21, 43, 591), + Trans(66, 22, 43, 591), + Trans(66, 23, 43, 591), + Trans(66, 24, 43, 591), + Trans(66, 25, 43, 591), + Trans(66, 26, 43, 591), + Trans(66, 38, 43, 591), + Trans(66, 47, 43, 591), + Trans(66, 48, 43, 591), + Trans(66, 52, 43, 591), + Trans(67, 5, 43, 591), + Trans(67, 16, 43, 591), + Trans(67, 17, 43, 591), + Trans(67, 18, 43, 591), + Trans(67, 19, 43, 591), + Trans(67, 20, 43, 591), + Trans(67, 21, 43, 591), + Trans(67, 22, 43, 591), + Trans(67, 23, 43, 591), + Trans(67, 24, 43, 591), + Trans(67, 25, 43, 591), + Trans(67, 26, 43, 591), + Trans(67, 30, 43, 591), + Trans(67, 35, 43, 591), + Trans(67, 38, 43, 591), + Trans(67, 41, 43, 591), + Trans(67, 42, 43, 591), + Trans(67, 47, 43, 591), + Trans(67, 48, 43, 591), + Trans(67, 52, 43, 591), + Trans(68, 5, 43, 591), + Trans(68, 16, 43, 591), + Trans(68, 17, 43, 591), + Trans(68, 18, 43, 591), + Trans(68, 19, 43, 591), + Trans(68, 20, 43, 591), + Trans(68, 21, 43, 591), + Trans(68, 22, 43, 591), + Trans(68, 23, 43, 591), + Trans(68, 24, 43, 591), + Trans(68, 25, 43, 591), + Trans(68, 26, 43, 591), + Trans(68, 29, 43, 591), + Trans(68, 30, 43, 591), + Trans(68, 35, 43, 591), + Trans(68, 38, 43, 591), + Trans(68, 41, 43, 591), + Trans(68, 42, 43, 591), + Trans(68, 47, 43, 591), + Trans(68, 48, 43, 591), + Trans(68, 52, 43, 591), + Trans(69, 15, 43, 591), + Trans(69, 16, 43, 591), + Trans(69, 17, 43, 591), + Trans(69, 18, 43, 591), + Trans(69, 19, 43, 591), + Trans(69, 20, 43, 591), + Trans(69, 21, 43, 591), + Trans(69, 22, 43, 591), + Trans(69, 23, 43, 591), + Trans(69, 24, 43, 591), + Trans(69, 25, 43, 591), + Trans(69, 26, 43, 591), + Trans(69, 30, 43, 591), + Trans(69, 31, 43, 591), + Trans(69, 32, 43, 591), + Trans(69, 33, 43, 591), + Trans(69, 34, 43, 591), + Trans(69, 35, 43, 591), + Trans(69, 36, 43, 591), + Trans(69, 38, 43, 591), + Trans(69, 41, 43, 591), + Trans(69, 42, 43, 591), + Trans(69, 48, 43, 591), + Trans(69, 52, 43, 591), + Trans(70, 5, 43, 591), + Trans(70, 40, 43, 591), + Trans(70, 54, 43, 591), + Trans(70, 67, 43, 591), + Trans(70, 71, 43, 591), + Trans(70, 72, 43, 591), + Trans(70, 101, 43, 591), + Trans(70, 102, 43, 591), + Trans(70, 107, 43, 591), + Trans(70, 115, 43, 591), + Trans(70, 116, 43, 591), + Trans(71, 5, 43, 591), + Trans(71, 6, 43, 591), + Trans(71, 7, 43, 591), + Trans(71, 8, 43, 591), + Trans(71, 9, 43, 591), + Trans(71, 10, 43, 591), + Trans(71, 11, 43, 591), + Trans(71, 18, 43, 591), + Trans(71, 24, 43, 591), + Trans(71, 25, 43, 591), + Trans(71, 26, 43, 591), + Trans(71, 27, 43, 591), + Trans(71, 39, 43, 591), + Trans(71, 40, 43, 591), + Trans(71, 42, 43, 591), + Trans(71, 46, 43, 591), + Trans(71, 53, 43, 591), + Trans(71, 54, 43, 591), + Trans(71, 55, 43, 591), + Trans(71, 56, 43, 591), + Trans(71, 57, 43, 591), + Trans(71, 64, 43, 591), + Trans(71, 65, 43, 591), + Trans(71, 69, 43, 591), + Trans(71, 70, 43, 591), + Trans(71, 72, 43, 591), + Trans(71, 78, 43, 591), + Trans(71, 83, 43, 591), + Trans(71, 84, 43, 591), + Trans(71, 87, 43, 591), + Trans(71, 89, 43, 591), + Trans(71, 96, 43, 591), + Trans(71, 97, 43, 591), + Trans(71, 98, 43, 591), + Trans(71, 99, 43, 591), + Trans(71, 100, 43, 591), + Trans(71, 105, 43, 591), + Trans(71, 107, 43, 591), + Trans(71, 109, 43, 591), + Trans(71, 110, 43, 591), + Trans(71, 111, 43, 591), + Trans(71, 115, 43, 591), + Trans(71, 116, 43, 591), + Trans(72, 5, 43, 591), + Trans(72, 55, 43, 591), + Trans(72, 56, 43, 591), + Trans(72, 57, 43, 591), + Trans(72, 64, 43, 591), + Trans(72, 65, 43, 591), + Trans(72, 69, 43, 591), + Trans(72, 70, 43, 591), + Trans(72, 96, 43, 591), + Trans(72, 97, 43, 591), + Trans(72, 98, 43, 591), + Trans(72, 99, 43, 591), + Trans(72, 100, 43, 591), + Trans(72, 110, 43, 591), + Trans(72, 111, 43, 591), + Trans(72, 115, 43, 591), + Trans(72, 116, 43, 591), + Trans(73, 15, 43, 591), + Trans(73, 16, 43, 591), + Trans(73, 17, 43, 591), + Trans(73, 18, 43, 591), + Trans(73, 19, 43, 591), + Trans(73, 20, 43, 591), + Trans(73, 21, 43, 591), + Trans(73, 22, 43, 591), + Trans(73, 23, 43, 591), + Trans(73, 24, 43, 591), + Trans(73, 25, 43, 591), + Trans(73, 26, 43, 591), + Trans(73, 29, 43, 591), + Trans(73, 30, 43, 591), + Trans(73, 31, 43, 591), + Trans(73, 32, 43, 591), + Trans(73, 33, 43, 591), + Trans(73, 34, 43, 591), + Trans(73, 35, 43, 591), + Trans(73, 36, 43, 591), + Trans(73, 38, 43, 591), + Trans(73, 41, 43, 591), + Trans(73, 42, 43, 591), + Trans(73, 48, 43, 591), + Trans(73, 52, 43, 591), + Trans(74, 5, 43, 591), + Trans(74, 7, 43, 591), + Trans(74, 8, 43, 591), + Trans(74, 9, 43, 591), + Trans(74, 10, 43, 591), + Trans(74, 11, 43, 591), + Trans(74, 43, 43, 591), + Trans(74, 115, 43, 591), + Trans(74, 116, 43, 591), + Trans(75, 16, 43, 591), + Trans(75, 17, 43, 591), + Trans(75, 18, 43, 591), + Trans(75, 19, 43, 591), + Trans(75, 20, 43, 591), + Trans(75, 21, 43, 591), + Trans(75, 22, 43, 591), + Trans(75, 23, 43, 591), + Trans(75, 24, 43, 591), + Trans(75, 25, 43, 591), + Trans(75, 26, 43, 591), + Trans(75, 31, 43, 591), + Trans(75, 32, 43, 591), + Trans(75, 33, 43, 591), + Trans(75, 34, 43, 591), + Trans(75, 48, 43, 591), + Trans(75, 52, 43, 591), + Trans(76, 16, 43, 591), + Trans(76, 17, 43, 591), + Trans(76, 18, 43, 591), + Trans(76, 19, 43, 591), + Trans(76, 20, 43, 591), + Trans(76, 21, 43, 591), + Trans(76, 22, 43, 591), + Trans(76, 23, 43, 591), + Trans(76, 24, 43, 591), + Trans(76, 25, 43, 591), + Trans(76, 26, 43, 591), + Trans(76, 31, 43, 591), + Trans(76, 32, 43, 591), + Trans(76, 33, 43, 591), + Trans(76, 34, 43, 591), + Trans(76, 38, 43, 591), + Trans(76, 48, 43, 591), + Trans(76, 52, 43, 591), + Trans(77, 31, 43, 591), + Trans(78, 40, 43, 591), + Trans(79, 5, 43, 591), + Trans(79, 6, 43, 591), + Trans(79, 7, 43, 591), + Trans(79, 8, 43, 591), + Trans(79, 9, 43, 591), + Trans(79, 10, 43, 591), + Trans(79, 11, 43, 591), + Trans(79, 18, 43, 591), + Trans(79, 24, 43, 591), + Trans(79, 25, 43, 591), + Trans(79, 26, 43, 591), + Trans(79, 27, 43, 591), + Trans(79, 39, 43, 591), + Trans(79, 40, 43, 591), + Trans(79, 42, 43, 591), + Trans(79, 44, 43, 591), + Trans(79, 53, 43, 591), + Trans(79, 54, 43, 591), + Trans(79, 55, 43, 591), + Trans(79, 56, 43, 591), + Trans(79, 57, 43, 591), + Trans(79, 59, 43, 591), + Trans(79, 64, 43, 591), + Trans(79, 65, 43, 591), + Trans(79, 69, 43, 591), + Trans(79, 70, 43, 591), + Trans(79, 72, 43, 591), + Trans(79, 78, 43, 591), + Trans(79, 83, 43, 591), + Trans(79, 84, 43, 591), + Trans(79, 87, 43, 591), + Trans(79, 89, 43, 591), + Trans(79, 96, 43, 591), + Trans(79, 97, 43, 591), + Trans(79, 98, 43, 591), + Trans(79, 99, 43, 591), + Trans(79, 100, 43, 591), + Trans(79, 105, 43, 591), + Trans(79, 107, 43, 591), + Trans(79, 109, 43, 591), + Trans(79, 110, 43, 591), + Trans(79, 111, 43, 591), + Trans(79, 115, 43, 591), + Trans(79, 116, 43, 591), + Trans(80, 41, 43, 591), + Trans(81, 42, 43, 591), + Trans(82, 47, 43, 591), + Trans(83, 116, 43, 591), ], k: 3, }, @@ -9187,56 +9364,57 @@ pub const LOOKAHEAD_AUTOMATA: &[LookaheadDFA; 668] = &[ LookaheadDFA { prod0: -1, transitions: &[ - Trans(0, 6, 2, 586), - Trans(0, 7, 2, 586), - Trans(0, 8, 2, 586), - Trans(0, 9, 2, 586), - Trans(0, 10, 2, 586), - Trans(0, 11, 2, 586), - Trans(0, 18, 2, 586), - Trans(0, 24, 2, 586), - Trans(0, 25, 2, 586), - Trans(0, 26, 2, 586), - Trans(0, 27, 2, 586), - Trans(0, 39, 2, 586), - Trans(0, 40, 2, 586), - Trans(0, 42, 2, 586), - Trans(0, 44, 2, 586), - Trans(0, 53, 2, 586), - Trans(0, 54, 2, 586), - Trans(0, 55, 2, 586), - Trans(0, 56, 2, 586), - Trans(0, 57, 2, 586), - Trans(0, 59, 2, 586), - Trans(0, 60, 1, 585), - Trans(0, 64, 2, 586), - Trans(0, 65, 2, 586), - Trans(0, 67, 2, 586), - Trans(0, 69, 2, 586), - Trans(0, 70, 2, 586), - Trans(0, 71, 2, 586), - Trans(0, 72, 2, 586), - Trans(0, 78, 2, 586), - Trans(0, 82, 2, 586), - Trans(0, 83, 2, 586), - Trans(0, 84, 2, 586), - Trans(0, 87, 2, 586), - Trans(0, 89, 2, 586), - Trans(0, 96, 2, 586), - Trans(0, 97, 2, 586), - Trans(0, 98, 2, 586), - Trans(0, 99, 2, 586), - Trans(0, 100, 2, 586), - Trans(0, 101, 2, 586), - Trans(0, 102, 2, 586), - Trans(0, 105, 2, 586), - Trans(0, 107, 2, 586), - Trans(0, 109, 2, 586), - Trans(0, 110, 2, 586), - Trans(0, 111, 2, 586), - Trans(0, 114, 2, 586), - Trans(0, 115, 2, 586), - Trans(0, 116, 2, 586), + Trans(0, 6, 2, 593), + Trans(0, 7, 2, 593), + Trans(0, 8, 2, 593), + Trans(0, 9, 2, 593), + Trans(0, 10, 2, 593), + Trans(0, 11, 2, 593), + Trans(0, 18, 2, 593), + Trans(0, 24, 2, 593), + Trans(0, 25, 2, 593), + Trans(0, 26, 2, 593), + Trans(0, 27, 2, 593), + Trans(0, 37, 2, 593), + Trans(0, 39, 2, 593), + Trans(0, 40, 2, 593), + Trans(0, 42, 2, 593), + Trans(0, 44, 2, 593), + Trans(0, 53, 2, 593), + Trans(0, 54, 2, 593), + Trans(0, 55, 2, 593), + Trans(0, 56, 2, 593), + Trans(0, 57, 2, 593), + Trans(0, 59, 2, 593), + Trans(0, 60, 1, 592), + Trans(0, 64, 2, 593), + Trans(0, 65, 2, 593), + Trans(0, 67, 2, 593), + Trans(0, 69, 2, 593), + Trans(0, 70, 2, 593), + Trans(0, 71, 2, 593), + Trans(0, 72, 2, 593), + Trans(0, 78, 2, 593), + Trans(0, 82, 2, 593), + Trans(0, 83, 2, 593), + Trans(0, 84, 2, 593), + Trans(0, 87, 2, 593), + Trans(0, 89, 2, 593), + Trans(0, 96, 2, 593), + Trans(0, 97, 2, 593), + Trans(0, 98, 2, 593), + Trans(0, 99, 2, 593), + Trans(0, 100, 2, 593), + Trans(0, 101, 2, 593), + Trans(0, 102, 2, 593), + Trans(0, 105, 2, 593), + Trans(0, 107, 2, 593), + Trans(0, 109, 2, 593), + Trans(0, 110, 2, 593), + Trans(0, 111, 2, 593), + Trans(0, 114, 2, 593), + Trans(0, 115, 2, 593), + Trans(0, 116, 2, 593), ], k: 1, }, @@ -9254,7 +9432,7 @@ pub const LOOKAHEAD_AUTOMATA: &[LookaheadDFA; 668] = &[ }, /* 283 - "IfStatement" */ LookaheadDFA { - prod0: 577, + prod0: 584, transitions: &[], k: 0, }, @@ -9273,1572 +9451,1737 @@ pub const LOOKAHEAD_AUTOMATA: &[LookaheadDFA; 668] = &[ Trans(0, 25, 6, -1), Trans(0, 26, 6, -1), Trans(0, 27, 6, -1), - Trans(0, 39, 7, -1), - Trans(0, 40, 8, -1), - Trans(0, 42, 9, -1), - Trans(0, 44, 10, -1), - Trans(0, 53, 11, -1), - Trans(0, 54, 12, -1), - Trans(0, 55, 11, -1), - Trans(0, 56, 11, -1), - Trans(0, 57, 11, -1), - Trans(0, 59, 13, -1), + Trans(0, 37, 7, -1), + Trans(0, 39, 8, -1), + Trans(0, 40, 9, -1), + Trans(0, 42, 10, -1), + Trans(0, 44, 11, -1), + Trans(0, 53, 12, -1), + Trans(0, 54, 13, -1), + Trans(0, 55, 12, -1), + Trans(0, 56, 12, -1), + Trans(0, 57, 12, -1), + Trans(0, 59, 14, -1), Trans(0, 60, 1, -1), Trans(0, 64, 5, -1), Trans(0, 65, 5, -1), - Trans(0, 67, 14, -1), + Trans(0, 67, 15, -1), Trans(0, 69, 5, -1), Trans(0, 70, 5, -1), - Trans(0, 71, 15, -1), - Trans(0, 72, 12, -1), - Trans(0, 78, 12, -1), - Trans(0, 82, 14, -1), - Trans(0, 83, 11, -1), + Trans(0, 71, 16, -1), + Trans(0, 72, 13, -1), + Trans(0, 78, 13, -1), + Trans(0, 82, 15, -1), + Trans(0, 83, 12, -1), Trans(0, 84, 5, -1), Trans(0, 87, 5, -1), - Trans(0, 89, 12, -1), - Trans(0, 96, 11, -1), - Trans(0, 97, 11, -1), - Trans(0, 98, 11, -1), - Trans(0, 99, 11, -1), - Trans(0, 100, 11, -1), - Trans(0, 101, 16, -1), - Trans(0, 102, 17, -1), + Trans(0, 89, 13, -1), + Trans(0, 96, 12, -1), + Trans(0, 97, 12, -1), + Trans(0, 98, 12, -1), + Trans(0, 99, 12, -1), + Trans(0, 100, 12, -1), + Trans(0, 101, 17, -1), + Trans(0, 102, 18, -1), Trans(0, 105, 5, -1), - Trans(0, 107, 18, -1), - Trans(0, 109, 19, -1), + Trans(0, 107, 19, -1), + Trans(0, 109, 20, -1), Trans(0, 110, 5, -1), Trans(0, 111, 5, -1), - Trans(0, 114, 14, -1), - Trans(0, 115, 20, -1), - Trans(0, 116, 21, -1), + Trans(0, 114, 15, -1), + Trans(0, 115, 21, -1), + Trans(0, 116, 22, -1), Trans(1, 5, 4, -1), - Trans(1, 40, 72, -1), + Trans(1, 40, 54, -1), Trans(1, 72, 2, -1), - Trans(2, 5, 3, 578), - Trans(2, 6, 3, 578), - Trans(2, 7, 3, 578), - Trans(2, 8, 3, 578), - Trans(2, 9, 3, 578), - Trans(2, 10, 3, 578), - Trans(2, 11, 3, 578), - Trans(2, 18, 3, 578), - Trans(2, 24, 3, 578), - Trans(2, 25, 3, 578), - Trans(2, 26, 3, 578), - Trans(2, 27, 3, 578), - Trans(2, 39, 3, 578), - Trans(2, 40, 3, 578), - Trans(2, 42, 3, 578), - Trans(2, 53, 3, 578), - Trans(2, 54, 3, 578), - Trans(2, 55, 3, 578), - Trans(2, 56, 3, 578), - Trans(2, 57, 3, 578), - Trans(2, 64, 3, 578), - Trans(2, 65, 3, 578), - Trans(2, 69, 3, 578), - Trans(2, 70, 3, 578), - Trans(2, 72, 3, 578), - Trans(2, 78, 3, 578), - Trans(2, 83, 3, 578), - Trans(2, 84, 3, 578), - Trans(2, 87, 3, 578), - Trans(2, 89, 3, 578), - Trans(2, 96, 3, 578), - Trans(2, 97, 3, 578), - Trans(2, 98, 3, 578), - Trans(2, 99, 3, 578), - Trans(2, 100, 3, 578), - Trans(2, 105, 3, 578), - Trans(2, 107, 3, 578), - Trans(2, 109, 3, 578), - Trans(2, 110, 3, 578), - Trans(2, 111, 3, 578), - Trans(2, 115, 3, 578), - Trans(2, 116, 3, 578), - Trans(4, 40, 42, 579), - Trans(4, 72, 3, 578), - Trans(5, 5, 69, -1), - Trans(5, 16, 24, -1), - Trans(5, 17, 24, -1), - Trans(5, 18, 24, -1), - Trans(5, 19, 24, -1), - Trans(5, 20, 24, -1), - Trans(5, 21, 24, -1), - Trans(5, 22, 24, -1), - Trans(5, 23, 24, -1), - Trans(5, 24, 24, -1), - Trans(5, 25, 24, -1), - Trans(5, 26, 24, -1), - Trans(5, 31, 64, -1), - Trans(5, 32, 24, -1), - Trans(5, 33, 24, -1), - Trans(5, 34, 24, -1), - Trans(5, 48, 24, -1), - Trans(5, 52, 66, -1), - Trans(6, 5, 43, -1), - Trans(6, 6, 23, -1), - Trans(6, 7, 23, -1), - Trans(6, 8, 23, -1), - Trans(6, 9, 23, -1), - Trans(6, 10, 23, -1), - Trans(6, 11, 23, -1), - Trans(6, 18, 24, -1), - Trans(6, 24, 24, -1), - Trans(6, 25, 24, -1), - Trans(6, 26, 24, -1), - Trans(6, 27, 24, -1), - Trans(6, 39, 27, -1), - Trans(6, 40, 24, -1), - Trans(6, 42, 24, -1), - Trans(6, 53, 32, -1), - Trans(6, 54, 24, -1), - Trans(6, 55, 32, -1), - Trans(6, 56, 32, -1), - Trans(6, 57, 32, -1), - Trans(6, 64, 23, -1), - Trans(6, 65, 23, -1), - Trans(6, 69, 23, -1), - Trans(6, 70, 23, -1), - Trans(6, 72, 24, -1), - Trans(6, 78, 24, -1), - Trans(6, 83, 32, -1), - Trans(6, 84, 23, -1), - Trans(6, 87, 23, -1), - Trans(6, 89, 24, -1), - Trans(6, 96, 32, -1), - Trans(6, 97, 32, -1), - Trans(6, 98, 32, -1), - Trans(6, 99, 32, -1), - Trans(6, 100, 32, -1), - Trans(6, 105, 23, -1), - Trans(6, 107, 30, -1), - Trans(6, 109, 39, -1), - Trans(6, 110, 23, -1), - Trans(6, 111, 23, -1), - Trans(6, 115, 44, -1), - Trans(6, 116, 45, -1), - Trans(7, 5, 46, -1), - Trans(7, 6, 47, -1), - Trans(7, 7, 47, -1), - Trans(7, 8, 47, -1), - Trans(7, 9, 47, -1), - Trans(7, 10, 47, -1), - Trans(7, 11, 47, -1), - Trans(7, 18, 24, -1), - Trans(7, 24, 24, -1), - Trans(7, 25, 24, -1), - Trans(7, 26, 24, -1), - Trans(7, 27, 24, -1), - Trans(7, 39, 27, -1), - Trans(7, 40, 24, -1), - Trans(7, 42, 24, -1), - Trans(7, 53, 48, -1), - Trans(7, 54, 24, -1), - Trans(7, 55, 48, -1), - Trans(7, 56, 48, -1), - Trans(7, 57, 48, -1), - Trans(7, 59, 33, -1), - Trans(7, 64, 47, -1), - Trans(7, 65, 47, -1), - Trans(7, 69, 47, -1), - Trans(7, 70, 47, -1), - Trans(7, 72, 24, -1), - Trans(7, 78, 24, -1), - Trans(7, 83, 48, -1), - Trans(7, 84, 47, -1), - Trans(7, 87, 47, -1), - Trans(7, 89, 24, -1), - Trans(7, 96, 48, -1), - Trans(7, 97, 48, -1), - Trans(7, 98, 48, -1), - Trans(7, 99, 48, -1), - Trans(7, 100, 48, -1), - Trans(7, 105, 47, -1), - Trans(7, 107, 30, -1), - Trans(7, 109, 39, -1), - Trans(7, 110, 47, -1), - Trans(7, 111, 47, -1), - Trans(7, 115, 49, -1), - Trans(7, 116, 50, -1), - Trans(8, 5, 43, -1), - Trans(8, 6, 47, -1), - Trans(8, 7, 47, -1), - Trans(8, 8, 47, -1), - Trans(8, 9, 47, -1), - Trans(8, 10, 47, -1), - Trans(8, 11, 47, -1), - Trans(8, 18, 24, -1), - Trans(8, 24, 24, -1), - Trans(8, 25, 24, -1), - Trans(8, 26, 24, -1), - Trans(8, 27, 24, -1), - Trans(8, 39, 27, -1), - Trans(8, 40, 24, -1), - Trans(8, 42, 24, -1), - Trans(8, 53, 48, -1), - Trans(8, 54, 24, -1), - Trans(8, 55, 48, -1), - Trans(8, 56, 48, -1), - Trans(8, 57, 48, -1), - Trans(8, 64, 47, -1), - Trans(8, 65, 47, -1), - Trans(8, 69, 47, -1), - Trans(8, 70, 47, -1), - Trans(8, 72, 24, -1), - Trans(8, 78, 24, -1), - Trans(8, 83, 48, -1), - Trans(8, 84, 47, -1), - Trans(8, 87, 47, -1), - Trans(8, 89, 24, -1), - Trans(8, 96, 48, -1), - Trans(8, 97, 48, -1), - Trans(8, 98, 48, -1), - Trans(8, 99, 48, -1), - Trans(8, 100, 48, -1), - Trans(8, 105, 47, -1), - Trans(8, 107, 30, -1), - Trans(8, 109, 39, -1), - Trans(8, 110, 47, -1), - Trans(8, 111, 47, -1), - Trans(8, 115, 49, -1), - Trans(8, 116, 50, -1), - Trans(9, 5, 43, -1), - Trans(9, 6, 51, -1), - Trans(9, 7, 51, -1), - Trans(9, 8, 51, -1), - Trans(9, 9, 51, -1), - Trans(9, 10, 51, -1), - Trans(9, 11, 51, -1), - Trans(9, 18, 24, -1), - Trans(9, 24, 24, -1), - Trans(9, 25, 24, -1), - Trans(9, 26, 24, -1), - Trans(9, 27, 24, -1), - Trans(9, 39, 27, -1), - Trans(9, 40, 24, -1), - Trans(9, 42, 24, -1), - Trans(9, 53, 52, -1), - Trans(9, 54, 24, -1), - Trans(9, 55, 52, -1), - Trans(9, 56, 52, -1), - Trans(9, 57, 52, -1), - Trans(9, 64, 51, -1), - Trans(9, 65, 51, -1), - Trans(9, 69, 51, -1), - Trans(9, 70, 51, -1), - Trans(9, 72, 24, -1), - Trans(9, 78, 24, -1), - Trans(9, 83, 52, -1), - Trans(9, 84, 51, -1), - Trans(9, 87, 51, -1), - Trans(9, 89, 24, -1), - Trans(9, 96, 52, -1), - Trans(9, 97, 52, -1), - Trans(9, 98, 52, -1), - Trans(9, 99, 52, -1), - Trans(9, 100, 52, -1), - Trans(9, 105, 51, -1), - Trans(9, 107, 30, -1), - Trans(9, 109, 39, -1), - Trans(9, 110, 51, -1), - Trans(9, 111, 51, -1), - Trans(9, 115, 53, -1), - Trans(9, 116, 54, -1), - Trans(10, 5, 22, -1), - Trans(10, 6, 23, -1), - Trans(10, 7, 23, -1), - Trans(10, 8, 23, -1), - Trans(10, 9, 23, -1), - Trans(10, 10, 23, -1), - Trans(10, 11, 23, -1), - Trans(10, 18, 24, -1), - Trans(10, 24, 24, -1), - Trans(10, 25, 24, -1), - Trans(10, 26, 24, -1), - Trans(10, 27, 24, -1), - Trans(10, 31, 25, -1), - Trans(10, 37, 26, -1), - Trans(10, 39, 27, -1), - Trans(10, 40, 28, -1), - Trans(10, 42, 24, -1), - Trans(10, 44, 29, -1), - Trans(10, 49, 30, -1), - Trans(10, 50, 31, -1), - Trans(10, 51, 25, -1), - Trans(10, 53, 32, -1), - Trans(10, 54, 24, -1), - Trans(10, 55, 32, -1), - Trans(10, 56, 32, -1), - Trans(10, 57, 32, -1), - Trans(10, 58, 25, -1), - Trans(10, 59, 33, -1), - Trans(10, 60, 34, -1), - Trans(10, 62, 25, -1), - Trans(10, 63, 35, -1), - Trans(10, 64, 23, -1), - Trans(10, 65, 23, -1), - Trans(10, 66, 30, -1), - Trans(10, 67, 25, -1), - Trans(10, 68, 25, -1), - Trans(10, 69, 23, -1), - Trans(10, 70, 23, -1), - Trans(10, 71, 30, -1), - Trans(10, 72, 24, -1), - Trans(10, 73, 36, -1), - Trans(10, 75, 30, -1), - Trans(10, 78, 24, -1), - Trans(10, 79, 25, -1), - Trans(10, 82, 25, -1), - Trans(10, 83, 32, -1), - Trans(10, 84, 23, -1), - Trans(10, 85, 25, -1), - Trans(10, 87, 23, -1), - Trans(10, 89, 24, -1), - Trans(10, 96, 32, -1), - Trans(10, 97, 32, -1), - Trans(10, 98, 32, -1), - Trans(10, 99, 32, -1), - Trans(10, 100, 32, -1), - Trans(10, 101, 24, -1), - Trans(10, 102, 37, -1), - Trans(10, 105, 23, -1), - Trans(10, 106, 25, -1), - Trans(10, 107, 30, -1), - Trans(10, 109, 38, -1), - Trans(10, 110, 23, -1), - Trans(10, 111, 23, -1), - Trans(10, 112, 25, -1), - Trans(10, 113, 39, -1), - Trans(10, 114, 25, -1), - Trans(10, 115, 40, -1), - Trans(10, 116, 41, -1), - Trans(11, 5, 70, -1), - Trans(11, 16, 24, -1), - Trans(11, 17, 24, -1), - Trans(11, 18, 24, -1), - Trans(11, 19, 24, -1), - Trans(11, 20, 24, -1), - Trans(11, 21, 24, -1), - Trans(11, 22, 24, -1), - Trans(11, 23, 24, -1), - Trans(11, 24, 24, -1), - Trans(11, 25, 24, -1), - Trans(11, 26, 24, -1), - Trans(11, 31, 64, -1), - Trans(11, 32, 24, -1), - Trans(11, 33, 24, -1), - Trans(11, 34, 24, -1), - Trans(11, 38, 24, -1), - Trans(11, 48, 24, -1), - Trans(11, 52, 66, -1), - Trans(12, 5, 43, -1), - Trans(12, 6, 55, -1), - Trans(12, 7, 55, -1), - Trans(12, 8, 55, -1), - Trans(12, 9, 55, -1), - Trans(12, 10, 55, -1), - Trans(12, 11, 55, -1), - Trans(12, 18, 24, -1), - Trans(12, 24, 24, -1), - Trans(12, 25, 24, -1), - Trans(12, 26, 24, -1), - Trans(12, 27, 24, -1), - Trans(12, 39, 27, -1), - Trans(12, 40, 24, -1), - Trans(12, 42, 24, -1), - Trans(12, 53, 56, -1), - Trans(12, 54, 24, -1), - Trans(12, 55, 56, -1), - Trans(12, 56, 56, -1), - Trans(12, 57, 56, -1), - Trans(12, 64, 55, -1), - Trans(12, 65, 55, -1), - Trans(12, 69, 55, -1), - Trans(12, 70, 55, -1), - Trans(12, 72, 24, -1), - Trans(12, 78, 24, -1), - Trans(12, 83, 56, -1), - Trans(12, 84, 55, -1), - Trans(12, 87, 55, -1), - Trans(12, 89, 24, -1), - Trans(12, 96, 56, -1), - Trans(12, 97, 56, -1), - Trans(12, 98, 56, -1), - Trans(12, 99, 56, -1), - Trans(12, 100, 56, -1), - Trans(12, 105, 55, -1), - Trans(12, 107, 30, -1), - Trans(12, 109, 39, -1), - Trans(12, 110, 55, -1), - Trans(12, 111, 55, -1), - Trans(12, 115, 57, -1), - Trans(12, 116, 58, -1), - Trans(13, 5, 71, -1), - Trans(13, 31, 64, -1), + Trans(2, 5, 3, 585), + Trans(2, 6, 3, 585), + Trans(2, 7, 3, 585), + Trans(2, 8, 3, 585), + Trans(2, 9, 3, 585), + Trans(2, 10, 3, 585), + Trans(2, 11, 3, 585), + Trans(2, 18, 3, 585), + Trans(2, 24, 3, 585), + Trans(2, 25, 3, 585), + Trans(2, 26, 3, 585), + Trans(2, 27, 3, 585), + Trans(2, 39, 3, 585), + Trans(2, 40, 3, 585), + Trans(2, 42, 3, 585), + Trans(2, 53, 3, 585), + Trans(2, 54, 3, 585), + Trans(2, 55, 3, 585), + Trans(2, 56, 3, 585), + Trans(2, 57, 3, 585), + Trans(2, 64, 3, 585), + Trans(2, 65, 3, 585), + Trans(2, 69, 3, 585), + Trans(2, 70, 3, 585), + Trans(2, 72, 3, 585), + Trans(2, 78, 3, 585), + Trans(2, 83, 3, 585), + Trans(2, 84, 3, 585), + Trans(2, 87, 3, 585), + Trans(2, 89, 3, 585), + Trans(2, 96, 3, 585), + Trans(2, 97, 3, 585), + Trans(2, 98, 3, 585), + Trans(2, 99, 3, 585), + Trans(2, 100, 3, 585), + Trans(2, 105, 3, 585), + Trans(2, 107, 3, 585), + Trans(2, 109, 3, 585), + Trans(2, 110, 3, 585), + Trans(2, 111, 3, 585), + Trans(2, 115, 3, 585), + Trans(2, 116, 3, 585), + Trans(4, 40, 43, 586), + Trans(4, 72, 3, 585), + Trans(5, 5, 75, -1), + Trans(5, 16, 25, -1), + Trans(5, 17, 25, -1), + Trans(5, 18, 25, -1), + Trans(5, 19, 25, -1), + Trans(5, 20, 25, -1), + Trans(5, 21, 25, -1), + Trans(5, 22, 25, -1), + Trans(5, 23, 25, -1), + Trans(5, 24, 25, -1), + Trans(5, 25, 25, -1), + Trans(5, 26, 25, -1), + Trans(5, 31, 70, -1), + Trans(5, 32, 25, -1), + Trans(5, 33, 25, -1), + Trans(5, 34, 25, -1), + Trans(5, 48, 25, -1), + Trans(5, 52, 72, -1), + Trans(6, 5, 44, -1), + Trans(6, 6, 24, -1), + Trans(6, 7, 24, -1), + Trans(6, 8, 24, -1), + Trans(6, 9, 24, -1), + Trans(6, 10, 24, -1), + Trans(6, 11, 24, -1), + Trans(6, 18, 25, -1), + Trans(6, 24, 25, -1), + Trans(6, 25, 25, -1), + Trans(6, 26, 25, -1), + Trans(6, 27, 25, -1), + Trans(6, 39, 28, -1), + Trans(6, 40, 25, -1), + Trans(6, 42, 25, -1), + Trans(6, 53, 33, -1), + Trans(6, 54, 25, -1), + Trans(6, 55, 33, -1), + Trans(6, 56, 33, -1), + Trans(6, 57, 33, -1), + Trans(6, 64, 24, -1), + Trans(6, 65, 24, -1), + Trans(6, 69, 24, -1), + Trans(6, 70, 24, -1), + Trans(6, 72, 25, -1), + Trans(6, 78, 25, -1), + Trans(6, 83, 33, -1), + Trans(6, 84, 24, -1), + Trans(6, 87, 24, -1), + Trans(6, 89, 25, -1), + Trans(6, 96, 33, -1), + Trans(6, 97, 33, -1), + Trans(6, 98, 33, -1), + Trans(6, 99, 33, -1), + Trans(6, 100, 33, -1), + Trans(6, 105, 24, -1), + Trans(6, 107, 31, -1), + Trans(6, 109, 40, -1), + Trans(6, 110, 24, -1), + Trans(6, 111, 24, -1), + Trans(6, 115, 45, -1), + Trans(6, 116, 46, -1), + Trans(7, 5, 80, -1), + Trans(7, 41, 26, -1), + Trans(8, 5, 47, -1), + Trans(8, 6, 48, -1), + Trans(8, 7, 48, -1), + Trans(8, 8, 48, -1), + Trans(8, 9, 48, -1), + Trans(8, 10, 48, -1), + Trans(8, 11, 48, -1), + Trans(8, 18, 25, -1), + Trans(8, 24, 25, -1), + Trans(8, 25, 25, -1), + Trans(8, 26, 25, -1), + Trans(8, 27, 25, -1), + Trans(8, 39, 28, -1), + Trans(8, 40, 25, -1), + Trans(8, 42, 25, -1), + Trans(8, 53, 49, -1), + Trans(8, 54, 25, -1), + Trans(8, 55, 49, -1), + Trans(8, 56, 49, -1), + Trans(8, 57, 49, -1), + Trans(8, 59, 34, -1), + Trans(8, 64, 48, -1), + Trans(8, 65, 48, -1), + Trans(8, 69, 48, -1), + Trans(8, 70, 48, -1), + Trans(8, 72, 25, -1), + Trans(8, 78, 25, -1), + Trans(8, 83, 49, -1), + Trans(8, 84, 48, -1), + Trans(8, 87, 48, -1), + Trans(8, 89, 25, -1), + Trans(8, 96, 49, -1), + Trans(8, 97, 49, -1), + Trans(8, 98, 49, -1), + Trans(8, 99, 49, -1), + Trans(8, 100, 49, -1), + Trans(8, 105, 48, -1), + Trans(8, 107, 31, -1), + Trans(8, 109, 40, -1), + Trans(8, 110, 48, -1), + Trans(8, 111, 48, -1), + Trans(8, 115, 50, -1), + Trans(8, 116, 51, -1), + Trans(9, 5, 52, -1), + Trans(9, 6, 48, -1), + Trans(9, 7, 48, -1), + Trans(9, 8, 48, -1), + Trans(9, 9, 48, -1), + Trans(9, 10, 48, -1), + Trans(9, 11, 48, -1), + Trans(9, 18, 25, -1), + Trans(9, 24, 25, -1), + Trans(9, 25, 25, -1), + Trans(9, 26, 25, -1), + Trans(9, 27, 25, -1), + Trans(9, 37, 27, -1), + Trans(9, 39, 28, -1), + Trans(9, 40, 53, -1), + Trans(9, 42, 25, -1), + Trans(9, 44, 54, -1), + Trans(9, 53, 49, -1), + Trans(9, 54, 25, -1), + Trans(9, 55, 49, -1), + Trans(9, 56, 49, -1), + Trans(9, 57, 49, -1), + Trans(9, 64, 48, -1), + Trans(9, 65, 48, -1), + Trans(9, 67, 26, -1), + Trans(9, 69, 48, -1), + Trans(9, 70, 48, -1), + Trans(9, 71, 31, -1), + Trans(9, 72, 25, -1), + Trans(9, 78, 25, -1), + Trans(9, 82, 26, -1), + Trans(9, 83, 49, -1), + Trans(9, 84, 48, -1), + Trans(9, 87, 48, -1), + Trans(9, 89, 25, -1), + Trans(9, 96, 49, -1), + Trans(9, 97, 49, -1), + Trans(9, 98, 49, -1), + Trans(9, 99, 49, -1), + Trans(9, 100, 49, -1), + Trans(9, 101, 25, -1), + Trans(9, 102, 38, -1), + Trans(9, 105, 48, -1), + Trans(9, 107, 31, -1), + Trans(9, 109, 40, -1), + Trans(9, 110, 48, -1), + Trans(9, 111, 48, -1), + Trans(9, 114, 26, -1), + Trans(9, 115, 55, -1), + Trans(9, 116, 56, -1), + Trans(10, 5, 44, -1), + Trans(10, 6, 57, -1), + Trans(10, 7, 57, -1), + Trans(10, 8, 57, -1), + Trans(10, 9, 57, -1), + Trans(10, 10, 57, -1), + Trans(10, 11, 57, -1), + Trans(10, 18, 25, -1), + Trans(10, 24, 25, -1), + Trans(10, 25, 25, -1), + Trans(10, 26, 25, -1), + Trans(10, 27, 25, -1), + Trans(10, 39, 28, -1), + Trans(10, 40, 25, -1), + Trans(10, 42, 25, -1), + Trans(10, 53, 58, -1), + Trans(10, 54, 25, -1), + Trans(10, 55, 58, -1), + Trans(10, 56, 58, -1), + Trans(10, 57, 58, -1), + Trans(10, 64, 57, -1), + Trans(10, 65, 57, -1), + Trans(10, 69, 57, -1), + Trans(10, 70, 57, -1), + Trans(10, 72, 25, -1), + Trans(10, 78, 25, -1), + Trans(10, 83, 58, -1), + Trans(10, 84, 57, -1), + Trans(10, 87, 57, -1), + Trans(10, 89, 25, -1), + Trans(10, 96, 58, -1), + Trans(10, 97, 58, -1), + Trans(10, 98, 58, -1), + Trans(10, 99, 58, -1), + Trans(10, 100, 58, -1), + Trans(10, 105, 57, -1), + Trans(10, 107, 31, -1), + Trans(10, 109, 40, -1), + Trans(10, 110, 57, -1), + Trans(10, 111, 57, -1), + Trans(10, 115, 59, -1), + Trans(10, 116, 60, -1), + Trans(11, 5, 23, -1), + Trans(11, 6, 24, -1), + Trans(11, 7, 24, -1), + Trans(11, 8, 24, -1), + Trans(11, 9, 24, -1), + Trans(11, 10, 24, -1), + Trans(11, 11, 24, -1), + Trans(11, 18, 25, -1), + Trans(11, 24, 25, -1), + Trans(11, 25, 25, -1), + Trans(11, 26, 25, -1), + Trans(11, 27, 25, -1), + Trans(11, 31, 26, -1), + Trans(11, 37, 27, -1), + Trans(11, 39, 28, -1), + Trans(11, 40, 29, -1), + Trans(11, 42, 25, -1), + Trans(11, 44, 30, -1), + Trans(11, 49, 31, -1), + Trans(11, 50, 32, -1), + Trans(11, 51, 26, -1), + Trans(11, 53, 33, -1), + Trans(11, 54, 25, -1), + Trans(11, 55, 33, -1), + Trans(11, 56, 33, -1), + Trans(11, 57, 33, -1), + Trans(11, 58, 26, -1), + Trans(11, 59, 34, -1), + Trans(11, 60, 35, -1), + Trans(11, 62, 26, -1), + Trans(11, 63, 36, -1), + Trans(11, 64, 24, -1), + Trans(11, 65, 24, -1), + Trans(11, 66, 31, -1), + Trans(11, 67, 26, -1), + Trans(11, 68, 26, -1), + Trans(11, 69, 24, -1), + Trans(11, 70, 24, -1), + Trans(11, 71, 31, -1), + Trans(11, 72, 25, -1), + Trans(11, 73, 37, -1), + Trans(11, 75, 31, -1), + Trans(11, 78, 25, -1), + Trans(11, 79, 26, -1), + Trans(11, 82, 26, -1), + Trans(11, 83, 33, -1), + Trans(11, 84, 24, -1), + Trans(11, 85, 26, -1), + Trans(11, 87, 24, -1), + Trans(11, 89, 25, -1), + Trans(11, 96, 33, -1), + Trans(11, 97, 33, -1), + Trans(11, 98, 33, -1), + Trans(11, 99, 33, -1), + Trans(11, 100, 33, -1), + Trans(11, 101, 25, -1), + Trans(11, 102, 38, -1), + Trans(11, 105, 24, -1), + Trans(11, 106, 26, -1), + Trans(11, 107, 31, -1), + Trans(11, 109, 39, -1), + Trans(11, 110, 24, -1), + Trans(11, 111, 24, -1), + Trans(11, 112, 26, -1), + Trans(11, 113, 40, -1), + Trans(11, 114, 26, -1), + Trans(11, 115, 41, -1), + Trans(11, 116, 42, -1), + Trans(12, 5, 76, -1), + Trans(12, 16, 25, -1), + Trans(12, 17, 25, -1), + Trans(12, 18, 25, -1), + Trans(12, 19, 25, -1), + Trans(12, 20, 25, -1), + Trans(12, 21, 25, -1), + Trans(12, 22, 25, -1), + Trans(12, 23, 25, -1), + Trans(12, 24, 25, -1), + Trans(12, 25, 25, -1), + Trans(12, 26, 25, -1), + Trans(12, 31, 70, -1), + Trans(12, 32, 25, -1), + Trans(12, 33, 25, -1), + Trans(12, 34, 25, -1), + Trans(12, 38, 25, -1), + Trans(12, 48, 25, -1), + Trans(12, 52, 72, -1), + Trans(13, 5, 44, -1), + Trans(13, 6, 61, -1), + Trans(13, 7, 61, -1), + Trans(13, 8, 61, -1), + Trans(13, 9, 61, -1), + Trans(13, 10, 61, -1), + Trans(13, 11, 61, -1), + Trans(13, 18, 25, -1), + Trans(13, 24, 25, -1), + Trans(13, 25, 25, -1), + Trans(13, 26, 25, -1), + Trans(13, 27, 25, -1), + Trans(13, 39, 28, -1), + Trans(13, 40, 25, -1), + Trans(13, 42, 25, -1), + Trans(13, 53, 62, -1), + Trans(13, 54, 25, -1), + Trans(13, 55, 62, -1), + Trans(13, 56, 62, -1), + Trans(13, 57, 62, -1), + Trans(13, 64, 61, -1), + Trans(13, 65, 61, -1), + Trans(13, 69, 61, -1), + Trans(13, 70, 61, -1), + Trans(13, 72, 25, -1), + Trans(13, 78, 25, -1), + Trans(13, 83, 62, -1), + Trans(13, 84, 61, -1), + Trans(13, 87, 61, -1), + Trans(13, 89, 25, -1), + Trans(13, 96, 62, -1), + Trans(13, 97, 62, -1), + Trans(13, 98, 62, -1), + Trans(13, 99, 62, -1), + Trans(13, 100, 62, -1), + Trans(13, 105, 61, -1), + Trans(13, 107, 31, -1), + Trans(13, 109, 40, -1), + Trans(13, 110, 61, -1), + Trans(13, 111, 61, -1), + Trans(13, 115, 63, -1), + Trans(13, 116, 64, -1), Trans(14, 5, 77, -1), - Trans(14, 116, 33, -1), - Trans(15, 5, 73, -1), - Trans(15, 40, 72, -1), - Trans(16, 5, 43, -1), - Trans(16, 6, 59, -1), - Trans(16, 7, 59, -1), - Trans(16, 8, 59, -1), - Trans(16, 9, 59, -1), - Trans(16, 10, 59, -1), - Trans(16, 11, 59, -1), - Trans(16, 18, 24, -1), - Trans(16, 24, 24, -1), - Trans(16, 25, 24, -1), - Trans(16, 26, 24, -1), - Trans(16, 27, 24, -1), - Trans(16, 39, 27, -1), - Trans(16, 40, 24, -1), - Trans(16, 42, 24, -1), - Trans(16, 53, 60, -1), - Trans(16, 54, 24, -1), - Trans(16, 55, 60, -1), - Trans(16, 56, 60, -1), - Trans(16, 57, 60, -1), - Trans(16, 64, 59, -1), - Trans(16, 65, 59, -1), - Trans(16, 69, 59, -1), - Trans(16, 70, 59, -1), - Trans(16, 72, 24, -1), - Trans(16, 78, 24, -1), - Trans(16, 83, 60, -1), - Trans(16, 84, 59, -1), - Trans(16, 87, 59, -1), - Trans(16, 89, 24, -1), - Trans(16, 96, 60, -1), - Trans(16, 97, 60, -1), - Trans(16, 98, 60, -1), - Trans(16, 99, 60, -1), - Trans(16, 100, 60, -1), - Trans(16, 105, 59, -1), - Trans(16, 107, 30, -1), - Trans(16, 109, 39, -1), - Trans(16, 110, 59, -1), - Trans(16, 111, 59, -1), - Trans(16, 115, 61, -1), - Trans(16, 116, 62, -1), - Trans(17, 5, 76, -1), - Trans(17, 47, 72, -1), - Trans(18, 5, 73, -1), - Trans(18, 40, 74, -1), - Trans(19, 5, 75, -1), - Trans(19, 42, 24, -1), - Trans(20, 5, 63, -1), - Trans(20, 15, 24, -1), - Trans(20, 16, 24, -1), - Trans(20, 17, 24, -1), - Trans(20, 18, 24, -1), - Trans(20, 19, 24, -1), - Trans(20, 20, 24, -1), - Trans(20, 21, 24, -1), - Trans(20, 22, 24, -1), - Trans(20, 23, 24, -1), - Trans(20, 24, 24, -1), - Trans(20, 25, 24, -1), - Trans(20, 26, 24, -1), - Trans(20, 30, 25, -1), - Trans(20, 31, 64, -1), - Trans(20, 32, 24, -1), - Trans(20, 33, 24, -1), - Trans(20, 34, 24, -1), - Trans(20, 35, 25, -1), - Trans(20, 36, 24, -1), - Trans(20, 38, 24, -1), - Trans(20, 41, 24, -1), - Trans(20, 42, 65, -1), - Trans(20, 48, 24, -1), - Trans(20, 52, 66, -1), - Trans(21, 5, 67, -1), - Trans(21, 15, 24, -1), - Trans(21, 16, 24, -1), - Trans(21, 17, 24, -1), - Trans(21, 18, 24, -1), - Trans(21, 19, 24, -1), - Trans(21, 20, 24, -1), - Trans(21, 21, 24, -1), - Trans(21, 22, 24, -1), - Trans(21, 23, 24, -1), - Trans(21, 24, 24, -1), - Trans(21, 25, 24, -1), - Trans(21, 26, 24, -1), - Trans(21, 29, 68, -1), - Trans(21, 30, 25, -1), - Trans(21, 31, 64, -1), - Trans(21, 32, 24, -1), - Trans(21, 33, 24, -1), - Trans(21, 34, 24, -1), - Trans(21, 35, 25, -1), - Trans(21, 36, 24, -1), - Trans(21, 38, 24, -1), - Trans(21, 41, 24, -1), - Trans(21, 42, 65, -1), - Trans(21, 48, 24, -1), - Trans(21, 52, 66, -1), - Trans(22, 6, 42, 579), - Trans(22, 7, 42, 579), - Trans(22, 8, 42, 579), - Trans(22, 9, 42, 579), - Trans(22, 10, 42, 579), - Trans(22, 11, 42, 579), - Trans(22, 18, 42, 579), - Trans(22, 24, 42, 579), - Trans(22, 25, 42, 579), - Trans(22, 26, 42, 579), - Trans(22, 27, 42, 579), - Trans(22, 31, 42, 579), - Trans(22, 37, 42, 579), - Trans(22, 39, 42, 579), - Trans(22, 40, 42, 579), - Trans(22, 42, 42, 579), - Trans(22, 44, 42, 579), - Trans(22, 49, 42, 579), - Trans(22, 50, 42, 579), - Trans(22, 51, 42, 579), - Trans(22, 53, 42, 579), - Trans(22, 54, 42, 579), - Trans(22, 55, 42, 579), - Trans(22, 56, 42, 579), - Trans(22, 57, 42, 579), - Trans(22, 58, 42, 579), - Trans(22, 59, 42, 579), - Trans(22, 60, 42, 579), - Trans(22, 62, 42, 579), - Trans(22, 63, 42, 579), - Trans(22, 64, 42, 579), - Trans(22, 65, 42, 579), - Trans(22, 66, 42, 579), - Trans(22, 67, 42, 579), - Trans(22, 68, 42, 579), - Trans(22, 69, 42, 579), - Trans(22, 70, 42, 579), - Trans(22, 71, 42, 579), - Trans(22, 72, 42, 579), - Trans(22, 73, 42, 579), - Trans(22, 75, 42, 579), - Trans(22, 78, 42, 579), - Trans(22, 79, 42, 579), - Trans(22, 82, 42, 579), - Trans(22, 83, 42, 579), - Trans(22, 84, 42, 579), - Trans(22, 85, 42, 579), - Trans(22, 87, 42, 579), - Trans(22, 89, 42, 579), - Trans(22, 96, 42, 579), - Trans(22, 97, 42, 579), - Trans(22, 98, 42, 579), - Trans(22, 99, 42, 579), - Trans(22, 100, 42, 579), - Trans(22, 101, 42, 579), - Trans(22, 102, 42, 579), - Trans(22, 105, 42, 579), - Trans(22, 106, 42, 579), - Trans(22, 107, 42, 579), - Trans(22, 109, 42, 579), - Trans(22, 110, 42, 579), - Trans(22, 111, 42, 579), - Trans(22, 112, 42, 579), - Trans(22, 113, 42, 579), - Trans(22, 114, 42, 579), - Trans(22, 115, 42, 579), - Trans(22, 116, 42, 579), - Trans(23, 5, 42, 579), - Trans(23, 16, 42, 579), - Trans(23, 17, 42, 579), - Trans(23, 18, 42, 579), - Trans(23, 19, 42, 579), - Trans(23, 20, 42, 579), - Trans(23, 21, 42, 579), - Trans(23, 22, 42, 579), - Trans(23, 23, 42, 579), - Trans(23, 24, 42, 579), - Trans(23, 25, 42, 579), - Trans(23, 26, 42, 579), - Trans(23, 31, 42, 579), - Trans(23, 32, 42, 579), - Trans(23, 33, 42, 579), - Trans(23, 34, 42, 579), - Trans(23, 48, 42, 579), - Trans(23, 52, 42, 579), - Trans(24, 5, 42, 579), - Trans(24, 6, 42, 579), - Trans(24, 7, 42, 579), - Trans(24, 8, 42, 579), - Trans(24, 9, 42, 579), - Trans(24, 10, 42, 579), - Trans(24, 11, 42, 579), - Trans(24, 18, 42, 579), - Trans(24, 24, 42, 579), - Trans(24, 25, 42, 579), - Trans(24, 26, 42, 579), - Trans(24, 27, 42, 579), - Trans(24, 39, 42, 579), - Trans(24, 40, 42, 579), - Trans(24, 42, 42, 579), - Trans(24, 53, 42, 579), - Trans(24, 54, 42, 579), - Trans(24, 55, 42, 579), - Trans(24, 56, 42, 579), - Trans(24, 57, 42, 579), - Trans(24, 64, 42, 579), - Trans(24, 65, 42, 579), - Trans(24, 69, 42, 579), - Trans(24, 70, 42, 579), - Trans(24, 72, 42, 579), - Trans(24, 78, 42, 579), - Trans(24, 83, 42, 579), - Trans(24, 84, 42, 579), - Trans(24, 87, 42, 579), - Trans(24, 89, 42, 579), - Trans(24, 96, 42, 579), - Trans(24, 97, 42, 579), - Trans(24, 98, 42, 579), - Trans(24, 99, 42, 579), - Trans(24, 100, 42, 579), - Trans(24, 105, 42, 579), - Trans(24, 107, 42, 579), - Trans(24, 109, 42, 579), - Trans(24, 110, 42, 579), - Trans(24, 111, 42, 579), - Trans(24, 115, 42, 579), - Trans(24, 116, 42, 579), - Trans(25, 5, 42, 579), - Trans(25, 116, 42, 579), - Trans(26, 5, 42, 579), - Trans(26, 41, 42, 579), - Trans(27, 5, 42, 579), - Trans(27, 6, 42, 579), - Trans(27, 7, 42, 579), - Trans(27, 8, 42, 579), - Trans(27, 9, 42, 579), - Trans(27, 10, 42, 579), - Trans(27, 11, 42, 579), - Trans(27, 18, 42, 579), - Trans(27, 24, 42, 579), - Trans(27, 25, 42, 579), - Trans(27, 26, 42, 579), - Trans(27, 27, 42, 579), - Trans(27, 39, 42, 579), - Trans(27, 40, 42, 579), - Trans(27, 42, 42, 579), - Trans(27, 53, 42, 579), - Trans(27, 54, 42, 579), - Trans(27, 55, 42, 579), - Trans(27, 56, 42, 579), - Trans(27, 57, 42, 579), - Trans(27, 59, 42, 579), - Trans(27, 64, 42, 579), - Trans(27, 65, 42, 579), - Trans(27, 69, 42, 579), - Trans(27, 70, 42, 579), - Trans(27, 72, 42, 579), - Trans(27, 78, 42, 579), - Trans(27, 83, 42, 579), - Trans(27, 84, 42, 579), - Trans(27, 87, 42, 579), - Trans(27, 89, 42, 579), - Trans(27, 96, 42, 579), - Trans(27, 97, 42, 579), - Trans(27, 98, 42, 579), - Trans(27, 99, 42, 579), - Trans(27, 100, 42, 579), - Trans(27, 105, 42, 579), - Trans(27, 107, 42, 579), - Trans(27, 109, 42, 579), - Trans(27, 110, 42, 579), - Trans(27, 111, 42, 579), - Trans(27, 115, 42, 579), - Trans(27, 116, 42, 579), - Trans(28, 5, 42, 579), - Trans(28, 6, 42, 579), - Trans(28, 7, 42, 579), - Trans(28, 8, 42, 579), - Trans(28, 9, 42, 579), - Trans(28, 10, 42, 579), - Trans(28, 11, 42, 579), - Trans(28, 18, 42, 579), - Trans(28, 24, 42, 579), - Trans(28, 25, 42, 579), - Trans(28, 26, 42, 579), - Trans(28, 27, 42, 579), - Trans(28, 31, 42, 579), - Trans(28, 37, 42, 579), - Trans(28, 39, 42, 579), - Trans(28, 40, 42, 579), - Trans(28, 42, 42, 579), - Trans(28, 44, 42, 579), - Trans(28, 49, 42, 579), - Trans(28, 50, 42, 579), - Trans(28, 51, 42, 579), - Trans(28, 53, 42, 579), - Trans(28, 54, 42, 579), - Trans(28, 55, 42, 579), - Trans(28, 56, 42, 579), - Trans(28, 57, 42, 579), - Trans(28, 58, 42, 579), - Trans(28, 62, 42, 579), - Trans(28, 63, 42, 579), - Trans(28, 64, 42, 579), - Trans(28, 65, 42, 579), - Trans(28, 66, 42, 579), - Trans(28, 67, 42, 579), - Trans(28, 68, 42, 579), - Trans(28, 69, 42, 579), - Trans(28, 70, 42, 579), - Trans(28, 72, 42, 579), - Trans(28, 73, 42, 579), - Trans(28, 75, 42, 579), - Trans(28, 78, 42, 579), - Trans(28, 79, 42, 579), - Trans(28, 82, 42, 579), - Trans(28, 83, 42, 579), - Trans(28, 84, 42, 579), - Trans(28, 85, 42, 579), - Trans(28, 87, 42, 579), - Trans(28, 89, 42, 579), - Trans(28, 96, 42, 579), - Trans(28, 97, 42, 579), - Trans(28, 98, 42, 579), - Trans(28, 99, 42, 579), - Trans(28, 100, 42, 579), - Trans(28, 105, 42, 579), - Trans(28, 106, 42, 579), - Trans(28, 107, 42, 579), - Trans(28, 109, 42, 579), - Trans(28, 110, 42, 579), - Trans(28, 111, 42, 579), - Trans(28, 112, 42, 579), - Trans(28, 113, 42, 579), - Trans(28, 114, 42, 579), - Trans(28, 115, 42, 579), - Trans(28, 116, 42, 579), - Trans(29, 0, 42, 579), - Trans(29, 5, 42, 579), - Trans(29, 6, 42, 579), - Trans(29, 7, 42, 579), - Trans(29, 8, 42, 579), - Trans(29, 9, 42, 579), - Trans(29, 10, 42, 579), - Trans(29, 11, 42, 579), - Trans(29, 18, 42, 579), - Trans(29, 24, 42, 579), - Trans(29, 25, 42, 579), - Trans(29, 26, 42, 579), - Trans(29, 27, 42, 579), - Trans(29, 31, 42, 579), - Trans(29, 37, 42, 579), - Trans(29, 39, 42, 579), - Trans(29, 40, 42, 579), - Trans(29, 42, 42, 579), - Trans(29, 44, 42, 579), - Trans(29, 49, 42, 579), - Trans(29, 50, 42, 579), - Trans(29, 51, 42, 579), - Trans(29, 53, 42, 579), - Trans(29, 54, 42, 579), - Trans(29, 55, 42, 579), - Trans(29, 56, 42, 579), - Trans(29, 57, 42, 579), - Trans(29, 58, 42, 579), - Trans(29, 59, 42, 579), - Trans(29, 60, 42, 579), - Trans(29, 61, 42, 579), - Trans(29, 62, 42, 579), - Trans(29, 63, 42, 579), - Trans(29, 64, 42, 579), - Trans(29, 65, 42, 579), - Trans(29, 66, 42, 579), - Trans(29, 67, 42, 579), - Trans(29, 68, 42, 579), - Trans(29, 69, 42, 579), - Trans(29, 70, 42, 579), - Trans(29, 71, 42, 579), - Trans(29, 72, 42, 579), - Trans(29, 73, 42, 579), - Trans(29, 74, 42, 579), - Trans(29, 75, 42, 579), - Trans(29, 78, 42, 579), - Trans(29, 79, 42, 579), - Trans(29, 80, 42, 579), - Trans(29, 82, 42, 579), - Trans(29, 83, 42, 579), - Trans(29, 84, 42, 579), - Trans(29, 85, 42, 579), - Trans(29, 86, 42, 579), - Trans(29, 87, 42, 579), - Trans(29, 89, 42, 579), - Trans(29, 90, 42, 579), - Trans(29, 92, 42, 579), - Trans(29, 93, 42, 579), - Trans(29, 96, 42, 579), - Trans(29, 97, 42, 579), - Trans(29, 98, 42, 579), - Trans(29, 99, 42, 579), - Trans(29, 100, 42, 579), - Trans(29, 101, 42, 579), - Trans(29, 102, 42, 579), - Trans(29, 105, 42, 579), - Trans(29, 106, 42, 579), - Trans(29, 107, 42, 579), - Trans(29, 109, 42, 579), - Trans(29, 110, 42, 579), - Trans(29, 111, 42, 579), - Trans(29, 112, 42, 579), - Trans(29, 113, 42, 579), - Trans(29, 114, 42, 579), - Trans(29, 115, 42, 579), - Trans(29, 116, 42, 579), - Trans(30, 5, 42, 579), - Trans(30, 40, 42, 579), - Trans(31, 5, 42, 579), - Trans(31, 40, 42, 579), - Trans(31, 42, 42, 579), - Trans(32, 5, 42, 579), - Trans(32, 16, 42, 579), - Trans(32, 17, 42, 579), - Trans(32, 18, 42, 579), - Trans(32, 19, 42, 579), - Trans(32, 20, 42, 579), - Trans(32, 21, 42, 579), - Trans(32, 22, 42, 579), - Trans(32, 23, 42, 579), - Trans(32, 24, 42, 579), - Trans(32, 25, 42, 579), - Trans(32, 26, 42, 579), - Trans(32, 31, 42, 579), - Trans(32, 32, 42, 579), - Trans(32, 33, 42, 579), - Trans(32, 34, 42, 579), - Trans(32, 38, 42, 579), - Trans(32, 48, 42, 579), - Trans(32, 52, 42, 579), - Trans(33, 5, 42, 579), - Trans(33, 31, 42, 579), - Trans(34, 5, 42, 579), - Trans(34, 40, 42, 579), - Trans(34, 72, 42, 579), - Trans(35, 5, 42, 579), - Trans(35, 48, 42, 579), - Trans(35, 115, 42, 579), - Trans(35, 116, 42, 579), - Trans(36, 5, 42, 579), - Trans(36, 115, 42, 579), - Trans(36, 116, 42, 579), - Trans(37, 5, 42, 579), - Trans(37, 47, 42, 579), - Trans(38, 5, 42, 579), - Trans(38, 42, 42, 579), - Trans(38, 116, 42, 579), - Trans(39, 5, 42, 579), - Trans(39, 42, 42, 579), - Trans(40, 5, 42, 579), - Trans(40, 15, 42, 579), - Trans(40, 16, 42, 579), - Trans(40, 17, 42, 579), - Trans(40, 18, 42, 579), - Trans(40, 19, 42, 579), - Trans(40, 20, 42, 579), - Trans(40, 21, 42, 579), - Trans(40, 22, 42, 579), - Trans(40, 23, 42, 579), - Trans(40, 24, 42, 579), - Trans(40, 25, 42, 579), - Trans(40, 26, 42, 579), - Trans(40, 30, 42, 579), - Trans(40, 31, 42, 579), - Trans(40, 32, 42, 579), - Trans(40, 33, 42, 579), - Trans(40, 34, 42, 579), - Trans(40, 35, 42, 579), - Trans(40, 36, 42, 579), - Trans(40, 38, 42, 579), - Trans(40, 41, 42, 579), - Trans(40, 42, 42, 579), - Trans(40, 48, 42, 579), - Trans(40, 52, 42, 579), - Trans(41, 5, 42, 579), - Trans(41, 15, 42, 579), - Trans(41, 16, 42, 579), - Trans(41, 17, 42, 579), - Trans(41, 18, 42, 579), - Trans(41, 19, 42, 579), - Trans(41, 20, 42, 579), - Trans(41, 21, 42, 579), - Trans(41, 22, 42, 579), - Trans(41, 23, 42, 579), - Trans(41, 24, 42, 579), - Trans(41, 25, 42, 579), - Trans(41, 26, 42, 579), - Trans(41, 29, 42, 579), - Trans(41, 30, 42, 579), - Trans(41, 31, 42, 579), - Trans(41, 32, 42, 579), - Trans(41, 33, 42, 579), - Trans(41, 34, 42, 579), - Trans(41, 35, 42, 579), - Trans(41, 36, 42, 579), - Trans(41, 38, 42, 579), - Trans(41, 41, 42, 579), - Trans(41, 42, 42, 579), - Trans(41, 48, 42, 579), - Trans(41, 52, 42, 579), - Trans(43, 6, 42, 579), - Trans(43, 7, 42, 579), - Trans(43, 8, 42, 579), - Trans(43, 9, 42, 579), - Trans(43, 10, 42, 579), - Trans(43, 11, 42, 579), - Trans(43, 18, 42, 579), - Trans(43, 24, 42, 579), - Trans(43, 25, 42, 579), - Trans(43, 26, 42, 579), - Trans(43, 27, 42, 579), - Trans(43, 39, 42, 579), - Trans(43, 40, 42, 579), - Trans(43, 42, 42, 579), - Trans(43, 53, 42, 579), - Trans(43, 54, 42, 579), - Trans(43, 55, 42, 579), - Trans(43, 56, 42, 579), - Trans(43, 57, 42, 579), - Trans(43, 64, 42, 579), - Trans(43, 65, 42, 579), - Trans(43, 69, 42, 579), - Trans(43, 70, 42, 579), - Trans(43, 72, 42, 579), - Trans(43, 78, 42, 579), - Trans(43, 83, 42, 579), - Trans(43, 84, 42, 579), - Trans(43, 87, 42, 579), - Trans(43, 89, 42, 579), - Trans(43, 96, 42, 579), - Trans(43, 97, 42, 579), - Trans(43, 98, 42, 579), - Trans(43, 99, 42, 579), - Trans(43, 100, 42, 579), - Trans(43, 105, 42, 579), - Trans(43, 107, 42, 579), - Trans(43, 109, 42, 579), - Trans(43, 110, 42, 579), - Trans(43, 111, 42, 579), - Trans(43, 115, 42, 579), - Trans(43, 116, 42, 579), - Trans(44, 5, 42, 579), - Trans(44, 16, 42, 579), - Trans(44, 17, 42, 579), - Trans(44, 18, 42, 579), - Trans(44, 19, 42, 579), - Trans(44, 20, 42, 579), - Trans(44, 21, 42, 579), - Trans(44, 22, 42, 579), - Trans(44, 23, 42, 579), - Trans(44, 24, 42, 579), - Trans(44, 25, 42, 579), - Trans(44, 26, 42, 579), - Trans(44, 30, 42, 579), - Trans(44, 31, 42, 579), - Trans(44, 32, 42, 579), - Trans(44, 33, 42, 579), - Trans(44, 34, 42, 579), - Trans(44, 35, 42, 579), - Trans(44, 38, 42, 579), - Trans(44, 41, 42, 579), - Trans(44, 42, 42, 579), - Trans(44, 48, 42, 579), - Trans(44, 52, 42, 579), - Trans(45, 5, 42, 579), - Trans(45, 16, 42, 579), - Trans(45, 17, 42, 579), - Trans(45, 18, 42, 579), - Trans(45, 19, 42, 579), - Trans(45, 20, 42, 579), - Trans(45, 21, 42, 579), - Trans(45, 22, 42, 579), - Trans(45, 23, 42, 579), - Trans(45, 24, 42, 579), - Trans(45, 25, 42, 579), - Trans(45, 26, 42, 579), - Trans(45, 29, 42, 579), - Trans(45, 30, 42, 579), - Trans(45, 31, 42, 579), - Trans(45, 32, 42, 579), - Trans(45, 33, 42, 579), - Trans(45, 34, 42, 579), - Trans(45, 35, 42, 579), - Trans(45, 38, 42, 579), - Trans(45, 41, 42, 579), - Trans(45, 42, 42, 579), - Trans(45, 48, 42, 579), - Trans(45, 52, 42, 579), - Trans(46, 6, 42, 579), - Trans(46, 7, 42, 579), - Trans(46, 8, 42, 579), - Trans(46, 9, 42, 579), - Trans(46, 10, 42, 579), - Trans(46, 11, 42, 579), - Trans(46, 18, 42, 579), - Trans(46, 24, 42, 579), - Trans(46, 25, 42, 579), - Trans(46, 26, 42, 579), - Trans(46, 27, 42, 579), - Trans(46, 39, 42, 579), - Trans(46, 40, 42, 579), - Trans(46, 42, 42, 579), - Trans(46, 53, 42, 579), - Trans(46, 54, 42, 579), - Trans(46, 55, 42, 579), - Trans(46, 56, 42, 579), - Trans(46, 57, 42, 579), - Trans(46, 59, 42, 579), - Trans(46, 64, 42, 579), - Trans(46, 65, 42, 579), - Trans(46, 69, 42, 579), - Trans(46, 70, 42, 579), - Trans(46, 72, 42, 579), - Trans(46, 78, 42, 579), - Trans(46, 83, 42, 579), - Trans(46, 84, 42, 579), - Trans(46, 87, 42, 579), - Trans(46, 89, 42, 579), - Trans(46, 96, 42, 579), - Trans(46, 97, 42, 579), - Trans(46, 98, 42, 579), - Trans(46, 99, 42, 579), - Trans(46, 100, 42, 579), - Trans(46, 105, 42, 579), - Trans(46, 107, 42, 579), - Trans(46, 109, 42, 579), - Trans(46, 110, 42, 579), - Trans(46, 111, 42, 579), - Trans(46, 115, 42, 579), - Trans(46, 116, 42, 579), - Trans(47, 5, 42, 579), - Trans(47, 16, 42, 579), - Trans(47, 17, 42, 579), - Trans(47, 18, 42, 579), - Trans(47, 19, 42, 579), - Trans(47, 20, 42, 579), - Trans(47, 21, 42, 579), - Trans(47, 22, 42, 579), - Trans(47, 23, 42, 579), - Trans(47, 24, 42, 579), - Trans(47, 25, 42, 579), - Trans(47, 26, 42, 579), - Trans(47, 32, 42, 579), - Trans(47, 44, 42, 579), - Trans(47, 48, 42, 579), - Trans(47, 52, 42, 579), - Trans(47, 95, 42, 579), - Trans(48, 5, 42, 579), - Trans(48, 16, 42, 579), - Trans(48, 17, 42, 579), - Trans(48, 18, 42, 579), - Trans(48, 19, 42, 579), - Trans(48, 20, 42, 579), - Trans(48, 21, 42, 579), - Trans(48, 22, 42, 579), - Trans(48, 23, 42, 579), - Trans(48, 24, 42, 579), - Trans(48, 25, 42, 579), - Trans(48, 26, 42, 579), - Trans(48, 32, 42, 579), - Trans(48, 38, 42, 579), - Trans(48, 44, 42, 579), - Trans(48, 48, 42, 579), - Trans(48, 52, 42, 579), - Trans(48, 95, 42, 579), - Trans(49, 5, 42, 579), - Trans(49, 16, 42, 579), - Trans(49, 17, 42, 579), - Trans(49, 18, 42, 579), - Trans(49, 19, 42, 579), - Trans(49, 20, 42, 579), - Trans(49, 21, 42, 579), - Trans(49, 22, 42, 579), - Trans(49, 23, 42, 579), - Trans(49, 24, 42, 579), - Trans(49, 25, 42, 579), - Trans(49, 26, 42, 579), - Trans(49, 30, 42, 579), - Trans(49, 32, 42, 579), - Trans(49, 35, 42, 579), - Trans(49, 38, 42, 579), - Trans(49, 41, 42, 579), - Trans(49, 42, 42, 579), - Trans(49, 44, 42, 579), - Trans(49, 48, 42, 579), - Trans(49, 52, 42, 579), - Trans(49, 95, 42, 579), - Trans(50, 5, 42, 579), - Trans(50, 16, 42, 579), - Trans(50, 17, 42, 579), - Trans(50, 18, 42, 579), - Trans(50, 19, 42, 579), - Trans(50, 20, 42, 579), - Trans(50, 21, 42, 579), - Trans(50, 22, 42, 579), - Trans(50, 23, 42, 579), - Trans(50, 24, 42, 579), - Trans(50, 25, 42, 579), - Trans(50, 26, 42, 579), - Trans(50, 29, 42, 579), - Trans(50, 30, 42, 579), - Trans(50, 32, 42, 579), - Trans(50, 35, 42, 579), - Trans(50, 38, 42, 579), - Trans(50, 41, 42, 579), - Trans(50, 42, 42, 579), - Trans(50, 44, 42, 579), - Trans(50, 48, 42, 579), - Trans(50, 52, 42, 579), - Trans(50, 95, 42, 579), - Trans(51, 5, 42, 579), - Trans(51, 16, 42, 579), - Trans(51, 17, 42, 579), - Trans(51, 18, 42, 579), - Trans(51, 19, 42, 579), - Trans(51, 20, 42, 579), - Trans(51, 21, 42, 579), - Trans(51, 22, 42, 579), - Trans(51, 23, 42, 579), - Trans(51, 24, 42, 579), - Trans(51, 25, 42, 579), - Trans(51, 26, 42, 579), - Trans(51, 46, 42, 579), - Trans(51, 48, 42, 579), - Trans(51, 52, 42, 579), - Trans(52, 5, 42, 579), - Trans(52, 16, 42, 579), - Trans(52, 17, 42, 579), - Trans(52, 18, 42, 579), - Trans(52, 19, 42, 579), - Trans(52, 20, 42, 579), - Trans(52, 21, 42, 579), - Trans(52, 22, 42, 579), - Trans(52, 23, 42, 579), - Trans(52, 24, 42, 579), - Trans(52, 25, 42, 579), - Trans(52, 26, 42, 579), - Trans(52, 38, 42, 579), - Trans(52, 46, 42, 579), - Trans(52, 48, 42, 579), - Trans(52, 52, 42, 579), - Trans(53, 5, 42, 579), - Trans(53, 16, 42, 579), - Trans(53, 17, 42, 579), - Trans(53, 18, 42, 579), - Trans(53, 19, 42, 579), - Trans(53, 20, 42, 579), - Trans(53, 21, 42, 579), - Trans(53, 22, 42, 579), - Trans(53, 23, 42, 579), - Trans(53, 24, 42, 579), - Trans(53, 25, 42, 579), - Trans(53, 26, 42, 579), - Trans(53, 30, 42, 579), - Trans(53, 35, 42, 579), - Trans(53, 38, 42, 579), - Trans(53, 41, 42, 579), - Trans(53, 42, 42, 579), - Trans(53, 46, 42, 579), - Trans(53, 48, 42, 579), - Trans(53, 52, 42, 579), - Trans(54, 5, 42, 579), - Trans(54, 16, 42, 579), - Trans(54, 17, 42, 579), - Trans(54, 18, 42, 579), - Trans(54, 19, 42, 579), - Trans(54, 20, 42, 579), - Trans(54, 21, 42, 579), - Trans(54, 22, 42, 579), - Trans(54, 23, 42, 579), - Trans(54, 24, 42, 579), - Trans(54, 25, 42, 579), - Trans(54, 26, 42, 579), - Trans(54, 29, 42, 579), - Trans(54, 30, 42, 579), - Trans(54, 35, 42, 579), - Trans(54, 38, 42, 579), - Trans(54, 41, 42, 579), - Trans(54, 42, 42, 579), - Trans(54, 46, 42, 579), - Trans(54, 48, 42, 579), - Trans(54, 52, 42, 579), - Trans(55, 5, 42, 579), - Trans(55, 16, 42, 579), - Trans(55, 17, 42, 579), - Trans(55, 18, 42, 579), - Trans(55, 19, 42, 579), - Trans(55, 20, 42, 579), - Trans(55, 21, 42, 579), - Trans(55, 22, 42, 579), - Trans(55, 23, 42, 579), - Trans(55, 24, 42, 579), - Trans(55, 25, 42, 579), - Trans(55, 26, 42, 579), - Trans(55, 40, 42, 579), - Trans(55, 48, 42, 579), - Trans(55, 52, 42, 579), - Trans(56, 5, 42, 579), - Trans(56, 16, 42, 579), - Trans(56, 17, 42, 579), - Trans(56, 18, 42, 579), - Trans(56, 19, 42, 579), - Trans(56, 20, 42, 579), - Trans(56, 21, 42, 579), - Trans(56, 22, 42, 579), - Trans(56, 23, 42, 579), - Trans(56, 24, 42, 579), - Trans(56, 25, 42, 579), - Trans(56, 26, 42, 579), - Trans(56, 38, 42, 579), - Trans(56, 40, 42, 579), - Trans(56, 48, 42, 579), - Trans(56, 52, 42, 579), - Trans(57, 5, 42, 579), - Trans(57, 16, 42, 579), - Trans(57, 17, 42, 579), - Trans(57, 18, 42, 579), - Trans(57, 19, 42, 579), - Trans(57, 20, 42, 579), - Trans(57, 21, 42, 579), - Trans(57, 22, 42, 579), - Trans(57, 23, 42, 579), - Trans(57, 24, 42, 579), - Trans(57, 25, 42, 579), - Trans(57, 26, 42, 579), - Trans(57, 30, 42, 579), - Trans(57, 35, 42, 579), - Trans(57, 38, 42, 579), - Trans(57, 40, 42, 579), - Trans(57, 41, 42, 579), - Trans(57, 42, 42, 579), - Trans(57, 48, 42, 579), - Trans(57, 52, 42, 579), - Trans(58, 5, 42, 579), - Trans(58, 16, 42, 579), - Trans(58, 17, 42, 579), - Trans(58, 18, 42, 579), - Trans(58, 19, 42, 579), - Trans(58, 20, 42, 579), - Trans(58, 21, 42, 579), - Trans(58, 22, 42, 579), - Trans(58, 23, 42, 579), - Trans(58, 24, 42, 579), - Trans(58, 25, 42, 579), - Trans(58, 26, 42, 579), - Trans(58, 29, 42, 579), - Trans(58, 30, 42, 579), - Trans(58, 35, 42, 579), - Trans(58, 38, 42, 579), - Trans(58, 40, 42, 579), - Trans(58, 41, 42, 579), - Trans(58, 42, 42, 579), - Trans(58, 48, 42, 579), - Trans(58, 52, 42, 579), - Trans(59, 5, 42, 579), - Trans(59, 16, 42, 579), - Trans(59, 17, 42, 579), - Trans(59, 18, 42, 579), - Trans(59, 19, 42, 579), - Trans(59, 20, 42, 579), - Trans(59, 21, 42, 579), - Trans(59, 22, 42, 579), - Trans(59, 23, 42, 579), - Trans(59, 24, 42, 579), - Trans(59, 25, 42, 579), - Trans(59, 26, 42, 579), - Trans(59, 47, 42, 579), - Trans(59, 48, 42, 579), - Trans(59, 52, 42, 579), - Trans(60, 5, 42, 579), - Trans(60, 16, 42, 579), - Trans(60, 17, 42, 579), - Trans(60, 18, 42, 579), - Trans(60, 19, 42, 579), - Trans(60, 20, 42, 579), - Trans(60, 21, 42, 579), - Trans(60, 22, 42, 579), - Trans(60, 23, 42, 579), - Trans(60, 24, 42, 579), - Trans(60, 25, 42, 579), - Trans(60, 26, 42, 579), - Trans(60, 38, 42, 579), - Trans(60, 47, 42, 579), - Trans(60, 48, 42, 579), - Trans(60, 52, 42, 579), - Trans(61, 5, 42, 579), - Trans(61, 16, 42, 579), - Trans(61, 17, 42, 579), - Trans(61, 18, 42, 579), - Trans(61, 19, 42, 579), - Trans(61, 20, 42, 579), - Trans(61, 21, 42, 579), - Trans(61, 22, 42, 579), - Trans(61, 23, 42, 579), - Trans(61, 24, 42, 579), - Trans(61, 25, 42, 579), - Trans(61, 26, 42, 579), - Trans(61, 30, 42, 579), - Trans(61, 35, 42, 579), - Trans(61, 38, 42, 579), - Trans(61, 41, 42, 579), - Trans(61, 42, 42, 579), - Trans(61, 47, 42, 579), - Trans(61, 48, 42, 579), - Trans(61, 52, 42, 579), - Trans(62, 5, 42, 579), - Trans(62, 16, 42, 579), - Trans(62, 17, 42, 579), - Trans(62, 18, 42, 579), - Trans(62, 19, 42, 579), - Trans(62, 20, 42, 579), - Trans(62, 21, 42, 579), - Trans(62, 22, 42, 579), - Trans(62, 23, 42, 579), - Trans(62, 24, 42, 579), - Trans(62, 25, 42, 579), - Trans(62, 26, 42, 579), - Trans(62, 29, 42, 579), - Trans(62, 30, 42, 579), - Trans(62, 35, 42, 579), - Trans(62, 38, 42, 579), - Trans(62, 41, 42, 579), - Trans(62, 42, 42, 579), - Trans(62, 47, 42, 579), - Trans(62, 48, 42, 579), - Trans(62, 52, 42, 579), - Trans(63, 15, 42, 579), - Trans(63, 16, 42, 579), - Trans(63, 17, 42, 579), - Trans(63, 18, 42, 579), - Trans(63, 19, 42, 579), - Trans(63, 20, 42, 579), - Trans(63, 21, 42, 579), - Trans(63, 22, 42, 579), - Trans(63, 23, 42, 579), - Trans(63, 24, 42, 579), - Trans(63, 25, 42, 579), - Trans(63, 26, 42, 579), - Trans(63, 30, 42, 579), - Trans(63, 31, 42, 579), - Trans(63, 32, 42, 579), - Trans(63, 33, 42, 579), - Trans(63, 34, 42, 579), - Trans(63, 35, 42, 579), - Trans(63, 36, 42, 579), - Trans(63, 38, 42, 579), - Trans(63, 41, 42, 579), - Trans(63, 42, 42, 579), - Trans(63, 48, 42, 579), - Trans(63, 52, 42, 579), - Trans(64, 5, 42, 579), - Trans(64, 40, 42, 579), - Trans(64, 54, 42, 579), - Trans(64, 67, 42, 579), - Trans(64, 71, 42, 579), - Trans(64, 72, 42, 579), - Trans(64, 101, 42, 579), - Trans(64, 102, 42, 579), - Trans(64, 107, 42, 579), - Trans(64, 115, 42, 579), - Trans(64, 116, 42, 579), - Trans(65, 5, 42, 579), - Trans(65, 6, 42, 579), - Trans(65, 7, 42, 579), - Trans(65, 8, 42, 579), - Trans(65, 9, 42, 579), - Trans(65, 10, 42, 579), - Trans(65, 11, 42, 579), - Trans(65, 18, 42, 579), - Trans(65, 24, 42, 579), - Trans(65, 25, 42, 579), - Trans(65, 26, 42, 579), - Trans(65, 27, 42, 579), - Trans(65, 39, 42, 579), - Trans(65, 40, 42, 579), - Trans(65, 42, 42, 579), - Trans(65, 46, 42, 579), - Trans(65, 53, 42, 579), - Trans(65, 54, 42, 579), - Trans(65, 55, 42, 579), - Trans(65, 56, 42, 579), - Trans(65, 57, 42, 579), - Trans(65, 64, 42, 579), - Trans(65, 65, 42, 579), - Trans(65, 69, 42, 579), - Trans(65, 70, 42, 579), - Trans(65, 72, 42, 579), - Trans(65, 78, 42, 579), - Trans(65, 83, 42, 579), - Trans(65, 84, 42, 579), - Trans(65, 87, 42, 579), - Trans(65, 89, 42, 579), - Trans(65, 96, 42, 579), - Trans(65, 97, 42, 579), - Trans(65, 98, 42, 579), - Trans(65, 99, 42, 579), - Trans(65, 100, 42, 579), - Trans(65, 105, 42, 579), - Trans(65, 107, 42, 579), - Trans(65, 109, 42, 579), - Trans(65, 110, 42, 579), - Trans(65, 111, 42, 579), - Trans(65, 115, 42, 579), - Trans(65, 116, 42, 579), - Trans(66, 5, 42, 579), - Trans(66, 55, 42, 579), - Trans(66, 56, 42, 579), - Trans(66, 57, 42, 579), - Trans(66, 64, 42, 579), - Trans(66, 65, 42, 579), - Trans(66, 69, 42, 579), - Trans(66, 70, 42, 579), - Trans(66, 96, 42, 579), - Trans(66, 97, 42, 579), - Trans(66, 98, 42, 579), - Trans(66, 99, 42, 579), - Trans(66, 100, 42, 579), - Trans(66, 110, 42, 579), - Trans(66, 111, 42, 579), - Trans(66, 115, 42, 579), - Trans(66, 116, 42, 579), - Trans(67, 15, 42, 579), - Trans(67, 16, 42, 579), - Trans(67, 17, 42, 579), - Trans(67, 18, 42, 579), - Trans(67, 19, 42, 579), - Trans(67, 20, 42, 579), - Trans(67, 21, 42, 579), - Trans(67, 22, 42, 579), - Trans(67, 23, 42, 579), - Trans(67, 24, 42, 579), - Trans(67, 25, 42, 579), - Trans(67, 26, 42, 579), - Trans(67, 29, 42, 579), - Trans(67, 30, 42, 579), - Trans(67, 31, 42, 579), - Trans(67, 32, 42, 579), - Trans(67, 33, 42, 579), - Trans(67, 34, 42, 579), - Trans(67, 35, 42, 579), - Trans(67, 36, 42, 579), - Trans(67, 38, 42, 579), - Trans(67, 41, 42, 579), - Trans(67, 42, 42, 579), - Trans(67, 48, 42, 579), - Trans(67, 52, 42, 579), - Trans(68, 5, 42, 579), - Trans(68, 7, 42, 579), - Trans(68, 8, 42, 579), - Trans(68, 9, 42, 579), - Trans(68, 10, 42, 579), - Trans(68, 11, 42, 579), - Trans(68, 43, 42, 579), - Trans(68, 115, 42, 579), - Trans(68, 116, 42, 579), - Trans(69, 16, 42, 579), - Trans(69, 17, 42, 579), - Trans(69, 18, 42, 579), - Trans(69, 19, 42, 579), - Trans(69, 20, 42, 579), - Trans(69, 21, 42, 579), - Trans(69, 22, 42, 579), - Trans(69, 23, 42, 579), - Trans(69, 24, 42, 579), - Trans(69, 25, 42, 579), - Trans(69, 26, 42, 579), - Trans(69, 31, 42, 579), - Trans(69, 32, 42, 579), - Trans(69, 33, 42, 579), - Trans(69, 34, 42, 579), - Trans(69, 48, 42, 579), - Trans(69, 52, 42, 579), - Trans(70, 16, 42, 579), - Trans(70, 17, 42, 579), - Trans(70, 18, 42, 579), - Trans(70, 19, 42, 579), - Trans(70, 20, 42, 579), - Trans(70, 21, 42, 579), - Trans(70, 22, 42, 579), - Trans(70, 23, 42, 579), - Trans(70, 24, 42, 579), - Trans(70, 25, 42, 579), - Trans(70, 26, 42, 579), - Trans(70, 31, 42, 579), - Trans(70, 32, 42, 579), - Trans(70, 33, 42, 579), - Trans(70, 34, 42, 579), - Trans(70, 38, 42, 579), - Trans(70, 48, 42, 579), - Trans(70, 52, 42, 579), - Trans(71, 31, 42, 579), - Trans(72, 5, 42, 579), - Trans(72, 44, 42, 579), - Trans(72, 54, 42, 579), - Trans(72, 67, 42, 579), - Trans(72, 71, 42, 579), - Trans(72, 72, 42, 579), - Trans(72, 82, 42, 579), - Trans(72, 101, 42, 579), - Trans(72, 102, 42, 579), - Trans(72, 107, 42, 579), - Trans(72, 114, 42, 579), - Trans(72, 115, 42, 579), - Trans(72, 116, 42, 579), - Trans(73, 40, 42, 579), - Trans(74, 5, 42, 579), - Trans(74, 6, 42, 579), - Trans(74, 7, 42, 579), - Trans(74, 8, 42, 579), - Trans(74, 9, 42, 579), - Trans(74, 10, 42, 579), - Trans(74, 11, 42, 579), - Trans(74, 18, 42, 579), - Trans(74, 24, 42, 579), - Trans(74, 25, 42, 579), - Trans(74, 26, 42, 579), - Trans(74, 27, 42, 579), - Trans(74, 39, 42, 579), - Trans(74, 40, 42, 579), - Trans(74, 42, 42, 579), - Trans(74, 44, 42, 579), - Trans(74, 53, 42, 579), - Trans(74, 54, 42, 579), - Trans(74, 55, 42, 579), - Trans(74, 56, 42, 579), - Trans(74, 57, 42, 579), - Trans(74, 59, 42, 579), - Trans(74, 64, 42, 579), - Trans(74, 65, 42, 579), - Trans(74, 69, 42, 579), - Trans(74, 70, 42, 579), - Trans(74, 72, 42, 579), - Trans(74, 78, 42, 579), - Trans(74, 83, 42, 579), - Trans(74, 84, 42, 579), - Trans(74, 87, 42, 579), - Trans(74, 89, 42, 579), - Trans(74, 96, 42, 579), - Trans(74, 97, 42, 579), - Trans(74, 98, 42, 579), - Trans(74, 99, 42, 579), - Trans(74, 100, 42, 579), - Trans(74, 105, 42, 579), - Trans(74, 107, 42, 579), - Trans(74, 109, 42, 579), - Trans(74, 110, 42, 579), - Trans(74, 111, 42, 579), - Trans(74, 115, 42, 579), - Trans(74, 116, 42, 579), - Trans(75, 42, 42, 579), - Trans(76, 47, 42, 579), - Trans(77, 116, 42, 579), + Trans(14, 31, 70, -1), + Trans(15, 5, 83, -1), + Trans(15, 116, 34, -1), + Trans(16, 5, 78, -1), + Trans(16, 40, 54, -1), + Trans(17, 5, 44, -1), + Trans(17, 6, 65, -1), + Trans(17, 7, 65, -1), + Trans(17, 8, 65, -1), + Trans(17, 9, 65, -1), + Trans(17, 10, 65, -1), + Trans(17, 11, 65, -1), + Trans(17, 18, 25, -1), + Trans(17, 24, 25, -1), + Trans(17, 25, 25, -1), + Trans(17, 26, 25, -1), + Trans(17, 27, 25, -1), + Trans(17, 39, 28, -1), + Trans(17, 40, 25, -1), + Trans(17, 42, 25, -1), + Trans(17, 53, 66, -1), + Trans(17, 54, 25, -1), + Trans(17, 55, 66, -1), + Trans(17, 56, 66, -1), + Trans(17, 57, 66, -1), + Trans(17, 64, 65, -1), + Trans(17, 65, 65, -1), + Trans(17, 69, 65, -1), + Trans(17, 70, 65, -1), + Trans(17, 72, 25, -1), + Trans(17, 78, 25, -1), + Trans(17, 83, 66, -1), + Trans(17, 84, 65, -1), + Trans(17, 87, 65, -1), + Trans(17, 89, 25, -1), + Trans(17, 96, 66, -1), + Trans(17, 97, 66, -1), + Trans(17, 98, 66, -1), + Trans(17, 99, 66, -1), + Trans(17, 100, 66, -1), + Trans(17, 105, 65, -1), + Trans(17, 107, 31, -1), + Trans(17, 109, 40, -1), + Trans(17, 110, 65, -1), + Trans(17, 111, 65, -1), + Trans(17, 115, 67, -1), + Trans(17, 116, 68, -1), + Trans(18, 5, 82, -1), + Trans(18, 47, 54, -1), + Trans(19, 5, 78, -1), + Trans(19, 40, 79, -1), + Trans(20, 5, 81, -1), + Trans(20, 42, 25, -1), + Trans(21, 5, 69, -1), + Trans(21, 15, 25, -1), + Trans(21, 16, 25, -1), + Trans(21, 17, 25, -1), + Trans(21, 18, 25, -1), + Trans(21, 19, 25, -1), + Trans(21, 20, 25, -1), + Trans(21, 21, 25, -1), + Trans(21, 22, 25, -1), + Trans(21, 23, 25, -1), + Trans(21, 24, 25, -1), + Trans(21, 25, 25, -1), + Trans(21, 26, 25, -1), + Trans(21, 30, 26, -1), + Trans(21, 31, 70, -1), + Trans(21, 32, 25, -1), + Trans(21, 33, 25, -1), + Trans(21, 34, 25, -1), + Trans(21, 35, 26, -1), + Trans(21, 36, 25, -1), + Trans(21, 38, 25, -1), + Trans(21, 41, 25, -1), + Trans(21, 42, 71, -1), + Trans(21, 48, 25, -1), + Trans(21, 52, 72, -1), + Trans(22, 5, 73, -1), + Trans(22, 15, 25, -1), + Trans(22, 16, 25, -1), + Trans(22, 17, 25, -1), + Trans(22, 18, 25, -1), + Trans(22, 19, 25, -1), + Trans(22, 20, 25, -1), + Trans(22, 21, 25, -1), + Trans(22, 22, 25, -1), + Trans(22, 23, 25, -1), + Trans(22, 24, 25, -1), + Trans(22, 25, 25, -1), + Trans(22, 26, 25, -1), + Trans(22, 29, 74, -1), + Trans(22, 30, 26, -1), + Trans(22, 31, 70, -1), + Trans(22, 32, 25, -1), + Trans(22, 33, 25, -1), + Trans(22, 34, 25, -1), + Trans(22, 35, 26, -1), + Trans(22, 36, 25, -1), + Trans(22, 38, 25, -1), + Trans(22, 41, 25, -1), + Trans(22, 42, 71, -1), + Trans(22, 48, 25, -1), + Trans(22, 52, 72, -1), + Trans(23, 6, 43, 586), + Trans(23, 7, 43, 586), + Trans(23, 8, 43, 586), + Trans(23, 9, 43, 586), + Trans(23, 10, 43, 586), + Trans(23, 11, 43, 586), + Trans(23, 18, 43, 586), + Trans(23, 24, 43, 586), + Trans(23, 25, 43, 586), + Trans(23, 26, 43, 586), + Trans(23, 27, 43, 586), + Trans(23, 31, 43, 586), + Trans(23, 37, 43, 586), + Trans(23, 39, 43, 586), + Trans(23, 40, 43, 586), + Trans(23, 42, 43, 586), + Trans(23, 44, 43, 586), + Trans(23, 49, 43, 586), + Trans(23, 50, 43, 586), + Trans(23, 51, 43, 586), + Trans(23, 53, 43, 586), + Trans(23, 54, 43, 586), + Trans(23, 55, 43, 586), + Trans(23, 56, 43, 586), + Trans(23, 57, 43, 586), + Trans(23, 58, 43, 586), + Trans(23, 59, 43, 586), + Trans(23, 60, 43, 586), + Trans(23, 62, 43, 586), + Trans(23, 63, 43, 586), + Trans(23, 64, 43, 586), + Trans(23, 65, 43, 586), + Trans(23, 66, 43, 586), + Trans(23, 67, 43, 586), + Trans(23, 68, 43, 586), + Trans(23, 69, 43, 586), + Trans(23, 70, 43, 586), + Trans(23, 71, 43, 586), + Trans(23, 72, 43, 586), + Trans(23, 73, 43, 586), + Trans(23, 75, 43, 586), + Trans(23, 78, 43, 586), + Trans(23, 79, 43, 586), + Trans(23, 82, 43, 586), + Trans(23, 83, 43, 586), + Trans(23, 84, 43, 586), + Trans(23, 85, 43, 586), + Trans(23, 87, 43, 586), + Trans(23, 89, 43, 586), + Trans(23, 96, 43, 586), + Trans(23, 97, 43, 586), + Trans(23, 98, 43, 586), + Trans(23, 99, 43, 586), + Trans(23, 100, 43, 586), + Trans(23, 101, 43, 586), + Trans(23, 102, 43, 586), + Trans(23, 105, 43, 586), + Trans(23, 106, 43, 586), + Trans(23, 107, 43, 586), + Trans(23, 109, 43, 586), + Trans(23, 110, 43, 586), + Trans(23, 111, 43, 586), + Trans(23, 112, 43, 586), + Trans(23, 113, 43, 586), + Trans(23, 114, 43, 586), + Trans(23, 115, 43, 586), + Trans(23, 116, 43, 586), + Trans(24, 5, 43, 586), + Trans(24, 16, 43, 586), + Trans(24, 17, 43, 586), + Trans(24, 18, 43, 586), + Trans(24, 19, 43, 586), + Trans(24, 20, 43, 586), + Trans(24, 21, 43, 586), + Trans(24, 22, 43, 586), + Trans(24, 23, 43, 586), + Trans(24, 24, 43, 586), + Trans(24, 25, 43, 586), + Trans(24, 26, 43, 586), + Trans(24, 31, 43, 586), + Trans(24, 32, 43, 586), + Trans(24, 33, 43, 586), + Trans(24, 34, 43, 586), + Trans(24, 48, 43, 586), + Trans(24, 52, 43, 586), + Trans(25, 5, 43, 586), + Trans(25, 6, 43, 586), + Trans(25, 7, 43, 586), + Trans(25, 8, 43, 586), + Trans(25, 9, 43, 586), + Trans(25, 10, 43, 586), + Trans(25, 11, 43, 586), + Trans(25, 18, 43, 586), + Trans(25, 24, 43, 586), + Trans(25, 25, 43, 586), + Trans(25, 26, 43, 586), + Trans(25, 27, 43, 586), + Trans(25, 39, 43, 586), + Trans(25, 40, 43, 586), + Trans(25, 42, 43, 586), + Trans(25, 53, 43, 586), + Trans(25, 54, 43, 586), + Trans(25, 55, 43, 586), + Trans(25, 56, 43, 586), + Trans(25, 57, 43, 586), + Trans(25, 64, 43, 586), + Trans(25, 65, 43, 586), + Trans(25, 69, 43, 586), + Trans(25, 70, 43, 586), + Trans(25, 72, 43, 586), + Trans(25, 78, 43, 586), + Trans(25, 83, 43, 586), + Trans(25, 84, 43, 586), + Trans(25, 87, 43, 586), + Trans(25, 89, 43, 586), + Trans(25, 96, 43, 586), + Trans(25, 97, 43, 586), + Trans(25, 98, 43, 586), + Trans(25, 99, 43, 586), + Trans(25, 100, 43, 586), + Trans(25, 105, 43, 586), + Trans(25, 107, 43, 586), + Trans(25, 109, 43, 586), + Trans(25, 110, 43, 586), + Trans(25, 111, 43, 586), + Trans(25, 115, 43, 586), + Trans(25, 116, 43, 586), + Trans(26, 5, 43, 586), + Trans(26, 116, 43, 586), + Trans(27, 5, 43, 586), + Trans(27, 41, 43, 586), + Trans(28, 5, 43, 586), + Trans(28, 6, 43, 586), + Trans(28, 7, 43, 586), + Trans(28, 8, 43, 586), + Trans(28, 9, 43, 586), + Trans(28, 10, 43, 586), + Trans(28, 11, 43, 586), + Trans(28, 18, 43, 586), + Trans(28, 24, 43, 586), + Trans(28, 25, 43, 586), + Trans(28, 26, 43, 586), + Trans(28, 27, 43, 586), + Trans(28, 39, 43, 586), + Trans(28, 40, 43, 586), + Trans(28, 42, 43, 586), + Trans(28, 53, 43, 586), + Trans(28, 54, 43, 586), + Trans(28, 55, 43, 586), + Trans(28, 56, 43, 586), + Trans(28, 57, 43, 586), + Trans(28, 59, 43, 586), + Trans(28, 64, 43, 586), + Trans(28, 65, 43, 586), + Trans(28, 69, 43, 586), + Trans(28, 70, 43, 586), + Trans(28, 72, 43, 586), + Trans(28, 78, 43, 586), + Trans(28, 83, 43, 586), + Trans(28, 84, 43, 586), + Trans(28, 87, 43, 586), + Trans(28, 89, 43, 586), + Trans(28, 96, 43, 586), + Trans(28, 97, 43, 586), + Trans(28, 98, 43, 586), + Trans(28, 99, 43, 586), + Trans(28, 100, 43, 586), + Trans(28, 105, 43, 586), + Trans(28, 107, 43, 586), + Trans(28, 109, 43, 586), + Trans(28, 110, 43, 586), + Trans(28, 111, 43, 586), + Trans(28, 115, 43, 586), + Trans(28, 116, 43, 586), + Trans(29, 5, 43, 586), + Trans(29, 6, 43, 586), + Trans(29, 7, 43, 586), + Trans(29, 8, 43, 586), + Trans(29, 9, 43, 586), + Trans(29, 10, 43, 586), + Trans(29, 11, 43, 586), + Trans(29, 18, 43, 586), + Trans(29, 24, 43, 586), + Trans(29, 25, 43, 586), + Trans(29, 26, 43, 586), + Trans(29, 27, 43, 586), + Trans(29, 31, 43, 586), + Trans(29, 37, 43, 586), + Trans(29, 39, 43, 586), + Trans(29, 40, 43, 586), + Trans(29, 42, 43, 586), + Trans(29, 44, 43, 586), + Trans(29, 49, 43, 586), + Trans(29, 50, 43, 586), + Trans(29, 51, 43, 586), + Trans(29, 53, 43, 586), + Trans(29, 54, 43, 586), + Trans(29, 55, 43, 586), + Trans(29, 56, 43, 586), + Trans(29, 57, 43, 586), + Trans(29, 58, 43, 586), + Trans(29, 62, 43, 586), + Trans(29, 63, 43, 586), + Trans(29, 64, 43, 586), + Trans(29, 65, 43, 586), + Trans(29, 66, 43, 586), + Trans(29, 67, 43, 586), + Trans(29, 68, 43, 586), + Trans(29, 69, 43, 586), + Trans(29, 70, 43, 586), + Trans(29, 71, 43, 586), + Trans(29, 72, 43, 586), + Trans(29, 73, 43, 586), + Trans(29, 75, 43, 586), + Trans(29, 78, 43, 586), + Trans(29, 79, 43, 586), + Trans(29, 82, 43, 586), + Trans(29, 83, 43, 586), + Trans(29, 84, 43, 586), + Trans(29, 85, 43, 586), + Trans(29, 87, 43, 586), + Trans(29, 89, 43, 586), + Trans(29, 96, 43, 586), + Trans(29, 97, 43, 586), + Trans(29, 98, 43, 586), + Trans(29, 99, 43, 586), + Trans(29, 100, 43, 586), + Trans(29, 101, 43, 586), + Trans(29, 102, 43, 586), + Trans(29, 105, 43, 586), + Trans(29, 106, 43, 586), + Trans(29, 107, 43, 586), + Trans(29, 109, 43, 586), + Trans(29, 110, 43, 586), + Trans(29, 111, 43, 586), + Trans(29, 112, 43, 586), + Trans(29, 113, 43, 586), + Trans(29, 114, 43, 586), + Trans(29, 115, 43, 586), + Trans(29, 116, 43, 586), + Trans(30, 0, 43, 586), + Trans(30, 5, 43, 586), + Trans(30, 6, 43, 586), + Trans(30, 7, 43, 586), + Trans(30, 8, 43, 586), + Trans(30, 9, 43, 586), + Trans(30, 10, 43, 586), + Trans(30, 11, 43, 586), + Trans(30, 18, 43, 586), + Trans(30, 24, 43, 586), + Trans(30, 25, 43, 586), + Trans(30, 26, 43, 586), + Trans(30, 27, 43, 586), + Trans(30, 31, 43, 586), + Trans(30, 37, 43, 586), + Trans(30, 39, 43, 586), + Trans(30, 40, 43, 586), + Trans(30, 42, 43, 586), + Trans(30, 44, 43, 586), + Trans(30, 49, 43, 586), + Trans(30, 50, 43, 586), + Trans(30, 51, 43, 586), + Trans(30, 53, 43, 586), + Trans(30, 54, 43, 586), + Trans(30, 55, 43, 586), + Trans(30, 56, 43, 586), + Trans(30, 57, 43, 586), + Trans(30, 58, 43, 586), + Trans(30, 59, 43, 586), + Trans(30, 60, 43, 586), + Trans(30, 61, 43, 586), + Trans(30, 62, 43, 586), + Trans(30, 63, 43, 586), + Trans(30, 64, 43, 586), + Trans(30, 65, 43, 586), + Trans(30, 66, 43, 586), + Trans(30, 67, 43, 586), + Trans(30, 68, 43, 586), + Trans(30, 69, 43, 586), + Trans(30, 70, 43, 586), + Trans(30, 71, 43, 586), + Trans(30, 72, 43, 586), + Trans(30, 73, 43, 586), + Trans(30, 74, 43, 586), + Trans(30, 75, 43, 586), + Trans(30, 78, 43, 586), + Trans(30, 79, 43, 586), + Trans(30, 80, 43, 586), + Trans(30, 82, 43, 586), + Trans(30, 83, 43, 586), + Trans(30, 84, 43, 586), + Trans(30, 85, 43, 586), + Trans(30, 86, 43, 586), + Trans(30, 87, 43, 586), + Trans(30, 89, 43, 586), + Trans(30, 90, 43, 586), + Trans(30, 92, 43, 586), + Trans(30, 93, 43, 586), + Trans(30, 96, 43, 586), + Trans(30, 97, 43, 586), + Trans(30, 98, 43, 586), + Trans(30, 99, 43, 586), + Trans(30, 100, 43, 586), + Trans(30, 101, 43, 586), + Trans(30, 102, 43, 586), + Trans(30, 105, 43, 586), + Trans(30, 106, 43, 586), + Trans(30, 107, 43, 586), + Trans(30, 109, 43, 586), + Trans(30, 110, 43, 586), + Trans(30, 111, 43, 586), + Trans(30, 112, 43, 586), + Trans(30, 113, 43, 586), + Trans(30, 114, 43, 586), + Trans(30, 115, 43, 586), + Trans(30, 116, 43, 586), + Trans(31, 5, 43, 586), + Trans(31, 40, 43, 586), + Trans(32, 5, 43, 586), + Trans(32, 40, 43, 586), + Trans(32, 42, 43, 586), + Trans(33, 5, 43, 586), + Trans(33, 16, 43, 586), + Trans(33, 17, 43, 586), + Trans(33, 18, 43, 586), + Trans(33, 19, 43, 586), + Trans(33, 20, 43, 586), + Trans(33, 21, 43, 586), + Trans(33, 22, 43, 586), + Trans(33, 23, 43, 586), + Trans(33, 24, 43, 586), + Trans(33, 25, 43, 586), + Trans(33, 26, 43, 586), + Trans(33, 31, 43, 586), + Trans(33, 32, 43, 586), + Trans(33, 33, 43, 586), + Trans(33, 34, 43, 586), + Trans(33, 38, 43, 586), + Trans(33, 48, 43, 586), + Trans(33, 52, 43, 586), + Trans(34, 5, 43, 586), + Trans(34, 31, 43, 586), + Trans(35, 5, 43, 586), + Trans(35, 40, 43, 586), + Trans(35, 72, 43, 586), + Trans(36, 5, 43, 586), + Trans(36, 48, 43, 586), + Trans(36, 115, 43, 586), + Trans(36, 116, 43, 586), + Trans(37, 5, 43, 586), + Trans(37, 115, 43, 586), + Trans(37, 116, 43, 586), + Trans(38, 5, 43, 586), + Trans(38, 47, 43, 586), + Trans(39, 5, 43, 586), + Trans(39, 42, 43, 586), + Trans(39, 116, 43, 586), + Trans(40, 5, 43, 586), + Trans(40, 42, 43, 586), + Trans(41, 5, 43, 586), + Trans(41, 15, 43, 586), + Trans(41, 16, 43, 586), + Trans(41, 17, 43, 586), + Trans(41, 18, 43, 586), + Trans(41, 19, 43, 586), + Trans(41, 20, 43, 586), + Trans(41, 21, 43, 586), + Trans(41, 22, 43, 586), + Trans(41, 23, 43, 586), + Trans(41, 24, 43, 586), + Trans(41, 25, 43, 586), + Trans(41, 26, 43, 586), + Trans(41, 30, 43, 586), + Trans(41, 31, 43, 586), + Trans(41, 32, 43, 586), + Trans(41, 33, 43, 586), + Trans(41, 34, 43, 586), + Trans(41, 35, 43, 586), + Trans(41, 36, 43, 586), + Trans(41, 38, 43, 586), + Trans(41, 41, 43, 586), + Trans(41, 42, 43, 586), + Trans(41, 48, 43, 586), + Trans(41, 52, 43, 586), + Trans(42, 5, 43, 586), + Trans(42, 15, 43, 586), + Trans(42, 16, 43, 586), + Trans(42, 17, 43, 586), + Trans(42, 18, 43, 586), + Trans(42, 19, 43, 586), + Trans(42, 20, 43, 586), + Trans(42, 21, 43, 586), + Trans(42, 22, 43, 586), + Trans(42, 23, 43, 586), + Trans(42, 24, 43, 586), + Trans(42, 25, 43, 586), + Trans(42, 26, 43, 586), + Trans(42, 29, 43, 586), + Trans(42, 30, 43, 586), + Trans(42, 31, 43, 586), + Trans(42, 32, 43, 586), + Trans(42, 33, 43, 586), + Trans(42, 34, 43, 586), + Trans(42, 35, 43, 586), + Trans(42, 36, 43, 586), + Trans(42, 38, 43, 586), + Trans(42, 41, 43, 586), + Trans(42, 42, 43, 586), + Trans(42, 48, 43, 586), + Trans(42, 52, 43, 586), + Trans(44, 6, 43, 586), + Trans(44, 7, 43, 586), + Trans(44, 8, 43, 586), + Trans(44, 9, 43, 586), + Trans(44, 10, 43, 586), + Trans(44, 11, 43, 586), + Trans(44, 18, 43, 586), + Trans(44, 24, 43, 586), + Trans(44, 25, 43, 586), + Trans(44, 26, 43, 586), + Trans(44, 27, 43, 586), + Trans(44, 39, 43, 586), + Trans(44, 40, 43, 586), + Trans(44, 42, 43, 586), + Trans(44, 53, 43, 586), + Trans(44, 54, 43, 586), + Trans(44, 55, 43, 586), + Trans(44, 56, 43, 586), + Trans(44, 57, 43, 586), + Trans(44, 64, 43, 586), + Trans(44, 65, 43, 586), + Trans(44, 69, 43, 586), + Trans(44, 70, 43, 586), + Trans(44, 72, 43, 586), + Trans(44, 78, 43, 586), + Trans(44, 83, 43, 586), + Trans(44, 84, 43, 586), + Trans(44, 87, 43, 586), + Trans(44, 89, 43, 586), + Trans(44, 96, 43, 586), + Trans(44, 97, 43, 586), + Trans(44, 98, 43, 586), + Trans(44, 99, 43, 586), + Trans(44, 100, 43, 586), + Trans(44, 105, 43, 586), + Trans(44, 107, 43, 586), + Trans(44, 109, 43, 586), + Trans(44, 110, 43, 586), + Trans(44, 111, 43, 586), + Trans(44, 115, 43, 586), + Trans(44, 116, 43, 586), + Trans(45, 5, 43, 586), + Trans(45, 16, 43, 586), + Trans(45, 17, 43, 586), + Trans(45, 18, 43, 586), + Trans(45, 19, 43, 586), + Trans(45, 20, 43, 586), + Trans(45, 21, 43, 586), + Trans(45, 22, 43, 586), + Trans(45, 23, 43, 586), + Trans(45, 24, 43, 586), + Trans(45, 25, 43, 586), + Trans(45, 26, 43, 586), + Trans(45, 30, 43, 586), + Trans(45, 31, 43, 586), + Trans(45, 32, 43, 586), + Trans(45, 33, 43, 586), + Trans(45, 34, 43, 586), + Trans(45, 35, 43, 586), + Trans(45, 38, 43, 586), + Trans(45, 41, 43, 586), + Trans(45, 42, 43, 586), + Trans(45, 48, 43, 586), + Trans(45, 52, 43, 586), + Trans(46, 5, 43, 586), + Trans(46, 16, 43, 586), + Trans(46, 17, 43, 586), + Trans(46, 18, 43, 586), + Trans(46, 19, 43, 586), + Trans(46, 20, 43, 586), + Trans(46, 21, 43, 586), + Trans(46, 22, 43, 586), + Trans(46, 23, 43, 586), + Trans(46, 24, 43, 586), + Trans(46, 25, 43, 586), + Trans(46, 26, 43, 586), + Trans(46, 29, 43, 586), + Trans(46, 30, 43, 586), + Trans(46, 31, 43, 586), + Trans(46, 32, 43, 586), + Trans(46, 33, 43, 586), + Trans(46, 34, 43, 586), + Trans(46, 35, 43, 586), + Trans(46, 38, 43, 586), + Trans(46, 41, 43, 586), + Trans(46, 42, 43, 586), + Trans(46, 48, 43, 586), + Trans(46, 52, 43, 586), + Trans(47, 6, 43, 586), + Trans(47, 7, 43, 586), + Trans(47, 8, 43, 586), + Trans(47, 9, 43, 586), + Trans(47, 10, 43, 586), + Trans(47, 11, 43, 586), + Trans(47, 18, 43, 586), + Trans(47, 24, 43, 586), + Trans(47, 25, 43, 586), + Trans(47, 26, 43, 586), + Trans(47, 27, 43, 586), + Trans(47, 39, 43, 586), + Trans(47, 40, 43, 586), + Trans(47, 42, 43, 586), + Trans(47, 53, 43, 586), + Trans(47, 54, 43, 586), + Trans(47, 55, 43, 586), + Trans(47, 56, 43, 586), + Trans(47, 57, 43, 586), + Trans(47, 59, 43, 586), + Trans(47, 64, 43, 586), + Trans(47, 65, 43, 586), + Trans(47, 69, 43, 586), + Trans(47, 70, 43, 586), + Trans(47, 72, 43, 586), + Trans(47, 78, 43, 586), + Trans(47, 83, 43, 586), + Trans(47, 84, 43, 586), + Trans(47, 87, 43, 586), + Trans(47, 89, 43, 586), + Trans(47, 96, 43, 586), + Trans(47, 97, 43, 586), + Trans(47, 98, 43, 586), + Trans(47, 99, 43, 586), + Trans(47, 100, 43, 586), + Trans(47, 105, 43, 586), + Trans(47, 107, 43, 586), + Trans(47, 109, 43, 586), + Trans(47, 110, 43, 586), + Trans(47, 111, 43, 586), + Trans(47, 115, 43, 586), + Trans(47, 116, 43, 586), + Trans(48, 5, 43, 586), + Trans(48, 16, 43, 586), + Trans(48, 17, 43, 586), + Trans(48, 18, 43, 586), + Trans(48, 19, 43, 586), + Trans(48, 20, 43, 586), + Trans(48, 21, 43, 586), + Trans(48, 22, 43, 586), + Trans(48, 23, 43, 586), + Trans(48, 24, 43, 586), + Trans(48, 25, 43, 586), + Trans(48, 26, 43, 586), + Trans(48, 32, 43, 586), + Trans(48, 44, 43, 586), + Trans(48, 48, 43, 586), + Trans(48, 52, 43, 586), + Trans(48, 95, 43, 586), + Trans(49, 5, 43, 586), + Trans(49, 16, 43, 586), + Trans(49, 17, 43, 586), + Trans(49, 18, 43, 586), + Trans(49, 19, 43, 586), + Trans(49, 20, 43, 586), + Trans(49, 21, 43, 586), + Trans(49, 22, 43, 586), + Trans(49, 23, 43, 586), + Trans(49, 24, 43, 586), + Trans(49, 25, 43, 586), + Trans(49, 26, 43, 586), + Trans(49, 32, 43, 586), + Trans(49, 38, 43, 586), + Trans(49, 44, 43, 586), + Trans(49, 48, 43, 586), + Trans(49, 52, 43, 586), + Trans(49, 95, 43, 586), + Trans(50, 5, 43, 586), + Trans(50, 16, 43, 586), + Trans(50, 17, 43, 586), + Trans(50, 18, 43, 586), + Trans(50, 19, 43, 586), + Trans(50, 20, 43, 586), + Trans(50, 21, 43, 586), + Trans(50, 22, 43, 586), + Trans(50, 23, 43, 586), + Trans(50, 24, 43, 586), + Trans(50, 25, 43, 586), + Trans(50, 26, 43, 586), + Trans(50, 30, 43, 586), + Trans(50, 32, 43, 586), + Trans(50, 35, 43, 586), + Trans(50, 38, 43, 586), + Trans(50, 41, 43, 586), + Trans(50, 42, 43, 586), + Trans(50, 44, 43, 586), + Trans(50, 48, 43, 586), + Trans(50, 52, 43, 586), + Trans(50, 95, 43, 586), + Trans(51, 5, 43, 586), + Trans(51, 16, 43, 586), + Trans(51, 17, 43, 586), + Trans(51, 18, 43, 586), + Trans(51, 19, 43, 586), + Trans(51, 20, 43, 586), + Trans(51, 21, 43, 586), + Trans(51, 22, 43, 586), + Trans(51, 23, 43, 586), + Trans(51, 24, 43, 586), + Trans(51, 25, 43, 586), + Trans(51, 26, 43, 586), + Trans(51, 29, 43, 586), + Trans(51, 30, 43, 586), + Trans(51, 32, 43, 586), + Trans(51, 35, 43, 586), + Trans(51, 38, 43, 586), + Trans(51, 41, 43, 586), + Trans(51, 42, 43, 586), + Trans(51, 44, 43, 586), + Trans(51, 48, 43, 586), + Trans(51, 52, 43, 586), + Trans(51, 95, 43, 586), + Trans(52, 6, 43, 586), + Trans(52, 7, 43, 586), + Trans(52, 8, 43, 586), + Trans(52, 9, 43, 586), + Trans(52, 10, 43, 586), + Trans(52, 11, 43, 586), + Trans(52, 18, 43, 586), + Trans(52, 24, 43, 586), + Trans(52, 25, 43, 586), + Trans(52, 26, 43, 586), + Trans(52, 27, 43, 586), + Trans(52, 37, 43, 586), + Trans(52, 39, 43, 586), + Trans(52, 40, 43, 586), + Trans(52, 42, 43, 586), + Trans(52, 44, 43, 586), + Trans(52, 53, 43, 586), + Trans(52, 54, 43, 586), + Trans(52, 55, 43, 586), + Trans(52, 56, 43, 586), + Trans(52, 57, 43, 586), + Trans(52, 64, 43, 586), + Trans(52, 65, 43, 586), + Trans(52, 67, 43, 586), + Trans(52, 69, 43, 586), + Trans(52, 70, 43, 586), + Trans(52, 71, 43, 586), + Trans(52, 72, 43, 586), + Trans(52, 78, 43, 586), + Trans(52, 82, 43, 586), + Trans(52, 83, 43, 586), + Trans(52, 84, 43, 586), + Trans(52, 87, 43, 586), + Trans(52, 89, 43, 586), + Trans(52, 96, 43, 586), + Trans(52, 97, 43, 586), + Trans(52, 98, 43, 586), + Trans(52, 99, 43, 586), + Trans(52, 100, 43, 586), + Trans(52, 101, 43, 586), + Trans(52, 102, 43, 586), + Trans(52, 105, 43, 586), + Trans(52, 107, 43, 586), + Trans(52, 109, 43, 586), + Trans(52, 110, 43, 586), + Trans(52, 111, 43, 586), + Trans(52, 114, 43, 586), + Trans(52, 115, 43, 586), + Trans(52, 116, 43, 586), + Trans(53, 5, 43, 586), + Trans(53, 6, 43, 586), + Trans(53, 7, 43, 586), + Trans(53, 8, 43, 586), + Trans(53, 9, 43, 586), + Trans(53, 10, 43, 586), + Trans(53, 11, 43, 586), + Trans(53, 18, 43, 586), + Trans(53, 24, 43, 586), + Trans(53, 25, 43, 586), + Trans(53, 26, 43, 586), + Trans(53, 27, 43, 586), + Trans(53, 37, 43, 586), + Trans(53, 39, 43, 586), + Trans(53, 40, 43, 586), + Trans(53, 42, 43, 586), + Trans(53, 44, 43, 586), + Trans(53, 53, 43, 586), + Trans(53, 54, 43, 586), + Trans(53, 55, 43, 586), + Trans(53, 56, 43, 586), + Trans(53, 57, 43, 586), + Trans(53, 64, 43, 586), + Trans(53, 65, 43, 586), + Trans(53, 67, 43, 586), + Trans(53, 69, 43, 586), + Trans(53, 70, 43, 586), + Trans(53, 71, 43, 586), + Trans(53, 72, 43, 586), + Trans(53, 78, 43, 586), + Trans(53, 82, 43, 586), + Trans(53, 83, 43, 586), + Trans(53, 84, 43, 586), + Trans(53, 87, 43, 586), + Trans(53, 89, 43, 586), + Trans(53, 96, 43, 586), + Trans(53, 97, 43, 586), + Trans(53, 98, 43, 586), + Trans(53, 99, 43, 586), + Trans(53, 100, 43, 586), + Trans(53, 101, 43, 586), + Trans(53, 102, 43, 586), + Trans(53, 105, 43, 586), + Trans(53, 107, 43, 586), + Trans(53, 109, 43, 586), + Trans(53, 110, 43, 586), + Trans(53, 111, 43, 586), + Trans(53, 114, 43, 586), + Trans(53, 115, 43, 586), + Trans(53, 116, 43, 586), + Trans(54, 5, 43, 586), + Trans(54, 37, 43, 586), + Trans(54, 40, 43, 586), + Trans(54, 44, 43, 586), + Trans(54, 54, 43, 586), + Trans(54, 67, 43, 586), + Trans(54, 71, 43, 586), + Trans(54, 72, 43, 586), + Trans(54, 82, 43, 586), + Trans(54, 101, 43, 586), + Trans(54, 102, 43, 586), + Trans(54, 107, 43, 586), + Trans(54, 114, 43, 586), + Trans(54, 115, 43, 586), + Trans(54, 116, 43, 586), + Trans(55, 5, 43, 586), + Trans(55, 15, 43, 586), + Trans(55, 16, 43, 586), + Trans(55, 17, 43, 586), + Trans(55, 18, 43, 586), + Trans(55, 19, 43, 586), + Trans(55, 20, 43, 586), + Trans(55, 21, 43, 586), + Trans(55, 22, 43, 586), + Trans(55, 23, 43, 586), + Trans(55, 24, 43, 586), + Trans(55, 25, 43, 586), + Trans(55, 26, 43, 586), + Trans(55, 30, 43, 586), + Trans(55, 32, 43, 586), + Trans(55, 35, 43, 586), + Trans(55, 36, 43, 586), + Trans(55, 38, 43, 586), + Trans(55, 41, 43, 586), + Trans(55, 42, 43, 586), + Trans(55, 44, 43, 586), + Trans(55, 48, 43, 586), + Trans(55, 52, 43, 586), + Trans(55, 95, 43, 586), + Trans(56, 5, 43, 586), + Trans(56, 15, 43, 586), + Trans(56, 16, 43, 586), + Trans(56, 17, 43, 586), + Trans(56, 18, 43, 586), + Trans(56, 19, 43, 586), + Trans(56, 20, 43, 586), + Trans(56, 21, 43, 586), + Trans(56, 22, 43, 586), + Trans(56, 23, 43, 586), + Trans(56, 24, 43, 586), + Trans(56, 25, 43, 586), + Trans(56, 26, 43, 586), + Trans(56, 29, 43, 586), + Trans(56, 30, 43, 586), + Trans(56, 32, 43, 586), + Trans(56, 35, 43, 586), + Trans(56, 36, 43, 586), + Trans(56, 38, 43, 586), + Trans(56, 41, 43, 586), + Trans(56, 42, 43, 586), + Trans(56, 44, 43, 586), + Trans(56, 48, 43, 586), + Trans(56, 52, 43, 586), + Trans(56, 95, 43, 586), + Trans(57, 5, 43, 586), + Trans(57, 16, 43, 586), + Trans(57, 17, 43, 586), + Trans(57, 18, 43, 586), + Trans(57, 19, 43, 586), + Trans(57, 20, 43, 586), + Trans(57, 21, 43, 586), + Trans(57, 22, 43, 586), + Trans(57, 23, 43, 586), + Trans(57, 24, 43, 586), + Trans(57, 25, 43, 586), + Trans(57, 26, 43, 586), + Trans(57, 46, 43, 586), + Trans(57, 48, 43, 586), + Trans(57, 52, 43, 586), + Trans(58, 5, 43, 586), + Trans(58, 16, 43, 586), + Trans(58, 17, 43, 586), + Trans(58, 18, 43, 586), + Trans(58, 19, 43, 586), + Trans(58, 20, 43, 586), + Trans(58, 21, 43, 586), + Trans(58, 22, 43, 586), + Trans(58, 23, 43, 586), + Trans(58, 24, 43, 586), + Trans(58, 25, 43, 586), + Trans(58, 26, 43, 586), + Trans(58, 38, 43, 586), + Trans(58, 46, 43, 586), + Trans(58, 48, 43, 586), + Trans(58, 52, 43, 586), + Trans(59, 5, 43, 586), + Trans(59, 16, 43, 586), + Trans(59, 17, 43, 586), + Trans(59, 18, 43, 586), + Trans(59, 19, 43, 586), + Trans(59, 20, 43, 586), + Trans(59, 21, 43, 586), + Trans(59, 22, 43, 586), + Trans(59, 23, 43, 586), + Trans(59, 24, 43, 586), + Trans(59, 25, 43, 586), + Trans(59, 26, 43, 586), + Trans(59, 30, 43, 586), + Trans(59, 35, 43, 586), + Trans(59, 38, 43, 586), + Trans(59, 41, 43, 586), + Trans(59, 42, 43, 586), + Trans(59, 46, 43, 586), + Trans(59, 48, 43, 586), + Trans(59, 52, 43, 586), + Trans(60, 5, 43, 586), + Trans(60, 16, 43, 586), + Trans(60, 17, 43, 586), + Trans(60, 18, 43, 586), + Trans(60, 19, 43, 586), + Trans(60, 20, 43, 586), + Trans(60, 21, 43, 586), + Trans(60, 22, 43, 586), + Trans(60, 23, 43, 586), + Trans(60, 24, 43, 586), + Trans(60, 25, 43, 586), + Trans(60, 26, 43, 586), + Trans(60, 29, 43, 586), + Trans(60, 30, 43, 586), + Trans(60, 35, 43, 586), + Trans(60, 38, 43, 586), + Trans(60, 41, 43, 586), + Trans(60, 42, 43, 586), + Trans(60, 46, 43, 586), + Trans(60, 48, 43, 586), + Trans(60, 52, 43, 586), + Trans(61, 5, 43, 586), + Trans(61, 16, 43, 586), + Trans(61, 17, 43, 586), + Trans(61, 18, 43, 586), + Trans(61, 19, 43, 586), + Trans(61, 20, 43, 586), + Trans(61, 21, 43, 586), + Trans(61, 22, 43, 586), + Trans(61, 23, 43, 586), + Trans(61, 24, 43, 586), + Trans(61, 25, 43, 586), + Trans(61, 26, 43, 586), + Trans(61, 40, 43, 586), + Trans(61, 48, 43, 586), + Trans(61, 52, 43, 586), + Trans(62, 5, 43, 586), + Trans(62, 16, 43, 586), + Trans(62, 17, 43, 586), + Trans(62, 18, 43, 586), + Trans(62, 19, 43, 586), + Trans(62, 20, 43, 586), + Trans(62, 21, 43, 586), + Trans(62, 22, 43, 586), + Trans(62, 23, 43, 586), + Trans(62, 24, 43, 586), + Trans(62, 25, 43, 586), + Trans(62, 26, 43, 586), + Trans(62, 38, 43, 586), + Trans(62, 40, 43, 586), + Trans(62, 48, 43, 586), + Trans(62, 52, 43, 586), + Trans(63, 5, 43, 586), + Trans(63, 16, 43, 586), + Trans(63, 17, 43, 586), + Trans(63, 18, 43, 586), + Trans(63, 19, 43, 586), + Trans(63, 20, 43, 586), + Trans(63, 21, 43, 586), + Trans(63, 22, 43, 586), + Trans(63, 23, 43, 586), + Trans(63, 24, 43, 586), + Trans(63, 25, 43, 586), + Trans(63, 26, 43, 586), + Trans(63, 30, 43, 586), + Trans(63, 35, 43, 586), + Trans(63, 38, 43, 586), + Trans(63, 40, 43, 586), + Trans(63, 41, 43, 586), + Trans(63, 42, 43, 586), + Trans(63, 48, 43, 586), + Trans(63, 52, 43, 586), + Trans(64, 5, 43, 586), + Trans(64, 16, 43, 586), + Trans(64, 17, 43, 586), + Trans(64, 18, 43, 586), + Trans(64, 19, 43, 586), + Trans(64, 20, 43, 586), + Trans(64, 21, 43, 586), + Trans(64, 22, 43, 586), + Trans(64, 23, 43, 586), + Trans(64, 24, 43, 586), + Trans(64, 25, 43, 586), + Trans(64, 26, 43, 586), + Trans(64, 29, 43, 586), + Trans(64, 30, 43, 586), + Trans(64, 35, 43, 586), + Trans(64, 38, 43, 586), + Trans(64, 40, 43, 586), + Trans(64, 41, 43, 586), + Trans(64, 42, 43, 586), + Trans(64, 48, 43, 586), + Trans(64, 52, 43, 586), + Trans(65, 5, 43, 586), + Trans(65, 16, 43, 586), + Trans(65, 17, 43, 586), + Trans(65, 18, 43, 586), + Trans(65, 19, 43, 586), + Trans(65, 20, 43, 586), + Trans(65, 21, 43, 586), + Trans(65, 22, 43, 586), + Trans(65, 23, 43, 586), + Trans(65, 24, 43, 586), + Trans(65, 25, 43, 586), + Trans(65, 26, 43, 586), + Trans(65, 47, 43, 586), + Trans(65, 48, 43, 586), + Trans(65, 52, 43, 586), + Trans(66, 5, 43, 586), + Trans(66, 16, 43, 586), + Trans(66, 17, 43, 586), + Trans(66, 18, 43, 586), + Trans(66, 19, 43, 586), + Trans(66, 20, 43, 586), + Trans(66, 21, 43, 586), + Trans(66, 22, 43, 586), + Trans(66, 23, 43, 586), + Trans(66, 24, 43, 586), + Trans(66, 25, 43, 586), + Trans(66, 26, 43, 586), + Trans(66, 38, 43, 586), + Trans(66, 47, 43, 586), + Trans(66, 48, 43, 586), + Trans(66, 52, 43, 586), + Trans(67, 5, 43, 586), + Trans(67, 16, 43, 586), + Trans(67, 17, 43, 586), + Trans(67, 18, 43, 586), + Trans(67, 19, 43, 586), + Trans(67, 20, 43, 586), + Trans(67, 21, 43, 586), + Trans(67, 22, 43, 586), + Trans(67, 23, 43, 586), + Trans(67, 24, 43, 586), + Trans(67, 25, 43, 586), + Trans(67, 26, 43, 586), + Trans(67, 30, 43, 586), + Trans(67, 35, 43, 586), + Trans(67, 38, 43, 586), + Trans(67, 41, 43, 586), + Trans(67, 42, 43, 586), + Trans(67, 47, 43, 586), + Trans(67, 48, 43, 586), + Trans(67, 52, 43, 586), + Trans(68, 5, 43, 586), + Trans(68, 16, 43, 586), + Trans(68, 17, 43, 586), + Trans(68, 18, 43, 586), + Trans(68, 19, 43, 586), + Trans(68, 20, 43, 586), + Trans(68, 21, 43, 586), + Trans(68, 22, 43, 586), + Trans(68, 23, 43, 586), + Trans(68, 24, 43, 586), + Trans(68, 25, 43, 586), + Trans(68, 26, 43, 586), + Trans(68, 29, 43, 586), + Trans(68, 30, 43, 586), + Trans(68, 35, 43, 586), + Trans(68, 38, 43, 586), + Trans(68, 41, 43, 586), + Trans(68, 42, 43, 586), + Trans(68, 47, 43, 586), + Trans(68, 48, 43, 586), + Trans(68, 52, 43, 586), + Trans(69, 15, 43, 586), + Trans(69, 16, 43, 586), + Trans(69, 17, 43, 586), + Trans(69, 18, 43, 586), + Trans(69, 19, 43, 586), + Trans(69, 20, 43, 586), + Trans(69, 21, 43, 586), + Trans(69, 22, 43, 586), + Trans(69, 23, 43, 586), + Trans(69, 24, 43, 586), + Trans(69, 25, 43, 586), + Trans(69, 26, 43, 586), + Trans(69, 30, 43, 586), + Trans(69, 31, 43, 586), + Trans(69, 32, 43, 586), + Trans(69, 33, 43, 586), + Trans(69, 34, 43, 586), + Trans(69, 35, 43, 586), + Trans(69, 36, 43, 586), + Trans(69, 38, 43, 586), + Trans(69, 41, 43, 586), + Trans(69, 42, 43, 586), + Trans(69, 48, 43, 586), + Trans(69, 52, 43, 586), + Trans(70, 5, 43, 586), + Trans(70, 40, 43, 586), + Trans(70, 54, 43, 586), + Trans(70, 67, 43, 586), + Trans(70, 71, 43, 586), + Trans(70, 72, 43, 586), + Trans(70, 101, 43, 586), + Trans(70, 102, 43, 586), + Trans(70, 107, 43, 586), + Trans(70, 115, 43, 586), + Trans(70, 116, 43, 586), + Trans(71, 5, 43, 586), + Trans(71, 6, 43, 586), + Trans(71, 7, 43, 586), + Trans(71, 8, 43, 586), + Trans(71, 9, 43, 586), + Trans(71, 10, 43, 586), + Trans(71, 11, 43, 586), + Trans(71, 18, 43, 586), + Trans(71, 24, 43, 586), + Trans(71, 25, 43, 586), + Trans(71, 26, 43, 586), + Trans(71, 27, 43, 586), + Trans(71, 39, 43, 586), + Trans(71, 40, 43, 586), + Trans(71, 42, 43, 586), + Trans(71, 46, 43, 586), + Trans(71, 53, 43, 586), + Trans(71, 54, 43, 586), + Trans(71, 55, 43, 586), + Trans(71, 56, 43, 586), + Trans(71, 57, 43, 586), + Trans(71, 64, 43, 586), + Trans(71, 65, 43, 586), + Trans(71, 69, 43, 586), + Trans(71, 70, 43, 586), + Trans(71, 72, 43, 586), + Trans(71, 78, 43, 586), + Trans(71, 83, 43, 586), + Trans(71, 84, 43, 586), + Trans(71, 87, 43, 586), + Trans(71, 89, 43, 586), + Trans(71, 96, 43, 586), + Trans(71, 97, 43, 586), + Trans(71, 98, 43, 586), + Trans(71, 99, 43, 586), + Trans(71, 100, 43, 586), + Trans(71, 105, 43, 586), + Trans(71, 107, 43, 586), + Trans(71, 109, 43, 586), + Trans(71, 110, 43, 586), + Trans(71, 111, 43, 586), + Trans(71, 115, 43, 586), + Trans(71, 116, 43, 586), + Trans(72, 5, 43, 586), + Trans(72, 55, 43, 586), + Trans(72, 56, 43, 586), + Trans(72, 57, 43, 586), + Trans(72, 64, 43, 586), + Trans(72, 65, 43, 586), + Trans(72, 69, 43, 586), + Trans(72, 70, 43, 586), + Trans(72, 96, 43, 586), + Trans(72, 97, 43, 586), + Trans(72, 98, 43, 586), + Trans(72, 99, 43, 586), + Trans(72, 100, 43, 586), + Trans(72, 110, 43, 586), + Trans(72, 111, 43, 586), + Trans(72, 115, 43, 586), + Trans(72, 116, 43, 586), + Trans(73, 15, 43, 586), + Trans(73, 16, 43, 586), + Trans(73, 17, 43, 586), + Trans(73, 18, 43, 586), + Trans(73, 19, 43, 586), + Trans(73, 20, 43, 586), + Trans(73, 21, 43, 586), + Trans(73, 22, 43, 586), + Trans(73, 23, 43, 586), + Trans(73, 24, 43, 586), + Trans(73, 25, 43, 586), + Trans(73, 26, 43, 586), + Trans(73, 29, 43, 586), + Trans(73, 30, 43, 586), + Trans(73, 31, 43, 586), + Trans(73, 32, 43, 586), + Trans(73, 33, 43, 586), + Trans(73, 34, 43, 586), + Trans(73, 35, 43, 586), + Trans(73, 36, 43, 586), + Trans(73, 38, 43, 586), + Trans(73, 41, 43, 586), + Trans(73, 42, 43, 586), + Trans(73, 48, 43, 586), + Trans(73, 52, 43, 586), + Trans(74, 5, 43, 586), + Trans(74, 7, 43, 586), + Trans(74, 8, 43, 586), + Trans(74, 9, 43, 586), + Trans(74, 10, 43, 586), + Trans(74, 11, 43, 586), + Trans(74, 43, 43, 586), + Trans(74, 115, 43, 586), + Trans(74, 116, 43, 586), + Trans(75, 16, 43, 586), + Trans(75, 17, 43, 586), + Trans(75, 18, 43, 586), + Trans(75, 19, 43, 586), + Trans(75, 20, 43, 586), + Trans(75, 21, 43, 586), + Trans(75, 22, 43, 586), + Trans(75, 23, 43, 586), + Trans(75, 24, 43, 586), + Trans(75, 25, 43, 586), + Trans(75, 26, 43, 586), + Trans(75, 31, 43, 586), + Trans(75, 32, 43, 586), + Trans(75, 33, 43, 586), + Trans(75, 34, 43, 586), + Trans(75, 48, 43, 586), + Trans(75, 52, 43, 586), + Trans(76, 16, 43, 586), + Trans(76, 17, 43, 586), + Trans(76, 18, 43, 586), + Trans(76, 19, 43, 586), + Trans(76, 20, 43, 586), + Trans(76, 21, 43, 586), + Trans(76, 22, 43, 586), + Trans(76, 23, 43, 586), + Trans(76, 24, 43, 586), + Trans(76, 25, 43, 586), + Trans(76, 26, 43, 586), + Trans(76, 31, 43, 586), + Trans(76, 32, 43, 586), + Trans(76, 33, 43, 586), + Trans(76, 34, 43, 586), + Trans(76, 38, 43, 586), + Trans(76, 48, 43, 586), + Trans(76, 52, 43, 586), + Trans(77, 31, 43, 586), + Trans(78, 40, 43, 586), + Trans(79, 5, 43, 586), + Trans(79, 6, 43, 586), + Trans(79, 7, 43, 586), + Trans(79, 8, 43, 586), + Trans(79, 9, 43, 586), + Trans(79, 10, 43, 586), + Trans(79, 11, 43, 586), + Trans(79, 18, 43, 586), + Trans(79, 24, 43, 586), + Trans(79, 25, 43, 586), + Trans(79, 26, 43, 586), + Trans(79, 27, 43, 586), + Trans(79, 39, 43, 586), + Trans(79, 40, 43, 586), + Trans(79, 42, 43, 586), + Trans(79, 44, 43, 586), + Trans(79, 53, 43, 586), + Trans(79, 54, 43, 586), + Trans(79, 55, 43, 586), + Trans(79, 56, 43, 586), + Trans(79, 57, 43, 586), + Trans(79, 59, 43, 586), + Trans(79, 64, 43, 586), + Trans(79, 65, 43, 586), + Trans(79, 69, 43, 586), + Trans(79, 70, 43, 586), + Trans(79, 72, 43, 586), + Trans(79, 78, 43, 586), + Trans(79, 83, 43, 586), + Trans(79, 84, 43, 586), + Trans(79, 87, 43, 586), + Trans(79, 89, 43, 586), + Trans(79, 96, 43, 586), + Trans(79, 97, 43, 586), + Trans(79, 98, 43, 586), + Trans(79, 99, 43, 586), + Trans(79, 100, 43, 586), + Trans(79, 105, 43, 586), + Trans(79, 107, 43, 586), + Trans(79, 109, 43, 586), + Trans(79, 110, 43, 586), + Trans(79, 111, 43, 586), + Trans(79, 115, 43, 586), + Trans(79, 116, 43, 586), + Trans(80, 41, 43, 586), + Trans(81, 42, 43, 586), + Trans(82, 47, 43, 586), + Trans(83, 116, 43, 586), ], k: 3, }, @@ -10846,56 +11189,57 @@ pub const LOOKAHEAD_AUTOMATA: &[LookaheadDFA; 668] = &[ LookaheadDFA { prod0: -1, transitions: &[ - Trans(0, 6, 2, 581), - Trans(0, 7, 2, 581), - Trans(0, 8, 2, 581), - Trans(0, 9, 2, 581), - Trans(0, 10, 2, 581), - Trans(0, 11, 2, 581), - Trans(0, 18, 2, 581), - Trans(0, 24, 2, 581), - Trans(0, 25, 2, 581), - Trans(0, 26, 2, 581), - Trans(0, 27, 2, 581), - Trans(0, 39, 2, 581), - Trans(0, 40, 2, 581), - Trans(0, 42, 2, 581), - Trans(0, 44, 2, 581), - Trans(0, 53, 2, 581), - Trans(0, 54, 2, 581), - Trans(0, 55, 2, 581), - Trans(0, 56, 2, 581), - Trans(0, 57, 2, 581), - Trans(0, 59, 2, 581), - Trans(0, 60, 1, 580), - Trans(0, 64, 2, 581), - Trans(0, 65, 2, 581), - Trans(0, 67, 2, 581), - Trans(0, 69, 2, 581), - Trans(0, 70, 2, 581), - Trans(0, 71, 2, 581), - Trans(0, 72, 2, 581), - Trans(0, 78, 2, 581), - Trans(0, 82, 2, 581), - Trans(0, 83, 2, 581), - Trans(0, 84, 2, 581), - Trans(0, 87, 2, 581), - Trans(0, 89, 2, 581), - Trans(0, 96, 2, 581), - Trans(0, 97, 2, 581), - Trans(0, 98, 2, 581), - Trans(0, 99, 2, 581), - Trans(0, 100, 2, 581), - Trans(0, 101, 2, 581), - Trans(0, 102, 2, 581), - Trans(0, 105, 2, 581), - Trans(0, 107, 2, 581), - Trans(0, 109, 2, 581), - Trans(0, 110, 2, 581), - Trans(0, 111, 2, 581), - Trans(0, 114, 2, 581), - Trans(0, 115, 2, 581), - Trans(0, 116, 2, 581), + Trans(0, 6, 2, 588), + Trans(0, 7, 2, 588), + Trans(0, 8, 2, 588), + Trans(0, 9, 2, 588), + Trans(0, 10, 2, 588), + Trans(0, 11, 2, 588), + Trans(0, 18, 2, 588), + Trans(0, 24, 2, 588), + Trans(0, 25, 2, 588), + Trans(0, 26, 2, 588), + Trans(0, 27, 2, 588), + Trans(0, 37, 2, 588), + Trans(0, 39, 2, 588), + Trans(0, 40, 2, 588), + Trans(0, 42, 2, 588), + Trans(0, 44, 2, 588), + Trans(0, 53, 2, 588), + Trans(0, 54, 2, 588), + Trans(0, 55, 2, 588), + Trans(0, 56, 2, 588), + Trans(0, 57, 2, 588), + Trans(0, 59, 2, 588), + Trans(0, 60, 1, 587), + Trans(0, 64, 2, 588), + Trans(0, 65, 2, 588), + Trans(0, 67, 2, 588), + Trans(0, 69, 2, 588), + Trans(0, 70, 2, 588), + Trans(0, 71, 2, 588), + Trans(0, 72, 2, 588), + Trans(0, 78, 2, 588), + Trans(0, 82, 2, 588), + Trans(0, 83, 2, 588), + Trans(0, 84, 2, 588), + Trans(0, 87, 2, 588), + Trans(0, 89, 2, 588), + Trans(0, 96, 2, 588), + Trans(0, 97, 2, 588), + Trans(0, 98, 2, 588), + Trans(0, 99, 2, 588), + Trans(0, 100, 2, 588), + Trans(0, 101, 2, 588), + Trans(0, 102, 2, 588), + Trans(0, 105, 2, 588), + Trans(0, 107, 2, 588), + Trans(0, 109, 2, 588), + Trans(0, 110, 2, 588), + Trans(0, 111, 2, 588), + Trans(0, 114, 2, 588), + Trans(0, 115, 2, 588), + Trans(0, 116, 2, 588), ], k: 1, }, @@ -10919,14 +11263,14 @@ pub const LOOKAHEAD_AUTOMATA: &[LookaheadDFA; 668] = &[ }, /* 289 - "ImportDeclaration" */ LookaheadDFA { - prod0: 805, + prod0: 812, transitions: &[], k: 0, }, /* 290 - "ImportDeclarationOpt" */ LookaheadDFA { prod0: -1, - transitions: &[Trans(0, 30, 1, 806), Trans(0, 47, 2, 807)], + transitions: &[Trans(0, 30, 1, 813), Trans(0, 47, 2, 814)], k: 1, }, /* 291 - "ImportTerm" */ @@ -10967,7 +11311,7 @@ pub const LOOKAHEAD_AUTOMATA: &[LookaheadDFA; 668] = &[ }, /* 297 - "IncludeDeclaration" */ LookaheadDFA { - prod0: 935, + prod0: 942, transitions: &[], k: 0, }, @@ -10991,7 +11335,7 @@ pub const LOOKAHEAD_AUTOMATA: &[LookaheadDFA; 668] = &[ }, /* 301 - "InitialDeclaration" */ LookaheadDFA { - prod0: 688, + prod0: 695, transitions: &[], k: 0, }, @@ -11075,7 +11419,7 @@ pub const LOOKAHEAD_AUTOMATA: &[LookaheadDFA; 668] = &[ }, /* 315 - "InstDeclaration" */ LookaheadDFA { - prod0: 690, + prod0: 697, transitions: &[], k: 0, }, @@ -11083,10 +11427,10 @@ pub const LOOKAHEAD_AUTOMATA: &[LookaheadDFA; 668] = &[ LookaheadDFA { prod0: -1, transitions: &[ - Trans(0, 37, 2, 698), - Trans(0, 41, 1, 697), - Trans(0, 42, 2, 698), - Trans(0, 47, 2, 698), + Trans(0, 37, 2, 705), + Trans(0, 41, 1, 704), + Trans(0, 42, 2, 705), + Trans(0, 47, 2, 705), ], k: 1, }, @@ -11094,60 +11438,60 @@ pub const LOOKAHEAD_AUTOMATA: &[LookaheadDFA; 668] = &[ LookaheadDFA { prod0: -1, transitions: &[ - Trans(0, 37, 1, 695), - Trans(0, 42, 2, 696), - Trans(0, 47, 2, 696), + Trans(0, 37, 1, 702), + Trans(0, 42, 2, 703), + Trans(0, 47, 2, 703), ], k: 1, }, /* 318 - "InstDeclarationOpt1" */ LookaheadDFA { prod0: -1, - transitions: &[Trans(0, 42, 1, 691), Trans(0, 47, 2, 694)], + transitions: &[Trans(0, 42, 1, 698), Trans(0, 47, 2, 701)], k: 1, }, /* 319 - "InstDeclarationOpt2" */ LookaheadDFA { prod0: -1, transitions: &[ - Trans(0, 37, 1, 692), - Trans(0, 40, 1, 692), - Trans(0, 46, 2, 693), - Trans(0, 116, 1, 692), + Trans(0, 37, 1, 699), + Trans(0, 40, 1, 699), + Trans(0, 46, 2, 700), + Trans(0, 116, 1, 699), ], k: 1, }, /* 320 - "InstParameter" */ LookaheadDFA { - prod0: 699, + prod0: 706, transitions: &[], k: 0, }, /* 321 - "InstParameterGroup" */ LookaheadDFA { - prod0: 707, + prod0: 714, transitions: &[], k: 0, }, /* 322 - "InstParameterGroupGroup" */ LookaheadDFA { prod0: -1, - transitions: &[Trans(0, 40, 1, 708), Trans(0, 116, 2, 709)], + transitions: &[Trans(0, 40, 1, 715), Trans(0, 116, 2, 716)], k: 1, }, /* 323 - "InstParameterGroupList" */ LookaheadDFA { prod0: -1, transitions: &[ - Trans(0, 37, 1, 710), - Trans(0, 40, 2, 711), - Trans(0, 116, 2, 711), + Trans(0, 37, 1, 717), + Trans(0, 40, 2, 718), + Trans(0, 116, 2, 718), ], k: 1, }, /* 324 - "InstParameterItem" */ LookaheadDFA { - prod0: 712, + prod0: 719, transitions: &[], k: 0, }, @@ -11155,16 +11499,16 @@ pub const LOOKAHEAD_AUTOMATA: &[LookaheadDFA; 668] = &[ LookaheadDFA { prod0: -1, transitions: &[ - Trans(0, 31, 1, 713), - Trans(0, 32, 2, 714), - Trans(0, 44, 2, 714), - Trans(0, 46, 2, 714), + Trans(0, 31, 1, 720), + Trans(0, 32, 2, 721), + Trans(0, 44, 2, 721), + Trans(0, 46, 2, 721), ], k: 1, }, /* 326 - "InstParameterList" */ LookaheadDFA { - prod0: 702, + prod0: 709, transitions: &[], k: 0, }, @@ -11181,22 +11525,22 @@ pub const LOOKAHEAD_AUTOMATA: &[LookaheadDFA; 668] = &[ Trans(1, 44, 11, -1), Trans(1, 46, 12, -1), Trans(1, 116, 5, -1), - Trans(2, 5, 3, 703), - Trans(2, 41, 3, 703), - Trans(4, 5, 3, 703), - Trans(4, 37, 3, 703), - Trans(4, 40, 3, 703), - Trans(4, 116, 3, 703), - Trans(5, 5, 3, 703), - Trans(5, 31, 3, 703), - Trans(5, 32, 3, 703), - Trans(5, 44, 3, 703), - Trans(5, 46, 3, 703), - Trans(6, 37, 3, 703), - Trans(6, 40, 3, 703), - Trans(6, 44, 13, 704), - Trans(6, 46, 13, 704), - Trans(6, 116, 3, 703), + Trans(2, 5, 3, 710), + Trans(2, 41, 3, 710), + Trans(4, 5, 3, 710), + Trans(4, 37, 3, 710), + Trans(4, 40, 3, 710), + Trans(4, 116, 3, 710), + Trans(5, 5, 3, 710), + Trans(5, 31, 3, 710), + Trans(5, 32, 3, 710), + Trans(5, 44, 3, 710), + Trans(5, 46, 3, 710), + Trans(6, 37, 3, 710), + Trans(6, 40, 3, 710), + Trans(6, 44, 13, 711), + Trans(6, 46, 13, 711), + Trans(6, 116, 3, 710), Trans(7, 5, 9, -1), Trans(7, 32, 10, -1), Trans(7, 44, 11, -1), @@ -11204,53 +11548,53 @@ pub const LOOKAHEAD_AUTOMATA: &[LookaheadDFA; 668] = &[ Trans(8, 5, 14, -1), Trans(8, 42, 15, -1), Trans(8, 47, 16, -1), - Trans(9, 32, 13, 704), - Trans(9, 44, 13, 704), - Trans(9, 46, 13, 704), - Trans(10, 5, 13, 704), - Trans(10, 37, 13, 704), - Trans(10, 40, 13, 704), - Trans(10, 44, 13, 704), - Trans(10, 46, 13, 704), - Trans(10, 116, 13, 704), - Trans(11, 5, 13, 704), - Trans(11, 32, 13, 704), - Trans(11, 44, 13, 704), - Trans(11, 46, 13, 704), - Trans(12, 5, 13, 704), - Trans(12, 42, 13, 704), - Trans(12, 47, 13, 704), - Trans(14, 42, 13, 704), - Trans(14, 47, 13, 704), - Trans(15, 5, 13, 704), - Trans(15, 37, 13, 704), - Trans(15, 40, 13, 704), - Trans(15, 46, 13, 704), - Trans(15, 116, 13, 704), - Trans(16, 5, 13, 704), - Trans(16, 31, 13, 704), - Trans(16, 37, 13, 704), - Trans(16, 40, 13, 704), - Trans(16, 44, 13, 704), - Trans(16, 49, 13, 704), - Trans(16, 50, 13, 704), - Trans(16, 51, 13, 704), - Trans(16, 58, 13, 704), - Trans(16, 62, 13, 704), - Trans(16, 66, 13, 704), - Trans(16, 67, 13, 704), - Trans(16, 68, 13, 704), - Trans(16, 72, 13, 704), - Trans(16, 73, 13, 704), - Trans(16, 75, 13, 704), - Trans(16, 79, 13, 704), - Trans(16, 82, 13, 704), - Trans(16, 85, 13, 704), - Trans(16, 106, 13, 704), - Trans(16, 109, 13, 704), - Trans(16, 112, 13, 704), - Trans(16, 113, 13, 704), - Trans(16, 114, 13, 704), + Trans(9, 32, 13, 711), + Trans(9, 44, 13, 711), + Trans(9, 46, 13, 711), + Trans(10, 5, 13, 711), + Trans(10, 37, 13, 711), + Trans(10, 40, 13, 711), + Trans(10, 44, 13, 711), + Trans(10, 46, 13, 711), + Trans(10, 116, 13, 711), + Trans(11, 5, 13, 711), + Trans(11, 32, 13, 711), + Trans(11, 44, 13, 711), + Trans(11, 46, 13, 711), + Trans(12, 5, 13, 711), + Trans(12, 42, 13, 711), + Trans(12, 47, 13, 711), + Trans(14, 42, 13, 711), + Trans(14, 47, 13, 711), + Trans(15, 5, 13, 711), + Trans(15, 37, 13, 711), + Trans(15, 40, 13, 711), + Trans(15, 46, 13, 711), + Trans(15, 116, 13, 711), + Trans(16, 5, 13, 711), + Trans(16, 31, 13, 711), + Trans(16, 37, 13, 711), + Trans(16, 40, 13, 711), + Trans(16, 44, 13, 711), + Trans(16, 49, 13, 711), + Trans(16, 50, 13, 711), + Trans(16, 51, 13, 711), + Trans(16, 58, 13, 711), + Trans(16, 62, 13, 711), + Trans(16, 66, 13, 711), + Trans(16, 67, 13, 711), + Trans(16, 68, 13, 711), + Trans(16, 72, 13, 711), + Trans(16, 73, 13, 711), + Trans(16, 75, 13, 711), + Trans(16, 79, 13, 711), + Trans(16, 82, 13, 711), + Trans(16, 85, 13, 711), + Trans(16, 106, 13, 711), + Trans(16, 109, 13, 711), + Trans(16, 112, 13, 711), + Trans(16, 113, 13, 711), + Trans(16, 114, 13, 711), ], k: 3, }, @@ -11258,9 +11602,9 @@ pub const LOOKAHEAD_AUTOMATA: &[LookaheadDFA; 668] = &[ LookaheadDFA { prod0: -1, transitions: &[ - Trans(0, 32, 1, 705), - Trans(0, 44, 2, 706), - Trans(0, 46, 2, 706), + Trans(0, 32, 1, 712), + Trans(0, 44, 2, 713), + Trans(0, 46, 2, 713), ], k: 1, }, @@ -11268,38 +11612,38 @@ pub const LOOKAHEAD_AUTOMATA: &[LookaheadDFA; 668] = &[ LookaheadDFA { prod0: -1, transitions: &[ - Trans(0, 37, 1, 700), - Trans(0, 40, 1, 700), - Trans(0, 46, 2, 701), - Trans(0, 116, 1, 700), + Trans(0, 37, 1, 707), + Trans(0, 40, 1, 707), + Trans(0, 46, 2, 708), + Trans(0, 116, 1, 707), ], k: 1, }, /* 330 - "InstPortGroup" */ LookaheadDFA { - prod0: 720, + prod0: 727, transitions: &[], k: 0, }, /* 331 - "InstPortGroupGroup" */ LookaheadDFA { prod0: -1, - transitions: &[Trans(0, 40, 1, 721), Trans(0, 116, 2, 722)], + transitions: &[Trans(0, 40, 1, 728), Trans(0, 116, 2, 729)], k: 1, }, /* 332 - "InstPortGroupList" */ LookaheadDFA { prod0: -1, transitions: &[ - Trans(0, 37, 1, 723), - Trans(0, 40, 2, 724), - Trans(0, 116, 2, 724), + Trans(0, 37, 1, 730), + Trans(0, 40, 2, 731), + Trans(0, 116, 2, 731), ], k: 1, }, /* 333 - "InstPortItem" */ LookaheadDFA { - prod0: 725, + prod0: 732, transitions: &[], k: 0, }, @@ -11307,16 +11651,16 @@ pub const LOOKAHEAD_AUTOMATA: &[LookaheadDFA; 668] = &[ LookaheadDFA { prod0: -1, transitions: &[ - Trans(0, 31, 1, 726), - Trans(0, 32, 2, 727), - Trans(0, 44, 2, 727), - Trans(0, 46, 2, 727), + Trans(0, 31, 1, 733), + Trans(0, 32, 2, 734), + Trans(0, 44, 2, 734), + Trans(0, 46, 2, 734), ], k: 1, }, /* 335 - "InstPortList" */ LookaheadDFA { - prod0: 715, + prod0: 722, transitions: &[], k: 0, }, @@ -11333,68 +11677,68 @@ pub const LOOKAHEAD_AUTOMATA: &[LookaheadDFA; 668] = &[ Trans(1, 44, 11, -1), Trans(1, 46, 12, -1), Trans(1, 116, 5, -1), - Trans(2, 5, 3, 716), - Trans(2, 41, 3, 716), - Trans(4, 5, 3, 716), - Trans(4, 37, 3, 716), - Trans(4, 40, 3, 716), - Trans(4, 116, 3, 716), - Trans(5, 5, 3, 716), - Trans(5, 31, 3, 716), - Trans(5, 32, 3, 716), - Trans(5, 44, 3, 716), - Trans(5, 46, 3, 716), - Trans(6, 37, 3, 716), - Trans(6, 40, 3, 716), - Trans(6, 44, 13, 717), - Trans(6, 46, 13, 717), - Trans(6, 116, 3, 716), + Trans(2, 5, 3, 723), + Trans(2, 41, 3, 723), + Trans(4, 5, 3, 723), + Trans(4, 37, 3, 723), + Trans(4, 40, 3, 723), + Trans(4, 116, 3, 723), + Trans(5, 5, 3, 723), + Trans(5, 31, 3, 723), + Trans(5, 32, 3, 723), + Trans(5, 44, 3, 723), + Trans(5, 46, 3, 723), + Trans(6, 37, 3, 723), + Trans(6, 40, 3, 723), + Trans(6, 44, 13, 724), + Trans(6, 46, 13, 724), + Trans(6, 116, 3, 723), Trans(7, 5, 9, -1), Trans(7, 32, 10, -1), Trans(7, 44, 11, -1), Trans(7, 46, 12, -1), Trans(8, 5, 14, -1), Trans(8, 47, 15, -1), - Trans(9, 32, 13, 717), - Trans(9, 44, 13, 717), - Trans(9, 46, 13, 717), - Trans(10, 5, 13, 717), - Trans(10, 37, 13, 717), - Trans(10, 40, 13, 717), - Trans(10, 44, 13, 717), - Trans(10, 46, 13, 717), - Trans(10, 116, 13, 717), - Trans(11, 5, 13, 717), - Trans(11, 32, 13, 717), - Trans(11, 44, 13, 717), - Trans(11, 46, 13, 717), - Trans(12, 5, 13, 717), - Trans(12, 47, 13, 717), - Trans(14, 47, 13, 717), - Trans(15, 5, 13, 717), - Trans(15, 31, 13, 717), - Trans(15, 37, 13, 717), - Trans(15, 40, 13, 717), - Trans(15, 44, 13, 717), - Trans(15, 49, 13, 717), - Trans(15, 50, 13, 717), - Trans(15, 51, 13, 717), - Trans(15, 58, 13, 717), - Trans(15, 62, 13, 717), - Trans(15, 66, 13, 717), - Trans(15, 67, 13, 717), - Trans(15, 68, 13, 717), - Trans(15, 72, 13, 717), - Trans(15, 73, 13, 717), - Trans(15, 75, 13, 717), - Trans(15, 79, 13, 717), - Trans(15, 82, 13, 717), - Trans(15, 85, 13, 717), - Trans(15, 106, 13, 717), - Trans(15, 109, 13, 717), - Trans(15, 112, 13, 717), - Trans(15, 113, 13, 717), - Trans(15, 114, 13, 717), + Trans(9, 32, 13, 724), + Trans(9, 44, 13, 724), + Trans(9, 46, 13, 724), + Trans(10, 5, 13, 724), + Trans(10, 37, 13, 724), + Trans(10, 40, 13, 724), + Trans(10, 44, 13, 724), + Trans(10, 46, 13, 724), + Trans(10, 116, 13, 724), + Trans(11, 5, 13, 724), + Trans(11, 32, 13, 724), + Trans(11, 44, 13, 724), + Trans(11, 46, 13, 724), + Trans(12, 5, 13, 724), + Trans(12, 47, 13, 724), + Trans(14, 47, 13, 724), + Trans(15, 5, 13, 724), + Trans(15, 31, 13, 724), + Trans(15, 37, 13, 724), + Trans(15, 40, 13, 724), + Trans(15, 44, 13, 724), + Trans(15, 49, 13, 724), + Trans(15, 50, 13, 724), + Trans(15, 51, 13, 724), + Trans(15, 58, 13, 724), + Trans(15, 62, 13, 724), + Trans(15, 66, 13, 724), + Trans(15, 67, 13, 724), + Trans(15, 68, 13, 724), + Trans(15, 72, 13, 724), + Trans(15, 73, 13, 724), + Trans(15, 75, 13, 724), + Trans(15, 79, 13, 724), + Trans(15, 82, 13, 724), + Trans(15, 85, 13, 724), + Trans(15, 106, 13, 724), + Trans(15, 109, 13, 724), + Trans(15, 112, 13, 724), + Trans(15, 113, 13, 724), + Trans(15, 114, 13, 724), ], k: 3, }, @@ -11402,9 +11746,9 @@ pub const LOOKAHEAD_AUTOMATA: &[LookaheadDFA; 668] = &[ LookaheadDFA { prod0: -1, transitions: &[ - Trans(0, 32, 1, 718), - Trans(0, 44, 2, 719), - Trans(0, 46, 2, 719), + Trans(0, 32, 1, 725), + Trans(0, 44, 2, 726), + Trans(0, 46, 2, 726), ], k: 1, }, @@ -11438,7 +11782,7 @@ pub const LOOKAHEAD_AUTOMATA: &[LookaheadDFA; 668] = &[ }, /* 342 - "InterfaceDeclaration" */ LookaheadDFA { - prod0: 837, + prod0: 844, transitions: &[], k: 0, }, @@ -11446,57 +11790,57 @@ pub const LOOKAHEAD_AUTOMATA: &[LookaheadDFA; 668] = &[ LookaheadDFA { prod0: -1, transitions: &[ - Trans(0, 31, 1, 838), - Trans(0, 37, 1, 838), - Trans(0, 40, 1, 838), - Trans(0, 44, 2, 839), - Trans(0, 49, 1, 838), - Trans(0, 50, 1, 838), - Trans(0, 51, 1, 838), - Trans(0, 58, 1, 838), - Trans(0, 62, 1, 838), - Trans(0, 66, 1, 838), - Trans(0, 67, 1, 838), - Trans(0, 68, 1, 838), - Trans(0, 72, 1, 838), - Trans(0, 73, 1, 838), - Trans(0, 75, 1, 838), - Trans(0, 79, 1, 838), - Trans(0, 82, 1, 838), - Trans(0, 85, 1, 838), - Trans(0, 106, 1, 838), - Trans(0, 109, 1, 838), - Trans(0, 112, 1, 838), - Trans(0, 113, 1, 838), - Trans(0, 114, 1, 838), + Trans(0, 31, 1, 845), + Trans(0, 37, 1, 845), + Trans(0, 40, 1, 845), + Trans(0, 44, 2, 846), + Trans(0, 49, 1, 845), + Trans(0, 50, 1, 845), + Trans(0, 51, 1, 845), + Trans(0, 58, 1, 845), + Trans(0, 62, 1, 845), + Trans(0, 66, 1, 845), + Trans(0, 67, 1, 845), + Trans(0, 68, 1, 845), + Trans(0, 72, 1, 845), + Trans(0, 73, 1, 845), + Trans(0, 75, 1, 845), + Trans(0, 79, 1, 845), + Trans(0, 82, 1, 845), + Trans(0, 85, 1, 845), + Trans(0, 106, 1, 845), + Trans(0, 109, 1, 845), + Trans(0, 112, 1, 845), + Trans(0, 113, 1, 845), + Trans(0, 114, 1, 845), ], k: 1, }, /* 344 - "InterfaceDeclarationOpt" */ LookaheadDFA { prod0: -1, - transitions: &[Trans(0, 80, 2, 845), Trans(0, 93, 1, 844)], + transitions: &[Trans(0, 80, 2, 852), Trans(0, 93, 1, 851)], k: 1, }, /* 345 - "InterfaceDeclarationOpt0" */ LookaheadDFA { prod0: -1, transitions: &[ - Trans(0, 29, 1, 842), - Trans(0, 37, 2, 843), - Trans(0, 40, 2, 843), + Trans(0, 29, 1, 849), + Trans(0, 37, 2, 850), + Trans(0, 40, 2, 850), ], k: 1, }, /* 346 - "InterfaceDeclarationOpt1" */ LookaheadDFA { prod0: -1, - transitions: &[Trans(0, 37, 1, 840), Trans(0, 40, 2, 841)], + transitions: &[Trans(0, 37, 1, 847), Trans(0, 40, 2, 848)], k: 1, }, /* 347 - "InterfaceGroup" */ LookaheadDFA { - prod0: 846, + prod0: 853, transitions: &[], k: 0, }, @@ -11504,27 +11848,27 @@ pub const LOOKAHEAD_AUTOMATA: &[LookaheadDFA; 668] = &[ LookaheadDFA { prod0: -1, transitions: &[ - Trans(0, 31, 2, 850), - Trans(0, 40, 1, 847), - Trans(0, 49, 2, 850), - Trans(0, 50, 2, 850), - Trans(0, 51, 2, 850), - Trans(0, 58, 2, 850), - Trans(0, 62, 2, 850), - Trans(0, 66, 2, 850), - Trans(0, 67, 2, 850), - Trans(0, 68, 2, 850), - Trans(0, 72, 2, 850), - Trans(0, 73, 2, 850), - Trans(0, 75, 2, 850), - Trans(0, 79, 2, 850), - Trans(0, 82, 2, 850), - Trans(0, 85, 2, 850), - Trans(0, 106, 2, 850), - Trans(0, 109, 2, 850), - Trans(0, 112, 2, 850), - Trans(0, 113, 2, 850), - Trans(0, 114, 2, 850), + Trans(0, 31, 2, 857), + Trans(0, 40, 1, 854), + Trans(0, 49, 2, 857), + Trans(0, 50, 2, 857), + Trans(0, 51, 2, 857), + Trans(0, 58, 2, 857), + Trans(0, 62, 2, 857), + Trans(0, 66, 2, 857), + Trans(0, 67, 2, 857), + Trans(0, 68, 2, 857), + Trans(0, 72, 2, 857), + Trans(0, 73, 2, 857), + Trans(0, 75, 2, 857), + Trans(0, 79, 2, 857), + Trans(0, 82, 2, 857), + Trans(0, 85, 2, 857), + Trans(0, 106, 2, 857), + Trans(0, 109, 2, 857), + Trans(0, 112, 2, 857), + Trans(0, 113, 2, 857), + Trans(0, 114, 2, 857), ], k: 1, }, @@ -11532,29 +11876,29 @@ pub const LOOKAHEAD_AUTOMATA: &[LookaheadDFA; 668] = &[ LookaheadDFA { prod0: -1, transitions: &[ - Trans(0, 31, 1, 848), - Trans(0, 37, 1, 848), - Trans(0, 40, 1, 848), - Trans(0, 44, 2, 849), - Trans(0, 49, 1, 848), - Trans(0, 50, 1, 848), - Trans(0, 51, 1, 848), - Trans(0, 58, 1, 848), - Trans(0, 62, 1, 848), - Trans(0, 66, 1, 848), - Trans(0, 67, 1, 848), - Trans(0, 68, 1, 848), - Trans(0, 72, 1, 848), - Trans(0, 73, 1, 848), - Trans(0, 75, 1, 848), - Trans(0, 79, 1, 848), - Trans(0, 82, 1, 848), - Trans(0, 85, 1, 848), - Trans(0, 106, 1, 848), - Trans(0, 109, 1, 848), - Trans(0, 112, 1, 848), - Trans(0, 113, 1, 848), - Trans(0, 114, 1, 848), + Trans(0, 31, 1, 855), + Trans(0, 37, 1, 855), + Trans(0, 40, 1, 855), + Trans(0, 44, 2, 856), + Trans(0, 49, 1, 855), + Trans(0, 50, 1, 855), + Trans(0, 51, 1, 855), + Trans(0, 58, 1, 855), + Trans(0, 62, 1, 855), + Trans(0, 66, 1, 855), + Trans(0, 67, 1, 855), + Trans(0, 68, 1, 855), + Trans(0, 72, 1, 855), + Trans(0, 73, 1, 855), + Trans(0, 75, 1, 855), + Trans(0, 79, 1, 855), + Trans(0, 82, 1, 855), + Trans(0, 85, 1, 855), + Trans(0, 106, 1, 855), + Trans(0, 109, 1, 855), + Trans(0, 112, 1, 855), + Trans(0, 113, 1, 855), + Trans(0, 114, 1, 855), ], k: 1, }, @@ -11562,28 +11906,28 @@ pub const LOOKAHEAD_AUTOMATA: &[LookaheadDFA; 668] = &[ LookaheadDFA { prod0: -1, transitions: &[ - Trans(0, 31, 2, 852), - Trans(0, 37, 1, 851), - Trans(0, 40, 2, 852), - Trans(0, 49, 2, 852), - Trans(0, 50, 2, 852), - Trans(0, 51, 2, 852), - Trans(0, 58, 2, 852), - Trans(0, 62, 2, 852), - Trans(0, 66, 2, 852), - Trans(0, 67, 2, 852), - Trans(0, 68, 2, 852), - Trans(0, 72, 2, 852), - Trans(0, 73, 2, 852), - Trans(0, 75, 2, 852), - Trans(0, 79, 2, 852), - Trans(0, 82, 2, 852), - Trans(0, 85, 2, 852), - Trans(0, 106, 2, 852), - Trans(0, 109, 2, 852), - Trans(0, 112, 2, 852), - Trans(0, 113, 2, 852), - Trans(0, 114, 2, 852), + Trans(0, 31, 2, 859), + Trans(0, 37, 1, 858), + Trans(0, 40, 2, 859), + Trans(0, 49, 2, 859), + Trans(0, 50, 2, 859), + Trans(0, 51, 2, 859), + Trans(0, 58, 2, 859), + Trans(0, 62, 2, 859), + Trans(0, 66, 2, 859), + Trans(0, 67, 2, 859), + Trans(0, 68, 2, 859), + Trans(0, 72, 2, 859), + Trans(0, 73, 2, 859), + Trans(0, 75, 2, 859), + Trans(0, 79, 2, 859), + Trans(0, 82, 2, 859), + Trans(0, 85, 2, 859), + Trans(0, 106, 2, 859), + Trans(0, 109, 2, 859), + Trans(0, 112, 2, 859), + Trans(0, 113, 2, 859), + Trans(0, 114, 2, 859), ], k: 1, }, @@ -11591,26 +11935,26 @@ pub const LOOKAHEAD_AUTOMATA: &[LookaheadDFA; 668] = &[ LookaheadDFA { prod0: -1, transitions: &[ - Trans(0, 31, 1, 853), - Trans(0, 49, 1, 853), - Trans(0, 50, 1, 853), - Trans(0, 51, 1, 853), - Trans(0, 58, 1, 853), - Trans(0, 62, 1, 853), - Trans(0, 66, 1, 853), - Trans(0, 67, 1, 853), - Trans(0, 68, 1, 853), - Trans(0, 72, 1, 853), - Trans(0, 73, 1, 853), - Trans(0, 75, 1, 853), - Trans(0, 79, 1, 853), - Trans(0, 82, 1, 853), - Trans(0, 85, 2, 854), - Trans(0, 106, 1, 853), - Trans(0, 109, 1, 853), - Trans(0, 112, 1, 853), - Trans(0, 113, 1, 853), - Trans(0, 114, 1, 853), + Trans(0, 31, 1, 860), + Trans(0, 49, 1, 860), + Trans(0, 50, 1, 860), + Trans(0, 51, 1, 860), + Trans(0, 58, 1, 860), + Trans(0, 62, 1, 860), + Trans(0, 66, 1, 860), + Trans(0, 67, 1, 860), + Trans(0, 68, 1, 860), + Trans(0, 72, 1, 860), + Trans(0, 73, 1, 860), + Trans(0, 75, 1, 860), + Trans(0, 79, 1, 860), + Trans(0, 82, 1, 860), + Trans(0, 85, 2, 861), + Trans(0, 106, 1, 860), + Trans(0, 109, 1, 860), + Trans(0, 112, 1, 860), + Trans(0, 113, 1, 860), + Trans(0, 114, 1, 860), ], k: 1, }, @@ -11706,7 +12050,7 @@ pub const LOOKAHEAD_AUTOMATA: &[LookaheadDFA; 668] = &[ }, /* 367 - "LetDeclaration" */ LookaheadDFA { - prod0: 624, + prod0: 631, transitions: &[], k: 0, }, @@ -11714,34 +12058,34 @@ pub const LOOKAHEAD_AUTOMATA: &[LookaheadDFA; 668] = &[ LookaheadDFA { prod0: -1, transitions: &[ - Trans(0, 28, 1, 625), - Trans(0, 53, 2, 626), - Trans(0, 55, 2, 626), - Trans(0, 56, 2, 626), - Trans(0, 57, 2, 626), - Trans(0, 64, 2, 626), - Trans(0, 65, 2, 626), - Trans(0, 69, 2, 626), - Trans(0, 70, 2, 626), - Trans(0, 83, 2, 626), - Trans(0, 96, 2, 626), - Trans(0, 97, 2, 626), - Trans(0, 98, 2, 626), - Trans(0, 99, 2, 626), - Trans(0, 100, 2, 626), - Trans(0, 103, 2, 626), - Trans(0, 105, 2, 626), - Trans(0, 108, 2, 626), - Trans(0, 110, 2, 626), - Trans(0, 111, 2, 626), - Trans(0, 115, 2, 626), - Trans(0, 116, 2, 626), + Trans(0, 28, 1, 632), + Trans(0, 53, 2, 633), + Trans(0, 55, 2, 633), + Trans(0, 56, 2, 633), + Trans(0, 57, 2, 633), + Trans(0, 64, 2, 633), + Trans(0, 65, 2, 633), + Trans(0, 69, 2, 633), + Trans(0, 70, 2, 633), + Trans(0, 83, 2, 633), + Trans(0, 96, 2, 633), + Trans(0, 97, 2, 633), + Trans(0, 98, 2, 633), + Trans(0, 99, 2, 633), + Trans(0, 100, 2, 633), + Trans(0, 103, 2, 633), + Trans(0, 105, 2, 633), + Trans(0, 108, 2, 633), + Trans(0, 110, 2, 633), + Trans(0, 111, 2, 633), + Trans(0, 115, 2, 633), + Trans(0, 116, 2, 633), ], k: 1, }, /* 369 - "LetStatement" */ LookaheadDFA { - prod0: 568, + prod0: 575, transitions: &[], k: 0, }, @@ -11749,28 +12093,28 @@ pub const LOOKAHEAD_AUTOMATA: &[LookaheadDFA; 668] = &[ LookaheadDFA { prod0: -1, transitions: &[ - Trans(0, 28, 1, 569), - Trans(0, 53, 2, 570), - Trans(0, 55, 2, 570), - Trans(0, 56, 2, 570), - Trans(0, 57, 2, 570), - Trans(0, 64, 2, 570), - Trans(0, 65, 2, 570), - Trans(0, 69, 2, 570), - Trans(0, 70, 2, 570), - Trans(0, 83, 2, 570), - Trans(0, 96, 2, 570), - Trans(0, 97, 2, 570), - Trans(0, 98, 2, 570), - Trans(0, 99, 2, 570), - Trans(0, 100, 2, 570), - Trans(0, 103, 2, 570), - Trans(0, 105, 2, 570), - Trans(0, 108, 2, 570), - Trans(0, 110, 2, 570), - Trans(0, 111, 2, 570), - Trans(0, 115, 2, 570), - Trans(0, 116, 2, 570), + Trans(0, 28, 1, 576), + Trans(0, 53, 2, 577), + Trans(0, 55, 2, 577), + Trans(0, 56, 2, 577), + Trans(0, 57, 2, 577), + Trans(0, 64, 2, 577), + Trans(0, 65, 2, 577), + Trans(0, 69, 2, 577), + Trans(0, 70, 2, 577), + Trans(0, 83, 2, 577), + Trans(0, 96, 2, 577), + Trans(0, 97, 2, 577), + Trans(0, 98, 2, 577), + Trans(0, 99, 2, 577), + Trans(0, 100, 2, 577), + Trans(0, 103, 2, 577), + Trans(0, 105, 2, 577), + Trans(0, 108, 2, 577), + Trans(0, 110, 2, 577), + Trans(0, 111, 2, 577), + Trans(0, 115, 2, 577), + Trans(0, 116, 2, 577), ], k: 1, }, @@ -11866,41 +12210,41 @@ pub const LOOKAHEAD_AUTOMATA: &[LookaheadDFA; 668] = &[ }, /* 386 - "ModportDeclaration" */ LookaheadDFA { - prod0: 644, + prod0: 651, transitions: &[], k: 0, }, /* 387 - "ModportGroup" */ LookaheadDFA { - prod0: 650, + prod0: 657, transitions: &[], k: 0, }, /* 388 - "ModportGroupGroup" */ LookaheadDFA { prod0: -1, - transitions: &[Trans(0, 40, 1, 651), Trans(0, 116, 2, 652)], + transitions: &[Trans(0, 40, 1, 658), Trans(0, 116, 2, 659)], k: 1, }, /* 389 - "ModportGroupList" */ LookaheadDFA { prod0: -1, transitions: &[ - Trans(0, 37, 1, 653), - Trans(0, 40, 2, 654), - Trans(0, 116, 2, 654), + Trans(0, 37, 1, 660), + Trans(0, 40, 2, 661), + Trans(0, 116, 2, 661), ], k: 1, }, /* 390 - "ModportItem" */ LookaheadDFA { - prod0: 655, + prod0: 662, transitions: &[], k: 0, }, /* 391 - "ModportList" */ LookaheadDFA { - prod0: 645, + prod0: 652, transitions: &[], k: 0, }, @@ -11915,18 +12259,18 @@ pub const LOOKAHEAD_AUTOMATA: &[LookaheadDFA; 668] = &[ Trans(1, 40, 4, -1), Trans(1, 44, 20, -1), Trans(1, 116, 5, -1), - Trans(2, 5, 3, 646), - Trans(2, 41, 3, 646), - Trans(4, 5, 3, 646), - Trans(4, 37, 3, 646), - Trans(4, 40, 3, 646), - Trans(4, 116, 3, 646), - Trans(5, 5, 3, 646), - Trans(5, 31, 3, 646), - Trans(6, 37, 3, 646), - Trans(6, 40, 3, 646), - Trans(6, 44, 19, 647), - Trans(6, 116, 3, 646), + Trans(2, 5, 3, 653), + Trans(2, 41, 3, 653), + Trans(4, 5, 3, 653), + Trans(4, 37, 3, 653), + Trans(4, 40, 3, 653), + Trans(4, 116, 3, 653), + Trans(5, 5, 3, 653), + Trans(5, 31, 3, 653), + Trans(6, 37, 3, 653), + Trans(6, 40, 3, 653), + Trans(6, 44, 19, 654), + Trans(6, 116, 3, 653), Trans(7, 5, 8, -1), Trans(7, 31, 9, -1), Trans(7, 32, 10, -1), @@ -11952,180 +12296,180 @@ pub const LOOKAHEAD_AUTOMATA: &[LookaheadDFA; 668] = &[ Trans(7, 112, 9, -1), Trans(7, 113, 18, -1), Trans(7, 114, 9, -1), - Trans(8, 31, 19, 647), - Trans(8, 32, 19, 647), - Trans(8, 37, 19, 647), - Trans(8, 40, 19, 647), - Trans(8, 44, 19, 647), - Trans(8, 49, 19, 647), - Trans(8, 50, 19, 647), - Trans(8, 51, 19, 647), - Trans(8, 58, 19, 647), - Trans(8, 62, 19, 647), - Trans(8, 66, 19, 647), - Trans(8, 67, 19, 647), - Trans(8, 68, 19, 647), - Trans(8, 72, 19, 647), - Trans(8, 73, 19, 647), - Trans(8, 75, 19, 647), - Trans(8, 79, 19, 647), - Trans(8, 82, 19, 647), - Trans(8, 85, 19, 647), - Trans(8, 106, 19, 647), - Trans(8, 109, 19, 647), - Trans(8, 112, 19, 647), - Trans(8, 113, 19, 647), - Trans(8, 114, 19, 647), - Trans(9, 5, 19, 647), - Trans(9, 116, 19, 647), - Trans(10, 5, 19, 647), - Trans(10, 37, 19, 647), - Trans(10, 40, 19, 647), - Trans(10, 44, 19, 647), - Trans(10, 116, 19, 647), - Trans(11, 5, 19, 647), - Trans(11, 41, 19, 647), - Trans(12, 5, 19, 647), - Trans(12, 31, 19, 647), - Trans(12, 37, 19, 647), - Trans(12, 40, 19, 647), - Trans(12, 44, 19, 647), - Trans(12, 49, 19, 647), - Trans(12, 50, 19, 647), - Trans(12, 51, 19, 647), - Trans(12, 58, 19, 647), - Trans(12, 62, 19, 647), - Trans(12, 66, 19, 647), - Trans(12, 67, 19, 647), - Trans(12, 68, 19, 647), - Trans(12, 72, 19, 647), - Trans(12, 73, 19, 647), - Trans(12, 75, 19, 647), - Trans(12, 79, 19, 647), - Trans(12, 82, 19, 647), - Trans(12, 85, 19, 647), - Trans(12, 106, 19, 647), - Trans(12, 109, 19, 647), - Trans(12, 112, 19, 647), - Trans(12, 113, 19, 647), - Trans(12, 114, 19, 647), - Trans(13, 0, 19, 647), - Trans(13, 5, 19, 647), - Trans(13, 31, 19, 647), - Trans(13, 32, 19, 647), - Trans(13, 37, 19, 647), - Trans(13, 40, 19, 647), - Trans(13, 44, 19, 647), - Trans(13, 49, 19, 647), - Trans(13, 50, 19, 647), - Trans(13, 51, 19, 647), - Trans(13, 58, 19, 647), - Trans(13, 61, 19, 647), - Trans(13, 62, 19, 647), - Trans(13, 66, 19, 647), - Trans(13, 67, 19, 647), - Trans(13, 68, 19, 647), - Trans(13, 72, 19, 647), - Trans(13, 73, 19, 647), - Trans(13, 74, 19, 647), - Trans(13, 75, 19, 647), - Trans(13, 79, 19, 647), - Trans(13, 80, 19, 647), - Trans(13, 82, 19, 647), - Trans(13, 85, 19, 647), - Trans(13, 86, 19, 647), - Trans(13, 90, 19, 647), - Trans(13, 92, 19, 647), - Trans(13, 93, 19, 647), - Trans(13, 106, 19, 647), - Trans(13, 109, 19, 647), - Trans(13, 112, 19, 647), - Trans(13, 113, 19, 647), - Trans(13, 114, 19, 647), - Trans(14, 5, 19, 647), - Trans(14, 40, 19, 647), - Trans(15, 5, 19, 647), - Trans(15, 40, 19, 647), - Trans(15, 42, 19, 647), - Trans(16, 5, 19, 647), - Trans(16, 6, 19, 647), - Trans(16, 7, 19, 647), - Trans(16, 8, 19, 647), - Trans(16, 9, 19, 647), - Trans(16, 10, 19, 647), - Trans(16, 11, 19, 647), - Trans(16, 18, 19, 647), - Trans(16, 24, 19, 647), - Trans(16, 25, 19, 647), - Trans(16, 26, 19, 647), - Trans(16, 27, 19, 647), - Trans(16, 39, 19, 647), - Trans(16, 40, 19, 647), - Trans(16, 42, 19, 647), - Trans(16, 53, 19, 647), - Trans(16, 54, 19, 647), - Trans(16, 55, 19, 647), - Trans(16, 56, 19, 647), - Trans(16, 57, 19, 647), - Trans(16, 64, 19, 647), - Trans(16, 65, 19, 647), - Trans(16, 69, 19, 647), - Trans(16, 70, 19, 647), - Trans(16, 72, 19, 647), - Trans(16, 78, 19, 647), - Trans(16, 83, 19, 647), - Trans(16, 84, 19, 647), - Trans(16, 87, 19, 647), - Trans(16, 89, 19, 647), - Trans(16, 96, 19, 647), - Trans(16, 97, 19, 647), - Trans(16, 98, 19, 647), - Trans(16, 99, 19, 647), - Trans(16, 100, 19, 647), - Trans(16, 105, 19, 647), - Trans(16, 107, 19, 647), - Trans(16, 109, 19, 647), - Trans(16, 110, 19, 647), - Trans(16, 111, 19, 647), - Trans(16, 115, 19, 647), - Trans(16, 116, 19, 647), - Trans(17, 5, 19, 647), - Trans(17, 115, 19, 647), - Trans(17, 116, 19, 647), - Trans(18, 5, 19, 647), - Trans(18, 42, 19, 647), - Trans(20, 5, 19, 647), - Trans(20, 31, 19, 647), - Trans(20, 32, 19, 647), - Trans(20, 37, 19, 647), - Trans(20, 40, 19, 647), - Trans(20, 44, 19, 647), - Trans(20, 49, 19, 647), - Trans(20, 50, 19, 647), - Trans(20, 51, 19, 647), - Trans(20, 58, 19, 647), - Trans(20, 62, 19, 647), - Trans(20, 66, 19, 647), - Trans(20, 67, 19, 647), - Trans(20, 68, 19, 647), - Trans(20, 72, 19, 647), - Trans(20, 73, 19, 647), - Trans(20, 75, 19, 647), - Trans(20, 79, 19, 647), - Trans(20, 82, 19, 647), - Trans(20, 85, 19, 647), - Trans(20, 106, 19, 647), - Trans(20, 109, 19, 647), - Trans(20, 112, 19, 647), - Trans(20, 113, 19, 647), - Trans(20, 114, 19, 647), + Trans(8, 31, 19, 654), + Trans(8, 32, 19, 654), + Trans(8, 37, 19, 654), + Trans(8, 40, 19, 654), + Trans(8, 44, 19, 654), + Trans(8, 49, 19, 654), + Trans(8, 50, 19, 654), + Trans(8, 51, 19, 654), + Trans(8, 58, 19, 654), + Trans(8, 62, 19, 654), + Trans(8, 66, 19, 654), + Trans(8, 67, 19, 654), + Trans(8, 68, 19, 654), + Trans(8, 72, 19, 654), + Trans(8, 73, 19, 654), + Trans(8, 75, 19, 654), + Trans(8, 79, 19, 654), + Trans(8, 82, 19, 654), + Trans(8, 85, 19, 654), + Trans(8, 106, 19, 654), + Trans(8, 109, 19, 654), + Trans(8, 112, 19, 654), + Trans(8, 113, 19, 654), + Trans(8, 114, 19, 654), + Trans(9, 5, 19, 654), + Trans(9, 116, 19, 654), + Trans(10, 5, 19, 654), + Trans(10, 37, 19, 654), + Trans(10, 40, 19, 654), + Trans(10, 44, 19, 654), + Trans(10, 116, 19, 654), + Trans(11, 5, 19, 654), + Trans(11, 41, 19, 654), + Trans(12, 5, 19, 654), + Trans(12, 31, 19, 654), + Trans(12, 37, 19, 654), + Trans(12, 40, 19, 654), + Trans(12, 44, 19, 654), + Trans(12, 49, 19, 654), + Trans(12, 50, 19, 654), + Trans(12, 51, 19, 654), + Trans(12, 58, 19, 654), + Trans(12, 62, 19, 654), + Trans(12, 66, 19, 654), + Trans(12, 67, 19, 654), + Trans(12, 68, 19, 654), + Trans(12, 72, 19, 654), + Trans(12, 73, 19, 654), + Trans(12, 75, 19, 654), + Trans(12, 79, 19, 654), + Trans(12, 82, 19, 654), + Trans(12, 85, 19, 654), + Trans(12, 106, 19, 654), + Trans(12, 109, 19, 654), + Trans(12, 112, 19, 654), + Trans(12, 113, 19, 654), + Trans(12, 114, 19, 654), + Trans(13, 0, 19, 654), + Trans(13, 5, 19, 654), + Trans(13, 31, 19, 654), + Trans(13, 32, 19, 654), + Trans(13, 37, 19, 654), + Trans(13, 40, 19, 654), + Trans(13, 44, 19, 654), + Trans(13, 49, 19, 654), + Trans(13, 50, 19, 654), + Trans(13, 51, 19, 654), + Trans(13, 58, 19, 654), + Trans(13, 61, 19, 654), + Trans(13, 62, 19, 654), + Trans(13, 66, 19, 654), + Trans(13, 67, 19, 654), + Trans(13, 68, 19, 654), + Trans(13, 72, 19, 654), + Trans(13, 73, 19, 654), + Trans(13, 74, 19, 654), + Trans(13, 75, 19, 654), + Trans(13, 79, 19, 654), + Trans(13, 80, 19, 654), + Trans(13, 82, 19, 654), + Trans(13, 85, 19, 654), + Trans(13, 86, 19, 654), + Trans(13, 90, 19, 654), + Trans(13, 92, 19, 654), + Trans(13, 93, 19, 654), + Trans(13, 106, 19, 654), + Trans(13, 109, 19, 654), + Trans(13, 112, 19, 654), + Trans(13, 113, 19, 654), + Trans(13, 114, 19, 654), + Trans(14, 5, 19, 654), + Trans(14, 40, 19, 654), + Trans(15, 5, 19, 654), + Trans(15, 40, 19, 654), + Trans(15, 42, 19, 654), + Trans(16, 5, 19, 654), + Trans(16, 6, 19, 654), + Trans(16, 7, 19, 654), + Trans(16, 8, 19, 654), + Trans(16, 9, 19, 654), + Trans(16, 10, 19, 654), + Trans(16, 11, 19, 654), + Trans(16, 18, 19, 654), + Trans(16, 24, 19, 654), + Trans(16, 25, 19, 654), + Trans(16, 26, 19, 654), + Trans(16, 27, 19, 654), + Trans(16, 39, 19, 654), + Trans(16, 40, 19, 654), + Trans(16, 42, 19, 654), + Trans(16, 53, 19, 654), + Trans(16, 54, 19, 654), + Trans(16, 55, 19, 654), + Trans(16, 56, 19, 654), + Trans(16, 57, 19, 654), + Trans(16, 64, 19, 654), + Trans(16, 65, 19, 654), + Trans(16, 69, 19, 654), + Trans(16, 70, 19, 654), + Trans(16, 72, 19, 654), + Trans(16, 78, 19, 654), + Trans(16, 83, 19, 654), + Trans(16, 84, 19, 654), + Trans(16, 87, 19, 654), + Trans(16, 89, 19, 654), + Trans(16, 96, 19, 654), + Trans(16, 97, 19, 654), + Trans(16, 98, 19, 654), + Trans(16, 99, 19, 654), + Trans(16, 100, 19, 654), + Trans(16, 105, 19, 654), + Trans(16, 107, 19, 654), + Trans(16, 109, 19, 654), + Trans(16, 110, 19, 654), + Trans(16, 111, 19, 654), + Trans(16, 115, 19, 654), + Trans(16, 116, 19, 654), + Trans(17, 5, 19, 654), + Trans(17, 115, 19, 654), + Trans(17, 116, 19, 654), + Trans(18, 5, 19, 654), + Trans(18, 42, 19, 654), + Trans(20, 5, 19, 654), + Trans(20, 31, 19, 654), + Trans(20, 32, 19, 654), + Trans(20, 37, 19, 654), + Trans(20, 40, 19, 654), + Trans(20, 44, 19, 654), + Trans(20, 49, 19, 654), + Trans(20, 50, 19, 654), + Trans(20, 51, 19, 654), + Trans(20, 58, 19, 654), + Trans(20, 62, 19, 654), + Trans(20, 66, 19, 654), + Trans(20, 67, 19, 654), + Trans(20, 68, 19, 654), + Trans(20, 72, 19, 654), + Trans(20, 73, 19, 654), + Trans(20, 75, 19, 654), + Trans(20, 79, 19, 654), + Trans(20, 82, 19, 654), + Trans(20, 85, 19, 654), + Trans(20, 106, 19, 654), + Trans(20, 109, 19, 654), + Trans(20, 112, 19, 654), + Trans(20, 113, 19, 654), + Trans(20, 114, 19, 654), ], k: 3, }, /* 393 - "ModportListOpt" */ LookaheadDFA { prod0: -1, - transitions: &[Trans(0, 32, 1, 648), Trans(0, 44, 2, 649)], + transitions: &[Trans(0, 32, 1, 655), Trans(0, 44, 2, 656)], k: 1, }, /* 394 - "ModportTerm" */ @@ -12148,7 +12492,7 @@ pub const LOOKAHEAD_AUTOMATA: &[LookaheadDFA; 668] = &[ }, /* 397 - "ModuleDeclaration" */ LookaheadDFA { - prod0: 816, + prod0: 823, transitions: &[], k: 0, }, @@ -12156,46 +12500,46 @@ pub const LOOKAHEAD_AUTOMATA: &[LookaheadDFA; 668] = &[ LookaheadDFA { prod0: -1, transitions: &[ - Trans(0, 31, 1, 817), - Trans(0, 37, 1, 817), - Trans(0, 40, 1, 817), - Trans(0, 44, 2, 818), - Trans(0, 49, 1, 817), - Trans(0, 50, 1, 817), - Trans(0, 51, 1, 817), - Trans(0, 58, 1, 817), - Trans(0, 62, 1, 817), - Trans(0, 66, 1, 817), - Trans(0, 67, 1, 817), - Trans(0, 68, 1, 817), - Trans(0, 72, 1, 817), - Trans(0, 73, 1, 817), - Trans(0, 75, 1, 817), - Trans(0, 79, 1, 817), - Trans(0, 82, 1, 817), - Trans(0, 106, 1, 817), - Trans(0, 109, 1, 817), - Trans(0, 112, 1, 817), - Trans(0, 113, 1, 817), - Trans(0, 114, 1, 817), + Trans(0, 31, 1, 824), + Trans(0, 37, 1, 824), + Trans(0, 40, 1, 824), + Trans(0, 44, 2, 825), + Trans(0, 49, 1, 824), + Trans(0, 50, 1, 824), + Trans(0, 51, 1, 824), + Trans(0, 58, 1, 824), + Trans(0, 62, 1, 824), + Trans(0, 66, 1, 824), + Trans(0, 67, 1, 824), + Trans(0, 68, 1, 824), + Trans(0, 72, 1, 824), + Trans(0, 73, 1, 824), + Trans(0, 75, 1, 824), + Trans(0, 79, 1, 824), + Trans(0, 82, 1, 824), + Trans(0, 106, 1, 824), + Trans(0, 109, 1, 824), + Trans(0, 112, 1, 824), + Trans(0, 113, 1, 824), + Trans(0, 114, 1, 824), ], k: 1, }, /* 399 - "ModuleDeclarationOpt" */ LookaheadDFA { prod0: -1, - transitions: &[Trans(0, 86, 2, 828), Trans(0, 93, 1, 827)], + transitions: &[Trans(0, 86, 2, 835), Trans(0, 93, 1, 834)], k: 1, }, /* 400 - "ModuleDeclarationOpt0" */ LookaheadDFA { prod0: -1, transitions: &[ - Trans(0, 29, 1, 825), - Trans(0, 37, 2, 826), - Trans(0, 40, 2, 826), - Trans(0, 42, 2, 826), - Trans(0, 67, 2, 826), + Trans(0, 29, 1, 832), + Trans(0, 37, 2, 833), + Trans(0, 40, 2, 833), + Trans(0, 42, 2, 833), + Trans(0, 67, 2, 833), ], k: 1, }, @@ -12203,10 +12547,10 @@ pub const LOOKAHEAD_AUTOMATA: &[LookaheadDFA; 668] = &[ LookaheadDFA { prod0: -1, transitions: &[ - Trans(0, 37, 2, 824), - Trans(0, 40, 2, 824), - Trans(0, 42, 2, 824), - Trans(0, 67, 1, 823), + Trans(0, 37, 2, 831), + Trans(0, 40, 2, 831), + Trans(0, 42, 2, 831), + Trans(0, 67, 1, 830), ], k: 1, }, @@ -12214,21 +12558,21 @@ pub const LOOKAHEAD_AUTOMATA: &[LookaheadDFA; 668] = &[ LookaheadDFA { prod0: -1, transitions: &[ - Trans(0, 37, 1, 821), - Trans(0, 40, 2, 822), - Trans(0, 42, 2, 822), + Trans(0, 37, 1, 828), + Trans(0, 40, 2, 829), + Trans(0, 42, 2, 829), ], k: 1, }, /* 403 - "ModuleDeclarationOpt3" */ LookaheadDFA { prod0: -1, - transitions: &[Trans(0, 40, 2, 820), Trans(0, 42, 1, 819)], + transitions: &[Trans(0, 40, 2, 827), Trans(0, 42, 1, 826)], k: 1, }, /* 404 - "ModuleGroup" */ LookaheadDFA { - prod0: 829, + prod0: 836, transitions: &[], k: 0, }, @@ -12236,26 +12580,26 @@ pub const LOOKAHEAD_AUTOMATA: &[LookaheadDFA; 668] = &[ LookaheadDFA { prod0: -1, transitions: &[ - Trans(0, 31, 2, 833), - Trans(0, 40, 1, 830), - Trans(0, 49, 2, 833), - Trans(0, 50, 2, 833), - Trans(0, 51, 2, 833), - Trans(0, 58, 2, 833), - Trans(0, 62, 2, 833), - Trans(0, 66, 2, 833), - Trans(0, 67, 2, 833), - Trans(0, 68, 2, 833), - Trans(0, 72, 2, 833), - Trans(0, 73, 2, 833), - Trans(0, 75, 2, 833), - Trans(0, 79, 2, 833), - Trans(0, 82, 2, 833), - Trans(0, 106, 2, 833), - Trans(0, 109, 2, 833), - Trans(0, 112, 2, 833), - Trans(0, 113, 2, 833), - Trans(0, 114, 2, 833), + Trans(0, 31, 2, 840), + Trans(0, 40, 1, 837), + Trans(0, 49, 2, 840), + Trans(0, 50, 2, 840), + Trans(0, 51, 2, 840), + Trans(0, 58, 2, 840), + Trans(0, 62, 2, 840), + Trans(0, 66, 2, 840), + Trans(0, 67, 2, 840), + Trans(0, 68, 2, 840), + Trans(0, 72, 2, 840), + Trans(0, 73, 2, 840), + Trans(0, 75, 2, 840), + Trans(0, 79, 2, 840), + Trans(0, 82, 2, 840), + Trans(0, 106, 2, 840), + Trans(0, 109, 2, 840), + Trans(0, 112, 2, 840), + Trans(0, 113, 2, 840), + Trans(0, 114, 2, 840), ], k: 1, }, @@ -12263,28 +12607,28 @@ pub const LOOKAHEAD_AUTOMATA: &[LookaheadDFA; 668] = &[ LookaheadDFA { prod0: -1, transitions: &[ - Trans(0, 31, 1, 831), - Trans(0, 37, 1, 831), - Trans(0, 40, 1, 831), - Trans(0, 44, 2, 832), - Trans(0, 49, 1, 831), - Trans(0, 50, 1, 831), - Trans(0, 51, 1, 831), - Trans(0, 58, 1, 831), - Trans(0, 62, 1, 831), - Trans(0, 66, 1, 831), - Trans(0, 67, 1, 831), - Trans(0, 68, 1, 831), - Trans(0, 72, 1, 831), - Trans(0, 73, 1, 831), - Trans(0, 75, 1, 831), - Trans(0, 79, 1, 831), - Trans(0, 82, 1, 831), - Trans(0, 106, 1, 831), - Trans(0, 109, 1, 831), - Trans(0, 112, 1, 831), - Trans(0, 113, 1, 831), - Trans(0, 114, 1, 831), + Trans(0, 31, 1, 838), + Trans(0, 37, 1, 838), + Trans(0, 40, 1, 838), + Trans(0, 44, 2, 839), + Trans(0, 49, 1, 838), + Trans(0, 50, 1, 838), + Trans(0, 51, 1, 838), + Trans(0, 58, 1, 838), + Trans(0, 62, 1, 838), + Trans(0, 66, 1, 838), + Trans(0, 67, 1, 838), + Trans(0, 68, 1, 838), + Trans(0, 72, 1, 838), + Trans(0, 73, 1, 838), + Trans(0, 75, 1, 838), + Trans(0, 79, 1, 838), + Trans(0, 82, 1, 838), + Trans(0, 106, 1, 838), + Trans(0, 109, 1, 838), + Trans(0, 112, 1, 838), + Trans(0, 113, 1, 838), + Trans(0, 114, 1, 838), ], k: 1, }, @@ -12292,33 +12636,33 @@ pub const LOOKAHEAD_AUTOMATA: &[LookaheadDFA; 668] = &[ LookaheadDFA { prod0: -1, transitions: &[ - Trans(0, 31, 2, 835), - Trans(0, 37, 1, 834), - Trans(0, 40, 2, 835), - Trans(0, 49, 2, 835), - Trans(0, 50, 2, 835), - Trans(0, 51, 2, 835), - Trans(0, 58, 2, 835), - Trans(0, 62, 2, 835), - Trans(0, 66, 2, 835), - Trans(0, 67, 2, 835), - Trans(0, 68, 2, 835), - Trans(0, 72, 2, 835), - Trans(0, 73, 2, 835), - Trans(0, 75, 2, 835), - Trans(0, 79, 2, 835), - Trans(0, 82, 2, 835), - Trans(0, 106, 2, 835), - Trans(0, 109, 2, 835), - Trans(0, 112, 2, 835), - Trans(0, 113, 2, 835), - Trans(0, 114, 2, 835), + Trans(0, 31, 2, 842), + Trans(0, 37, 1, 841), + Trans(0, 40, 2, 842), + Trans(0, 49, 2, 842), + Trans(0, 50, 2, 842), + Trans(0, 51, 2, 842), + Trans(0, 58, 2, 842), + Trans(0, 62, 2, 842), + Trans(0, 66, 2, 842), + Trans(0, 67, 2, 842), + Trans(0, 68, 2, 842), + Trans(0, 72, 2, 842), + Trans(0, 73, 2, 842), + Trans(0, 75, 2, 842), + Trans(0, 79, 2, 842), + Trans(0, 82, 2, 842), + Trans(0, 106, 2, 842), + Trans(0, 109, 2, 842), + Trans(0, 112, 2, 842), + Trans(0, 113, 2, 842), + Trans(0, 114, 2, 842), ], k: 1, }, /* 408 - "ModuleItem" */ LookaheadDFA { - prod0: 836, + prod0: 843, transitions: &[], k: 0, }, @@ -12612,7 +12956,7 @@ pub const LOOKAHEAD_AUTOMATA: &[LookaheadDFA; 668] = &[ }, /* 456 - "PackageDeclaration" */ LookaheadDFA { - prod0: 897, + prod0: 904, transitions: &[], k: 0, }, @@ -12620,36 +12964,36 @@ pub const LOOKAHEAD_AUTOMATA: &[LookaheadDFA; 668] = &[ LookaheadDFA { prod0: -1, transitions: &[ - Trans(0, 37, 1, 898), - Trans(0, 40, 1, 898), - Trans(0, 44, 2, 899), - Trans(0, 58, 1, 898), - Trans(0, 62, 1, 898), - Trans(0, 63, 1, 898), - Trans(0, 68, 1, 898), - Trans(0, 73, 1, 898), - Trans(0, 106, 1, 898), - Trans(0, 109, 1, 898), - Trans(0, 112, 1, 898), - Trans(0, 114, 1, 898), + Trans(0, 37, 1, 905), + Trans(0, 40, 1, 905), + Trans(0, 44, 2, 906), + Trans(0, 58, 1, 905), + Trans(0, 62, 1, 905), + Trans(0, 63, 1, 905), + Trans(0, 68, 1, 905), + Trans(0, 73, 1, 905), + Trans(0, 106, 1, 905), + Trans(0, 109, 1, 905), + Trans(0, 112, 1, 905), + Trans(0, 114, 1, 905), ], k: 1, }, /* 458 - "PackageDeclarationOpt" */ LookaheadDFA { prod0: -1, - transitions: &[Trans(0, 90, 2, 903), Trans(0, 93, 1, 902)], + transitions: &[Trans(0, 90, 2, 910), Trans(0, 93, 1, 909)], k: 1, }, /* 459 - "PackageDeclarationOpt0" */ LookaheadDFA { prod0: -1, - transitions: &[Trans(0, 29, 1, 900), Trans(0, 40, 2, 901)], + transitions: &[Trans(0, 29, 1, 907), Trans(0, 40, 2, 908)], k: 1, }, /* 460 - "PackageGroup" */ LookaheadDFA { - prod0: 904, + prod0: 911, transitions: &[], k: 0, }, @@ -12657,16 +13001,16 @@ pub const LOOKAHEAD_AUTOMATA: &[LookaheadDFA; 668] = &[ LookaheadDFA { prod0: -1, transitions: &[ - Trans(0, 40, 1, 905), - Trans(0, 58, 2, 908), - Trans(0, 62, 2, 908), - Trans(0, 63, 2, 908), - Trans(0, 68, 2, 908), - Trans(0, 73, 2, 908), - Trans(0, 106, 2, 908), - Trans(0, 109, 2, 908), - Trans(0, 112, 2, 908), - Trans(0, 114, 2, 908), + Trans(0, 40, 1, 912), + Trans(0, 58, 2, 915), + Trans(0, 62, 2, 915), + Trans(0, 63, 2, 915), + Trans(0, 68, 2, 915), + Trans(0, 73, 2, 915), + Trans(0, 106, 2, 915), + Trans(0, 109, 2, 915), + Trans(0, 112, 2, 915), + Trans(0, 114, 2, 915), ], k: 1, }, @@ -12674,18 +13018,18 @@ pub const LOOKAHEAD_AUTOMATA: &[LookaheadDFA; 668] = &[ LookaheadDFA { prod0: -1, transitions: &[ - Trans(0, 37, 1, 906), - Trans(0, 40, 1, 906), - Trans(0, 44, 2, 907), - Trans(0, 58, 1, 906), - Trans(0, 62, 1, 906), - Trans(0, 63, 1, 906), - Trans(0, 68, 1, 906), - Trans(0, 73, 1, 906), - Trans(0, 106, 1, 906), - Trans(0, 109, 1, 906), - Trans(0, 112, 1, 906), - Trans(0, 114, 1, 906), + Trans(0, 37, 1, 913), + Trans(0, 40, 1, 913), + Trans(0, 44, 2, 914), + Trans(0, 58, 1, 913), + Trans(0, 62, 1, 913), + Trans(0, 63, 1, 913), + Trans(0, 68, 1, 913), + Trans(0, 73, 1, 913), + Trans(0, 106, 1, 913), + Trans(0, 109, 1, 913), + Trans(0, 112, 1, 913), + Trans(0, 114, 1, 913), ], k: 1, }, @@ -12693,17 +13037,17 @@ pub const LOOKAHEAD_AUTOMATA: &[LookaheadDFA; 668] = &[ LookaheadDFA { prod0: -1, transitions: &[ - Trans(0, 37, 1, 909), - Trans(0, 40, 2, 910), - Trans(0, 58, 2, 910), - Trans(0, 62, 2, 910), - Trans(0, 63, 2, 910), - Trans(0, 68, 2, 910), - Trans(0, 73, 2, 910), - Trans(0, 106, 2, 910), - Trans(0, 109, 2, 910), - Trans(0, 112, 2, 910), - Trans(0, 114, 2, 910), + Trans(0, 37, 1, 916), + Trans(0, 40, 2, 917), + Trans(0, 58, 2, 917), + Trans(0, 62, 2, 917), + Trans(0, 63, 2, 917), + Trans(0, 68, 2, 917), + Trans(0, 73, 2, 917), + Trans(0, 106, 2, 917), + Trans(0, 109, 2, 917), + Trans(0, 112, 2, 917), + Trans(0, 114, 2, 917), ], k: 1, }, @@ -12711,15 +13055,15 @@ pub const LOOKAHEAD_AUTOMATA: &[LookaheadDFA; 668] = &[ LookaheadDFA { prod0: -1, transitions: &[ - Trans(0, 58, 2, 912), - Trans(0, 62, 4, 914), - Trans(0, 63, 8, 918), - Trans(0, 68, 6, 916), - Trans(0, 73, 7, 917), - Trans(0, 106, 5, 915), - Trans(0, 109, 3, 913), - Trans(0, 112, 5, 915), - Trans(0, 114, 1, 911), + Trans(0, 58, 2, 919), + Trans(0, 62, 4, 921), + Trans(0, 63, 8, 925), + Trans(0, 68, 6, 923), + Trans(0, 73, 7, 924), + Trans(0, 106, 5, 922), + Trans(0, 109, 3, 920), + Trans(0, 112, 5, 922), + Trans(0, 114, 1, 918), ], k: 1, }, @@ -12773,35 +13117,35 @@ pub const LOOKAHEAD_AUTOMATA: &[LookaheadDFA; 668] = &[ }, /* 473 - "PortDeclaration" */ LookaheadDFA { - prod0: 768, + prod0: 775, transitions: &[], k: 0, }, /* 474 - "PortDeclarationGroup" */ LookaheadDFA { - prod0: 776, + prod0: 783, transitions: &[], k: 0, }, /* 475 - "PortDeclarationGroupGroup" */ LookaheadDFA { prod0: -1, - transitions: &[Trans(0, 40, 1, 777), Trans(0, 116, 2, 778)], + transitions: &[Trans(0, 40, 1, 784), Trans(0, 116, 2, 785)], k: 1, }, /* 476 - "PortDeclarationGroupList" */ LookaheadDFA { prod0: -1, transitions: &[ - Trans(0, 37, 1, 779), - Trans(0, 40, 2, 780), - Trans(0, 116, 2, 780), + Trans(0, 37, 1, 786), + Trans(0, 40, 2, 787), + Trans(0, 116, 2, 787), ], k: 1, }, /* 477 - "PortDeclarationItem" */ LookaheadDFA { - prod0: 781, + prod0: 788, transitions: &[], k: 0, }, @@ -12809,20 +13153,20 @@ pub const LOOKAHEAD_AUTOMATA: &[LookaheadDFA; 668] = &[ LookaheadDFA { prod0: -1, transitions: &[ - Trans(0, 28, 2, 783), - Trans(0, 73, 1, 782), - Trans(0, 76, 1, 782), - Trans(0, 77, 1, 782), - Trans(0, 80, 2, 783), - Trans(0, 85, 1, 782), - Trans(0, 88, 1, 782), - Trans(0, 94, 1, 782), + Trans(0, 28, 2, 790), + Trans(0, 73, 1, 789), + Trans(0, 76, 1, 789), + Trans(0, 77, 1, 789), + Trans(0, 80, 2, 790), + Trans(0, 85, 1, 789), + Trans(0, 88, 1, 789), + Trans(0, 94, 1, 789), ], k: 1, }, /* 479 - "PortDeclarationList" */ LookaheadDFA { - prod0: 771, + prod0: 778, transitions: &[], k: 0, }, @@ -12839,19 +13183,19 @@ pub const LOOKAHEAD_AUTOMATA: &[LookaheadDFA; 668] = &[ Trans(1, 44, 16, -1), Trans(1, 46, 17, -1), Trans(1, 116, 5, -1), - Trans(2, 5, 3, 772), - Trans(2, 41, 3, 772), - Trans(4, 5, 3, 772), - Trans(4, 37, 3, 772), - Trans(4, 40, 3, 772), - Trans(4, 116, 3, 772), - Trans(5, 5, 3, 772), - Trans(5, 31, 3, 772), - Trans(6, 37, 3, 772), - Trans(6, 40, 3, 772), - Trans(6, 44, 13, 773), - Trans(6, 46, 13, 773), - Trans(6, 116, 3, 772), + Trans(2, 5, 3, 779), + Trans(2, 41, 3, 779), + Trans(4, 5, 3, 779), + Trans(4, 37, 3, 779), + Trans(4, 40, 3, 779), + Trans(4, 116, 3, 779), + Trans(5, 5, 3, 779), + Trans(5, 31, 3, 779), + Trans(6, 37, 3, 779), + Trans(6, 40, 3, 779), + Trans(6, 44, 13, 780), + Trans(6, 46, 13, 780), + Trans(6, 116, 3, 779), Trans(7, 5, 14, -1), Trans(7, 32, 15, -1), Trans(7, 44, 16, -1), @@ -12860,91 +13204,91 @@ pub const LOOKAHEAD_AUTOMATA: &[LookaheadDFA; 668] = &[ Trans(8, 13, 10, -1), Trans(8, 40, 11, -1), Trans(8, 47, 12, -1), - Trans(9, 13, 13, 773), - Trans(9, 40, 13, 773), - Trans(9, 47, 13, 773), - Trans(10, 5, 13, 773), - Trans(10, 53, 13, 773), - Trans(10, 55, 13, 773), - Trans(10, 56, 13, 773), - Trans(10, 57, 13, 773), - Trans(10, 64, 13, 773), - Trans(10, 65, 13, 773), - Trans(10, 69, 13, 773), - Trans(10, 70, 13, 773), - Trans(10, 83, 13, 773), - Trans(10, 96, 13, 773), - Trans(10, 97, 13, 773), - Trans(10, 98, 13, 773), - Trans(10, 99, 13, 773), - Trans(10, 100, 13, 773), - Trans(10, 103, 13, 773), - Trans(10, 105, 13, 773), - Trans(10, 108, 13, 773), - Trans(10, 110, 13, 773), - Trans(10, 111, 13, 773), - Trans(10, 115, 13, 773), - Trans(10, 116, 13, 773), - Trans(11, 5, 13, 773), - Trans(11, 31, 13, 773), - Trans(11, 37, 13, 773), - Trans(11, 40, 13, 773), - Trans(11, 44, 13, 773), - Trans(11, 49, 13, 773), - Trans(11, 50, 13, 773), - Trans(11, 51, 13, 773), - Trans(11, 54, 13, 773), - Trans(11, 58, 13, 773), - Trans(11, 62, 13, 773), - Trans(11, 66, 13, 773), - Trans(11, 67, 13, 773), - Trans(11, 68, 13, 773), - Trans(11, 71, 13, 773), - Trans(11, 72, 13, 773), - Trans(11, 73, 13, 773), - Trans(11, 75, 13, 773), - Trans(11, 79, 13, 773), - Trans(11, 82, 13, 773), - Trans(11, 101, 13, 773), - Trans(11, 102, 13, 773), - Trans(11, 106, 13, 773), - Trans(11, 107, 13, 773), - Trans(11, 109, 13, 773), - Trans(11, 112, 13, 773), - Trans(11, 113, 13, 773), - Trans(11, 114, 13, 773), - Trans(11, 115, 13, 773), - Trans(11, 116, 13, 773), - Trans(12, 0, 13, 773), - Trans(12, 5, 13, 773), - Trans(12, 37, 13, 773), - Trans(12, 40, 13, 773), - Trans(12, 44, 13, 773), - Trans(12, 61, 13, 773), - Trans(12, 73, 13, 773), - Trans(12, 74, 13, 773), - Trans(12, 80, 13, 773), - Trans(12, 86, 13, 773), - Trans(12, 90, 13, 773), - Trans(12, 92, 13, 773), - Trans(12, 93, 13, 773), - Trans(14, 32, 13, 773), - Trans(14, 44, 13, 773), - Trans(14, 46, 13, 773), - Trans(15, 5, 13, 773), - Trans(15, 37, 13, 773), - Trans(15, 40, 13, 773), - Trans(15, 44, 13, 773), - Trans(15, 46, 13, 773), - Trans(15, 116, 13, 773), - Trans(16, 5, 13, 773), - Trans(16, 32, 13, 773), - Trans(16, 44, 13, 773), - Trans(16, 46, 13, 773), - Trans(17, 5, 13, 773), - Trans(17, 13, 13, 773), - Trans(17, 40, 13, 773), - Trans(17, 47, 13, 773), + Trans(9, 13, 13, 780), + Trans(9, 40, 13, 780), + Trans(9, 47, 13, 780), + Trans(10, 5, 13, 780), + Trans(10, 53, 13, 780), + Trans(10, 55, 13, 780), + Trans(10, 56, 13, 780), + Trans(10, 57, 13, 780), + Trans(10, 64, 13, 780), + Trans(10, 65, 13, 780), + Trans(10, 69, 13, 780), + Trans(10, 70, 13, 780), + Trans(10, 83, 13, 780), + Trans(10, 96, 13, 780), + Trans(10, 97, 13, 780), + Trans(10, 98, 13, 780), + Trans(10, 99, 13, 780), + Trans(10, 100, 13, 780), + Trans(10, 103, 13, 780), + Trans(10, 105, 13, 780), + Trans(10, 108, 13, 780), + Trans(10, 110, 13, 780), + Trans(10, 111, 13, 780), + Trans(10, 115, 13, 780), + Trans(10, 116, 13, 780), + Trans(11, 5, 13, 780), + Trans(11, 31, 13, 780), + Trans(11, 37, 13, 780), + Trans(11, 40, 13, 780), + Trans(11, 44, 13, 780), + Trans(11, 49, 13, 780), + Trans(11, 50, 13, 780), + Trans(11, 51, 13, 780), + Trans(11, 54, 13, 780), + Trans(11, 58, 13, 780), + Trans(11, 62, 13, 780), + Trans(11, 66, 13, 780), + Trans(11, 67, 13, 780), + Trans(11, 68, 13, 780), + Trans(11, 71, 13, 780), + Trans(11, 72, 13, 780), + Trans(11, 73, 13, 780), + Trans(11, 75, 13, 780), + Trans(11, 79, 13, 780), + Trans(11, 82, 13, 780), + Trans(11, 101, 13, 780), + Trans(11, 102, 13, 780), + Trans(11, 106, 13, 780), + Trans(11, 107, 13, 780), + Trans(11, 109, 13, 780), + Trans(11, 112, 13, 780), + Trans(11, 113, 13, 780), + Trans(11, 114, 13, 780), + Trans(11, 115, 13, 780), + Trans(11, 116, 13, 780), + Trans(12, 0, 13, 780), + Trans(12, 5, 13, 780), + Trans(12, 37, 13, 780), + Trans(12, 40, 13, 780), + Trans(12, 44, 13, 780), + Trans(12, 61, 13, 780), + Trans(12, 73, 13, 780), + Trans(12, 74, 13, 780), + Trans(12, 80, 13, 780), + Trans(12, 86, 13, 780), + Trans(12, 90, 13, 780), + Trans(12, 92, 13, 780), + Trans(12, 93, 13, 780), + Trans(14, 32, 13, 780), + Trans(14, 44, 13, 780), + Trans(14, 46, 13, 780), + Trans(15, 5, 13, 780), + Trans(15, 37, 13, 780), + Trans(15, 40, 13, 780), + Trans(15, 44, 13, 780), + Trans(15, 46, 13, 780), + Trans(15, 116, 13, 780), + Trans(16, 5, 13, 780), + Trans(16, 32, 13, 780), + Trans(16, 44, 13, 780), + Trans(16, 46, 13, 780), + Trans(17, 5, 13, 780), + Trans(17, 13, 13, 780), + Trans(17, 40, 13, 780), + Trans(17, 47, 13, 780), ], k: 3, }, @@ -12952,9 +13296,9 @@ pub const LOOKAHEAD_AUTOMATA: &[LookaheadDFA; 668] = &[ LookaheadDFA { prod0: -1, transitions: &[ - Trans(0, 32, 1, 774), - Trans(0, 44, 2, 775), - Trans(0, 46, 2, 775), + Trans(0, 32, 1, 781), + Trans(0, 44, 2, 782), + Trans(0, 46, 2, 782), ], k: 1, }, @@ -12962,39 +13306,39 @@ pub const LOOKAHEAD_AUTOMATA: &[LookaheadDFA; 668] = &[ LookaheadDFA { prod0: -1, transitions: &[ - Trans(0, 37, 1, 769), - Trans(0, 40, 1, 769), - Trans(0, 46, 2, 770), - Trans(0, 116, 1, 769), + Trans(0, 37, 1, 776), + Trans(0, 40, 1, 776), + Trans(0, 46, 2, 777), + Trans(0, 116, 1, 776), ], k: 1, }, /* 483 - "PortTypeAbstract" */ LookaheadDFA { - prod0: 787, + prod0: 794, transitions: &[], k: 0, }, /* 484 - "PortTypeAbstractOpt" */ LookaheadDFA { prod0: -1, - transitions: &[Trans(0, 28, 1, 790), Trans(0, 80, 2, 791)], + transitions: &[Trans(0, 28, 1, 797), Trans(0, 80, 2, 798)], k: 1, }, /* 485 - "PortTypeAbstractOpt0" */ LookaheadDFA { prod0: -1, transitions: &[ - Trans(0, 32, 2, 789), - Trans(0, 41, 1, 788), - Trans(0, 44, 2, 789), - Trans(0, 46, 2, 789), + Trans(0, 32, 2, 796), + Trans(0, 41, 1, 795), + Trans(0, 44, 2, 796), + Trans(0, 46, 2, 796), ], k: 1, }, /* 486 - "PortTypeConcrete" */ LookaheadDFA { - prod0: 784, + prod0: 791, transitions: &[], k: 0, }, @@ -13002,28 +13346,28 @@ pub const LOOKAHEAD_AUTOMATA: &[LookaheadDFA; 668] = &[ LookaheadDFA { prod0: -1, transitions: &[ - Trans(0, 28, 1, 785), - Trans(0, 53, 2, 786), - Trans(0, 55, 2, 786), - Trans(0, 56, 2, 786), - Trans(0, 57, 2, 786), - Trans(0, 64, 2, 786), - Trans(0, 65, 2, 786), - Trans(0, 69, 2, 786), - Trans(0, 70, 2, 786), - Trans(0, 83, 2, 786), - Trans(0, 96, 2, 786), - Trans(0, 97, 2, 786), - Trans(0, 98, 2, 786), - Trans(0, 99, 2, 786), - Trans(0, 100, 2, 786), - Trans(0, 103, 2, 786), - Trans(0, 105, 2, 786), - Trans(0, 108, 2, 786), - Trans(0, 110, 2, 786), - Trans(0, 111, 2, 786), - Trans(0, 115, 2, 786), - Trans(0, 116, 2, 786), + Trans(0, 28, 1, 792), + Trans(0, 53, 2, 793), + Trans(0, 55, 2, 793), + Trans(0, 56, 2, 793), + Trans(0, 57, 2, 793), + Trans(0, 64, 2, 793), + Trans(0, 65, 2, 793), + Trans(0, 69, 2, 793), + Trans(0, 70, 2, 793), + Trans(0, 83, 2, 793), + Trans(0, 96, 2, 793), + Trans(0, 97, 2, 793), + Trans(0, 98, 2, 793), + Trans(0, 99, 2, 793), + Trans(0, 100, 2, 793), + Trans(0, 103, 2, 793), + Trans(0, 105, 2, 793), + Trans(0, 108, 2, 793), + Trans(0, 110, 2, 793), + Trans(0, 111, 2, 793), + Trans(0, 115, 2, 793), + Trans(0, 116, 2, 793), ], k: 1, }, @@ -13035,30 +13379,30 @@ pub const LOOKAHEAD_AUTOMATA: &[LookaheadDFA; 668] = &[ }, /* 489 - "ProtoModuleDeclaration" */ LookaheadDFA { - prod0: 919, + prod0: 926, transitions: &[], k: 0, }, /* 490 - "ProtoModuleDeclarationOpt" */ LookaheadDFA { prod0: -1, - transitions: &[Trans(0, 92, 2, 925), Trans(0, 93, 1, 924)], + transitions: &[Trans(0, 92, 2, 932), Trans(0, 93, 1, 931)], k: 1, }, /* 491 - "ProtoModuleDeclarationOpt0" */ LookaheadDFA { prod0: -1, transitions: &[ - Trans(0, 37, 1, 922), - Trans(0, 42, 2, 923), - Trans(0, 47, 2, 923), + Trans(0, 37, 1, 929), + Trans(0, 42, 2, 930), + Trans(0, 47, 2, 930), ], k: 1, }, /* 492 - "ProtoModuleDeclarationOpt1" */ LookaheadDFA { prod0: -1, - transitions: &[Trans(0, 42, 1, 920), Trans(0, 47, 2, 921)], + transitions: &[Trans(0, 42, 1, 927), Trans(0, 47, 2, 928)], k: 1, }, /* 493 - "ProtoTerm" */ @@ -14190,7 +14534,7 @@ pub const LOOKAHEAD_AUTOMATA: &[LookaheadDFA; 668] = &[ }, /* 543 - "ReturnStatement" */ LookaheadDFA { - prod0: 587, + prod0: 594, transitions: &[], k: 0, }, @@ -15469,6 +15813,7 @@ pub const LOOKAHEAD_AUTOMATA: &[LookaheadDFA; 668] = &[ Trans(34, 68, 27, 358), Trans(34, 69, 27, 358), Trans(34, 70, 27, 358), + Trans(34, 71, 27, 358), Trans(34, 72, 27, 358), Trans(34, 73, 27, 358), Trans(34, 74, 27, 358), @@ -15491,6 +15836,8 @@ pub const LOOKAHEAD_AUTOMATA: &[LookaheadDFA; 668] = &[ Trans(34, 98, 27, 358), Trans(34, 99, 27, 358), Trans(34, 100, 27, 358), + Trans(34, 101, 27, 358), + Trans(34, 102, 27, 358), Trans(34, 105, 27, 358), Trans(34, 106, 27, 358), Trans(34, 107, 27, 358), @@ -15794,6 +16141,7 @@ pub const LOOKAHEAD_AUTOMATA: &[LookaheadDFA; 668] = &[ Trans(51, 68, 27, 358), Trans(51, 69, 27, 358), Trans(51, 70, 27, 358), + Trans(51, 71, 27, 358), Trans(51, 72, 27, 358), Trans(51, 73, 27, 358), Trans(51, 75, 27, 358), @@ -15809,6 +16157,8 @@ pub const LOOKAHEAD_AUTOMATA: &[LookaheadDFA; 668] = &[ Trans(51, 98, 27, 358), Trans(51, 99, 27, 358), Trans(51, 100, 27, 358), + Trans(51, 101, 27, 358), + Trans(51, 102, 27, 358), Trans(51, 105, 27, 358), Trans(51, 106, 27, 358), Trans(51, 107, 27, 358), @@ -17153,6 +17503,7 @@ pub const LOOKAHEAD_AUTOMATA: &[LookaheadDFA; 668] = &[ Trans(93, 25, 27, 358), Trans(93, 26, 27, 358), Trans(93, 27, 27, 358), + Trans(93, 37, 27, 358), Trans(93, 39, 27, 358), Trans(93, 40, 27, 358), Trans(93, 42, 27, 358), @@ -18658,15 +19009,15 @@ pub const LOOKAHEAD_AUTOMATA: &[LookaheadDFA; 668] = &[ LookaheadDFA { prod0: -1, transitions: &[ - Trans(0, 54, 7, 566), - Trans(0, 67, 6, 565), - Trans(0, 71, 3, 562), - Trans(0, 72, 2, 561), - Trans(0, 101, 4, 563), - Trans(0, 102, 5, 564), - Trans(0, 107, 8, 567), - Trans(0, 115, 1, 560), - Trans(0, 116, 1, 560), + Trans(0, 54, 7, 573), + Trans(0, 67, 6, 572), + Trans(0, 71, 3, 569), + Trans(0, 72, 2, 568), + Trans(0, 101, 4, 570), + Trans(0, 102, 5, 571), + Trans(0, 107, 8, 574), + Trans(0, 115, 1, 567), + Trans(0, 116, 1, 567), ], k: 1, }, @@ -18676,28 +19027,96 @@ pub const LOOKAHEAD_AUTOMATA: &[LookaheadDFA; 668] = &[ transitions: &[], k: 0, }, - /* 571 - "StatementBlockItem" */ + /* 571 - "StatementBlockGroup" */ + LookaheadDFA { + prod0: 557, + transitions: &[], + k: 0, + }, + /* 572 - "StatementBlockGroupGroup" */ + LookaheadDFA { + prod0: -1, + transitions: &[ + Trans(0, 40, 1, 558), + Trans(0, 54, 2, 561), + Trans(0, 67, 2, 561), + Trans(0, 71, 2, 561), + Trans(0, 72, 2, 561), + Trans(0, 82, 2, 561), + Trans(0, 101, 2, 561), + Trans(0, 102, 2, 561), + Trans(0, 107, 2, 561), + Trans(0, 114, 2, 561), + Trans(0, 115, 2, 561), + Trans(0, 116, 2, 561), + ], + k: 1, + }, + /* 573 - "StatementBlockGroupGroupList" */ + LookaheadDFA { + prod0: -1, + transitions: &[ + Trans(0, 37, 1, 559), + Trans(0, 40, 1, 559), + Trans(0, 44, 2, 560), + Trans(0, 54, 1, 559), + Trans(0, 67, 1, 559), + Trans(0, 71, 1, 559), + Trans(0, 72, 1, 559), + Trans(0, 82, 1, 559), + Trans(0, 101, 1, 559), + Trans(0, 102, 1, 559), + Trans(0, 107, 1, 559), + Trans(0, 114, 1, 559), + Trans(0, 115, 1, 559), + Trans(0, 116, 1, 559), + ], + k: 1, + }, + /* 574 - "StatementBlockGroupList" */ LookaheadDFA { prod0: -1, transitions: &[ - Trans(0, 54, 3, 559), - Trans(0, 67, 3, 559), - Trans(0, 71, 3, 559), - Trans(0, 72, 3, 559), - Trans(0, 82, 2, 558), - Trans(0, 101, 3, 559), - Trans(0, 102, 3, 559), - Trans(0, 107, 3, 559), - Trans(0, 114, 1, 557), - Trans(0, 115, 3, 559), - Trans(0, 116, 3, 559), + Trans(0, 37, 1, 562), + Trans(0, 40, 2, 563), + Trans(0, 54, 2, 563), + Trans(0, 67, 2, 563), + Trans(0, 71, 2, 563), + Trans(0, 72, 2, 563), + Trans(0, 82, 2, 563), + Trans(0, 101, 2, 563), + Trans(0, 102, 2, 563), + Trans(0, 107, 2, 563), + Trans(0, 114, 2, 563), + Trans(0, 115, 2, 563), + Trans(0, 116, 2, 563), ], k: 1, }, - /* 572 - "StatementBlockList" */ + /* 575 - "StatementBlockItem" */ LookaheadDFA { prod0: -1, transitions: &[ + Trans(0, 54, 3, 566), + Trans(0, 67, 3, 566), + Trans(0, 71, 3, 566), + Trans(0, 72, 3, 566), + Trans(0, 82, 2, 565), + Trans(0, 101, 3, 566), + Trans(0, 102, 3, 566), + Trans(0, 107, 3, 566), + Trans(0, 114, 1, 564), + Trans(0, 115, 3, 566), + Trans(0, 116, 3, 566), + ], + k: 1, + }, + /* 576 - "StatementBlockList" */ + LookaheadDFA { + prod0: -1, + transitions: &[ + Trans(0, 37, 1, 555), + Trans(0, 40, 1, 555), Trans(0, 44, 2, 556), Trans(0, 54, 1, 555), Trans(0, 67, 1, 555), @@ -18713,131 +19132,131 @@ pub const LOOKAHEAD_AUTOMATA: &[LookaheadDFA; 668] = &[ ], k: 1, }, - /* 573 - "Step" */ + /* 577 - "Step" */ LookaheadDFA { prod0: 327, transitions: &[], k: 0, }, - /* 574 - "StepTerm" */ + /* 578 - "StepTerm" */ LookaheadDFA { prod0: 99, transitions: &[], k: 0, }, - /* 575 - "StepToken" */ + /* 579 - "StepToken" */ LookaheadDFA { prod0: 215, transitions: &[], k: 0, }, - /* 576 - "Strin" */ + /* 580 - "Strin" */ LookaheadDFA { prod0: 328, transitions: &[], k: 0, }, - /* 577 - "StringLiteral" */ + /* 581 - "StringLiteral" */ LookaheadDFA { prod0: 229, transitions: &[], k: 0, }, - /* 578 - "StringLiteralTerm" */ + /* 582 - "StringLiteralTerm" */ LookaheadDFA { prod0: 1, transitions: &[], k: 0, }, - /* 579 - "StringLiteralToken" */ + /* 583 - "StringLiteralToken" */ LookaheadDFA { prod0: 117, transitions: &[], k: 0, }, - /* 580 - "StringTerm" */ + /* 584 - "StringTerm" */ LookaheadDFA { prod0: 100, transitions: &[], k: 0, }, - /* 581 - "StringToken" */ + /* 585 - "StringToken" */ LookaheadDFA { prod0: 216, transitions: &[], k: 0, }, - /* 582 - "Struct" */ + /* 586 - "Struct" */ LookaheadDFA { prod0: 329, transitions: &[], k: 0, }, - /* 583 - "StructTerm" */ + /* 587 - "StructTerm" */ LookaheadDFA { prod0: 101, transitions: &[], k: 0, }, - /* 584 - "StructToken" */ + /* 588 - "StructToken" */ LookaheadDFA { prod0: 217, transitions: &[], k: 0, }, - /* 585 - "StructUnion" */ + /* 589 - "StructUnion" */ LookaheadDFA { prod0: -1, - transitions: &[Trans(0, 106, 1, 672), Trans(0, 112, 2, 673)], + transitions: &[Trans(0, 106, 1, 679), Trans(0, 112, 2, 680)], k: 1, }, - /* 586 - "StructUnionDeclaration" */ + /* 590 - "StructUnionDeclaration" */ LookaheadDFA { - prod0: 674, + prod0: 681, transitions: &[], k: 0, }, - /* 587 - "StructUnionDeclarationOpt" */ + /* 591 - "StructUnionDeclarationOpt" */ LookaheadDFA { prod0: -1, - transitions: &[Trans(0, 29, 1, 675), Trans(0, 40, 2, 676)], + transitions: &[Trans(0, 29, 1, 682), Trans(0, 40, 2, 683)], k: 1, }, - /* 588 - "StructUnionGroup" */ + /* 592 - "StructUnionGroup" */ LookaheadDFA { - prod0: 682, + prod0: 689, transitions: &[], k: 0, }, - /* 589 - "StructUnionGroupGroup" */ + /* 593 - "StructUnionGroupGroup" */ LookaheadDFA { prod0: -1, - transitions: &[Trans(0, 40, 1, 683), Trans(0, 116, 2, 684)], + transitions: &[Trans(0, 40, 1, 690), Trans(0, 116, 2, 691)], k: 1, }, - /* 590 - "StructUnionGroupList" */ + /* 594 - "StructUnionGroupList" */ LookaheadDFA { prod0: -1, transitions: &[ - Trans(0, 37, 1, 685), - Trans(0, 40, 2, 686), - Trans(0, 116, 2, 686), + Trans(0, 37, 1, 692), + Trans(0, 40, 2, 693), + Trans(0, 116, 2, 693), ], k: 1, }, - /* 591 - "StructUnionItem" */ + /* 595 - "StructUnionItem" */ LookaheadDFA { - prod0: 687, + prod0: 694, transitions: &[], k: 0, }, - /* 592 - "StructUnionList" */ + /* 596 - "StructUnionList" */ LookaheadDFA { - prod0: 677, + prod0: 684, transitions: &[], k: 0, }, - /* 593 - "StructUnionListList" */ + /* 597 - "StructUnionListList" */ LookaheadDFA { prod0: -1, transitions: &[ @@ -18848,18 +19267,18 @@ pub const LOOKAHEAD_AUTOMATA: &[LookaheadDFA; 668] = &[ Trans(1, 40, 4, -1), Trans(1, 44, 21, -1), Trans(1, 116, 5, -1), - Trans(2, 5, 3, 678), - Trans(2, 41, 3, 678), - Trans(4, 5, 3, 678), - Trans(4, 37, 3, 678), - Trans(4, 40, 3, 678), - Trans(4, 116, 3, 678), - Trans(5, 5, 3, 678), - Trans(5, 31, 3, 678), - Trans(6, 37, 3, 678), - Trans(6, 40, 3, 678), - Trans(6, 44, 20, 679), - Trans(6, 116, 3, 678), + Trans(2, 5, 3, 685), + Trans(2, 41, 3, 685), + Trans(4, 5, 3, 685), + Trans(4, 37, 3, 685), + Trans(4, 40, 3, 685), + Trans(4, 116, 3, 685), + Trans(5, 5, 3, 685), + Trans(5, 31, 3, 685), + Trans(6, 37, 3, 685), + Trans(6, 40, 3, 685), + Trans(6, 44, 20, 686), + Trans(6, 116, 3, 685), Trans(7, 5, 8, -1), Trans(7, 31, 9, -1), Trans(7, 32, 10, -1), @@ -18886,216 +19305,216 @@ pub const LOOKAHEAD_AUTOMATA: &[LookaheadDFA; 668] = &[ Trans(7, 112, 9, -1), Trans(7, 113, 19, -1), Trans(7, 114, 9, -1), - Trans(8, 31, 20, 679), - Trans(8, 32, 20, 679), - Trans(8, 37, 20, 679), - Trans(8, 40, 20, 679), - Trans(8, 44, 20, 679), - Trans(8, 49, 20, 679), - Trans(8, 50, 20, 679), - Trans(8, 51, 20, 679), - Trans(8, 58, 20, 679), - Trans(8, 62, 20, 679), - Trans(8, 63, 20, 679), - Trans(8, 66, 20, 679), - Trans(8, 67, 20, 679), - Trans(8, 68, 20, 679), - Trans(8, 72, 20, 679), - Trans(8, 73, 20, 679), - Trans(8, 75, 20, 679), - Trans(8, 79, 20, 679), - Trans(8, 82, 20, 679), - Trans(8, 85, 20, 679), - Trans(8, 106, 20, 679), - Trans(8, 109, 20, 679), - Trans(8, 112, 20, 679), - Trans(8, 113, 20, 679), - Trans(8, 114, 20, 679), - Trans(9, 5, 20, 679), - Trans(9, 116, 20, 679), - Trans(10, 5, 20, 679), - Trans(10, 37, 20, 679), - Trans(10, 40, 20, 679), - Trans(10, 44, 20, 679), - Trans(10, 116, 20, 679), - Trans(11, 5, 20, 679), - Trans(11, 41, 20, 679), - Trans(12, 5, 20, 679), - Trans(12, 31, 20, 679), - Trans(12, 37, 20, 679), - Trans(12, 40, 20, 679), - Trans(12, 44, 20, 679), - Trans(12, 49, 20, 679), - Trans(12, 50, 20, 679), - Trans(12, 51, 20, 679), - Trans(12, 58, 20, 679), - Trans(12, 62, 20, 679), - Trans(12, 63, 20, 679), - Trans(12, 66, 20, 679), - Trans(12, 67, 20, 679), - Trans(12, 68, 20, 679), - Trans(12, 72, 20, 679), - Trans(12, 73, 20, 679), - Trans(12, 75, 20, 679), - Trans(12, 79, 20, 679), - Trans(12, 82, 20, 679), - Trans(12, 85, 20, 679), - Trans(12, 106, 20, 679), - Trans(12, 109, 20, 679), - Trans(12, 112, 20, 679), - Trans(12, 113, 20, 679), - Trans(12, 114, 20, 679), - Trans(13, 0, 20, 679), - Trans(13, 5, 20, 679), - Trans(13, 31, 20, 679), - Trans(13, 32, 20, 679), - Trans(13, 37, 20, 679), - Trans(13, 40, 20, 679), - Trans(13, 44, 20, 679), - Trans(13, 49, 20, 679), - Trans(13, 50, 20, 679), - Trans(13, 51, 20, 679), - Trans(13, 58, 20, 679), - Trans(13, 60, 20, 679), - Trans(13, 61, 20, 679), - Trans(13, 62, 20, 679), - Trans(13, 63, 20, 679), - Trans(13, 66, 20, 679), - Trans(13, 67, 20, 679), - Trans(13, 68, 20, 679), - Trans(13, 72, 20, 679), - Trans(13, 73, 20, 679), - Trans(13, 74, 20, 679), - Trans(13, 75, 20, 679), - Trans(13, 79, 20, 679), - Trans(13, 80, 20, 679), - Trans(13, 82, 20, 679), - Trans(13, 85, 20, 679), - Trans(13, 86, 20, 679), - Trans(13, 90, 20, 679), - Trans(13, 92, 20, 679), - Trans(13, 93, 20, 679), - Trans(13, 106, 20, 679), - Trans(13, 109, 20, 679), - Trans(13, 112, 20, 679), - Trans(13, 113, 20, 679), - Trans(13, 114, 20, 679), - Trans(14, 5, 20, 679), - Trans(14, 40, 20, 679), - Trans(15, 5, 20, 679), - Trans(15, 40, 20, 679), - Trans(15, 42, 20, 679), - Trans(16, 5, 20, 679), - Trans(16, 48, 20, 679), - Trans(16, 115, 20, 679), - Trans(16, 116, 20, 679), - Trans(17, 5, 20, 679), - Trans(17, 6, 20, 679), - Trans(17, 7, 20, 679), - Trans(17, 8, 20, 679), - Trans(17, 9, 20, 679), - Trans(17, 10, 20, 679), - Trans(17, 11, 20, 679), - Trans(17, 18, 20, 679), - Trans(17, 24, 20, 679), - Trans(17, 25, 20, 679), - Trans(17, 26, 20, 679), - Trans(17, 27, 20, 679), - Trans(17, 39, 20, 679), - Trans(17, 40, 20, 679), - Trans(17, 42, 20, 679), - Trans(17, 53, 20, 679), - Trans(17, 54, 20, 679), - Trans(17, 55, 20, 679), - Trans(17, 56, 20, 679), - Trans(17, 57, 20, 679), - Trans(17, 64, 20, 679), - Trans(17, 65, 20, 679), - Trans(17, 69, 20, 679), - Trans(17, 70, 20, 679), - Trans(17, 72, 20, 679), - Trans(17, 78, 20, 679), - Trans(17, 83, 20, 679), - Trans(17, 84, 20, 679), - Trans(17, 87, 20, 679), - Trans(17, 89, 20, 679), - Trans(17, 96, 20, 679), - Trans(17, 97, 20, 679), - Trans(17, 98, 20, 679), - Trans(17, 99, 20, 679), - Trans(17, 100, 20, 679), - Trans(17, 105, 20, 679), - Trans(17, 107, 20, 679), - Trans(17, 109, 20, 679), - Trans(17, 110, 20, 679), - Trans(17, 111, 20, 679), - Trans(17, 115, 20, 679), - Trans(17, 116, 20, 679), - Trans(18, 5, 20, 679), - Trans(18, 115, 20, 679), - Trans(18, 116, 20, 679), - Trans(19, 5, 20, 679), - Trans(19, 42, 20, 679), - Trans(21, 5, 20, 679), - Trans(21, 31, 20, 679), - Trans(21, 32, 20, 679), - Trans(21, 37, 20, 679), - Trans(21, 40, 20, 679), - Trans(21, 44, 20, 679), - Trans(21, 49, 20, 679), - Trans(21, 50, 20, 679), - Trans(21, 51, 20, 679), - Trans(21, 58, 20, 679), - Trans(21, 62, 20, 679), - Trans(21, 63, 20, 679), - Trans(21, 66, 20, 679), - Trans(21, 67, 20, 679), - Trans(21, 68, 20, 679), - Trans(21, 72, 20, 679), - Trans(21, 73, 20, 679), - Trans(21, 75, 20, 679), - Trans(21, 79, 20, 679), - Trans(21, 82, 20, 679), - Trans(21, 85, 20, 679), - Trans(21, 106, 20, 679), - Trans(21, 109, 20, 679), - Trans(21, 112, 20, 679), - Trans(21, 113, 20, 679), - Trans(21, 114, 20, 679), + Trans(8, 31, 20, 686), + Trans(8, 32, 20, 686), + Trans(8, 37, 20, 686), + Trans(8, 40, 20, 686), + Trans(8, 44, 20, 686), + Trans(8, 49, 20, 686), + Trans(8, 50, 20, 686), + Trans(8, 51, 20, 686), + Trans(8, 58, 20, 686), + Trans(8, 62, 20, 686), + Trans(8, 63, 20, 686), + Trans(8, 66, 20, 686), + Trans(8, 67, 20, 686), + Trans(8, 68, 20, 686), + Trans(8, 72, 20, 686), + Trans(8, 73, 20, 686), + Trans(8, 75, 20, 686), + Trans(8, 79, 20, 686), + Trans(8, 82, 20, 686), + Trans(8, 85, 20, 686), + Trans(8, 106, 20, 686), + Trans(8, 109, 20, 686), + Trans(8, 112, 20, 686), + Trans(8, 113, 20, 686), + Trans(8, 114, 20, 686), + Trans(9, 5, 20, 686), + Trans(9, 116, 20, 686), + Trans(10, 5, 20, 686), + Trans(10, 37, 20, 686), + Trans(10, 40, 20, 686), + Trans(10, 44, 20, 686), + Trans(10, 116, 20, 686), + Trans(11, 5, 20, 686), + Trans(11, 41, 20, 686), + Trans(12, 5, 20, 686), + Trans(12, 31, 20, 686), + Trans(12, 37, 20, 686), + Trans(12, 40, 20, 686), + Trans(12, 44, 20, 686), + Trans(12, 49, 20, 686), + Trans(12, 50, 20, 686), + Trans(12, 51, 20, 686), + Trans(12, 58, 20, 686), + Trans(12, 62, 20, 686), + Trans(12, 63, 20, 686), + Trans(12, 66, 20, 686), + Trans(12, 67, 20, 686), + Trans(12, 68, 20, 686), + Trans(12, 72, 20, 686), + Trans(12, 73, 20, 686), + Trans(12, 75, 20, 686), + Trans(12, 79, 20, 686), + Trans(12, 82, 20, 686), + Trans(12, 85, 20, 686), + Trans(12, 106, 20, 686), + Trans(12, 109, 20, 686), + Trans(12, 112, 20, 686), + Trans(12, 113, 20, 686), + Trans(12, 114, 20, 686), + Trans(13, 0, 20, 686), + Trans(13, 5, 20, 686), + Trans(13, 31, 20, 686), + Trans(13, 32, 20, 686), + Trans(13, 37, 20, 686), + Trans(13, 40, 20, 686), + Trans(13, 44, 20, 686), + Trans(13, 49, 20, 686), + Trans(13, 50, 20, 686), + Trans(13, 51, 20, 686), + Trans(13, 58, 20, 686), + Trans(13, 60, 20, 686), + Trans(13, 61, 20, 686), + Trans(13, 62, 20, 686), + Trans(13, 63, 20, 686), + Trans(13, 66, 20, 686), + Trans(13, 67, 20, 686), + Trans(13, 68, 20, 686), + Trans(13, 72, 20, 686), + Trans(13, 73, 20, 686), + Trans(13, 74, 20, 686), + Trans(13, 75, 20, 686), + Trans(13, 79, 20, 686), + Trans(13, 80, 20, 686), + Trans(13, 82, 20, 686), + Trans(13, 85, 20, 686), + Trans(13, 86, 20, 686), + Trans(13, 90, 20, 686), + Trans(13, 92, 20, 686), + Trans(13, 93, 20, 686), + Trans(13, 106, 20, 686), + Trans(13, 109, 20, 686), + Trans(13, 112, 20, 686), + Trans(13, 113, 20, 686), + Trans(13, 114, 20, 686), + Trans(14, 5, 20, 686), + Trans(14, 40, 20, 686), + Trans(15, 5, 20, 686), + Trans(15, 40, 20, 686), + Trans(15, 42, 20, 686), + Trans(16, 5, 20, 686), + Trans(16, 48, 20, 686), + Trans(16, 115, 20, 686), + Trans(16, 116, 20, 686), + Trans(17, 5, 20, 686), + Trans(17, 6, 20, 686), + Trans(17, 7, 20, 686), + Trans(17, 8, 20, 686), + Trans(17, 9, 20, 686), + Trans(17, 10, 20, 686), + Trans(17, 11, 20, 686), + Trans(17, 18, 20, 686), + Trans(17, 24, 20, 686), + Trans(17, 25, 20, 686), + Trans(17, 26, 20, 686), + Trans(17, 27, 20, 686), + Trans(17, 39, 20, 686), + Trans(17, 40, 20, 686), + Trans(17, 42, 20, 686), + Trans(17, 53, 20, 686), + Trans(17, 54, 20, 686), + Trans(17, 55, 20, 686), + Trans(17, 56, 20, 686), + Trans(17, 57, 20, 686), + Trans(17, 64, 20, 686), + Trans(17, 65, 20, 686), + Trans(17, 69, 20, 686), + Trans(17, 70, 20, 686), + Trans(17, 72, 20, 686), + Trans(17, 78, 20, 686), + Trans(17, 83, 20, 686), + Trans(17, 84, 20, 686), + Trans(17, 87, 20, 686), + Trans(17, 89, 20, 686), + Trans(17, 96, 20, 686), + Trans(17, 97, 20, 686), + Trans(17, 98, 20, 686), + Trans(17, 99, 20, 686), + Trans(17, 100, 20, 686), + Trans(17, 105, 20, 686), + Trans(17, 107, 20, 686), + Trans(17, 109, 20, 686), + Trans(17, 110, 20, 686), + Trans(17, 111, 20, 686), + Trans(17, 115, 20, 686), + Trans(17, 116, 20, 686), + Trans(18, 5, 20, 686), + Trans(18, 115, 20, 686), + Trans(18, 116, 20, 686), + Trans(19, 5, 20, 686), + Trans(19, 42, 20, 686), + Trans(21, 5, 20, 686), + Trans(21, 31, 20, 686), + Trans(21, 32, 20, 686), + Trans(21, 37, 20, 686), + Trans(21, 40, 20, 686), + Trans(21, 44, 20, 686), + Trans(21, 49, 20, 686), + Trans(21, 50, 20, 686), + Trans(21, 51, 20, 686), + Trans(21, 58, 20, 686), + Trans(21, 62, 20, 686), + Trans(21, 63, 20, 686), + Trans(21, 66, 20, 686), + Trans(21, 67, 20, 686), + Trans(21, 68, 20, 686), + Trans(21, 72, 20, 686), + Trans(21, 73, 20, 686), + Trans(21, 75, 20, 686), + Trans(21, 79, 20, 686), + Trans(21, 82, 20, 686), + Trans(21, 85, 20, 686), + Trans(21, 106, 20, 686), + Trans(21, 109, 20, 686), + Trans(21, 112, 20, 686), + Trans(21, 113, 20, 686), + Trans(21, 114, 20, 686), ], k: 3, }, - /* 594 - "StructUnionListOpt" */ + /* 598 - "StructUnionListOpt" */ LookaheadDFA { prod0: -1, - transitions: &[Trans(0, 32, 1, 680), Trans(0, 44, 2, 681)], + transitions: &[Trans(0, 32, 1, 687), Trans(0, 44, 2, 688)], k: 1, }, - /* 595 - "Switch" */ + /* 599 - "Switch" */ LookaheadDFA { prod0: 330, transitions: &[], k: 0, }, - /* 596 - "SwitchCondition" */ + /* 600 - "SwitchCondition" */ LookaheadDFA { - prod0: 611, + prod0: 618, transitions: &[], k: 0, }, - /* 597 - "SwitchConditionList" */ + /* 601 - "SwitchConditionList" */ LookaheadDFA { prod0: -1, - transitions: &[Trans(0, 31, 2, 613), Trans(0, 32, 1, 612)], + transitions: &[Trans(0, 31, 2, 620), Trans(0, 32, 1, 619)], k: 1, }, - /* 598 - "SwitchExpression" */ + /* 602 - "SwitchExpression" */ LookaheadDFA { prod0: 471, transitions: &[], k: 0, }, - /* 599 - "SwitchExpressionList" */ + /* 603 - "SwitchExpressionList" */ LookaheadDFA { prod0: -1, transitions: &[ @@ -19144,391 +19563,391 @@ pub const LOOKAHEAD_AUTOMATA: &[LookaheadDFA; 668] = &[ ], k: 1, }, - /* 600 - "SwitchExpressionOpt" */ + /* 604 - "SwitchExpressionOpt" */ LookaheadDFA { prod0: -1, transitions: &[Trans(0, 32, 1, 474), Trans(0, 44, 2, 475)], k: 1, }, - /* 601 - "SwitchItem" */ + /* 605 - "SwitchItem" */ LookaheadDFA { - prod0: 606, + prod0: 613, transitions: &[], k: 0, }, - /* 602 - "SwitchItemGroup" */ + /* 606 - "SwitchItemGroup" */ LookaheadDFA { prod0: -1, transitions: &[ - Trans(0, 6, 1, 609), - Trans(0, 7, 1, 609), - Trans(0, 8, 1, 609), - Trans(0, 9, 1, 609), - Trans(0, 10, 1, 609), - Trans(0, 11, 1, 609), - Trans(0, 18, 1, 609), - Trans(0, 24, 1, 609), - Trans(0, 25, 1, 609), - Trans(0, 26, 1, 609), - Trans(0, 27, 1, 609), - Trans(0, 39, 1, 609), - Trans(0, 40, 1, 609), - Trans(0, 42, 1, 609), - Trans(0, 53, 1, 609), - Trans(0, 54, 1, 609), - Trans(0, 55, 1, 609), - Trans(0, 56, 1, 609), - Trans(0, 57, 1, 609), - Trans(0, 59, 2, 610), - Trans(0, 64, 1, 609), - Trans(0, 65, 1, 609), - Trans(0, 69, 1, 609), - Trans(0, 70, 1, 609), - Trans(0, 72, 1, 609), - Trans(0, 78, 1, 609), - Trans(0, 83, 1, 609), - Trans(0, 84, 1, 609), - Trans(0, 87, 1, 609), - Trans(0, 89, 1, 609), - Trans(0, 96, 1, 609), - Trans(0, 97, 1, 609), - Trans(0, 98, 1, 609), - Trans(0, 99, 1, 609), - Trans(0, 100, 1, 609), - Trans(0, 105, 1, 609), - Trans(0, 107, 1, 609), - Trans(0, 109, 1, 609), - Trans(0, 110, 1, 609), - Trans(0, 111, 1, 609), - Trans(0, 115, 1, 609), - Trans(0, 116, 1, 609), + Trans(0, 6, 1, 616), + Trans(0, 7, 1, 616), + Trans(0, 8, 1, 616), + Trans(0, 9, 1, 616), + Trans(0, 10, 1, 616), + Trans(0, 11, 1, 616), + Trans(0, 18, 1, 616), + Trans(0, 24, 1, 616), + Trans(0, 25, 1, 616), + Trans(0, 26, 1, 616), + Trans(0, 27, 1, 616), + Trans(0, 39, 1, 616), + Trans(0, 40, 1, 616), + Trans(0, 42, 1, 616), + Trans(0, 53, 1, 616), + Trans(0, 54, 1, 616), + Trans(0, 55, 1, 616), + Trans(0, 56, 1, 616), + Trans(0, 57, 1, 616), + Trans(0, 59, 2, 617), + Trans(0, 64, 1, 616), + Trans(0, 65, 1, 616), + Trans(0, 69, 1, 616), + Trans(0, 70, 1, 616), + Trans(0, 72, 1, 616), + Trans(0, 78, 1, 616), + Trans(0, 83, 1, 616), + Trans(0, 84, 1, 616), + Trans(0, 87, 1, 616), + Trans(0, 89, 1, 616), + Trans(0, 96, 1, 616), + Trans(0, 97, 1, 616), + Trans(0, 98, 1, 616), + Trans(0, 99, 1, 616), + Trans(0, 100, 1, 616), + Trans(0, 105, 1, 616), + Trans(0, 107, 1, 616), + Trans(0, 109, 1, 616), + Trans(0, 110, 1, 616), + Trans(0, 111, 1, 616), + Trans(0, 115, 1, 616), + Trans(0, 116, 1, 616), ], k: 1, }, - /* 603 - "SwitchItemGroup0" */ + /* 607 - "SwitchItemGroup0" */ LookaheadDFA { prod0: -1, transitions: &[ - Trans(0, 40, 2, 608), - Trans(0, 54, 1, 607), - Trans(0, 67, 1, 607), - Trans(0, 71, 1, 607), - Trans(0, 72, 1, 607), - Trans(0, 101, 1, 607), - Trans(0, 102, 1, 607), - Trans(0, 107, 1, 607), - Trans(0, 115, 1, 607), - Trans(0, 116, 1, 607), + Trans(0, 40, 2, 615), + Trans(0, 54, 1, 614), + Trans(0, 67, 1, 614), + Trans(0, 71, 1, 614), + Trans(0, 72, 1, 614), + Trans(0, 101, 1, 614), + Trans(0, 102, 1, 614), + Trans(0, 107, 1, 614), + Trans(0, 115, 1, 614), + Trans(0, 116, 1, 614), ], k: 1, }, - /* 604 - "SwitchStatement" */ + /* 608 - "SwitchStatement" */ LookaheadDFA { - prod0: 603, + prod0: 610, transitions: &[], k: 0, }, - /* 605 - "SwitchStatementList" */ + /* 609 - "SwitchStatementList" */ LookaheadDFA { prod0: -1, transitions: &[ - Trans(0, 6, 1, 604), - Trans(0, 7, 1, 604), - Trans(0, 8, 1, 604), - Trans(0, 9, 1, 604), - Trans(0, 10, 1, 604), - Trans(0, 11, 1, 604), - Trans(0, 18, 1, 604), - Trans(0, 24, 1, 604), - Trans(0, 25, 1, 604), - Trans(0, 26, 1, 604), - Trans(0, 27, 1, 604), - Trans(0, 39, 1, 604), - Trans(0, 40, 1, 604), - Trans(0, 42, 1, 604), - Trans(0, 44, 2, 605), - Trans(0, 53, 1, 604), - Trans(0, 54, 1, 604), - Trans(0, 55, 1, 604), - Trans(0, 56, 1, 604), - Trans(0, 57, 1, 604), - Trans(0, 59, 1, 604), - Trans(0, 64, 1, 604), - Trans(0, 65, 1, 604), - Trans(0, 69, 1, 604), - Trans(0, 70, 1, 604), - Trans(0, 72, 1, 604), - Trans(0, 78, 1, 604), - Trans(0, 83, 1, 604), - Trans(0, 84, 1, 604), - Trans(0, 87, 1, 604), - Trans(0, 89, 1, 604), - Trans(0, 96, 1, 604), - Trans(0, 97, 1, 604), - Trans(0, 98, 1, 604), - Trans(0, 99, 1, 604), - Trans(0, 100, 1, 604), - Trans(0, 105, 1, 604), - Trans(0, 107, 1, 604), - Trans(0, 109, 1, 604), - Trans(0, 110, 1, 604), - Trans(0, 111, 1, 604), - Trans(0, 115, 1, 604), - Trans(0, 116, 1, 604), + Trans(0, 6, 1, 611), + Trans(0, 7, 1, 611), + Trans(0, 8, 1, 611), + Trans(0, 9, 1, 611), + Trans(0, 10, 1, 611), + Trans(0, 11, 1, 611), + Trans(0, 18, 1, 611), + Trans(0, 24, 1, 611), + Trans(0, 25, 1, 611), + Trans(0, 26, 1, 611), + Trans(0, 27, 1, 611), + Trans(0, 39, 1, 611), + Trans(0, 40, 1, 611), + Trans(0, 42, 1, 611), + Trans(0, 44, 2, 612), + Trans(0, 53, 1, 611), + Trans(0, 54, 1, 611), + Trans(0, 55, 1, 611), + Trans(0, 56, 1, 611), + Trans(0, 57, 1, 611), + Trans(0, 59, 1, 611), + Trans(0, 64, 1, 611), + Trans(0, 65, 1, 611), + Trans(0, 69, 1, 611), + Trans(0, 70, 1, 611), + Trans(0, 72, 1, 611), + Trans(0, 78, 1, 611), + Trans(0, 83, 1, 611), + Trans(0, 84, 1, 611), + Trans(0, 87, 1, 611), + Trans(0, 89, 1, 611), + Trans(0, 96, 1, 611), + Trans(0, 97, 1, 611), + Trans(0, 98, 1, 611), + Trans(0, 99, 1, 611), + Trans(0, 100, 1, 611), + Trans(0, 105, 1, 611), + Trans(0, 107, 1, 611), + Trans(0, 109, 1, 611), + Trans(0, 110, 1, 611), + Trans(0, 111, 1, 611), + Trans(0, 115, 1, 611), + Trans(0, 116, 1, 611), ], k: 1, }, - /* 606 - "SwitchTerm" */ + /* 610 - "SwitchTerm" */ LookaheadDFA { prod0: 102, transitions: &[], k: 0, }, - /* 607 - "SwitchToken" */ + /* 611 - "SwitchToken" */ LookaheadDFA { prod0: 218, transitions: &[], k: 0, }, - /* 608 - "Tri" */ + /* 612 - "Tri" */ LookaheadDFA { prod0: 331, transitions: &[], k: 0, }, - /* 609 - "TriTerm" */ + /* 613 - "TriTerm" */ LookaheadDFA { prod0: 103, transitions: &[], k: 0, }, - /* 610 - "TriToken" */ + /* 614 - "TriToken" */ LookaheadDFA { prod0: 219, transitions: &[], k: 0, }, - /* 611 - "Type" */ + /* 615 - "Type" */ LookaheadDFA { prod0: 332, transitions: &[], k: 0, }, - /* 612 - "TypeDefDeclaration" */ + /* 616 - "TypeDefDeclaration" */ LookaheadDFA { - prod0: 633, + prod0: 640, transitions: &[], k: 0, }, - /* 613 - "TypeExpression" */ + /* 617 - "TypeExpression" */ LookaheadDFA { prod0: 476, transitions: &[], k: 0, }, - /* 614 - "TypeModifier" */ + /* 618 - "TypeModifier" */ LookaheadDFA { prod0: -1, transitions: &[Trans(0, 103, 2, 522), Trans(0, 108, 1, 521)], k: 1, }, - /* 615 - "TypeTerm" */ + /* 619 - "TypeTerm" */ LookaheadDFA { prod0: 104, transitions: &[], k: 0, }, - /* 616 - "TypeToken" */ + /* 620 - "TypeToken" */ LookaheadDFA { prod0: 220, transitions: &[], k: 0, }, - /* 617 - "U32" */ + /* 621 - "U32" */ LookaheadDFA { prod0: 333, transitions: &[], k: 0, }, - /* 618 - "U32Term" */ + /* 622 - "U32Term" */ LookaheadDFA { prod0: 105, transitions: &[], k: 0, }, - /* 619 - "U32Token" */ + /* 623 - "U32Token" */ LookaheadDFA { prod0: 221, transitions: &[], k: 0, }, - /* 620 - "U64" */ + /* 624 - "U64" */ LookaheadDFA { prod0: 334, transitions: &[], k: 0, }, - /* 621 - "U64Term" */ + /* 625 - "U64Term" */ LookaheadDFA { prod0: 106, transitions: &[], k: 0, }, - /* 622 - "U64Token" */ + /* 626 - "U64Token" */ LookaheadDFA { prod0: 222, transitions: &[], k: 0, }, - /* 623 - "UnaryOperator" */ + /* 627 - "UnaryOperator" */ LookaheadDFA { prod0: 247, transitions: &[], k: 0, }, - /* 624 - "UnaryOperatorTerm" */ + /* 628 - "UnaryOperatorTerm" */ LookaheadDFA { prod0: 22, transitions: &[], k: 0, }, - /* 625 - "UnaryOperatorToken" */ + /* 629 - "UnaryOperatorToken" */ LookaheadDFA { prod0: 135, transitions: &[], k: 0, }, - /* 626 - "Union" */ + /* 630 - "Union" */ LookaheadDFA { prod0: 335, transitions: &[], k: 0, }, - /* 627 - "UnionTerm" */ + /* 631 - "UnionTerm" */ LookaheadDFA { prod0: 107, transitions: &[], k: 0, }, - /* 628 - "UnionToken" */ + /* 632 - "UnionToken" */ LookaheadDFA { prod0: 223, transitions: &[], k: 0, }, - /* 629 - "Unsafe" */ + /* 633 - "Unsafe" */ LookaheadDFA { prod0: 336, transitions: &[], k: 0, }, - /* 630 - "UnsafeBlock" */ + /* 634 - "UnsafeBlock" */ LookaheadDFA { - prod0: 813, + prod0: 820, transitions: &[], k: 0, }, - /* 631 - "UnsafeBlockList" */ + /* 635 - "UnsafeBlockList" */ LookaheadDFA { prod0: -1, transitions: &[ - Trans(0, 31, 1, 814), - Trans(0, 37, 1, 814), - Trans(0, 40, 1, 814), - Trans(0, 44, 2, 815), - Trans(0, 49, 1, 814), - Trans(0, 50, 1, 814), - Trans(0, 51, 1, 814), - Trans(0, 58, 1, 814), - Trans(0, 62, 1, 814), - Trans(0, 66, 1, 814), - Trans(0, 67, 1, 814), - Trans(0, 68, 1, 814), - Trans(0, 72, 1, 814), - Trans(0, 73, 1, 814), - Trans(0, 75, 1, 814), - Trans(0, 79, 1, 814), - Trans(0, 82, 1, 814), - Trans(0, 106, 1, 814), - Trans(0, 109, 1, 814), - Trans(0, 112, 1, 814), - Trans(0, 113, 1, 814), - Trans(0, 114, 1, 814), + Trans(0, 31, 1, 821), + Trans(0, 37, 1, 821), + Trans(0, 40, 1, 821), + Trans(0, 44, 2, 822), + Trans(0, 49, 1, 821), + Trans(0, 50, 1, 821), + Trans(0, 51, 1, 821), + Trans(0, 58, 1, 821), + Trans(0, 62, 1, 821), + Trans(0, 66, 1, 821), + Trans(0, 67, 1, 821), + Trans(0, 68, 1, 821), + Trans(0, 72, 1, 821), + Trans(0, 73, 1, 821), + Trans(0, 75, 1, 821), + Trans(0, 79, 1, 821), + Trans(0, 82, 1, 821), + Trans(0, 106, 1, 821), + Trans(0, 109, 1, 821), + Trans(0, 112, 1, 821), + Trans(0, 113, 1, 821), + Trans(0, 114, 1, 821), ], k: 1, }, - /* 632 - "UnsafeTerm" */ + /* 636 - "UnsafeTerm" */ LookaheadDFA { prod0: 108, transitions: &[], k: 0, }, - /* 633 - "UnsafeToken" */ + /* 637 - "UnsafeToken" */ LookaheadDFA { prod0: 224, transitions: &[], k: 0, }, - /* 634 - "UserDefinedType" */ + /* 638 - "UserDefinedType" */ LookaheadDFA { prod0: 520, transitions: &[], k: 0, }, - /* 635 - "Var" */ + /* 639 - "Var" */ LookaheadDFA { prod0: 337, transitions: &[], k: 0, }, - /* 636 - "VarDeclaration" */ + /* 640 - "VarDeclaration" */ LookaheadDFA { - prod0: 627, + prod0: 634, transitions: &[], k: 0, }, - /* 637 - "VarDeclarationOpt" */ + /* 641 - "VarDeclarationOpt" */ LookaheadDFA { prod0: -1, transitions: &[ - Trans(0, 28, 1, 628), - Trans(0, 53, 2, 629), - Trans(0, 55, 2, 629), - Trans(0, 56, 2, 629), - Trans(0, 57, 2, 629), - Trans(0, 64, 2, 629), - Trans(0, 65, 2, 629), - Trans(0, 69, 2, 629), - Trans(0, 70, 2, 629), - Trans(0, 83, 2, 629), - Trans(0, 96, 2, 629), - Trans(0, 97, 2, 629), - Trans(0, 98, 2, 629), - Trans(0, 99, 2, 629), - Trans(0, 100, 2, 629), - Trans(0, 103, 2, 629), - Trans(0, 105, 2, 629), - Trans(0, 108, 2, 629), - Trans(0, 110, 2, 629), - Trans(0, 111, 2, 629), - Trans(0, 115, 2, 629), - Trans(0, 116, 2, 629), + Trans(0, 28, 1, 635), + Trans(0, 53, 2, 636), + Trans(0, 55, 2, 636), + Trans(0, 56, 2, 636), + Trans(0, 57, 2, 636), + Trans(0, 64, 2, 636), + Trans(0, 65, 2, 636), + Trans(0, 69, 2, 636), + Trans(0, 70, 2, 636), + Trans(0, 83, 2, 636), + Trans(0, 96, 2, 636), + Trans(0, 97, 2, 636), + Trans(0, 98, 2, 636), + Trans(0, 99, 2, 636), + Trans(0, 100, 2, 636), + Trans(0, 103, 2, 636), + Trans(0, 105, 2, 636), + Trans(0, 108, 2, 636), + Trans(0, 110, 2, 636), + Trans(0, 111, 2, 636), + Trans(0, 115, 2, 636), + Trans(0, 116, 2, 636), ], k: 1, }, - /* 638 - "VarTerm" */ + /* 642 - "VarTerm" */ LookaheadDFA { prod0: 109, transitions: &[], k: 0, }, - /* 639 - "VarToken" */ + /* 643 - "VarToken" */ LookaheadDFA { prod0: 225, transitions: &[], k: 0, }, - /* 640 - "VariableType" */ + /* 644 - "VariableType" */ LookaheadDFA { prod0: -1, transitions: &[ @@ -19545,69 +19964,69 @@ pub const LOOKAHEAD_AUTOMATA: &[LookaheadDFA; 668] = &[ ], k: 1, }, - /* 641 - "Veryl" */ + /* 645 - "Veryl" */ LookaheadDFA { - prod0: 950, + prod0: 957, transitions: &[], k: 0, }, - /* 642 - "VerylList" */ + /* 646 - "VerylList" */ LookaheadDFA { prod0: -1, transitions: &[ - Trans(0, 0, 2, 952), - Trans(0, 37, 1, 951), - Trans(0, 40, 1, 951), - Trans(0, 61, 1, 951), - Trans(0, 73, 1, 951), - Trans(0, 74, 1, 951), - Trans(0, 80, 1, 951), - Trans(0, 86, 1, 951), - Trans(0, 90, 1, 951), - Trans(0, 92, 1, 951), - Trans(0, 93, 1, 951), + Trans(0, 0, 2, 959), + Trans(0, 37, 1, 958), + Trans(0, 40, 1, 958), + Trans(0, 61, 1, 958), + Trans(0, 73, 1, 958), + Trans(0, 74, 1, 958), + Trans(0, 80, 1, 958), + Trans(0, 86, 1, 958), + Trans(0, 90, 1, 958), + Trans(0, 92, 1, 958), + Trans(0, 93, 1, 958), ], k: 1, }, - /* 643 - "Width" */ + /* 647 - "Width" */ LookaheadDFA { prod0: 492, transitions: &[], k: 0, }, - /* 644 - "WidthList" */ + /* 648 - "WidthList" */ LookaheadDFA { prod0: -1, transitions: &[Trans(0, 32, 1, 493), Trans(0, 43, 2, 494)], k: 1, }, - /* 645 - "WithGenericArgument" */ + /* 649 - "WithGenericArgument" */ LookaheadDFA { - prod0: 758, + prod0: 765, transitions: &[], k: 0, }, - /* 646 - "WithGenericArgumentItem" */ + /* 650 - "WithGenericArgumentItem" */ LookaheadDFA { prod0: -1, transitions: &[ - Trans(0, 7, 2, 767), - Trans(0, 8, 2, 767), - Trans(0, 9, 2, 767), - Trans(0, 10, 2, 767), - Trans(0, 11, 2, 767), - Trans(0, 115, 1, 766), - Trans(0, 116, 1, 766), + Trans(0, 7, 2, 774), + Trans(0, 8, 2, 774), + Trans(0, 9, 2, 774), + Trans(0, 10, 2, 774), + Trans(0, 11, 2, 774), + Trans(0, 115, 1, 773), + Trans(0, 116, 1, 773), ], k: 1, }, - /* 647 - "WithGenericArgumentList" */ + /* 651 - "WithGenericArgumentList" */ LookaheadDFA { - prod0: 761, + prod0: 768, transitions: &[], k: 0, }, - /* 648 - "WithGenericArgumentListList" */ + /* 652 - "WithGenericArgumentListList" */ LookaheadDFA { prod0: -1, transitions: &[ @@ -19622,26 +20041,26 @@ pub const LOOKAHEAD_AUTOMATA: &[LookaheadDFA; 668] = &[ Trans(1, 43, 25, -1), Trans(1, 115, 4, -1), Trans(1, 116, 5, -1), - Trans(2, 5, 3, 762), - Trans(2, 32, 3, 762), - Trans(2, 43, 3, 762), - Trans(4, 5, 3, 762), - Trans(4, 30, 3, 762), - Trans(4, 32, 3, 762), - Trans(4, 43, 3, 762), - Trans(5, 5, 3, 762), - Trans(5, 29, 3, 762), - Trans(5, 30, 3, 762), - Trans(5, 32, 3, 762), - Trans(5, 43, 3, 762), - Trans(6, 7, 3, 762), - Trans(6, 8, 3, 762), - Trans(6, 9, 3, 762), - Trans(6, 10, 3, 762), - Trans(6, 11, 3, 762), - Trans(6, 43, 24, 763), - Trans(6, 115, 3, 762), - Trans(6, 116, 3, 762), + Trans(2, 5, 3, 769), + Trans(2, 32, 3, 769), + Trans(2, 43, 3, 769), + Trans(4, 5, 3, 769), + Trans(4, 30, 3, 769), + Trans(4, 32, 3, 769), + Trans(4, 43, 3, 769), + Trans(5, 5, 3, 769), + Trans(5, 29, 3, 769), + Trans(5, 30, 3, 769), + Trans(5, 32, 3, 769), + Trans(5, 43, 3, 769), + Trans(6, 7, 3, 769), + Trans(6, 8, 3, 769), + Trans(6, 9, 3, 769), + Trans(6, 10, 3, 769), + Trans(6, 11, 3, 769), + Trans(6, 43, 24, 770), + Trans(6, 115, 3, 769), + Trans(6, 116, 3, 769), Trans(7, 5, 8, -1), Trans(7, 12, 9, -1), Trans(7, 14, 9, -1), @@ -19679,673 +20098,673 @@ pub const LOOKAHEAD_AUTOMATA: &[LookaheadDFA; 668] = &[ Trans(7, 81, 9, -1), Trans(7, 95, 9, -1), Trans(7, 104, 23, -1), - Trans(8, 12, 24, 763), - Trans(8, 14, 24, 763), - Trans(8, 15, 24, 763), - Trans(8, 16, 24, 763), - Trans(8, 17, 24, 763), - Trans(8, 18, 24, 763), - Trans(8, 19, 24, 763), - Trans(8, 20, 24, 763), - Trans(8, 21, 24, 763), - Trans(8, 22, 24, 763), - Trans(8, 23, 24, 763), - Trans(8, 24, 24, 763), - Trans(8, 25, 24, 763), - Trans(8, 26, 24, 763), - Trans(8, 30, 24, 763), - Trans(8, 31, 24, 763), - Trans(8, 32, 24, 763), - Trans(8, 33, 24, 763), - Trans(8, 34, 24, 763), - Trans(8, 35, 24, 763), - Trans(8, 36, 24, 763), - Trans(8, 37, 24, 763), - Trans(8, 38, 24, 763), - Trans(8, 40, 24, 763), - Trans(8, 41, 24, 763), - Trans(8, 42, 24, 763), - Trans(8, 43, 24, 763), - Trans(8, 44, 24, 763), - Trans(8, 45, 24, 763), - Trans(8, 46, 24, 763), - Trans(8, 47, 24, 763), - Trans(8, 48, 24, 763), - Trans(8, 52, 24, 763), - Trans(8, 81, 24, 763), - Trans(8, 95, 24, 763), - Trans(8, 104, 24, 763), - Trans(9, 5, 24, 763), - Trans(9, 6, 24, 763), - Trans(9, 7, 24, 763), - Trans(9, 8, 24, 763), - Trans(9, 9, 24, 763), - Trans(9, 10, 24, 763), - Trans(9, 11, 24, 763), - Trans(9, 18, 24, 763), - Trans(9, 24, 24, 763), - Trans(9, 25, 24, 763), - Trans(9, 26, 24, 763), - Trans(9, 27, 24, 763), - Trans(9, 39, 24, 763), - Trans(9, 40, 24, 763), - Trans(9, 42, 24, 763), - Trans(9, 53, 24, 763), - Trans(9, 54, 24, 763), - Trans(9, 55, 24, 763), - Trans(9, 56, 24, 763), - Trans(9, 57, 24, 763), - Trans(9, 64, 24, 763), - Trans(9, 65, 24, 763), - Trans(9, 69, 24, 763), - Trans(9, 70, 24, 763), - Trans(9, 72, 24, 763), - Trans(9, 78, 24, 763), - Trans(9, 83, 24, 763), - Trans(9, 84, 24, 763), - Trans(9, 87, 24, 763), - Trans(9, 89, 24, 763), - Trans(9, 96, 24, 763), - Trans(9, 97, 24, 763), - Trans(9, 98, 24, 763), - Trans(9, 99, 24, 763), - Trans(9, 100, 24, 763), - Trans(9, 105, 24, 763), - Trans(9, 107, 24, 763), - Trans(9, 109, 24, 763), - Trans(9, 110, 24, 763), - Trans(9, 111, 24, 763), - Trans(9, 115, 24, 763), - Trans(9, 116, 24, 763), - Trans(10, 5, 24, 763), - Trans(10, 48, 24, 763), - Trans(10, 116, 24, 763), - Trans(11, 5, 24, 763), - Trans(11, 6, 24, 763), - Trans(11, 7, 24, 763), - Trans(11, 8, 24, 763), - Trans(11, 9, 24, 763), - Trans(11, 10, 24, 763), - Trans(11, 11, 24, 763), - Trans(11, 18, 24, 763), - Trans(11, 24, 24, 763), - Trans(11, 25, 24, 763), - Trans(11, 26, 24, 763), - Trans(11, 27, 24, 763), - Trans(11, 39, 24, 763), - Trans(11, 40, 24, 763), - Trans(11, 42, 24, 763), - Trans(11, 53, 24, 763), - Trans(11, 54, 24, 763), - Trans(11, 55, 24, 763), - Trans(11, 56, 24, 763), - Trans(11, 57, 24, 763), - Trans(11, 64, 24, 763), - Trans(11, 65, 24, 763), - Trans(11, 67, 24, 763), - Trans(11, 69, 24, 763), - Trans(11, 70, 24, 763), - Trans(11, 71, 24, 763), - Trans(11, 72, 24, 763), - Trans(11, 78, 24, 763), - Trans(11, 83, 24, 763), - Trans(11, 84, 24, 763), - Trans(11, 87, 24, 763), - Trans(11, 89, 24, 763), - Trans(11, 96, 24, 763), - Trans(11, 97, 24, 763), - Trans(11, 98, 24, 763), - Trans(11, 99, 24, 763), - Trans(11, 100, 24, 763), - Trans(11, 101, 24, 763), - Trans(11, 102, 24, 763), - Trans(11, 105, 24, 763), - Trans(11, 107, 24, 763), - Trans(11, 109, 24, 763), - Trans(11, 110, 24, 763), - Trans(11, 111, 24, 763), - Trans(11, 115, 24, 763), - Trans(11, 116, 24, 763), - Trans(12, 5, 24, 763), - Trans(12, 6, 24, 763), - Trans(12, 7, 24, 763), - Trans(12, 8, 24, 763), - Trans(12, 9, 24, 763), - Trans(12, 10, 24, 763), - Trans(12, 11, 24, 763), - Trans(12, 18, 24, 763), - Trans(12, 24, 24, 763), - Trans(12, 25, 24, 763), - Trans(12, 26, 24, 763), - Trans(12, 27, 24, 763), - Trans(12, 37, 24, 763), - Trans(12, 39, 24, 763), - Trans(12, 40, 24, 763), - Trans(12, 42, 24, 763), - Trans(12, 43, 24, 763), - Trans(12, 44, 24, 763), - Trans(12, 46, 24, 763), - Trans(12, 53, 24, 763), - Trans(12, 54, 24, 763), - Trans(12, 55, 24, 763), - Trans(12, 56, 24, 763), - Trans(12, 57, 24, 763), - Trans(12, 58, 24, 763), - Trans(12, 59, 24, 763), - Trans(12, 64, 24, 763), - Trans(12, 65, 24, 763), - Trans(12, 69, 24, 763), - Trans(12, 70, 24, 763), - Trans(12, 72, 24, 763), - Trans(12, 78, 24, 763), - Trans(12, 83, 24, 763), - Trans(12, 84, 24, 763), - Trans(12, 87, 24, 763), - Trans(12, 89, 24, 763), - Trans(12, 91, 24, 763), - Trans(12, 96, 24, 763), - Trans(12, 97, 24, 763), - Trans(12, 98, 24, 763), - Trans(12, 99, 24, 763), - Trans(12, 100, 24, 763), - Trans(12, 105, 24, 763), - Trans(12, 107, 24, 763), - Trans(12, 109, 24, 763), - Trans(12, 110, 24, 763), - Trans(12, 111, 24, 763), - Trans(12, 115, 24, 763), - Trans(12, 116, 24, 763), - Trans(13, 5, 24, 763), - Trans(13, 116, 24, 763), - Trans(14, 5, 24, 763), - Trans(14, 42, 24, 763), - Trans(15, 5, 24, 763), - Trans(15, 6, 24, 763), - Trans(15, 7, 24, 763), - Trans(15, 8, 24, 763), - Trans(15, 9, 24, 763), - Trans(15, 10, 24, 763), - Trans(15, 11, 24, 763), - Trans(15, 18, 24, 763), - Trans(15, 24, 24, 763), - Trans(15, 25, 24, 763), - Trans(15, 26, 24, 763), - Trans(15, 27, 24, 763), - Trans(15, 31, 24, 763), - Trans(15, 37, 24, 763), - Trans(15, 39, 24, 763), - Trans(15, 40, 24, 763), - Trans(15, 42, 24, 763), - Trans(15, 44, 24, 763), - Trans(15, 49, 24, 763), - Trans(15, 50, 24, 763), - Trans(15, 51, 24, 763), - Trans(15, 53, 24, 763), - Trans(15, 54, 24, 763), - Trans(15, 55, 24, 763), - Trans(15, 56, 24, 763), - Trans(15, 57, 24, 763), - Trans(15, 58, 24, 763), - Trans(15, 59, 24, 763), - Trans(15, 62, 24, 763), - Trans(15, 64, 24, 763), - Trans(15, 65, 24, 763), - Trans(15, 66, 24, 763), - Trans(15, 67, 24, 763), - Trans(15, 68, 24, 763), - Trans(15, 69, 24, 763), - Trans(15, 70, 24, 763), - Trans(15, 71, 24, 763), - Trans(15, 72, 24, 763), - Trans(15, 73, 24, 763), - Trans(15, 75, 24, 763), - Trans(15, 78, 24, 763), - Trans(15, 79, 24, 763), - Trans(15, 82, 24, 763), - Trans(15, 83, 24, 763), - Trans(15, 84, 24, 763), - Trans(15, 87, 24, 763), - Trans(15, 89, 24, 763), - Trans(15, 96, 24, 763), - Trans(15, 97, 24, 763), - Trans(15, 98, 24, 763), - Trans(15, 99, 24, 763), - Trans(15, 100, 24, 763), - Trans(15, 101, 24, 763), - Trans(15, 102, 24, 763), - Trans(15, 105, 24, 763), - Trans(15, 106, 24, 763), - Trans(15, 107, 24, 763), - Trans(15, 109, 24, 763), - Trans(15, 110, 24, 763), - Trans(15, 111, 24, 763), - Trans(15, 112, 24, 763), - Trans(15, 113, 24, 763), - Trans(15, 114, 24, 763), - Trans(15, 115, 24, 763), - Trans(15, 116, 24, 763), - Trans(16, 5, 24, 763), - Trans(16, 6, 24, 763), - Trans(16, 7, 24, 763), - Trans(16, 8, 24, 763), - Trans(16, 9, 24, 763), - Trans(16, 10, 24, 763), - Trans(16, 11, 24, 763), - Trans(16, 18, 24, 763), - Trans(16, 24, 24, 763), - Trans(16, 25, 24, 763), - Trans(16, 26, 24, 763), - Trans(16, 27, 24, 763), - Trans(16, 37, 24, 763), - Trans(16, 39, 24, 763), - Trans(16, 40, 24, 763), - Trans(16, 42, 24, 763), - Trans(16, 46, 24, 763), - Trans(16, 53, 24, 763), - Trans(16, 54, 24, 763), - Trans(16, 55, 24, 763), - Trans(16, 56, 24, 763), - Trans(16, 57, 24, 763), - Trans(16, 64, 24, 763), - Trans(16, 65, 24, 763), - Trans(16, 69, 24, 763), - Trans(16, 70, 24, 763), - Trans(16, 72, 24, 763), - Trans(16, 78, 24, 763), - Trans(16, 83, 24, 763), - Trans(16, 84, 24, 763), - Trans(16, 87, 24, 763), - Trans(16, 89, 24, 763), - Trans(16, 96, 24, 763), - Trans(16, 97, 24, 763), - Trans(16, 98, 24, 763), - Trans(16, 99, 24, 763), - Trans(16, 100, 24, 763), - Trans(16, 105, 24, 763), - Trans(16, 107, 24, 763), - Trans(16, 109, 24, 763), - Trans(16, 110, 24, 763), - Trans(16, 111, 24, 763), - Trans(16, 115, 24, 763), - Trans(16, 116, 24, 763), - Trans(17, 5, 24, 763), - Trans(17, 12, 24, 763), - Trans(17, 13, 24, 763), - Trans(17, 14, 24, 763), - Trans(17, 15, 24, 763), - Trans(17, 16, 24, 763), - Trans(17, 17, 24, 763), - Trans(17, 18, 24, 763), - Trans(17, 19, 24, 763), - Trans(17, 20, 24, 763), - Trans(17, 21, 24, 763), - Trans(17, 22, 24, 763), - Trans(17, 23, 24, 763), - Trans(17, 24, 24, 763), - Trans(17, 25, 24, 763), - Trans(17, 26, 24, 763), - Trans(17, 30, 24, 763), - Trans(17, 31, 24, 763), - Trans(17, 32, 24, 763), - Trans(17, 33, 24, 763), - Trans(17, 34, 24, 763), - Trans(17, 35, 24, 763), - Trans(17, 36, 24, 763), - Trans(17, 37, 24, 763), - Trans(17, 38, 24, 763), - Trans(17, 40, 24, 763), - Trans(17, 41, 24, 763), - Trans(17, 42, 24, 763), - Trans(17, 43, 24, 763), - Trans(17, 44, 24, 763), - Trans(17, 45, 24, 763), - Trans(17, 46, 24, 763), - Trans(17, 47, 24, 763), - Trans(17, 48, 24, 763), - Trans(17, 52, 24, 763), - Trans(17, 67, 24, 763), - Trans(17, 81, 24, 763), - Trans(17, 95, 24, 763), - Trans(17, 104, 24, 763), - Trans(18, 5, 24, 763), - Trans(18, 12, 24, 763), - Trans(18, 14, 24, 763), - Trans(18, 16, 24, 763), - Trans(18, 17, 24, 763), - Trans(18, 18, 24, 763), - Trans(18, 19, 24, 763), - Trans(18, 20, 24, 763), - Trans(18, 21, 24, 763), - Trans(18, 22, 24, 763), - Trans(18, 23, 24, 763), - Trans(18, 24, 24, 763), - Trans(18, 25, 24, 763), - Trans(18, 26, 24, 763), - Trans(18, 31, 24, 763), - Trans(18, 32, 24, 763), - Trans(18, 33, 24, 763), - Trans(18, 34, 24, 763), - Trans(18, 37, 24, 763), - Trans(18, 40, 24, 763), - Trans(18, 43, 24, 763), - Trans(18, 44, 24, 763), - Trans(18, 45, 24, 763), - Trans(18, 46, 24, 763), - Trans(18, 47, 24, 763), - Trans(18, 48, 24, 763), - Trans(18, 49, 24, 763), - Trans(18, 50, 24, 763), - Trans(18, 51, 24, 763), - Trans(18, 52, 24, 763), - Trans(18, 58, 24, 763), - Trans(18, 60, 24, 763), - Trans(18, 62, 24, 763), - Trans(18, 63, 24, 763), - Trans(18, 66, 24, 763), - Trans(18, 67, 24, 763), - Trans(18, 68, 24, 763), - Trans(18, 72, 24, 763), - Trans(18, 73, 24, 763), - Trans(18, 75, 24, 763), - Trans(18, 79, 24, 763), - Trans(18, 82, 24, 763), - Trans(18, 85, 24, 763), - Trans(18, 95, 24, 763), - Trans(18, 104, 24, 763), - Trans(18, 106, 24, 763), - Trans(18, 109, 24, 763), - Trans(18, 112, 24, 763), - Trans(18, 113, 24, 763), - Trans(18, 114, 24, 763), - Trans(19, 5, 24, 763), - Trans(19, 12, 24, 763), - Trans(19, 14, 24, 763), - Trans(19, 15, 24, 763), - Trans(19, 16, 24, 763), - Trans(19, 17, 24, 763), - Trans(19, 18, 24, 763), - Trans(19, 19, 24, 763), - Trans(19, 20, 24, 763), - Trans(19, 21, 24, 763), - Trans(19, 22, 24, 763), - Trans(19, 23, 24, 763), - Trans(19, 24, 24, 763), - Trans(19, 25, 24, 763), - Trans(19, 26, 24, 763), - Trans(19, 31, 24, 763), - Trans(19, 32, 24, 763), - Trans(19, 33, 24, 763), - Trans(19, 34, 24, 763), - Trans(19, 35, 24, 763), - Trans(19, 36, 24, 763), - Trans(19, 37, 24, 763), - Trans(19, 40, 24, 763), - Trans(19, 41, 24, 763), - Trans(19, 42, 24, 763), - Trans(19, 43, 24, 763), - Trans(19, 44, 24, 763), - Trans(19, 45, 24, 763), - Trans(19, 46, 24, 763), - Trans(19, 47, 24, 763), - Trans(19, 48, 24, 763), - Trans(19, 52, 24, 763), - Trans(19, 95, 24, 763), - Trans(19, 104, 24, 763), - Trans(20, 5, 24, 763), - Trans(20, 12, 24, 763), - Trans(20, 13, 24, 763), - Trans(20, 14, 24, 763), - Trans(20, 16, 24, 763), - Trans(20, 17, 24, 763), - Trans(20, 18, 24, 763), - Trans(20, 19, 24, 763), - Trans(20, 20, 24, 763), - Trans(20, 21, 24, 763), - Trans(20, 22, 24, 763), - Trans(20, 23, 24, 763), - Trans(20, 24, 24, 763), - Trans(20, 25, 24, 763), - Trans(20, 26, 24, 763), - Trans(20, 31, 24, 763), - Trans(20, 32, 24, 763), - Trans(20, 33, 24, 763), - Trans(20, 34, 24, 763), - Trans(20, 40, 24, 763), - Trans(20, 42, 24, 763), - Trans(20, 43, 24, 763), - Trans(20, 44, 24, 763), - Trans(20, 45, 24, 763), - Trans(20, 46, 24, 763), - Trans(20, 47, 24, 763), - Trans(20, 48, 24, 763), - Trans(20, 52, 24, 763), - Trans(20, 95, 24, 763), - Trans(20, 104, 24, 763), - Trans(21, 0, 24, 763), - Trans(21, 5, 24, 763), - Trans(21, 6, 24, 763), - Trans(21, 7, 24, 763), - Trans(21, 8, 24, 763), - Trans(21, 9, 24, 763), - Trans(21, 10, 24, 763), - Trans(21, 11, 24, 763), - Trans(21, 18, 24, 763), - Trans(21, 24, 24, 763), - Trans(21, 25, 24, 763), - Trans(21, 26, 24, 763), - Trans(21, 27, 24, 763), - Trans(21, 31, 24, 763), - Trans(21, 37, 24, 763), - Trans(21, 39, 24, 763), - Trans(21, 40, 24, 763), - Trans(21, 42, 24, 763), - Trans(21, 44, 24, 763), - Trans(21, 49, 24, 763), - Trans(21, 50, 24, 763), - Trans(21, 51, 24, 763), - Trans(21, 53, 24, 763), - Trans(21, 54, 24, 763), - Trans(21, 55, 24, 763), - Trans(21, 56, 24, 763), - Trans(21, 57, 24, 763), - Trans(21, 58, 24, 763), - Trans(21, 59, 24, 763), - Trans(21, 61, 24, 763), - Trans(21, 62, 24, 763), - Trans(21, 63, 24, 763), - Trans(21, 64, 24, 763), - Trans(21, 65, 24, 763), - Trans(21, 66, 24, 763), - Trans(21, 67, 24, 763), - Trans(21, 68, 24, 763), - Trans(21, 69, 24, 763), - Trans(21, 70, 24, 763), - Trans(21, 71, 24, 763), - Trans(21, 72, 24, 763), - Trans(21, 73, 24, 763), - Trans(21, 74, 24, 763), - Trans(21, 75, 24, 763), - Trans(21, 78, 24, 763), - Trans(21, 79, 24, 763), - Trans(21, 80, 24, 763), - Trans(21, 82, 24, 763), - Trans(21, 83, 24, 763), - Trans(21, 84, 24, 763), - Trans(21, 85, 24, 763), - Trans(21, 86, 24, 763), - Trans(21, 87, 24, 763), - Trans(21, 89, 24, 763), - Trans(21, 90, 24, 763), - Trans(21, 92, 24, 763), - Trans(21, 93, 24, 763), - Trans(21, 96, 24, 763), - Trans(21, 97, 24, 763), - Trans(21, 98, 24, 763), - Trans(21, 99, 24, 763), - Trans(21, 100, 24, 763), - Trans(21, 101, 24, 763), - Trans(21, 102, 24, 763), - Trans(21, 105, 24, 763), - Trans(21, 106, 24, 763), - Trans(21, 107, 24, 763), - Trans(21, 109, 24, 763), - Trans(21, 110, 24, 763), - Trans(21, 111, 24, 763), - Trans(21, 112, 24, 763), - Trans(21, 113, 24, 763), - Trans(21, 114, 24, 763), - Trans(21, 115, 24, 763), - Trans(21, 116, 24, 763), - Trans(22, 5, 24, 763), - Trans(22, 55, 24, 763), - Trans(22, 56, 24, 763), - Trans(22, 57, 24, 763), - Trans(22, 64, 24, 763), - Trans(22, 65, 24, 763), - Trans(22, 69, 24, 763), - Trans(22, 70, 24, 763), - Trans(22, 96, 24, 763), - Trans(22, 97, 24, 763), - Trans(22, 98, 24, 763), - Trans(22, 99, 24, 763), - Trans(22, 100, 24, 763), - Trans(22, 110, 24, 763), - Trans(22, 111, 24, 763), - Trans(22, 115, 24, 763), - Trans(22, 116, 24, 763), - Trans(23, 5, 24, 763), - Trans(23, 6, 24, 763), - Trans(23, 7, 24, 763), - Trans(23, 8, 24, 763), - Trans(23, 9, 24, 763), - Trans(23, 10, 24, 763), - Trans(23, 11, 24, 763), - Trans(23, 15, 24, 763), - Trans(23, 18, 24, 763), - Trans(23, 24, 24, 763), - Trans(23, 25, 24, 763), - Trans(23, 26, 24, 763), - Trans(23, 27, 24, 763), - Trans(23, 39, 24, 763), - Trans(23, 40, 24, 763), - Trans(23, 42, 24, 763), - Trans(23, 53, 24, 763), - Trans(23, 54, 24, 763), - Trans(23, 55, 24, 763), - Trans(23, 56, 24, 763), - Trans(23, 57, 24, 763), - Trans(23, 64, 24, 763), - Trans(23, 65, 24, 763), - Trans(23, 69, 24, 763), - Trans(23, 70, 24, 763), - Trans(23, 72, 24, 763), - Trans(23, 78, 24, 763), - Trans(23, 83, 24, 763), - Trans(23, 84, 24, 763), - Trans(23, 87, 24, 763), - Trans(23, 89, 24, 763), - Trans(23, 96, 24, 763), - Trans(23, 97, 24, 763), - Trans(23, 98, 24, 763), - Trans(23, 99, 24, 763), - Trans(23, 100, 24, 763), - Trans(23, 105, 24, 763), - Trans(23, 107, 24, 763), - Trans(23, 109, 24, 763), - Trans(23, 110, 24, 763), - Trans(23, 111, 24, 763), - Trans(23, 115, 24, 763), - Trans(23, 116, 24, 763), - Trans(25, 5, 24, 763), - Trans(25, 12, 24, 763), - Trans(25, 14, 24, 763), - Trans(25, 15, 24, 763), - Trans(25, 16, 24, 763), - Trans(25, 17, 24, 763), - Trans(25, 18, 24, 763), - Trans(25, 19, 24, 763), - Trans(25, 20, 24, 763), - Trans(25, 21, 24, 763), - Trans(25, 22, 24, 763), - Trans(25, 23, 24, 763), - Trans(25, 24, 24, 763), - Trans(25, 25, 24, 763), - Trans(25, 26, 24, 763), - Trans(25, 30, 24, 763), - Trans(25, 31, 24, 763), - Trans(25, 32, 24, 763), - Trans(25, 33, 24, 763), - Trans(25, 34, 24, 763), - Trans(25, 35, 24, 763), - Trans(25, 36, 24, 763), - Trans(25, 37, 24, 763), - Trans(25, 38, 24, 763), - Trans(25, 40, 24, 763), - Trans(25, 41, 24, 763), - Trans(25, 42, 24, 763), - Trans(25, 43, 24, 763), - Trans(25, 44, 24, 763), - Trans(25, 45, 24, 763), - Trans(25, 46, 24, 763), - Trans(25, 47, 24, 763), - Trans(25, 48, 24, 763), - Trans(25, 52, 24, 763), - Trans(25, 81, 24, 763), - Trans(25, 95, 24, 763), - Trans(25, 104, 24, 763), + Trans(8, 12, 24, 770), + Trans(8, 14, 24, 770), + Trans(8, 15, 24, 770), + Trans(8, 16, 24, 770), + Trans(8, 17, 24, 770), + Trans(8, 18, 24, 770), + Trans(8, 19, 24, 770), + Trans(8, 20, 24, 770), + Trans(8, 21, 24, 770), + Trans(8, 22, 24, 770), + Trans(8, 23, 24, 770), + Trans(8, 24, 24, 770), + Trans(8, 25, 24, 770), + Trans(8, 26, 24, 770), + Trans(8, 30, 24, 770), + Trans(8, 31, 24, 770), + Trans(8, 32, 24, 770), + Trans(8, 33, 24, 770), + Trans(8, 34, 24, 770), + Trans(8, 35, 24, 770), + Trans(8, 36, 24, 770), + Trans(8, 37, 24, 770), + Trans(8, 38, 24, 770), + Trans(8, 40, 24, 770), + Trans(8, 41, 24, 770), + Trans(8, 42, 24, 770), + Trans(8, 43, 24, 770), + Trans(8, 44, 24, 770), + Trans(8, 45, 24, 770), + Trans(8, 46, 24, 770), + Trans(8, 47, 24, 770), + Trans(8, 48, 24, 770), + Trans(8, 52, 24, 770), + Trans(8, 81, 24, 770), + Trans(8, 95, 24, 770), + Trans(8, 104, 24, 770), + Trans(9, 5, 24, 770), + Trans(9, 6, 24, 770), + Trans(9, 7, 24, 770), + Trans(9, 8, 24, 770), + Trans(9, 9, 24, 770), + Trans(9, 10, 24, 770), + Trans(9, 11, 24, 770), + Trans(9, 18, 24, 770), + Trans(9, 24, 24, 770), + Trans(9, 25, 24, 770), + Trans(9, 26, 24, 770), + Trans(9, 27, 24, 770), + Trans(9, 39, 24, 770), + Trans(9, 40, 24, 770), + Trans(9, 42, 24, 770), + Trans(9, 53, 24, 770), + Trans(9, 54, 24, 770), + Trans(9, 55, 24, 770), + Trans(9, 56, 24, 770), + Trans(9, 57, 24, 770), + Trans(9, 64, 24, 770), + Trans(9, 65, 24, 770), + Trans(9, 69, 24, 770), + Trans(9, 70, 24, 770), + Trans(9, 72, 24, 770), + Trans(9, 78, 24, 770), + Trans(9, 83, 24, 770), + Trans(9, 84, 24, 770), + Trans(9, 87, 24, 770), + Trans(9, 89, 24, 770), + Trans(9, 96, 24, 770), + Trans(9, 97, 24, 770), + Trans(9, 98, 24, 770), + Trans(9, 99, 24, 770), + Trans(9, 100, 24, 770), + Trans(9, 105, 24, 770), + Trans(9, 107, 24, 770), + Trans(9, 109, 24, 770), + Trans(9, 110, 24, 770), + Trans(9, 111, 24, 770), + Trans(9, 115, 24, 770), + Trans(9, 116, 24, 770), + Trans(10, 5, 24, 770), + Trans(10, 48, 24, 770), + Trans(10, 116, 24, 770), + Trans(11, 5, 24, 770), + Trans(11, 6, 24, 770), + Trans(11, 7, 24, 770), + Trans(11, 8, 24, 770), + Trans(11, 9, 24, 770), + Trans(11, 10, 24, 770), + Trans(11, 11, 24, 770), + Trans(11, 18, 24, 770), + Trans(11, 24, 24, 770), + Trans(11, 25, 24, 770), + Trans(11, 26, 24, 770), + Trans(11, 27, 24, 770), + Trans(11, 39, 24, 770), + Trans(11, 40, 24, 770), + Trans(11, 42, 24, 770), + Trans(11, 53, 24, 770), + Trans(11, 54, 24, 770), + Trans(11, 55, 24, 770), + Trans(11, 56, 24, 770), + Trans(11, 57, 24, 770), + Trans(11, 64, 24, 770), + Trans(11, 65, 24, 770), + Trans(11, 67, 24, 770), + Trans(11, 69, 24, 770), + Trans(11, 70, 24, 770), + Trans(11, 71, 24, 770), + Trans(11, 72, 24, 770), + Trans(11, 78, 24, 770), + Trans(11, 83, 24, 770), + Trans(11, 84, 24, 770), + Trans(11, 87, 24, 770), + Trans(11, 89, 24, 770), + Trans(11, 96, 24, 770), + Trans(11, 97, 24, 770), + Trans(11, 98, 24, 770), + Trans(11, 99, 24, 770), + Trans(11, 100, 24, 770), + Trans(11, 101, 24, 770), + Trans(11, 102, 24, 770), + Trans(11, 105, 24, 770), + Trans(11, 107, 24, 770), + Trans(11, 109, 24, 770), + Trans(11, 110, 24, 770), + Trans(11, 111, 24, 770), + Trans(11, 115, 24, 770), + Trans(11, 116, 24, 770), + Trans(12, 5, 24, 770), + Trans(12, 6, 24, 770), + Trans(12, 7, 24, 770), + Trans(12, 8, 24, 770), + Trans(12, 9, 24, 770), + Trans(12, 10, 24, 770), + Trans(12, 11, 24, 770), + Trans(12, 18, 24, 770), + Trans(12, 24, 24, 770), + Trans(12, 25, 24, 770), + Trans(12, 26, 24, 770), + Trans(12, 27, 24, 770), + Trans(12, 37, 24, 770), + Trans(12, 39, 24, 770), + Trans(12, 40, 24, 770), + Trans(12, 42, 24, 770), + Trans(12, 43, 24, 770), + Trans(12, 44, 24, 770), + Trans(12, 46, 24, 770), + Trans(12, 53, 24, 770), + Trans(12, 54, 24, 770), + Trans(12, 55, 24, 770), + Trans(12, 56, 24, 770), + Trans(12, 57, 24, 770), + Trans(12, 58, 24, 770), + Trans(12, 59, 24, 770), + Trans(12, 64, 24, 770), + Trans(12, 65, 24, 770), + Trans(12, 69, 24, 770), + Trans(12, 70, 24, 770), + Trans(12, 72, 24, 770), + Trans(12, 78, 24, 770), + Trans(12, 83, 24, 770), + Trans(12, 84, 24, 770), + Trans(12, 87, 24, 770), + Trans(12, 89, 24, 770), + Trans(12, 91, 24, 770), + Trans(12, 96, 24, 770), + Trans(12, 97, 24, 770), + Trans(12, 98, 24, 770), + Trans(12, 99, 24, 770), + Trans(12, 100, 24, 770), + Trans(12, 105, 24, 770), + Trans(12, 107, 24, 770), + Trans(12, 109, 24, 770), + Trans(12, 110, 24, 770), + Trans(12, 111, 24, 770), + Trans(12, 115, 24, 770), + Trans(12, 116, 24, 770), + Trans(13, 5, 24, 770), + Trans(13, 116, 24, 770), + Trans(14, 5, 24, 770), + Trans(14, 42, 24, 770), + Trans(15, 5, 24, 770), + Trans(15, 6, 24, 770), + Trans(15, 7, 24, 770), + Trans(15, 8, 24, 770), + Trans(15, 9, 24, 770), + Trans(15, 10, 24, 770), + Trans(15, 11, 24, 770), + Trans(15, 18, 24, 770), + Trans(15, 24, 24, 770), + Trans(15, 25, 24, 770), + Trans(15, 26, 24, 770), + Trans(15, 27, 24, 770), + Trans(15, 31, 24, 770), + Trans(15, 37, 24, 770), + Trans(15, 39, 24, 770), + Trans(15, 40, 24, 770), + Trans(15, 42, 24, 770), + Trans(15, 44, 24, 770), + Trans(15, 49, 24, 770), + Trans(15, 50, 24, 770), + Trans(15, 51, 24, 770), + Trans(15, 53, 24, 770), + Trans(15, 54, 24, 770), + Trans(15, 55, 24, 770), + Trans(15, 56, 24, 770), + Trans(15, 57, 24, 770), + Trans(15, 58, 24, 770), + Trans(15, 59, 24, 770), + Trans(15, 62, 24, 770), + Trans(15, 64, 24, 770), + Trans(15, 65, 24, 770), + Trans(15, 66, 24, 770), + Trans(15, 67, 24, 770), + Trans(15, 68, 24, 770), + Trans(15, 69, 24, 770), + Trans(15, 70, 24, 770), + Trans(15, 71, 24, 770), + Trans(15, 72, 24, 770), + Trans(15, 73, 24, 770), + Trans(15, 75, 24, 770), + Trans(15, 78, 24, 770), + Trans(15, 79, 24, 770), + Trans(15, 82, 24, 770), + Trans(15, 83, 24, 770), + Trans(15, 84, 24, 770), + Trans(15, 87, 24, 770), + Trans(15, 89, 24, 770), + Trans(15, 96, 24, 770), + Trans(15, 97, 24, 770), + Trans(15, 98, 24, 770), + Trans(15, 99, 24, 770), + Trans(15, 100, 24, 770), + Trans(15, 101, 24, 770), + Trans(15, 102, 24, 770), + Trans(15, 105, 24, 770), + Trans(15, 106, 24, 770), + Trans(15, 107, 24, 770), + Trans(15, 109, 24, 770), + Trans(15, 110, 24, 770), + Trans(15, 111, 24, 770), + Trans(15, 112, 24, 770), + Trans(15, 113, 24, 770), + Trans(15, 114, 24, 770), + Trans(15, 115, 24, 770), + Trans(15, 116, 24, 770), + Trans(16, 5, 24, 770), + Trans(16, 6, 24, 770), + Trans(16, 7, 24, 770), + Trans(16, 8, 24, 770), + Trans(16, 9, 24, 770), + Trans(16, 10, 24, 770), + Trans(16, 11, 24, 770), + Trans(16, 18, 24, 770), + Trans(16, 24, 24, 770), + Trans(16, 25, 24, 770), + Trans(16, 26, 24, 770), + Trans(16, 27, 24, 770), + Trans(16, 37, 24, 770), + Trans(16, 39, 24, 770), + Trans(16, 40, 24, 770), + Trans(16, 42, 24, 770), + Trans(16, 46, 24, 770), + Trans(16, 53, 24, 770), + Trans(16, 54, 24, 770), + Trans(16, 55, 24, 770), + Trans(16, 56, 24, 770), + Trans(16, 57, 24, 770), + Trans(16, 64, 24, 770), + Trans(16, 65, 24, 770), + Trans(16, 69, 24, 770), + Trans(16, 70, 24, 770), + Trans(16, 72, 24, 770), + Trans(16, 78, 24, 770), + Trans(16, 83, 24, 770), + Trans(16, 84, 24, 770), + Trans(16, 87, 24, 770), + Trans(16, 89, 24, 770), + Trans(16, 96, 24, 770), + Trans(16, 97, 24, 770), + Trans(16, 98, 24, 770), + Trans(16, 99, 24, 770), + Trans(16, 100, 24, 770), + Trans(16, 105, 24, 770), + Trans(16, 107, 24, 770), + Trans(16, 109, 24, 770), + Trans(16, 110, 24, 770), + Trans(16, 111, 24, 770), + Trans(16, 115, 24, 770), + Trans(16, 116, 24, 770), + Trans(17, 5, 24, 770), + Trans(17, 12, 24, 770), + Trans(17, 13, 24, 770), + Trans(17, 14, 24, 770), + Trans(17, 15, 24, 770), + Trans(17, 16, 24, 770), + Trans(17, 17, 24, 770), + Trans(17, 18, 24, 770), + Trans(17, 19, 24, 770), + Trans(17, 20, 24, 770), + Trans(17, 21, 24, 770), + Trans(17, 22, 24, 770), + Trans(17, 23, 24, 770), + Trans(17, 24, 24, 770), + Trans(17, 25, 24, 770), + Trans(17, 26, 24, 770), + Trans(17, 30, 24, 770), + Trans(17, 31, 24, 770), + Trans(17, 32, 24, 770), + Trans(17, 33, 24, 770), + Trans(17, 34, 24, 770), + Trans(17, 35, 24, 770), + Trans(17, 36, 24, 770), + Trans(17, 37, 24, 770), + Trans(17, 38, 24, 770), + Trans(17, 40, 24, 770), + Trans(17, 41, 24, 770), + Trans(17, 42, 24, 770), + Trans(17, 43, 24, 770), + Trans(17, 44, 24, 770), + Trans(17, 45, 24, 770), + Trans(17, 46, 24, 770), + Trans(17, 47, 24, 770), + Trans(17, 48, 24, 770), + Trans(17, 52, 24, 770), + Trans(17, 67, 24, 770), + Trans(17, 81, 24, 770), + Trans(17, 95, 24, 770), + Trans(17, 104, 24, 770), + Trans(18, 5, 24, 770), + Trans(18, 12, 24, 770), + Trans(18, 14, 24, 770), + Trans(18, 16, 24, 770), + Trans(18, 17, 24, 770), + Trans(18, 18, 24, 770), + Trans(18, 19, 24, 770), + Trans(18, 20, 24, 770), + Trans(18, 21, 24, 770), + Trans(18, 22, 24, 770), + Trans(18, 23, 24, 770), + Trans(18, 24, 24, 770), + Trans(18, 25, 24, 770), + Trans(18, 26, 24, 770), + Trans(18, 31, 24, 770), + Trans(18, 32, 24, 770), + Trans(18, 33, 24, 770), + Trans(18, 34, 24, 770), + Trans(18, 37, 24, 770), + Trans(18, 40, 24, 770), + Trans(18, 43, 24, 770), + Trans(18, 44, 24, 770), + Trans(18, 45, 24, 770), + Trans(18, 46, 24, 770), + Trans(18, 47, 24, 770), + Trans(18, 48, 24, 770), + Trans(18, 49, 24, 770), + Trans(18, 50, 24, 770), + Trans(18, 51, 24, 770), + Trans(18, 52, 24, 770), + Trans(18, 58, 24, 770), + Trans(18, 60, 24, 770), + Trans(18, 62, 24, 770), + Trans(18, 63, 24, 770), + Trans(18, 66, 24, 770), + Trans(18, 67, 24, 770), + Trans(18, 68, 24, 770), + Trans(18, 72, 24, 770), + Trans(18, 73, 24, 770), + Trans(18, 75, 24, 770), + Trans(18, 79, 24, 770), + Trans(18, 82, 24, 770), + Trans(18, 85, 24, 770), + Trans(18, 95, 24, 770), + Trans(18, 104, 24, 770), + Trans(18, 106, 24, 770), + Trans(18, 109, 24, 770), + Trans(18, 112, 24, 770), + Trans(18, 113, 24, 770), + Trans(18, 114, 24, 770), + Trans(19, 5, 24, 770), + Trans(19, 12, 24, 770), + Trans(19, 14, 24, 770), + Trans(19, 15, 24, 770), + Trans(19, 16, 24, 770), + Trans(19, 17, 24, 770), + Trans(19, 18, 24, 770), + Trans(19, 19, 24, 770), + Trans(19, 20, 24, 770), + Trans(19, 21, 24, 770), + Trans(19, 22, 24, 770), + Trans(19, 23, 24, 770), + Trans(19, 24, 24, 770), + Trans(19, 25, 24, 770), + Trans(19, 26, 24, 770), + Trans(19, 31, 24, 770), + Trans(19, 32, 24, 770), + Trans(19, 33, 24, 770), + Trans(19, 34, 24, 770), + Trans(19, 35, 24, 770), + Trans(19, 36, 24, 770), + Trans(19, 37, 24, 770), + Trans(19, 40, 24, 770), + Trans(19, 41, 24, 770), + Trans(19, 42, 24, 770), + Trans(19, 43, 24, 770), + Trans(19, 44, 24, 770), + Trans(19, 45, 24, 770), + Trans(19, 46, 24, 770), + Trans(19, 47, 24, 770), + Trans(19, 48, 24, 770), + Trans(19, 52, 24, 770), + Trans(19, 95, 24, 770), + Trans(19, 104, 24, 770), + Trans(20, 5, 24, 770), + Trans(20, 12, 24, 770), + Trans(20, 13, 24, 770), + Trans(20, 14, 24, 770), + Trans(20, 16, 24, 770), + Trans(20, 17, 24, 770), + Trans(20, 18, 24, 770), + Trans(20, 19, 24, 770), + Trans(20, 20, 24, 770), + Trans(20, 21, 24, 770), + Trans(20, 22, 24, 770), + Trans(20, 23, 24, 770), + Trans(20, 24, 24, 770), + Trans(20, 25, 24, 770), + Trans(20, 26, 24, 770), + Trans(20, 31, 24, 770), + Trans(20, 32, 24, 770), + Trans(20, 33, 24, 770), + Trans(20, 34, 24, 770), + Trans(20, 40, 24, 770), + Trans(20, 42, 24, 770), + Trans(20, 43, 24, 770), + Trans(20, 44, 24, 770), + Trans(20, 45, 24, 770), + Trans(20, 46, 24, 770), + Trans(20, 47, 24, 770), + Trans(20, 48, 24, 770), + Trans(20, 52, 24, 770), + Trans(20, 95, 24, 770), + Trans(20, 104, 24, 770), + Trans(21, 0, 24, 770), + Trans(21, 5, 24, 770), + Trans(21, 6, 24, 770), + Trans(21, 7, 24, 770), + Trans(21, 8, 24, 770), + Trans(21, 9, 24, 770), + Trans(21, 10, 24, 770), + Trans(21, 11, 24, 770), + Trans(21, 18, 24, 770), + Trans(21, 24, 24, 770), + Trans(21, 25, 24, 770), + Trans(21, 26, 24, 770), + Trans(21, 27, 24, 770), + Trans(21, 31, 24, 770), + Trans(21, 37, 24, 770), + Trans(21, 39, 24, 770), + Trans(21, 40, 24, 770), + Trans(21, 42, 24, 770), + Trans(21, 44, 24, 770), + Trans(21, 49, 24, 770), + Trans(21, 50, 24, 770), + Trans(21, 51, 24, 770), + Trans(21, 53, 24, 770), + Trans(21, 54, 24, 770), + Trans(21, 55, 24, 770), + Trans(21, 56, 24, 770), + Trans(21, 57, 24, 770), + Trans(21, 58, 24, 770), + Trans(21, 59, 24, 770), + Trans(21, 61, 24, 770), + Trans(21, 62, 24, 770), + Trans(21, 63, 24, 770), + Trans(21, 64, 24, 770), + Trans(21, 65, 24, 770), + Trans(21, 66, 24, 770), + Trans(21, 67, 24, 770), + Trans(21, 68, 24, 770), + Trans(21, 69, 24, 770), + Trans(21, 70, 24, 770), + Trans(21, 71, 24, 770), + Trans(21, 72, 24, 770), + Trans(21, 73, 24, 770), + Trans(21, 74, 24, 770), + Trans(21, 75, 24, 770), + Trans(21, 78, 24, 770), + Trans(21, 79, 24, 770), + Trans(21, 80, 24, 770), + Trans(21, 82, 24, 770), + Trans(21, 83, 24, 770), + Trans(21, 84, 24, 770), + Trans(21, 85, 24, 770), + Trans(21, 86, 24, 770), + Trans(21, 87, 24, 770), + Trans(21, 89, 24, 770), + Trans(21, 90, 24, 770), + Trans(21, 92, 24, 770), + Trans(21, 93, 24, 770), + Trans(21, 96, 24, 770), + Trans(21, 97, 24, 770), + Trans(21, 98, 24, 770), + Trans(21, 99, 24, 770), + Trans(21, 100, 24, 770), + Trans(21, 101, 24, 770), + Trans(21, 102, 24, 770), + Trans(21, 105, 24, 770), + Trans(21, 106, 24, 770), + Trans(21, 107, 24, 770), + Trans(21, 109, 24, 770), + Trans(21, 110, 24, 770), + Trans(21, 111, 24, 770), + Trans(21, 112, 24, 770), + Trans(21, 113, 24, 770), + Trans(21, 114, 24, 770), + Trans(21, 115, 24, 770), + Trans(21, 116, 24, 770), + Trans(22, 5, 24, 770), + Trans(22, 55, 24, 770), + Trans(22, 56, 24, 770), + Trans(22, 57, 24, 770), + Trans(22, 64, 24, 770), + Trans(22, 65, 24, 770), + Trans(22, 69, 24, 770), + Trans(22, 70, 24, 770), + Trans(22, 96, 24, 770), + Trans(22, 97, 24, 770), + Trans(22, 98, 24, 770), + Trans(22, 99, 24, 770), + Trans(22, 100, 24, 770), + Trans(22, 110, 24, 770), + Trans(22, 111, 24, 770), + Trans(22, 115, 24, 770), + Trans(22, 116, 24, 770), + Trans(23, 5, 24, 770), + Trans(23, 6, 24, 770), + Trans(23, 7, 24, 770), + Trans(23, 8, 24, 770), + Trans(23, 9, 24, 770), + Trans(23, 10, 24, 770), + Trans(23, 11, 24, 770), + Trans(23, 15, 24, 770), + Trans(23, 18, 24, 770), + Trans(23, 24, 24, 770), + Trans(23, 25, 24, 770), + Trans(23, 26, 24, 770), + Trans(23, 27, 24, 770), + Trans(23, 39, 24, 770), + Trans(23, 40, 24, 770), + Trans(23, 42, 24, 770), + Trans(23, 53, 24, 770), + Trans(23, 54, 24, 770), + Trans(23, 55, 24, 770), + Trans(23, 56, 24, 770), + Trans(23, 57, 24, 770), + Trans(23, 64, 24, 770), + Trans(23, 65, 24, 770), + Trans(23, 69, 24, 770), + Trans(23, 70, 24, 770), + Trans(23, 72, 24, 770), + Trans(23, 78, 24, 770), + Trans(23, 83, 24, 770), + Trans(23, 84, 24, 770), + Trans(23, 87, 24, 770), + Trans(23, 89, 24, 770), + Trans(23, 96, 24, 770), + Trans(23, 97, 24, 770), + Trans(23, 98, 24, 770), + Trans(23, 99, 24, 770), + Trans(23, 100, 24, 770), + Trans(23, 105, 24, 770), + Trans(23, 107, 24, 770), + Trans(23, 109, 24, 770), + Trans(23, 110, 24, 770), + Trans(23, 111, 24, 770), + Trans(23, 115, 24, 770), + Trans(23, 116, 24, 770), + Trans(25, 5, 24, 770), + Trans(25, 12, 24, 770), + Trans(25, 14, 24, 770), + Trans(25, 15, 24, 770), + Trans(25, 16, 24, 770), + Trans(25, 17, 24, 770), + Trans(25, 18, 24, 770), + Trans(25, 19, 24, 770), + Trans(25, 20, 24, 770), + Trans(25, 21, 24, 770), + Trans(25, 22, 24, 770), + Trans(25, 23, 24, 770), + Trans(25, 24, 24, 770), + Trans(25, 25, 24, 770), + Trans(25, 26, 24, 770), + Trans(25, 30, 24, 770), + Trans(25, 31, 24, 770), + Trans(25, 32, 24, 770), + Trans(25, 33, 24, 770), + Trans(25, 34, 24, 770), + Trans(25, 35, 24, 770), + Trans(25, 36, 24, 770), + Trans(25, 37, 24, 770), + Trans(25, 38, 24, 770), + Trans(25, 40, 24, 770), + Trans(25, 41, 24, 770), + Trans(25, 42, 24, 770), + Trans(25, 43, 24, 770), + Trans(25, 44, 24, 770), + Trans(25, 45, 24, 770), + Trans(25, 46, 24, 770), + Trans(25, 47, 24, 770), + Trans(25, 48, 24, 770), + Trans(25, 52, 24, 770), + Trans(25, 81, 24, 770), + Trans(25, 95, 24, 770), + Trans(25, 104, 24, 770), ], k: 3, }, - /* 649 - "WithGenericArgumentListOpt" */ + /* 653 - "WithGenericArgumentListOpt" */ LookaheadDFA { prod0: -1, - transitions: &[Trans(0, 32, 1, 764), Trans(0, 43, 2, 765)], + transitions: &[Trans(0, 32, 1, 771), Trans(0, 43, 2, 772)], k: 1, }, - /* 650 - "WithGenericArgumentOpt" */ + /* 654 - "WithGenericArgumentOpt" */ LookaheadDFA { prod0: -1, transitions: &[ - Trans(0, 7, 1, 759), - Trans(0, 8, 1, 759), - Trans(0, 9, 1, 759), - Trans(0, 10, 1, 759), - Trans(0, 11, 1, 759), - Trans(0, 43, 2, 760), - Trans(0, 115, 1, 759), - Trans(0, 116, 1, 759), + Trans(0, 7, 1, 766), + Trans(0, 8, 1, 766), + Trans(0, 9, 1, 766), + Trans(0, 10, 1, 766), + Trans(0, 11, 1, 766), + Trans(0, 43, 2, 767), + Trans(0, 115, 1, 766), + Trans(0, 116, 1, 766), ], k: 1, }, - /* 651 - "WithGenericParameter" */ + /* 655 - "WithGenericParameter" */ LookaheadDFA { - prod0: 749, + prod0: 756, transitions: &[], k: 0, }, - /* 652 - "WithGenericParameterItem" */ + /* 656 - "WithGenericParameterItem" */ LookaheadDFA { - prod0: 755, + prod0: 762, transitions: &[], k: 0, }, - /* 653 - "WithGenericParameterItemOpt" */ + /* 657 - "WithGenericParameterItemOpt" */ LookaheadDFA { prod0: -1, transitions: &[ - Trans(0, 32, 2, 757), - Trans(0, 36, 1, 756), - Trans(0, 43, 2, 757), + Trans(0, 32, 2, 764), + Trans(0, 36, 1, 763), + Trans(0, 43, 2, 764), ], k: 1, }, - /* 654 - "WithGenericParameterList" */ + /* 658 - "WithGenericParameterList" */ LookaheadDFA { - prod0: 750, + prod0: 757, transitions: &[], k: 0, }, - /* 655 - "WithGenericParameterListList" */ + /* 659 - "WithGenericParameterListList" */ LookaheadDFA { prod0: -1, transitions: &[ @@ -20354,181 +20773,181 @@ pub const LOOKAHEAD_AUTOMATA: &[LookaheadDFA; 668] = &[ Trans(1, 5, 4, -1), Trans(1, 43, 13, -1), Trans(1, 116, 2, -1), - Trans(2, 5, 3, 751), - Trans(2, 31, 3, 751), - Trans(4, 43, 12, 752), - Trans(4, 116, 3, 751), + Trans(2, 5, 3, 758), + Trans(2, 31, 3, 758), + Trans(4, 43, 12, 759), + Trans(4, 116, 3, 758), Trans(5, 5, 6, -1), Trans(5, 13, 7, -1), Trans(5, 37, 8, -1), Trans(5, 40, 9, -1), Trans(5, 42, 10, -1), Trans(5, 67, 11, -1), - Trans(6, 13, 12, 752), - Trans(6, 37, 12, 752), - Trans(6, 40, 12, 752), - Trans(6, 42, 12, 752), - Trans(6, 67, 12, 752), - Trans(7, 5, 12, 752), - Trans(7, 53, 12, 752), - Trans(7, 55, 12, 752), - Trans(7, 56, 12, 752), - Trans(7, 57, 12, 752), - Trans(7, 64, 12, 752), - Trans(7, 65, 12, 752), - Trans(7, 69, 12, 752), - Trans(7, 70, 12, 752), - Trans(7, 83, 12, 752), - Trans(7, 96, 12, 752), - Trans(7, 97, 12, 752), - Trans(7, 98, 12, 752), - Trans(7, 99, 12, 752), - Trans(7, 100, 12, 752), - Trans(7, 103, 12, 752), - Trans(7, 105, 12, 752), - Trans(7, 108, 12, 752), - Trans(7, 110, 12, 752), - Trans(7, 111, 12, 752), - Trans(7, 115, 12, 752), - Trans(7, 116, 12, 752), - Trans(8, 5, 12, 752), - Trans(8, 42, 12, 752), - Trans(9, 5, 12, 752), - Trans(9, 31, 12, 752), - Trans(9, 37, 12, 752), - Trans(9, 40, 12, 752), - Trans(9, 44, 12, 752), - Trans(9, 49, 12, 752), - Trans(9, 50, 12, 752), - Trans(9, 51, 12, 752), - Trans(9, 54, 12, 752), - Trans(9, 58, 12, 752), - Trans(9, 62, 12, 752), - Trans(9, 63, 12, 752), - Trans(9, 66, 12, 752), - Trans(9, 67, 12, 752), - Trans(9, 68, 12, 752), - Trans(9, 71, 12, 752), - Trans(9, 72, 12, 752), - Trans(9, 73, 12, 752), - Trans(9, 75, 12, 752), - Trans(9, 79, 12, 752), - Trans(9, 82, 12, 752), - Trans(9, 85, 12, 752), - Trans(9, 101, 12, 752), - Trans(9, 102, 12, 752), - Trans(9, 106, 12, 752), - Trans(9, 107, 12, 752), - Trans(9, 109, 12, 752), - Trans(9, 112, 12, 752), - Trans(9, 113, 12, 752), - Trans(9, 114, 12, 752), - Trans(9, 115, 12, 752), - Trans(9, 116, 12, 752), - Trans(10, 5, 12, 752), - Trans(10, 37, 12, 752), - Trans(10, 40, 12, 752), - Trans(10, 46, 12, 752), - Trans(10, 116, 12, 752), - Trans(11, 5, 12, 752), - Trans(11, 115, 12, 752), - Trans(11, 116, 12, 752), - Trans(13, 5, 12, 752), - Trans(13, 13, 12, 752), - Trans(13, 37, 12, 752), - Trans(13, 40, 12, 752), - Trans(13, 42, 12, 752), - Trans(13, 67, 12, 752), + Trans(6, 13, 12, 759), + Trans(6, 37, 12, 759), + Trans(6, 40, 12, 759), + Trans(6, 42, 12, 759), + Trans(6, 67, 12, 759), + Trans(7, 5, 12, 759), + Trans(7, 53, 12, 759), + Trans(7, 55, 12, 759), + Trans(7, 56, 12, 759), + Trans(7, 57, 12, 759), + Trans(7, 64, 12, 759), + Trans(7, 65, 12, 759), + Trans(7, 69, 12, 759), + Trans(7, 70, 12, 759), + Trans(7, 83, 12, 759), + Trans(7, 96, 12, 759), + Trans(7, 97, 12, 759), + Trans(7, 98, 12, 759), + Trans(7, 99, 12, 759), + Trans(7, 100, 12, 759), + Trans(7, 103, 12, 759), + Trans(7, 105, 12, 759), + Trans(7, 108, 12, 759), + Trans(7, 110, 12, 759), + Trans(7, 111, 12, 759), + Trans(7, 115, 12, 759), + Trans(7, 116, 12, 759), + Trans(8, 5, 12, 759), + Trans(8, 42, 12, 759), + Trans(9, 5, 12, 759), + Trans(9, 31, 12, 759), + Trans(9, 37, 12, 759), + Trans(9, 40, 12, 759), + Trans(9, 44, 12, 759), + Trans(9, 49, 12, 759), + Trans(9, 50, 12, 759), + Trans(9, 51, 12, 759), + Trans(9, 54, 12, 759), + Trans(9, 58, 12, 759), + Trans(9, 62, 12, 759), + Trans(9, 63, 12, 759), + Trans(9, 66, 12, 759), + Trans(9, 67, 12, 759), + Trans(9, 68, 12, 759), + Trans(9, 71, 12, 759), + Trans(9, 72, 12, 759), + Trans(9, 73, 12, 759), + Trans(9, 75, 12, 759), + Trans(9, 79, 12, 759), + Trans(9, 82, 12, 759), + Trans(9, 85, 12, 759), + Trans(9, 101, 12, 759), + Trans(9, 102, 12, 759), + Trans(9, 106, 12, 759), + Trans(9, 107, 12, 759), + Trans(9, 109, 12, 759), + Trans(9, 112, 12, 759), + Trans(9, 113, 12, 759), + Trans(9, 114, 12, 759), + Trans(9, 115, 12, 759), + Trans(9, 116, 12, 759), + Trans(10, 5, 12, 759), + Trans(10, 37, 12, 759), + Trans(10, 40, 12, 759), + Trans(10, 46, 12, 759), + Trans(10, 116, 12, 759), + Trans(11, 5, 12, 759), + Trans(11, 115, 12, 759), + Trans(11, 116, 12, 759), + Trans(13, 5, 12, 759), + Trans(13, 13, 12, 759), + Trans(13, 37, 12, 759), + Trans(13, 40, 12, 759), + Trans(13, 42, 12, 759), + Trans(13, 67, 12, 759), ], k: 3, }, - /* 656 - "WithGenericParameterListOpt" */ + /* 660 - "WithGenericParameterListOpt" */ LookaheadDFA { prod0: -1, - transitions: &[Trans(0, 32, 1, 753), Trans(0, 43, 2, 754)], + transitions: &[Trans(0, 32, 1, 760), Trans(0, 43, 2, 761)], k: 1, }, - /* 657 - "WithParameter" */ + /* 661 - "WithParameter" */ LookaheadDFA { - prod0: 728, + prod0: 735, transitions: &[], k: 0, }, - /* 658 - "WithParameterGroup" */ + /* 662 - "WithParameterGroup" */ LookaheadDFA { - prod0: 736, + prod0: 743, transitions: &[], k: 0, }, - /* 659 - "WithParameterGroupGroup" */ + /* 663 - "WithParameterGroupGroup" */ LookaheadDFA { prod0: -1, transitions: &[ - Trans(0, 40, 1, 737), - Trans(0, 58, 2, 738), - Trans(0, 91, 2, 738), + Trans(0, 40, 1, 744), + Trans(0, 58, 2, 745), + Trans(0, 91, 2, 745), ], k: 1, }, - /* 660 - "WithParameterGroupList" */ + /* 664 - "WithParameterGroupList" */ LookaheadDFA { prod0: -1, transitions: &[ - Trans(0, 37, 1, 739), - Trans(0, 40, 2, 740), - Trans(0, 58, 2, 740), - Trans(0, 91, 2, 740), + Trans(0, 37, 1, 746), + Trans(0, 40, 2, 747), + Trans(0, 58, 2, 747), + Trans(0, 91, 2, 747), ], k: 1, }, - /* 661 - "WithParameterItem" */ + /* 665 - "WithParameterItem" */ LookaheadDFA { - prod0: 741, + prod0: 748, transitions: &[], k: 0, }, - /* 662 - "WithParameterItemGroup" */ + /* 666 - "WithParameterItemGroup" */ LookaheadDFA { prod0: -1, - transitions: &[Trans(0, 58, 2, 745), Trans(0, 91, 1, 744)], + transitions: &[Trans(0, 58, 2, 752), Trans(0, 91, 1, 751)], k: 1, }, - /* 663 - "WithParameterItemGroup0" */ + /* 667 - "WithParameterItemGroup0" */ LookaheadDFA { prod0: -1, transitions: &[ - Trans(0, 53, 1, 742), - Trans(0, 55, 1, 742), - Trans(0, 56, 1, 742), - Trans(0, 57, 1, 742), - Trans(0, 64, 1, 742), - Trans(0, 65, 1, 742), - Trans(0, 69, 1, 742), - Trans(0, 70, 1, 742), - Trans(0, 83, 1, 742), - Trans(0, 96, 1, 742), - Trans(0, 97, 1, 742), - Trans(0, 98, 1, 742), - Trans(0, 99, 1, 742), - Trans(0, 100, 1, 742), - Trans(0, 103, 1, 742), - Trans(0, 105, 1, 742), - Trans(0, 108, 1, 742), - Trans(0, 109, 2, 743), - Trans(0, 110, 1, 742), - Trans(0, 111, 1, 742), - Trans(0, 115, 1, 742), - Trans(0, 116, 1, 742), + Trans(0, 53, 1, 749), + Trans(0, 55, 1, 749), + Trans(0, 56, 1, 749), + Trans(0, 57, 1, 749), + Trans(0, 64, 1, 749), + Trans(0, 65, 1, 749), + Trans(0, 69, 1, 749), + Trans(0, 70, 1, 749), + Trans(0, 83, 1, 749), + Trans(0, 96, 1, 749), + Trans(0, 97, 1, 749), + Trans(0, 98, 1, 749), + Trans(0, 99, 1, 749), + Trans(0, 100, 1, 749), + Trans(0, 103, 1, 749), + Trans(0, 105, 1, 749), + Trans(0, 108, 1, 749), + Trans(0, 109, 2, 750), + Trans(0, 110, 1, 749), + Trans(0, 111, 1, 749), + Trans(0, 115, 1, 749), + Trans(0, 116, 1, 749), ], k: 1, }, - /* 664 - "WithParameterList" */ + /* 668 - "WithParameterList" */ LookaheadDFA { - prod0: 731, + prod0: 738, transitions: &[], k: 0, }, - /* 665 - "WithParameterListList" */ + /* 669 - "WithParameterListList" */ LookaheadDFA { prod0: -1, transitions: &[ @@ -20542,21 +20961,21 @@ pub const LOOKAHEAD_AUTOMATA: &[LookaheadDFA; 668] = &[ Trans(1, 46, 17, -1), Trans(1, 58, 5, -1), Trans(1, 91, 5, -1), - Trans(2, 5, 3, 732), - Trans(2, 41, 3, 732), - Trans(4, 5, 3, 732), - Trans(4, 37, 3, 732), - Trans(4, 40, 3, 732), - Trans(4, 58, 3, 732), - Trans(4, 91, 3, 732), - Trans(5, 5, 3, 732), - Trans(5, 116, 3, 732), - Trans(6, 37, 3, 732), - Trans(6, 40, 3, 732), - Trans(6, 44, 13, 733), - Trans(6, 46, 13, 733), - Trans(6, 58, 3, 732), - Trans(6, 91, 3, 732), + Trans(2, 5, 3, 739), + Trans(2, 41, 3, 739), + Trans(4, 5, 3, 739), + Trans(4, 37, 3, 739), + Trans(4, 40, 3, 739), + Trans(4, 58, 3, 739), + Trans(4, 91, 3, 739), + Trans(5, 5, 3, 739), + Trans(5, 116, 3, 739), + Trans(6, 37, 3, 739), + Trans(6, 40, 3, 739), + Trans(6, 44, 13, 740), + Trans(6, 46, 13, 740), + Trans(6, 58, 3, 739), + Trans(6, 91, 3, 739), Trans(7, 5, 14, -1), Trans(7, 32, 15, -1), Trans(7, 44, 16, -1), @@ -20565,97 +20984,97 @@ pub const LOOKAHEAD_AUTOMATA: &[LookaheadDFA; 668] = &[ Trans(8, 40, 10, -1), Trans(8, 42, 11, -1), Trans(8, 47, 12, -1), - Trans(9, 40, 13, 733), - Trans(9, 42, 13, 733), - Trans(9, 47, 13, 733), - Trans(10, 5, 13, 733), - Trans(10, 31, 13, 733), - Trans(10, 37, 13, 733), - Trans(10, 40, 13, 733), - Trans(10, 44, 13, 733), - Trans(10, 49, 13, 733), - Trans(10, 50, 13, 733), - Trans(10, 51, 13, 733), - Trans(10, 58, 13, 733), - Trans(10, 62, 13, 733), - Trans(10, 66, 13, 733), - Trans(10, 67, 13, 733), - Trans(10, 68, 13, 733), - Trans(10, 72, 13, 733), - Trans(10, 73, 13, 733), - Trans(10, 75, 13, 733), - Trans(10, 79, 13, 733), - Trans(10, 82, 13, 733), - Trans(10, 85, 13, 733), - Trans(10, 106, 13, 733), - Trans(10, 109, 13, 733), - Trans(10, 112, 13, 733), - Trans(10, 113, 13, 733), - Trans(10, 114, 13, 733), - Trans(11, 5, 13, 733), - Trans(11, 37, 13, 733), - Trans(11, 40, 13, 733), - Trans(11, 46, 13, 733), - Trans(11, 116, 13, 733), - Trans(12, 0, 13, 733), - Trans(12, 5, 13, 733), - Trans(12, 37, 13, 733), - Trans(12, 40, 13, 733), - Trans(12, 44, 13, 733), - Trans(12, 61, 13, 733), - Trans(12, 73, 13, 733), - Trans(12, 74, 13, 733), - Trans(12, 80, 13, 733), - Trans(12, 86, 13, 733), - Trans(12, 90, 13, 733), - Trans(12, 92, 13, 733), - Trans(12, 93, 13, 733), - Trans(14, 32, 13, 733), - Trans(14, 44, 13, 733), - Trans(14, 46, 13, 733), - Trans(15, 5, 13, 733), - Trans(15, 37, 13, 733), - Trans(15, 40, 13, 733), - Trans(15, 44, 13, 733), - Trans(15, 46, 13, 733), - Trans(15, 58, 13, 733), - Trans(15, 91, 13, 733), - Trans(16, 5, 13, 733), - Trans(16, 32, 13, 733), - Trans(16, 44, 13, 733), - Trans(16, 46, 13, 733), - Trans(17, 5, 13, 733), - Trans(17, 40, 13, 733), - Trans(17, 42, 13, 733), - Trans(17, 47, 13, 733), + Trans(9, 40, 13, 740), + Trans(9, 42, 13, 740), + Trans(9, 47, 13, 740), + Trans(10, 5, 13, 740), + Trans(10, 31, 13, 740), + Trans(10, 37, 13, 740), + Trans(10, 40, 13, 740), + Trans(10, 44, 13, 740), + Trans(10, 49, 13, 740), + Trans(10, 50, 13, 740), + Trans(10, 51, 13, 740), + Trans(10, 58, 13, 740), + Trans(10, 62, 13, 740), + Trans(10, 66, 13, 740), + Trans(10, 67, 13, 740), + Trans(10, 68, 13, 740), + Trans(10, 72, 13, 740), + Trans(10, 73, 13, 740), + Trans(10, 75, 13, 740), + Trans(10, 79, 13, 740), + Trans(10, 82, 13, 740), + Trans(10, 85, 13, 740), + Trans(10, 106, 13, 740), + Trans(10, 109, 13, 740), + Trans(10, 112, 13, 740), + Trans(10, 113, 13, 740), + Trans(10, 114, 13, 740), + Trans(11, 5, 13, 740), + Trans(11, 37, 13, 740), + Trans(11, 40, 13, 740), + Trans(11, 46, 13, 740), + Trans(11, 116, 13, 740), + Trans(12, 0, 13, 740), + Trans(12, 5, 13, 740), + Trans(12, 37, 13, 740), + Trans(12, 40, 13, 740), + Trans(12, 44, 13, 740), + Trans(12, 61, 13, 740), + Trans(12, 73, 13, 740), + Trans(12, 74, 13, 740), + Trans(12, 80, 13, 740), + Trans(12, 86, 13, 740), + Trans(12, 90, 13, 740), + Trans(12, 92, 13, 740), + Trans(12, 93, 13, 740), + Trans(14, 32, 13, 740), + Trans(14, 44, 13, 740), + Trans(14, 46, 13, 740), + Trans(15, 5, 13, 740), + Trans(15, 37, 13, 740), + Trans(15, 40, 13, 740), + Trans(15, 44, 13, 740), + Trans(15, 46, 13, 740), + Trans(15, 58, 13, 740), + Trans(15, 91, 13, 740), + Trans(16, 5, 13, 740), + Trans(16, 32, 13, 740), + Trans(16, 44, 13, 740), + Trans(16, 46, 13, 740), + Trans(17, 5, 13, 740), + Trans(17, 40, 13, 740), + Trans(17, 42, 13, 740), + Trans(17, 47, 13, 740), ], k: 3, }, - /* 666 - "WithParameterListOpt" */ + /* 670 - "WithParameterListOpt" */ LookaheadDFA { prod0: -1, transitions: &[ - Trans(0, 32, 1, 734), - Trans(0, 44, 2, 735), - Trans(0, 46, 2, 735), + Trans(0, 32, 1, 741), + Trans(0, 44, 2, 742), + Trans(0, 46, 2, 742), ], k: 1, }, - /* 667 - "WithParameterOpt" */ + /* 671 - "WithParameterOpt" */ LookaheadDFA { prod0: -1, transitions: &[ - Trans(0, 37, 1, 729), - Trans(0, 40, 1, 729), - Trans(0, 46, 2, 730), - Trans(0, 58, 1, 729), - Trans(0, 91, 1, 729), + Trans(0, 37, 1, 736), + Trans(0, 40, 1, 736), + Trans(0, 46, 2, 737), + Trans(0, 58, 1, 736), + Trans(0, 91, 1, 736), ], k: 1, }, ]; -pub const PRODUCTIONS: &[Production; 953] = &[ +pub const PRODUCTIONS: &[Production; 960] = &[ // 0 - CommentsTerm: "(?:(?:(?://.*(?:\r\n|\r|\n|$))|(?:(?ms)/\u{2a}.*?\u{2a}/))\s*)+"; Production { lhs: 103, @@ -20663,7 +21082,7 @@ pub const PRODUCTIONS: &[Production; 953] = &[ }, // 1 - StringLiteralTerm: "\u{0022}(?:\\[\u{0022}\\/bfnrt]|u[0-9a-fA-F]{4}|[^\u{0022}\\\u0000-\u001F])*\u{0022}"; Production { - lhs: 578, + lhs: 582, production: &[ParseType::T(6)], }, // 2 - ExponentTerm: /[0-9]+(?:_[0-9]+)*\.[0-9]+(?:_[0-9]+)*[eE][+-]?[0-9]+(?:_[0-9]+)*/; @@ -20768,7 +21187,7 @@ pub const PRODUCTIONS: &[Production; 953] = &[ }, // 22 - UnaryOperatorTerm: "~&|~\||!|~"; Production { - lhs: 624, + lhs: 628, production: &[ParseType::T(27)], }, // 23 - BackQuoteTerm: "`"; @@ -21153,57 +21572,57 @@ pub const PRODUCTIONS: &[Production; 953] = &[ }, // 99 - StepTerm: /(?-u:\b)step(?-u:\b)/; Production { - lhs: 574, + lhs: 578, production: &[ParseType::T(104)], }, // 100 - StringTerm: /(?-u:\b)string(?-u:\b)/; Production { - lhs: 580, + lhs: 584, production: &[ParseType::T(105)], }, // 101 - StructTerm: /(?-u:\b)struct(?-u:\b)/; Production { - lhs: 583, + lhs: 587, production: &[ParseType::T(106)], }, // 102 - SwitchTerm: /(?-u:\b)switch(?-u:\b)/; Production { - lhs: 606, + lhs: 610, production: &[ParseType::T(107)], }, // 103 - TriTerm: /(?-u:\b)tri(?-u:\b)/; Production { - lhs: 609, + lhs: 613, production: &[ParseType::T(108)], }, // 104 - TypeTerm: /(?-u:\b)type(?-u:\b)/; Production { - lhs: 615, + lhs: 619, production: &[ParseType::T(109)], }, // 105 - U32Term: /(?-u:\b)u32(?-u:\b)/; Production { - lhs: 618, + lhs: 622, production: &[ParseType::T(110)], }, // 106 - U64Term: /(?-u:\b)u64(?-u:\b)/; Production { - lhs: 621, + lhs: 625, production: &[ParseType::T(111)], }, // 107 - UnionTerm: /(?-u:\b)union(?-u:\b)/; Production { - lhs: 627, + lhs: 631, production: &[ParseType::T(112)], }, // 108 - UnsafeTerm: /(?-u:\b)unsafe(?-u:\b)/; Production { - lhs: 632, + lhs: 636, production: &[ParseType::T(113)], }, // 109 - VarTerm: /(?-u:\b)var(?-u:\b)/; Production { - lhs: 638, + lhs: 642, production: &[ParseType::T(114)], }, // 110 - DollarIdentifierTerm: /\$[a-zA-Z_][0-9a-zA-Z_$]*/; @@ -21243,8 +21662,8 @@ pub const PRODUCTIONS: &[Production; 953] = &[ }, // 117 - StringLiteralToken: StringLiteralTerm : crate::veryl_token::Token Comments; Production { - lhs: 579, - production: &[ParseType::N(101), ParseType::N(578)], + lhs: 583, + production: &[ParseType::N(101), ParseType::N(582)], }, // 118 - ExponentToken: ExponentTerm : crate::veryl_token::Token Comments; Production { @@ -21333,8 +21752,8 @@ pub const PRODUCTIONS: &[Production; 953] = &[ }, // 135 - UnaryOperatorToken: UnaryOperatorTerm : crate::veryl_token::Token Comments; Production { - lhs: 625, - production: &[ParseType::N(101), ParseType::N(624)], + lhs: 629, + production: &[ParseType::N(101), ParseType::N(628)], }, // 136 - BackQuoteToken: BackQuoteTerm : crate::veryl_token::Token Comments; Production { @@ -21733,58 +22152,58 @@ pub const PRODUCTIONS: &[Production; 953] = &[ }, // 215 - StepToken: StepTerm : crate::veryl_token::Token Comments; Production { - lhs: 575, - production: &[ParseType::N(101), ParseType::N(574)], + lhs: 579, + production: &[ParseType::N(101), ParseType::N(578)], }, // 216 - StringToken: StringTerm : crate::veryl_token::Token Comments; Production { - lhs: 581, - production: &[ParseType::N(101), ParseType::N(580)], + lhs: 585, + production: &[ParseType::N(101), ParseType::N(584)], }, // 217 - StructToken: StructTerm : crate::veryl_token::Token Comments; Production { - lhs: 584, - production: &[ParseType::N(101), ParseType::N(583)], + lhs: 588, + production: &[ParseType::N(101), ParseType::N(587)], }, // 218 - SwitchToken: SwitchTerm : crate::veryl_token::Token Comments; Production { - lhs: 607, - production: &[ParseType::N(101), ParseType::N(606)], + lhs: 611, + production: &[ParseType::N(101), ParseType::N(610)], }, // 219 - TriToken: TriTerm : crate::veryl_token::Token Comments; Production { - lhs: 610, - production: &[ParseType::N(101), ParseType::N(609)], + lhs: 614, + production: &[ParseType::N(101), ParseType::N(613)], }, // 220 - TypeToken: TypeTerm : crate::veryl_token::Token Comments; Production { - lhs: 616, - production: &[ParseType::N(101), ParseType::N(615)], + lhs: 620, + production: &[ParseType::N(101), ParseType::N(619)], }, // 221 - U32Token: U32Term : crate::veryl_token::Token Comments; Production { - lhs: 619, - production: &[ParseType::N(101), ParseType::N(618)], + lhs: 623, + production: &[ParseType::N(101), ParseType::N(622)], }, // 222 - U64Token: U64Term : crate::veryl_token::Token Comments; Production { - lhs: 622, - production: &[ParseType::N(101), ParseType::N(621)], + lhs: 626, + production: &[ParseType::N(101), ParseType::N(625)], }, // 223 - UnionToken: UnionTerm : crate::veryl_token::Token Comments; Production { - lhs: 628, - production: &[ParseType::N(101), ParseType::N(627)], + lhs: 632, + production: &[ParseType::N(101), ParseType::N(631)], }, // 224 - UnsafeToken: UnsafeTerm : crate::veryl_token::Token Comments; Production { - lhs: 633, - production: &[ParseType::N(101), ParseType::N(632)], + lhs: 637, + production: &[ParseType::N(101), ParseType::N(636)], }, // 225 - VarToken: VarTerm : crate::veryl_token::Token Comments; Production { - lhs: 639, - production: &[ParseType::N(101), ParseType::N(638)], + lhs: 643, + production: &[ParseType::N(101), ParseType::N(642)], }, // 226 - DollarIdentifierToken: DollarIdentifierTerm : crate::veryl_token::Token Comments; Production { @@ -21803,8 +22222,8 @@ pub const PRODUCTIONS: &[Production; 953] = &[ }, // 229 - StringLiteral: StringLiteralToken : crate::veryl_token::VerylToken ; Production { - lhs: 577, - production: &[ParseType::N(579)], + lhs: 581, + production: &[ParseType::N(583)], }, // 230 - Exponent: ExponentToken : crate::veryl_token::VerylToken ; Production { @@ -21893,8 +22312,8 @@ pub const PRODUCTIONS: &[Production; 953] = &[ }, // 247 - UnaryOperator: UnaryOperatorToken : crate::veryl_token::VerylToken ; Production { - lhs: 623, - production: &[ParseType::N(625)], + lhs: 627, + production: &[ParseType::N(629)], }, // 248 - BackQuote: BackQuoteToken : crate::veryl_token::VerylToken ; Production { @@ -22293,58 +22712,58 @@ pub const PRODUCTIONS: &[Production; 953] = &[ }, // 327 - Step: StepToken : crate::veryl_token::VerylToken ; Production { - lhs: 573, - production: &[ParseType::N(575)], + lhs: 577, + production: &[ParseType::N(579)], }, // 328 - Strin: StringToken : crate::veryl_token::VerylToken ; Production { - lhs: 576, - production: &[ParseType::N(581)], + lhs: 580, + production: &[ParseType::N(585)], }, // 329 - Struct: StructToken : crate::veryl_token::VerylToken ; Production { - lhs: 582, - production: &[ParseType::N(584)], + lhs: 586, + production: &[ParseType::N(588)], }, // 330 - Switch: SwitchToken : crate::veryl_token::VerylToken ; Production { - lhs: 595, - production: &[ParseType::N(607)], + lhs: 599, + production: &[ParseType::N(611)], }, // 331 - Tri: TriToken : crate::veryl_token::VerylToken ; Production { - lhs: 608, - production: &[ParseType::N(610)], + lhs: 612, + production: &[ParseType::N(614)], }, // 332 - Type: TypeToken : crate::veryl_token::VerylToken ; Production { - lhs: 611, - production: &[ParseType::N(616)], + lhs: 615, + production: &[ParseType::N(620)], }, // 333 - U32: U32Token : crate::veryl_token::VerylToken ; Production { - lhs: 617, - production: &[ParseType::N(619)], + lhs: 621, + production: &[ParseType::N(623)], }, // 334 - U64: U64Token : crate::veryl_token::VerylToken ; Production { - lhs: 620, - production: &[ParseType::N(622)], + lhs: 624, + production: &[ParseType::N(626)], }, // 335 - Union: UnionToken : crate::veryl_token::VerylToken ; Production { - lhs: 626, - production: &[ParseType::N(628)], + lhs: 630, + production: &[ParseType::N(632)], }, // 336 - Unsafe: UnsafeToken : crate::veryl_token::VerylToken ; Production { - lhs: 629, - production: &[ParseType::N(633)], + lhs: 633, + production: &[ParseType::N(637)], }, // 337 - Var: VarToken : crate::veryl_token::VerylToken ; Production { - lhs: 635, - production: &[ParseType::N(639)], + lhs: 639, + production: &[ParseType::N(643)], }, // 338 - DollarIdentifier: DollarIdentifierToken : crate::veryl_token::VerylToken ; Production { @@ -22464,7 +22883,7 @@ pub const PRODUCTIONS: &[Production; 953] = &[ // 359 - ScopedIdentifierOpt0: WithGenericArgument; Production { lhs: 554, - production: &[ParseType::N(645)], + production: &[ParseType::N(649)], }, // 360 - ScopedIdentifierOpt0: ; Production { @@ -22474,7 +22893,7 @@ pub const PRODUCTIONS: &[Production; 953] = &[ // 361 - ScopedIdentifierOpt: WithGenericArgument; Production { lhs: 553, - production: &[ParseType::N(645)], + production: &[ParseType::N(649)], }, // 362 - ScopedIdentifierOpt: ; Production { @@ -22529,7 +22948,7 @@ pub const PRODUCTIONS: &[Production; 953] = &[ // 370 - ExpressionIdentifierOpt: Width; Production { lhs: 203, - production: &[ParseType::N(643)], + production: &[ParseType::N(647)], }, // 371 - ExpressionIdentifierOpt: ; Production { @@ -22739,7 +23158,7 @@ pub const PRODUCTIONS: &[Production; 953] = &[ // 412 - Expression12ListGroup: UnaryOperator; Production { lhs: 198, - production: &[ParseType::N(623)], + production: &[ParseType::N(627)], }, // 413 - Expression12ListGroup: Operator09; Production { @@ -22804,12 +23223,12 @@ pub const PRODUCTIONS: &[Production; 953] = &[ // 425 - Factor: SwitchExpression; Production { lhs: 211, - production: &[ParseType::N(598)], + production: &[ParseType::N(602)], }, // 426 - Factor: StringLiteral; Production { lhs: 211, - production: &[ParseType::N(577)], + production: &[ParseType::N(581)], }, // 427 - Factor: FactorGroup; Production { @@ -22839,7 +23258,7 @@ pub const PRODUCTIONS: &[Production; 953] = &[ // 432 - Factor: TypeExpression; Production { lhs: 211, - production: &[ParseType::N(613)], + production: &[ParseType::N(617)], }, // 433 - Factor: FactorType; Production { @@ -23072,56 +23491,56 @@ pub const PRODUCTIONS: &[Production; 953] = &[ }, // 471 - SwitchExpression: Switch LBrace SwitchCondition Colon Expression Comma SwitchExpressionList /* Vec */ Defaul Colon Expression SwitchExpressionOpt /* Option */ RBrace; Production { - lhs: 598, + lhs: 602, production: &[ ParseType::N(504), - ParseType::N(600), + ParseType::N(604), ParseType::N(172), ParseType::N(89), ParseType::N(114), - ParseType::N(599), + ParseType::N(603), ParseType::N(98), ParseType::N(172), ParseType::N(89), - ParseType::N(596), + ParseType::N(600), ParseType::N(357), - ParseType::N(595), + ParseType::N(599), ], }, // 472 - SwitchExpressionList: SwitchCondition Colon Expression Comma SwitchExpressionList; Production { - lhs: 599, + lhs: 603, production: &[ - ParseType::N(599), + ParseType::N(603), ParseType::N(98), ParseType::N(172), ParseType::N(89), - ParseType::N(596), + ParseType::N(600), ], }, // 473 - SwitchExpressionList: ; Production { - lhs: 599, + lhs: 603, production: &[], }, // 474 - SwitchExpressionOpt: Comma; Production { - lhs: 600, + lhs: 604, production: &[ParseType::N(98)], }, // 475 - SwitchExpressionOpt: ; Production { - lhs: 600, + lhs: 604, production: &[], }, // 476 - TypeExpression: Type LParen Expression RParen; Production { - lhs: 613, + lhs: 617, production: &[ ParseType::N(510), ParseType::N(172), ParseType::N(363), - ParseType::N(611), + ParseType::N(615), ], }, // 477 - InsideExpression: Inside Expression LBrace RangeList RBrace; @@ -23214,26 +23633,26 @@ pub const PRODUCTIONS: &[Production; 953] = &[ // 491 - SelectOperator: Step; Production { lhs: 556, - production: &[ParseType::N(573)], + production: &[ParseType::N(577)], }, // 492 - Width: LAngle Expression WidthList /* Vec */ RAngle; Production { - lhs: 643, + lhs: 647, production: &[ ParseType::N(501), - ParseType::N(644), + ParseType::N(648), ParseType::N(172), ParseType::N(354), ], }, // 493 - WidthList: Comma Expression WidthList; Production { - lhs: 644, - production: &[ParseType::N(644), ParseType::N(172), ParseType::N(98)], + lhs: 648, + production: &[ParseType::N(648), ParseType::N(172), ParseType::N(98)], }, // 494 - WidthList: ; Production { - lhs: 644, + lhs: 648, production: &[], }, // 495 - Array: LBracket Expression ArrayList /* Vec */ RBracket; @@ -23284,12 +23703,12 @@ pub const PRODUCTIONS: &[Production; 953] = &[ // 503 - FixedType: U32; Production { lhs: 224, - production: &[ParseType::N(617)], + production: &[ParseType::N(621)], }, // 504 - FixedType: U64; Production { lhs: 224, - production: &[ParseType::N(620)], + production: &[ParseType::N(624)], }, // 505 - FixedType: I32; Production { @@ -23314,71 +23733,71 @@ pub const PRODUCTIONS: &[Production; 953] = &[ // 509 - FixedType: Strin; Production { lhs: 224, - production: &[ParseType::N(576)], + production: &[ParseType::N(580)], }, // 510 - VariableType: Clock; Production { - lhs: 640, + lhs: 644, production: &[ParseType::N(79)], }, // 511 - VariableType: ClockPosedge; Production { - lhs: 640, + lhs: 644, production: &[ParseType::N(84)], }, // 512 - VariableType: ClockNegedge; Production { - lhs: 640, + lhs: 644, production: &[ParseType::N(81)], }, // 513 - VariableType: Reset; Production { - lhs: 640, + lhs: 644, production: &[ParseType::N(527)], }, // 514 - VariableType: ResetAsyncHigh; Production { - lhs: 640, + lhs: 644, production: &[ParseType::N(528)], }, // 515 - VariableType: ResetAsyncLow; Production { - lhs: 640, + lhs: 644, production: &[ParseType::N(531)], }, // 516 - VariableType: ResetSyncHigh; Production { - lhs: 640, + lhs: 644, production: &[ParseType::N(534)], }, // 517 - VariableType: ResetSyncLow; Production { - lhs: 640, + lhs: 644, production: &[ParseType::N(537)], }, // 518 - VariableType: Logic; Production { - lhs: 640, + lhs: 644, production: &[ParseType::N(373)], }, // 519 - VariableType: Bit; Production { - lhs: 640, + lhs: 644, production: &[ParseType::N(58)], }, // 520 - UserDefinedType: ScopedIdentifier; Production { - lhs: 634, + lhs: 638, production: &[ParseType::N(550)], }, // 521 - TypeModifier: Tri; Production { - lhs: 614, - production: &[ParseType::N(608)], + lhs: 618, + production: &[ParseType::N(612)], }, // 522 - TypeModifier: Signed; Production { - lhs: 614, + lhs: 618, production: &[ParseType::N(561)], }, // 523 - FactorType: FactorTypeGroup; @@ -23389,7 +23808,7 @@ pub const PRODUCTIONS: &[Production; 953] = &[ // 524 - FactorTypeGroup: VariableType FactorTypeOpt /* Option */; Production { lhs: 215, - production: &[ParseType::N(216), ParseType::N(640)], + production: &[ParseType::N(216), ParseType::N(644)], }, // 525 - FactorTypeGroup: FixedType; Production { @@ -23399,7 +23818,7 @@ pub const PRODUCTIONS: &[Production; 953] = &[ // 526 - FactorTypeOpt: Width; Production { lhs: 216, - production: &[ParseType::N(643)], + production: &[ParseType::N(647)], }, // 527 - FactorTypeOpt: ; Production { @@ -23414,7 +23833,7 @@ pub const PRODUCTIONS: &[Production; 953] = &[ // 529 - ScalarTypeGroup: UserDefinedType ScalarTypeOpt /* Option */; Production { lhs: 547, - production: &[ParseType::N(549), ParseType::N(634)], + production: &[ParseType::N(549), ParseType::N(638)], }, // 530 - ScalarTypeGroup: FactorType; Production { @@ -23424,7 +23843,7 @@ pub const PRODUCTIONS: &[Production; 953] = &[ // 531 - ScalarTypeList: TypeModifier ScalarTypeList; Production { lhs: 548, - production: &[ParseType::N(548), ParseType::N(614)], + production: &[ParseType::N(548), ParseType::N(618)], }, // 532 - ScalarTypeList: ; Production { @@ -23434,7 +23853,7 @@ pub const PRODUCTIONS: &[Production; 953] = &[ // 533 - ScalarTypeOpt: Width; Production { lhs: 549, - production: &[ParseType::N(643)], + production: &[ParseType::N(647)], }, // 534 - ScalarTypeOpt: ; Production { @@ -23459,12 +23878,12 @@ pub const PRODUCTIONS: &[Production; 953] = &[ // 538 - CastingType: U32; Production { lhs: 78, - production: &[ParseType::N(617)], + production: &[ParseType::N(621)], }, // 539 - CastingType: U64; Production { lhs: 78, - production: &[ParseType::N(620)], + production: &[ParseType::N(624)], }, // 540 - CastingType: I32; Production { @@ -23529,7 +23948,7 @@ pub const PRODUCTIONS: &[Production; 953] = &[ // 552 - CastingType: UserDefinedType; Production { lhs: 78, - production: &[ParseType::N(634)], + production: &[ParseType::N(638)], }, // 553 - ClockDomain: BackQuote Identifier; Production { @@ -23539,74 +23958,109 @@ pub const PRODUCTIONS: &[Production; 953] = &[ // 554 - StatementBlock: LBrace StatementBlockList /* Vec */ RBrace; Production { lhs: 570, - production: &[ParseType::N(504), ParseType::N(572), ParseType::N(357)], + production: &[ParseType::N(504), ParseType::N(576), ParseType::N(357)], }, - // 555 - StatementBlockList: StatementBlockItem StatementBlockList; + // 555 - StatementBlockList: StatementBlockGroup StatementBlockList; Production { - lhs: 572, - production: &[ParseType::N(572), ParseType::N(571)], + lhs: 576, + production: &[ParseType::N(576), ParseType::N(571)], }, // 556 - StatementBlockList: ; Production { - lhs: 572, + lhs: 576, production: &[], }, - // 557 - StatementBlockItem: VarDeclaration; + // 557 - StatementBlockGroup: StatementBlockGroupList /* Vec */ StatementBlockGroupGroup; Production { lhs: 571, - production: &[ParseType::N(636)], + production: &[ParseType::N(572), ParseType::N(574)], }, - // 558 - StatementBlockItem: LetStatement; + // 558 - StatementBlockGroupGroup: LBrace StatementBlockGroupGroupList /* Vec */ RBrace; Production { - lhs: 571, + lhs: 572, + production: &[ParseType::N(504), ParseType::N(573), ParseType::N(357)], + }, + // 559 - StatementBlockGroupGroupList: StatementBlockGroup StatementBlockGroupGroupList; + Production { + lhs: 573, + production: &[ParseType::N(573), ParseType::N(571)], + }, + // 560 - StatementBlockGroupGroupList: ; + Production { + lhs: 573, + production: &[], + }, + // 561 - StatementBlockGroupGroup: StatementBlockItem; + Production { + lhs: 572, + production: &[ParseType::N(575)], + }, + // 562 - StatementBlockGroupList: Attribute StatementBlockGroupList; + Production { + lhs: 574, + production: &[ParseType::N(574), ParseType::N(43)], + }, + // 563 - StatementBlockGroupList: ; + Production { + lhs: 574, + production: &[], + }, + // 564 - StatementBlockItem: VarDeclaration; + Production { + lhs: 575, + production: &[ParseType::N(640)], + }, + // 565 - StatementBlockItem: LetStatement; + Production { + lhs: 575, production: &[ParseType::N(369)], }, - // 559 - StatementBlockItem: Statement; + // 566 - StatementBlockItem: Statement; Production { - lhs: 571, + lhs: 575, production: &[ParseType::N(569)], }, - // 560 - Statement: IdentifierStatement; + // 567 - Statement: IdentifierStatement; Production { lhs: 569, production: &[ParseType::N(270)], }, - // 561 - Statement: IfStatement; + // 568 - Statement: IfStatement; Production { lhs: 569, production: &[ParseType::N(283)], }, - // 562 - Statement: IfResetStatement; + // 569 - Statement: IfResetStatement; Production { lhs: 569, production: &[ParseType::N(278)], }, - // 563 - Statement: ReturnStatement; + // 570 - Statement: ReturnStatement; Production { lhs: 569, production: &[ParseType::N(543)], }, - // 564 - Statement: BreakStatement; + // 571 - Statement: BreakStatement; Production { lhs: 569, production: &[ParseType::N(62)], }, - // 565 - Statement: ForStatement; + // 572 - Statement: ForStatement; Production { lhs: 569, production: &[ParseType::N(226)], }, - // 566 - Statement: CaseStatement; + // 573 - Statement: CaseStatement; Production { lhs: 569, production: &[ParseType::N(74)], }, - // 567 - Statement: SwitchStatement; + // 574 - Statement: SwitchStatement; Production { lhs: 569, - production: &[ParseType::N(604)], + production: &[ParseType::N(608)], }, - // 568 - LetStatement: Let Identifier Colon LetStatementOpt /* Option */ ArrayType Equ Expression Semicolon; + // 575 - LetStatement: Let Identifier Colon LetStatementOpt /* Option */ ArrayType Equ Expression Semicolon; Production { lhs: 369, production: &[ @@ -23620,47 +24074,47 @@ pub const PRODUCTIONS: &[Production; 953] = &[ ParseType::N(366), ], }, - // 569 - LetStatementOpt: ClockDomain; + // 576 - LetStatementOpt: ClockDomain; Production { lhs: 370, production: &[ParseType::N(80)], }, - // 570 - LetStatementOpt: ; + // 577 - LetStatementOpt: ; Production { lhs: 370, production: &[], }, - // 571 - IdentifierStatement: ExpressionIdentifier IdentifierStatementGroup Semicolon; + // 578 - IdentifierStatement: ExpressionIdentifier IdentifierStatementGroup Semicolon; Production { lhs: 270, production: &[ParseType::N(558), ParseType::N(271), ParseType::N(199)], }, - // 572 - IdentifierStatementGroup: FunctionCall; + // 579 - IdentifierStatementGroup: FunctionCall; Production { lhs: 271, production: &[ParseType::N(231)], }, - // 573 - IdentifierStatementGroup: Assignment; + // 580 - IdentifierStatementGroup: Assignment; Production { lhs: 271, production: &[ParseType::N(38)], }, - // 574 - Assignment: AssignmentGroup Expression; + // 581 - Assignment: AssignmentGroup Expression; Production { lhs: 38, production: &[ParseType::N(172), ParseType::N(39)], }, - // 575 - AssignmentGroup: Equ; + // 582 - AssignmentGroup: Equ; Production { lhs: 39, production: &[ParseType::N(160)], }, - // 576 - AssignmentGroup: AssignmentOperator; + // 583 - AssignmentGroup: AssignmentOperator; Production { lhs: 39, production: &[ParseType::N(40)], }, - // 577 - IfStatement: If Expression StatementBlock IfStatementList /* Vec */ IfStatementOpt /* Option */; + // 584 - IfStatement: If Expression StatementBlock IfStatementList /* Vec */ IfStatementOpt /* Option */; Production { lhs: 283, production: &[ @@ -23671,7 +24125,7 @@ pub const PRODUCTIONS: &[Production; 953] = &[ ParseType::N(274), ], }, - // 578 - IfStatementList: Else If Expression StatementBlock IfStatementList; + // 585 - IfStatementList: Else If Expression StatementBlock IfStatementList; Production { lhs: 284, production: &[ @@ -23682,22 +24136,22 @@ pub const PRODUCTIONS: &[Production; 953] = &[ ParseType::N(135), ], }, - // 579 - IfStatementList: ; + // 586 - IfStatementList: ; Production { lhs: 284, production: &[], }, - // 580 - IfStatementOpt: Else StatementBlock; + // 587 - IfStatementOpt: Else StatementBlock; Production { lhs: 285, production: &[ParseType::N(570), ParseType::N(135)], }, - // 581 - IfStatementOpt: ; + // 588 - IfStatementOpt: ; Production { lhs: 285, production: &[], }, - // 582 - IfResetStatement: IfReset StatementBlock IfResetStatementList /* Vec */ IfResetStatementOpt /* Option */; + // 589 - IfResetStatement: IfReset StatementBlock IfResetStatementList /* Vec */ IfResetStatementOpt /* Option */; Production { lhs: 278, production: &[ @@ -23707,7 +24161,7 @@ pub const PRODUCTIONS: &[Production; 953] = &[ ParseType::N(277), ], }, - // 583 - IfResetStatementList: Else If Expression StatementBlock IfResetStatementList; + // 590 - IfResetStatementList: Else If Expression StatementBlock IfResetStatementList; Production { lhs: 279, production: &[ @@ -23718,32 +24172,32 @@ pub const PRODUCTIONS: &[Production; 953] = &[ ParseType::N(135), ], }, - // 584 - IfResetStatementList: ; + // 591 - IfResetStatementList: ; Production { lhs: 279, production: &[], }, - // 585 - IfResetStatementOpt: Else StatementBlock; + // 592 - IfResetStatementOpt: Else StatementBlock; Production { lhs: 280, production: &[ParseType::N(570), ParseType::N(135)], }, - // 586 - IfResetStatementOpt: ; + // 593 - IfResetStatementOpt: ; Production { lhs: 280, production: &[], }, - // 587 - ReturnStatement: Return Expression Semicolon; + // 594 - ReturnStatement: Return Expression Semicolon; Production { lhs: 543, production: &[ParseType::N(558), ParseType::N(172), ParseType::N(542)], }, - // 588 - BreakStatement: Break Semicolon; + // 595 - BreakStatement: Break Semicolon; Production { lhs: 62, production: &[ParseType::N(558), ParseType::N(61)], }, - // 589 - ForStatement: For Identifier Colon ScalarType In Range ForStatementOpt /* Option */ StatementBlock; + // 596 - ForStatement: For Identifier Colon ScalarType In Range ForStatementOpt /* Option */ StatementBlock; Production { lhs: 226, production: &[ @@ -23757,17 +24211,17 @@ pub const PRODUCTIONS: &[Production; 953] = &[ ParseType::N(225), ], }, - // 590 - ForStatementOpt: Step AssignmentOperator Expression; + // 597 - ForStatementOpt: Step AssignmentOperator Expression; Production { lhs: 227, - production: &[ParseType::N(172), ParseType::N(40), ParseType::N(573)], + production: &[ParseType::N(172), ParseType::N(40), ParseType::N(577)], }, - // 591 - ForStatementOpt: ; + // 598 - ForStatementOpt: ; Production { lhs: 227, production: &[], }, - // 592 - CaseStatement: Case Expression LBrace CaseStatementList /* Vec */ RBrace; + // 599 - CaseStatement: Case Expression LBrace CaseStatementList /* Vec */ RBrace; Production { lhs: 74, production: &[ @@ -23778,117 +24232,117 @@ pub const PRODUCTIONS: &[Production; 953] = &[ ParseType::N(65), ], }, - // 593 - CaseStatementList: CaseItem CaseStatementList; + // 600 - CaseStatementList: CaseItem CaseStatementList; Production { lhs: 75, production: &[ParseType::N(75), ParseType::N(71)], }, - // 594 - CaseStatementList: ; + // 601 - CaseStatementList: ; Production { lhs: 75, production: &[], }, - // 595 - CaseItem: CaseItemGroup Colon CaseItemGroup0; + // 602 - CaseItem: CaseItemGroup Colon CaseItemGroup0; Production { lhs: 71, production: &[ParseType::N(73), ParseType::N(89), ParseType::N(72)], }, - // 596 - CaseItemGroup0: Statement; + // 603 - CaseItemGroup0: Statement; Production { lhs: 73, production: &[ParseType::N(569)], }, - // 597 - CaseItemGroup0: StatementBlock; + // 604 - CaseItemGroup0: StatementBlock; Production { lhs: 73, production: &[ParseType::N(570)], }, - // 598 - CaseItemGroup: CaseCondition; + // 605 - CaseItemGroup: CaseCondition; Production { lhs: 72, production: &[ParseType::N(66)], }, - // 599 - CaseItemGroup: Defaul; + // 606 - CaseItemGroup: Defaul; Production { lhs: 72, production: &[ParseType::N(114)], }, - // 600 - CaseCondition: RangeItem CaseConditionList /* Vec */; + // 607 - CaseCondition: RangeItem CaseConditionList /* Vec */; Production { lhs: 66, production: &[ParseType::N(67), ParseType::N(514)], }, - // 601 - CaseConditionList: Comma RangeItem CaseConditionList; + // 608 - CaseConditionList: Comma RangeItem CaseConditionList; Production { lhs: 67, production: &[ParseType::N(67), ParseType::N(514), ParseType::N(98)], }, - // 602 - CaseConditionList: ; + // 609 - CaseConditionList: ; Production { lhs: 67, production: &[], }, - // 603 - SwitchStatement: Switch LBrace SwitchStatementList /* Vec */ RBrace; + // 610 - SwitchStatement: Switch LBrace SwitchStatementList /* Vec */ RBrace; Production { - lhs: 604, + lhs: 608, production: &[ ParseType::N(504), - ParseType::N(605), + ParseType::N(609), ParseType::N(357), - ParseType::N(595), + ParseType::N(599), ], }, - // 604 - SwitchStatementList: SwitchItem SwitchStatementList; + // 611 - SwitchStatementList: SwitchItem SwitchStatementList; Production { - lhs: 605, - production: &[ParseType::N(605), ParseType::N(601)], + lhs: 609, + production: &[ParseType::N(609), ParseType::N(605)], }, - // 605 - SwitchStatementList: ; + // 612 - SwitchStatementList: ; Production { - lhs: 605, + lhs: 609, production: &[], }, - // 606 - SwitchItem: SwitchItemGroup Colon SwitchItemGroup0; + // 613 - SwitchItem: SwitchItemGroup Colon SwitchItemGroup0; Production { - lhs: 601, - production: &[ParseType::N(603), ParseType::N(89), ParseType::N(602)], + lhs: 605, + production: &[ParseType::N(607), ParseType::N(89), ParseType::N(606)], }, - // 607 - SwitchItemGroup0: Statement; + // 614 - SwitchItemGroup0: Statement; Production { - lhs: 603, + lhs: 607, production: &[ParseType::N(569)], }, - // 608 - SwitchItemGroup0: StatementBlock; + // 615 - SwitchItemGroup0: StatementBlock; Production { - lhs: 603, + lhs: 607, production: &[ParseType::N(570)], }, - // 609 - SwitchItemGroup: SwitchCondition; + // 616 - SwitchItemGroup: SwitchCondition; Production { - lhs: 602, - production: &[ParseType::N(596)], + lhs: 606, + production: &[ParseType::N(600)], }, - // 610 - SwitchItemGroup: Defaul; + // 617 - SwitchItemGroup: Defaul; Production { - lhs: 602, + lhs: 606, production: &[ParseType::N(114)], }, - // 611 - SwitchCondition: Expression SwitchConditionList /* Vec */; + // 618 - SwitchCondition: Expression SwitchConditionList /* Vec */; Production { - lhs: 596, - production: &[ParseType::N(597), ParseType::N(172)], + lhs: 600, + production: &[ParseType::N(601), ParseType::N(172)], }, - // 612 - SwitchConditionList: Comma Expression SwitchConditionList; + // 619 - SwitchConditionList: Comma Expression SwitchConditionList; Production { - lhs: 597, - production: &[ParseType::N(597), ParseType::N(172), ParseType::N(98)], + lhs: 601, + production: &[ParseType::N(601), ParseType::N(172), ParseType::N(98)], }, - // 613 - SwitchConditionList: ; + // 620 - SwitchConditionList: ; Production { - lhs: 597, + lhs: 601, production: &[], }, - // 614 - Attribute: Hash LBracket Identifier AttributeOpt /* Option */ RBracket; + // 621 - Attribute: Hash LBracket Identifier AttributeOpt /* Option */ RBracket; Production { lhs: 43, production: &[ @@ -23899,52 +24353,52 @@ pub const PRODUCTIONS: &[Production; 953] = &[ ParseType::N(256), ], }, - // 615 - AttributeOpt: LParen AttributeList RParen; + // 622 - AttributeOpt: LParen AttributeList RParen; Production { lhs: 48, production: &[ParseType::N(510), ParseType::N(45), ParseType::N(363)], }, - // 616 - AttributeOpt: ; + // 623 - AttributeOpt: ; Production { lhs: 48, production: &[], }, - // 617 - AttributeList: AttributeItem AttributeListList /* Vec */ AttributeListOpt /* Option */; + // 624 - AttributeList: AttributeItem AttributeListList /* Vec */ AttributeListOpt /* Option */; Production { lhs: 45, production: &[ParseType::N(47), ParseType::N(46), ParseType::N(44)], }, - // 618 - AttributeListList: Comma AttributeItem AttributeListList; + // 625 - AttributeListList: Comma AttributeItem AttributeListList; Production { lhs: 46, production: &[ParseType::N(46), ParseType::N(44), ParseType::N(98)], }, - // 619 - AttributeListList: ; + // 626 - AttributeListList: ; Production { lhs: 46, production: &[], }, - // 620 - AttributeListOpt: Comma; + // 627 - AttributeListOpt: Comma; Production { lhs: 47, production: &[ParseType::N(98)], }, - // 621 - AttributeListOpt: ; + // 628 - AttributeListOpt: ; Production { lhs: 47, production: &[], }, - // 622 - AttributeItem: Identifier; + // 629 - AttributeItem: Identifier; Production { lhs: 44, production: &[ParseType::N(269)], }, - // 623 - AttributeItem: StringLiteral; + // 630 - AttributeItem: StringLiteral; Production { lhs: 44, - production: &[ParseType::N(577)], + production: &[ParseType::N(581)], }, - // 624 - LetDeclaration: Let Identifier Colon LetDeclarationOpt /* Option */ ArrayType Equ Expression Semicolon; + // 631 - LetDeclaration: Let Identifier Colon LetDeclarationOpt /* Option */ ArrayType Equ Expression Semicolon; Production { lhs: 367, production: &[ @@ -23958,39 +24412,39 @@ pub const PRODUCTIONS: &[Production; 953] = &[ ParseType::N(366), ], }, - // 625 - LetDeclarationOpt: ClockDomain; + // 632 - LetDeclarationOpt: ClockDomain; Production { lhs: 368, production: &[ParseType::N(80)], }, - // 626 - LetDeclarationOpt: ; + // 633 - LetDeclarationOpt: ; Production { lhs: 368, production: &[], }, - // 627 - VarDeclaration: Var Identifier Colon VarDeclarationOpt /* Option */ ArrayType Semicolon; + // 634 - VarDeclaration: Var Identifier Colon VarDeclarationOpt /* Option */ ArrayType Semicolon; Production { - lhs: 636, + lhs: 640, production: &[ ParseType::N(558), ParseType::N(29), - ParseType::N(637), + ParseType::N(641), ParseType::N(89), ParseType::N(269), - ParseType::N(635), + ParseType::N(639), ], }, - // 628 - VarDeclarationOpt: ClockDomain; + // 635 - VarDeclarationOpt: ClockDomain; Production { - lhs: 637, + lhs: 641, production: &[ParseType::N(80)], }, - // 629 - VarDeclarationOpt: ; + // 636 - VarDeclarationOpt: ; Production { - lhs: 637, + lhs: 641, production: &[], }, - // 630 - ConstDeclaration: Const Identifier Colon ConstDeclarationGroup Equ Expression Semicolon; + // 637 - ConstDeclaration: Const Identifier Colon ConstDeclarationGroup Equ Expression Semicolon; Production { lhs: 110, production: &[ @@ -24003,43 +24457,43 @@ pub const PRODUCTIONS: &[Production; 953] = &[ ParseType::N(109), ], }, - // 631 - ConstDeclarationGroup: ArrayType; + // 638 - ConstDeclarationGroup: ArrayType; Production { lhs: 111, production: &[ParseType::N(29)], }, - // 632 - ConstDeclarationGroup: Type; + // 639 - ConstDeclarationGroup: Type; Production { lhs: 111, - production: &[ParseType::N(611)], + production: &[ParseType::N(615)], }, - // 633 - TypeDefDeclaration: Type Identifier Equ ArrayType Semicolon; + // 640 - TypeDefDeclaration: Type Identifier Equ ArrayType Semicolon; Production { - lhs: 612, + lhs: 616, production: &[ ParseType::N(558), ParseType::N(29), ParseType::N(160), ParseType::N(269), - ParseType::N(611), + ParseType::N(615), ], }, - // 634 - AlwaysFfDeclaration: AlwaysFf AlwaysFfDeclarationOpt /* Option */ StatementBlock; + // 641 - AlwaysFfDeclaration: AlwaysFf AlwaysFfDeclarationOpt /* Option */ StatementBlock; Production { lhs: 11, production: &[ParseType::N(570), ParseType::N(12), ParseType::N(9)], }, - // 635 - AlwaysFfDeclarationOpt: AlwayfFfEventList; + // 642 - AlwaysFfDeclarationOpt: AlwayfFfEventList; Production { lhs: 12, production: &[ParseType::N(3)], }, - // 636 - AlwaysFfDeclarationOpt: ; + // 643 - AlwaysFfDeclarationOpt: ; Production { lhs: 12, production: &[], }, - // 637 - AlwayfFfEventList: LParen AlwaysFfClock AlwayfFfEventListOpt /* Option */ RParen; + // 644 - AlwayfFfEventList: LParen AlwaysFfClock AlwayfFfEventListOpt /* Option */ RParen; Production { lhs: 3, production: &[ @@ -24049,32 +24503,32 @@ pub const PRODUCTIONS: &[Production; 953] = &[ ParseType::N(363), ], }, - // 638 - AlwayfFfEventListOpt: Comma AlwaysFfReset; + // 645 - AlwayfFfEventListOpt: Comma AlwaysFfReset; Production { lhs: 4, production: &[ParseType::N(13), ParseType::N(98)], }, - // 639 - AlwayfFfEventListOpt: ; + // 646 - AlwayfFfEventListOpt: ; Production { lhs: 4, production: &[], }, - // 640 - AlwaysFfClock: HierarchicalIdentifier; + // 647 - AlwaysFfClock: HierarchicalIdentifier; Production { lhs: 10, production: &[ParseType::N(259)], }, - // 641 - AlwaysFfReset: HierarchicalIdentifier; + // 648 - AlwaysFfReset: HierarchicalIdentifier; Production { lhs: 13, production: &[ParseType::N(259)], }, - // 642 - AlwaysCombDeclaration: AlwaysComb StatementBlock; + // 649 - AlwaysCombDeclaration: AlwaysComb StatementBlock; Production { lhs: 6, production: &[ParseType::N(570), ParseType::N(5)], }, - // 643 - AssignDeclaration: Assign HierarchicalIdentifier Equ Expression Semicolon; + // 650 - AssignDeclaration: Assign HierarchicalIdentifier Equ Expression Semicolon; Production { lhs: 35, production: &[ @@ -24085,7 +24539,7 @@ pub const PRODUCTIONS: &[Production; 953] = &[ ParseType::N(34), ], }, - // 644 - ModportDeclaration: Modport Identifier LBrace ModportList RBrace; + // 651 - ModportDeclaration: Modport Identifier LBrace ModportList RBrace; Production { lhs: 386, production: &[ @@ -24096,62 +24550,62 @@ pub const PRODUCTIONS: &[Production; 953] = &[ ParseType::N(385), ], }, - // 645 - ModportList: ModportGroup ModportListList /* Vec */ ModportListOpt /* Option */; + // 652 - ModportList: ModportGroup ModportListList /* Vec */ ModportListOpt /* Option */; Production { lhs: 391, production: &[ParseType::N(393), ParseType::N(392), ParseType::N(387)], }, - // 646 - ModportListList: Comma ModportGroup ModportListList; + // 653 - ModportListList: Comma ModportGroup ModportListList; Production { lhs: 392, production: &[ParseType::N(392), ParseType::N(387), ParseType::N(98)], }, - // 647 - ModportListList: ; + // 654 - ModportListList: ; Production { lhs: 392, production: &[], }, - // 648 - ModportListOpt: Comma; + // 655 - ModportListOpt: Comma; Production { lhs: 393, production: &[ParseType::N(98)], }, - // 649 - ModportListOpt: ; + // 656 - ModportListOpt: ; Production { lhs: 393, production: &[], }, - // 650 - ModportGroup: ModportGroupList /* Vec */ ModportGroupGroup; + // 657 - ModportGroup: ModportGroupList /* Vec */ ModportGroupGroup; Production { lhs: 387, production: &[ParseType::N(388), ParseType::N(389)], }, - // 651 - ModportGroupGroup: LBrace ModportList RBrace; + // 658 - ModportGroupGroup: LBrace ModportList RBrace; Production { lhs: 388, production: &[ParseType::N(504), ParseType::N(391), ParseType::N(357)], }, - // 652 - ModportGroupGroup: ModportItem; + // 659 - ModportGroupGroup: ModportItem; Production { lhs: 388, production: &[ParseType::N(390)], }, - // 653 - ModportGroupList: Attribute ModportGroupList; + // 660 - ModportGroupList: Attribute ModportGroupList; Production { lhs: 389, production: &[ParseType::N(389), ParseType::N(43)], }, - // 654 - ModportGroupList: ; + // 661 - ModportGroupList: ; Production { lhs: 389, production: &[], }, - // 655 - ModportItem: Identifier Colon Direction; + // 662 - ModportItem: Identifier Colon Direction; Production { lhs: 390, production: &[ParseType::N(122), ParseType::N(89), ParseType::N(269)], }, - // 656 - EnumDeclaration: Enum Identifier EnumDeclarationOpt /* Option */ LBrace EnumList RBrace; + // 663 - EnumDeclaration: Enum Identifier EnumDeclarationOpt /* Option */ LBrace EnumList RBrace; Production { lhs: 148, production: &[ @@ -24163,179 +24617,179 @@ pub const PRODUCTIONS: &[Production; 953] = &[ ParseType::N(147), ], }, - // 657 - EnumDeclarationOpt: Colon ScalarType; + // 664 - EnumDeclarationOpt: Colon ScalarType; Production { lhs: 149, production: &[ParseType::N(546), ParseType::N(89)], }, - // 658 - EnumDeclarationOpt: ; + // 665 - EnumDeclarationOpt: ; Production { lhs: 149, production: &[], }, - // 659 - EnumList: EnumGroup EnumListList /* Vec */ EnumListOpt /* Option */; + // 666 - EnumList: EnumGroup EnumListList /* Vec */ EnumListOpt /* Option */; Production { lhs: 155, production: &[ParseType::N(157), ParseType::N(156), ParseType::N(150)], }, - // 660 - EnumListList: Comma EnumGroup EnumListList; + // 667 - EnumListList: Comma EnumGroup EnumListList; Production { lhs: 156, production: &[ParseType::N(156), ParseType::N(150), ParseType::N(98)], }, - // 661 - EnumListList: ; + // 668 - EnumListList: ; Production { lhs: 156, production: &[], }, - // 662 - EnumListOpt: Comma; + // 669 - EnumListOpt: Comma; Production { lhs: 157, production: &[ParseType::N(98)], }, - // 663 - EnumListOpt: ; + // 670 - EnumListOpt: ; Production { lhs: 157, production: &[], }, - // 664 - EnumGroup: EnumGroupList /* Vec */ EnumGroupGroup; + // 671 - EnumGroup: EnumGroupList /* Vec */ EnumGroupGroup; Production { lhs: 150, production: &[ParseType::N(151), ParseType::N(152)], }, - // 665 - EnumGroupGroup: LBrace EnumList RBrace; + // 672 - EnumGroupGroup: LBrace EnumList RBrace; Production { lhs: 151, production: &[ParseType::N(504), ParseType::N(155), ParseType::N(357)], }, - // 666 - EnumGroupGroup: EnumItem; + // 673 - EnumGroupGroup: EnumItem; Production { lhs: 151, production: &[ParseType::N(153)], }, - // 667 - EnumGroupList: Attribute EnumGroupList; + // 674 - EnumGroupList: Attribute EnumGroupList; Production { lhs: 152, production: &[ParseType::N(152), ParseType::N(43)], }, - // 668 - EnumGroupList: ; + // 675 - EnumGroupList: ; Production { lhs: 152, production: &[], }, - // 669 - EnumItem: Identifier EnumItemOpt /* Option */; + // 676 - EnumItem: Identifier EnumItemOpt /* Option */; Production { lhs: 153, production: &[ParseType::N(154), ParseType::N(269)], }, - // 670 - EnumItemOpt: Equ Expression; + // 677 - EnumItemOpt: Equ Expression; Production { lhs: 154, production: &[ParseType::N(172), ParseType::N(160)], }, - // 671 - EnumItemOpt: ; + // 678 - EnumItemOpt: ; Production { lhs: 154, production: &[], }, - // 672 - StructUnion: Struct; + // 679 - StructUnion: Struct; Production { - lhs: 585, - production: &[ParseType::N(582)], + lhs: 589, + production: &[ParseType::N(586)], }, - // 673 - StructUnion: Union; + // 680 - StructUnion: Union; Production { - lhs: 585, - production: &[ParseType::N(626)], + lhs: 589, + production: &[ParseType::N(630)], }, - // 674 - StructUnionDeclaration: StructUnion Identifier StructUnionDeclarationOpt /* Option */ LBrace StructUnionList RBrace; + // 681 - StructUnionDeclaration: StructUnion Identifier StructUnionDeclarationOpt /* Option */ LBrace StructUnionList RBrace; Production { - lhs: 586, + lhs: 590, production: &[ ParseType::N(504), - ParseType::N(592), + ParseType::N(596), ParseType::N(357), - ParseType::N(587), + ParseType::N(591), ParseType::N(269), - ParseType::N(585), + ParseType::N(589), ], }, - // 675 - StructUnionDeclarationOpt: WithGenericParameter; + // 682 - StructUnionDeclarationOpt: WithGenericParameter; Production { - lhs: 587, - production: &[ParseType::N(651)], + lhs: 591, + production: &[ParseType::N(655)], }, - // 676 - StructUnionDeclarationOpt: ; + // 683 - StructUnionDeclarationOpt: ; Production { - lhs: 587, + lhs: 591, production: &[], }, - // 677 - StructUnionList: StructUnionGroup StructUnionListList /* Vec */ StructUnionListOpt /* Option */; + // 684 - StructUnionList: StructUnionGroup StructUnionListList /* Vec */ StructUnionListOpt /* Option */; Production { - lhs: 592, - production: &[ParseType::N(594), ParseType::N(593), ParseType::N(588)], + lhs: 596, + production: &[ParseType::N(598), ParseType::N(597), ParseType::N(592)], }, - // 678 - StructUnionListList: Comma StructUnionGroup StructUnionListList; + // 685 - StructUnionListList: Comma StructUnionGroup StructUnionListList; Production { - lhs: 593, - production: &[ParseType::N(593), ParseType::N(588), ParseType::N(98)], + lhs: 597, + production: &[ParseType::N(597), ParseType::N(592), ParseType::N(98)], }, - // 679 - StructUnionListList: ; + // 686 - StructUnionListList: ; Production { - lhs: 593, + lhs: 597, production: &[], }, - // 680 - StructUnionListOpt: Comma; + // 687 - StructUnionListOpt: Comma; Production { - lhs: 594, + lhs: 598, production: &[ParseType::N(98)], }, - // 681 - StructUnionListOpt: ; + // 688 - StructUnionListOpt: ; Production { - lhs: 594, + lhs: 598, production: &[], }, - // 682 - StructUnionGroup: StructUnionGroupList /* Vec */ StructUnionGroupGroup; + // 689 - StructUnionGroup: StructUnionGroupList /* Vec */ StructUnionGroupGroup; Production { - lhs: 588, - production: &[ParseType::N(589), ParseType::N(590)], + lhs: 592, + production: &[ParseType::N(593), ParseType::N(594)], }, - // 683 - StructUnionGroupGroup: LBrace StructUnionList RBrace; + // 690 - StructUnionGroupGroup: LBrace StructUnionList RBrace; Production { - lhs: 589, - production: &[ParseType::N(504), ParseType::N(592), ParseType::N(357)], + lhs: 593, + production: &[ParseType::N(504), ParseType::N(596), ParseType::N(357)], }, - // 684 - StructUnionGroupGroup: StructUnionItem; + // 691 - StructUnionGroupGroup: StructUnionItem; Production { - lhs: 589, - production: &[ParseType::N(591)], + lhs: 593, + production: &[ParseType::N(595)], }, - // 685 - StructUnionGroupList: Attribute StructUnionGroupList; + // 692 - StructUnionGroupList: Attribute StructUnionGroupList; Production { - lhs: 590, - production: &[ParseType::N(590), ParseType::N(43)], + lhs: 594, + production: &[ParseType::N(594), ParseType::N(43)], }, - // 686 - StructUnionGroupList: ; + // 693 - StructUnionGroupList: ; Production { - lhs: 590, + lhs: 594, production: &[], }, - // 687 - StructUnionItem: Identifier Colon ScalarType; + // 694 - StructUnionItem: Identifier Colon ScalarType; Production { - lhs: 591, + lhs: 595, production: &[ParseType::N(546), ParseType::N(89), ParseType::N(269)], }, - // 688 - InitialDeclaration: Initial StatementBlock; + // 695 - InitialDeclaration: Initial StatementBlock; Production { lhs: 301, production: &[ParseType::N(570), ParseType::N(300)], }, - // 689 - FinalDeclaration: Final StatementBlock; + // 696 - FinalDeclaration: Final StatementBlock; Production { lhs: 218, production: &[ParseType::N(570), ParseType::N(217)], }, - // 690 - InstDeclaration: Inst Identifier Colon ScopedIdentifier InstDeclarationOpt /* Option */ InstDeclarationOpt0 /* Option */ InstDeclarationOpt1 /* Option */ Semicolon; + // 697 - InstDeclaration: Inst Identifier Colon ScopedIdentifier InstDeclarationOpt /* Option */ InstDeclarationOpt0 /* Option */ InstDeclarationOpt1 /* Option */ Semicolon; Production { lhs: 315, production: &[ @@ -24349,47 +24803,47 @@ pub const PRODUCTIONS: &[Production; 953] = &[ ParseType::N(314), ], }, - // 691 - InstDeclarationOpt1: LParen InstDeclarationOpt2 /* Option */ RParen; + // 698 - InstDeclarationOpt1: LParen InstDeclarationOpt2 /* Option */ RParen; Production { lhs: 318, production: &[ParseType::N(510), ParseType::N(319), ParseType::N(363)], }, - // 692 - InstDeclarationOpt2: InstPortList; + // 699 - InstDeclarationOpt2: InstPortList; Production { lhs: 319, production: &[ParseType::N(335)], }, - // 693 - InstDeclarationOpt2: ; + // 700 - InstDeclarationOpt2: ; Production { lhs: 319, production: &[], }, - // 694 - InstDeclarationOpt1: ; + // 701 - InstDeclarationOpt1: ; Production { lhs: 318, production: &[], }, - // 695 - InstDeclarationOpt0: InstParameter; + // 702 - InstDeclarationOpt0: InstParameter; Production { lhs: 317, production: &[ParseType::N(320)], }, - // 696 - InstDeclarationOpt0: ; + // 703 - InstDeclarationOpt0: ; Production { lhs: 317, production: &[], }, - // 697 - InstDeclarationOpt: Array; + // 704 - InstDeclarationOpt: Array; Production { lhs: 316, production: &[ParseType::N(21)], }, - // 698 - InstDeclarationOpt: ; + // 705 - InstDeclarationOpt: ; Production { lhs: 316, production: &[], }, - // 699 - InstParameter: Hash LParen InstParameterOpt /* Option */ RParen; + // 706 - InstParameter: Hash LParen InstParameterOpt /* Option */ RParen; Production { lhs: 320, production: &[ @@ -24399,520 +24853,520 @@ pub const PRODUCTIONS: &[Production; 953] = &[ ParseType::N(256), ], }, - // 700 - InstParameterOpt: InstParameterList; + // 707 - InstParameterOpt: InstParameterList; Production { lhs: 329, production: &[ParseType::N(326)], }, - // 701 - InstParameterOpt: ; + // 708 - InstParameterOpt: ; Production { lhs: 329, production: &[], }, - // 702 - InstParameterList: InstParameterGroup InstParameterListList /* Vec */ InstParameterListOpt /* Option */; + // 709 - InstParameterList: InstParameterGroup InstParameterListList /* Vec */ InstParameterListOpt /* Option */; Production { lhs: 326, production: &[ParseType::N(328), ParseType::N(327), ParseType::N(321)], }, - // 703 - InstParameterListList: Comma InstParameterGroup InstParameterListList; + // 710 - InstParameterListList: Comma InstParameterGroup InstParameterListList; Production { lhs: 327, production: &[ParseType::N(327), ParseType::N(321), ParseType::N(98)], }, - // 704 - InstParameterListList: ; + // 711 - InstParameterListList: ; Production { lhs: 327, production: &[], }, - // 705 - InstParameterListOpt: Comma; + // 712 - InstParameterListOpt: Comma; Production { lhs: 328, production: &[ParseType::N(98)], }, - // 706 - InstParameterListOpt: ; + // 713 - InstParameterListOpt: ; Production { lhs: 328, production: &[], }, - // 707 - InstParameterGroup: InstParameterGroupList /* Vec */ InstParameterGroupGroup; + // 714 - InstParameterGroup: InstParameterGroupList /* Vec */ InstParameterGroupGroup; Production { lhs: 321, production: &[ParseType::N(322), ParseType::N(323)], }, - // 708 - InstParameterGroupGroup: LBrace InstParameterList RBrace; + // 715 - InstParameterGroupGroup: LBrace InstParameterList RBrace; Production { lhs: 322, production: &[ParseType::N(504), ParseType::N(326), ParseType::N(357)], }, - // 709 - InstParameterGroupGroup: InstParameterItem; + // 716 - InstParameterGroupGroup: InstParameterItem; Production { lhs: 322, production: &[ParseType::N(324)], }, - // 710 - InstParameterGroupList: Attribute InstParameterGroupList; + // 717 - InstParameterGroupList: Attribute InstParameterGroupList; Production { lhs: 323, production: &[ParseType::N(323), ParseType::N(43)], }, - // 711 - InstParameterGroupList: ; + // 718 - InstParameterGroupList: ; Production { lhs: 323, production: &[], }, - // 712 - InstParameterItem: Identifier InstParameterItemOpt /* Option */; + // 719 - InstParameterItem: Identifier InstParameterItemOpt /* Option */; Production { lhs: 324, production: &[ParseType::N(325), ParseType::N(269)], }, - // 713 - InstParameterItemOpt: Colon Expression; + // 720 - InstParameterItemOpt: Colon Expression; Production { lhs: 325, production: &[ParseType::N(172), ParseType::N(89)], }, - // 714 - InstParameterItemOpt: ; + // 721 - InstParameterItemOpt: ; Production { lhs: 325, production: &[], }, - // 715 - InstPortList: InstPortGroup InstPortListList /* Vec */ InstPortListOpt /* Option */; + // 722 - InstPortList: InstPortGroup InstPortListList /* Vec */ InstPortListOpt /* Option */; Production { lhs: 335, production: &[ParseType::N(337), ParseType::N(336), ParseType::N(330)], }, - // 716 - InstPortListList: Comma InstPortGroup InstPortListList; + // 723 - InstPortListList: Comma InstPortGroup InstPortListList; Production { lhs: 336, production: &[ParseType::N(336), ParseType::N(330), ParseType::N(98)], }, - // 717 - InstPortListList: ; + // 724 - InstPortListList: ; Production { lhs: 336, production: &[], }, - // 718 - InstPortListOpt: Comma; + // 725 - InstPortListOpt: Comma; Production { lhs: 337, production: &[ParseType::N(98)], }, - // 719 - InstPortListOpt: ; + // 726 - InstPortListOpt: ; Production { lhs: 337, production: &[], }, - // 720 - InstPortGroup: InstPortGroupList /* Vec */ InstPortGroupGroup; + // 727 - InstPortGroup: InstPortGroupList /* Vec */ InstPortGroupGroup; Production { lhs: 330, production: &[ParseType::N(331), ParseType::N(332)], }, - // 721 - InstPortGroupGroup: LBrace InstPortList RBrace; + // 728 - InstPortGroupGroup: LBrace InstPortList RBrace; Production { lhs: 331, production: &[ParseType::N(504), ParseType::N(335), ParseType::N(357)], }, - // 722 - InstPortGroupGroup: InstPortItem; + // 729 - InstPortGroupGroup: InstPortItem; Production { lhs: 331, production: &[ParseType::N(333)], }, - // 723 - InstPortGroupList: Attribute InstPortGroupList; + // 730 - InstPortGroupList: Attribute InstPortGroupList; Production { lhs: 332, production: &[ParseType::N(332), ParseType::N(43)], }, - // 724 - InstPortGroupList: ; + // 731 - InstPortGroupList: ; Production { lhs: 332, production: &[], }, - // 725 - InstPortItem: Identifier InstPortItemOpt /* Option */; + // 732 - InstPortItem: Identifier InstPortItemOpt /* Option */; Production { lhs: 333, production: &[ParseType::N(334), ParseType::N(269)], }, - // 726 - InstPortItemOpt: Colon Expression; + // 733 - InstPortItemOpt: Colon Expression; Production { lhs: 334, production: &[ParseType::N(172), ParseType::N(89)], }, - // 727 - InstPortItemOpt: ; + // 734 - InstPortItemOpt: ; Production { lhs: 334, production: &[], }, - // 728 - WithParameter: Hash LParen WithParameterOpt /* Option */ RParen; + // 735 - WithParameter: Hash LParen WithParameterOpt /* Option */ RParen; Production { - lhs: 657, + lhs: 661, production: &[ ParseType::N(510), - ParseType::N(667), + ParseType::N(671), ParseType::N(363), ParseType::N(256), ], }, - // 729 - WithParameterOpt: WithParameterList; + // 736 - WithParameterOpt: WithParameterList; Production { - lhs: 667, - production: &[ParseType::N(664)], + lhs: 671, + production: &[ParseType::N(668)], }, - // 730 - WithParameterOpt: ; + // 737 - WithParameterOpt: ; Production { - lhs: 667, + lhs: 671, production: &[], }, - // 731 - WithParameterList: WithParameterGroup WithParameterListList /* Vec */ WithParameterListOpt /* Option */; + // 738 - WithParameterList: WithParameterGroup WithParameterListList /* Vec */ WithParameterListOpt /* Option */; Production { - lhs: 664, - production: &[ParseType::N(666), ParseType::N(665), ParseType::N(658)], + lhs: 668, + production: &[ParseType::N(670), ParseType::N(669), ParseType::N(662)], }, - // 732 - WithParameterListList: Comma WithParameterGroup WithParameterListList; + // 739 - WithParameterListList: Comma WithParameterGroup WithParameterListList; Production { - lhs: 665, - production: &[ParseType::N(665), ParseType::N(658), ParseType::N(98)], + lhs: 669, + production: &[ParseType::N(669), ParseType::N(662), ParseType::N(98)], }, - // 733 - WithParameterListList: ; + // 740 - WithParameterListList: ; Production { - lhs: 665, + lhs: 669, production: &[], }, - // 734 - WithParameterListOpt: Comma; + // 741 - WithParameterListOpt: Comma; Production { - lhs: 666, + lhs: 670, production: &[ParseType::N(98)], }, - // 735 - WithParameterListOpt: ; + // 742 - WithParameterListOpt: ; Production { - lhs: 666, + lhs: 670, production: &[], }, - // 736 - WithParameterGroup: WithParameterGroupList /* Vec */ WithParameterGroupGroup; + // 743 - WithParameterGroup: WithParameterGroupList /* Vec */ WithParameterGroupGroup; Production { - lhs: 658, - production: &[ParseType::N(659), ParseType::N(660)], + lhs: 662, + production: &[ParseType::N(663), ParseType::N(664)], }, - // 737 - WithParameterGroupGroup: LBrace WithParameterList RBrace; + // 744 - WithParameterGroupGroup: LBrace WithParameterList RBrace; Production { - lhs: 659, - production: &[ParseType::N(504), ParseType::N(664), ParseType::N(357)], + lhs: 663, + production: &[ParseType::N(504), ParseType::N(668), ParseType::N(357)], }, - // 738 - WithParameterGroupGroup: WithParameterItem; + // 745 - WithParameterGroupGroup: WithParameterItem; Production { - lhs: 659, - production: &[ParseType::N(661)], + lhs: 663, + production: &[ParseType::N(665)], }, - // 739 - WithParameterGroupList: Attribute WithParameterGroupList; + // 746 - WithParameterGroupList: Attribute WithParameterGroupList; Production { - lhs: 660, - production: &[ParseType::N(660), ParseType::N(43)], + lhs: 664, + production: &[ParseType::N(664), ParseType::N(43)], }, - // 740 - WithParameterGroupList: ; + // 747 - WithParameterGroupList: ; Production { - lhs: 660, + lhs: 664, production: &[], }, - // 741 - WithParameterItem: WithParameterItemGroup Identifier Colon WithParameterItemGroup0 Equ Expression; + // 748 - WithParameterItem: WithParameterItemGroup Identifier Colon WithParameterItemGroup0 Equ Expression; Production { - lhs: 661, + lhs: 665, production: &[ ParseType::N(172), ParseType::N(160), - ParseType::N(663), + ParseType::N(667), ParseType::N(89), ParseType::N(269), - ParseType::N(662), + ParseType::N(666), ], }, - // 742 - WithParameterItemGroup0: ArrayType; + // 749 - WithParameterItemGroup0: ArrayType; Production { - lhs: 663, + lhs: 667, production: &[ParseType::N(29)], }, - // 743 - WithParameterItemGroup0: Type; + // 750 - WithParameterItemGroup0: Type; Production { - lhs: 663, - production: &[ParseType::N(611)], + lhs: 667, + production: &[ParseType::N(615)], }, - // 744 - WithParameterItemGroup: Param; + // 751 - WithParameterItemGroup: Param; Production { - lhs: 662, + lhs: 666, production: &[ParseType::N(467)], }, - // 745 - WithParameterItemGroup: Const; + // 752 - WithParameterItemGroup: Const; Production { - lhs: 662, + lhs: 666, production: &[ParseType::N(109)], }, - // 746 - GenericBound: Const; + // 753 - GenericBound: Const; Production { lhs: 255, production: &[ParseType::N(109)], }, - // 747 - GenericBound: Type; + // 754 - GenericBound: Type; Production { lhs: 255, - production: &[ParseType::N(611)], + production: &[ParseType::N(615)], }, - // 748 - GenericBound: ScopedIdentifier; + // 755 - GenericBound: ScopedIdentifier; Production { lhs: 255, production: &[ParseType::N(550)], }, - // 749 - WithGenericParameter: ColonColonLAngle WithGenericParameterList RAngle; + // 756 - WithGenericParameter: ColonColonLAngle WithGenericParameterList RAngle; Production { - lhs: 651, - production: &[ParseType::N(501), ParseType::N(654), ParseType::N(91)], + lhs: 655, + production: &[ParseType::N(501), ParseType::N(658), ParseType::N(91)], }, - // 750 - WithGenericParameterList: WithGenericParameterItem WithGenericParameterListList /* Vec */ WithGenericParameterListOpt /* Option */; + // 757 - WithGenericParameterList: WithGenericParameterItem WithGenericParameterListList /* Vec */ WithGenericParameterListOpt /* Option */; Production { - lhs: 654, - production: &[ParseType::N(656), ParseType::N(655), ParseType::N(652)], + lhs: 658, + production: &[ParseType::N(660), ParseType::N(659), ParseType::N(656)], }, - // 751 - WithGenericParameterListList: Comma WithGenericParameterItem WithGenericParameterListList; + // 758 - WithGenericParameterListList: Comma WithGenericParameterItem WithGenericParameterListList; Production { - lhs: 655, - production: &[ParseType::N(655), ParseType::N(652), ParseType::N(98)], + lhs: 659, + production: &[ParseType::N(659), ParseType::N(656), ParseType::N(98)], }, - // 752 - WithGenericParameterListList: ; + // 759 - WithGenericParameterListList: ; Production { - lhs: 655, + lhs: 659, production: &[], }, - // 753 - WithGenericParameterListOpt: Comma; + // 760 - WithGenericParameterListOpt: Comma; Production { - lhs: 656, + lhs: 660, production: &[ParseType::N(98)], }, - // 754 - WithGenericParameterListOpt: ; + // 761 - WithGenericParameterListOpt: ; Production { - lhs: 656, + lhs: 660, production: &[], }, - // 755 - WithGenericParameterItem: Identifier Colon GenericBound WithGenericParameterItemOpt /* Option */; + // 762 - WithGenericParameterItem: Identifier Colon GenericBound WithGenericParameterItemOpt /* Option */; Production { - lhs: 652, + lhs: 656, production: &[ - ParseType::N(653), + ParseType::N(657), ParseType::N(255), ParseType::N(89), ParseType::N(269), ], }, - // 756 - WithGenericParameterItemOpt: Equ WithGenericArgumentItem; + // 763 - WithGenericParameterItemOpt: Equ WithGenericArgumentItem; Production { - lhs: 653, - production: &[ParseType::N(646), ParseType::N(160)], + lhs: 657, + production: &[ParseType::N(650), ParseType::N(160)], }, - // 757 - WithGenericParameterItemOpt: ; + // 764 - WithGenericParameterItemOpt: ; Production { - lhs: 653, + lhs: 657, production: &[], }, - // 758 - WithGenericArgument: ColonColonLAngle Push(2) WithGenericArgumentOpt /* Option */ RAngle Pop; + // 765 - WithGenericArgument: ColonColonLAngle Push(2) WithGenericArgumentOpt /* Option */ RAngle Pop; Production { - lhs: 645, + lhs: 649, production: &[ ParseType::Pop, ParseType::N(501), - ParseType::N(650), + ParseType::N(654), ParseType::Push(2), ParseType::N(91), ], }, - // 759 - WithGenericArgumentOpt: WithGenericArgumentList; + // 766 - WithGenericArgumentOpt: WithGenericArgumentList; Production { - lhs: 650, - production: &[ParseType::N(647)], + lhs: 654, + production: &[ParseType::N(651)], }, - // 760 - WithGenericArgumentOpt: ; + // 767 - WithGenericArgumentOpt: ; Production { - lhs: 650, + lhs: 654, production: &[], }, - // 761 - WithGenericArgumentList: WithGenericArgumentItem WithGenericArgumentListList /* Vec */ WithGenericArgumentListOpt /* Option */; + // 768 - WithGenericArgumentList: WithGenericArgumentItem WithGenericArgumentListList /* Vec */ WithGenericArgumentListOpt /* Option */; Production { - lhs: 647, - production: &[ParseType::N(649), ParseType::N(648), ParseType::N(646)], + lhs: 651, + production: &[ParseType::N(653), ParseType::N(652), ParseType::N(650)], }, - // 762 - WithGenericArgumentListList: Comma WithGenericArgumentItem WithGenericArgumentListList; + // 769 - WithGenericArgumentListList: Comma WithGenericArgumentItem WithGenericArgumentListList; Production { - lhs: 648, - production: &[ParseType::N(648), ParseType::N(646), ParseType::N(98)], + lhs: 652, + production: &[ParseType::N(652), ParseType::N(650), ParseType::N(98)], }, - // 763 - WithGenericArgumentListList: ; + // 770 - WithGenericArgumentListList: ; Production { - lhs: 648, + lhs: 652, production: &[], }, - // 764 - WithGenericArgumentListOpt: Comma; + // 771 - WithGenericArgumentListOpt: Comma; Production { - lhs: 649, + lhs: 653, production: &[ParseType::N(98)], }, - // 765 - WithGenericArgumentListOpt: ; + // 772 - WithGenericArgumentListOpt: ; Production { - lhs: 649, + lhs: 653, production: &[], }, - // 766 - WithGenericArgumentItem: ScopedIdentifier; + // 773 - WithGenericArgumentItem: ScopedIdentifier; Production { - lhs: 646, + lhs: 650, production: &[ParseType::N(550)], }, - // 767 - WithGenericArgumentItem: Number; + // 774 - WithGenericArgumentItem: Number; Production { - lhs: 646, + lhs: 650, production: &[ParseType::N(414)], }, - // 768 - PortDeclaration: LParen PortDeclarationOpt /* Option */ RParen; + // 775 - PortDeclaration: LParen PortDeclarationOpt /* Option */ RParen; Production { lhs: 473, production: &[ParseType::N(510), ParseType::N(482), ParseType::N(363)], }, - // 769 - PortDeclarationOpt: PortDeclarationList; + // 776 - PortDeclarationOpt: PortDeclarationList; Production { lhs: 482, production: &[ParseType::N(479)], }, - // 770 - PortDeclarationOpt: ; + // 777 - PortDeclarationOpt: ; Production { lhs: 482, production: &[], }, - // 771 - PortDeclarationList: PortDeclarationGroup PortDeclarationListList /* Vec */ PortDeclarationListOpt /* Option */; + // 778 - PortDeclarationList: PortDeclarationGroup PortDeclarationListList /* Vec */ PortDeclarationListOpt /* Option */; Production { lhs: 479, production: &[ParseType::N(481), ParseType::N(480), ParseType::N(474)], }, - // 772 - PortDeclarationListList: Comma PortDeclarationGroup PortDeclarationListList; + // 779 - PortDeclarationListList: Comma PortDeclarationGroup PortDeclarationListList; Production { lhs: 480, production: &[ParseType::N(480), ParseType::N(474), ParseType::N(98)], }, - // 773 - PortDeclarationListList: ; + // 780 - PortDeclarationListList: ; Production { lhs: 480, production: &[], }, - // 774 - PortDeclarationListOpt: Comma; + // 781 - PortDeclarationListOpt: Comma; Production { lhs: 481, production: &[ParseType::N(98)], }, - // 775 - PortDeclarationListOpt: ; + // 782 - PortDeclarationListOpt: ; Production { lhs: 481, production: &[], }, - // 776 - PortDeclarationGroup: PortDeclarationGroupList /* Vec */ PortDeclarationGroupGroup; + // 783 - PortDeclarationGroup: PortDeclarationGroupList /* Vec */ PortDeclarationGroupGroup; Production { lhs: 474, production: &[ParseType::N(475), ParseType::N(476)], }, - // 777 - PortDeclarationGroupGroup: LBrace PortDeclarationList RBrace; + // 784 - PortDeclarationGroupGroup: LBrace PortDeclarationList RBrace; Production { lhs: 475, production: &[ParseType::N(504), ParseType::N(479), ParseType::N(357)], }, - // 778 - PortDeclarationGroupGroup: PortDeclarationItem; + // 785 - PortDeclarationGroupGroup: PortDeclarationItem; Production { lhs: 475, production: &[ParseType::N(477)], }, - // 779 - PortDeclarationGroupList: Attribute PortDeclarationGroupList; + // 786 - PortDeclarationGroupList: Attribute PortDeclarationGroupList; Production { lhs: 476, production: &[ParseType::N(476), ParseType::N(43)], }, - // 780 - PortDeclarationGroupList: ; + // 787 - PortDeclarationGroupList: ; Production { lhs: 476, production: &[], }, - // 781 - PortDeclarationItem: Identifier Colon PortDeclarationItemGroup; + // 788 - PortDeclarationItem: Identifier Colon PortDeclarationItemGroup; Production { lhs: 477, production: &[ParseType::N(478), ParseType::N(89), ParseType::N(269)], }, - // 782 - PortDeclarationItemGroup: PortTypeConcrete; + // 789 - PortDeclarationItemGroup: PortTypeConcrete; Production { lhs: 478, production: &[ParseType::N(486)], }, - // 783 - PortDeclarationItemGroup: PortTypeAbstract; + // 790 - PortDeclarationItemGroup: PortTypeAbstract; Production { lhs: 478, production: &[ParseType::N(483)], }, - // 784 - PortTypeConcrete: Direction PortTypeConcreteOpt /* Option */ ArrayType; + // 791 - PortTypeConcrete: Direction PortTypeConcreteOpt /* Option */ ArrayType; Production { lhs: 486, production: &[ParseType::N(29), ParseType::N(487), ParseType::N(122)], }, - // 785 - PortTypeConcreteOpt: ClockDomain; + // 792 - PortTypeConcreteOpt: ClockDomain; Production { lhs: 487, production: &[ParseType::N(80)], }, - // 786 - PortTypeConcreteOpt: ; + // 793 - PortTypeConcreteOpt: ; Production { lhs: 487, production: &[], }, - // 787 - PortTypeAbstract: PortTypeAbstractOpt /* Option */ Interface PortTypeAbstractOpt0 /* Option */; + // 794 - PortTypeAbstract: PortTypeAbstractOpt /* Option */ Interface PortTypeAbstractOpt0 /* Option */; Production { lhs: 483, production: &[ParseType::N(485), ParseType::N(341), ParseType::N(484)], }, - // 788 - PortTypeAbstractOpt0: Array; + // 795 - PortTypeAbstractOpt0: Array; Production { lhs: 485, production: &[ParseType::N(21)], }, - // 789 - PortTypeAbstractOpt0: ; + // 796 - PortTypeAbstractOpt0: ; Production { lhs: 485, production: &[], }, - // 790 - PortTypeAbstractOpt: ClockDomain; + // 797 - PortTypeAbstractOpt: ClockDomain; Production { lhs: 484, production: &[ParseType::N(80)], }, - // 791 - PortTypeAbstractOpt: ; + // 798 - PortTypeAbstractOpt: ; Production { lhs: 484, production: &[], }, - // 792 - Direction: Input; + // 799 - Direction: Input; Production { lhs: 122, production: &[ParseType::N(307)], }, - // 793 - Direction: Output; + // 800 - Direction: Output; Production { lhs: 122, production: &[ParseType::N(448)], }, - // 794 - Direction: Inout; + // 801 - Direction: Inout; Production { lhs: 122, production: &[ParseType::N(304)], }, - // 795 - Direction: Ref; + // 802 - Direction: Ref; Production { lhs: 122, production: &[ParseType::N(521)], }, - // 796 - Direction: Modport; + // 803 - Direction: Modport; Production { lhs: 122, production: &[ParseType::N(385)], }, - // 797 - Direction: Import; + // 804 - Direction: Import; Production { lhs: 122, production: &[ParseType::N(288)], }, - // 798 - FunctionDeclaration: Function Identifier FunctionDeclarationOpt /* Option */ FunctionDeclarationOpt0 /* Option */ FunctionDeclarationOpt1 /* Option */ StatementBlock; + // 805 - FunctionDeclaration: Function Identifier FunctionDeclarationOpt /* Option */ FunctionDeclarationOpt0 /* Option */ FunctionDeclarationOpt1 /* Option */ StatementBlock; Production { lhs: 233, production: &[ @@ -24924,37 +25378,37 @@ pub const PRODUCTIONS: &[Production; 953] = &[ ParseType::N(230), ], }, - // 799 - FunctionDeclarationOpt1: MinusGT ScalarType; + // 806 - FunctionDeclarationOpt1: MinusGT ScalarType; Production { lhs: 236, production: &[ParseType::N(546), ParseType::N(382)], }, - // 800 - FunctionDeclarationOpt1: ; + // 807 - FunctionDeclarationOpt1: ; Production { lhs: 236, production: &[], }, - // 801 - FunctionDeclarationOpt0: PortDeclaration; + // 808 - FunctionDeclarationOpt0: PortDeclaration; Production { lhs: 235, production: &[ParseType::N(473)], }, - // 802 - FunctionDeclarationOpt0: ; + // 809 - FunctionDeclarationOpt0: ; Production { lhs: 235, production: &[], }, - // 803 - FunctionDeclarationOpt: WithGenericParameter; + // 810 - FunctionDeclarationOpt: WithGenericParameter; Production { lhs: 234, - production: &[ParseType::N(651)], + production: &[ParseType::N(655)], }, - // 804 - FunctionDeclarationOpt: ; + // 811 - FunctionDeclarationOpt: ; Production { lhs: 234, production: &[], }, - // 805 - ImportDeclaration: Import ScopedIdentifier ImportDeclarationOpt /* Option */ Semicolon; + // 812 - ImportDeclaration: Import ScopedIdentifier ImportDeclarationOpt /* Option */ Semicolon; Production { lhs: 289, production: &[ @@ -24964,65 +25418,65 @@ pub const PRODUCTIONS: &[Production; 953] = &[ ParseType::N(288), ], }, - // 806 - ImportDeclarationOpt: ColonColon Star; + // 813 - ImportDeclarationOpt: ColonColon Star; Production { lhs: 290, production: &[ParseType::N(564), ParseType::N(90)], }, - // 807 - ImportDeclarationOpt: ; + // 814 - ImportDeclarationOpt: ; Production { lhs: 290, production: &[], }, - // 808 - ExportDeclaration: Export ExportDeclarationGroup Semicolon; + // 815 - ExportDeclaration: Export ExportDeclarationGroup Semicolon; Production { lhs: 167, production: &[ParseType::N(558), ParseType::N(168), ParseType::N(166)], }, - // 809 - ExportDeclarationGroup: Star; + // 816 - ExportDeclarationGroup: Star; Production { lhs: 168, production: &[ParseType::N(564)], }, - // 810 - ExportDeclarationGroup: ScopedIdentifier ExportDeclarationOpt /* Option */; + // 817 - ExportDeclarationGroup: ScopedIdentifier ExportDeclarationOpt /* Option */; Production { lhs: 168, production: &[ParseType::N(169), ParseType::N(550)], }, - // 811 - ExportDeclarationOpt: ColonColon Star; + // 818 - ExportDeclarationOpt: ColonColon Star; Production { lhs: 169, production: &[ParseType::N(564), ParseType::N(90)], }, - // 812 - ExportDeclarationOpt: ; + // 819 - ExportDeclarationOpt: ; Production { lhs: 169, production: &[], }, - // 813 - UnsafeBlock: Unsafe LParen Identifier RParen LBrace UnsafeBlockList /* Vec */ RBrace; + // 820 - UnsafeBlock: Unsafe LParen Identifier RParen LBrace UnsafeBlockList /* Vec */ RBrace; Production { - lhs: 630, + lhs: 634, production: &[ ParseType::N(504), - ParseType::N(631), + ParseType::N(635), ParseType::N(357), ParseType::N(510), ParseType::N(269), ParseType::N(363), - ParseType::N(629), + ParseType::N(633), ], }, - // 814 - UnsafeBlockList: GenerateGroup UnsafeBlockList; + // 821 - UnsafeBlockList: GenerateGroup UnsafeBlockList; Production { - lhs: 631, - production: &[ParseType::N(631), ParseType::N(242)], + lhs: 635, + production: &[ParseType::N(635), ParseType::N(242)], }, - // 815 - UnsafeBlockList: ; + // 822 - UnsafeBlockList: ; Production { - lhs: 631, + lhs: 635, production: &[], }, - // 816 - ModuleDeclaration: ModuleDeclarationOpt /* Option */ Module Identifier ModuleDeclarationOpt0 /* Option */ ModuleDeclarationOpt1 /* Option */ ModuleDeclarationOpt2 /* Option */ ModuleDeclarationOpt3 /* Option */ LBrace ModuleDeclarationList /* Vec */ RBrace; + // 823 - ModuleDeclaration: ModuleDeclarationOpt /* Option */ Module Identifier ModuleDeclarationOpt0 /* Option */ ModuleDeclarationOpt1 /* Option */ ModuleDeclarationOpt2 /* Option */ ModuleDeclarationOpt3 /* Option */ LBrace ModuleDeclarationList /* Vec */ RBrace; Production { lhs: 397, production: &[ @@ -25038,107 +25492,107 @@ pub const PRODUCTIONS: &[Production; 953] = &[ ParseType::N(399), ], }, - // 817 - ModuleDeclarationList: ModuleGroup ModuleDeclarationList; + // 824 - ModuleDeclarationList: ModuleGroup ModuleDeclarationList; Production { lhs: 398, production: &[ParseType::N(398), ParseType::N(404)], }, - // 818 - ModuleDeclarationList: ; + // 825 - ModuleDeclarationList: ; Production { lhs: 398, production: &[], }, - // 819 - ModuleDeclarationOpt3: PortDeclaration; + // 826 - ModuleDeclarationOpt3: PortDeclaration; Production { lhs: 403, production: &[ParseType::N(473)], }, - // 820 - ModuleDeclarationOpt3: ; + // 827 - ModuleDeclarationOpt3: ; Production { lhs: 403, production: &[], }, - // 821 - ModuleDeclarationOpt2: WithParameter; + // 828 - ModuleDeclarationOpt2: WithParameter; Production { lhs: 402, - production: &[ParseType::N(657)], + production: &[ParseType::N(661)], }, - // 822 - ModuleDeclarationOpt2: ; + // 829 - ModuleDeclarationOpt2: ; Production { lhs: 402, production: &[], }, - // 823 - ModuleDeclarationOpt1: For ScopedIdentifier; + // 830 - ModuleDeclarationOpt1: For ScopedIdentifier; Production { lhs: 401, production: &[ParseType::N(550), ParseType::N(225)], }, - // 824 - ModuleDeclarationOpt1: ; + // 831 - ModuleDeclarationOpt1: ; Production { lhs: 401, production: &[], }, - // 825 - ModuleDeclarationOpt0: WithGenericParameter; + // 832 - ModuleDeclarationOpt0: WithGenericParameter; Production { lhs: 400, - production: &[ParseType::N(651)], + production: &[ParseType::N(655)], }, - // 826 - ModuleDeclarationOpt0: ; + // 833 - ModuleDeclarationOpt0: ; Production { lhs: 400, production: &[], }, - // 827 - ModuleDeclarationOpt: Pub; + // 834 - ModuleDeclarationOpt: Pub; Production { lhs: 399, production: &[ParseType::N(495)], }, - // 828 - ModuleDeclarationOpt: ; + // 835 - ModuleDeclarationOpt: ; Production { lhs: 399, production: &[], }, - // 829 - ModuleGroup: ModuleGroupList /* Vec */ ModuleGroupGroup; + // 836 - ModuleGroup: ModuleGroupList /* Vec */ ModuleGroupGroup; Production { lhs: 404, production: &[ParseType::N(405), ParseType::N(407)], }, - // 830 - ModuleGroupGroup: LBrace ModuleGroupGroupList /* Vec */ RBrace; + // 837 - ModuleGroupGroup: LBrace ModuleGroupGroupList /* Vec */ RBrace; Production { lhs: 405, production: &[ParseType::N(504), ParseType::N(406), ParseType::N(357)], }, - // 831 - ModuleGroupGroupList: ModuleGroup ModuleGroupGroupList; + // 838 - ModuleGroupGroupList: ModuleGroup ModuleGroupGroupList; Production { lhs: 406, production: &[ParseType::N(406), ParseType::N(404)], }, - // 832 - ModuleGroupGroupList: ; + // 839 - ModuleGroupGroupList: ; Production { lhs: 406, production: &[], }, - // 833 - ModuleGroupGroup: ModuleItem; + // 840 - ModuleGroupGroup: ModuleItem; Production { lhs: 405, production: &[ParseType::N(408)], }, - // 834 - ModuleGroupList: Attribute ModuleGroupList; + // 841 - ModuleGroupList: Attribute ModuleGroupList; Production { lhs: 407, production: &[ParseType::N(407), ParseType::N(43)], }, - // 835 - ModuleGroupList: ; + // 842 - ModuleGroupList: ; Production { lhs: 407, production: &[], }, - // 836 - ModuleItem: GenerateItem; + // 843 - ModuleItem: GenerateItem; Production { lhs: 408, production: &[ParseType::N(249)], }, - // 837 - InterfaceDeclaration: InterfaceDeclarationOpt /* Option */ Interface Identifier InterfaceDeclarationOpt0 /* Option */ InterfaceDeclarationOpt1 /* Option */ LBrace InterfaceDeclarationList /* Vec */ RBrace; + // 844 - InterfaceDeclaration: InterfaceDeclarationOpt /* Option */ Interface Identifier InterfaceDeclarationOpt0 /* Option */ InterfaceDeclarationOpt1 /* Option */ LBrace InterfaceDeclarationList /* Vec */ RBrace; Production { lhs: 342, production: &[ @@ -25152,92 +25606,92 @@ pub const PRODUCTIONS: &[Production; 953] = &[ ParseType::N(344), ], }, - // 838 - InterfaceDeclarationList: InterfaceGroup InterfaceDeclarationList; + // 845 - InterfaceDeclarationList: InterfaceGroup InterfaceDeclarationList; Production { lhs: 343, production: &[ParseType::N(343), ParseType::N(347)], }, - // 839 - InterfaceDeclarationList: ; + // 846 - InterfaceDeclarationList: ; Production { lhs: 343, production: &[], }, - // 840 - InterfaceDeclarationOpt1: WithParameter; + // 847 - InterfaceDeclarationOpt1: WithParameter; Production { lhs: 346, - production: &[ParseType::N(657)], + production: &[ParseType::N(661)], }, - // 841 - InterfaceDeclarationOpt1: ; + // 848 - InterfaceDeclarationOpt1: ; Production { lhs: 346, production: &[], }, - // 842 - InterfaceDeclarationOpt0: WithGenericParameter; + // 849 - InterfaceDeclarationOpt0: WithGenericParameter; Production { lhs: 345, - production: &[ParseType::N(651)], + production: &[ParseType::N(655)], }, - // 843 - InterfaceDeclarationOpt0: ; + // 850 - InterfaceDeclarationOpt0: ; Production { lhs: 345, production: &[], }, - // 844 - InterfaceDeclarationOpt: Pub; + // 851 - InterfaceDeclarationOpt: Pub; Production { lhs: 344, production: &[ParseType::N(495)], }, - // 845 - InterfaceDeclarationOpt: ; + // 852 - InterfaceDeclarationOpt: ; Production { lhs: 344, production: &[], }, - // 846 - InterfaceGroup: InterfaceGroupList /* Vec */ InterfaceGroupGroup; + // 853 - InterfaceGroup: InterfaceGroupList /* Vec */ InterfaceGroupGroup; Production { lhs: 347, production: &[ParseType::N(348), ParseType::N(350)], }, - // 847 - InterfaceGroupGroup: LBrace InterfaceGroupGroupList /* Vec */ RBrace; + // 854 - InterfaceGroupGroup: LBrace InterfaceGroupGroupList /* Vec */ RBrace; Production { lhs: 348, production: &[ParseType::N(504), ParseType::N(349), ParseType::N(357)], }, - // 848 - InterfaceGroupGroupList: InterfaceGroup InterfaceGroupGroupList; + // 855 - InterfaceGroupGroupList: InterfaceGroup InterfaceGroupGroupList; Production { lhs: 349, production: &[ParseType::N(349), ParseType::N(347)], }, - // 849 - InterfaceGroupGroupList: ; + // 856 - InterfaceGroupGroupList: ; Production { lhs: 349, production: &[], }, - // 850 - InterfaceGroupGroup: InterfaceItem; + // 857 - InterfaceGroupGroup: InterfaceItem; Production { lhs: 348, production: &[ParseType::N(351)], }, - // 851 - InterfaceGroupList: Attribute InterfaceGroupList; + // 858 - InterfaceGroupList: Attribute InterfaceGroupList; Production { lhs: 350, production: &[ParseType::N(350), ParseType::N(43)], }, - // 852 - InterfaceGroupList: ; + // 859 - InterfaceGroupList: ; Production { lhs: 350, production: &[], }, - // 853 - InterfaceItem: GenerateItem; + // 860 - InterfaceItem: GenerateItem; Production { lhs: 351, production: &[ParseType::N(249)], }, - // 854 - InterfaceItem: ModportDeclaration; + // 861 - InterfaceItem: ModportDeclaration; Production { lhs: 351, production: &[ParseType::N(386)], }, - // 855 - GenerateIfDeclaration: If Expression GenerateNamedBlock GenerateIfDeclarationList /* Vec */ GenerateIfDeclarationOpt /* Option */; + // 862 - GenerateIfDeclaration: If Expression GenerateNamedBlock GenerateIfDeclarationList /* Vec */ GenerateIfDeclarationOpt /* Option */; Production { lhs: 246, production: &[ @@ -25248,7 +25702,7 @@ pub const PRODUCTIONS: &[Production; 953] = &[ ParseType::N(274), ], }, - // 856 - GenerateIfDeclarationList: Else If Expression GenerateOptionalNamedBlock GenerateIfDeclarationList; + // 863 - GenerateIfDeclarationList: Else If Expression GenerateOptionalNamedBlock GenerateIfDeclarationList; Production { lhs: 247, production: &[ @@ -25259,22 +25713,22 @@ pub const PRODUCTIONS: &[Production; 953] = &[ ParseType::N(135), ], }, - // 857 - GenerateIfDeclarationList: ; + // 864 - GenerateIfDeclarationList: ; Production { lhs: 247, production: &[], }, - // 858 - GenerateIfDeclarationOpt: Else GenerateOptionalNamedBlock; + // 865 - GenerateIfDeclarationOpt: Else GenerateOptionalNamedBlock; Production { lhs: 248, production: &[ParseType::N(252), ParseType::N(135)], }, - // 859 - GenerateIfDeclarationOpt: ; + // 866 - GenerateIfDeclarationOpt: ; Production { lhs: 248, production: &[], }, - // 860 - GenerateForDeclaration: For Identifier In Range GenerateForDeclarationOpt /* Option */ GenerateNamedBlock; + // 867 - GenerateForDeclaration: For Identifier In Range GenerateForDeclarationOpt /* Option */ GenerateNamedBlock; Production { lhs: 240, production: &[ @@ -25286,22 +25740,22 @@ pub const PRODUCTIONS: &[Production; 953] = &[ ParseType::N(225), ], }, - // 861 - GenerateForDeclarationOpt: Step AssignmentOperator Expression; + // 868 - GenerateForDeclarationOpt: Step AssignmentOperator Expression; Production { lhs: 241, - production: &[ParseType::N(172), ParseType::N(40), ParseType::N(573)], + production: &[ParseType::N(172), ParseType::N(40), ParseType::N(577)], }, - // 862 - GenerateForDeclarationOpt: ; + // 869 - GenerateForDeclarationOpt: ; Production { lhs: 241, production: &[], }, - // 863 - GenerateBlockDeclaration: GenerateNamedBlock; + // 870 - GenerateBlockDeclaration: GenerateNamedBlock; Production { lhs: 239, production: &[ParseType::N(250)], }, - // 864 - GenerateNamedBlock: Colon Identifier LBrace GenerateNamedBlockList /* Vec */ RBrace; + // 871 - GenerateNamedBlock: Colon Identifier LBrace GenerateNamedBlockList /* Vec */ RBrace; Production { lhs: 250, production: &[ @@ -25312,17 +25766,17 @@ pub const PRODUCTIONS: &[Production; 953] = &[ ParseType::N(89), ], }, - // 865 - GenerateNamedBlockList: GenerateGroup GenerateNamedBlockList; + // 872 - GenerateNamedBlockList: GenerateGroup GenerateNamedBlockList; Production { lhs: 251, production: &[ParseType::N(251), ParseType::N(242)], }, - // 866 - GenerateNamedBlockList: ; + // 873 - GenerateNamedBlockList: ; Production { lhs: 251, production: &[], }, - // 867 - GenerateOptionalNamedBlock: GenerateOptionalNamedBlockOpt /* Option */ LBrace GenerateOptionalNamedBlockList /* Vec */ RBrace; + // 874 - GenerateOptionalNamedBlock: GenerateOptionalNamedBlockOpt /* Option */ LBrace GenerateOptionalNamedBlockList /* Vec */ RBrace; Production { lhs: 252, production: &[ @@ -25332,152 +25786,152 @@ pub const PRODUCTIONS: &[Production; 953] = &[ ParseType::N(254), ], }, - // 868 - GenerateOptionalNamedBlockList: GenerateGroup GenerateOptionalNamedBlockList; + // 875 - GenerateOptionalNamedBlockList: GenerateGroup GenerateOptionalNamedBlockList; Production { lhs: 253, production: &[ParseType::N(253), ParseType::N(242)], }, - // 869 - GenerateOptionalNamedBlockList: ; + // 876 - GenerateOptionalNamedBlockList: ; Production { lhs: 253, production: &[], }, - // 870 - GenerateOptionalNamedBlockOpt: Colon Identifier; + // 877 - GenerateOptionalNamedBlockOpt: Colon Identifier; Production { lhs: 254, production: &[ParseType::N(269), ParseType::N(89)], }, - // 871 - GenerateOptionalNamedBlockOpt: ; + // 878 - GenerateOptionalNamedBlockOpt: ; Production { lhs: 254, production: &[], }, - // 872 - GenerateGroup: GenerateGroupList /* Vec */ GenerateGroupGroup; + // 879 - GenerateGroup: GenerateGroupList /* Vec */ GenerateGroupGroup; Production { lhs: 242, production: &[ParseType::N(243), ParseType::N(245)], }, - // 873 - GenerateGroupGroup: LBrace GenerateGroupGroupList /* Vec */ RBrace; + // 880 - GenerateGroupGroup: LBrace GenerateGroupGroupList /* Vec */ RBrace; Production { lhs: 243, production: &[ParseType::N(504), ParseType::N(244), ParseType::N(357)], }, - // 874 - GenerateGroupGroupList: GenerateGroup GenerateGroupGroupList; + // 881 - GenerateGroupGroupList: GenerateGroup GenerateGroupGroupList; Production { lhs: 244, production: &[ParseType::N(244), ParseType::N(242)], }, - // 875 - GenerateGroupGroupList: ; + // 882 - GenerateGroupGroupList: ; Production { lhs: 244, production: &[], }, - // 876 - GenerateGroupGroup: GenerateItem; + // 883 - GenerateGroupGroup: GenerateItem; Production { lhs: 243, production: &[ParseType::N(249)], }, - // 877 - GenerateGroupList: Attribute GenerateGroupList; + // 884 - GenerateGroupList: Attribute GenerateGroupList; Production { lhs: 245, production: &[ParseType::N(245), ParseType::N(43)], }, - // 878 - GenerateGroupList: ; + // 885 - GenerateGroupList: ; Production { lhs: 245, production: &[], }, - // 879 - GenerateItem: LetDeclaration; + // 886 - GenerateItem: LetDeclaration; Production { lhs: 249, production: &[ParseType::N(367)], }, - // 880 - GenerateItem: VarDeclaration; + // 887 - GenerateItem: VarDeclaration; Production { lhs: 249, - production: &[ParseType::N(636)], + production: &[ParseType::N(640)], }, - // 881 - GenerateItem: InstDeclaration; + // 888 - GenerateItem: InstDeclaration; Production { lhs: 249, production: &[ParseType::N(315)], }, - // 882 - GenerateItem: ConstDeclaration; + // 889 - GenerateItem: ConstDeclaration; Production { lhs: 249, production: &[ParseType::N(110)], }, - // 883 - GenerateItem: AlwaysFfDeclaration; + // 890 - GenerateItem: AlwaysFfDeclaration; Production { lhs: 249, production: &[ParseType::N(11)], }, - // 884 - GenerateItem: AlwaysCombDeclaration; + // 891 - GenerateItem: AlwaysCombDeclaration; Production { lhs: 249, production: &[ParseType::N(6)], }, - // 885 - GenerateItem: AssignDeclaration; + // 892 - GenerateItem: AssignDeclaration; Production { lhs: 249, production: &[ParseType::N(35)], }, - // 886 - GenerateItem: FunctionDeclaration; + // 893 - GenerateItem: FunctionDeclaration; Production { lhs: 249, production: &[ParseType::N(233)], }, - // 887 - GenerateItem: GenerateIfDeclaration; + // 894 - GenerateItem: GenerateIfDeclaration; Production { lhs: 249, production: &[ParseType::N(246)], }, - // 888 - GenerateItem: GenerateForDeclaration; + // 895 - GenerateItem: GenerateForDeclaration; Production { lhs: 249, production: &[ParseType::N(240)], }, - // 889 - GenerateItem: GenerateBlockDeclaration; + // 896 - GenerateItem: GenerateBlockDeclaration; Production { lhs: 249, production: &[ParseType::N(239)], }, - // 890 - GenerateItem: TypeDefDeclaration; + // 897 - GenerateItem: TypeDefDeclaration; Production { lhs: 249, - production: &[ParseType::N(612)], + production: &[ParseType::N(616)], }, - // 891 - GenerateItem: EnumDeclaration; + // 898 - GenerateItem: EnumDeclaration; Production { lhs: 249, production: &[ParseType::N(148)], }, - // 892 - GenerateItem: StructUnionDeclaration; + // 899 - GenerateItem: StructUnionDeclaration; Production { lhs: 249, - production: &[ParseType::N(586)], + production: &[ParseType::N(590)], }, - // 893 - GenerateItem: ImportDeclaration; + // 900 - GenerateItem: ImportDeclaration; Production { lhs: 249, production: &[ParseType::N(289)], }, - // 894 - GenerateItem: InitialDeclaration; + // 901 - GenerateItem: InitialDeclaration; Production { lhs: 249, production: &[ParseType::N(301)], }, - // 895 - GenerateItem: FinalDeclaration; + // 902 - GenerateItem: FinalDeclaration; Production { lhs: 249, production: &[ParseType::N(218)], }, - // 896 - GenerateItem: UnsafeBlock; + // 903 - GenerateItem: UnsafeBlock; Production { lhs: 249, - production: &[ParseType::N(630)], + production: &[ParseType::N(634)], }, - // 897 - PackageDeclaration: PackageDeclarationOpt /* Option */ Package Identifier PackageDeclarationOpt0 /* Option */ LBrace PackageDeclarationList /* Vec */ RBrace; + // 904 - PackageDeclaration: PackageDeclarationOpt /* Option */ Package Identifier PackageDeclarationOpt0 /* Option */ LBrace PackageDeclarationList /* Vec */ RBrace; Production { lhs: 456, production: &[ @@ -25490,112 +25944,112 @@ pub const PRODUCTIONS: &[Production; 953] = &[ ParseType::N(458), ], }, - // 898 - PackageDeclarationList: PackageGroup PackageDeclarationList; + // 905 - PackageDeclarationList: PackageGroup PackageDeclarationList; Production { lhs: 457, production: &[ParseType::N(457), ParseType::N(460)], }, - // 899 - PackageDeclarationList: ; + // 906 - PackageDeclarationList: ; Production { lhs: 457, production: &[], }, - // 900 - PackageDeclarationOpt0: WithGenericParameter; + // 907 - PackageDeclarationOpt0: WithGenericParameter; Production { lhs: 459, - production: &[ParseType::N(651)], + production: &[ParseType::N(655)], }, - // 901 - PackageDeclarationOpt0: ; + // 908 - PackageDeclarationOpt0: ; Production { lhs: 459, production: &[], }, - // 902 - PackageDeclarationOpt: Pub; + // 909 - PackageDeclarationOpt: Pub; Production { lhs: 458, production: &[ParseType::N(495)], }, - // 903 - PackageDeclarationOpt: ; + // 910 - PackageDeclarationOpt: ; Production { lhs: 458, production: &[], }, - // 904 - PackageGroup: PackageGroupList /* Vec */ PackageGroupGroup; + // 911 - PackageGroup: PackageGroupList /* Vec */ PackageGroupGroup; Production { lhs: 460, production: &[ParseType::N(461), ParseType::N(463)], }, - // 905 - PackageGroupGroup: LBrace PackageGroupGroupList /* Vec */ RBrace; + // 912 - PackageGroupGroup: LBrace PackageGroupGroupList /* Vec */ RBrace; Production { lhs: 461, production: &[ParseType::N(504), ParseType::N(462), ParseType::N(357)], }, - // 906 - PackageGroupGroupList: PackageGroup PackageGroupGroupList; + // 913 - PackageGroupGroupList: PackageGroup PackageGroupGroupList; Production { lhs: 462, production: &[ParseType::N(462), ParseType::N(460)], }, - // 907 - PackageGroupGroupList: ; + // 914 - PackageGroupGroupList: ; Production { lhs: 462, production: &[], }, - // 908 - PackageGroupGroup: PackageItem; + // 915 - PackageGroupGroup: PackageItem; Production { lhs: 461, production: &[ParseType::N(464)], }, - // 909 - PackageGroupList: Attribute PackageGroupList; + // 916 - PackageGroupList: Attribute PackageGroupList; Production { lhs: 463, production: &[ParseType::N(463), ParseType::N(43)], }, - // 910 - PackageGroupList: ; + // 917 - PackageGroupList: ; Production { lhs: 463, production: &[], }, - // 911 - PackageItem: VarDeclaration; + // 918 - PackageItem: VarDeclaration; Production { lhs: 464, - production: &[ParseType::N(636)], + production: &[ParseType::N(640)], }, - // 912 - PackageItem: ConstDeclaration; + // 919 - PackageItem: ConstDeclaration; Production { lhs: 464, production: &[ParseType::N(110)], }, - // 913 - PackageItem: TypeDefDeclaration; + // 920 - PackageItem: TypeDefDeclaration; Production { lhs: 464, - production: &[ParseType::N(612)], + production: &[ParseType::N(616)], }, - // 914 - PackageItem: EnumDeclaration; + // 921 - PackageItem: EnumDeclaration; Production { lhs: 464, production: &[ParseType::N(148)], }, - // 915 - PackageItem: StructUnionDeclaration; + // 922 - PackageItem: StructUnionDeclaration; Production { lhs: 464, - production: &[ParseType::N(586)], + production: &[ParseType::N(590)], }, - // 916 - PackageItem: FunctionDeclaration; + // 923 - PackageItem: FunctionDeclaration; Production { lhs: 464, production: &[ParseType::N(233)], }, - // 917 - PackageItem: ImportDeclaration; + // 924 - PackageItem: ImportDeclaration; Production { lhs: 464, production: &[ParseType::N(289)], }, - // 918 - PackageItem: ExportDeclaration; + // 925 - PackageItem: ExportDeclaration; Production { lhs: 464, production: &[ParseType::N(167)], }, - // 919 - ProtoModuleDeclaration: ProtoModuleDeclarationOpt /* Option */ Proto Module Identifier ProtoModuleDeclarationOpt0 /* Option */ ProtoModuleDeclarationOpt1 /* Option */ Semicolon; + // 926 - ProtoModuleDeclaration: ProtoModuleDeclarationOpt /* Option */ Proto Module Identifier ProtoModuleDeclarationOpt0 /* Option */ ProtoModuleDeclarationOpt1 /* Option */ Semicolon; Production { lhs: 489, production: &[ @@ -25608,37 +26062,37 @@ pub const PRODUCTIONS: &[Production; 953] = &[ ParseType::N(490), ], }, - // 920 - ProtoModuleDeclarationOpt1: PortDeclaration; + // 927 - ProtoModuleDeclarationOpt1: PortDeclaration; Production { lhs: 492, production: &[ParseType::N(473)], }, - // 921 - ProtoModuleDeclarationOpt1: ; + // 928 - ProtoModuleDeclarationOpt1: ; Production { lhs: 492, production: &[], }, - // 922 - ProtoModuleDeclarationOpt0: WithParameter; + // 929 - ProtoModuleDeclarationOpt0: WithParameter; Production { lhs: 491, - production: &[ParseType::N(657)], + production: &[ParseType::N(661)], }, - // 923 - ProtoModuleDeclarationOpt0: ; + // 930 - ProtoModuleDeclarationOpt0: ; Production { lhs: 491, production: &[], }, - // 924 - ProtoModuleDeclarationOpt: Pub; + // 931 - ProtoModuleDeclarationOpt: Pub; Production { lhs: 490, production: &[ParseType::N(495)], }, - // 925 - ProtoModuleDeclarationOpt: ; + // 932 - ProtoModuleDeclarationOpt: ; Production { lhs: 490, production: &[], }, - // 926 - EmbedDeclaration: Embed LParen Identifier RParen Identifier EmbedContent; + // 933 - EmbedDeclaration: Embed LParen Identifier RParen Identifier EmbedContent; Production { lhs: 142, production: &[ @@ -25650,12 +26104,12 @@ pub const PRODUCTIONS: &[Production; 953] = &[ ParseType::N(138), ], }, - // 927 - EmbedContent: EmbedContentToken : crate::veryl_token::VerylToken ; + // 934 - EmbedContent: EmbedContentToken : crate::veryl_token::VerylToken ; Production { lhs: 139, production: &[ParseType::N(140)], }, - // 928 - EmbedContentToken: LBraceTerm Push(1) LBraceTerm LBraceTerm EmbedContentTokenList /* Vec */ RBraceTerm RBraceTerm RBraceTerm Pop Comments; + // 935 - EmbedContentToken: LBraceTerm Push(1) LBraceTerm LBraceTerm EmbedContentTokenList /* Vec */ RBraceTerm RBraceTerm RBraceTerm Pop Comments; Production { lhs: 140, production: &[ @@ -25671,132 +26125,132 @@ pub const PRODUCTIONS: &[Production; 953] = &[ ParseType::N(358), ], }, - // 929 - EmbedContentTokenList: EmbedItem EmbedContentTokenList; + // 936 - EmbedContentTokenList: EmbedItem EmbedContentTokenList; Production { lhs: 141, production: &[ParseType::N(141), ParseType::N(143)], }, - // 930 - EmbedContentTokenList: ; + // 937 - EmbedContentTokenList: ; Production { lhs: 141, production: &[], }, - // 931 - EmbedItem: LBraceTerm EmbedItemList /* Vec */ RBraceTerm; + // 938 - EmbedItem: LBraceTerm EmbedItemList /* Vec */ RBraceTerm; Production { lhs: 143, production: &[ParseType::N(505), ParseType::N(144), ParseType::N(358)], }, - // 932 - EmbedItemList: EmbedItem EmbedItemList; + // 939 - EmbedItemList: EmbedItem EmbedItemList; Production { lhs: 144, production: &[ParseType::N(144), ParseType::N(143)], }, - // 933 - EmbedItemList: ; + // 940 - EmbedItemList: ; Production { lhs: 144, production: &[], }, - // 934 - EmbedItem: AnyTerm; + // 941 - EmbedItem: AnyTerm; Production { lhs: 143, production: &[ParseType::N(16)], }, - // 935 - IncludeDeclaration: Include LParen Identifier Comma StringLiteral RParen Semicolon; + // 942 - IncludeDeclaration: Include LParen Identifier Comma StringLiteral RParen Semicolon; Production { lhs: 297, production: &[ ParseType::N(558), ParseType::N(510), - ParseType::N(577), + ParseType::N(581), ParseType::N(98), ParseType::N(269), ParseType::N(363), ParseType::N(296), ], }, - // 936 - DescriptionGroup: DescriptionGroupList /* Vec */ DescriptionGroupGroup; + // 943 - DescriptionGroup: DescriptionGroupList /* Vec */ DescriptionGroupGroup; Production { lhs: 117, production: &[ParseType::N(118), ParseType::N(120)], }, - // 937 - DescriptionGroupGroup: LBrace DescriptionGroupGroupList /* Vec */ RBrace; + // 944 - DescriptionGroupGroup: LBrace DescriptionGroupGroupList /* Vec */ RBrace; Production { lhs: 118, production: &[ParseType::N(504), ParseType::N(119), ParseType::N(357)], }, - // 938 - DescriptionGroupGroupList: DescriptionGroup DescriptionGroupGroupList; + // 945 - DescriptionGroupGroupList: DescriptionGroup DescriptionGroupGroupList; Production { lhs: 119, production: &[ParseType::N(119), ParseType::N(117)], }, - // 939 - DescriptionGroupGroupList: ; + // 946 - DescriptionGroupGroupList: ; Production { lhs: 119, production: &[], }, - // 940 - DescriptionGroupGroup: DescriptionItem; + // 947 - DescriptionGroupGroup: DescriptionItem; Production { lhs: 118, production: &[ParseType::N(121)], }, - // 941 - DescriptionGroupList: Attribute DescriptionGroupList; + // 948 - DescriptionGroupList: Attribute DescriptionGroupList; Production { lhs: 120, production: &[ParseType::N(120), ParseType::N(43)], }, - // 942 - DescriptionGroupList: ; + // 949 - DescriptionGroupList: ; Production { lhs: 120, production: &[], }, - // 943 - DescriptionItem: ModuleDeclaration; + // 950 - DescriptionItem: ModuleDeclaration; Production { lhs: 121, production: &[ParseType::N(397)], }, - // 944 - DescriptionItem: InterfaceDeclaration; + // 951 - DescriptionItem: InterfaceDeclaration; Production { lhs: 121, production: &[ParseType::N(342)], }, - // 945 - DescriptionItem: PackageDeclaration; + // 952 - DescriptionItem: PackageDeclaration; Production { lhs: 121, production: &[ParseType::N(456)], }, - // 946 - DescriptionItem: ProtoModuleDeclaration; + // 953 - DescriptionItem: ProtoModuleDeclaration; Production { lhs: 121, production: &[ParseType::N(489)], }, - // 947 - DescriptionItem: ImportDeclaration; + // 954 - DescriptionItem: ImportDeclaration; Production { lhs: 121, production: &[ParseType::N(289)], }, - // 948 - DescriptionItem: EmbedDeclaration; + // 955 - DescriptionItem: EmbedDeclaration; Production { lhs: 121, production: &[ParseType::N(142)], }, - // 949 - DescriptionItem: IncludeDeclaration; + // 956 - DescriptionItem: IncludeDeclaration; Production { lhs: 121, production: &[ParseType::N(297)], }, - // 950 - Veryl: Start VerylList /* Vec */; + // 957 - Veryl: Start VerylList /* Vec */; Production { - lhs: 641, - production: &[ParseType::N(642), ParseType::N(567)], + lhs: 645, + production: &[ParseType::N(646), ParseType::N(567)], }, - // 951 - VerylList: DescriptionGroup VerylList; + // 958 - VerylList: DescriptionGroup VerylList; Production { - lhs: 642, - production: &[ParseType::N(642), ParseType::N(117)], + lhs: 646, + production: &[ParseType::N(646), ParseType::N(117)], }, - // 952 - VerylList: ; + // 959 - VerylList: ; Production { - lhs: 642, + lhs: 646, production: &[], }, ]; @@ -25830,7 +26284,7 @@ where T: AsRef, { let mut llk_parser = LLKParser::new( - 641, + 645, LOOKAHEAD_AUTOMATA, PRODUCTIONS, TERMINAL_NAMES, diff --git a/crates/parser/src/veryl_grammar_trait.rs b/crates/parser/src/veryl_grammar_trait.rs index a4cac118..0b2cd3e2 100644 --- a/crates/parser/src/veryl_grammar_trait.rs +++ b/crates/parser/src/veryl_grammar_trait.rs @@ -122,3 +122,4 @@ group_to_item!(Interface); group_to_item!(Generate); group_to_item!(Package); group_to_item!(Description); +group_to_item!(StatementBlock); diff --git a/crates/parser/src/veryl_walker.rs b/crates/parser/src/veryl_walker.rs index 5a6aa233..7ace8329 100644 --- a/crates/parser/src/veryl_walker.rs +++ b/crates/parser/src/veryl_walker.rs @@ -1533,12 +1533,33 @@ pub trait VerylWalker { before!(self, statement_block, arg); self.l_brace(&arg.l_brace); for x in &arg.statement_block_list { - self.statement_block_item(&x.statement_block_item); + self.statement_block_group(&x.statement_block_group); } self.r_brace(&arg.r_brace); after!(self, statement_block, arg); } + /// Semantic action for non-terminal 'StatementBlockGroup' + fn statement_block_group(&mut self, arg: &StatementBlockGroup) { + before!(self, statement_block_group, arg); + for x in &arg.statement_block_group_list { + self.attribute(&x.attribute); + } + match arg.statement_block_group_group.as_ref() { + StatementBlockGroupGroup::LBraceStatementBlockGroupGroupListRBrace(x) => { + self.l_brace(&x.l_brace); + for x in &x.statement_block_group_group_list { + self.statement_block_group(&x.statement_block_group); + } + self.r_brace(&x.r_brace); + } + StatementBlockGroupGroup::StatementBlockItem(x) => { + self.statement_block_item(&x.statement_block_item); + } + } + after!(self, statement_block_group, arg); + } + /// Semantic action for non-terminal 'StatementOrVarDeclaration' fn statement_block_item(&mut self, arg: &StatementBlockItem) { before!(self, statement_block_item, arg); diff --git a/crates/parser/veryl.par b/crates/parser/veryl.par index dd2845c5..a845539b 100644 --- a/crates/parser/veryl.par +++ b/crates/parser/veryl.par @@ -555,7 +555,9 @@ ClockDomain: BackQuote Identifier; // Statement // ---------------------------------------------------------------------------- -StatementBlock: LBrace { StatementBlockItem } RBrace; +StatementBlock: LBrace { StatementBlockGroup } RBrace; + +StatementBlockGroup: { Attribute } ( LBrace { StatementBlockGroup } RBrace | StatementBlockItem ); StatementBlockItem: VarDeclaration | LetStatement | Statement; diff --git a/testcases/map/testcases/sv/72_cond_type.sv.map b/testcases/map/testcases/sv/72_cond_type.sv.map new file mode 100644 index 00000000..b4d6e695 --- /dev/null +++ b/testcases/map/testcases/sv/72_cond_type.sv.map @@ -0,0 +1 @@ +{"version":3,"file":"72_cond_type.sv.map","sources":["../../../veryl/72_cond_type.veryl"],"names":["","module","Module72","(","input","logic","i_clk",",","i_rst_n",")",";","x","=","1","a","b","c","d","e","f","g","h","i","always_comb","begin","case",") inside","0",":","endcase","end","if","==","always_ff","endmodule"],"mappings":"AAAAA,AAAAC,sBAAOC,SAASC;IACLC,MAAMC,MAAbC,OAAkBC;IACXH,MAAMC,MAAbG,OAAkBR;AACtBS,CAAEC;IACSL,MAAHM;kBAASC,EAAEC,CAACH;IACTL,MAAHS,CAAQJ;IACLL,MAAHU,CAAQL;IACLL,MAAHW,CAAQN;IACLL,MAAHY,CAAQP;IACLL,MAAHa,CAAQR;IACLL,MAAHc,CAAQT;IACLL,MAAHe,CAAQV;IACLL,MAAHgB,CAAQX;IACLL,MAAHiB,CAAQZ;;IAEZa,YAAYC;;QAERC,MAAKd,CAAEe;YACHC,CAACC,EAAEd,EAAEF,EAAEC,CAACH;mBACPkB,EAAEd,EAAEF,EAAEC,CAACH;QACZmB;;QAEAJ,MAAKd,CAAEe;YACHC,CAACC,EAAEb,EAAEH,EAAEC,CAACH;mBACPkB,EAAEb,EAAEH,EAAEC,CAACH;QACZmB;;QAEAJ,MAAKd,CAAEe;YACHC,CAACC,EAAEZ,EAAEJ,EAAEC,CAACH;mBACPkB,EAAEZ,EAAEJ,EAAEC,CAACH;QACZmB;IACJC;;IAEAP,YAAYC;;QAERO,IAAGpB,EAAEqB,GAAGL,GAAEH;YACNP,EAAEL,EAAEC,CAACH;QACToB,SAAiBN;YACbP,EAAEL,EAAEC,CAACH;QACToB;;QAEAC,IAAGpB,EAAEqB,GAAGL,GAAEH;YACNN,EAAEN,EAAEC,CAACH;QACToB,SAAiBN;YACbN,EAAEN,EAAEC,CAACH;QACToB;;QAEAC,IAAGpB,EAAEqB,GAAGL,GAAEH;YACNL,EAAEP,EAAEC,CAACH;QACToB,SAAiBN;YACbL,EAAEP,EAAEC,CAACH;QACToB;IACJA;;IAEAG,6CAAUT;;QAENO,cAASP;YACLJ,GAAER,EAAEC,CAACH;QACToB,SAAiBN;YACbJ,GAAER,EAAEC,CAACH;QACToB;IACJA;IACAG,6CAAUT;;QAENO,cAASP;YACLH,GAAET,EAAEC,CAACH;QACToB,SAAiBN;YACbH,GAAET,EAAEC,CAACH;QACToB;IACJA;IACAG,6CAAUT;;QAENO,cAASP;YACLF,GAAEV,EAAEC,CAACH;QACToB,SAAiBN;YACbF,GAAEV,EAAEC,CAACH;QACToB;IACJA;AACJI"} \ No newline at end of file diff --git a/testcases/sv/72_cond_type.sv b/testcases/sv/72_cond_type.sv new file mode 100644 index 00000000..79c580a8 --- /dev/null +++ b/testcases/sv/72_cond_type.sv @@ -0,0 +1,81 @@ +module veryl_testcase_Module72 ( + input logic i_clk , + input logic i_rst_n +); + logic x; + always_comb x = 1; + logic a; + logic b; + logic c; + logic d; + logic e; + logic f; + logic g; + logic h; + logic i; + + always_comb begin + + case (x) inside + 0: a = 1; + default: a = 1; + endcase + + case (x) inside + 0: b = 1; + default: b = 1; + endcase + + case (x) inside + 0: c = 1; + default: c = 1; + endcase + end + + always_comb begin + + if (x == 0) begin + d = 1; + end else begin + d = 1; + end + + if (x == 0) begin + e = 1; + end else begin + e = 1; + end + + if (x == 0) begin + f = 1; + end else begin + f = 1; + end + end + + always_ff @ (posedge i_clk, negedge i_rst_n) begin + + if (!i_rst_n) begin + g <= 1; + end else begin + g <= 1; + end + end + always_ff @ (posedge i_clk, negedge i_rst_n) begin + + if (!i_rst_n) begin + h <= 1; + end else begin + h <= 1; + end + end + always_ff @ (posedge i_clk, negedge i_rst_n) begin + + if (!i_rst_n) begin + i <= 1; + end else begin + i <= 1; + end + end +endmodule +//# sourceMappingURL=../map/testcases/sv/72_cond_type.sv.map diff --git a/testcases/veryl/72_cond_type.veryl b/testcases/veryl/72_cond_type.veryl new file mode 100644 index 00000000..6778abea --- /dev/null +++ b/testcases/veryl/72_cond_type.veryl @@ -0,0 +1,79 @@ +module Module72 ( + i_clk: input clock, + i_rst: input reset, +) { + let x: logic = 1; + var a: logic; + var b: logic; + var c: logic; + var d: logic; + var e: logic; + var f: logic; + var g: logic; + var h: logic; + var i: logic; + + always_comb { + #[cond_type(unique)] + case x { + 0: a = 1; + 1: a = 1; + } + #[cond_type(unique0)] + case x { + 0: b = 1; + 1: b = 1; + } + #[cond_type(priority)] + case x { + 0: c = 1; + 1: c = 1; + } + } + + always_comb { + #[cond_type(unique)] + if x == 0 { + d = 1; + } else if x == 1 { + d = 1; + } + #[cond_type(unique0)] + if x == 0 { + e = 1; + } else if x == 1 { + e = 1; + } + #[cond_type(priority)] + if x == 0 { + f = 1; + } else if x == 1 { + f = 1; + } + } + + always_ff { + #[cond_type(unique)] + if_reset { + g = 1; + } else if x == 1 { + g = 1; + } + } + always_ff { + #[cond_type(unique0)] + if_reset { + h = 1; + } else if x == 1 { + h = 1; + } + } + always_ff { + #[cond_type(priority)] + if_reset { + i = 1; + } else if x == 1 { + i = 1; + } + } +}