diff --git a/crates/analyzer/src/analyzer_error.rs b/crates/analyzer/src/analyzer_error.rs index 3cbde026..dc908be1 100644 --- a/crates/analyzer/src/analyzer_error.rs +++ b/crates/analyzer/src/analyzer_error.rs @@ -227,6 +227,21 @@ pub enum AnalyzerError { error_location: SourceSpan, }, + #[diagnostic( + severity(Error), + code(missing_default_argument), + help("give default argument"), + url("") + )] + #[error("missing default argument for parameter {identifier}")] + MissingDefaultArgument { + identifier: String, + #[source_code] + input: NamedSource, + #[label("Error location")] + error_location: SourceSpan, + }, + #[diagnostic( severity(Error), code(mismatch_function_arity), @@ -840,6 +855,14 @@ impl AnalyzerError { } } + pub fn missing_default_argument(identifier: &str, source: &str, token: &TokenRange) -> Self { + AnalyzerError::MissingDefaultArgument { + identifier: identifier.into(), + input: AnalyzerError::named_source(source, token), + error_location: token.into(), + } + } + pub fn mismatch_function_arity( name: &str, arity: usize, diff --git a/crates/analyzer/src/handlers/create_reference.rs b/crates/analyzer/src/handlers/create_reference.rs index bb3586c4..b52bd165 100644 --- a/crates/analyzer/src/handlers/create_reference.rs +++ b/crates/analyzer/src/handlers/create_reference.rs @@ -1,12 +1,12 @@ use crate::analyzer_error::AnalyzerError; use crate::namespace::Namespace; use crate::namespace_table; -use crate::symbol::{DocComment, GenericInstanceProperty, Symbol, SymbolKind}; -use crate::symbol_path::{GenericSymbol, GenericSymbolPath, SymbolPath}; +use crate::symbol::SymbolKind; +use crate::symbol_path::{GenericSymbolPath, SymbolPath}; use crate::symbol_table::{self, ResolveError, ResolveErrorCause}; use veryl_parser::resource_table::TokenId; use veryl_parser::veryl_grammar_trait::*; -use veryl_parser::veryl_token::{Token, TokenRange}; +use veryl_parser::veryl_token::TokenRange; use veryl_parser::veryl_walker::{Handler, HandlerPoint}; use veryl_parser::ParolError; @@ -92,9 +92,7 @@ impl<'a> CreateReference<'a> { path.arguments.push(param.1.as_ref().unwrap().clone()); } - if let Some((token, new_symbol)) = - self.get_generic_instance(&symbol.found, &path) - { + if let Some((token, new_symbol)) = path.get_generic_instance(&symbol.found) { if let Some(ref x) = symbol_table::insert(&token, new_symbol) { symbol_table::add_generic_instance(symbol.found.id, *x); } @@ -119,29 +117,6 @@ impl<'a> CreateReference<'a> { } } } - - fn get_generic_instance(&self, base: &Symbol, path: &GenericSymbol) -> Option<(Token, Symbol)> { - if path.arguments.is_empty() { - None - } else { - let property = GenericInstanceProperty { - base: base.id, - arguments: path.arguments.clone(), - }; - let kind = SymbolKind::GenericInstance(property); - let token = &path.base; - let token = Token::new( - &path.mangled().to_string(), - token.line, - token.column, - token.length, - token.pos, - token.source, - ); - let symbol = Symbol::new(&token, kind, &base.namespace, false, DocComment::default()); - Some((token, symbol)) - } - } } impl<'a> Handler for CreateReference<'a> { diff --git a/crates/analyzer/src/handlers/create_symbol_table.rs b/crates/analyzer/src/handlers/create_symbol_table.rs index 6d1543a0..64a45a53 100644 --- a/crates/analyzer/src/handlers/create_symbol_table.rs +++ b/crates/analyzer/src/handlers/create_symbol_table.rs @@ -42,6 +42,7 @@ pub struct CreateSymbolTable<'a> { connect_targets: Vec>, connects: HashMap>>, generic_parameters: Vec, + needs_default_generic_argument: bool, generic_references: Vec, default_clock_candidates: Vec, defualt_reset_candidates: Vec, @@ -175,18 +176,6 @@ impl<'a> CreateSymbolTable<'a> { _ => false, } } - - fn push_generic_parameter_item( - &mut self, - item: &WithGenericParameterItem, - default_value: Option, - ) { - let property = GenericParameterProperty { default_value }; - let kind = SymbolKind::GenericParameter(property); - if let Some(id) = self.insert_symbol(&item.identifier.identifier_token.token, kind, false) { - self.generic_parameters.push(id); - } - } } impl<'a> Handler for CreateSymbolTable<'a> { @@ -622,11 +611,22 @@ impl<'a> VerylGrammarTrait for CreateSymbolTable<'a> { fn with_generic_parameter_list( &mut self, - arg: &WithGenericParameterList, + _arg: &WithGenericParameterList, + ) -> Result<(), ParolError> { + if let HandlerPoint::Before = self.point { + self.needs_default_generic_argument = false; + } + Ok(()) + } + + fn with_generic_parameter_item( + &mut self, + arg: &WithGenericParameterItem, ) -> Result<(), ParolError> { if let HandlerPoint::Before = self.point { let default_value: Option = - if let Some(x) = &arg.with_generic_parameter_list_opt { + if let Some(ref x) = arg.with_generic_parameter_item_opt { + self.needs_default_generic_argument = true; match &*x.with_generic_argument_item { WithGenericArgumentItem::ScopedIdentifier(x) => { Some(x.scoped_identifier.as_ref().into()) @@ -637,40 +637,20 @@ impl<'a> VerylGrammarTrait for CreateSymbolTable<'a> { None }; - if arg.with_generic_parameter_list_list.is_empty() { - self.push_generic_parameter_item( - &arg.with_generic_parameter_item, - default_value.clone(), - ); - } else { - self.push_generic_parameter_item(&arg.with_generic_parameter_item, None); - } - - for i in 0..arg.with_generic_parameter_list_list.len() { - if (i + 1) == arg.with_generic_parameter_list_list.len() { - self.push_generic_parameter_item( - &arg.with_generic_parameter_list_list[i].with_generic_parameter_item, - default_value.clone(), - ); - } else { - self.push_generic_parameter_item( - &arg.with_generic_parameter_list_list[i].with_generic_parameter_item, - None, - ); - } - } - - if let Some(x) = &arg.with_generic_parameter_list_opt { - for x in &x.with_generic_parameter_list_opt_list { - let default_value: Option = - match &*x.with_generic_argument_item { - WithGenericArgumentItem::ScopedIdentifier(x) => { - Some(x.scoped_identifier.as_ref().into()) - } - WithGenericArgumentItem::Number(x) => Some(x.number.as_ref().into()), - }; - self.push_generic_parameter_item(&x.with_generic_parameter_item, default_value); + if !self.needs_default_generic_argument || default_value.is_some() { + let property = GenericParameterProperty { default_value }; + let kind = SymbolKind::GenericParameter(property); + if let Some(id) = + self.insert_symbol(&arg.identifier.identifier_token.token, kind, false) + { + self.generic_parameters.push(id); } + } else { + self.errors.push(AnalyzerError::missing_default_argument( + &arg.identifier.identifier_token.token.to_string(), + self.text, + &arg.identifier.as_ref().into(), + )); } } Ok(()) diff --git a/crates/analyzer/src/namespace.rs b/crates/analyzer/src/namespace.rs index 4fa33885..76f182af 100644 --- a/crates/analyzer/src/namespace.rs +++ b/crates/analyzer/src/namespace.rs @@ -47,20 +47,6 @@ impl Namespace { } } - pub fn is_subset(&self, x: &Namespace) -> bool { - if self.paths.len() < x.paths.len() { - return false; - } else { - for (i, x) in x.paths.iter().enumerate() { - if self.paths[i] != *x { - return false; - } - } - } - - true - } - pub fn replace(&self, table: &HashMap) -> Self { let mut paths = Vec::new(); for x in &self.paths { diff --git a/crates/analyzer/src/symbol.rs b/crates/analyzer/src/symbol.rs index 67c966f2..46fc7628 100644 --- a/crates/analyzer/src/symbol.rs +++ b/crates/analyzer/src/symbol.rs @@ -183,50 +183,50 @@ impl Symbol { } pub fn generic_parameters(&self) -> Vec<(StrId, Option)> { + fn get_generic_parameter(id: SymbolId) -> (StrId, Option) { + let symbol = symbol_table::get(id).unwrap(); + if let SymbolKind::GenericParameter(x) = symbol.kind { + (symbol.token.text, x.default_value) + } else { + unreachable!() + } + } + match &self.kind { SymbolKind::Function(x) => x .generic_parameters .iter() - .map(|x| self.get_generic_parameter(*x)) + .map(|x| get_generic_parameter(*x)) .collect(), SymbolKind::Module(x) => x .generic_parameters .iter() - .map(|x| self.get_generic_parameter(*x)) + .map(|x| get_generic_parameter(*x)) .collect(), SymbolKind::Interface(x) => x .generic_parameters .iter() - .map(|x| self.get_generic_parameter(*x)) + .map(|x| get_generic_parameter(*x)) .collect(), SymbolKind::Package(x) => x .generic_parameters .iter() - .map(|x| self.get_generic_parameter(*x)) + .map(|x| get_generic_parameter(*x)) .collect(), SymbolKind::Struct(x) => x .generic_parameters .iter() - .map(|x| self.get_generic_parameter(*x)) + .map(|x| get_generic_parameter(*x)) .collect(), SymbolKind::Union(x) => x .generic_parameters .iter() - .map(|x| self.get_generic_parameter(*x)) + .map(|x| get_generic_parameter(*x)) .collect(), _ => Vec::new(), } } - fn get_generic_parameter(&self, id: SymbolId) -> (StrId, Option) { - let symbol = symbol_table::get(id).unwrap(); - if let SymbolKind::GenericParameter(x) = symbol.kind { - (symbol.token.text, x.default_value) - } else { - unreachable!() - } - } - pub fn generic_references(&self) -> Vec { match &self.kind { SymbolKind::Function(x) => x.generic_references.clone(), diff --git a/crates/analyzer/src/symbol_path.rs b/crates/analyzer/src/symbol_path.rs index 7c5924f3..e21bba75 100644 --- a/crates/analyzer/src/symbol_path.rs +++ b/crates/analyzer/src/symbol_path.rs @@ -1,6 +1,6 @@ use crate::namespace::Namespace; use crate::namespace_table; -use crate::symbol::SymbolKind; +use crate::symbol::{DocComment, GenericInstanceProperty, Symbol, SymbolKind}; use crate::symbol_table; use std::cmp::Ordering; use std::collections::HashMap; @@ -213,6 +213,29 @@ impl GenericSymbol { resource_table::insert_str(&text) } } + + pub fn get_generic_instance(&self, base: &Symbol) -> Option<(Token, Symbol)> { + if self.arguments.is_empty() { + None + } else { + let property = GenericInstanceProperty { + base: base.id, + arguments: self.arguments.clone(), + }; + let kind = SymbolKind::GenericInstance(property); + let token = &self.base; + let token = Token::new( + &self.mangled().to_string(), + token.line, + token.column, + token.length, + token.pos, + token.source, + ); + let symbol = Symbol::new(&token, kind, &base.namespace, false, DocComment::default()); + Some((token, symbol)) + } + } } impl GenericSymbolPath { diff --git a/crates/analyzer/src/tests.rs b/crates/analyzer/src/tests.rs index 996b450c..5abc7cd3 100644 --- a/crates/analyzer/src/tests.rs +++ b/crates/analyzer/src/tests.rs @@ -592,6 +592,60 @@ fn mismatch_function_arity() { )); } +#[test] +fn missing_default_generic_argument() { + let code = r#" + module ModuleA { + function FuncA:: () -> logic {} + let _a: logic = FuncA::<1>(); + + function FuncB:: () -> logic {} + let _b: logic = FuncB::<1, 2, 3>(); + + function FuncC:: () -> logic {} + let _c: logic = FuncC::<>(); + + function FuncD:: () -> logic {} + let _d: logic = FuncD::<>(); + + function FuncE:: () -> logic {} + let _e: logic = FuncE::<1>(); + + function FuncF:: () -> logic {} + let _f: logic = FuncF::<1, 2>(); + } + "#; + + let errors = analyze(code); + assert!(errors.is_empty()); + + let code = r#" + module ModuleB { + function FuncA:: () -> logic {} + let _a: logic = FuncA::<1, 2, 3> (); + } + "#; + + let errors = analyze(code); + assert!(matches!( + errors[0], + AnalyzerError::MissingDefaultArgument { .. } + )); + + let code = r#" + module ModuleC { + function FuncA:: () -> logic {} + let _a: logic = FuncA::<1, 2, 3>(); + } + "#; + + let errors = analyze(code); + assert!(matches!( + errors[0], + AnalyzerError::MissingDefaultArgument { .. } + )); +} + #[test] fn mismatch_generics_arity() { let code = r#" diff --git a/crates/emitter/src/emitter.rs b/crates/emitter/src/emitter.rs index c57b9c09..13c8c8f0 100644 --- a/crates/emitter/src/emitter.rs +++ b/crates/emitter/src/emitter.rs @@ -3122,7 +3122,7 @@ pub fn symbol_string(token: &VerylToken, symbol: &Symbol, context: &SymbolContex | SymbolKind::Union(_) | SymbolKind::TypeDef(_) | SymbolKind::Enum(_) => { - let visible = namespace.is_subset(&symbol.namespace) + let visible = namespace.included(&symbol.namespace) || symbol.imported.iter().any(|x| *x == namespace); if visible & !context.in_import { ret.push_str(&symbol.token.to_string()); @@ -3173,7 +3173,7 @@ pub fn symbol_string(token: &VerylToken, symbol: &Symbol, context: &SymbolContex //} SymbolKind::GenericInstance(x) => { let base = symbol_table::get(x.base).unwrap(); - let visible = namespace.is_subset(&base.namespace) + let visible = namespace.included(&base.namespace) || base.imported.iter().any(|x| *x == namespace); let top_level = matches!( base.kind, diff --git a/crates/formatter/src/formatter.rs b/crates/formatter/src/formatter.rs index c645a352..12cbd73e 100644 --- a/crates/formatter/src/formatter.rs +++ b/crates/formatter/src/formatter.rs @@ -1367,21 +1367,18 @@ impl VerylWalker for Formatter { self.with_generic_parameter_item(&x.with_generic_parameter_item); } if let Some(ref x) = arg.with_generic_parameter_list_opt { + self.comma(&x.comma); + } + } + + /// Semantic action for non-terminal 'WithGenericParameterItem' + fn with_generic_parameter_item(&mut self, arg: &WithGenericParameterItem) { + self.identifier(&arg.identifier); + if let Some(ref x) = arg.with_generic_parameter_item_opt { self.space(1); self.equ(&x.equ); self.space(1); self.with_generic_argument_item(&x.with_generic_argument_item); - for x in &x.with_generic_parameter_list_opt_list { - self.comma(&x.comma); - self.with_generic_argument_item(&x.with_generic_argument_item); - self.space(1); - self.equ(&x.equ); - self.space(1); - self.with_generic_argument_item(&x.with_generic_argument_item); - } - } - if let Some(ref x) = arg.with_generic_parameter_list_opt0 { - self.comma(&x.comma); } } diff --git a/crates/parser/src/generated/veryl-exp.par b/crates/parser/src/generated/veryl-exp.par index 109b86ea..7d9ac9c1 100644 --- a/crates/parser/src/generated/veryl-exp.par +++ b/crates/parser/src/generated/veryl-exp.par @@ -717,212 +717,210 @@ /* 705 */ WithParameterItemGroup: Param; /* 706 */ WithParameterItemGroup: Local; /* 707 */ WithGenericParameter: ColonColonLAngle WithGenericParameterList RAngle; -/* 708 */ WithGenericParameterList: WithGenericParameterItem WithGenericParameterListList /* Vec */ WithGenericParameterListOpt /* Option */ WithGenericParameterListOpt0 /* Option */; +/* 708 */ WithGenericParameterList: WithGenericParameterItem WithGenericParameterListList /* Vec */ WithGenericParameterListOpt /* Option */; /* 709 */ WithGenericParameterListList /* Vec::Push */: Comma WithGenericParameterItem WithGenericParameterListList; /* 710 */ WithGenericParameterListList /* Vec::New */: ; -/* 711 */ WithGenericParameterListOpt0 /* Option::Some */: Comma; -/* 712 */ WithGenericParameterListOpt0 /* Option::None */: ; -/* 713 */ WithGenericParameterListOpt /* Option::Some */: Equ WithGenericArgumentItem WithGenericParameterListOptList /* Vec */; -/* 714 */ WithGenericParameterListOptList /* Vec::Push */: Comma WithGenericParameterItem Equ WithGenericArgumentItem WithGenericParameterListOptList; -/* 715 */ WithGenericParameterListOptList /* Vec::New */: ; -/* 716 */ WithGenericParameterListOpt /* Option::None */: ; -/* 717 */ WithGenericParameterItem: Identifier; -/* 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(); -/* 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 */: ; +/* 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(); +/* 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 */: ; diff --git a/crates/parser/src/generated/veryl_grammar_trait.rs b/crates/parser/src/generated/veryl_grammar_trait.rs index 874d65b3..8bf50df6 100644 --- a/crates/parser/src/generated/veryl_grammar_trait.rs +++ b/crates/parser/src/generated/veryl_grammar_trait.rs @@ -3566,7 +3566,7 @@ pub struct WithParameterItemGroupLocal { } /// -/// Type derived for production 726 +/// Type derived for production 724 /// /// `WithGenericArgumentItem: ScopedIdentifier;` /// @@ -3578,7 +3578,7 @@ pub struct WithGenericArgumentItemScopedIdentifier { } /// -/// Type derived for production 727 +/// Type derived for production 725 /// /// `WithGenericArgumentItem: Number;` /// @@ -3590,7 +3590,7 @@ pub struct WithGenericArgumentItemNumber { } /// -/// Type derived for production 737 +/// Type derived for production 735 /// /// `PortDeclarationGroupGroup: LBrace PortDeclarationList RBrace;` /// @@ -3604,7 +3604,7 @@ pub struct PortDeclarationGroupGroupLBracePortDeclarationListRBrace { } /// -/// Type derived for production 738 +/// Type derived for production 736 /// /// `PortDeclarationGroupGroup: PortDeclarationItem;` /// @@ -3616,7 +3616,7 @@ pub struct PortDeclarationGroupGroupPortDeclarationItem { } /// -/// Type derived for production 742 +/// Type derived for production 740 /// /// `PortDeclarationItemGroup: Direction ArrayType;` /// @@ -3629,7 +3629,7 @@ pub struct PortDeclarationItemGroupDirectionArrayType { } /// -/// Type derived for production 743 +/// Type derived for production 741 /// /// `PortDeclarationItemGroup: Interface PortDeclarationItemOpt /* Option */;` /// @@ -3642,7 +3642,7 @@ pub struct PortDeclarationItemGroupInterfacePortDeclarationItemOpt { } /// -/// Type derived for production 746 +/// Type derived for production 744 /// /// `Direction: Input;` /// @@ -3654,7 +3654,7 @@ pub struct DirectionInput { } /// -/// Type derived for production 747 +/// Type derived for production 745 /// /// `Direction: Output;` /// @@ -3666,7 +3666,7 @@ pub struct DirectionOutput { } /// -/// Type derived for production 748 +/// Type derived for production 746 /// /// `Direction: Inout;` /// @@ -3678,7 +3678,7 @@ pub struct DirectionInout { } /// -/// Type derived for production 749 +/// Type derived for production 747 /// /// `Direction: Ref;` /// @@ -3690,7 +3690,7 @@ pub struct DirectionRef { } /// -/// Type derived for production 750 +/// Type derived for production 748 /// /// `Direction: Modport;` /// @@ -3702,7 +3702,7 @@ pub struct DirectionModport { } /// -/// Type derived for production 760 +/// Type derived for production 758 /// /// `FunctionItem: VarDeclaration;` /// @@ -3714,7 +3714,7 @@ pub struct FunctionItemVarDeclaration { } /// -/// Type derived for production 761 +/// Type derived for production 759 /// /// `FunctionItem: Statement;` /// @@ -3726,7 +3726,7 @@ pub struct FunctionItemStatement { } /// -/// Type derived for production 766 +/// Type derived for production 764 /// /// `ExportDeclarationGroup: Star;` /// @@ -3738,7 +3738,7 @@ pub struct ExportDeclarationGroupStar { } /// -/// Type derived for production 767 +/// Type derived for production 765 /// /// `ExportDeclarationGroup: ScopedIdentifier ExportDeclarationOpt /* Option */;` /// @@ -3751,7 +3751,7 @@ pub struct ExportDeclarationGroupScopedIdentifierExportDeclarationOpt { } /// -/// Type derived for production 798 +/// Type derived for production 796 /// /// `ModuleGroupGroup: LBrace ModuleGroupGroupList /* Vec */ RBrace;` /// @@ -3765,7 +3765,7 @@ pub struct ModuleGroupGroupLBraceModuleGroupGroupListRBrace { } /// -/// Type derived for production 801 +/// Type derived for production 799 /// /// `ModuleGroupGroup: ModuleItem;` /// @@ -3777,7 +3777,7 @@ pub struct ModuleGroupGroupModuleItem { } /// -/// Type derived for production 804 +/// Type derived for production 802 /// /// `ModuleItem: LetDeclaration;` /// @@ -3789,7 +3789,7 @@ pub struct ModuleItemLetDeclaration { } /// -/// Type derived for production 805 +/// Type derived for production 803 /// /// `ModuleItem: VarDeclaration;` /// @@ -3801,7 +3801,7 @@ pub struct ModuleItemVarDeclaration { } /// -/// Type derived for production 806 +/// Type derived for production 804 /// /// `ModuleItem: InstDeclaration;` /// @@ -3813,7 +3813,7 @@ pub struct ModuleItemInstDeclaration { } /// -/// Type derived for production 807 +/// Type derived for production 805 /// /// `ModuleItem: TypeDefDeclaration;` /// @@ -3825,7 +3825,7 @@ pub struct ModuleItemTypeDefDeclaration { } /// -/// Type derived for production 808 +/// Type derived for production 806 /// /// `ModuleItem: LocalDeclaration;` /// @@ -3837,7 +3837,7 @@ pub struct ModuleItemLocalDeclaration { } /// -/// Type derived for production 809 +/// Type derived for production 807 /// /// `ModuleItem: AlwaysFfDeclaration;` /// @@ -3849,7 +3849,7 @@ pub struct ModuleItemAlwaysFfDeclaration { } /// -/// Type derived for production 810 +/// Type derived for production 808 /// /// `ModuleItem: AlwaysCombDeclaration;` /// @@ -3861,7 +3861,7 @@ pub struct ModuleItemAlwaysCombDeclaration { } /// -/// Type derived for production 811 +/// Type derived for production 809 /// /// `ModuleItem: AssignDeclaration;` /// @@ -3873,7 +3873,7 @@ pub struct ModuleItemAssignDeclaration { } /// -/// Type derived for production 812 +/// Type derived for production 810 /// /// `ModuleItem: FunctionDeclaration;` /// @@ -3885,7 +3885,7 @@ pub struct ModuleItemFunctionDeclaration { } /// -/// Type derived for production 813 +/// Type derived for production 811 /// /// `ModuleItem: ModuleIfDeclaration;` /// @@ -3897,7 +3897,7 @@ pub struct ModuleItemModuleIfDeclaration { } /// -/// Type derived for production 814 +/// Type derived for production 812 /// /// `ModuleItem: ModuleForDeclaration;` /// @@ -3909,7 +3909,7 @@ pub struct ModuleItemModuleForDeclaration { } /// -/// Type derived for production 815 +/// Type derived for production 813 /// /// `ModuleItem: EnumDeclaration;` /// @@ -3921,7 +3921,7 @@ pub struct ModuleItemEnumDeclaration { } /// -/// Type derived for production 816 +/// Type derived for production 814 /// /// `ModuleItem: StructUnionDeclaration;` /// @@ -3933,7 +3933,7 @@ pub struct ModuleItemStructUnionDeclaration { } /// -/// Type derived for production 817 +/// Type derived for production 815 /// /// `ModuleItem: ModuleNamedBlock;` /// @@ -3945,7 +3945,7 @@ pub struct ModuleItemModuleNamedBlock { } /// -/// Type derived for production 818 +/// Type derived for production 816 /// /// `ModuleItem: ImportDeclaration;` /// @@ -3957,7 +3957,7 @@ pub struct ModuleItemImportDeclaration { } /// -/// Type derived for production 819 +/// Type derived for production 817 /// /// `ModuleItem: InitialDeclaration;` /// @@ -3969,7 +3969,7 @@ pub struct ModuleItemInitialDeclaration { } /// -/// Type derived for production 820 +/// Type derived for production 818 /// /// `ModuleItem: FinalDeclaration;` /// @@ -3981,7 +3981,7 @@ pub struct ModuleItemFinalDeclaration { } /// -/// Type derived for production 847 +/// Type derived for production 845 /// /// `InterfaceGroupGroup: LBrace InterfaceGroupGroupList /* Vec */ RBrace;` /// @@ -3995,7 +3995,7 @@ pub struct InterfaceGroupGroupLBraceInterfaceGroupGroupListRBrace { } /// -/// Type derived for production 850 +/// Type derived for production 848 /// /// `InterfaceGroupGroup: InterfaceItem;` /// @@ -4007,7 +4007,7 @@ pub struct InterfaceGroupGroupInterfaceItem { } /// -/// Type derived for production 853 +/// Type derived for production 851 /// /// `InterfaceItem: LetDeclaration;` /// @@ -4019,7 +4019,7 @@ pub struct InterfaceItemLetDeclaration { } /// -/// Type derived for production 854 +/// Type derived for production 852 /// /// `InterfaceItem: VarDeclaration;` /// @@ -4031,7 +4031,7 @@ pub struct InterfaceItemVarDeclaration { } /// -/// Type derived for production 855 +/// Type derived for production 853 /// /// `InterfaceItem: LocalDeclaration;` /// @@ -4043,7 +4043,7 @@ pub struct InterfaceItemLocalDeclaration { } /// -/// Type derived for production 856 +/// Type derived for production 854 /// /// `InterfaceItem: ModportDeclaration;` /// @@ -4055,7 +4055,7 @@ pub struct InterfaceItemModportDeclaration { } /// -/// Type derived for production 857 +/// Type derived for production 855 /// /// `InterfaceItem: InterfaceIfDeclaration;` /// @@ -4067,7 +4067,7 @@ pub struct InterfaceItemInterfaceIfDeclaration { } /// -/// Type derived for production 858 +/// Type derived for production 856 /// /// `InterfaceItem: InterfaceForDeclaration;` /// @@ -4079,7 +4079,7 @@ pub struct InterfaceItemInterfaceForDeclaration { } /// -/// Type derived for production 859 +/// Type derived for production 857 /// /// `InterfaceItem: TypeDefDeclaration;` /// @@ -4091,7 +4091,7 @@ pub struct InterfaceItemTypeDefDeclaration { } /// -/// Type derived for production 860 +/// Type derived for production 858 /// /// `InterfaceItem: EnumDeclaration;` /// @@ -4103,7 +4103,7 @@ pub struct InterfaceItemEnumDeclaration { } /// -/// Type derived for production 861 +/// Type derived for production 859 /// /// `InterfaceItem: StructUnionDeclaration;` /// @@ -4115,7 +4115,7 @@ pub struct InterfaceItemStructUnionDeclaration { } /// -/// Type derived for production 862 +/// Type derived for production 860 /// /// `InterfaceItem: InterfaceNamedBlock;` /// @@ -4127,7 +4127,7 @@ pub struct InterfaceItemInterfaceNamedBlock { } /// -/// Type derived for production 863 +/// Type derived for production 861 /// /// `InterfaceItem: FunctionDeclaration;` /// @@ -4139,7 +4139,7 @@ pub struct InterfaceItemFunctionDeclaration { } /// -/// Type derived for production 864 +/// Type derived for production 862 /// /// `InterfaceItem: ImportDeclaration;` /// @@ -4151,7 +4151,7 @@ pub struct InterfaceItemImportDeclaration { } /// -/// Type derived for production 865 +/// Type derived for production 863 /// /// `InterfaceItem: InitialDeclaration;` /// @@ -4163,7 +4163,7 @@ pub struct InterfaceItemInitialDeclaration { } /// -/// Type derived for production 866 +/// Type derived for production 864 /// /// `InterfaceItem: FinalDeclaration;` /// @@ -4175,7 +4175,7 @@ pub struct InterfaceItemFinalDeclaration { } /// -/// Type derived for production 875 +/// Type derived for production 873 /// /// `PackageGroupGroup: LBrace PackageGroupGroupList /* Vec */ RBrace;` /// @@ -4189,7 +4189,7 @@ pub struct PackageGroupGroupLBracePackageGroupGroupListRBrace { } /// -/// Type derived for production 878 +/// Type derived for production 876 /// /// `PackageGroupGroup: PackageItem;` /// @@ -4201,7 +4201,7 @@ pub struct PackageGroupGroupPackageItem { } /// -/// Type derived for production 881 +/// Type derived for production 879 /// /// `PackageItem: VarDeclaration;` /// @@ -4213,7 +4213,7 @@ pub struct PackageItemVarDeclaration { } /// -/// Type derived for production 882 +/// Type derived for production 880 /// /// `PackageItem: LocalDeclaration;` /// @@ -4225,7 +4225,7 @@ pub struct PackageItemLocalDeclaration { } /// -/// Type derived for production 883 +/// Type derived for production 881 /// /// `PackageItem: TypeDefDeclaration;` /// @@ -4237,7 +4237,7 @@ pub struct PackageItemTypeDefDeclaration { } /// -/// Type derived for production 884 +/// Type derived for production 882 /// /// `PackageItem: EnumDeclaration;` /// @@ -4249,7 +4249,7 @@ pub struct PackageItemEnumDeclaration { } /// -/// Type derived for production 885 +/// Type derived for production 883 /// /// `PackageItem: StructUnionDeclaration;` /// @@ -4261,7 +4261,7 @@ pub struct PackageItemStructUnionDeclaration { } /// -/// Type derived for production 886 +/// Type derived for production 884 /// /// `PackageItem: FunctionDeclaration;` /// @@ -4273,7 +4273,7 @@ pub struct PackageItemFunctionDeclaration { } /// -/// Type derived for production 887 +/// Type derived for production 885 /// /// `PackageItem: ImportDeclaration;` /// @@ -4285,7 +4285,7 @@ pub struct PackageItemImportDeclaration { } /// -/// Type derived for production 888 +/// Type derived for production 886 /// /// `PackageItem: ExportDeclaration;` /// @@ -4297,7 +4297,7 @@ pub struct PackageItemExportDeclaration { } /// -/// Type derived for production 889 +/// Type derived for production 887 /// /// `PackageItem: InitialDeclaration;` /// @@ -4309,7 +4309,7 @@ pub struct PackageItemInitialDeclaration { } /// -/// Type derived for production 890 +/// Type derived for production 888 /// /// `PackageItem: FinalDeclaration;` /// @@ -4321,7 +4321,7 @@ pub struct PackageItemFinalDeclaration { } /// -/// Type derived for production 896 +/// Type derived for production 894 /// /// `EmbedItem: LBraceTerm EmbedItemList /* Vec */ RBraceTerm;` /// @@ -4335,7 +4335,7 @@ pub struct EmbedItemLBraceTermEmbedItemListRBraceTerm { } /// -/// Type derived for production 899 +/// Type derived for production 897 /// /// `EmbedItem: AnyTerm;` /// @@ -4347,7 +4347,7 @@ pub struct EmbedItemAnyTerm { } /// -/// Type derived for production 902 +/// Type derived for production 900 /// /// `DescriptionGroupGroup: LBrace DescriptionGroupGroupList /* Vec */ RBrace;` /// @@ -4361,7 +4361,7 @@ pub struct DescriptionGroupGroupLBraceDescriptionGroupGroupListRBrace { } /// -/// Type derived for production 905 +/// Type derived for production 903 /// /// `DescriptionGroupGroup: DescriptionItem;` /// @@ -4373,7 +4373,7 @@ pub struct DescriptionGroupGroupDescriptionItem { } /// -/// Type derived for production 908 +/// Type derived for production 906 /// /// `DescriptionItem: ModuleDeclaration;` /// @@ -4385,7 +4385,7 @@ pub struct DescriptionItemModuleDeclaration { } /// -/// Type derived for production 909 +/// Type derived for production 907 /// /// `DescriptionItem: InterfaceDeclaration;` /// @@ -4397,7 +4397,7 @@ pub struct DescriptionItemInterfaceDeclaration { } /// -/// Type derived for production 910 +/// Type derived for production 908 /// /// `DescriptionItem: PackageDeclaration;` /// @@ -4409,7 +4409,7 @@ pub struct DescriptionItemPackageDeclaration { } /// -/// Type derived for production 911 +/// Type derived for production 909 /// /// `DescriptionItem: ImportDeclaration;` /// @@ -4421,7 +4421,7 @@ pub struct DescriptionItemImportDeclaration { } /// -/// Type derived for production 912 +/// Type derived for production 910 /// /// `DescriptionItem: EmbedDeclaration;` /// @@ -4433,7 +4433,7 @@ pub struct DescriptionItemEmbedDeclaration { } /// -/// Type derived for production 913 +/// Type derived for production 911 /// /// `DescriptionItem: IncludeDeclaration;` /// @@ -11277,6 +11277,18 @@ pub struct WithGenericParameter { #[builder(crate = "parol_runtime::derive_builder")] pub struct WithGenericParameterItem { pub identifier: Box, + pub with_generic_parameter_item_opt: Option, +} + +/// +/// Type derived for non-terminal WithGenericParameterItemOpt +/// +#[allow(dead_code)] +#[derive(Builder, Debug, Clone)] +#[builder(crate = "parol_runtime::derive_builder")] +pub struct WithGenericParameterItemOpt { + pub equ: Box, + pub with_generic_argument_item: Box, } /// @@ -11289,7 +11301,6 @@ pub struct WithGenericParameterList { pub with_generic_parameter_item: Box, pub with_generic_parameter_list_list: Vec, pub with_generic_parameter_list_opt: Option, - pub with_generic_parameter_list_opt0: Option, } /// @@ -11310,32 +11321,7 @@ pub struct WithGenericParameterListList { #[derive(Builder, Debug, Clone)] #[builder(crate = "parol_runtime::derive_builder")] pub struct WithGenericParameterListOpt { - pub equ: Box, - pub with_generic_argument_item: Box, - pub with_generic_parameter_list_opt_list: Vec, -} - -/// -/// Type derived for non-terminal WithGenericParameterListOpt0 -/// -#[allow(dead_code)] -#[derive(Builder, Debug, Clone)] -#[builder(crate = "parol_runtime::derive_builder")] -pub struct WithGenericParameterListOpt0 { - pub comma: Box, -} - -/// -/// Type derived for non-terminal WithGenericParameterListOptList -/// -#[allow(dead_code)] -#[derive(Builder, Debug, Clone)] -#[builder(crate = "parol_runtime::derive_builder")] -pub struct WithGenericParameterListOptList { pub comma: Box, - pub with_generic_parameter_item: Box, - pub equ: Box, - pub with_generic_argument_item: Box, } /// @@ -12091,11 +12077,10 @@ pub enum ASTType { WithGenericArgumentOpt(Option), WithGenericParameter(WithGenericParameter), WithGenericParameterItem(WithGenericParameterItem), + WithGenericParameterItemOpt(Option), WithGenericParameterList(WithGenericParameterList), WithGenericParameterListList(Vec), WithGenericParameterListOpt(Option), - WithGenericParameterListOpt0(Option), - WithGenericParameterListOptList(Vec), WithParameter(WithParameter), WithParameterGroup(WithParameterGroup), WithParameterGroupGroup(WithParameterGroupGroup), @@ -28205,7 +28190,7 @@ impl<'t, 'u> VerylGrammarAuto<'t, 'u> { /// Semantic action for production 708: /// - /// `WithGenericParameterList: WithGenericParameterItem WithGenericParameterListList /* Vec */ WithGenericParameterListOpt /* Option */ WithGenericParameterListOpt0 /* Option */;` + /// `WithGenericParameterList: WithGenericParameterItem WithGenericParameterListList /* Vec */ WithGenericParameterListOpt /* Option */;` /// #[parol_runtime::function_name::named] fn with_generic_parameter_list( @@ -28213,16 +28198,9 @@ impl<'t, 'u> VerylGrammarAuto<'t, 'u> { _with_generic_parameter_item: &ParseTreeType<'t>, _with_generic_parameter_list_list: &ParseTreeType<'t>, _with_generic_parameter_list_opt: &ParseTreeType<'t>, - _with_generic_parameter_list_opt0: &ParseTreeType<'t>, ) -> Result<()> { let context = function_name!(); trace!("{}", self.trace_item_stack(context)); - let with_generic_parameter_list_opt0 = pop_item!( - self, - with_generic_parameter_list_opt0, - WithGenericParameterListOpt0, - context - ); let with_generic_parameter_list_opt = pop_item!( self, with_generic_parameter_list_opt, @@ -28245,7 +28223,6 @@ impl<'t, 'u> VerylGrammarAuto<'t, 'u> { with_generic_parameter_item: Box::new(with_generic_parameter_item), with_generic_parameter_list_list, with_generic_parameter_list_opt, - with_generic_parameter_list_opt0, }; // Calling user action here self.user_grammar @@ -28314,18 +28291,18 @@ impl<'t, 'u> VerylGrammarAuto<'t, 'u> { /// Semantic action for production 711: /// - /// `WithGenericParameterListOpt0 /* Option::Some */: Comma;` + /// `WithGenericParameterListOpt /* Option::Some */: Comma;` /// #[parol_runtime::function_name::named] - fn with_generic_parameter_list_opt0_0(&mut self, _comma: &ParseTreeType<'t>) -> Result<()> { + fn with_generic_parameter_list_opt_0(&mut self, _comma: &ParseTreeType<'t>) -> Result<()> { let context = function_name!(); trace!("{}", self.trace_item_stack(context)); let comma = pop_item!(self, comma, Comma, context); - let with_generic_parameter_list_opt0_0_built = WithGenericParameterListOpt0 { + let with_generic_parameter_list_opt_0_built = WithGenericParameterListOpt { comma: Box::new(comma), }; self.push( - ASTType::WithGenericParameterListOpt0(Some(with_generic_parameter_list_opt0_0_built)), + ASTType::WithGenericParameterListOpt(Some(with_generic_parameter_list_opt_0_built)), context, ); Ok(()) @@ -28333,49 +28310,44 @@ impl<'t, 'u> VerylGrammarAuto<'t, 'u> { /// Semantic action for production 712: /// - /// `WithGenericParameterListOpt0 /* Option::None */: ;` + /// `WithGenericParameterListOpt /* Option::None */: ;` /// #[parol_runtime::function_name::named] - fn with_generic_parameter_list_opt0_1(&mut self) -> Result<()> { + fn with_generic_parameter_list_opt_1(&mut self) -> Result<()> { let context = function_name!(); trace!("{}", self.trace_item_stack(context)); - self.push(ASTType::WithGenericParameterListOpt0(None), context); + self.push(ASTType::WithGenericParameterListOpt(None), context); Ok(()) } /// Semantic action for production 713: /// - /// `WithGenericParameterListOpt /* Option::Some */: Equ WithGenericArgumentItem WithGenericParameterListOptList /* Vec */;` + /// `WithGenericParameterItem: Identifier WithGenericParameterItemOpt /* Option */;` /// #[parol_runtime::function_name::named] - fn with_generic_parameter_list_opt_0( + fn with_generic_parameter_item( &mut self, - _equ: &ParseTreeType<'t>, - _with_generic_argument_item: &ParseTreeType<'t>, - _with_generic_parameter_list_opt_list: &ParseTreeType<'t>, + _identifier: &ParseTreeType<'t>, + _with_generic_parameter_item_opt: &ParseTreeType<'t>, ) -> Result<()> { let context = function_name!(); trace!("{}", self.trace_item_stack(context)); - let with_generic_parameter_list_opt_list = pop_and_reverse_item!( - self, - with_generic_parameter_list_opt_list, - WithGenericParameterListOptList, - context - ); - let with_generic_argument_item = pop_item!( + let with_generic_parameter_item_opt = pop_item!( self, - with_generic_argument_item, - WithGenericArgumentItem, + with_generic_parameter_item_opt, + WithGenericParameterItemOpt, context ); - let equ = pop_item!(self, equ, Equ, context); - let with_generic_parameter_list_opt_0_built = WithGenericParameterListOpt { - equ: Box::new(equ), - with_generic_argument_item: Box::new(with_generic_argument_item), - with_generic_parameter_list_opt_list, + let identifier = pop_item!(self, identifier, Identifier, context); + let with_generic_parameter_item_built = WithGenericParameterItem { + identifier: Box::new(identifier), + with_generic_parameter_item_opt, }; + // Calling user action here + self.user_grammar + .with_generic_parameter_item(&with_generic_parameter_item_built)?; self.push( - ASTType::WithGenericParameterListOpt(Some(with_generic_parameter_list_opt_0_built)), + ASTType::WithGenericParameterItem(with_generic_parameter_item_built), context, ); Ok(()) @@ -28383,25 +28355,16 @@ impl<'t, 'u> VerylGrammarAuto<'t, 'u> { /// Semantic action for production 714: /// - /// `WithGenericParameterListOptList /* Vec::Push */: Comma WithGenericParameterItem Equ WithGenericArgumentItem WithGenericParameterListOptList;` + /// `WithGenericParameterItemOpt /* Option::Some */: Equ WithGenericArgumentItem;` /// #[parol_runtime::function_name::named] - fn with_generic_parameter_list_opt_list_0( + fn with_generic_parameter_item_opt_0( &mut self, - _comma: &ParseTreeType<'t>, - _with_generic_parameter_item: &ParseTreeType<'t>, _equ: &ParseTreeType<'t>, _with_generic_argument_item: &ParseTreeType<'t>, - _with_generic_parameter_list_opt_list: &ParseTreeType<'t>, ) -> Result<()> { let context = function_name!(); trace!("{}", self.trace_item_stack(context)); - let mut with_generic_parameter_list_opt_list = pop_item!( - self, - with_generic_parameter_list_opt_list, - WithGenericParameterListOptList, - context - ); let with_generic_argument_item = pop_item!( self, with_generic_argument_item, @@ -28409,23 +28372,12 @@ impl<'t, 'u> VerylGrammarAuto<'t, 'u> { context ); let equ = pop_item!(self, equ, Equ, context); - let with_generic_parameter_item = pop_item!( - self, - with_generic_parameter_item, - WithGenericParameterItem, - context - ); - let comma = pop_item!(self, comma, Comma, context); - let with_generic_parameter_list_opt_list_0_built = WithGenericParameterListOptList { - with_generic_argument_item: Box::new(with_generic_argument_item), + let with_generic_parameter_item_opt_0_built = WithGenericParameterItemOpt { equ: Box::new(equ), - with_generic_parameter_item: Box::new(with_generic_parameter_item), - comma: Box::new(comma), + with_generic_argument_item: Box::new(with_generic_argument_item), }; - // Add an element to the vector - with_generic_parameter_list_opt_list.push(with_generic_parameter_list_opt_list_0_built); self.push( - ASTType::WithGenericParameterListOptList(with_generic_parameter_list_opt_list), + ASTType::WithGenericParameterItemOpt(Some(with_generic_parameter_item_opt_0_built)), context, ); Ok(()) @@ -28433,56 +28385,18 @@ impl<'t, 'u> VerylGrammarAuto<'t, 'u> { /// Semantic action for production 715: /// - /// `WithGenericParameterListOptList /* Vec::New */: ;` + /// `WithGenericParameterItemOpt /* Option::None */: ;` /// #[parol_runtime::function_name::named] - fn with_generic_parameter_list_opt_list_1(&mut self) -> Result<()> { + fn with_generic_parameter_item_opt_1(&mut self) -> Result<()> { let context = function_name!(); trace!("{}", self.trace_item_stack(context)); - let with_generic_parameter_list_opt_list_1_built = Vec::new(); - self.push( - ASTType::WithGenericParameterListOptList(with_generic_parameter_list_opt_list_1_built), - context, - ); + self.push(ASTType::WithGenericParameterItemOpt(None), context); Ok(()) } /// Semantic action for production 716: /// - /// `WithGenericParameterListOpt /* Option::None */: ;` - /// - #[parol_runtime::function_name::named] - fn with_generic_parameter_list_opt_1(&mut self) -> Result<()> { - let context = function_name!(); - trace!("{}", self.trace_item_stack(context)); - self.push(ASTType::WithGenericParameterListOpt(None), context); - Ok(()) - } - - /// Semantic action for production 717: - /// - /// `WithGenericParameterItem: Identifier;` - /// - #[parol_runtime::function_name::named] - fn with_generic_parameter_item(&mut self, _identifier: &ParseTreeType<'t>) -> Result<()> { - let context = function_name!(); - trace!("{}", self.trace_item_stack(context)); - let identifier = pop_item!(self, identifier, Identifier, context); - let with_generic_parameter_item_built = WithGenericParameterItem { - identifier: Box::new(identifier), - }; - // Calling user action here - self.user_grammar - .with_generic_parameter_item(&with_generic_parameter_item_built)?; - self.push( - ASTType::WithGenericParameterItem(with_generic_parameter_item_built), - context, - ); - Ok(()) - } - - /// Semantic action for production 718: - /// /// `WithGenericArgument: ColonColonLAngle %push(Generic) WithGenericArgumentOpt /* Option */ RAngle %pop();` /// #[parol_runtime::function_name::named] @@ -28517,7 +28431,7 @@ impl<'t, 'u> VerylGrammarAuto<'t, 'u> { Ok(()) } - /// Semantic action for production 719: + /// Semantic action for production 717: /// /// `WithGenericArgumentOpt /* Option::Some */: WithGenericArgumentList;` /// @@ -28544,7 +28458,7 @@ impl<'t, 'u> VerylGrammarAuto<'t, 'u> { Ok(()) } - /// Semantic action for production 720: + /// Semantic action for production 718: /// /// `WithGenericArgumentOpt /* Option::None */: ;` /// @@ -28556,7 +28470,7 @@ impl<'t, 'u> VerylGrammarAuto<'t, 'u> { Ok(()) } - /// Semantic action for production 721: + /// Semantic action for production 719: /// /// `WithGenericArgumentList: WithGenericArgumentItem WithGenericArgumentListList /* Vec */ WithGenericArgumentListOpt /* Option */;` /// @@ -28602,7 +28516,7 @@ impl<'t, 'u> VerylGrammarAuto<'t, 'u> { Ok(()) } - /// Semantic action for production 722: + /// Semantic action for production 720: /// /// `WithGenericArgumentListList /* Vec::Push */: Comma WithGenericArgumentItem WithGenericArgumentListList;` /// @@ -28641,7 +28555,7 @@ impl<'t, 'u> VerylGrammarAuto<'t, 'u> { Ok(()) } - /// Semantic action for production 723: + /// Semantic action for production 721: /// /// `WithGenericArgumentListList /* Vec::New */: ;` /// @@ -28657,7 +28571,7 @@ impl<'t, 'u> VerylGrammarAuto<'t, 'u> { Ok(()) } - /// Semantic action for production 724: + /// Semantic action for production 722: /// /// `WithGenericArgumentListOpt /* Option::Some */: Comma;` /// @@ -28676,7 +28590,7 @@ impl<'t, 'u> VerylGrammarAuto<'t, 'u> { Ok(()) } - /// Semantic action for production 725: + /// Semantic action for production 723: /// /// `WithGenericArgumentListOpt /* Option::None */: ;` /// @@ -28688,7 +28602,7 @@ impl<'t, 'u> VerylGrammarAuto<'t, 'u> { Ok(()) } - /// Semantic action for production 726: + /// Semantic action for production 724: /// /// `WithGenericArgumentItem: ScopedIdentifier;` /// @@ -28715,7 +28629,7 @@ impl<'t, 'u> VerylGrammarAuto<'t, 'u> { Ok(()) } - /// Semantic action for production 727: + /// Semantic action for production 725: /// /// `WithGenericArgumentItem: Number;` /// @@ -28739,7 +28653,7 @@ impl<'t, 'u> VerylGrammarAuto<'t, 'u> { Ok(()) } - /// Semantic action for production 728: + /// Semantic action for production 726: /// /// `PortDeclaration: LParen PortDeclarationOpt /* Option */ RParen;` /// @@ -28768,7 +28682,7 @@ impl<'t, 'u> VerylGrammarAuto<'t, 'u> { Ok(()) } - /// Semantic action for production 729: + /// Semantic action for production 727: /// /// `PortDeclarationOpt /* Option::Some */: PortDeclarationList;` /// @@ -28788,7 +28702,7 @@ impl<'t, 'u> VerylGrammarAuto<'t, 'u> { Ok(()) } - /// Semantic action for production 730: + /// Semantic action for production 728: /// /// `PortDeclarationOpt /* Option::None */: ;` /// @@ -28800,7 +28714,7 @@ impl<'t, 'u> VerylGrammarAuto<'t, 'u> { Ok(()) } - /// Semantic action for production 731: + /// Semantic action for production 729: /// /// `PortDeclarationList: PortDeclarationGroup PortDeclarationListList /* Vec */ PortDeclarationListOpt /* Option */;` /// @@ -28842,7 +28756,7 @@ impl<'t, 'u> VerylGrammarAuto<'t, 'u> { Ok(()) } - /// Semantic action for production 732: + /// Semantic action for production 730: /// /// `PortDeclarationListList /* Vec::Push */: Comma PortDeclarationGroup PortDeclarationListList;` /// @@ -28877,7 +28791,7 @@ impl<'t, 'u> VerylGrammarAuto<'t, 'u> { Ok(()) } - /// Semantic action for production 733: + /// Semantic action for production 731: /// /// `PortDeclarationListList /* Vec::New */: ;` /// @@ -28893,7 +28807,7 @@ impl<'t, 'u> VerylGrammarAuto<'t, 'u> { Ok(()) } - /// Semantic action for production 734: + /// Semantic action for production 732: /// /// `PortDeclarationListOpt /* Option::Some */: Comma;` /// @@ -28912,7 +28826,7 @@ impl<'t, 'u> VerylGrammarAuto<'t, 'u> { Ok(()) } - /// Semantic action for production 735: + /// Semantic action for production 733: /// /// `PortDeclarationListOpt /* Option::None */: ;` /// @@ -28924,7 +28838,7 @@ impl<'t, 'u> VerylGrammarAuto<'t, 'u> { Ok(()) } - /// Semantic action for production 736: + /// Semantic action for production 734: /// /// `PortDeclarationGroup: PortDeclarationGroupList /* Vec */ PortDeclarationGroupGroup;` /// @@ -28962,7 +28876,7 @@ impl<'t, 'u> VerylGrammarAuto<'t, 'u> { Ok(()) } - /// Semantic action for production 737: + /// Semantic action for production 735: /// /// `PortDeclarationGroupGroup: LBrace PortDeclarationList RBrace;` /// @@ -28996,7 +28910,7 @@ impl<'t, 'u> VerylGrammarAuto<'t, 'u> { Ok(()) } - /// Semantic action for production 738: + /// Semantic action for production 736: /// /// `PortDeclarationGroupGroup: PortDeclarationItem;` /// @@ -29021,7 +28935,7 @@ impl<'t, 'u> VerylGrammarAuto<'t, 'u> { Ok(()) } - /// Semantic action for production 739: + /// Semantic action for production 737: /// /// `PortDeclarationGroupList /* Vec::Push */: Attribute PortDeclarationGroupList;` /// @@ -29052,7 +28966,7 @@ impl<'t, 'u> VerylGrammarAuto<'t, 'u> { Ok(()) } - /// Semantic action for production 740: + /// Semantic action for production 738: /// /// `PortDeclarationGroupList /* Vec::New */: ;` /// @@ -29068,7 +28982,7 @@ impl<'t, 'u> VerylGrammarAuto<'t, 'u> { Ok(()) } - /// Semantic action for production 741: + /// Semantic action for production 739: /// /// `PortDeclarationItem: Identifier Colon PortDeclarationItemGroup;` /// @@ -29104,7 +29018,7 @@ impl<'t, 'u> VerylGrammarAuto<'t, 'u> { Ok(()) } - /// Semantic action for production 742: + /// Semantic action for production 740: /// /// `PortDeclarationItemGroup: Direction ArrayType;` /// @@ -29131,7 +29045,7 @@ impl<'t, 'u> VerylGrammarAuto<'t, 'u> { Ok(()) } - /// Semantic action for production 743: + /// Semantic action for production 741: /// /// `PortDeclarationItemGroup: Interface PortDeclarationItemOpt /* Option */;` /// @@ -29166,7 +29080,7 @@ impl<'t, 'u> VerylGrammarAuto<'t, 'u> { Ok(()) } - /// Semantic action for production 744: + /// Semantic action for production 742: /// /// `PortDeclarationItemOpt /* Option::Some */: Array;` /// @@ -29185,7 +29099,7 @@ impl<'t, 'u> VerylGrammarAuto<'t, 'u> { Ok(()) } - /// Semantic action for production 745: + /// Semantic action for production 743: /// /// `PortDeclarationItemOpt /* Option::None */: ;` /// @@ -29197,7 +29111,7 @@ impl<'t, 'u> VerylGrammarAuto<'t, 'u> { Ok(()) } - /// Semantic action for production 746: + /// Semantic action for production 744: /// /// `Direction: Input;` /// @@ -29216,7 +29130,7 @@ impl<'t, 'u> VerylGrammarAuto<'t, 'u> { Ok(()) } - /// Semantic action for production 747: + /// Semantic action for production 745: /// /// `Direction: Output;` /// @@ -29235,7 +29149,7 @@ impl<'t, 'u> VerylGrammarAuto<'t, 'u> { Ok(()) } - /// Semantic action for production 748: + /// Semantic action for production 746: /// /// `Direction: Inout;` /// @@ -29254,7 +29168,7 @@ impl<'t, 'u> VerylGrammarAuto<'t, 'u> { Ok(()) } - /// Semantic action for production 749: + /// Semantic action for production 747: /// /// `Direction: Ref;` /// @@ -29273,7 +29187,7 @@ impl<'t, 'u> VerylGrammarAuto<'t, 'u> { Ok(()) } - /// Semantic action for production 750: + /// Semantic action for production 748: /// /// `Direction: Modport;` /// @@ -29292,7 +29206,7 @@ impl<'t, 'u> VerylGrammarAuto<'t, 'u> { Ok(()) } - /// Semantic action for production 751: + /// Semantic action for production 749: /// /// `FunctionDeclaration: Function Identifier FunctionDeclarationOpt /* Option */ FunctionDeclarationOpt0 /* Option */ FunctionDeclarationOpt1 /* Option */ LBrace FunctionDeclarationList /* Vec */ RBrace;` /// @@ -29358,7 +29272,7 @@ impl<'t, 'u> VerylGrammarAuto<'t, 'u> { Ok(()) } - /// Semantic action for production 752: + /// Semantic action for production 750: /// /// `FunctionDeclarationList /* Vec::Push */: FunctionItem FunctionDeclarationList;` /// @@ -29389,7 +29303,7 @@ impl<'t, 'u> VerylGrammarAuto<'t, 'u> { Ok(()) } - /// Semantic action for production 753: + /// Semantic action for production 751: /// /// `FunctionDeclarationList /* Vec::New */: ;` /// @@ -29405,7 +29319,7 @@ impl<'t, 'u> VerylGrammarAuto<'t, 'u> { Ok(()) } - /// Semantic action for production 754: + /// Semantic action for production 752: /// /// `FunctionDeclarationOpt1 /* Option::Some */: MinusGT ScalarType;` /// @@ -29430,7 +29344,7 @@ impl<'t, 'u> VerylGrammarAuto<'t, 'u> { Ok(()) } - /// Semantic action for production 755: + /// Semantic action for production 753: /// /// `FunctionDeclarationOpt1 /* Option::None */: ;` /// @@ -29442,7 +29356,7 @@ impl<'t, 'u> VerylGrammarAuto<'t, 'u> { Ok(()) } - /// Semantic action for production 756: + /// Semantic action for production 754: /// /// `FunctionDeclarationOpt0 /* Option::Some */: PortDeclaration;` /// @@ -29461,7 +29375,7 @@ impl<'t, 'u> VerylGrammarAuto<'t, 'u> { Ok(()) } - /// Semantic action for production 757: + /// Semantic action for production 755: /// /// `FunctionDeclarationOpt0 /* Option::None */: ;` /// @@ -29473,7 +29387,7 @@ impl<'t, 'u> VerylGrammarAuto<'t, 'u> { Ok(()) } - /// Semantic action for production 758: + /// Semantic action for production 756: /// /// `FunctionDeclarationOpt /* Option::Some */: WithGenericParameter;` /// @@ -29496,7 +29410,7 @@ impl<'t, 'u> VerylGrammarAuto<'t, 'u> { Ok(()) } - /// Semantic action for production 759: + /// Semantic action for production 757: /// /// `FunctionDeclarationOpt /* Option::None */: ;` /// @@ -29508,7 +29422,7 @@ impl<'t, 'u> VerylGrammarAuto<'t, 'u> { Ok(()) } - /// Semantic action for production 760: + /// Semantic action for production 758: /// /// `FunctionItem: VarDeclaration;` /// @@ -29527,7 +29441,7 @@ impl<'t, 'u> VerylGrammarAuto<'t, 'u> { Ok(()) } - /// Semantic action for production 761: + /// Semantic action for production 759: /// /// `FunctionItem: Statement;` /// @@ -29546,7 +29460,7 @@ impl<'t, 'u> VerylGrammarAuto<'t, 'u> { Ok(()) } - /// Semantic action for production 762: + /// Semantic action for production 760: /// /// `ImportDeclaration: Import ScopedIdentifier ImportDeclarationOpt /* Option */ Semicolon;` /// @@ -29581,7 +29495,7 @@ impl<'t, 'u> VerylGrammarAuto<'t, 'u> { Ok(()) } - /// Semantic action for production 763: + /// Semantic action for production 761: /// /// `ImportDeclarationOpt /* Option::Some */: ColonColon Star;` /// @@ -29606,7 +29520,7 @@ impl<'t, 'u> VerylGrammarAuto<'t, 'u> { Ok(()) } - /// Semantic action for production 764: + /// Semantic action for production 762: /// /// `ImportDeclarationOpt /* Option::None */: ;` /// @@ -29618,7 +29532,7 @@ impl<'t, 'u> VerylGrammarAuto<'t, 'u> { Ok(()) } - /// Semantic action for production 765: + /// Semantic action for production 763: /// /// `ExportDeclaration: Export ExportDeclarationGroup Semicolon;` /// @@ -29654,7 +29568,7 @@ impl<'t, 'u> VerylGrammarAuto<'t, 'u> { Ok(()) } - /// Semantic action for production 766: + /// Semantic action for production 764: /// /// `ExportDeclarationGroup: Star;` /// @@ -29675,7 +29589,7 @@ impl<'t, 'u> VerylGrammarAuto<'t, 'u> { Ok(()) } - /// Semantic action for production 767: + /// Semantic action for production 765: /// /// `ExportDeclarationGroup: ScopedIdentifier ExportDeclarationOpt /* Option */;` /// @@ -29706,7 +29620,7 @@ impl<'t, 'u> VerylGrammarAuto<'t, 'u> { Ok(()) } - /// Semantic action for production 768: + /// Semantic action for production 766: /// /// `ExportDeclarationOpt /* Option::Some */: ColonColon Star;` /// @@ -29731,7 +29645,7 @@ impl<'t, 'u> VerylGrammarAuto<'t, 'u> { Ok(()) } - /// Semantic action for production 769: + /// Semantic action for production 767: /// /// `ExportDeclarationOpt /* Option::None */: ;` /// @@ -29743,7 +29657,7 @@ impl<'t, 'u> VerylGrammarAuto<'t, 'u> { Ok(()) } - /// Semantic action for production 770: + /// Semantic action for production 768: /// /// `ModuleDeclaration: ModuleDeclarationOpt /* Option */ Module Identifier ModuleDeclarationOpt0 /* Option */ ModuleDeclarationOpt1 /* Option */ ModuleDeclarationOpt2 /* Option */ LBrace ModuleDeclarationList /* Vec */ RBrace;` /// @@ -29813,7 +29727,7 @@ impl<'t, 'u> VerylGrammarAuto<'t, 'u> { Ok(()) } - /// Semantic action for production 771: + /// Semantic action for production 769: /// /// `ModuleDeclarationList /* Vec::Push */: ModuleGroup ModuleDeclarationList;` /// @@ -29844,7 +29758,7 @@ impl<'t, 'u> VerylGrammarAuto<'t, 'u> { Ok(()) } - /// Semantic action for production 772: + /// Semantic action for production 770: /// /// `ModuleDeclarationList /* Vec::New */: ;` /// @@ -29860,7 +29774,7 @@ impl<'t, 'u> VerylGrammarAuto<'t, 'u> { Ok(()) } - /// Semantic action for production 773: + /// Semantic action for production 771: /// /// `ModuleDeclarationOpt2 /* Option::Some */: PortDeclaration;` /// @@ -29879,7 +29793,7 @@ impl<'t, 'u> VerylGrammarAuto<'t, 'u> { Ok(()) } - /// Semantic action for production 774: + /// Semantic action for production 772: /// /// `ModuleDeclarationOpt2 /* Option::None */: ;` /// @@ -29891,7 +29805,7 @@ impl<'t, 'u> VerylGrammarAuto<'t, 'u> { Ok(()) } - /// Semantic action for production 775: + /// Semantic action for production 773: /// /// `ModuleDeclarationOpt1 /* Option::Some */: WithParameter;` /// @@ -29910,7 +29824,7 @@ impl<'t, 'u> VerylGrammarAuto<'t, 'u> { Ok(()) } - /// Semantic action for production 776: + /// Semantic action for production 774: /// /// `ModuleDeclarationOpt1 /* Option::None */: ;` /// @@ -29922,7 +29836,7 @@ impl<'t, 'u> VerylGrammarAuto<'t, 'u> { Ok(()) } - /// Semantic action for production 777: + /// Semantic action for production 775: /// /// `ModuleDeclarationOpt0 /* Option::Some */: WithGenericParameter;` /// @@ -29945,7 +29859,7 @@ impl<'t, 'u> VerylGrammarAuto<'t, 'u> { Ok(()) } - /// Semantic action for production 778: + /// Semantic action for production 776: /// /// `ModuleDeclarationOpt0 /* Option::None */: ;` /// @@ -29957,7 +29871,7 @@ impl<'t, 'u> VerylGrammarAuto<'t, 'u> { Ok(()) } - /// Semantic action for production 779: + /// Semantic action for production 777: /// /// `ModuleDeclarationOpt /* Option::Some */: Pub;` /// @@ -29976,7 +29890,7 @@ impl<'t, 'u> VerylGrammarAuto<'t, 'u> { Ok(()) } - /// Semantic action for production 780: + /// Semantic action for production 778: /// /// `ModuleDeclarationOpt /* Option::None */: ;` /// @@ -29988,7 +29902,7 @@ impl<'t, 'u> VerylGrammarAuto<'t, 'u> { Ok(()) } - /// Semantic action for production 781: + /// Semantic action for production 779: /// /// `ModuleIfDeclaration: If Expression ModuleNamedBlock ModuleIfDeclarationList /* Vec */ ModuleIfDeclarationOpt /* Option */;` /// @@ -30035,7 +29949,7 @@ impl<'t, 'u> VerylGrammarAuto<'t, 'u> { Ok(()) } - /// Semantic action for production 782: + /// Semantic action for production 780: /// /// `ModuleIfDeclarationList /* Vec::Push */: Else If Expression ModuleOptionalNamedBlock ModuleIfDeclarationList;` /// @@ -30080,7 +29994,7 @@ impl<'t, 'u> VerylGrammarAuto<'t, 'u> { Ok(()) } - /// Semantic action for production 783: + /// Semantic action for production 781: /// /// `ModuleIfDeclarationList /* Vec::New */: ;` /// @@ -30096,7 +30010,7 @@ impl<'t, 'u> VerylGrammarAuto<'t, 'u> { Ok(()) } - /// Semantic action for production 784: + /// Semantic action for production 782: /// /// `ModuleIfDeclarationOpt /* Option::Some */: Else ModuleOptionalNamedBlock;` /// @@ -30126,7 +30040,7 @@ impl<'t, 'u> VerylGrammarAuto<'t, 'u> { Ok(()) } - /// Semantic action for production 785: + /// Semantic action for production 783: /// /// `ModuleIfDeclarationOpt /* Option::None */: ;` /// @@ -30138,7 +30052,7 @@ impl<'t, 'u> VerylGrammarAuto<'t, 'u> { Ok(()) } - /// Semantic action for production 786: + /// Semantic action for production 784: /// /// `ModuleForDeclaration: For Identifier In Range ModuleForDeclarationOpt /* Option */ ModuleNamedBlock;` /// @@ -30183,7 +30097,7 @@ impl<'t, 'u> VerylGrammarAuto<'t, 'u> { Ok(()) } - /// Semantic action for production 787: + /// Semantic action for production 785: /// /// `ModuleForDeclarationOpt /* Option::Some */: Step AssignmentOperator Expression;` /// @@ -30211,7 +30125,7 @@ impl<'t, 'u> VerylGrammarAuto<'t, 'u> { Ok(()) } - /// Semantic action for production 788: + /// Semantic action for production 786: /// /// `ModuleForDeclarationOpt /* Option::None */: ;` /// @@ -30223,7 +30137,7 @@ impl<'t, 'u> VerylGrammarAuto<'t, 'u> { Ok(()) } - /// Semantic action for production 789: + /// Semantic action for production 787: /// /// `ModuleNamedBlock: Colon Identifier LBrace ModuleNamedBlockList /* Vec */ RBrace;` /// @@ -30258,7 +30172,7 @@ impl<'t, 'u> VerylGrammarAuto<'t, 'u> { Ok(()) } - /// Semantic action for production 790: + /// Semantic action for production 788: /// /// `ModuleNamedBlockList /* Vec::Push */: ModuleGroup ModuleNamedBlockList;` /// @@ -30285,7 +30199,7 @@ impl<'t, 'u> VerylGrammarAuto<'t, 'u> { Ok(()) } - /// Semantic action for production 791: + /// Semantic action for production 789: /// /// `ModuleNamedBlockList /* Vec::New */: ;` /// @@ -30301,7 +30215,7 @@ impl<'t, 'u> VerylGrammarAuto<'t, 'u> { Ok(()) } - /// Semantic action for production 792: + /// Semantic action for production 790: /// /// `ModuleOptionalNamedBlock: ModuleOptionalNamedBlockOpt /* Option */ LBrace ModuleOptionalNamedBlockList /* Vec */ RBrace;` /// @@ -30345,7 +30259,7 @@ impl<'t, 'u> VerylGrammarAuto<'t, 'u> { Ok(()) } - /// Semantic action for production 793: + /// Semantic action for production 791: /// /// `ModuleOptionalNamedBlockList /* Vec::Push */: ModuleGroup ModuleOptionalNamedBlockList;` /// @@ -30376,7 +30290,7 @@ impl<'t, 'u> VerylGrammarAuto<'t, 'u> { Ok(()) } - /// Semantic action for production 794: + /// Semantic action for production 792: /// /// `ModuleOptionalNamedBlockList /* Vec::New */: ;` /// @@ -30392,7 +30306,7 @@ impl<'t, 'u> VerylGrammarAuto<'t, 'u> { Ok(()) } - /// Semantic action for production 795: + /// Semantic action for production 793: /// /// `ModuleOptionalNamedBlockOpt /* Option::Some */: Colon Identifier;` /// @@ -30417,7 +30331,7 @@ impl<'t, 'u> VerylGrammarAuto<'t, 'u> { Ok(()) } - /// Semantic action for production 796: + /// Semantic action for production 794: /// /// `ModuleOptionalNamedBlockOpt /* Option::None */: ;` /// @@ -30429,7 +30343,7 @@ impl<'t, 'u> VerylGrammarAuto<'t, 'u> { Ok(()) } - /// Semantic action for production 797: + /// Semantic action for production 795: /// /// `ModuleGroup: ModuleGroupList /* Vec */ ModuleGroupGroup;` /// @@ -30454,7 +30368,7 @@ impl<'t, 'u> VerylGrammarAuto<'t, 'u> { Ok(()) } - /// Semantic action for production 798: + /// Semantic action for production 796: /// /// `ModuleGroupGroup: LBrace ModuleGroupGroupList /* Vec */ RBrace;` /// @@ -30485,7 +30399,7 @@ impl<'t, 'u> VerylGrammarAuto<'t, 'u> { Ok(()) } - /// Semantic action for production 799: + /// Semantic action for production 797: /// /// `ModuleGroupGroupList /* Vec::Push */: ModuleGroup ModuleGroupGroupList;` /// @@ -30512,7 +30426,7 @@ impl<'t, 'u> VerylGrammarAuto<'t, 'u> { Ok(()) } - /// Semantic action for production 800: + /// Semantic action for production 798: /// /// `ModuleGroupGroupList /* Vec::New */: ;` /// @@ -30528,7 +30442,7 @@ impl<'t, 'u> VerylGrammarAuto<'t, 'u> { Ok(()) } - /// Semantic action for production 801: + /// Semantic action for production 799: /// /// `ModuleGroupGroup: ModuleItem;` /// @@ -30548,7 +30462,7 @@ impl<'t, 'u> VerylGrammarAuto<'t, 'u> { Ok(()) } - /// Semantic action for production 802: + /// Semantic action for production 800: /// /// `ModuleGroupList /* Vec::Push */: Attribute ModuleGroupList;` /// @@ -30571,7 +30485,7 @@ impl<'t, 'u> VerylGrammarAuto<'t, 'u> { Ok(()) } - /// Semantic action for production 803: + /// Semantic action for production 801: /// /// `ModuleGroupList /* Vec::New */: ;` /// @@ -30584,7 +30498,7 @@ impl<'t, 'u> VerylGrammarAuto<'t, 'u> { Ok(()) } - /// Semantic action for production 804: + /// Semantic action for production 802: /// /// `ModuleItem: LetDeclaration;` /// @@ -30603,7 +30517,7 @@ impl<'t, 'u> VerylGrammarAuto<'t, 'u> { Ok(()) } - /// Semantic action for production 805: + /// Semantic action for production 803: /// /// `ModuleItem: VarDeclaration;` /// @@ -30622,7 +30536,7 @@ impl<'t, 'u> VerylGrammarAuto<'t, 'u> { Ok(()) } - /// Semantic action for production 806: + /// Semantic action for production 804: /// /// `ModuleItem: InstDeclaration;` /// @@ -30641,7 +30555,7 @@ impl<'t, 'u> VerylGrammarAuto<'t, 'u> { Ok(()) } - /// Semantic action for production 807: + /// Semantic action for production 805: /// /// `ModuleItem: TypeDefDeclaration;` /// @@ -30661,7 +30575,7 @@ impl<'t, 'u> VerylGrammarAuto<'t, 'u> { Ok(()) } - /// Semantic action for production 808: + /// Semantic action for production 806: /// /// `ModuleItem: LocalDeclaration;` /// @@ -30680,7 +30594,7 @@ impl<'t, 'u> VerylGrammarAuto<'t, 'u> { Ok(()) } - /// Semantic action for production 809: + /// Semantic action for production 807: /// /// `ModuleItem: AlwaysFfDeclaration;` /// @@ -30700,7 +30614,7 @@ impl<'t, 'u> VerylGrammarAuto<'t, 'u> { Ok(()) } - /// Semantic action for production 810: + /// Semantic action for production 808: /// /// `ModuleItem: AlwaysCombDeclaration;` /// @@ -30724,7 +30638,7 @@ impl<'t, 'u> VerylGrammarAuto<'t, 'u> { Ok(()) } - /// Semantic action for production 811: + /// Semantic action for production 809: /// /// `ModuleItem: AssignDeclaration;` /// @@ -30743,7 +30657,7 @@ impl<'t, 'u> VerylGrammarAuto<'t, 'u> { Ok(()) } - /// Semantic action for production 812: + /// Semantic action for production 810: /// /// `ModuleItem: FunctionDeclaration;` /// @@ -30763,7 +30677,7 @@ impl<'t, 'u> VerylGrammarAuto<'t, 'u> { Ok(()) } - /// Semantic action for production 813: + /// Semantic action for production 811: /// /// `ModuleItem: ModuleIfDeclaration;` /// @@ -30783,7 +30697,7 @@ impl<'t, 'u> VerylGrammarAuto<'t, 'u> { Ok(()) } - /// Semantic action for production 814: + /// Semantic action for production 812: /// /// `ModuleItem: ModuleForDeclaration;` /// @@ -30803,7 +30717,7 @@ impl<'t, 'u> VerylGrammarAuto<'t, 'u> { Ok(()) } - /// Semantic action for production 815: + /// Semantic action for production 813: /// /// `ModuleItem: EnumDeclaration;` /// @@ -30822,7 +30736,7 @@ impl<'t, 'u> VerylGrammarAuto<'t, 'u> { Ok(()) } - /// Semantic action for production 816: + /// Semantic action for production 814: /// /// `ModuleItem: StructUnionDeclaration;` /// @@ -30846,7 +30760,7 @@ impl<'t, 'u> VerylGrammarAuto<'t, 'u> { Ok(()) } - /// Semantic action for production 817: + /// Semantic action for production 815: /// /// `ModuleItem: ModuleNamedBlock;` /// @@ -30865,7 +30779,7 @@ impl<'t, 'u> VerylGrammarAuto<'t, 'u> { Ok(()) } - /// Semantic action for production 818: + /// Semantic action for production 816: /// /// `ModuleItem: ImportDeclaration;` /// @@ -30884,7 +30798,7 @@ impl<'t, 'u> VerylGrammarAuto<'t, 'u> { Ok(()) } - /// Semantic action for production 819: + /// Semantic action for production 817: /// /// `ModuleItem: InitialDeclaration;` /// @@ -30903,7 +30817,7 @@ impl<'t, 'u> VerylGrammarAuto<'t, 'u> { Ok(()) } - /// Semantic action for production 820: + /// Semantic action for production 818: /// /// `ModuleItem: FinalDeclaration;` /// @@ -30922,7 +30836,7 @@ impl<'t, 'u> VerylGrammarAuto<'t, 'u> { Ok(()) } - /// Semantic action for production 821: + /// Semantic action for production 819: /// /// `InterfaceDeclaration: InterfaceDeclarationOpt /* Option */ Interface Identifier InterfaceDeclarationOpt0 /* Option */ InterfaceDeclarationOpt1 /* Option */ LBrace InterfaceDeclarationList /* Vec */ RBrace;` /// @@ -30988,7 +30902,7 @@ impl<'t, 'u> VerylGrammarAuto<'t, 'u> { Ok(()) } - /// Semantic action for production 822: + /// Semantic action for production 820: /// /// `InterfaceDeclarationList /* Vec::Push */: InterfaceGroup InterfaceDeclarationList;` /// @@ -31019,7 +30933,7 @@ impl<'t, 'u> VerylGrammarAuto<'t, 'u> { Ok(()) } - /// Semantic action for production 823: + /// Semantic action for production 821: /// /// `InterfaceDeclarationList /* Vec::New */: ;` /// @@ -31035,7 +30949,7 @@ impl<'t, 'u> VerylGrammarAuto<'t, 'u> { Ok(()) } - /// Semantic action for production 824: + /// Semantic action for production 822: /// /// `InterfaceDeclarationOpt1 /* Option::Some */: WithParameter;` /// @@ -31054,7 +30968,7 @@ impl<'t, 'u> VerylGrammarAuto<'t, 'u> { Ok(()) } - /// Semantic action for production 825: + /// Semantic action for production 823: /// /// `InterfaceDeclarationOpt1 /* Option::None */: ;` /// @@ -31066,7 +30980,7 @@ impl<'t, 'u> VerylGrammarAuto<'t, 'u> { Ok(()) } - /// Semantic action for production 826: + /// Semantic action for production 824: /// /// `InterfaceDeclarationOpt0 /* Option::Some */: WithGenericParameter;` /// @@ -31089,7 +31003,7 @@ impl<'t, 'u> VerylGrammarAuto<'t, 'u> { Ok(()) } - /// Semantic action for production 827: + /// Semantic action for production 825: /// /// `InterfaceDeclarationOpt0 /* Option::None */: ;` /// @@ -31101,7 +31015,7 @@ impl<'t, 'u> VerylGrammarAuto<'t, 'u> { Ok(()) } - /// Semantic action for production 828: + /// Semantic action for production 826: /// /// `InterfaceDeclarationOpt /* Option::Some */: Pub;` /// @@ -31120,7 +31034,7 @@ impl<'t, 'u> VerylGrammarAuto<'t, 'u> { Ok(()) } - /// Semantic action for production 829: + /// Semantic action for production 827: /// /// `InterfaceDeclarationOpt /* Option::None */: ;` /// @@ -31132,7 +31046,7 @@ impl<'t, 'u> VerylGrammarAuto<'t, 'u> { Ok(()) } - /// Semantic action for production 830: + /// Semantic action for production 828: /// /// `InterfaceIfDeclaration: If Expression InterfaceNamedBlock InterfaceIfDeclarationList /* Vec */ InterfaceIfDeclarationOpt /* Option */;` /// @@ -31180,7 +31094,7 @@ impl<'t, 'u> VerylGrammarAuto<'t, 'u> { Ok(()) } - /// Semantic action for production 831: + /// Semantic action for production 829: /// /// `InterfaceIfDeclarationList /* Vec::Push */: Else If Expression InterfaceOptionalNamedBlock InterfaceIfDeclarationList;` /// @@ -31225,7 +31139,7 @@ impl<'t, 'u> VerylGrammarAuto<'t, 'u> { Ok(()) } - /// Semantic action for production 832: + /// Semantic action for production 830: /// /// `InterfaceIfDeclarationList /* Vec::New */: ;` /// @@ -31241,7 +31155,7 @@ impl<'t, 'u> VerylGrammarAuto<'t, 'u> { Ok(()) } - /// Semantic action for production 833: + /// Semantic action for production 831: /// /// `InterfaceIfDeclarationOpt /* Option::Some */: Else InterfaceOptionalNamedBlock;` /// @@ -31271,7 +31185,7 @@ impl<'t, 'u> VerylGrammarAuto<'t, 'u> { Ok(()) } - /// Semantic action for production 834: + /// Semantic action for production 832: /// /// `InterfaceIfDeclarationOpt /* Option::None */: ;` /// @@ -31283,7 +31197,7 @@ impl<'t, 'u> VerylGrammarAuto<'t, 'u> { Ok(()) } - /// Semantic action for production 835: + /// Semantic action for production 833: /// /// `InterfaceForDeclaration: For Identifier In Range InterfaceForDeclarationOpt /* Option */ InterfaceNamedBlock;` /// @@ -31329,7 +31243,7 @@ impl<'t, 'u> VerylGrammarAuto<'t, 'u> { Ok(()) } - /// Semantic action for production 836: + /// Semantic action for production 834: /// /// `InterfaceForDeclarationOpt /* Option::Some */: Step AssignmentOperator Expression;` /// @@ -31357,7 +31271,7 @@ impl<'t, 'u> VerylGrammarAuto<'t, 'u> { Ok(()) } - /// Semantic action for production 837: + /// Semantic action for production 835: /// /// `InterfaceForDeclarationOpt /* Option::None */: ;` /// @@ -31369,7 +31283,7 @@ impl<'t, 'u> VerylGrammarAuto<'t, 'u> { Ok(()) } - /// Semantic action for production 838: + /// Semantic action for production 836: /// /// `InterfaceNamedBlock: Colon Identifier LBrace InterfaceNamedBlockList /* Vec */ RBrace;` /// @@ -31411,7 +31325,7 @@ impl<'t, 'u> VerylGrammarAuto<'t, 'u> { Ok(()) } - /// Semantic action for production 839: + /// Semantic action for production 837: /// /// `InterfaceNamedBlockList /* Vec::Push */: InterfaceGroup InterfaceNamedBlockList;` /// @@ -31442,7 +31356,7 @@ impl<'t, 'u> VerylGrammarAuto<'t, 'u> { Ok(()) } - /// Semantic action for production 840: + /// Semantic action for production 838: /// /// `InterfaceNamedBlockList /* Vec::New */: ;` /// @@ -31458,7 +31372,7 @@ impl<'t, 'u> VerylGrammarAuto<'t, 'u> { Ok(()) } - /// Semantic action for production 841: + /// Semantic action for production 839: /// /// `InterfaceOptionalNamedBlock: InterfaceOptionalNamedBlockOpt /* Option */ LBrace InterfaceOptionalNamedBlockList /* Vec */ RBrace;` /// @@ -31502,7 +31416,7 @@ impl<'t, 'u> VerylGrammarAuto<'t, 'u> { Ok(()) } - /// Semantic action for production 842: + /// Semantic action for production 840: /// /// `InterfaceOptionalNamedBlockList /* Vec::Push */: InterfaceGroup InterfaceOptionalNamedBlockList;` /// @@ -31533,7 +31447,7 @@ impl<'t, 'u> VerylGrammarAuto<'t, 'u> { Ok(()) } - /// Semantic action for production 843: + /// Semantic action for production 841: /// /// `InterfaceOptionalNamedBlockList /* Vec::New */: ;` /// @@ -31549,7 +31463,7 @@ impl<'t, 'u> VerylGrammarAuto<'t, 'u> { Ok(()) } - /// Semantic action for production 844: + /// Semantic action for production 842: /// /// `InterfaceOptionalNamedBlockOpt /* Option::Some */: Colon Identifier;` /// @@ -31576,7 +31490,7 @@ impl<'t, 'u> VerylGrammarAuto<'t, 'u> { Ok(()) } - /// Semantic action for production 845: + /// Semantic action for production 843: /// /// `InterfaceOptionalNamedBlockOpt /* Option::None */: ;` /// @@ -31588,7 +31502,7 @@ impl<'t, 'u> VerylGrammarAuto<'t, 'u> { Ok(()) } - /// Semantic action for production 846: + /// Semantic action for production 844: /// /// `InterfaceGroup: InterfaceGroupList /* Vec */ InterfaceGroupGroup;` /// @@ -31614,7 +31528,7 @@ impl<'t, 'u> VerylGrammarAuto<'t, 'u> { Ok(()) } - /// Semantic action for production 847: + /// Semantic action for production 845: /// /// `InterfaceGroupGroup: LBrace InterfaceGroupGroupList /* Vec */ RBrace;` /// @@ -31650,7 +31564,7 @@ impl<'t, 'u> VerylGrammarAuto<'t, 'u> { Ok(()) } - /// Semantic action for production 848: + /// Semantic action for production 846: /// /// `InterfaceGroupGroupList /* Vec::Push */: InterfaceGroup InterfaceGroupGroupList;` /// @@ -31681,7 +31595,7 @@ impl<'t, 'u> VerylGrammarAuto<'t, 'u> { Ok(()) } - /// Semantic action for production 849: + /// Semantic action for production 847: /// /// `InterfaceGroupGroupList /* Vec::New */: ;` /// @@ -31697,7 +31611,7 @@ impl<'t, 'u> VerylGrammarAuto<'t, 'u> { Ok(()) } - /// Semantic action for production 850: + /// Semantic action for production 848: /// /// `InterfaceGroupGroup: InterfaceItem;` /// @@ -31718,7 +31632,7 @@ impl<'t, 'u> VerylGrammarAuto<'t, 'u> { Ok(()) } - /// Semantic action for production 851: + /// Semantic action for production 849: /// /// `InterfaceGroupList /* Vec::Push */: Attribute InterfaceGroupList;` /// @@ -31742,7 +31656,7 @@ impl<'t, 'u> VerylGrammarAuto<'t, 'u> { Ok(()) } - /// Semantic action for production 852: + /// Semantic action for production 850: /// /// `InterfaceGroupList /* Vec::New */: ;` /// @@ -31758,7 +31672,7 @@ impl<'t, 'u> VerylGrammarAuto<'t, 'u> { Ok(()) } - /// Semantic action for production 853: + /// Semantic action for production 851: /// /// `InterfaceItem: LetDeclaration;` /// @@ -31777,7 +31691,7 @@ impl<'t, 'u> VerylGrammarAuto<'t, 'u> { Ok(()) } - /// Semantic action for production 854: + /// Semantic action for production 852: /// /// `InterfaceItem: VarDeclaration;` /// @@ -31796,7 +31710,7 @@ impl<'t, 'u> VerylGrammarAuto<'t, 'u> { Ok(()) } - /// Semantic action for production 855: + /// Semantic action for production 853: /// /// `InterfaceItem: LocalDeclaration;` /// @@ -31815,7 +31729,7 @@ impl<'t, 'u> VerylGrammarAuto<'t, 'u> { Ok(()) } - /// Semantic action for production 856: + /// Semantic action for production 854: /// /// `InterfaceItem: ModportDeclaration;` /// @@ -31834,7 +31748,7 @@ impl<'t, 'u> VerylGrammarAuto<'t, 'u> { Ok(()) } - /// Semantic action for production 857: + /// Semantic action for production 855: /// /// `InterfaceItem: InterfaceIfDeclaration;` /// @@ -31858,7 +31772,7 @@ impl<'t, 'u> VerylGrammarAuto<'t, 'u> { Ok(()) } - /// Semantic action for production 858: + /// Semantic action for production 856: /// /// `InterfaceItem: InterfaceForDeclaration;` /// @@ -31882,7 +31796,7 @@ impl<'t, 'u> VerylGrammarAuto<'t, 'u> { Ok(()) } - /// Semantic action for production 859: + /// Semantic action for production 857: /// /// `InterfaceItem: TypeDefDeclaration;` /// @@ -31902,7 +31816,7 @@ impl<'t, 'u> VerylGrammarAuto<'t, 'u> { Ok(()) } - /// Semantic action for production 860: + /// Semantic action for production 858: /// /// `InterfaceItem: EnumDeclaration;` /// @@ -31921,7 +31835,7 @@ impl<'t, 'u> VerylGrammarAuto<'t, 'u> { Ok(()) } - /// Semantic action for production 861: + /// Semantic action for production 859: /// /// `InterfaceItem: StructUnionDeclaration;` /// @@ -31945,7 +31859,7 @@ impl<'t, 'u> VerylGrammarAuto<'t, 'u> { Ok(()) } - /// Semantic action for production 862: + /// Semantic action for production 860: /// /// `InterfaceItem: InterfaceNamedBlock;` /// @@ -31965,7 +31879,7 @@ impl<'t, 'u> VerylGrammarAuto<'t, 'u> { Ok(()) } - /// Semantic action for production 863: + /// Semantic action for production 861: /// /// `InterfaceItem: FunctionDeclaration;` /// @@ -31985,7 +31899,7 @@ impl<'t, 'u> VerylGrammarAuto<'t, 'u> { Ok(()) } - /// Semantic action for production 864: + /// Semantic action for production 862: /// /// `InterfaceItem: ImportDeclaration;` /// @@ -32004,7 +31918,7 @@ impl<'t, 'u> VerylGrammarAuto<'t, 'u> { Ok(()) } - /// Semantic action for production 865: + /// Semantic action for production 863: /// /// `InterfaceItem: InitialDeclaration;` /// @@ -32023,7 +31937,7 @@ impl<'t, 'u> VerylGrammarAuto<'t, 'u> { Ok(()) } - /// Semantic action for production 866: + /// Semantic action for production 864: /// /// `InterfaceItem: FinalDeclaration;` /// @@ -32042,7 +31956,7 @@ impl<'t, 'u> VerylGrammarAuto<'t, 'u> { Ok(()) } - /// Semantic action for production 867: + /// Semantic action for production 865: /// /// `PackageDeclaration: PackageDeclarationOpt /* Option */ Package Identifier PackageDeclarationOpt0 /* Option */ LBrace PackageDeclarationList /* Vec */ RBrace;` /// @@ -32100,7 +32014,7 @@ impl<'t, 'u> VerylGrammarAuto<'t, 'u> { Ok(()) } - /// Semantic action for production 868: + /// Semantic action for production 866: /// /// `PackageDeclarationList /* Vec::Push */: PackageGroup PackageDeclarationList;` /// @@ -32131,7 +32045,7 @@ impl<'t, 'u> VerylGrammarAuto<'t, 'u> { Ok(()) } - /// Semantic action for production 869: + /// Semantic action for production 867: /// /// `PackageDeclarationList /* Vec::New */: ;` /// @@ -32147,7 +32061,7 @@ impl<'t, 'u> VerylGrammarAuto<'t, 'u> { Ok(()) } - /// Semantic action for production 870: + /// Semantic action for production 868: /// /// `PackageDeclarationOpt0 /* Option::Some */: WithGenericParameter;` /// @@ -32170,7 +32084,7 @@ impl<'t, 'u> VerylGrammarAuto<'t, 'u> { Ok(()) } - /// Semantic action for production 871: + /// Semantic action for production 869: /// /// `PackageDeclarationOpt0 /* Option::None */: ;` /// @@ -32182,7 +32096,7 @@ impl<'t, 'u> VerylGrammarAuto<'t, 'u> { Ok(()) } - /// Semantic action for production 872: + /// Semantic action for production 870: /// /// `PackageDeclarationOpt /* Option::Some */: Pub;` /// @@ -32201,7 +32115,7 @@ impl<'t, 'u> VerylGrammarAuto<'t, 'u> { Ok(()) } - /// Semantic action for production 873: + /// Semantic action for production 871: /// /// `PackageDeclarationOpt /* Option::None */: ;` /// @@ -32213,7 +32127,7 @@ impl<'t, 'u> VerylGrammarAuto<'t, 'u> { Ok(()) } - /// Semantic action for production 874: + /// Semantic action for production 872: /// /// `PackageGroup: PackageGroupList /* Vec */ PackageGroupGroup;` /// @@ -32238,7 +32152,7 @@ impl<'t, 'u> VerylGrammarAuto<'t, 'u> { Ok(()) } - /// Semantic action for production 875: + /// Semantic action for production 873: /// /// `PackageGroupGroup: LBrace PackageGroupGroupList /* Vec */ RBrace;` /// @@ -32273,7 +32187,7 @@ impl<'t, 'u> VerylGrammarAuto<'t, 'u> { Ok(()) } - /// Semantic action for production 876: + /// Semantic action for production 874: /// /// `PackageGroupGroupList /* Vec::Push */: PackageGroup PackageGroupGroupList;` /// @@ -32304,7 +32218,7 @@ impl<'t, 'u> VerylGrammarAuto<'t, 'u> { Ok(()) } - /// Semantic action for production 877: + /// Semantic action for production 875: /// /// `PackageGroupGroupList /* Vec::New */: ;` /// @@ -32320,7 +32234,7 @@ impl<'t, 'u> VerylGrammarAuto<'t, 'u> { Ok(()) } - /// Semantic action for production 878: + /// Semantic action for production 876: /// /// `PackageGroupGroup: PackageItem;` /// @@ -32341,7 +32255,7 @@ impl<'t, 'u> VerylGrammarAuto<'t, 'u> { Ok(()) } - /// Semantic action for production 879: + /// Semantic action for production 877: /// /// `PackageGroupList /* Vec::Push */: Attribute PackageGroupList;` /// @@ -32364,7 +32278,7 @@ impl<'t, 'u> VerylGrammarAuto<'t, 'u> { Ok(()) } - /// Semantic action for production 880: + /// Semantic action for production 878: /// /// `PackageGroupList /* Vec::New */: ;` /// @@ -32380,7 +32294,7 @@ impl<'t, 'u> VerylGrammarAuto<'t, 'u> { Ok(()) } - /// Semantic action for production 881: + /// Semantic action for production 879: /// /// `PackageItem: VarDeclaration;` /// @@ -32399,7 +32313,7 @@ impl<'t, 'u> VerylGrammarAuto<'t, 'u> { Ok(()) } - /// Semantic action for production 882: + /// Semantic action for production 880: /// /// `PackageItem: LocalDeclaration;` /// @@ -32418,7 +32332,7 @@ impl<'t, 'u> VerylGrammarAuto<'t, 'u> { Ok(()) } - /// Semantic action for production 883: + /// Semantic action for production 881: /// /// `PackageItem: TypeDefDeclaration;` /// @@ -32438,7 +32352,7 @@ impl<'t, 'u> VerylGrammarAuto<'t, 'u> { Ok(()) } - /// Semantic action for production 884: + /// Semantic action for production 882: /// /// `PackageItem: EnumDeclaration;` /// @@ -32457,7 +32371,7 @@ impl<'t, 'u> VerylGrammarAuto<'t, 'u> { Ok(()) } - /// Semantic action for production 885: + /// Semantic action for production 883: /// /// `PackageItem: StructUnionDeclaration;` /// @@ -32481,7 +32395,7 @@ impl<'t, 'u> VerylGrammarAuto<'t, 'u> { Ok(()) } - /// Semantic action for production 886: + /// Semantic action for production 884: /// /// `PackageItem: FunctionDeclaration;` /// @@ -32501,7 +32415,7 @@ impl<'t, 'u> VerylGrammarAuto<'t, 'u> { Ok(()) } - /// Semantic action for production 887: + /// Semantic action for production 885: /// /// `PackageItem: ImportDeclaration;` /// @@ -32520,7 +32434,7 @@ impl<'t, 'u> VerylGrammarAuto<'t, 'u> { Ok(()) } - /// Semantic action for production 888: + /// Semantic action for production 886: /// /// `PackageItem: ExportDeclaration;` /// @@ -32539,7 +32453,7 @@ impl<'t, 'u> VerylGrammarAuto<'t, 'u> { Ok(()) } - /// Semantic action for production 889: + /// Semantic action for production 887: /// /// `PackageItem: InitialDeclaration;` /// @@ -32558,7 +32472,7 @@ impl<'t, 'u> VerylGrammarAuto<'t, 'u> { Ok(()) } - /// Semantic action for production 890: + /// Semantic action for production 888: /// /// `PackageItem: FinalDeclaration;` /// @@ -32577,7 +32491,7 @@ impl<'t, 'u> VerylGrammarAuto<'t, 'u> { Ok(()) } - /// Semantic action for production 891: + /// Semantic action for production 889: /// /// `EmbedDeclaration: Embed LParen Identifier RParen Identifier EmbedContent;` /// @@ -32614,7 +32528,7 @@ impl<'t, 'u> VerylGrammarAuto<'t, 'u> { Ok(()) } - /// Semantic action for production 892: + /// Semantic action for production 890: /// /// `EmbedContent: EmbedContentToken : VerylToken;` /// @@ -32634,7 +32548,7 @@ impl<'t, 'u> VerylGrammarAuto<'t, 'u> { Ok(()) } - /// Semantic action for production 893: + /// Semantic action for production 891: /// /// `EmbedContentToken: LBraceTerm %push(Embed) LBraceTerm LBraceTerm EmbedContentTokenList /* Vec */ RBraceTerm RBraceTerm RBraceTerm %pop();` /// @@ -32682,7 +32596,7 @@ impl<'t, 'u> VerylGrammarAuto<'t, 'u> { Ok(()) } - /// Semantic action for production 894: + /// Semantic action for production 892: /// /// `EmbedContentTokenList /* Vec::Push */: EmbedItem EmbedContentTokenList;` /// @@ -32713,7 +32627,7 @@ impl<'t, 'u> VerylGrammarAuto<'t, 'u> { Ok(()) } - /// Semantic action for production 895: + /// Semantic action for production 893: /// /// `EmbedContentTokenList /* Vec::New */: ;` /// @@ -32729,7 +32643,7 @@ impl<'t, 'u> VerylGrammarAuto<'t, 'u> { Ok(()) } - /// Semantic action for production 896: + /// Semantic action for production 894: /// /// `EmbedItem: LBraceTerm EmbedItemList /* Vec */ RBraceTerm;` /// @@ -32757,7 +32671,7 @@ impl<'t, 'u> VerylGrammarAuto<'t, 'u> { Ok(()) } - /// Semantic action for production 897: + /// Semantic action for production 895: /// /// `EmbedItemList /* Vec::Push */: EmbedItem EmbedItemList;` /// @@ -32780,7 +32694,7 @@ impl<'t, 'u> VerylGrammarAuto<'t, 'u> { Ok(()) } - /// Semantic action for production 898: + /// Semantic action for production 896: /// /// `EmbedItemList /* Vec::New */: ;` /// @@ -32793,7 +32707,7 @@ impl<'t, 'u> VerylGrammarAuto<'t, 'u> { Ok(()) } - /// Semantic action for production 899: + /// Semantic action for production 897: /// /// `EmbedItem: AnyTerm;` /// @@ -32812,7 +32726,7 @@ impl<'t, 'u> VerylGrammarAuto<'t, 'u> { Ok(()) } - /// Semantic action for production 900: + /// Semantic action for production 898: /// /// `IncludeDeclaration: Include LParen Identifier Comma StringLiteral RParen Semicolon;` /// @@ -32855,7 +32769,7 @@ impl<'t, 'u> VerylGrammarAuto<'t, 'u> { Ok(()) } - /// Semantic action for production 901: + /// Semantic action for production 899: /// /// `DescriptionGroup: DescriptionGroupList /* Vec */ DescriptionGroupGroup;` /// @@ -32886,7 +32800,7 @@ impl<'t, 'u> VerylGrammarAuto<'t, 'u> { Ok(()) } - /// Semantic action for production 902: + /// Semantic action for production 900: /// /// `DescriptionGroupGroup: LBrace DescriptionGroupGroupList /* Vec */ RBrace;` /// @@ -32924,7 +32838,7 @@ impl<'t, 'u> VerylGrammarAuto<'t, 'u> { Ok(()) } - /// Semantic action for production 903: + /// Semantic action for production 901: /// /// `DescriptionGroupGroupList /* Vec::Push */: DescriptionGroup DescriptionGroupGroupList;` /// @@ -32955,7 +32869,7 @@ impl<'t, 'u> VerylGrammarAuto<'t, 'u> { Ok(()) } - /// Semantic action for production 904: + /// Semantic action for production 902: /// /// `DescriptionGroupGroupList /* Vec::New */: ;` /// @@ -32971,7 +32885,7 @@ impl<'t, 'u> VerylGrammarAuto<'t, 'u> { Ok(()) } - /// Semantic action for production 905: + /// Semantic action for production 903: /// /// `DescriptionGroupGroup: DescriptionItem;` /// @@ -32992,7 +32906,7 @@ impl<'t, 'u> VerylGrammarAuto<'t, 'u> { Ok(()) } - /// Semantic action for production 906: + /// Semantic action for production 904: /// /// `DescriptionGroupList /* Vec::Push */: Attribute DescriptionGroupList;` /// @@ -33019,7 +32933,7 @@ impl<'t, 'u> VerylGrammarAuto<'t, 'u> { Ok(()) } - /// Semantic action for production 907: + /// Semantic action for production 905: /// /// `DescriptionGroupList /* Vec::New */: ;` /// @@ -33035,7 +32949,7 @@ impl<'t, 'u> VerylGrammarAuto<'t, 'u> { Ok(()) } - /// Semantic action for production 908: + /// Semantic action for production 906: /// /// `DescriptionItem: ModuleDeclaration;` /// @@ -33055,7 +32969,7 @@ impl<'t, 'u> VerylGrammarAuto<'t, 'u> { Ok(()) } - /// Semantic action for production 909: + /// Semantic action for production 907: /// /// `DescriptionItem: InterfaceDeclaration;` /// @@ -33077,7 +32991,7 @@ impl<'t, 'u> VerylGrammarAuto<'t, 'u> { Ok(()) } - /// Semantic action for production 910: + /// Semantic action for production 908: /// /// `DescriptionItem: PackageDeclaration;` /// @@ -33098,7 +33012,7 @@ impl<'t, 'u> VerylGrammarAuto<'t, 'u> { Ok(()) } - /// Semantic action for production 911: + /// Semantic action for production 909: /// /// `DescriptionItem: ImportDeclaration;` /// @@ -33118,7 +33032,7 @@ impl<'t, 'u> VerylGrammarAuto<'t, 'u> { Ok(()) } - /// Semantic action for production 912: + /// Semantic action for production 910: /// /// `DescriptionItem: EmbedDeclaration;` /// @@ -33138,7 +33052,7 @@ impl<'t, 'u> VerylGrammarAuto<'t, 'u> { Ok(()) } - /// Semantic action for production 913: + /// Semantic action for production 911: /// /// `DescriptionItem: IncludeDeclaration;` /// @@ -33159,7 +33073,7 @@ impl<'t, 'u> VerylGrammarAuto<'t, 'u> { Ok(()) } - /// Semantic action for production 914: + /// Semantic action for production 912: /// /// `Veryl: Start VerylList /* Vec */;` /// @@ -33179,7 +33093,7 @@ impl<'t, 'u> VerylGrammarAuto<'t, 'u> { Ok(()) } - /// Semantic action for production 915: + /// Semantic action for production 913: /// /// `VerylList /* Vec::Push */: DescriptionGroup VerylList;` /// @@ -33202,7 +33116,7 @@ impl<'t, 'u> VerylGrammarAuto<'t, 'u> { Ok(()) } - /// Semantic action for production 916: + /// Semantic action for production 914: /// /// `VerylList /* Vec::New */: ;` /// @@ -34141,63 +34055,50 @@ impl<'t> UserActionsTrait<'t> for VerylGrammarAuto<'t, '_> { 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], - &children[3], - ), + 708 => self.with_generic_parameter_list(&children[0], &children[1], &children[2]), 709 => { 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_opt0_0(&children[0]), - 712 => self.with_generic_parameter_list_opt0_1(), - 713 => self.with_generic_parameter_list_opt_0(&children[0], &children[1], &children[2]), - 714 => self.with_generic_parameter_list_opt_list_0( - &children[0], - &children[1], - &children[2], - &children[3], - &children[4], - ), - 715 => self.with_generic_parameter_list_opt_list_1(), - 716 => self.with_generic_parameter_list_opt_1(), - 717 => self.with_generic_parameter_item(&children[0]), - 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( + 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( &children[0], &children[1], &children[2], @@ -34207,25 +34108,25 @@ impl<'t> UserActionsTrait<'t> for VerylGrammarAuto<'t, '_> { &children[6], &children[7], ), - 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( + 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( &children[0], &children[1], &children[2], @@ -34236,34 +34137,34 @@ impl<'t> UserActionsTrait<'t> for VerylGrammarAuto<'t, '_> { &children[7], &children[8], ), - 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( + 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( &children[0], &children[1], &children[2], &children[3], &children[4], ), - 782 => self.module_if_declaration_list_0( + 780 => self.module_if_declaration_list_0( &children[0], &children[1], &children[2], &children[3], &children[4], ), - 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( + 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( &children[0], &children[1], &children[2], @@ -34271,52 +34172,52 @@ impl<'t> UserActionsTrait<'t> for VerylGrammarAuto<'t, '_> { &children[4], &children[5], ), - 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( + 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( &children[0], &children[1], &children[2], &children[3], &children[4], ), - 790 => self.module_named_block_list_0(&children[0], &children[1]), - 791 => self.module_named_block_list_1(), - 792 => self.module_optional_named_block( + 788 => self.module_named_block_list_0(&children[0], &children[1]), + 789 => self.module_named_block_list_1(), + 790 => self.module_optional_named_block( &children[0], &children[1], &children[2], &children[3], ), - 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( + 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( &children[0], &children[1], &children[2], @@ -34326,32 +34227,32 @@ impl<'t> UserActionsTrait<'t> for VerylGrammarAuto<'t, '_> { &children[6], &children[7], ), - 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( + 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( &children[0], &children[1], &children[2], &children[3], &children[4], ), - 831 => self.interface_if_declaration_list_0( + 829 => self.interface_if_declaration_list_0( &children[0], &children[1], &children[2], &children[3], &children[4], ), - 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( + 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( &children[0], &children[1], &children[2], @@ -34359,49 +34260,49 @@ impl<'t> UserActionsTrait<'t> for VerylGrammarAuto<'t, '_> { &children[4], &children[5], ), - 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( + 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( &children[0], &children[1], &children[2], &children[3], &children[4], ), - 839 => self.interface_named_block_list_0(&children[0], &children[1]), - 840 => self.interface_named_block_list_1(), - 841 => self.interface_optional_named_block( + 837 => self.interface_named_block_list_0(&children[0], &children[1]), + 838 => self.interface_named_block_list_1(), + 839 => self.interface_optional_named_block( &children[0], &children[1], &children[2], &children[3], ), - 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( + 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( &children[0], &children[1], &children[2], @@ -34410,30 +34311,30 @@ impl<'t> UserActionsTrait<'t> for VerylGrammarAuto<'t, '_> { &children[5], &children[6], ), - 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( + 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( &children[0], &children[1], &children[2], @@ -34441,8 +34342,8 @@ impl<'t> UserActionsTrait<'t> for VerylGrammarAuto<'t, '_> { &children[4], &children[5], ), - 892 => self.embed_content(&children[0]), - 893 => self.embed_content_token( + 890 => self.embed_content(&children[0]), + 891 => self.embed_content_token( &children[0], &children[1], &children[2], @@ -34451,13 +34352,13 @@ impl<'t> UserActionsTrait<'t> for VerylGrammarAuto<'t, '_> { &children[5], &children[6], ), - 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( + 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( &children[0], &children[1], &children[2], @@ -34466,22 +34367,22 @@ impl<'t> UserActionsTrait<'t> for VerylGrammarAuto<'t, '_> { &children[5], &children[6], ), - 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(), + 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(), _ => 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 609c73a2..a55b7565 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; 641] = &[ +pub const NON_TERMINALS: &[&str; 640] = &[ /* 0 */ "AllBit", /* 1 */ "AllBitTerm", /* 2 */ "AllBitToken", @@ -1125,25 +1125,24 @@ pub const NON_TERMINALS: &[&str; 641] = &[ /* 622 */ "WithGenericArgumentOpt", /* 623 */ "WithGenericParameter", /* 624 */ "WithGenericParameterItem", - /* 625 */ "WithGenericParameterList", - /* 626 */ "WithGenericParameterListList", - /* 627 */ "WithGenericParameterListOpt", - /* 628 */ "WithGenericParameterListOpt0", - /* 629 */ "WithGenericParameterListOptList", - /* 630 */ "WithParameter", - /* 631 */ "WithParameterGroup", - /* 632 */ "WithParameterGroupGroup", - /* 633 */ "WithParameterGroupList", - /* 634 */ "WithParameterItem", - /* 635 */ "WithParameterItemGroup", - /* 636 */ "WithParameterItemGroup0", - /* 637 */ "WithParameterList", - /* 638 */ "WithParameterListList", - /* 639 */ "WithParameterListOpt", - /* 640 */ "WithParameterOpt", + /* 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", ]; -pub const LOOKAHEAD_AUTOMATA: &[LookaheadDFA; 641] = &[ +pub const LOOKAHEAD_AUTOMATA: &[LookaheadDFA; 640] = &[ /* 0 - "AllBit" */ LookaheadDFA { prod0: 226, @@ -3817,7 +3816,7 @@ pub const LOOKAHEAD_AUTOMATA: &[LookaheadDFA; 641] = &[ }, /* 111 - "DescriptionGroup" */ LookaheadDFA { - prod0: 901, + prod0: 899, transitions: &[], k: 0, }, @@ -3825,14 +3824,14 @@ pub const LOOKAHEAD_AUTOMATA: &[LookaheadDFA; 641] = &[ LookaheadDFA { prod0: -1, transitions: &[ - 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), + 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), ], k: 1, }, @@ -3840,16 +3839,16 @@ pub const LOOKAHEAD_AUTOMATA: &[LookaheadDFA; 641] = &[ LookaheadDFA { prod0: -1, transitions: &[ - 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), + 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), ], k: 1, }, @@ -3857,15 +3856,15 @@ pub const LOOKAHEAD_AUTOMATA: &[LookaheadDFA; 641] = &[ LookaheadDFA { prod0: -1, transitions: &[ - 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), + 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), ], k: 1, }, @@ -3884,58 +3883,58 @@ pub const LOOKAHEAD_AUTOMATA: &[LookaheadDFA; 641] = &[ Trans(1, 78, 9, -1), Trans(1, 85, 2, -1), Trans(1, 89, 14, -1), - Trans(2, 5, 3, 908), - Trans(2, 112, 3, 908), + Trans(2, 5, 3, 906), + Trans(2, 112, 3, 906), Trans(4, 5, 7, -1), Trans(4, 112, 5, -1), - 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(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(8, 5, 11, -1), Trans(8, 112, 12, -1), - 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(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(13, 5, 16, -1), Trans(13, 112, 17, -1), - 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(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(18, 5, 19, -1), Trans(18, 111, 20, -1), Trans(18, 112, 21, -1), - 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(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(23, 5, 24, -1), Trans(23, 41, 25, -1), - Trans(24, 41, 26, 912), - Trans(25, 5, 26, 912), - Trans(25, 112, 26, 912), + Trans(24, 41, 26, 910), + Trans(25, 5, 26, 910), + Trans(25, 112, 26, 910), Trans(27, 5, 28, -1), Trans(27, 41, 29, -1), - Trans(28, 41, 30, 913), - Trans(29, 5, 30, 913), - Trans(29, 112, 30, 913), + Trans(28, 41, 30, 911), + Trans(29, 5, 30, 911), + Trans(29, 112, 30, 911), ], k: 3, }, @@ -3943,11 +3942,11 @@ pub const LOOKAHEAD_AUTOMATA: &[LookaheadDFA; 641] = &[ LookaheadDFA { prod0: -1, transitions: &[ - 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), + 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), ], k: 1, }, @@ -4049,13 +4048,13 @@ pub const LOOKAHEAD_AUTOMATA: &[LookaheadDFA; 641] = &[ }, /* 133 - "EmbedContent" */ LookaheadDFA { - prod0: 892, + prod0: 890, transitions: &[], k: 0, }, /* 134 - "EmbedContentToken" */ LookaheadDFA { - prod0: 893, + prod0: 891, transitions: &[], k: 0, }, @@ -4063,31 +4062,31 @@ pub const LOOKAHEAD_AUTOMATA: &[LookaheadDFA; 641] = &[ LookaheadDFA { prod0: -1, transitions: &[ - Trans(0, 39, 1, 894), - Trans(0, 43, 2, 895), - Trans(0, 113, 1, 894), + Trans(0, 39, 1, 892), + Trans(0, 43, 2, 893), + Trans(0, 113, 1, 892), ], k: 1, }, /* 136 - "EmbedDeclaration" */ LookaheadDFA { - prod0: 891, + prod0: 889, transitions: &[], k: 0, }, /* 137 - "EmbedItem" */ LookaheadDFA { prod0: -1, - transitions: &[Trans(0, 39, 1, 896), Trans(0, 113, 2, 899)], + transitions: &[Trans(0, 39, 1, 894), Trans(0, 113, 2, 897)], k: 1, }, /* 138 - "EmbedItemList" */ LookaheadDFA { prod0: -1, transitions: &[ - Trans(0, 39, 1, 897), - Trans(0, 43, 2, 898), - Trans(0, 113, 1, 897), + Trans(0, 39, 1, 895), + Trans(0, 43, 2, 896), + Trans(0, 113, 1, 895), ], k: 1, }, @@ -4424,7 +4423,7 @@ pub const LOOKAHEAD_AUTOMATA: &[LookaheadDFA; 641] = &[ }, /* 160 - "ExportDeclaration" */ LookaheadDFA { - prod0: 765, + prod0: 763, transitions: &[], k: 0, }, @@ -4432,16 +4431,16 @@ pub const LOOKAHEAD_AUTOMATA: &[LookaheadDFA; 641] = &[ LookaheadDFA { prod0: -1, transitions: &[ - Trans(0, 47, 1, 766), - Trans(0, 111, 2, 767), - Trans(0, 112, 2, 767), + Trans(0, 47, 1, 764), + Trans(0, 111, 2, 765), + Trans(0, 112, 2, 765), ], k: 1, }, /* 162 - "ExportDeclarationOpt" */ LookaheadDFA { prod0: -1, - transitions: &[Trans(0, 29, 1, 768), Trans(0, 46, 2, 769)], + transitions: &[Trans(0, 29, 1, 766), Trans(0, 46, 2, 767)], k: 1, }, /* 163 - "ExportTerm" */ @@ -5301,7 +5300,7 @@ pub const LOOKAHEAD_AUTOMATA: &[LookaheadDFA; 641] = &[ }, /* 224 - "FunctionDeclaration" */ LookaheadDFA { - prod0: 751, + prod0: 749, transitions: &[], k: 0, }, @@ -5309,17 +5308,17 @@ pub const LOOKAHEAD_AUTOMATA: &[LookaheadDFA; 641] = &[ LookaheadDFA { prod0: -1, transitions: &[ - 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), + 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), ], k: 1, }, @@ -5327,10 +5326,10 @@ pub const LOOKAHEAD_AUTOMATA: &[LookaheadDFA; 641] = &[ LookaheadDFA { prod0: -1, transitions: &[ - Trans(0, 13, 2, 759), - Trans(0, 28, 1, 758), - Trans(0, 39, 2, 759), - Trans(0, 41, 2, 759), + Trans(0, 13, 2, 757), + Trans(0, 28, 1, 756), + Trans(0, 39, 2, 757), + Trans(0, 41, 2, 757), ], k: 1, }, @@ -5338,32 +5337,32 @@ pub const LOOKAHEAD_AUTOMATA: &[LookaheadDFA; 641] = &[ LookaheadDFA { prod0: -1, transitions: &[ - Trans(0, 13, 2, 757), - Trans(0, 39, 2, 757), - Trans(0, 41, 1, 756), + Trans(0, 13, 2, 755), + Trans(0, 39, 2, 755), + Trans(0, 41, 1, 754), ], k: 1, }, /* 228 - "FunctionDeclarationOpt1" */ LookaheadDFA { prod0: -1, - transitions: &[Trans(0, 13, 1, 754), Trans(0, 39, 2, 755)], + transitions: &[Trans(0, 13, 1, 752), Trans(0, 39, 2, 753)], k: 1, }, /* 229 - "FunctionItem" */ LookaheadDFA { prod0: -1, transitions: &[ - 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), + 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), ], k: 1, }, @@ -7885,14 +7884,14 @@ pub const LOOKAHEAD_AUTOMATA: &[LookaheadDFA; 641] = &[ }, /* 271 - "ImportDeclaration" */ LookaheadDFA { - prod0: 762, + prod0: 760, transitions: &[], k: 0, }, /* 272 - "ImportDeclarationOpt" */ LookaheadDFA { prod0: -1, - transitions: &[Trans(0, 29, 1, 763), Trans(0, 46, 2, 764)], + transitions: &[Trans(0, 29, 1, 761), Trans(0, 46, 2, 762)], k: 1, }, /* 273 - "ImportTerm" */ @@ -7933,7 +7932,7 @@ pub const LOOKAHEAD_AUTOMATA: &[LookaheadDFA; 641] = &[ }, /* 279 - "IncludeDeclaration" */ LookaheadDFA { - prod0: 900, + prod0: 898, transitions: &[], k: 0, }, @@ -8417,7 +8416,7 @@ pub const LOOKAHEAD_AUTOMATA: &[LookaheadDFA; 641] = &[ }, /* 325 - "InterfaceDeclaration" */ LookaheadDFA { - prod0: 821, + prod0: 819, transitions: &[], k: 0, }, @@ -8425,73 +8424,122 @@ pub const LOOKAHEAD_AUTOMATA: &[LookaheadDFA; 641] = &[ LookaheadDFA { prod0: -1, transitions: &[ - 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), + 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), ], k: 1, }, /* 327 - "InterfaceDeclarationOpt" */ LookaheadDFA { prod0: -1, - transitions: &[Trans(0, 78, 2, 829), Trans(0, 91, 1, 828)], + transitions: &[Trans(0, 78, 2, 827), Trans(0, 91, 1, 826)], k: 1, }, /* 328 - "InterfaceDeclarationOpt0" */ LookaheadDFA { prod0: -1, transitions: &[ - Trans(0, 28, 1, 826), - Trans(0, 36, 2, 827), - Trans(0, 39, 2, 827), + Trans(0, 28, 1, 824), + Trans(0, 36, 2, 825), + Trans(0, 39, 2, 825), ], k: 1, }, /* 329 - "InterfaceDeclarationOpt1" */ LookaheadDFA { prod0: -1, - transitions: &[Trans(0, 36, 1, 824), Trans(0, 39, 2, 825)], + transitions: &[Trans(0, 36, 1, 822), Trans(0, 39, 2, 823)], k: 1, }, /* 330 - "InterfaceForDeclaration" */ LookaheadDFA { - prod0: 835, + prod0: 833, transitions: &[], k: 0, }, /* 331 - "InterfaceForDeclarationOpt" */ LookaheadDFA { prod0: -1, - transitions: &[Trans(0, 30, 2, 837), Trans(0, 102, 1, 836)], + transitions: &[Trans(0, 30, 2, 835), Trans(0, 102, 1, 834)], k: 1, }, /* 332 - "InterfaceGroup" */ LookaheadDFA { - prod0: 846, + prod0: 844, 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, 39, 1, 847), + Trans(0, 36, 1, 849), + Trans(0, 39, 2, 850), Trans(0, 60, 2, 850), Trans(0, 64, 2, 850), Trans(0, 65, 2, 850), @@ -8509,58 +8557,9 @@ pub const LOOKAHEAD_AUTOMATA: &[LookaheadDFA; 641] = &[ ], 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: 830, + prod0: 828, transitions: &[], k: 0, }, @@ -8591,32 +8590,32 @@ pub const LOOKAHEAD_AUTOMATA: &[LookaheadDFA; 641] = &[ Trans(1, 30, 19, -1), Trans(1, 39, 35, -1), Trans(1, 70, 2, -1), - 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(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(5, 5, 42, -1), Trans(5, 112, 25, -1), Trans(6, 5, 38, -1), @@ -8640,7 +8639,7 @@ pub const LOOKAHEAD_AUTOMATA: &[LookaheadDFA; 641] = &[ Trans(7, 106, 19, -1), Trans(7, 109, 19, -1), Trans(7, 110, 19, -1), - Trans(8, 0, 17, 832), + Trans(8, 0, 17, 830), Trans(8, 5, 18, -1), Trans(8, 30, 19, -1), Trans(8, 36, 20, -1), @@ -8705,300 +8704,300 @@ pub const LOOKAHEAD_AUTOMATA: &[LookaheadDFA; 641] = &[ Trans(15, 112, 46, -1), Trans(16, 5, 42, -1), Trans(16, 112, 47, -1), - 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), + 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), ], k: 3, }, @@ -9006,25 +9005,25 @@ pub const LOOKAHEAD_AUTOMATA: &[LookaheadDFA; 641] = &[ LookaheadDFA { prod0: -1, transitions: &[ - 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), + 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), ], k: 1, }, @@ -9032,27 +9031,27 @@ pub const LOOKAHEAD_AUTOMATA: &[LookaheadDFA; 641] = &[ LookaheadDFA { prod0: -1, transitions: &[ - 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), + 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), ], k: 1, }, /* 340 - "InterfaceNamedBlock" */ LookaheadDFA { - prod0: 838, + prod0: 836, transitions: &[], k: 0, }, @@ -9060,30 +9059,30 @@ pub const LOOKAHEAD_AUTOMATA: &[LookaheadDFA; 641] = &[ LookaheadDFA { prod0: -1, transitions: &[ - 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), + 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), ], k: 1, }, /* 342 - "InterfaceOptionalNamedBlock" */ LookaheadDFA { - prod0: 841, + prod0: 839, transitions: &[], k: 0, }, @@ -9091,31 +9090,31 @@ pub const LOOKAHEAD_AUTOMATA: &[LookaheadDFA; 641] = &[ LookaheadDFA { prod0: -1, transitions: &[ - 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), + 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), ], k: 1, }, /* 344 - "InterfaceOptionalNamedBlockOpt" */ LookaheadDFA { prod0: -1, - transitions: &[Trans(0, 30, 1, 844), Trans(0, 39, 2, 845)], + transitions: &[Trans(0, 30, 1, 842), Trans(0, 39, 2, 843)], k: 1, }, /* 345 - "InterfaceTerm" */ @@ -9598,7 +9597,7 @@ pub const LOOKAHEAD_AUTOMATA: &[LookaheadDFA; 641] = &[ }, /* 393 - "ModuleDeclaration" */ LookaheadDFA { - prod0: 770, + prod0: 768, transitions: &[], k: 0, }, @@ -9606,44 +9605,44 @@ pub const LOOKAHEAD_AUTOMATA: &[LookaheadDFA; 641] = &[ LookaheadDFA { prod0: -1, transitions: &[ - 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), + 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), ], k: 1, }, /* 395 - "ModuleDeclarationOpt" */ LookaheadDFA { prod0: -1, - transitions: &[Trans(0, 85, 2, 780), Trans(0, 91, 1, 779)], + transitions: &[Trans(0, 85, 2, 778), Trans(0, 91, 1, 777)], k: 1, }, /* 396 - "ModuleDeclarationOpt0" */ LookaheadDFA { prod0: -1, transitions: &[ - Trans(0, 28, 1, 777), - Trans(0, 36, 2, 778), - Trans(0, 39, 2, 778), - Trans(0, 41, 2, 778), + Trans(0, 28, 1, 775), + Trans(0, 36, 2, 776), + Trans(0, 39, 2, 776), + Trans(0, 41, 2, 776), ], k: 1, }, @@ -9651,42 +9650,97 @@ pub const LOOKAHEAD_AUTOMATA: &[LookaheadDFA; 641] = &[ LookaheadDFA { prod0: -1, transitions: &[ - Trans(0, 36, 1, 775), - Trans(0, 39, 2, 776), - Trans(0, 41, 2, 776), + Trans(0, 36, 1, 773), + Trans(0, 39, 2, 774), + Trans(0, 41, 2, 774), ], k: 1, }, /* 398 - "ModuleDeclarationOpt2" */ LookaheadDFA { prod0: -1, - transitions: &[Trans(0, 39, 2, 774), Trans(0, 41, 1, 773)], + transitions: &[Trans(0, 39, 2, 772), Trans(0, 41, 1, 771)], k: 1, }, /* 399 - "ModuleForDeclaration" */ LookaheadDFA { - prod0: 786, + prod0: 784, transitions: &[], k: 0, }, /* 400 - "ModuleForDeclarationOpt" */ LookaheadDFA { prod0: -1, - transitions: &[Trans(0, 30, 2, 788), Trans(0, 102, 1, 787)], + transitions: &[Trans(0, 30, 2, 786), Trans(0, 102, 1, 785)], k: 1, }, /* 401 - "ModuleGroup" */ LookaheadDFA { - prod0: 797, + prod0: 795, 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" */ LookaheadDFA { prod0: -1, transitions: &[ Trans(0, 30, 2, 801), - Trans(0, 39, 1, 798), + Trans(0, 36, 1, 800), + Trans(0, 39, 2, 801), Trans(0, 48, 2, 801), Trans(0, 49, 2, 801), Trans(0, 50, 2, 801), @@ -9707,64 +9761,9 @@ pub const LOOKAHEAD_AUTOMATA: &[LookaheadDFA; 641] = &[ ], k: 1, }, - /* 403 - "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, - }, - /* 404 - "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, - }, /* 405 - "ModuleIfDeclaration" */ LookaheadDFA { - prod0: 781, + prod0: 779, transitions: &[], k: 0, }, @@ -9798,32 +9797,32 @@ pub const LOOKAHEAD_AUTOMATA: &[LookaheadDFA; 641] = &[ Trans(1, 30, 21, -1), Trans(1, 39, 38, -1), Trans(1, 70, 2, -1), - 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(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(5, 5, 46, -1), Trans(5, 112, 25, -1), Trans(6, 5, 42, -1), @@ -9850,7 +9849,7 @@ pub const LOOKAHEAD_AUTOMATA: &[LookaheadDFA; 641] = &[ Trans(7, 106, 21, -1), Trans(7, 109, 21, -1), Trans(7, 110, 21, -1), - Trans(8, 0, 19, 783), + Trans(8, 0, 19, 781), Trans(8, 5, 20, -1), Trans(8, 30, 21, -1), Trans(8, 36, 22, -1), @@ -9923,324 +9922,324 @@ pub const LOOKAHEAD_AUTOMATA: &[LookaheadDFA; 641] = &[ Trans(17, 112, 51, -1), Trans(18, 5, 46, -1), Trans(18, 112, 52, -1), - 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), + 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), ], k: 3, }, @@ -10248,28 +10247,28 @@ pub const LOOKAHEAD_AUTOMATA: &[LookaheadDFA; 641] = &[ LookaheadDFA { prod0: -1, transitions: &[ - 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), + 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), ], k: 1, }, @@ -10277,30 +10276,30 @@ pub const LOOKAHEAD_AUTOMATA: &[LookaheadDFA; 641] = &[ LookaheadDFA { prod0: -1, transitions: &[ - 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), + 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), ], k: 1, }, /* 409 - "ModuleNamedBlock" */ LookaheadDFA { - prod0: 789, + prod0: 787, transitions: &[], k: 0, }, @@ -10308,33 +10307,33 @@ pub const LOOKAHEAD_AUTOMATA: &[LookaheadDFA; 641] = &[ LookaheadDFA { prod0: -1, transitions: &[ - 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), + 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), ], k: 1, }, /* 411 - "ModuleOptionalNamedBlock" */ LookaheadDFA { - prod0: 792, + prod0: 790, transitions: &[], k: 0, }, @@ -10342,34 +10341,34 @@ pub const LOOKAHEAD_AUTOMATA: &[LookaheadDFA; 641] = &[ LookaheadDFA { prod0: -1, transitions: &[ - 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), + 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), ], k: 1, }, /* 413 - "ModuleOptionalNamedBlockOpt" */ LookaheadDFA { prod0: -1, - transitions: &[Trans(0, 30, 1, 795), Trans(0, 39, 2, 796)], + transitions: &[Trans(0, 30, 1, 793), Trans(0, 39, 2, 794)], k: 1, }, /* 414 - "ModuleTerm" */ @@ -10662,7 +10661,7 @@ pub const LOOKAHEAD_AUTOMATA: &[LookaheadDFA; 641] = &[ }, /* 461 - "PackageDeclaration" */ LookaheadDFA { - prod0: 867, + prod0: 865, transitions: &[], k: 0, }, @@ -10670,38 +10669,38 @@ pub const LOOKAHEAD_AUTOMATA: &[LookaheadDFA; 641] = &[ LookaheadDFA { prod0: -1, transitions: &[ - 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), + 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), ], k: 1, }, /* 463 - "PackageDeclarationOpt" */ LookaheadDFA { prod0: -1, - transitions: &[Trans(0, 89, 2, 873), Trans(0, 91, 1, 872)], + transitions: &[Trans(0, 89, 2, 871), Trans(0, 91, 1, 870)], k: 1, }, /* 464 - "PackageDeclarationOpt0" */ LookaheadDFA { prod0: -1, - transitions: &[Trans(0, 28, 1, 870), Trans(0, 39, 2, 871)], + transitions: &[Trans(0, 28, 1, 868), Trans(0, 39, 2, 869)], k: 1, }, /* 465 - "PackageGroup" */ LookaheadDFA { - prod0: 874, + prod0: 872, transitions: &[], k: 0, }, @@ -10709,18 +10708,18 @@ pub const LOOKAHEAD_AUTOMATA: &[LookaheadDFA; 641] = &[ LookaheadDFA { prod0: -1, transitions: &[ - Trans(0, 39, 1, 875), - Trans(0, 60, 2, 878), - Trans(0, 61, 2, 878), - Trans(0, 64, 2, 878), - Trans(0, 66, 2, 878), - Trans(0, 71, 2, 878), - Trans(0, 73, 2, 878), - Trans(0, 81, 2, 878), - Trans(0, 104, 2, 878), - Trans(0, 106, 2, 878), - Trans(0, 109, 2, 878), - Trans(0, 110, 2, 878), + 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, }, @@ -10728,20 +10727,20 @@ pub const LOOKAHEAD_AUTOMATA: &[LookaheadDFA; 641] = &[ 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), + 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, }, @@ -10749,19 +10748,19 @@ pub const LOOKAHEAD_AUTOMATA: &[LookaheadDFA; 641] = &[ LookaheadDFA { prod0: -1, transitions: &[ - 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, 2, 880), - Trans(0, 106, 2, 880), - Trans(0, 109, 2, 880), - Trans(0, 110, 2, 880), + Trans(0, 36, 1, 877), + Trans(0, 39, 2, 878), + Trans(0, 60, 2, 878), + Trans(0, 61, 2, 878), + Trans(0, 64, 2, 878), + Trans(0, 66, 2, 878), + Trans(0, 71, 2, 878), + Trans(0, 73, 2, 878), + Trans(0, 81, 2, 878), + Trans(0, 104, 2, 878), + Trans(0, 106, 2, 878), + Trans(0, 109, 2, 878), + Trans(0, 110, 2, 878), ], k: 1, }, @@ -10769,17 +10768,17 @@ pub const LOOKAHEAD_AUTOMATA: &[LookaheadDFA; 641] = &[ 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), + 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, 81, 2, 880), + Trans(0, 104, 5, 883), + Trans(0, 106, 3, 881), + Trans(0, 109, 5, 883), + Trans(0, 110, 1, 879), ], k: 1, }, @@ -10833,35 +10832,35 @@ pub const LOOKAHEAD_AUTOMATA: &[LookaheadDFA; 641] = &[ }, /* 478 - "PortDeclaration" */ LookaheadDFA { - prod0: 728, + prod0: 726, transitions: &[], k: 0, }, /* 479 - "PortDeclarationGroup" */ LookaheadDFA { - prod0: 736, + prod0: 734, transitions: &[], k: 0, }, /* 480 - "PortDeclarationGroupGroup" */ LookaheadDFA { prod0: -1, - transitions: &[Trans(0, 39, 1, 737), Trans(0, 112, 2, 738)], + transitions: &[Trans(0, 39, 1, 735), Trans(0, 112, 2, 736)], k: 1, }, /* 481 - "PortDeclarationGroupList" */ LookaheadDFA { prod0: -1, transitions: &[ - Trans(0, 36, 1, 739), - Trans(0, 39, 2, 740), - Trans(0, 112, 2, 740), + Trans(0, 36, 1, 737), + Trans(0, 39, 2, 738), + Trans(0, 112, 2, 738), ], k: 1, }, /* 482 - "PortDeclarationItem" */ LookaheadDFA { - prod0: 741, + prod0: 739, transitions: &[], k: 0, }, @@ -10869,12 +10868,12 @@ pub const LOOKAHEAD_AUTOMATA: &[LookaheadDFA; 641] = &[ LookaheadDFA { prod0: -1, transitions: &[ - 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), + 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), ], k: 1, }, @@ -10882,16 +10881,16 @@ pub const LOOKAHEAD_AUTOMATA: &[LookaheadDFA; 641] = &[ LookaheadDFA { prod0: -1, transitions: &[ - Trans(0, 31, 2, 745), - Trans(0, 40, 1, 744), - Trans(0, 43, 2, 745), - Trans(0, 45, 2, 745), + Trans(0, 31, 2, 743), + Trans(0, 40, 1, 742), + Trans(0, 43, 2, 743), + Trans(0, 45, 2, 743), ], k: 1, }, /* 485 - "PortDeclarationList" */ LookaheadDFA { - prod0: 731, + prod0: 729, transitions: &[], k: 0, }, @@ -10908,19 +10907,19 @@ pub const LOOKAHEAD_AUTOMATA: &[LookaheadDFA; 641] = &[ Trans(1, 43, 15, -1), Trans(1, 45, 16, -1), Trans(1, 112, 5, -1), - 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(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(7, 5, 13, -1), Trans(7, 31, 14, -1), Trans(7, 43, 15, -1), @@ -10928,74 +10927,74 @@ pub const LOOKAHEAD_AUTOMATA: &[LookaheadDFA; 641] = &[ Trans(8, 5, 9, -1), Trans(8, 13, 10, -1), Trans(8, 39, 11, -1), - 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), + 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), ], k: 3, }, @@ -11003,9 +11002,9 @@ pub const LOOKAHEAD_AUTOMATA: &[LookaheadDFA; 641] = &[ LookaheadDFA { prod0: -1, transitions: &[ - Trans(0, 31, 1, 734), - Trans(0, 43, 2, 735), - Trans(0, 45, 2, 735), + Trans(0, 31, 1, 732), + Trans(0, 43, 2, 733), + Trans(0, 45, 2, 733), ], k: 1, }, @@ -11013,10 +11012,10 @@ pub const LOOKAHEAD_AUTOMATA: &[LookaheadDFA; 641] = &[ LookaheadDFA { prod0: -1, transitions: &[ - Trans(0, 36, 1, 729), - Trans(0, 39, 1, 729), - Trans(0, 45, 2, 730), - Trans(0, 112, 1, 729), + Trans(0, 36, 1, 727), + Trans(0, 39, 1, 727), + Trans(0, 45, 2, 728), + Trans(0, 112, 1, 727), ], k: 1, }, @@ -15714,7 +15713,7 @@ pub const LOOKAHEAD_AUTOMATA: &[LookaheadDFA; 641] = &[ }, /* 613 - "Veryl" */ LookaheadDFA { - prod0: 914, + prod0: 912, transitions: &[], k: 0, }, @@ -15722,16 +15721,16 @@ pub const LOOKAHEAD_AUTOMATA: &[LookaheadDFA; 641] = &[ LookaheadDFA { prod0: -1, transitions: &[ - 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), + 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), ], k: 1, }, @@ -15749,7 +15748,7 @@ pub const LOOKAHEAD_AUTOMATA: &[LookaheadDFA; 641] = &[ }, /* 617 - "WithGenericArgument" */ LookaheadDFA { - prod0: 718, + prod0: 716, transitions: &[], k: 0, }, @@ -15757,19 +15756,19 @@ pub const LOOKAHEAD_AUTOMATA: &[LookaheadDFA; 641] = &[ LookaheadDFA { prod0: -1, transitions: &[ - 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), + 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), ], k: 1, }, /* 619 - "WithGenericArgumentList" */ LookaheadDFA { - prod0: 721, + prod0: 719, transitions: &[], k: 0, }, @@ -15788,26 +15787,26 @@ pub const LOOKAHEAD_AUTOMATA: &[LookaheadDFA; 641] = &[ Trans(1, 42, 25, -1), Trans(1, 111, 4, -1), Trans(1, 112, 5, -1), - 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(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(7, 5, 8, -1), Trans(7, 12, 9, -1), Trans(7, 14, 9, -1), @@ -15845,493 +15844,493 @@ pub const LOOKAHEAD_AUTOMATA: &[LookaheadDFA; 641] = &[ Trans(7, 79, 9, -1), Trans(7, 93, 9, -1), Trans(7, 102, 23, -1), - 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), + 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), ], k: 3, }, /* 621 - "WithGenericArgumentListOpt" */ LookaheadDFA { prod0: -1, - transitions: &[Trans(0, 31, 1, 724), Trans(0, 42, 2, 725)], + transitions: &[Trans(0, 31, 1, 722), Trans(0, 42, 2, 723)], k: 1, }, /* 622 - "WithGenericArgumentOpt" */ LookaheadDFA { prod0: -1, transitions: &[ - 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), + 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), ], k: 1, }, @@ -16343,25 +16342,34 @@ pub const LOOKAHEAD_AUTOMATA: &[LookaheadDFA; 641] = &[ }, /* 624 - "WithGenericParameterItem" */ LookaheadDFA { - prod0: 717, + prod0: 713, transitions: &[], k: 0, }, - /* 625 - "WithGenericParameterList" */ + /* 625 - "WithGenericParameterItemOpt" */ + LookaheadDFA { + prod0: -1, + transitions: &[ + Trans(0, 31, 2, 715), + Trans(0, 35, 1, 714), + Trans(0, 42, 2, 715), + ], + k: 1, + }, + /* 626 - "WithGenericParameterList" */ LookaheadDFA { prod0: 708, transitions: &[], k: 0, }, - /* 626 - "WithGenericParameterListList" */ + /* 627 - "WithGenericParameterListList" */ LookaheadDFA { prod0: -1, transitions: &[ Trans(0, 31, 1, -1), - Trans(0, 35, 5, -1), - Trans(0, 42, 6, -1), + Trans(0, 42, 5, -1), Trans(1, 5, 4, -1), - Trans(1, 42, 17, -1), + Trans(1, 42, 12, -1), Trans(1, 112, 2, -1), Trans(2, 5, 3, 709), Trans(2, 31, 3, 709), @@ -16369,227 +16377,101 @@ pub const LOOKAHEAD_AUTOMATA: &[LookaheadDFA; 641] = &[ Trans(2, 42, 3, 709), Trans(4, 42, 11, 710), Trans(4, 112, 3, 709), - Trans(5, 5, 7, -1), - Trans(5, 7, 8, -1), - Trans(5, 8, 8, -1), - Trans(5, 9, 8, -1), - Trans(5, 10, 8, -1), - Trans(5, 11, 8, -1), - Trans(5, 111, 9, -1), - Trans(5, 112, 10, -1), - Trans(6, 5, 12, -1), - Trans(6, 13, 13, -1), - Trans(6, 36, 14, -1), - Trans(6, 39, 15, -1), - Trans(6, 41, 16, -1), - Trans(7, 7, 11, 710), - Trans(7, 8, 11, 710), - Trans(7, 9, 11, 710), - Trans(7, 10, 11, 710), - Trans(7, 11, 11, 710), + 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, 31, 11, 710), - Trans(8, 42, 11, 710), + Trans(8, 41, 11, 710), Trans(9, 5, 11, 710), - Trans(9, 29, 11, 710), - Trans(9, 31, 11, 710), - Trans(9, 42, 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, 28, 11, 710), - Trans(10, 29, 11, 710), - Trans(10, 31, 11, 710), - Trans(10, 42, 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(13, 5, 11, 710), - Trans(13, 52, 11, 710), - Trans(13, 54, 11, 710), - Trans(13, 55, 11, 710), - Trans(13, 56, 11, 710), - Trans(13, 62, 11, 710), - Trans(13, 63, 11, 710), - Trans(13, 67, 11, 710), - Trans(13, 68, 11, 710), - Trans(13, 82, 11, 710), - Trans(13, 94, 11, 710), - Trans(13, 95, 11, 710), - Trans(13, 96, 11, 710), - Trans(13, 97, 11, 710), - Trans(13, 98, 11, 710), - Trans(13, 101, 11, 710), - Trans(13, 103, 11, 710), - Trans(13, 105, 11, 710), - Trans(13, 107, 11, 710), - Trans(13, 108, 11, 710), - Trans(13, 111, 11, 710), - Trans(13, 112, 11, 710), - Trans(14, 5, 11, 710), - Trans(14, 41, 11, 710), - Trans(15, 5, 11, 710), - Trans(15, 30, 11, 710), - Trans(15, 36, 11, 710), - Trans(15, 39, 11, 710), - Trans(15, 43, 11, 710), - Trans(15, 48, 11, 710), - Trans(15, 49, 11, 710), - Trans(15, 50, 11, 710), - Trans(15, 53, 11, 710), - Trans(15, 60, 11, 710), - Trans(15, 61, 11, 710), - Trans(15, 64, 11, 710), - Trans(15, 65, 11, 710), - Trans(15, 66, 11, 710), - Trans(15, 69, 11, 710), - Trans(15, 70, 11, 710), - Trans(15, 71, 11, 710), - Trans(15, 73, 11, 710), - Trans(15, 77, 11, 710), - Trans(15, 80, 11, 710), - Trans(15, 81, 11, 710), - Trans(15, 84, 11, 710), - Trans(15, 99, 11, 710), - Trans(15, 100, 11, 710), - Trans(15, 104, 11, 710), - Trans(15, 106, 11, 710), - Trans(15, 109, 11, 710), - Trans(15, 110, 11, 710), - Trans(15, 111, 11, 710), - Trans(15, 112, 11, 710), - Trans(16, 5, 11, 710), - Trans(16, 36, 11, 710), - Trans(16, 39, 11, 710), - Trans(16, 45, 11, 710), - Trans(16, 112, 11, 710), - Trans(17, 5, 11, 710), - Trans(17, 13, 11, 710), - Trans(17, 36, 11, 710), - Trans(17, 39, 11, 710), - Trans(17, 41, 11, 710), ], k: 3, }, - /* 627 - "WithGenericParameterListOpt" */ - LookaheadDFA { - prod0: -1, - transitions: &[ - Trans(0, 31, 2, 716), - Trans(0, 35, 1, 713), - Trans(0, 42, 2, 716), - ], - k: 1, - }, - /* 628 - "WithGenericParameterListOpt0" */ + /* 628 - "WithGenericParameterListOpt" */ LookaheadDFA { prod0: -1, transitions: &[Trans(0, 31, 1, 711), Trans(0, 42, 2, 712)], k: 1, }, - /* 629 - "WithGenericParameterListOptList" */ - LookaheadDFA { - prod0: -1, - transitions: &[ - Trans(0, 31, 1, -1), - Trans(0, 42, 5, -1), - Trans(1, 5, 4, -1), - Trans(1, 42, 12, -1), - Trans(1, 112, 2, -1), - Trans(2, 5, 3, 714), - Trans(2, 35, 3, 714), - Trans(4, 42, 11, 715), - Trans(4, 112, 3, 714), - 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, 715), - Trans(6, 36, 11, 715), - Trans(6, 39, 11, 715), - Trans(6, 41, 11, 715), - Trans(7, 5, 11, 715), - Trans(7, 52, 11, 715), - Trans(7, 54, 11, 715), - Trans(7, 55, 11, 715), - Trans(7, 56, 11, 715), - Trans(7, 62, 11, 715), - Trans(7, 63, 11, 715), - Trans(7, 67, 11, 715), - Trans(7, 68, 11, 715), - Trans(7, 82, 11, 715), - Trans(7, 94, 11, 715), - Trans(7, 95, 11, 715), - Trans(7, 96, 11, 715), - Trans(7, 97, 11, 715), - Trans(7, 98, 11, 715), - Trans(7, 101, 11, 715), - Trans(7, 103, 11, 715), - Trans(7, 105, 11, 715), - Trans(7, 107, 11, 715), - Trans(7, 108, 11, 715), - Trans(7, 111, 11, 715), - Trans(7, 112, 11, 715), - Trans(8, 5, 11, 715), - Trans(8, 41, 11, 715), - Trans(9, 5, 11, 715), - Trans(9, 30, 11, 715), - Trans(9, 36, 11, 715), - Trans(9, 39, 11, 715), - Trans(9, 43, 11, 715), - Trans(9, 48, 11, 715), - Trans(9, 49, 11, 715), - Trans(9, 50, 11, 715), - Trans(9, 53, 11, 715), - Trans(9, 60, 11, 715), - Trans(9, 61, 11, 715), - Trans(9, 64, 11, 715), - Trans(9, 65, 11, 715), - Trans(9, 66, 11, 715), - Trans(9, 69, 11, 715), - Trans(9, 70, 11, 715), - Trans(9, 71, 11, 715), - Trans(9, 73, 11, 715), - Trans(9, 77, 11, 715), - Trans(9, 80, 11, 715), - Trans(9, 81, 11, 715), - Trans(9, 84, 11, 715), - Trans(9, 99, 11, 715), - Trans(9, 100, 11, 715), - Trans(9, 104, 11, 715), - Trans(9, 106, 11, 715), - Trans(9, 109, 11, 715), - Trans(9, 110, 11, 715), - Trans(9, 111, 11, 715), - Trans(9, 112, 11, 715), - Trans(10, 5, 11, 715), - Trans(10, 36, 11, 715), - Trans(10, 39, 11, 715), - Trans(10, 45, 11, 715), - Trans(10, 112, 11, 715), - Trans(12, 5, 11, 715), - Trans(12, 13, 11, 715), - Trans(12, 36, 11, 715), - Trans(12, 39, 11, 715), - Trans(12, 41, 11, 715), - ], - k: 3, - }, - /* 630 - "WithParameter" */ + /* 629 - "WithParameter" */ LookaheadDFA { prod0: 689, transitions: &[], k: 0, }, - /* 631 - "WithParameterGroup" */ + /* 630 - "WithParameterGroup" */ LookaheadDFA { prod0: 697, transitions: &[], k: 0, }, - /* 632 - "WithParameterGroupGroup" */ + /* 631 - "WithParameterGroupGroup" */ LookaheadDFA { prod0: -1, transitions: &[ @@ -16599,7 +16481,7 @@ pub const LOOKAHEAD_AUTOMATA: &[LookaheadDFA; 641] = &[ ], k: 1, }, - /* 633 - "WithParameterGroupList" */ + /* 632 - "WithParameterGroupList" */ LookaheadDFA { prod0: -1, transitions: &[ @@ -16610,19 +16492,19 @@ pub const LOOKAHEAD_AUTOMATA: &[LookaheadDFA; 641] = &[ ], k: 1, }, - /* 634 - "WithParameterItem" */ + /* 633 - "WithParameterItem" */ LookaheadDFA { prod0: 702, transitions: &[], k: 0, }, - /* 635 - "WithParameterItemGroup" */ + /* 634 - "WithParameterItemGroup" */ LookaheadDFA { prod0: -1, transitions: &[Trans(0, 81, 2, 706), Trans(0, 90, 1, 705)], k: 1, }, - /* 636 - "WithParameterItemGroup0" */ + /* 635 - "WithParameterItemGroup0" */ LookaheadDFA { prod0: -1, transitions: &[ @@ -16651,13 +16533,13 @@ pub const LOOKAHEAD_AUTOMATA: &[LookaheadDFA; 641] = &[ ], k: 1, }, - /* 637 - "WithParameterList" */ + /* 636 - "WithParameterList" */ LookaheadDFA { prod0: 692, transitions: &[], k: 0, }, - /* 638 - "WithParameterListList" */ + /* 637 - "WithParameterListList" */ LookaheadDFA { prod0: -1, transitions: &[ @@ -16743,7 +16625,7 @@ pub const LOOKAHEAD_AUTOMATA: &[LookaheadDFA; 641] = &[ ], k: 3, }, - /* 639 - "WithParameterListOpt" */ + /* 638 - "WithParameterListOpt" */ LookaheadDFA { prod0: -1, transitions: &[ @@ -16753,7 +16635,7 @@ pub const LOOKAHEAD_AUTOMATA: &[LookaheadDFA; 641] = &[ ], k: 1, }, - /* 640 - "WithParameterOpt" */ + /* 639 - "WithParameterOpt" */ LookaheadDFA { prod0: -1, transitions: &[ @@ -16767,7 +16649,7 @@ pub const LOOKAHEAD_AUTOMATA: &[LookaheadDFA; 641] = &[ }, ]; -pub const PRODUCTIONS: &[Production; 917] = &[ +pub const PRODUCTIONS: &[Production; 915] = &[ // 0 - CommentsTerm: "(?:(?:(?://.*(?:\r\n|\r|\n|$))|(?:(?ms)/\u{2a}.*?\u{2a}/))\s*)+"; Production { lhs: 102, @@ -20468,171 +20350,150 @@ pub const PRODUCTIONS: &[Production; 917] = &[ }, // 689 - WithParameter: Hash LParen WithParameterOpt /* Option */ RParen; Production { - lhs: 630, + lhs: 629, production: &[ ParseType::N(504), - ParseType::N(640), + ParseType::N(639), ParseType::N(356), ParseType::N(232), ], }, // 690 - WithParameterOpt: WithParameterList; Production { - lhs: 640, - production: &[ParseType::N(637)], + lhs: 639, + production: &[ParseType::N(636)], }, // 691 - WithParameterOpt: ; Production { - lhs: 640, + lhs: 639, production: &[], }, // 692 - WithParameterList: WithParameterGroup WithParameterListList /* Vec */ WithParameterListOpt /* Option */; Production { - lhs: 637, - production: &[ParseType::N(639), ParseType::N(638), ParseType::N(631)], + lhs: 636, + production: &[ParseType::N(638), ParseType::N(637), ParseType::N(630)], }, // 693 - WithParameterListList: Comma WithParameterGroup WithParameterListList; Production { - lhs: 638, - production: &[ParseType::N(638), ParseType::N(631), ParseType::N(97)], + lhs: 637, + production: &[ParseType::N(637), ParseType::N(630), ParseType::N(97)], }, // 694 - WithParameterListList: ; Production { - lhs: 638, + lhs: 637, production: &[], }, // 695 - WithParameterListOpt: Comma; Production { - lhs: 639, + lhs: 638, production: &[ParseType::N(97)], }, // 696 - WithParameterListOpt: ; Production { - lhs: 639, + lhs: 638, production: &[], }, // 697 - WithParameterGroup: WithParameterGroupList /* Vec */ WithParameterGroupGroup; Production { - lhs: 631, - production: &[ParseType::N(632), ParseType::N(633)], + lhs: 630, + production: &[ParseType::N(631), ParseType::N(632)], }, // 698 - WithParameterGroupGroup: LBrace WithParameterList RBrace; Production { - lhs: 632, - production: &[ParseType::N(498), ParseType::N(637), ParseType::N(350)], + lhs: 631, + production: &[ParseType::N(498), ParseType::N(636), ParseType::N(350)], }, // 699 - WithParameterGroupGroup: WithParameterItem; Production { - lhs: 632, - production: &[ParseType::N(634)], + lhs: 631, + production: &[ParseType::N(633)], }, // 700 - WithParameterGroupList: Attribute WithParameterGroupList; Production { - lhs: 633, - production: &[ParseType::N(633), ParseType::N(45)], + lhs: 632, + production: &[ParseType::N(632), ParseType::N(45)], }, // 701 - WithParameterGroupList: ; Production { - lhs: 633, + lhs: 632, production: &[], }, // 702 - WithParameterItem: WithParameterItemGroup Identifier Colon WithParameterItemGroup0; Production { - lhs: 634, + lhs: 633, production: &[ - ParseType::N(636), + ParseType::N(635), ParseType::N(88), ParseType::N(245), - ParseType::N(635), + ParseType::N(634), ], }, // 703 - WithParameterItemGroup0: ArrayType Equ Expression; Production { - lhs: 636, + lhs: 635, production: &[ParseType::N(165), ParseType::N(153), ParseType::N(31)], }, // 704 - WithParameterItemGroup0: Type Equ TypeExpression; Production { - lhs: 636, + lhs: 635, production: &[ParseType::N(590), ParseType::N(153), ParseType::N(588)], }, // 705 - WithParameterItemGroup: Param; Production { - lhs: 635, + lhs: 634, production: &[ParseType::N(472)], }, // 706 - WithParameterItemGroup: Local; Production { - lhs: 635, + lhs: 634, production: &[ParseType::N(364)], }, // 707 - WithGenericParameter: ColonColonLAngle WithGenericParameterList RAngle; Production { lhs: 623, - production: &[ParseType::N(495), ParseType::N(625), ParseType::N(90)], + production: &[ParseType::N(495), ParseType::N(626), ParseType::N(90)], }, - // 708 - WithGenericParameterList: WithGenericParameterItem WithGenericParameterListList /* Vec */ WithGenericParameterListOpt /* Option */ WithGenericParameterListOpt0 /* Option */; + // 708 - WithGenericParameterList: WithGenericParameterItem WithGenericParameterListList /* Vec */ WithGenericParameterListOpt /* Option */; Production { - lhs: 625, - production: &[ - ParseType::N(628), - ParseType::N(627), - ParseType::N(626), - ParseType::N(624), - ], + lhs: 626, + production: &[ParseType::N(628), ParseType::N(627), ParseType::N(624)], }, // 709 - WithGenericParameterListList: Comma WithGenericParameterItem WithGenericParameterListList; Production { - lhs: 626, - production: &[ParseType::N(626), ParseType::N(624), ParseType::N(97)], + lhs: 627, + production: &[ParseType::N(627), ParseType::N(624), ParseType::N(97)], }, // 710 - WithGenericParameterListList: ; Production { - lhs: 626, + lhs: 627, production: &[], }, - // 711 - WithGenericParameterListOpt0: Comma; + // 711 - WithGenericParameterListOpt: Comma; Production { lhs: 628, production: &[ParseType::N(97)], }, - // 712 - WithGenericParameterListOpt0: ; + // 712 - WithGenericParameterListOpt: ; Production { lhs: 628, production: &[], }, - // 713 - WithGenericParameterListOpt: Equ WithGenericArgumentItem WithGenericParameterListOptList /* Vec */; + // 713 - WithGenericParameterItem: Identifier WithGenericParameterItemOpt /* Option */; Production { - lhs: 627, - production: &[ParseType::N(629), ParseType::N(618), ParseType::N(153)], - }, - // 714 - WithGenericParameterListOptList: Comma WithGenericParameterItem Equ WithGenericArgumentItem WithGenericParameterListOptList; - Production { - lhs: 629, - production: &[ - ParseType::N(629), - ParseType::N(618), - ParseType::N(153), - ParseType::N(624), - ParseType::N(97), - ], + lhs: 624, + production: &[ParseType::N(625), ParseType::N(245)], }, - // 715 - WithGenericParameterListOptList: ; + // 714 - WithGenericParameterItemOpt: Equ WithGenericArgumentItem; Production { - lhs: 629, - production: &[], + lhs: 625, + production: &[ParseType::N(618), ParseType::N(153)], }, - // 716 - WithGenericParameterListOpt: ; + // 715 - WithGenericParameterItemOpt: ; Production { - lhs: 627, + lhs: 625, production: &[], }, - // 717 - WithGenericParameterItem: Identifier; - Production { - lhs: 624, - production: &[ParseType::N(245)], - }, - // 718 - WithGenericArgument: ColonColonLAngle Push(2) WithGenericArgumentOpt /* Option */ RAngle Pop; + // 716 - WithGenericArgument: ColonColonLAngle Push(2) WithGenericArgumentOpt /* Option */ RAngle Pop; Production { lhs: 617, production: &[ @@ -20643,167 +20504,167 @@ pub const PRODUCTIONS: &[Production; 917] = &[ ParseType::N(90), ], }, - // 719 - WithGenericArgumentOpt: WithGenericArgumentList; + // 717 - WithGenericArgumentOpt: WithGenericArgumentList; Production { lhs: 622, production: &[ParseType::N(619)], }, - // 720 - WithGenericArgumentOpt: ; + // 718 - WithGenericArgumentOpt: ; Production { lhs: 622, production: &[], }, - // 721 - WithGenericArgumentList: WithGenericArgumentItem WithGenericArgumentListList /* Vec */ WithGenericArgumentListOpt /* Option */; + // 719 - WithGenericArgumentList: WithGenericArgumentItem WithGenericArgumentListList /* Vec */ WithGenericArgumentListOpt /* Option */; Production { lhs: 619, production: &[ParseType::N(621), ParseType::N(620), ParseType::N(618)], }, - // 722 - WithGenericArgumentListList: Comma WithGenericArgumentItem WithGenericArgumentListList; + // 720 - WithGenericArgumentListList: Comma WithGenericArgumentItem WithGenericArgumentListList; Production { lhs: 620, production: &[ParseType::N(620), ParseType::N(618), ParseType::N(97)], }, - // 723 - WithGenericArgumentListList: ; + // 721 - WithGenericArgumentListList: ; Production { lhs: 620, production: &[], }, - // 724 - WithGenericArgumentListOpt: Comma; + // 722 - WithGenericArgumentListOpt: Comma; Production { lhs: 621, production: &[ParseType::N(97)], }, - // 725 - WithGenericArgumentListOpt: ; + // 723 - WithGenericArgumentListOpt: ; Production { lhs: 621, production: &[], }, - // 726 - WithGenericArgumentItem: ScopedIdentifier; + // 724 - WithGenericArgumentItem: ScopedIdentifier; Production { lhs: 618, production: &[ParseType::N(543)], }, - // 727 - WithGenericArgumentItem: Number; + // 725 - WithGenericArgumentItem: Number; Production { lhs: 618, production: &[ParseType::N(419)], }, - // 728 - PortDeclaration: LParen PortDeclarationOpt /* Option */ RParen; + // 726 - PortDeclaration: LParen PortDeclarationOpt /* Option */ RParen; Production { lhs: 478, production: &[ParseType::N(504), ParseType::N(488), ParseType::N(356)], }, - // 729 - PortDeclarationOpt: PortDeclarationList; + // 727 - PortDeclarationOpt: PortDeclarationList; Production { lhs: 488, production: &[ParseType::N(485)], }, - // 730 - PortDeclarationOpt: ; + // 728 - PortDeclarationOpt: ; Production { lhs: 488, production: &[], }, - // 731 - PortDeclarationList: PortDeclarationGroup PortDeclarationListList /* Vec */ PortDeclarationListOpt /* Option */; + // 729 - PortDeclarationList: PortDeclarationGroup PortDeclarationListList /* Vec */ PortDeclarationListOpt /* Option */; Production { lhs: 485, production: &[ParseType::N(487), ParseType::N(486), ParseType::N(479)], }, - // 732 - PortDeclarationListList: Comma PortDeclarationGroup PortDeclarationListList; + // 730 - PortDeclarationListList: Comma PortDeclarationGroup PortDeclarationListList; Production { lhs: 486, production: &[ParseType::N(486), ParseType::N(479), ParseType::N(97)], }, - // 733 - PortDeclarationListList: ; + // 731 - PortDeclarationListList: ; Production { lhs: 486, production: &[], }, - // 734 - PortDeclarationListOpt: Comma; + // 732 - PortDeclarationListOpt: Comma; Production { lhs: 487, production: &[ParseType::N(97)], }, - // 735 - PortDeclarationListOpt: ; + // 733 - PortDeclarationListOpt: ; Production { lhs: 487, production: &[], }, - // 736 - PortDeclarationGroup: PortDeclarationGroupList /* Vec */ PortDeclarationGroupGroup; + // 734 - PortDeclarationGroup: PortDeclarationGroupList /* Vec */ PortDeclarationGroupGroup; Production { lhs: 479, production: &[ParseType::N(480), ParseType::N(481)], }, - // 737 - PortDeclarationGroupGroup: LBrace PortDeclarationList RBrace; + // 735 - PortDeclarationGroupGroup: LBrace PortDeclarationList RBrace; Production { lhs: 480, production: &[ParseType::N(498), ParseType::N(485), ParseType::N(350)], }, - // 738 - PortDeclarationGroupGroup: PortDeclarationItem; + // 736 - PortDeclarationGroupGroup: PortDeclarationItem; Production { lhs: 480, production: &[ParseType::N(482)], }, - // 739 - PortDeclarationGroupList: Attribute PortDeclarationGroupList; + // 737 - PortDeclarationGroupList: Attribute PortDeclarationGroupList; Production { lhs: 481, production: &[ParseType::N(481), ParseType::N(45)], }, - // 740 - PortDeclarationGroupList: ; + // 738 - PortDeclarationGroupList: ; Production { lhs: 481, production: &[], }, - // 741 - PortDeclarationItem: Identifier Colon PortDeclarationItemGroup; + // 739 - PortDeclarationItem: Identifier Colon PortDeclarationItemGroup; Production { lhs: 482, production: &[ParseType::N(483), ParseType::N(88), ParseType::N(245)], }, - // 742 - PortDeclarationItemGroup: Direction ArrayType; + // 740 - PortDeclarationItemGroup: Direction ArrayType; Production { lhs: 483, production: &[ParseType::N(31), ParseType::N(116)], }, - // 743 - PortDeclarationItemGroup: Interface PortDeclarationItemOpt /* Option */; + // 741 - PortDeclarationItemGroup: Interface PortDeclarationItemOpt /* Option */; Production { lhs: 483, production: &[ParseType::N(484), ParseType::N(324)], }, - // 744 - PortDeclarationItemOpt: Array; + // 742 - PortDeclarationItemOpt: Array; Production { lhs: 484, production: &[ParseType::N(23)], }, - // 745 - PortDeclarationItemOpt: ; + // 743 - PortDeclarationItemOpt: ; Production { lhs: 484, production: &[], }, - // 746 - Direction: Input; + // 744 - Direction: Input; Production { lhs: 116, production: &[ParseType::N(290)], }, - // 747 - Direction: Output; + // 745 - Direction: Output; Production { lhs: 116, production: &[ParseType::N(453)], }, - // 748 - Direction: Inout; + // 746 - Direction: Inout; Production { lhs: 116, production: &[ParseType::N(287)], }, - // 749 - Direction: Ref; + // 747 - Direction: Ref; Production { lhs: 116, production: &[ParseType::N(515)], }, - // 750 - Direction: Modport; + // 748 - Direction: Modport; Production { lhs: 116, production: &[ParseType::N(381)], }, - // 751 - FunctionDeclaration: Function Identifier FunctionDeclarationOpt /* Option */ FunctionDeclarationOpt0 /* Option */ FunctionDeclarationOpt1 /* Option */ LBrace FunctionDeclarationList /* Vec */ RBrace; + // 749 - FunctionDeclaration: Function Identifier FunctionDeclarationOpt /* Option */ FunctionDeclarationOpt0 /* Option */ FunctionDeclarationOpt1 /* Option */ LBrace FunctionDeclarationList /* Vec */ RBrace; Production { lhs: 224, production: &[ @@ -20817,57 +20678,57 @@ pub const PRODUCTIONS: &[Production; 917] = &[ ParseType::N(221), ], }, - // 752 - FunctionDeclarationList: FunctionItem FunctionDeclarationList; + // 750 - FunctionDeclarationList: FunctionItem FunctionDeclarationList; Production { lhs: 225, production: &[ParseType::N(225), ParseType::N(229)], }, - // 753 - FunctionDeclarationList: ; + // 751 - FunctionDeclarationList: ; Production { lhs: 225, production: &[], }, - // 754 - FunctionDeclarationOpt1: MinusGT ScalarType; + // 752 - FunctionDeclarationOpt1: MinusGT ScalarType; Production { lhs: 228, production: &[ParseType::N(540), ParseType::N(378)], }, - // 755 - FunctionDeclarationOpt1: ; + // 753 - FunctionDeclarationOpt1: ; Production { lhs: 228, production: &[], }, - // 756 - FunctionDeclarationOpt0: PortDeclaration; + // 754 - FunctionDeclarationOpt0: PortDeclaration; Production { lhs: 227, production: &[ParseType::N(478)], }, - // 757 - FunctionDeclarationOpt0: ; + // 755 - FunctionDeclarationOpt0: ; Production { lhs: 227, production: &[], }, - // 758 - FunctionDeclarationOpt: WithGenericParameter; + // 756 - FunctionDeclarationOpt: WithGenericParameter; Production { lhs: 226, production: &[ParseType::N(623)], }, - // 759 - FunctionDeclarationOpt: ; + // 757 - FunctionDeclarationOpt: ; Production { lhs: 226, production: &[], }, - // 760 - FunctionItem: VarDeclaration; + // 758 - FunctionItem: VarDeclaration; Production { lhs: 229, production: &[ParseType::N(607)], }, - // 761 - FunctionItem: Statement; + // 759 - FunctionItem: Statement; Production { lhs: 229, production: &[ParseType::N(562)], }, - // 762 - ImportDeclaration: Import ScopedIdentifier ImportDeclarationOpt /* Option */ Semicolon; + // 760 - ImportDeclaration: Import ScopedIdentifier ImportDeclarationOpt /* Option */ Semicolon; Production { lhs: 271, production: &[ @@ -20877,42 +20738,42 @@ pub const PRODUCTIONS: &[Production; 917] = &[ ParseType::N(270), ], }, - // 763 - ImportDeclarationOpt: ColonColon Star; + // 761 - ImportDeclarationOpt: ColonColon Star; Production { lhs: 272, production: &[ParseType::N(557), ParseType::N(89)], }, - // 764 - ImportDeclarationOpt: ; + // 762 - ImportDeclarationOpt: ; Production { lhs: 272, production: &[], }, - // 765 - ExportDeclaration: Export ExportDeclarationGroup Semicolon; + // 763 - ExportDeclaration: Export ExportDeclarationGroup Semicolon; Production { lhs: 160, production: &[ParseType::N(551), ParseType::N(161), ParseType::N(159)], }, - // 766 - ExportDeclarationGroup: Star; + // 764 - ExportDeclarationGroup: Star; Production { lhs: 161, production: &[ParseType::N(557)], }, - // 767 - ExportDeclarationGroup: ScopedIdentifier ExportDeclarationOpt /* Option */; + // 765 - ExportDeclarationGroup: ScopedIdentifier ExportDeclarationOpt /* Option */; Production { lhs: 161, production: &[ParseType::N(162), ParseType::N(543)], }, - // 768 - ExportDeclarationOpt: ColonColon Star; + // 766 - ExportDeclarationOpt: ColonColon Star; Production { lhs: 162, production: &[ParseType::N(557), ParseType::N(89)], }, - // 769 - ExportDeclarationOpt: ; + // 767 - ExportDeclarationOpt: ; Production { lhs: 162, production: &[], }, - // 770 - ModuleDeclaration: ModuleDeclarationOpt /* Option */ Module Identifier ModuleDeclarationOpt0 /* Option */ ModuleDeclarationOpt1 /* Option */ ModuleDeclarationOpt2 /* Option */ LBrace ModuleDeclarationList /* Vec */ RBrace; + // 768 - ModuleDeclaration: ModuleDeclarationOpt /* Option */ Module Identifier ModuleDeclarationOpt0 /* Option */ ModuleDeclarationOpt1 /* Option */ ModuleDeclarationOpt2 /* Option */ LBrace ModuleDeclarationList /* Vec */ RBrace; Production { lhs: 393, production: &[ @@ -20927,57 +20788,57 @@ pub const PRODUCTIONS: &[Production; 917] = &[ ParseType::N(395), ], }, - // 771 - ModuleDeclarationList: ModuleGroup ModuleDeclarationList; + // 769 - ModuleDeclarationList: ModuleGroup ModuleDeclarationList; Production { lhs: 394, production: &[ParseType::N(394), ParseType::N(401)], }, - // 772 - ModuleDeclarationList: ; + // 770 - ModuleDeclarationList: ; Production { lhs: 394, production: &[], }, - // 773 - ModuleDeclarationOpt2: PortDeclaration; + // 771 - ModuleDeclarationOpt2: PortDeclaration; Production { lhs: 398, production: &[ParseType::N(478)], }, - // 774 - ModuleDeclarationOpt2: ; + // 772 - ModuleDeclarationOpt2: ; Production { lhs: 398, production: &[], }, - // 775 - ModuleDeclarationOpt1: WithParameter; + // 773 - ModuleDeclarationOpt1: WithParameter; Production { lhs: 397, - production: &[ParseType::N(630)], + production: &[ParseType::N(629)], }, - // 776 - ModuleDeclarationOpt1: ; + // 774 - ModuleDeclarationOpt1: ; Production { lhs: 397, production: &[], }, - // 777 - ModuleDeclarationOpt0: WithGenericParameter; + // 775 - ModuleDeclarationOpt0: WithGenericParameter; Production { lhs: 396, production: &[ParseType::N(623)], }, - // 778 - ModuleDeclarationOpt0: ; + // 776 - ModuleDeclarationOpt0: ; Production { lhs: 396, production: &[], }, - // 779 - ModuleDeclarationOpt: Pub; + // 777 - ModuleDeclarationOpt: Pub; Production { lhs: 395, production: &[ParseType::N(489)], }, - // 780 - ModuleDeclarationOpt: ; + // 778 - ModuleDeclarationOpt: ; Production { lhs: 395, production: &[], }, - // 781 - ModuleIfDeclaration: If Expression ModuleNamedBlock ModuleIfDeclarationList /* Vec */ ModuleIfDeclarationOpt /* Option */; + // 779 - ModuleIfDeclaration: If Expression ModuleNamedBlock ModuleIfDeclarationList /* Vec */ ModuleIfDeclarationOpt /* Option */; Production { lhs: 405, production: &[ @@ -20988,7 +20849,7 @@ pub const PRODUCTIONS: &[Production; 917] = &[ ParseType::N(250), ], }, - // 782 - ModuleIfDeclarationList: Else If Expression ModuleOptionalNamedBlock ModuleIfDeclarationList; + // 780 - ModuleIfDeclarationList: Else If Expression ModuleOptionalNamedBlock ModuleIfDeclarationList; Production { lhs: 406, production: &[ @@ -20999,22 +20860,22 @@ pub const PRODUCTIONS: &[Production; 917] = &[ ParseType::N(129), ], }, - // 783 - ModuleIfDeclarationList: ; + // 781 - ModuleIfDeclarationList: ; Production { lhs: 406, production: &[], }, - // 784 - ModuleIfDeclarationOpt: Else ModuleOptionalNamedBlock; + // 782 - ModuleIfDeclarationOpt: Else ModuleOptionalNamedBlock; Production { lhs: 407, production: &[ParseType::N(411), ParseType::N(129)], }, - // 785 - ModuleIfDeclarationOpt: ; + // 783 - ModuleIfDeclarationOpt: ; Production { lhs: 407, production: &[], }, - // 786 - ModuleForDeclaration: For Identifier In Range ModuleForDeclarationOpt /* Option */ ModuleNamedBlock; + // 784 - ModuleForDeclaration: For Identifier In Range ModuleForDeclarationOpt /* Option */ ModuleNamedBlock; Production { lhs: 399, production: &[ @@ -21026,17 +20887,17 @@ pub const PRODUCTIONS: &[Production; 917] = &[ ParseType::N(215), ], }, - // 787 - ModuleForDeclarationOpt: Step AssignmentOperator Expression; + // 785 - ModuleForDeclarationOpt: Step AssignmentOperator Expression; Production { lhs: 400, production: &[ParseType::N(165), ParseType::N(42), ParseType::N(563)], }, - // 788 - ModuleForDeclarationOpt: ; + // 786 - ModuleForDeclarationOpt: ; Production { lhs: 400, production: &[], }, - // 789 - ModuleNamedBlock: Colon Identifier LBrace ModuleNamedBlockList /* Vec */ RBrace; + // 787 - ModuleNamedBlock: Colon Identifier LBrace ModuleNamedBlockList /* Vec */ RBrace; Production { lhs: 409, production: &[ @@ -21047,17 +20908,17 @@ pub const PRODUCTIONS: &[Production; 917] = &[ ParseType::N(88), ], }, - // 790 - ModuleNamedBlockList: ModuleGroup ModuleNamedBlockList; + // 788 - ModuleNamedBlockList: ModuleGroup ModuleNamedBlockList; Production { lhs: 410, production: &[ParseType::N(410), ParseType::N(401)], }, - // 791 - ModuleNamedBlockList: ; + // 789 - ModuleNamedBlockList: ; Production { lhs: 410, production: &[], }, - // 792 - ModuleOptionalNamedBlock: ModuleOptionalNamedBlockOpt /* Option */ LBrace ModuleOptionalNamedBlockList /* Vec */ RBrace; + // 790 - ModuleOptionalNamedBlock: ModuleOptionalNamedBlockOpt /* Option */ LBrace ModuleOptionalNamedBlockList /* Vec */ RBrace; Production { lhs: 411, production: &[ @@ -21067,147 +20928,147 @@ pub const PRODUCTIONS: &[Production; 917] = &[ ParseType::N(413), ], }, - // 793 - ModuleOptionalNamedBlockList: ModuleGroup ModuleOptionalNamedBlockList; + // 791 - ModuleOptionalNamedBlockList: ModuleGroup ModuleOptionalNamedBlockList; Production { lhs: 412, production: &[ParseType::N(412), ParseType::N(401)], }, - // 794 - ModuleOptionalNamedBlockList: ; + // 792 - ModuleOptionalNamedBlockList: ; Production { lhs: 412, production: &[], }, - // 795 - ModuleOptionalNamedBlockOpt: Colon Identifier; + // 793 - ModuleOptionalNamedBlockOpt: Colon Identifier; Production { lhs: 413, production: &[ParseType::N(245), ParseType::N(88)], }, - // 796 - ModuleOptionalNamedBlockOpt: ; + // 794 - ModuleOptionalNamedBlockOpt: ; Production { lhs: 413, production: &[], }, - // 797 - ModuleGroup: ModuleGroupList /* Vec */ ModuleGroupGroup; + // 795 - ModuleGroup: ModuleGroupList /* Vec */ ModuleGroupGroup; Production { lhs: 401, production: &[ParseType::N(402), ParseType::N(404)], }, - // 798 - ModuleGroupGroup: LBrace ModuleGroupGroupList /* Vec */ RBrace; + // 796 - ModuleGroupGroup: LBrace ModuleGroupGroupList /* Vec */ RBrace; Production { lhs: 402, production: &[ParseType::N(498), ParseType::N(403), ParseType::N(350)], }, - // 799 - ModuleGroupGroupList: ModuleGroup ModuleGroupGroupList; + // 797 - ModuleGroupGroupList: ModuleGroup ModuleGroupGroupList; Production { lhs: 403, production: &[ParseType::N(403), ParseType::N(401)], }, - // 800 - ModuleGroupGroupList: ; + // 798 - ModuleGroupGroupList: ; Production { lhs: 403, production: &[], }, - // 801 - ModuleGroupGroup: ModuleItem; + // 799 - ModuleGroupGroup: ModuleItem; Production { lhs: 402, production: &[ParseType::N(408)], }, - // 802 - ModuleGroupList: Attribute ModuleGroupList; + // 800 - ModuleGroupList: Attribute ModuleGroupList; Production { lhs: 404, production: &[ParseType::N(404), ParseType::N(45)], }, - // 803 - ModuleGroupList: ; + // 801 - ModuleGroupList: ; Production { lhs: 404, production: &[], }, - // 804 - ModuleItem: LetDeclaration; + // 802 - ModuleItem: LetDeclaration; Production { lhs: 408, production: &[ParseType::N(360)], }, - // 805 - ModuleItem: VarDeclaration; + // 803 - ModuleItem: VarDeclaration; Production { lhs: 408, production: &[ParseType::N(607)], }, - // 806 - ModuleItem: InstDeclaration; + // 804 - ModuleItem: InstDeclaration; Production { lhs: 408, production: &[ParseType::N(298)], }, - // 807 - ModuleItem: TypeDefDeclaration; + // 805 - ModuleItem: TypeDefDeclaration; Production { lhs: 408, production: &[ParseType::N(589)], }, - // 808 - ModuleItem: LocalDeclaration; + // 806 - ModuleItem: LocalDeclaration; Production { lhs: 408, production: &[ParseType::N(365)], }, - // 809 - ModuleItem: AlwaysFfDeclaration; + // 807 - ModuleItem: AlwaysFfDeclaration; Production { lhs: 408, production: &[ParseType::N(12)], }, - // 810 - ModuleItem: AlwaysCombDeclaration; + // 808 - ModuleItem: AlwaysCombDeclaration; Production { lhs: 408, production: &[ParseType::N(6)], }, - // 811 - ModuleItem: AssignDeclaration; + // 809 - ModuleItem: AssignDeclaration; Production { lhs: 408, production: &[ParseType::N(37)], }, - // 812 - ModuleItem: FunctionDeclaration; + // 810 - ModuleItem: FunctionDeclaration; Production { lhs: 408, production: &[ParseType::N(224)], }, - // 813 - ModuleItem: ModuleIfDeclaration; + // 811 - ModuleItem: ModuleIfDeclaration; Production { lhs: 408, production: &[ParseType::N(405)], }, - // 814 - ModuleItem: ModuleForDeclaration; + // 812 - ModuleItem: ModuleForDeclaration; Production { lhs: 408, production: &[ParseType::N(399)], }, - // 815 - ModuleItem: EnumDeclaration; + // 813 - ModuleItem: EnumDeclaration; Production { lhs: 408, production: &[ParseType::N(142)], }, - // 816 - ModuleItem: StructUnionDeclaration; + // 814 - ModuleItem: StructUnionDeclaration; Production { lhs: 408, production: &[ParseType::N(576)], }, - // 817 - ModuleItem: ModuleNamedBlock; + // 815 - ModuleItem: ModuleNamedBlock; Production { lhs: 408, production: &[ParseType::N(409)], }, - // 818 - ModuleItem: ImportDeclaration; + // 816 - ModuleItem: ImportDeclaration; Production { lhs: 408, production: &[ParseType::N(271)], }, - // 819 - ModuleItem: InitialDeclaration; + // 817 - ModuleItem: InitialDeclaration; Production { lhs: 408, production: &[ParseType::N(283)], }, - // 820 - ModuleItem: FinalDeclaration; + // 818 - ModuleItem: FinalDeclaration; Production { lhs: 408, production: &[ParseType::N(207)], }, - // 821 - InterfaceDeclaration: InterfaceDeclarationOpt /* Option */ Interface Identifier InterfaceDeclarationOpt0 /* Option */ InterfaceDeclarationOpt1 /* Option */ LBrace InterfaceDeclarationList /* Vec */ RBrace; + // 819 - InterfaceDeclaration: InterfaceDeclarationOpt /* Option */ Interface Identifier InterfaceDeclarationOpt0 /* Option */ InterfaceDeclarationOpt1 /* Option */ LBrace InterfaceDeclarationList /* Vec */ RBrace; Production { lhs: 325, production: &[ @@ -21221,47 +21082,47 @@ pub const PRODUCTIONS: &[Production; 917] = &[ ParseType::N(327), ], }, - // 822 - InterfaceDeclarationList: InterfaceGroup InterfaceDeclarationList; + // 820 - InterfaceDeclarationList: InterfaceGroup InterfaceDeclarationList; Production { lhs: 326, production: &[ParseType::N(326), ParseType::N(332)], }, - // 823 - InterfaceDeclarationList: ; + // 821 - InterfaceDeclarationList: ; Production { lhs: 326, production: &[], }, - // 824 - InterfaceDeclarationOpt1: WithParameter; + // 822 - InterfaceDeclarationOpt1: WithParameter; Production { lhs: 329, - production: &[ParseType::N(630)], + production: &[ParseType::N(629)], }, - // 825 - InterfaceDeclarationOpt1: ; + // 823 - InterfaceDeclarationOpt1: ; Production { lhs: 329, production: &[], }, - // 826 - InterfaceDeclarationOpt0: WithGenericParameter; + // 824 - InterfaceDeclarationOpt0: WithGenericParameter; Production { lhs: 328, production: &[ParseType::N(623)], }, - // 827 - InterfaceDeclarationOpt0: ; + // 825 - InterfaceDeclarationOpt0: ; Production { lhs: 328, production: &[], }, - // 828 - InterfaceDeclarationOpt: Pub; + // 826 - InterfaceDeclarationOpt: Pub; Production { lhs: 327, production: &[ParseType::N(489)], }, - // 829 - InterfaceDeclarationOpt: ; + // 827 - InterfaceDeclarationOpt: ; Production { lhs: 327, production: &[], }, - // 830 - InterfaceIfDeclaration: If Expression InterfaceNamedBlock InterfaceIfDeclarationList /* Vec */ InterfaceIfDeclarationOpt /* Option */; + // 828 - InterfaceIfDeclaration: If Expression InterfaceNamedBlock InterfaceIfDeclarationList /* Vec */ InterfaceIfDeclarationOpt /* Option */; Production { lhs: 336, production: &[ @@ -21272,7 +21133,7 @@ pub const PRODUCTIONS: &[Production; 917] = &[ ParseType::N(250), ], }, - // 831 - InterfaceIfDeclarationList: Else If Expression InterfaceOptionalNamedBlock InterfaceIfDeclarationList; + // 829 - InterfaceIfDeclarationList: Else If Expression InterfaceOptionalNamedBlock InterfaceIfDeclarationList; Production { lhs: 337, production: &[ @@ -21283,22 +21144,22 @@ pub const PRODUCTIONS: &[Production; 917] = &[ ParseType::N(129), ], }, - // 832 - InterfaceIfDeclarationList: ; + // 830 - InterfaceIfDeclarationList: ; Production { lhs: 337, production: &[], }, - // 833 - InterfaceIfDeclarationOpt: Else InterfaceOptionalNamedBlock; + // 831 - InterfaceIfDeclarationOpt: Else InterfaceOptionalNamedBlock; Production { lhs: 338, production: &[ParseType::N(342), ParseType::N(129)], }, - // 834 - InterfaceIfDeclarationOpt: ; + // 832 - InterfaceIfDeclarationOpt: ; Production { lhs: 338, production: &[], }, - // 835 - InterfaceForDeclaration: For Identifier In Range InterfaceForDeclarationOpt /* Option */ InterfaceNamedBlock; + // 833 - InterfaceForDeclaration: For Identifier In Range InterfaceForDeclarationOpt /* Option */ InterfaceNamedBlock; Production { lhs: 330, production: &[ @@ -21310,17 +21171,17 @@ pub const PRODUCTIONS: &[Production; 917] = &[ ParseType::N(215), ], }, - // 836 - InterfaceForDeclarationOpt: Step AssignmentOperator Expression; + // 834 - InterfaceForDeclarationOpt: Step AssignmentOperator Expression; Production { lhs: 331, production: &[ParseType::N(165), ParseType::N(42), ParseType::N(563)], }, - // 837 - InterfaceForDeclarationOpt: ; + // 835 - InterfaceForDeclarationOpt: ; Production { lhs: 331, production: &[], }, - // 838 - InterfaceNamedBlock: Colon Identifier LBrace InterfaceNamedBlockList /* Vec */ RBrace; + // 836 - InterfaceNamedBlock: Colon Identifier LBrace InterfaceNamedBlockList /* Vec */ RBrace; Production { lhs: 340, production: &[ @@ -21331,17 +21192,17 @@ pub const PRODUCTIONS: &[Production; 917] = &[ ParseType::N(88), ], }, - // 839 - InterfaceNamedBlockList: InterfaceGroup InterfaceNamedBlockList; + // 837 - InterfaceNamedBlockList: InterfaceGroup InterfaceNamedBlockList; Production { lhs: 341, production: &[ParseType::N(341), ParseType::N(332)], }, - // 840 - InterfaceNamedBlockList: ; + // 838 - InterfaceNamedBlockList: ; Production { lhs: 341, production: &[], }, - // 841 - InterfaceOptionalNamedBlock: InterfaceOptionalNamedBlockOpt /* Option */ LBrace InterfaceOptionalNamedBlockList /* Vec */ RBrace; + // 839 - InterfaceOptionalNamedBlock: InterfaceOptionalNamedBlockOpt /* Option */ LBrace InterfaceOptionalNamedBlockList /* Vec */ RBrace; Production { lhs: 342, production: &[ @@ -21351,132 +21212,132 @@ pub const PRODUCTIONS: &[Production; 917] = &[ ParseType::N(344), ], }, - // 842 - InterfaceOptionalNamedBlockList: InterfaceGroup InterfaceOptionalNamedBlockList; + // 840 - InterfaceOptionalNamedBlockList: InterfaceGroup InterfaceOptionalNamedBlockList; Production { lhs: 343, production: &[ParseType::N(343), ParseType::N(332)], }, - // 843 - InterfaceOptionalNamedBlockList: ; + // 841 - InterfaceOptionalNamedBlockList: ; Production { lhs: 343, production: &[], }, - // 844 - InterfaceOptionalNamedBlockOpt: Colon Identifier; + // 842 - InterfaceOptionalNamedBlockOpt: Colon Identifier; Production { lhs: 344, production: &[ParseType::N(245), ParseType::N(88)], }, - // 845 - InterfaceOptionalNamedBlockOpt: ; + // 843 - InterfaceOptionalNamedBlockOpt: ; Production { lhs: 344, production: &[], }, - // 846 - InterfaceGroup: InterfaceGroupList /* Vec */ InterfaceGroupGroup; + // 844 - InterfaceGroup: InterfaceGroupList /* Vec */ InterfaceGroupGroup; Production { lhs: 332, production: &[ParseType::N(333), ParseType::N(335)], }, - // 847 - InterfaceGroupGroup: LBrace InterfaceGroupGroupList /* Vec */ RBrace; + // 845 - InterfaceGroupGroup: LBrace InterfaceGroupGroupList /* Vec */ RBrace; Production { lhs: 333, production: &[ParseType::N(498), ParseType::N(334), ParseType::N(350)], }, - // 848 - InterfaceGroupGroupList: InterfaceGroup InterfaceGroupGroupList; + // 846 - InterfaceGroupGroupList: InterfaceGroup InterfaceGroupGroupList; Production { lhs: 334, production: &[ParseType::N(334), ParseType::N(332)], }, - // 849 - InterfaceGroupGroupList: ; + // 847 - InterfaceGroupGroupList: ; Production { lhs: 334, production: &[], }, - // 850 - InterfaceGroupGroup: InterfaceItem; + // 848 - InterfaceGroupGroup: InterfaceItem; Production { lhs: 333, production: &[ParseType::N(339)], }, - // 851 - InterfaceGroupList: Attribute InterfaceGroupList; + // 849 - InterfaceGroupList: Attribute InterfaceGroupList; Production { lhs: 335, production: &[ParseType::N(335), ParseType::N(45)], }, - // 852 - InterfaceGroupList: ; + // 850 - InterfaceGroupList: ; Production { lhs: 335, production: &[], }, - // 853 - InterfaceItem: LetDeclaration; + // 851 - InterfaceItem: LetDeclaration; Production { lhs: 339, production: &[ParseType::N(360)], }, - // 854 - InterfaceItem: VarDeclaration; + // 852 - InterfaceItem: VarDeclaration; Production { lhs: 339, production: &[ParseType::N(607)], }, - // 855 - InterfaceItem: LocalDeclaration; + // 853 - InterfaceItem: LocalDeclaration; Production { lhs: 339, production: &[ParseType::N(365)], }, - // 856 - InterfaceItem: ModportDeclaration; + // 854 - InterfaceItem: ModportDeclaration; Production { lhs: 339, production: &[ParseType::N(382)], }, - // 857 - InterfaceItem: InterfaceIfDeclaration; + // 855 - InterfaceItem: InterfaceIfDeclaration; Production { lhs: 339, production: &[ParseType::N(336)], }, - // 858 - InterfaceItem: InterfaceForDeclaration; + // 856 - InterfaceItem: InterfaceForDeclaration; Production { lhs: 339, production: &[ParseType::N(330)], }, - // 859 - InterfaceItem: TypeDefDeclaration; + // 857 - InterfaceItem: TypeDefDeclaration; Production { lhs: 339, production: &[ParseType::N(589)], }, - // 860 - InterfaceItem: EnumDeclaration; + // 858 - InterfaceItem: EnumDeclaration; Production { lhs: 339, production: &[ParseType::N(142)], }, - // 861 - InterfaceItem: StructUnionDeclaration; + // 859 - InterfaceItem: StructUnionDeclaration; Production { lhs: 339, production: &[ParseType::N(576)], }, - // 862 - InterfaceItem: InterfaceNamedBlock; + // 860 - InterfaceItem: InterfaceNamedBlock; Production { lhs: 339, production: &[ParseType::N(340)], }, - // 863 - InterfaceItem: FunctionDeclaration; + // 861 - InterfaceItem: FunctionDeclaration; Production { lhs: 339, production: &[ParseType::N(224)], }, - // 864 - InterfaceItem: ImportDeclaration; + // 862 - InterfaceItem: ImportDeclaration; Production { lhs: 339, production: &[ParseType::N(271)], }, - // 865 - InterfaceItem: InitialDeclaration; + // 863 - InterfaceItem: InitialDeclaration; Production { lhs: 339, production: &[ParseType::N(283)], }, - // 866 - InterfaceItem: FinalDeclaration; + // 864 - InterfaceItem: FinalDeclaration; Production { lhs: 339, production: &[ParseType::N(207)], }, - // 867 - PackageDeclaration: PackageDeclarationOpt /* Option */ Package Identifier PackageDeclarationOpt0 /* Option */ LBrace PackageDeclarationList /* Vec */ RBrace; + // 865 - PackageDeclaration: PackageDeclarationOpt /* Option */ Package Identifier PackageDeclarationOpt0 /* Option */ LBrace PackageDeclarationList /* Vec */ RBrace; Production { lhs: 461, production: &[ @@ -21489,122 +21350,122 @@ pub const PRODUCTIONS: &[Production; 917] = &[ ParseType::N(463), ], }, - // 868 - PackageDeclarationList: PackageGroup PackageDeclarationList; + // 866 - PackageDeclarationList: PackageGroup PackageDeclarationList; Production { lhs: 462, production: &[ParseType::N(462), ParseType::N(465)], }, - // 869 - PackageDeclarationList: ; + // 867 - PackageDeclarationList: ; Production { lhs: 462, production: &[], }, - // 870 - PackageDeclarationOpt0: WithGenericParameter; + // 868 - PackageDeclarationOpt0: WithGenericParameter; Production { lhs: 464, production: &[ParseType::N(623)], }, - // 871 - PackageDeclarationOpt0: ; + // 869 - PackageDeclarationOpt0: ; Production { lhs: 464, production: &[], }, - // 872 - PackageDeclarationOpt: Pub; + // 870 - PackageDeclarationOpt: Pub; Production { lhs: 463, production: &[ParseType::N(489)], }, - // 873 - PackageDeclarationOpt: ; + // 871 - PackageDeclarationOpt: ; Production { lhs: 463, production: &[], }, - // 874 - PackageGroup: PackageGroupList /* Vec */ PackageGroupGroup; + // 872 - PackageGroup: PackageGroupList /* Vec */ PackageGroupGroup; Production { lhs: 465, production: &[ParseType::N(466), ParseType::N(468)], }, - // 875 - PackageGroupGroup: LBrace PackageGroupGroupList /* Vec */ RBrace; + // 873 - PackageGroupGroup: LBrace PackageGroupGroupList /* Vec */ RBrace; Production { lhs: 466, production: &[ParseType::N(498), ParseType::N(467), ParseType::N(350)], }, - // 876 - PackageGroupGroupList: PackageGroup PackageGroupGroupList; + // 874 - PackageGroupGroupList: PackageGroup PackageGroupGroupList; Production { lhs: 467, production: &[ParseType::N(467), ParseType::N(465)], }, - // 877 - PackageGroupGroupList: ; + // 875 - PackageGroupGroupList: ; Production { lhs: 467, production: &[], }, - // 878 - PackageGroupGroup: PackageItem; + // 876 - PackageGroupGroup: PackageItem; Production { lhs: 466, production: &[ParseType::N(469)], }, - // 879 - PackageGroupList: Attribute PackageGroupList; + // 877 - PackageGroupList: Attribute PackageGroupList; Production { lhs: 468, production: &[ParseType::N(468), ParseType::N(45)], }, - // 880 - PackageGroupList: ; + // 878 - PackageGroupList: ; Production { lhs: 468, production: &[], }, - // 881 - PackageItem: VarDeclaration; + // 879 - PackageItem: VarDeclaration; Production { lhs: 469, production: &[ParseType::N(607)], }, - // 882 - PackageItem: LocalDeclaration; + // 880 - PackageItem: LocalDeclaration; Production { lhs: 469, production: &[ParseType::N(365)], }, - // 883 - PackageItem: TypeDefDeclaration; + // 881 - PackageItem: TypeDefDeclaration; Production { lhs: 469, production: &[ParseType::N(589)], }, - // 884 - PackageItem: EnumDeclaration; + // 882 - PackageItem: EnumDeclaration; Production { lhs: 469, production: &[ParseType::N(142)], }, - // 885 - PackageItem: StructUnionDeclaration; + // 883 - PackageItem: StructUnionDeclaration; Production { lhs: 469, production: &[ParseType::N(576)], }, - // 886 - PackageItem: FunctionDeclaration; + // 884 - PackageItem: FunctionDeclaration; Production { lhs: 469, production: &[ParseType::N(224)], }, - // 887 - PackageItem: ImportDeclaration; + // 885 - PackageItem: ImportDeclaration; Production { lhs: 469, production: &[ParseType::N(271)], }, - // 888 - PackageItem: ExportDeclaration; + // 886 - PackageItem: ExportDeclaration; Production { lhs: 469, production: &[ParseType::N(160)], }, - // 889 - PackageItem: InitialDeclaration; + // 887 - PackageItem: InitialDeclaration; Production { lhs: 469, production: &[ParseType::N(283)], }, - // 890 - PackageItem: FinalDeclaration; + // 888 - PackageItem: FinalDeclaration; Production { lhs: 469, production: &[ParseType::N(207)], }, - // 891 - EmbedDeclaration: Embed LParen Identifier RParen Identifier EmbedContent; + // 889 - EmbedDeclaration: Embed LParen Identifier RParen Identifier EmbedContent; Production { lhs: 136, production: &[ @@ -21616,12 +21477,12 @@ pub const PRODUCTIONS: &[Production; 917] = &[ ParseType::N(132), ], }, - // 892 - EmbedContent: EmbedContentToken : crate::veryl_token::VerylToken ; + // 890 - EmbedContent: EmbedContentToken : crate::veryl_token::VerylToken ; Production { lhs: 133, production: &[ParseType::N(134)], }, - // 893 - EmbedContentToken: LBraceTerm Push(1) LBraceTerm LBraceTerm EmbedContentTokenList /* Vec */ RBraceTerm RBraceTerm RBraceTerm Pop; + // 891 - EmbedContentToken: LBraceTerm Push(1) LBraceTerm LBraceTerm EmbedContentTokenList /* Vec */ RBraceTerm RBraceTerm RBraceTerm Pop; Production { lhs: 134, production: &[ @@ -21636,37 +21497,37 @@ pub const PRODUCTIONS: &[Production; 917] = &[ ParseType::N(351), ], }, - // 894 - EmbedContentTokenList: EmbedItem EmbedContentTokenList; + // 892 - EmbedContentTokenList: EmbedItem EmbedContentTokenList; Production { lhs: 135, production: &[ParseType::N(135), ParseType::N(137)], }, - // 895 - EmbedContentTokenList: ; + // 893 - EmbedContentTokenList: ; Production { lhs: 135, production: &[], }, - // 896 - EmbedItem: LBraceTerm EmbedItemList /* Vec */ RBraceTerm; + // 894 - EmbedItem: LBraceTerm EmbedItemList /* Vec */ RBraceTerm; Production { lhs: 137, production: &[ParseType::N(499), ParseType::N(138), ParseType::N(351)], }, - // 897 - EmbedItemList: EmbedItem EmbedItemList; + // 895 - EmbedItemList: EmbedItem EmbedItemList; Production { lhs: 138, production: &[ParseType::N(138), ParseType::N(137)], }, - // 898 - EmbedItemList: ; + // 896 - EmbedItemList: ; Production { lhs: 138, production: &[], }, - // 899 - EmbedItem: AnyTerm; + // 897 - EmbedItem: AnyTerm; Production { lhs: 137, production: &[ParseType::N(18)], }, - // 900 - IncludeDeclaration: Include LParen Identifier Comma StringLiteral RParen Semicolon; + // 898 - IncludeDeclaration: Include LParen Identifier Comma StringLiteral RParen Semicolon; Production { lhs: 279, production: &[ @@ -21679,82 +21540,82 @@ pub const PRODUCTIONS: &[Production; 917] = &[ ParseType::N(278), ], }, - // 901 - DescriptionGroup: DescriptionGroupList /* Vec */ DescriptionGroupGroup; + // 899 - DescriptionGroup: DescriptionGroupList /* Vec */ DescriptionGroupGroup; Production { lhs: 111, production: &[ParseType::N(112), ParseType::N(114)], }, - // 902 - DescriptionGroupGroup: LBrace DescriptionGroupGroupList /* Vec */ RBrace; + // 900 - DescriptionGroupGroup: LBrace DescriptionGroupGroupList /* Vec */ RBrace; Production { lhs: 112, production: &[ParseType::N(498), ParseType::N(113), ParseType::N(350)], }, - // 903 - DescriptionGroupGroupList: DescriptionGroup DescriptionGroupGroupList; + // 901 - DescriptionGroupGroupList: DescriptionGroup DescriptionGroupGroupList; Production { lhs: 113, production: &[ParseType::N(113), ParseType::N(111)], }, - // 904 - DescriptionGroupGroupList: ; + // 902 - DescriptionGroupGroupList: ; Production { lhs: 113, production: &[], }, - // 905 - DescriptionGroupGroup: DescriptionItem; + // 903 - DescriptionGroupGroup: DescriptionItem; Production { lhs: 112, production: &[ParseType::N(115)], }, - // 906 - DescriptionGroupList: Attribute DescriptionGroupList; + // 904 - DescriptionGroupList: Attribute DescriptionGroupList; Production { lhs: 114, production: &[ParseType::N(114), ParseType::N(45)], }, - // 907 - DescriptionGroupList: ; + // 905 - DescriptionGroupList: ; Production { lhs: 114, production: &[], }, - // 908 - DescriptionItem: ModuleDeclaration; + // 906 - DescriptionItem: ModuleDeclaration; Production { lhs: 115, production: &[ParseType::N(393)], }, - // 909 - DescriptionItem: InterfaceDeclaration; + // 907 - DescriptionItem: InterfaceDeclaration; Production { lhs: 115, production: &[ParseType::N(325)], }, - // 910 - DescriptionItem: PackageDeclaration; + // 908 - DescriptionItem: PackageDeclaration; Production { lhs: 115, production: &[ParseType::N(461)], }, - // 911 - DescriptionItem: ImportDeclaration; + // 909 - DescriptionItem: ImportDeclaration; Production { lhs: 115, production: &[ParseType::N(271)], }, - // 912 - DescriptionItem: EmbedDeclaration; + // 910 - DescriptionItem: EmbedDeclaration; Production { lhs: 115, production: &[ParseType::N(136)], }, - // 913 - DescriptionItem: IncludeDeclaration; + // 911 - DescriptionItem: IncludeDeclaration; Production { lhs: 115, production: &[ParseType::N(279)], }, - // 914 - Veryl: Start VerylList /* Vec */; + // 912 - Veryl: Start VerylList /* Vec */; Production { lhs: 613, production: &[ParseType::N(614), ParseType::N(560)], }, - // 915 - VerylList: DescriptionGroup VerylList; + // 913 - VerylList: DescriptionGroup VerylList; Production { lhs: 614, production: &[ParseType::N(614), ParseType::N(111)], }, - // 916 - VerylList: ; + // 914 - VerylList: ; Production { lhs: 614, production: &[], diff --git a/crates/parser/src/veryl_walker.rs b/crates/parser/src/veryl_walker.rs index b5e42487..5bf0859d 100644 --- a/crates/parser/src/veryl_walker.rs +++ b/crates/parser/src/veryl_walker.rs @@ -2187,16 +2187,6 @@ pub trait VerylWalker { self.with_generic_parameter_item(&x.with_generic_parameter_item); } if let Some(ref x) = arg.with_generic_parameter_list_opt { - self.equ(&x.equ); - self.with_generic_argument_item(&x.with_generic_argument_item); - for x in &x.with_generic_parameter_list_opt_list { - self.comma(&x.comma); - self.with_generic_parameter_item(&x.with_generic_parameter_item); - self.equ(&x.equ); - self.with_generic_argument_item(&x.with_generic_argument_item); - } - } - if let Some(ref x) = arg.with_generic_parameter_list_opt0 { self.comma(&x.comma); } after!(self, with_generic_parameter_list, arg); @@ -2206,6 +2196,10 @@ pub trait VerylWalker { fn with_generic_parameter_item(&mut self, arg: &WithGenericParameterItem) { before!(self, with_generic_parameter_item, arg); self.identifier(&arg.identifier); + if let Some(ref x) = arg.with_generic_parameter_item_opt { + self.equ(&x.equ); + self.with_generic_argument_item(&x.with_generic_argument_item); + } after!(self, with_generic_parameter_item, arg); } diff --git a/crates/parser/veryl.par b/crates/parser/veryl.par index 970aeacc..8648183c 100644 --- a/crates/parser/veryl.par +++ b/crates/parser/veryl.par @@ -649,11 +649,9 @@ WithParameterItem: ( Param | Local ) Identifier Colon ( ArrayType Equ Expression WithGenericParameter: ColonColonLAngle WithGenericParameterList RAngle; -WithGenericParameterList: - WithGenericParameterItem { Comma WithGenericParameterItem } - [ Equ WithGenericArgumentItem { Comma WithGenericParameterItem Equ WithGenericArgumentItem } ] [ Comma ]; +WithGenericParameterList: WithGenericParameterItem { Comma WithGenericParameterItem } [ Comma ]; -WithGenericParameterItem: Identifier; +WithGenericParameterItem: Identifier [ Equ WithGenericArgumentItem ]; // ---------------------------------------------------------------------------- // WithGenericArgument