From 74087780c39801f53f33c2690a4f0356402d7346 Mon Sep 17 00:00:00 2001 From: Taichi Ishitani Date: Thu, 30 May 2024 11:39:23 +0900 Subject: [PATCH] support importing functions into modport (refs: veryl-lang/veryl#732) --- crates/analyzer/src/analyzer.rs | 4 +- crates/analyzer/src/analyzer_error.rs | 45 + crates/analyzer/src/handlers.rs | 6 + .../analyzer/src/handlers/check_assignment.rs | 6 +- .../analyzer/src/handlers/check_function.rs | 25 +- crates/analyzer/src/handlers/check_modport.rs | 69 + .../src/handlers/create_symbol_table.rs | 66 +- crates/analyzer/src/symbol.rs | 18 +- crates/analyzer/src/symbol_table.rs | 12 +- crates/analyzer/src/tests.rs | 139 + crates/emitter/src/aligner.rs | 9 +- crates/emitter/src/emitter.rs | 8 +- crates/formatter/src/aligner.rs | 9 +- crates/formatter/src/formatter.rs | 5 +- crates/languageserver/src/server.rs | 3 +- crates/parser/src/generated/veryl-exp.par | 604 +- .../src/generated/veryl_grammar_trait.rs | 1461 +-- crates/parser/src/generated/veryl_parser.rs | 8168 +++++++++-------- crates/parser/src/veryl_walker.rs | 5 +- crates/parser/veryl.par | 2 +- testcases/sv/39_modport.sv | 11 +- testcases/veryl/39_modport.veryl | 11 +- 22 files changed, 5578 insertions(+), 5108 deletions(-) create mode 100644 crates/analyzer/src/handlers/check_modport.rs diff --git a/crates/analyzer/src/analyzer.rs b/crates/analyzer/src/analyzer.rs index 8e02bc108..6f00b8ca4 100644 --- a/crates/analyzer/src/analyzer.rs +++ b/crates/analyzer/src/analyzer.rs @@ -292,7 +292,7 @@ fn is_assignable(direction: &Direction) -> bool { fn must_be_assigned(kind: &SymbolKind) -> bool { match kind { SymbolKind::Port(x) => x.direction == Direction::Output, - SymbolKind::ModportMember(x) => x.direction == Direction::Output, + SymbolKind::ModportVariableMember(x) => x.direction == Direction::Output, SymbolKind::Variable(_) => true, SymbolKind::StructMember(_) => true, _ => false, @@ -378,7 +378,7 @@ fn traverse_type_symbol(id: SymbolId, path: &AssignPath) -> Vec { } return ret; } - SymbolKind::ModportMember(x) if is_assignable(&x.direction) => { + SymbolKind::ModportVariableMember(x) if is_assignable(&x.direction) => { if let Ok(symbol) = symbol_table::resolve(&symbol.token) { return traverse_type_symbol(symbol.found.id, path); } diff --git a/crates/analyzer/src/analyzer_error.rs b/crates/analyzer/src/analyzer_error.rs index dc908be13..1f1411785 100644 --- a/crates/analyzer/src/analyzer_error.rs +++ b/crates/analyzer/src/analyzer_error.rs @@ -227,6 +227,31 @@ pub enum AnalyzerError { error_location: SourceSpan, }, + #[diagnostic(severity(Error), code(invalid_modport_port_item), help(""), url(""))] + #[error("#{identifier} is not a variable")] + InvalidModportPortItem { + identifier: String, + #[source_code] + input: NamedSource, + #[label("Error location")] + error_location: SourceSpan, + }, + + #[diagnostic( + severity(Error), + code(invalid_modport_function_item), + help(""), + url("") + )] + #[error("#{identifier} is not a function")] + InvalidModportFunctionItem { + identifier: String, + #[source_code] + input: NamedSource, + #[label("Error location")] + error_location: SourceSpan, + }, + #[diagnostic( severity(Error), code(missing_default_argument), @@ -855,6 +880,26 @@ impl AnalyzerError { } } + pub fn invalid_modport_port_item(identifier: &str, source: &str, token: &TokenRange) -> Self { + AnalyzerError::InvalidModportPortItem { + identifier: identifier.into(), + input: AnalyzerError::named_source(source, token), + error_location: token.into(), + } + } + + pub fn invalid_modport_function_item( + identifier: &str, + source: &str, + token: &TokenRange, + ) -> Self { + AnalyzerError::InvalidModportFunctionItem { + identifier: identifier.into(), + input: AnalyzerError::named_source(source, token), + error_location: token.into(), + } + } + pub fn missing_default_argument(identifier: &str, source: &str, token: &TokenRange) -> Self { AnalyzerError::MissingDefaultArgument { identifier: identifier.into(), diff --git a/crates/analyzer/src/handlers.rs b/crates/analyzer/src/handlers.rs index c39bacf80..235d88f71 100644 --- a/crates/analyzer/src/handlers.rs +++ b/crates/analyzer/src/handlers.rs @@ -7,6 +7,7 @@ pub mod check_enum; pub mod check_function; pub mod check_identifier; pub mod check_instance; +pub mod check_modport; pub mod check_msb_lsb; pub mod check_number; pub mod check_statement; @@ -21,6 +22,7 @@ use check_enum::*; use check_function::*; use check_identifier::*; use check_instance::*; +use check_modport::*; use check_msb_lsb::*; use check_number::*; use check_statement::*; @@ -83,6 +85,7 @@ impl<'a> Pass1Handlers<'a> { pub struct Pass2Handlers<'a> { check_enum: CheckEnum<'a>, + check_modport: CheckModport<'a>, check_function: CheckFunction<'a>, check_instance: CheckInstance<'a>, check_msb_lsb: CheckMsbLsb<'a>, @@ -96,6 +99,7 @@ impl<'a> Pass2Handlers<'a> { pub fn new(text: &'a str, _build_opt: &'a Build, _lint_opt: &'a Lint) -> Self { Self { check_enum: CheckEnum::new(text), + check_modport: CheckModport::new(text), check_function: CheckFunction::new(text), check_instance: CheckInstance::new(text), check_msb_lsb: CheckMsbLsb::new(text), @@ -109,6 +113,7 @@ impl<'a> Pass2Handlers<'a> { pub fn get_handlers(&mut self) -> Vec<&mut dyn Handler> { vec![ &mut self.check_enum as &mut dyn Handler, + &mut self.check_modport as &mut dyn Handler, &mut self.check_function as &mut dyn Handler, &mut self.check_instance as &mut dyn Handler, &mut self.check_msb_lsb as &mut dyn Handler, @@ -122,6 +127,7 @@ impl<'a> Pass2Handlers<'a> { pub fn get_errors(&mut self) -> Vec { let mut ret = Vec::new(); ret.append(&mut self.check_enum.errors); + ret.append(&mut self.check_modport.errors); ret.append(&mut self.check_function.errors); ret.append(&mut self.check_instance.errors); ret.append(&mut self.check_msb_lsb.errors); diff --git a/crates/analyzer/src/handlers/check_assignment.rs b/crates/analyzer/src/handlers/check_assignment.rs index 3b58edd6e..b942a646a 100644 --- a/crates/analyzer/src/handlers/check_assignment.rs +++ b/crates/analyzer/src/handlers/check_assignment.rs @@ -53,9 +53,9 @@ fn can_assign(full_path: &[SymbolId]) -> bool { SymbolKind::Port(x) if x.direction == Direction::Output => true, SymbolKind::Port(x) if x.direction == Direction::Ref => true, SymbolKind::Port(x) if x.direction == Direction::Inout => true, - SymbolKind::ModportMember(x) if x.direction == Direction::Output => true, - SymbolKind::ModportMember(x) if x.direction == Direction::Ref => true, - SymbolKind::ModportMember(x) if x.direction == Direction::Inout => true, + SymbolKind::ModportVariableMember(x) if x.direction == Direction::Output => true, + SymbolKind::ModportVariableMember(x) if x.direction == Direction::Ref => true, + SymbolKind::ModportVariableMember(x) if x.direction == Direction::Inout => true, _ => false, }; if can_assign { diff --git a/crates/analyzer/src/handlers/check_function.rs b/crates/analyzer/src/handlers/check_function.rs index 2057d2d73..bfb4b57cd 100644 --- a/crates/analyzer/src/handlers/check_function.rs +++ b/crates/analyzer/src/handlers/check_function.rs @@ -44,7 +44,14 @@ impl<'a> VerylGrammarTrait for CheckFunction<'a> { } if let Ok(symbol) = symbol_table::resolve(arg.expression_identifier.as_ref()) { - if let SymbolKind::Function(x) = symbol.found.kind { + let function_symbol = match symbol.found.kind { + SymbolKind::Function(_) => symbol.found, + SymbolKind::ModportFunctionMember(x) => { + symbol_table::get(x.function_id).unwrap() + } + _ => return Ok(()), + }; + if let SymbolKind::Function(x) = function_symbol.kind { if x.ret.is_some() { let name = format!( "{}", @@ -86,10 +93,18 @@ impl<'a> VerylGrammarTrait for CheckFunction<'a> { } if let Ok(symbol) = symbol_table::resolve(x.expression_identifier.as_ref()) { - let arity = if let SymbolKind::Function(x) = symbol.found.kind { - Some(x.ports.len()) - } else { - None + let arity = match symbol.found.kind { + SymbolKind::Function(x) => Some(x.ports.len()), + SymbolKind::ModportFunctionMember(x) => { + if let SymbolKind::Function(x) = + symbol_table::get(x.function_id).unwrap().kind + { + Some(x.ports.len()) + } else { + unreachable!(); + } + } + _ => None, }; let mut args = 0; diff --git a/crates/analyzer/src/handlers/check_modport.rs b/crates/analyzer/src/handlers/check_modport.rs new file mode 100644 index 000000000..034e92336 --- /dev/null +++ b/crates/analyzer/src/handlers/check_modport.rs @@ -0,0 +1,69 @@ +use crate::analyzer_error::AnalyzerError; +use crate::symbol::SymbolKind; +use crate::symbol_table; +use veryl_parser::veryl_grammar_trait::*; +use veryl_parser::veryl_walker::{Handler, HandlerPoint}; +use veryl_parser::ParolError; + +pub struct CheckModport<'a> { + pub errors: Vec, + text: &'a str, + point: HandlerPoint, +} + +impl<'a> CheckModport<'a> { + pub fn new(text: &'a str) -> Self { + Self { + errors: Vec::new(), + text, + point: HandlerPoint::Before, + } + } +} + +impl<'a> Handler for CheckModport<'a> { + fn set_point(&mut self, p: HandlerPoint) { + self.point = p; + } +} + +impl<'a> VerylGrammarTrait for CheckModport<'a> { + fn modport_item(&mut self, arg: &ModportItem) -> Result<(), ParolError> { + if let HandlerPoint::Before = self.point { + if let Ok(symbol) = symbol_table::resolve(arg.identifier.as_ref()) { + match &*arg.modport_item_group { + ModportItemGroup::Direction(_) => { + let is_variable = match symbol.found.kind { + SymbolKind::Variable(_) => true, + _ => false, + }; + + if !is_variable { + self.errors.push(AnalyzerError::invalid_modport_port_item( + &arg.identifier.identifier_token.token.to_string(), + self.text, + &arg.identifier.as_ref().into(), + )); + } + } + ModportItemGroup::Import(_) => { + let is_function = match symbol.found.kind { + SymbolKind::Function(_) => true, + _ => false, + }; + + if !is_function { + self.errors + .push(AnalyzerError::invalid_modport_function_item( + &arg.identifier.identifier_token.token.to_string(), + self.text, + &arg.identifier.as_ref().into(), + )); + } + } + } + } + } + Ok(()) + } +} diff --git a/crates/analyzer/src/handlers/create_symbol_table.rs b/crates/analyzer/src/handlers/create_symbol_table.rs index 89683be6c..ee2e1cd25 100644 --- a/crates/analyzer/src/handlers/create_symbol_table.rs +++ b/crates/analyzer/src/handlers/create_symbol_table.rs @@ -8,11 +8,11 @@ use crate::symbol::Direction as SymDirection; use crate::symbol::Type as SymType; use crate::symbol::{ ConnectTarget, DocComment, EnumMemberProperty, EnumProperty, FunctionProperty, - GenericParameterProperty, InstanceProperty, InterfaceProperty, ModportMemberProperty, - ModportProperty, ModuleProperty, PackageProperty, ParameterProperty, ParameterScope, - ParameterValue, PortProperty, StructMemberProperty, StructProperty, Symbol, SymbolId, - SymbolKind, TypeDefProperty, TypeKind, UnionMemberProperty, UnionProperty, VariableAffiniation, - VariableProperty, + GenericParameterProperty, InstanceProperty, InterfaceProperty, ModportFunctionMemberProperty, + ModportProperty, ModportVariableMemberProperty, ModuleProperty, PackageProperty, + ParameterProperty, ParameterScope, ParameterValue, PortProperty, StructMemberProperty, + StructProperty, Symbol, SymbolId, SymbolKind, TypeDefProperty, TypeKind, UnionMemberProperty, + UnionProperty, VariableAffiniation, VariableProperty, }; use crate::symbol_path::{GenericSymbolPath, SymbolPath}; use crate::symbol_table; @@ -50,6 +50,8 @@ pub struct CreateSymbolTable<'a> { generic_references: Vec, default_clock_candidates: Vec, defualt_reset_candidates: Vec, + modport_member_ids: Vec, + function_ids: HashMap, } #[derive(Clone)] @@ -448,19 +450,28 @@ impl<'a> VerylGrammarTrait for CreateSymbolTable<'a> { .push(arg.identifier.identifier_token.token.text); for item in items { - let direction: crate::symbol::Direction = item.direction.as_ref().into(); - let property = ModportMemberProperty { direction }; - let id = self.insert_symbol( - &item.identifier.identifier_token.token, - SymbolKind::ModportMember(property), - false, - ); - members.push(id); + let kind = match &*item.modport_item_group { + ModportItemGroup::Direction(x) => { + let direction: crate::symbol::Direction = x.direction.as_ref().into(); + let property = ModportVariableMemberProperty { direction }; + SymbolKind::ModportVariableMember(property) + } + ModportItemGroup::Import(_) => { + let function_id = SymbolId::default(); + let property = ModportFunctionMemberProperty { function_id }; + SymbolKind::ModportFunctionMember(property) + } + }; + if let Some(id) = + self.insert_symbol(&item.identifier.identifier_token.token, kind, false) + { + members.push(id); + self.modport_member_ids.push(id); + } } self.namespace.pop(); - let members: Vec<_> = members.into_iter().flatten().collect(); let property = ModportProperty { members }; let kind = SymbolKind::Modport(property); self.insert_symbol(&arg.identifier.identifier_token.token, kind, false); @@ -785,11 +796,15 @@ impl<'a> VerylGrammarTrait for CreateSymbolTable<'a> { ports, ret, }; - self.insert_symbol( + + if let Some(id) = self.insert_symbol( &arg.identifier.identifier_token.token, SymbolKind::Function(property), false, - ); + ) { + self.function_ids + .insert(arg.identifier.identifier_token.token.text, id); + } } } Ok(()) @@ -802,6 +817,7 @@ impl<'a> VerylGrammarTrait for CreateSymbolTable<'a> { self.namespace.push(name); self.affiniation.push(VariableAffiniation::Module); self.module_namspace_depth = self.namespace.depth(); + self.function_ids.clear(); } HandlerPoint::After => { self.namespace.pop(); @@ -941,6 +957,8 @@ impl<'a> VerylGrammarTrait for CreateSymbolTable<'a> { HandlerPoint::Before => { self.namespace.push(name); self.affiniation.push(VariableAffiniation::Intarface); + self.function_ids.clear(); + self.modport_member_ids.clear(); } HandlerPoint::After => { self.namespace.pop(); @@ -975,6 +993,21 @@ impl<'a> VerylGrammarTrait for CreateSymbolTable<'a> { SymbolKind::Interface(property), public, ); + + // link modport function + for id in &self.modport_member_ids { + let mut modport_symbol = symbol_table::get(*id).unwrap(); + if let SymbolKind::ModportFunctionMember(_) = modport_symbol.kind { + if let Some(function_id) = self.function_ids.get(&modport_symbol.token.text) + { + let function_id = function_id.clone(); + let property = ModportFunctionMemberProperty { function_id }; + let kind = SymbolKind::ModportFunctionMember(property); + modport_symbol.kind = kind; + symbol_table::update(modport_symbol); + } + } + } } } Ok(()) @@ -1054,6 +1087,7 @@ impl<'a> VerylGrammarTrait for CreateSymbolTable<'a> { HandlerPoint::Before => { self.namespace.push(name); self.affiniation.push(VariableAffiniation::Package); + self.function_ids.clear(); } HandlerPoint::After => { self.namespace.pop(); diff --git a/crates/analyzer/src/symbol.rs b/crates/analyzer/src/symbol.rs index a0b6faaa1..14c812406 100644 --- a/crates/analyzer/src/symbol.rs +++ b/crates/analyzer/src/symbol.rs @@ -260,7 +260,8 @@ pub enum SymbolKind { EnumMember(EnumMemberProperty), Modport(ModportProperty), Genvar, - ModportMember(ModportMemberProperty), + ModportVariableMember(ModportVariableMemberProperty), + ModportFunctionMember(ModportFunctionMemberProperty), SystemVerilog, Namespace, SystemFunction, @@ -289,7 +290,8 @@ impl SymbolKind { SymbolKind::EnumMember(_) => "enum member".to_string(), SymbolKind::Modport(_) => "modport".to_string(), SymbolKind::Genvar => "genvar".to_string(), - SymbolKind::ModportMember(_) => "modport member".to_string(), + SymbolKind::ModportVariableMember(_) => "modport port member".to_string(), + SymbolKind::ModportFunctionMember(_) => "modport function member".to_string(), SymbolKind::SystemVerilog => "systemverilog item".to_string(), SymbolKind::Namespace => "namespace".to_string(), SymbolKind::SystemFunction => "system function".to_string(), @@ -390,7 +392,10 @@ impl fmt::Display for SymbolKind { format!("modport ({} ports)", x.members.len()) } SymbolKind::Genvar => "genvar".to_string(), - SymbolKind::ModportMember(x) => format!("modport member ({})", x.direction), + SymbolKind::ModportVariableMember(x) => { + format!("modport port member ({})", x.direction) + } + SymbolKind::ModportFunctionMember(_) => "modport function member".to_string(), SymbolKind::SystemVerilog => "systemverilog item".to_string(), SymbolKind::Namespace => "namespace".to_string(), SymbolKind::SystemFunction => "system function".to_string(), @@ -920,10 +925,15 @@ pub struct ModportProperty { } #[derive(Debug, Clone)] -pub struct ModportMemberProperty { +pub struct ModportVariableMemberProperty { pub direction: Direction, } +#[derive(Debug, Clone)] +pub struct ModportFunctionMemberProperty { + pub function_id: SymbolId, +} + #[derive(Debug, Clone)] pub struct GenericParameterProperty { pub default_value: Option, diff --git a/crates/analyzer/src/symbol_table.rs b/crates/analyzer/src/symbol_table.rs index 330110563..b7b868214 100644 --- a/crates/analyzer/src/symbol_table.rs +++ b/crates/analyzer/src/symbol_table.rs @@ -96,6 +96,11 @@ impl SymbolTable { self.symbol_table.get(&id).cloned() } + pub fn update(&mut self, symbol: Symbol) { + let id = symbol.id; + self.symbol_table.insert(id, symbol); + } + fn trace_user_defined<'a>( &self, mut context: ResolveContext<'a>, @@ -195,7 +200,7 @@ impl SymbolTable { context = self.trace_user_defined(context, &x.kind)?; } } - SymbolKind::ModportMember(_) => { + SymbolKind::ModportVariableMember(_) => { let path = SymbolPath::new(&[found.token.text]); context.namespace = found.namespace.clone(); context.namespace.pop(); @@ -244,6 +249,7 @@ impl SymbolTable { | SymbolKind::Struct(_) | SymbolKind::Union(_) | SymbolKind::Modport(_) + | SymbolKind::ModportFunctionMember(_) | SymbolKind::EnumMember(_) | SymbolKind::Block | SymbolKind::SystemFunction @@ -704,6 +710,10 @@ pub fn get(id: SymbolId) -> Option { SYMBOL_TABLE.with(|f| f.borrow().get(id)) } +pub fn update(symbol: Symbol) { + SYMBOL_TABLE.with(|f| f.borrow_mut().update(symbol)) +} + pub fn resolve>(path: T) -> Result { let SymbolPathNamespace(path, namespace) = path.into(); SYMBOL_TABLE.with(|f| f.borrow().resolve(&path, &namespace)) diff --git a/crates/analyzer/src/tests.rs b/crates/analyzer/src/tests.rs index 5abc7cd3c..dae1ec350 100644 --- a/crates/analyzer/src/tests.rs +++ b/crates/analyzer/src/tests.rs @@ -573,6 +573,64 @@ fn invalid_statement() { assert!(matches!(errors[0], AnalyzerError::InvalidStatement { .. })); } +#[test] +fn invalid_modport_item() { + let code = r#" + interface InterfaceA { + var a: logic; + function f -> logic { + return 1; + } + + modport mp { + a: input , + f: import, + } + } + "#; + + let errors = analyze(code); + assert!(errors.is_empty()); + + let code = r#" + interface InterfaceB { + var a: logic; + function f -> logic { + return 1; + } + + modport mp { + f: input, + } + } + "#; + + let errors = analyze(code); + assert!(matches!( + errors[0], + AnalyzerError::InvalidModportPortItem { .. } + )); + + let code = r#" + interface InterfaceC { + var a: logic; + function f -> logic { + return 1; + } + + modport mp { + a: import, + } + } + "#; + + let errors = analyze(code); + assert!(matches!( + errors[0], + AnalyzerError::InvalidModportFunctionItem { .. } + )); +} + #[test] fn mismatch_function_arity() { let code = r#" @@ -590,6 +648,49 @@ fn mismatch_function_arity() { errors[0], AnalyzerError::MismatchFunctionArity { .. } )); + + let code = r#" + interface InterfaceB { + function FuncB ( + a: input logic, + ) -> logic {} + } + + module ModuleB { + inst instB: InterfaceB(); + let _b: logic = instB.FuncB(1, 2); + } + "#; + + let errors = analyze(code); + assert!(matches!( + errors[0], + AnalyzerError::MismatchFunctionArity { .. } + )); + + let code = r#" + interface InterfaceC { + function FuncC ( + a: input logic, + ) -> logic {} + + modport mp { + FuncC: import, + } + } + + module ModuleC ( + ifc: modport InterfaceC::mp, + ) { + let _c: logic = ifc.FuncC(1, 2); + } + "#; + + let errors = analyze(code); + assert!(matches!( + errors[0], + AnalyzerError::MismatchFunctionArity { .. } + )); } #[test] @@ -1166,6 +1267,44 @@ fn unused_return() { let errors = analyze(code); assert!(matches!(errors[0], AnalyzerError::UnusedReturn { .. })); + + let code = r#" + interface InterfaceB { + function FuncB () -> logic { + return 1; + } + } + module ModuleB { + inst ifb: InterfaceB (); + initial { + ifb.FuncB(); + } + } + "#; + + let errors = analyze(code); + assert!(matches!(errors[0], AnalyzerError::UnusedReturn { .. })); + + let code = r#" + interface InterfaceC { + modport mp { + FuncC: import, + } + function FuncC() -> logic { + return 1; + } + } + module ModuleC ( + ifc: modport InterfaceC::mp, + ){ + initial { + ifc.FuncC(); + } + } + "#; + + let errors = analyze(code); + assert!(matches!(errors[0], AnalyzerError::UnusedReturn { .. })); } #[test] diff --git a/crates/emitter/src/aligner.rs b/crates/emitter/src/aligner.rs index 1aec40cf0..2ebc3826f 100644 --- a/crates/emitter/src/aligner.rs +++ b/crates/emitter/src/aligner.rs @@ -777,7 +777,14 @@ impl VerylWalker for Aligner { self.identifier(&arg.identifier); self.aligns[align_kind::IDENTIFIER].finish_item(); self.colon(&arg.colon); - self.direction(&arg.direction); + match &*arg.modport_item_group { + ModportItemGroup::Direction(x) => self.direction(&x.direction), + ModportItemGroup::Import(x) => { + self.aligns[align_kind::DIRECTION].start_item(); + self.import(&x.import); + self.aligns[align_kind::DIRECTION].finish_item(); + } + } } /// Semantic action for non-terminal 'StructItem' diff --git a/crates/emitter/src/emitter.rs b/crates/emitter/src/emitter.rs index 6479e421f..29ad76c76 100644 --- a/crates/emitter/src/emitter.rs +++ b/crates/emitter/src/emitter.rs @@ -1982,7 +1982,10 @@ impl VerylWalker for Emitter { /// Semantic action for non-terminal 'ModportItem' fn modport_item(&mut self, arg: &ModportItem) { - self.direction(&arg.direction); + match &*arg.modport_item_group { + ModportItemGroup::Direction(x) => self.direction(&x.direction), + ModportItemGroup::Import(x) => self.import(&x.import), + } self.space(1); self.identifier(&arg.identifier); } @@ -3291,7 +3294,8 @@ pub fn symbol_string(token: &VerylToken, symbol: &Symbol, context: &SymbolContex | SymbolKind::Block | SymbolKind::StructMember(_) | SymbolKind::UnionMember(_) - | SymbolKind::ModportMember(_) + | SymbolKind::ModportVariableMember(_) + | SymbolKind::ModportFunctionMember(_) | SymbolKind::Genvar | SymbolKind::Namespace | SymbolKind::SystemFunction => ret.push_str(&symbol.token.to_string()), diff --git a/crates/formatter/src/aligner.rs b/crates/formatter/src/aligner.rs index c5ad3e02d..1565a5c90 100644 --- a/crates/formatter/src/aligner.rs +++ b/crates/formatter/src/aligner.rs @@ -625,7 +625,14 @@ impl VerylWalker for Aligner { self.identifier(&arg.identifier); self.aligns[align_kind::IDENTIFIER].finish_item(); self.colon(&arg.colon); - self.direction(&arg.direction); + match &*arg.modport_item_group { + ModportItemGroup::Direction(x) => self.direction(&x.direction), + ModportItemGroup::Import(x) => { + self.aligns[align_kind::DIRECTION].start_item(); + self.import(&x.import); + self.aligns[align_kind::DIRECTION].finish_item(); + } + } } /// Semantic action for non-terminal 'StructItem' diff --git a/crates/formatter/src/formatter.rs b/crates/formatter/src/formatter.rs index 12cbd73e8..f9a0a8eca 100644 --- a/crates/formatter/src/formatter.rs +++ b/crates/formatter/src/formatter.rs @@ -988,7 +988,10 @@ impl VerylWalker for Formatter { self.identifier(&arg.identifier); self.colon(&arg.colon); self.space(1); - self.direction(&arg.direction); + match &*arg.modport_item_group { + ModportItemGroup::Direction(x) => self.direction(&x.direction), + ModportItemGroup::Import(x) => self.import(&x.import), + } } /// Semantic action for non-terminal 'EnumDeclaration' diff --git a/crates/languageserver/src/server.rs b/crates/languageserver/src/server.rs index a24da67db..24a932c48 100644 --- a/crates/languageserver/src/server.rs +++ b/crates/languageserver/src/server.rs @@ -324,7 +324,8 @@ impl Server { VerylSymbolKind::Modport(_) => SymbolKind::INTERFACE, VerylSymbolKind::Genvar => SymbolKind::VARIABLE, VerylSymbolKind::TypeDef(_) => SymbolKind::TYPE_PARAMETER, - VerylSymbolKind::ModportMember(_) => SymbolKind::VARIABLE, + VerylSymbolKind::ModportVariableMember(_) => SymbolKind::VARIABLE, + VerylSymbolKind::ModportFunctionMember(_) => SymbolKind::FUNCTION, VerylSymbolKind::SystemVerilog => SymbolKind::NAMESPACE, VerylSymbolKind::Namespace => SymbolKind::NAMESPACE, VerylSymbolKind::SystemFunction => SymbolKind::FUNCTION, diff --git a/crates/parser/src/generated/veryl-exp.par b/crates/parser/src/generated/veryl-exp.par index f65e49f2d..f07977310 100644 --- a/crates/parser/src/generated/veryl-exp.par +++ b/crates/parser/src/generated/veryl-exp.par @@ -626,304 +626,306 @@ /* 611 */ ModportGroupGroup: ModportItem; /* 612 */ ModportGroupList /* Vec::Push */: Attribute ModportGroupList; /* 613 */ ModportGroupList /* Vec::New */: ; -/* 614 */ ModportItem: Identifier Colon Direction; -/* 615 */ EnumDeclaration: Enum Identifier Colon ScalarType LBrace EnumList RBrace; -/* 616 */ EnumList: EnumGroup EnumListList /* Vec */ EnumListOpt /* Option */; -/* 617 */ EnumListList /* Vec::Push */: Comma EnumGroup EnumListList; -/* 618 */ EnumListList /* Vec::New */: ; -/* 619 */ EnumListOpt /* Option::Some */: Comma; -/* 620 */ EnumListOpt /* Option::None */: ; -/* 621 */ EnumGroup: EnumGroupList /* Vec */ EnumGroupGroup; -/* 622 */ EnumGroupGroup: LBrace EnumList RBrace; -/* 623 */ EnumGroupGroup: EnumItem; -/* 624 */ EnumGroupList /* Vec::Push */: Attribute EnumGroupList; -/* 625 */ EnumGroupList /* Vec::New */: ; -/* 626 */ EnumItem: Identifier EnumItemOpt /* Option */; -/* 627 */ EnumItemOpt /* Option::Some */: Equ Expression; -/* 628 */ EnumItemOpt /* Option::None */: ; -/* 629 */ StructUnion: Struct; -/* 630 */ StructUnion: Union; -/* 631 */ StructUnionDeclaration: StructUnion Identifier StructUnionDeclarationOpt /* Option */ LBrace StructUnionList RBrace; -/* 632 */ StructUnionDeclarationOpt /* Option::Some */: WithGenericParameter; -/* 633 */ StructUnionDeclarationOpt /* Option::None */: ; -/* 634 */ StructUnionList: StructUnionGroup StructUnionListList /* Vec */ StructUnionListOpt /* Option */; -/* 635 */ StructUnionListList /* Vec::Push */: Comma StructUnionGroup StructUnionListList; -/* 636 */ StructUnionListList /* Vec::New */: ; -/* 637 */ StructUnionListOpt /* Option::Some */: Comma; -/* 638 */ StructUnionListOpt /* Option::None */: ; -/* 639 */ StructUnionGroup: StructUnionGroupList /* Vec */ StructUnionGroupGroup; -/* 640 */ StructUnionGroupGroup: LBrace StructUnionList RBrace; -/* 641 */ StructUnionGroupGroup: StructUnionItem; -/* 642 */ StructUnionGroupList /* Vec::Push */: Attribute StructUnionGroupList; -/* 643 */ StructUnionGroupList /* Vec::New */: ; -/* 644 */ StructUnionItem: Identifier Colon ScalarType; -/* 645 */ InitialDeclaration: Initial LBrace InitialDeclarationList /* Vec */ RBrace; -/* 646 */ InitialDeclarationList /* Vec::Push */: Statement InitialDeclarationList; -/* 647 */ InitialDeclarationList /* Vec::New */: ; -/* 648 */ FinalDeclaration: Final LBrace FinalDeclarationList /* Vec */ RBrace; -/* 649 */ FinalDeclarationList /* Vec::Push */: Statement FinalDeclarationList; -/* 650 */ FinalDeclarationList /* Vec::New */: ; -/* 651 */ InstDeclaration: Inst Identifier Colon ScopedIdentifier InstDeclarationOpt /* Option */ InstDeclarationOpt0 /* Option */ InstDeclarationOpt1 /* Option */ Semicolon; -/* 652 */ InstDeclarationOpt1 /* Option::Some */: LParen InstDeclarationOpt2 /* Option */ RParen; -/* 653 */ InstDeclarationOpt2 /* Option::Some */: InstPortList; -/* 654 */ InstDeclarationOpt2 /* Option::None */: ; -/* 655 */ InstDeclarationOpt1 /* Option::None */: ; -/* 656 */ InstDeclarationOpt0 /* Option::Some */: InstParameter; -/* 657 */ InstDeclarationOpt0 /* Option::None */: ; -/* 658 */ InstDeclarationOpt /* Option::Some */: Array; -/* 659 */ InstDeclarationOpt /* Option::None */: ; -/* 660 */ InstParameter: Hash LParen InstParameterOpt /* Option */ RParen; -/* 661 */ InstParameterOpt /* Option::Some */: InstParameterList; -/* 662 */ InstParameterOpt /* Option::None */: ; -/* 663 */ InstParameterList: InstParameterGroup InstParameterListList /* Vec */ InstParameterListOpt /* Option */; -/* 664 */ InstParameterListList /* Vec::Push */: Comma InstParameterGroup InstParameterListList; -/* 665 */ InstParameterListList /* Vec::New */: ; -/* 666 */ InstParameterListOpt /* Option::Some */: Comma; -/* 667 */ InstParameterListOpt /* Option::None */: ; -/* 668 */ InstParameterGroup: InstParameterGroupList /* Vec */ InstParameterGroupGroup; -/* 669 */ InstParameterGroupGroup: LBrace InstParameterList RBrace; -/* 670 */ InstParameterGroupGroup: InstParameterItem; -/* 671 */ InstParameterGroupList /* Vec::Push */: Attribute InstParameterGroupList; -/* 672 */ InstParameterGroupList /* Vec::New */: ; -/* 673 */ InstParameterItem: Identifier InstParameterItemOpt /* Option */; -/* 674 */ InstParameterItemOpt /* Option::Some */: Colon Expression; -/* 675 */ InstParameterItemOpt /* Option::None */: ; -/* 676 */ InstPortList: InstPortGroup InstPortListList /* Vec */ InstPortListOpt /* Option */; -/* 677 */ InstPortListList /* Vec::Push */: Comma InstPortGroup InstPortListList; -/* 678 */ InstPortListList /* Vec::New */: ; -/* 679 */ InstPortListOpt /* Option::Some */: Comma; -/* 680 */ InstPortListOpt /* Option::None */: ; -/* 681 */ InstPortGroup: InstPortGroupList /* Vec */ InstPortGroupGroup; -/* 682 */ InstPortGroupGroup: LBrace InstPortList RBrace; -/* 683 */ InstPortGroupGroup: InstPortItem; -/* 684 */ InstPortGroupList /* Vec::Push */: Attribute InstPortGroupList; -/* 685 */ InstPortGroupList /* Vec::New */: ; -/* 686 */ InstPortItem: Identifier InstPortItemOpt /* Option */; -/* 687 */ InstPortItemOpt /* Option::Some */: Colon Expression; -/* 688 */ InstPortItemOpt /* Option::None */: ; -/* 689 */ WithParameter: Hash LParen WithParameterOpt /* Option */ RParen; -/* 690 */ WithParameterOpt /* Option::Some */: WithParameterList; -/* 691 */ WithParameterOpt /* Option::None */: ; -/* 692 */ WithParameterList: WithParameterGroup WithParameterListList /* Vec */ WithParameterListOpt /* Option */; -/* 693 */ WithParameterListList /* Vec::Push */: Comma WithParameterGroup WithParameterListList; -/* 694 */ WithParameterListList /* Vec::New */: ; -/* 695 */ WithParameterListOpt /* Option::Some */: Comma; -/* 696 */ WithParameterListOpt /* Option::None */: ; -/* 697 */ WithParameterGroup: WithParameterGroupList /* Vec */ WithParameterGroupGroup; -/* 698 */ WithParameterGroupGroup: LBrace WithParameterList RBrace; -/* 699 */ WithParameterGroupGroup: WithParameterItem; -/* 700 */ WithParameterGroupList /* Vec::Push */: Attribute WithParameterGroupList; -/* 701 */ WithParameterGroupList /* Vec::New */: ; -/* 702 */ WithParameterItem: WithParameterItemGroup Identifier Colon WithParameterItemGroup0; -/* 703 */ WithParameterItemGroup0: ArrayType Equ Expression; -/* 704 */ WithParameterItemGroup0: Type Equ TypeExpression; -/* 705 */ WithParameterItemGroup: Param; -/* 706 */ WithParameterItemGroup: Local; -/* 707 */ WithGenericParameter: ColonColonLAngle WithGenericParameterList RAngle; -/* 708 */ WithGenericParameterList: WithGenericParameterItem WithGenericParameterListList /* Vec */ WithGenericParameterListOpt /* Option */; -/* 709 */ WithGenericParameterListList /* Vec::Push */: Comma WithGenericParameterItem WithGenericParameterListList; -/* 710 */ WithGenericParameterListList /* Vec::New */: ; -/* 711 */ WithGenericParameterListOpt /* Option::Some */: Comma; -/* 712 */ WithGenericParameterListOpt /* Option::None */: ; -/* 713 */ WithGenericParameterItem: Identifier WithGenericParameterItemOpt /* Option */; -/* 714 */ WithGenericParameterItemOpt /* Option::Some */: Equ WithGenericArgumentItem; -/* 715 */ WithGenericParameterItemOpt /* Option::None */: ; -/* 716 */ WithGenericArgument: ColonColonLAngle %push(Generic) WithGenericArgumentOpt /* Option */ RAngle %pop(); -/* 717 */ WithGenericArgumentOpt /* Option::Some */: WithGenericArgumentList; -/* 718 */ WithGenericArgumentOpt /* Option::None */: ; -/* 719 */ WithGenericArgumentList: WithGenericArgumentItem WithGenericArgumentListList /* Vec */ WithGenericArgumentListOpt /* Option */; -/* 720 */ WithGenericArgumentListList /* Vec::Push */: Comma WithGenericArgumentItem WithGenericArgumentListList; -/* 721 */ WithGenericArgumentListList /* Vec::New */: ; -/* 722 */ WithGenericArgumentListOpt /* Option::Some */: Comma; -/* 723 */ WithGenericArgumentListOpt /* Option::None */: ; -/* 724 */ WithGenericArgumentItem: ScopedIdentifier; -/* 725 */ WithGenericArgumentItem: Number; -/* 726 */ PortDeclaration: LParen PortDeclarationOpt /* Option */ RParen; -/* 727 */ PortDeclarationOpt /* Option::Some */: PortDeclarationList; -/* 728 */ PortDeclarationOpt /* Option::None */: ; -/* 729 */ PortDeclarationList: PortDeclarationGroup PortDeclarationListList /* Vec */ PortDeclarationListOpt /* Option */; -/* 730 */ PortDeclarationListList /* Vec::Push */: Comma PortDeclarationGroup PortDeclarationListList; -/* 731 */ PortDeclarationListList /* Vec::New */: ; -/* 732 */ PortDeclarationListOpt /* Option::Some */: Comma; -/* 733 */ PortDeclarationListOpt /* Option::None */: ; -/* 734 */ PortDeclarationGroup: PortDeclarationGroupList /* Vec */ PortDeclarationGroupGroup; -/* 735 */ PortDeclarationGroupGroup: LBrace PortDeclarationList RBrace; -/* 736 */ PortDeclarationGroupGroup: PortDeclarationItem; -/* 737 */ PortDeclarationGroupList /* Vec::Push */: Attribute PortDeclarationGroupList; -/* 738 */ PortDeclarationGroupList /* Vec::New */: ; -/* 739 */ PortDeclarationItem: Identifier Colon PortDeclarationItemGroup; -/* 740 */ PortDeclarationItemGroup: Direction ArrayType; -/* 741 */ PortDeclarationItemGroup: Interface PortDeclarationItemOpt /* Option */; -/* 742 */ PortDeclarationItemOpt /* Option::Some */: Array; -/* 743 */ PortDeclarationItemOpt /* Option::None */: ; -/* 744 */ Direction: Input; -/* 745 */ Direction: Output; -/* 746 */ Direction: Inout; -/* 747 */ Direction: Ref; -/* 748 */ Direction: Modport; -/* 749 */ FunctionDeclaration: Function Identifier FunctionDeclarationOpt /* Option */ FunctionDeclarationOpt0 /* Option */ FunctionDeclarationOpt1 /* Option */ LBrace FunctionDeclarationList /* Vec */ RBrace; -/* 750 */ FunctionDeclarationList /* Vec::Push */: FunctionItem FunctionDeclarationList; -/* 751 */ FunctionDeclarationList /* Vec::New */: ; -/* 752 */ FunctionDeclarationOpt1 /* Option::Some */: MinusGT ScalarType; -/* 753 */ FunctionDeclarationOpt1 /* Option::None */: ; -/* 754 */ FunctionDeclarationOpt0 /* Option::Some */: PortDeclaration; -/* 755 */ FunctionDeclarationOpt0 /* Option::None */: ; -/* 756 */ FunctionDeclarationOpt /* Option::Some */: WithGenericParameter; -/* 757 */ FunctionDeclarationOpt /* Option::None */: ; -/* 758 */ FunctionItem: VarDeclaration; -/* 759 */ FunctionItem: Statement; -/* 760 */ ImportDeclaration: Import ScopedIdentifier ImportDeclarationOpt /* Option */ Semicolon; -/* 761 */ ImportDeclarationOpt /* Option::Some */: ColonColon Star; -/* 762 */ ImportDeclarationOpt /* Option::None */: ; -/* 763 */ ExportDeclaration: Export ExportDeclarationGroup Semicolon; -/* 764 */ ExportDeclarationGroup: Star; -/* 765 */ ExportDeclarationGroup: ScopedIdentifier ExportDeclarationOpt /* Option */; -/* 766 */ ExportDeclarationOpt /* Option::Some */: ColonColon Star; -/* 767 */ ExportDeclarationOpt /* Option::None */: ; -/* 768 */ ModuleDeclaration: ModuleDeclarationOpt /* Option */ Module Identifier ModuleDeclarationOpt0 /* Option */ ModuleDeclarationOpt1 /* Option */ ModuleDeclarationOpt2 /* Option */ LBrace ModuleDeclarationList /* Vec */ RBrace; -/* 769 */ ModuleDeclarationList /* Vec::Push */: ModuleGroup ModuleDeclarationList; -/* 770 */ ModuleDeclarationList /* Vec::New */: ; -/* 771 */ ModuleDeclarationOpt2 /* Option::Some */: PortDeclaration; -/* 772 */ ModuleDeclarationOpt2 /* Option::None */: ; -/* 773 */ ModuleDeclarationOpt1 /* Option::Some */: WithParameter; -/* 774 */ ModuleDeclarationOpt1 /* Option::None */: ; -/* 775 */ ModuleDeclarationOpt0 /* Option::Some */: WithGenericParameter; -/* 776 */ ModuleDeclarationOpt0 /* Option::None */: ; -/* 777 */ ModuleDeclarationOpt /* Option::Some */: Pub; -/* 778 */ ModuleDeclarationOpt /* Option::None */: ; -/* 779 */ ModuleIfDeclaration: If Expression ModuleNamedBlock ModuleIfDeclarationList /* Vec */ ModuleIfDeclarationOpt /* Option */; -/* 780 */ ModuleIfDeclarationList /* Vec::Push */: Else If Expression ModuleOptionalNamedBlock ModuleIfDeclarationList; -/* 781 */ ModuleIfDeclarationList /* Vec::New */: ; -/* 782 */ ModuleIfDeclarationOpt /* Option::Some */: Else ModuleOptionalNamedBlock; -/* 783 */ ModuleIfDeclarationOpt /* Option::None */: ; -/* 784 */ ModuleForDeclaration: For Identifier In Range ModuleForDeclarationOpt /* Option */ ModuleNamedBlock; -/* 785 */ ModuleForDeclarationOpt /* Option::Some */: Step AssignmentOperator Expression; -/* 786 */ ModuleForDeclarationOpt /* Option::None */: ; -/* 787 */ ModuleNamedBlock: Colon Identifier LBrace ModuleNamedBlockList /* Vec */ RBrace; -/* 788 */ ModuleNamedBlockList /* Vec::Push */: ModuleGroup ModuleNamedBlockList; -/* 789 */ ModuleNamedBlockList /* Vec::New */: ; -/* 790 */ ModuleOptionalNamedBlock: ModuleOptionalNamedBlockOpt /* Option */ LBrace ModuleOptionalNamedBlockList /* Vec */ RBrace; -/* 791 */ ModuleOptionalNamedBlockList /* Vec::Push */: ModuleGroup ModuleOptionalNamedBlockList; -/* 792 */ ModuleOptionalNamedBlockList /* Vec::New */: ; -/* 793 */ ModuleOptionalNamedBlockOpt /* Option::Some */: Colon Identifier; -/* 794 */ ModuleOptionalNamedBlockOpt /* Option::None */: ; -/* 795 */ ModuleGroup: ModuleGroupList /* Vec */ ModuleGroupGroup; -/* 796 */ ModuleGroupGroup: LBrace ModuleGroupGroupList /* Vec */ RBrace; -/* 797 */ ModuleGroupGroupList /* Vec::Push */: ModuleGroup ModuleGroupGroupList; -/* 798 */ ModuleGroupGroupList /* Vec::New */: ; -/* 799 */ ModuleGroupGroup: ModuleItem; -/* 800 */ ModuleGroupList /* Vec::Push */: Attribute ModuleGroupList; -/* 801 */ ModuleGroupList /* Vec::New */: ; -/* 802 */ ModuleItem: LetDeclaration; -/* 803 */ ModuleItem: VarDeclaration; -/* 804 */ ModuleItem: InstDeclaration; -/* 805 */ ModuleItem: TypeDefDeclaration; -/* 806 */ ModuleItem: LocalDeclaration; -/* 807 */ ModuleItem: AlwaysFfDeclaration; -/* 808 */ ModuleItem: AlwaysCombDeclaration; -/* 809 */ ModuleItem: AssignDeclaration; -/* 810 */ ModuleItem: FunctionDeclaration; -/* 811 */ ModuleItem: ModuleIfDeclaration; -/* 812 */ ModuleItem: ModuleForDeclaration; -/* 813 */ ModuleItem: EnumDeclaration; -/* 814 */ ModuleItem: StructUnionDeclaration; -/* 815 */ ModuleItem: ModuleNamedBlock; -/* 816 */ ModuleItem: ImportDeclaration; -/* 817 */ ModuleItem: InitialDeclaration; -/* 818 */ ModuleItem: FinalDeclaration; -/* 819 */ InterfaceDeclaration: InterfaceDeclarationOpt /* Option */ Interface Identifier InterfaceDeclarationOpt0 /* Option */ InterfaceDeclarationOpt1 /* Option */ LBrace InterfaceDeclarationList /* Vec */ RBrace; -/* 820 */ InterfaceDeclarationList /* Vec::Push */: InterfaceGroup InterfaceDeclarationList; -/* 821 */ InterfaceDeclarationList /* Vec::New */: ; -/* 822 */ InterfaceDeclarationOpt1 /* Option::Some */: WithParameter; -/* 823 */ InterfaceDeclarationOpt1 /* Option::None */: ; -/* 824 */ InterfaceDeclarationOpt0 /* Option::Some */: WithGenericParameter; -/* 825 */ InterfaceDeclarationOpt0 /* Option::None */: ; -/* 826 */ InterfaceDeclarationOpt /* Option::Some */: Pub; -/* 827 */ InterfaceDeclarationOpt /* Option::None */: ; -/* 828 */ InterfaceIfDeclaration: If Expression InterfaceNamedBlock InterfaceIfDeclarationList /* Vec */ InterfaceIfDeclarationOpt /* Option */; -/* 829 */ InterfaceIfDeclarationList /* Vec::Push */: Else If Expression InterfaceOptionalNamedBlock InterfaceIfDeclarationList; -/* 830 */ InterfaceIfDeclarationList /* Vec::New */: ; -/* 831 */ InterfaceIfDeclarationOpt /* Option::Some */: Else InterfaceOptionalNamedBlock; -/* 832 */ InterfaceIfDeclarationOpt /* Option::None */: ; -/* 833 */ InterfaceForDeclaration: For Identifier In Range InterfaceForDeclarationOpt /* Option */ InterfaceNamedBlock; -/* 834 */ InterfaceForDeclarationOpt /* Option::Some */: Step AssignmentOperator Expression; -/* 835 */ InterfaceForDeclarationOpt /* Option::None */: ; -/* 836 */ InterfaceNamedBlock: Colon Identifier LBrace InterfaceNamedBlockList /* Vec */ RBrace; -/* 837 */ InterfaceNamedBlockList /* Vec::Push */: InterfaceGroup InterfaceNamedBlockList; -/* 838 */ InterfaceNamedBlockList /* Vec::New */: ; -/* 839 */ InterfaceOptionalNamedBlock: InterfaceOptionalNamedBlockOpt /* Option */ LBrace InterfaceOptionalNamedBlockList /* Vec */ RBrace; -/* 840 */ InterfaceOptionalNamedBlockList /* Vec::Push */: InterfaceGroup InterfaceOptionalNamedBlockList; -/* 841 */ InterfaceOptionalNamedBlockList /* Vec::New */: ; -/* 842 */ InterfaceOptionalNamedBlockOpt /* Option::Some */: Colon Identifier; -/* 843 */ InterfaceOptionalNamedBlockOpt /* Option::None */: ; -/* 844 */ InterfaceGroup: InterfaceGroupList /* Vec */ InterfaceGroupGroup; -/* 845 */ InterfaceGroupGroup: LBrace InterfaceGroupGroupList /* Vec */ RBrace; -/* 846 */ InterfaceGroupGroupList /* Vec::Push */: InterfaceGroup InterfaceGroupGroupList; -/* 847 */ InterfaceGroupGroupList /* Vec::New */: ; -/* 848 */ InterfaceGroupGroup: InterfaceItem; -/* 849 */ InterfaceGroupList /* Vec::Push */: Attribute InterfaceGroupList; -/* 850 */ InterfaceGroupList /* Vec::New */: ; -/* 851 */ InterfaceItem: LetDeclaration; -/* 852 */ InterfaceItem: VarDeclaration; -/* 853 */ InterfaceItem: LocalDeclaration; -/* 854 */ InterfaceItem: ModportDeclaration; -/* 855 */ InterfaceItem: InterfaceIfDeclaration; -/* 856 */ InterfaceItem: InterfaceForDeclaration; -/* 857 */ InterfaceItem: TypeDefDeclaration; -/* 858 */ InterfaceItem: EnumDeclaration; -/* 859 */ InterfaceItem: StructUnionDeclaration; -/* 860 */ InterfaceItem: InterfaceNamedBlock; -/* 861 */ InterfaceItem: FunctionDeclaration; -/* 862 */ InterfaceItem: ImportDeclaration; -/* 863 */ InterfaceItem: InitialDeclaration; -/* 864 */ InterfaceItem: FinalDeclaration; -/* 865 */ PackageDeclaration: PackageDeclarationOpt /* Option */ Package Identifier PackageDeclarationOpt0 /* Option */ LBrace PackageDeclarationList /* Vec */ RBrace; -/* 866 */ PackageDeclarationList /* Vec::Push */: PackageGroup PackageDeclarationList; -/* 867 */ PackageDeclarationList /* Vec::New */: ; -/* 868 */ PackageDeclarationOpt0 /* Option::Some */: WithGenericParameter; -/* 869 */ PackageDeclarationOpt0 /* Option::None */: ; -/* 870 */ PackageDeclarationOpt /* Option::Some */: Pub; -/* 871 */ PackageDeclarationOpt /* Option::None */: ; -/* 872 */ PackageGroup: PackageGroupList /* Vec */ PackageGroupGroup; -/* 873 */ PackageGroupGroup: LBrace PackageGroupGroupList /* Vec */ RBrace; -/* 874 */ PackageGroupGroupList /* Vec::Push */: PackageGroup PackageGroupGroupList; -/* 875 */ PackageGroupGroupList /* Vec::New */: ; -/* 876 */ PackageGroupGroup: PackageItem; -/* 877 */ PackageGroupList /* Vec::Push */: Attribute PackageGroupList; -/* 878 */ PackageGroupList /* Vec::New */: ; -/* 879 */ PackageItem: VarDeclaration; -/* 880 */ PackageItem: LocalDeclaration; -/* 881 */ PackageItem: TypeDefDeclaration; -/* 882 */ PackageItem: EnumDeclaration; -/* 883 */ PackageItem: StructUnionDeclaration; -/* 884 */ PackageItem: FunctionDeclaration; -/* 885 */ PackageItem: ImportDeclaration; -/* 886 */ PackageItem: ExportDeclaration; -/* 887 */ PackageItem: InitialDeclaration; -/* 888 */ PackageItem: FinalDeclaration; -/* 889 */ EmbedDeclaration: Embed LParen Identifier RParen Identifier EmbedContent; -/* 890 */ EmbedContent: EmbedContentToken : VerylToken; -/* 891 */ EmbedContentToken: LBraceTerm %push(Embed) LBraceTerm LBraceTerm EmbedContentTokenList /* Vec */ RBraceTerm RBraceTerm RBraceTerm %pop() Comments; -/* 892 */ EmbedContentTokenList /* Vec::Push */: EmbedItem EmbedContentTokenList; -/* 893 */ EmbedContentTokenList /* Vec::New */: ; -/* 894 */ EmbedItem: LBraceTerm EmbedItemList /* Vec */ RBraceTerm; -/* 895 */ EmbedItemList /* Vec::Push */: EmbedItem EmbedItemList; -/* 896 */ EmbedItemList /* Vec::New */: ; -/* 897 */ EmbedItem: AnyTerm; -/* 898 */ IncludeDeclaration: Include LParen Identifier Comma StringLiteral RParen Semicolon; -/* 899 */ DescriptionGroup: DescriptionGroupList /* Vec */ DescriptionGroupGroup; -/* 900 */ DescriptionGroupGroup: LBrace DescriptionGroupGroupList /* Vec */ RBrace; -/* 901 */ DescriptionGroupGroupList /* Vec::Push */: DescriptionGroup DescriptionGroupGroupList; -/* 902 */ DescriptionGroupGroupList /* Vec::New */: ; -/* 903 */ DescriptionGroupGroup: DescriptionItem; -/* 904 */ DescriptionGroupList /* Vec::Push */: Attribute DescriptionGroupList; -/* 905 */ DescriptionGroupList /* Vec::New */: ; -/* 906 */ DescriptionItem: ModuleDeclaration; -/* 907 */ DescriptionItem: InterfaceDeclaration; -/* 908 */ DescriptionItem: PackageDeclaration; -/* 909 */ DescriptionItem: ImportDeclaration; -/* 910 */ DescriptionItem: EmbedDeclaration; -/* 911 */ DescriptionItem: IncludeDeclaration; -/* 912 */ Veryl: Start VerylList /* Vec */; -/* 913 */ VerylList /* Vec::Push */: DescriptionGroup VerylList; -/* 914 */ VerylList /* Vec::New */: ; +/* 614 */ ModportItem: Identifier Colon ModportItemGroup; +/* 615 */ ModportItemGroup: Direction; +/* 616 */ ModportItemGroup: Import; +/* 617 */ EnumDeclaration: Enum Identifier Colon ScalarType LBrace EnumList RBrace; +/* 618 */ EnumList: EnumGroup EnumListList /* Vec */ EnumListOpt /* Option */; +/* 619 */ EnumListList /* Vec::Push */: Comma EnumGroup EnumListList; +/* 620 */ EnumListList /* Vec::New */: ; +/* 621 */ EnumListOpt /* Option::Some */: Comma; +/* 622 */ EnumListOpt /* Option::None */: ; +/* 623 */ EnumGroup: EnumGroupList /* Vec */ EnumGroupGroup; +/* 624 */ EnumGroupGroup: LBrace EnumList RBrace; +/* 625 */ EnumGroupGroup: EnumItem; +/* 626 */ EnumGroupList /* Vec::Push */: Attribute EnumGroupList; +/* 627 */ EnumGroupList /* Vec::New */: ; +/* 628 */ EnumItem: Identifier EnumItemOpt /* Option */; +/* 629 */ EnumItemOpt /* Option::Some */: Equ Expression; +/* 630 */ EnumItemOpt /* Option::None */: ; +/* 631 */ StructUnion: Struct; +/* 632 */ StructUnion: Union; +/* 633 */ StructUnionDeclaration: StructUnion Identifier StructUnionDeclarationOpt /* Option */ LBrace StructUnionList RBrace; +/* 634 */ StructUnionDeclarationOpt /* Option::Some */: WithGenericParameter; +/* 635 */ StructUnionDeclarationOpt /* Option::None */: ; +/* 636 */ StructUnionList: StructUnionGroup StructUnionListList /* Vec */ StructUnionListOpt /* Option */; +/* 637 */ StructUnionListList /* Vec::Push */: Comma StructUnionGroup StructUnionListList; +/* 638 */ StructUnionListList /* Vec::New */: ; +/* 639 */ StructUnionListOpt /* Option::Some */: Comma; +/* 640 */ StructUnionListOpt /* Option::None */: ; +/* 641 */ StructUnionGroup: StructUnionGroupList /* Vec */ StructUnionGroupGroup; +/* 642 */ StructUnionGroupGroup: LBrace StructUnionList RBrace; +/* 643 */ StructUnionGroupGroup: StructUnionItem; +/* 644 */ StructUnionGroupList /* Vec::Push */: Attribute StructUnionGroupList; +/* 645 */ StructUnionGroupList /* Vec::New */: ; +/* 646 */ StructUnionItem: Identifier Colon ScalarType; +/* 647 */ InitialDeclaration: Initial LBrace InitialDeclarationList /* Vec */ RBrace; +/* 648 */ InitialDeclarationList /* Vec::Push */: Statement InitialDeclarationList; +/* 649 */ InitialDeclarationList /* Vec::New */: ; +/* 650 */ FinalDeclaration: Final LBrace FinalDeclarationList /* Vec */ RBrace; +/* 651 */ FinalDeclarationList /* Vec::Push */: Statement FinalDeclarationList; +/* 652 */ FinalDeclarationList /* Vec::New */: ; +/* 653 */ InstDeclaration: Inst Identifier Colon ScopedIdentifier InstDeclarationOpt /* Option */ InstDeclarationOpt0 /* Option */ InstDeclarationOpt1 /* Option */ Semicolon; +/* 654 */ InstDeclarationOpt1 /* Option::Some */: LParen InstDeclarationOpt2 /* Option */ RParen; +/* 655 */ InstDeclarationOpt2 /* Option::Some */: InstPortList; +/* 656 */ InstDeclarationOpt2 /* Option::None */: ; +/* 657 */ InstDeclarationOpt1 /* Option::None */: ; +/* 658 */ InstDeclarationOpt0 /* Option::Some */: InstParameter; +/* 659 */ InstDeclarationOpt0 /* Option::None */: ; +/* 660 */ InstDeclarationOpt /* Option::Some */: Array; +/* 661 */ InstDeclarationOpt /* Option::None */: ; +/* 662 */ InstParameter: Hash LParen InstParameterOpt /* Option */ RParen; +/* 663 */ InstParameterOpt /* Option::Some */: InstParameterList; +/* 664 */ InstParameterOpt /* Option::None */: ; +/* 665 */ InstParameterList: InstParameterGroup InstParameterListList /* Vec */ InstParameterListOpt /* Option */; +/* 666 */ InstParameterListList /* Vec::Push */: Comma InstParameterGroup InstParameterListList; +/* 667 */ InstParameterListList /* Vec::New */: ; +/* 668 */ InstParameterListOpt /* Option::Some */: Comma; +/* 669 */ InstParameterListOpt /* Option::None */: ; +/* 670 */ InstParameterGroup: InstParameterGroupList /* Vec */ InstParameterGroupGroup; +/* 671 */ InstParameterGroupGroup: LBrace InstParameterList RBrace; +/* 672 */ InstParameterGroupGroup: InstParameterItem; +/* 673 */ InstParameterGroupList /* Vec::Push */: Attribute InstParameterGroupList; +/* 674 */ InstParameterGroupList /* Vec::New */: ; +/* 675 */ InstParameterItem: Identifier InstParameterItemOpt /* Option */; +/* 676 */ InstParameterItemOpt /* Option::Some */: Colon Expression; +/* 677 */ InstParameterItemOpt /* Option::None */: ; +/* 678 */ InstPortList: InstPortGroup InstPortListList /* Vec */ InstPortListOpt /* Option */; +/* 679 */ InstPortListList /* Vec::Push */: Comma InstPortGroup InstPortListList; +/* 680 */ InstPortListList /* Vec::New */: ; +/* 681 */ InstPortListOpt /* Option::Some */: Comma; +/* 682 */ InstPortListOpt /* Option::None */: ; +/* 683 */ InstPortGroup: InstPortGroupList /* Vec */ InstPortGroupGroup; +/* 684 */ InstPortGroupGroup: LBrace InstPortList RBrace; +/* 685 */ InstPortGroupGroup: InstPortItem; +/* 686 */ InstPortGroupList /* Vec::Push */: Attribute InstPortGroupList; +/* 687 */ InstPortGroupList /* Vec::New */: ; +/* 688 */ InstPortItem: Identifier InstPortItemOpt /* Option */; +/* 689 */ InstPortItemOpt /* Option::Some */: Colon Expression; +/* 690 */ InstPortItemOpt /* Option::None */: ; +/* 691 */ WithParameter: Hash LParen WithParameterOpt /* Option */ RParen; +/* 692 */ WithParameterOpt /* Option::Some */: WithParameterList; +/* 693 */ WithParameterOpt /* Option::None */: ; +/* 694 */ WithParameterList: WithParameterGroup WithParameterListList /* Vec */ WithParameterListOpt /* Option */; +/* 695 */ WithParameterListList /* Vec::Push */: Comma WithParameterGroup WithParameterListList; +/* 696 */ WithParameterListList /* Vec::New */: ; +/* 697 */ WithParameterListOpt /* Option::Some */: Comma; +/* 698 */ WithParameterListOpt /* Option::None */: ; +/* 699 */ WithParameterGroup: WithParameterGroupList /* Vec */ WithParameterGroupGroup; +/* 700 */ WithParameterGroupGroup: LBrace WithParameterList RBrace; +/* 701 */ WithParameterGroupGroup: WithParameterItem; +/* 702 */ WithParameterGroupList /* Vec::Push */: Attribute WithParameterGroupList; +/* 703 */ WithParameterGroupList /* Vec::New */: ; +/* 704 */ WithParameterItem: WithParameterItemGroup Identifier Colon WithParameterItemGroup0; +/* 705 */ WithParameterItemGroup0: ArrayType Equ Expression; +/* 706 */ WithParameterItemGroup0: Type Equ TypeExpression; +/* 707 */ WithParameterItemGroup: Param; +/* 708 */ WithParameterItemGroup: Local; +/* 709 */ WithGenericParameter: ColonColonLAngle WithGenericParameterList RAngle; +/* 710 */ WithGenericParameterList: WithGenericParameterItem WithGenericParameterListList /* Vec */ WithGenericParameterListOpt /* Option */; +/* 711 */ WithGenericParameterListList /* Vec::Push */: Comma WithGenericParameterItem WithGenericParameterListList; +/* 712 */ WithGenericParameterListList /* Vec::New */: ; +/* 713 */ WithGenericParameterListOpt /* Option::Some */: Comma; +/* 714 */ WithGenericParameterListOpt /* Option::None */: ; +/* 715 */ WithGenericParameterItem: Identifier WithGenericParameterItemOpt /* Option */; +/* 716 */ WithGenericParameterItemOpt /* Option::Some */: Equ WithGenericArgumentItem; +/* 717 */ WithGenericParameterItemOpt /* Option::None */: ; +/* 718 */ WithGenericArgument: ColonColonLAngle %push(Generic) WithGenericArgumentOpt /* Option */ RAngle %pop(); +/* 719 */ WithGenericArgumentOpt /* Option::Some */: WithGenericArgumentList; +/* 720 */ WithGenericArgumentOpt /* Option::None */: ; +/* 721 */ WithGenericArgumentList: WithGenericArgumentItem WithGenericArgumentListList /* Vec */ WithGenericArgumentListOpt /* Option */; +/* 722 */ WithGenericArgumentListList /* Vec::Push */: Comma WithGenericArgumentItem WithGenericArgumentListList; +/* 723 */ WithGenericArgumentListList /* Vec::New */: ; +/* 724 */ WithGenericArgumentListOpt /* Option::Some */: Comma; +/* 725 */ WithGenericArgumentListOpt /* Option::None */: ; +/* 726 */ WithGenericArgumentItem: ScopedIdentifier; +/* 727 */ WithGenericArgumentItem: Number; +/* 728 */ PortDeclaration: LParen PortDeclarationOpt /* Option */ RParen; +/* 729 */ PortDeclarationOpt /* Option::Some */: PortDeclarationList; +/* 730 */ PortDeclarationOpt /* Option::None */: ; +/* 731 */ PortDeclarationList: PortDeclarationGroup PortDeclarationListList /* Vec */ PortDeclarationListOpt /* Option */; +/* 732 */ PortDeclarationListList /* Vec::Push */: Comma PortDeclarationGroup PortDeclarationListList; +/* 733 */ PortDeclarationListList /* Vec::New */: ; +/* 734 */ PortDeclarationListOpt /* Option::Some */: Comma; +/* 735 */ PortDeclarationListOpt /* Option::None */: ; +/* 736 */ PortDeclarationGroup: PortDeclarationGroupList /* Vec */ PortDeclarationGroupGroup; +/* 737 */ PortDeclarationGroupGroup: LBrace PortDeclarationList RBrace; +/* 738 */ PortDeclarationGroupGroup: PortDeclarationItem; +/* 739 */ PortDeclarationGroupList /* Vec::Push */: Attribute PortDeclarationGroupList; +/* 740 */ PortDeclarationGroupList /* Vec::New */: ; +/* 741 */ PortDeclarationItem: Identifier Colon PortDeclarationItemGroup; +/* 742 */ PortDeclarationItemGroup: Direction ArrayType; +/* 743 */ PortDeclarationItemGroup: Interface PortDeclarationItemOpt /* Option */; +/* 744 */ PortDeclarationItemOpt /* Option::Some */: Array; +/* 745 */ PortDeclarationItemOpt /* Option::None */: ; +/* 746 */ Direction: Input; +/* 747 */ Direction: Output; +/* 748 */ Direction: Inout; +/* 749 */ Direction: Ref; +/* 750 */ Direction: Modport; +/* 751 */ FunctionDeclaration: Function Identifier FunctionDeclarationOpt /* Option */ FunctionDeclarationOpt0 /* Option */ FunctionDeclarationOpt1 /* Option */ LBrace FunctionDeclarationList /* Vec */ RBrace; +/* 752 */ FunctionDeclarationList /* Vec::Push */: FunctionItem FunctionDeclarationList; +/* 753 */ FunctionDeclarationList /* Vec::New */: ; +/* 754 */ FunctionDeclarationOpt1 /* Option::Some */: MinusGT ScalarType; +/* 755 */ FunctionDeclarationOpt1 /* Option::None */: ; +/* 756 */ FunctionDeclarationOpt0 /* Option::Some */: PortDeclaration; +/* 757 */ FunctionDeclarationOpt0 /* Option::None */: ; +/* 758 */ FunctionDeclarationOpt /* Option::Some */: WithGenericParameter; +/* 759 */ FunctionDeclarationOpt /* Option::None */: ; +/* 760 */ FunctionItem: VarDeclaration; +/* 761 */ FunctionItem: Statement; +/* 762 */ ImportDeclaration: Import ScopedIdentifier ImportDeclarationOpt /* Option */ Semicolon; +/* 763 */ ImportDeclarationOpt /* Option::Some */: ColonColon Star; +/* 764 */ ImportDeclarationOpt /* Option::None */: ; +/* 765 */ ExportDeclaration: Export ExportDeclarationGroup Semicolon; +/* 766 */ ExportDeclarationGroup: Star; +/* 767 */ ExportDeclarationGroup: ScopedIdentifier ExportDeclarationOpt /* Option */; +/* 768 */ ExportDeclarationOpt /* Option::Some */: ColonColon Star; +/* 769 */ ExportDeclarationOpt /* Option::None */: ; +/* 770 */ ModuleDeclaration: ModuleDeclarationOpt /* Option */ Module Identifier ModuleDeclarationOpt0 /* Option */ ModuleDeclarationOpt1 /* Option */ ModuleDeclarationOpt2 /* Option */ LBrace ModuleDeclarationList /* Vec */ RBrace; +/* 771 */ ModuleDeclarationList /* Vec::Push */: ModuleGroup ModuleDeclarationList; +/* 772 */ ModuleDeclarationList /* Vec::New */: ; +/* 773 */ ModuleDeclarationOpt2 /* Option::Some */: PortDeclaration; +/* 774 */ ModuleDeclarationOpt2 /* Option::None */: ; +/* 775 */ ModuleDeclarationOpt1 /* Option::Some */: WithParameter; +/* 776 */ ModuleDeclarationOpt1 /* Option::None */: ; +/* 777 */ ModuleDeclarationOpt0 /* Option::Some */: WithGenericParameter; +/* 778 */ ModuleDeclarationOpt0 /* Option::None */: ; +/* 779 */ ModuleDeclarationOpt /* Option::Some */: Pub; +/* 780 */ ModuleDeclarationOpt /* Option::None */: ; +/* 781 */ ModuleIfDeclaration: If Expression ModuleNamedBlock ModuleIfDeclarationList /* Vec */ ModuleIfDeclarationOpt /* Option */; +/* 782 */ ModuleIfDeclarationList /* Vec::Push */: Else If Expression ModuleOptionalNamedBlock ModuleIfDeclarationList; +/* 783 */ ModuleIfDeclarationList /* Vec::New */: ; +/* 784 */ ModuleIfDeclarationOpt /* Option::Some */: Else ModuleOptionalNamedBlock; +/* 785 */ ModuleIfDeclarationOpt /* Option::None */: ; +/* 786 */ ModuleForDeclaration: For Identifier In Range ModuleForDeclarationOpt /* Option */ ModuleNamedBlock; +/* 787 */ ModuleForDeclarationOpt /* Option::Some */: Step AssignmentOperator Expression; +/* 788 */ ModuleForDeclarationOpt /* Option::None */: ; +/* 789 */ ModuleNamedBlock: Colon Identifier LBrace ModuleNamedBlockList /* Vec */ RBrace; +/* 790 */ ModuleNamedBlockList /* Vec::Push */: ModuleGroup ModuleNamedBlockList; +/* 791 */ ModuleNamedBlockList /* Vec::New */: ; +/* 792 */ ModuleOptionalNamedBlock: ModuleOptionalNamedBlockOpt /* Option */ LBrace ModuleOptionalNamedBlockList /* Vec */ RBrace; +/* 793 */ ModuleOptionalNamedBlockList /* Vec::Push */: ModuleGroup ModuleOptionalNamedBlockList; +/* 794 */ ModuleOptionalNamedBlockList /* Vec::New */: ; +/* 795 */ ModuleOptionalNamedBlockOpt /* Option::Some */: Colon Identifier; +/* 796 */ ModuleOptionalNamedBlockOpt /* Option::None */: ; +/* 797 */ ModuleGroup: ModuleGroupList /* Vec */ ModuleGroupGroup; +/* 798 */ ModuleGroupGroup: LBrace ModuleGroupGroupList /* Vec */ RBrace; +/* 799 */ ModuleGroupGroupList /* Vec::Push */: ModuleGroup ModuleGroupGroupList; +/* 800 */ ModuleGroupGroupList /* Vec::New */: ; +/* 801 */ ModuleGroupGroup: ModuleItem; +/* 802 */ ModuleGroupList /* Vec::Push */: Attribute ModuleGroupList; +/* 803 */ ModuleGroupList /* Vec::New */: ; +/* 804 */ ModuleItem: LetDeclaration; +/* 805 */ ModuleItem: VarDeclaration; +/* 806 */ ModuleItem: InstDeclaration; +/* 807 */ ModuleItem: TypeDefDeclaration; +/* 808 */ ModuleItem: LocalDeclaration; +/* 809 */ ModuleItem: AlwaysFfDeclaration; +/* 810 */ ModuleItem: AlwaysCombDeclaration; +/* 811 */ ModuleItem: AssignDeclaration; +/* 812 */ ModuleItem: FunctionDeclaration; +/* 813 */ ModuleItem: ModuleIfDeclaration; +/* 814 */ ModuleItem: ModuleForDeclaration; +/* 815 */ ModuleItem: EnumDeclaration; +/* 816 */ ModuleItem: StructUnionDeclaration; +/* 817 */ ModuleItem: ModuleNamedBlock; +/* 818 */ ModuleItem: ImportDeclaration; +/* 819 */ ModuleItem: InitialDeclaration; +/* 820 */ ModuleItem: FinalDeclaration; +/* 821 */ InterfaceDeclaration: InterfaceDeclarationOpt /* Option */ Interface Identifier InterfaceDeclarationOpt0 /* Option */ InterfaceDeclarationOpt1 /* Option */ LBrace InterfaceDeclarationList /* Vec */ RBrace; +/* 822 */ InterfaceDeclarationList /* Vec::Push */: InterfaceGroup InterfaceDeclarationList; +/* 823 */ InterfaceDeclarationList /* Vec::New */: ; +/* 824 */ InterfaceDeclarationOpt1 /* Option::Some */: WithParameter; +/* 825 */ InterfaceDeclarationOpt1 /* Option::None */: ; +/* 826 */ InterfaceDeclarationOpt0 /* Option::Some */: WithGenericParameter; +/* 827 */ InterfaceDeclarationOpt0 /* Option::None */: ; +/* 828 */ InterfaceDeclarationOpt /* Option::Some */: Pub; +/* 829 */ InterfaceDeclarationOpt /* Option::None */: ; +/* 830 */ InterfaceIfDeclaration: If Expression InterfaceNamedBlock InterfaceIfDeclarationList /* Vec */ InterfaceIfDeclarationOpt /* Option */; +/* 831 */ InterfaceIfDeclarationList /* Vec::Push */: Else If Expression InterfaceOptionalNamedBlock InterfaceIfDeclarationList; +/* 832 */ InterfaceIfDeclarationList /* Vec::New */: ; +/* 833 */ InterfaceIfDeclarationOpt /* Option::Some */: Else InterfaceOptionalNamedBlock; +/* 834 */ InterfaceIfDeclarationOpt /* Option::None */: ; +/* 835 */ InterfaceForDeclaration: For Identifier In Range InterfaceForDeclarationOpt /* Option */ InterfaceNamedBlock; +/* 836 */ InterfaceForDeclarationOpt /* Option::Some */: Step AssignmentOperator Expression; +/* 837 */ InterfaceForDeclarationOpt /* Option::None */: ; +/* 838 */ InterfaceNamedBlock: Colon Identifier LBrace InterfaceNamedBlockList /* Vec */ RBrace; +/* 839 */ InterfaceNamedBlockList /* Vec::Push */: InterfaceGroup InterfaceNamedBlockList; +/* 840 */ InterfaceNamedBlockList /* Vec::New */: ; +/* 841 */ InterfaceOptionalNamedBlock: InterfaceOptionalNamedBlockOpt /* Option */ LBrace InterfaceOptionalNamedBlockList /* Vec */ RBrace; +/* 842 */ InterfaceOptionalNamedBlockList /* Vec::Push */: InterfaceGroup InterfaceOptionalNamedBlockList; +/* 843 */ InterfaceOptionalNamedBlockList /* Vec::New */: ; +/* 844 */ InterfaceOptionalNamedBlockOpt /* Option::Some */: Colon Identifier; +/* 845 */ InterfaceOptionalNamedBlockOpt /* 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: LetDeclaration; +/* 854 */ InterfaceItem: VarDeclaration; +/* 855 */ InterfaceItem: LocalDeclaration; +/* 856 */ InterfaceItem: ModportDeclaration; +/* 857 */ InterfaceItem: InterfaceIfDeclaration; +/* 858 */ InterfaceItem: InterfaceForDeclaration; +/* 859 */ InterfaceItem: TypeDefDeclaration; +/* 860 */ InterfaceItem: EnumDeclaration; +/* 861 */ InterfaceItem: StructUnionDeclaration; +/* 862 */ InterfaceItem: InterfaceNamedBlock; +/* 863 */ InterfaceItem: FunctionDeclaration; +/* 864 */ InterfaceItem: ImportDeclaration; +/* 865 */ InterfaceItem: InitialDeclaration; +/* 866 */ InterfaceItem: FinalDeclaration; +/* 867 */ PackageDeclaration: PackageDeclarationOpt /* Option */ Package Identifier PackageDeclarationOpt0 /* Option */ LBrace PackageDeclarationList /* Vec */ RBrace; +/* 868 */ PackageDeclarationList /* Vec::Push */: PackageGroup PackageDeclarationList; +/* 869 */ PackageDeclarationList /* Vec::New */: ; +/* 870 */ PackageDeclarationOpt0 /* Option::Some */: WithGenericParameter; +/* 871 */ PackageDeclarationOpt0 /* Option::None */: ; +/* 872 */ PackageDeclarationOpt /* Option::Some */: Pub; +/* 873 */ PackageDeclarationOpt /* Option::None */: ; +/* 874 */ PackageGroup: PackageGroupList /* Vec */ PackageGroupGroup; +/* 875 */ PackageGroupGroup: LBrace PackageGroupGroupList /* Vec */ RBrace; +/* 876 */ PackageGroupGroupList /* Vec::Push */: PackageGroup PackageGroupGroupList; +/* 877 */ PackageGroupGroupList /* Vec::New */: ; +/* 878 */ PackageGroupGroup: PackageItem; +/* 879 */ PackageGroupList /* Vec::Push */: Attribute PackageGroupList; +/* 880 */ PackageGroupList /* Vec::New */: ; +/* 881 */ PackageItem: VarDeclaration; +/* 882 */ PackageItem: LocalDeclaration; +/* 883 */ PackageItem: TypeDefDeclaration; +/* 884 */ PackageItem: EnumDeclaration; +/* 885 */ PackageItem: StructUnionDeclaration; +/* 886 */ PackageItem: FunctionDeclaration; +/* 887 */ PackageItem: ImportDeclaration; +/* 888 */ PackageItem: ExportDeclaration; +/* 889 */ PackageItem: InitialDeclaration; +/* 890 */ PackageItem: FinalDeclaration; +/* 891 */ EmbedDeclaration: Embed LParen Identifier RParen Identifier EmbedContent; +/* 892 */ EmbedContent: EmbedContentToken : VerylToken; +/* 893 */ EmbedContentToken: LBraceTerm %push(Embed) LBraceTerm LBraceTerm EmbedContentTokenList /* Vec */ RBraceTerm RBraceTerm RBraceTerm %pop() Comments; +/* 894 */ EmbedContentTokenList /* Vec::Push */: EmbedItem EmbedContentTokenList; +/* 895 */ EmbedContentTokenList /* Vec::New */: ; +/* 896 */ EmbedItem: LBraceTerm EmbedItemList /* Vec */ RBraceTerm; +/* 897 */ EmbedItemList /* Vec::Push */: EmbedItem EmbedItemList; +/* 898 */ EmbedItemList /* Vec::New */: ; +/* 899 */ EmbedItem: AnyTerm; +/* 900 */ IncludeDeclaration: Include LParen Identifier Comma StringLiteral RParen Semicolon; +/* 901 */ DescriptionGroup: DescriptionGroupList /* Vec */ DescriptionGroupGroup; +/* 902 */ DescriptionGroupGroup: LBrace DescriptionGroupGroupList /* Vec */ RBrace; +/* 903 */ DescriptionGroupGroupList /* Vec::Push */: DescriptionGroup DescriptionGroupGroupList; +/* 904 */ DescriptionGroupGroupList /* Vec::New */: ; +/* 905 */ DescriptionGroupGroup: DescriptionItem; +/* 906 */ DescriptionGroupList /* Vec::Push */: Attribute DescriptionGroupList; +/* 907 */ DescriptionGroupList /* Vec::New */: ; +/* 908 */ DescriptionItem: ModuleDeclaration; +/* 909 */ DescriptionItem: InterfaceDeclaration; +/* 910 */ DescriptionItem: PackageDeclaration; +/* 911 */ DescriptionItem: ImportDeclaration; +/* 912 */ DescriptionItem: EmbedDeclaration; +/* 913 */ DescriptionItem: IncludeDeclaration; +/* 914 */ Veryl: Start VerylList /* Vec */; +/* 915 */ VerylList /* Vec::Push */: DescriptionGroup VerylList; +/* 916 */ VerylList /* Vec::New */: ; diff --git a/crates/parser/src/generated/veryl_grammar_trait.rs b/crates/parser/src/generated/veryl_grammar_trait.rs index 8d069af0e..2ebc9dcbe 100644 --- a/crates/parser/src/generated/veryl_grammar_trait.rs +++ b/crates/parser/src/generated/veryl_grammar_trait.rs @@ -3360,7 +3360,31 @@ pub struct ModportGroupGroupModportItem { } /// -/// Type derived for production 622 +/// Type derived for production 615 +/// +/// `ModportItemGroup: Direction;` +/// +#[allow(dead_code)] +#[derive(Builder, Debug, Clone)] +#[builder(crate = "parol_runtime::derive_builder")] +pub struct ModportItemGroupDirection { + pub direction: Box, +} + +/// +/// Type derived for production 616 +/// +/// `ModportItemGroup: Import;` +/// +#[allow(dead_code)] +#[derive(Builder, Debug, Clone)] +#[builder(crate = "parol_runtime::derive_builder")] +pub struct ModportItemGroupImport { + pub import: Box, +} + +/// +/// Type derived for production 624 /// /// `EnumGroupGroup: LBrace EnumList RBrace;` /// @@ -3374,7 +3398,7 @@ pub struct EnumGroupGroupLBraceEnumListRBrace { } /// -/// Type derived for production 623 +/// Type derived for production 625 /// /// `EnumGroupGroup: EnumItem;` /// @@ -3386,7 +3410,7 @@ pub struct EnumGroupGroupEnumItem { } /// -/// Type derived for production 629 +/// Type derived for production 631 /// /// `StructUnion: Struct;` /// @@ -3398,7 +3422,7 @@ pub struct StructUnionStruct { } /// -/// Type derived for production 630 +/// Type derived for production 632 /// /// `StructUnion: Union;` /// @@ -3410,7 +3434,7 @@ pub struct StructUnionUnion { } /// -/// Type derived for production 640 +/// Type derived for production 642 /// /// `StructUnionGroupGroup: LBrace StructUnionList RBrace;` /// @@ -3424,7 +3448,7 @@ pub struct StructUnionGroupGroupLBraceStructUnionListRBrace { } /// -/// Type derived for production 641 +/// Type derived for production 643 /// /// `StructUnionGroupGroup: StructUnionItem;` /// @@ -3436,7 +3460,7 @@ pub struct StructUnionGroupGroupStructUnionItem { } /// -/// Type derived for production 669 +/// Type derived for production 671 /// /// `InstParameterGroupGroup: LBrace InstParameterList RBrace;` /// @@ -3450,7 +3474,7 @@ pub struct InstParameterGroupGroupLBraceInstParameterListRBrace { } /// -/// Type derived for production 670 +/// Type derived for production 672 /// /// `InstParameterGroupGroup: InstParameterItem;` /// @@ -3462,7 +3486,7 @@ pub struct InstParameterGroupGroupInstParameterItem { } /// -/// Type derived for production 682 +/// Type derived for production 684 /// /// `InstPortGroupGroup: LBrace InstPortList RBrace;` /// @@ -3476,7 +3500,7 @@ pub struct InstPortGroupGroupLBraceInstPortListRBrace { } /// -/// Type derived for production 683 +/// Type derived for production 685 /// /// `InstPortGroupGroup: InstPortItem;` /// @@ -3488,7 +3512,7 @@ pub struct InstPortGroupGroupInstPortItem { } /// -/// Type derived for production 698 +/// Type derived for production 700 /// /// `WithParameterGroupGroup: LBrace WithParameterList RBrace;` /// @@ -3502,7 +3526,7 @@ pub struct WithParameterGroupGroupLBraceWithParameterListRBrace { } /// -/// Type derived for production 699 +/// Type derived for production 701 /// /// `WithParameterGroupGroup: WithParameterItem;` /// @@ -3514,7 +3538,7 @@ pub struct WithParameterGroupGroupWithParameterItem { } /// -/// Type derived for production 703 +/// Type derived for production 705 /// /// `WithParameterItemGroup0: ArrayType Equ Expression;` /// @@ -3528,7 +3552,7 @@ pub struct WithParameterItemGroup0ArrayTypeEquExpression { } /// -/// Type derived for production 704 +/// Type derived for production 706 /// /// `WithParameterItemGroup0: Type Equ TypeExpression;` /// @@ -3542,7 +3566,7 @@ pub struct WithParameterItemGroup0TypeEquTypeExpression { } /// -/// Type derived for production 705 +/// Type derived for production 707 /// /// `WithParameterItemGroup: Param;` /// @@ -3554,7 +3578,7 @@ pub struct WithParameterItemGroupParam { } /// -/// Type derived for production 706 +/// Type derived for production 708 /// /// `WithParameterItemGroup: Local;` /// @@ -3566,7 +3590,7 @@ pub struct WithParameterItemGroupLocal { } /// -/// Type derived for production 724 +/// Type derived for production 726 /// /// `WithGenericArgumentItem: ScopedIdentifier;` /// @@ -3578,7 +3602,7 @@ pub struct WithGenericArgumentItemScopedIdentifier { } /// -/// Type derived for production 725 +/// Type derived for production 727 /// /// `WithGenericArgumentItem: Number;` /// @@ -3590,7 +3614,7 @@ pub struct WithGenericArgumentItemNumber { } /// -/// Type derived for production 735 +/// Type derived for production 737 /// /// `PortDeclarationGroupGroup: LBrace PortDeclarationList RBrace;` /// @@ -3604,7 +3628,7 @@ pub struct PortDeclarationGroupGroupLBracePortDeclarationListRBrace { } /// -/// Type derived for production 736 +/// Type derived for production 738 /// /// `PortDeclarationGroupGroup: PortDeclarationItem;` /// @@ -3616,7 +3640,7 @@ pub struct PortDeclarationGroupGroupPortDeclarationItem { } /// -/// Type derived for production 740 +/// Type derived for production 742 /// /// `PortDeclarationItemGroup: Direction ArrayType;` /// @@ -3629,7 +3653,7 @@ pub struct PortDeclarationItemGroupDirectionArrayType { } /// -/// Type derived for production 741 +/// Type derived for production 743 /// /// `PortDeclarationItemGroup: Interface PortDeclarationItemOpt /* Option */;` /// @@ -3642,7 +3666,7 @@ pub struct PortDeclarationItemGroupInterfacePortDeclarationItemOpt { } /// -/// Type derived for production 744 +/// Type derived for production 746 /// /// `Direction: Input;` /// @@ -3654,7 +3678,7 @@ pub struct DirectionInput { } /// -/// Type derived for production 745 +/// Type derived for production 747 /// /// `Direction: Output;` /// @@ -3666,7 +3690,7 @@ pub struct DirectionOutput { } /// -/// Type derived for production 746 +/// Type derived for production 748 /// /// `Direction: Inout;` /// @@ -3678,7 +3702,7 @@ pub struct DirectionInout { } /// -/// Type derived for production 747 +/// Type derived for production 749 /// /// `Direction: Ref;` /// @@ -3690,7 +3714,7 @@ pub struct DirectionRef { } /// -/// Type derived for production 748 +/// Type derived for production 750 /// /// `Direction: Modport;` /// @@ -3702,7 +3726,7 @@ pub struct DirectionModport { } /// -/// Type derived for production 758 +/// Type derived for production 760 /// /// `FunctionItem: VarDeclaration;` /// @@ -3714,7 +3738,7 @@ pub struct FunctionItemVarDeclaration { } /// -/// Type derived for production 759 +/// Type derived for production 761 /// /// `FunctionItem: Statement;` /// @@ -3726,7 +3750,7 @@ pub struct FunctionItemStatement { } /// -/// Type derived for production 764 +/// Type derived for production 766 /// /// `ExportDeclarationGroup: Star;` /// @@ -3738,7 +3762,7 @@ pub struct ExportDeclarationGroupStar { } /// -/// Type derived for production 765 +/// Type derived for production 767 /// /// `ExportDeclarationGroup: ScopedIdentifier ExportDeclarationOpt /* Option */;` /// @@ -3751,7 +3775,7 @@ pub struct ExportDeclarationGroupScopedIdentifierExportDeclarationOpt { } /// -/// Type derived for production 796 +/// Type derived for production 798 /// /// `ModuleGroupGroup: LBrace ModuleGroupGroupList /* Vec */ RBrace;` /// @@ -3765,7 +3789,7 @@ pub struct ModuleGroupGroupLBraceModuleGroupGroupListRBrace { } /// -/// Type derived for production 799 +/// Type derived for production 801 /// /// `ModuleGroupGroup: ModuleItem;` /// @@ -3777,7 +3801,7 @@ pub struct ModuleGroupGroupModuleItem { } /// -/// Type derived for production 802 +/// Type derived for production 804 /// /// `ModuleItem: LetDeclaration;` /// @@ -3789,7 +3813,7 @@ pub struct ModuleItemLetDeclaration { } /// -/// Type derived for production 803 +/// Type derived for production 805 /// /// `ModuleItem: VarDeclaration;` /// @@ -3801,7 +3825,7 @@ pub struct ModuleItemVarDeclaration { } /// -/// Type derived for production 804 +/// Type derived for production 806 /// /// `ModuleItem: InstDeclaration;` /// @@ -3813,7 +3837,7 @@ pub struct ModuleItemInstDeclaration { } /// -/// Type derived for production 805 +/// Type derived for production 807 /// /// `ModuleItem: TypeDefDeclaration;` /// @@ -3825,7 +3849,7 @@ pub struct ModuleItemTypeDefDeclaration { } /// -/// Type derived for production 806 +/// Type derived for production 808 /// /// `ModuleItem: LocalDeclaration;` /// @@ -3837,7 +3861,7 @@ pub struct ModuleItemLocalDeclaration { } /// -/// Type derived for production 807 +/// Type derived for production 809 /// /// `ModuleItem: AlwaysFfDeclaration;` /// @@ -3849,7 +3873,7 @@ pub struct ModuleItemAlwaysFfDeclaration { } /// -/// Type derived for production 808 +/// Type derived for production 810 /// /// `ModuleItem: AlwaysCombDeclaration;` /// @@ -3861,7 +3885,7 @@ pub struct ModuleItemAlwaysCombDeclaration { } /// -/// Type derived for production 809 +/// Type derived for production 811 /// /// `ModuleItem: AssignDeclaration;` /// @@ -3873,7 +3897,7 @@ pub struct ModuleItemAssignDeclaration { } /// -/// Type derived for production 810 +/// Type derived for production 812 /// /// `ModuleItem: FunctionDeclaration;` /// @@ -3885,7 +3909,7 @@ pub struct ModuleItemFunctionDeclaration { } /// -/// Type derived for production 811 +/// Type derived for production 813 /// /// `ModuleItem: ModuleIfDeclaration;` /// @@ -3897,7 +3921,7 @@ pub struct ModuleItemModuleIfDeclaration { } /// -/// Type derived for production 812 +/// Type derived for production 814 /// /// `ModuleItem: ModuleForDeclaration;` /// @@ -3909,7 +3933,7 @@ pub struct ModuleItemModuleForDeclaration { } /// -/// Type derived for production 813 +/// Type derived for production 815 /// /// `ModuleItem: EnumDeclaration;` /// @@ -3921,7 +3945,7 @@ pub struct ModuleItemEnumDeclaration { } /// -/// Type derived for production 814 +/// Type derived for production 816 /// /// `ModuleItem: StructUnionDeclaration;` /// @@ -3933,7 +3957,7 @@ pub struct ModuleItemStructUnionDeclaration { } /// -/// Type derived for production 815 +/// Type derived for production 817 /// /// `ModuleItem: ModuleNamedBlock;` /// @@ -3945,7 +3969,7 @@ pub struct ModuleItemModuleNamedBlock { } /// -/// Type derived for production 816 +/// Type derived for production 818 /// /// `ModuleItem: ImportDeclaration;` /// @@ -3957,7 +3981,7 @@ pub struct ModuleItemImportDeclaration { } /// -/// Type derived for production 817 +/// Type derived for production 819 /// /// `ModuleItem: InitialDeclaration;` /// @@ -3969,7 +3993,7 @@ pub struct ModuleItemInitialDeclaration { } /// -/// Type derived for production 818 +/// Type derived for production 820 /// /// `ModuleItem: FinalDeclaration;` /// @@ -3981,7 +4005,7 @@ pub struct ModuleItemFinalDeclaration { } /// -/// Type derived for production 845 +/// Type derived for production 847 /// /// `InterfaceGroupGroup: LBrace InterfaceGroupGroupList /* Vec */ RBrace;` /// @@ -3995,7 +4019,7 @@ pub struct InterfaceGroupGroupLBraceInterfaceGroupGroupListRBrace { } /// -/// Type derived for production 848 +/// Type derived for production 850 /// /// `InterfaceGroupGroup: InterfaceItem;` /// @@ -4007,7 +4031,7 @@ pub struct InterfaceGroupGroupInterfaceItem { } /// -/// Type derived for production 851 +/// Type derived for production 853 /// /// `InterfaceItem: LetDeclaration;` /// @@ -4019,7 +4043,7 @@ pub struct InterfaceItemLetDeclaration { } /// -/// Type derived for production 852 +/// Type derived for production 854 /// /// `InterfaceItem: VarDeclaration;` /// @@ -4031,7 +4055,7 @@ pub struct InterfaceItemVarDeclaration { } /// -/// Type derived for production 853 +/// Type derived for production 855 /// /// `InterfaceItem: LocalDeclaration;` /// @@ -4043,7 +4067,7 @@ pub struct InterfaceItemLocalDeclaration { } /// -/// Type derived for production 854 +/// Type derived for production 856 /// /// `InterfaceItem: ModportDeclaration;` /// @@ -4055,7 +4079,7 @@ pub struct InterfaceItemModportDeclaration { } /// -/// Type derived for production 855 +/// Type derived for production 857 /// /// `InterfaceItem: InterfaceIfDeclaration;` /// @@ -4067,7 +4091,7 @@ pub struct InterfaceItemInterfaceIfDeclaration { } /// -/// Type derived for production 856 +/// Type derived for production 858 /// /// `InterfaceItem: InterfaceForDeclaration;` /// @@ -4079,7 +4103,7 @@ pub struct InterfaceItemInterfaceForDeclaration { } /// -/// Type derived for production 857 +/// Type derived for production 859 /// /// `InterfaceItem: TypeDefDeclaration;` /// @@ -4091,7 +4115,7 @@ pub struct InterfaceItemTypeDefDeclaration { } /// -/// Type derived for production 858 +/// Type derived for production 860 /// /// `InterfaceItem: EnumDeclaration;` /// @@ -4103,7 +4127,7 @@ pub struct InterfaceItemEnumDeclaration { } /// -/// Type derived for production 859 +/// Type derived for production 861 /// /// `InterfaceItem: StructUnionDeclaration;` /// @@ -4115,7 +4139,7 @@ pub struct InterfaceItemStructUnionDeclaration { } /// -/// Type derived for production 860 +/// Type derived for production 862 /// /// `InterfaceItem: InterfaceNamedBlock;` /// @@ -4127,7 +4151,7 @@ pub struct InterfaceItemInterfaceNamedBlock { } /// -/// Type derived for production 861 +/// Type derived for production 863 /// /// `InterfaceItem: FunctionDeclaration;` /// @@ -4139,7 +4163,7 @@ pub struct InterfaceItemFunctionDeclaration { } /// -/// Type derived for production 862 +/// Type derived for production 864 /// /// `InterfaceItem: ImportDeclaration;` /// @@ -4151,7 +4175,7 @@ pub struct InterfaceItemImportDeclaration { } /// -/// Type derived for production 863 +/// Type derived for production 865 /// /// `InterfaceItem: InitialDeclaration;` /// @@ -4163,7 +4187,7 @@ pub struct InterfaceItemInitialDeclaration { } /// -/// Type derived for production 864 +/// Type derived for production 866 /// /// `InterfaceItem: FinalDeclaration;` /// @@ -4175,7 +4199,7 @@ pub struct InterfaceItemFinalDeclaration { } /// -/// Type derived for production 873 +/// Type derived for production 875 /// /// `PackageGroupGroup: LBrace PackageGroupGroupList /* Vec */ RBrace;` /// @@ -4189,7 +4213,7 @@ pub struct PackageGroupGroupLBracePackageGroupGroupListRBrace { } /// -/// Type derived for production 876 +/// Type derived for production 878 /// /// `PackageGroupGroup: PackageItem;` /// @@ -4201,7 +4225,7 @@ pub struct PackageGroupGroupPackageItem { } /// -/// Type derived for production 879 +/// Type derived for production 881 /// /// `PackageItem: VarDeclaration;` /// @@ -4213,7 +4237,7 @@ pub struct PackageItemVarDeclaration { } /// -/// Type derived for production 880 +/// Type derived for production 882 /// /// `PackageItem: LocalDeclaration;` /// @@ -4225,7 +4249,7 @@ pub struct PackageItemLocalDeclaration { } /// -/// Type derived for production 881 +/// Type derived for production 883 /// /// `PackageItem: TypeDefDeclaration;` /// @@ -4237,7 +4261,7 @@ pub struct PackageItemTypeDefDeclaration { } /// -/// Type derived for production 882 +/// Type derived for production 884 /// /// `PackageItem: EnumDeclaration;` /// @@ -4249,7 +4273,7 @@ pub struct PackageItemEnumDeclaration { } /// -/// Type derived for production 883 +/// Type derived for production 885 /// /// `PackageItem: StructUnionDeclaration;` /// @@ -4261,7 +4285,7 @@ pub struct PackageItemStructUnionDeclaration { } /// -/// Type derived for production 884 +/// Type derived for production 886 /// /// `PackageItem: FunctionDeclaration;` /// @@ -4273,7 +4297,7 @@ pub struct PackageItemFunctionDeclaration { } /// -/// Type derived for production 885 +/// Type derived for production 887 /// /// `PackageItem: ImportDeclaration;` /// @@ -4285,7 +4309,7 @@ pub struct PackageItemImportDeclaration { } /// -/// Type derived for production 886 +/// Type derived for production 888 /// /// `PackageItem: ExportDeclaration;` /// @@ -4297,7 +4321,7 @@ pub struct PackageItemExportDeclaration { } /// -/// Type derived for production 887 +/// Type derived for production 889 /// /// `PackageItem: InitialDeclaration;` /// @@ -4309,7 +4333,7 @@ pub struct PackageItemInitialDeclaration { } /// -/// Type derived for production 888 +/// Type derived for production 890 /// /// `PackageItem: FinalDeclaration;` /// @@ -4321,7 +4345,7 @@ pub struct PackageItemFinalDeclaration { } /// -/// Type derived for production 894 +/// Type derived for production 896 /// /// `EmbedItem: LBraceTerm EmbedItemList /* Vec */ RBraceTerm;` /// @@ -4335,7 +4359,7 @@ pub struct EmbedItemLBraceTermEmbedItemListRBraceTerm { } /// -/// Type derived for production 897 +/// Type derived for production 899 /// /// `EmbedItem: AnyTerm;` /// @@ -4347,7 +4371,7 @@ pub struct EmbedItemAnyTerm { } /// -/// Type derived for production 900 +/// Type derived for production 902 /// /// `DescriptionGroupGroup: LBrace DescriptionGroupGroupList /* Vec */ RBrace;` /// @@ -4361,7 +4385,7 @@ pub struct DescriptionGroupGroupLBraceDescriptionGroupGroupListRBrace { } /// -/// Type derived for production 903 +/// Type derived for production 905 /// /// `DescriptionGroupGroup: DescriptionItem;` /// @@ -4373,7 +4397,7 @@ pub struct DescriptionGroupGroupDescriptionItem { } /// -/// Type derived for production 906 +/// Type derived for production 908 /// /// `DescriptionItem: ModuleDeclaration;` /// @@ -4385,7 +4409,7 @@ pub struct DescriptionItemModuleDeclaration { } /// -/// Type derived for production 907 +/// Type derived for production 909 /// /// `DescriptionItem: InterfaceDeclaration;` /// @@ -4397,7 +4421,7 @@ pub struct DescriptionItemInterfaceDeclaration { } /// -/// Type derived for production 908 +/// Type derived for production 910 /// /// `DescriptionItem: PackageDeclaration;` /// @@ -4409,7 +4433,7 @@ pub struct DescriptionItemPackageDeclaration { } /// -/// Type derived for production 909 +/// Type derived for production 911 /// /// `DescriptionItem: ImportDeclaration;` /// @@ -4421,7 +4445,7 @@ pub struct DescriptionItemImportDeclaration { } /// -/// Type derived for production 910 +/// Type derived for production 912 /// /// `DescriptionItem: EmbedDeclaration;` /// @@ -4433,7 +4457,7 @@ pub struct DescriptionItemEmbedDeclaration { } /// -/// Type derived for production 911 +/// Type derived for production 913 /// /// `DescriptionItem: IncludeDeclaration;` /// @@ -8709,7 +8733,17 @@ pub struct ModportGroupList { pub struct ModportItem { pub identifier: Box, pub colon: Box, - pub direction: Box, + pub modport_item_group: Box, +} + +/// +/// Type derived for non-terminal ModportItemGroup +/// +#[allow(dead_code)] +#[derive(Debug, Clone)] +pub enum ModportItemGroup { + Direction(ModportItemGroupDirection), + Import(ModportItemGroupImport), } /// @@ -11840,6 +11874,7 @@ pub enum ASTType { ModportGroupGroup(ModportGroupGroup), ModportGroupList(Vec), ModportItem(ModportItem), + ModportItemGroup(ModportItemGroup), ModportList(ModportList), ModportListList(Vec), ModportListOpt(Option), @@ -25975,24 +26010,24 @@ impl<'t, 'u> VerylGrammarAuto<'t, 'u> { /// Semantic action for production 614: /// - /// `ModportItem: Identifier Colon Direction;` + /// `ModportItem: Identifier Colon ModportItemGroup;` /// #[parol_runtime::function_name::named] fn modport_item( &mut self, _identifier: &ParseTreeType<'t>, _colon: &ParseTreeType<'t>, - _direction: &ParseTreeType<'t>, + _modport_item_group: &ParseTreeType<'t>, ) -> Result<()> { let context = function_name!(); trace!("{}", self.trace_item_stack(context)); - let direction = pop_item!(self, direction, Direction, context); + let modport_item_group = pop_item!(self, modport_item_group, ModportItemGroup, context); let colon = pop_item!(self, colon, Colon, context); let identifier = pop_item!(self, identifier, Identifier, context); let modport_item_built = ModportItem { identifier: Box::new(identifier), colon: Box::new(colon), - direction: Box::new(direction), + modport_item_group: Box::new(modport_item_group), }; // Calling user action here self.user_grammar.modport_item(&modport_item_built)?; @@ -26002,6 +26037,46 @@ impl<'t, 'u> VerylGrammarAuto<'t, 'u> { /// Semantic action for production 615: /// + /// `ModportItemGroup: Direction;` + /// + #[parol_runtime::function_name::named] + fn modport_item_group_0(&mut self, _direction: &ParseTreeType<'t>) -> Result<()> { + let context = function_name!(); + trace!("{}", self.trace_item_stack(context)); + let direction = pop_item!(self, direction, Direction, context); + let modport_item_group_0_built = ModportItemGroupDirection { + direction: Box::new(direction), + }; + let modport_item_group_0_built = ModportItemGroup::Direction(modport_item_group_0_built); + self.push( + ASTType::ModportItemGroup(modport_item_group_0_built), + context, + ); + Ok(()) + } + + /// Semantic action for production 616: + /// + /// `ModportItemGroup: Import;` + /// + #[parol_runtime::function_name::named] + fn modport_item_group_1(&mut self, _import: &ParseTreeType<'t>) -> Result<()> { + let context = function_name!(); + trace!("{}", self.trace_item_stack(context)); + let import = pop_item!(self, import, Import, context); + let modport_item_group_1_built = ModportItemGroupImport { + import: Box::new(import), + }; + let modport_item_group_1_built = ModportItemGroup::Import(modport_item_group_1_built); + self.push( + ASTType::ModportItemGroup(modport_item_group_1_built), + context, + ); + Ok(()) + } + + /// Semantic action for production 617: + /// /// `EnumDeclaration: Enum Identifier Colon ScalarType LBrace EnumList RBrace;` /// #[parol_runtime::function_name::named] @@ -26040,7 +26115,7 @@ impl<'t, 'u> VerylGrammarAuto<'t, 'u> { Ok(()) } - /// Semantic action for production 616: + /// Semantic action for production 618: /// /// `EnumList: EnumGroup EnumListList /* Vec */ EnumListOpt /* Option */;` /// @@ -26067,7 +26142,7 @@ impl<'t, 'u> VerylGrammarAuto<'t, 'u> { Ok(()) } - /// Semantic action for production 617: + /// Semantic action for production 619: /// /// `EnumListList /* Vec::Push */: Comma EnumGroup EnumListList;` /// @@ -26093,7 +26168,7 @@ impl<'t, 'u> VerylGrammarAuto<'t, 'u> { Ok(()) } - /// Semantic action for production 618: + /// Semantic action for production 620: /// /// `EnumListList /* Vec::New */: ;` /// @@ -26106,7 +26181,7 @@ impl<'t, 'u> VerylGrammarAuto<'t, 'u> { Ok(()) } - /// Semantic action for production 619: + /// Semantic action for production 621: /// /// `EnumListOpt /* Option::Some */: Comma;` /// @@ -26122,7 +26197,7 @@ impl<'t, 'u> VerylGrammarAuto<'t, 'u> { Ok(()) } - /// Semantic action for production 620: + /// Semantic action for production 622: /// /// `EnumListOpt /* Option::None */: ;` /// @@ -26134,7 +26209,7 @@ impl<'t, 'u> VerylGrammarAuto<'t, 'u> { Ok(()) } - /// Semantic action for production 621: + /// Semantic action for production 623: /// /// `EnumGroup: EnumGroupList /* Vec */ EnumGroupGroup;` /// @@ -26158,7 +26233,7 @@ impl<'t, 'u> VerylGrammarAuto<'t, 'u> { Ok(()) } - /// Semantic action for production 622: + /// Semantic action for production 624: /// /// `EnumGroupGroup: LBrace EnumList RBrace;` /// @@ -26185,7 +26260,7 @@ impl<'t, 'u> VerylGrammarAuto<'t, 'u> { Ok(()) } - /// Semantic action for production 623: + /// Semantic action for production 625: /// /// `EnumGroupGroup: EnumItem;` /// @@ -26202,7 +26277,7 @@ impl<'t, 'u> VerylGrammarAuto<'t, 'u> { Ok(()) } - /// Semantic action for production 624: + /// Semantic action for production 626: /// /// `EnumGroupList /* Vec::Push */: Attribute EnumGroupList;` /// @@ -26225,7 +26300,7 @@ impl<'t, 'u> VerylGrammarAuto<'t, 'u> { Ok(()) } - /// Semantic action for production 625: + /// Semantic action for production 627: /// /// `EnumGroupList /* Vec::New */: ;` /// @@ -26238,7 +26313,7 @@ impl<'t, 'u> VerylGrammarAuto<'t, 'u> { Ok(()) } - /// Semantic action for production 626: + /// Semantic action for production 628: /// /// `EnumItem: Identifier EnumItemOpt /* Option */;` /// @@ -26262,7 +26337,7 @@ impl<'t, 'u> VerylGrammarAuto<'t, 'u> { Ok(()) } - /// Semantic action for production 627: + /// Semantic action for production 629: /// /// `EnumItemOpt /* Option::Some */: Equ Expression;` /// @@ -26284,7 +26359,7 @@ impl<'t, 'u> VerylGrammarAuto<'t, 'u> { Ok(()) } - /// Semantic action for production 628: + /// Semantic action for production 630: /// /// `EnumItemOpt /* Option::None */: ;` /// @@ -26296,7 +26371,7 @@ impl<'t, 'u> VerylGrammarAuto<'t, 'u> { Ok(()) } - /// Semantic action for production 629: + /// Semantic action for production 631: /// /// `StructUnion: Struct;` /// @@ -26315,7 +26390,7 @@ impl<'t, 'u> VerylGrammarAuto<'t, 'u> { Ok(()) } - /// Semantic action for production 630: + /// Semantic action for production 632: /// /// `StructUnion: Union;` /// @@ -26334,7 +26409,7 @@ impl<'t, 'u> VerylGrammarAuto<'t, 'u> { Ok(()) } - /// Semantic action for production 631: + /// Semantic action for production 633: /// /// `StructUnionDeclaration: StructUnion Identifier StructUnionDeclarationOpt /* Option */ LBrace StructUnionList RBrace;` /// @@ -26379,7 +26454,7 @@ impl<'t, 'u> VerylGrammarAuto<'t, 'u> { Ok(()) } - /// Semantic action for production 632: + /// Semantic action for production 634: /// /// `StructUnionDeclarationOpt /* Option::Some */: WithGenericParameter;` /// @@ -26402,7 +26477,7 @@ impl<'t, 'u> VerylGrammarAuto<'t, 'u> { Ok(()) } - /// Semantic action for production 633: + /// Semantic action for production 635: /// /// `StructUnionDeclarationOpt /* Option::None */: ;` /// @@ -26414,7 +26489,7 @@ impl<'t, 'u> VerylGrammarAuto<'t, 'u> { Ok(()) } - /// Semantic action for production 634: + /// Semantic action for production 636: /// /// `StructUnionList: StructUnionGroup StructUnionListList /* Vec */ StructUnionListOpt /* Option */;` /// @@ -26444,7 +26519,7 @@ impl<'t, 'u> VerylGrammarAuto<'t, 'u> { Ok(()) } - /// Semantic action for production 635: + /// Semantic action for production 637: /// /// `StructUnionListList /* Vec::Push */: Comma StructUnionGroup StructUnionListList;` /// @@ -26474,7 +26549,7 @@ impl<'t, 'u> VerylGrammarAuto<'t, 'u> { Ok(()) } - /// Semantic action for production 636: + /// Semantic action for production 638: /// /// `StructUnionListList /* Vec::New */: ;` /// @@ -26490,7 +26565,7 @@ impl<'t, 'u> VerylGrammarAuto<'t, 'u> { Ok(()) } - /// Semantic action for production 637: + /// Semantic action for production 639: /// /// `StructUnionListOpt /* Option::Some */: Comma;` /// @@ -26509,7 +26584,7 @@ impl<'t, 'u> VerylGrammarAuto<'t, 'u> { Ok(()) } - /// Semantic action for production 638: + /// Semantic action for production 640: /// /// `StructUnionListOpt /* Option::None */: ;` /// @@ -26521,7 +26596,7 @@ impl<'t, 'u> VerylGrammarAuto<'t, 'u> { Ok(()) } - /// Semantic action for production 639: + /// Semantic action for production 641: /// /// `StructUnionGroup: StructUnionGroupList /* Vec */ StructUnionGroupGroup;` /// @@ -26552,7 +26627,7 @@ impl<'t, 'u> VerylGrammarAuto<'t, 'u> { Ok(()) } - /// Semantic action for production 640: + /// Semantic action for production 642: /// /// `StructUnionGroupGroup: LBrace StructUnionList RBrace;` /// @@ -26582,7 +26657,7 @@ impl<'t, 'u> VerylGrammarAuto<'t, 'u> { Ok(()) } - /// Semantic action for production 641: + /// Semantic action for production 643: /// /// `StructUnionGroupGroup: StructUnionItem;` /// @@ -26603,7 +26678,7 @@ impl<'t, 'u> VerylGrammarAuto<'t, 'u> { Ok(()) } - /// Semantic action for production 642: + /// Semantic action for production 644: /// /// `StructUnionGroupList /* Vec::Push */: Attribute StructUnionGroupList;` /// @@ -26630,7 +26705,7 @@ impl<'t, 'u> VerylGrammarAuto<'t, 'u> { Ok(()) } - /// Semantic action for production 643: + /// Semantic action for production 645: /// /// `StructUnionGroupList /* Vec::New */: ;` /// @@ -26646,7 +26721,7 @@ impl<'t, 'u> VerylGrammarAuto<'t, 'u> { Ok(()) } - /// Semantic action for production 644: + /// Semantic action for production 646: /// /// `StructUnionItem: Identifier Colon ScalarType;` /// @@ -26674,7 +26749,7 @@ impl<'t, 'u> VerylGrammarAuto<'t, 'u> { Ok(()) } - /// Semantic action for production 645: + /// Semantic action for production 647: /// /// `InitialDeclaration: Initial LBrace InitialDeclarationList /* Vec */ RBrace;` /// @@ -26713,7 +26788,7 @@ impl<'t, 'u> VerylGrammarAuto<'t, 'u> { Ok(()) } - /// Semantic action for production 646: + /// Semantic action for production 648: /// /// `InitialDeclarationList /* Vec::Push */: Statement InitialDeclarationList;` /// @@ -26744,7 +26819,7 @@ impl<'t, 'u> VerylGrammarAuto<'t, 'u> { Ok(()) } - /// Semantic action for production 647: + /// Semantic action for production 649: /// /// `InitialDeclarationList /* Vec::New */: ;` /// @@ -26760,7 +26835,7 @@ impl<'t, 'u> VerylGrammarAuto<'t, 'u> { Ok(()) } - /// Semantic action for production 648: + /// Semantic action for production 650: /// /// `FinalDeclaration: Final LBrace FinalDeclarationList /* Vec */ RBrace;` /// @@ -26792,7 +26867,7 @@ impl<'t, 'u> VerylGrammarAuto<'t, 'u> { Ok(()) } - /// Semantic action for production 649: + /// Semantic action for production 651: /// /// `FinalDeclarationList /* Vec::Push */: Statement FinalDeclarationList;` /// @@ -26819,7 +26894,7 @@ impl<'t, 'u> VerylGrammarAuto<'t, 'u> { Ok(()) } - /// Semantic action for production 650: + /// Semantic action for production 652: /// /// `FinalDeclarationList /* Vec::New */: ;` /// @@ -26835,7 +26910,7 @@ impl<'t, 'u> VerylGrammarAuto<'t, 'u> { Ok(()) } - /// Semantic action for production 651: + /// Semantic action for production 653: /// /// `InstDeclaration: Inst Identifier Colon ScopedIdentifier InstDeclarationOpt /* Option */ InstDeclarationOpt0 /* Option */ InstDeclarationOpt1 /* Option */ Semicolon;` /// @@ -26881,7 +26956,7 @@ impl<'t, 'u> VerylGrammarAuto<'t, 'u> { Ok(()) } - /// Semantic action for production 652: + /// Semantic action for production 654: /// /// `InstDeclarationOpt1 /* Option::Some */: LParen InstDeclarationOpt2 /* Option */ RParen;` /// @@ -26910,7 +26985,7 @@ impl<'t, 'u> VerylGrammarAuto<'t, 'u> { Ok(()) } - /// Semantic action for production 653: + /// Semantic action for production 655: /// /// `InstDeclarationOpt2 /* Option::Some */: InstPortList;` /// @@ -26929,7 +27004,7 @@ impl<'t, 'u> VerylGrammarAuto<'t, 'u> { Ok(()) } - /// Semantic action for production 654: + /// Semantic action for production 656: /// /// `InstDeclarationOpt2 /* Option::None */: ;` /// @@ -26941,7 +27016,7 @@ impl<'t, 'u> VerylGrammarAuto<'t, 'u> { Ok(()) } - /// Semantic action for production 655: + /// Semantic action for production 657: /// /// `InstDeclarationOpt1 /* Option::None */: ;` /// @@ -26953,7 +27028,7 @@ impl<'t, 'u> VerylGrammarAuto<'t, 'u> { Ok(()) } - /// Semantic action for production 656: + /// Semantic action for production 658: /// /// `InstDeclarationOpt0 /* Option::Some */: InstParameter;` /// @@ -26972,7 +27047,7 @@ impl<'t, 'u> VerylGrammarAuto<'t, 'u> { Ok(()) } - /// Semantic action for production 657: + /// Semantic action for production 659: /// /// `InstDeclarationOpt0 /* Option::None */: ;` /// @@ -26984,7 +27059,7 @@ impl<'t, 'u> VerylGrammarAuto<'t, 'u> { Ok(()) } - /// Semantic action for production 658: + /// Semantic action for production 660: /// /// `InstDeclarationOpt /* Option::Some */: Array;` /// @@ -27003,7 +27078,7 @@ impl<'t, 'u> VerylGrammarAuto<'t, 'u> { Ok(()) } - /// Semantic action for production 659: + /// Semantic action for production 661: /// /// `InstDeclarationOpt /* Option::None */: ;` /// @@ -27015,7 +27090,7 @@ impl<'t, 'u> VerylGrammarAuto<'t, 'u> { Ok(()) } - /// Semantic action for production 660: + /// Semantic action for production 662: /// /// `InstParameter: Hash LParen InstParameterOpt /* Option */ RParen;` /// @@ -27045,7 +27120,7 @@ impl<'t, 'u> VerylGrammarAuto<'t, 'u> { Ok(()) } - /// Semantic action for production 661: + /// Semantic action for production 663: /// /// `InstParameterOpt /* Option::Some */: InstParameterList;` /// @@ -27064,7 +27139,7 @@ impl<'t, 'u> VerylGrammarAuto<'t, 'u> { Ok(()) } - /// Semantic action for production 662: + /// Semantic action for production 664: /// /// `InstParameterOpt /* Option::None */: ;` /// @@ -27076,7 +27151,7 @@ impl<'t, 'u> VerylGrammarAuto<'t, 'u> { Ok(()) } - /// Semantic action for production 663: + /// Semantic action for production 665: /// /// `InstParameterList: InstParameterGroup InstParameterListList /* Vec */ InstParameterListOpt /* Option */;` /// @@ -27114,7 +27189,7 @@ impl<'t, 'u> VerylGrammarAuto<'t, 'u> { Ok(()) } - /// Semantic action for production 664: + /// Semantic action for production 666: /// /// `InstParameterListList /* Vec::Push */: Comma InstParameterGroup InstParameterListList;` /// @@ -27149,7 +27224,7 @@ impl<'t, 'u> VerylGrammarAuto<'t, 'u> { Ok(()) } - /// Semantic action for production 665: + /// Semantic action for production 667: /// /// `InstParameterListList /* Vec::New */: ;` /// @@ -27165,7 +27240,7 @@ impl<'t, 'u> VerylGrammarAuto<'t, 'u> { Ok(()) } - /// Semantic action for production 666: + /// Semantic action for production 668: /// /// `InstParameterListOpt /* Option::Some */: Comma;` /// @@ -27184,7 +27259,7 @@ impl<'t, 'u> VerylGrammarAuto<'t, 'u> { Ok(()) } - /// Semantic action for production 667: + /// Semantic action for production 669: /// /// `InstParameterListOpt /* Option::None */: ;` /// @@ -27196,7 +27271,7 @@ impl<'t, 'u> VerylGrammarAuto<'t, 'u> { Ok(()) } - /// Semantic action for production 668: + /// Semantic action for production 670: /// /// `InstParameterGroup: InstParameterGroupList /* Vec */ InstParameterGroupGroup;` /// @@ -27234,7 +27309,7 @@ impl<'t, 'u> VerylGrammarAuto<'t, 'u> { Ok(()) } - /// Semantic action for production 669: + /// Semantic action for production 671: /// /// `InstParameterGroupGroup: LBrace InstParameterList RBrace;` /// @@ -27267,7 +27342,7 @@ impl<'t, 'u> VerylGrammarAuto<'t, 'u> { Ok(()) } - /// Semantic action for production 670: + /// Semantic action for production 672: /// /// `InstParameterGroupGroup: InstParameterItem;` /// @@ -27291,7 +27366,7 @@ impl<'t, 'u> VerylGrammarAuto<'t, 'u> { Ok(()) } - /// Semantic action for production 671: + /// Semantic action for production 673: /// /// `InstParameterGroupList /* Vec::Push */: Attribute InstParameterGroupList;` /// @@ -27322,7 +27397,7 @@ impl<'t, 'u> VerylGrammarAuto<'t, 'u> { Ok(()) } - /// Semantic action for production 672: + /// Semantic action for production 674: /// /// `InstParameterGroupList /* Vec::New */: ;` /// @@ -27338,7 +27413,7 @@ impl<'t, 'u> VerylGrammarAuto<'t, 'u> { Ok(()) } - /// Semantic action for production 673: + /// Semantic action for production 675: /// /// `InstParameterItem: Identifier InstParameterItemOpt /* Option */;` /// @@ -27367,7 +27442,7 @@ impl<'t, 'u> VerylGrammarAuto<'t, 'u> { Ok(()) } - /// Semantic action for production 674: + /// Semantic action for production 676: /// /// `InstParameterItemOpt /* Option::Some */: Colon Expression;` /// @@ -27392,7 +27467,7 @@ impl<'t, 'u> VerylGrammarAuto<'t, 'u> { Ok(()) } - /// Semantic action for production 675: + /// Semantic action for production 677: /// /// `InstParameterItemOpt /* Option::None */: ;` /// @@ -27404,7 +27479,7 @@ impl<'t, 'u> VerylGrammarAuto<'t, 'u> { Ok(()) } - /// Semantic action for production 676: + /// Semantic action for production 678: /// /// `InstPortList: InstPortGroup InstPortListList /* Vec */ InstPortListOpt /* Option */;` /// @@ -27432,7 +27507,7 @@ impl<'t, 'u> VerylGrammarAuto<'t, 'u> { Ok(()) } - /// Semantic action for production 677: + /// Semantic action for production 679: /// /// `InstPortListList /* Vec::Push */: Comma InstPortGroup InstPortListList;` /// @@ -27459,7 +27534,7 @@ impl<'t, 'u> VerylGrammarAuto<'t, 'u> { Ok(()) } - /// Semantic action for production 678: + /// Semantic action for production 680: /// /// `InstPortListList /* Vec::New */: ;` /// @@ -27475,7 +27550,7 @@ impl<'t, 'u> VerylGrammarAuto<'t, 'u> { Ok(()) } - /// Semantic action for production 679: + /// Semantic action for production 681: /// /// `InstPortListOpt /* Option::Some */: Comma;` /// @@ -27494,7 +27569,7 @@ impl<'t, 'u> VerylGrammarAuto<'t, 'u> { Ok(()) } - /// Semantic action for production 680: + /// Semantic action for production 682: /// /// `InstPortListOpt /* Option::None */: ;` /// @@ -27506,7 +27581,7 @@ impl<'t, 'u> VerylGrammarAuto<'t, 'u> { Ok(()) } - /// Semantic action for production 681: + /// Semantic action for production 683: /// /// `InstPortGroup: InstPortGroupList /* Vec */ InstPortGroupGroup;` /// @@ -27532,7 +27607,7 @@ impl<'t, 'u> VerylGrammarAuto<'t, 'u> { Ok(()) } - /// Semantic action for production 682: + /// Semantic action for production 684: /// /// `InstPortGroupGroup: LBrace InstPortList RBrace;` /// @@ -27562,7 +27637,7 @@ impl<'t, 'u> VerylGrammarAuto<'t, 'u> { Ok(()) } - /// Semantic action for production 683: + /// Semantic action for production 685: /// /// `InstPortGroupGroup: InstPortItem;` /// @@ -27583,7 +27658,7 @@ impl<'t, 'u> VerylGrammarAuto<'t, 'u> { Ok(()) } - /// Semantic action for production 684: + /// Semantic action for production 686: /// /// `InstPortGroupList /* Vec::Push */: Attribute InstPortGroupList;` /// @@ -27607,7 +27682,7 @@ impl<'t, 'u> VerylGrammarAuto<'t, 'u> { Ok(()) } - /// Semantic action for production 685: + /// Semantic action for production 687: /// /// `InstPortGroupList /* Vec::New */: ;` /// @@ -27623,7 +27698,7 @@ impl<'t, 'u> VerylGrammarAuto<'t, 'u> { Ok(()) } - /// Semantic action for production 686: + /// Semantic action for production 688: /// /// `InstPortItem: Identifier InstPortItemOpt /* Option */;` /// @@ -27647,7 +27722,7 @@ impl<'t, 'u> VerylGrammarAuto<'t, 'u> { Ok(()) } - /// Semantic action for production 687: + /// Semantic action for production 689: /// /// `InstPortItemOpt /* Option::Some */: Colon Expression;` /// @@ -27672,7 +27747,7 @@ impl<'t, 'u> VerylGrammarAuto<'t, 'u> { Ok(()) } - /// Semantic action for production 688: + /// Semantic action for production 690: /// /// `InstPortItemOpt /* Option::None */: ;` /// @@ -27684,7 +27759,7 @@ impl<'t, 'u> VerylGrammarAuto<'t, 'u> { Ok(()) } - /// Semantic action for production 689: + /// Semantic action for production 691: /// /// `WithParameter: Hash LParen WithParameterOpt /* Option */ RParen;` /// @@ -27714,7 +27789,7 @@ impl<'t, 'u> VerylGrammarAuto<'t, 'u> { Ok(()) } - /// Semantic action for production 690: + /// Semantic action for production 692: /// /// `WithParameterOpt /* Option::Some */: WithParameterList;` /// @@ -27733,7 +27808,7 @@ impl<'t, 'u> VerylGrammarAuto<'t, 'u> { Ok(()) } - /// Semantic action for production 691: + /// Semantic action for production 693: /// /// `WithParameterOpt /* Option::None */: ;` /// @@ -27745,7 +27820,7 @@ impl<'t, 'u> VerylGrammarAuto<'t, 'u> { Ok(()) } - /// Semantic action for production 692: + /// Semantic action for production 694: /// /// `WithParameterList: WithParameterGroup WithParameterListList /* Vec */ WithParameterListOpt /* Option */;` /// @@ -27783,7 +27858,7 @@ impl<'t, 'u> VerylGrammarAuto<'t, 'u> { Ok(()) } - /// Semantic action for production 693: + /// Semantic action for production 695: /// /// `WithParameterListList /* Vec::Push */: Comma WithParameterGroup WithParameterListList;` /// @@ -27818,7 +27893,7 @@ impl<'t, 'u> VerylGrammarAuto<'t, 'u> { Ok(()) } - /// Semantic action for production 694: + /// Semantic action for production 696: /// /// `WithParameterListList /* Vec::New */: ;` /// @@ -27834,7 +27909,7 @@ impl<'t, 'u> VerylGrammarAuto<'t, 'u> { Ok(()) } - /// Semantic action for production 695: + /// Semantic action for production 697: /// /// `WithParameterListOpt /* Option::Some */: Comma;` /// @@ -27853,7 +27928,7 @@ impl<'t, 'u> VerylGrammarAuto<'t, 'u> { Ok(()) } - /// Semantic action for production 696: + /// Semantic action for production 698: /// /// `WithParameterListOpt /* Option::None */: ;` /// @@ -27865,7 +27940,7 @@ impl<'t, 'u> VerylGrammarAuto<'t, 'u> { Ok(()) } - /// Semantic action for production 697: + /// Semantic action for production 699: /// /// `WithParameterGroup: WithParameterGroupList /* Vec */ WithParameterGroupGroup;` /// @@ -27903,7 +27978,7 @@ impl<'t, 'u> VerylGrammarAuto<'t, 'u> { Ok(()) } - /// Semantic action for production 698: + /// Semantic action for production 700: /// /// `WithParameterGroupGroup: LBrace WithParameterList RBrace;` /// @@ -27936,7 +28011,7 @@ impl<'t, 'u> VerylGrammarAuto<'t, 'u> { Ok(()) } - /// Semantic action for production 699: + /// Semantic action for production 701: /// /// `WithParameterGroupGroup: WithParameterItem;` /// @@ -27960,7 +28035,7 @@ impl<'t, 'u> VerylGrammarAuto<'t, 'u> { Ok(()) } - /// Semantic action for production 700: + /// Semantic action for production 702: /// /// `WithParameterGroupList /* Vec::Push */: Attribute WithParameterGroupList;` /// @@ -27991,7 +28066,7 @@ impl<'t, 'u> VerylGrammarAuto<'t, 'u> { Ok(()) } - /// Semantic action for production 701: + /// Semantic action for production 703: /// /// `WithParameterGroupList /* Vec::New */: ;` /// @@ -28007,7 +28082,7 @@ impl<'t, 'u> VerylGrammarAuto<'t, 'u> { Ok(()) } - /// Semantic action for production 702: + /// Semantic action for production 704: /// /// `WithParameterItem: WithParameterItemGroup Identifier Colon WithParameterItemGroup0;` /// @@ -28051,7 +28126,7 @@ impl<'t, 'u> VerylGrammarAuto<'t, 'u> { Ok(()) } - /// Semantic action for production 703: + /// Semantic action for production 705: /// /// `WithParameterItemGroup0: ArrayType Equ Expression;` /// @@ -28081,7 +28156,7 @@ impl<'t, 'u> VerylGrammarAuto<'t, 'u> { Ok(()) } - /// Semantic action for production 704: + /// Semantic action for production 706: /// /// `WithParameterItemGroup0: Type Equ TypeExpression;` /// @@ -28111,7 +28186,7 @@ impl<'t, 'u> VerylGrammarAuto<'t, 'u> { Ok(()) } - /// Semantic action for production 705: + /// Semantic action for production 707: /// /// `WithParameterItemGroup: Param;` /// @@ -28132,7 +28207,7 @@ impl<'t, 'u> VerylGrammarAuto<'t, 'u> { Ok(()) } - /// Semantic action for production 706: + /// Semantic action for production 708: /// /// `WithParameterItemGroup: Local;` /// @@ -28153,7 +28228,7 @@ impl<'t, 'u> VerylGrammarAuto<'t, 'u> { Ok(()) } - /// Semantic action for production 707: + /// Semantic action for production 709: /// /// `WithGenericParameter: ColonColonLAngle WithGenericParameterList RAngle;` /// @@ -28189,7 +28264,7 @@ impl<'t, 'u> VerylGrammarAuto<'t, 'u> { Ok(()) } - /// Semantic action for production 708: + /// Semantic action for production 710: /// /// `WithGenericParameterList: WithGenericParameterItem WithGenericParameterListList /* Vec */ WithGenericParameterListOpt /* Option */;` /// @@ -28235,7 +28310,7 @@ impl<'t, 'u> VerylGrammarAuto<'t, 'u> { Ok(()) } - /// Semantic action for production 709: + /// Semantic action for production 711: /// /// `WithGenericParameterListList /* Vec::Push */: Comma WithGenericParameterItem WithGenericParameterListList;` /// @@ -28274,7 +28349,7 @@ impl<'t, 'u> VerylGrammarAuto<'t, 'u> { Ok(()) } - /// Semantic action for production 710: + /// Semantic action for production 712: /// /// `WithGenericParameterListList /* Vec::New */: ;` /// @@ -28290,7 +28365,7 @@ impl<'t, 'u> VerylGrammarAuto<'t, 'u> { Ok(()) } - /// Semantic action for production 711: + /// Semantic action for production 713: /// /// `WithGenericParameterListOpt /* Option::Some */: Comma;` /// @@ -28309,7 +28384,7 @@ impl<'t, 'u> VerylGrammarAuto<'t, 'u> { Ok(()) } - /// Semantic action for production 712: + /// Semantic action for production 714: /// /// `WithGenericParameterListOpt /* Option::None */: ;` /// @@ -28321,7 +28396,7 @@ impl<'t, 'u> VerylGrammarAuto<'t, 'u> { Ok(()) } - /// Semantic action for production 713: + /// Semantic action for production 715: /// /// `WithGenericParameterItem: Identifier WithGenericParameterItemOpt /* Option */;` /// @@ -28354,7 +28429,7 @@ impl<'t, 'u> VerylGrammarAuto<'t, 'u> { Ok(()) } - /// Semantic action for production 714: + /// Semantic action for production 716: /// /// `WithGenericParameterItemOpt /* Option::Some */: Equ WithGenericArgumentItem;` /// @@ -28384,7 +28459,7 @@ impl<'t, 'u> VerylGrammarAuto<'t, 'u> { Ok(()) } - /// Semantic action for production 715: + /// Semantic action for production 717: /// /// `WithGenericParameterItemOpt /* Option::None */: ;` /// @@ -28396,7 +28471,7 @@ impl<'t, 'u> VerylGrammarAuto<'t, 'u> { Ok(()) } - /// Semantic action for production 716: + /// Semantic action for production 718: /// /// `WithGenericArgument: ColonColonLAngle %push(Generic) WithGenericArgumentOpt /* Option */ RAngle %pop();` /// @@ -28432,7 +28507,7 @@ impl<'t, 'u> VerylGrammarAuto<'t, 'u> { Ok(()) } - /// Semantic action for production 717: + /// Semantic action for production 719: /// /// `WithGenericArgumentOpt /* Option::Some */: WithGenericArgumentList;` /// @@ -28459,7 +28534,7 @@ impl<'t, 'u> VerylGrammarAuto<'t, 'u> { Ok(()) } - /// Semantic action for production 718: + /// Semantic action for production 720: /// /// `WithGenericArgumentOpt /* Option::None */: ;` /// @@ -28471,7 +28546,7 @@ impl<'t, 'u> VerylGrammarAuto<'t, 'u> { Ok(()) } - /// Semantic action for production 719: + /// Semantic action for production 721: /// /// `WithGenericArgumentList: WithGenericArgumentItem WithGenericArgumentListList /* Vec */ WithGenericArgumentListOpt /* Option */;` /// @@ -28517,7 +28592,7 @@ impl<'t, 'u> VerylGrammarAuto<'t, 'u> { Ok(()) } - /// Semantic action for production 720: + /// Semantic action for production 722: /// /// `WithGenericArgumentListList /* Vec::Push */: Comma WithGenericArgumentItem WithGenericArgumentListList;` /// @@ -28556,7 +28631,7 @@ impl<'t, 'u> VerylGrammarAuto<'t, 'u> { Ok(()) } - /// Semantic action for production 721: + /// Semantic action for production 723: /// /// `WithGenericArgumentListList /* Vec::New */: ;` /// @@ -28572,7 +28647,7 @@ impl<'t, 'u> VerylGrammarAuto<'t, 'u> { Ok(()) } - /// Semantic action for production 722: + /// Semantic action for production 724: /// /// `WithGenericArgumentListOpt /* Option::Some */: Comma;` /// @@ -28591,7 +28666,7 @@ impl<'t, 'u> VerylGrammarAuto<'t, 'u> { Ok(()) } - /// Semantic action for production 723: + /// Semantic action for production 725: /// /// `WithGenericArgumentListOpt /* Option::None */: ;` /// @@ -28603,7 +28678,7 @@ impl<'t, 'u> VerylGrammarAuto<'t, 'u> { Ok(()) } - /// Semantic action for production 724: + /// Semantic action for production 726: /// /// `WithGenericArgumentItem: ScopedIdentifier;` /// @@ -28630,7 +28705,7 @@ impl<'t, 'u> VerylGrammarAuto<'t, 'u> { Ok(()) } - /// Semantic action for production 725: + /// Semantic action for production 727: /// /// `WithGenericArgumentItem: Number;` /// @@ -28654,7 +28729,7 @@ impl<'t, 'u> VerylGrammarAuto<'t, 'u> { Ok(()) } - /// Semantic action for production 726: + /// Semantic action for production 728: /// /// `PortDeclaration: LParen PortDeclarationOpt /* Option */ RParen;` /// @@ -28683,7 +28758,7 @@ impl<'t, 'u> VerylGrammarAuto<'t, 'u> { Ok(()) } - /// Semantic action for production 727: + /// Semantic action for production 729: /// /// `PortDeclarationOpt /* Option::Some */: PortDeclarationList;` /// @@ -28703,7 +28778,7 @@ impl<'t, 'u> VerylGrammarAuto<'t, 'u> { Ok(()) } - /// Semantic action for production 728: + /// Semantic action for production 730: /// /// `PortDeclarationOpt /* Option::None */: ;` /// @@ -28715,7 +28790,7 @@ impl<'t, 'u> VerylGrammarAuto<'t, 'u> { Ok(()) } - /// Semantic action for production 729: + /// Semantic action for production 731: /// /// `PortDeclarationList: PortDeclarationGroup PortDeclarationListList /* Vec */ PortDeclarationListOpt /* Option */;` /// @@ -28757,7 +28832,7 @@ impl<'t, 'u> VerylGrammarAuto<'t, 'u> { Ok(()) } - /// Semantic action for production 730: + /// Semantic action for production 732: /// /// `PortDeclarationListList /* Vec::Push */: Comma PortDeclarationGroup PortDeclarationListList;` /// @@ -28792,7 +28867,7 @@ impl<'t, 'u> VerylGrammarAuto<'t, 'u> { Ok(()) } - /// Semantic action for production 731: + /// Semantic action for production 733: /// /// `PortDeclarationListList /* Vec::New */: ;` /// @@ -28808,7 +28883,7 @@ impl<'t, 'u> VerylGrammarAuto<'t, 'u> { Ok(()) } - /// Semantic action for production 732: + /// Semantic action for production 734: /// /// `PortDeclarationListOpt /* Option::Some */: Comma;` /// @@ -28827,7 +28902,7 @@ impl<'t, 'u> VerylGrammarAuto<'t, 'u> { Ok(()) } - /// Semantic action for production 733: + /// Semantic action for production 735: /// /// `PortDeclarationListOpt /* Option::None */: ;` /// @@ -28839,7 +28914,7 @@ impl<'t, 'u> VerylGrammarAuto<'t, 'u> { Ok(()) } - /// Semantic action for production 734: + /// Semantic action for production 736: /// /// `PortDeclarationGroup: PortDeclarationGroupList /* Vec */ PortDeclarationGroupGroup;` /// @@ -28877,7 +28952,7 @@ impl<'t, 'u> VerylGrammarAuto<'t, 'u> { Ok(()) } - /// Semantic action for production 735: + /// Semantic action for production 737: /// /// `PortDeclarationGroupGroup: LBrace PortDeclarationList RBrace;` /// @@ -28911,7 +28986,7 @@ impl<'t, 'u> VerylGrammarAuto<'t, 'u> { Ok(()) } - /// Semantic action for production 736: + /// Semantic action for production 738: /// /// `PortDeclarationGroupGroup: PortDeclarationItem;` /// @@ -28936,7 +29011,7 @@ impl<'t, 'u> VerylGrammarAuto<'t, 'u> { Ok(()) } - /// Semantic action for production 737: + /// Semantic action for production 739: /// /// `PortDeclarationGroupList /* Vec::Push */: Attribute PortDeclarationGroupList;` /// @@ -28967,7 +29042,7 @@ impl<'t, 'u> VerylGrammarAuto<'t, 'u> { Ok(()) } - /// Semantic action for production 738: + /// Semantic action for production 740: /// /// `PortDeclarationGroupList /* Vec::New */: ;` /// @@ -28983,7 +29058,7 @@ impl<'t, 'u> VerylGrammarAuto<'t, 'u> { Ok(()) } - /// Semantic action for production 739: + /// Semantic action for production 741: /// /// `PortDeclarationItem: Identifier Colon PortDeclarationItemGroup;` /// @@ -29019,7 +29094,7 @@ impl<'t, 'u> VerylGrammarAuto<'t, 'u> { Ok(()) } - /// Semantic action for production 740: + /// Semantic action for production 742: /// /// `PortDeclarationItemGroup: Direction ArrayType;` /// @@ -29046,7 +29121,7 @@ impl<'t, 'u> VerylGrammarAuto<'t, 'u> { Ok(()) } - /// Semantic action for production 741: + /// Semantic action for production 743: /// /// `PortDeclarationItemGroup: Interface PortDeclarationItemOpt /* Option */;` /// @@ -29081,7 +29156,7 @@ impl<'t, 'u> VerylGrammarAuto<'t, 'u> { Ok(()) } - /// Semantic action for production 742: + /// Semantic action for production 744: /// /// `PortDeclarationItemOpt /* Option::Some */: Array;` /// @@ -29100,7 +29175,7 @@ impl<'t, 'u> VerylGrammarAuto<'t, 'u> { Ok(()) } - /// Semantic action for production 743: + /// Semantic action for production 745: /// /// `PortDeclarationItemOpt /* Option::None */: ;` /// @@ -29112,7 +29187,7 @@ impl<'t, 'u> VerylGrammarAuto<'t, 'u> { Ok(()) } - /// Semantic action for production 744: + /// Semantic action for production 746: /// /// `Direction: Input;` /// @@ -29131,7 +29206,7 @@ impl<'t, 'u> VerylGrammarAuto<'t, 'u> { Ok(()) } - /// Semantic action for production 745: + /// Semantic action for production 747: /// /// `Direction: Output;` /// @@ -29150,7 +29225,7 @@ impl<'t, 'u> VerylGrammarAuto<'t, 'u> { Ok(()) } - /// Semantic action for production 746: + /// Semantic action for production 748: /// /// `Direction: Inout;` /// @@ -29169,7 +29244,7 @@ impl<'t, 'u> VerylGrammarAuto<'t, 'u> { Ok(()) } - /// Semantic action for production 747: + /// Semantic action for production 749: /// /// `Direction: Ref;` /// @@ -29188,7 +29263,7 @@ impl<'t, 'u> VerylGrammarAuto<'t, 'u> { Ok(()) } - /// Semantic action for production 748: + /// Semantic action for production 750: /// /// `Direction: Modport;` /// @@ -29207,7 +29282,7 @@ impl<'t, 'u> VerylGrammarAuto<'t, 'u> { Ok(()) } - /// Semantic action for production 749: + /// Semantic action for production 751: /// /// `FunctionDeclaration: Function Identifier FunctionDeclarationOpt /* Option */ FunctionDeclarationOpt0 /* Option */ FunctionDeclarationOpt1 /* Option */ LBrace FunctionDeclarationList /* Vec */ RBrace;` /// @@ -29273,7 +29348,7 @@ impl<'t, 'u> VerylGrammarAuto<'t, 'u> { Ok(()) } - /// Semantic action for production 750: + /// Semantic action for production 752: /// /// `FunctionDeclarationList /* Vec::Push */: FunctionItem FunctionDeclarationList;` /// @@ -29304,7 +29379,7 @@ impl<'t, 'u> VerylGrammarAuto<'t, 'u> { Ok(()) } - /// Semantic action for production 751: + /// Semantic action for production 753: /// /// `FunctionDeclarationList /* Vec::New */: ;` /// @@ -29320,7 +29395,7 @@ impl<'t, 'u> VerylGrammarAuto<'t, 'u> { Ok(()) } - /// Semantic action for production 752: + /// Semantic action for production 754: /// /// `FunctionDeclarationOpt1 /* Option::Some */: MinusGT ScalarType;` /// @@ -29345,7 +29420,7 @@ impl<'t, 'u> VerylGrammarAuto<'t, 'u> { Ok(()) } - /// Semantic action for production 753: + /// Semantic action for production 755: /// /// `FunctionDeclarationOpt1 /* Option::None */: ;` /// @@ -29357,7 +29432,7 @@ impl<'t, 'u> VerylGrammarAuto<'t, 'u> { Ok(()) } - /// Semantic action for production 754: + /// Semantic action for production 756: /// /// `FunctionDeclarationOpt0 /* Option::Some */: PortDeclaration;` /// @@ -29376,7 +29451,7 @@ impl<'t, 'u> VerylGrammarAuto<'t, 'u> { Ok(()) } - /// Semantic action for production 755: + /// Semantic action for production 757: /// /// `FunctionDeclarationOpt0 /* Option::None */: ;` /// @@ -29388,7 +29463,7 @@ impl<'t, 'u> VerylGrammarAuto<'t, 'u> { Ok(()) } - /// Semantic action for production 756: + /// Semantic action for production 758: /// /// `FunctionDeclarationOpt /* Option::Some */: WithGenericParameter;` /// @@ -29411,7 +29486,7 @@ impl<'t, 'u> VerylGrammarAuto<'t, 'u> { Ok(()) } - /// Semantic action for production 757: + /// Semantic action for production 759: /// /// `FunctionDeclarationOpt /* Option::None */: ;` /// @@ -29423,7 +29498,7 @@ impl<'t, 'u> VerylGrammarAuto<'t, 'u> { Ok(()) } - /// Semantic action for production 758: + /// Semantic action for production 760: /// /// `FunctionItem: VarDeclaration;` /// @@ -29442,7 +29517,7 @@ impl<'t, 'u> VerylGrammarAuto<'t, 'u> { Ok(()) } - /// Semantic action for production 759: + /// Semantic action for production 761: /// /// `FunctionItem: Statement;` /// @@ -29461,7 +29536,7 @@ impl<'t, 'u> VerylGrammarAuto<'t, 'u> { Ok(()) } - /// Semantic action for production 760: + /// Semantic action for production 762: /// /// `ImportDeclaration: Import ScopedIdentifier ImportDeclarationOpt /* Option */ Semicolon;` /// @@ -29496,7 +29571,7 @@ impl<'t, 'u> VerylGrammarAuto<'t, 'u> { Ok(()) } - /// Semantic action for production 761: + /// Semantic action for production 763: /// /// `ImportDeclarationOpt /* Option::Some */: ColonColon Star;` /// @@ -29521,7 +29596,7 @@ impl<'t, 'u> VerylGrammarAuto<'t, 'u> { Ok(()) } - /// Semantic action for production 762: + /// Semantic action for production 764: /// /// `ImportDeclarationOpt /* Option::None */: ;` /// @@ -29533,7 +29608,7 @@ impl<'t, 'u> VerylGrammarAuto<'t, 'u> { Ok(()) } - /// Semantic action for production 763: + /// Semantic action for production 765: /// /// `ExportDeclaration: Export ExportDeclarationGroup Semicolon;` /// @@ -29569,7 +29644,7 @@ impl<'t, 'u> VerylGrammarAuto<'t, 'u> { Ok(()) } - /// Semantic action for production 764: + /// Semantic action for production 766: /// /// `ExportDeclarationGroup: Star;` /// @@ -29590,7 +29665,7 @@ impl<'t, 'u> VerylGrammarAuto<'t, 'u> { Ok(()) } - /// Semantic action for production 765: + /// Semantic action for production 767: /// /// `ExportDeclarationGroup: ScopedIdentifier ExportDeclarationOpt /* Option */;` /// @@ -29621,7 +29696,7 @@ impl<'t, 'u> VerylGrammarAuto<'t, 'u> { Ok(()) } - /// Semantic action for production 766: + /// Semantic action for production 768: /// /// `ExportDeclarationOpt /* Option::Some */: ColonColon Star;` /// @@ -29646,7 +29721,7 @@ impl<'t, 'u> VerylGrammarAuto<'t, 'u> { Ok(()) } - /// Semantic action for production 767: + /// Semantic action for production 769: /// /// `ExportDeclarationOpt /* Option::None */: ;` /// @@ -29658,7 +29733,7 @@ impl<'t, 'u> VerylGrammarAuto<'t, 'u> { Ok(()) } - /// Semantic action for production 768: + /// Semantic action for production 770: /// /// `ModuleDeclaration: ModuleDeclarationOpt /* Option */ Module Identifier ModuleDeclarationOpt0 /* Option */ ModuleDeclarationOpt1 /* Option */ ModuleDeclarationOpt2 /* Option */ LBrace ModuleDeclarationList /* Vec */ RBrace;` /// @@ -29728,7 +29803,7 @@ impl<'t, 'u> VerylGrammarAuto<'t, 'u> { Ok(()) } - /// Semantic action for production 769: + /// Semantic action for production 771: /// /// `ModuleDeclarationList /* Vec::Push */: ModuleGroup ModuleDeclarationList;` /// @@ -29759,7 +29834,7 @@ impl<'t, 'u> VerylGrammarAuto<'t, 'u> { Ok(()) } - /// Semantic action for production 770: + /// Semantic action for production 772: /// /// `ModuleDeclarationList /* Vec::New */: ;` /// @@ -29775,7 +29850,7 @@ impl<'t, 'u> VerylGrammarAuto<'t, 'u> { Ok(()) } - /// Semantic action for production 771: + /// Semantic action for production 773: /// /// `ModuleDeclarationOpt2 /* Option::Some */: PortDeclaration;` /// @@ -29794,7 +29869,7 @@ impl<'t, 'u> VerylGrammarAuto<'t, 'u> { Ok(()) } - /// Semantic action for production 772: + /// Semantic action for production 774: /// /// `ModuleDeclarationOpt2 /* Option::None */: ;` /// @@ -29806,7 +29881,7 @@ impl<'t, 'u> VerylGrammarAuto<'t, 'u> { Ok(()) } - /// Semantic action for production 773: + /// Semantic action for production 775: /// /// `ModuleDeclarationOpt1 /* Option::Some */: WithParameter;` /// @@ -29825,7 +29900,7 @@ impl<'t, 'u> VerylGrammarAuto<'t, 'u> { Ok(()) } - /// Semantic action for production 774: + /// Semantic action for production 776: /// /// `ModuleDeclarationOpt1 /* Option::None */: ;` /// @@ -29837,7 +29912,7 @@ impl<'t, 'u> VerylGrammarAuto<'t, 'u> { Ok(()) } - /// Semantic action for production 775: + /// Semantic action for production 777: /// /// `ModuleDeclarationOpt0 /* Option::Some */: WithGenericParameter;` /// @@ -29860,7 +29935,7 @@ impl<'t, 'u> VerylGrammarAuto<'t, 'u> { Ok(()) } - /// Semantic action for production 776: + /// Semantic action for production 778: /// /// `ModuleDeclarationOpt0 /* Option::None */: ;` /// @@ -29872,7 +29947,7 @@ impl<'t, 'u> VerylGrammarAuto<'t, 'u> { Ok(()) } - /// Semantic action for production 777: + /// Semantic action for production 779: /// /// `ModuleDeclarationOpt /* Option::Some */: Pub;` /// @@ -29891,7 +29966,7 @@ impl<'t, 'u> VerylGrammarAuto<'t, 'u> { Ok(()) } - /// Semantic action for production 778: + /// Semantic action for production 780: /// /// `ModuleDeclarationOpt /* Option::None */: ;` /// @@ -29903,7 +29978,7 @@ impl<'t, 'u> VerylGrammarAuto<'t, 'u> { Ok(()) } - /// Semantic action for production 779: + /// Semantic action for production 781: /// /// `ModuleIfDeclaration: If Expression ModuleNamedBlock ModuleIfDeclarationList /* Vec */ ModuleIfDeclarationOpt /* Option */;` /// @@ -29950,7 +30025,7 @@ impl<'t, 'u> VerylGrammarAuto<'t, 'u> { Ok(()) } - /// Semantic action for production 780: + /// Semantic action for production 782: /// /// `ModuleIfDeclarationList /* Vec::Push */: Else If Expression ModuleOptionalNamedBlock ModuleIfDeclarationList;` /// @@ -29995,7 +30070,7 @@ impl<'t, 'u> VerylGrammarAuto<'t, 'u> { Ok(()) } - /// Semantic action for production 781: + /// Semantic action for production 783: /// /// `ModuleIfDeclarationList /* Vec::New */: ;` /// @@ -30011,7 +30086,7 @@ impl<'t, 'u> VerylGrammarAuto<'t, 'u> { Ok(()) } - /// Semantic action for production 782: + /// Semantic action for production 784: /// /// `ModuleIfDeclarationOpt /* Option::Some */: Else ModuleOptionalNamedBlock;` /// @@ -30041,7 +30116,7 @@ impl<'t, 'u> VerylGrammarAuto<'t, 'u> { Ok(()) } - /// Semantic action for production 783: + /// Semantic action for production 785: /// /// `ModuleIfDeclarationOpt /* Option::None */: ;` /// @@ -30053,7 +30128,7 @@ impl<'t, 'u> VerylGrammarAuto<'t, 'u> { Ok(()) } - /// Semantic action for production 784: + /// Semantic action for production 786: /// /// `ModuleForDeclaration: For Identifier In Range ModuleForDeclarationOpt /* Option */ ModuleNamedBlock;` /// @@ -30098,7 +30173,7 @@ impl<'t, 'u> VerylGrammarAuto<'t, 'u> { Ok(()) } - /// Semantic action for production 785: + /// Semantic action for production 787: /// /// `ModuleForDeclarationOpt /* Option::Some */: Step AssignmentOperator Expression;` /// @@ -30126,7 +30201,7 @@ impl<'t, 'u> VerylGrammarAuto<'t, 'u> { Ok(()) } - /// Semantic action for production 786: + /// Semantic action for production 788: /// /// `ModuleForDeclarationOpt /* Option::None */: ;` /// @@ -30138,7 +30213,7 @@ impl<'t, 'u> VerylGrammarAuto<'t, 'u> { Ok(()) } - /// Semantic action for production 787: + /// Semantic action for production 789: /// /// `ModuleNamedBlock: Colon Identifier LBrace ModuleNamedBlockList /* Vec */ RBrace;` /// @@ -30173,7 +30248,7 @@ impl<'t, 'u> VerylGrammarAuto<'t, 'u> { Ok(()) } - /// Semantic action for production 788: + /// Semantic action for production 790: /// /// `ModuleNamedBlockList /* Vec::Push */: ModuleGroup ModuleNamedBlockList;` /// @@ -30200,7 +30275,7 @@ impl<'t, 'u> VerylGrammarAuto<'t, 'u> { Ok(()) } - /// Semantic action for production 789: + /// Semantic action for production 791: /// /// `ModuleNamedBlockList /* Vec::New */: ;` /// @@ -30216,7 +30291,7 @@ impl<'t, 'u> VerylGrammarAuto<'t, 'u> { Ok(()) } - /// Semantic action for production 790: + /// Semantic action for production 792: /// /// `ModuleOptionalNamedBlock: ModuleOptionalNamedBlockOpt /* Option */ LBrace ModuleOptionalNamedBlockList /* Vec */ RBrace;` /// @@ -30260,7 +30335,7 @@ impl<'t, 'u> VerylGrammarAuto<'t, 'u> { Ok(()) } - /// Semantic action for production 791: + /// Semantic action for production 793: /// /// `ModuleOptionalNamedBlockList /* Vec::Push */: ModuleGroup ModuleOptionalNamedBlockList;` /// @@ -30291,7 +30366,7 @@ impl<'t, 'u> VerylGrammarAuto<'t, 'u> { Ok(()) } - /// Semantic action for production 792: + /// Semantic action for production 794: /// /// `ModuleOptionalNamedBlockList /* Vec::New */: ;` /// @@ -30307,7 +30382,7 @@ impl<'t, 'u> VerylGrammarAuto<'t, 'u> { Ok(()) } - /// Semantic action for production 793: + /// Semantic action for production 795: /// /// `ModuleOptionalNamedBlockOpt /* Option::Some */: Colon Identifier;` /// @@ -30332,7 +30407,7 @@ impl<'t, 'u> VerylGrammarAuto<'t, 'u> { Ok(()) } - /// Semantic action for production 794: + /// Semantic action for production 796: /// /// `ModuleOptionalNamedBlockOpt /* Option::None */: ;` /// @@ -30344,7 +30419,7 @@ impl<'t, 'u> VerylGrammarAuto<'t, 'u> { Ok(()) } - /// Semantic action for production 795: + /// Semantic action for production 797: /// /// `ModuleGroup: ModuleGroupList /* Vec */ ModuleGroupGroup;` /// @@ -30369,7 +30444,7 @@ impl<'t, 'u> VerylGrammarAuto<'t, 'u> { Ok(()) } - /// Semantic action for production 796: + /// Semantic action for production 798: /// /// `ModuleGroupGroup: LBrace ModuleGroupGroupList /* Vec */ RBrace;` /// @@ -30400,7 +30475,7 @@ impl<'t, 'u> VerylGrammarAuto<'t, 'u> { Ok(()) } - /// Semantic action for production 797: + /// Semantic action for production 799: /// /// `ModuleGroupGroupList /* Vec::Push */: ModuleGroup ModuleGroupGroupList;` /// @@ -30427,7 +30502,7 @@ impl<'t, 'u> VerylGrammarAuto<'t, 'u> { Ok(()) } - /// Semantic action for production 798: + /// Semantic action for production 800: /// /// `ModuleGroupGroupList /* Vec::New */: ;` /// @@ -30443,7 +30518,7 @@ impl<'t, 'u> VerylGrammarAuto<'t, 'u> { Ok(()) } - /// Semantic action for production 799: + /// Semantic action for production 801: /// /// `ModuleGroupGroup: ModuleItem;` /// @@ -30463,7 +30538,7 @@ impl<'t, 'u> VerylGrammarAuto<'t, 'u> { Ok(()) } - /// Semantic action for production 800: + /// Semantic action for production 802: /// /// `ModuleGroupList /* Vec::Push */: Attribute ModuleGroupList;` /// @@ -30486,7 +30561,7 @@ impl<'t, 'u> VerylGrammarAuto<'t, 'u> { Ok(()) } - /// Semantic action for production 801: + /// Semantic action for production 803: /// /// `ModuleGroupList /* Vec::New */: ;` /// @@ -30499,7 +30574,7 @@ impl<'t, 'u> VerylGrammarAuto<'t, 'u> { Ok(()) } - /// Semantic action for production 802: + /// Semantic action for production 804: /// /// `ModuleItem: LetDeclaration;` /// @@ -30518,7 +30593,7 @@ impl<'t, 'u> VerylGrammarAuto<'t, 'u> { Ok(()) } - /// Semantic action for production 803: + /// Semantic action for production 805: /// /// `ModuleItem: VarDeclaration;` /// @@ -30537,7 +30612,7 @@ impl<'t, 'u> VerylGrammarAuto<'t, 'u> { Ok(()) } - /// Semantic action for production 804: + /// Semantic action for production 806: /// /// `ModuleItem: InstDeclaration;` /// @@ -30556,7 +30631,7 @@ impl<'t, 'u> VerylGrammarAuto<'t, 'u> { Ok(()) } - /// Semantic action for production 805: + /// Semantic action for production 807: /// /// `ModuleItem: TypeDefDeclaration;` /// @@ -30576,7 +30651,7 @@ impl<'t, 'u> VerylGrammarAuto<'t, 'u> { Ok(()) } - /// Semantic action for production 806: + /// Semantic action for production 808: /// /// `ModuleItem: LocalDeclaration;` /// @@ -30595,7 +30670,7 @@ impl<'t, 'u> VerylGrammarAuto<'t, 'u> { Ok(()) } - /// Semantic action for production 807: + /// Semantic action for production 809: /// /// `ModuleItem: AlwaysFfDeclaration;` /// @@ -30615,7 +30690,7 @@ impl<'t, 'u> VerylGrammarAuto<'t, 'u> { Ok(()) } - /// Semantic action for production 808: + /// Semantic action for production 810: /// /// `ModuleItem: AlwaysCombDeclaration;` /// @@ -30639,7 +30714,7 @@ impl<'t, 'u> VerylGrammarAuto<'t, 'u> { Ok(()) } - /// Semantic action for production 809: + /// Semantic action for production 811: /// /// `ModuleItem: AssignDeclaration;` /// @@ -30658,7 +30733,7 @@ impl<'t, 'u> VerylGrammarAuto<'t, 'u> { Ok(()) } - /// Semantic action for production 810: + /// Semantic action for production 812: /// /// `ModuleItem: FunctionDeclaration;` /// @@ -30678,7 +30753,7 @@ impl<'t, 'u> VerylGrammarAuto<'t, 'u> { Ok(()) } - /// Semantic action for production 811: + /// Semantic action for production 813: /// /// `ModuleItem: ModuleIfDeclaration;` /// @@ -30698,7 +30773,7 @@ impl<'t, 'u> VerylGrammarAuto<'t, 'u> { Ok(()) } - /// Semantic action for production 812: + /// Semantic action for production 814: /// /// `ModuleItem: ModuleForDeclaration;` /// @@ -30718,7 +30793,7 @@ impl<'t, 'u> VerylGrammarAuto<'t, 'u> { Ok(()) } - /// Semantic action for production 813: + /// Semantic action for production 815: /// /// `ModuleItem: EnumDeclaration;` /// @@ -30737,7 +30812,7 @@ impl<'t, 'u> VerylGrammarAuto<'t, 'u> { Ok(()) } - /// Semantic action for production 814: + /// Semantic action for production 816: /// /// `ModuleItem: StructUnionDeclaration;` /// @@ -30761,7 +30836,7 @@ impl<'t, 'u> VerylGrammarAuto<'t, 'u> { Ok(()) } - /// Semantic action for production 815: + /// Semantic action for production 817: /// /// `ModuleItem: ModuleNamedBlock;` /// @@ -30780,7 +30855,7 @@ impl<'t, 'u> VerylGrammarAuto<'t, 'u> { Ok(()) } - /// Semantic action for production 816: + /// Semantic action for production 818: /// /// `ModuleItem: ImportDeclaration;` /// @@ -30799,7 +30874,7 @@ impl<'t, 'u> VerylGrammarAuto<'t, 'u> { Ok(()) } - /// Semantic action for production 817: + /// Semantic action for production 819: /// /// `ModuleItem: InitialDeclaration;` /// @@ -30818,7 +30893,7 @@ impl<'t, 'u> VerylGrammarAuto<'t, 'u> { Ok(()) } - /// Semantic action for production 818: + /// Semantic action for production 820: /// /// `ModuleItem: FinalDeclaration;` /// @@ -30837,7 +30912,7 @@ impl<'t, 'u> VerylGrammarAuto<'t, 'u> { Ok(()) } - /// Semantic action for production 819: + /// Semantic action for production 821: /// /// `InterfaceDeclaration: InterfaceDeclarationOpt /* Option */ Interface Identifier InterfaceDeclarationOpt0 /* Option */ InterfaceDeclarationOpt1 /* Option */ LBrace InterfaceDeclarationList /* Vec */ RBrace;` /// @@ -30903,7 +30978,7 @@ impl<'t, 'u> VerylGrammarAuto<'t, 'u> { Ok(()) } - /// Semantic action for production 820: + /// Semantic action for production 822: /// /// `InterfaceDeclarationList /* Vec::Push */: InterfaceGroup InterfaceDeclarationList;` /// @@ -30934,7 +31009,7 @@ impl<'t, 'u> VerylGrammarAuto<'t, 'u> { Ok(()) } - /// Semantic action for production 821: + /// Semantic action for production 823: /// /// `InterfaceDeclarationList /* Vec::New */: ;` /// @@ -30950,7 +31025,7 @@ impl<'t, 'u> VerylGrammarAuto<'t, 'u> { Ok(()) } - /// Semantic action for production 822: + /// Semantic action for production 824: /// /// `InterfaceDeclarationOpt1 /* Option::Some */: WithParameter;` /// @@ -30969,7 +31044,7 @@ impl<'t, 'u> VerylGrammarAuto<'t, 'u> { Ok(()) } - /// Semantic action for production 823: + /// Semantic action for production 825: /// /// `InterfaceDeclarationOpt1 /* Option::None */: ;` /// @@ -30981,7 +31056,7 @@ impl<'t, 'u> VerylGrammarAuto<'t, 'u> { Ok(()) } - /// Semantic action for production 824: + /// Semantic action for production 826: /// /// `InterfaceDeclarationOpt0 /* Option::Some */: WithGenericParameter;` /// @@ -31004,7 +31079,7 @@ impl<'t, 'u> VerylGrammarAuto<'t, 'u> { Ok(()) } - /// Semantic action for production 825: + /// Semantic action for production 827: /// /// `InterfaceDeclarationOpt0 /* Option::None */: ;` /// @@ -31016,7 +31091,7 @@ impl<'t, 'u> VerylGrammarAuto<'t, 'u> { Ok(()) } - /// Semantic action for production 826: + /// Semantic action for production 828: /// /// `InterfaceDeclarationOpt /* Option::Some */: Pub;` /// @@ -31035,7 +31110,7 @@ impl<'t, 'u> VerylGrammarAuto<'t, 'u> { Ok(()) } - /// Semantic action for production 827: + /// Semantic action for production 829: /// /// `InterfaceDeclarationOpt /* Option::None */: ;` /// @@ -31047,7 +31122,7 @@ impl<'t, 'u> VerylGrammarAuto<'t, 'u> { Ok(()) } - /// Semantic action for production 828: + /// Semantic action for production 830: /// /// `InterfaceIfDeclaration: If Expression InterfaceNamedBlock InterfaceIfDeclarationList /* Vec */ InterfaceIfDeclarationOpt /* Option */;` /// @@ -31095,7 +31170,7 @@ impl<'t, 'u> VerylGrammarAuto<'t, 'u> { Ok(()) } - /// Semantic action for production 829: + /// Semantic action for production 831: /// /// `InterfaceIfDeclarationList /* Vec::Push */: Else If Expression InterfaceOptionalNamedBlock InterfaceIfDeclarationList;` /// @@ -31140,7 +31215,7 @@ impl<'t, 'u> VerylGrammarAuto<'t, 'u> { Ok(()) } - /// Semantic action for production 830: + /// Semantic action for production 832: /// /// `InterfaceIfDeclarationList /* Vec::New */: ;` /// @@ -31156,7 +31231,7 @@ impl<'t, 'u> VerylGrammarAuto<'t, 'u> { Ok(()) } - /// Semantic action for production 831: + /// Semantic action for production 833: /// /// `InterfaceIfDeclarationOpt /* Option::Some */: Else InterfaceOptionalNamedBlock;` /// @@ -31186,7 +31261,7 @@ impl<'t, 'u> VerylGrammarAuto<'t, 'u> { Ok(()) } - /// Semantic action for production 832: + /// Semantic action for production 834: /// /// `InterfaceIfDeclarationOpt /* Option::None */: ;` /// @@ -31198,7 +31273,7 @@ impl<'t, 'u> VerylGrammarAuto<'t, 'u> { Ok(()) } - /// Semantic action for production 833: + /// Semantic action for production 835: /// /// `InterfaceForDeclaration: For Identifier In Range InterfaceForDeclarationOpt /* Option */ InterfaceNamedBlock;` /// @@ -31244,7 +31319,7 @@ impl<'t, 'u> VerylGrammarAuto<'t, 'u> { Ok(()) } - /// Semantic action for production 834: + /// Semantic action for production 836: /// /// `InterfaceForDeclarationOpt /* Option::Some */: Step AssignmentOperator Expression;` /// @@ -31272,7 +31347,7 @@ impl<'t, 'u> VerylGrammarAuto<'t, 'u> { Ok(()) } - /// Semantic action for production 835: + /// Semantic action for production 837: /// /// `InterfaceForDeclarationOpt /* Option::None */: ;` /// @@ -31284,7 +31359,7 @@ impl<'t, 'u> VerylGrammarAuto<'t, 'u> { Ok(()) } - /// Semantic action for production 836: + /// Semantic action for production 838: /// /// `InterfaceNamedBlock: Colon Identifier LBrace InterfaceNamedBlockList /* Vec */ RBrace;` /// @@ -31326,7 +31401,7 @@ impl<'t, 'u> VerylGrammarAuto<'t, 'u> { Ok(()) } - /// Semantic action for production 837: + /// Semantic action for production 839: /// /// `InterfaceNamedBlockList /* Vec::Push */: InterfaceGroup InterfaceNamedBlockList;` /// @@ -31357,7 +31432,7 @@ impl<'t, 'u> VerylGrammarAuto<'t, 'u> { Ok(()) } - /// Semantic action for production 838: + /// Semantic action for production 840: /// /// `InterfaceNamedBlockList /* Vec::New */: ;` /// @@ -31373,7 +31448,7 @@ impl<'t, 'u> VerylGrammarAuto<'t, 'u> { Ok(()) } - /// Semantic action for production 839: + /// Semantic action for production 841: /// /// `InterfaceOptionalNamedBlock: InterfaceOptionalNamedBlockOpt /* Option */ LBrace InterfaceOptionalNamedBlockList /* Vec */ RBrace;` /// @@ -31417,7 +31492,7 @@ impl<'t, 'u> VerylGrammarAuto<'t, 'u> { Ok(()) } - /// Semantic action for production 840: + /// Semantic action for production 842: /// /// `InterfaceOptionalNamedBlockList /* Vec::Push */: InterfaceGroup InterfaceOptionalNamedBlockList;` /// @@ -31448,7 +31523,7 @@ impl<'t, 'u> VerylGrammarAuto<'t, 'u> { Ok(()) } - /// Semantic action for production 841: + /// Semantic action for production 843: /// /// `InterfaceOptionalNamedBlockList /* Vec::New */: ;` /// @@ -31464,7 +31539,7 @@ impl<'t, 'u> VerylGrammarAuto<'t, 'u> { Ok(()) } - /// Semantic action for production 842: + /// Semantic action for production 844: /// /// `InterfaceOptionalNamedBlockOpt /* Option::Some */: Colon Identifier;` /// @@ -31491,7 +31566,7 @@ impl<'t, 'u> VerylGrammarAuto<'t, 'u> { Ok(()) } - /// Semantic action for production 843: + /// Semantic action for production 845: /// /// `InterfaceOptionalNamedBlockOpt /* Option::None */: ;` /// @@ -31503,7 +31578,7 @@ impl<'t, 'u> VerylGrammarAuto<'t, 'u> { Ok(()) } - /// Semantic action for production 844: + /// Semantic action for production 846: /// /// `InterfaceGroup: InterfaceGroupList /* Vec */ InterfaceGroupGroup;` /// @@ -31529,7 +31604,7 @@ impl<'t, 'u> VerylGrammarAuto<'t, 'u> { Ok(()) } - /// Semantic action for production 845: + /// Semantic action for production 847: /// /// `InterfaceGroupGroup: LBrace InterfaceGroupGroupList /* Vec */ RBrace;` /// @@ -31565,7 +31640,7 @@ impl<'t, 'u> VerylGrammarAuto<'t, 'u> { Ok(()) } - /// Semantic action for production 846: + /// Semantic action for production 848: /// /// `InterfaceGroupGroupList /* Vec::Push */: InterfaceGroup InterfaceGroupGroupList;` /// @@ -31596,7 +31671,7 @@ impl<'t, 'u> VerylGrammarAuto<'t, 'u> { Ok(()) } - /// Semantic action for production 847: + /// Semantic action for production 849: /// /// `InterfaceGroupGroupList /* Vec::New */: ;` /// @@ -31612,7 +31687,7 @@ impl<'t, 'u> VerylGrammarAuto<'t, 'u> { Ok(()) } - /// Semantic action for production 848: + /// Semantic action for production 850: /// /// `InterfaceGroupGroup: InterfaceItem;` /// @@ -31633,7 +31708,7 @@ impl<'t, 'u> VerylGrammarAuto<'t, 'u> { Ok(()) } - /// Semantic action for production 849: + /// Semantic action for production 851: /// /// `InterfaceGroupList /* Vec::Push */: Attribute InterfaceGroupList;` /// @@ -31657,7 +31732,7 @@ impl<'t, 'u> VerylGrammarAuto<'t, 'u> { Ok(()) } - /// Semantic action for production 850: + /// Semantic action for production 852: /// /// `InterfaceGroupList /* Vec::New */: ;` /// @@ -31673,7 +31748,7 @@ impl<'t, 'u> VerylGrammarAuto<'t, 'u> { Ok(()) } - /// Semantic action for production 851: + /// Semantic action for production 853: /// /// `InterfaceItem: LetDeclaration;` /// @@ -31692,7 +31767,7 @@ impl<'t, 'u> VerylGrammarAuto<'t, 'u> { Ok(()) } - /// Semantic action for production 852: + /// Semantic action for production 854: /// /// `InterfaceItem: VarDeclaration;` /// @@ -31711,7 +31786,7 @@ impl<'t, 'u> VerylGrammarAuto<'t, 'u> { Ok(()) } - /// Semantic action for production 853: + /// Semantic action for production 855: /// /// `InterfaceItem: LocalDeclaration;` /// @@ -31730,7 +31805,7 @@ impl<'t, 'u> VerylGrammarAuto<'t, 'u> { Ok(()) } - /// Semantic action for production 854: + /// Semantic action for production 856: /// /// `InterfaceItem: ModportDeclaration;` /// @@ -31749,7 +31824,7 @@ impl<'t, 'u> VerylGrammarAuto<'t, 'u> { Ok(()) } - /// Semantic action for production 855: + /// Semantic action for production 857: /// /// `InterfaceItem: InterfaceIfDeclaration;` /// @@ -31773,7 +31848,7 @@ impl<'t, 'u> VerylGrammarAuto<'t, 'u> { Ok(()) } - /// Semantic action for production 856: + /// Semantic action for production 858: /// /// `InterfaceItem: InterfaceForDeclaration;` /// @@ -31797,7 +31872,7 @@ impl<'t, 'u> VerylGrammarAuto<'t, 'u> { Ok(()) } - /// Semantic action for production 857: + /// Semantic action for production 859: /// /// `InterfaceItem: TypeDefDeclaration;` /// @@ -31817,7 +31892,7 @@ impl<'t, 'u> VerylGrammarAuto<'t, 'u> { Ok(()) } - /// Semantic action for production 858: + /// Semantic action for production 860: /// /// `InterfaceItem: EnumDeclaration;` /// @@ -31836,7 +31911,7 @@ impl<'t, 'u> VerylGrammarAuto<'t, 'u> { Ok(()) } - /// Semantic action for production 859: + /// Semantic action for production 861: /// /// `InterfaceItem: StructUnionDeclaration;` /// @@ -31860,7 +31935,7 @@ impl<'t, 'u> VerylGrammarAuto<'t, 'u> { Ok(()) } - /// Semantic action for production 860: + /// Semantic action for production 862: /// /// `InterfaceItem: InterfaceNamedBlock;` /// @@ -31880,7 +31955,7 @@ impl<'t, 'u> VerylGrammarAuto<'t, 'u> { Ok(()) } - /// Semantic action for production 861: + /// Semantic action for production 863: /// /// `InterfaceItem: FunctionDeclaration;` /// @@ -31900,7 +31975,7 @@ impl<'t, 'u> VerylGrammarAuto<'t, 'u> { Ok(()) } - /// Semantic action for production 862: + /// Semantic action for production 864: /// /// `InterfaceItem: ImportDeclaration;` /// @@ -31919,7 +31994,7 @@ impl<'t, 'u> VerylGrammarAuto<'t, 'u> { Ok(()) } - /// Semantic action for production 863: + /// Semantic action for production 865: /// /// `InterfaceItem: InitialDeclaration;` /// @@ -31938,7 +32013,7 @@ impl<'t, 'u> VerylGrammarAuto<'t, 'u> { Ok(()) } - /// Semantic action for production 864: + /// Semantic action for production 866: /// /// `InterfaceItem: FinalDeclaration;` /// @@ -31957,7 +32032,7 @@ impl<'t, 'u> VerylGrammarAuto<'t, 'u> { Ok(()) } - /// Semantic action for production 865: + /// Semantic action for production 867: /// /// `PackageDeclaration: PackageDeclarationOpt /* Option */ Package Identifier PackageDeclarationOpt0 /* Option */ LBrace PackageDeclarationList /* Vec */ RBrace;` /// @@ -32015,7 +32090,7 @@ impl<'t, 'u> VerylGrammarAuto<'t, 'u> { Ok(()) } - /// Semantic action for production 866: + /// Semantic action for production 868: /// /// `PackageDeclarationList /* Vec::Push */: PackageGroup PackageDeclarationList;` /// @@ -32046,7 +32121,7 @@ impl<'t, 'u> VerylGrammarAuto<'t, 'u> { Ok(()) } - /// Semantic action for production 867: + /// Semantic action for production 869: /// /// `PackageDeclarationList /* Vec::New */: ;` /// @@ -32062,7 +32137,7 @@ impl<'t, 'u> VerylGrammarAuto<'t, 'u> { Ok(()) } - /// Semantic action for production 868: + /// Semantic action for production 870: /// /// `PackageDeclarationOpt0 /* Option::Some */: WithGenericParameter;` /// @@ -32085,7 +32160,7 @@ impl<'t, 'u> VerylGrammarAuto<'t, 'u> { Ok(()) } - /// Semantic action for production 869: + /// Semantic action for production 871: /// /// `PackageDeclarationOpt0 /* Option::None */: ;` /// @@ -32097,7 +32172,7 @@ impl<'t, 'u> VerylGrammarAuto<'t, 'u> { Ok(()) } - /// Semantic action for production 870: + /// Semantic action for production 872: /// /// `PackageDeclarationOpt /* Option::Some */: Pub;` /// @@ -32116,7 +32191,7 @@ impl<'t, 'u> VerylGrammarAuto<'t, 'u> { Ok(()) } - /// Semantic action for production 871: + /// Semantic action for production 873: /// /// `PackageDeclarationOpt /* Option::None */: ;` /// @@ -32128,7 +32203,7 @@ impl<'t, 'u> VerylGrammarAuto<'t, 'u> { Ok(()) } - /// Semantic action for production 872: + /// Semantic action for production 874: /// /// `PackageGroup: PackageGroupList /* Vec */ PackageGroupGroup;` /// @@ -32153,7 +32228,7 @@ impl<'t, 'u> VerylGrammarAuto<'t, 'u> { Ok(()) } - /// Semantic action for production 873: + /// Semantic action for production 875: /// /// `PackageGroupGroup: LBrace PackageGroupGroupList /* Vec */ RBrace;` /// @@ -32188,7 +32263,7 @@ impl<'t, 'u> VerylGrammarAuto<'t, 'u> { Ok(()) } - /// Semantic action for production 874: + /// Semantic action for production 876: /// /// `PackageGroupGroupList /* Vec::Push */: PackageGroup PackageGroupGroupList;` /// @@ -32219,7 +32294,7 @@ impl<'t, 'u> VerylGrammarAuto<'t, 'u> { Ok(()) } - /// Semantic action for production 875: + /// Semantic action for production 877: /// /// `PackageGroupGroupList /* Vec::New */: ;` /// @@ -32235,7 +32310,7 @@ impl<'t, 'u> VerylGrammarAuto<'t, 'u> { Ok(()) } - /// Semantic action for production 876: + /// Semantic action for production 878: /// /// `PackageGroupGroup: PackageItem;` /// @@ -32256,7 +32331,7 @@ impl<'t, 'u> VerylGrammarAuto<'t, 'u> { Ok(()) } - /// Semantic action for production 877: + /// Semantic action for production 879: /// /// `PackageGroupList /* Vec::Push */: Attribute PackageGroupList;` /// @@ -32279,7 +32354,7 @@ impl<'t, 'u> VerylGrammarAuto<'t, 'u> { Ok(()) } - /// Semantic action for production 878: + /// Semantic action for production 880: /// /// `PackageGroupList /* Vec::New */: ;` /// @@ -32295,7 +32370,7 @@ impl<'t, 'u> VerylGrammarAuto<'t, 'u> { Ok(()) } - /// Semantic action for production 879: + /// Semantic action for production 881: /// /// `PackageItem: VarDeclaration;` /// @@ -32314,7 +32389,7 @@ impl<'t, 'u> VerylGrammarAuto<'t, 'u> { Ok(()) } - /// Semantic action for production 880: + /// Semantic action for production 882: /// /// `PackageItem: LocalDeclaration;` /// @@ -32333,7 +32408,7 @@ impl<'t, 'u> VerylGrammarAuto<'t, 'u> { Ok(()) } - /// Semantic action for production 881: + /// Semantic action for production 883: /// /// `PackageItem: TypeDefDeclaration;` /// @@ -32353,7 +32428,7 @@ impl<'t, 'u> VerylGrammarAuto<'t, 'u> { Ok(()) } - /// Semantic action for production 882: + /// Semantic action for production 884: /// /// `PackageItem: EnumDeclaration;` /// @@ -32372,7 +32447,7 @@ impl<'t, 'u> VerylGrammarAuto<'t, 'u> { Ok(()) } - /// Semantic action for production 883: + /// Semantic action for production 885: /// /// `PackageItem: StructUnionDeclaration;` /// @@ -32396,7 +32471,7 @@ impl<'t, 'u> VerylGrammarAuto<'t, 'u> { Ok(()) } - /// Semantic action for production 884: + /// Semantic action for production 886: /// /// `PackageItem: FunctionDeclaration;` /// @@ -32416,7 +32491,7 @@ impl<'t, 'u> VerylGrammarAuto<'t, 'u> { Ok(()) } - /// Semantic action for production 885: + /// Semantic action for production 887: /// /// `PackageItem: ImportDeclaration;` /// @@ -32435,7 +32510,7 @@ impl<'t, 'u> VerylGrammarAuto<'t, 'u> { Ok(()) } - /// Semantic action for production 886: + /// Semantic action for production 888: /// /// `PackageItem: ExportDeclaration;` /// @@ -32454,7 +32529,7 @@ impl<'t, 'u> VerylGrammarAuto<'t, 'u> { Ok(()) } - /// Semantic action for production 887: + /// Semantic action for production 889: /// /// `PackageItem: InitialDeclaration;` /// @@ -32473,7 +32548,7 @@ impl<'t, 'u> VerylGrammarAuto<'t, 'u> { Ok(()) } - /// Semantic action for production 888: + /// Semantic action for production 890: /// /// `PackageItem: FinalDeclaration;` /// @@ -32492,7 +32567,7 @@ impl<'t, 'u> VerylGrammarAuto<'t, 'u> { Ok(()) } - /// Semantic action for production 889: + /// Semantic action for production 891: /// /// `EmbedDeclaration: Embed LParen Identifier RParen Identifier EmbedContent;` /// @@ -32529,7 +32604,7 @@ impl<'t, 'u> VerylGrammarAuto<'t, 'u> { Ok(()) } - /// Semantic action for production 890: + /// Semantic action for production 892: /// /// `EmbedContent: EmbedContentToken : VerylToken;` /// @@ -32549,7 +32624,7 @@ impl<'t, 'u> VerylGrammarAuto<'t, 'u> { Ok(()) } - /// Semantic action for production 891: + /// Semantic action for production 893: /// /// `EmbedContentToken: LBraceTerm %push(Embed) LBraceTerm LBraceTerm EmbedContentTokenList /* Vec */ RBraceTerm RBraceTerm RBraceTerm %pop() Comments;` /// @@ -32600,7 +32675,7 @@ impl<'t, 'u> VerylGrammarAuto<'t, 'u> { Ok(()) } - /// Semantic action for production 892: + /// Semantic action for production 894: /// /// `EmbedContentTokenList /* Vec::Push */: EmbedItem EmbedContentTokenList;` /// @@ -32631,7 +32706,7 @@ impl<'t, 'u> VerylGrammarAuto<'t, 'u> { Ok(()) } - /// Semantic action for production 893: + /// Semantic action for production 895: /// /// `EmbedContentTokenList /* Vec::New */: ;` /// @@ -32647,7 +32722,7 @@ impl<'t, 'u> VerylGrammarAuto<'t, 'u> { Ok(()) } - /// Semantic action for production 894: + /// Semantic action for production 896: /// /// `EmbedItem: LBraceTerm EmbedItemList /* Vec */ RBraceTerm;` /// @@ -32675,7 +32750,7 @@ impl<'t, 'u> VerylGrammarAuto<'t, 'u> { Ok(()) } - /// Semantic action for production 895: + /// Semantic action for production 897: /// /// `EmbedItemList /* Vec::Push */: EmbedItem EmbedItemList;` /// @@ -32698,7 +32773,7 @@ impl<'t, 'u> VerylGrammarAuto<'t, 'u> { Ok(()) } - /// Semantic action for production 896: + /// Semantic action for production 898: /// /// `EmbedItemList /* Vec::New */: ;` /// @@ -32711,7 +32786,7 @@ impl<'t, 'u> VerylGrammarAuto<'t, 'u> { Ok(()) } - /// Semantic action for production 897: + /// Semantic action for production 899: /// /// `EmbedItem: AnyTerm;` /// @@ -32730,7 +32805,7 @@ impl<'t, 'u> VerylGrammarAuto<'t, 'u> { Ok(()) } - /// Semantic action for production 898: + /// Semantic action for production 900: /// /// `IncludeDeclaration: Include LParen Identifier Comma StringLiteral RParen Semicolon;` /// @@ -32773,7 +32848,7 @@ impl<'t, 'u> VerylGrammarAuto<'t, 'u> { Ok(()) } - /// Semantic action for production 899: + /// Semantic action for production 901: /// /// `DescriptionGroup: DescriptionGroupList /* Vec */ DescriptionGroupGroup;` /// @@ -32804,7 +32879,7 @@ impl<'t, 'u> VerylGrammarAuto<'t, 'u> { Ok(()) } - /// Semantic action for production 900: + /// Semantic action for production 902: /// /// `DescriptionGroupGroup: LBrace DescriptionGroupGroupList /* Vec */ RBrace;` /// @@ -32842,7 +32917,7 @@ impl<'t, 'u> VerylGrammarAuto<'t, 'u> { Ok(()) } - /// Semantic action for production 901: + /// Semantic action for production 903: /// /// `DescriptionGroupGroupList /* Vec::Push */: DescriptionGroup DescriptionGroupGroupList;` /// @@ -32873,7 +32948,7 @@ impl<'t, 'u> VerylGrammarAuto<'t, 'u> { Ok(()) } - /// Semantic action for production 902: + /// Semantic action for production 904: /// /// `DescriptionGroupGroupList /* Vec::New */: ;` /// @@ -32889,7 +32964,7 @@ impl<'t, 'u> VerylGrammarAuto<'t, 'u> { Ok(()) } - /// Semantic action for production 903: + /// Semantic action for production 905: /// /// `DescriptionGroupGroup: DescriptionItem;` /// @@ -32910,7 +32985,7 @@ impl<'t, 'u> VerylGrammarAuto<'t, 'u> { Ok(()) } - /// Semantic action for production 904: + /// Semantic action for production 906: /// /// `DescriptionGroupList /* Vec::Push */: Attribute DescriptionGroupList;` /// @@ -32937,7 +33012,7 @@ impl<'t, 'u> VerylGrammarAuto<'t, 'u> { Ok(()) } - /// Semantic action for production 905: + /// Semantic action for production 907: /// /// `DescriptionGroupList /* Vec::New */: ;` /// @@ -32953,7 +33028,7 @@ impl<'t, 'u> VerylGrammarAuto<'t, 'u> { Ok(()) } - /// Semantic action for production 906: + /// Semantic action for production 908: /// /// `DescriptionItem: ModuleDeclaration;` /// @@ -32973,7 +33048,7 @@ impl<'t, 'u> VerylGrammarAuto<'t, 'u> { Ok(()) } - /// Semantic action for production 907: + /// Semantic action for production 909: /// /// `DescriptionItem: InterfaceDeclaration;` /// @@ -32995,7 +33070,7 @@ impl<'t, 'u> VerylGrammarAuto<'t, 'u> { Ok(()) } - /// Semantic action for production 908: + /// Semantic action for production 910: /// /// `DescriptionItem: PackageDeclaration;` /// @@ -33016,7 +33091,7 @@ impl<'t, 'u> VerylGrammarAuto<'t, 'u> { Ok(()) } - /// Semantic action for production 909: + /// Semantic action for production 911: /// /// `DescriptionItem: ImportDeclaration;` /// @@ -33036,7 +33111,7 @@ impl<'t, 'u> VerylGrammarAuto<'t, 'u> { Ok(()) } - /// Semantic action for production 910: + /// Semantic action for production 912: /// /// `DescriptionItem: EmbedDeclaration;` /// @@ -33056,7 +33131,7 @@ impl<'t, 'u> VerylGrammarAuto<'t, 'u> { Ok(()) } - /// Semantic action for production 911: + /// Semantic action for production 913: /// /// `DescriptionItem: IncludeDeclaration;` /// @@ -33077,7 +33152,7 @@ impl<'t, 'u> VerylGrammarAuto<'t, 'u> { Ok(()) } - /// Semantic action for production 912: + /// Semantic action for production 914: /// /// `Veryl: Start VerylList /* Vec */;` /// @@ -33097,7 +33172,7 @@ impl<'t, 'u> VerylGrammarAuto<'t, 'u> { Ok(()) } - /// Semantic action for production 913: + /// Semantic action for production 915: /// /// `VerylList /* Vec::Push */: DescriptionGroup VerylList;` /// @@ -33120,7 +33195,7 @@ impl<'t, 'u> VerylGrammarAuto<'t, 'u> { Ok(()) } - /// Semantic action for production 914: + /// Semantic action for production 916: /// /// `VerylList /* Vec::New */: ;` /// @@ -33942,7 +34017,9 @@ impl<'t> UserActionsTrait<'t> for VerylGrammarAuto<'t, '_> { 612 => self.modport_group_list_0(&children[0], &children[1]), 613 => self.modport_group_list_1(), 614 => self.modport_item(&children[0], &children[1], &children[2]), - 615 => self.enum_declaration( + 615 => self.modport_item_group_0(&children[0]), + 616 => self.modport_item_group_1(&children[0]), + 617 => self.enum_declaration( &children[0], &children[1], &children[2], @@ -33951,22 +34028,22 @@ impl<'t> UserActionsTrait<'t> for VerylGrammarAuto<'t, '_> { &children[5], &children[6], ), - 616 => self.enum_list(&children[0], &children[1], &children[2]), - 617 => self.enum_list_list_0(&children[0], &children[1], &children[2]), - 618 => self.enum_list_list_1(), - 619 => self.enum_list_opt_0(&children[0]), - 620 => self.enum_list_opt_1(), - 621 => self.enum_group(&children[0], &children[1]), - 622 => self.enum_group_group_0(&children[0], &children[1], &children[2]), - 623 => self.enum_group_group_1(&children[0]), - 624 => self.enum_group_list_0(&children[0], &children[1]), - 625 => self.enum_group_list_1(), - 626 => self.enum_item(&children[0], &children[1]), - 627 => self.enum_item_opt_0(&children[0], &children[1]), - 628 => self.enum_item_opt_1(), - 629 => self.struct_union_0(&children[0]), - 630 => self.struct_union_1(&children[0]), - 631 => self.struct_union_declaration( + 618 => self.enum_list(&children[0], &children[1], &children[2]), + 619 => self.enum_list_list_0(&children[0], &children[1], &children[2]), + 620 => self.enum_list_list_1(), + 621 => self.enum_list_opt_0(&children[0]), + 622 => self.enum_list_opt_1(), + 623 => self.enum_group(&children[0], &children[1]), + 624 => self.enum_group_group_0(&children[0], &children[1], &children[2]), + 625 => self.enum_group_group_1(&children[0]), + 626 => self.enum_group_list_0(&children[0], &children[1]), + 627 => self.enum_group_list_1(), + 628 => self.enum_item(&children[0], &children[1]), + 629 => self.enum_item_opt_0(&children[0], &children[1]), + 630 => self.enum_item_opt_1(), + 631 => self.struct_union_0(&children[0]), + 632 => self.struct_union_1(&children[0]), + 633 => self.struct_union_declaration( &children[0], &children[1], &children[2], @@ -33974,26 +34051,26 @@ impl<'t> UserActionsTrait<'t> for VerylGrammarAuto<'t, '_> { &children[4], &children[5], ), - 632 => self.struct_union_declaration_opt_0(&children[0]), - 633 => self.struct_union_declaration_opt_1(), - 634 => self.struct_union_list(&children[0], &children[1], &children[2]), - 635 => self.struct_union_list_list_0(&children[0], &children[1], &children[2]), - 636 => self.struct_union_list_list_1(), - 637 => self.struct_union_list_opt_0(&children[0]), - 638 => self.struct_union_list_opt_1(), - 639 => self.struct_union_group(&children[0], &children[1]), - 640 => self.struct_union_group_group_0(&children[0], &children[1], &children[2]), - 641 => self.struct_union_group_group_1(&children[0]), - 642 => self.struct_union_group_list_0(&children[0], &children[1]), - 643 => self.struct_union_group_list_1(), - 644 => self.struct_union_item(&children[0], &children[1], &children[2]), - 645 => self.initial_declaration(&children[0], &children[1], &children[2], &children[3]), - 646 => self.initial_declaration_list_0(&children[0], &children[1]), - 647 => self.initial_declaration_list_1(), - 648 => self.final_declaration(&children[0], &children[1], &children[2], &children[3]), - 649 => self.final_declaration_list_0(&children[0], &children[1]), - 650 => self.final_declaration_list_1(), - 651 => self.inst_declaration( + 634 => self.struct_union_declaration_opt_0(&children[0]), + 635 => self.struct_union_declaration_opt_1(), + 636 => self.struct_union_list(&children[0], &children[1], &children[2]), + 637 => self.struct_union_list_list_0(&children[0], &children[1], &children[2]), + 638 => self.struct_union_list_list_1(), + 639 => self.struct_union_list_opt_0(&children[0]), + 640 => self.struct_union_list_opt_1(), + 641 => self.struct_union_group(&children[0], &children[1]), + 642 => self.struct_union_group_group_0(&children[0], &children[1], &children[2]), + 643 => self.struct_union_group_group_1(&children[0]), + 644 => self.struct_union_group_list_0(&children[0], &children[1]), + 645 => self.struct_union_group_list_1(), + 646 => self.struct_union_item(&children[0], &children[1], &children[2]), + 647 => self.initial_declaration(&children[0], &children[1], &children[2], &children[3]), + 648 => self.initial_declaration_list_0(&children[0], &children[1]), + 649 => self.initial_declaration_list_1(), + 650 => self.final_declaration(&children[0], &children[1], &children[2], &children[3]), + 651 => self.final_declaration_list_0(&children[0], &children[1]), + 652 => self.final_declaration_list_1(), + 653 => self.inst_declaration( &children[0], &children[1], &children[2], @@ -34003,106 +34080,106 @@ impl<'t> UserActionsTrait<'t> for VerylGrammarAuto<'t, '_> { &children[6], &children[7], ), - 652 => self.inst_declaration_opt1_0(&children[0], &children[1], &children[2]), - 653 => self.inst_declaration_opt2_0(&children[0]), - 654 => self.inst_declaration_opt2_1(), - 655 => self.inst_declaration_opt1_1(), - 656 => self.inst_declaration_opt0_0(&children[0]), - 657 => self.inst_declaration_opt0_1(), - 658 => self.inst_declaration_opt_0(&children[0]), - 659 => self.inst_declaration_opt_1(), - 660 => self.inst_parameter(&children[0], &children[1], &children[2], &children[3]), - 661 => self.inst_parameter_opt_0(&children[0]), - 662 => self.inst_parameter_opt_1(), - 663 => self.inst_parameter_list(&children[0], &children[1], &children[2]), - 664 => self.inst_parameter_list_list_0(&children[0], &children[1], &children[2]), - 665 => self.inst_parameter_list_list_1(), - 666 => self.inst_parameter_list_opt_0(&children[0]), - 667 => self.inst_parameter_list_opt_1(), - 668 => self.inst_parameter_group(&children[0], &children[1]), - 669 => self.inst_parameter_group_group_0(&children[0], &children[1], &children[2]), - 670 => self.inst_parameter_group_group_1(&children[0]), - 671 => self.inst_parameter_group_list_0(&children[0], &children[1]), - 672 => self.inst_parameter_group_list_1(), - 673 => self.inst_parameter_item(&children[0], &children[1]), - 674 => self.inst_parameter_item_opt_0(&children[0], &children[1]), - 675 => self.inst_parameter_item_opt_1(), - 676 => self.inst_port_list(&children[0], &children[1], &children[2]), - 677 => self.inst_port_list_list_0(&children[0], &children[1], &children[2]), - 678 => self.inst_port_list_list_1(), - 679 => self.inst_port_list_opt_0(&children[0]), - 680 => self.inst_port_list_opt_1(), - 681 => self.inst_port_group(&children[0], &children[1]), - 682 => self.inst_port_group_group_0(&children[0], &children[1], &children[2]), - 683 => self.inst_port_group_group_1(&children[0]), - 684 => self.inst_port_group_list_0(&children[0], &children[1]), - 685 => self.inst_port_group_list_1(), - 686 => self.inst_port_item(&children[0], &children[1]), - 687 => self.inst_port_item_opt_0(&children[0], &children[1]), - 688 => self.inst_port_item_opt_1(), - 689 => self.with_parameter(&children[0], &children[1], &children[2], &children[3]), - 690 => self.with_parameter_opt_0(&children[0]), - 691 => self.with_parameter_opt_1(), - 692 => self.with_parameter_list(&children[0], &children[1], &children[2]), - 693 => self.with_parameter_list_list_0(&children[0], &children[1], &children[2]), - 694 => self.with_parameter_list_list_1(), - 695 => self.with_parameter_list_opt_0(&children[0]), - 696 => self.with_parameter_list_opt_1(), - 697 => self.with_parameter_group(&children[0], &children[1]), - 698 => self.with_parameter_group_group_0(&children[0], &children[1], &children[2]), - 699 => self.with_parameter_group_group_1(&children[0]), - 700 => self.with_parameter_group_list_0(&children[0], &children[1]), - 701 => self.with_parameter_group_list_1(), - 702 => self.with_parameter_item(&children[0], &children[1], &children[2], &children[3]), - 703 => self.with_parameter_item_group0_0(&children[0], &children[1], &children[2]), - 704 => self.with_parameter_item_group0_1(&children[0], &children[1], &children[2]), - 705 => self.with_parameter_item_group_0(&children[0]), - 706 => self.with_parameter_item_group_1(&children[0]), - 707 => self.with_generic_parameter(&children[0], &children[1], &children[2]), - 708 => self.with_generic_parameter_list(&children[0], &children[1], &children[2]), - 709 => { + 654 => self.inst_declaration_opt1_0(&children[0], &children[1], &children[2]), + 655 => self.inst_declaration_opt2_0(&children[0]), + 656 => self.inst_declaration_opt2_1(), + 657 => self.inst_declaration_opt1_1(), + 658 => self.inst_declaration_opt0_0(&children[0]), + 659 => self.inst_declaration_opt0_1(), + 660 => self.inst_declaration_opt_0(&children[0]), + 661 => self.inst_declaration_opt_1(), + 662 => self.inst_parameter(&children[0], &children[1], &children[2], &children[3]), + 663 => self.inst_parameter_opt_0(&children[0]), + 664 => self.inst_parameter_opt_1(), + 665 => self.inst_parameter_list(&children[0], &children[1], &children[2]), + 666 => self.inst_parameter_list_list_0(&children[0], &children[1], &children[2]), + 667 => self.inst_parameter_list_list_1(), + 668 => self.inst_parameter_list_opt_0(&children[0]), + 669 => self.inst_parameter_list_opt_1(), + 670 => self.inst_parameter_group(&children[0], &children[1]), + 671 => self.inst_parameter_group_group_0(&children[0], &children[1], &children[2]), + 672 => self.inst_parameter_group_group_1(&children[0]), + 673 => self.inst_parameter_group_list_0(&children[0], &children[1]), + 674 => self.inst_parameter_group_list_1(), + 675 => self.inst_parameter_item(&children[0], &children[1]), + 676 => self.inst_parameter_item_opt_0(&children[0], &children[1]), + 677 => self.inst_parameter_item_opt_1(), + 678 => self.inst_port_list(&children[0], &children[1], &children[2]), + 679 => self.inst_port_list_list_0(&children[0], &children[1], &children[2]), + 680 => self.inst_port_list_list_1(), + 681 => self.inst_port_list_opt_0(&children[0]), + 682 => self.inst_port_list_opt_1(), + 683 => self.inst_port_group(&children[0], &children[1]), + 684 => self.inst_port_group_group_0(&children[0], &children[1], &children[2]), + 685 => self.inst_port_group_group_1(&children[0]), + 686 => self.inst_port_group_list_0(&children[0], &children[1]), + 687 => self.inst_port_group_list_1(), + 688 => self.inst_port_item(&children[0], &children[1]), + 689 => self.inst_port_item_opt_0(&children[0], &children[1]), + 690 => self.inst_port_item_opt_1(), + 691 => self.with_parameter(&children[0], &children[1], &children[2], &children[3]), + 692 => self.with_parameter_opt_0(&children[0]), + 693 => self.with_parameter_opt_1(), + 694 => self.with_parameter_list(&children[0], &children[1], &children[2]), + 695 => self.with_parameter_list_list_0(&children[0], &children[1], &children[2]), + 696 => self.with_parameter_list_list_1(), + 697 => self.with_parameter_list_opt_0(&children[0]), + 698 => self.with_parameter_list_opt_1(), + 699 => self.with_parameter_group(&children[0], &children[1]), + 700 => self.with_parameter_group_group_0(&children[0], &children[1], &children[2]), + 701 => self.with_parameter_group_group_1(&children[0]), + 702 => self.with_parameter_group_list_0(&children[0], &children[1]), + 703 => self.with_parameter_group_list_1(), + 704 => self.with_parameter_item(&children[0], &children[1], &children[2], &children[3]), + 705 => self.with_parameter_item_group0_0(&children[0], &children[1], &children[2]), + 706 => self.with_parameter_item_group0_1(&children[0], &children[1], &children[2]), + 707 => self.with_parameter_item_group_0(&children[0]), + 708 => self.with_parameter_item_group_1(&children[0]), + 709 => self.with_generic_parameter(&children[0], &children[1], &children[2]), + 710 => self.with_generic_parameter_list(&children[0], &children[1], &children[2]), + 711 => { self.with_generic_parameter_list_list_0(&children[0], &children[1], &children[2]) } - 710 => self.with_generic_parameter_list_list_1(), - 711 => self.with_generic_parameter_list_opt_0(&children[0]), - 712 => self.with_generic_parameter_list_opt_1(), - 713 => self.with_generic_parameter_item(&children[0], &children[1]), - 714 => self.with_generic_parameter_item_opt_0(&children[0], &children[1]), - 715 => self.with_generic_parameter_item_opt_1(), - 716 => self.with_generic_argument(&children[0], &children[1], &children[2]), - 717 => self.with_generic_argument_opt_0(&children[0]), - 718 => self.with_generic_argument_opt_1(), - 719 => self.with_generic_argument_list(&children[0], &children[1], &children[2]), - 720 => self.with_generic_argument_list_list_0(&children[0], &children[1], &children[2]), - 721 => self.with_generic_argument_list_list_1(), - 722 => self.with_generic_argument_list_opt_0(&children[0]), - 723 => self.with_generic_argument_list_opt_1(), - 724 => self.with_generic_argument_item_0(&children[0]), - 725 => self.with_generic_argument_item_1(&children[0]), - 726 => self.port_declaration(&children[0], &children[1], &children[2]), - 727 => self.port_declaration_opt_0(&children[0]), - 728 => self.port_declaration_opt_1(), - 729 => self.port_declaration_list(&children[0], &children[1], &children[2]), - 730 => self.port_declaration_list_list_0(&children[0], &children[1], &children[2]), - 731 => self.port_declaration_list_list_1(), - 732 => self.port_declaration_list_opt_0(&children[0]), - 733 => self.port_declaration_list_opt_1(), - 734 => self.port_declaration_group(&children[0], &children[1]), - 735 => self.port_declaration_group_group_0(&children[0], &children[1], &children[2]), - 736 => self.port_declaration_group_group_1(&children[0]), - 737 => self.port_declaration_group_list_0(&children[0], &children[1]), - 738 => self.port_declaration_group_list_1(), - 739 => self.port_declaration_item(&children[0], &children[1], &children[2]), - 740 => self.port_declaration_item_group_0(&children[0], &children[1]), - 741 => self.port_declaration_item_group_1(&children[0], &children[1]), - 742 => self.port_declaration_item_opt_0(&children[0]), - 743 => self.port_declaration_item_opt_1(), - 744 => self.direction_0(&children[0]), - 745 => self.direction_1(&children[0]), - 746 => self.direction_2(&children[0]), - 747 => self.direction_3(&children[0]), - 748 => self.direction_4(&children[0]), - 749 => self.function_declaration( + 712 => self.with_generic_parameter_list_list_1(), + 713 => self.with_generic_parameter_list_opt_0(&children[0]), + 714 => self.with_generic_parameter_list_opt_1(), + 715 => self.with_generic_parameter_item(&children[0], &children[1]), + 716 => self.with_generic_parameter_item_opt_0(&children[0], &children[1]), + 717 => self.with_generic_parameter_item_opt_1(), + 718 => self.with_generic_argument(&children[0], &children[1], &children[2]), + 719 => self.with_generic_argument_opt_0(&children[0]), + 720 => self.with_generic_argument_opt_1(), + 721 => self.with_generic_argument_list(&children[0], &children[1], &children[2]), + 722 => self.with_generic_argument_list_list_0(&children[0], &children[1], &children[2]), + 723 => self.with_generic_argument_list_list_1(), + 724 => self.with_generic_argument_list_opt_0(&children[0]), + 725 => self.with_generic_argument_list_opt_1(), + 726 => self.with_generic_argument_item_0(&children[0]), + 727 => self.with_generic_argument_item_1(&children[0]), + 728 => self.port_declaration(&children[0], &children[1], &children[2]), + 729 => self.port_declaration_opt_0(&children[0]), + 730 => self.port_declaration_opt_1(), + 731 => self.port_declaration_list(&children[0], &children[1], &children[2]), + 732 => self.port_declaration_list_list_0(&children[0], &children[1], &children[2]), + 733 => self.port_declaration_list_list_1(), + 734 => self.port_declaration_list_opt_0(&children[0]), + 735 => self.port_declaration_list_opt_1(), + 736 => self.port_declaration_group(&children[0], &children[1]), + 737 => self.port_declaration_group_group_0(&children[0], &children[1], &children[2]), + 738 => self.port_declaration_group_group_1(&children[0]), + 739 => self.port_declaration_group_list_0(&children[0], &children[1]), + 740 => self.port_declaration_group_list_1(), + 741 => self.port_declaration_item(&children[0], &children[1], &children[2]), + 742 => self.port_declaration_item_group_0(&children[0], &children[1]), + 743 => self.port_declaration_item_group_1(&children[0], &children[1]), + 744 => self.port_declaration_item_opt_0(&children[0]), + 745 => self.port_declaration_item_opt_1(), + 746 => self.direction_0(&children[0]), + 747 => self.direction_1(&children[0]), + 748 => self.direction_2(&children[0]), + 749 => self.direction_3(&children[0]), + 750 => self.direction_4(&children[0]), + 751 => self.function_declaration( &children[0], &children[1], &children[2], @@ -34112,25 +34189,25 @@ impl<'t> UserActionsTrait<'t> for VerylGrammarAuto<'t, '_> { &children[6], &children[7], ), - 750 => self.function_declaration_list_0(&children[0], &children[1]), - 751 => self.function_declaration_list_1(), - 752 => self.function_declaration_opt1_0(&children[0], &children[1]), - 753 => self.function_declaration_opt1_1(), - 754 => self.function_declaration_opt0_0(&children[0]), - 755 => self.function_declaration_opt0_1(), - 756 => self.function_declaration_opt_0(&children[0]), - 757 => self.function_declaration_opt_1(), - 758 => self.function_item_0(&children[0]), - 759 => self.function_item_1(&children[0]), - 760 => self.import_declaration(&children[0], &children[1], &children[2], &children[3]), - 761 => self.import_declaration_opt_0(&children[0], &children[1]), - 762 => self.import_declaration_opt_1(), - 763 => self.export_declaration(&children[0], &children[1], &children[2]), - 764 => self.export_declaration_group_0(&children[0]), - 765 => self.export_declaration_group_1(&children[0], &children[1]), - 766 => self.export_declaration_opt_0(&children[0], &children[1]), - 767 => self.export_declaration_opt_1(), - 768 => self.module_declaration( + 752 => self.function_declaration_list_0(&children[0], &children[1]), + 753 => self.function_declaration_list_1(), + 754 => self.function_declaration_opt1_0(&children[0], &children[1]), + 755 => self.function_declaration_opt1_1(), + 756 => self.function_declaration_opt0_0(&children[0]), + 757 => self.function_declaration_opt0_1(), + 758 => self.function_declaration_opt_0(&children[0]), + 759 => self.function_declaration_opt_1(), + 760 => self.function_item_0(&children[0]), + 761 => self.function_item_1(&children[0]), + 762 => self.import_declaration(&children[0], &children[1], &children[2], &children[3]), + 763 => self.import_declaration_opt_0(&children[0], &children[1]), + 764 => self.import_declaration_opt_1(), + 765 => self.export_declaration(&children[0], &children[1], &children[2]), + 766 => self.export_declaration_group_0(&children[0]), + 767 => self.export_declaration_group_1(&children[0], &children[1]), + 768 => self.export_declaration_opt_0(&children[0], &children[1]), + 769 => self.export_declaration_opt_1(), + 770 => self.module_declaration( &children[0], &children[1], &children[2], @@ -34141,34 +34218,34 @@ impl<'t> UserActionsTrait<'t> for VerylGrammarAuto<'t, '_> { &children[7], &children[8], ), - 769 => self.module_declaration_list_0(&children[0], &children[1]), - 770 => self.module_declaration_list_1(), - 771 => self.module_declaration_opt2_0(&children[0]), - 772 => self.module_declaration_opt2_1(), - 773 => self.module_declaration_opt1_0(&children[0]), - 774 => self.module_declaration_opt1_1(), - 775 => self.module_declaration_opt0_0(&children[0]), - 776 => self.module_declaration_opt0_1(), - 777 => self.module_declaration_opt_0(&children[0]), - 778 => self.module_declaration_opt_1(), - 779 => self.module_if_declaration( + 771 => self.module_declaration_list_0(&children[0], &children[1]), + 772 => self.module_declaration_list_1(), + 773 => self.module_declaration_opt2_0(&children[0]), + 774 => self.module_declaration_opt2_1(), + 775 => self.module_declaration_opt1_0(&children[0]), + 776 => self.module_declaration_opt1_1(), + 777 => self.module_declaration_opt0_0(&children[0]), + 778 => self.module_declaration_opt0_1(), + 779 => self.module_declaration_opt_0(&children[0]), + 780 => self.module_declaration_opt_1(), + 781 => self.module_if_declaration( &children[0], &children[1], &children[2], &children[3], &children[4], ), - 780 => self.module_if_declaration_list_0( + 782 => self.module_if_declaration_list_0( &children[0], &children[1], &children[2], &children[3], &children[4], ), - 781 => self.module_if_declaration_list_1(), - 782 => self.module_if_declaration_opt_0(&children[0], &children[1]), - 783 => self.module_if_declaration_opt_1(), - 784 => self.module_for_declaration( + 783 => self.module_if_declaration_list_1(), + 784 => self.module_if_declaration_opt_0(&children[0], &children[1]), + 785 => self.module_if_declaration_opt_1(), + 786 => self.module_for_declaration( &children[0], &children[1], &children[2], @@ -34176,52 +34253,52 @@ impl<'t> UserActionsTrait<'t> for VerylGrammarAuto<'t, '_> { &children[4], &children[5], ), - 785 => self.module_for_declaration_opt_0(&children[0], &children[1], &children[2]), - 786 => self.module_for_declaration_opt_1(), - 787 => self.module_named_block( + 787 => self.module_for_declaration_opt_0(&children[0], &children[1], &children[2]), + 788 => self.module_for_declaration_opt_1(), + 789 => self.module_named_block( &children[0], &children[1], &children[2], &children[3], &children[4], ), - 788 => self.module_named_block_list_0(&children[0], &children[1]), - 789 => self.module_named_block_list_1(), - 790 => self.module_optional_named_block( + 790 => self.module_named_block_list_0(&children[0], &children[1]), + 791 => self.module_named_block_list_1(), + 792 => self.module_optional_named_block( &children[0], &children[1], &children[2], &children[3], ), - 791 => self.module_optional_named_block_list_0(&children[0], &children[1]), - 792 => self.module_optional_named_block_list_1(), - 793 => self.module_optional_named_block_opt_0(&children[0], &children[1]), - 794 => self.module_optional_named_block_opt_1(), - 795 => self.module_group(&children[0], &children[1]), - 796 => self.module_group_group_0(&children[0], &children[1], &children[2]), - 797 => self.module_group_group_list_0(&children[0], &children[1]), - 798 => self.module_group_group_list_1(), - 799 => self.module_group_group_1(&children[0]), - 800 => self.module_group_list_0(&children[0], &children[1]), - 801 => self.module_group_list_1(), - 802 => self.module_item_0(&children[0]), - 803 => self.module_item_1(&children[0]), - 804 => self.module_item_2(&children[0]), - 805 => self.module_item_3(&children[0]), - 806 => self.module_item_4(&children[0]), - 807 => self.module_item_5(&children[0]), - 808 => self.module_item_6(&children[0]), - 809 => self.module_item_7(&children[0]), - 810 => self.module_item_8(&children[0]), - 811 => self.module_item_9(&children[0]), - 812 => self.module_item_10(&children[0]), - 813 => self.module_item_11(&children[0]), - 814 => self.module_item_12(&children[0]), - 815 => self.module_item_13(&children[0]), - 816 => self.module_item_14(&children[0]), - 817 => self.module_item_15(&children[0]), - 818 => self.module_item_16(&children[0]), - 819 => self.interface_declaration( + 793 => self.module_optional_named_block_list_0(&children[0], &children[1]), + 794 => self.module_optional_named_block_list_1(), + 795 => self.module_optional_named_block_opt_0(&children[0], &children[1]), + 796 => self.module_optional_named_block_opt_1(), + 797 => self.module_group(&children[0], &children[1]), + 798 => self.module_group_group_0(&children[0], &children[1], &children[2]), + 799 => self.module_group_group_list_0(&children[0], &children[1]), + 800 => self.module_group_group_list_1(), + 801 => self.module_group_group_1(&children[0]), + 802 => self.module_group_list_0(&children[0], &children[1]), + 803 => self.module_group_list_1(), + 804 => self.module_item_0(&children[0]), + 805 => self.module_item_1(&children[0]), + 806 => self.module_item_2(&children[0]), + 807 => self.module_item_3(&children[0]), + 808 => self.module_item_4(&children[0]), + 809 => self.module_item_5(&children[0]), + 810 => self.module_item_6(&children[0]), + 811 => self.module_item_7(&children[0]), + 812 => self.module_item_8(&children[0]), + 813 => self.module_item_9(&children[0]), + 814 => self.module_item_10(&children[0]), + 815 => self.module_item_11(&children[0]), + 816 => self.module_item_12(&children[0]), + 817 => self.module_item_13(&children[0]), + 818 => self.module_item_14(&children[0]), + 819 => self.module_item_15(&children[0]), + 820 => self.module_item_16(&children[0]), + 821 => self.interface_declaration( &children[0], &children[1], &children[2], @@ -34231,32 +34308,32 @@ impl<'t> UserActionsTrait<'t> for VerylGrammarAuto<'t, '_> { &children[6], &children[7], ), - 820 => self.interface_declaration_list_0(&children[0], &children[1]), - 821 => self.interface_declaration_list_1(), - 822 => self.interface_declaration_opt1_0(&children[0]), - 823 => self.interface_declaration_opt1_1(), - 824 => self.interface_declaration_opt0_0(&children[0]), - 825 => self.interface_declaration_opt0_1(), - 826 => self.interface_declaration_opt_0(&children[0]), - 827 => self.interface_declaration_opt_1(), - 828 => self.interface_if_declaration( + 822 => self.interface_declaration_list_0(&children[0], &children[1]), + 823 => self.interface_declaration_list_1(), + 824 => self.interface_declaration_opt1_0(&children[0]), + 825 => self.interface_declaration_opt1_1(), + 826 => self.interface_declaration_opt0_0(&children[0]), + 827 => self.interface_declaration_opt0_1(), + 828 => self.interface_declaration_opt_0(&children[0]), + 829 => self.interface_declaration_opt_1(), + 830 => self.interface_if_declaration( &children[0], &children[1], &children[2], &children[3], &children[4], ), - 829 => self.interface_if_declaration_list_0( + 831 => self.interface_if_declaration_list_0( &children[0], &children[1], &children[2], &children[3], &children[4], ), - 830 => self.interface_if_declaration_list_1(), - 831 => self.interface_if_declaration_opt_0(&children[0], &children[1]), - 832 => self.interface_if_declaration_opt_1(), - 833 => self.interface_for_declaration( + 832 => self.interface_if_declaration_list_1(), + 833 => self.interface_if_declaration_opt_0(&children[0], &children[1]), + 834 => self.interface_if_declaration_opt_1(), + 835 => self.interface_for_declaration( &children[0], &children[1], &children[2], @@ -34264,49 +34341,49 @@ impl<'t> UserActionsTrait<'t> for VerylGrammarAuto<'t, '_> { &children[4], &children[5], ), - 834 => self.interface_for_declaration_opt_0(&children[0], &children[1], &children[2]), - 835 => self.interface_for_declaration_opt_1(), - 836 => self.interface_named_block( + 836 => self.interface_for_declaration_opt_0(&children[0], &children[1], &children[2]), + 837 => self.interface_for_declaration_opt_1(), + 838 => self.interface_named_block( &children[0], &children[1], &children[2], &children[3], &children[4], ), - 837 => self.interface_named_block_list_0(&children[0], &children[1]), - 838 => self.interface_named_block_list_1(), - 839 => self.interface_optional_named_block( + 839 => self.interface_named_block_list_0(&children[0], &children[1]), + 840 => self.interface_named_block_list_1(), + 841 => self.interface_optional_named_block( &children[0], &children[1], &children[2], &children[3], ), - 840 => self.interface_optional_named_block_list_0(&children[0], &children[1]), - 841 => self.interface_optional_named_block_list_1(), - 842 => self.interface_optional_named_block_opt_0(&children[0], &children[1]), - 843 => self.interface_optional_named_block_opt_1(), - 844 => self.interface_group(&children[0], &children[1]), - 845 => self.interface_group_group_0(&children[0], &children[1], &children[2]), - 846 => self.interface_group_group_list_0(&children[0], &children[1]), - 847 => self.interface_group_group_list_1(), - 848 => self.interface_group_group_1(&children[0]), - 849 => self.interface_group_list_0(&children[0], &children[1]), - 850 => self.interface_group_list_1(), - 851 => self.interface_item_0(&children[0]), - 852 => self.interface_item_1(&children[0]), - 853 => self.interface_item_2(&children[0]), - 854 => self.interface_item_3(&children[0]), - 855 => self.interface_item_4(&children[0]), - 856 => self.interface_item_5(&children[0]), - 857 => self.interface_item_6(&children[0]), - 858 => self.interface_item_7(&children[0]), - 859 => self.interface_item_8(&children[0]), - 860 => self.interface_item_9(&children[0]), - 861 => self.interface_item_10(&children[0]), - 862 => self.interface_item_11(&children[0]), - 863 => self.interface_item_12(&children[0]), - 864 => self.interface_item_13(&children[0]), - 865 => self.package_declaration( + 842 => self.interface_optional_named_block_list_0(&children[0], &children[1]), + 843 => self.interface_optional_named_block_list_1(), + 844 => self.interface_optional_named_block_opt_0(&children[0], &children[1]), + 845 => self.interface_optional_named_block_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.interface_item_2(&children[0]), + 856 => self.interface_item_3(&children[0]), + 857 => self.interface_item_4(&children[0]), + 858 => self.interface_item_5(&children[0]), + 859 => self.interface_item_6(&children[0]), + 860 => self.interface_item_7(&children[0]), + 861 => self.interface_item_8(&children[0]), + 862 => self.interface_item_9(&children[0]), + 863 => self.interface_item_10(&children[0]), + 864 => self.interface_item_11(&children[0]), + 865 => self.interface_item_12(&children[0]), + 866 => self.interface_item_13(&children[0]), + 867 => self.package_declaration( &children[0], &children[1], &children[2], @@ -34315,30 +34392,30 @@ impl<'t> UserActionsTrait<'t> for VerylGrammarAuto<'t, '_> { &children[5], &children[6], ), - 866 => self.package_declaration_list_0(&children[0], &children[1]), - 867 => self.package_declaration_list_1(), - 868 => self.package_declaration_opt0_0(&children[0]), - 869 => self.package_declaration_opt0_1(), - 870 => self.package_declaration_opt_0(&children[0]), - 871 => self.package_declaration_opt_1(), - 872 => self.package_group(&children[0], &children[1]), - 873 => self.package_group_group_0(&children[0], &children[1], &children[2]), - 874 => self.package_group_group_list_0(&children[0], &children[1]), - 875 => self.package_group_group_list_1(), - 876 => self.package_group_group_1(&children[0]), - 877 => self.package_group_list_0(&children[0], &children[1]), - 878 => self.package_group_list_1(), - 879 => self.package_item_0(&children[0]), - 880 => self.package_item_1(&children[0]), - 881 => self.package_item_2(&children[0]), - 882 => self.package_item_3(&children[0]), - 883 => self.package_item_4(&children[0]), - 884 => self.package_item_5(&children[0]), - 885 => self.package_item_6(&children[0]), - 886 => self.package_item_7(&children[0]), - 887 => self.package_item_8(&children[0]), - 888 => self.package_item_9(&children[0]), - 889 => self.embed_declaration( + 868 => self.package_declaration_list_0(&children[0], &children[1]), + 869 => self.package_declaration_list_1(), + 870 => self.package_declaration_opt0_0(&children[0]), + 871 => self.package_declaration_opt0_1(), + 872 => self.package_declaration_opt_0(&children[0]), + 873 => self.package_declaration_opt_1(), + 874 => self.package_group(&children[0], &children[1]), + 875 => self.package_group_group_0(&children[0], &children[1], &children[2]), + 876 => self.package_group_group_list_0(&children[0], &children[1]), + 877 => self.package_group_group_list_1(), + 878 => self.package_group_group_1(&children[0]), + 879 => self.package_group_list_0(&children[0], &children[1]), + 880 => self.package_group_list_1(), + 881 => self.package_item_0(&children[0]), + 882 => self.package_item_1(&children[0]), + 883 => self.package_item_2(&children[0]), + 884 => self.package_item_3(&children[0]), + 885 => self.package_item_4(&children[0]), + 886 => self.package_item_5(&children[0]), + 887 => self.package_item_6(&children[0]), + 888 => self.package_item_7(&children[0]), + 889 => self.package_item_8(&children[0]), + 890 => self.package_item_9(&children[0]), + 891 => self.embed_declaration( &children[0], &children[1], &children[2], @@ -34346,8 +34423,8 @@ impl<'t> UserActionsTrait<'t> for VerylGrammarAuto<'t, '_> { &children[4], &children[5], ), - 890 => self.embed_content(&children[0]), - 891 => self.embed_content_token( + 892 => self.embed_content(&children[0]), + 893 => self.embed_content_token( &children[0], &children[1], &children[2], @@ -34357,13 +34434,13 @@ impl<'t> UserActionsTrait<'t> for VerylGrammarAuto<'t, '_> { &children[6], &children[7], ), - 892 => self.embed_content_token_list_0(&children[0], &children[1]), - 893 => self.embed_content_token_list_1(), - 894 => self.embed_item_0(&children[0], &children[1], &children[2]), - 895 => self.embed_item_list_0(&children[0], &children[1]), - 896 => self.embed_item_list_1(), - 897 => self.embed_item_1(&children[0]), - 898 => self.include_declaration( + 894 => self.embed_content_token_list_0(&children[0], &children[1]), + 895 => self.embed_content_token_list_1(), + 896 => self.embed_item_0(&children[0], &children[1], &children[2]), + 897 => self.embed_item_list_0(&children[0], &children[1]), + 898 => self.embed_item_list_1(), + 899 => self.embed_item_1(&children[0]), + 900 => self.include_declaration( &children[0], &children[1], &children[2], @@ -34372,22 +34449,22 @@ impl<'t> UserActionsTrait<'t> for VerylGrammarAuto<'t, '_> { &children[5], &children[6], ), - 899 => self.description_group(&children[0], &children[1]), - 900 => self.description_group_group_0(&children[0], &children[1], &children[2]), - 901 => self.description_group_group_list_0(&children[0], &children[1]), - 902 => self.description_group_group_list_1(), - 903 => self.description_group_group_1(&children[0]), - 904 => self.description_group_list_0(&children[0], &children[1]), - 905 => self.description_group_list_1(), - 906 => self.description_item_0(&children[0]), - 907 => self.description_item_1(&children[0]), - 908 => self.description_item_2(&children[0]), - 909 => self.description_item_3(&children[0]), - 910 => self.description_item_4(&children[0]), - 911 => self.description_item_5(&children[0]), - 912 => self.veryl(&children[0], &children[1]), - 913 => self.veryl_list_0(&children[0], &children[1]), - 914 => self.veryl_list_1(), + 901 => self.description_group(&children[0], &children[1]), + 902 => self.description_group_group_0(&children[0], &children[1], &children[2]), + 903 => self.description_group_group_list_0(&children[0], &children[1]), + 904 => self.description_group_group_list_1(), + 905 => self.description_group_group_1(&children[0]), + 906 => self.description_group_list_0(&children[0], &children[1]), + 907 => self.description_group_list_1(), + 908 => self.description_item_0(&children[0]), + 909 => self.description_item_1(&children[0]), + 910 => self.description_item_2(&children[0]), + 911 => self.description_item_3(&children[0]), + 912 => self.description_item_4(&children[0]), + 913 => self.description_item_5(&children[0]), + 914 => self.veryl(&children[0], &children[1]), + 915 => self.veryl_list_0(&children[0], &children[1]), + 916 => 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 09eecebf1..12723b91e 100644 --- a/crates/parser/src/generated/veryl_parser.rs +++ b/crates/parser/src/generated/veryl_parser.rs @@ -499,7 +499,7 @@ const SCANNER_2: (&[&str; 5], &[TerminalIndex; 92]) = ( const MAX_K: usize = 3; -pub const NON_TERMINALS: &[&str; 640] = &[ +pub const NON_TERMINALS: &[&str; 641] = &[ /* 0 */ "AllBit", /* 1 */ "AllBitTerm", /* 2 */ "AllBitToken", @@ -887,262 +887,263 @@ pub const NON_TERMINALS: &[&str; 640] = &[ /* 384 */ "ModportGroupGroup", /* 385 */ "ModportGroupList", /* 386 */ "ModportItem", - /* 387 */ "ModportList", - /* 388 */ "ModportListList", - /* 389 */ "ModportListOpt", - /* 390 */ "ModportTerm", - /* 391 */ "ModportToken", - /* 392 */ "Module", - /* 393 */ "ModuleDeclaration", - /* 394 */ "ModuleDeclarationList", - /* 395 */ "ModuleDeclarationOpt", - /* 396 */ "ModuleDeclarationOpt0", - /* 397 */ "ModuleDeclarationOpt1", - /* 398 */ "ModuleDeclarationOpt2", - /* 399 */ "ModuleForDeclaration", - /* 400 */ "ModuleForDeclarationOpt", - /* 401 */ "ModuleGroup", - /* 402 */ "ModuleGroupGroup", - /* 403 */ "ModuleGroupGroupList", - /* 404 */ "ModuleGroupList", - /* 405 */ "ModuleIfDeclaration", - /* 406 */ "ModuleIfDeclarationList", - /* 407 */ "ModuleIfDeclarationOpt", - /* 408 */ "ModuleItem", - /* 409 */ "ModuleNamedBlock", - /* 410 */ "ModuleNamedBlockList", - /* 411 */ "ModuleOptionalNamedBlock", - /* 412 */ "ModuleOptionalNamedBlockList", - /* 413 */ "ModuleOptionalNamedBlockOpt", - /* 414 */ "ModuleTerm", - /* 415 */ "ModuleToken", - /* 416 */ "Msb", - /* 417 */ "MsbTerm", - /* 418 */ "MsbToken", - /* 419 */ "Number", - /* 420 */ "Operator01", - /* 421 */ "Operator01Term", - /* 422 */ "Operator01Token", - /* 423 */ "Operator02", - /* 424 */ "Operator02Term", - /* 425 */ "Operator02Token", - /* 426 */ "Operator03", - /* 427 */ "Operator03Term", - /* 428 */ "Operator03Token", - /* 429 */ "Operator04", - /* 430 */ "Operator04Term", - /* 431 */ "Operator04Token", - /* 432 */ "Operator05", - /* 433 */ "Operator05Term", - /* 434 */ "Operator05Token", - /* 435 */ "Operator06", - /* 436 */ "Operator06Term", - /* 437 */ "Operator06Token", - /* 438 */ "Operator07", - /* 439 */ "Operator07Term", - /* 440 */ "Operator07Token", - /* 441 */ "Operator08", - /* 442 */ "Operator08Term", - /* 443 */ "Operator08Token", - /* 444 */ "Operator09", - /* 445 */ "Operator09Term", - /* 446 */ "Operator09Token", - /* 447 */ "Operator10", - /* 448 */ "Operator10Term", - /* 449 */ "Operator10Token", - /* 450 */ "Operator11", - /* 451 */ "Operator11Term", - /* 452 */ "Operator11Token", - /* 453 */ "Output", - /* 454 */ "OutputTerm", - /* 455 */ "OutputToken", - /* 456 */ "Outside", - /* 457 */ "OutsideExpression", - /* 458 */ "OutsideTerm", - /* 459 */ "OutsideToken", - /* 460 */ "Package", - /* 461 */ "PackageDeclaration", - /* 462 */ "PackageDeclarationList", - /* 463 */ "PackageDeclarationOpt", - /* 464 */ "PackageDeclarationOpt0", - /* 465 */ "PackageGroup", - /* 466 */ "PackageGroupGroup", - /* 467 */ "PackageGroupGroupList", - /* 468 */ "PackageGroupList", - /* 469 */ "PackageItem", - /* 470 */ "PackageTerm", - /* 471 */ "PackageToken", - /* 472 */ "Param", - /* 473 */ "ParamTerm", - /* 474 */ "ParamToken", - /* 475 */ "PlusColon", - /* 476 */ "PlusColonTerm", - /* 477 */ "PlusColonToken", - /* 478 */ "PortDeclaration", - /* 479 */ "PortDeclarationGroup", - /* 480 */ "PortDeclarationGroupGroup", - /* 481 */ "PortDeclarationGroupList", - /* 482 */ "PortDeclarationItem", - /* 483 */ "PortDeclarationItemGroup", - /* 484 */ "PortDeclarationItemOpt", - /* 485 */ "PortDeclarationList", - /* 486 */ "PortDeclarationListList", - /* 487 */ "PortDeclarationListOpt", - /* 488 */ "PortDeclarationOpt", - /* 489 */ "Pub", - /* 490 */ "PubTerm", - /* 491 */ "PubToken", - /* 492 */ "QuoteLBrace", - /* 493 */ "QuoteLBraceTerm", - /* 494 */ "QuoteLBraceToken", - /* 495 */ "RAngle", - /* 496 */ "RAngleTerm", - /* 497 */ "RAngleToken", - /* 498 */ "RBrace", - /* 499 */ "RBraceTerm", - /* 500 */ "RBraceToken", - /* 501 */ "RBracket", - /* 502 */ "RBracketTerm", - /* 503 */ "RBracketToken", - /* 504 */ "RParen", - /* 505 */ "RParenTerm", - /* 506 */ "RParenToken", - /* 507 */ "Range", - /* 508 */ "RangeItem", - /* 509 */ "RangeList", - /* 510 */ "RangeListList", - /* 511 */ "RangeListOpt", - /* 512 */ "RangeOperator", - /* 513 */ "RangeOpt", - /* 514 */ "RealNumber", - /* 515 */ "Ref", - /* 516 */ "RefTerm", - /* 517 */ "RefToken", - /* 518 */ "Repeat", - /* 519 */ "RepeatTerm", - /* 520 */ "RepeatToken", - /* 521 */ "Reset", - /* 522 */ "ResetAsyncHigh", - /* 523 */ "ResetAsyncHighTerm", - /* 524 */ "ResetAsyncHighToken", - /* 525 */ "ResetAsyncLow", - /* 526 */ "ResetAsyncLowTerm", - /* 527 */ "ResetAsyncLowToken", - /* 528 */ "ResetSyncHigh", - /* 529 */ "ResetSyncHighTerm", - /* 530 */ "ResetSyncHighToken", - /* 531 */ "ResetSyncLow", - /* 532 */ "ResetSyncLowTerm", - /* 533 */ "ResetSyncLowToken", - /* 534 */ "ResetTerm", - /* 535 */ "ResetToken", - /* 536 */ "Return", - /* 537 */ "ReturnStatement", - /* 538 */ "ReturnTerm", - /* 539 */ "ReturnToken", - /* 540 */ "ScalarType", - /* 541 */ "ScalarTypeGroup", - /* 542 */ "ScalarTypeList", - /* 543 */ "ScopedIdentifier", - /* 544 */ "ScopedIdentifierGroup", - /* 545 */ "ScopedIdentifierList", - /* 546 */ "ScopedIdentifierOpt", - /* 547 */ "ScopedIdentifierOpt0", - /* 548 */ "Select", - /* 549 */ "SelectOperator", - /* 550 */ "SelectOpt", - /* 551 */ "Semicolon", - /* 552 */ "SemicolonTerm", - /* 553 */ "SemicolonToken", - /* 554 */ "Signed", - /* 555 */ "SignedTerm", - /* 556 */ "SignedToken", - /* 557 */ "Star", - /* 558 */ "StarTerm", - /* 559 */ "StarToken", - /* 560 */ "Start", - /* 561 */ "StartToken", - /* 562 */ "Statement", - /* 563 */ "Step", - /* 564 */ "StepTerm", - /* 565 */ "StepToken", - /* 566 */ "Strin", - /* 567 */ "StringLiteral", - /* 568 */ "StringLiteralTerm", - /* 569 */ "StringLiteralToken", - /* 570 */ "StringTerm", - /* 571 */ "StringToken", - /* 572 */ "Struct", - /* 573 */ "StructTerm", - /* 574 */ "StructToken", - /* 575 */ "StructUnion", - /* 576 */ "StructUnionDeclaration", - /* 577 */ "StructUnionDeclarationOpt", - /* 578 */ "StructUnionGroup", - /* 579 */ "StructUnionGroupGroup", - /* 580 */ "StructUnionGroupList", - /* 581 */ "StructUnionItem", - /* 582 */ "StructUnionList", - /* 583 */ "StructUnionListList", - /* 584 */ "StructUnionListOpt", - /* 585 */ "Tri", - /* 586 */ "TriTerm", - /* 587 */ "TriToken", - /* 588 */ "Type", - /* 589 */ "TypeDefDeclaration", - /* 590 */ "TypeExpression", - /* 591 */ "TypeModifier", - /* 592 */ "TypeTerm", - /* 593 */ "TypeToken", - /* 594 */ "U32", - /* 595 */ "U32Term", - /* 596 */ "U32Token", - /* 597 */ "U64", - /* 598 */ "U64Term", - /* 599 */ "U64Token", - /* 600 */ "UnaryOperator", - /* 601 */ "UnaryOperatorTerm", - /* 602 */ "UnaryOperatorToken", - /* 603 */ "Union", - /* 604 */ "UnionTerm", - /* 605 */ "UnionToken", - /* 606 */ "Var", - /* 607 */ "VarDeclaration", - /* 608 */ "VarTerm", - /* 609 */ "VarToken", - /* 610 */ "VariableType", - /* 611 */ "VariableTypeGroup", - /* 612 */ "VariableTypeOpt", - /* 613 */ "Veryl", - /* 614 */ "VerylList", - /* 615 */ "Width", - /* 616 */ "WidthList", - /* 617 */ "WithGenericArgument", - /* 618 */ "WithGenericArgumentItem", - /* 619 */ "WithGenericArgumentList", - /* 620 */ "WithGenericArgumentListList", - /* 621 */ "WithGenericArgumentListOpt", - /* 622 */ "WithGenericArgumentOpt", - /* 623 */ "WithGenericParameter", - /* 624 */ "WithGenericParameterItem", - /* 625 */ "WithGenericParameterItemOpt", - /* 626 */ "WithGenericParameterList", - /* 627 */ "WithGenericParameterListList", - /* 628 */ "WithGenericParameterListOpt", - /* 629 */ "WithParameter", - /* 630 */ "WithParameterGroup", - /* 631 */ "WithParameterGroupGroup", - /* 632 */ "WithParameterGroupList", - /* 633 */ "WithParameterItem", - /* 634 */ "WithParameterItemGroup", - /* 635 */ "WithParameterItemGroup0", - /* 636 */ "WithParameterList", - /* 637 */ "WithParameterListList", - /* 638 */ "WithParameterListOpt", - /* 639 */ "WithParameterOpt", + /* 387 */ "ModportItemGroup", + /* 388 */ "ModportList", + /* 389 */ "ModportListList", + /* 390 */ "ModportListOpt", + /* 391 */ "ModportTerm", + /* 392 */ "ModportToken", + /* 393 */ "Module", + /* 394 */ "ModuleDeclaration", + /* 395 */ "ModuleDeclarationList", + /* 396 */ "ModuleDeclarationOpt", + /* 397 */ "ModuleDeclarationOpt0", + /* 398 */ "ModuleDeclarationOpt1", + /* 399 */ "ModuleDeclarationOpt2", + /* 400 */ "ModuleForDeclaration", + /* 401 */ "ModuleForDeclarationOpt", + /* 402 */ "ModuleGroup", + /* 403 */ "ModuleGroupGroup", + /* 404 */ "ModuleGroupGroupList", + /* 405 */ "ModuleGroupList", + /* 406 */ "ModuleIfDeclaration", + /* 407 */ "ModuleIfDeclarationList", + /* 408 */ "ModuleIfDeclarationOpt", + /* 409 */ "ModuleItem", + /* 410 */ "ModuleNamedBlock", + /* 411 */ "ModuleNamedBlockList", + /* 412 */ "ModuleOptionalNamedBlock", + /* 413 */ "ModuleOptionalNamedBlockList", + /* 414 */ "ModuleOptionalNamedBlockOpt", + /* 415 */ "ModuleTerm", + /* 416 */ "ModuleToken", + /* 417 */ "Msb", + /* 418 */ "MsbTerm", + /* 419 */ "MsbToken", + /* 420 */ "Number", + /* 421 */ "Operator01", + /* 422 */ "Operator01Term", + /* 423 */ "Operator01Token", + /* 424 */ "Operator02", + /* 425 */ "Operator02Term", + /* 426 */ "Operator02Token", + /* 427 */ "Operator03", + /* 428 */ "Operator03Term", + /* 429 */ "Operator03Token", + /* 430 */ "Operator04", + /* 431 */ "Operator04Term", + /* 432 */ "Operator04Token", + /* 433 */ "Operator05", + /* 434 */ "Operator05Term", + /* 435 */ "Operator05Token", + /* 436 */ "Operator06", + /* 437 */ "Operator06Term", + /* 438 */ "Operator06Token", + /* 439 */ "Operator07", + /* 440 */ "Operator07Term", + /* 441 */ "Operator07Token", + /* 442 */ "Operator08", + /* 443 */ "Operator08Term", + /* 444 */ "Operator08Token", + /* 445 */ "Operator09", + /* 446 */ "Operator09Term", + /* 447 */ "Operator09Token", + /* 448 */ "Operator10", + /* 449 */ "Operator10Term", + /* 450 */ "Operator10Token", + /* 451 */ "Operator11", + /* 452 */ "Operator11Term", + /* 453 */ "Operator11Token", + /* 454 */ "Output", + /* 455 */ "OutputTerm", + /* 456 */ "OutputToken", + /* 457 */ "Outside", + /* 458 */ "OutsideExpression", + /* 459 */ "OutsideTerm", + /* 460 */ "OutsideToken", + /* 461 */ "Package", + /* 462 */ "PackageDeclaration", + /* 463 */ "PackageDeclarationList", + /* 464 */ "PackageDeclarationOpt", + /* 465 */ "PackageDeclarationOpt0", + /* 466 */ "PackageGroup", + /* 467 */ "PackageGroupGroup", + /* 468 */ "PackageGroupGroupList", + /* 469 */ "PackageGroupList", + /* 470 */ "PackageItem", + /* 471 */ "PackageTerm", + /* 472 */ "PackageToken", + /* 473 */ "Param", + /* 474 */ "ParamTerm", + /* 475 */ "ParamToken", + /* 476 */ "PlusColon", + /* 477 */ "PlusColonTerm", + /* 478 */ "PlusColonToken", + /* 479 */ "PortDeclaration", + /* 480 */ "PortDeclarationGroup", + /* 481 */ "PortDeclarationGroupGroup", + /* 482 */ "PortDeclarationGroupList", + /* 483 */ "PortDeclarationItem", + /* 484 */ "PortDeclarationItemGroup", + /* 485 */ "PortDeclarationItemOpt", + /* 486 */ "PortDeclarationList", + /* 487 */ "PortDeclarationListList", + /* 488 */ "PortDeclarationListOpt", + /* 489 */ "PortDeclarationOpt", + /* 490 */ "Pub", + /* 491 */ "PubTerm", + /* 492 */ "PubToken", + /* 493 */ "QuoteLBrace", + /* 494 */ "QuoteLBraceTerm", + /* 495 */ "QuoteLBraceToken", + /* 496 */ "RAngle", + /* 497 */ "RAngleTerm", + /* 498 */ "RAngleToken", + /* 499 */ "RBrace", + /* 500 */ "RBraceTerm", + /* 501 */ "RBraceToken", + /* 502 */ "RBracket", + /* 503 */ "RBracketTerm", + /* 504 */ "RBracketToken", + /* 505 */ "RParen", + /* 506 */ "RParenTerm", + /* 507 */ "RParenToken", + /* 508 */ "Range", + /* 509 */ "RangeItem", + /* 510 */ "RangeList", + /* 511 */ "RangeListList", + /* 512 */ "RangeListOpt", + /* 513 */ "RangeOperator", + /* 514 */ "RangeOpt", + /* 515 */ "RealNumber", + /* 516 */ "Ref", + /* 517 */ "RefTerm", + /* 518 */ "RefToken", + /* 519 */ "Repeat", + /* 520 */ "RepeatTerm", + /* 521 */ "RepeatToken", + /* 522 */ "Reset", + /* 523 */ "ResetAsyncHigh", + /* 524 */ "ResetAsyncHighTerm", + /* 525 */ "ResetAsyncHighToken", + /* 526 */ "ResetAsyncLow", + /* 527 */ "ResetAsyncLowTerm", + /* 528 */ "ResetAsyncLowToken", + /* 529 */ "ResetSyncHigh", + /* 530 */ "ResetSyncHighTerm", + /* 531 */ "ResetSyncHighToken", + /* 532 */ "ResetSyncLow", + /* 533 */ "ResetSyncLowTerm", + /* 534 */ "ResetSyncLowToken", + /* 535 */ "ResetTerm", + /* 536 */ "ResetToken", + /* 537 */ "Return", + /* 538 */ "ReturnStatement", + /* 539 */ "ReturnTerm", + /* 540 */ "ReturnToken", + /* 541 */ "ScalarType", + /* 542 */ "ScalarTypeGroup", + /* 543 */ "ScalarTypeList", + /* 544 */ "ScopedIdentifier", + /* 545 */ "ScopedIdentifierGroup", + /* 546 */ "ScopedIdentifierList", + /* 547 */ "ScopedIdentifierOpt", + /* 548 */ "ScopedIdentifierOpt0", + /* 549 */ "Select", + /* 550 */ "SelectOperator", + /* 551 */ "SelectOpt", + /* 552 */ "Semicolon", + /* 553 */ "SemicolonTerm", + /* 554 */ "SemicolonToken", + /* 555 */ "Signed", + /* 556 */ "SignedTerm", + /* 557 */ "SignedToken", + /* 558 */ "Star", + /* 559 */ "StarTerm", + /* 560 */ "StarToken", + /* 561 */ "Start", + /* 562 */ "StartToken", + /* 563 */ "Statement", + /* 564 */ "Step", + /* 565 */ "StepTerm", + /* 566 */ "StepToken", + /* 567 */ "Strin", + /* 568 */ "StringLiteral", + /* 569 */ "StringLiteralTerm", + /* 570 */ "StringLiteralToken", + /* 571 */ "StringTerm", + /* 572 */ "StringToken", + /* 573 */ "Struct", + /* 574 */ "StructTerm", + /* 575 */ "StructToken", + /* 576 */ "StructUnion", + /* 577 */ "StructUnionDeclaration", + /* 578 */ "StructUnionDeclarationOpt", + /* 579 */ "StructUnionGroup", + /* 580 */ "StructUnionGroupGroup", + /* 581 */ "StructUnionGroupList", + /* 582 */ "StructUnionItem", + /* 583 */ "StructUnionList", + /* 584 */ "StructUnionListList", + /* 585 */ "StructUnionListOpt", + /* 586 */ "Tri", + /* 587 */ "TriTerm", + /* 588 */ "TriToken", + /* 589 */ "Type", + /* 590 */ "TypeDefDeclaration", + /* 591 */ "TypeExpression", + /* 592 */ "TypeModifier", + /* 593 */ "TypeTerm", + /* 594 */ "TypeToken", + /* 595 */ "U32", + /* 596 */ "U32Term", + /* 597 */ "U32Token", + /* 598 */ "U64", + /* 599 */ "U64Term", + /* 600 */ "U64Token", + /* 601 */ "UnaryOperator", + /* 602 */ "UnaryOperatorTerm", + /* 603 */ "UnaryOperatorToken", + /* 604 */ "Union", + /* 605 */ "UnionTerm", + /* 606 */ "UnionToken", + /* 607 */ "Var", + /* 608 */ "VarDeclaration", + /* 609 */ "VarTerm", + /* 610 */ "VarToken", + /* 611 */ "VariableType", + /* 612 */ "VariableTypeGroup", + /* 613 */ "VariableTypeOpt", + /* 614 */ "Veryl", + /* 615 */ "VerylList", + /* 616 */ "Width", + /* 617 */ "WidthList", + /* 618 */ "WithGenericArgument", + /* 619 */ "WithGenericArgumentItem", + /* 620 */ "WithGenericArgumentList", + /* 621 */ "WithGenericArgumentListList", + /* 622 */ "WithGenericArgumentListOpt", + /* 623 */ "WithGenericArgumentOpt", + /* 624 */ "WithGenericParameter", + /* 625 */ "WithGenericParameterItem", + /* 626 */ "WithGenericParameterItemOpt", + /* 627 */ "WithGenericParameterList", + /* 628 */ "WithGenericParameterListList", + /* 629 */ "WithGenericParameterListOpt", + /* 630 */ "WithParameter", + /* 631 */ "WithParameterGroup", + /* 632 */ "WithParameterGroupGroup", + /* 633 */ "WithParameterGroupList", + /* 634 */ "WithParameterItem", + /* 635 */ "WithParameterItemGroup", + /* 636 */ "WithParameterItemGroup0", + /* 637 */ "WithParameterList", + /* 638 */ "WithParameterListList", + /* 639 */ "WithParameterListOpt", + /* 640 */ "WithParameterOpt", ]; -pub const LOOKAHEAD_AUTOMATA: &[LookaheadDFA; 640] = &[ +pub const LOOKAHEAD_AUTOMATA: &[LookaheadDFA; 641] = &[ /* 0 - "AllBit" */ LookaheadDFA { prod0: 226, @@ -3816,7 +3817,7 @@ pub const LOOKAHEAD_AUTOMATA: &[LookaheadDFA; 640] = &[ }, /* 111 - "DescriptionGroup" */ LookaheadDFA { - prod0: 899, + prod0: 901, transitions: &[], k: 0, }, @@ -3824,14 +3825,14 @@ pub const LOOKAHEAD_AUTOMATA: &[LookaheadDFA; 640] = &[ LookaheadDFA { prod0: -1, transitions: &[ - Trans(0, 39, 1, 900), - Trans(0, 59, 2, 903), - Trans(0, 71, 2, 903), - Trans(0, 72, 2, 903), - Trans(0, 78, 2, 903), - Trans(0, 85, 2, 903), - Trans(0, 89, 2, 903), - Trans(0, 91, 2, 903), + Trans(0, 39, 1, 902), + Trans(0, 59, 2, 905), + Trans(0, 71, 2, 905), + Trans(0, 72, 2, 905), + Trans(0, 78, 2, 905), + Trans(0, 85, 2, 905), + Trans(0, 89, 2, 905), + Trans(0, 91, 2, 905), ], k: 1, }, @@ -3839,16 +3840,16 @@ pub const LOOKAHEAD_AUTOMATA: &[LookaheadDFA; 640] = &[ LookaheadDFA { prod0: -1, transitions: &[ - Trans(0, 36, 1, 901), - Trans(0, 39, 1, 901), - Trans(0, 43, 2, 902), - Trans(0, 59, 1, 901), - Trans(0, 71, 1, 901), - Trans(0, 72, 1, 901), - Trans(0, 78, 1, 901), - Trans(0, 85, 1, 901), - Trans(0, 89, 1, 901), - Trans(0, 91, 1, 901), + Trans(0, 36, 1, 903), + Trans(0, 39, 1, 903), + Trans(0, 43, 2, 904), + Trans(0, 59, 1, 903), + Trans(0, 71, 1, 903), + Trans(0, 72, 1, 903), + Trans(0, 78, 1, 903), + Trans(0, 85, 1, 903), + Trans(0, 89, 1, 903), + Trans(0, 91, 1, 903), ], k: 1, }, @@ -3856,15 +3857,15 @@ pub const LOOKAHEAD_AUTOMATA: &[LookaheadDFA; 640] = &[ LookaheadDFA { prod0: -1, transitions: &[ - Trans(0, 36, 1, 904), - Trans(0, 39, 2, 905), - Trans(0, 59, 2, 905), - Trans(0, 71, 2, 905), - Trans(0, 72, 2, 905), - Trans(0, 78, 2, 905), - Trans(0, 85, 2, 905), - Trans(0, 89, 2, 905), - Trans(0, 91, 2, 905), + Trans(0, 36, 1, 906), + Trans(0, 39, 2, 907), + Trans(0, 59, 2, 907), + Trans(0, 71, 2, 907), + Trans(0, 72, 2, 907), + Trans(0, 78, 2, 907), + Trans(0, 85, 2, 907), + Trans(0, 89, 2, 907), + Trans(0, 91, 2, 907), ], k: 1, }, @@ -3883,58 +3884,58 @@ pub const LOOKAHEAD_AUTOMATA: &[LookaheadDFA; 640] = &[ Trans(1, 78, 9, -1), Trans(1, 85, 2, -1), Trans(1, 89, 14, -1), - Trans(2, 5, 3, 906), - Trans(2, 112, 3, 906), + Trans(2, 5, 3, 908), + Trans(2, 112, 3, 908), Trans(4, 5, 7, -1), Trans(4, 112, 5, -1), - Trans(5, 5, 3, 906), - Trans(5, 28, 3, 906), - Trans(5, 36, 3, 906), - Trans(5, 39, 3, 906), - Trans(5, 41, 3, 906), - Trans(6, 78, 10, 907), - Trans(6, 85, 3, 906), - Trans(6, 89, 15, 908), - Trans(7, 112, 3, 906), + Trans(5, 5, 3, 908), + Trans(5, 28, 3, 908), + Trans(5, 36, 3, 908), + Trans(5, 39, 3, 908), + Trans(5, 41, 3, 908), + Trans(6, 78, 10, 909), + Trans(6, 85, 3, 908), + Trans(6, 89, 15, 910), + Trans(7, 112, 3, 908), Trans(8, 5, 11, -1), Trans(8, 112, 12, -1), - Trans(9, 5, 10, 907), - Trans(9, 112, 10, 907), - Trans(11, 112, 10, 907), - Trans(12, 5, 10, 907), - Trans(12, 28, 10, 907), - Trans(12, 36, 10, 907), - Trans(12, 39, 10, 907), + Trans(9, 5, 10, 909), + Trans(9, 112, 10, 909), + Trans(11, 112, 10, 909), + Trans(12, 5, 10, 909), + Trans(12, 28, 10, 909), + Trans(12, 36, 10, 909), + Trans(12, 39, 10, 909), Trans(13, 5, 16, -1), Trans(13, 112, 17, -1), - Trans(14, 5, 15, 908), - Trans(14, 112, 15, 908), - Trans(16, 112, 15, 908), - Trans(17, 5, 15, 908), - Trans(17, 28, 15, 908), - Trans(17, 39, 15, 908), + Trans(14, 5, 15, 910), + Trans(14, 112, 15, 910), + Trans(16, 112, 15, 910), + Trans(17, 5, 15, 910), + Trans(17, 28, 15, 910), + Trans(17, 39, 15, 910), Trans(18, 5, 19, -1), Trans(18, 111, 20, -1), Trans(18, 112, 21, -1), - Trans(19, 111, 22, 909), - Trans(19, 112, 22, 909), - Trans(20, 5, 22, 909), - Trans(20, 29, 22, 909), - Trans(20, 46, 22, 909), - Trans(21, 5, 22, 909), - Trans(21, 28, 22, 909), - Trans(21, 29, 22, 909), - Trans(21, 46, 22, 909), + Trans(19, 111, 22, 911), + Trans(19, 112, 22, 911), + Trans(20, 5, 22, 911), + Trans(20, 29, 22, 911), + Trans(20, 46, 22, 911), + Trans(21, 5, 22, 911), + Trans(21, 28, 22, 911), + Trans(21, 29, 22, 911), + Trans(21, 46, 22, 911), Trans(23, 5, 24, -1), Trans(23, 41, 25, -1), - Trans(24, 41, 26, 910), - Trans(25, 5, 26, 910), - Trans(25, 112, 26, 910), + Trans(24, 41, 26, 912), + Trans(25, 5, 26, 912), + Trans(25, 112, 26, 912), Trans(27, 5, 28, -1), Trans(27, 41, 29, -1), - Trans(28, 41, 30, 911), - Trans(29, 5, 30, 911), - Trans(29, 112, 30, 911), + Trans(28, 41, 30, 913), + Trans(29, 5, 30, 913), + Trans(29, 112, 30, 913), ], k: 3, }, @@ -3942,11 +3943,11 @@ pub const LOOKAHEAD_AUTOMATA: &[LookaheadDFA; 640] = &[ LookaheadDFA { prod0: -1, transitions: &[ - Trans(0, 74, 3, 746), - Trans(0, 75, 1, 744), - Trans(0, 84, 5, 748), - Trans(0, 87, 2, 745), - Trans(0, 92, 4, 747), + Trans(0, 74, 3, 748), + Trans(0, 75, 1, 746), + Trans(0, 84, 5, 750), + Trans(0, 87, 2, 747), + Trans(0, 92, 4, 749), ], k: 1, }, @@ -4048,13 +4049,13 @@ pub const LOOKAHEAD_AUTOMATA: &[LookaheadDFA; 640] = &[ }, /* 133 - "EmbedContent" */ LookaheadDFA { - prod0: 890, + prod0: 892, transitions: &[], k: 0, }, /* 134 - "EmbedContentToken" */ LookaheadDFA { - prod0: 891, + prod0: 893, transitions: &[], k: 0, }, @@ -4062,31 +4063,31 @@ pub const LOOKAHEAD_AUTOMATA: &[LookaheadDFA; 640] = &[ LookaheadDFA { prod0: -1, transitions: &[ - Trans(0, 39, 1, 892), - Trans(0, 43, 2, 893), - Trans(0, 113, 1, 892), + Trans(0, 39, 1, 894), + Trans(0, 43, 2, 895), + Trans(0, 113, 1, 894), ], k: 1, }, /* 136 - "EmbedDeclaration" */ LookaheadDFA { - prod0: 889, + prod0: 891, transitions: &[], k: 0, }, /* 137 - "EmbedItem" */ LookaheadDFA { prod0: -1, - transitions: &[Trans(0, 39, 1, 894), Trans(0, 113, 2, 897)], + transitions: &[Trans(0, 39, 1, 896), Trans(0, 113, 2, 899)], k: 1, }, /* 138 - "EmbedItemList" */ LookaheadDFA { prod0: -1, transitions: &[ - Trans(0, 39, 1, 895), - Trans(0, 43, 2, 896), - Trans(0, 113, 1, 895), + Trans(0, 39, 1, 897), + Trans(0, 43, 2, 898), + Trans(0, 113, 1, 897), ], k: 1, }, @@ -4110,35 +4111,35 @@ pub const LOOKAHEAD_AUTOMATA: &[LookaheadDFA; 640] = &[ }, /* 142 - "EnumDeclaration" */ LookaheadDFA { - prod0: 615, + prod0: 617, transitions: &[], k: 0, }, /* 143 - "EnumGroup" */ LookaheadDFA { - prod0: 621, + prod0: 623, transitions: &[], k: 0, }, /* 144 - "EnumGroupGroup" */ LookaheadDFA { prod0: -1, - transitions: &[Trans(0, 39, 1, 622), Trans(0, 112, 2, 623)], + transitions: &[Trans(0, 39, 1, 624), Trans(0, 112, 2, 625)], k: 1, }, /* 145 - "EnumGroupList" */ LookaheadDFA { prod0: -1, transitions: &[ - Trans(0, 36, 1, 624), - Trans(0, 39, 2, 625), - Trans(0, 112, 2, 625), + Trans(0, 36, 1, 626), + Trans(0, 39, 2, 627), + Trans(0, 112, 2, 627), ], k: 1, }, /* 146 - "EnumItem" */ LookaheadDFA { - prod0: 626, + prod0: 628, transitions: &[], k: 0, }, @@ -4146,15 +4147,15 @@ pub const LOOKAHEAD_AUTOMATA: &[LookaheadDFA; 640] = &[ LookaheadDFA { prod0: -1, transitions: &[ - Trans(0, 31, 2, 628), - Trans(0, 35, 1, 627), - Trans(0, 43, 2, 628), + Trans(0, 31, 2, 630), + Trans(0, 35, 1, 629), + Trans(0, 43, 2, 630), ], k: 1, }, /* 148 - "EnumList" */ LookaheadDFA { - prod0: 616, + prod0: 618, transitions: &[], k: 0, }, @@ -4169,20 +4170,20 @@ pub const LOOKAHEAD_AUTOMATA: &[LookaheadDFA; 640] = &[ Trans(1, 39, 4, -1), Trans(1, 43, 20, -1), Trans(1, 112, 5, -1), - Trans(2, 5, 3, 617), - Trans(2, 40, 3, 617), - Trans(4, 5, 3, 617), - Trans(4, 36, 3, 617), - Trans(4, 39, 3, 617), - Trans(4, 112, 3, 617), - Trans(5, 5, 3, 617), - Trans(5, 31, 3, 617), - Trans(5, 35, 3, 617), - Trans(5, 43, 3, 617), - Trans(6, 36, 3, 617), - Trans(6, 39, 3, 617), - Trans(6, 43, 19, 618), - Trans(6, 112, 3, 617), + Trans(2, 5, 3, 619), + Trans(2, 40, 3, 619), + Trans(4, 5, 3, 619), + Trans(4, 36, 3, 619), + Trans(4, 39, 3, 619), + Trans(4, 112, 3, 619), + Trans(5, 5, 3, 619), + Trans(5, 31, 3, 619), + Trans(5, 35, 3, 619), + Trans(5, 43, 3, 619), + Trans(6, 36, 3, 619), + Trans(6, 39, 3, 619), + Trans(6, 43, 19, 620), + Trans(6, 112, 3, 619), Trans(7, 5, 8, -1), Trans(7, 30, 9, -1), Trans(7, 31, 10, -1), @@ -4208,163 +4209,163 @@ pub const LOOKAHEAD_AUTOMATA: &[LookaheadDFA; 640] = &[ Trans(7, 106, 9, -1), Trans(7, 109, 9, -1), Trans(7, 110, 9, -1), - Trans(8, 30, 19, 618), - Trans(8, 31, 19, 618), - Trans(8, 36, 19, 618), - Trans(8, 39, 19, 618), - Trans(8, 43, 19, 618), - Trans(8, 48, 19, 618), - Trans(8, 49, 19, 618), - Trans(8, 50, 19, 618), - Trans(8, 60, 19, 618), - Trans(8, 61, 19, 618), - Trans(8, 64, 19, 618), - Trans(8, 65, 19, 618), - Trans(8, 66, 19, 618), - Trans(8, 70, 19, 618), - Trans(8, 71, 19, 618), - Trans(8, 73, 19, 618), - Trans(8, 77, 19, 618), - Trans(8, 80, 19, 618), - Trans(8, 81, 19, 618), - Trans(8, 84, 19, 618), - Trans(8, 104, 19, 618), - Trans(8, 106, 19, 618), - Trans(8, 109, 19, 618), - Trans(8, 110, 19, 618), - Trans(9, 5, 19, 618), - Trans(9, 112, 19, 618), - Trans(10, 5, 19, 618), - Trans(10, 36, 19, 618), - Trans(10, 39, 19, 618), - Trans(10, 43, 19, 618), - Trans(10, 112, 19, 618), - Trans(11, 5, 19, 618), - Trans(11, 40, 19, 618), - Trans(12, 5, 19, 618), - Trans(12, 30, 19, 618), - Trans(12, 36, 19, 618), - Trans(12, 39, 19, 618), - Trans(12, 43, 19, 618), - Trans(12, 48, 19, 618), - Trans(12, 49, 19, 618), - Trans(12, 50, 19, 618), - Trans(12, 60, 19, 618), - Trans(12, 61, 19, 618), - Trans(12, 64, 19, 618), - Trans(12, 65, 19, 618), - Trans(12, 66, 19, 618), - Trans(12, 70, 19, 618), - Trans(12, 71, 19, 618), - Trans(12, 73, 19, 618), - Trans(12, 77, 19, 618), - Trans(12, 80, 19, 618), - Trans(12, 81, 19, 618), - Trans(12, 84, 19, 618), - Trans(12, 104, 19, 618), - Trans(12, 106, 19, 618), - Trans(12, 109, 19, 618), - Trans(12, 110, 19, 618), - Trans(13, 0, 19, 618), - Trans(13, 5, 19, 618), - Trans(13, 30, 19, 618), - Trans(13, 31, 19, 618), - Trans(13, 36, 19, 618), - Trans(13, 39, 19, 618), - Trans(13, 43, 19, 618), - Trans(13, 48, 19, 618), - Trans(13, 49, 19, 618), - Trans(13, 50, 19, 618), - Trans(13, 58, 19, 618), - Trans(13, 59, 19, 618), - Trans(13, 60, 19, 618), - Trans(13, 61, 19, 618), - Trans(13, 64, 19, 618), - Trans(13, 65, 19, 618), - Trans(13, 66, 19, 618), - Trans(13, 70, 19, 618), - Trans(13, 71, 19, 618), - Trans(13, 72, 19, 618), - Trans(13, 73, 19, 618), - Trans(13, 77, 19, 618), - Trans(13, 78, 19, 618), - Trans(13, 80, 19, 618), - Trans(13, 81, 19, 618), - Trans(13, 84, 19, 618), - Trans(13, 85, 19, 618), - Trans(13, 89, 19, 618), - Trans(13, 91, 19, 618), - Trans(13, 104, 19, 618), - Trans(13, 106, 19, 618), - Trans(13, 109, 19, 618), - Trans(13, 110, 19, 618), - Trans(14, 5, 19, 618), - Trans(14, 39, 19, 618), - Trans(15, 5, 19, 618), - Trans(15, 39, 19, 618), - Trans(15, 41, 19, 618), - Trans(16, 5, 19, 618), - Trans(16, 47, 19, 618), - Trans(16, 111, 19, 618), - Trans(16, 112, 19, 618), - Trans(17, 5, 19, 618), - Trans(17, 6, 19, 618), - Trans(17, 7, 19, 618), - Trans(17, 8, 19, 618), - Trans(17, 9, 19, 618), - Trans(17, 10, 19, 618), - Trans(17, 11, 19, 618), - Trans(17, 18, 19, 618), - Trans(17, 24, 19, 618), - Trans(17, 25, 19, 618), - Trans(17, 26, 19, 618), - Trans(17, 27, 19, 618), - Trans(17, 38, 19, 618), - Trans(17, 39, 19, 618), - Trans(17, 41, 19, 618), - Trans(17, 53, 19, 618), - Trans(17, 70, 19, 618), - Trans(17, 76, 19, 618), - Trans(17, 83, 19, 618), - Trans(17, 86, 19, 618), - Trans(17, 88, 19, 618), - Trans(17, 111, 19, 618), - Trans(17, 112, 19, 618), - Trans(18, 5, 19, 618), - Trans(18, 111, 19, 618), - Trans(18, 112, 19, 618), - Trans(20, 5, 19, 618), - Trans(20, 30, 19, 618), - Trans(20, 31, 19, 618), - Trans(20, 36, 19, 618), - Trans(20, 39, 19, 618), - Trans(20, 43, 19, 618), - Trans(20, 48, 19, 618), - Trans(20, 49, 19, 618), - Trans(20, 50, 19, 618), - Trans(20, 60, 19, 618), - Trans(20, 61, 19, 618), - Trans(20, 64, 19, 618), - Trans(20, 65, 19, 618), - Trans(20, 66, 19, 618), - Trans(20, 70, 19, 618), - Trans(20, 71, 19, 618), - Trans(20, 73, 19, 618), - Trans(20, 77, 19, 618), - Trans(20, 80, 19, 618), - Trans(20, 81, 19, 618), - Trans(20, 84, 19, 618), - Trans(20, 104, 19, 618), - Trans(20, 106, 19, 618), - Trans(20, 109, 19, 618), - Trans(20, 110, 19, 618), + Trans(8, 30, 19, 620), + Trans(8, 31, 19, 620), + Trans(8, 36, 19, 620), + Trans(8, 39, 19, 620), + Trans(8, 43, 19, 620), + Trans(8, 48, 19, 620), + Trans(8, 49, 19, 620), + Trans(8, 50, 19, 620), + Trans(8, 60, 19, 620), + Trans(8, 61, 19, 620), + Trans(8, 64, 19, 620), + Trans(8, 65, 19, 620), + Trans(8, 66, 19, 620), + Trans(8, 70, 19, 620), + Trans(8, 71, 19, 620), + Trans(8, 73, 19, 620), + Trans(8, 77, 19, 620), + Trans(8, 80, 19, 620), + Trans(8, 81, 19, 620), + Trans(8, 84, 19, 620), + Trans(8, 104, 19, 620), + Trans(8, 106, 19, 620), + Trans(8, 109, 19, 620), + Trans(8, 110, 19, 620), + Trans(9, 5, 19, 620), + Trans(9, 112, 19, 620), + Trans(10, 5, 19, 620), + Trans(10, 36, 19, 620), + Trans(10, 39, 19, 620), + Trans(10, 43, 19, 620), + Trans(10, 112, 19, 620), + Trans(11, 5, 19, 620), + Trans(11, 40, 19, 620), + Trans(12, 5, 19, 620), + Trans(12, 30, 19, 620), + Trans(12, 36, 19, 620), + Trans(12, 39, 19, 620), + Trans(12, 43, 19, 620), + Trans(12, 48, 19, 620), + Trans(12, 49, 19, 620), + Trans(12, 50, 19, 620), + Trans(12, 60, 19, 620), + Trans(12, 61, 19, 620), + Trans(12, 64, 19, 620), + Trans(12, 65, 19, 620), + Trans(12, 66, 19, 620), + Trans(12, 70, 19, 620), + Trans(12, 71, 19, 620), + Trans(12, 73, 19, 620), + Trans(12, 77, 19, 620), + Trans(12, 80, 19, 620), + Trans(12, 81, 19, 620), + Trans(12, 84, 19, 620), + Trans(12, 104, 19, 620), + Trans(12, 106, 19, 620), + Trans(12, 109, 19, 620), + Trans(12, 110, 19, 620), + Trans(13, 0, 19, 620), + Trans(13, 5, 19, 620), + Trans(13, 30, 19, 620), + Trans(13, 31, 19, 620), + Trans(13, 36, 19, 620), + Trans(13, 39, 19, 620), + Trans(13, 43, 19, 620), + Trans(13, 48, 19, 620), + Trans(13, 49, 19, 620), + Trans(13, 50, 19, 620), + Trans(13, 58, 19, 620), + Trans(13, 59, 19, 620), + Trans(13, 60, 19, 620), + Trans(13, 61, 19, 620), + Trans(13, 64, 19, 620), + Trans(13, 65, 19, 620), + Trans(13, 66, 19, 620), + Trans(13, 70, 19, 620), + Trans(13, 71, 19, 620), + Trans(13, 72, 19, 620), + Trans(13, 73, 19, 620), + Trans(13, 77, 19, 620), + Trans(13, 78, 19, 620), + Trans(13, 80, 19, 620), + Trans(13, 81, 19, 620), + Trans(13, 84, 19, 620), + Trans(13, 85, 19, 620), + Trans(13, 89, 19, 620), + Trans(13, 91, 19, 620), + Trans(13, 104, 19, 620), + Trans(13, 106, 19, 620), + Trans(13, 109, 19, 620), + Trans(13, 110, 19, 620), + Trans(14, 5, 19, 620), + Trans(14, 39, 19, 620), + Trans(15, 5, 19, 620), + Trans(15, 39, 19, 620), + Trans(15, 41, 19, 620), + Trans(16, 5, 19, 620), + Trans(16, 47, 19, 620), + Trans(16, 111, 19, 620), + Trans(16, 112, 19, 620), + Trans(17, 5, 19, 620), + Trans(17, 6, 19, 620), + Trans(17, 7, 19, 620), + Trans(17, 8, 19, 620), + Trans(17, 9, 19, 620), + Trans(17, 10, 19, 620), + Trans(17, 11, 19, 620), + Trans(17, 18, 19, 620), + Trans(17, 24, 19, 620), + Trans(17, 25, 19, 620), + Trans(17, 26, 19, 620), + Trans(17, 27, 19, 620), + Trans(17, 38, 19, 620), + Trans(17, 39, 19, 620), + Trans(17, 41, 19, 620), + Trans(17, 53, 19, 620), + Trans(17, 70, 19, 620), + Trans(17, 76, 19, 620), + Trans(17, 83, 19, 620), + Trans(17, 86, 19, 620), + Trans(17, 88, 19, 620), + Trans(17, 111, 19, 620), + Trans(17, 112, 19, 620), + Trans(18, 5, 19, 620), + Trans(18, 111, 19, 620), + Trans(18, 112, 19, 620), + Trans(20, 5, 19, 620), + Trans(20, 30, 19, 620), + Trans(20, 31, 19, 620), + Trans(20, 36, 19, 620), + Trans(20, 39, 19, 620), + Trans(20, 43, 19, 620), + Trans(20, 48, 19, 620), + Trans(20, 49, 19, 620), + Trans(20, 50, 19, 620), + Trans(20, 60, 19, 620), + Trans(20, 61, 19, 620), + Trans(20, 64, 19, 620), + Trans(20, 65, 19, 620), + Trans(20, 66, 19, 620), + Trans(20, 70, 19, 620), + Trans(20, 71, 19, 620), + Trans(20, 73, 19, 620), + Trans(20, 77, 19, 620), + Trans(20, 80, 19, 620), + Trans(20, 81, 19, 620), + Trans(20, 84, 19, 620), + Trans(20, 104, 19, 620), + Trans(20, 106, 19, 620), + Trans(20, 109, 19, 620), + Trans(20, 110, 19, 620), ], k: 3, }, /* 150 - "EnumListOpt" */ LookaheadDFA { prod0: -1, - transitions: &[Trans(0, 31, 1, 619), Trans(0, 43, 2, 620)], + transitions: &[Trans(0, 31, 1, 621), Trans(0, 43, 2, 622)], k: 1, }, /* 151 - "EnumTerm" */ @@ -4423,7 +4424,7 @@ pub const LOOKAHEAD_AUTOMATA: &[LookaheadDFA; 640] = &[ }, /* 160 - "ExportDeclaration" */ LookaheadDFA { - prod0: 763, + prod0: 765, transitions: &[], k: 0, }, @@ -4431,16 +4432,16 @@ pub const LOOKAHEAD_AUTOMATA: &[LookaheadDFA; 640] = &[ LookaheadDFA { prod0: -1, transitions: &[ - Trans(0, 47, 1, 764), - Trans(0, 111, 2, 765), - Trans(0, 112, 2, 765), + Trans(0, 47, 1, 766), + Trans(0, 111, 2, 767), + Trans(0, 112, 2, 767), ], k: 1, }, /* 162 - "ExportDeclarationOpt" */ LookaheadDFA { prod0: -1, - transitions: &[Trans(0, 29, 1, 766), Trans(0, 46, 2, 767)], + transitions: &[Trans(0, 29, 1, 768), Trans(0, 46, 2, 769)], k: 1, }, /* 163 - "ExportTerm" */ @@ -5144,7 +5145,7 @@ pub const LOOKAHEAD_AUTOMATA: &[LookaheadDFA; 640] = &[ }, /* 207 - "FinalDeclaration" */ LookaheadDFA { - prod0: 648, + prod0: 650, transitions: &[], k: 0, }, @@ -5152,16 +5153,16 @@ pub const LOOKAHEAD_AUTOMATA: &[LookaheadDFA; 640] = &[ LookaheadDFA { prod0: -1, transitions: &[ - Trans(0, 43, 2, 650), - Trans(0, 53, 1, 649), - Trans(0, 65, 1, 649), - Trans(0, 69, 1, 649), - Trans(0, 70, 1, 649), - Trans(0, 80, 1, 649), - Trans(0, 99, 1, 649), - Trans(0, 100, 1, 649), - Trans(0, 111, 1, 649), - Trans(0, 112, 1, 649), + Trans(0, 43, 2, 652), + Trans(0, 53, 1, 651), + Trans(0, 65, 1, 651), + Trans(0, 69, 1, 651), + Trans(0, 70, 1, 651), + Trans(0, 80, 1, 651), + Trans(0, 99, 1, 651), + Trans(0, 100, 1, 651), + Trans(0, 111, 1, 651), + Trans(0, 112, 1, 651), ], k: 1, }, @@ -5300,7 +5301,7 @@ pub const LOOKAHEAD_AUTOMATA: &[LookaheadDFA; 640] = &[ }, /* 224 - "FunctionDeclaration" */ LookaheadDFA { - prod0: 749, + prod0: 751, transitions: &[], k: 0, }, @@ -5308,17 +5309,17 @@ pub const LOOKAHEAD_AUTOMATA: &[LookaheadDFA; 640] = &[ LookaheadDFA { prod0: -1, transitions: &[ - Trans(0, 43, 2, 751), - Trans(0, 53, 1, 750), - Trans(0, 65, 1, 750), - Trans(0, 69, 1, 750), - Trans(0, 70, 1, 750), - Trans(0, 80, 1, 750), - Trans(0, 99, 1, 750), - Trans(0, 100, 1, 750), - Trans(0, 110, 1, 750), - Trans(0, 111, 1, 750), - Trans(0, 112, 1, 750), + Trans(0, 43, 2, 753), + Trans(0, 53, 1, 752), + Trans(0, 65, 1, 752), + Trans(0, 69, 1, 752), + Trans(0, 70, 1, 752), + Trans(0, 80, 1, 752), + Trans(0, 99, 1, 752), + Trans(0, 100, 1, 752), + Trans(0, 110, 1, 752), + Trans(0, 111, 1, 752), + Trans(0, 112, 1, 752), ], k: 1, }, @@ -5326,10 +5327,10 @@ pub const LOOKAHEAD_AUTOMATA: &[LookaheadDFA; 640] = &[ LookaheadDFA { prod0: -1, transitions: &[ - Trans(0, 13, 2, 757), - Trans(0, 28, 1, 756), - Trans(0, 39, 2, 757), - Trans(0, 41, 2, 757), + Trans(0, 13, 2, 759), + Trans(0, 28, 1, 758), + Trans(0, 39, 2, 759), + Trans(0, 41, 2, 759), ], k: 1, }, @@ -5337,32 +5338,32 @@ pub const LOOKAHEAD_AUTOMATA: &[LookaheadDFA; 640] = &[ LookaheadDFA { prod0: -1, transitions: &[ - Trans(0, 13, 2, 755), - Trans(0, 39, 2, 755), - Trans(0, 41, 1, 754), + Trans(0, 13, 2, 757), + Trans(0, 39, 2, 757), + Trans(0, 41, 1, 756), ], k: 1, }, /* 228 - "FunctionDeclarationOpt1" */ LookaheadDFA { prod0: -1, - transitions: &[Trans(0, 13, 1, 752), Trans(0, 39, 2, 753)], + transitions: &[Trans(0, 13, 1, 754), Trans(0, 39, 2, 755)], k: 1, }, /* 229 - "FunctionItem" */ LookaheadDFA { prod0: -1, transitions: &[ - Trans(0, 53, 2, 759), - Trans(0, 65, 2, 759), - Trans(0, 69, 2, 759), - Trans(0, 70, 2, 759), - Trans(0, 80, 2, 759), - Trans(0, 99, 2, 759), - Trans(0, 100, 2, 759), - Trans(0, 110, 1, 758), - Trans(0, 111, 2, 759), - Trans(0, 112, 2, 759), + Trans(0, 53, 2, 761), + Trans(0, 65, 2, 761), + Trans(0, 69, 2, 761), + Trans(0, 70, 2, 761), + Trans(0, 80, 2, 761), + Trans(0, 99, 2, 761), + Trans(0, 100, 2, 761), + Trans(0, 110, 1, 760), + Trans(0, 111, 2, 761), + Trans(0, 112, 2, 761), ], k: 1, }, @@ -7884,14 +7885,14 @@ pub const LOOKAHEAD_AUTOMATA: &[LookaheadDFA; 640] = &[ }, /* 271 - "ImportDeclaration" */ LookaheadDFA { - prod0: 760, + prod0: 762, transitions: &[], k: 0, }, /* 272 - "ImportDeclarationOpt" */ LookaheadDFA { prod0: -1, - transitions: &[Trans(0, 29, 1, 761), Trans(0, 46, 2, 762)], + transitions: &[Trans(0, 29, 1, 763), Trans(0, 46, 2, 764)], k: 1, }, /* 273 - "ImportTerm" */ @@ -7932,7 +7933,7 @@ pub const LOOKAHEAD_AUTOMATA: &[LookaheadDFA; 640] = &[ }, /* 279 - "IncludeDeclaration" */ LookaheadDFA { - prod0: 898, + prod0: 900, transitions: &[], k: 0, }, @@ -7956,7 +7957,7 @@ pub const LOOKAHEAD_AUTOMATA: &[LookaheadDFA; 640] = &[ }, /* 283 - "InitialDeclaration" */ LookaheadDFA { - prod0: 645, + prod0: 647, transitions: &[], k: 0, }, @@ -7964,16 +7965,16 @@ pub const LOOKAHEAD_AUTOMATA: &[LookaheadDFA; 640] = &[ LookaheadDFA { prod0: -1, transitions: &[ - Trans(0, 43, 2, 647), - Trans(0, 53, 1, 646), - Trans(0, 65, 1, 646), - Trans(0, 69, 1, 646), - Trans(0, 70, 1, 646), - Trans(0, 80, 1, 646), - Trans(0, 99, 1, 646), - Trans(0, 100, 1, 646), - Trans(0, 111, 1, 646), - Trans(0, 112, 1, 646), + Trans(0, 43, 2, 649), + Trans(0, 53, 1, 648), + Trans(0, 65, 1, 648), + Trans(0, 69, 1, 648), + Trans(0, 70, 1, 648), + Trans(0, 80, 1, 648), + Trans(0, 99, 1, 648), + Trans(0, 100, 1, 648), + Trans(0, 111, 1, 648), + Trans(0, 112, 1, 648), ], k: 1, }, @@ -8057,7 +8058,7 @@ pub const LOOKAHEAD_AUTOMATA: &[LookaheadDFA; 640] = &[ }, /* 298 - "InstDeclaration" */ LookaheadDFA { - prod0: 651, + prod0: 653, transitions: &[], k: 0, }, @@ -8065,10 +8066,10 @@ pub const LOOKAHEAD_AUTOMATA: &[LookaheadDFA; 640] = &[ LookaheadDFA { prod0: -1, transitions: &[ - Trans(0, 36, 2, 659), - Trans(0, 40, 1, 658), - Trans(0, 41, 2, 659), - Trans(0, 46, 2, 659), + Trans(0, 36, 2, 661), + Trans(0, 40, 1, 660), + Trans(0, 41, 2, 661), + Trans(0, 46, 2, 661), ], k: 1, }, @@ -8076,60 +8077,60 @@ pub const LOOKAHEAD_AUTOMATA: &[LookaheadDFA; 640] = &[ LookaheadDFA { prod0: -1, transitions: &[ - Trans(0, 36, 1, 656), - Trans(0, 41, 2, 657), - Trans(0, 46, 2, 657), + Trans(0, 36, 1, 658), + Trans(0, 41, 2, 659), + Trans(0, 46, 2, 659), ], k: 1, }, /* 301 - "InstDeclarationOpt1" */ LookaheadDFA { prod0: -1, - transitions: &[Trans(0, 41, 1, 652), Trans(0, 46, 2, 655)], + transitions: &[Trans(0, 41, 1, 654), Trans(0, 46, 2, 657)], k: 1, }, /* 302 - "InstDeclarationOpt2" */ LookaheadDFA { prod0: -1, transitions: &[ - Trans(0, 36, 1, 653), - Trans(0, 39, 1, 653), - Trans(0, 45, 2, 654), - Trans(0, 112, 1, 653), + Trans(0, 36, 1, 655), + Trans(0, 39, 1, 655), + Trans(0, 45, 2, 656), + Trans(0, 112, 1, 655), ], k: 1, }, /* 303 - "InstParameter" */ LookaheadDFA { - prod0: 660, + prod0: 662, transitions: &[], k: 0, }, /* 304 - "InstParameterGroup" */ LookaheadDFA { - prod0: 668, + prod0: 670, transitions: &[], k: 0, }, /* 305 - "InstParameterGroupGroup" */ LookaheadDFA { prod0: -1, - transitions: &[Trans(0, 39, 1, 669), Trans(0, 112, 2, 670)], + transitions: &[Trans(0, 39, 1, 671), Trans(0, 112, 2, 672)], k: 1, }, /* 306 - "InstParameterGroupList" */ LookaheadDFA { prod0: -1, transitions: &[ - Trans(0, 36, 1, 671), - Trans(0, 39, 2, 672), - Trans(0, 112, 2, 672), + Trans(0, 36, 1, 673), + Trans(0, 39, 2, 674), + Trans(0, 112, 2, 674), ], k: 1, }, /* 307 - "InstParameterItem" */ LookaheadDFA { - prod0: 673, + prod0: 675, transitions: &[], k: 0, }, @@ -8137,16 +8138,16 @@ pub const LOOKAHEAD_AUTOMATA: &[LookaheadDFA; 640] = &[ LookaheadDFA { prod0: -1, transitions: &[ - Trans(0, 30, 1, 674), - Trans(0, 31, 2, 675), - Trans(0, 43, 2, 675), - Trans(0, 45, 2, 675), + Trans(0, 30, 1, 676), + Trans(0, 31, 2, 677), + Trans(0, 43, 2, 677), + Trans(0, 45, 2, 677), ], k: 1, }, /* 309 - "InstParameterList" */ LookaheadDFA { - prod0: 663, + prod0: 665, transitions: &[], k: 0, }, @@ -8163,22 +8164,22 @@ pub const LOOKAHEAD_AUTOMATA: &[LookaheadDFA; 640] = &[ Trans(1, 43, 11, -1), Trans(1, 45, 12, -1), Trans(1, 112, 5, -1), - Trans(2, 5, 3, 664), - Trans(2, 40, 3, 664), - Trans(4, 5, 3, 664), - Trans(4, 36, 3, 664), - Trans(4, 39, 3, 664), - Trans(4, 112, 3, 664), - Trans(5, 5, 3, 664), - Trans(5, 30, 3, 664), - Trans(5, 31, 3, 664), - Trans(5, 43, 3, 664), - Trans(5, 45, 3, 664), - Trans(6, 36, 3, 664), - Trans(6, 39, 3, 664), - Trans(6, 43, 13, 665), - Trans(6, 45, 13, 665), - Trans(6, 112, 3, 664), + Trans(2, 5, 3, 666), + Trans(2, 40, 3, 666), + Trans(4, 5, 3, 666), + Trans(4, 36, 3, 666), + Trans(4, 39, 3, 666), + Trans(4, 112, 3, 666), + Trans(5, 5, 3, 666), + Trans(5, 30, 3, 666), + Trans(5, 31, 3, 666), + Trans(5, 43, 3, 666), + Trans(5, 45, 3, 666), + Trans(6, 36, 3, 666), + Trans(6, 39, 3, 666), + Trans(6, 43, 13, 667), + Trans(6, 45, 13, 667), + Trans(6, 112, 3, 666), Trans(7, 5, 9, -1), Trans(7, 31, 10, -1), Trans(7, 43, 11, -1), @@ -8186,51 +8187,51 @@ pub const LOOKAHEAD_AUTOMATA: &[LookaheadDFA; 640] = &[ Trans(8, 5, 14, -1), Trans(8, 41, 15, -1), Trans(8, 46, 16, -1), - Trans(9, 31, 13, 665), - Trans(9, 43, 13, 665), - Trans(9, 45, 13, 665), - Trans(10, 5, 13, 665), - Trans(10, 36, 13, 665), - Trans(10, 39, 13, 665), - Trans(10, 43, 13, 665), - Trans(10, 45, 13, 665), - Trans(10, 112, 13, 665), - Trans(11, 5, 13, 665), - Trans(11, 31, 13, 665), - Trans(11, 43, 13, 665), - Trans(11, 45, 13, 665), - Trans(12, 5, 13, 665), - Trans(12, 41, 13, 665), - Trans(12, 46, 13, 665), - Trans(14, 41, 13, 665), - Trans(14, 46, 13, 665), - Trans(15, 5, 13, 665), - Trans(15, 36, 13, 665), - Trans(15, 39, 13, 665), - Trans(15, 45, 13, 665), - Trans(15, 112, 13, 665), - Trans(16, 5, 13, 665), - Trans(16, 30, 13, 665), - Trans(16, 36, 13, 665), - Trans(16, 39, 13, 665), - Trans(16, 43, 13, 665), - Trans(16, 48, 13, 665), - Trans(16, 49, 13, 665), - Trans(16, 50, 13, 665), - Trans(16, 60, 13, 665), - Trans(16, 64, 13, 665), - Trans(16, 65, 13, 665), - Trans(16, 66, 13, 665), - Trans(16, 70, 13, 665), - Trans(16, 71, 13, 665), - Trans(16, 73, 13, 665), - Trans(16, 77, 13, 665), - Trans(16, 80, 13, 665), - Trans(16, 81, 13, 665), - Trans(16, 104, 13, 665), - Trans(16, 106, 13, 665), - Trans(16, 109, 13, 665), - Trans(16, 110, 13, 665), + Trans(9, 31, 13, 667), + Trans(9, 43, 13, 667), + Trans(9, 45, 13, 667), + Trans(10, 5, 13, 667), + Trans(10, 36, 13, 667), + Trans(10, 39, 13, 667), + Trans(10, 43, 13, 667), + Trans(10, 45, 13, 667), + Trans(10, 112, 13, 667), + Trans(11, 5, 13, 667), + Trans(11, 31, 13, 667), + Trans(11, 43, 13, 667), + Trans(11, 45, 13, 667), + Trans(12, 5, 13, 667), + Trans(12, 41, 13, 667), + Trans(12, 46, 13, 667), + Trans(14, 41, 13, 667), + Trans(14, 46, 13, 667), + Trans(15, 5, 13, 667), + Trans(15, 36, 13, 667), + Trans(15, 39, 13, 667), + Trans(15, 45, 13, 667), + Trans(15, 112, 13, 667), + Trans(16, 5, 13, 667), + Trans(16, 30, 13, 667), + Trans(16, 36, 13, 667), + Trans(16, 39, 13, 667), + Trans(16, 43, 13, 667), + Trans(16, 48, 13, 667), + Trans(16, 49, 13, 667), + Trans(16, 50, 13, 667), + Trans(16, 60, 13, 667), + Trans(16, 64, 13, 667), + Trans(16, 65, 13, 667), + Trans(16, 66, 13, 667), + Trans(16, 70, 13, 667), + Trans(16, 71, 13, 667), + Trans(16, 73, 13, 667), + Trans(16, 77, 13, 667), + Trans(16, 80, 13, 667), + Trans(16, 81, 13, 667), + Trans(16, 104, 13, 667), + Trans(16, 106, 13, 667), + Trans(16, 109, 13, 667), + Trans(16, 110, 13, 667), ], k: 3, }, @@ -8238,9 +8239,9 @@ pub const LOOKAHEAD_AUTOMATA: &[LookaheadDFA; 640] = &[ LookaheadDFA { prod0: -1, transitions: &[ - Trans(0, 31, 1, 666), - Trans(0, 43, 2, 667), - Trans(0, 45, 2, 667), + Trans(0, 31, 1, 668), + Trans(0, 43, 2, 669), + Trans(0, 45, 2, 669), ], k: 1, }, @@ -8248,38 +8249,38 @@ pub const LOOKAHEAD_AUTOMATA: &[LookaheadDFA; 640] = &[ LookaheadDFA { prod0: -1, transitions: &[ - Trans(0, 36, 1, 661), - Trans(0, 39, 1, 661), - Trans(0, 45, 2, 662), - Trans(0, 112, 1, 661), + Trans(0, 36, 1, 663), + Trans(0, 39, 1, 663), + Trans(0, 45, 2, 664), + Trans(0, 112, 1, 663), ], k: 1, }, /* 313 - "InstPortGroup" */ LookaheadDFA { - prod0: 681, + prod0: 683, transitions: &[], k: 0, }, /* 314 - "InstPortGroupGroup" */ LookaheadDFA { prod0: -1, - transitions: &[Trans(0, 39, 1, 682), Trans(0, 112, 2, 683)], + transitions: &[Trans(0, 39, 1, 684), Trans(0, 112, 2, 685)], k: 1, }, /* 315 - "InstPortGroupList" */ LookaheadDFA { prod0: -1, transitions: &[ - Trans(0, 36, 1, 684), - Trans(0, 39, 2, 685), - Trans(0, 112, 2, 685), + Trans(0, 36, 1, 686), + Trans(0, 39, 2, 687), + Trans(0, 112, 2, 687), ], k: 1, }, /* 316 - "InstPortItem" */ LookaheadDFA { - prod0: 686, + prod0: 688, transitions: &[], k: 0, }, @@ -8287,16 +8288,16 @@ pub const LOOKAHEAD_AUTOMATA: &[LookaheadDFA; 640] = &[ LookaheadDFA { prod0: -1, transitions: &[ - Trans(0, 30, 1, 687), - Trans(0, 31, 2, 688), - Trans(0, 43, 2, 688), - Trans(0, 45, 2, 688), + Trans(0, 30, 1, 689), + Trans(0, 31, 2, 690), + Trans(0, 43, 2, 690), + Trans(0, 45, 2, 690), ], k: 1, }, /* 318 - "InstPortList" */ LookaheadDFA { - prod0: 676, + prod0: 678, transitions: &[], k: 0, }, @@ -8313,66 +8314,66 @@ pub const LOOKAHEAD_AUTOMATA: &[LookaheadDFA; 640] = &[ Trans(1, 43, 11, -1), Trans(1, 45, 12, -1), Trans(1, 112, 5, -1), - Trans(2, 5, 3, 677), - Trans(2, 40, 3, 677), - Trans(4, 5, 3, 677), - Trans(4, 36, 3, 677), - Trans(4, 39, 3, 677), - Trans(4, 112, 3, 677), - Trans(5, 5, 3, 677), - Trans(5, 30, 3, 677), - Trans(5, 31, 3, 677), - Trans(5, 43, 3, 677), - Trans(5, 45, 3, 677), - Trans(6, 36, 3, 677), - Trans(6, 39, 3, 677), - Trans(6, 43, 13, 678), - Trans(6, 45, 13, 678), - Trans(6, 112, 3, 677), + Trans(2, 5, 3, 679), + Trans(2, 40, 3, 679), + Trans(4, 5, 3, 679), + Trans(4, 36, 3, 679), + Trans(4, 39, 3, 679), + Trans(4, 112, 3, 679), + Trans(5, 5, 3, 679), + Trans(5, 30, 3, 679), + Trans(5, 31, 3, 679), + Trans(5, 43, 3, 679), + Trans(5, 45, 3, 679), + Trans(6, 36, 3, 679), + Trans(6, 39, 3, 679), + Trans(6, 43, 13, 680), + Trans(6, 45, 13, 680), + Trans(6, 112, 3, 679), Trans(7, 5, 9, -1), Trans(7, 31, 10, -1), Trans(7, 43, 11, -1), Trans(7, 45, 12, -1), Trans(8, 5, 14, -1), Trans(8, 46, 15, -1), - Trans(9, 31, 13, 678), - Trans(9, 43, 13, 678), - Trans(9, 45, 13, 678), - Trans(10, 5, 13, 678), - Trans(10, 36, 13, 678), - Trans(10, 39, 13, 678), - Trans(10, 43, 13, 678), - Trans(10, 45, 13, 678), - Trans(10, 112, 13, 678), - Trans(11, 5, 13, 678), - Trans(11, 31, 13, 678), - Trans(11, 43, 13, 678), - Trans(11, 45, 13, 678), - Trans(12, 5, 13, 678), - Trans(12, 46, 13, 678), - Trans(14, 46, 13, 678), - Trans(15, 5, 13, 678), - Trans(15, 30, 13, 678), - Trans(15, 36, 13, 678), - Trans(15, 39, 13, 678), - Trans(15, 43, 13, 678), - Trans(15, 48, 13, 678), - Trans(15, 49, 13, 678), - Trans(15, 50, 13, 678), - Trans(15, 60, 13, 678), - Trans(15, 64, 13, 678), - Trans(15, 65, 13, 678), - Trans(15, 66, 13, 678), - Trans(15, 70, 13, 678), - Trans(15, 71, 13, 678), - Trans(15, 73, 13, 678), - Trans(15, 77, 13, 678), - Trans(15, 80, 13, 678), - Trans(15, 81, 13, 678), - Trans(15, 104, 13, 678), - Trans(15, 106, 13, 678), - Trans(15, 109, 13, 678), - Trans(15, 110, 13, 678), + Trans(9, 31, 13, 680), + Trans(9, 43, 13, 680), + Trans(9, 45, 13, 680), + Trans(10, 5, 13, 680), + Trans(10, 36, 13, 680), + Trans(10, 39, 13, 680), + Trans(10, 43, 13, 680), + Trans(10, 45, 13, 680), + Trans(10, 112, 13, 680), + Trans(11, 5, 13, 680), + Trans(11, 31, 13, 680), + Trans(11, 43, 13, 680), + Trans(11, 45, 13, 680), + Trans(12, 5, 13, 680), + Trans(12, 46, 13, 680), + Trans(14, 46, 13, 680), + Trans(15, 5, 13, 680), + Trans(15, 30, 13, 680), + Trans(15, 36, 13, 680), + Trans(15, 39, 13, 680), + Trans(15, 43, 13, 680), + Trans(15, 48, 13, 680), + Trans(15, 49, 13, 680), + Trans(15, 50, 13, 680), + Trans(15, 60, 13, 680), + Trans(15, 64, 13, 680), + Trans(15, 65, 13, 680), + Trans(15, 66, 13, 680), + Trans(15, 70, 13, 680), + Trans(15, 71, 13, 680), + Trans(15, 73, 13, 680), + Trans(15, 77, 13, 680), + Trans(15, 80, 13, 680), + Trans(15, 81, 13, 680), + Trans(15, 104, 13, 680), + Trans(15, 106, 13, 680), + Trans(15, 109, 13, 680), + Trans(15, 110, 13, 680), ], k: 3, }, @@ -8380,9 +8381,9 @@ pub const LOOKAHEAD_AUTOMATA: &[LookaheadDFA; 640] = &[ LookaheadDFA { prod0: -1, transitions: &[ - Trans(0, 31, 1, 679), - Trans(0, 43, 2, 680), - Trans(0, 45, 2, 680), + Trans(0, 31, 1, 681), + Trans(0, 43, 2, 682), + Trans(0, 45, 2, 682), ], k: 1, }, @@ -8416,7 +8417,7 @@ pub const LOOKAHEAD_AUTOMATA: &[LookaheadDFA; 640] = &[ }, /* 325 - "InterfaceDeclaration" */ LookaheadDFA { - prod0: 819, + prod0: 821, transitions: &[], k: 0, }, @@ -8424,122 +8425,73 @@ pub const LOOKAHEAD_AUTOMATA: &[LookaheadDFA; 640] = &[ LookaheadDFA { prod0: -1, transitions: &[ - Trans(0, 30, 1, 820), - Trans(0, 36, 1, 820), - Trans(0, 39, 1, 820), - Trans(0, 43, 2, 821), - Trans(0, 60, 1, 820), - Trans(0, 64, 1, 820), - Trans(0, 65, 1, 820), - Trans(0, 66, 1, 820), - Trans(0, 70, 1, 820), - Trans(0, 71, 1, 820), - Trans(0, 73, 1, 820), - Trans(0, 80, 1, 820), - Trans(0, 81, 1, 820), - Trans(0, 84, 1, 820), - Trans(0, 104, 1, 820), - Trans(0, 106, 1, 820), - Trans(0, 109, 1, 820), - Trans(0, 110, 1, 820), + Trans(0, 30, 1, 822), + Trans(0, 36, 1, 822), + Trans(0, 39, 1, 822), + Trans(0, 43, 2, 823), + Trans(0, 60, 1, 822), + Trans(0, 64, 1, 822), + Trans(0, 65, 1, 822), + Trans(0, 66, 1, 822), + Trans(0, 70, 1, 822), + Trans(0, 71, 1, 822), + Trans(0, 73, 1, 822), + Trans(0, 80, 1, 822), + Trans(0, 81, 1, 822), + Trans(0, 84, 1, 822), + Trans(0, 104, 1, 822), + Trans(0, 106, 1, 822), + Trans(0, 109, 1, 822), + Trans(0, 110, 1, 822), ], k: 1, }, /* 327 - "InterfaceDeclarationOpt" */ LookaheadDFA { prod0: -1, - transitions: &[Trans(0, 78, 2, 827), Trans(0, 91, 1, 826)], + transitions: &[Trans(0, 78, 2, 829), Trans(0, 91, 1, 828)], k: 1, }, /* 328 - "InterfaceDeclarationOpt0" */ LookaheadDFA { prod0: -1, transitions: &[ - Trans(0, 28, 1, 824), - Trans(0, 36, 2, 825), - Trans(0, 39, 2, 825), + Trans(0, 28, 1, 826), + Trans(0, 36, 2, 827), + Trans(0, 39, 2, 827), ], k: 1, }, /* 329 - "InterfaceDeclarationOpt1" */ LookaheadDFA { prod0: -1, - transitions: &[Trans(0, 36, 1, 822), Trans(0, 39, 2, 823)], + transitions: &[Trans(0, 36, 1, 824), Trans(0, 39, 2, 825)], k: 1, }, /* 330 - "InterfaceForDeclaration" */ LookaheadDFA { - prod0: 833, + prod0: 835, transitions: &[], k: 0, }, /* 331 - "InterfaceForDeclarationOpt" */ LookaheadDFA { prod0: -1, - transitions: &[Trans(0, 30, 2, 835), Trans(0, 102, 1, 834)], + transitions: &[Trans(0, 30, 2, 837), Trans(0, 102, 1, 836)], k: 1, }, /* 332 - "InterfaceGroup" */ LookaheadDFA { - prod0: 844, + prod0: 846, transitions: &[], k: 0, }, /* 333 - "InterfaceGroupGroup" */ - LookaheadDFA { - prod0: -1, - transitions: &[ - Trans(0, 30, 2, 848), - Trans(0, 39, 1, 845), - Trans(0, 60, 2, 848), - Trans(0, 64, 2, 848), - Trans(0, 65, 2, 848), - Trans(0, 66, 2, 848), - Trans(0, 70, 2, 848), - Trans(0, 71, 2, 848), - Trans(0, 73, 2, 848), - Trans(0, 80, 2, 848), - Trans(0, 81, 2, 848), - Trans(0, 84, 2, 848), - Trans(0, 104, 2, 848), - Trans(0, 106, 2, 848), - Trans(0, 109, 2, 848), - Trans(0, 110, 2, 848), - ], - k: 1, - }, - /* 334 - "InterfaceGroupGroupList" */ - LookaheadDFA { - prod0: -1, - transitions: &[ - Trans(0, 30, 1, 846), - Trans(0, 36, 1, 846), - Trans(0, 39, 1, 846), - Trans(0, 43, 2, 847), - Trans(0, 60, 1, 846), - Trans(0, 64, 1, 846), - Trans(0, 65, 1, 846), - Trans(0, 66, 1, 846), - Trans(0, 70, 1, 846), - Trans(0, 71, 1, 846), - Trans(0, 73, 1, 846), - Trans(0, 80, 1, 846), - Trans(0, 81, 1, 846), - Trans(0, 84, 1, 846), - Trans(0, 104, 1, 846), - Trans(0, 106, 1, 846), - Trans(0, 109, 1, 846), - Trans(0, 110, 1, 846), - ], - k: 1, - }, - /* 335 - "InterfaceGroupList" */ LookaheadDFA { prod0: -1, transitions: &[ Trans(0, 30, 2, 850), - Trans(0, 36, 1, 849), - Trans(0, 39, 2, 850), + Trans(0, 39, 1, 847), Trans(0, 60, 2, 850), Trans(0, 64, 2, 850), Trans(0, 65, 2, 850), @@ -8557,9 +8509,58 @@ pub const LOOKAHEAD_AUTOMATA: &[LookaheadDFA; 640] = &[ ], k: 1, }, + /* 334 - "InterfaceGroupGroupList" */ + LookaheadDFA { + prod0: -1, + transitions: &[ + Trans(0, 30, 1, 848), + Trans(0, 36, 1, 848), + Trans(0, 39, 1, 848), + Trans(0, 43, 2, 849), + Trans(0, 60, 1, 848), + Trans(0, 64, 1, 848), + Trans(0, 65, 1, 848), + Trans(0, 66, 1, 848), + Trans(0, 70, 1, 848), + Trans(0, 71, 1, 848), + Trans(0, 73, 1, 848), + Trans(0, 80, 1, 848), + Trans(0, 81, 1, 848), + Trans(0, 84, 1, 848), + Trans(0, 104, 1, 848), + Trans(0, 106, 1, 848), + Trans(0, 109, 1, 848), + Trans(0, 110, 1, 848), + ], + k: 1, + }, + /* 335 - "InterfaceGroupList" */ + LookaheadDFA { + prod0: -1, + transitions: &[ + Trans(0, 30, 2, 852), + Trans(0, 36, 1, 851), + Trans(0, 39, 2, 852), + Trans(0, 60, 2, 852), + Trans(0, 64, 2, 852), + Trans(0, 65, 2, 852), + Trans(0, 66, 2, 852), + Trans(0, 70, 2, 852), + Trans(0, 71, 2, 852), + Trans(0, 73, 2, 852), + Trans(0, 80, 2, 852), + Trans(0, 81, 2, 852), + Trans(0, 84, 2, 852), + Trans(0, 104, 2, 852), + Trans(0, 106, 2, 852), + Trans(0, 109, 2, 852), + Trans(0, 110, 2, 852), + ], + k: 1, + }, /* 336 - "InterfaceIfDeclaration" */ LookaheadDFA { - prod0: 828, + prod0: 830, transitions: &[], k: 0, }, @@ -8590,32 +8591,32 @@ pub const LOOKAHEAD_AUTOMATA: &[LookaheadDFA; 640] = &[ Trans(1, 30, 19, -1), Trans(1, 39, 35, -1), Trans(1, 70, 2, -1), - Trans(2, 5, 3, 829), - Trans(2, 6, 3, 829), - Trans(2, 7, 3, 829), - Trans(2, 8, 3, 829), - Trans(2, 9, 3, 829), - Trans(2, 10, 3, 829), - Trans(2, 11, 3, 829), - Trans(2, 18, 3, 829), - Trans(2, 24, 3, 829), - Trans(2, 25, 3, 829), - Trans(2, 26, 3, 829), - Trans(2, 27, 3, 829), - Trans(2, 38, 3, 829), - Trans(2, 39, 3, 829), - Trans(2, 41, 3, 829), - Trans(2, 53, 3, 829), - Trans(2, 70, 3, 829), - Trans(2, 76, 3, 829), - Trans(2, 83, 3, 829), - Trans(2, 86, 3, 829), - Trans(2, 88, 3, 829), - Trans(2, 111, 3, 829), - Trans(2, 112, 3, 829), - Trans(4, 30, 17, 830), - Trans(4, 39, 17, 830), - Trans(4, 70, 3, 829), + Trans(2, 5, 3, 831), + Trans(2, 6, 3, 831), + Trans(2, 7, 3, 831), + Trans(2, 8, 3, 831), + Trans(2, 9, 3, 831), + Trans(2, 10, 3, 831), + Trans(2, 11, 3, 831), + Trans(2, 18, 3, 831), + Trans(2, 24, 3, 831), + Trans(2, 25, 3, 831), + Trans(2, 26, 3, 831), + Trans(2, 27, 3, 831), + Trans(2, 38, 3, 831), + Trans(2, 39, 3, 831), + Trans(2, 41, 3, 831), + Trans(2, 53, 3, 831), + Trans(2, 70, 3, 831), + Trans(2, 76, 3, 831), + Trans(2, 83, 3, 831), + Trans(2, 86, 3, 831), + Trans(2, 88, 3, 831), + Trans(2, 111, 3, 831), + Trans(2, 112, 3, 831), + Trans(4, 30, 17, 832), + Trans(4, 39, 17, 832), + Trans(4, 70, 3, 831), Trans(5, 5, 42, -1), Trans(5, 112, 25, -1), Trans(6, 5, 38, -1), @@ -8639,7 +8640,7 @@ pub const LOOKAHEAD_AUTOMATA: &[LookaheadDFA; 640] = &[ Trans(7, 106, 19, -1), Trans(7, 109, 19, -1), Trans(7, 110, 19, -1), - Trans(8, 0, 17, 830), + Trans(8, 0, 17, 832), Trans(8, 5, 18, -1), Trans(8, 30, 19, -1), Trans(8, 36, 20, -1), @@ -8704,300 +8705,300 @@ pub const LOOKAHEAD_AUTOMATA: &[LookaheadDFA; 640] = &[ Trans(15, 112, 46, -1), Trans(16, 5, 42, -1), Trans(16, 112, 47, -1), - Trans(18, 0, 17, 830), - Trans(18, 30, 17, 830), - Trans(18, 36, 17, 830), - Trans(18, 39, 17, 830), - Trans(18, 43, 17, 830), - Trans(18, 58, 17, 830), - Trans(18, 59, 17, 830), - Trans(18, 60, 17, 830), - Trans(18, 64, 17, 830), - Trans(18, 65, 17, 830), - Trans(18, 66, 17, 830), - Trans(18, 70, 17, 830), - Trans(18, 71, 17, 830), - Trans(18, 72, 17, 830), - Trans(18, 73, 17, 830), - Trans(18, 78, 17, 830), - Trans(18, 80, 17, 830), - Trans(18, 81, 17, 830), - Trans(18, 84, 17, 830), - Trans(18, 85, 17, 830), - Trans(18, 89, 17, 830), - Trans(18, 91, 17, 830), - Trans(18, 104, 17, 830), - Trans(18, 106, 17, 830), - Trans(18, 109, 17, 830), - Trans(18, 110, 17, 830), - Trans(19, 5, 17, 830), - Trans(19, 112, 17, 830), - Trans(20, 5, 17, 830), - Trans(20, 40, 17, 830), - Trans(21, 5, 17, 830), - Trans(21, 30, 17, 830), - Trans(21, 36, 17, 830), - Trans(21, 39, 17, 830), - Trans(21, 43, 17, 830), - Trans(21, 59, 17, 830), - Trans(21, 60, 17, 830), - Trans(21, 64, 17, 830), - Trans(21, 65, 17, 830), - Trans(21, 66, 17, 830), - Trans(21, 70, 17, 830), - Trans(21, 71, 17, 830), - Trans(21, 72, 17, 830), - Trans(21, 73, 17, 830), - Trans(21, 78, 17, 830), - Trans(21, 80, 17, 830), - Trans(21, 81, 17, 830), - Trans(21, 84, 17, 830), - Trans(21, 85, 17, 830), - Trans(21, 89, 17, 830), - Trans(21, 91, 17, 830), - Trans(21, 104, 17, 830), - Trans(21, 106, 17, 830), - Trans(21, 109, 17, 830), - Trans(21, 110, 17, 830), - Trans(22, 0, 17, 830), - Trans(22, 5, 17, 830), - Trans(22, 30, 17, 830), - Trans(22, 36, 17, 830), - Trans(22, 39, 17, 830), - Trans(22, 43, 17, 830), - Trans(22, 58, 17, 830), - Trans(22, 59, 17, 830), - Trans(22, 60, 17, 830), - Trans(22, 64, 17, 830), - Trans(22, 65, 17, 830), - Trans(22, 66, 17, 830), - Trans(22, 70, 17, 830), - Trans(22, 71, 17, 830), - Trans(22, 72, 17, 830), - Trans(22, 73, 17, 830), - Trans(22, 78, 17, 830), - Trans(22, 80, 17, 830), - Trans(22, 81, 17, 830), - Trans(22, 84, 17, 830), - Trans(22, 85, 17, 830), - Trans(22, 89, 17, 830), - Trans(22, 91, 17, 830), - Trans(22, 104, 17, 830), - Trans(22, 106, 17, 830), - Trans(22, 109, 17, 830), - Trans(22, 110, 17, 830), - Trans(23, 5, 17, 830), - Trans(23, 30, 17, 830), - Trans(23, 39, 17, 830), - Trans(23, 70, 17, 830), - Trans(24, 5, 17, 830), - Trans(24, 41, 17, 830), - Trans(25, 5, 17, 830), - Trans(25, 39, 17, 830), - Trans(26, 5, 17, 830), - Trans(26, 6, 17, 830), - Trans(26, 7, 17, 830), - Trans(26, 8, 17, 830), - Trans(26, 9, 17, 830), - Trans(26, 10, 17, 830), - Trans(26, 11, 17, 830), - Trans(26, 18, 17, 830), - Trans(26, 24, 17, 830), - Trans(26, 25, 17, 830), - Trans(26, 26, 17, 830), - Trans(26, 27, 17, 830), - Trans(26, 38, 17, 830), - Trans(26, 39, 17, 830), - Trans(26, 41, 17, 830), - Trans(26, 53, 17, 830), - Trans(26, 70, 17, 830), - Trans(26, 76, 17, 830), - Trans(26, 83, 17, 830), - Trans(26, 86, 17, 830), - Trans(26, 88, 17, 830), - Trans(26, 111, 17, 830), - Trans(26, 112, 17, 830), - Trans(27, 5, 17, 830), - Trans(27, 111, 17, 830), - Trans(27, 112, 17, 830), - Trans(28, 5, 17, 830), - Trans(28, 78, 17, 830), - Trans(28, 85, 17, 830), - Trans(28, 89, 17, 830), - Trans(29, 6, 17, 830), - Trans(29, 7, 17, 830), - Trans(29, 8, 17, 830), - Trans(29, 9, 17, 830), - Trans(29, 10, 17, 830), - Trans(29, 11, 17, 830), - Trans(29, 18, 17, 830), - Trans(29, 24, 17, 830), - Trans(29, 25, 17, 830), - Trans(29, 26, 17, 830), - Trans(29, 27, 17, 830), - Trans(29, 38, 17, 830), - Trans(29, 39, 17, 830), - Trans(29, 41, 17, 830), - Trans(29, 53, 17, 830), - Trans(29, 70, 17, 830), - Trans(29, 76, 17, 830), - Trans(29, 83, 17, 830), - Trans(29, 86, 17, 830), - Trans(29, 88, 17, 830), - Trans(29, 111, 17, 830), - Trans(29, 112, 17, 830), - Trans(30, 5, 17, 830), - Trans(30, 16, 17, 830), - Trans(30, 17, 17, 830), - Trans(30, 18, 17, 830), - Trans(30, 19, 17, 830), - Trans(30, 20, 17, 830), - Trans(30, 21, 17, 830), - Trans(30, 22, 17, 830), - Trans(30, 23, 17, 830), - Trans(30, 24, 17, 830), - Trans(30, 25, 17, 830), - Trans(30, 26, 17, 830), - Trans(30, 30, 17, 830), - Trans(30, 47, 17, 830), - Trans(30, 51, 17, 830), - Trans(31, 5, 17, 830), - Trans(31, 6, 17, 830), - Trans(31, 7, 17, 830), - Trans(31, 8, 17, 830), - Trans(31, 9, 17, 830), - Trans(31, 10, 17, 830), - Trans(31, 11, 17, 830), - Trans(31, 18, 17, 830), - Trans(31, 24, 17, 830), - Trans(31, 25, 17, 830), - Trans(31, 26, 17, 830), - Trans(31, 27, 17, 830), - Trans(31, 38, 17, 830), - Trans(31, 39, 17, 830), - Trans(31, 41, 17, 830), - Trans(31, 53, 17, 830), - Trans(31, 57, 17, 830), - Trans(31, 70, 17, 830), - Trans(31, 76, 17, 830), - Trans(31, 83, 17, 830), - Trans(31, 86, 17, 830), - Trans(31, 88, 17, 830), - Trans(31, 111, 17, 830), - Trans(31, 112, 17, 830), - Trans(32, 5, 17, 830), - Trans(32, 16, 17, 830), - Trans(32, 17, 17, 830), - Trans(32, 18, 17, 830), - Trans(32, 19, 17, 830), - Trans(32, 20, 17, 830), - Trans(32, 21, 17, 830), - Trans(32, 22, 17, 830), - Trans(32, 23, 17, 830), - Trans(32, 24, 17, 830), - Trans(32, 25, 17, 830), - Trans(32, 26, 17, 830), - Trans(32, 29, 17, 830), - Trans(32, 30, 17, 830), - Trans(32, 34, 17, 830), - Trans(32, 40, 17, 830), - Trans(32, 41, 17, 830), - Trans(32, 47, 17, 830), - Trans(32, 51, 17, 830), - Trans(33, 5, 17, 830), - Trans(33, 16, 17, 830), - Trans(33, 17, 17, 830), - Trans(33, 18, 17, 830), - Trans(33, 19, 17, 830), - Trans(33, 20, 17, 830), - Trans(33, 21, 17, 830), - Trans(33, 22, 17, 830), - Trans(33, 23, 17, 830), - Trans(33, 24, 17, 830), - Trans(33, 25, 17, 830), - Trans(33, 26, 17, 830), - Trans(33, 28, 17, 830), - Trans(33, 29, 17, 830), - Trans(33, 30, 17, 830), - Trans(33, 34, 17, 830), - Trans(33, 40, 17, 830), - Trans(33, 41, 17, 830), - Trans(33, 47, 17, 830), - Trans(33, 51, 17, 830), - Trans(34, 30, 17, 830), - Trans(34, 36, 17, 830), - Trans(34, 39, 17, 830), - Trans(34, 43, 17, 830), - Trans(34, 60, 17, 830), - Trans(34, 64, 17, 830), - Trans(34, 65, 17, 830), - Trans(34, 66, 17, 830), - Trans(34, 70, 17, 830), - Trans(34, 71, 17, 830), - Trans(34, 73, 17, 830), - Trans(34, 80, 17, 830), - Trans(34, 81, 17, 830), - Trans(34, 84, 17, 830), - Trans(34, 104, 17, 830), - Trans(34, 106, 17, 830), - Trans(34, 109, 17, 830), - Trans(34, 110, 17, 830), - Trans(35, 5, 17, 830), - Trans(35, 30, 17, 830), - Trans(35, 36, 17, 830), - Trans(35, 39, 17, 830), - Trans(35, 43, 17, 830), - Trans(35, 60, 17, 830), - Trans(35, 64, 17, 830), - Trans(35, 65, 17, 830), - Trans(35, 66, 17, 830), - Trans(35, 70, 17, 830), - Trans(35, 71, 17, 830), - Trans(35, 73, 17, 830), - Trans(35, 80, 17, 830), - Trans(35, 81, 17, 830), - Trans(35, 84, 17, 830), - Trans(35, 104, 17, 830), - Trans(35, 106, 17, 830), - Trans(35, 109, 17, 830), - Trans(35, 110, 17, 830), - Trans(36, 39, 17, 830), - Trans(37, 5, 17, 830), - Trans(37, 43, 17, 830), - Trans(37, 53, 17, 830), - Trans(37, 65, 17, 830), - Trans(37, 69, 17, 830), - Trans(37, 70, 17, 830), - Trans(37, 80, 17, 830), - Trans(37, 99, 17, 830), - Trans(37, 100, 17, 830), - Trans(37, 111, 17, 830), - Trans(37, 112, 17, 830), - Trans(38, 40, 17, 830), - Trans(39, 111, 17, 830), - Trans(39, 112, 17, 830), - Trans(40, 5, 17, 830), - Trans(40, 29, 17, 830), - Trans(40, 46, 17, 830), - Trans(41, 5, 17, 830), - Trans(41, 28, 17, 830), - Trans(41, 29, 17, 830), - Trans(41, 46, 17, 830), - Trans(42, 112, 17, 830), - Trans(43, 5, 17, 830), - Trans(43, 30, 17, 830), - Trans(44, 5, 17, 830), - Trans(44, 79, 17, 830), - Trans(45, 5, 17, 830), - Trans(45, 13, 17, 830), - Trans(45, 28, 17, 830), - Trans(45, 39, 17, 830), - Trans(45, 41, 17, 830), - Trans(46, 5, 17, 830), - Trans(46, 28, 17, 830), - Trans(46, 39, 17, 830), - Trans(47, 5, 17, 830), - Trans(47, 35, 17, 830), + Trans(18, 0, 17, 832), + Trans(18, 30, 17, 832), + Trans(18, 36, 17, 832), + Trans(18, 39, 17, 832), + Trans(18, 43, 17, 832), + Trans(18, 58, 17, 832), + Trans(18, 59, 17, 832), + Trans(18, 60, 17, 832), + Trans(18, 64, 17, 832), + Trans(18, 65, 17, 832), + Trans(18, 66, 17, 832), + Trans(18, 70, 17, 832), + Trans(18, 71, 17, 832), + Trans(18, 72, 17, 832), + Trans(18, 73, 17, 832), + Trans(18, 78, 17, 832), + Trans(18, 80, 17, 832), + Trans(18, 81, 17, 832), + Trans(18, 84, 17, 832), + Trans(18, 85, 17, 832), + Trans(18, 89, 17, 832), + Trans(18, 91, 17, 832), + Trans(18, 104, 17, 832), + Trans(18, 106, 17, 832), + Trans(18, 109, 17, 832), + Trans(18, 110, 17, 832), + Trans(19, 5, 17, 832), + Trans(19, 112, 17, 832), + Trans(20, 5, 17, 832), + Trans(20, 40, 17, 832), + Trans(21, 5, 17, 832), + Trans(21, 30, 17, 832), + Trans(21, 36, 17, 832), + Trans(21, 39, 17, 832), + Trans(21, 43, 17, 832), + Trans(21, 59, 17, 832), + Trans(21, 60, 17, 832), + Trans(21, 64, 17, 832), + Trans(21, 65, 17, 832), + Trans(21, 66, 17, 832), + Trans(21, 70, 17, 832), + Trans(21, 71, 17, 832), + Trans(21, 72, 17, 832), + Trans(21, 73, 17, 832), + Trans(21, 78, 17, 832), + Trans(21, 80, 17, 832), + Trans(21, 81, 17, 832), + Trans(21, 84, 17, 832), + Trans(21, 85, 17, 832), + Trans(21, 89, 17, 832), + Trans(21, 91, 17, 832), + Trans(21, 104, 17, 832), + Trans(21, 106, 17, 832), + Trans(21, 109, 17, 832), + Trans(21, 110, 17, 832), + Trans(22, 0, 17, 832), + Trans(22, 5, 17, 832), + Trans(22, 30, 17, 832), + Trans(22, 36, 17, 832), + Trans(22, 39, 17, 832), + Trans(22, 43, 17, 832), + Trans(22, 58, 17, 832), + Trans(22, 59, 17, 832), + Trans(22, 60, 17, 832), + Trans(22, 64, 17, 832), + Trans(22, 65, 17, 832), + Trans(22, 66, 17, 832), + Trans(22, 70, 17, 832), + Trans(22, 71, 17, 832), + Trans(22, 72, 17, 832), + Trans(22, 73, 17, 832), + Trans(22, 78, 17, 832), + Trans(22, 80, 17, 832), + Trans(22, 81, 17, 832), + Trans(22, 84, 17, 832), + Trans(22, 85, 17, 832), + Trans(22, 89, 17, 832), + Trans(22, 91, 17, 832), + Trans(22, 104, 17, 832), + Trans(22, 106, 17, 832), + Trans(22, 109, 17, 832), + Trans(22, 110, 17, 832), + Trans(23, 5, 17, 832), + Trans(23, 30, 17, 832), + Trans(23, 39, 17, 832), + Trans(23, 70, 17, 832), + Trans(24, 5, 17, 832), + Trans(24, 41, 17, 832), + Trans(25, 5, 17, 832), + Trans(25, 39, 17, 832), + Trans(26, 5, 17, 832), + Trans(26, 6, 17, 832), + Trans(26, 7, 17, 832), + Trans(26, 8, 17, 832), + Trans(26, 9, 17, 832), + Trans(26, 10, 17, 832), + Trans(26, 11, 17, 832), + Trans(26, 18, 17, 832), + Trans(26, 24, 17, 832), + Trans(26, 25, 17, 832), + Trans(26, 26, 17, 832), + Trans(26, 27, 17, 832), + Trans(26, 38, 17, 832), + Trans(26, 39, 17, 832), + Trans(26, 41, 17, 832), + Trans(26, 53, 17, 832), + Trans(26, 70, 17, 832), + Trans(26, 76, 17, 832), + Trans(26, 83, 17, 832), + Trans(26, 86, 17, 832), + Trans(26, 88, 17, 832), + Trans(26, 111, 17, 832), + Trans(26, 112, 17, 832), + Trans(27, 5, 17, 832), + Trans(27, 111, 17, 832), + Trans(27, 112, 17, 832), + Trans(28, 5, 17, 832), + Trans(28, 78, 17, 832), + Trans(28, 85, 17, 832), + Trans(28, 89, 17, 832), + Trans(29, 6, 17, 832), + Trans(29, 7, 17, 832), + Trans(29, 8, 17, 832), + Trans(29, 9, 17, 832), + Trans(29, 10, 17, 832), + Trans(29, 11, 17, 832), + Trans(29, 18, 17, 832), + Trans(29, 24, 17, 832), + Trans(29, 25, 17, 832), + Trans(29, 26, 17, 832), + Trans(29, 27, 17, 832), + Trans(29, 38, 17, 832), + Trans(29, 39, 17, 832), + Trans(29, 41, 17, 832), + Trans(29, 53, 17, 832), + Trans(29, 70, 17, 832), + Trans(29, 76, 17, 832), + Trans(29, 83, 17, 832), + Trans(29, 86, 17, 832), + Trans(29, 88, 17, 832), + Trans(29, 111, 17, 832), + Trans(29, 112, 17, 832), + Trans(30, 5, 17, 832), + Trans(30, 16, 17, 832), + Trans(30, 17, 17, 832), + Trans(30, 18, 17, 832), + Trans(30, 19, 17, 832), + Trans(30, 20, 17, 832), + Trans(30, 21, 17, 832), + Trans(30, 22, 17, 832), + Trans(30, 23, 17, 832), + Trans(30, 24, 17, 832), + Trans(30, 25, 17, 832), + Trans(30, 26, 17, 832), + Trans(30, 30, 17, 832), + Trans(30, 47, 17, 832), + Trans(30, 51, 17, 832), + Trans(31, 5, 17, 832), + Trans(31, 6, 17, 832), + Trans(31, 7, 17, 832), + Trans(31, 8, 17, 832), + Trans(31, 9, 17, 832), + Trans(31, 10, 17, 832), + Trans(31, 11, 17, 832), + Trans(31, 18, 17, 832), + Trans(31, 24, 17, 832), + Trans(31, 25, 17, 832), + Trans(31, 26, 17, 832), + Trans(31, 27, 17, 832), + Trans(31, 38, 17, 832), + Trans(31, 39, 17, 832), + Trans(31, 41, 17, 832), + Trans(31, 53, 17, 832), + Trans(31, 57, 17, 832), + Trans(31, 70, 17, 832), + Trans(31, 76, 17, 832), + Trans(31, 83, 17, 832), + Trans(31, 86, 17, 832), + Trans(31, 88, 17, 832), + Trans(31, 111, 17, 832), + Trans(31, 112, 17, 832), + Trans(32, 5, 17, 832), + Trans(32, 16, 17, 832), + Trans(32, 17, 17, 832), + Trans(32, 18, 17, 832), + Trans(32, 19, 17, 832), + Trans(32, 20, 17, 832), + Trans(32, 21, 17, 832), + Trans(32, 22, 17, 832), + Trans(32, 23, 17, 832), + Trans(32, 24, 17, 832), + Trans(32, 25, 17, 832), + Trans(32, 26, 17, 832), + Trans(32, 29, 17, 832), + Trans(32, 30, 17, 832), + Trans(32, 34, 17, 832), + Trans(32, 40, 17, 832), + Trans(32, 41, 17, 832), + Trans(32, 47, 17, 832), + Trans(32, 51, 17, 832), + Trans(33, 5, 17, 832), + Trans(33, 16, 17, 832), + Trans(33, 17, 17, 832), + Trans(33, 18, 17, 832), + Trans(33, 19, 17, 832), + Trans(33, 20, 17, 832), + Trans(33, 21, 17, 832), + Trans(33, 22, 17, 832), + Trans(33, 23, 17, 832), + Trans(33, 24, 17, 832), + Trans(33, 25, 17, 832), + Trans(33, 26, 17, 832), + Trans(33, 28, 17, 832), + Trans(33, 29, 17, 832), + Trans(33, 30, 17, 832), + Trans(33, 34, 17, 832), + Trans(33, 40, 17, 832), + Trans(33, 41, 17, 832), + Trans(33, 47, 17, 832), + Trans(33, 51, 17, 832), + Trans(34, 30, 17, 832), + Trans(34, 36, 17, 832), + Trans(34, 39, 17, 832), + Trans(34, 43, 17, 832), + Trans(34, 60, 17, 832), + Trans(34, 64, 17, 832), + Trans(34, 65, 17, 832), + Trans(34, 66, 17, 832), + Trans(34, 70, 17, 832), + Trans(34, 71, 17, 832), + Trans(34, 73, 17, 832), + Trans(34, 80, 17, 832), + Trans(34, 81, 17, 832), + Trans(34, 84, 17, 832), + Trans(34, 104, 17, 832), + Trans(34, 106, 17, 832), + Trans(34, 109, 17, 832), + Trans(34, 110, 17, 832), + Trans(35, 5, 17, 832), + Trans(35, 30, 17, 832), + Trans(35, 36, 17, 832), + Trans(35, 39, 17, 832), + Trans(35, 43, 17, 832), + Trans(35, 60, 17, 832), + Trans(35, 64, 17, 832), + Trans(35, 65, 17, 832), + Trans(35, 66, 17, 832), + Trans(35, 70, 17, 832), + Trans(35, 71, 17, 832), + Trans(35, 73, 17, 832), + Trans(35, 80, 17, 832), + Trans(35, 81, 17, 832), + Trans(35, 84, 17, 832), + Trans(35, 104, 17, 832), + Trans(35, 106, 17, 832), + Trans(35, 109, 17, 832), + Trans(35, 110, 17, 832), + Trans(36, 39, 17, 832), + Trans(37, 5, 17, 832), + Trans(37, 43, 17, 832), + Trans(37, 53, 17, 832), + Trans(37, 65, 17, 832), + Trans(37, 69, 17, 832), + Trans(37, 70, 17, 832), + Trans(37, 80, 17, 832), + Trans(37, 99, 17, 832), + Trans(37, 100, 17, 832), + Trans(37, 111, 17, 832), + Trans(37, 112, 17, 832), + Trans(38, 40, 17, 832), + Trans(39, 111, 17, 832), + Trans(39, 112, 17, 832), + Trans(40, 5, 17, 832), + Trans(40, 29, 17, 832), + Trans(40, 46, 17, 832), + Trans(41, 5, 17, 832), + Trans(41, 28, 17, 832), + Trans(41, 29, 17, 832), + Trans(41, 46, 17, 832), + Trans(42, 112, 17, 832), + Trans(43, 5, 17, 832), + Trans(43, 30, 17, 832), + Trans(44, 5, 17, 832), + Trans(44, 79, 17, 832), + Trans(45, 5, 17, 832), + Trans(45, 13, 17, 832), + Trans(45, 28, 17, 832), + Trans(45, 39, 17, 832), + Trans(45, 41, 17, 832), + Trans(46, 5, 17, 832), + Trans(46, 28, 17, 832), + Trans(46, 39, 17, 832), + Trans(47, 5, 17, 832), + Trans(47, 35, 17, 832), ], k: 3, }, @@ -9005,25 +9006,25 @@ pub const LOOKAHEAD_AUTOMATA: &[LookaheadDFA; 640] = &[ LookaheadDFA { prod0: -1, transitions: &[ - Trans(0, 30, 2, 832), - Trans(0, 36, 2, 832), - Trans(0, 39, 2, 832), - Trans(0, 43, 2, 832), - Trans(0, 58, 1, 831), - Trans(0, 60, 2, 832), - Trans(0, 64, 2, 832), - Trans(0, 65, 2, 832), - Trans(0, 66, 2, 832), - Trans(0, 70, 2, 832), - Trans(0, 71, 2, 832), - Trans(0, 73, 2, 832), - Trans(0, 80, 2, 832), - Trans(0, 81, 2, 832), - Trans(0, 84, 2, 832), - Trans(0, 104, 2, 832), - Trans(0, 106, 2, 832), - Trans(0, 109, 2, 832), - Trans(0, 110, 2, 832), + Trans(0, 30, 2, 834), + Trans(0, 36, 2, 834), + Trans(0, 39, 2, 834), + Trans(0, 43, 2, 834), + Trans(0, 58, 1, 833), + Trans(0, 60, 2, 834), + Trans(0, 64, 2, 834), + Trans(0, 65, 2, 834), + Trans(0, 66, 2, 834), + Trans(0, 70, 2, 834), + Trans(0, 71, 2, 834), + Trans(0, 73, 2, 834), + Trans(0, 80, 2, 834), + Trans(0, 81, 2, 834), + Trans(0, 84, 2, 834), + Trans(0, 104, 2, 834), + Trans(0, 106, 2, 834), + Trans(0, 109, 2, 834), + Trans(0, 110, 2, 834), ], k: 1, }, @@ -9031,27 +9032,27 @@ pub const LOOKAHEAD_AUTOMATA: &[LookaheadDFA; 640] = &[ LookaheadDFA { prod0: -1, transitions: &[ - Trans(0, 30, 10, 860), - Trans(0, 60, 8, 858), - Trans(0, 64, 14, 864), - Trans(0, 65, 6, 856), - Trans(0, 66, 11, 861), - Trans(0, 70, 5, 855), - Trans(0, 71, 12, 862), - Trans(0, 73, 13, 863), - Trans(0, 80, 1, 851), - Trans(0, 81, 3, 853), - Trans(0, 84, 4, 854), - Trans(0, 104, 9, 859), - Trans(0, 106, 7, 857), - Trans(0, 109, 9, 859), - Trans(0, 110, 2, 852), + Trans(0, 30, 10, 862), + Trans(0, 60, 8, 860), + Trans(0, 64, 14, 866), + Trans(0, 65, 6, 858), + Trans(0, 66, 11, 863), + Trans(0, 70, 5, 857), + Trans(0, 71, 12, 864), + Trans(0, 73, 13, 865), + Trans(0, 80, 1, 853), + Trans(0, 81, 3, 855), + Trans(0, 84, 4, 856), + Trans(0, 104, 9, 861), + Trans(0, 106, 7, 859), + Trans(0, 109, 9, 861), + Trans(0, 110, 2, 854), ], k: 1, }, /* 340 - "InterfaceNamedBlock" */ LookaheadDFA { - prod0: 836, + prod0: 838, transitions: &[], k: 0, }, @@ -9059,30 +9060,30 @@ pub const LOOKAHEAD_AUTOMATA: &[LookaheadDFA; 640] = &[ LookaheadDFA { prod0: -1, transitions: &[ - Trans(0, 30, 1, 837), - Trans(0, 36, 1, 837), - Trans(0, 39, 1, 837), - Trans(0, 43, 2, 838), - Trans(0, 60, 1, 837), - Trans(0, 64, 1, 837), - Trans(0, 65, 1, 837), - Trans(0, 66, 1, 837), - Trans(0, 70, 1, 837), - Trans(0, 71, 1, 837), - Trans(0, 73, 1, 837), - Trans(0, 80, 1, 837), - Trans(0, 81, 1, 837), - Trans(0, 84, 1, 837), - Trans(0, 104, 1, 837), - Trans(0, 106, 1, 837), - Trans(0, 109, 1, 837), - Trans(0, 110, 1, 837), + Trans(0, 30, 1, 839), + Trans(0, 36, 1, 839), + Trans(0, 39, 1, 839), + Trans(0, 43, 2, 840), + Trans(0, 60, 1, 839), + Trans(0, 64, 1, 839), + Trans(0, 65, 1, 839), + Trans(0, 66, 1, 839), + Trans(0, 70, 1, 839), + Trans(0, 71, 1, 839), + Trans(0, 73, 1, 839), + Trans(0, 80, 1, 839), + Trans(0, 81, 1, 839), + Trans(0, 84, 1, 839), + Trans(0, 104, 1, 839), + Trans(0, 106, 1, 839), + Trans(0, 109, 1, 839), + Trans(0, 110, 1, 839), ], k: 1, }, /* 342 - "InterfaceOptionalNamedBlock" */ LookaheadDFA { - prod0: 839, + prod0: 841, transitions: &[], k: 0, }, @@ -9090,31 +9091,31 @@ pub const LOOKAHEAD_AUTOMATA: &[LookaheadDFA; 640] = &[ LookaheadDFA { prod0: -1, transitions: &[ - Trans(0, 30, 1, 840), - Trans(0, 36, 1, 840), - Trans(0, 39, 1, 840), - Trans(0, 43, 2, 841), - Trans(0, 60, 1, 840), - Trans(0, 64, 1, 840), - Trans(0, 65, 1, 840), - Trans(0, 66, 1, 840), - Trans(0, 70, 1, 840), - Trans(0, 71, 1, 840), - Trans(0, 73, 1, 840), - Trans(0, 80, 1, 840), - Trans(0, 81, 1, 840), - Trans(0, 84, 1, 840), - Trans(0, 104, 1, 840), - Trans(0, 106, 1, 840), - Trans(0, 109, 1, 840), - Trans(0, 110, 1, 840), + Trans(0, 30, 1, 842), + Trans(0, 36, 1, 842), + Trans(0, 39, 1, 842), + Trans(0, 43, 2, 843), + Trans(0, 60, 1, 842), + Trans(0, 64, 1, 842), + Trans(0, 65, 1, 842), + Trans(0, 66, 1, 842), + Trans(0, 70, 1, 842), + Trans(0, 71, 1, 842), + Trans(0, 73, 1, 842), + Trans(0, 80, 1, 842), + Trans(0, 81, 1, 842), + Trans(0, 84, 1, 842), + Trans(0, 104, 1, 842), + Trans(0, 106, 1, 842), + Trans(0, 109, 1, 842), + Trans(0, 110, 1, 842), ], k: 1, }, /* 344 - "InterfaceOptionalNamedBlockOpt" */ LookaheadDFA { prod0: -1, - transitions: &[Trans(0, 30, 1, 842), Trans(0, 39, 2, 843)], + transitions: &[Trans(0, 30, 1, 844), Trans(0, 39, 2, 845)], k: 1, }, /* 345 - "InterfaceTerm" */ @@ -9396,13 +9397,26 @@ pub const LOOKAHEAD_AUTOMATA: &[LookaheadDFA; 640] = &[ transitions: &[], k: 0, }, - /* 387 - "ModportList" */ + /* 387 - "ModportItemGroup" */ + LookaheadDFA { + prod0: -1, + transitions: &[ + Trans(0, 71, 2, 616), + Trans(0, 74, 1, 615), + Trans(0, 75, 1, 615), + Trans(0, 84, 1, 615), + Trans(0, 87, 1, 615), + Trans(0, 92, 1, 615), + ], + k: 1, + }, + /* 388 - "ModportList" */ LookaheadDFA { prod0: 604, transitions: &[], k: 0, }, - /* 388 - "ModportListList" */ + /* 389 - "ModportListList" */ LookaheadDFA { prod0: -1, transitions: &[ @@ -9571,176 +9585,121 @@ pub const LOOKAHEAD_AUTOMATA: &[LookaheadDFA; 640] = &[ ], k: 3, }, - /* 389 - "ModportListOpt" */ + /* 390 - "ModportListOpt" */ LookaheadDFA { prod0: -1, transitions: &[Trans(0, 31, 1, 607), Trans(0, 43, 2, 608)], k: 1, }, - /* 390 - "ModportTerm" */ + /* 391 - "ModportTerm" */ LookaheadDFA { prod0: 79, transitions: &[], k: 0, }, - /* 391 - "ModportToken" */ + /* 392 - "ModportToken" */ LookaheadDFA { prod0: 191, transitions: &[], k: 0, }, - /* 392 - "Module" */ + /* 393 - "Module" */ LookaheadDFA { prod0: 301, transitions: &[], k: 0, }, - /* 393 - "ModuleDeclaration" */ + /* 394 - "ModuleDeclaration" */ LookaheadDFA { - prod0: 768, + prod0: 770, transitions: &[], k: 0, }, - /* 394 - "ModuleDeclarationList" */ + /* 395 - "ModuleDeclarationList" */ LookaheadDFA { prod0: -1, transitions: &[ - Trans(0, 30, 1, 769), - Trans(0, 36, 1, 769), - Trans(0, 39, 1, 769), - Trans(0, 43, 2, 770), - Trans(0, 48, 1, 769), - Trans(0, 49, 1, 769), - Trans(0, 50, 1, 769), - Trans(0, 60, 1, 769), - Trans(0, 64, 1, 769), - Trans(0, 65, 1, 769), - Trans(0, 66, 1, 769), - Trans(0, 70, 1, 769), - Trans(0, 71, 1, 769), - Trans(0, 73, 1, 769), - Trans(0, 77, 1, 769), - Trans(0, 80, 1, 769), - Trans(0, 81, 1, 769), - Trans(0, 104, 1, 769), - Trans(0, 106, 1, 769), - Trans(0, 109, 1, 769), - Trans(0, 110, 1, 769), + Trans(0, 30, 1, 771), + Trans(0, 36, 1, 771), + Trans(0, 39, 1, 771), + Trans(0, 43, 2, 772), + Trans(0, 48, 1, 771), + Trans(0, 49, 1, 771), + Trans(0, 50, 1, 771), + Trans(0, 60, 1, 771), + Trans(0, 64, 1, 771), + Trans(0, 65, 1, 771), + Trans(0, 66, 1, 771), + Trans(0, 70, 1, 771), + Trans(0, 71, 1, 771), + Trans(0, 73, 1, 771), + Trans(0, 77, 1, 771), + Trans(0, 80, 1, 771), + Trans(0, 81, 1, 771), + Trans(0, 104, 1, 771), + Trans(0, 106, 1, 771), + Trans(0, 109, 1, 771), + Trans(0, 110, 1, 771), ], k: 1, }, - /* 395 - "ModuleDeclarationOpt" */ + /* 396 - "ModuleDeclarationOpt" */ LookaheadDFA { prod0: -1, - transitions: &[Trans(0, 85, 2, 778), Trans(0, 91, 1, 777)], + transitions: &[Trans(0, 85, 2, 780), Trans(0, 91, 1, 779)], k: 1, }, - /* 396 - "ModuleDeclarationOpt0" */ + /* 397 - "ModuleDeclarationOpt0" */ LookaheadDFA { prod0: -1, transitions: &[ - Trans(0, 28, 1, 775), - Trans(0, 36, 2, 776), - Trans(0, 39, 2, 776), - Trans(0, 41, 2, 776), + Trans(0, 28, 1, 777), + Trans(0, 36, 2, 778), + Trans(0, 39, 2, 778), + Trans(0, 41, 2, 778), ], k: 1, }, - /* 397 - "ModuleDeclarationOpt1" */ + /* 398 - "ModuleDeclarationOpt1" */ LookaheadDFA { prod0: -1, transitions: &[ - Trans(0, 36, 1, 773), - Trans(0, 39, 2, 774), - Trans(0, 41, 2, 774), + Trans(0, 36, 1, 775), + Trans(0, 39, 2, 776), + Trans(0, 41, 2, 776), ], k: 1, }, - /* 398 - "ModuleDeclarationOpt2" */ + /* 399 - "ModuleDeclarationOpt2" */ LookaheadDFA { prod0: -1, - transitions: &[Trans(0, 39, 2, 772), Trans(0, 41, 1, 771)], + transitions: &[Trans(0, 39, 2, 774), Trans(0, 41, 1, 773)], k: 1, }, - /* 399 - "ModuleForDeclaration" */ + /* 400 - "ModuleForDeclaration" */ LookaheadDFA { - prod0: 784, + prod0: 786, transitions: &[], k: 0, }, - /* 400 - "ModuleForDeclarationOpt" */ + /* 401 - "ModuleForDeclarationOpt" */ LookaheadDFA { prod0: -1, - transitions: &[Trans(0, 30, 2, 786), Trans(0, 102, 1, 785)], + transitions: &[Trans(0, 30, 2, 788), Trans(0, 102, 1, 787)], k: 1, }, - /* 401 - "ModuleGroup" */ + /* 402 - "ModuleGroup" */ LookaheadDFA { - prod0: 795, + prod0: 797, transitions: &[], k: 0, }, - /* 402 - "ModuleGroupGroup" */ - LookaheadDFA { - prod0: -1, - transitions: &[ - Trans(0, 30, 2, 799), - Trans(0, 39, 1, 796), - Trans(0, 48, 2, 799), - Trans(0, 49, 2, 799), - Trans(0, 50, 2, 799), - Trans(0, 60, 2, 799), - Trans(0, 64, 2, 799), - Trans(0, 65, 2, 799), - Trans(0, 66, 2, 799), - Trans(0, 70, 2, 799), - Trans(0, 71, 2, 799), - Trans(0, 73, 2, 799), - Trans(0, 77, 2, 799), - Trans(0, 80, 2, 799), - Trans(0, 81, 2, 799), - Trans(0, 104, 2, 799), - Trans(0, 106, 2, 799), - Trans(0, 109, 2, 799), - Trans(0, 110, 2, 799), - ], - k: 1, - }, - /* 403 - "ModuleGroupGroupList" */ - LookaheadDFA { - prod0: -1, - transitions: &[ - Trans(0, 30, 1, 797), - Trans(0, 36, 1, 797), - Trans(0, 39, 1, 797), - Trans(0, 43, 2, 798), - Trans(0, 48, 1, 797), - Trans(0, 49, 1, 797), - Trans(0, 50, 1, 797), - Trans(0, 60, 1, 797), - Trans(0, 64, 1, 797), - Trans(0, 65, 1, 797), - Trans(0, 66, 1, 797), - Trans(0, 70, 1, 797), - Trans(0, 71, 1, 797), - Trans(0, 73, 1, 797), - Trans(0, 77, 1, 797), - Trans(0, 80, 1, 797), - Trans(0, 81, 1, 797), - Trans(0, 104, 1, 797), - Trans(0, 106, 1, 797), - Trans(0, 109, 1, 797), - Trans(0, 110, 1, 797), - ], - k: 1, - }, - /* 404 - "ModuleGroupList" */ + /* 403 - "ModuleGroupGroup" */ LookaheadDFA { prod0: -1, transitions: &[ Trans(0, 30, 2, 801), - Trans(0, 36, 1, 800), - Trans(0, 39, 2, 801), + Trans(0, 39, 1, 798), Trans(0, 48, 2, 801), Trans(0, 49, 2, 801), Trans(0, 50, 2, 801), @@ -9761,13 +9720,68 @@ pub const LOOKAHEAD_AUTOMATA: &[LookaheadDFA; 640] = &[ ], k: 1, }, - /* 405 - "ModuleIfDeclaration" */ + /* 404 - "ModuleGroupGroupList" */ + LookaheadDFA { + prod0: -1, + transitions: &[ + Trans(0, 30, 1, 799), + Trans(0, 36, 1, 799), + Trans(0, 39, 1, 799), + Trans(0, 43, 2, 800), + Trans(0, 48, 1, 799), + Trans(0, 49, 1, 799), + Trans(0, 50, 1, 799), + Trans(0, 60, 1, 799), + Trans(0, 64, 1, 799), + Trans(0, 65, 1, 799), + Trans(0, 66, 1, 799), + Trans(0, 70, 1, 799), + Trans(0, 71, 1, 799), + Trans(0, 73, 1, 799), + Trans(0, 77, 1, 799), + Trans(0, 80, 1, 799), + Trans(0, 81, 1, 799), + Trans(0, 104, 1, 799), + Trans(0, 106, 1, 799), + Trans(0, 109, 1, 799), + Trans(0, 110, 1, 799), + ], + k: 1, + }, + /* 405 - "ModuleGroupList" */ + LookaheadDFA { + prod0: -1, + transitions: &[ + Trans(0, 30, 2, 803), + Trans(0, 36, 1, 802), + Trans(0, 39, 2, 803), + Trans(0, 48, 2, 803), + Trans(0, 49, 2, 803), + Trans(0, 50, 2, 803), + Trans(0, 60, 2, 803), + Trans(0, 64, 2, 803), + Trans(0, 65, 2, 803), + Trans(0, 66, 2, 803), + Trans(0, 70, 2, 803), + Trans(0, 71, 2, 803), + Trans(0, 73, 2, 803), + Trans(0, 77, 2, 803), + Trans(0, 80, 2, 803), + Trans(0, 81, 2, 803), + Trans(0, 104, 2, 803), + Trans(0, 106, 2, 803), + Trans(0, 109, 2, 803), + Trans(0, 110, 2, 803), + ], + k: 1, + }, + /* 406 - "ModuleIfDeclaration" */ LookaheadDFA { - prod0: 779, + prod0: 781, transitions: &[], k: 0, }, - /* 406 - "ModuleIfDeclarationList" */ + /* 407 - "ModuleIfDeclarationList" */ LookaheadDFA { prod0: -1, transitions: &[ @@ -9797,32 +9811,32 @@ pub const LOOKAHEAD_AUTOMATA: &[LookaheadDFA; 640] = &[ Trans(1, 30, 21, -1), Trans(1, 39, 38, -1), Trans(1, 70, 2, -1), - Trans(2, 5, 3, 780), - Trans(2, 6, 3, 780), - Trans(2, 7, 3, 780), - Trans(2, 8, 3, 780), - Trans(2, 9, 3, 780), - Trans(2, 10, 3, 780), - Trans(2, 11, 3, 780), - Trans(2, 18, 3, 780), - Trans(2, 24, 3, 780), - Trans(2, 25, 3, 780), - Trans(2, 26, 3, 780), - Trans(2, 27, 3, 780), - Trans(2, 38, 3, 780), - Trans(2, 39, 3, 780), - Trans(2, 41, 3, 780), - Trans(2, 53, 3, 780), - Trans(2, 70, 3, 780), - Trans(2, 76, 3, 780), - Trans(2, 83, 3, 780), - Trans(2, 86, 3, 780), - Trans(2, 88, 3, 780), - Trans(2, 111, 3, 780), - Trans(2, 112, 3, 780), - Trans(4, 30, 19, 781), - Trans(4, 39, 19, 781), - Trans(4, 70, 3, 780), + Trans(2, 5, 3, 782), + Trans(2, 6, 3, 782), + Trans(2, 7, 3, 782), + Trans(2, 8, 3, 782), + Trans(2, 9, 3, 782), + Trans(2, 10, 3, 782), + Trans(2, 11, 3, 782), + Trans(2, 18, 3, 782), + Trans(2, 24, 3, 782), + Trans(2, 25, 3, 782), + Trans(2, 26, 3, 782), + Trans(2, 27, 3, 782), + Trans(2, 38, 3, 782), + Trans(2, 39, 3, 782), + Trans(2, 41, 3, 782), + Trans(2, 53, 3, 782), + Trans(2, 70, 3, 782), + Trans(2, 76, 3, 782), + Trans(2, 83, 3, 782), + Trans(2, 86, 3, 782), + Trans(2, 88, 3, 782), + Trans(2, 111, 3, 782), + Trans(2, 112, 3, 782), + Trans(4, 30, 19, 783), + Trans(4, 39, 19, 783), + Trans(4, 70, 3, 782), Trans(5, 5, 46, -1), Trans(5, 112, 25, -1), Trans(6, 5, 42, -1), @@ -9849,7 +9863,7 @@ pub const LOOKAHEAD_AUTOMATA: &[LookaheadDFA; 640] = &[ Trans(7, 106, 21, -1), Trans(7, 109, 21, -1), Trans(7, 110, 21, -1), - Trans(8, 0, 19, 781), + Trans(8, 0, 19, 783), Trans(8, 5, 20, -1), Trans(8, 30, 21, -1), Trans(8, 36, 22, -1), @@ -9922,486 +9936,486 @@ pub const LOOKAHEAD_AUTOMATA: &[LookaheadDFA; 640] = &[ Trans(17, 112, 51, -1), Trans(18, 5, 46, -1), Trans(18, 112, 52, -1), - Trans(20, 0, 19, 781), - Trans(20, 30, 19, 781), - Trans(20, 36, 19, 781), - Trans(20, 39, 19, 781), - Trans(20, 43, 19, 781), - Trans(20, 48, 19, 781), - Trans(20, 49, 19, 781), - Trans(20, 50, 19, 781), - Trans(20, 58, 19, 781), - Trans(20, 59, 19, 781), - Trans(20, 60, 19, 781), - Trans(20, 64, 19, 781), - Trans(20, 65, 19, 781), - Trans(20, 66, 19, 781), - Trans(20, 70, 19, 781), - Trans(20, 71, 19, 781), - Trans(20, 72, 19, 781), - Trans(20, 73, 19, 781), - Trans(20, 77, 19, 781), - Trans(20, 78, 19, 781), - Trans(20, 80, 19, 781), - Trans(20, 81, 19, 781), - Trans(20, 85, 19, 781), - Trans(20, 89, 19, 781), - Trans(20, 91, 19, 781), - Trans(20, 104, 19, 781), - Trans(20, 106, 19, 781), - Trans(20, 109, 19, 781), - Trans(20, 110, 19, 781), - Trans(21, 5, 19, 781), - Trans(21, 112, 19, 781), - Trans(22, 5, 19, 781), - Trans(22, 40, 19, 781), - Trans(23, 5, 19, 781), - Trans(23, 30, 19, 781), - Trans(23, 36, 19, 781), - Trans(23, 39, 19, 781), - Trans(23, 43, 19, 781), - Trans(23, 48, 19, 781), - Trans(23, 49, 19, 781), - Trans(23, 50, 19, 781), - Trans(23, 59, 19, 781), - Trans(23, 60, 19, 781), - Trans(23, 64, 19, 781), - Trans(23, 65, 19, 781), - Trans(23, 66, 19, 781), - Trans(23, 70, 19, 781), - Trans(23, 71, 19, 781), - Trans(23, 72, 19, 781), - Trans(23, 73, 19, 781), - Trans(23, 77, 19, 781), - Trans(23, 78, 19, 781), - Trans(23, 80, 19, 781), - Trans(23, 81, 19, 781), - Trans(23, 85, 19, 781), - Trans(23, 89, 19, 781), - Trans(23, 91, 19, 781), - Trans(23, 104, 19, 781), - Trans(23, 106, 19, 781), - Trans(23, 109, 19, 781), - Trans(23, 110, 19, 781), - Trans(24, 0, 19, 781), - Trans(24, 5, 19, 781), - Trans(24, 30, 19, 781), - Trans(24, 36, 19, 781), - Trans(24, 39, 19, 781), - Trans(24, 43, 19, 781), - Trans(24, 48, 19, 781), - Trans(24, 49, 19, 781), - Trans(24, 50, 19, 781), - Trans(24, 58, 19, 781), - Trans(24, 59, 19, 781), - Trans(24, 60, 19, 781), - Trans(24, 64, 19, 781), - Trans(24, 65, 19, 781), - Trans(24, 66, 19, 781), - Trans(24, 70, 19, 781), - Trans(24, 71, 19, 781), - Trans(24, 72, 19, 781), - Trans(24, 73, 19, 781), - Trans(24, 77, 19, 781), - Trans(24, 78, 19, 781), - Trans(24, 80, 19, 781), - Trans(24, 81, 19, 781), - Trans(24, 85, 19, 781), - Trans(24, 89, 19, 781), - Trans(24, 91, 19, 781), - Trans(24, 104, 19, 781), - Trans(24, 106, 19, 781), - Trans(24, 109, 19, 781), - Trans(24, 110, 19, 781), - Trans(25, 5, 19, 781), - Trans(25, 39, 19, 781), - Trans(26, 5, 19, 781), - Trans(26, 39, 19, 781), - Trans(26, 41, 19, 781), - Trans(27, 5, 19, 781), - Trans(27, 30, 19, 781), - Trans(27, 39, 19, 781), - Trans(27, 70, 19, 781), - Trans(28, 5, 19, 781), - Trans(28, 41, 19, 781), - Trans(29, 5, 19, 781), - Trans(29, 6, 19, 781), - Trans(29, 7, 19, 781), - Trans(29, 8, 19, 781), - Trans(29, 9, 19, 781), - Trans(29, 10, 19, 781), - Trans(29, 11, 19, 781), - Trans(29, 18, 19, 781), - Trans(29, 24, 19, 781), - Trans(29, 25, 19, 781), - Trans(29, 26, 19, 781), - Trans(29, 27, 19, 781), - Trans(29, 38, 19, 781), - Trans(29, 39, 19, 781), - Trans(29, 41, 19, 781), - Trans(29, 53, 19, 781), - Trans(29, 70, 19, 781), - Trans(29, 76, 19, 781), - Trans(29, 83, 19, 781), - Trans(29, 86, 19, 781), - Trans(29, 88, 19, 781), - Trans(29, 111, 19, 781), - Trans(29, 112, 19, 781), - Trans(30, 5, 19, 781), - Trans(30, 111, 19, 781), - Trans(30, 112, 19, 781), - Trans(31, 5, 19, 781), - Trans(31, 78, 19, 781), - Trans(31, 85, 19, 781), - Trans(31, 89, 19, 781), - Trans(32, 6, 19, 781), - Trans(32, 7, 19, 781), - Trans(32, 8, 19, 781), - Trans(32, 9, 19, 781), - Trans(32, 10, 19, 781), - Trans(32, 11, 19, 781), - Trans(32, 18, 19, 781), - Trans(32, 24, 19, 781), - Trans(32, 25, 19, 781), - Trans(32, 26, 19, 781), - Trans(32, 27, 19, 781), - Trans(32, 38, 19, 781), - Trans(32, 39, 19, 781), - Trans(32, 41, 19, 781), - Trans(32, 53, 19, 781), - Trans(32, 70, 19, 781), - Trans(32, 76, 19, 781), - Trans(32, 83, 19, 781), - Trans(32, 86, 19, 781), - Trans(32, 88, 19, 781), - Trans(32, 111, 19, 781), - Trans(32, 112, 19, 781), - Trans(33, 5, 19, 781), - Trans(33, 16, 19, 781), - Trans(33, 17, 19, 781), - Trans(33, 18, 19, 781), - Trans(33, 19, 19, 781), - Trans(33, 20, 19, 781), - Trans(33, 21, 19, 781), - Trans(33, 22, 19, 781), - Trans(33, 23, 19, 781), - Trans(33, 24, 19, 781), - Trans(33, 25, 19, 781), - Trans(33, 26, 19, 781), - Trans(33, 30, 19, 781), - Trans(33, 47, 19, 781), - Trans(33, 51, 19, 781), - Trans(34, 5, 19, 781), - Trans(34, 6, 19, 781), - Trans(34, 7, 19, 781), - Trans(34, 8, 19, 781), - Trans(34, 9, 19, 781), - Trans(34, 10, 19, 781), - Trans(34, 11, 19, 781), - Trans(34, 18, 19, 781), - Trans(34, 24, 19, 781), - Trans(34, 25, 19, 781), - Trans(34, 26, 19, 781), - Trans(34, 27, 19, 781), - Trans(34, 38, 19, 781), - Trans(34, 39, 19, 781), - Trans(34, 41, 19, 781), - Trans(34, 53, 19, 781), - Trans(34, 57, 19, 781), - Trans(34, 70, 19, 781), - Trans(34, 76, 19, 781), - Trans(34, 83, 19, 781), - Trans(34, 86, 19, 781), - Trans(34, 88, 19, 781), - Trans(34, 111, 19, 781), - Trans(34, 112, 19, 781), - Trans(35, 5, 19, 781), - Trans(35, 16, 19, 781), - Trans(35, 17, 19, 781), - Trans(35, 18, 19, 781), - Trans(35, 19, 19, 781), - Trans(35, 20, 19, 781), - Trans(35, 21, 19, 781), - Trans(35, 22, 19, 781), - Trans(35, 23, 19, 781), - Trans(35, 24, 19, 781), - Trans(35, 25, 19, 781), - Trans(35, 26, 19, 781), - Trans(35, 29, 19, 781), - Trans(35, 30, 19, 781), - Trans(35, 34, 19, 781), - Trans(35, 40, 19, 781), - Trans(35, 41, 19, 781), - Trans(35, 47, 19, 781), - Trans(35, 51, 19, 781), - Trans(36, 5, 19, 781), - Trans(36, 16, 19, 781), - Trans(36, 17, 19, 781), - Trans(36, 18, 19, 781), - Trans(36, 19, 19, 781), - Trans(36, 20, 19, 781), - Trans(36, 21, 19, 781), - Trans(36, 22, 19, 781), - Trans(36, 23, 19, 781), - Trans(36, 24, 19, 781), - Trans(36, 25, 19, 781), - Trans(36, 26, 19, 781), - Trans(36, 28, 19, 781), - Trans(36, 29, 19, 781), - Trans(36, 30, 19, 781), - Trans(36, 34, 19, 781), - Trans(36, 40, 19, 781), - Trans(36, 41, 19, 781), - Trans(36, 47, 19, 781), - Trans(36, 51, 19, 781), - Trans(37, 30, 19, 781), - Trans(37, 36, 19, 781), - Trans(37, 39, 19, 781), - Trans(37, 43, 19, 781), - Trans(37, 48, 19, 781), - Trans(37, 49, 19, 781), - Trans(37, 50, 19, 781), - Trans(37, 60, 19, 781), - Trans(37, 64, 19, 781), - Trans(37, 65, 19, 781), - Trans(37, 66, 19, 781), - Trans(37, 70, 19, 781), - Trans(37, 71, 19, 781), - Trans(37, 73, 19, 781), - Trans(37, 77, 19, 781), - Trans(37, 80, 19, 781), - Trans(37, 81, 19, 781), - Trans(37, 104, 19, 781), - Trans(37, 106, 19, 781), - Trans(37, 109, 19, 781), - Trans(37, 110, 19, 781), - Trans(38, 5, 19, 781), - Trans(38, 30, 19, 781), - Trans(38, 36, 19, 781), - Trans(38, 39, 19, 781), - Trans(38, 43, 19, 781), - Trans(38, 48, 19, 781), - Trans(38, 49, 19, 781), - Trans(38, 50, 19, 781), - Trans(38, 60, 19, 781), - Trans(38, 64, 19, 781), - Trans(38, 65, 19, 781), - Trans(38, 66, 19, 781), - Trans(38, 70, 19, 781), - Trans(38, 71, 19, 781), - Trans(38, 73, 19, 781), - Trans(38, 77, 19, 781), - Trans(38, 80, 19, 781), - Trans(38, 81, 19, 781), - Trans(38, 104, 19, 781), - Trans(38, 106, 19, 781), - Trans(38, 109, 19, 781), - Trans(38, 110, 19, 781), - Trans(39, 39, 19, 781), - Trans(40, 5, 19, 781), - Trans(40, 43, 19, 781), - Trans(40, 53, 19, 781), - Trans(40, 65, 19, 781), - Trans(40, 69, 19, 781), - Trans(40, 70, 19, 781), - Trans(40, 80, 19, 781), - Trans(40, 99, 19, 781), - Trans(40, 100, 19, 781), - Trans(40, 111, 19, 781), - Trans(40, 112, 19, 781), - Trans(41, 39, 19, 781), - Trans(41, 41, 19, 781), - Trans(42, 40, 19, 781), - Trans(43, 111, 19, 781), - Trans(43, 112, 19, 781), - Trans(44, 5, 19, 781), - Trans(44, 29, 19, 781), - Trans(44, 46, 19, 781), - Trans(45, 5, 19, 781), - Trans(45, 28, 19, 781), - Trans(45, 29, 19, 781), - Trans(45, 46, 19, 781), - Trans(46, 112, 19, 781), - Trans(47, 5, 19, 781), - Trans(47, 34, 19, 781), - Trans(47, 35, 19, 781), - Trans(47, 40, 19, 781), - Trans(48, 5, 19, 781), - Trans(48, 30, 19, 781), - Trans(49, 5, 19, 781), - Trans(49, 79, 19, 781), - Trans(50, 5, 19, 781), - Trans(50, 13, 19, 781), - Trans(50, 28, 19, 781), - Trans(50, 39, 19, 781), - Trans(50, 41, 19, 781), - Trans(51, 5, 19, 781), - Trans(51, 28, 19, 781), - Trans(51, 39, 19, 781), - Trans(52, 5, 19, 781), - Trans(52, 35, 19, 781), + Trans(20, 0, 19, 783), + Trans(20, 30, 19, 783), + Trans(20, 36, 19, 783), + Trans(20, 39, 19, 783), + Trans(20, 43, 19, 783), + Trans(20, 48, 19, 783), + Trans(20, 49, 19, 783), + Trans(20, 50, 19, 783), + Trans(20, 58, 19, 783), + Trans(20, 59, 19, 783), + Trans(20, 60, 19, 783), + Trans(20, 64, 19, 783), + Trans(20, 65, 19, 783), + Trans(20, 66, 19, 783), + Trans(20, 70, 19, 783), + Trans(20, 71, 19, 783), + Trans(20, 72, 19, 783), + Trans(20, 73, 19, 783), + Trans(20, 77, 19, 783), + Trans(20, 78, 19, 783), + Trans(20, 80, 19, 783), + Trans(20, 81, 19, 783), + Trans(20, 85, 19, 783), + Trans(20, 89, 19, 783), + Trans(20, 91, 19, 783), + Trans(20, 104, 19, 783), + Trans(20, 106, 19, 783), + Trans(20, 109, 19, 783), + Trans(20, 110, 19, 783), + Trans(21, 5, 19, 783), + Trans(21, 112, 19, 783), + Trans(22, 5, 19, 783), + Trans(22, 40, 19, 783), + Trans(23, 5, 19, 783), + Trans(23, 30, 19, 783), + Trans(23, 36, 19, 783), + Trans(23, 39, 19, 783), + Trans(23, 43, 19, 783), + Trans(23, 48, 19, 783), + Trans(23, 49, 19, 783), + Trans(23, 50, 19, 783), + Trans(23, 59, 19, 783), + Trans(23, 60, 19, 783), + Trans(23, 64, 19, 783), + Trans(23, 65, 19, 783), + Trans(23, 66, 19, 783), + Trans(23, 70, 19, 783), + Trans(23, 71, 19, 783), + Trans(23, 72, 19, 783), + Trans(23, 73, 19, 783), + Trans(23, 77, 19, 783), + Trans(23, 78, 19, 783), + Trans(23, 80, 19, 783), + Trans(23, 81, 19, 783), + Trans(23, 85, 19, 783), + Trans(23, 89, 19, 783), + Trans(23, 91, 19, 783), + Trans(23, 104, 19, 783), + Trans(23, 106, 19, 783), + Trans(23, 109, 19, 783), + Trans(23, 110, 19, 783), + Trans(24, 0, 19, 783), + Trans(24, 5, 19, 783), + Trans(24, 30, 19, 783), + Trans(24, 36, 19, 783), + Trans(24, 39, 19, 783), + Trans(24, 43, 19, 783), + Trans(24, 48, 19, 783), + Trans(24, 49, 19, 783), + Trans(24, 50, 19, 783), + Trans(24, 58, 19, 783), + Trans(24, 59, 19, 783), + Trans(24, 60, 19, 783), + Trans(24, 64, 19, 783), + Trans(24, 65, 19, 783), + Trans(24, 66, 19, 783), + Trans(24, 70, 19, 783), + Trans(24, 71, 19, 783), + Trans(24, 72, 19, 783), + Trans(24, 73, 19, 783), + Trans(24, 77, 19, 783), + Trans(24, 78, 19, 783), + Trans(24, 80, 19, 783), + Trans(24, 81, 19, 783), + Trans(24, 85, 19, 783), + Trans(24, 89, 19, 783), + Trans(24, 91, 19, 783), + Trans(24, 104, 19, 783), + Trans(24, 106, 19, 783), + Trans(24, 109, 19, 783), + Trans(24, 110, 19, 783), + Trans(25, 5, 19, 783), + Trans(25, 39, 19, 783), + Trans(26, 5, 19, 783), + Trans(26, 39, 19, 783), + Trans(26, 41, 19, 783), + Trans(27, 5, 19, 783), + Trans(27, 30, 19, 783), + Trans(27, 39, 19, 783), + Trans(27, 70, 19, 783), + Trans(28, 5, 19, 783), + Trans(28, 41, 19, 783), + Trans(29, 5, 19, 783), + Trans(29, 6, 19, 783), + Trans(29, 7, 19, 783), + Trans(29, 8, 19, 783), + Trans(29, 9, 19, 783), + Trans(29, 10, 19, 783), + Trans(29, 11, 19, 783), + Trans(29, 18, 19, 783), + Trans(29, 24, 19, 783), + Trans(29, 25, 19, 783), + Trans(29, 26, 19, 783), + Trans(29, 27, 19, 783), + Trans(29, 38, 19, 783), + Trans(29, 39, 19, 783), + Trans(29, 41, 19, 783), + Trans(29, 53, 19, 783), + Trans(29, 70, 19, 783), + Trans(29, 76, 19, 783), + Trans(29, 83, 19, 783), + Trans(29, 86, 19, 783), + Trans(29, 88, 19, 783), + Trans(29, 111, 19, 783), + Trans(29, 112, 19, 783), + Trans(30, 5, 19, 783), + Trans(30, 111, 19, 783), + Trans(30, 112, 19, 783), + Trans(31, 5, 19, 783), + Trans(31, 78, 19, 783), + Trans(31, 85, 19, 783), + Trans(31, 89, 19, 783), + Trans(32, 6, 19, 783), + Trans(32, 7, 19, 783), + Trans(32, 8, 19, 783), + Trans(32, 9, 19, 783), + Trans(32, 10, 19, 783), + Trans(32, 11, 19, 783), + Trans(32, 18, 19, 783), + Trans(32, 24, 19, 783), + Trans(32, 25, 19, 783), + Trans(32, 26, 19, 783), + Trans(32, 27, 19, 783), + Trans(32, 38, 19, 783), + Trans(32, 39, 19, 783), + Trans(32, 41, 19, 783), + Trans(32, 53, 19, 783), + Trans(32, 70, 19, 783), + Trans(32, 76, 19, 783), + Trans(32, 83, 19, 783), + Trans(32, 86, 19, 783), + Trans(32, 88, 19, 783), + Trans(32, 111, 19, 783), + Trans(32, 112, 19, 783), + Trans(33, 5, 19, 783), + Trans(33, 16, 19, 783), + Trans(33, 17, 19, 783), + Trans(33, 18, 19, 783), + Trans(33, 19, 19, 783), + Trans(33, 20, 19, 783), + Trans(33, 21, 19, 783), + Trans(33, 22, 19, 783), + Trans(33, 23, 19, 783), + Trans(33, 24, 19, 783), + Trans(33, 25, 19, 783), + Trans(33, 26, 19, 783), + Trans(33, 30, 19, 783), + Trans(33, 47, 19, 783), + Trans(33, 51, 19, 783), + Trans(34, 5, 19, 783), + Trans(34, 6, 19, 783), + Trans(34, 7, 19, 783), + Trans(34, 8, 19, 783), + Trans(34, 9, 19, 783), + Trans(34, 10, 19, 783), + Trans(34, 11, 19, 783), + Trans(34, 18, 19, 783), + Trans(34, 24, 19, 783), + Trans(34, 25, 19, 783), + Trans(34, 26, 19, 783), + Trans(34, 27, 19, 783), + Trans(34, 38, 19, 783), + Trans(34, 39, 19, 783), + Trans(34, 41, 19, 783), + Trans(34, 53, 19, 783), + Trans(34, 57, 19, 783), + Trans(34, 70, 19, 783), + Trans(34, 76, 19, 783), + Trans(34, 83, 19, 783), + Trans(34, 86, 19, 783), + Trans(34, 88, 19, 783), + Trans(34, 111, 19, 783), + Trans(34, 112, 19, 783), + Trans(35, 5, 19, 783), + Trans(35, 16, 19, 783), + Trans(35, 17, 19, 783), + Trans(35, 18, 19, 783), + Trans(35, 19, 19, 783), + Trans(35, 20, 19, 783), + Trans(35, 21, 19, 783), + Trans(35, 22, 19, 783), + Trans(35, 23, 19, 783), + Trans(35, 24, 19, 783), + Trans(35, 25, 19, 783), + Trans(35, 26, 19, 783), + Trans(35, 29, 19, 783), + Trans(35, 30, 19, 783), + Trans(35, 34, 19, 783), + Trans(35, 40, 19, 783), + Trans(35, 41, 19, 783), + Trans(35, 47, 19, 783), + Trans(35, 51, 19, 783), + Trans(36, 5, 19, 783), + Trans(36, 16, 19, 783), + Trans(36, 17, 19, 783), + Trans(36, 18, 19, 783), + Trans(36, 19, 19, 783), + Trans(36, 20, 19, 783), + Trans(36, 21, 19, 783), + Trans(36, 22, 19, 783), + Trans(36, 23, 19, 783), + Trans(36, 24, 19, 783), + Trans(36, 25, 19, 783), + Trans(36, 26, 19, 783), + Trans(36, 28, 19, 783), + Trans(36, 29, 19, 783), + Trans(36, 30, 19, 783), + Trans(36, 34, 19, 783), + Trans(36, 40, 19, 783), + Trans(36, 41, 19, 783), + Trans(36, 47, 19, 783), + Trans(36, 51, 19, 783), + Trans(37, 30, 19, 783), + Trans(37, 36, 19, 783), + Trans(37, 39, 19, 783), + Trans(37, 43, 19, 783), + Trans(37, 48, 19, 783), + Trans(37, 49, 19, 783), + Trans(37, 50, 19, 783), + Trans(37, 60, 19, 783), + Trans(37, 64, 19, 783), + Trans(37, 65, 19, 783), + Trans(37, 66, 19, 783), + Trans(37, 70, 19, 783), + Trans(37, 71, 19, 783), + Trans(37, 73, 19, 783), + Trans(37, 77, 19, 783), + Trans(37, 80, 19, 783), + Trans(37, 81, 19, 783), + Trans(37, 104, 19, 783), + Trans(37, 106, 19, 783), + Trans(37, 109, 19, 783), + Trans(37, 110, 19, 783), + Trans(38, 5, 19, 783), + Trans(38, 30, 19, 783), + Trans(38, 36, 19, 783), + Trans(38, 39, 19, 783), + Trans(38, 43, 19, 783), + Trans(38, 48, 19, 783), + Trans(38, 49, 19, 783), + Trans(38, 50, 19, 783), + Trans(38, 60, 19, 783), + Trans(38, 64, 19, 783), + Trans(38, 65, 19, 783), + Trans(38, 66, 19, 783), + Trans(38, 70, 19, 783), + Trans(38, 71, 19, 783), + Trans(38, 73, 19, 783), + Trans(38, 77, 19, 783), + Trans(38, 80, 19, 783), + Trans(38, 81, 19, 783), + Trans(38, 104, 19, 783), + Trans(38, 106, 19, 783), + Trans(38, 109, 19, 783), + Trans(38, 110, 19, 783), + Trans(39, 39, 19, 783), + Trans(40, 5, 19, 783), + Trans(40, 43, 19, 783), + Trans(40, 53, 19, 783), + Trans(40, 65, 19, 783), + Trans(40, 69, 19, 783), + Trans(40, 70, 19, 783), + Trans(40, 80, 19, 783), + Trans(40, 99, 19, 783), + Trans(40, 100, 19, 783), + Trans(40, 111, 19, 783), + Trans(40, 112, 19, 783), + Trans(41, 39, 19, 783), + Trans(41, 41, 19, 783), + Trans(42, 40, 19, 783), + Trans(43, 111, 19, 783), + Trans(43, 112, 19, 783), + Trans(44, 5, 19, 783), + Trans(44, 29, 19, 783), + Trans(44, 46, 19, 783), + Trans(45, 5, 19, 783), + Trans(45, 28, 19, 783), + Trans(45, 29, 19, 783), + Trans(45, 46, 19, 783), + Trans(46, 112, 19, 783), + Trans(47, 5, 19, 783), + Trans(47, 34, 19, 783), + Trans(47, 35, 19, 783), + Trans(47, 40, 19, 783), + Trans(48, 5, 19, 783), + Trans(48, 30, 19, 783), + Trans(49, 5, 19, 783), + Trans(49, 79, 19, 783), + Trans(50, 5, 19, 783), + Trans(50, 13, 19, 783), + Trans(50, 28, 19, 783), + Trans(50, 39, 19, 783), + Trans(50, 41, 19, 783), + Trans(51, 5, 19, 783), + Trans(51, 28, 19, 783), + Trans(51, 39, 19, 783), + Trans(52, 5, 19, 783), + Trans(52, 35, 19, 783), ], k: 3, }, - /* 407 - "ModuleIfDeclarationOpt" */ + /* 408 - "ModuleIfDeclarationOpt" */ LookaheadDFA { prod0: -1, transitions: &[ - Trans(0, 30, 2, 783), - Trans(0, 36, 2, 783), - Trans(0, 39, 2, 783), - Trans(0, 43, 2, 783), - Trans(0, 48, 2, 783), - Trans(0, 49, 2, 783), - Trans(0, 50, 2, 783), - Trans(0, 58, 1, 782), - Trans(0, 60, 2, 783), - Trans(0, 64, 2, 783), - Trans(0, 65, 2, 783), - Trans(0, 66, 2, 783), - Trans(0, 70, 2, 783), - Trans(0, 71, 2, 783), - Trans(0, 73, 2, 783), - Trans(0, 77, 2, 783), - Trans(0, 80, 2, 783), - Trans(0, 81, 2, 783), - Trans(0, 104, 2, 783), - Trans(0, 106, 2, 783), - Trans(0, 109, 2, 783), - Trans(0, 110, 2, 783), + Trans(0, 30, 2, 785), + Trans(0, 36, 2, 785), + Trans(0, 39, 2, 785), + Trans(0, 43, 2, 785), + Trans(0, 48, 2, 785), + Trans(0, 49, 2, 785), + Trans(0, 50, 2, 785), + Trans(0, 58, 1, 784), + Trans(0, 60, 2, 785), + Trans(0, 64, 2, 785), + Trans(0, 65, 2, 785), + Trans(0, 66, 2, 785), + Trans(0, 70, 2, 785), + Trans(0, 71, 2, 785), + Trans(0, 73, 2, 785), + Trans(0, 77, 2, 785), + Trans(0, 80, 2, 785), + Trans(0, 81, 2, 785), + Trans(0, 104, 2, 785), + Trans(0, 106, 2, 785), + Trans(0, 109, 2, 785), + Trans(0, 110, 2, 785), ], k: 1, }, - /* 408 - "ModuleItem" */ + /* 409 - "ModuleItem" */ LookaheadDFA { prod0: -1, transitions: &[ - Trans(0, 30, 14, 815), - Trans(0, 48, 7, 808), - Trans(0, 49, 6, 807), - Trans(0, 50, 8, 809), - Trans(0, 60, 12, 813), - Trans(0, 64, 17, 818), - Trans(0, 65, 11, 812), - Trans(0, 66, 9, 810), - Trans(0, 70, 10, 811), - Trans(0, 71, 15, 816), - Trans(0, 73, 16, 817), - Trans(0, 77, 3, 804), - Trans(0, 80, 1, 802), - Trans(0, 81, 5, 806), - Trans(0, 104, 13, 814), - Trans(0, 106, 4, 805), - Trans(0, 109, 13, 814), - Trans(0, 110, 2, 803), + Trans(0, 30, 14, 817), + Trans(0, 48, 7, 810), + Trans(0, 49, 6, 809), + Trans(0, 50, 8, 811), + Trans(0, 60, 12, 815), + Trans(0, 64, 17, 820), + Trans(0, 65, 11, 814), + Trans(0, 66, 9, 812), + Trans(0, 70, 10, 813), + Trans(0, 71, 15, 818), + Trans(0, 73, 16, 819), + Trans(0, 77, 3, 806), + Trans(0, 80, 1, 804), + Trans(0, 81, 5, 808), + Trans(0, 104, 13, 816), + Trans(0, 106, 4, 807), + Trans(0, 109, 13, 816), + Trans(0, 110, 2, 805), ], k: 1, }, - /* 409 - "ModuleNamedBlock" */ + /* 410 - "ModuleNamedBlock" */ LookaheadDFA { - prod0: 787, + prod0: 789, transitions: &[], k: 0, }, - /* 410 - "ModuleNamedBlockList" */ + /* 411 - "ModuleNamedBlockList" */ LookaheadDFA { prod0: -1, transitions: &[ - Trans(0, 30, 1, 788), - Trans(0, 36, 1, 788), - Trans(0, 39, 1, 788), - Trans(0, 43, 2, 789), - Trans(0, 48, 1, 788), - Trans(0, 49, 1, 788), - Trans(0, 50, 1, 788), - Trans(0, 60, 1, 788), - Trans(0, 64, 1, 788), - Trans(0, 65, 1, 788), - Trans(0, 66, 1, 788), - Trans(0, 70, 1, 788), - Trans(0, 71, 1, 788), - Trans(0, 73, 1, 788), - Trans(0, 77, 1, 788), - Trans(0, 80, 1, 788), - Trans(0, 81, 1, 788), - Trans(0, 104, 1, 788), - Trans(0, 106, 1, 788), - Trans(0, 109, 1, 788), - Trans(0, 110, 1, 788), + Trans(0, 30, 1, 790), + Trans(0, 36, 1, 790), + Trans(0, 39, 1, 790), + Trans(0, 43, 2, 791), + Trans(0, 48, 1, 790), + Trans(0, 49, 1, 790), + Trans(0, 50, 1, 790), + Trans(0, 60, 1, 790), + Trans(0, 64, 1, 790), + Trans(0, 65, 1, 790), + Trans(0, 66, 1, 790), + Trans(0, 70, 1, 790), + Trans(0, 71, 1, 790), + Trans(0, 73, 1, 790), + Trans(0, 77, 1, 790), + Trans(0, 80, 1, 790), + Trans(0, 81, 1, 790), + Trans(0, 104, 1, 790), + Trans(0, 106, 1, 790), + Trans(0, 109, 1, 790), + Trans(0, 110, 1, 790), ], k: 1, }, - /* 411 - "ModuleOptionalNamedBlock" */ + /* 412 - "ModuleOptionalNamedBlock" */ LookaheadDFA { - prod0: 790, + prod0: 792, transitions: &[], k: 0, }, - /* 412 - "ModuleOptionalNamedBlockList" */ + /* 413 - "ModuleOptionalNamedBlockList" */ LookaheadDFA { prod0: -1, transitions: &[ - Trans(0, 30, 1, 791), - Trans(0, 36, 1, 791), - Trans(0, 39, 1, 791), - Trans(0, 43, 2, 792), - Trans(0, 48, 1, 791), - Trans(0, 49, 1, 791), - Trans(0, 50, 1, 791), - Trans(0, 60, 1, 791), - Trans(0, 64, 1, 791), - Trans(0, 65, 1, 791), - Trans(0, 66, 1, 791), - Trans(0, 70, 1, 791), - Trans(0, 71, 1, 791), - Trans(0, 73, 1, 791), - Trans(0, 77, 1, 791), - Trans(0, 80, 1, 791), - Trans(0, 81, 1, 791), - Trans(0, 104, 1, 791), - Trans(0, 106, 1, 791), - Trans(0, 109, 1, 791), - Trans(0, 110, 1, 791), + Trans(0, 30, 1, 793), + Trans(0, 36, 1, 793), + Trans(0, 39, 1, 793), + Trans(0, 43, 2, 794), + Trans(0, 48, 1, 793), + Trans(0, 49, 1, 793), + Trans(0, 50, 1, 793), + Trans(0, 60, 1, 793), + Trans(0, 64, 1, 793), + Trans(0, 65, 1, 793), + Trans(0, 66, 1, 793), + Trans(0, 70, 1, 793), + Trans(0, 71, 1, 793), + Trans(0, 73, 1, 793), + Trans(0, 77, 1, 793), + Trans(0, 80, 1, 793), + Trans(0, 81, 1, 793), + Trans(0, 104, 1, 793), + Trans(0, 106, 1, 793), + Trans(0, 109, 1, 793), + Trans(0, 110, 1, 793), ], k: 1, }, - /* 413 - "ModuleOptionalNamedBlockOpt" */ + /* 414 - "ModuleOptionalNamedBlockOpt" */ LookaheadDFA { prod0: -1, - transitions: &[Trans(0, 30, 1, 793), Trans(0, 39, 2, 794)], + transitions: &[Trans(0, 30, 1, 795), Trans(0, 39, 2, 796)], k: 1, }, - /* 414 - "ModuleTerm" */ + /* 415 - "ModuleTerm" */ LookaheadDFA { prod0: 80, transitions: &[], k: 0, }, - /* 415 - "ModuleToken" */ + /* 416 - "ModuleToken" */ LookaheadDFA { prod0: 192, transitions: &[], k: 0, }, - /* 416 - "Msb" */ + /* 417 - "Msb" */ LookaheadDFA { prod0: 302, transitions: &[], k: 0, }, - /* 417 - "MsbTerm" */ + /* 418 - "MsbTerm" */ LookaheadDFA { prod0: 81, transitions: &[], k: 0, }, - /* 418 - "MsbToken" */ + /* 419 - "MsbToken" */ LookaheadDFA { prod0: 193, transitions: &[], k: 0, }, - /* 419 - "Number" */ + /* 420 - "Number" */ LookaheadDFA { prod0: -1, transitions: &[ @@ -10413,343 +10427,302 @@ pub const LOOKAHEAD_AUTOMATA: &[LookaheadDFA; 640] = &[ ], k: 1, }, - /* 420 - "Operator01" */ + /* 421 - "Operator01" */ LookaheadDFA { prod0: 228, transitions: &[], k: 0, }, - /* 421 - "Operator01Term" */ + /* 422 - "Operator01Term" */ LookaheadDFA { prod0: 18, transitions: &[], k: 0, }, - /* 422 - "Operator01Token" */ + /* 423 - "Operator01Token" */ LookaheadDFA { prod0: 120, transitions: &[], k: 0, }, - /* 423 - "Operator02" */ + /* 424 - "Operator02" */ LookaheadDFA { prod0: 229, transitions: &[], k: 0, }, - /* 424 - "Operator02Term" */ + /* 425 - "Operator02Term" */ LookaheadDFA { prod0: 17, transitions: &[], k: 0, }, - /* 425 - "Operator02Token" */ + /* 426 - "Operator02Token" */ LookaheadDFA { prod0: 121, transitions: &[], k: 0, }, - /* 426 - "Operator03" */ + /* 427 - "Operator03" */ LookaheadDFA { prod0: 230, transitions: &[], k: 0, }, - /* 427 - "Operator03Term" */ + /* 428 - "Operator03Term" */ LookaheadDFA { prod0: 21, transitions: &[], k: 0, }, - /* 428 - "Operator03Token" */ + /* 429 - "Operator03Token" */ LookaheadDFA { prod0: 122, transitions: &[], k: 0, }, - /* 429 - "Operator04" */ + /* 430 - "Operator04" */ LookaheadDFA { prod0: 231, transitions: &[], k: 0, }, - /* 430 - "Operator04Term" */ + /* 431 - "Operator04Term" */ LookaheadDFA { prod0: 20, transitions: &[], k: 0, }, - /* 431 - "Operator04Token" */ + /* 432 - "Operator04Token" */ LookaheadDFA { prod0: 123, transitions: &[], k: 0, }, - /* 432 - "Operator05" */ + /* 433 - "Operator05" */ LookaheadDFA { prod0: 232, transitions: &[], k: 0, }, - /* 433 - "Operator05Term" */ + /* 434 - "Operator05Term" */ LookaheadDFA { prod0: 19, transitions: &[], k: 0, }, - /* 434 - "Operator05Token" */ + /* 435 - "Operator05Token" */ LookaheadDFA { prod0: 124, transitions: &[], k: 0, }, - /* 435 - "Operator06" */ + /* 436 - "Operator06" */ LookaheadDFA { prod0: 233, transitions: &[], k: 0, }, - /* 436 - "Operator06Term" */ + /* 437 - "Operator06Term" */ LookaheadDFA { prod0: 16, transitions: &[], k: 0, }, - /* 437 - "Operator06Token" */ + /* 438 - "Operator06Token" */ LookaheadDFA { prod0: 125, transitions: &[], k: 0, }, - /* 438 - "Operator07" */ + /* 439 - "Operator07" */ LookaheadDFA { prod0: 234, transitions: &[], k: 0, }, - /* 439 - "Operator07Term" */ + /* 440 - "Operator07Term" */ LookaheadDFA { prod0: 15, transitions: &[], k: 0, }, - /* 440 - "Operator07Token" */ + /* 441 - "Operator07Token" */ LookaheadDFA { prod0: 126, transitions: &[], k: 0, }, - /* 441 - "Operator08" */ + /* 442 - "Operator08" */ LookaheadDFA { prod0: 235, transitions: &[], k: 0, }, - /* 442 - "Operator08Term" */ + /* 443 - "Operator08Term" */ LookaheadDFA { prod0: 14, transitions: &[], k: 0, }, - /* 443 - "Operator08Token" */ + /* 444 - "Operator08Token" */ LookaheadDFA { prod0: 127, transitions: &[], k: 0, }, - /* 444 - "Operator09" */ + /* 445 - "Operator09" */ LookaheadDFA { prod0: 236, transitions: &[], k: 0, }, - /* 445 - "Operator09Term" */ + /* 446 - "Operator09Term" */ LookaheadDFA { prod0: 13, transitions: &[], k: 0, }, - /* 446 - "Operator09Token" */ + /* 447 - "Operator09Token" */ LookaheadDFA { prod0: 128, transitions: &[], k: 0, }, - /* 447 - "Operator10" */ + /* 448 - "Operator10" */ LookaheadDFA { prod0: 237, transitions: &[], k: 0, }, - /* 448 - "Operator10Term" */ + /* 449 - "Operator10Term" */ LookaheadDFA { prod0: 12, transitions: &[], k: 0, }, - /* 449 - "Operator10Token" */ + /* 450 - "Operator10Token" */ LookaheadDFA { prod0: 129, transitions: &[], k: 0, }, - /* 450 - "Operator11" */ + /* 451 - "Operator11" */ LookaheadDFA { prod0: 238, transitions: &[], k: 0, }, - /* 451 - "Operator11Term" */ + /* 452 - "Operator11Term" */ LookaheadDFA { prod0: 11, transitions: &[], k: 0, }, - /* 452 - "Operator11Token" */ + /* 453 - "Operator11Token" */ LookaheadDFA { prod0: 130, transitions: &[], k: 0, }, - /* 453 - "Output" */ + /* 454 - "Output" */ LookaheadDFA { prod0: 303, transitions: &[], k: 0, }, - /* 454 - "OutputTerm" */ + /* 455 - "OutputTerm" */ LookaheadDFA { prod0: 82, transitions: &[], k: 0, }, - /* 455 - "OutputToken" */ + /* 456 - "OutputToken" */ LookaheadDFA { prod0: 194, transitions: &[], k: 0, }, - /* 456 - "Outside" */ + /* 457 - "Outside" */ LookaheadDFA { prod0: 304, transitions: &[], k: 0, }, - /* 457 - "OutsideExpression" */ + /* 458 - "OutsideExpression" */ LookaheadDFA { prod0: 461, transitions: &[], k: 0, }, - /* 458 - "OutsideTerm" */ + /* 459 - "OutsideTerm" */ LookaheadDFA { prod0: 83, transitions: &[], k: 0, }, - /* 459 - "OutsideToken" */ + /* 460 - "OutsideToken" */ LookaheadDFA { prod0: 195, transitions: &[], k: 0, }, - /* 460 - "Package" */ + /* 461 - "Package" */ LookaheadDFA { prod0: 305, transitions: &[], k: 0, }, - /* 461 - "PackageDeclaration" */ + /* 462 - "PackageDeclaration" */ LookaheadDFA { - prod0: 865, + prod0: 867, transitions: &[], k: 0, }, - /* 462 - "PackageDeclarationList" */ + /* 463 - "PackageDeclarationList" */ LookaheadDFA { prod0: -1, transitions: &[ - Trans(0, 36, 1, 866), - Trans(0, 39, 1, 866), - Trans(0, 43, 2, 867), - Trans(0, 60, 1, 866), - Trans(0, 61, 1, 866), - Trans(0, 64, 1, 866), - Trans(0, 66, 1, 866), - Trans(0, 71, 1, 866), - Trans(0, 73, 1, 866), - Trans(0, 81, 1, 866), - Trans(0, 104, 1, 866), - Trans(0, 106, 1, 866), - Trans(0, 109, 1, 866), - Trans(0, 110, 1, 866), + Trans(0, 36, 1, 868), + Trans(0, 39, 1, 868), + Trans(0, 43, 2, 869), + Trans(0, 60, 1, 868), + Trans(0, 61, 1, 868), + Trans(0, 64, 1, 868), + Trans(0, 66, 1, 868), + Trans(0, 71, 1, 868), + Trans(0, 73, 1, 868), + Trans(0, 81, 1, 868), + Trans(0, 104, 1, 868), + Trans(0, 106, 1, 868), + Trans(0, 109, 1, 868), + Trans(0, 110, 1, 868), ], k: 1, }, - /* 463 - "PackageDeclarationOpt" */ + /* 464 - "PackageDeclarationOpt" */ LookaheadDFA { prod0: -1, - transitions: &[Trans(0, 89, 2, 871), Trans(0, 91, 1, 870)], + transitions: &[Trans(0, 89, 2, 873), Trans(0, 91, 1, 872)], k: 1, }, - /* 464 - "PackageDeclarationOpt0" */ + /* 465 - "PackageDeclarationOpt0" */ LookaheadDFA { prod0: -1, - transitions: &[Trans(0, 28, 1, 868), Trans(0, 39, 2, 869)], + transitions: &[Trans(0, 28, 1, 870), Trans(0, 39, 2, 871)], k: 1, }, - /* 465 - "PackageGroup" */ + /* 466 - "PackageGroup" */ LookaheadDFA { - prod0: 872, + prod0: 874, transitions: &[], k: 0, }, - /* 466 - "PackageGroupGroup" */ - LookaheadDFA { - prod0: -1, - transitions: &[ - Trans(0, 39, 1, 873), - Trans(0, 60, 2, 876), - Trans(0, 61, 2, 876), - Trans(0, 64, 2, 876), - Trans(0, 66, 2, 876), - Trans(0, 71, 2, 876), - Trans(0, 73, 2, 876), - Trans(0, 81, 2, 876), - Trans(0, 104, 2, 876), - Trans(0, 106, 2, 876), - Trans(0, 109, 2, 876), - Trans(0, 110, 2, 876), - ], - k: 1, - }, - /* 467 - "PackageGroupGroupList" */ + /* 467 - "PackageGroupGroup" */ LookaheadDFA { prod0: -1, transitions: &[ - Trans(0, 36, 1, 874), - Trans(0, 39, 1, 874), - Trans(0, 43, 2, 875), - Trans(0, 60, 1, 874), - Trans(0, 61, 1, 874), - Trans(0, 64, 1, 874), - Trans(0, 66, 1, 874), - Trans(0, 71, 1, 874), - Trans(0, 73, 1, 874), - Trans(0, 81, 1, 874), - Trans(0, 104, 1, 874), - Trans(0, 106, 1, 874), - Trans(0, 109, 1, 874), - Trans(0, 110, 1, 874), - ], - k: 1, - }, - /* 468 - "PackageGroupList" */ - LookaheadDFA { - prod0: -1, - transitions: &[ - Trans(0, 36, 1, 877), - Trans(0, 39, 2, 878), + Trans(0, 39, 1, 875), Trans(0, 60, 2, 878), Trans(0, 61, 2, 878), Trans(0, 64, 2, 878), @@ -10764,137 +10737,178 @@ pub const LOOKAHEAD_AUTOMATA: &[LookaheadDFA; 640] = &[ ], k: 1, }, - /* 469 - "PackageItem" */ + /* 468 - "PackageGroupGroupList" */ + LookaheadDFA { + prod0: -1, + transitions: &[ + Trans(0, 36, 1, 876), + Trans(0, 39, 1, 876), + Trans(0, 43, 2, 877), + Trans(0, 60, 1, 876), + Trans(0, 61, 1, 876), + Trans(0, 64, 1, 876), + Trans(0, 66, 1, 876), + Trans(0, 71, 1, 876), + Trans(0, 73, 1, 876), + Trans(0, 81, 1, 876), + Trans(0, 104, 1, 876), + Trans(0, 106, 1, 876), + Trans(0, 109, 1, 876), + Trans(0, 110, 1, 876), + ], + k: 1, + }, + /* 469 - "PackageGroupList" */ LookaheadDFA { prod0: -1, transitions: &[ - Trans(0, 60, 4, 882), - Trans(0, 61, 8, 886), - Trans(0, 64, 10, 888), - Trans(0, 66, 6, 884), - Trans(0, 71, 7, 885), - Trans(0, 73, 9, 887), + Trans(0, 36, 1, 879), + Trans(0, 39, 2, 880), + Trans(0, 60, 2, 880), + Trans(0, 61, 2, 880), + Trans(0, 64, 2, 880), + Trans(0, 66, 2, 880), + Trans(0, 71, 2, 880), + Trans(0, 73, 2, 880), Trans(0, 81, 2, 880), - Trans(0, 104, 5, 883), - Trans(0, 106, 3, 881), - Trans(0, 109, 5, 883), - Trans(0, 110, 1, 879), + Trans(0, 104, 2, 880), + Trans(0, 106, 2, 880), + Trans(0, 109, 2, 880), + Trans(0, 110, 2, 880), + ], + k: 1, + }, + /* 470 - "PackageItem" */ + LookaheadDFA { + prod0: -1, + transitions: &[ + Trans(0, 60, 4, 884), + Trans(0, 61, 8, 888), + Trans(0, 64, 10, 890), + Trans(0, 66, 6, 886), + Trans(0, 71, 7, 887), + Trans(0, 73, 9, 889), + Trans(0, 81, 2, 882), + Trans(0, 104, 5, 885), + Trans(0, 106, 3, 883), + Trans(0, 109, 5, 885), + Trans(0, 110, 1, 881), ], k: 1, }, - /* 470 - "PackageTerm" */ + /* 471 - "PackageTerm" */ LookaheadDFA { prod0: 84, transitions: &[], k: 0, }, - /* 471 - "PackageToken" */ + /* 472 - "PackageToken" */ LookaheadDFA { prod0: 196, transitions: &[], k: 0, }, - /* 472 - "Param" */ + /* 473 - "Param" */ LookaheadDFA { prod0: 306, transitions: &[], k: 0, }, - /* 473 - "ParamTerm" */ + /* 474 - "ParamTerm" */ LookaheadDFA { prod0: 85, transitions: &[], k: 0, }, - /* 474 - "ParamToken" */ + /* 475 - "ParamToken" */ LookaheadDFA { prod0: 197, transitions: &[], k: 0, }, - /* 475 - "PlusColon" */ + /* 476 - "PlusColon" */ LookaheadDFA { prod0: 256, transitions: &[], k: 0, }, - /* 476 - "PlusColonTerm" */ + /* 477 - "PlusColonTerm" */ LookaheadDFA { prod0: 9, transitions: &[], k: 0, }, - /* 477 - "PlusColonToken" */ + /* 478 - "PlusColonToken" */ LookaheadDFA { prod0: 148, transitions: &[], k: 0, }, - /* 478 - "PortDeclaration" */ + /* 479 - "PortDeclaration" */ LookaheadDFA { - prod0: 726, + prod0: 728, transitions: &[], k: 0, }, - /* 479 - "PortDeclarationGroup" */ + /* 480 - "PortDeclarationGroup" */ LookaheadDFA { - prod0: 734, + prod0: 736, transitions: &[], k: 0, }, - /* 480 - "PortDeclarationGroupGroup" */ + /* 481 - "PortDeclarationGroupGroup" */ LookaheadDFA { prod0: -1, - transitions: &[Trans(0, 39, 1, 735), Trans(0, 112, 2, 736)], + transitions: &[Trans(0, 39, 1, 737), Trans(0, 112, 2, 738)], k: 1, }, - /* 481 - "PortDeclarationGroupList" */ + /* 482 - "PortDeclarationGroupList" */ LookaheadDFA { prod0: -1, transitions: &[ - Trans(0, 36, 1, 737), - Trans(0, 39, 2, 738), - Trans(0, 112, 2, 738), + Trans(0, 36, 1, 739), + Trans(0, 39, 2, 740), + Trans(0, 112, 2, 740), ], k: 1, }, - /* 482 - "PortDeclarationItem" */ + /* 483 - "PortDeclarationItem" */ LookaheadDFA { - prod0: 739, + prod0: 741, transitions: &[], k: 0, }, - /* 483 - "PortDeclarationItemGroup" */ + /* 484 - "PortDeclarationItemGroup" */ LookaheadDFA { prod0: -1, transitions: &[ - Trans(0, 74, 1, 740), - Trans(0, 75, 1, 740), - Trans(0, 78, 2, 741), - Trans(0, 84, 1, 740), - Trans(0, 87, 1, 740), - Trans(0, 92, 1, 740), + Trans(0, 74, 1, 742), + Trans(0, 75, 1, 742), + Trans(0, 78, 2, 743), + Trans(0, 84, 1, 742), + Trans(0, 87, 1, 742), + Trans(0, 92, 1, 742), ], k: 1, }, - /* 484 - "PortDeclarationItemOpt" */ + /* 485 - "PortDeclarationItemOpt" */ LookaheadDFA { prod0: -1, transitions: &[ - Trans(0, 31, 2, 743), - Trans(0, 40, 1, 742), - Trans(0, 43, 2, 743), - Trans(0, 45, 2, 743), + Trans(0, 31, 2, 745), + Trans(0, 40, 1, 744), + Trans(0, 43, 2, 745), + Trans(0, 45, 2, 745), ], k: 1, }, - /* 485 - "PortDeclarationList" */ + /* 486 - "PortDeclarationList" */ LookaheadDFA { - prod0: 729, + prod0: 731, transitions: &[], k: 0, }, - /* 486 - "PortDeclarationListList" */ + /* 487 - "PortDeclarationListList" */ LookaheadDFA { prod0: -1, transitions: &[ @@ -10907,19 +10921,19 @@ pub const LOOKAHEAD_AUTOMATA: &[LookaheadDFA; 640] = &[ Trans(1, 43, 15, -1), Trans(1, 45, 16, -1), Trans(1, 112, 5, -1), - Trans(2, 5, 3, 730), - Trans(2, 40, 3, 730), - Trans(4, 5, 3, 730), - Trans(4, 36, 3, 730), - Trans(4, 39, 3, 730), - Trans(4, 112, 3, 730), - Trans(5, 5, 3, 730), - Trans(5, 30, 3, 730), - Trans(6, 36, 3, 730), - Trans(6, 39, 3, 730), - Trans(6, 43, 12, 731), - Trans(6, 45, 12, 731), - Trans(6, 112, 3, 730), + Trans(2, 5, 3, 732), + Trans(2, 40, 3, 732), + Trans(4, 5, 3, 732), + Trans(4, 36, 3, 732), + Trans(4, 39, 3, 732), + Trans(4, 112, 3, 732), + Trans(5, 5, 3, 732), + Trans(5, 30, 3, 732), + Trans(6, 36, 3, 732), + Trans(6, 39, 3, 732), + Trans(6, 43, 12, 733), + Trans(6, 45, 12, 733), + Trans(6, 112, 3, 732), Trans(7, 5, 13, -1), Trans(7, 31, 14, -1), Trans(7, 43, 15, -1), @@ -10927,225 +10941,225 @@ pub const LOOKAHEAD_AUTOMATA: &[LookaheadDFA; 640] = &[ Trans(8, 5, 9, -1), Trans(8, 13, 10, -1), Trans(8, 39, 11, -1), - Trans(9, 13, 12, 731), - Trans(9, 39, 12, 731), - Trans(10, 5, 12, 731), - Trans(10, 52, 12, 731), - Trans(10, 54, 12, 731), - Trans(10, 55, 12, 731), - Trans(10, 56, 12, 731), - Trans(10, 62, 12, 731), - Trans(10, 63, 12, 731), - Trans(10, 67, 12, 731), - Trans(10, 68, 12, 731), - Trans(10, 82, 12, 731), - Trans(10, 94, 12, 731), - Trans(10, 95, 12, 731), - Trans(10, 96, 12, 731), - Trans(10, 97, 12, 731), - Trans(10, 98, 12, 731), - Trans(10, 101, 12, 731), - Trans(10, 103, 12, 731), - Trans(10, 105, 12, 731), - Trans(10, 107, 12, 731), - Trans(10, 108, 12, 731), - Trans(10, 111, 12, 731), - Trans(10, 112, 12, 731), - Trans(11, 5, 12, 731), - Trans(11, 30, 12, 731), - Trans(11, 36, 12, 731), - Trans(11, 39, 12, 731), - Trans(11, 43, 12, 731), - Trans(11, 48, 12, 731), - Trans(11, 49, 12, 731), - Trans(11, 50, 12, 731), - Trans(11, 53, 12, 731), - Trans(11, 60, 12, 731), - Trans(11, 64, 12, 731), - Trans(11, 65, 12, 731), - Trans(11, 66, 12, 731), - Trans(11, 69, 12, 731), - Trans(11, 70, 12, 731), - Trans(11, 71, 12, 731), - Trans(11, 73, 12, 731), - Trans(11, 77, 12, 731), - Trans(11, 80, 12, 731), - Trans(11, 81, 12, 731), - Trans(11, 99, 12, 731), - Trans(11, 100, 12, 731), - Trans(11, 104, 12, 731), - Trans(11, 106, 12, 731), - Trans(11, 109, 12, 731), - Trans(11, 110, 12, 731), - Trans(11, 111, 12, 731), - Trans(11, 112, 12, 731), - Trans(13, 31, 12, 731), - Trans(13, 43, 12, 731), - Trans(13, 45, 12, 731), - Trans(14, 5, 12, 731), - Trans(14, 36, 12, 731), - Trans(14, 39, 12, 731), - Trans(14, 43, 12, 731), - Trans(14, 45, 12, 731), - Trans(14, 112, 12, 731), - Trans(15, 5, 12, 731), - Trans(15, 31, 12, 731), - Trans(15, 43, 12, 731), - Trans(15, 45, 12, 731), - Trans(16, 5, 12, 731), - Trans(16, 13, 12, 731), - Trans(16, 39, 12, 731), + Trans(9, 13, 12, 733), + Trans(9, 39, 12, 733), + Trans(10, 5, 12, 733), + Trans(10, 52, 12, 733), + Trans(10, 54, 12, 733), + Trans(10, 55, 12, 733), + Trans(10, 56, 12, 733), + Trans(10, 62, 12, 733), + Trans(10, 63, 12, 733), + Trans(10, 67, 12, 733), + Trans(10, 68, 12, 733), + Trans(10, 82, 12, 733), + Trans(10, 94, 12, 733), + Trans(10, 95, 12, 733), + Trans(10, 96, 12, 733), + Trans(10, 97, 12, 733), + Trans(10, 98, 12, 733), + Trans(10, 101, 12, 733), + Trans(10, 103, 12, 733), + Trans(10, 105, 12, 733), + Trans(10, 107, 12, 733), + Trans(10, 108, 12, 733), + Trans(10, 111, 12, 733), + Trans(10, 112, 12, 733), + Trans(11, 5, 12, 733), + Trans(11, 30, 12, 733), + Trans(11, 36, 12, 733), + Trans(11, 39, 12, 733), + Trans(11, 43, 12, 733), + Trans(11, 48, 12, 733), + Trans(11, 49, 12, 733), + Trans(11, 50, 12, 733), + Trans(11, 53, 12, 733), + Trans(11, 60, 12, 733), + Trans(11, 64, 12, 733), + Trans(11, 65, 12, 733), + Trans(11, 66, 12, 733), + Trans(11, 69, 12, 733), + Trans(11, 70, 12, 733), + Trans(11, 71, 12, 733), + Trans(11, 73, 12, 733), + Trans(11, 77, 12, 733), + Trans(11, 80, 12, 733), + Trans(11, 81, 12, 733), + Trans(11, 99, 12, 733), + Trans(11, 100, 12, 733), + Trans(11, 104, 12, 733), + Trans(11, 106, 12, 733), + Trans(11, 109, 12, 733), + Trans(11, 110, 12, 733), + Trans(11, 111, 12, 733), + Trans(11, 112, 12, 733), + Trans(13, 31, 12, 733), + Trans(13, 43, 12, 733), + Trans(13, 45, 12, 733), + Trans(14, 5, 12, 733), + Trans(14, 36, 12, 733), + Trans(14, 39, 12, 733), + Trans(14, 43, 12, 733), + Trans(14, 45, 12, 733), + Trans(14, 112, 12, 733), + Trans(15, 5, 12, 733), + Trans(15, 31, 12, 733), + Trans(15, 43, 12, 733), + Trans(15, 45, 12, 733), + Trans(16, 5, 12, 733), + Trans(16, 13, 12, 733), + Trans(16, 39, 12, 733), ], k: 3, }, - /* 487 - "PortDeclarationListOpt" */ + /* 488 - "PortDeclarationListOpt" */ LookaheadDFA { prod0: -1, transitions: &[ - Trans(0, 31, 1, 732), - Trans(0, 43, 2, 733), - Trans(0, 45, 2, 733), + Trans(0, 31, 1, 734), + Trans(0, 43, 2, 735), + Trans(0, 45, 2, 735), ], k: 1, }, - /* 488 - "PortDeclarationOpt" */ + /* 489 - "PortDeclarationOpt" */ LookaheadDFA { prod0: -1, transitions: &[ - Trans(0, 36, 1, 727), - Trans(0, 39, 1, 727), - Trans(0, 45, 2, 728), - Trans(0, 112, 1, 727), + Trans(0, 36, 1, 729), + Trans(0, 39, 1, 729), + Trans(0, 45, 2, 730), + Trans(0, 112, 1, 729), ], k: 1, }, - /* 489 - "Pub" */ + /* 490 - "Pub" */ LookaheadDFA { prod0: 307, transitions: &[], k: 0, }, - /* 490 - "PubTerm" */ + /* 491 - "PubTerm" */ LookaheadDFA { prod0: 86, transitions: &[], k: 0, }, - /* 491 - "PubToken" */ + /* 492 - "PubToken" */ LookaheadDFA { prod0: 198, transitions: &[], k: 0, }, - /* 492 - "QuoteLBrace" */ + /* 493 - "QuoteLBrace" */ LookaheadDFA { prod0: 249, transitions: &[], k: 0, }, - /* 493 - "QuoteLBraceTerm" */ + /* 494 - "QuoteLBraceTerm" */ LookaheadDFA { prod0: 33, transitions: &[], k: 0, }, - /* 494 - "QuoteLBraceToken" */ + /* 495 - "QuoteLBraceToken" */ LookaheadDFA { prod0: 141, transitions: &[], k: 0, }, - /* 495 - "RAngle" */ + /* 496 - "RAngle" */ LookaheadDFA { prod0: 257, transitions: &[], k: 0, }, - /* 496 - "RAngleTerm" */ + /* 497 - "RAngleTerm" */ LookaheadDFA { prod0: 37, transitions: &[], k: 0, }, - /* 497 - "RAngleToken" */ + /* 498 - "RAngleToken" */ LookaheadDFA { prod0: 149, transitions: &[], k: 0, }, - /* 498 - "RBrace" */ + /* 499 - "RBrace" */ LookaheadDFA { prod0: 258, transitions: &[], k: 0, }, - /* 499 - "RBraceTerm" */ + /* 500 - "RBraceTerm" */ LookaheadDFA { prod0: 38, transitions: &[], k: 0, }, - /* 500 - "RBraceToken" */ + /* 501 - "RBraceToken" */ LookaheadDFA { prod0: 150, transitions: &[], k: 0, }, - /* 501 - "RBracket" */ + /* 502 - "RBracket" */ LookaheadDFA { prod0: 259, transitions: &[], k: 0, }, - /* 502 - "RBracketTerm" */ + /* 503 - "RBracketTerm" */ LookaheadDFA { prod0: 39, transitions: &[], k: 0, }, - /* 503 - "RBracketToken" */ + /* 504 - "RBracketToken" */ LookaheadDFA { prod0: 151, transitions: &[], k: 0, }, - /* 504 - "RParen" */ + /* 505 - "RParen" */ LookaheadDFA { prod0: 260, transitions: &[], k: 0, }, - /* 505 - "RParenTerm" */ + /* 506 - "RParenTerm" */ LookaheadDFA { prod0: 40, transitions: &[], k: 0, }, - /* 506 - "RParenToken" */ + /* 507 - "RParenToken" */ LookaheadDFA { prod0: 152, transitions: &[], k: 0, }, - /* 507 - "Range" */ + /* 508 - "Range" */ LookaheadDFA { prod0: 481, transitions: &[], k: 0, }, - /* 508 - "RangeItem" */ + /* 509 - "RangeItem" */ LookaheadDFA { prod0: 467, transitions: &[], k: 0, }, - /* 509 - "RangeList" */ + /* 510 - "RangeList" */ LookaheadDFA { prod0: 462, transitions: &[], k: 0, }, - /* 510 - "RangeListList" */ + /* 511 - "RangeListList" */ LookaheadDFA { prod0: -1, transitions: &[ @@ -11717,19 +11731,19 @@ pub const LOOKAHEAD_AUTOMATA: &[LookaheadDFA; 640] = &[ ], k: 3, }, - /* 511 - "RangeListOpt" */ + /* 512 - "RangeListOpt" */ LookaheadDFA { prod0: -1, transitions: &[Trans(0, 31, 1, 465), Trans(0, 43, 2, 466)], k: 1, }, - /* 512 - "RangeOperator" */ + /* 513 - "RangeOperator" */ LookaheadDFA { prod0: -1, transitions: &[Trans(0, 32, 2, 485), Trans(0, 33, 1, 484)], k: 1, }, - /* 513 - "RangeOpt" */ + /* 514 - "RangeOpt" */ LookaheadDFA { prod0: -1, transitions: &[ @@ -11743,169 +11757,169 @@ pub const LOOKAHEAD_AUTOMATA: &[LookaheadDFA; 640] = &[ ], k: 1, }, - /* 514 - "RealNumber" */ + /* 515 - "RealNumber" */ LookaheadDFA { prod0: -1, transitions: &[Trans(0, 7, 2, 334), Trans(0, 8, 1, 333)], k: 1, }, - /* 515 - "Ref" */ + /* 516 - "Ref" */ LookaheadDFA { prod0: 308, transitions: &[], k: 0, }, - /* 516 - "RefTerm" */ + /* 517 - "RefTerm" */ LookaheadDFA { prod0: 87, transitions: &[], k: 0, }, - /* 517 - "RefToken" */ + /* 518 - "RefToken" */ LookaheadDFA { prod0: 199, transitions: &[], k: 0, }, - /* 518 - "Repeat" */ + /* 519 - "Repeat" */ LookaheadDFA { prod0: 309, transitions: &[], k: 0, }, - /* 519 - "RepeatTerm" */ + /* 520 - "RepeatTerm" */ LookaheadDFA { prod0: 88, transitions: &[], k: 0, }, - /* 520 - "RepeatToken" */ + /* 521 - "RepeatToken" */ LookaheadDFA { prod0: 200, transitions: &[], k: 0, }, - /* 521 - "Reset" */ + /* 522 - "Reset" */ LookaheadDFA { prod0: 310, transitions: &[], k: 0, }, - /* 522 - "ResetAsyncHigh" */ + /* 523 - "ResetAsyncHigh" */ LookaheadDFA { prod0: 311, transitions: &[], k: 0, }, - /* 523 - "ResetAsyncHighTerm" */ + /* 524 - "ResetAsyncHighTerm" */ LookaheadDFA { prod0: 90, transitions: &[], k: 0, }, - /* 524 - "ResetAsyncHighToken" */ + /* 525 - "ResetAsyncHighToken" */ LookaheadDFA { prod0: 202, transitions: &[], k: 0, }, - /* 525 - "ResetAsyncLow" */ + /* 526 - "ResetAsyncLow" */ LookaheadDFA { prod0: 312, transitions: &[], k: 0, }, - /* 526 - "ResetAsyncLowTerm" */ + /* 527 - "ResetAsyncLowTerm" */ LookaheadDFA { prod0: 91, transitions: &[], k: 0, }, - /* 527 - "ResetAsyncLowToken" */ + /* 528 - "ResetAsyncLowToken" */ LookaheadDFA { prod0: 203, transitions: &[], k: 0, }, - /* 528 - "ResetSyncHigh" */ + /* 529 - "ResetSyncHigh" */ LookaheadDFA { prod0: 313, transitions: &[], k: 0, }, - /* 529 - "ResetSyncHighTerm" */ + /* 530 - "ResetSyncHighTerm" */ LookaheadDFA { prod0: 92, transitions: &[], k: 0, }, - /* 530 - "ResetSyncHighToken" */ + /* 531 - "ResetSyncHighToken" */ LookaheadDFA { prod0: 204, transitions: &[], k: 0, }, - /* 531 - "ResetSyncLow" */ + /* 532 - "ResetSyncLow" */ LookaheadDFA { prod0: 314, transitions: &[], k: 0, }, - /* 532 - "ResetSyncLowTerm" */ + /* 533 - "ResetSyncLowTerm" */ LookaheadDFA { prod0: 93, transitions: &[], k: 0, }, - /* 533 - "ResetSyncLowToken" */ + /* 534 - "ResetSyncLowToken" */ LookaheadDFA { prod0: 205, transitions: &[], k: 0, }, - /* 534 - "ResetTerm" */ + /* 535 - "ResetTerm" */ LookaheadDFA { prod0: 89, transitions: &[], k: 0, }, - /* 535 - "ResetToken" */ + /* 536 - "ResetToken" */ LookaheadDFA { prod0: 201, transitions: &[], k: 0, }, - /* 536 - "Return" */ + /* 537 - "Return" */ LookaheadDFA { prod0: 315, transitions: &[], k: 0, }, - /* 537 - "ReturnStatement" */ + /* 538 - "ReturnStatement" */ LookaheadDFA { prod0: 554, transitions: &[], k: 0, }, - /* 538 - "ReturnTerm" */ + /* 539 - "ReturnTerm" */ LookaheadDFA { prod0: 94, transitions: &[], k: 0, }, - /* 539 - "ReturnToken" */ + /* 540 - "ReturnToken" */ LookaheadDFA { prod0: 206, transitions: &[], k: 0, }, - /* 540 - "ScalarType" */ + /* 541 - "ScalarType" */ LookaheadDFA { prod0: 509, transitions: &[], k: 0, }, - /* 541 - "ScalarTypeGroup" */ + /* 542 - "ScalarTypeGroup" */ LookaheadDFA { prod0: -1, transitions: &[ @@ -11931,7 +11945,7 @@ pub const LOOKAHEAD_AUTOMATA: &[LookaheadDFA; 640] = &[ ], k: 1, }, - /* 542 - "ScalarTypeList" */ + /* 543 - "ScalarTypeList" */ LookaheadDFA { prod0: -1, transitions: &[ @@ -11959,19 +11973,19 @@ pub const LOOKAHEAD_AUTOMATA: &[LookaheadDFA; 640] = &[ ], k: 1, }, - /* 543 - "ScopedIdentifier" */ + /* 544 - "ScopedIdentifier" */ LookaheadDFA { prod0: 342, transitions: &[], k: 0, }, - /* 544 - "ScopedIdentifierGroup" */ + /* 545 - "ScopedIdentifierGroup" */ LookaheadDFA { prod0: -1, transitions: &[Trans(0, 111, 1, 343), Trans(0, 112, 2, 344)], k: 1, }, - /* 545 - "ScopedIdentifierList" */ + /* 546 - "ScopedIdentifierList" */ LookaheadDFA { prod0: -1, transitions: &[ @@ -14967,7 +14981,7 @@ pub const LOOKAHEAD_AUTOMATA: &[LookaheadDFA; 640] = &[ ], k: 3, }, - /* 546 - "ScopedIdentifierOpt" */ + /* 547 - "ScopedIdentifierOpt" */ LookaheadDFA { prod0: -1, transitions: &[ @@ -15011,7 +15025,7 @@ pub const LOOKAHEAD_AUTOMATA: &[LookaheadDFA; 640] = &[ ], k: 1, }, - /* 547 - "ScopedIdentifierOpt0" */ + /* 548 - "ScopedIdentifierOpt0" */ LookaheadDFA { prod0: -1, transitions: &[ @@ -15055,13 +15069,13 @@ pub const LOOKAHEAD_AUTOMATA: &[LookaheadDFA; 640] = &[ ], k: 1, }, - /* 548 - "Select" */ + /* 549 - "Select" */ LookaheadDFA { prod0: 468, transitions: &[], k: 0, }, - /* 549 - "SelectOperator" */ + /* 550 - "SelectOperator" */ LookaheadDFA { prod0: -1, transitions: &[ @@ -15072,7 +15086,7 @@ pub const LOOKAHEAD_AUTOMATA: &[LookaheadDFA; 640] = &[ ], k: 1, }, - /* 550 - "SelectOpt" */ + /* 551 - "SelectOpt" */ LookaheadDFA { prod0: -1, transitions: &[ @@ -15084,73 +15098,73 @@ pub const LOOKAHEAD_AUTOMATA: &[LookaheadDFA; 640] = &[ ], k: 1, }, - /* 551 - "Semicolon" */ + /* 552 - "Semicolon" */ LookaheadDFA { prod0: 261, transitions: &[], k: 0, }, - /* 552 - "SemicolonTerm" */ + /* 553 - "SemicolonTerm" */ LookaheadDFA { prod0: 41, transitions: &[], k: 0, }, - /* 553 - "SemicolonToken" */ + /* 554 - "SemicolonToken" */ LookaheadDFA { prod0: 153, transitions: &[], k: 0, }, - /* 554 - "Signed" */ + /* 555 - "Signed" */ LookaheadDFA { prod0: 316, transitions: &[], k: 0, }, - /* 555 - "SignedTerm" */ + /* 556 - "SignedTerm" */ LookaheadDFA { prod0: 96, transitions: &[], k: 0, }, - /* 556 - "SignedToken" */ + /* 557 - "SignedToken" */ LookaheadDFA { prod0: 208, transitions: &[], k: 0, }, - /* 557 - "Star" */ + /* 558 - "Star" */ LookaheadDFA { prod0: 262, transitions: &[], k: 0, }, - /* 558 - "StarTerm" */ + /* 559 - "StarTerm" */ LookaheadDFA { prod0: 42, transitions: &[], k: 0, }, - /* 559 - "StarToken" */ + /* 560 - "StarToken" */ LookaheadDFA { prod0: 154, transitions: &[], k: 0, }, - /* 560 - "Start" */ + /* 561 - "Start" */ LookaheadDFA { prod0: 220, transitions: &[], k: 0, }, - /* 561 - "StartToken" */ + /* 562 - "StartToken" */ LookaheadDFA { prod0: 112, transitions: &[], k: 0, }, - /* 562 - "Statement" */ + /* 563 - "Statement" */ LookaheadDFA { prod0: -1, transitions: &[ @@ -15166,131 +15180,131 @@ pub const LOOKAHEAD_AUTOMATA: &[LookaheadDFA; 640] = &[ ], k: 1, }, - /* 563 - "Step" */ + /* 564 - "Step" */ LookaheadDFA { prod0: 317, transitions: &[], k: 0, }, - /* 564 - "StepTerm" */ + /* 565 - "StepTerm" */ LookaheadDFA { prod0: 97, transitions: &[], k: 0, }, - /* 565 - "StepToken" */ + /* 566 - "StepToken" */ LookaheadDFA { prod0: 209, transitions: &[], k: 0, }, - /* 566 - "Strin" */ + /* 567 - "Strin" */ LookaheadDFA { prod0: 318, transitions: &[], k: 0, }, - /* 567 - "StringLiteral" */ + /* 568 - "StringLiteral" */ LookaheadDFA { prod0: 221, transitions: &[], k: 0, }, - /* 568 - "StringLiteralTerm" */ + /* 569 - "StringLiteralTerm" */ LookaheadDFA { prod0: 1, transitions: &[], k: 0, }, - /* 569 - "StringLiteralToken" */ + /* 570 - "StringLiteralToken" */ LookaheadDFA { prod0: 113, transitions: &[], k: 0, }, - /* 570 - "StringTerm" */ + /* 571 - "StringTerm" */ LookaheadDFA { prod0: 98, transitions: &[], k: 0, }, - /* 571 - "StringToken" */ + /* 572 - "StringToken" */ LookaheadDFA { prod0: 210, transitions: &[], k: 0, }, - /* 572 - "Struct" */ + /* 573 - "Struct" */ LookaheadDFA { prod0: 319, transitions: &[], k: 0, }, - /* 573 - "StructTerm" */ + /* 574 - "StructTerm" */ LookaheadDFA { prod0: 99, transitions: &[], k: 0, }, - /* 574 - "StructToken" */ + /* 575 - "StructToken" */ LookaheadDFA { prod0: 211, transitions: &[], k: 0, }, - /* 575 - "StructUnion" */ + /* 576 - "StructUnion" */ LookaheadDFA { prod0: -1, - transitions: &[Trans(0, 104, 1, 629), Trans(0, 109, 2, 630)], + transitions: &[Trans(0, 104, 1, 631), Trans(0, 109, 2, 632)], k: 1, }, - /* 576 - "StructUnionDeclaration" */ + /* 577 - "StructUnionDeclaration" */ LookaheadDFA { - prod0: 631, + prod0: 633, transitions: &[], k: 0, }, - /* 577 - "StructUnionDeclarationOpt" */ + /* 578 - "StructUnionDeclarationOpt" */ LookaheadDFA { prod0: -1, - transitions: &[Trans(0, 28, 1, 632), Trans(0, 39, 2, 633)], + transitions: &[Trans(0, 28, 1, 634), Trans(0, 39, 2, 635)], k: 1, }, - /* 578 - "StructUnionGroup" */ + /* 579 - "StructUnionGroup" */ LookaheadDFA { - prod0: 639, + prod0: 641, transitions: &[], k: 0, }, - /* 579 - "StructUnionGroupGroup" */ + /* 580 - "StructUnionGroupGroup" */ LookaheadDFA { prod0: -1, - transitions: &[Trans(0, 39, 1, 640), Trans(0, 112, 2, 641)], + transitions: &[Trans(0, 39, 1, 642), Trans(0, 112, 2, 643)], k: 1, }, - /* 580 - "StructUnionGroupList" */ + /* 581 - "StructUnionGroupList" */ LookaheadDFA { prod0: -1, transitions: &[ - Trans(0, 36, 1, 642), - Trans(0, 39, 2, 643), - Trans(0, 112, 2, 643), + Trans(0, 36, 1, 644), + Trans(0, 39, 2, 645), + Trans(0, 112, 2, 645), ], k: 1, }, - /* 581 - "StructUnionItem" */ + /* 582 - "StructUnionItem" */ LookaheadDFA { - prod0: 644, + prod0: 646, transitions: &[], k: 0, }, - /* 582 - "StructUnionList" */ + /* 583 - "StructUnionList" */ LookaheadDFA { - prod0: 634, + prod0: 636, transitions: &[], k: 0, }, - /* 583 - "StructUnionListList" */ + /* 584 - "StructUnionListList" */ LookaheadDFA { prod0: -1, transitions: &[ @@ -15301,18 +15315,18 @@ pub const LOOKAHEAD_AUTOMATA: &[LookaheadDFA; 640] = &[ Trans(1, 39, 4, -1), Trans(1, 43, 20, -1), Trans(1, 112, 5, -1), - Trans(2, 5, 3, 635), - Trans(2, 40, 3, 635), - Trans(4, 5, 3, 635), - Trans(4, 36, 3, 635), - Trans(4, 39, 3, 635), - Trans(4, 112, 3, 635), - Trans(5, 5, 3, 635), - Trans(5, 30, 3, 635), - Trans(6, 36, 3, 635), - Trans(6, 39, 3, 635), - Trans(6, 43, 19, 636), - Trans(6, 112, 3, 635), + Trans(2, 5, 3, 637), + Trans(2, 40, 3, 637), + Trans(4, 5, 3, 637), + Trans(4, 36, 3, 637), + Trans(4, 39, 3, 637), + Trans(4, 112, 3, 637), + Trans(5, 5, 3, 637), + Trans(5, 30, 3, 637), + Trans(6, 36, 3, 637), + Trans(6, 39, 3, 637), + Trans(6, 43, 19, 638), + Trans(6, 112, 3, 637), Trans(7, 5, 8, -1), Trans(7, 30, 9, -1), Trans(7, 31, 10, -1), @@ -15338,196 +15352,196 @@ pub const LOOKAHEAD_AUTOMATA: &[LookaheadDFA; 640] = &[ Trans(7, 106, 9, -1), Trans(7, 109, 9, -1), Trans(7, 110, 9, -1), - Trans(8, 30, 19, 636), - Trans(8, 31, 19, 636), - Trans(8, 36, 19, 636), - Trans(8, 39, 19, 636), - Trans(8, 43, 19, 636), - Trans(8, 48, 19, 636), - Trans(8, 49, 19, 636), - Trans(8, 50, 19, 636), - Trans(8, 60, 19, 636), - Trans(8, 61, 19, 636), - Trans(8, 64, 19, 636), - Trans(8, 65, 19, 636), - Trans(8, 66, 19, 636), - Trans(8, 70, 19, 636), - Trans(8, 71, 19, 636), - Trans(8, 73, 19, 636), - Trans(8, 77, 19, 636), - Trans(8, 80, 19, 636), - Trans(8, 81, 19, 636), - Trans(8, 84, 19, 636), - Trans(8, 104, 19, 636), - Trans(8, 106, 19, 636), - Trans(8, 109, 19, 636), - Trans(8, 110, 19, 636), - Trans(9, 5, 19, 636), - Trans(9, 112, 19, 636), - Trans(10, 5, 19, 636), - Trans(10, 36, 19, 636), - Trans(10, 39, 19, 636), - Trans(10, 43, 19, 636), - Trans(10, 112, 19, 636), - Trans(11, 5, 19, 636), - Trans(11, 40, 19, 636), - Trans(12, 5, 19, 636), - Trans(12, 30, 19, 636), - Trans(12, 36, 19, 636), - Trans(12, 39, 19, 636), - Trans(12, 43, 19, 636), - Trans(12, 48, 19, 636), - Trans(12, 49, 19, 636), - Trans(12, 50, 19, 636), - Trans(12, 60, 19, 636), - Trans(12, 61, 19, 636), - Trans(12, 64, 19, 636), - Trans(12, 65, 19, 636), - Trans(12, 66, 19, 636), - Trans(12, 70, 19, 636), - Trans(12, 71, 19, 636), - Trans(12, 73, 19, 636), - Trans(12, 77, 19, 636), - Trans(12, 80, 19, 636), - Trans(12, 81, 19, 636), - Trans(12, 84, 19, 636), - Trans(12, 104, 19, 636), - Trans(12, 106, 19, 636), - Trans(12, 109, 19, 636), - Trans(12, 110, 19, 636), - Trans(13, 0, 19, 636), - Trans(13, 5, 19, 636), - Trans(13, 30, 19, 636), - Trans(13, 31, 19, 636), - Trans(13, 36, 19, 636), - Trans(13, 39, 19, 636), - Trans(13, 43, 19, 636), - Trans(13, 48, 19, 636), - Trans(13, 49, 19, 636), - Trans(13, 50, 19, 636), - Trans(13, 58, 19, 636), - Trans(13, 59, 19, 636), - Trans(13, 60, 19, 636), - Trans(13, 61, 19, 636), - Trans(13, 64, 19, 636), - Trans(13, 65, 19, 636), - Trans(13, 66, 19, 636), - Trans(13, 70, 19, 636), - Trans(13, 71, 19, 636), - Trans(13, 72, 19, 636), - Trans(13, 73, 19, 636), - Trans(13, 77, 19, 636), - Trans(13, 78, 19, 636), - Trans(13, 80, 19, 636), - Trans(13, 81, 19, 636), - Trans(13, 84, 19, 636), - Trans(13, 85, 19, 636), - Trans(13, 89, 19, 636), - Trans(13, 91, 19, 636), - Trans(13, 104, 19, 636), - Trans(13, 106, 19, 636), - Trans(13, 109, 19, 636), - Trans(13, 110, 19, 636), - Trans(14, 5, 19, 636), - Trans(14, 39, 19, 636), - Trans(15, 5, 19, 636), - Trans(15, 39, 19, 636), - Trans(15, 41, 19, 636), - Trans(16, 5, 19, 636), - Trans(16, 47, 19, 636), - Trans(16, 111, 19, 636), - Trans(16, 112, 19, 636), - Trans(17, 5, 19, 636), - Trans(17, 6, 19, 636), - Trans(17, 7, 19, 636), - Trans(17, 8, 19, 636), - Trans(17, 9, 19, 636), - Trans(17, 10, 19, 636), - Trans(17, 11, 19, 636), - Trans(17, 18, 19, 636), - Trans(17, 24, 19, 636), - Trans(17, 25, 19, 636), - Trans(17, 26, 19, 636), - Trans(17, 27, 19, 636), - Trans(17, 38, 19, 636), - Trans(17, 39, 19, 636), - Trans(17, 41, 19, 636), - Trans(17, 53, 19, 636), - Trans(17, 70, 19, 636), - Trans(17, 76, 19, 636), - Trans(17, 83, 19, 636), - Trans(17, 86, 19, 636), - Trans(17, 88, 19, 636), - Trans(17, 111, 19, 636), - Trans(17, 112, 19, 636), - Trans(18, 5, 19, 636), - Trans(18, 111, 19, 636), - Trans(18, 112, 19, 636), - Trans(20, 5, 19, 636), - Trans(20, 30, 19, 636), - Trans(20, 31, 19, 636), - Trans(20, 36, 19, 636), - Trans(20, 39, 19, 636), - Trans(20, 43, 19, 636), - Trans(20, 48, 19, 636), - Trans(20, 49, 19, 636), - Trans(20, 50, 19, 636), - Trans(20, 60, 19, 636), - Trans(20, 61, 19, 636), - Trans(20, 64, 19, 636), - Trans(20, 65, 19, 636), - Trans(20, 66, 19, 636), - Trans(20, 70, 19, 636), - Trans(20, 71, 19, 636), - Trans(20, 73, 19, 636), - Trans(20, 77, 19, 636), - Trans(20, 80, 19, 636), - Trans(20, 81, 19, 636), - Trans(20, 84, 19, 636), - Trans(20, 104, 19, 636), - Trans(20, 106, 19, 636), - Trans(20, 109, 19, 636), - Trans(20, 110, 19, 636), + Trans(8, 30, 19, 638), + Trans(8, 31, 19, 638), + Trans(8, 36, 19, 638), + Trans(8, 39, 19, 638), + Trans(8, 43, 19, 638), + Trans(8, 48, 19, 638), + Trans(8, 49, 19, 638), + Trans(8, 50, 19, 638), + Trans(8, 60, 19, 638), + Trans(8, 61, 19, 638), + Trans(8, 64, 19, 638), + Trans(8, 65, 19, 638), + Trans(8, 66, 19, 638), + Trans(8, 70, 19, 638), + Trans(8, 71, 19, 638), + Trans(8, 73, 19, 638), + Trans(8, 77, 19, 638), + Trans(8, 80, 19, 638), + Trans(8, 81, 19, 638), + Trans(8, 84, 19, 638), + Trans(8, 104, 19, 638), + Trans(8, 106, 19, 638), + Trans(8, 109, 19, 638), + Trans(8, 110, 19, 638), + Trans(9, 5, 19, 638), + Trans(9, 112, 19, 638), + Trans(10, 5, 19, 638), + Trans(10, 36, 19, 638), + Trans(10, 39, 19, 638), + Trans(10, 43, 19, 638), + Trans(10, 112, 19, 638), + Trans(11, 5, 19, 638), + Trans(11, 40, 19, 638), + Trans(12, 5, 19, 638), + Trans(12, 30, 19, 638), + Trans(12, 36, 19, 638), + Trans(12, 39, 19, 638), + Trans(12, 43, 19, 638), + Trans(12, 48, 19, 638), + Trans(12, 49, 19, 638), + Trans(12, 50, 19, 638), + Trans(12, 60, 19, 638), + Trans(12, 61, 19, 638), + Trans(12, 64, 19, 638), + Trans(12, 65, 19, 638), + Trans(12, 66, 19, 638), + Trans(12, 70, 19, 638), + Trans(12, 71, 19, 638), + Trans(12, 73, 19, 638), + Trans(12, 77, 19, 638), + Trans(12, 80, 19, 638), + Trans(12, 81, 19, 638), + Trans(12, 84, 19, 638), + Trans(12, 104, 19, 638), + Trans(12, 106, 19, 638), + Trans(12, 109, 19, 638), + Trans(12, 110, 19, 638), + Trans(13, 0, 19, 638), + Trans(13, 5, 19, 638), + Trans(13, 30, 19, 638), + Trans(13, 31, 19, 638), + Trans(13, 36, 19, 638), + Trans(13, 39, 19, 638), + Trans(13, 43, 19, 638), + Trans(13, 48, 19, 638), + Trans(13, 49, 19, 638), + Trans(13, 50, 19, 638), + Trans(13, 58, 19, 638), + Trans(13, 59, 19, 638), + Trans(13, 60, 19, 638), + Trans(13, 61, 19, 638), + Trans(13, 64, 19, 638), + Trans(13, 65, 19, 638), + Trans(13, 66, 19, 638), + Trans(13, 70, 19, 638), + Trans(13, 71, 19, 638), + Trans(13, 72, 19, 638), + Trans(13, 73, 19, 638), + Trans(13, 77, 19, 638), + Trans(13, 78, 19, 638), + Trans(13, 80, 19, 638), + Trans(13, 81, 19, 638), + Trans(13, 84, 19, 638), + Trans(13, 85, 19, 638), + Trans(13, 89, 19, 638), + Trans(13, 91, 19, 638), + Trans(13, 104, 19, 638), + Trans(13, 106, 19, 638), + Trans(13, 109, 19, 638), + Trans(13, 110, 19, 638), + Trans(14, 5, 19, 638), + Trans(14, 39, 19, 638), + Trans(15, 5, 19, 638), + Trans(15, 39, 19, 638), + Trans(15, 41, 19, 638), + Trans(16, 5, 19, 638), + Trans(16, 47, 19, 638), + Trans(16, 111, 19, 638), + Trans(16, 112, 19, 638), + Trans(17, 5, 19, 638), + Trans(17, 6, 19, 638), + Trans(17, 7, 19, 638), + Trans(17, 8, 19, 638), + Trans(17, 9, 19, 638), + Trans(17, 10, 19, 638), + Trans(17, 11, 19, 638), + Trans(17, 18, 19, 638), + Trans(17, 24, 19, 638), + Trans(17, 25, 19, 638), + Trans(17, 26, 19, 638), + Trans(17, 27, 19, 638), + Trans(17, 38, 19, 638), + Trans(17, 39, 19, 638), + Trans(17, 41, 19, 638), + Trans(17, 53, 19, 638), + Trans(17, 70, 19, 638), + Trans(17, 76, 19, 638), + Trans(17, 83, 19, 638), + Trans(17, 86, 19, 638), + Trans(17, 88, 19, 638), + Trans(17, 111, 19, 638), + Trans(17, 112, 19, 638), + Trans(18, 5, 19, 638), + Trans(18, 111, 19, 638), + Trans(18, 112, 19, 638), + Trans(20, 5, 19, 638), + Trans(20, 30, 19, 638), + Trans(20, 31, 19, 638), + Trans(20, 36, 19, 638), + Trans(20, 39, 19, 638), + Trans(20, 43, 19, 638), + Trans(20, 48, 19, 638), + Trans(20, 49, 19, 638), + Trans(20, 50, 19, 638), + Trans(20, 60, 19, 638), + Trans(20, 61, 19, 638), + Trans(20, 64, 19, 638), + Trans(20, 65, 19, 638), + Trans(20, 66, 19, 638), + Trans(20, 70, 19, 638), + Trans(20, 71, 19, 638), + Trans(20, 73, 19, 638), + Trans(20, 77, 19, 638), + Trans(20, 80, 19, 638), + Trans(20, 81, 19, 638), + Trans(20, 84, 19, 638), + Trans(20, 104, 19, 638), + Trans(20, 106, 19, 638), + Trans(20, 109, 19, 638), + Trans(20, 110, 19, 638), ], k: 3, }, - /* 584 - "StructUnionListOpt" */ + /* 585 - "StructUnionListOpt" */ LookaheadDFA { prod0: -1, - transitions: &[Trans(0, 31, 1, 637), Trans(0, 43, 2, 638)], + transitions: &[Trans(0, 31, 1, 639), Trans(0, 43, 2, 640)], k: 1, }, - /* 585 - "Tri" */ + /* 586 - "Tri" */ LookaheadDFA { prod0: 320, transitions: &[], k: 0, }, - /* 586 - "TriTerm" */ + /* 587 - "TriTerm" */ LookaheadDFA { prod0: 100, transitions: &[], k: 0, }, - /* 587 - "TriToken" */ + /* 588 - "TriToken" */ LookaheadDFA { prod0: 212, transitions: &[], k: 0, }, - /* 588 - "Type" */ + /* 589 - "Type" */ LookaheadDFA { prod0: 321, transitions: &[], k: 0, }, - /* 589 - "TypeDefDeclaration" */ + /* 590 - "TypeDefDeclaration" */ LookaheadDFA { prod0: 588, transitions: &[], k: 0, }, - /* 590 - "TypeExpression" */ + /* 591 - "TypeExpression" */ LookaheadDFA { prod0: -1, transitions: &[ @@ -15556,127 +15570,127 @@ pub const LOOKAHEAD_AUTOMATA: &[LookaheadDFA; 640] = &[ ], k: 1, }, - /* 591 - "TypeModifier" */ + /* 592 - "TypeModifier" */ LookaheadDFA { prod0: -1, transitions: &[Trans(0, 101, 2, 508), Trans(0, 105, 1, 507)], k: 1, }, - /* 592 - "TypeTerm" */ + /* 593 - "TypeTerm" */ LookaheadDFA { prod0: 101, transitions: &[], k: 0, }, - /* 593 - "TypeToken" */ + /* 594 - "TypeToken" */ LookaheadDFA { prod0: 213, transitions: &[], k: 0, }, - /* 594 - "U32" */ + /* 595 - "U32" */ LookaheadDFA { prod0: 322, transitions: &[], k: 0, }, - /* 595 - "U32Term" */ + /* 596 - "U32Term" */ LookaheadDFA { prod0: 102, transitions: &[], k: 0, }, - /* 596 - "U32Token" */ + /* 597 - "U32Token" */ LookaheadDFA { prod0: 214, transitions: &[], k: 0, }, - /* 597 - "U64" */ + /* 598 - "U64" */ LookaheadDFA { prod0: 323, transitions: &[], k: 0, }, - /* 598 - "U64Term" */ + /* 599 - "U64Term" */ LookaheadDFA { prod0: 103, transitions: &[], k: 0, }, - /* 599 - "U64Token" */ + /* 600 - "U64Token" */ LookaheadDFA { prod0: 215, transitions: &[], k: 0, }, - /* 600 - "UnaryOperator" */ + /* 601 - "UnaryOperator" */ LookaheadDFA { prod0: 239, transitions: &[], k: 0, }, - /* 601 - "UnaryOperatorTerm" */ + /* 602 - "UnaryOperatorTerm" */ LookaheadDFA { prod0: 22, transitions: &[], k: 0, }, - /* 602 - "UnaryOperatorToken" */ + /* 603 - "UnaryOperatorToken" */ LookaheadDFA { prod0: 131, transitions: &[], k: 0, }, - /* 603 - "Union" */ + /* 604 - "Union" */ LookaheadDFA { prod0: 324, transitions: &[], k: 0, }, - /* 604 - "UnionTerm" */ + /* 605 - "UnionTerm" */ LookaheadDFA { prod0: 104, transitions: &[], k: 0, }, - /* 605 - "UnionToken" */ + /* 606 - "UnionToken" */ LookaheadDFA { prod0: 216, transitions: &[], k: 0, }, - /* 606 - "Var" */ + /* 607 - "Var" */ LookaheadDFA { prod0: 325, transitions: &[], k: 0, }, - /* 607 - "VarDeclaration" */ + /* 608 - "VarDeclaration" */ LookaheadDFA { prod0: 584, transitions: &[], k: 0, }, - /* 608 - "VarTerm" */ + /* 609 - "VarTerm" */ LookaheadDFA { prod0: 105, transitions: &[], k: 0, }, - /* 609 - "VarToken" */ + /* 610 - "VarToken" */ LookaheadDFA { prod0: 217, transitions: &[], k: 0, }, - /* 610 - "VariableType" */ + /* 611 - "VariableType" */ LookaheadDFA { prod0: 493, transitions: &[], k: 0, }, - /* 611 - "VariableTypeGroup" */ + /* 612 - "VariableTypeGroup" */ LookaheadDFA { prod0: -1, transitions: &[ @@ -15695,7 +15709,7 @@ pub const LOOKAHEAD_AUTOMATA: &[LookaheadDFA; 640] = &[ ], k: 1, }, - /* 612 - "VariableTypeOpt" */ + /* 613 - "VariableTypeOpt" */ LookaheadDFA { prod0: -1, transitions: &[ @@ -15711,68 +15725,68 @@ pub const LOOKAHEAD_AUTOMATA: &[LookaheadDFA; 640] = &[ ], k: 1, }, - /* 613 - "Veryl" */ + /* 614 - "Veryl" */ LookaheadDFA { - prod0: 912, + prod0: 914, transitions: &[], k: 0, }, - /* 614 - "VerylList" */ + /* 615 - "VerylList" */ LookaheadDFA { prod0: -1, transitions: &[ - Trans(0, 0, 2, 914), - Trans(0, 36, 1, 913), - Trans(0, 39, 1, 913), - Trans(0, 59, 1, 913), - Trans(0, 71, 1, 913), - Trans(0, 72, 1, 913), - Trans(0, 78, 1, 913), - Trans(0, 85, 1, 913), - Trans(0, 89, 1, 913), - Trans(0, 91, 1, 913), + Trans(0, 0, 2, 916), + Trans(0, 36, 1, 915), + Trans(0, 39, 1, 915), + Trans(0, 59, 1, 915), + Trans(0, 71, 1, 915), + Trans(0, 72, 1, 915), + Trans(0, 78, 1, 915), + Trans(0, 85, 1, 915), + Trans(0, 89, 1, 915), + Trans(0, 91, 1, 915), ], k: 1, }, - /* 615 - "Width" */ + /* 616 - "Width" */ LookaheadDFA { prod0: 475, transitions: &[], k: 0, }, - /* 616 - "WidthList" */ + /* 617 - "WidthList" */ LookaheadDFA { prod0: -1, transitions: &[Trans(0, 31, 1, 476), Trans(0, 42, 2, 477)], k: 1, }, - /* 617 - "WithGenericArgument" */ + /* 618 - "WithGenericArgument" */ LookaheadDFA { - prod0: 716, + prod0: 718, transitions: &[], k: 0, }, - /* 618 - "WithGenericArgumentItem" */ + /* 619 - "WithGenericArgumentItem" */ LookaheadDFA { prod0: -1, transitions: &[ - Trans(0, 7, 2, 725), - Trans(0, 8, 2, 725), - Trans(0, 9, 2, 725), - Trans(0, 10, 2, 725), - Trans(0, 11, 2, 725), - Trans(0, 111, 1, 724), - Trans(0, 112, 1, 724), + Trans(0, 7, 2, 727), + Trans(0, 8, 2, 727), + Trans(0, 9, 2, 727), + Trans(0, 10, 2, 727), + Trans(0, 11, 2, 727), + Trans(0, 111, 1, 726), + Trans(0, 112, 1, 726), ], k: 1, }, - /* 619 - "WithGenericArgumentList" */ + /* 620 - "WithGenericArgumentList" */ LookaheadDFA { - prod0: 719, + prod0: 721, transitions: &[], k: 0, }, - /* 620 - "WithGenericArgumentListList" */ + /* 621 - "WithGenericArgumentListList" */ LookaheadDFA { prod0: -1, transitions: &[ @@ -15787,26 +15801,26 @@ pub const LOOKAHEAD_AUTOMATA: &[LookaheadDFA; 640] = &[ Trans(1, 42, 25, -1), Trans(1, 111, 4, -1), Trans(1, 112, 5, -1), - Trans(2, 5, 3, 720), - Trans(2, 31, 3, 720), - Trans(2, 42, 3, 720), - Trans(4, 5, 3, 720), - Trans(4, 29, 3, 720), - Trans(4, 31, 3, 720), - Trans(4, 42, 3, 720), - Trans(5, 5, 3, 720), - Trans(5, 28, 3, 720), - Trans(5, 29, 3, 720), - Trans(5, 31, 3, 720), - Trans(5, 42, 3, 720), - Trans(6, 7, 3, 720), - Trans(6, 8, 3, 720), - Trans(6, 9, 3, 720), - Trans(6, 10, 3, 720), - Trans(6, 11, 3, 720), - Trans(6, 42, 24, 721), - Trans(6, 111, 3, 720), - Trans(6, 112, 3, 720), + Trans(2, 5, 3, 722), + Trans(2, 31, 3, 722), + Trans(2, 42, 3, 722), + Trans(4, 5, 3, 722), + Trans(4, 29, 3, 722), + Trans(4, 31, 3, 722), + Trans(4, 42, 3, 722), + Trans(5, 5, 3, 722), + Trans(5, 28, 3, 722), + Trans(5, 29, 3, 722), + Trans(5, 31, 3, 722), + Trans(5, 42, 3, 722), + Trans(6, 7, 3, 722), + Trans(6, 8, 3, 722), + Trans(6, 9, 3, 722), + Trans(6, 10, 3, 722), + Trans(6, 11, 3, 722), + Trans(6, 42, 24, 723), + Trans(6, 111, 3, 722), + Trans(6, 112, 3, 722), Trans(7, 5, 8, -1), Trans(7, 12, 9, -1), Trans(7, 14, 9, -1), @@ -15844,525 +15858,525 @@ pub const LOOKAHEAD_AUTOMATA: &[LookaheadDFA; 640] = &[ Trans(7, 79, 9, -1), Trans(7, 93, 9, -1), Trans(7, 102, 23, -1), - Trans(8, 12, 24, 721), - Trans(8, 14, 24, 721), - Trans(8, 15, 24, 721), - Trans(8, 16, 24, 721), - Trans(8, 17, 24, 721), - Trans(8, 18, 24, 721), - Trans(8, 19, 24, 721), - Trans(8, 20, 24, 721), - Trans(8, 21, 24, 721), - Trans(8, 22, 24, 721), - Trans(8, 23, 24, 721), - Trans(8, 24, 24, 721), - Trans(8, 25, 24, 721), - Trans(8, 26, 24, 721), - Trans(8, 29, 24, 721), - Trans(8, 30, 24, 721), - Trans(8, 31, 24, 721), - Trans(8, 32, 24, 721), - Trans(8, 33, 24, 721), - Trans(8, 34, 24, 721), - Trans(8, 35, 24, 721), - Trans(8, 36, 24, 721), - Trans(8, 37, 24, 721), - Trans(8, 39, 24, 721), - Trans(8, 40, 24, 721), - Trans(8, 41, 24, 721), - Trans(8, 42, 24, 721), - Trans(8, 43, 24, 721), - Trans(8, 44, 24, 721), - Trans(8, 45, 24, 721), - Trans(8, 46, 24, 721), - Trans(8, 47, 24, 721), - Trans(8, 51, 24, 721), - Trans(8, 79, 24, 721), - Trans(8, 93, 24, 721), - Trans(8, 102, 24, 721), - Trans(9, 5, 24, 721), - Trans(9, 6, 24, 721), - Trans(9, 7, 24, 721), - Trans(9, 8, 24, 721), - Trans(9, 9, 24, 721), - Trans(9, 10, 24, 721), - Trans(9, 11, 24, 721), - Trans(9, 18, 24, 721), - Trans(9, 24, 24, 721), - Trans(9, 25, 24, 721), - Trans(9, 26, 24, 721), - Trans(9, 27, 24, 721), - Trans(9, 38, 24, 721), - Trans(9, 39, 24, 721), - Trans(9, 41, 24, 721), - Trans(9, 53, 24, 721), - Trans(9, 70, 24, 721), - Trans(9, 76, 24, 721), - Trans(9, 83, 24, 721), - Trans(9, 86, 24, 721), - Trans(9, 88, 24, 721), - Trans(9, 111, 24, 721), - Trans(9, 112, 24, 721), - Trans(10, 5, 24, 721), - Trans(10, 47, 24, 721), - Trans(10, 112, 24, 721), - Trans(11, 5, 24, 721), - Trans(11, 6, 24, 721), - Trans(11, 7, 24, 721), - Trans(11, 8, 24, 721), - Trans(11, 9, 24, 721), - Trans(11, 10, 24, 721), - Trans(11, 11, 24, 721), - Trans(11, 18, 24, 721), - Trans(11, 24, 24, 721), - Trans(11, 25, 24, 721), - Trans(11, 26, 24, 721), - Trans(11, 27, 24, 721), - Trans(11, 38, 24, 721), - Trans(11, 39, 24, 721), - Trans(11, 41, 24, 721), - Trans(11, 53, 24, 721), - Trans(11, 65, 24, 721), - Trans(11, 69, 24, 721), - Trans(11, 70, 24, 721), - Trans(11, 76, 24, 721), - Trans(11, 80, 24, 721), - Trans(11, 83, 24, 721), - Trans(11, 86, 24, 721), - Trans(11, 88, 24, 721), - Trans(11, 99, 24, 721), - Trans(11, 100, 24, 721), - Trans(11, 111, 24, 721), - Trans(11, 112, 24, 721), - Trans(12, 5, 24, 721), - Trans(12, 6, 24, 721), - Trans(12, 7, 24, 721), - Trans(12, 8, 24, 721), - Trans(12, 9, 24, 721), - Trans(12, 10, 24, 721), - Trans(12, 11, 24, 721), - Trans(12, 18, 24, 721), - Trans(12, 24, 24, 721), - Trans(12, 25, 24, 721), - Trans(12, 26, 24, 721), - Trans(12, 27, 24, 721), - Trans(12, 36, 24, 721), - Trans(12, 38, 24, 721), - Trans(12, 39, 24, 721), - Trans(12, 41, 24, 721), - Trans(12, 42, 24, 721), - Trans(12, 43, 24, 721), - Trans(12, 45, 24, 721), - Trans(12, 53, 24, 721), - Trans(12, 57, 24, 721), - Trans(12, 70, 24, 721), - Trans(12, 76, 24, 721), - Trans(12, 81, 24, 721), - Trans(12, 83, 24, 721), - Trans(12, 86, 24, 721), - Trans(12, 88, 24, 721), - Trans(12, 90, 24, 721), - Trans(12, 111, 24, 721), - Trans(12, 112, 24, 721), - Trans(13, 5, 24, 721), - Trans(13, 112, 24, 721), - Trans(14, 5, 24, 721), - Trans(14, 41, 24, 721), - Trans(15, 5, 24, 721), - Trans(15, 6, 24, 721), - Trans(15, 7, 24, 721), - Trans(15, 8, 24, 721), - Trans(15, 9, 24, 721), - Trans(15, 10, 24, 721), - Trans(15, 11, 24, 721), - Trans(15, 18, 24, 721), - Trans(15, 24, 24, 721), - Trans(15, 25, 24, 721), - Trans(15, 26, 24, 721), - Trans(15, 27, 24, 721), - Trans(15, 30, 24, 721), - Trans(15, 36, 24, 721), - Trans(15, 38, 24, 721), - Trans(15, 39, 24, 721), - Trans(15, 41, 24, 721), - Trans(15, 43, 24, 721), - Trans(15, 48, 24, 721), - Trans(15, 49, 24, 721), - Trans(15, 50, 24, 721), - Trans(15, 53, 24, 721), - Trans(15, 57, 24, 721), - Trans(15, 60, 24, 721), - Trans(15, 64, 24, 721), - Trans(15, 65, 24, 721), - Trans(15, 66, 24, 721), - Trans(15, 69, 24, 721), - Trans(15, 70, 24, 721), - Trans(15, 71, 24, 721), - Trans(15, 73, 24, 721), - Trans(15, 76, 24, 721), - Trans(15, 77, 24, 721), - Trans(15, 80, 24, 721), - Trans(15, 81, 24, 721), - Trans(15, 83, 24, 721), - Trans(15, 84, 24, 721), - Trans(15, 86, 24, 721), - Trans(15, 88, 24, 721), - Trans(15, 99, 24, 721), - Trans(15, 100, 24, 721), - Trans(15, 104, 24, 721), - Trans(15, 106, 24, 721), - Trans(15, 109, 24, 721), - Trans(15, 110, 24, 721), - Trans(15, 111, 24, 721), - Trans(15, 112, 24, 721), - Trans(16, 5, 24, 721), - Trans(16, 6, 24, 721), - Trans(16, 7, 24, 721), - Trans(16, 8, 24, 721), - Trans(16, 9, 24, 721), - Trans(16, 10, 24, 721), - Trans(16, 11, 24, 721), - Trans(16, 18, 24, 721), - Trans(16, 24, 24, 721), - Trans(16, 25, 24, 721), - Trans(16, 26, 24, 721), - Trans(16, 27, 24, 721), - Trans(16, 36, 24, 721), - Trans(16, 38, 24, 721), - Trans(16, 39, 24, 721), - Trans(16, 41, 24, 721), - Trans(16, 45, 24, 721), - Trans(16, 53, 24, 721), - Trans(16, 70, 24, 721), - Trans(16, 76, 24, 721), - Trans(16, 83, 24, 721), - Trans(16, 86, 24, 721), - Trans(16, 88, 24, 721), - Trans(16, 111, 24, 721), - Trans(16, 112, 24, 721), - Trans(17, 5, 24, 721), - Trans(17, 12, 24, 721), - Trans(17, 13, 24, 721), - Trans(17, 14, 24, 721), - Trans(17, 15, 24, 721), - Trans(17, 16, 24, 721), - Trans(17, 17, 24, 721), - Trans(17, 18, 24, 721), - Trans(17, 19, 24, 721), - Trans(17, 20, 24, 721), - Trans(17, 21, 24, 721), - Trans(17, 22, 24, 721), - Trans(17, 23, 24, 721), - Trans(17, 24, 24, 721), - Trans(17, 25, 24, 721), - Trans(17, 26, 24, 721), - Trans(17, 29, 24, 721), - Trans(17, 30, 24, 721), - Trans(17, 31, 24, 721), - Trans(17, 32, 24, 721), - Trans(17, 33, 24, 721), - Trans(17, 34, 24, 721), - Trans(17, 35, 24, 721), - Trans(17, 36, 24, 721), - Trans(17, 37, 24, 721), - Trans(17, 39, 24, 721), - Trans(17, 40, 24, 721), - Trans(17, 41, 24, 721), - Trans(17, 42, 24, 721), - Trans(17, 43, 24, 721), - Trans(17, 44, 24, 721), - Trans(17, 45, 24, 721), - Trans(17, 46, 24, 721), - Trans(17, 47, 24, 721), - Trans(17, 51, 24, 721), - Trans(17, 79, 24, 721), - Trans(17, 93, 24, 721), - Trans(17, 102, 24, 721), - Trans(18, 5, 24, 721), - Trans(18, 12, 24, 721), - Trans(18, 14, 24, 721), - Trans(18, 16, 24, 721), - Trans(18, 17, 24, 721), - Trans(18, 18, 24, 721), - Trans(18, 19, 24, 721), - Trans(18, 20, 24, 721), - Trans(18, 21, 24, 721), - Trans(18, 22, 24, 721), - Trans(18, 23, 24, 721), - Trans(18, 24, 24, 721), - Trans(18, 25, 24, 721), - Trans(18, 26, 24, 721), - Trans(18, 30, 24, 721), - Trans(18, 31, 24, 721), - Trans(18, 32, 24, 721), - Trans(18, 33, 24, 721), - Trans(18, 36, 24, 721), - Trans(18, 39, 24, 721), - Trans(18, 42, 24, 721), - Trans(18, 43, 24, 721), - Trans(18, 44, 24, 721), - Trans(18, 45, 24, 721), - Trans(18, 46, 24, 721), - Trans(18, 47, 24, 721), - Trans(18, 48, 24, 721), - Trans(18, 49, 24, 721), - Trans(18, 50, 24, 721), - Trans(18, 51, 24, 721), - Trans(18, 58, 24, 721), - Trans(18, 60, 24, 721), - Trans(18, 61, 24, 721), - Trans(18, 64, 24, 721), - Trans(18, 65, 24, 721), - Trans(18, 66, 24, 721), - Trans(18, 70, 24, 721), - Trans(18, 71, 24, 721), - Trans(18, 73, 24, 721), - Trans(18, 77, 24, 721), - Trans(18, 80, 24, 721), - Trans(18, 81, 24, 721), - Trans(18, 84, 24, 721), - Trans(18, 93, 24, 721), - Trans(18, 102, 24, 721), - Trans(18, 104, 24, 721), - Trans(18, 106, 24, 721), - Trans(18, 109, 24, 721), - Trans(18, 110, 24, 721), - Trans(19, 5, 24, 721), - Trans(19, 12, 24, 721), - Trans(19, 14, 24, 721), - Trans(19, 15, 24, 721), - Trans(19, 16, 24, 721), - Trans(19, 17, 24, 721), - Trans(19, 18, 24, 721), - Trans(19, 19, 24, 721), - Trans(19, 20, 24, 721), - Trans(19, 21, 24, 721), - Trans(19, 22, 24, 721), - Trans(19, 23, 24, 721), - Trans(19, 24, 24, 721), - Trans(19, 25, 24, 721), - Trans(19, 26, 24, 721), - Trans(19, 30, 24, 721), - Trans(19, 31, 24, 721), - Trans(19, 32, 24, 721), - Trans(19, 33, 24, 721), - Trans(19, 34, 24, 721), - Trans(19, 35, 24, 721), - Trans(19, 36, 24, 721), - Trans(19, 39, 24, 721), - Trans(19, 40, 24, 721), - Trans(19, 41, 24, 721), - Trans(19, 42, 24, 721), - Trans(19, 43, 24, 721), - Trans(19, 44, 24, 721), - Trans(19, 45, 24, 721), - Trans(19, 46, 24, 721), - Trans(19, 47, 24, 721), - Trans(19, 51, 24, 721), - Trans(19, 93, 24, 721), - Trans(19, 102, 24, 721), - Trans(20, 5, 24, 721), - Trans(20, 12, 24, 721), - Trans(20, 13, 24, 721), - Trans(20, 14, 24, 721), - Trans(20, 16, 24, 721), - Trans(20, 17, 24, 721), - Trans(20, 18, 24, 721), - Trans(20, 19, 24, 721), - Trans(20, 20, 24, 721), - Trans(20, 21, 24, 721), - Trans(20, 22, 24, 721), - Trans(20, 23, 24, 721), - Trans(20, 24, 24, 721), - Trans(20, 25, 24, 721), - Trans(20, 26, 24, 721), - Trans(20, 30, 24, 721), - Trans(20, 31, 24, 721), - Trans(20, 32, 24, 721), - Trans(20, 33, 24, 721), - Trans(20, 39, 24, 721), - Trans(20, 41, 24, 721), - Trans(20, 42, 24, 721), - Trans(20, 43, 24, 721), - Trans(20, 44, 24, 721), - Trans(20, 45, 24, 721), - Trans(20, 46, 24, 721), - Trans(20, 47, 24, 721), - Trans(20, 51, 24, 721), - Trans(20, 93, 24, 721), - Trans(20, 102, 24, 721), - Trans(21, 0, 24, 721), - Trans(21, 5, 24, 721), - Trans(21, 6, 24, 721), - Trans(21, 7, 24, 721), - Trans(21, 8, 24, 721), - Trans(21, 9, 24, 721), - Trans(21, 10, 24, 721), - Trans(21, 11, 24, 721), - Trans(21, 18, 24, 721), - Trans(21, 24, 24, 721), - Trans(21, 25, 24, 721), - Trans(21, 26, 24, 721), - Trans(21, 27, 24, 721), - Trans(21, 30, 24, 721), - Trans(21, 36, 24, 721), - Trans(21, 38, 24, 721), - Trans(21, 39, 24, 721), - Trans(21, 41, 24, 721), - Trans(21, 43, 24, 721), - Trans(21, 48, 24, 721), - Trans(21, 49, 24, 721), - Trans(21, 50, 24, 721), - Trans(21, 53, 24, 721), - Trans(21, 57, 24, 721), - Trans(21, 59, 24, 721), - Trans(21, 60, 24, 721), - Trans(21, 61, 24, 721), - Trans(21, 64, 24, 721), - Trans(21, 65, 24, 721), - Trans(21, 66, 24, 721), - Trans(21, 69, 24, 721), - Trans(21, 70, 24, 721), - Trans(21, 71, 24, 721), - Trans(21, 72, 24, 721), - Trans(21, 73, 24, 721), - Trans(21, 76, 24, 721), - Trans(21, 77, 24, 721), - Trans(21, 78, 24, 721), - Trans(21, 80, 24, 721), - Trans(21, 81, 24, 721), - Trans(21, 83, 24, 721), - Trans(21, 84, 24, 721), - Trans(21, 85, 24, 721), - Trans(21, 86, 24, 721), - Trans(21, 88, 24, 721), - Trans(21, 89, 24, 721), - Trans(21, 91, 24, 721), - Trans(21, 99, 24, 721), - Trans(21, 100, 24, 721), - Trans(21, 104, 24, 721), - Trans(21, 106, 24, 721), - Trans(21, 109, 24, 721), - Trans(21, 110, 24, 721), - Trans(21, 111, 24, 721), - Trans(21, 112, 24, 721), - Trans(22, 5, 24, 721), - Trans(22, 111, 24, 721), - Trans(22, 112, 24, 721), - Trans(23, 5, 24, 721), - Trans(23, 6, 24, 721), - Trans(23, 7, 24, 721), - Trans(23, 8, 24, 721), - Trans(23, 9, 24, 721), - Trans(23, 10, 24, 721), - Trans(23, 11, 24, 721), - Trans(23, 15, 24, 721), - Trans(23, 18, 24, 721), - Trans(23, 24, 24, 721), - Trans(23, 25, 24, 721), - Trans(23, 26, 24, 721), - Trans(23, 27, 24, 721), - Trans(23, 38, 24, 721), - Trans(23, 39, 24, 721), - Trans(23, 41, 24, 721), - Trans(23, 53, 24, 721), - Trans(23, 70, 24, 721), - Trans(23, 76, 24, 721), - Trans(23, 83, 24, 721), - Trans(23, 86, 24, 721), - Trans(23, 88, 24, 721), - Trans(23, 111, 24, 721), - Trans(23, 112, 24, 721), - Trans(25, 5, 24, 721), - Trans(25, 12, 24, 721), - Trans(25, 14, 24, 721), - Trans(25, 15, 24, 721), - Trans(25, 16, 24, 721), - Trans(25, 17, 24, 721), - Trans(25, 18, 24, 721), - Trans(25, 19, 24, 721), - Trans(25, 20, 24, 721), - Trans(25, 21, 24, 721), - Trans(25, 22, 24, 721), - Trans(25, 23, 24, 721), - Trans(25, 24, 24, 721), - Trans(25, 25, 24, 721), - Trans(25, 26, 24, 721), - Trans(25, 29, 24, 721), - Trans(25, 30, 24, 721), - Trans(25, 31, 24, 721), - Trans(25, 32, 24, 721), - Trans(25, 33, 24, 721), - Trans(25, 34, 24, 721), - Trans(25, 35, 24, 721), - Trans(25, 36, 24, 721), - Trans(25, 37, 24, 721), - Trans(25, 39, 24, 721), - Trans(25, 40, 24, 721), - Trans(25, 41, 24, 721), - Trans(25, 42, 24, 721), - Trans(25, 43, 24, 721), - Trans(25, 44, 24, 721), - Trans(25, 45, 24, 721), - Trans(25, 46, 24, 721), - Trans(25, 47, 24, 721), - Trans(25, 51, 24, 721), - Trans(25, 79, 24, 721), - Trans(25, 93, 24, 721), - Trans(25, 102, 24, 721), + Trans(8, 12, 24, 723), + Trans(8, 14, 24, 723), + Trans(8, 15, 24, 723), + Trans(8, 16, 24, 723), + Trans(8, 17, 24, 723), + Trans(8, 18, 24, 723), + Trans(8, 19, 24, 723), + Trans(8, 20, 24, 723), + Trans(8, 21, 24, 723), + Trans(8, 22, 24, 723), + Trans(8, 23, 24, 723), + Trans(8, 24, 24, 723), + Trans(8, 25, 24, 723), + Trans(8, 26, 24, 723), + Trans(8, 29, 24, 723), + Trans(8, 30, 24, 723), + Trans(8, 31, 24, 723), + Trans(8, 32, 24, 723), + Trans(8, 33, 24, 723), + Trans(8, 34, 24, 723), + Trans(8, 35, 24, 723), + Trans(8, 36, 24, 723), + Trans(8, 37, 24, 723), + Trans(8, 39, 24, 723), + Trans(8, 40, 24, 723), + Trans(8, 41, 24, 723), + Trans(8, 42, 24, 723), + Trans(8, 43, 24, 723), + Trans(8, 44, 24, 723), + Trans(8, 45, 24, 723), + Trans(8, 46, 24, 723), + Trans(8, 47, 24, 723), + Trans(8, 51, 24, 723), + Trans(8, 79, 24, 723), + Trans(8, 93, 24, 723), + Trans(8, 102, 24, 723), + Trans(9, 5, 24, 723), + Trans(9, 6, 24, 723), + Trans(9, 7, 24, 723), + Trans(9, 8, 24, 723), + Trans(9, 9, 24, 723), + Trans(9, 10, 24, 723), + Trans(9, 11, 24, 723), + Trans(9, 18, 24, 723), + Trans(9, 24, 24, 723), + Trans(9, 25, 24, 723), + Trans(9, 26, 24, 723), + Trans(9, 27, 24, 723), + Trans(9, 38, 24, 723), + Trans(9, 39, 24, 723), + Trans(9, 41, 24, 723), + Trans(9, 53, 24, 723), + Trans(9, 70, 24, 723), + Trans(9, 76, 24, 723), + Trans(9, 83, 24, 723), + Trans(9, 86, 24, 723), + Trans(9, 88, 24, 723), + Trans(9, 111, 24, 723), + Trans(9, 112, 24, 723), + Trans(10, 5, 24, 723), + Trans(10, 47, 24, 723), + Trans(10, 112, 24, 723), + Trans(11, 5, 24, 723), + Trans(11, 6, 24, 723), + Trans(11, 7, 24, 723), + Trans(11, 8, 24, 723), + Trans(11, 9, 24, 723), + Trans(11, 10, 24, 723), + Trans(11, 11, 24, 723), + Trans(11, 18, 24, 723), + Trans(11, 24, 24, 723), + Trans(11, 25, 24, 723), + Trans(11, 26, 24, 723), + Trans(11, 27, 24, 723), + Trans(11, 38, 24, 723), + Trans(11, 39, 24, 723), + Trans(11, 41, 24, 723), + Trans(11, 53, 24, 723), + Trans(11, 65, 24, 723), + Trans(11, 69, 24, 723), + Trans(11, 70, 24, 723), + Trans(11, 76, 24, 723), + Trans(11, 80, 24, 723), + Trans(11, 83, 24, 723), + Trans(11, 86, 24, 723), + Trans(11, 88, 24, 723), + Trans(11, 99, 24, 723), + Trans(11, 100, 24, 723), + Trans(11, 111, 24, 723), + Trans(11, 112, 24, 723), + Trans(12, 5, 24, 723), + Trans(12, 6, 24, 723), + Trans(12, 7, 24, 723), + Trans(12, 8, 24, 723), + Trans(12, 9, 24, 723), + Trans(12, 10, 24, 723), + Trans(12, 11, 24, 723), + Trans(12, 18, 24, 723), + Trans(12, 24, 24, 723), + Trans(12, 25, 24, 723), + Trans(12, 26, 24, 723), + Trans(12, 27, 24, 723), + Trans(12, 36, 24, 723), + Trans(12, 38, 24, 723), + Trans(12, 39, 24, 723), + Trans(12, 41, 24, 723), + Trans(12, 42, 24, 723), + Trans(12, 43, 24, 723), + Trans(12, 45, 24, 723), + Trans(12, 53, 24, 723), + Trans(12, 57, 24, 723), + Trans(12, 70, 24, 723), + Trans(12, 76, 24, 723), + Trans(12, 81, 24, 723), + Trans(12, 83, 24, 723), + Trans(12, 86, 24, 723), + Trans(12, 88, 24, 723), + Trans(12, 90, 24, 723), + Trans(12, 111, 24, 723), + Trans(12, 112, 24, 723), + Trans(13, 5, 24, 723), + Trans(13, 112, 24, 723), + Trans(14, 5, 24, 723), + Trans(14, 41, 24, 723), + Trans(15, 5, 24, 723), + Trans(15, 6, 24, 723), + Trans(15, 7, 24, 723), + Trans(15, 8, 24, 723), + Trans(15, 9, 24, 723), + Trans(15, 10, 24, 723), + Trans(15, 11, 24, 723), + Trans(15, 18, 24, 723), + Trans(15, 24, 24, 723), + Trans(15, 25, 24, 723), + Trans(15, 26, 24, 723), + Trans(15, 27, 24, 723), + Trans(15, 30, 24, 723), + Trans(15, 36, 24, 723), + Trans(15, 38, 24, 723), + Trans(15, 39, 24, 723), + Trans(15, 41, 24, 723), + Trans(15, 43, 24, 723), + Trans(15, 48, 24, 723), + Trans(15, 49, 24, 723), + Trans(15, 50, 24, 723), + Trans(15, 53, 24, 723), + Trans(15, 57, 24, 723), + Trans(15, 60, 24, 723), + Trans(15, 64, 24, 723), + Trans(15, 65, 24, 723), + Trans(15, 66, 24, 723), + Trans(15, 69, 24, 723), + Trans(15, 70, 24, 723), + Trans(15, 71, 24, 723), + Trans(15, 73, 24, 723), + Trans(15, 76, 24, 723), + Trans(15, 77, 24, 723), + Trans(15, 80, 24, 723), + Trans(15, 81, 24, 723), + Trans(15, 83, 24, 723), + Trans(15, 84, 24, 723), + Trans(15, 86, 24, 723), + Trans(15, 88, 24, 723), + Trans(15, 99, 24, 723), + Trans(15, 100, 24, 723), + Trans(15, 104, 24, 723), + Trans(15, 106, 24, 723), + Trans(15, 109, 24, 723), + Trans(15, 110, 24, 723), + Trans(15, 111, 24, 723), + Trans(15, 112, 24, 723), + Trans(16, 5, 24, 723), + Trans(16, 6, 24, 723), + Trans(16, 7, 24, 723), + Trans(16, 8, 24, 723), + Trans(16, 9, 24, 723), + Trans(16, 10, 24, 723), + Trans(16, 11, 24, 723), + Trans(16, 18, 24, 723), + Trans(16, 24, 24, 723), + Trans(16, 25, 24, 723), + Trans(16, 26, 24, 723), + Trans(16, 27, 24, 723), + Trans(16, 36, 24, 723), + Trans(16, 38, 24, 723), + Trans(16, 39, 24, 723), + Trans(16, 41, 24, 723), + Trans(16, 45, 24, 723), + Trans(16, 53, 24, 723), + Trans(16, 70, 24, 723), + Trans(16, 76, 24, 723), + Trans(16, 83, 24, 723), + Trans(16, 86, 24, 723), + Trans(16, 88, 24, 723), + Trans(16, 111, 24, 723), + Trans(16, 112, 24, 723), + Trans(17, 5, 24, 723), + Trans(17, 12, 24, 723), + Trans(17, 13, 24, 723), + Trans(17, 14, 24, 723), + Trans(17, 15, 24, 723), + Trans(17, 16, 24, 723), + Trans(17, 17, 24, 723), + Trans(17, 18, 24, 723), + Trans(17, 19, 24, 723), + Trans(17, 20, 24, 723), + Trans(17, 21, 24, 723), + Trans(17, 22, 24, 723), + Trans(17, 23, 24, 723), + Trans(17, 24, 24, 723), + Trans(17, 25, 24, 723), + Trans(17, 26, 24, 723), + Trans(17, 29, 24, 723), + Trans(17, 30, 24, 723), + Trans(17, 31, 24, 723), + Trans(17, 32, 24, 723), + Trans(17, 33, 24, 723), + Trans(17, 34, 24, 723), + Trans(17, 35, 24, 723), + Trans(17, 36, 24, 723), + Trans(17, 37, 24, 723), + Trans(17, 39, 24, 723), + Trans(17, 40, 24, 723), + Trans(17, 41, 24, 723), + Trans(17, 42, 24, 723), + Trans(17, 43, 24, 723), + Trans(17, 44, 24, 723), + Trans(17, 45, 24, 723), + Trans(17, 46, 24, 723), + Trans(17, 47, 24, 723), + Trans(17, 51, 24, 723), + Trans(17, 79, 24, 723), + Trans(17, 93, 24, 723), + Trans(17, 102, 24, 723), + Trans(18, 5, 24, 723), + Trans(18, 12, 24, 723), + Trans(18, 14, 24, 723), + Trans(18, 16, 24, 723), + Trans(18, 17, 24, 723), + Trans(18, 18, 24, 723), + Trans(18, 19, 24, 723), + Trans(18, 20, 24, 723), + Trans(18, 21, 24, 723), + Trans(18, 22, 24, 723), + Trans(18, 23, 24, 723), + Trans(18, 24, 24, 723), + Trans(18, 25, 24, 723), + Trans(18, 26, 24, 723), + Trans(18, 30, 24, 723), + Trans(18, 31, 24, 723), + Trans(18, 32, 24, 723), + Trans(18, 33, 24, 723), + Trans(18, 36, 24, 723), + Trans(18, 39, 24, 723), + Trans(18, 42, 24, 723), + Trans(18, 43, 24, 723), + Trans(18, 44, 24, 723), + Trans(18, 45, 24, 723), + Trans(18, 46, 24, 723), + Trans(18, 47, 24, 723), + Trans(18, 48, 24, 723), + Trans(18, 49, 24, 723), + Trans(18, 50, 24, 723), + Trans(18, 51, 24, 723), + Trans(18, 58, 24, 723), + Trans(18, 60, 24, 723), + Trans(18, 61, 24, 723), + Trans(18, 64, 24, 723), + Trans(18, 65, 24, 723), + Trans(18, 66, 24, 723), + Trans(18, 70, 24, 723), + Trans(18, 71, 24, 723), + Trans(18, 73, 24, 723), + Trans(18, 77, 24, 723), + Trans(18, 80, 24, 723), + Trans(18, 81, 24, 723), + Trans(18, 84, 24, 723), + Trans(18, 93, 24, 723), + Trans(18, 102, 24, 723), + Trans(18, 104, 24, 723), + Trans(18, 106, 24, 723), + Trans(18, 109, 24, 723), + Trans(18, 110, 24, 723), + Trans(19, 5, 24, 723), + Trans(19, 12, 24, 723), + Trans(19, 14, 24, 723), + Trans(19, 15, 24, 723), + Trans(19, 16, 24, 723), + Trans(19, 17, 24, 723), + Trans(19, 18, 24, 723), + Trans(19, 19, 24, 723), + Trans(19, 20, 24, 723), + Trans(19, 21, 24, 723), + Trans(19, 22, 24, 723), + Trans(19, 23, 24, 723), + Trans(19, 24, 24, 723), + Trans(19, 25, 24, 723), + Trans(19, 26, 24, 723), + Trans(19, 30, 24, 723), + Trans(19, 31, 24, 723), + Trans(19, 32, 24, 723), + Trans(19, 33, 24, 723), + Trans(19, 34, 24, 723), + Trans(19, 35, 24, 723), + Trans(19, 36, 24, 723), + Trans(19, 39, 24, 723), + Trans(19, 40, 24, 723), + Trans(19, 41, 24, 723), + Trans(19, 42, 24, 723), + Trans(19, 43, 24, 723), + Trans(19, 44, 24, 723), + Trans(19, 45, 24, 723), + Trans(19, 46, 24, 723), + Trans(19, 47, 24, 723), + Trans(19, 51, 24, 723), + Trans(19, 93, 24, 723), + Trans(19, 102, 24, 723), + Trans(20, 5, 24, 723), + Trans(20, 12, 24, 723), + Trans(20, 13, 24, 723), + Trans(20, 14, 24, 723), + Trans(20, 16, 24, 723), + Trans(20, 17, 24, 723), + Trans(20, 18, 24, 723), + Trans(20, 19, 24, 723), + Trans(20, 20, 24, 723), + Trans(20, 21, 24, 723), + Trans(20, 22, 24, 723), + Trans(20, 23, 24, 723), + Trans(20, 24, 24, 723), + Trans(20, 25, 24, 723), + Trans(20, 26, 24, 723), + Trans(20, 30, 24, 723), + Trans(20, 31, 24, 723), + Trans(20, 32, 24, 723), + Trans(20, 33, 24, 723), + Trans(20, 39, 24, 723), + Trans(20, 41, 24, 723), + Trans(20, 42, 24, 723), + Trans(20, 43, 24, 723), + Trans(20, 44, 24, 723), + Trans(20, 45, 24, 723), + Trans(20, 46, 24, 723), + Trans(20, 47, 24, 723), + Trans(20, 51, 24, 723), + Trans(20, 93, 24, 723), + Trans(20, 102, 24, 723), + Trans(21, 0, 24, 723), + Trans(21, 5, 24, 723), + Trans(21, 6, 24, 723), + Trans(21, 7, 24, 723), + Trans(21, 8, 24, 723), + Trans(21, 9, 24, 723), + Trans(21, 10, 24, 723), + Trans(21, 11, 24, 723), + Trans(21, 18, 24, 723), + Trans(21, 24, 24, 723), + Trans(21, 25, 24, 723), + Trans(21, 26, 24, 723), + Trans(21, 27, 24, 723), + Trans(21, 30, 24, 723), + Trans(21, 36, 24, 723), + Trans(21, 38, 24, 723), + Trans(21, 39, 24, 723), + Trans(21, 41, 24, 723), + Trans(21, 43, 24, 723), + Trans(21, 48, 24, 723), + Trans(21, 49, 24, 723), + Trans(21, 50, 24, 723), + Trans(21, 53, 24, 723), + Trans(21, 57, 24, 723), + Trans(21, 59, 24, 723), + Trans(21, 60, 24, 723), + Trans(21, 61, 24, 723), + Trans(21, 64, 24, 723), + Trans(21, 65, 24, 723), + Trans(21, 66, 24, 723), + Trans(21, 69, 24, 723), + Trans(21, 70, 24, 723), + Trans(21, 71, 24, 723), + Trans(21, 72, 24, 723), + Trans(21, 73, 24, 723), + Trans(21, 76, 24, 723), + Trans(21, 77, 24, 723), + Trans(21, 78, 24, 723), + Trans(21, 80, 24, 723), + Trans(21, 81, 24, 723), + Trans(21, 83, 24, 723), + Trans(21, 84, 24, 723), + Trans(21, 85, 24, 723), + Trans(21, 86, 24, 723), + Trans(21, 88, 24, 723), + Trans(21, 89, 24, 723), + Trans(21, 91, 24, 723), + Trans(21, 99, 24, 723), + Trans(21, 100, 24, 723), + Trans(21, 104, 24, 723), + Trans(21, 106, 24, 723), + Trans(21, 109, 24, 723), + Trans(21, 110, 24, 723), + Trans(21, 111, 24, 723), + Trans(21, 112, 24, 723), + Trans(22, 5, 24, 723), + Trans(22, 111, 24, 723), + Trans(22, 112, 24, 723), + Trans(23, 5, 24, 723), + Trans(23, 6, 24, 723), + Trans(23, 7, 24, 723), + Trans(23, 8, 24, 723), + Trans(23, 9, 24, 723), + Trans(23, 10, 24, 723), + Trans(23, 11, 24, 723), + Trans(23, 15, 24, 723), + Trans(23, 18, 24, 723), + Trans(23, 24, 24, 723), + Trans(23, 25, 24, 723), + Trans(23, 26, 24, 723), + Trans(23, 27, 24, 723), + Trans(23, 38, 24, 723), + Trans(23, 39, 24, 723), + Trans(23, 41, 24, 723), + Trans(23, 53, 24, 723), + Trans(23, 70, 24, 723), + Trans(23, 76, 24, 723), + Trans(23, 83, 24, 723), + Trans(23, 86, 24, 723), + Trans(23, 88, 24, 723), + Trans(23, 111, 24, 723), + Trans(23, 112, 24, 723), + Trans(25, 5, 24, 723), + Trans(25, 12, 24, 723), + Trans(25, 14, 24, 723), + Trans(25, 15, 24, 723), + Trans(25, 16, 24, 723), + Trans(25, 17, 24, 723), + Trans(25, 18, 24, 723), + Trans(25, 19, 24, 723), + Trans(25, 20, 24, 723), + Trans(25, 21, 24, 723), + Trans(25, 22, 24, 723), + Trans(25, 23, 24, 723), + Trans(25, 24, 24, 723), + Trans(25, 25, 24, 723), + Trans(25, 26, 24, 723), + Trans(25, 29, 24, 723), + Trans(25, 30, 24, 723), + Trans(25, 31, 24, 723), + Trans(25, 32, 24, 723), + Trans(25, 33, 24, 723), + Trans(25, 34, 24, 723), + Trans(25, 35, 24, 723), + Trans(25, 36, 24, 723), + Trans(25, 37, 24, 723), + Trans(25, 39, 24, 723), + Trans(25, 40, 24, 723), + Trans(25, 41, 24, 723), + Trans(25, 42, 24, 723), + Trans(25, 43, 24, 723), + Trans(25, 44, 24, 723), + Trans(25, 45, 24, 723), + Trans(25, 46, 24, 723), + Trans(25, 47, 24, 723), + Trans(25, 51, 24, 723), + Trans(25, 79, 24, 723), + Trans(25, 93, 24, 723), + Trans(25, 102, 24, 723), ], k: 3, }, - /* 621 - "WithGenericArgumentListOpt" */ + /* 622 - "WithGenericArgumentListOpt" */ LookaheadDFA { prod0: -1, - transitions: &[Trans(0, 31, 1, 722), Trans(0, 42, 2, 723)], + transitions: &[Trans(0, 31, 1, 724), Trans(0, 42, 2, 725)], k: 1, }, - /* 622 - "WithGenericArgumentOpt" */ + /* 623 - "WithGenericArgumentOpt" */ LookaheadDFA { prod0: -1, transitions: &[ - Trans(0, 7, 1, 717), - Trans(0, 8, 1, 717), - Trans(0, 9, 1, 717), - Trans(0, 10, 1, 717), - Trans(0, 11, 1, 717), - Trans(0, 42, 2, 718), - Trans(0, 111, 1, 717), - Trans(0, 112, 1, 717), + Trans(0, 7, 1, 719), + Trans(0, 8, 1, 719), + Trans(0, 9, 1, 719), + Trans(0, 10, 1, 719), + Trans(0, 11, 1, 719), + Trans(0, 42, 2, 720), + Trans(0, 111, 1, 719), + Trans(0, 112, 1, 719), ], k: 1, }, - /* 623 - "WithGenericParameter" */ + /* 624 - "WithGenericParameter" */ LookaheadDFA { - prod0: 707, + prod0: 709, transitions: &[], k: 0, }, - /* 624 - "WithGenericParameterItem" */ + /* 625 - "WithGenericParameterItem" */ LookaheadDFA { - prod0: 713, + prod0: 715, transitions: &[], k: 0, }, - /* 625 - "WithGenericParameterItemOpt" */ + /* 626 - "WithGenericParameterItemOpt" */ LookaheadDFA { prod0: -1, transitions: &[ - Trans(0, 31, 2, 715), - Trans(0, 35, 1, 714), - Trans(0, 42, 2, 715), + Trans(0, 31, 2, 717), + Trans(0, 35, 1, 716), + Trans(0, 42, 2, 717), ], k: 1, }, - /* 626 - "WithGenericParameterList" */ + /* 627 - "WithGenericParameterList" */ LookaheadDFA { - prod0: 708, + prod0: 710, transitions: &[], k: 0, }, - /* 627 - "WithGenericParameterListList" */ + /* 628 - "WithGenericParameterListList" */ LookaheadDFA { prod0: -1, transitions: &[ @@ -16371,175 +16385,175 @@ pub const LOOKAHEAD_AUTOMATA: &[LookaheadDFA; 640] = &[ Trans(1, 5, 4, -1), Trans(1, 42, 12, -1), Trans(1, 112, 2, -1), - Trans(2, 5, 3, 709), - Trans(2, 31, 3, 709), - Trans(2, 35, 3, 709), - Trans(2, 42, 3, 709), - Trans(4, 42, 11, 710), - Trans(4, 112, 3, 709), + Trans(2, 5, 3, 711), + Trans(2, 31, 3, 711), + Trans(2, 35, 3, 711), + Trans(2, 42, 3, 711), + Trans(4, 42, 11, 712), + Trans(4, 112, 3, 711), Trans(5, 5, 6, -1), Trans(5, 13, 7, -1), Trans(5, 36, 8, -1), Trans(5, 39, 9, -1), Trans(5, 41, 10, -1), - Trans(6, 13, 11, 710), - Trans(6, 36, 11, 710), - Trans(6, 39, 11, 710), - Trans(6, 41, 11, 710), - Trans(7, 5, 11, 710), - Trans(7, 52, 11, 710), - Trans(7, 54, 11, 710), - Trans(7, 55, 11, 710), - Trans(7, 56, 11, 710), - Trans(7, 62, 11, 710), - Trans(7, 63, 11, 710), - Trans(7, 67, 11, 710), - Trans(7, 68, 11, 710), - Trans(7, 82, 11, 710), - Trans(7, 94, 11, 710), - Trans(7, 95, 11, 710), - Trans(7, 96, 11, 710), - Trans(7, 97, 11, 710), - Trans(7, 98, 11, 710), - Trans(7, 101, 11, 710), - Trans(7, 103, 11, 710), - Trans(7, 105, 11, 710), - Trans(7, 107, 11, 710), - Trans(7, 108, 11, 710), - Trans(7, 111, 11, 710), - Trans(7, 112, 11, 710), - Trans(8, 5, 11, 710), - Trans(8, 41, 11, 710), - Trans(9, 5, 11, 710), - Trans(9, 30, 11, 710), - Trans(9, 36, 11, 710), - Trans(9, 39, 11, 710), - Trans(9, 43, 11, 710), - Trans(9, 48, 11, 710), - Trans(9, 49, 11, 710), - Trans(9, 50, 11, 710), - Trans(9, 53, 11, 710), - Trans(9, 60, 11, 710), - Trans(9, 61, 11, 710), - Trans(9, 64, 11, 710), - Trans(9, 65, 11, 710), - Trans(9, 66, 11, 710), - Trans(9, 69, 11, 710), - Trans(9, 70, 11, 710), - Trans(9, 71, 11, 710), - Trans(9, 73, 11, 710), - Trans(9, 77, 11, 710), - Trans(9, 80, 11, 710), - Trans(9, 81, 11, 710), - Trans(9, 84, 11, 710), - Trans(9, 99, 11, 710), - Trans(9, 100, 11, 710), - Trans(9, 104, 11, 710), - Trans(9, 106, 11, 710), - Trans(9, 109, 11, 710), - Trans(9, 110, 11, 710), - Trans(9, 111, 11, 710), - Trans(9, 112, 11, 710), - Trans(10, 5, 11, 710), - Trans(10, 36, 11, 710), - Trans(10, 39, 11, 710), - Trans(10, 45, 11, 710), - Trans(10, 112, 11, 710), - Trans(12, 5, 11, 710), - Trans(12, 13, 11, 710), - Trans(12, 36, 11, 710), - Trans(12, 39, 11, 710), - Trans(12, 41, 11, 710), + Trans(6, 13, 11, 712), + Trans(6, 36, 11, 712), + Trans(6, 39, 11, 712), + Trans(6, 41, 11, 712), + Trans(7, 5, 11, 712), + Trans(7, 52, 11, 712), + Trans(7, 54, 11, 712), + Trans(7, 55, 11, 712), + Trans(7, 56, 11, 712), + Trans(7, 62, 11, 712), + Trans(7, 63, 11, 712), + Trans(7, 67, 11, 712), + Trans(7, 68, 11, 712), + Trans(7, 82, 11, 712), + Trans(7, 94, 11, 712), + Trans(7, 95, 11, 712), + Trans(7, 96, 11, 712), + Trans(7, 97, 11, 712), + Trans(7, 98, 11, 712), + Trans(7, 101, 11, 712), + Trans(7, 103, 11, 712), + Trans(7, 105, 11, 712), + Trans(7, 107, 11, 712), + Trans(7, 108, 11, 712), + Trans(7, 111, 11, 712), + Trans(7, 112, 11, 712), + Trans(8, 5, 11, 712), + Trans(8, 41, 11, 712), + Trans(9, 5, 11, 712), + Trans(9, 30, 11, 712), + Trans(9, 36, 11, 712), + Trans(9, 39, 11, 712), + Trans(9, 43, 11, 712), + Trans(9, 48, 11, 712), + Trans(9, 49, 11, 712), + Trans(9, 50, 11, 712), + Trans(9, 53, 11, 712), + Trans(9, 60, 11, 712), + Trans(9, 61, 11, 712), + Trans(9, 64, 11, 712), + Trans(9, 65, 11, 712), + Trans(9, 66, 11, 712), + Trans(9, 69, 11, 712), + Trans(9, 70, 11, 712), + Trans(9, 71, 11, 712), + Trans(9, 73, 11, 712), + Trans(9, 77, 11, 712), + Trans(9, 80, 11, 712), + Trans(9, 81, 11, 712), + Trans(9, 84, 11, 712), + Trans(9, 99, 11, 712), + Trans(9, 100, 11, 712), + Trans(9, 104, 11, 712), + Trans(9, 106, 11, 712), + Trans(9, 109, 11, 712), + Trans(9, 110, 11, 712), + Trans(9, 111, 11, 712), + Trans(9, 112, 11, 712), + Trans(10, 5, 11, 712), + Trans(10, 36, 11, 712), + Trans(10, 39, 11, 712), + Trans(10, 45, 11, 712), + Trans(10, 112, 11, 712), + Trans(12, 5, 11, 712), + Trans(12, 13, 11, 712), + Trans(12, 36, 11, 712), + Trans(12, 39, 11, 712), + Trans(12, 41, 11, 712), ], k: 3, }, - /* 628 - "WithGenericParameterListOpt" */ + /* 629 - "WithGenericParameterListOpt" */ LookaheadDFA { prod0: -1, - transitions: &[Trans(0, 31, 1, 711), Trans(0, 42, 2, 712)], + transitions: &[Trans(0, 31, 1, 713), Trans(0, 42, 2, 714)], k: 1, }, - /* 629 - "WithParameter" */ + /* 630 - "WithParameter" */ LookaheadDFA { - prod0: 689, + prod0: 691, transitions: &[], k: 0, }, - /* 630 - "WithParameterGroup" */ + /* 631 - "WithParameterGroup" */ LookaheadDFA { - prod0: 697, + prod0: 699, transitions: &[], k: 0, }, - /* 631 - "WithParameterGroupGroup" */ + /* 632 - "WithParameterGroupGroup" */ LookaheadDFA { prod0: -1, transitions: &[ - Trans(0, 39, 1, 698), - Trans(0, 81, 2, 699), - Trans(0, 90, 2, 699), + Trans(0, 39, 1, 700), + Trans(0, 81, 2, 701), + Trans(0, 90, 2, 701), ], k: 1, }, - /* 632 - "WithParameterGroupList" */ + /* 633 - "WithParameterGroupList" */ LookaheadDFA { prod0: -1, transitions: &[ - Trans(0, 36, 1, 700), - Trans(0, 39, 2, 701), - Trans(0, 81, 2, 701), - Trans(0, 90, 2, 701), + Trans(0, 36, 1, 702), + Trans(0, 39, 2, 703), + Trans(0, 81, 2, 703), + Trans(0, 90, 2, 703), ], k: 1, }, - /* 633 - "WithParameterItem" */ + /* 634 - "WithParameterItem" */ LookaheadDFA { - prod0: 702, + prod0: 704, transitions: &[], k: 0, }, - /* 634 - "WithParameterItemGroup" */ + /* 635 - "WithParameterItemGroup" */ LookaheadDFA { prod0: -1, - transitions: &[Trans(0, 81, 2, 706), Trans(0, 90, 1, 705)], + transitions: &[Trans(0, 81, 2, 708), Trans(0, 90, 1, 707)], k: 1, }, - /* 635 - "WithParameterItemGroup0" */ + /* 636 - "WithParameterItemGroup0" */ LookaheadDFA { prod0: -1, transitions: &[ - Trans(0, 52, 1, 703), - Trans(0, 54, 1, 703), - Trans(0, 55, 1, 703), - Trans(0, 56, 1, 703), - Trans(0, 62, 1, 703), - Trans(0, 63, 1, 703), - Trans(0, 67, 1, 703), - Trans(0, 68, 1, 703), - Trans(0, 82, 1, 703), - Trans(0, 94, 1, 703), - Trans(0, 95, 1, 703), - Trans(0, 96, 1, 703), - Trans(0, 97, 1, 703), - Trans(0, 98, 1, 703), - Trans(0, 101, 1, 703), - Trans(0, 103, 1, 703), - Trans(0, 105, 1, 703), - Trans(0, 106, 2, 704), - Trans(0, 107, 1, 703), - Trans(0, 108, 1, 703), - Trans(0, 111, 1, 703), - Trans(0, 112, 1, 703), + Trans(0, 52, 1, 705), + Trans(0, 54, 1, 705), + Trans(0, 55, 1, 705), + Trans(0, 56, 1, 705), + Trans(0, 62, 1, 705), + Trans(0, 63, 1, 705), + Trans(0, 67, 1, 705), + Trans(0, 68, 1, 705), + Trans(0, 82, 1, 705), + Trans(0, 94, 1, 705), + Trans(0, 95, 1, 705), + Trans(0, 96, 1, 705), + Trans(0, 97, 1, 705), + Trans(0, 98, 1, 705), + Trans(0, 101, 1, 705), + Trans(0, 103, 1, 705), + Trans(0, 105, 1, 705), + Trans(0, 106, 2, 706), + Trans(0, 107, 1, 705), + Trans(0, 108, 1, 705), + Trans(0, 111, 1, 705), + Trans(0, 112, 1, 705), ], k: 1, }, - /* 636 - "WithParameterList" */ + /* 637 - "WithParameterList" */ LookaheadDFA { - prod0: 692, + prod0: 694, transitions: &[], k: 0, }, - /* 637 - "WithParameterListList" */ + /* 638 - "WithParameterListList" */ LookaheadDFA { prod0: -1, transitions: &[ @@ -16553,21 +16567,21 @@ pub const LOOKAHEAD_AUTOMATA: &[LookaheadDFA; 640] = &[ Trans(1, 45, 12, -1), Trans(1, 81, 5, -1), Trans(1, 90, 5, -1), - Trans(2, 5, 3, 693), - Trans(2, 40, 3, 693), - Trans(4, 5, 3, 693), - Trans(4, 36, 3, 693), - Trans(4, 39, 3, 693), - Trans(4, 81, 3, 693), - Trans(4, 90, 3, 693), - Trans(5, 5, 3, 693), - Trans(5, 112, 3, 693), - Trans(6, 36, 3, 693), - Trans(6, 39, 3, 693), - Trans(6, 43, 13, 694), - Trans(6, 45, 13, 694), - Trans(6, 81, 3, 693), - Trans(6, 90, 3, 693), + Trans(2, 5, 3, 695), + Trans(2, 40, 3, 695), + Trans(4, 5, 3, 695), + Trans(4, 36, 3, 695), + Trans(4, 39, 3, 695), + Trans(4, 81, 3, 695), + Trans(4, 90, 3, 695), + Trans(5, 5, 3, 695), + Trans(5, 112, 3, 695), + Trans(6, 36, 3, 695), + Trans(6, 39, 3, 695), + Trans(6, 43, 13, 696), + Trans(6, 45, 13, 696), + Trans(6, 81, 3, 695), + Trans(6, 90, 3, 695), Trans(7, 5, 9, -1), Trans(7, 31, 10, -1), Trans(7, 43, 11, -1), @@ -16575,81 +16589,81 @@ pub const LOOKAHEAD_AUTOMATA: &[LookaheadDFA; 640] = &[ Trans(8, 5, 14, -1), Trans(8, 39, 15, -1), Trans(8, 41, 16, -1), - Trans(9, 31, 13, 694), - Trans(9, 43, 13, 694), - Trans(9, 45, 13, 694), - Trans(10, 5, 13, 694), - Trans(10, 36, 13, 694), - Trans(10, 39, 13, 694), - Trans(10, 43, 13, 694), - Trans(10, 45, 13, 694), - Trans(10, 81, 13, 694), - Trans(10, 90, 13, 694), - Trans(11, 5, 13, 694), - Trans(11, 31, 13, 694), - Trans(11, 43, 13, 694), - Trans(11, 45, 13, 694), - Trans(12, 5, 13, 694), - Trans(12, 39, 13, 694), - Trans(12, 41, 13, 694), - Trans(14, 39, 13, 694), - Trans(14, 41, 13, 694), - Trans(15, 5, 13, 694), - Trans(15, 30, 13, 694), - Trans(15, 36, 13, 694), - Trans(15, 39, 13, 694), - Trans(15, 43, 13, 694), - Trans(15, 48, 13, 694), - Trans(15, 49, 13, 694), - Trans(15, 50, 13, 694), - Trans(15, 60, 13, 694), - Trans(15, 64, 13, 694), - Trans(15, 65, 13, 694), - Trans(15, 66, 13, 694), - Trans(15, 70, 13, 694), - Trans(15, 71, 13, 694), - Trans(15, 73, 13, 694), - Trans(15, 77, 13, 694), - Trans(15, 80, 13, 694), - Trans(15, 81, 13, 694), - Trans(15, 84, 13, 694), - Trans(15, 104, 13, 694), - Trans(15, 106, 13, 694), - Trans(15, 109, 13, 694), - Trans(15, 110, 13, 694), - Trans(16, 5, 13, 694), - Trans(16, 36, 13, 694), - Trans(16, 39, 13, 694), - Trans(16, 45, 13, 694), - Trans(16, 112, 13, 694), + Trans(9, 31, 13, 696), + Trans(9, 43, 13, 696), + Trans(9, 45, 13, 696), + Trans(10, 5, 13, 696), + Trans(10, 36, 13, 696), + Trans(10, 39, 13, 696), + Trans(10, 43, 13, 696), + Trans(10, 45, 13, 696), + Trans(10, 81, 13, 696), + Trans(10, 90, 13, 696), + Trans(11, 5, 13, 696), + Trans(11, 31, 13, 696), + Trans(11, 43, 13, 696), + Trans(11, 45, 13, 696), + Trans(12, 5, 13, 696), + Trans(12, 39, 13, 696), + Trans(12, 41, 13, 696), + Trans(14, 39, 13, 696), + Trans(14, 41, 13, 696), + Trans(15, 5, 13, 696), + Trans(15, 30, 13, 696), + Trans(15, 36, 13, 696), + Trans(15, 39, 13, 696), + Trans(15, 43, 13, 696), + Trans(15, 48, 13, 696), + Trans(15, 49, 13, 696), + Trans(15, 50, 13, 696), + Trans(15, 60, 13, 696), + Trans(15, 64, 13, 696), + Trans(15, 65, 13, 696), + Trans(15, 66, 13, 696), + Trans(15, 70, 13, 696), + Trans(15, 71, 13, 696), + Trans(15, 73, 13, 696), + Trans(15, 77, 13, 696), + Trans(15, 80, 13, 696), + Trans(15, 81, 13, 696), + Trans(15, 84, 13, 696), + Trans(15, 104, 13, 696), + Trans(15, 106, 13, 696), + Trans(15, 109, 13, 696), + Trans(15, 110, 13, 696), + Trans(16, 5, 13, 696), + Trans(16, 36, 13, 696), + Trans(16, 39, 13, 696), + Trans(16, 45, 13, 696), + Trans(16, 112, 13, 696), ], k: 3, }, - /* 638 - "WithParameterListOpt" */ + /* 639 - "WithParameterListOpt" */ LookaheadDFA { prod0: -1, transitions: &[ - Trans(0, 31, 1, 695), - Trans(0, 43, 2, 696), - Trans(0, 45, 2, 696), + Trans(0, 31, 1, 697), + Trans(0, 43, 2, 698), + Trans(0, 45, 2, 698), ], k: 1, }, - /* 639 - "WithParameterOpt" */ + /* 640 - "WithParameterOpt" */ LookaheadDFA { prod0: -1, transitions: &[ - Trans(0, 36, 1, 690), - Trans(0, 39, 1, 690), - Trans(0, 45, 2, 691), - Trans(0, 81, 1, 690), - Trans(0, 90, 1, 690), + Trans(0, 36, 1, 692), + Trans(0, 39, 1, 692), + Trans(0, 45, 2, 693), + Trans(0, 81, 1, 692), + Trans(0, 90, 1, 692), ], k: 1, }, ]; -pub const PRODUCTIONS: &[Production; 915] = &[ +pub const PRODUCTIONS: &[Production; 917] = &[ // 0 - CommentsTerm: "(?:(?:(?://.*(?:\r\n|\r|\n|$))|(?:(?ms)/\u{2a}.*?\u{2a}/))\s*)+"; Production { lhs: 102, @@ -16657,7 +16671,7 @@ pub const PRODUCTIONS: &[Production; 915] = &[ }, // 1 - StringLiteralTerm: "\u{0022}(?:\\[\u{0022}\\/bfnrt]|u[0-9a-fA-F]{4}|[^\u{0022}\\\u0000-\u001F])*\u{0022}"; Production { - lhs: 568, + lhs: 569, production: &[ParseType::T(6)], }, // 2 - ExponentTerm: /[0-9]+(?:_[0-9]+)*\.[0-9]+(?:_[0-9]+)*[eE][+-]?[0-9]+(?:_[0-9]+)*/; @@ -16697,7 +16711,7 @@ pub const PRODUCTIONS: &[Production; 915] = &[ }, // 9 - PlusColonTerm: '+:'; Production { - lhs: 476, + lhs: 477, production: &[ParseType::T(14)], }, // 10 - AssignmentOperatorTerm: "\+=|-=|\*=|/=|%=|&=|\|=|\^=|<<=|>>=|<<<=|>>>="; @@ -16707,62 +16721,62 @@ pub const PRODUCTIONS: &[Production; 915] = &[ }, // 11 - Operator11Term: "\*\*"; Production { - lhs: 451, + lhs: 452, production: &[ParseType::T(16)], }, // 12 - Operator10Term: "/|%"; Production { - lhs: 448, + lhs: 449, production: &[ParseType::T(17)], }, // 13 - Operator09Term: "\+|-"; Production { - lhs: 445, + lhs: 446, production: &[ParseType::T(18)], }, // 14 - Operator08Term: "<<<|>>>|<<|>>"; Production { - lhs: 442, + lhs: 443, production: &[ParseType::T(19)], }, // 15 - Operator07Term: "<=|>=|<:|>:"; Production { - lhs: 439, + lhs: 440, production: &[ParseType::T(20)], }, // 16 - Operator06Term: "===|==\?|!==|!=\?|==|!="; Production { - lhs: 436, + lhs: 437, production: &[ParseType::T(21)], }, // 17 - Operator02Term: "&&"; Production { - lhs: 424, + lhs: 425, production: &[ParseType::T(22)], }, // 18 - Operator01Term: "\|\|"; Production { - lhs: 421, + lhs: 422, production: &[ParseType::T(23)], }, // 19 - Operator05Term: "&"; Production { - lhs: 433, + lhs: 434, production: &[ParseType::T(24)], }, // 20 - Operator04Term: "\^~|\^|~\^"; Production { - lhs: 430, + lhs: 431, production: &[ParseType::T(25)], }, // 21 - Operator03Term: "\|"; Production { - lhs: 427, + lhs: 428, production: &[ParseType::T(26)], }, // 22 - UnaryOperatorTerm: "~&|~\||!|~"; Production { - lhs: 601, + lhs: 602, production: &[ParseType::T(27)], }, // 23 - ColonColonLAngleTerm: '::<'; @@ -16817,7 +16831,7 @@ pub const PRODUCTIONS: &[Production; 915] = &[ }, // 33 - QuoteLBraceTerm: "'\{"; Production { - lhs: 493, + lhs: 494, production: &[ParseType::T(38)], }, // 34 - LBraceTerm: '{'; @@ -16837,32 +16851,32 @@ pub const PRODUCTIONS: &[Production; 915] = &[ }, // 37 - RAngleTerm: '>'; Production { - lhs: 496, + lhs: 497, production: &[ParseType::T(42)], }, // 38 - RBraceTerm: '}'; Production { - lhs: 499, + lhs: 500, production: &[ParseType::T(43)], }, // 39 - RBracketTerm: ']'; Production { - lhs: 502, + lhs: 503, production: &[ParseType::T(44)], }, // 40 - RParenTerm: ')'; Production { - lhs: 505, + lhs: 506, production: &[ParseType::T(45)], }, // 41 - SemicolonTerm: ';'; Production { - lhs: 552, + lhs: 553, production: &[ParseType::T(46)], }, // 42 - StarTerm: '*'; Production { - lhs: 558, + lhs: 559, production: &[ParseType::T(47)], }, // 43 - AlwaysCombTerm: /(?-u:\b)always_comb(?-u:\b)/; @@ -17047,82 +17061,82 @@ pub const PRODUCTIONS: &[Production; 915] = &[ }, // 79 - ModportTerm: /(?-u:\b)modport(?-u:\b)/; Production { - lhs: 390, + lhs: 391, production: &[ParseType::T(84)], }, // 80 - ModuleTerm: /(?-u:\b)module(?-u:\b)/; Production { - lhs: 414, + lhs: 415, production: &[ParseType::T(85)], }, // 81 - MsbTerm: /(?-u:\b)msb(?-u:\b)/; Production { - lhs: 417, + lhs: 418, production: &[ParseType::T(86)], }, // 82 - OutputTerm: /(?-u:\b)output(?-u:\b)/; Production { - lhs: 454, + lhs: 455, production: &[ParseType::T(87)], }, // 83 - OutsideTerm: /(?-u:\b)outside(?-u:\b)/; Production { - lhs: 458, + lhs: 459, production: &[ParseType::T(88)], }, // 84 - PackageTerm: /(?-u:\b)package(?-u:\b)/; Production { - lhs: 470, + lhs: 471, production: &[ParseType::T(89)], }, // 85 - ParamTerm: /(?-u:\b)param(?-u:\b)/; Production { - lhs: 473, + lhs: 474, production: &[ParseType::T(90)], }, // 86 - PubTerm: /(?-u:\b)pub(?-u:\b)/; Production { - lhs: 490, + lhs: 491, production: &[ParseType::T(91)], }, // 87 - RefTerm: /(?-u:\b)ref(?-u:\b)/; Production { - lhs: 516, + lhs: 517, production: &[ParseType::T(92)], }, // 88 - RepeatTerm: /(?-u:\b)repeat(?-u:\b)/; Production { - lhs: 519, + lhs: 520, production: &[ParseType::T(93)], }, // 89 - ResetTerm: /(?-u:\b)reset(?-u:\b)/; Production { - lhs: 534, + lhs: 535, production: &[ParseType::T(94)], }, // 90 - ResetAsyncHighTerm: /(?-u:\b)reset_async_high(?-u:\b)/; Production { - lhs: 523, + lhs: 524, production: &[ParseType::T(95)], }, // 91 - ResetAsyncLowTerm: /(?-u:\b)reset_async_low(?-u:\b)/; Production { - lhs: 526, + lhs: 527, production: &[ParseType::T(96)], }, // 92 - ResetSyncHighTerm: /(?-u:\b)reset_sync_high(?-u:\b)/; Production { - lhs: 529, + lhs: 530, production: &[ParseType::T(97)], }, // 93 - ResetSyncLowTerm: /(?-u:\b)reset_sync_low(?-u:\b)/; Production { - lhs: 532, + lhs: 533, production: &[ParseType::T(98)], }, // 94 - ReturnTerm: /(?-u:\b)return(?-u:\b)/; Production { - lhs: 538, + lhs: 539, production: &[ParseType::T(99)], }, // 95 - BreakTerm: /(?-u:\b)break(?-u:\b)/; @@ -17132,52 +17146,52 @@ pub const PRODUCTIONS: &[Production; 915] = &[ }, // 96 - SignedTerm: /(?-u:\b)signed(?-u:\b)/; Production { - lhs: 555, + lhs: 556, production: &[ParseType::T(101)], }, // 97 - StepTerm: /(?-u:\b)step(?-u:\b)/; Production { - lhs: 564, + lhs: 565, production: &[ParseType::T(102)], }, // 98 - StringTerm: /(?-u:\b)string(?-u:\b)/; Production { - lhs: 570, + lhs: 571, production: &[ParseType::T(103)], }, // 99 - StructTerm: /(?-u:\b)struct(?-u:\b)/; Production { - lhs: 573, + lhs: 574, production: &[ParseType::T(104)], }, // 100 - TriTerm: /(?-u:\b)tri(?-u:\b)/; Production { - lhs: 586, + lhs: 587, production: &[ParseType::T(105)], }, // 101 - TypeTerm: /(?-u:\b)type(?-u:\b)/; Production { - lhs: 592, + lhs: 593, production: &[ParseType::T(106)], }, // 102 - U32Term: /(?-u:\b)u32(?-u:\b)/; Production { - lhs: 595, + lhs: 596, production: &[ParseType::T(107)], }, // 103 - U64Term: /(?-u:\b)u64(?-u:\b)/; Production { - lhs: 598, + lhs: 599, production: &[ParseType::T(108)], }, // 104 - UnionTerm: /(?-u:\b)union(?-u:\b)/; Production { - lhs: 604, + lhs: 605, production: &[ParseType::T(109)], }, // 105 - VarTerm: /(?-u:\b)var(?-u:\b)/; Production { - lhs: 608, + lhs: 609, production: &[ParseType::T(110)], }, // 106 - DollarIdentifierTerm: /\$[a-zA-Z_][0-9a-zA-Z_$]*/; @@ -17212,13 +17226,13 @@ pub const PRODUCTIONS: &[Production; 915] = &[ }, // 112 - StartToken: Comments; Production { - lhs: 561, + lhs: 562, production: &[ParseType::N(100)], }, // 113 - StringLiteralToken: StringLiteralTerm : crate::veryl_token::Token Comments; Production { - lhs: 569, - production: &[ParseType::N(100), ParseType::N(568)], + lhs: 570, + production: &[ParseType::N(100), ParseType::N(569)], }, // 114 - ExponentToken: ExponentTerm : crate::veryl_token::Token Comments; Production { @@ -17252,63 +17266,63 @@ pub const PRODUCTIONS: &[Production; 915] = &[ }, // 120 - Operator01Token: Operator01Term : crate::veryl_token::Token Comments; Production { - lhs: 422, - production: &[ParseType::N(100), ParseType::N(421)], + lhs: 423, + production: &[ParseType::N(100), ParseType::N(422)], }, // 121 - Operator02Token: Operator02Term : crate::veryl_token::Token Comments; Production { - lhs: 425, - production: &[ParseType::N(100), ParseType::N(424)], + lhs: 426, + production: &[ParseType::N(100), ParseType::N(425)], }, // 122 - Operator03Token: Operator03Term : crate::veryl_token::Token Comments; Production { - lhs: 428, - production: &[ParseType::N(100), ParseType::N(427)], + lhs: 429, + production: &[ParseType::N(100), ParseType::N(428)], }, // 123 - Operator04Token: Operator04Term : crate::veryl_token::Token Comments; Production { - lhs: 431, - production: &[ParseType::N(100), ParseType::N(430)], + lhs: 432, + production: &[ParseType::N(100), ParseType::N(431)], }, // 124 - Operator05Token: Operator05Term : crate::veryl_token::Token Comments; Production { - lhs: 434, - production: &[ParseType::N(100), ParseType::N(433)], + lhs: 435, + production: &[ParseType::N(100), ParseType::N(434)], }, // 125 - Operator06Token: Operator06Term : crate::veryl_token::Token Comments; Production { - lhs: 437, - production: &[ParseType::N(100), ParseType::N(436)], + lhs: 438, + production: &[ParseType::N(100), ParseType::N(437)], }, // 126 - Operator07Token: Operator07Term : crate::veryl_token::Token Comments; Production { - lhs: 440, - production: &[ParseType::N(100), ParseType::N(439)], + lhs: 441, + production: &[ParseType::N(100), ParseType::N(440)], }, // 127 - Operator08Token: Operator08Term : crate::veryl_token::Token Comments; Production { - lhs: 443, - production: &[ParseType::N(100), ParseType::N(442)], + lhs: 444, + production: &[ParseType::N(100), ParseType::N(443)], }, // 128 - Operator09Token: Operator09Term : crate::veryl_token::Token Comments; Production { - lhs: 446, - production: &[ParseType::N(100), ParseType::N(445)], + lhs: 447, + production: &[ParseType::N(100), ParseType::N(446)], }, // 129 - Operator10Token: Operator10Term : crate::veryl_token::Token Comments; Production { - lhs: 449, - production: &[ParseType::N(100), ParseType::N(448)], + lhs: 450, + production: &[ParseType::N(100), ParseType::N(449)], }, // 130 - Operator11Token: Operator11Term : crate::veryl_token::Token Comments; Production { - lhs: 452, - production: &[ParseType::N(100), ParseType::N(451)], + lhs: 453, + production: &[ParseType::N(100), ParseType::N(452)], }, // 131 - UnaryOperatorToken: UnaryOperatorTerm : crate::veryl_token::Token Comments; Production { - lhs: 602, - production: &[ParseType::N(100), ParseType::N(601)], + lhs: 603, + production: &[ParseType::N(100), ParseType::N(602)], }, // 132 - ColonToken: ColonTerm : crate::veryl_token::Token Comments; Production { @@ -17357,8 +17371,8 @@ pub const PRODUCTIONS: &[Production; 915] = &[ }, // 141 - QuoteLBraceToken: QuoteLBraceTerm : crate::veryl_token::Token Comments; Production { - lhs: 494, - production: &[ParseType::N(100), ParseType::N(493)], + lhs: 495, + production: &[ParseType::N(100), ParseType::N(494)], }, // 142 - LAngleToken: LAngleTerm : crate::veryl_token::Token Comments; Production { @@ -17392,38 +17406,38 @@ pub const PRODUCTIONS: &[Production; 915] = &[ }, // 148 - PlusColonToken: PlusColonTerm : crate::veryl_token::Token Comments; Production { - lhs: 477, - production: &[ParseType::N(100), ParseType::N(476)], + lhs: 478, + production: &[ParseType::N(100), ParseType::N(477)], }, // 149 - RAngleToken: RAngleTerm : crate::veryl_token::Token Comments; Production { - lhs: 497, - production: &[ParseType::N(100), ParseType::N(496)], + lhs: 498, + production: &[ParseType::N(100), ParseType::N(497)], }, // 150 - RBraceToken: RBraceTerm : crate::veryl_token::Token Comments; Production { - lhs: 500, - production: &[ParseType::N(100), ParseType::N(499)], + lhs: 501, + production: &[ParseType::N(100), ParseType::N(500)], }, // 151 - RBracketToken: RBracketTerm : crate::veryl_token::Token Comments; Production { - lhs: 503, - production: &[ParseType::N(100), ParseType::N(502)], + lhs: 504, + production: &[ParseType::N(100), ParseType::N(503)], }, // 152 - RParenToken: RParenTerm : crate::veryl_token::Token Comments; Production { - lhs: 506, - production: &[ParseType::N(100), ParseType::N(505)], + lhs: 507, + production: &[ParseType::N(100), ParseType::N(506)], }, // 153 - SemicolonToken: SemicolonTerm : crate::veryl_token::Token Comments; Production { - lhs: 553, - production: &[ParseType::N(100), ParseType::N(552)], + lhs: 554, + production: &[ParseType::N(100), ParseType::N(553)], }, // 154 - StarToken: StarTerm : crate::veryl_token::Token Comments; Production { - lhs: 559, - production: &[ParseType::N(100), ParseType::N(558)], + lhs: 560, + production: &[ParseType::N(100), ParseType::N(559)], }, // 155 - AlwaysCombToken: AlwaysCombTerm : crate::veryl_token::Token Comments; Production { @@ -17607,83 +17621,83 @@ pub const PRODUCTIONS: &[Production; 915] = &[ }, // 191 - ModportToken: ModportTerm : crate::veryl_token::Token Comments; Production { - lhs: 391, - production: &[ParseType::N(100), ParseType::N(390)], + lhs: 392, + production: &[ParseType::N(100), ParseType::N(391)], }, // 192 - ModuleToken: ModuleTerm : crate::veryl_token::Token Comments; Production { - lhs: 415, - production: &[ParseType::N(100), ParseType::N(414)], + lhs: 416, + production: &[ParseType::N(100), ParseType::N(415)], }, // 193 - MsbToken: MsbTerm : crate::veryl_token::Token Comments; Production { - lhs: 418, - production: &[ParseType::N(100), ParseType::N(417)], + lhs: 419, + production: &[ParseType::N(100), ParseType::N(418)], }, // 194 - OutputToken: OutputTerm : crate::veryl_token::Token Comments; Production { - lhs: 455, - production: &[ParseType::N(100), ParseType::N(454)], + lhs: 456, + production: &[ParseType::N(100), ParseType::N(455)], }, // 195 - OutsideToken: OutsideTerm : crate::veryl_token::Token Comments; Production { - lhs: 459, - production: &[ParseType::N(100), ParseType::N(458)], + lhs: 460, + production: &[ParseType::N(100), ParseType::N(459)], }, // 196 - PackageToken: PackageTerm : crate::veryl_token::Token Comments; Production { - lhs: 471, - production: &[ParseType::N(100), ParseType::N(470)], + lhs: 472, + production: &[ParseType::N(100), ParseType::N(471)], }, // 197 - ParamToken: ParamTerm : crate::veryl_token::Token Comments; Production { - lhs: 474, - production: &[ParseType::N(100), ParseType::N(473)], + lhs: 475, + production: &[ParseType::N(100), ParseType::N(474)], }, // 198 - PubToken: PubTerm : crate::veryl_token::Token Comments; Production { - lhs: 491, - production: &[ParseType::N(100), ParseType::N(490)], + lhs: 492, + production: &[ParseType::N(100), ParseType::N(491)], }, // 199 - RefToken: RefTerm : crate::veryl_token::Token Comments; Production { - lhs: 517, - production: &[ParseType::N(100), ParseType::N(516)], + lhs: 518, + production: &[ParseType::N(100), ParseType::N(517)], }, // 200 - RepeatToken: RepeatTerm : crate::veryl_token::Token Comments; Production { - lhs: 520, - production: &[ParseType::N(100), ParseType::N(519)], + lhs: 521, + production: &[ParseType::N(100), ParseType::N(520)], }, // 201 - ResetToken: ResetTerm : crate::veryl_token::Token Comments; Production { - lhs: 535, - production: &[ParseType::N(100), ParseType::N(534)], + lhs: 536, + production: &[ParseType::N(100), ParseType::N(535)], }, // 202 - ResetAsyncHighToken: ResetAsyncHighTerm : crate::veryl_token::Token Comments; Production { - lhs: 524, - production: &[ParseType::N(100), ParseType::N(523)], + lhs: 525, + production: &[ParseType::N(100), ParseType::N(524)], }, // 203 - ResetAsyncLowToken: ResetAsyncLowTerm : crate::veryl_token::Token Comments; Production { - lhs: 527, - production: &[ParseType::N(100), ParseType::N(526)], + lhs: 528, + production: &[ParseType::N(100), ParseType::N(527)], }, // 204 - ResetSyncHighToken: ResetSyncHighTerm : crate::veryl_token::Token Comments; Production { - lhs: 530, - production: &[ParseType::N(100), ParseType::N(529)], + lhs: 531, + production: &[ParseType::N(100), ParseType::N(530)], }, // 205 - ResetSyncLowToken: ResetSyncLowTerm : crate::veryl_token::Token Comments; Production { - lhs: 533, - production: &[ParseType::N(100), ParseType::N(532)], + lhs: 534, + production: &[ParseType::N(100), ParseType::N(533)], }, // 206 - ReturnToken: ReturnTerm : crate::veryl_token::Token Comments; Production { - lhs: 539, - production: &[ParseType::N(100), ParseType::N(538)], + lhs: 540, + production: &[ParseType::N(100), ParseType::N(539)], }, // 207 - BreakToken: BreakTerm : crate::veryl_token::Token Comments; Production { @@ -17692,53 +17706,53 @@ pub const PRODUCTIONS: &[Production; 915] = &[ }, // 208 - SignedToken: SignedTerm : crate::veryl_token::Token Comments; Production { - lhs: 556, - production: &[ParseType::N(100), ParseType::N(555)], + lhs: 557, + production: &[ParseType::N(100), ParseType::N(556)], }, // 209 - StepToken: StepTerm : crate::veryl_token::Token Comments; Production { - lhs: 565, - production: &[ParseType::N(100), ParseType::N(564)], + lhs: 566, + production: &[ParseType::N(100), ParseType::N(565)], }, // 210 - StringToken: StringTerm : crate::veryl_token::Token Comments; Production { - lhs: 571, - production: &[ParseType::N(100), ParseType::N(570)], + lhs: 572, + production: &[ParseType::N(100), ParseType::N(571)], }, // 211 - StructToken: StructTerm : crate::veryl_token::Token Comments; Production { - lhs: 574, - production: &[ParseType::N(100), ParseType::N(573)], + lhs: 575, + production: &[ParseType::N(100), ParseType::N(574)], }, // 212 - TriToken: TriTerm : crate::veryl_token::Token Comments; Production { - lhs: 587, - production: &[ParseType::N(100), ParseType::N(586)], + lhs: 588, + production: &[ParseType::N(100), ParseType::N(587)], }, // 213 - TypeToken: TypeTerm : crate::veryl_token::Token Comments; Production { - lhs: 593, - production: &[ParseType::N(100), ParseType::N(592)], + lhs: 594, + production: &[ParseType::N(100), ParseType::N(593)], }, // 214 - U32Token: U32Term : crate::veryl_token::Token Comments; Production { - lhs: 596, - production: &[ParseType::N(100), ParseType::N(595)], + lhs: 597, + production: &[ParseType::N(100), ParseType::N(596)], }, // 215 - U64Token: U64Term : crate::veryl_token::Token Comments; Production { - lhs: 599, - production: &[ParseType::N(100), ParseType::N(598)], + lhs: 600, + production: &[ParseType::N(100), ParseType::N(599)], }, // 216 - UnionToken: UnionTerm : crate::veryl_token::Token Comments; Production { - lhs: 605, - production: &[ParseType::N(100), ParseType::N(604)], + lhs: 606, + production: &[ParseType::N(100), ParseType::N(605)], }, // 217 - VarToken: VarTerm : crate::veryl_token::Token Comments; Production { - lhs: 609, - production: &[ParseType::N(100), ParseType::N(608)], + lhs: 610, + production: &[ParseType::N(100), ParseType::N(609)], }, // 218 - DollarIdentifierToken: DollarIdentifierTerm : crate::veryl_token::Token Comments; Production { @@ -17752,13 +17766,13 @@ pub const PRODUCTIONS: &[Production; 915] = &[ }, // 220 - Start: StartToken : crate::veryl_token::VerylToken ; Production { - lhs: 560, - production: &[ParseType::N(561)], + lhs: 561, + production: &[ParseType::N(562)], }, // 221 - StringLiteral: StringLiteralToken : crate::veryl_token::VerylToken ; Production { - lhs: 567, - production: &[ParseType::N(569)], + lhs: 568, + production: &[ParseType::N(570)], }, // 222 - Exponent: ExponentToken : crate::veryl_token::VerylToken ; Production { @@ -17792,63 +17806,63 @@ pub const PRODUCTIONS: &[Production; 915] = &[ }, // 228 - Operator01: Operator01Token : crate::veryl_token::VerylToken ; Production { - lhs: 420, - production: &[ParseType::N(422)], + lhs: 421, + production: &[ParseType::N(423)], }, // 229 - Operator02: Operator02Token : crate::veryl_token::VerylToken ; Production { - lhs: 423, - production: &[ParseType::N(425)], + lhs: 424, + production: &[ParseType::N(426)], }, // 230 - Operator03: Operator03Token : crate::veryl_token::VerylToken ; Production { - lhs: 426, - production: &[ParseType::N(428)], + lhs: 427, + production: &[ParseType::N(429)], }, // 231 - Operator04: Operator04Token : crate::veryl_token::VerylToken ; Production { - lhs: 429, - production: &[ParseType::N(431)], + lhs: 430, + production: &[ParseType::N(432)], }, // 232 - Operator05: Operator05Token : crate::veryl_token::VerylToken ; Production { - lhs: 432, - production: &[ParseType::N(434)], + lhs: 433, + production: &[ParseType::N(435)], }, // 233 - Operator06: Operator06Token : crate::veryl_token::VerylToken ; Production { - lhs: 435, - production: &[ParseType::N(437)], + lhs: 436, + production: &[ParseType::N(438)], }, // 234 - Operator07: Operator07Token : crate::veryl_token::VerylToken ; Production { - lhs: 438, - production: &[ParseType::N(440)], + lhs: 439, + production: &[ParseType::N(441)], }, // 235 - Operator08: Operator08Token : crate::veryl_token::VerylToken ; Production { - lhs: 441, - production: &[ParseType::N(443)], + lhs: 442, + production: &[ParseType::N(444)], }, // 236 - Operator09: Operator09Token : crate::veryl_token::VerylToken ; Production { - lhs: 444, - production: &[ParseType::N(446)], + lhs: 445, + production: &[ParseType::N(447)], }, // 237 - Operator10: Operator10Token : crate::veryl_token::VerylToken ; Production { - lhs: 447, - production: &[ParseType::N(449)], + lhs: 448, + production: &[ParseType::N(450)], }, // 238 - Operator11: Operator11Token : crate::veryl_token::VerylToken ; Production { - lhs: 450, - production: &[ParseType::N(452)], + lhs: 451, + production: &[ParseType::N(453)], }, // 239 - UnaryOperator: UnaryOperatorToken : crate::veryl_token::VerylToken ; Production { - lhs: 600, - production: &[ParseType::N(602)], + lhs: 601, + production: &[ParseType::N(603)], }, // 240 - Colon: ColonToken : crate::veryl_token::VerylToken ; Production { @@ -17897,8 +17911,8 @@ pub const PRODUCTIONS: &[Production; 915] = &[ }, // 249 - QuoteLBrace: QuoteLBraceToken : crate::veryl_token::VerylToken ; Production { - lhs: 492, - production: &[ParseType::N(494)], + lhs: 493, + production: &[ParseType::N(495)], }, // 250 - LAngle: LAngleToken : crate::veryl_token::VerylToken ; Production { @@ -17932,38 +17946,38 @@ pub const PRODUCTIONS: &[Production; 915] = &[ }, // 256 - PlusColon: PlusColonToken : crate::veryl_token::VerylToken ; Production { - lhs: 475, - production: &[ParseType::N(477)], + lhs: 476, + production: &[ParseType::N(478)], }, // 257 - RAngle: RAngleToken : crate::veryl_token::VerylToken ; Production { - lhs: 495, - production: &[ParseType::N(497)], + lhs: 496, + production: &[ParseType::N(498)], }, // 258 - RBrace: RBraceToken : crate::veryl_token::VerylToken ; Production { - lhs: 498, - production: &[ParseType::N(500)], + lhs: 499, + production: &[ParseType::N(501)], }, // 259 - RBracket: RBracketToken : crate::veryl_token::VerylToken ; Production { - lhs: 501, - production: &[ParseType::N(503)], + lhs: 502, + production: &[ParseType::N(504)], }, // 260 - RParen: RParenToken : crate::veryl_token::VerylToken ; Production { - lhs: 504, - production: &[ParseType::N(506)], + lhs: 505, + production: &[ParseType::N(507)], }, // 261 - Semicolon: SemicolonToken : crate::veryl_token::VerylToken ; Production { - lhs: 551, - production: &[ParseType::N(553)], + lhs: 552, + production: &[ParseType::N(554)], }, // 262 - Star: StarToken : crate::veryl_token::VerylToken ; Production { - lhs: 557, - production: &[ParseType::N(559)], + lhs: 558, + production: &[ParseType::N(560)], }, // 263 - AlwaysComb: AlwaysCombToken : crate::veryl_token::VerylToken ; Production { @@ -18153,132 +18167,132 @@ pub const PRODUCTIONS: &[Production; 915] = &[ // 300 - Modport: ModportToken : crate::veryl_token::VerylToken ; Production { lhs: 381, - production: &[ParseType::N(391)], + production: &[ParseType::N(392)], }, // 301 - Module: ModuleToken : crate::veryl_token::VerylToken ; Production { - lhs: 392, - production: &[ParseType::N(415)], + lhs: 393, + production: &[ParseType::N(416)], }, // 302 - Msb: MsbToken : crate::veryl_token::VerylToken ; Production { - lhs: 416, - production: &[ParseType::N(418)], + lhs: 417, + production: &[ParseType::N(419)], }, // 303 - Output: OutputToken : crate::veryl_token::VerylToken ; Production { - lhs: 453, - production: &[ParseType::N(455)], + lhs: 454, + production: &[ParseType::N(456)], }, // 304 - Outside: OutsideToken : crate::veryl_token::VerylToken ; Production { - lhs: 456, - production: &[ParseType::N(459)], + lhs: 457, + production: &[ParseType::N(460)], }, // 305 - Package: PackageToken : crate::veryl_token::VerylToken ; Production { - lhs: 460, - production: &[ParseType::N(471)], + lhs: 461, + production: &[ParseType::N(472)], }, // 306 - Param: ParamToken : crate::veryl_token::VerylToken ; Production { - lhs: 472, - production: &[ParseType::N(474)], + lhs: 473, + production: &[ParseType::N(475)], }, // 307 - Pub: PubToken : crate::veryl_token::VerylToken ; Production { - lhs: 489, - production: &[ParseType::N(491)], + lhs: 490, + production: &[ParseType::N(492)], }, // 308 - Ref: RefToken : crate::veryl_token::VerylToken ; Production { - lhs: 515, - production: &[ParseType::N(517)], + lhs: 516, + production: &[ParseType::N(518)], }, // 309 - Repeat: RepeatToken : crate::veryl_token::VerylToken ; Production { - lhs: 518, - production: &[ParseType::N(520)], + lhs: 519, + production: &[ParseType::N(521)], }, // 310 - Reset: ResetToken : crate::veryl_token::VerylToken ; Production { - lhs: 521, - production: &[ParseType::N(535)], + lhs: 522, + production: &[ParseType::N(536)], }, // 311 - ResetAsyncHigh: ResetAsyncHighToken : crate::veryl_token::VerylToken ; Production { - lhs: 522, - production: &[ParseType::N(524)], + lhs: 523, + production: &[ParseType::N(525)], }, // 312 - ResetAsyncLow: ResetAsyncLowToken : crate::veryl_token::VerylToken ; Production { - lhs: 525, - production: &[ParseType::N(527)], + lhs: 526, + production: &[ParseType::N(528)], }, // 313 - ResetSyncHigh: ResetSyncHighToken : crate::veryl_token::VerylToken ; Production { - lhs: 528, - production: &[ParseType::N(530)], + lhs: 529, + production: &[ParseType::N(531)], }, // 314 - ResetSyncLow: ResetSyncLowToken : crate::veryl_token::VerylToken ; Production { - lhs: 531, - production: &[ParseType::N(533)], + lhs: 532, + production: &[ParseType::N(534)], }, // 315 - Return: ReturnToken : crate::veryl_token::VerylToken ; Production { - lhs: 536, - production: &[ParseType::N(539)], + lhs: 537, + production: &[ParseType::N(540)], }, // 316 - Signed: SignedToken : crate::veryl_token::VerylToken ; Production { - lhs: 554, - production: &[ParseType::N(556)], + lhs: 555, + production: &[ParseType::N(557)], }, // 317 - Step: StepToken : crate::veryl_token::VerylToken ; Production { - lhs: 563, - production: &[ParseType::N(565)], + lhs: 564, + production: &[ParseType::N(566)], }, // 318 - Strin: StringToken : crate::veryl_token::VerylToken ; Production { - lhs: 566, - production: &[ParseType::N(571)], + lhs: 567, + production: &[ParseType::N(572)], }, // 319 - Struct: StructToken : crate::veryl_token::VerylToken ; Production { - lhs: 572, - production: &[ParseType::N(574)], + lhs: 573, + production: &[ParseType::N(575)], }, // 320 - Tri: TriToken : crate::veryl_token::VerylToken ; Production { - lhs: 585, - production: &[ParseType::N(587)], + lhs: 586, + production: &[ParseType::N(588)], }, // 321 - Type: TypeToken : crate::veryl_token::VerylToken ; Production { - lhs: 588, - production: &[ParseType::N(593)], + lhs: 589, + production: &[ParseType::N(594)], }, // 322 - U32: U32Token : crate::veryl_token::VerylToken ; Production { - lhs: 594, - production: &[ParseType::N(596)], + lhs: 595, + production: &[ParseType::N(597)], }, // 323 - U64: U64Token : crate::veryl_token::VerylToken ; Production { - lhs: 597, - production: &[ParseType::N(599)], + lhs: 598, + production: &[ParseType::N(600)], }, // 324 - Union: UnionToken : crate::veryl_token::VerylToken ; Production { - lhs: 603, - production: &[ParseType::N(605)], + lhs: 604, + production: &[ParseType::N(606)], }, // 325 - Var: VarToken : crate::veryl_token::VerylToken ; Production { - lhs: 606, - production: &[ParseType::N(609)], + lhs: 607, + production: &[ParseType::N(610)], }, // 326 - DollarIdentifier: DollarIdentifierToken : crate::veryl_token::VerylToken ; Production { @@ -18292,13 +18306,13 @@ pub const PRODUCTIONS: &[Production; 915] = &[ }, // 328 - Number: IntegralNumber; Production { - lhs: 419, + lhs: 420, production: &[ParseType::N(323)], }, // 329 - Number: RealNumber; Production { - lhs: 419, - production: &[ParseType::N(514)], + lhs: 420, + production: &[ParseType::N(515)], }, // 330 - IntegralNumber: Based; Production { @@ -18317,12 +18331,12 @@ pub const PRODUCTIONS: &[Production; 915] = &[ }, // 333 - RealNumber: FixedPoint; Production { - lhs: 514, + lhs: 515, production: &[ParseType::N(211)], }, // 334 - RealNumber: Exponent; Production { - lhs: 514, + lhs: 515, production: &[ParseType::N(156)], }, // 335 - HierarchicalIdentifier: Identifier HierarchicalIdentifierList /* Vec */ HierarchicalIdentifierList0 /* Vec */; @@ -18343,7 +18357,7 @@ pub const PRODUCTIONS: &[Production; 915] = &[ // 337 - HierarchicalIdentifierList0List: Select HierarchicalIdentifierList0List; Production { lhs: 238, - production: &[ParseType::N(238), ParseType::N(548)], + production: &[ParseType::N(238), ParseType::N(549)], }, // 338 - HierarchicalIdentifierList0List: ; Production { @@ -18358,7 +18372,7 @@ pub const PRODUCTIONS: &[Production; 915] = &[ // 340 - HierarchicalIdentifierList: Select HierarchicalIdentifierList; Production { lhs: 236, - production: &[ParseType::N(236), ParseType::N(548)], + production: &[ParseType::N(236), ParseType::N(549)], }, // 341 - HierarchicalIdentifierList: ; Production { @@ -18367,58 +18381,58 @@ pub const PRODUCTIONS: &[Production; 915] = &[ }, // 342 - ScopedIdentifier: ScopedIdentifierGroup ScopedIdentifierList /* Vec */; Production { - lhs: 543, - production: &[ParseType::N(545), ParseType::N(544)], + lhs: 544, + production: &[ParseType::N(546), ParseType::N(545)], }, // 343 - ScopedIdentifierGroup: DollarIdentifier; Production { - lhs: 544, + lhs: 545, production: &[ParseType::N(117)], }, // 344 - ScopedIdentifierGroup: Identifier ScopedIdentifierOpt /* Option */; Production { - lhs: 544, - production: &[ParseType::N(546), ParseType::N(245)], + lhs: 545, + production: &[ParseType::N(547), ParseType::N(245)], }, // 345 - ScopedIdentifierList: ColonColon Identifier ScopedIdentifierOpt0 /* Option */ ScopedIdentifierList; Production { - lhs: 545, + lhs: 546, production: &[ - ParseType::N(545), - ParseType::N(547), + ParseType::N(546), + ParseType::N(548), ParseType::N(245), ParseType::N(89), ], }, // 346 - ScopedIdentifierList: ; Production { - lhs: 545, + lhs: 546, production: &[], }, // 347 - ScopedIdentifierOpt0: WithGenericArgument; Production { - lhs: 547, - production: &[ParseType::N(617)], + lhs: 548, + production: &[ParseType::N(618)], }, // 348 - ScopedIdentifierOpt0: ; Production { - lhs: 547, + lhs: 548, production: &[], }, // 349 - ScopedIdentifierOpt: WithGenericArgument; Production { - lhs: 546, - production: &[ParseType::N(617)], + lhs: 547, + production: &[ParseType::N(618)], }, // 350 - ScopedIdentifierOpt: ; Production { - lhs: 546, + lhs: 547, production: &[], }, // 351 - ExpressionIdentifier: ScopedIdentifier ExpressionIdentifierList /* Vec */ ExpressionIdentifierList0 /* Vec */; Production { lhs: 192, - production: &[ParseType::N(194), ParseType::N(193), ParseType::N(543)], + production: &[ParseType::N(194), ParseType::N(193), ParseType::N(544)], }, // 352 - ExpressionIdentifierList0: Dot Identifier ExpressionIdentifierList0List /* Vec */ ExpressionIdentifierList0; Production { @@ -18433,7 +18447,7 @@ pub const PRODUCTIONS: &[Production; 915] = &[ // 353 - ExpressionIdentifierList0List: Select ExpressionIdentifierList0List; Production { lhs: 195, - production: &[ParseType::N(195), ParseType::N(548)], + production: &[ParseType::N(195), ParseType::N(549)], }, // 354 - ExpressionIdentifierList0List: ; Production { @@ -18448,7 +18462,7 @@ pub const PRODUCTIONS: &[Production; 915] = &[ // 356 - ExpressionIdentifierList: Select ExpressionIdentifierList; Production { lhs: 193, - production: &[ParseType::N(193), ParseType::N(548)], + production: &[ParseType::N(193), ParseType::N(549)], }, // 357 - ExpressionIdentifierList: ; Production { @@ -18463,7 +18477,7 @@ pub const PRODUCTIONS: &[Production; 915] = &[ // 359 - ExpressionList: Operator01 Expression01 ExpressionList; Production { lhs: 196, - production: &[ParseType::N(196), ParseType::N(166), ParseType::N(420)], + production: &[ParseType::N(196), ParseType::N(166), ParseType::N(421)], }, // 360 - ExpressionList: ; Production { @@ -18478,7 +18492,7 @@ pub const PRODUCTIONS: &[Production; 915] = &[ // 362 - Expression01List: Operator02 Expression02 Expression01List; Production { lhs: 167, - production: &[ParseType::N(167), ParseType::N(168), ParseType::N(423)], + production: &[ParseType::N(167), ParseType::N(168), ParseType::N(424)], }, // 363 - Expression01List: ; Production { @@ -18493,7 +18507,7 @@ pub const PRODUCTIONS: &[Production; 915] = &[ // 365 - Expression02List: Operator03 Expression03 Expression02List; Production { lhs: 169, - production: &[ParseType::N(169), ParseType::N(170), ParseType::N(426)], + production: &[ParseType::N(169), ParseType::N(170), ParseType::N(427)], }, // 366 - Expression02List: ; Production { @@ -18508,7 +18522,7 @@ pub const PRODUCTIONS: &[Production; 915] = &[ // 368 - Expression03List: Operator04 Expression04 Expression03List; Production { lhs: 171, - production: &[ParseType::N(171), ParseType::N(172), ParseType::N(429)], + production: &[ParseType::N(171), ParseType::N(172), ParseType::N(430)], }, // 369 - Expression03List: ; Production { @@ -18523,7 +18537,7 @@ pub const PRODUCTIONS: &[Production; 915] = &[ // 371 - Expression04List: Operator05 Expression05 Expression04List; Production { lhs: 173, - production: &[ParseType::N(173), ParseType::N(174), ParseType::N(432)], + production: &[ParseType::N(173), ParseType::N(174), ParseType::N(433)], }, // 372 - Expression04List: ; Production { @@ -18538,7 +18552,7 @@ pub const PRODUCTIONS: &[Production; 915] = &[ // 374 - Expression05List: Operator06 Expression06 Expression05List; Production { lhs: 175, - production: &[ParseType::N(175), ParseType::N(176), ParseType::N(435)], + production: &[ParseType::N(175), ParseType::N(176), ParseType::N(436)], }, // 375 - Expression05List: ; Production { @@ -18553,7 +18567,7 @@ pub const PRODUCTIONS: &[Production; 915] = &[ // 377 - Expression06List: Operator07 Expression07 Expression06List; Production { lhs: 177, - production: &[ParseType::N(177), ParseType::N(178), ParseType::N(438)], + production: &[ParseType::N(177), ParseType::N(178), ParseType::N(439)], }, // 378 - Expression06List: ; Production { @@ -18568,7 +18582,7 @@ pub const PRODUCTIONS: &[Production; 915] = &[ // 380 - Expression07List: Operator08 Expression08 Expression07List; Production { lhs: 179, - production: &[ParseType::N(179), ParseType::N(180), ParseType::N(441)], + production: &[ParseType::N(179), ParseType::N(180), ParseType::N(442)], }, // 381 - Expression07List: ; Production { @@ -18583,7 +18597,7 @@ pub const PRODUCTIONS: &[Production; 915] = &[ // 383 - Expression08List: Operator09 Expression09 Expression08List; Production { lhs: 181, - production: &[ParseType::N(181), ParseType::N(182), ParseType::N(444)], + production: &[ParseType::N(181), ParseType::N(182), ParseType::N(445)], }, // 384 - Expression08List: ; Production { @@ -18603,12 +18617,12 @@ pub const PRODUCTIONS: &[Production; 915] = &[ // 387 - Expression09ListGroup: Operator10; Production { lhs: 184, - production: &[ParseType::N(447)], + production: &[ParseType::N(448)], }, // 388 - Expression09ListGroup: Star; Production { lhs: 184, - production: &[ParseType::N(557)], + production: &[ParseType::N(558)], }, // 389 - Expression09List: ; Production { @@ -18623,7 +18637,7 @@ pub const PRODUCTIONS: &[Production; 915] = &[ // 391 - Expression10List: Operator11 Expression11 Expression10List; Production { lhs: 186, - production: &[ParseType::N(186), ParseType::N(187), ParseType::N(450)], + production: &[ParseType::N(186), ParseType::N(187), ParseType::N(451)], }, // 392 - Expression10List: ; Production { @@ -18638,7 +18652,7 @@ pub const PRODUCTIONS: &[Production; 915] = &[ // 394 - Expression11List: As ScopedIdentifier Expression11List; Production { lhs: 188, - production: &[ParseType::N(188), ParseType::N(543), ParseType::N(33)], + production: &[ParseType::N(188), ParseType::N(544), ParseType::N(33)], }, // 395 - Expression11List: ; Production { @@ -18658,27 +18672,27 @@ pub const PRODUCTIONS: &[Production; 915] = &[ // 398 - Expression12ListGroup: UnaryOperator; Production { lhs: 191, - production: &[ParseType::N(600)], + production: &[ParseType::N(601)], }, // 399 - Expression12ListGroup: Operator09; Production { lhs: 191, - production: &[ParseType::N(444)], + production: &[ParseType::N(445)], }, // 400 - Expression12ListGroup: Operator05; Production { lhs: 191, - production: &[ParseType::N(432)], + production: &[ParseType::N(433)], }, // 401 - Expression12ListGroup: Operator03; Production { lhs: 191, - production: &[ParseType::N(426)], + production: &[ParseType::N(427)], }, // 402 - Expression12ListGroup: Operator04; Production { lhs: 191, - production: &[ParseType::N(429)], + production: &[ParseType::N(430)], }, // 403 - Expression12List: ; Production { @@ -18688,7 +18702,7 @@ pub const PRODUCTIONS: &[Production; 915] = &[ // 404 - Factor: Number; Production { lhs: 203, - production: &[ParseType::N(419)], + production: &[ParseType::N(420)], }, // 405 - Factor: ExpressionIdentifier FactorOpt /* Option */; Production { @@ -18698,17 +18712,17 @@ pub const PRODUCTIONS: &[Production; 915] = &[ // 406 - Factor: LParen Expression RParen; Production { lhs: 203, - production: &[ParseType::N(504), ParseType::N(165), ParseType::N(356)], + production: &[ParseType::N(505), ParseType::N(165), ParseType::N(356)], }, // 407 - Factor: LBrace ConcatenationList RBrace; Production { lhs: 203, - production: &[ParseType::N(498), ParseType::N(105), ParseType::N(350)], + production: &[ParseType::N(499), ParseType::N(105), ParseType::N(350)], }, // 408 - Factor: QuoteLBrace ArrayLiteralList RBrace; Production { lhs: 203, - production: &[ParseType::N(498), ParseType::N(28), ParseType::N(492)], + production: &[ParseType::N(499), ParseType::N(28), ParseType::N(493)], }, // 409 - Factor: IfExpression; Production { @@ -18723,7 +18737,7 @@ pub const PRODUCTIONS: &[Production; 915] = &[ // 411 - Factor: StringLiteral; Production { lhs: 203, - production: &[ParseType::N(567)], + production: &[ParseType::N(568)], }, // 412 - Factor: FactorGroup; Production { @@ -18733,7 +18747,7 @@ pub const PRODUCTIONS: &[Production; 915] = &[ // 413 - FactorGroup: Msb; Production { lhs: 204, - production: &[ParseType::N(416)], + production: &[ParseType::N(417)], }, // 414 - FactorGroup: Lsb; Production { @@ -18748,7 +18762,7 @@ pub const PRODUCTIONS: &[Production; 915] = &[ // 416 - Factor: OutsideExpression; Production { lhs: 203, - production: &[ParseType::N(457)], + production: &[ParseType::N(458)], }, // 417 - FactorOpt: FunctionCall; Production { @@ -18763,7 +18777,7 @@ pub const PRODUCTIONS: &[Production; 915] = &[ // 419 - FunctionCall: LParen FunctionCallOpt /* Option */ RParen; Production { lhs: 222, - production: &[ParseType::N(504), ParseType::N(223), ParseType::N(356)], + production: &[ParseType::N(505), ParseType::N(223), ParseType::N(356)], }, // 420 - FunctionCallOpt: ArgumentList; Production { @@ -18838,7 +18852,7 @@ pub const PRODUCTIONS: &[Production; 915] = &[ // 434 - ConcatenationItemOpt: Repeat Expression; Production { lhs: 104, - production: &[ParseType::N(165), ParseType::N(518)], + production: &[ParseType::N(165), ParseType::N(519)], }, // 435 - ConcatenationItemOpt: ; Production { @@ -18888,7 +18902,7 @@ pub const PRODUCTIONS: &[Production; 915] = &[ // 444 - ArrayLiteralItemOpt: Repeat Expression; Production { lhs: 27, - production: &[ParseType::N(165), ParseType::N(518)], + production: &[ParseType::N(165), ParseType::N(519)], }, // 445 - ArrayLiteralItemOpt: ; Production { @@ -18899,12 +18913,12 @@ pub const PRODUCTIONS: &[Production; 915] = &[ Production { lhs: 251, production: &[ - ParseType::N(498), + ParseType::N(499), ParseType::N(165), ParseType::N(350), ParseType::N(129), ParseType::N(252), - ParseType::N(498), + ParseType::N(499), ParseType::N(165), ParseType::N(350), ParseType::N(165), @@ -18916,7 +18930,7 @@ pub const PRODUCTIONS: &[Production; 915] = &[ lhs: 252, production: &[ ParseType::N(252), - ParseType::N(498), + ParseType::N(499), ParseType::N(165), ParseType::N(350), ParseType::N(165), @@ -18933,7 +18947,7 @@ pub const PRODUCTIONS: &[Production; 915] = &[ Production { lhs: 65, production: &[ - ParseType::N(498), + ParseType::N(499), ParseType::N(69), ParseType::N(165), ParseType::N(88), @@ -18998,25 +19012,25 @@ pub const PRODUCTIONS: &[Production; 915] = &[ }, // 458 - TypeExpression: ScalarType; Production { - lhs: 590, - production: &[ParseType::N(540)], + lhs: 591, + production: &[ParseType::N(541)], }, // 459 - TypeExpression: Type LParen Expression RParen; Production { - lhs: 590, + lhs: 591, production: &[ - ParseType::N(504), + ParseType::N(505), ParseType::N(165), ParseType::N(356), - ParseType::N(588), + ParseType::N(589), ], }, // 460 - InsideExpression: Inside Expression LBrace RangeList RBrace; Production { lhs: 294, production: &[ - ParseType::N(498), - ParseType::N(509), + ParseType::N(499), + ParseType::N(510), ParseType::N(350), ParseType::N(165), ParseType::N(293), @@ -19024,110 +19038,110 @@ pub const PRODUCTIONS: &[Production; 915] = &[ }, // 461 - OutsideExpression: Outside Expression LBrace RangeList RBrace; Production { - lhs: 457, + lhs: 458, production: &[ - ParseType::N(498), - ParseType::N(509), + ParseType::N(499), + ParseType::N(510), ParseType::N(350), ParseType::N(165), - ParseType::N(456), + ParseType::N(457), ], }, // 462 - RangeList: RangeItem RangeListList /* Vec */ RangeListOpt /* Option */; Production { - lhs: 509, - production: &[ParseType::N(511), ParseType::N(510), ParseType::N(508)], + lhs: 510, + production: &[ParseType::N(512), ParseType::N(511), ParseType::N(509)], }, // 463 - RangeListList: Comma RangeItem RangeListList; Production { - lhs: 510, - production: &[ParseType::N(510), ParseType::N(508), ParseType::N(97)], + lhs: 511, + production: &[ParseType::N(511), ParseType::N(509), ParseType::N(97)], }, // 464 - RangeListList: ; Production { - lhs: 510, + lhs: 511, production: &[], }, // 465 - RangeListOpt: Comma; Production { - lhs: 511, + lhs: 512, production: &[ParseType::N(97)], }, // 466 - RangeListOpt: ; Production { - lhs: 511, + lhs: 512, production: &[], }, // 467 - RangeItem: Range; Production { - lhs: 508, - production: &[ParseType::N(507)], + lhs: 509, + production: &[ParseType::N(508)], }, // 468 - Select: LBracket Expression SelectOpt /* Option */ RBracket; Production { - lhs: 548, + lhs: 549, production: &[ - ParseType::N(501), - ParseType::N(550), + ParseType::N(502), + ParseType::N(551), ParseType::N(165), ParseType::N(353), ], }, // 469 - SelectOpt: SelectOperator Expression; Production { - lhs: 550, - production: &[ParseType::N(165), ParseType::N(549)], + lhs: 551, + production: &[ParseType::N(165), ParseType::N(550)], }, // 470 - SelectOpt: ; Production { - lhs: 550, + lhs: 551, production: &[], }, // 471 - SelectOperator: Colon; Production { - lhs: 549, + lhs: 550, production: &[ParseType::N(88)], }, // 472 - SelectOperator: PlusColon; Production { - lhs: 549, - production: &[ParseType::N(475)], + lhs: 550, + production: &[ParseType::N(476)], }, // 473 - SelectOperator: MinusColon; Production { - lhs: 549, + lhs: 550, production: &[ParseType::N(375)], }, // 474 - SelectOperator: Step; Production { - lhs: 549, - production: &[ParseType::N(563)], + lhs: 550, + production: &[ParseType::N(564)], }, // 475 - Width: LAngle Expression WidthList /* Vec */ RAngle; Production { - lhs: 615, + lhs: 616, production: &[ - ParseType::N(495), - ParseType::N(616), + ParseType::N(496), + ParseType::N(617), ParseType::N(165), ParseType::N(347), ], }, // 476 - WidthList: Comma Expression WidthList; Production { - lhs: 616, - production: &[ParseType::N(616), ParseType::N(165), ParseType::N(97)], + lhs: 617, + production: &[ParseType::N(617), ParseType::N(165), ParseType::N(97)], }, // 477 - WidthList: ; Production { - lhs: 616, + lhs: 617, production: &[], }, // 478 - Array: LBracket Expression ArrayList /* Vec */ RBracket; Production { lhs: 23, production: &[ - ParseType::N(501), + ParseType::N(502), ParseType::N(24), ParseType::N(165), ParseType::N(353), @@ -19145,38 +19159,38 @@ pub const PRODUCTIONS: &[Production; 915] = &[ }, // 481 - Range: Expression RangeOpt /* Option */; Production { - lhs: 507, - production: &[ParseType::N(513), ParseType::N(165)], + lhs: 508, + production: &[ParseType::N(514), ParseType::N(165)], }, // 482 - RangeOpt: RangeOperator Expression; Production { - lhs: 513, - production: &[ParseType::N(165), ParseType::N(512)], + lhs: 514, + production: &[ParseType::N(165), ParseType::N(513)], }, // 483 - RangeOpt: ; Production { - lhs: 513, + lhs: 514, production: &[], }, // 484 - RangeOperator: DotDot; Production { - lhs: 512, + lhs: 513, production: &[ParseType::N(121)], }, // 485 - RangeOperator: DotDotEqu; Production { - lhs: 512, + lhs: 513, production: &[ParseType::N(122)], }, // 486 - FixedType: U32; Production { lhs: 214, - production: &[ParseType::N(594)], + production: &[ParseType::N(595)], }, // 487 - FixedType: U64; Production { lhs: 214, - production: &[ParseType::N(597)], + production: &[ParseType::N(598)], }, // 488 - FixedType: I32; Production { @@ -19201,117 +19215,117 @@ pub const PRODUCTIONS: &[Production; 915] = &[ // 492 - FixedType: Strin; Production { lhs: 214, - production: &[ParseType::N(566)], + production: &[ParseType::N(567)], }, // 493 - VariableType: VariableTypeGroup VariableTypeOpt /* Option */; Production { - lhs: 610, - production: &[ParseType::N(612), ParseType::N(611)], + lhs: 611, + production: &[ParseType::N(613), ParseType::N(612)], }, // 494 - VariableTypeGroup: Clock; Production { - lhs: 611, + lhs: 612, production: &[ParseType::N(79)], }, // 495 - VariableTypeGroup: ClockPosedge; Production { - lhs: 611, + lhs: 612, production: &[ParseType::N(83)], }, // 496 - VariableTypeGroup: ClockNegedge; Production { - lhs: 611, + lhs: 612, production: &[ParseType::N(80)], }, // 497 - VariableTypeGroup: Reset; Production { - lhs: 611, - production: &[ParseType::N(521)], + lhs: 612, + production: &[ParseType::N(522)], }, // 498 - VariableTypeGroup: ResetAsyncHigh; Production { - lhs: 611, - production: &[ParseType::N(522)], + lhs: 612, + production: &[ParseType::N(523)], }, // 499 - VariableTypeGroup: ResetAsyncLow; Production { - lhs: 611, - production: &[ParseType::N(525)], + lhs: 612, + production: &[ParseType::N(526)], }, // 500 - VariableTypeGroup: ResetSyncHigh; Production { - lhs: 611, - production: &[ParseType::N(528)], + lhs: 612, + production: &[ParseType::N(529)], }, // 501 - VariableTypeGroup: ResetSyncLow; Production { - lhs: 611, - production: &[ParseType::N(531)], + lhs: 612, + production: &[ParseType::N(532)], }, // 502 - VariableTypeGroup: Logic; Production { - lhs: 611, + lhs: 612, production: &[ParseType::N(369)], }, // 503 - VariableTypeGroup: Bit; Production { - lhs: 611, + lhs: 612, production: &[ParseType::N(57)], }, // 504 - VariableTypeGroup: ScopedIdentifier; Production { - lhs: 611, - production: &[ParseType::N(543)], + lhs: 612, + production: &[ParseType::N(544)], }, // 505 - VariableTypeOpt: Width; Production { - lhs: 612, - production: &[ParseType::N(615)], + lhs: 613, + production: &[ParseType::N(616)], }, // 506 - VariableTypeOpt: ; Production { - lhs: 612, + lhs: 613, production: &[], }, // 507 - TypeModifier: Tri; Production { - lhs: 591, - production: &[ParseType::N(585)], + lhs: 592, + production: &[ParseType::N(586)], }, // 508 - TypeModifier: Signed; Production { - lhs: 591, - production: &[ParseType::N(554)], + lhs: 592, + production: &[ParseType::N(555)], }, // 509 - ScalarType: ScalarTypeList /* Vec */ ScalarTypeGroup; Production { - lhs: 540, - production: &[ParseType::N(541), ParseType::N(542)], + lhs: 541, + production: &[ParseType::N(542), ParseType::N(543)], }, // 510 - ScalarTypeGroup: VariableType; Production { - lhs: 541, - production: &[ParseType::N(610)], + lhs: 542, + production: &[ParseType::N(611)], }, // 511 - ScalarTypeGroup: FixedType; Production { - lhs: 541, + lhs: 542, production: &[ParseType::N(214)], }, // 512 - ScalarTypeList: TypeModifier ScalarTypeList; Production { - lhs: 542, - production: &[ParseType::N(542), ParseType::N(591)], + lhs: 543, + production: &[ParseType::N(543), ParseType::N(592)], }, // 513 - ScalarTypeList: ; Production { - lhs: 542, + lhs: 543, production: &[], }, // 514 - ArrayType: ScalarType ArrayTypeOpt /* Option */; Production { lhs: 31, - production: &[ParseType::N(32), ParseType::N(540)], + production: &[ParseType::N(32), ParseType::N(541)], }, // 515 - ArrayTypeOpt: Array; Production { @@ -19325,49 +19339,49 @@ pub const PRODUCTIONS: &[Production; 915] = &[ }, // 517 - Statement: LetStatement; Production { - lhs: 562, + lhs: 563, production: &[ParseType::N(361)], }, // 518 - Statement: IdentifierStatement; Production { - lhs: 562, + lhs: 563, production: &[ParseType::N(246)], }, // 519 - Statement: IfStatement; Production { - lhs: 562, + lhs: 563, production: &[ParseType::N(262)], }, // 520 - Statement: IfResetStatement; Production { - lhs: 562, + lhs: 563, production: &[ParseType::N(254)], }, // 521 - Statement: ReturnStatement; Production { - lhs: 562, - production: &[ParseType::N(537)], + lhs: 563, + production: &[ParseType::N(538)], }, // 522 - Statement: BreakStatement; Production { - lhs: 562, + lhs: 563, production: &[ParseType::N(61)], }, // 523 - Statement: ForStatement; Production { - lhs: 562, + lhs: 563, production: &[ParseType::N(216)], }, // 524 - Statement: CaseStatement; Production { - lhs: 562, + lhs: 563, production: &[ParseType::N(75)], }, // 525 - LetStatement: Let Identifier Colon ArrayType Equ Expression Semicolon; Production { lhs: 361, production: &[ - ParseType::N(551), + ParseType::N(552), ParseType::N(165), ParseType::N(153), ParseType::N(31), @@ -19379,7 +19393,7 @@ pub const PRODUCTIONS: &[Production; 915] = &[ // 526 - IdentifierStatement: ExpressionIdentifier IdentifierStatementGroup Semicolon; Production { lhs: 246, - production: &[ParseType::N(551), ParseType::N(247), ParseType::N(192)], + production: &[ParseType::N(552), ParseType::N(247), ParseType::N(192)], }, // 527 - IdentifierStatementGroup: FunctionCall; Production { @@ -19412,7 +19426,7 @@ pub const PRODUCTIONS: &[Production; 915] = &[ production: &[ ParseType::N(266), ParseType::N(264), - ParseType::N(498), + ParseType::N(499), ParseType::N(263), ParseType::N(350), ParseType::N(165), @@ -19424,7 +19438,7 @@ pub const PRODUCTIONS: &[Production; 915] = &[ lhs: 264, production: &[ ParseType::N(264), - ParseType::N(498), + ParseType::N(499), ParseType::N(265), ParseType::N(350), ParseType::N(165), @@ -19435,7 +19449,7 @@ pub const PRODUCTIONS: &[Production; 915] = &[ // 534 - IfStatementList0List: Statement IfStatementList0List; Production { lhs: 265, - production: &[ParseType::N(265), ParseType::N(562)], + production: &[ParseType::N(265), ParseType::N(563)], }, // 535 - IfStatementList0List: ; Production { @@ -19450,7 +19464,7 @@ pub const PRODUCTIONS: &[Production; 915] = &[ // 537 - IfStatementList: Statement IfStatementList; Production { lhs: 263, - production: &[ParseType::N(263), ParseType::N(562)], + production: &[ParseType::N(263), ParseType::N(563)], }, // 538 - IfStatementList: ; Production { @@ -19461,7 +19475,7 @@ pub const PRODUCTIONS: &[Production; 915] = &[ Production { lhs: 266, production: &[ - ParseType::N(498), + ParseType::N(499), ParseType::N(267), ParseType::N(350), ParseType::N(129), @@ -19470,7 +19484,7 @@ pub const PRODUCTIONS: &[Production; 915] = &[ // 540 - IfStatementOptList: Statement IfStatementOptList; Production { lhs: 267, - production: &[ParseType::N(267), ParseType::N(562)], + production: &[ParseType::N(267), ParseType::N(563)], }, // 541 - IfStatementOptList: ; Production { @@ -19488,7 +19502,7 @@ pub const PRODUCTIONS: &[Production; 915] = &[ production: &[ ParseType::N(258), ParseType::N(256), - ParseType::N(498), + ParseType::N(499), ParseType::N(255), ParseType::N(350), ParseType::N(253), @@ -19499,7 +19513,7 @@ pub const PRODUCTIONS: &[Production; 915] = &[ lhs: 256, production: &[ ParseType::N(256), - ParseType::N(498), + ParseType::N(499), ParseType::N(257), ParseType::N(350), ParseType::N(165), @@ -19510,7 +19524,7 @@ pub const PRODUCTIONS: &[Production; 915] = &[ // 545 - IfResetStatementList0List: Statement IfResetStatementList0List; Production { lhs: 257, - production: &[ParseType::N(257), ParseType::N(562)], + production: &[ParseType::N(257), ParseType::N(563)], }, // 546 - IfResetStatementList0List: ; Production { @@ -19525,7 +19539,7 @@ pub const PRODUCTIONS: &[Production; 915] = &[ // 548 - IfResetStatementList: Statement IfResetStatementList; Production { lhs: 255, - production: &[ParseType::N(255), ParseType::N(562)], + production: &[ParseType::N(255), ParseType::N(563)], }, // 549 - IfResetStatementList: ; Production { @@ -19536,7 +19550,7 @@ pub const PRODUCTIONS: &[Production; 915] = &[ Production { lhs: 258, production: &[ - ParseType::N(498), + ParseType::N(499), ParseType::N(259), ParseType::N(350), ParseType::N(129), @@ -19545,7 +19559,7 @@ pub const PRODUCTIONS: &[Production; 915] = &[ // 551 - IfResetStatementOptList: Statement IfResetStatementOptList; Production { lhs: 259, - production: &[ParseType::N(259), ParseType::N(562)], + production: &[ParseType::N(259), ParseType::N(563)], }, // 552 - IfResetStatementOptList: ; Production { @@ -19559,25 +19573,25 @@ pub const PRODUCTIONS: &[Production; 915] = &[ }, // 554 - ReturnStatement: Return Expression Semicolon; Production { - lhs: 537, - production: &[ParseType::N(551), ParseType::N(165), ParseType::N(536)], + lhs: 538, + production: &[ParseType::N(552), ParseType::N(165), ParseType::N(537)], }, // 555 - BreakStatement: Break Semicolon; Production { lhs: 61, - production: &[ParseType::N(551), ParseType::N(60)], + production: &[ParseType::N(552), ParseType::N(60)], }, // 556 - ForStatement: For Identifier Colon ScalarType In Range ForStatementOpt /* Option */ LBrace ForStatementList /* Vec */ RBrace; Production { lhs: 216, production: &[ - ParseType::N(498), + ParseType::N(499), ParseType::N(217), ParseType::N(350), ParseType::N(218), - ParseType::N(507), + ParseType::N(508), ParseType::N(275), - ParseType::N(540), + ParseType::N(541), ParseType::N(88), ParseType::N(245), ParseType::N(215), @@ -19586,7 +19600,7 @@ pub const PRODUCTIONS: &[Production; 915] = &[ // 557 - ForStatementList: Statement ForStatementList; Production { lhs: 217, - production: &[ParseType::N(217), ParseType::N(562)], + production: &[ParseType::N(217), ParseType::N(563)], }, // 558 - ForStatementList: ; Production { @@ -19596,7 +19610,7 @@ pub const PRODUCTIONS: &[Production; 915] = &[ // 559 - ForStatementOpt: Step AssignmentOperator Expression; Production { lhs: 218, - production: &[ParseType::N(165), ParseType::N(42), ParseType::N(563)], + production: &[ParseType::N(165), ParseType::N(42), ParseType::N(564)], }, // 560 - ForStatementOpt: ; Production { @@ -19607,7 +19621,7 @@ pub const PRODUCTIONS: &[Production; 915] = &[ Production { lhs: 75, production: &[ - ParseType::N(498), + ParseType::N(499), ParseType::N(76), ParseType::N(350), ParseType::N(165), @@ -19632,17 +19646,17 @@ pub const PRODUCTIONS: &[Production; 915] = &[ // 565 - CaseItemGroup0: Statement; Production { lhs: 72, - production: &[ParseType::N(562)], + production: &[ParseType::N(563)], }, // 566 - CaseItemGroup0: LBrace CaseItemGroup0List /* Vec */ RBrace; Production { lhs: 72, - production: &[ParseType::N(498), ParseType::N(73), ParseType::N(350)], + production: &[ParseType::N(499), ParseType::N(73), ParseType::N(350)], }, // 567 - CaseItemGroup0List: Statement CaseItemGroup0List; Production { lhs: 73, - production: &[ParseType::N(73), ParseType::N(562)], + production: &[ParseType::N(73), ParseType::N(563)], }, // 568 - CaseItemGroup0List: ; Production { @@ -19673,7 +19687,7 @@ pub const PRODUCTIONS: &[Production; 915] = &[ Production { lhs: 45, production: &[ - ParseType::N(501), + ParseType::N(502), ParseType::N(50), ParseType::N(245), ParseType::N(353), @@ -19683,7 +19697,7 @@ pub const PRODUCTIONS: &[Production; 915] = &[ // 574 - AttributeOpt: LParen AttributeList RParen; Production { lhs: 50, - production: &[ParseType::N(504), ParseType::N(47), ParseType::N(356)], + production: &[ParseType::N(505), ParseType::N(47), ParseType::N(356)], }, // 575 - AttributeOpt: ; Production { @@ -19723,13 +19737,13 @@ pub const PRODUCTIONS: &[Production; 915] = &[ // 582 - AttributeItem: StringLiteral; Production { lhs: 46, - production: &[ParseType::N(567)], + production: &[ParseType::N(568)], }, // 583 - LetDeclaration: Let Identifier Colon ArrayType Equ Expression Semicolon; Production { lhs: 360, production: &[ - ParseType::N(551), + ParseType::N(552), ParseType::N(165), ParseType::N(153), ParseType::N(31), @@ -19740,20 +19754,20 @@ pub const PRODUCTIONS: &[Production; 915] = &[ }, // 584 - VarDeclaration: Var Identifier Colon ArrayType Semicolon; Production { - lhs: 607, + lhs: 608, production: &[ - ParseType::N(551), + ParseType::N(552), ParseType::N(31), ParseType::N(88), ParseType::N(245), - ParseType::N(606), + ParseType::N(607), ], }, // 585 - LocalDeclaration: Local Identifier Colon LocalDeclarationGroup Semicolon; Production { lhs: 365, production: &[ - ParseType::N(551), + ParseType::N(552), ParseType::N(366), ParseType::N(88), ParseType::N(245), @@ -19768,24 +19782,24 @@ pub const PRODUCTIONS: &[Production; 915] = &[ // 587 - LocalDeclarationGroup: Type Equ TypeExpression; Production { lhs: 366, - production: &[ParseType::N(590), ParseType::N(153), ParseType::N(588)], + production: &[ParseType::N(591), ParseType::N(153), ParseType::N(589)], }, // 588 - TypeDefDeclaration: Type Identifier Equ ArrayType Semicolon; Production { - lhs: 589, + lhs: 590, production: &[ - ParseType::N(551), + ParseType::N(552), ParseType::N(31), ParseType::N(153), ParseType::N(245), - ParseType::N(588), + ParseType::N(589), ], }, // 589 - AlwaysFfDeclaration: AlwaysFf AlwaysFfDeclarationOpt /* Option */ LBrace AlwaysFfDeclarationList /* Vec */ RBrace; Production { lhs: 12, production: &[ - ParseType::N(498), + ParseType::N(499), ParseType::N(13), ParseType::N(350), ParseType::N(14), @@ -19795,7 +19809,7 @@ pub const PRODUCTIONS: &[Production; 915] = &[ // 590 - AlwaysFfDeclarationList: Statement AlwaysFfDeclarationList; Production { lhs: 13, - production: &[ParseType::N(13), ParseType::N(562)], + production: &[ParseType::N(13), ParseType::N(563)], }, // 591 - AlwaysFfDeclarationList: ; Production { @@ -19816,7 +19830,7 @@ pub const PRODUCTIONS: &[Production; 915] = &[ Production { lhs: 3, production: &[ - ParseType::N(504), + ParseType::N(505), ParseType::N(4), ParseType::N(11), ParseType::N(356), @@ -19846,7 +19860,7 @@ pub const PRODUCTIONS: &[Production; 915] = &[ Production { lhs: 6, production: &[ - ParseType::N(498), + ParseType::N(499), ParseType::N(7), ParseType::N(350), ParseType::N(5), @@ -19855,7 +19869,7 @@ pub const PRODUCTIONS: &[Production; 915] = &[ // 600 - AlwaysCombDeclarationList: Statement AlwaysCombDeclarationList; Production { lhs: 7, - production: &[ParseType::N(7), ParseType::N(562)], + production: &[ParseType::N(7), ParseType::N(563)], }, // 601 - AlwaysCombDeclarationList: ; Production { @@ -19866,7 +19880,7 @@ pub const PRODUCTIONS: &[Production; 915] = &[ Production { lhs: 37, production: &[ - ParseType::N(551), + ParseType::N(552), ParseType::N(165), ParseType::N(153), ParseType::N(235), @@ -19877,8 +19891,8 @@ pub const PRODUCTIONS: &[Production; 915] = &[ Production { lhs: 382, production: &[ - ParseType::N(498), - ParseType::N(387), + ParseType::N(499), + ParseType::N(388), ParseType::N(350), ParseType::N(245), ParseType::N(381), @@ -19886,27 +19900,27 @@ pub const PRODUCTIONS: &[Production; 915] = &[ }, // 604 - ModportList: ModportGroup ModportListList /* Vec */ ModportListOpt /* Option */; Production { - lhs: 387, - production: &[ParseType::N(389), ParseType::N(388), ParseType::N(383)], + lhs: 388, + production: &[ParseType::N(390), ParseType::N(389), ParseType::N(383)], }, // 605 - ModportListList: Comma ModportGroup ModportListList; Production { - lhs: 388, - production: &[ParseType::N(388), ParseType::N(383), ParseType::N(97)], + lhs: 389, + production: &[ParseType::N(389), ParseType::N(383), ParseType::N(97)], }, // 606 - ModportListList: ; Production { - lhs: 388, + lhs: 389, production: &[], }, // 607 - ModportListOpt: Comma; Production { - lhs: 389, + lhs: 390, production: &[ParseType::N(97)], }, // 608 - ModportListOpt: ; Production { - lhs: 389, + lhs: 390, production: &[], }, // 609 - ModportGroup: ModportGroupList /* Vec */ ModportGroupGroup; @@ -19917,7 +19931,7 @@ pub const PRODUCTIONS: &[Production; 915] = &[ // 610 - ModportGroupGroup: LBrace ModportList RBrace; Production { lhs: 384, - production: &[ParseType::N(498), ParseType::N(387), ParseType::N(350)], + production: &[ParseType::N(499), ParseType::N(388), ParseType::N(350)], }, // 611 - ModportGroupGroup: ModportItem; Production { @@ -19934,741 +19948,751 @@ pub const PRODUCTIONS: &[Production; 915] = &[ lhs: 385, production: &[], }, - // 614 - ModportItem: Identifier Colon Direction; + // 614 - ModportItem: Identifier Colon ModportItemGroup; Production { lhs: 386, - production: &[ParseType::N(116), ParseType::N(88), ParseType::N(245)], + production: &[ParseType::N(387), ParseType::N(88), ParseType::N(245)], + }, + // 615 - ModportItemGroup: Direction; + Production { + lhs: 387, + production: &[ParseType::N(116)], + }, + // 616 - ModportItemGroup: Import; + Production { + lhs: 387, + production: &[ParseType::N(270)], }, - // 615 - EnumDeclaration: Enum Identifier Colon ScalarType LBrace EnumList RBrace; + // 617 - EnumDeclaration: Enum Identifier Colon ScalarType LBrace EnumList RBrace; Production { lhs: 142, production: &[ - ParseType::N(498), + ParseType::N(499), ParseType::N(148), ParseType::N(350), - ParseType::N(540), + ParseType::N(541), ParseType::N(88), ParseType::N(245), ParseType::N(141), ], }, - // 616 - EnumList: EnumGroup EnumListList /* Vec */ EnumListOpt /* Option */; + // 618 - EnumList: EnumGroup EnumListList /* Vec */ EnumListOpt /* Option */; Production { lhs: 148, production: &[ParseType::N(150), ParseType::N(149), ParseType::N(143)], }, - // 617 - EnumListList: Comma EnumGroup EnumListList; + // 619 - EnumListList: Comma EnumGroup EnumListList; Production { lhs: 149, production: &[ParseType::N(149), ParseType::N(143), ParseType::N(97)], }, - // 618 - EnumListList: ; + // 620 - EnumListList: ; Production { lhs: 149, production: &[], }, - // 619 - EnumListOpt: Comma; + // 621 - EnumListOpt: Comma; Production { lhs: 150, production: &[ParseType::N(97)], }, - // 620 - EnumListOpt: ; + // 622 - EnumListOpt: ; Production { lhs: 150, production: &[], }, - // 621 - EnumGroup: EnumGroupList /* Vec */ EnumGroupGroup; + // 623 - EnumGroup: EnumGroupList /* Vec */ EnumGroupGroup; Production { lhs: 143, production: &[ParseType::N(144), ParseType::N(145)], }, - // 622 - EnumGroupGroup: LBrace EnumList RBrace; + // 624 - EnumGroupGroup: LBrace EnumList RBrace; Production { lhs: 144, - production: &[ParseType::N(498), ParseType::N(148), ParseType::N(350)], + production: &[ParseType::N(499), ParseType::N(148), ParseType::N(350)], }, - // 623 - EnumGroupGroup: EnumItem; + // 625 - EnumGroupGroup: EnumItem; Production { lhs: 144, production: &[ParseType::N(146)], }, - // 624 - EnumGroupList: Attribute EnumGroupList; + // 626 - EnumGroupList: Attribute EnumGroupList; Production { lhs: 145, production: &[ParseType::N(145), ParseType::N(45)], }, - // 625 - EnumGroupList: ; + // 627 - EnumGroupList: ; Production { lhs: 145, production: &[], }, - // 626 - EnumItem: Identifier EnumItemOpt /* Option */; + // 628 - EnumItem: Identifier EnumItemOpt /* Option */; Production { lhs: 146, production: &[ParseType::N(147), ParseType::N(245)], }, - // 627 - EnumItemOpt: Equ Expression; + // 629 - EnumItemOpt: Equ Expression; Production { lhs: 147, production: &[ParseType::N(165), ParseType::N(153)], }, - // 628 - EnumItemOpt: ; + // 630 - EnumItemOpt: ; Production { lhs: 147, production: &[], }, - // 629 - StructUnion: Struct; + // 631 - StructUnion: Struct; Production { - lhs: 575, - production: &[ParseType::N(572)], + lhs: 576, + production: &[ParseType::N(573)], }, - // 630 - StructUnion: Union; + // 632 - StructUnion: Union; Production { - lhs: 575, - production: &[ParseType::N(603)], + lhs: 576, + production: &[ParseType::N(604)], }, - // 631 - StructUnionDeclaration: StructUnion Identifier StructUnionDeclarationOpt /* Option */ LBrace StructUnionList RBrace; + // 633 - StructUnionDeclaration: StructUnion Identifier StructUnionDeclarationOpt /* Option */ LBrace StructUnionList RBrace; Production { - lhs: 576, + lhs: 577, production: &[ - ParseType::N(498), - ParseType::N(582), + ParseType::N(499), + ParseType::N(583), ParseType::N(350), - ParseType::N(577), + ParseType::N(578), ParseType::N(245), - ParseType::N(575), + ParseType::N(576), ], }, - // 632 - StructUnionDeclarationOpt: WithGenericParameter; + // 634 - StructUnionDeclarationOpt: WithGenericParameter; Production { - lhs: 577, - production: &[ParseType::N(623)], + lhs: 578, + production: &[ParseType::N(624)], }, - // 633 - StructUnionDeclarationOpt: ; + // 635 - StructUnionDeclarationOpt: ; Production { - lhs: 577, + lhs: 578, production: &[], }, - // 634 - StructUnionList: StructUnionGroup StructUnionListList /* Vec */ StructUnionListOpt /* Option */; - Production { - lhs: 582, - production: &[ParseType::N(584), ParseType::N(583), ParseType::N(578)], - }, - // 635 - StructUnionListList: Comma StructUnionGroup StructUnionListList; + // 636 - StructUnionList: StructUnionGroup StructUnionListList /* Vec */ StructUnionListOpt /* Option */; Production { lhs: 583, - production: &[ParseType::N(583), ParseType::N(578), ParseType::N(97)], + production: &[ParseType::N(585), ParseType::N(584), ParseType::N(579)], }, - // 636 - StructUnionListList: ; - Production { - lhs: 583, - production: &[], - }, - // 637 - StructUnionListOpt: Comma; + // 637 - StructUnionListList: Comma StructUnionGroup StructUnionListList; Production { lhs: 584, - production: &[ParseType::N(97)], + production: &[ParseType::N(584), ParseType::N(579), ParseType::N(97)], }, - // 638 - StructUnionListOpt: ; + // 638 - StructUnionListList: ; Production { lhs: 584, production: &[], }, - // 639 - StructUnionGroup: StructUnionGroupList /* Vec */ StructUnionGroupGroup; + // 639 - StructUnionListOpt: Comma; Production { - lhs: 578, - production: &[ParseType::N(579), ParseType::N(580)], + lhs: 585, + production: &[ParseType::N(97)], }, - // 640 - StructUnionGroupGroup: LBrace StructUnionList RBrace; + // 640 - StructUnionListOpt: ; Production { - lhs: 579, - production: &[ParseType::N(498), ParseType::N(582), ParseType::N(350)], + lhs: 585, + production: &[], }, - // 641 - StructUnionGroupGroup: StructUnionItem; + // 641 - StructUnionGroup: StructUnionGroupList /* Vec */ StructUnionGroupGroup; Production { lhs: 579, - production: &[ParseType::N(581)], + production: &[ParseType::N(580), ParseType::N(581)], }, - // 642 - StructUnionGroupList: Attribute StructUnionGroupList; + // 642 - StructUnionGroupGroup: LBrace StructUnionList RBrace; Production { lhs: 580, - production: &[ParseType::N(580), ParseType::N(45)], + production: &[ParseType::N(499), ParseType::N(583), ParseType::N(350)], }, - // 643 - StructUnionGroupList: ; + // 643 - StructUnionGroupGroup: StructUnionItem; Production { lhs: 580, - production: &[], + production: &[ParseType::N(582)], }, - // 644 - StructUnionItem: Identifier Colon ScalarType; + // 644 - StructUnionGroupList: Attribute StructUnionGroupList; Production { lhs: 581, - production: &[ParseType::N(540), ParseType::N(88), ParseType::N(245)], + production: &[ParseType::N(581), ParseType::N(45)], }, - // 645 - InitialDeclaration: Initial LBrace InitialDeclarationList /* Vec */ RBrace; + // 645 - StructUnionGroupList: ; + Production { + lhs: 581, + production: &[], + }, + // 646 - StructUnionItem: Identifier Colon ScalarType; + Production { + lhs: 582, + production: &[ParseType::N(541), ParseType::N(88), ParseType::N(245)], + }, + // 647 - InitialDeclaration: Initial LBrace InitialDeclarationList /* Vec */ RBrace; Production { lhs: 283, production: &[ - ParseType::N(498), + ParseType::N(499), ParseType::N(284), ParseType::N(350), ParseType::N(282), ], }, - // 646 - InitialDeclarationList: Statement InitialDeclarationList; + // 648 - InitialDeclarationList: Statement InitialDeclarationList; Production { lhs: 284, - production: &[ParseType::N(284), ParseType::N(562)], + production: &[ParseType::N(284), ParseType::N(563)], }, - // 647 - InitialDeclarationList: ; + // 649 - InitialDeclarationList: ; Production { lhs: 284, production: &[], }, - // 648 - FinalDeclaration: Final LBrace FinalDeclarationList /* Vec */ RBrace; + // 650 - FinalDeclaration: Final LBrace FinalDeclarationList /* Vec */ RBrace; Production { lhs: 207, production: &[ - ParseType::N(498), + ParseType::N(499), ParseType::N(208), ParseType::N(350), ParseType::N(206), ], }, - // 649 - FinalDeclarationList: Statement FinalDeclarationList; + // 651 - FinalDeclarationList: Statement FinalDeclarationList; Production { lhs: 208, - production: &[ParseType::N(208), ParseType::N(562)], + production: &[ParseType::N(208), ParseType::N(563)], }, - // 650 - FinalDeclarationList: ; + // 652 - FinalDeclarationList: ; Production { lhs: 208, production: &[], }, - // 651 - InstDeclaration: Inst Identifier Colon ScopedIdentifier InstDeclarationOpt /* Option */ InstDeclarationOpt0 /* Option */ InstDeclarationOpt1 /* Option */ Semicolon; + // 653 - InstDeclaration: Inst Identifier Colon ScopedIdentifier InstDeclarationOpt /* Option */ InstDeclarationOpt0 /* Option */ InstDeclarationOpt1 /* Option */ Semicolon; Production { lhs: 298, production: &[ - ParseType::N(551), + ParseType::N(552), ParseType::N(301), ParseType::N(300), ParseType::N(299), - ParseType::N(543), + ParseType::N(544), ParseType::N(88), ParseType::N(245), ParseType::N(297), ], }, - // 652 - InstDeclarationOpt1: LParen InstDeclarationOpt2 /* Option */ RParen; + // 654 - InstDeclarationOpt1: LParen InstDeclarationOpt2 /* Option */ RParen; Production { lhs: 301, - production: &[ParseType::N(504), ParseType::N(302), ParseType::N(356)], + production: &[ParseType::N(505), ParseType::N(302), ParseType::N(356)], }, - // 653 - InstDeclarationOpt2: InstPortList; + // 655 - InstDeclarationOpt2: InstPortList; Production { lhs: 302, production: &[ParseType::N(318)], }, - // 654 - InstDeclarationOpt2: ; + // 656 - InstDeclarationOpt2: ; Production { lhs: 302, production: &[], }, - // 655 - InstDeclarationOpt1: ; + // 657 - InstDeclarationOpt1: ; Production { lhs: 301, production: &[], }, - // 656 - InstDeclarationOpt0: InstParameter; + // 658 - InstDeclarationOpt0: InstParameter; Production { lhs: 300, production: &[ParseType::N(303)], }, - // 657 - InstDeclarationOpt0: ; + // 659 - InstDeclarationOpt0: ; Production { lhs: 300, production: &[], }, - // 658 - InstDeclarationOpt: Array; + // 660 - InstDeclarationOpt: Array; Production { lhs: 299, production: &[ParseType::N(23)], }, - // 659 - InstDeclarationOpt: ; + // 661 - InstDeclarationOpt: ; Production { lhs: 299, production: &[], }, - // 660 - InstParameter: Hash LParen InstParameterOpt /* Option */ RParen; + // 662 - InstParameter: Hash LParen InstParameterOpt /* Option */ RParen; Production { lhs: 303, production: &[ - ParseType::N(504), + ParseType::N(505), ParseType::N(312), ParseType::N(356), ParseType::N(232), ], }, - // 661 - InstParameterOpt: InstParameterList; + // 663 - InstParameterOpt: InstParameterList; Production { lhs: 312, production: &[ParseType::N(309)], }, - // 662 - InstParameterOpt: ; + // 664 - InstParameterOpt: ; Production { lhs: 312, production: &[], }, - // 663 - InstParameterList: InstParameterGroup InstParameterListList /* Vec */ InstParameterListOpt /* Option */; + // 665 - InstParameterList: InstParameterGroup InstParameterListList /* Vec */ InstParameterListOpt /* Option */; Production { lhs: 309, production: &[ParseType::N(311), ParseType::N(310), ParseType::N(304)], }, - // 664 - InstParameterListList: Comma InstParameterGroup InstParameterListList; + // 666 - InstParameterListList: Comma InstParameterGroup InstParameterListList; Production { lhs: 310, production: &[ParseType::N(310), ParseType::N(304), ParseType::N(97)], }, - // 665 - InstParameterListList: ; + // 667 - InstParameterListList: ; Production { lhs: 310, production: &[], }, - // 666 - InstParameterListOpt: Comma; + // 668 - InstParameterListOpt: Comma; Production { lhs: 311, production: &[ParseType::N(97)], }, - // 667 - InstParameterListOpt: ; + // 669 - InstParameterListOpt: ; Production { lhs: 311, production: &[], }, - // 668 - InstParameterGroup: InstParameterGroupList /* Vec */ InstParameterGroupGroup; + // 670 - InstParameterGroup: InstParameterGroupList /* Vec */ InstParameterGroupGroup; Production { lhs: 304, production: &[ParseType::N(305), ParseType::N(306)], }, - // 669 - InstParameterGroupGroup: LBrace InstParameterList RBrace; + // 671 - InstParameterGroupGroup: LBrace InstParameterList RBrace; Production { lhs: 305, - production: &[ParseType::N(498), ParseType::N(309), ParseType::N(350)], + production: &[ParseType::N(499), ParseType::N(309), ParseType::N(350)], }, - // 670 - InstParameterGroupGroup: InstParameterItem; + // 672 - InstParameterGroupGroup: InstParameterItem; Production { lhs: 305, production: &[ParseType::N(307)], }, - // 671 - InstParameterGroupList: Attribute InstParameterGroupList; + // 673 - InstParameterGroupList: Attribute InstParameterGroupList; Production { lhs: 306, production: &[ParseType::N(306), ParseType::N(45)], }, - // 672 - InstParameterGroupList: ; + // 674 - InstParameterGroupList: ; Production { lhs: 306, production: &[], }, - // 673 - InstParameterItem: Identifier InstParameterItemOpt /* Option */; + // 675 - InstParameterItem: Identifier InstParameterItemOpt /* Option */; Production { lhs: 307, production: &[ParseType::N(308), ParseType::N(245)], }, - // 674 - InstParameterItemOpt: Colon Expression; + // 676 - InstParameterItemOpt: Colon Expression; Production { lhs: 308, production: &[ParseType::N(165), ParseType::N(88)], }, - // 675 - InstParameterItemOpt: ; + // 677 - InstParameterItemOpt: ; Production { lhs: 308, production: &[], }, - // 676 - InstPortList: InstPortGroup InstPortListList /* Vec */ InstPortListOpt /* Option */; + // 678 - InstPortList: InstPortGroup InstPortListList /* Vec */ InstPortListOpt /* Option */; Production { lhs: 318, production: &[ParseType::N(320), ParseType::N(319), ParseType::N(313)], }, - // 677 - InstPortListList: Comma InstPortGroup InstPortListList; + // 679 - InstPortListList: Comma InstPortGroup InstPortListList; Production { lhs: 319, production: &[ParseType::N(319), ParseType::N(313), ParseType::N(97)], }, - // 678 - InstPortListList: ; + // 680 - InstPortListList: ; Production { lhs: 319, production: &[], }, - // 679 - InstPortListOpt: Comma; + // 681 - InstPortListOpt: Comma; Production { lhs: 320, production: &[ParseType::N(97)], }, - // 680 - InstPortListOpt: ; + // 682 - InstPortListOpt: ; Production { lhs: 320, production: &[], }, - // 681 - InstPortGroup: InstPortGroupList /* Vec */ InstPortGroupGroup; + // 683 - InstPortGroup: InstPortGroupList /* Vec */ InstPortGroupGroup; Production { lhs: 313, production: &[ParseType::N(314), ParseType::N(315)], }, - // 682 - InstPortGroupGroup: LBrace InstPortList RBrace; + // 684 - InstPortGroupGroup: LBrace InstPortList RBrace; Production { lhs: 314, - production: &[ParseType::N(498), ParseType::N(318), ParseType::N(350)], + production: &[ParseType::N(499), ParseType::N(318), ParseType::N(350)], }, - // 683 - InstPortGroupGroup: InstPortItem; + // 685 - InstPortGroupGroup: InstPortItem; Production { lhs: 314, production: &[ParseType::N(316)], }, - // 684 - InstPortGroupList: Attribute InstPortGroupList; + // 686 - InstPortGroupList: Attribute InstPortGroupList; Production { lhs: 315, production: &[ParseType::N(315), ParseType::N(45)], }, - // 685 - InstPortGroupList: ; + // 687 - InstPortGroupList: ; Production { lhs: 315, production: &[], }, - // 686 - InstPortItem: Identifier InstPortItemOpt /* Option */; + // 688 - InstPortItem: Identifier InstPortItemOpt /* Option */; Production { lhs: 316, production: &[ParseType::N(317), ParseType::N(245)], }, - // 687 - InstPortItemOpt: Colon Expression; + // 689 - InstPortItemOpt: Colon Expression; Production { lhs: 317, production: &[ParseType::N(165), ParseType::N(88)], }, - // 688 - InstPortItemOpt: ; + // 690 - InstPortItemOpt: ; Production { lhs: 317, production: &[], }, - // 689 - WithParameter: Hash LParen WithParameterOpt /* Option */ RParen; + // 691 - WithParameter: Hash LParen WithParameterOpt /* Option */ RParen; Production { - lhs: 629, + lhs: 630, production: &[ - ParseType::N(504), - ParseType::N(639), + ParseType::N(505), + ParseType::N(640), ParseType::N(356), ParseType::N(232), ], }, - // 690 - WithParameterOpt: WithParameterList; + // 692 - WithParameterOpt: WithParameterList; Production { - lhs: 639, - production: &[ParseType::N(636)], + lhs: 640, + production: &[ParseType::N(637)], }, - // 691 - WithParameterOpt: ; + // 693 - WithParameterOpt: ; Production { - lhs: 639, + lhs: 640, production: &[], }, - // 692 - WithParameterList: WithParameterGroup WithParameterListList /* Vec */ WithParameterListOpt /* Option */; - Production { - lhs: 636, - production: &[ParseType::N(638), ParseType::N(637), ParseType::N(630)], - }, - // 693 - WithParameterListList: Comma WithParameterGroup WithParameterListList; + // 694 - WithParameterList: WithParameterGroup WithParameterListList /* Vec */ WithParameterListOpt /* Option */; Production { lhs: 637, - production: &[ParseType::N(637), ParseType::N(630), ParseType::N(97)], + production: &[ParseType::N(639), ParseType::N(638), ParseType::N(631)], }, - // 694 - WithParameterListList: ; - Production { - lhs: 637, - production: &[], - }, - // 695 - WithParameterListOpt: Comma; + // 695 - WithParameterListList: Comma WithParameterGroup WithParameterListList; Production { lhs: 638, - production: &[ParseType::N(97)], + production: &[ParseType::N(638), ParseType::N(631), ParseType::N(97)], }, - // 696 - WithParameterListOpt: ; + // 696 - WithParameterListList: ; Production { lhs: 638, production: &[], }, - // 697 - WithParameterGroup: WithParameterGroupList /* Vec */ WithParameterGroupGroup; + // 697 - WithParameterListOpt: Comma; Production { - lhs: 630, - production: &[ParseType::N(631), ParseType::N(632)], + lhs: 639, + production: &[ParseType::N(97)], }, - // 698 - WithParameterGroupGroup: LBrace WithParameterList RBrace; + // 698 - WithParameterListOpt: ; Production { - lhs: 631, - production: &[ParseType::N(498), ParseType::N(636), ParseType::N(350)], + lhs: 639, + production: &[], }, - // 699 - WithParameterGroupGroup: WithParameterItem; + // 699 - WithParameterGroup: WithParameterGroupList /* Vec */ WithParameterGroupGroup; Production { lhs: 631, - production: &[ParseType::N(633)], + production: &[ParseType::N(632), ParseType::N(633)], }, - // 700 - WithParameterGroupList: Attribute WithParameterGroupList; + // 700 - WithParameterGroupGroup: LBrace WithParameterList RBrace; Production { lhs: 632, - production: &[ParseType::N(632), ParseType::N(45)], + production: &[ParseType::N(499), ParseType::N(637), ParseType::N(350)], }, - // 701 - WithParameterGroupList: ; + // 701 - WithParameterGroupGroup: WithParameterItem; Production { lhs: 632, - production: &[], + production: &[ParseType::N(634)], }, - // 702 - WithParameterItem: WithParameterItemGroup Identifier Colon WithParameterItemGroup0; + // 702 - WithParameterGroupList: Attribute WithParameterGroupList; Production { lhs: 633, + production: &[ParseType::N(633), ParseType::N(45)], + }, + // 703 - WithParameterGroupList: ; + Production { + lhs: 633, + production: &[], + }, + // 704 - WithParameterItem: WithParameterItemGroup Identifier Colon WithParameterItemGroup0; + Production { + lhs: 634, production: &[ - ParseType::N(635), + ParseType::N(636), ParseType::N(88), ParseType::N(245), - ParseType::N(634), + ParseType::N(635), ], }, - // 703 - WithParameterItemGroup0: ArrayType Equ Expression; + // 705 - WithParameterItemGroup0: ArrayType Equ Expression; Production { - lhs: 635, + lhs: 636, production: &[ParseType::N(165), ParseType::N(153), ParseType::N(31)], }, - // 704 - WithParameterItemGroup0: Type Equ TypeExpression; + // 706 - WithParameterItemGroup0: Type Equ TypeExpression; Production { - lhs: 635, - production: &[ParseType::N(590), ParseType::N(153), ParseType::N(588)], + lhs: 636, + production: &[ParseType::N(591), ParseType::N(153), ParseType::N(589)], }, - // 705 - WithParameterItemGroup: Param; + // 707 - WithParameterItemGroup: Param; Production { - lhs: 634, - production: &[ParseType::N(472)], + lhs: 635, + production: &[ParseType::N(473)], }, - // 706 - WithParameterItemGroup: Local; + // 708 - WithParameterItemGroup: Local; Production { - lhs: 634, + lhs: 635, production: &[ParseType::N(364)], }, - // 707 - WithGenericParameter: ColonColonLAngle WithGenericParameterList RAngle; + // 709 - WithGenericParameter: ColonColonLAngle WithGenericParameterList RAngle; Production { - lhs: 623, - production: &[ParseType::N(495), ParseType::N(626), ParseType::N(90)], + lhs: 624, + production: &[ParseType::N(496), ParseType::N(627), ParseType::N(90)], }, - // 708 - WithGenericParameterList: WithGenericParameterItem WithGenericParameterListList /* Vec */ WithGenericParameterListOpt /* Option */; + // 710 - WithGenericParameterList: WithGenericParameterItem WithGenericParameterListList /* Vec */ WithGenericParameterListOpt /* Option */; Production { - lhs: 626, - production: &[ParseType::N(628), ParseType::N(627), ParseType::N(624)], + lhs: 627, + production: &[ParseType::N(629), ParseType::N(628), ParseType::N(625)], }, - // 709 - WithGenericParameterListList: Comma WithGenericParameterItem WithGenericParameterListList; + // 711 - WithGenericParameterListList: Comma WithGenericParameterItem WithGenericParameterListList; Production { - lhs: 627, - production: &[ParseType::N(627), ParseType::N(624), ParseType::N(97)], + lhs: 628, + production: &[ParseType::N(628), ParseType::N(625), ParseType::N(97)], }, - // 710 - WithGenericParameterListList: ; + // 712 - WithGenericParameterListList: ; Production { - lhs: 627, + lhs: 628, production: &[], }, - // 711 - WithGenericParameterListOpt: Comma; + // 713 - WithGenericParameterListOpt: Comma; Production { - lhs: 628, + lhs: 629, production: &[ParseType::N(97)], }, - // 712 - WithGenericParameterListOpt: ; + // 714 - WithGenericParameterListOpt: ; Production { - lhs: 628, + lhs: 629, production: &[], }, - // 713 - WithGenericParameterItem: Identifier WithGenericParameterItemOpt /* Option */; + // 715 - WithGenericParameterItem: Identifier WithGenericParameterItemOpt /* Option */; Production { - lhs: 624, - production: &[ParseType::N(625), ParseType::N(245)], + lhs: 625, + production: &[ParseType::N(626), ParseType::N(245)], }, - // 714 - WithGenericParameterItemOpt: Equ WithGenericArgumentItem; + // 716 - WithGenericParameterItemOpt: Equ WithGenericArgumentItem; Production { - lhs: 625, - production: &[ParseType::N(618), ParseType::N(153)], + lhs: 626, + production: &[ParseType::N(619), ParseType::N(153)], }, - // 715 - WithGenericParameterItemOpt: ; + // 717 - WithGenericParameterItemOpt: ; Production { - lhs: 625, + lhs: 626, production: &[], }, - // 716 - WithGenericArgument: ColonColonLAngle Push(2) WithGenericArgumentOpt /* Option */ RAngle Pop; + // 718 - WithGenericArgument: ColonColonLAngle Push(2) WithGenericArgumentOpt /* Option */ RAngle Pop; Production { - lhs: 617, + lhs: 618, production: &[ ParseType::Pop, - ParseType::N(495), - ParseType::N(622), + ParseType::N(496), + ParseType::N(623), ParseType::Push(2), ParseType::N(90), ], }, - // 717 - WithGenericArgumentOpt: WithGenericArgumentList; + // 719 - WithGenericArgumentOpt: WithGenericArgumentList; Production { - lhs: 622, - production: &[ParseType::N(619)], + lhs: 623, + production: &[ParseType::N(620)], }, - // 718 - WithGenericArgumentOpt: ; + // 720 - WithGenericArgumentOpt: ; Production { - lhs: 622, + lhs: 623, production: &[], }, - // 719 - WithGenericArgumentList: WithGenericArgumentItem WithGenericArgumentListList /* Vec */ WithGenericArgumentListOpt /* Option */; - Production { - lhs: 619, - production: &[ParseType::N(621), ParseType::N(620), ParseType::N(618)], - }, - // 720 - WithGenericArgumentListList: Comma WithGenericArgumentItem WithGenericArgumentListList; + // 721 - WithGenericArgumentList: WithGenericArgumentItem WithGenericArgumentListList /* Vec */ WithGenericArgumentListOpt /* Option */; Production { lhs: 620, - production: &[ParseType::N(620), ParseType::N(618), ParseType::N(97)], + production: &[ParseType::N(622), ParseType::N(621), ParseType::N(619)], }, - // 721 - WithGenericArgumentListList: ; - Production { - lhs: 620, - production: &[], - }, - // 722 - WithGenericArgumentListOpt: Comma; + // 722 - WithGenericArgumentListList: Comma WithGenericArgumentItem WithGenericArgumentListList; Production { lhs: 621, - production: &[ParseType::N(97)], + production: &[ParseType::N(621), ParseType::N(619), ParseType::N(97)], }, - // 723 - WithGenericArgumentListOpt: ; + // 723 - WithGenericArgumentListList: ; Production { lhs: 621, production: &[], }, - // 724 - WithGenericArgumentItem: ScopedIdentifier; + // 724 - WithGenericArgumentListOpt: Comma; Production { - lhs: 618, - production: &[ParseType::N(543)], + lhs: 622, + production: &[ParseType::N(97)], }, - // 725 - WithGenericArgumentItem: Number; + // 725 - WithGenericArgumentListOpt: ; Production { - lhs: 618, - production: &[ParseType::N(419)], + lhs: 622, + production: &[], }, - // 726 - PortDeclaration: LParen PortDeclarationOpt /* Option */ RParen; + // 726 - WithGenericArgumentItem: ScopedIdentifier; Production { - lhs: 478, - production: &[ParseType::N(504), ParseType::N(488), ParseType::N(356)], + lhs: 619, + production: &[ParseType::N(544)], }, - // 727 - PortDeclarationOpt: PortDeclarationList; + // 727 - WithGenericArgumentItem: Number; Production { - lhs: 488, - production: &[ParseType::N(485)], + lhs: 619, + production: &[ParseType::N(420)], }, - // 728 - PortDeclarationOpt: ; + // 728 - PortDeclaration: LParen PortDeclarationOpt /* Option */ RParen; Production { - lhs: 488, - production: &[], + lhs: 479, + production: &[ParseType::N(505), ParseType::N(489), ParseType::N(356)], }, - // 729 - PortDeclarationList: PortDeclarationGroup PortDeclarationListList /* Vec */ PortDeclarationListOpt /* Option */; + // 729 - PortDeclarationOpt: PortDeclarationList; Production { - lhs: 485, - production: &[ParseType::N(487), ParseType::N(486), ParseType::N(479)], + lhs: 489, + production: &[ParseType::N(486)], }, - // 730 - PortDeclarationListList: Comma PortDeclarationGroup PortDeclarationListList; + // 730 - PortDeclarationOpt: ; Production { - lhs: 486, - production: &[ParseType::N(486), ParseType::N(479), ParseType::N(97)], + lhs: 489, + production: &[], }, - // 731 - PortDeclarationListList: ; + // 731 - PortDeclarationList: PortDeclarationGroup PortDeclarationListList /* Vec */ PortDeclarationListOpt /* Option */; Production { lhs: 486, - production: &[], + production: &[ParseType::N(488), ParseType::N(487), ParseType::N(480)], }, - // 732 - PortDeclarationListOpt: Comma; + // 732 - PortDeclarationListList: Comma PortDeclarationGroup PortDeclarationListList; Production { lhs: 487, - production: &[ParseType::N(97)], + production: &[ParseType::N(487), ParseType::N(480), ParseType::N(97)], }, - // 733 - PortDeclarationListOpt: ; + // 733 - PortDeclarationListList: ; Production { lhs: 487, production: &[], }, - // 734 - PortDeclarationGroup: PortDeclarationGroupList /* Vec */ PortDeclarationGroupGroup; + // 734 - PortDeclarationListOpt: Comma; Production { - lhs: 479, - production: &[ParseType::N(480), ParseType::N(481)], + lhs: 488, + production: &[ParseType::N(97)], }, - // 735 - PortDeclarationGroupGroup: LBrace PortDeclarationList RBrace; + // 735 - PortDeclarationListOpt: ; Production { - lhs: 480, - production: &[ParseType::N(498), ParseType::N(485), ParseType::N(350)], + lhs: 488, + production: &[], }, - // 736 - PortDeclarationGroupGroup: PortDeclarationItem; + // 736 - PortDeclarationGroup: PortDeclarationGroupList /* Vec */ PortDeclarationGroupGroup; Production { lhs: 480, - production: &[ParseType::N(482)], + production: &[ParseType::N(481), ParseType::N(482)], }, - // 737 - PortDeclarationGroupList: Attribute PortDeclarationGroupList; + // 737 - PortDeclarationGroupGroup: LBrace PortDeclarationList RBrace; Production { lhs: 481, - production: &[ParseType::N(481), ParseType::N(45)], + production: &[ParseType::N(499), ParseType::N(486), ParseType::N(350)], }, - // 738 - PortDeclarationGroupList: ; + // 738 - PortDeclarationGroupGroup: PortDeclarationItem; Production { lhs: 481, - production: &[], + production: &[ParseType::N(483)], }, - // 739 - PortDeclarationItem: Identifier Colon PortDeclarationItemGroup; + // 739 - PortDeclarationGroupList: Attribute PortDeclarationGroupList; Production { lhs: 482, - production: &[ParseType::N(483), ParseType::N(88), ParseType::N(245)], + production: &[ParseType::N(482), ParseType::N(45)], }, - // 740 - PortDeclarationItemGroup: Direction ArrayType; + // 740 - PortDeclarationGroupList: ; Production { - lhs: 483, - production: &[ParseType::N(31), ParseType::N(116)], + lhs: 482, + production: &[], }, - // 741 - PortDeclarationItemGroup: Interface PortDeclarationItemOpt /* Option */; + // 741 - PortDeclarationItem: Identifier Colon PortDeclarationItemGroup; Production { lhs: 483, - production: &[ParseType::N(484), ParseType::N(324)], + production: &[ParseType::N(484), ParseType::N(88), ParseType::N(245)], }, - // 742 - PortDeclarationItemOpt: Array; + // 742 - PortDeclarationItemGroup: Direction ArrayType; Production { lhs: 484, - production: &[ParseType::N(23)], + production: &[ParseType::N(31), ParseType::N(116)], }, - // 743 - PortDeclarationItemOpt: ; + // 743 - PortDeclarationItemGroup: Interface PortDeclarationItemOpt /* Option */; Production { lhs: 484, + production: &[ParseType::N(485), ParseType::N(324)], + }, + // 744 - PortDeclarationItemOpt: Array; + Production { + lhs: 485, + production: &[ParseType::N(23)], + }, + // 745 - PortDeclarationItemOpt: ; + Production { + lhs: 485, production: &[], }, - // 744 - Direction: Input; + // 746 - Direction: Input; Production { lhs: 116, production: &[ParseType::N(290)], }, - // 745 - Direction: Output; + // 747 - Direction: Output; Production { lhs: 116, - production: &[ParseType::N(453)], + production: &[ParseType::N(454)], }, - // 746 - Direction: Inout; + // 748 - Direction: Inout; Production { lhs: 116, production: &[ParseType::N(287)], }, - // 747 - Direction: Ref; + // 749 - Direction: Ref; Production { lhs: 116, - production: &[ParseType::N(515)], + production: &[ParseType::N(516)], }, - // 748 - Direction: Modport; + // 750 - Direction: Modport; Production { lhs: 116, production: &[ParseType::N(381)], }, - // 749 - FunctionDeclaration: Function Identifier FunctionDeclarationOpt /* Option */ FunctionDeclarationOpt0 /* Option */ FunctionDeclarationOpt1 /* Option */ LBrace FunctionDeclarationList /* Vec */ RBrace; + // 751 - FunctionDeclaration: Function Identifier FunctionDeclarationOpt /* Option */ FunctionDeclarationOpt0 /* Option */ FunctionDeclarationOpt1 /* Option */ LBrace FunctionDeclarationList /* Vec */ RBrace; Production { lhs: 224, production: &[ - ParseType::N(498), + ParseType::N(499), ParseType::N(225), ParseType::N(350), ParseType::N(228), @@ -20678,401 +20702,401 @@ pub const PRODUCTIONS: &[Production; 915] = &[ ParseType::N(221), ], }, - // 750 - FunctionDeclarationList: FunctionItem FunctionDeclarationList; + // 752 - FunctionDeclarationList: FunctionItem FunctionDeclarationList; Production { lhs: 225, production: &[ParseType::N(225), ParseType::N(229)], }, - // 751 - FunctionDeclarationList: ; + // 753 - FunctionDeclarationList: ; Production { lhs: 225, production: &[], }, - // 752 - FunctionDeclarationOpt1: MinusGT ScalarType; + // 754 - FunctionDeclarationOpt1: MinusGT ScalarType; Production { lhs: 228, - production: &[ParseType::N(540), ParseType::N(378)], + production: &[ParseType::N(541), ParseType::N(378)], }, - // 753 - FunctionDeclarationOpt1: ; + // 755 - FunctionDeclarationOpt1: ; Production { lhs: 228, production: &[], }, - // 754 - FunctionDeclarationOpt0: PortDeclaration; + // 756 - FunctionDeclarationOpt0: PortDeclaration; Production { lhs: 227, - production: &[ParseType::N(478)], + production: &[ParseType::N(479)], }, - // 755 - FunctionDeclarationOpt0: ; + // 757 - FunctionDeclarationOpt0: ; Production { lhs: 227, production: &[], }, - // 756 - FunctionDeclarationOpt: WithGenericParameter; + // 758 - FunctionDeclarationOpt: WithGenericParameter; Production { lhs: 226, - production: &[ParseType::N(623)], + production: &[ParseType::N(624)], }, - // 757 - FunctionDeclarationOpt: ; + // 759 - FunctionDeclarationOpt: ; Production { lhs: 226, production: &[], }, - // 758 - FunctionItem: VarDeclaration; + // 760 - FunctionItem: VarDeclaration; Production { lhs: 229, - production: &[ParseType::N(607)], + production: &[ParseType::N(608)], }, - // 759 - FunctionItem: Statement; + // 761 - FunctionItem: Statement; Production { lhs: 229, - production: &[ParseType::N(562)], + production: &[ParseType::N(563)], }, - // 760 - ImportDeclaration: Import ScopedIdentifier ImportDeclarationOpt /* Option */ Semicolon; + // 762 - ImportDeclaration: Import ScopedIdentifier ImportDeclarationOpt /* Option */ Semicolon; Production { lhs: 271, production: &[ - ParseType::N(551), + ParseType::N(552), ParseType::N(272), - ParseType::N(543), + ParseType::N(544), ParseType::N(270), ], }, - // 761 - ImportDeclarationOpt: ColonColon Star; + // 763 - ImportDeclarationOpt: ColonColon Star; Production { lhs: 272, - production: &[ParseType::N(557), ParseType::N(89)], + production: &[ParseType::N(558), ParseType::N(89)], }, - // 762 - ImportDeclarationOpt: ; + // 764 - ImportDeclarationOpt: ; Production { lhs: 272, production: &[], }, - // 763 - ExportDeclaration: Export ExportDeclarationGroup Semicolon; + // 765 - ExportDeclaration: Export ExportDeclarationGroup Semicolon; Production { lhs: 160, - production: &[ParseType::N(551), ParseType::N(161), ParseType::N(159)], + production: &[ParseType::N(552), ParseType::N(161), ParseType::N(159)], }, - // 764 - ExportDeclarationGroup: Star; + // 766 - ExportDeclarationGroup: Star; Production { lhs: 161, - production: &[ParseType::N(557)], + production: &[ParseType::N(558)], }, - // 765 - ExportDeclarationGroup: ScopedIdentifier ExportDeclarationOpt /* Option */; + // 767 - ExportDeclarationGroup: ScopedIdentifier ExportDeclarationOpt /* Option */; Production { lhs: 161, - production: &[ParseType::N(162), ParseType::N(543)], + production: &[ParseType::N(162), ParseType::N(544)], }, - // 766 - ExportDeclarationOpt: ColonColon Star; + // 768 - ExportDeclarationOpt: ColonColon Star; Production { lhs: 162, - production: &[ParseType::N(557), ParseType::N(89)], + production: &[ParseType::N(558), ParseType::N(89)], }, - // 767 - ExportDeclarationOpt: ; + // 769 - ExportDeclarationOpt: ; Production { lhs: 162, production: &[], }, - // 768 - ModuleDeclaration: ModuleDeclarationOpt /* Option */ Module Identifier ModuleDeclarationOpt0 /* Option */ ModuleDeclarationOpt1 /* Option */ ModuleDeclarationOpt2 /* Option */ LBrace ModuleDeclarationList /* Vec */ RBrace; + // 770 - ModuleDeclaration: ModuleDeclarationOpt /* Option */ Module Identifier ModuleDeclarationOpt0 /* Option */ ModuleDeclarationOpt1 /* Option */ ModuleDeclarationOpt2 /* Option */ LBrace ModuleDeclarationList /* Vec */ RBrace; Production { - lhs: 393, + lhs: 394, production: &[ - ParseType::N(498), - ParseType::N(394), + ParseType::N(499), + ParseType::N(395), ParseType::N(350), + ParseType::N(399), ParseType::N(398), ParseType::N(397), - ParseType::N(396), ParseType::N(245), - ParseType::N(392), - ParseType::N(395), + ParseType::N(393), + ParseType::N(396), ], }, - // 769 - ModuleDeclarationList: ModuleGroup ModuleDeclarationList; + // 771 - ModuleDeclarationList: ModuleGroup ModuleDeclarationList; Production { - lhs: 394, - production: &[ParseType::N(394), ParseType::N(401)], + lhs: 395, + production: &[ParseType::N(395), ParseType::N(402)], }, - // 770 - ModuleDeclarationList: ; + // 772 - ModuleDeclarationList: ; Production { - lhs: 394, + lhs: 395, production: &[], }, - // 771 - ModuleDeclarationOpt2: PortDeclaration; + // 773 - ModuleDeclarationOpt2: PortDeclaration; + Production { + lhs: 399, + production: &[ParseType::N(479)], + }, + // 774 - ModuleDeclarationOpt2: ; + Production { + lhs: 399, + production: &[], + }, + // 775 - ModuleDeclarationOpt1: WithParameter; Production { lhs: 398, - production: &[ParseType::N(478)], + production: &[ParseType::N(630)], }, - // 772 - ModuleDeclarationOpt2: ; + // 776 - ModuleDeclarationOpt1: ; Production { lhs: 398, production: &[], }, - // 773 - ModuleDeclarationOpt1: WithParameter; + // 777 - ModuleDeclarationOpt0: WithGenericParameter; Production { lhs: 397, - production: &[ParseType::N(629)], + production: &[ParseType::N(624)], }, - // 774 - ModuleDeclarationOpt1: ; + // 778 - ModuleDeclarationOpt0: ; Production { lhs: 397, production: &[], }, - // 775 - ModuleDeclarationOpt0: WithGenericParameter; + // 779 - ModuleDeclarationOpt: Pub; Production { lhs: 396, - production: &[ParseType::N(623)], + production: &[ParseType::N(490)], }, - // 776 - ModuleDeclarationOpt0: ; + // 780 - ModuleDeclarationOpt: ; Production { lhs: 396, production: &[], }, - // 777 - ModuleDeclarationOpt: Pub; - Production { - lhs: 395, - production: &[ParseType::N(489)], - }, - // 778 - ModuleDeclarationOpt: ; - Production { - lhs: 395, - production: &[], - }, - // 779 - ModuleIfDeclaration: If Expression ModuleNamedBlock ModuleIfDeclarationList /* Vec */ ModuleIfDeclarationOpt /* Option */; + // 781 - ModuleIfDeclaration: If Expression ModuleNamedBlock ModuleIfDeclarationList /* Vec */ ModuleIfDeclarationOpt /* Option */; Production { - lhs: 405, + lhs: 406, production: &[ + ParseType::N(408), ParseType::N(407), - ParseType::N(406), - ParseType::N(409), + ParseType::N(410), ParseType::N(165), ParseType::N(250), ], }, - // 780 - ModuleIfDeclarationList: Else If Expression ModuleOptionalNamedBlock ModuleIfDeclarationList; + // 782 - ModuleIfDeclarationList: Else If Expression ModuleOptionalNamedBlock ModuleIfDeclarationList; Production { - lhs: 406, + lhs: 407, production: &[ - ParseType::N(406), - ParseType::N(411), + ParseType::N(407), + ParseType::N(412), ParseType::N(165), ParseType::N(250), ParseType::N(129), ], }, - // 781 - ModuleIfDeclarationList: ; + // 783 - ModuleIfDeclarationList: ; Production { - lhs: 406, + lhs: 407, production: &[], }, - // 782 - ModuleIfDeclarationOpt: Else ModuleOptionalNamedBlock; + // 784 - ModuleIfDeclarationOpt: Else ModuleOptionalNamedBlock; Production { - lhs: 407, - production: &[ParseType::N(411), ParseType::N(129)], + lhs: 408, + production: &[ParseType::N(412), ParseType::N(129)], }, - // 783 - ModuleIfDeclarationOpt: ; + // 785 - ModuleIfDeclarationOpt: ; Production { - lhs: 407, + lhs: 408, production: &[], }, - // 784 - ModuleForDeclaration: For Identifier In Range ModuleForDeclarationOpt /* Option */ ModuleNamedBlock; + // 786 - ModuleForDeclaration: For Identifier In Range ModuleForDeclarationOpt /* Option */ ModuleNamedBlock; Production { - lhs: 399, + lhs: 400, production: &[ - ParseType::N(409), - ParseType::N(400), - ParseType::N(507), + ParseType::N(410), + ParseType::N(401), + ParseType::N(508), ParseType::N(275), ParseType::N(245), ParseType::N(215), ], }, - // 785 - ModuleForDeclarationOpt: Step AssignmentOperator Expression; + // 787 - ModuleForDeclarationOpt: Step AssignmentOperator Expression; Production { - lhs: 400, - production: &[ParseType::N(165), ParseType::N(42), ParseType::N(563)], + lhs: 401, + production: &[ParseType::N(165), ParseType::N(42), ParseType::N(564)], }, - // 786 - ModuleForDeclarationOpt: ; + // 788 - ModuleForDeclarationOpt: ; Production { - lhs: 400, + lhs: 401, production: &[], }, - // 787 - ModuleNamedBlock: Colon Identifier LBrace ModuleNamedBlockList /* Vec */ RBrace; + // 789 - ModuleNamedBlock: Colon Identifier LBrace ModuleNamedBlockList /* Vec */ RBrace; Production { - lhs: 409, + lhs: 410, production: &[ - ParseType::N(498), - ParseType::N(410), + ParseType::N(499), + ParseType::N(411), ParseType::N(350), ParseType::N(245), ParseType::N(88), ], }, - // 788 - ModuleNamedBlockList: ModuleGroup ModuleNamedBlockList; + // 790 - ModuleNamedBlockList: ModuleGroup ModuleNamedBlockList; Production { - lhs: 410, - production: &[ParseType::N(410), ParseType::N(401)], + lhs: 411, + production: &[ParseType::N(411), ParseType::N(402)], }, - // 789 - ModuleNamedBlockList: ; + // 791 - ModuleNamedBlockList: ; Production { - lhs: 410, + lhs: 411, production: &[], }, - // 790 - ModuleOptionalNamedBlock: ModuleOptionalNamedBlockOpt /* Option */ LBrace ModuleOptionalNamedBlockList /* Vec */ RBrace; + // 792 - ModuleOptionalNamedBlock: ModuleOptionalNamedBlockOpt /* Option */ LBrace ModuleOptionalNamedBlockList /* Vec */ RBrace; Production { - lhs: 411, + lhs: 412, production: &[ - ParseType::N(498), - ParseType::N(412), - ParseType::N(350), + ParseType::N(499), ParseType::N(413), + ParseType::N(350), + ParseType::N(414), ], }, - // 791 - ModuleOptionalNamedBlockList: ModuleGroup ModuleOptionalNamedBlockList; + // 793 - ModuleOptionalNamedBlockList: ModuleGroup ModuleOptionalNamedBlockList; Production { - lhs: 412, - production: &[ParseType::N(412), ParseType::N(401)], + lhs: 413, + production: &[ParseType::N(413), ParseType::N(402)], }, - // 792 - ModuleOptionalNamedBlockList: ; + // 794 - ModuleOptionalNamedBlockList: ; Production { - lhs: 412, + lhs: 413, production: &[], }, - // 793 - ModuleOptionalNamedBlockOpt: Colon Identifier; + // 795 - ModuleOptionalNamedBlockOpt: Colon Identifier; Production { - lhs: 413, + lhs: 414, production: &[ParseType::N(245), ParseType::N(88)], }, - // 794 - ModuleOptionalNamedBlockOpt: ; + // 796 - ModuleOptionalNamedBlockOpt: ; Production { - lhs: 413, + lhs: 414, production: &[], }, - // 795 - ModuleGroup: ModuleGroupList /* Vec */ ModuleGroupGroup; - Production { - lhs: 401, - production: &[ParseType::N(402), ParseType::N(404)], - }, - // 796 - ModuleGroupGroup: LBrace ModuleGroupGroupList /* Vec */ RBrace; + // 797 - ModuleGroup: ModuleGroupList /* Vec */ ModuleGroupGroup; Production { lhs: 402, - production: &[ParseType::N(498), ParseType::N(403), ParseType::N(350)], + production: &[ParseType::N(403), ParseType::N(405)], }, - // 797 - ModuleGroupGroupList: ModuleGroup ModuleGroupGroupList; + // 798 - ModuleGroupGroup: LBrace ModuleGroupGroupList /* Vec */ RBrace; Production { lhs: 403, - production: &[ParseType::N(403), ParseType::N(401)], + production: &[ParseType::N(499), ParseType::N(404), ParseType::N(350)], }, - // 798 - ModuleGroupGroupList: ; + // 799 - ModuleGroupGroupList: ModuleGroup ModuleGroupGroupList; Production { - lhs: 403, + lhs: 404, + production: &[ParseType::N(404), ParseType::N(402)], + }, + // 800 - ModuleGroupGroupList: ; + Production { + lhs: 404, production: &[], }, - // 799 - ModuleGroupGroup: ModuleItem; + // 801 - ModuleGroupGroup: ModuleItem; Production { - lhs: 402, - production: &[ParseType::N(408)], + lhs: 403, + production: &[ParseType::N(409)], }, - // 800 - ModuleGroupList: Attribute ModuleGroupList; + // 802 - ModuleGroupList: Attribute ModuleGroupList; Production { - lhs: 404, - production: &[ParseType::N(404), ParseType::N(45)], + lhs: 405, + production: &[ParseType::N(405), ParseType::N(45)], }, - // 801 - ModuleGroupList: ; + // 803 - ModuleGroupList: ; Production { - lhs: 404, + lhs: 405, production: &[], }, - // 802 - ModuleItem: LetDeclaration; + // 804 - ModuleItem: LetDeclaration; Production { - lhs: 408, + lhs: 409, production: &[ParseType::N(360)], }, - // 803 - ModuleItem: VarDeclaration; + // 805 - ModuleItem: VarDeclaration; Production { - lhs: 408, - production: &[ParseType::N(607)], + lhs: 409, + production: &[ParseType::N(608)], }, - // 804 - ModuleItem: InstDeclaration; + // 806 - ModuleItem: InstDeclaration; Production { - lhs: 408, + lhs: 409, production: &[ParseType::N(298)], }, - // 805 - ModuleItem: TypeDefDeclaration; + // 807 - ModuleItem: TypeDefDeclaration; Production { - lhs: 408, - production: &[ParseType::N(589)], + lhs: 409, + production: &[ParseType::N(590)], }, - // 806 - ModuleItem: LocalDeclaration; + // 808 - ModuleItem: LocalDeclaration; Production { - lhs: 408, + lhs: 409, production: &[ParseType::N(365)], }, - // 807 - ModuleItem: AlwaysFfDeclaration; + // 809 - ModuleItem: AlwaysFfDeclaration; Production { - lhs: 408, + lhs: 409, production: &[ParseType::N(12)], }, - // 808 - ModuleItem: AlwaysCombDeclaration; + // 810 - ModuleItem: AlwaysCombDeclaration; Production { - lhs: 408, + lhs: 409, production: &[ParseType::N(6)], }, - // 809 - ModuleItem: AssignDeclaration; + // 811 - ModuleItem: AssignDeclaration; Production { - lhs: 408, + lhs: 409, production: &[ParseType::N(37)], }, - // 810 - ModuleItem: FunctionDeclaration; + // 812 - ModuleItem: FunctionDeclaration; Production { - lhs: 408, + lhs: 409, production: &[ParseType::N(224)], }, - // 811 - ModuleItem: ModuleIfDeclaration; + // 813 - ModuleItem: ModuleIfDeclaration; Production { - lhs: 408, - production: &[ParseType::N(405)], + lhs: 409, + production: &[ParseType::N(406)], }, - // 812 - ModuleItem: ModuleForDeclaration; + // 814 - ModuleItem: ModuleForDeclaration; Production { - lhs: 408, - production: &[ParseType::N(399)], + lhs: 409, + production: &[ParseType::N(400)], }, - // 813 - ModuleItem: EnumDeclaration; + // 815 - ModuleItem: EnumDeclaration; Production { - lhs: 408, + lhs: 409, production: &[ParseType::N(142)], }, - // 814 - ModuleItem: StructUnionDeclaration; + // 816 - ModuleItem: StructUnionDeclaration; Production { - lhs: 408, - production: &[ParseType::N(576)], + lhs: 409, + production: &[ParseType::N(577)], }, - // 815 - ModuleItem: ModuleNamedBlock; + // 817 - ModuleItem: ModuleNamedBlock; Production { - lhs: 408, - production: &[ParseType::N(409)], + lhs: 409, + production: &[ParseType::N(410)], }, - // 816 - ModuleItem: ImportDeclaration; + // 818 - ModuleItem: ImportDeclaration; Production { - lhs: 408, + lhs: 409, production: &[ParseType::N(271)], }, - // 817 - ModuleItem: InitialDeclaration; + // 819 - ModuleItem: InitialDeclaration; Production { - lhs: 408, + lhs: 409, production: &[ParseType::N(283)], }, - // 818 - ModuleItem: FinalDeclaration; + // 820 - ModuleItem: FinalDeclaration; Production { - lhs: 408, + lhs: 409, production: &[ParseType::N(207)], }, - // 819 - InterfaceDeclaration: InterfaceDeclarationOpt /* Option */ Interface Identifier InterfaceDeclarationOpt0 /* Option */ InterfaceDeclarationOpt1 /* Option */ LBrace InterfaceDeclarationList /* Vec */ RBrace; + // 821 - InterfaceDeclaration: InterfaceDeclarationOpt /* Option */ Interface Identifier InterfaceDeclarationOpt0 /* Option */ InterfaceDeclarationOpt1 /* Option */ LBrace InterfaceDeclarationList /* Vec */ RBrace; Production { lhs: 325, production: &[ - ParseType::N(498), + ParseType::N(499), ParseType::N(326), ParseType::N(350), ParseType::N(329), @@ -21082,47 +21106,47 @@ pub const PRODUCTIONS: &[Production; 915] = &[ ParseType::N(327), ], }, - // 820 - InterfaceDeclarationList: InterfaceGroup InterfaceDeclarationList; + // 822 - InterfaceDeclarationList: InterfaceGroup InterfaceDeclarationList; Production { lhs: 326, production: &[ParseType::N(326), ParseType::N(332)], }, - // 821 - InterfaceDeclarationList: ; + // 823 - InterfaceDeclarationList: ; Production { lhs: 326, production: &[], }, - // 822 - InterfaceDeclarationOpt1: WithParameter; + // 824 - InterfaceDeclarationOpt1: WithParameter; Production { lhs: 329, - production: &[ParseType::N(629)], + production: &[ParseType::N(630)], }, - // 823 - InterfaceDeclarationOpt1: ; + // 825 - InterfaceDeclarationOpt1: ; Production { lhs: 329, production: &[], }, - // 824 - InterfaceDeclarationOpt0: WithGenericParameter; + // 826 - InterfaceDeclarationOpt0: WithGenericParameter; Production { lhs: 328, - production: &[ParseType::N(623)], + production: &[ParseType::N(624)], }, - // 825 - InterfaceDeclarationOpt0: ; + // 827 - InterfaceDeclarationOpt0: ; Production { lhs: 328, production: &[], }, - // 826 - InterfaceDeclarationOpt: Pub; + // 828 - InterfaceDeclarationOpt: Pub; Production { lhs: 327, - production: &[ParseType::N(489)], + production: &[ParseType::N(490)], }, - // 827 - InterfaceDeclarationOpt: ; + // 829 - InterfaceDeclarationOpt: ; Production { lhs: 327, production: &[], }, - // 828 - InterfaceIfDeclaration: If Expression InterfaceNamedBlock InterfaceIfDeclarationList /* Vec */ InterfaceIfDeclarationOpt /* Option */; + // 830 - InterfaceIfDeclaration: If Expression InterfaceNamedBlock InterfaceIfDeclarationList /* Vec */ InterfaceIfDeclarationOpt /* Option */; Production { lhs: 336, production: &[ @@ -21133,7 +21157,7 @@ pub const PRODUCTIONS: &[Production; 915] = &[ ParseType::N(250), ], }, - // 829 - InterfaceIfDeclarationList: Else If Expression InterfaceOptionalNamedBlock InterfaceIfDeclarationList; + // 831 - InterfaceIfDeclarationList: Else If Expression InterfaceOptionalNamedBlock InterfaceIfDeclarationList; Production { lhs: 337, production: &[ @@ -21144,353 +21168,353 @@ pub const PRODUCTIONS: &[Production; 915] = &[ ParseType::N(129), ], }, - // 830 - InterfaceIfDeclarationList: ; + // 832 - InterfaceIfDeclarationList: ; Production { lhs: 337, production: &[], }, - // 831 - InterfaceIfDeclarationOpt: Else InterfaceOptionalNamedBlock; + // 833 - InterfaceIfDeclarationOpt: Else InterfaceOptionalNamedBlock; Production { lhs: 338, production: &[ParseType::N(342), ParseType::N(129)], }, - // 832 - InterfaceIfDeclarationOpt: ; + // 834 - InterfaceIfDeclarationOpt: ; Production { lhs: 338, production: &[], }, - // 833 - InterfaceForDeclaration: For Identifier In Range InterfaceForDeclarationOpt /* Option */ InterfaceNamedBlock; + // 835 - InterfaceForDeclaration: For Identifier In Range InterfaceForDeclarationOpt /* Option */ InterfaceNamedBlock; Production { lhs: 330, production: &[ ParseType::N(340), ParseType::N(331), - ParseType::N(507), + ParseType::N(508), ParseType::N(275), ParseType::N(245), ParseType::N(215), ], }, - // 834 - InterfaceForDeclarationOpt: Step AssignmentOperator Expression; + // 836 - InterfaceForDeclarationOpt: Step AssignmentOperator Expression; Production { lhs: 331, - production: &[ParseType::N(165), ParseType::N(42), ParseType::N(563)], + production: &[ParseType::N(165), ParseType::N(42), ParseType::N(564)], }, - // 835 - InterfaceForDeclarationOpt: ; + // 837 - InterfaceForDeclarationOpt: ; Production { lhs: 331, production: &[], }, - // 836 - InterfaceNamedBlock: Colon Identifier LBrace InterfaceNamedBlockList /* Vec */ RBrace; + // 838 - InterfaceNamedBlock: Colon Identifier LBrace InterfaceNamedBlockList /* Vec */ RBrace; Production { lhs: 340, production: &[ - ParseType::N(498), + ParseType::N(499), ParseType::N(341), ParseType::N(350), ParseType::N(245), ParseType::N(88), ], }, - // 837 - InterfaceNamedBlockList: InterfaceGroup InterfaceNamedBlockList; + // 839 - InterfaceNamedBlockList: InterfaceGroup InterfaceNamedBlockList; Production { lhs: 341, production: &[ParseType::N(341), ParseType::N(332)], }, - // 838 - InterfaceNamedBlockList: ; + // 840 - InterfaceNamedBlockList: ; Production { lhs: 341, production: &[], }, - // 839 - InterfaceOptionalNamedBlock: InterfaceOptionalNamedBlockOpt /* Option */ LBrace InterfaceOptionalNamedBlockList /* Vec */ RBrace; + // 841 - InterfaceOptionalNamedBlock: InterfaceOptionalNamedBlockOpt /* Option */ LBrace InterfaceOptionalNamedBlockList /* Vec */ RBrace; Production { lhs: 342, production: &[ - ParseType::N(498), + ParseType::N(499), ParseType::N(343), ParseType::N(350), ParseType::N(344), ], }, - // 840 - InterfaceOptionalNamedBlockList: InterfaceGroup InterfaceOptionalNamedBlockList; + // 842 - InterfaceOptionalNamedBlockList: InterfaceGroup InterfaceOptionalNamedBlockList; Production { lhs: 343, production: &[ParseType::N(343), ParseType::N(332)], }, - // 841 - InterfaceOptionalNamedBlockList: ; + // 843 - InterfaceOptionalNamedBlockList: ; Production { lhs: 343, production: &[], }, - // 842 - InterfaceOptionalNamedBlockOpt: Colon Identifier; + // 844 - InterfaceOptionalNamedBlockOpt: Colon Identifier; Production { lhs: 344, production: &[ParseType::N(245), ParseType::N(88)], }, - // 843 - InterfaceOptionalNamedBlockOpt: ; + // 845 - InterfaceOptionalNamedBlockOpt: ; Production { lhs: 344, production: &[], }, - // 844 - InterfaceGroup: InterfaceGroupList /* Vec */ InterfaceGroupGroup; + // 846 - InterfaceGroup: InterfaceGroupList /* Vec */ InterfaceGroupGroup; Production { lhs: 332, production: &[ParseType::N(333), ParseType::N(335)], }, - // 845 - InterfaceGroupGroup: LBrace InterfaceGroupGroupList /* Vec */ RBrace; + // 847 - InterfaceGroupGroup: LBrace InterfaceGroupGroupList /* Vec */ RBrace; Production { lhs: 333, - production: &[ParseType::N(498), ParseType::N(334), ParseType::N(350)], + production: &[ParseType::N(499), ParseType::N(334), ParseType::N(350)], }, - // 846 - InterfaceGroupGroupList: InterfaceGroup InterfaceGroupGroupList; + // 848 - InterfaceGroupGroupList: InterfaceGroup InterfaceGroupGroupList; Production { lhs: 334, production: &[ParseType::N(334), ParseType::N(332)], }, - // 847 - InterfaceGroupGroupList: ; + // 849 - InterfaceGroupGroupList: ; Production { lhs: 334, production: &[], }, - // 848 - InterfaceGroupGroup: InterfaceItem; + // 850 - InterfaceGroupGroup: InterfaceItem; Production { lhs: 333, production: &[ParseType::N(339)], }, - // 849 - InterfaceGroupList: Attribute InterfaceGroupList; + // 851 - InterfaceGroupList: Attribute InterfaceGroupList; Production { lhs: 335, production: &[ParseType::N(335), ParseType::N(45)], }, - // 850 - InterfaceGroupList: ; + // 852 - InterfaceGroupList: ; Production { lhs: 335, production: &[], }, - // 851 - InterfaceItem: LetDeclaration; + // 853 - InterfaceItem: LetDeclaration; Production { lhs: 339, production: &[ParseType::N(360)], }, - // 852 - InterfaceItem: VarDeclaration; + // 854 - InterfaceItem: VarDeclaration; Production { lhs: 339, - production: &[ParseType::N(607)], + production: &[ParseType::N(608)], }, - // 853 - InterfaceItem: LocalDeclaration; + // 855 - InterfaceItem: LocalDeclaration; Production { lhs: 339, production: &[ParseType::N(365)], }, - // 854 - InterfaceItem: ModportDeclaration; + // 856 - InterfaceItem: ModportDeclaration; Production { lhs: 339, production: &[ParseType::N(382)], }, - // 855 - InterfaceItem: InterfaceIfDeclaration; + // 857 - InterfaceItem: InterfaceIfDeclaration; Production { lhs: 339, production: &[ParseType::N(336)], }, - // 856 - InterfaceItem: InterfaceForDeclaration; + // 858 - InterfaceItem: InterfaceForDeclaration; Production { lhs: 339, production: &[ParseType::N(330)], }, - // 857 - InterfaceItem: TypeDefDeclaration; + // 859 - InterfaceItem: TypeDefDeclaration; Production { lhs: 339, - production: &[ParseType::N(589)], + production: &[ParseType::N(590)], }, - // 858 - InterfaceItem: EnumDeclaration; + // 860 - InterfaceItem: EnumDeclaration; Production { lhs: 339, production: &[ParseType::N(142)], }, - // 859 - InterfaceItem: StructUnionDeclaration; + // 861 - InterfaceItem: StructUnionDeclaration; Production { lhs: 339, - production: &[ParseType::N(576)], + production: &[ParseType::N(577)], }, - // 860 - InterfaceItem: InterfaceNamedBlock; + // 862 - InterfaceItem: InterfaceNamedBlock; Production { lhs: 339, production: &[ParseType::N(340)], }, - // 861 - InterfaceItem: FunctionDeclaration; + // 863 - InterfaceItem: FunctionDeclaration; Production { lhs: 339, production: &[ParseType::N(224)], }, - // 862 - InterfaceItem: ImportDeclaration; + // 864 - InterfaceItem: ImportDeclaration; Production { lhs: 339, production: &[ParseType::N(271)], }, - // 863 - InterfaceItem: InitialDeclaration; + // 865 - InterfaceItem: InitialDeclaration; Production { lhs: 339, production: &[ParseType::N(283)], }, - // 864 - InterfaceItem: FinalDeclaration; + // 866 - InterfaceItem: FinalDeclaration; Production { lhs: 339, production: &[ParseType::N(207)], }, - // 865 - PackageDeclaration: PackageDeclarationOpt /* Option */ Package Identifier PackageDeclarationOpt0 /* Option */ LBrace PackageDeclarationList /* Vec */ RBrace; + // 867 - PackageDeclaration: PackageDeclarationOpt /* Option */ Package Identifier PackageDeclarationOpt0 /* Option */ LBrace PackageDeclarationList /* Vec */ RBrace; Production { - lhs: 461, + lhs: 462, production: &[ - ParseType::N(498), - ParseType::N(462), + ParseType::N(499), + ParseType::N(463), ParseType::N(350), - ParseType::N(464), + ParseType::N(465), ParseType::N(245), - ParseType::N(460), - ParseType::N(463), + ParseType::N(461), + ParseType::N(464), ], }, - // 866 - PackageDeclarationList: PackageGroup PackageDeclarationList; + // 868 - PackageDeclarationList: PackageGroup PackageDeclarationList; Production { - lhs: 462, - production: &[ParseType::N(462), ParseType::N(465)], + lhs: 463, + production: &[ParseType::N(463), ParseType::N(466)], }, - // 867 - PackageDeclarationList: ; + // 869 - PackageDeclarationList: ; Production { - lhs: 462, + lhs: 463, production: &[], }, - // 868 - PackageDeclarationOpt0: WithGenericParameter; + // 870 - PackageDeclarationOpt0: WithGenericParameter; Production { - lhs: 464, - production: &[ParseType::N(623)], + lhs: 465, + production: &[ParseType::N(624)], }, - // 869 - PackageDeclarationOpt0: ; + // 871 - PackageDeclarationOpt0: ; Production { - lhs: 464, + lhs: 465, production: &[], }, - // 870 - PackageDeclarationOpt: Pub; + // 872 - PackageDeclarationOpt: Pub; Production { - lhs: 463, - production: &[ParseType::N(489)], + lhs: 464, + production: &[ParseType::N(490)], }, - // 871 - PackageDeclarationOpt: ; + // 873 - PackageDeclarationOpt: ; Production { - lhs: 463, + lhs: 464, production: &[], }, - // 872 - PackageGroup: PackageGroupList /* Vec */ PackageGroupGroup; - Production { - lhs: 465, - production: &[ParseType::N(466), ParseType::N(468)], - }, - // 873 - PackageGroupGroup: LBrace PackageGroupGroupList /* Vec */ RBrace; + // 874 - PackageGroup: PackageGroupList /* Vec */ PackageGroupGroup; Production { lhs: 466, - production: &[ParseType::N(498), ParseType::N(467), ParseType::N(350)], + production: &[ParseType::N(467), ParseType::N(469)], }, - // 874 - PackageGroupGroupList: PackageGroup PackageGroupGroupList; + // 875 - PackageGroupGroup: LBrace PackageGroupGroupList /* Vec */ RBrace; Production { lhs: 467, - production: &[ParseType::N(467), ParseType::N(465)], + production: &[ParseType::N(499), ParseType::N(468), ParseType::N(350)], }, - // 875 - PackageGroupGroupList: ; + // 876 - PackageGroupGroupList: PackageGroup PackageGroupGroupList; Production { - lhs: 467, + lhs: 468, + production: &[ParseType::N(468), ParseType::N(466)], + }, + // 877 - PackageGroupGroupList: ; + Production { + lhs: 468, production: &[], }, - // 876 - PackageGroupGroup: PackageItem; + // 878 - PackageGroupGroup: PackageItem; Production { - lhs: 466, - production: &[ParseType::N(469)], + lhs: 467, + production: &[ParseType::N(470)], }, - // 877 - PackageGroupList: Attribute PackageGroupList; + // 879 - PackageGroupList: Attribute PackageGroupList; Production { - lhs: 468, - production: &[ParseType::N(468), ParseType::N(45)], + lhs: 469, + production: &[ParseType::N(469), ParseType::N(45)], }, - // 878 - PackageGroupList: ; + // 880 - PackageGroupList: ; Production { - lhs: 468, + lhs: 469, production: &[], }, - // 879 - PackageItem: VarDeclaration; + // 881 - PackageItem: VarDeclaration; Production { - lhs: 469, - production: &[ParseType::N(607)], + lhs: 470, + production: &[ParseType::N(608)], }, - // 880 - PackageItem: LocalDeclaration; + // 882 - PackageItem: LocalDeclaration; Production { - lhs: 469, + lhs: 470, production: &[ParseType::N(365)], }, - // 881 - PackageItem: TypeDefDeclaration; + // 883 - PackageItem: TypeDefDeclaration; Production { - lhs: 469, - production: &[ParseType::N(589)], + lhs: 470, + production: &[ParseType::N(590)], }, - // 882 - PackageItem: EnumDeclaration; + // 884 - PackageItem: EnumDeclaration; Production { - lhs: 469, + lhs: 470, production: &[ParseType::N(142)], }, - // 883 - PackageItem: StructUnionDeclaration; + // 885 - PackageItem: StructUnionDeclaration; Production { - lhs: 469, - production: &[ParseType::N(576)], + lhs: 470, + production: &[ParseType::N(577)], }, - // 884 - PackageItem: FunctionDeclaration; + // 886 - PackageItem: FunctionDeclaration; Production { - lhs: 469, + lhs: 470, production: &[ParseType::N(224)], }, - // 885 - PackageItem: ImportDeclaration; + // 887 - PackageItem: ImportDeclaration; Production { - lhs: 469, + lhs: 470, production: &[ParseType::N(271)], }, - // 886 - PackageItem: ExportDeclaration; + // 888 - PackageItem: ExportDeclaration; Production { - lhs: 469, + lhs: 470, production: &[ParseType::N(160)], }, - // 887 - PackageItem: InitialDeclaration; + // 889 - PackageItem: InitialDeclaration; Production { - lhs: 469, + lhs: 470, production: &[ParseType::N(283)], }, - // 888 - PackageItem: FinalDeclaration; + // 890 - PackageItem: FinalDeclaration; Production { - lhs: 469, + lhs: 470, production: &[ParseType::N(207)], }, - // 889 - EmbedDeclaration: Embed LParen Identifier RParen Identifier EmbedContent; + // 891 - EmbedDeclaration: Embed LParen Identifier RParen Identifier EmbedContent; Production { lhs: 136, production: &[ ParseType::N(133), ParseType::N(245), - ParseType::N(504), + ParseType::N(505), ParseType::N(245), ParseType::N(356), ParseType::N(132), ], }, - // 890 - EmbedContent: EmbedContentToken : crate::veryl_token::VerylToken ; + // 892 - EmbedContent: EmbedContentToken : crate::veryl_token::VerylToken ; Production { lhs: 133, production: &[ParseType::N(134)], }, - // 891 - EmbedContentToken: LBraceTerm Push(1) LBraceTerm LBraceTerm EmbedContentTokenList /* Vec */ RBraceTerm RBraceTerm RBraceTerm Pop Comments; + // 893 - EmbedContentToken: LBraceTerm Push(1) LBraceTerm LBraceTerm EmbedContentTokenList /* Vec */ RBraceTerm RBraceTerm RBraceTerm Pop Comments; Production { lhs: 134, production: &[ ParseType::N(100), ParseType::Pop, - ParseType::N(499), - ParseType::N(499), - ParseType::N(499), + ParseType::N(500), + ParseType::N(500), + ParseType::N(500), ParseType::N(135), ParseType::N(351), ParseType::N(351), @@ -21498,127 +21522,127 @@ pub const PRODUCTIONS: &[Production; 915] = &[ ParseType::N(351), ], }, - // 892 - EmbedContentTokenList: EmbedItem EmbedContentTokenList; + // 894 - EmbedContentTokenList: EmbedItem EmbedContentTokenList; Production { lhs: 135, production: &[ParseType::N(135), ParseType::N(137)], }, - // 893 - EmbedContentTokenList: ; + // 895 - EmbedContentTokenList: ; Production { lhs: 135, production: &[], }, - // 894 - EmbedItem: LBraceTerm EmbedItemList /* Vec */ RBraceTerm; + // 896 - EmbedItem: LBraceTerm EmbedItemList /* Vec */ RBraceTerm; Production { lhs: 137, - production: &[ParseType::N(499), ParseType::N(138), ParseType::N(351)], + production: &[ParseType::N(500), ParseType::N(138), ParseType::N(351)], }, - // 895 - EmbedItemList: EmbedItem EmbedItemList; + // 897 - EmbedItemList: EmbedItem EmbedItemList; Production { lhs: 138, production: &[ParseType::N(138), ParseType::N(137)], }, - // 896 - EmbedItemList: ; + // 898 - EmbedItemList: ; Production { lhs: 138, production: &[], }, - // 897 - EmbedItem: AnyTerm; + // 899 - EmbedItem: AnyTerm; Production { lhs: 137, production: &[ParseType::N(18)], }, - // 898 - IncludeDeclaration: Include LParen Identifier Comma StringLiteral RParen Semicolon; + // 900 - IncludeDeclaration: Include LParen Identifier Comma StringLiteral RParen Semicolon; Production { lhs: 279, production: &[ - ParseType::N(551), - ParseType::N(504), - ParseType::N(567), + ParseType::N(552), + ParseType::N(505), + ParseType::N(568), ParseType::N(97), ParseType::N(245), ParseType::N(356), ParseType::N(278), ], }, - // 899 - DescriptionGroup: DescriptionGroupList /* Vec */ DescriptionGroupGroup; + // 901 - DescriptionGroup: DescriptionGroupList /* Vec */ DescriptionGroupGroup; Production { lhs: 111, production: &[ParseType::N(112), ParseType::N(114)], }, - // 900 - DescriptionGroupGroup: LBrace DescriptionGroupGroupList /* Vec */ RBrace; + // 902 - DescriptionGroupGroup: LBrace DescriptionGroupGroupList /* Vec */ RBrace; Production { lhs: 112, - production: &[ParseType::N(498), ParseType::N(113), ParseType::N(350)], + production: &[ParseType::N(499), ParseType::N(113), ParseType::N(350)], }, - // 901 - DescriptionGroupGroupList: DescriptionGroup DescriptionGroupGroupList; + // 903 - DescriptionGroupGroupList: DescriptionGroup DescriptionGroupGroupList; Production { lhs: 113, production: &[ParseType::N(113), ParseType::N(111)], }, - // 902 - DescriptionGroupGroupList: ; + // 904 - DescriptionGroupGroupList: ; Production { lhs: 113, production: &[], }, - // 903 - DescriptionGroupGroup: DescriptionItem; + // 905 - DescriptionGroupGroup: DescriptionItem; Production { lhs: 112, production: &[ParseType::N(115)], }, - // 904 - DescriptionGroupList: Attribute DescriptionGroupList; + // 906 - DescriptionGroupList: Attribute DescriptionGroupList; Production { lhs: 114, production: &[ParseType::N(114), ParseType::N(45)], }, - // 905 - DescriptionGroupList: ; + // 907 - DescriptionGroupList: ; Production { lhs: 114, production: &[], }, - // 906 - DescriptionItem: ModuleDeclaration; + // 908 - DescriptionItem: ModuleDeclaration; Production { lhs: 115, - production: &[ParseType::N(393)], + production: &[ParseType::N(394)], }, - // 907 - DescriptionItem: InterfaceDeclaration; + // 909 - DescriptionItem: InterfaceDeclaration; Production { lhs: 115, production: &[ParseType::N(325)], }, - // 908 - DescriptionItem: PackageDeclaration; + // 910 - DescriptionItem: PackageDeclaration; Production { lhs: 115, - production: &[ParseType::N(461)], + production: &[ParseType::N(462)], }, - // 909 - DescriptionItem: ImportDeclaration; + // 911 - DescriptionItem: ImportDeclaration; Production { lhs: 115, production: &[ParseType::N(271)], }, - // 910 - DescriptionItem: EmbedDeclaration; + // 912 - DescriptionItem: EmbedDeclaration; Production { lhs: 115, production: &[ParseType::N(136)], }, - // 911 - DescriptionItem: IncludeDeclaration; + // 913 - DescriptionItem: IncludeDeclaration; Production { lhs: 115, production: &[ParseType::N(279)], }, - // 912 - Veryl: Start VerylList /* Vec */; + // 914 - Veryl: Start VerylList /* Vec */; Production { - lhs: 613, - production: &[ParseType::N(614), ParseType::N(560)], + lhs: 614, + production: &[ParseType::N(615), ParseType::N(561)], }, - // 913 - VerylList: DescriptionGroup VerylList; + // 915 - VerylList: DescriptionGroup VerylList; Production { - lhs: 614, - production: &[ParseType::N(614), ParseType::N(111)], + lhs: 615, + production: &[ParseType::N(615), ParseType::N(111)], }, - // 914 - VerylList: ; + // 916 - VerylList: ; Production { - lhs: 614, + lhs: 615, production: &[], }, ]; @@ -21652,7 +21676,7 @@ where T: AsRef, { let mut llk_parser = LLKParser::new( - 613, + 614, LOOKAHEAD_AUTOMATA, PRODUCTIONS, TERMINAL_NAMES, diff --git a/crates/parser/src/veryl_walker.rs b/crates/parser/src/veryl_walker.rs index 5bf0859dc..38fd1467b 100644 --- a/crates/parser/src/veryl_walker.rs +++ b/crates/parser/src/veryl_walker.rs @@ -1826,7 +1826,10 @@ pub trait VerylWalker { before!(self, modport_item, arg); self.identifier(&arg.identifier); self.colon(&arg.colon); - self.direction(&arg.direction); + match &*arg.modport_item_group { + ModportItemGroup::Direction(x) => self.direction(&x.direction), + ModportItemGroup::Import(x) => self.import(&x.import), + } after!(self, modport_item, arg); } diff --git a/crates/parser/veryl.par b/crates/parser/veryl.par index 5c3dab865..79fdb938f 100644 --- a/crates/parser/veryl.par +++ b/crates/parser/veryl.par @@ -587,7 +587,7 @@ ModportList: ModportGroup { Comma ModportGroup } [ Comma ]; ModportGroup: { Attribute } ( LBrace ModportList RBrace | ModportItem ); -ModportItem: Identifier Colon Direction; +ModportItem: Identifier Colon (Direction | Import); EnumDeclaration: Enum Identifier Colon ScalarType LBrace EnumList RBrace; diff --git a/testcases/sv/39_modport.sv b/testcases/sv/39_modport.sv index 508f0f965..6cac6067f 100644 --- a/testcases/sv/39_modport.sv +++ b/testcases/sv/39_modport.sv @@ -2,17 +2,24 @@ module veryl_testcase_Module39 ( veryl_testcase_Interface39.master mst, veryl_testcase_Interface39.slave slv ); - always_comb mst.a = slv.a; + logic a ; + always_comb mst.a = a; + always_comb a = slv.get_a(); endmodule interface veryl_testcase_Interface39; logic a; + function automatic logic get_a() ; + return a; + endfunction + modport master ( output a ); modport slave ( - input a + input a , + import get_a ); endinterface diff --git a/testcases/veryl/39_modport.veryl b/testcases/veryl/39_modport.veryl index 71ad8dea1..b69c59558 100644 --- a/testcases/veryl/39_modport.veryl +++ b/testcases/veryl/39_modport.veryl @@ -2,17 +2,24 @@ module Module39 ( mst: modport Interface39::master, slv: modport Interface39::slave , ) { - assign mst.a = slv.a; + var a : logic; + assign mst.a = a; + assign a = slv.get_a(); } interface Interface39 { var a: logic; + function get_a () -> logic { + return a; + } + modport master { a: output, } modport slave { - a: input, + a : input , + get_a: import, } }