diff --git a/crates/analyzer/src/handlers/check_type.rs b/crates/analyzer/src/handlers/check_type.rs index 09730d91..61465605 100644 --- a/crates/analyzer/src/handlers/check_type.rs +++ b/crates/analyzer/src/handlers/check_type.rs @@ -210,12 +210,62 @@ impl VerylGrammarTrait for CheckType<'_> { )); } } + GenericBoundKind::Inst(proto) => { + let proto_match = if arg.is_resolvable() { + if let Ok(symbol) = + symbol_table::resolve((&arg.generic_path(), &namespace)) + { + if let SymbolKind::Instance(x) = symbol.found.kind { + if let Ok(x) = symbol_table::resolve(( + &x.type_name.mangled_path(), + &namespace, + )) { + if let Some(ref x) = x.found.proto() { + let actual = + symbol_table::resolve((x, &namespace)); + let required = symbol_table::resolve(( + proto, + &defined_namespace, + )); + if let (Ok(actual), Ok(required)) = + (actual, required) + { + actual.found.id == required.found.id + } else { + false + } + } else { + false + } + } else { + false + } + } else { + false + } + } else { + false + } + } else { + false + }; + + if !proto_match { + self.errors.push(AnalyzerError::mismatch_type( + &symbol.found.token.to_string(), + &format!("inst {proto}"), + &symbol.found.kind.to_kind_name(), + self.text, + &arg.range, + )); + } + } GenericBoundKind::Proto(proto) => { let proto_match = if arg.is_resolvable() { if let Ok(symbol) = symbol_table::resolve((&arg.generic_path(), &namespace)) { - if let Some(ref x) = symbol.found.kind.proto() { + if let Some(ref x) = symbol.found.proto() { let actual = symbol_table::resolve((x, &namespace)); let required = symbol_table::resolve(( proto, @@ -327,13 +377,18 @@ impl VerylGrammarTrait for CheckType<'_> { if let GenericBoundKind::Proto(ref x) = x.bound { if let Ok(symbol) = symbol_table::resolve((x, &symbol.found.namespace)) { - if let SymbolKind::ProtoModule(x) = symbol.found.kind { - params.append(&mut x.parameters.clone()); - ports.append(&mut x.ports.clone()); - check_port_connection = true; - None - } else { - Some("module or interface") + match &symbol.found.kind { + SymbolKind::ProtoModule(x) => { + params.append(&mut x.parameters.clone()); + ports.append(&mut x.ports.clone()); + check_port_connection = true; + None + } + SymbolKind::Interface(x) => { + params.append(&mut x.parameters.clone()); + None + } + _ => Some("module or interface"), } } else { None diff --git a/crates/analyzer/src/handlers/create_symbol_table.rs b/crates/analyzer/src/handlers/create_symbol_table.rs index 2a40ae48..ff02b3c1 100644 --- a/crates/analyzer/src/handlers/create_symbol_table.rs +++ b/crates/analyzer/src/handlers/create_symbol_table.rs @@ -977,6 +977,9 @@ impl VerylGrammarTrait for CreateSymbolTable<'_> { let bound = match arg.generic_bound.as_ref() { GenericBound::Const(_) => GenericBoundKind::Const, GenericBound::Type(_) => GenericBoundKind::Type, + GenericBound::InstScopedIdentifier(x) => { + GenericBoundKind::Inst(x.scoped_identifier.as_ref().into()) + } GenericBound::ScopedIdentifier(x) => { GenericBoundKind::Proto(x.scoped_identifier.as_ref().into()) } diff --git a/crates/analyzer/src/symbol.rs b/crates/analyzer/src/symbol.rs index 1677276a..d8a9d6d6 100644 --- a/crates/analyzer/src/symbol.rs +++ b/crates/analyzer/src/symbol.rs @@ -297,6 +297,18 @@ impl Symbol { _ => Vec::new(), } } + + pub fn proto(&self) -> Option { + match &self.kind { + SymbolKind::Module(x) => x.proto.clone(), + SymbolKind::Interface(_) => Some((&self.token).into()), + SymbolKind::GenericParameter(x) => match x.bound { + GenericBoundKind::Proto(ref x) => Some(x.clone()), + _ => None, + }, + _ => None, + } + } } #[derive(Debug, Clone)] @@ -416,17 +428,6 @@ impl SymbolKind { } } - pub fn proto(&self) -> Option { - match self { - SymbolKind::Module(x) => x.proto.clone(), - SymbolKind::GenericParameter(x) => match x.bound { - GenericBoundKind::Proto(ref x) => Some(x.clone()), - _ => None, - }, - _ => None, - } - } - pub fn get_type(&self) -> Option<&Type> { match self { SymbolKind::Port(x) => x.r#type.as_ref(), @@ -1354,6 +1355,7 @@ pub struct ModportFunctionMemberProperty { pub enum GenericBoundKind { Const, Type, + Inst(SymbolPath), Proto(SymbolPath), } @@ -1362,6 +1364,7 @@ impl fmt::Display for GenericBoundKind { let text = match self { GenericBoundKind::Const => "const".to_string(), GenericBoundKind::Type => "type".to_string(), + GenericBoundKind::Inst(x) => x.to_string(), GenericBoundKind::Proto(x) => x.to_string(), }; text.fmt(f) diff --git a/crates/analyzer/src/symbol_table.rs b/crates/analyzer/src/symbol_table.rs index 26249769..38c58de8 100644 --- a/crates/analyzer/src/symbol_table.rs +++ b/crates/analyzer/src/symbol_table.rs @@ -1,6 +1,6 @@ use crate::evaluator::Evaluated; use crate::namespace::Namespace; -use crate::symbol::{DocComment, Symbol, SymbolId, SymbolKind, TypeKind}; +use crate::symbol::{DocComment, GenericBoundKind, Symbol, SymbolId, SymbolKind, TypeKind}; use crate::symbol_path::{SymbolPath, SymbolPathNamespace}; use crate::var_ref::{Assign, VarRef, VarRefAffiliation}; use std::cell::RefCell; @@ -268,9 +268,15 @@ impl SymbolTable { .generic_namespace_map .insert(symbol.token.text, found.token.text); } - SymbolKind::GenericParameter(_) => { - context.namespace = found.inner_namespace(); - context.inner = true; + SymbolKind::GenericParameter(ref x) => { + if let GenericBoundKind::Inst(proto) = &x.bound { + let symbol = self.resolve(proto, &found.namespace)?; + context.namespace = symbol.found.inner_namespace(); + context.inner = true; + } else { + context.namespace = found.inner_namespace(); + context.inner = true; + } } // don't trace inner item SymbolKind::Function(_) diff --git a/crates/analyzer/src/tests.rs b/crates/analyzer/src/tests.rs index 243f2a30..8614f5c5 100644 --- a/crates/analyzer/src/tests.rs +++ b/crates/analyzer/src/tests.rs @@ -1012,9 +1012,9 @@ fn mismatch_type() { assert!(matches!(errors[0], AnalyzerError::MismatchType { .. })); let code = r#" - module ModuleB_0 {} - module ModuleB_1 { - inst u: ModuleB_0; + module ModuleA {} + module ModuleB { + inst u: ModuleA; let _b: u = 1; } "#; @@ -1023,11 +1023,11 @@ fn mismatch_type() { assert!(matches!(errors[0], AnalyzerError::MismatchType { .. })); let code = r#" - module ModuleC { - function FuncC() -> logic { + module ModuleA { + function FuncA() -> logic { return 0; } - let _c: FuncC = 1; + let _a: FuncA = 1; } "#; @@ -1035,9 +1035,9 @@ fn mismatch_type() { assert!(matches!(errors[0], AnalyzerError::MismatchType { .. })); let code = r#" - module ModuleD_0 {} - module ModuleD_1 { - let _d: ModuleD_0 = 0; + module ModuleA {} + module ModuleB { + let _a: ModuleA = 0; } "#; @@ -1045,9 +1045,9 @@ fn mismatch_type() { assert!(matches!(errors[0], AnalyzerError::MismatchType { .. })); let code = r#" - interface InterfaceE {} - module ModuleE { - let _e: InterfaceE = 0; + interface InterfaceA {} + module ModuleA { + let _a: InterfaceA = 0; } "#; @@ -1055,9 +1055,9 @@ fn mismatch_type() { assert!(matches!(errors[0], AnalyzerError::MismatchType { .. })); let code = r#" - package PackageF {} - module ModuleF { - let _f: PackageF = 0; + package PackageA {} + module ModuleA { + let _a: PackageA = 0; } "#; @@ -1065,14 +1065,14 @@ fn mismatch_type() { assert!(matches!(errors[0], AnalyzerError::MismatchType { .. })); let code = r#" - module ModuleG { - function FuncG:: -> T { - var g: T; - g = 0; - return g; + module ModuleA { + function FuncA:: -> T { + var a: T; + a = 0; + return a; } - let _g: logic = FuncG::<2>(); + let _a: logic = FuncA::<2>(); } "#; @@ -1080,15 +1080,15 @@ fn mismatch_type() { assert!(matches!(errors[0], AnalyzerError::MismatchType { .. })); let code = r#" - module ModuleH { - function FuncH:: -> T { - var h: T; - h = 0; - return h; + module ModuleA { + function FuncA:: -> T { + var a: T; + a = 0; + return a; } type my_logic = logic; - let _h: logic = FuncH::(); + let _a: logic = FuncA::(); } "#; @@ -1096,10 +1096,10 @@ fn mismatch_type() { assert!(errors.is_empty()); let code = r#" - interface InterfaceI {} + interface InterfaceA {} - module ModuleI ( - a: modport InterfaceI, + module ModuleA ( + a: modport InterfaceA, ) {} "#; @@ -1107,15 +1107,15 @@ fn mismatch_type() { assert!(matches!(errors[0], AnalyzerError::MismatchType { .. })); let code = r#" - module ModuleJ { - function FuncJ:: -> T { - var g: T; - g = 0; - return g; + module ModuleA { + function FuncA:: -> T { + var a: T; + a = 0; + return a; } const X: u32 = 1; - let _g: logic = FuncJ::(); + let _a: logic = FuncA::(); } "#; @@ -1123,17 +1123,68 @@ fn mismatch_type() { assert!(matches!(errors[0], AnalyzerError::MismatchType { .. })); let code = r#" - proto module ProtoK0; - proto module ProtoK1; + proto module ProtoA; + proto module ProtoB; - module ModuleK0:: { + module ModuleA:: { inst u: T; } - module ModuleK1 for ProtoK1 {} + module ModuleB for ProtoB {} + + module ModuleC { + inst u: ModuleA::(); + } + "#; + + let errors = analyze(code); + assert!(matches!(errors[0], AnalyzerError::MismatchType { .. })); + + let code = r#" + interface InterfaceA {} + interface InterfaceB { + inst u: InterfaceA(); + } + "#; + + let errors = analyze(code); + assert!(errors.is_empty()); + + let code = r#" + module ModuleA {} + interface InterfaceA { + inst u: ModuleA(); + } + "#; + + let errors = analyze(code); + assert!(matches!(errors[0], AnalyzerError::MismatchType { .. })); + + let code = r#" + interface InterfaceA {} + + module ModuleA:: { + inst u: IF; + } + + module ModuleB { + inst u: ModuleA::(); + } + "#; + + let errors = analyze(code); + assert!(errors.is_empty()); + + let code = r#" + interface InterfaceA {} + interface InterfaceB {} + + module ModuleA:: { + inst u: IF; + } - module ModuleK2 { - inst u: ModuleK0::(); + module ModuleB { + inst u: ModuleA::; } "#; @@ -1141,9 +1192,17 @@ fn mismatch_type() { assert!(matches!(errors[0], AnalyzerError::MismatchType { .. })); let code = r#" - interface InterfaceL0 {} - interface InterfaceL1 { - inst u: InterfaceL0(); + interface InterfaceA { + var a: logic; + } + + module ModuleA { + function FuncA::() -> logic { + return IF.a; + } + + inst if_a: InterfaceA; + let _a: logic = FuncA::(); } "#; @@ -1151,9 +1210,21 @@ fn mismatch_type() { assert!(errors.is_empty()); let code = r#" - module ModuleM0 {} - interface InterfaceM1 { - inst u: ModuleM0(); + interface InerfaceA { + var a: logic; + } + + interface InterfaceB { + var b: logic; + } + + module ModuleA { + function FuncA::() -> logic { + return IF.a; + } + + inst if_b: InterfaceB; + let _b: logic = FuncA::; } "#; @@ -1161,14 +1232,14 @@ fn mismatch_type() { assert!(matches!(errors[0], AnalyzerError::MismatchType { .. })); let code = r#" - interface InterfaceN1 { + interface InterfaceA { var a: logic; modport mp { a: input, } } - module ModuleN1 ( - port_n1: input InterfaceN1::mp, + module ModuleA ( + port_a: input InterfaceA::mp, ){} "#; @@ -1176,14 +1247,14 @@ fn mismatch_type() { assert!(matches!(errors[0], AnalyzerError::MismatchType { .. })); let code = r#" - interface InterfaceN2:: { + interface InterfaceA:: { var a: logic; modport mp { a: input, } } - module ModuleN2 ( - port_n2: input InterfaceN2::<2>::mp, + module ModuleA ( + port_a: input InterfaceA::<2>::mp, ){} "#; @@ -1191,11 +1262,11 @@ fn mismatch_type() { assert!(matches!(errors[0], AnalyzerError::MismatchType { .. })); let code = r#" - interface InterfaceN3 { + interface InterfaceA { var a: logic; } - module ModuleN3 ( - port_n3: input InterfaceN3, + module ModuleA ( + port_a: input InterfaceA, ){} "#; @@ -1203,11 +1274,11 @@ fn mismatch_type() { assert!(matches!(errors[0], AnalyzerError::MismatchType { .. })); let code = r#" - interface InterfaceN4:: { + interface InterfaceA:: { var a: logic; } - module ModuleN4 ( - port_n4: input InterfaceN4::<2>, + module ModuleA ( + port_a: input InterfaceA::<2>, ){} "#; @@ -1215,11 +1286,11 @@ fn mismatch_type() { assert!(matches!(errors[0], AnalyzerError::MismatchType { .. })); let code = r#" - interface InterfaceO1 { + interface InterfaceA { var a: logic; } - module ModuleO1 ( - port_o1: modport InterfaceO1, + module ModuleA ( + port_a: modport InterfaceA, ){} "#; @@ -1227,11 +1298,11 @@ fn mismatch_type() { assert!(matches!(errors[0], AnalyzerError::MismatchType { .. })); let code = r#" - interface InterfaceO2:: { + interface InterfaceA:: { var a: logic; } - module ModuleO2 ( - port_o2: modport InterfaceO2::<2>, + module ModuleA ( + port_a: modport InterfaceA::<2>, ){} "#; diff --git a/crates/formatter/src/formatter.rs b/crates/formatter/src/formatter.rs index d6e3ce81..c1cda965 100644 --- a/crates/formatter/src/formatter.rs +++ b/crates/formatter/src/formatter.rs @@ -1633,6 +1633,20 @@ impl VerylWalker for Formatter { } } + /// Semantic action for non-terminal 'GenericBound' + fn generic_bound(&mut self, arg: &GenericBound) { + match arg { + GenericBound::Const(x) => self.r#const(&x.r#const), + GenericBound::Type(x) => self.r#type(&x.r#type), + GenericBound::InstScopedIdentifier(x) => { + self.inst(&x.inst); + self.space(1); + self.scoped_identifier(&x.scoped_identifier); + } + GenericBound::ScopedIdentifier(x) => self.scoped_identifier(&x.scoped_identifier), + } + } + /// Semantic action for non-terminal 'WithParameterItem' fn with_parameter_item(&mut self, arg: &WithParameterItem) { self.align_start(align_kind::PARAMETER); diff --git a/crates/parser/src/generated/veryl-exp.par b/crates/parser/src/generated/veryl-exp.par index 6b7ff8d5..8ca411c1 100644 --- a/crates/parser/src/generated/veryl-exp.par +++ b/crates/parser/src/generated/veryl-exp.par @@ -770,213 +770,214 @@ /* 755 */ WithParameterItemGroup: Const; /* 756 */ GenericBound: Const; /* 757 */ GenericBound: Type; -/* 758 */ GenericBound: ScopedIdentifier; -/* 759 */ WithGenericParameter: ColonColonLAngle WithGenericParameterList RAngle; -/* 760 */ WithGenericParameterList: WithGenericParameterItem WithGenericParameterListList /* Vec */ WithGenericParameterListOpt /* Option */; -/* 761 */ WithGenericParameterListList /* Vec::Push */: Comma WithGenericParameterItem WithGenericParameterListList; -/* 762 */ WithGenericParameterListList /* Vec::New */: ; -/* 763 */ WithGenericParameterListOpt /* Option::Some */: Comma; -/* 764 */ WithGenericParameterListOpt /* Option::None */: ; -/* 765 */ WithGenericParameterItem: Identifier Colon GenericBound WithGenericParameterItemOpt /* Option */; -/* 766 */ WithGenericParameterItemOpt /* Option::Some */: Equ WithGenericArgumentItem; -/* 767 */ WithGenericParameterItemOpt /* Option::None */: ; -/* 768 */ WithGenericArgument: ColonColonLAngle %push(Generic) WithGenericArgumentOpt /* Option */ RAngle %pop(); -/* 769 */ WithGenericArgumentOpt /* Option::Some */: WithGenericArgumentList; -/* 770 */ WithGenericArgumentOpt /* Option::None */: ; -/* 771 */ WithGenericArgumentList: WithGenericArgumentItem WithGenericArgumentListList /* Vec */ WithGenericArgumentListOpt /* Option */; -/* 772 */ WithGenericArgumentListList /* Vec::Push */: Comma WithGenericArgumentItem WithGenericArgumentListList; -/* 773 */ WithGenericArgumentListList /* Vec::New */: ; -/* 774 */ WithGenericArgumentListOpt /* Option::Some */: Comma; -/* 775 */ WithGenericArgumentListOpt /* Option::None */: ; -/* 776 */ WithGenericArgumentItem: ScopedIdentifier; -/* 777 */ WithGenericArgumentItem: Number; -/* 778 */ PortDeclaration: LParen PortDeclarationOpt /* Option */ RParen; -/* 779 */ PortDeclarationOpt /* Option::Some */: PortDeclarationList; -/* 780 */ PortDeclarationOpt /* Option::None */: ; -/* 781 */ PortDeclarationList: PortDeclarationGroup PortDeclarationListList /* Vec */ PortDeclarationListOpt /* Option */; -/* 782 */ PortDeclarationListList /* Vec::Push */: Comma PortDeclarationGroup PortDeclarationListList; -/* 783 */ PortDeclarationListList /* Vec::New */: ; -/* 784 */ PortDeclarationListOpt /* Option::Some */: Comma; -/* 785 */ PortDeclarationListOpt /* Option::None */: ; -/* 786 */ PortDeclarationGroup: PortDeclarationGroupList /* Vec */ PortDeclarationGroupGroup; -/* 787 */ PortDeclarationGroupGroup: LBrace PortDeclarationList RBrace; -/* 788 */ PortDeclarationGroupGroup: PortDeclarationItem; -/* 789 */ PortDeclarationGroupList /* Vec::Push */: Attribute PortDeclarationGroupList; -/* 790 */ PortDeclarationGroupList /* Vec::New */: ; -/* 791 */ PortDeclarationItem: Identifier Colon PortDeclarationItemGroup; -/* 792 */ PortDeclarationItemGroup: PortTypeConcrete; -/* 793 */ PortDeclarationItemGroup: PortTypeAbstract; -/* 794 */ PortTypeConcrete: Direction PortTypeConcreteOpt /* Option */ ArrayType PortTypeConcreteOpt0 /* Option */; -/* 795 */ PortTypeConcreteOpt0 /* Option::Some */: Equ PortDefaultValue; -/* 796 */ PortTypeConcreteOpt0 /* Option::None */: ; -/* 797 */ PortTypeConcreteOpt /* Option::Some */: ClockDomain; -/* 798 */ PortTypeConcreteOpt /* Option::None */: ; -/* 799 */ PortDefaultValue: Expression; -/* 800 */ PortTypeAbstract: PortTypeAbstractOpt /* Option */ Interface PortTypeAbstractOpt0 /* Option */ PortTypeAbstractOpt1 /* Option */; -/* 801 */ PortTypeAbstractOpt1 /* Option::Some */: Array; -/* 802 */ PortTypeAbstractOpt1 /* Option::None */: ; -/* 803 */ PortTypeAbstractOpt0 /* Option::Some */: ColonColon Identifier; -/* 804 */ PortTypeAbstractOpt0 /* Option::None */: ; -/* 805 */ PortTypeAbstractOpt /* Option::Some */: ClockDomain; -/* 806 */ PortTypeAbstractOpt /* Option::None */: ; -/* 807 */ Direction: Input; -/* 808 */ Direction: Output; -/* 809 */ Direction: Inout; -/* 810 */ Direction: Ref; -/* 811 */ Direction: Modport; -/* 812 */ Direction: Import; -/* 813 */ FunctionDeclaration: Function Identifier FunctionDeclarationOpt /* Option */ FunctionDeclarationOpt0 /* Option */ FunctionDeclarationOpt1 /* Option */ StatementBlock; -/* 814 */ FunctionDeclarationOpt1 /* Option::Some */: MinusGT ScalarType; -/* 815 */ FunctionDeclarationOpt1 /* Option::None */: ; -/* 816 */ FunctionDeclarationOpt0 /* Option::Some */: PortDeclaration; -/* 817 */ FunctionDeclarationOpt0 /* Option::None */: ; -/* 818 */ FunctionDeclarationOpt /* Option::Some */: WithGenericParameter; -/* 819 */ FunctionDeclarationOpt /* Option::None */: ; -/* 820 */ ImportDeclaration: Import ScopedIdentifier ImportDeclarationOpt /* Option */ Semicolon; -/* 821 */ ImportDeclarationOpt /* Option::Some */: ColonColon Star; -/* 822 */ ImportDeclarationOpt /* Option::None */: ; -/* 823 */ ExportDeclaration: Export ExportDeclarationGroup Semicolon; -/* 824 */ ExportDeclarationGroup: Star; -/* 825 */ ExportDeclarationGroup: ScopedIdentifier ExportDeclarationOpt /* Option */; -/* 826 */ ExportDeclarationOpt /* Option::Some */: ColonColon Star; -/* 827 */ ExportDeclarationOpt /* Option::None */: ; -/* 828 */ UnsafeBlock: Unsafe LParen Identifier RParen LBrace UnsafeBlockList /* Vec */ RBrace; -/* 829 */ UnsafeBlockList /* Vec::Push */: GenerateGroup UnsafeBlockList; -/* 830 */ UnsafeBlockList /* Vec::New */: ; -/* 831 */ ModuleDeclaration: ModuleDeclarationOpt /* Option */ Module Identifier ModuleDeclarationOpt0 /* Option */ ModuleDeclarationOpt1 /* Option */ ModuleDeclarationOpt2 /* Option */ ModuleDeclarationOpt3 /* Option */ LBrace ModuleDeclarationList /* Vec */ RBrace; -/* 832 */ ModuleDeclarationList /* Vec::Push */: ModuleGroup ModuleDeclarationList; -/* 833 */ ModuleDeclarationList /* Vec::New */: ; -/* 834 */ ModuleDeclarationOpt3 /* Option::Some */: PortDeclaration; -/* 835 */ ModuleDeclarationOpt3 /* Option::None */: ; -/* 836 */ ModuleDeclarationOpt2 /* Option::Some */: WithParameter; -/* 837 */ ModuleDeclarationOpt2 /* Option::None */: ; -/* 838 */ ModuleDeclarationOpt1 /* Option::Some */: For ScopedIdentifier; -/* 839 */ ModuleDeclarationOpt1 /* Option::None */: ; -/* 840 */ ModuleDeclarationOpt0 /* Option::Some */: WithGenericParameter; -/* 841 */ ModuleDeclarationOpt0 /* Option::None */: ; -/* 842 */ ModuleDeclarationOpt /* Option::Some */: Pub; -/* 843 */ ModuleDeclarationOpt /* Option::None */: ; -/* 844 */ ModuleGroup: ModuleGroupList /* Vec */ ModuleGroupGroup; -/* 845 */ ModuleGroupGroup: LBrace ModuleGroupGroupList /* Vec */ RBrace; -/* 846 */ ModuleGroupGroupList /* Vec::Push */: ModuleGroup ModuleGroupGroupList; -/* 847 */ ModuleGroupGroupList /* Vec::New */: ; -/* 848 */ ModuleGroupGroup: ModuleItem; -/* 849 */ ModuleGroupList /* Vec::Push */: Attribute ModuleGroupList; -/* 850 */ ModuleGroupList /* Vec::New */: ; -/* 851 */ ModuleItem: GenerateItem; -/* 852 */ InterfaceDeclaration: InterfaceDeclarationOpt /* Option */ Interface Identifier InterfaceDeclarationOpt0 /* Option */ InterfaceDeclarationOpt1 /* Option */ LBrace InterfaceDeclarationList /* Vec */ RBrace; -/* 853 */ InterfaceDeclarationList /* Vec::Push */: InterfaceGroup InterfaceDeclarationList; -/* 854 */ InterfaceDeclarationList /* Vec::New */: ; -/* 855 */ InterfaceDeclarationOpt1 /* Option::Some */: WithParameter; -/* 856 */ InterfaceDeclarationOpt1 /* Option::None */: ; -/* 857 */ InterfaceDeclarationOpt0 /* Option::Some */: WithGenericParameter; -/* 858 */ InterfaceDeclarationOpt0 /* Option::None */: ; -/* 859 */ InterfaceDeclarationOpt /* Option::Some */: Pub; -/* 860 */ InterfaceDeclarationOpt /* Option::None */: ; -/* 861 */ InterfaceGroup: InterfaceGroupList /* Vec */ InterfaceGroupGroup; -/* 862 */ InterfaceGroupGroup: LBrace InterfaceGroupGroupList /* Vec */ RBrace; -/* 863 */ InterfaceGroupGroupList /* Vec::Push */: InterfaceGroup InterfaceGroupGroupList; -/* 864 */ InterfaceGroupGroupList /* Vec::New */: ; -/* 865 */ InterfaceGroupGroup: InterfaceItem; -/* 866 */ InterfaceGroupList /* Vec::Push */: Attribute InterfaceGroupList; -/* 867 */ InterfaceGroupList /* Vec::New */: ; -/* 868 */ InterfaceItem: GenerateItem; -/* 869 */ InterfaceItem: ModportDeclaration; -/* 870 */ GenerateIfDeclaration: If Expression GenerateNamedBlock GenerateIfDeclarationList /* Vec */ GenerateIfDeclarationOpt /* Option */; -/* 871 */ GenerateIfDeclarationList /* Vec::Push */: Else If Expression GenerateOptionalNamedBlock GenerateIfDeclarationList; -/* 872 */ GenerateIfDeclarationList /* Vec::New */: ; -/* 873 */ GenerateIfDeclarationOpt /* Option::Some */: Else GenerateOptionalNamedBlock; -/* 874 */ GenerateIfDeclarationOpt /* Option::None */: ; -/* 875 */ GenerateForDeclaration: For Identifier In Range GenerateForDeclarationOpt /* Option */ GenerateNamedBlock; -/* 876 */ GenerateForDeclarationOpt /* Option::Some */: Step AssignmentOperator Expression; -/* 877 */ GenerateForDeclarationOpt /* Option::None */: ; -/* 878 */ GenerateBlockDeclaration: GenerateNamedBlock; -/* 879 */ GenerateNamedBlock: Colon Identifier LBrace GenerateNamedBlockList /* Vec */ RBrace; -/* 880 */ GenerateNamedBlockList /* Vec::Push */: GenerateGroup GenerateNamedBlockList; -/* 881 */ GenerateNamedBlockList /* Vec::New */: ; -/* 882 */ GenerateOptionalNamedBlock: GenerateOptionalNamedBlockOpt /* Option */ LBrace GenerateOptionalNamedBlockList /* Vec */ RBrace; -/* 883 */ GenerateOptionalNamedBlockList /* Vec::Push */: GenerateGroup GenerateOptionalNamedBlockList; -/* 884 */ GenerateOptionalNamedBlockList /* Vec::New */: ; -/* 885 */ GenerateOptionalNamedBlockOpt /* Option::Some */: Colon Identifier; -/* 886 */ GenerateOptionalNamedBlockOpt /* Option::None */: ; -/* 887 */ GenerateGroup: GenerateGroupList /* Vec */ GenerateGroupGroup; -/* 888 */ GenerateGroupGroup: LBrace GenerateGroupGroupList /* Vec */ RBrace; -/* 889 */ GenerateGroupGroupList /* Vec::Push */: GenerateGroup GenerateGroupGroupList; -/* 890 */ GenerateGroupGroupList /* Vec::New */: ; -/* 891 */ GenerateGroupGroup: GenerateItem; -/* 892 */ GenerateGroupList /* Vec::Push */: Attribute GenerateGroupList; -/* 893 */ GenerateGroupList /* Vec::New */: ; -/* 894 */ GenerateItem: LetDeclaration; -/* 895 */ GenerateItem: VarDeclaration; -/* 896 */ GenerateItem: InstDeclaration; -/* 897 */ GenerateItem: ConstDeclaration; -/* 898 */ GenerateItem: AlwaysFfDeclaration; -/* 899 */ GenerateItem: AlwaysCombDeclaration; -/* 900 */ GenerateItem: AssignDeclaration; -/* 901 */ GenerateItem: FunctionDeclaration; -/* 902 */ GenerateItem: GenerateIfDeclaration; -/* 903 */ GenerateItem: GenerateForDeclaration; -/* 904 */ GenerateItem: GenerateBlockDeclaration; -/* 905 */ GenerateItem: TypeDefDeclaration; -/* 906 */ GenerateItem: EnumDeclaration; -/* 907 */ GenerateItem: StructUnionDeclaration; -/* 908 */ GenerateItem: ImportDeclaration; -/* 909 */ GenerateItem: InitialDeclaration; -/* 910 */ GenerateItem: FinalDeclaration; -/* 911 */ GenerateItem: UnsafeBlock; -/* 912 */ PackageDeclaration: PackageDeclarationOpt /* Option */ Package Identifier PackageDeclarationOpt0 /* Option */ LBrace PackageDeclarationList /* Vec */ RBrace; -/* 913 */ PackageDeclarationList /* Vec::Push */: PackageGroup PackageDeclarationList; -/* 914 */ PackageDeclarationList /* Vec::New */: ; -/* 915 */ PackageDeclarationOpt0 /* Option::Some */: WithGenericParameter; -/* 916 */ PackageDeclarationOpt0 /* Option::None */: ; -/* 917 */ PackageDeclarationOpt /* Option::Some */: Pub; -/* 918 */ PackageDeclarationOpt /* Option::None */: ; -/* 919 */ PackageGroup: PackageGroupList /* Vec */ PackageGroupGroup; -/* 920 */ PackageGroupGroup: LBrace PackageGroupGroupList /* Vec */ RBrace; -/* 921 */ PackageGroupGroupList /* Vec::Push */: PackageGroup PackageGroupGroupList; -/* 922 */ PackageGroupGroupList /* Vec::New */: ; -/* 923 */ PackageGroupGroup: PackageItem; -/* 924 */ PackageGroupList /* Vec::Push */: Attribute PackageGroupList; -/* 925 */ PackageGroupList /* Vec::New */: ; -/* 926 */ PackageItem: VarDeclaration; -/* 927 */ PackageItem: ConstDeclaration; -/* 928 */ PackageItem: TypeDefDeclaration; -/* 929 */ PackageItem: EnumDeclaration; -/* 930 */ PackageItem: StructUnionDeclaration; -/* 931 */ PackageItem: FunctionDeclaration; -/* 932 */ PackageItem: ImportDeclaration; -/* 933 */ PackageItem: ExportDeclaration; -/* 934 */ ProtoModuleDeclaration: ProtoModuleDeclarationOpt /* Option */ Proto Module Identifier ProtoModuleDeclarationOpt0 /* Option */ ProtoModuleDeclarationOpt1 /* Option */ Semicolon; -/* 935 */ ProtoModuleDeclarationOpt1 /* Option::Some */: PortDeclaration; -/* 936 */ ProtoModuleDeclarationOpt1 /* Option::None */: ; -/* 937 */ ProtoModuleDeclarationOpt0 /* Option::Some */: WithParameter; -/* 938 */ ProtoModuleDeclarationOpt0 /* Option::None */: ; -/* 939 */ ProtoModuleDeclarationOpt /* Option::Some */: Pub; -/* 940 */ ProtoModuleDeclarationOpt /* Option::None */: ; -/* 941 */ EmbedDeclaration: Embed LParen Identifier RParen Identifier EmbedContent; -/* 942 */ EmbedContent: EmbedContentToken : VerylToken; -/* 943 */ EmbedContentToken: LBraceTerm %push(Embed) LBraceTerm LBraceTerm EmbedContentTokenList /* Vec */ RBraceTerm RBraceTerm RBraceTerm %pop() Comments; -/* 944 */ EmbedContentTokenList /* Vec::Push */: EmbedItem EmbedContentTokenList; -/* 945 */ EmbedContentTokenList /* Vec::New */: ; -/* 946 */ EmbedItem: LBraceTerm EmbedItemList /* Vec */ RBraceTerm; -/* 947 */ EmbedItemList /* Vec::Push */: EmbedItem EmbedItemList; -/* 948 */ EmbedItemList /* Vec::New */: ; -/* 949 */ EmbedItem: AnyTerm; -/* 950 */ IncludeDeclaration: Include LParen Identifier Comma StringLiteral RParen Semicolon; -/* 951 */ DescriptionGroup: DescriptionGroupList /* Vec */ DescriptionGroupGroup; -/* 952 */ DescriptionGroupGroup: LBrace DescriptionGroupGroupList /* Vec */ RBrace; -/* 953 */ DescriptionGroupGroupList /* Vec::Push */: DescriptionGroup DescriptionGroupGroupList; -/* 954 */ DescriptionGroupGroupList /* Vec::New */: ; -/* 955 */ DescriptionGroupGroup: DescriptionItem; -/* 956 */ DescriptionGroupList /* Vec::Push */: Attribute DescriptionGroupList; -/* 957 */ DescriptionGroupList /* Vec::New */: ; -/* 958 */ DescriptionItem: ModuleDeclaration; -/* 959 */ DescriptionItem: InterfaceDeclaration; -/* 960 */ DescriptionItem: PackageDeclaration; -/* 961 */ DescriptionItem: ProtoModuleDeclaration; -/* 962 */ DescriptionItem: ImportDeclaration; -/* 963 */ DescriptionItem: EmbedDeclaration; -/* 964 */ DescriptionItem: IncludeDeclaration; -/* 965 */ Veryl: Start VerylList /* Vec */; -/* 966 */ VerylList /* Vec::Push */: DescriptionGroup VerylList; -/* 967 */ VerylList /* Vec::New */: ; +/* 758 */ GenericBound: Inst ScopedIdentifier; +/* 759 */ GenericBound: ScopedIdentifier; +/* 760 */ WithGenericParameter: ColonColonLAngle WithGenericParameterList RAngle; +/* 761 */ WithGenericParameterList: WithGenericParameterItem WithGenericParameterListList /* Vec */ WithGenericParameterListOpt /* Option */; +/* 762 */ WithGenericParameterListList /* Vec::Push */: Comma WithGenericParameterItem WithGenericParameterListList; +/* 763 */ WithGenericParameterListList /* Vec::New */: ; +/* 764 */ WithGenericParameterListOpt /* Option::Some */: Comma; +/* 765 */ WithGenericParameterListOpt /* Option::None */: ; +/* 766 */ WithGenericParameterItem: Identifier Colon GenericBound WithGenericParameterItemOpt /* Option */; +/* 767 */ WithGenericParameterItemOpt /* Option::Some */: Equ WithGenericArgumentItem; +/* 768 */ WithGenericParameterItemOpt /* Option::None */: ; +/* 769 */ WithGenericArgument: ColonColonLAngle %push(Generic) WithGenericArgumentOpt /* Option */ RAngle %pop(); +/* 770 */ WithGenericArgumentOpt /* Option::Some */: WithGenericArgumentList; +/* 771 */ WithGenericArgumentOpt /* Option::None */: ; +/* 772 */ WithGenericArgumentList: WithGenericArgumentItem WithGenericArgumentListList /* Vec */ WithGenericArgumentListOpt /* Option */; +/* 773 */ WithGenericArgumentListList /* Vec::Push */: Comma WithGenericArgumentItem WithGenericArgumentListList; +/* 774 */ WithGenericArgumentListList /* Vec::New */: ; +/* 775 */ WithGenericArgumentListOpt /* Option::Some */: Comma; +/* 776 */ WithGenericArgumentListOpt /* Option::None */: ; +/* 777 */ WithGenericArgumentItem: ScopedIdentifier; +/* 778 */ WithGenericArgumentItem: Number; +/* 779 */ PortDeclaration: LParen PortDeclarationOpt /* Option */ RParen; +/* 780 */ PortDeclarationOpt /* Option::Some */: PortDeclarationList; +/* 781 */ PortDeclarationOpt /* Option::None */: ; +/* 782 */ PortDeclarationList: PortDeclarationGroup PortDeclarationListList /* Vec */ PortDeclarationListOpt /* Option */; +/* 783 */ PortDeclarationListList /* Vec::Push */: Comma PortDeclarationGroup PortDeclarationListList; +/* 784 */ PortDeclarationListList /* Vec::New */: ; +/* 785 */ PortDeclarationListOpt /* Option::Some */: Comma; +/* 786 */ PortDeclarationListOpt /* Option::None */: ; +/* 787 */ PortDeclarationGroup: PortDeclarationGroupList /* Vec */ PortDeclarationGroupGroup; +/* 788 */ PortDeclarationGroupGroup: LBrace PortDeclarationList RBrace; +/* 789 */ PortDeclarationGroupGroup: PortDeclarationItem; +/* 790 */ PortDeclarationGroupList /* Vec::Push */: Attribute PortDeclarationGroupList; +/* 791 */ PortDeclarationGroupList /* Vec::New */: ; +/* 792 */ PortDeclarationItem: Identifier Colon PortDeclarationItemGroup; +/* 793 */ PortDeclarationItemGroup: PortTypeConcrete; +/* 794 */ PortDeclarationItemGroup: PortTypeAbstract; +/* 795 */ PortTypeConcrete: Direction PortTypeConcreteOpt /* Option */ ArrayType PortTypeConcreteOpt0 /* Option */; +/* 796 */ PortTypeConcreteOpt0 /* Option::Some */: Equ PortDefaultValue; +/* 797 */ PortTypeConcreteOpt0 /* Option::None */: ; +/* 798 */ PortTypeConcreteOpt /* Option::Some */: ClockDomain; +/* 799 */ PortTypeConcreteOpt /* Option::None */: ; +/* 800 */ PortDefaultValue: Expression; +/* 801 */ PortTypeAbstract: PortTypeAbstractOpt /* Option */ Interface PortTypeAbstractOpt0 /* Option */ PortTypeAbstractOpt1 /* Option */; +/* 802 */ PortTypeAbstractOpt1 /* Option::Some */: Array; +/* 803 */ PortTypeAbstractOpt1 /* Option::None */: ; +/* 804 */ PortTypeAbstractOpt0 /* Option::Some */: ColonColon Identifier; +/* 805 */ PortTypeAbstractOpt0 /* Option::None */: ; +/* 806 */ PortTypeAbstractOpt /* Option::Some */: ClockDomain; +/* 807 */ PortTypeAbstractOpt /* Option::None */: ; +/* 808 */ Direction: Input; +/* 809 */ Direction: Output; +/* 810 */ Direction: Inout; +/* 811 */ Direction: Ref; +/* 812 */ Direction: Modport; +/* 813 */ Direction: Import; +/* 814 */ FunctionDeclaration: Function Identifier FunctionDeclarationOpt /* Option */ FunctionDeclarationOpt0 /* Option */ FunctionDeclarationOpt1 /* Option */ StatementBlock; +/* 815 */ FunctionDeclarationOpt1 /* Option::Some */: MinusGT ScalarType; +/* 816 */ FunctionDeclarationOpt1 /* Option::None */: ; +/* 817 */ FunctionDeclarationOpt0 /* Option::Some */: PortDeclaration; +/* 818 */ FunctionDeclarationOpt0 /* Option::None */: ; +/* 819 */ FunctionDeclarationOpt /* Option::Some */: WithGenericParameter; +/* 820 */ FunctionDeclarationOpt /* Option::None */: ; +/* 821 */ ImportDeclaration: Import ScopedIdentifier ImportDeclarationOpt /* Option */ Semicolon; +/* 822 */ ImportDeclarationOpt /* Option::Some */: ColonColon Star; +/* 823 */ ImportDeclarationOpt /* Option::None */: ; +/* 824 */ ExportDeclaration: Export ExportDeclarationGroup Semicolon; +/* 825 */ ExportDeclarationGroup: Star; +/* 826 */ ExportDeclarationGroup: ScopedIdentifier ExportDeclarationOpt /* Option */; +/* 827 */ ExportDeclarationOpt /* Option::Some */: ColonColon Star; +/* 828 */ ExportDeclarationOpt /* Option::None */: ; +/* 829 */ UnsafeBlock: Unsafe LParen Identifier RParen LBrace UnsafeBlockList /* Vec */ RBrace; +/* 830 */ UnsafeBlockList /* Vec::Push */: GenerateGroup UnsafeBlockList; +/* 831 */ UnsafeBlockList /* Vec::New */: ; +/* 832 */ ModuleDeclaration: ModuleDeclarationOpt /* Option */ Module Identifier ModuleDeclarationOpt0 /* Option */ ModuleDeclarationOpt1 /* Option */ ModuleDeclarationOpt2 /* Option */ ModuleDeclarationOpt3 /* Option */ LBrace ModuleDeclarationList /* Vec */ RBrace; +/* 833 */ ModuleDeclarationList /* Vec::Push */: ModuleGroup ModuleDeclarationList; +/* 834 */ ModuleDeclarationList /* Vec::New */: ; +/* 835 */ ModuleDeclarationOpt3 /* Option::Some */: PortDeclaration; +/* 836 */ ModuleDeclarationOpt3 /* Option::None */: ; +/* 837 */ ModuleDeclarationOpt2 /* Option::Some */: WithParameter; +/* 838 */ ModuleDeclarationOpt2 /* Option::None */: ; +/* 839 */ ModuleDeclarationOpt1 /* Option::Some */: For ScopedIdentifier; +/* 840 */ ModuleDeclarationOpt1 /* Option::None */: ; +/* 841 */ ModuleDeclarationOpt0 /* Option::Some */: WithGenericParameter; +/* 842 */ ModuleDeclarationOpt0 /* Option::None */: ; +/* 843 */ ModuleDeclarationOpt /* Option::Some */: Pub; +/* 844 */ ModuleDeclarationOpt /* Option::None */: ; +/* 845 */ ModuleGroup: ModuleGroupList /* Vec */ ModuleGroupGroup; +/* 846 */ ModuleGroupGroup: LBrace ModuleGroupGroupList /* Vec */ RBrace; +/* 847 */ ModuleGroupGroupList /* Vec::Push */: ModuleGroup ModuleGroupGroupList; +/* 848 */ ModuleGroupGroupList /* Vec::New */: ; +/* 849 */ ModuleGroupGroup: ModuleItem; +/* 850 */ ModuleGroupList /* Vec::Push */: Attribute ModuleGroupList; +/* 851 */ ModuleGroupList /* Vec::New */: ; +/* 852 */ ModuleItem: GenerateItem; +/* 853 */ InterfaceDeclaration: InterfaceDeclarationOpt /* Option */ Interface Identifier InterfaceDeclarationOpt0 /* Option */ InterfaceDeclarationOpt1 /* Option */ LBrace InterfaceDeclarationList /* Vec */ RBrace; +/* 854 */ InterfaceDeclarationList /* Vec::Push */: InterfaceGroup InterfaceDeclarationList; +/* 855 */ InterfaceDeclarationList /* Vec::New */: ; +/* 856 */ InterfaceDeclarationOpt1 /* Option::Some */: WithParameter; +/* 857 */ InterfaceDeclarationOpt1 /* Option::None */: ; +/* 858 */ InterfaceDeclarationOpt0 /* Option::Some */: WithGenericParameter; +/* 859 */ InterfaceDeclarationOpt0 /* Option::None */: ; +/* 860 */ InterfaceDeclarationOpt /* Option::Some */: Pub; +/* 861 */ InterfaceDeclarationOpt /* Option::None */: ; +/* 862 */ InterfaceGroup: InterfaceGroupList /* Vec */ InterfaceGroupGroup; +/* 863 */ InterfaceGroupGroup: LBrace InterfaceGroupGroupList /* Vec */ RBrace; +/* 864 */ InterfaceGroupGroupList /* Vec::Push */: InterfaceGroup InterfaceGroupGroupList; +/* 865 */ InterfaceGroupGroupList /* Vec::New */: ; +/* 866 */ InterfaceGroupGroup: InterfaceItem; +/* 867 */ InterfaceGroupList /* Vec::Push */: Attribute InterfaceGroupList; +/* 868 */ InterfaceGroupList /* Vec::New */: ; +/* 869 */ InterfaceItem: GenerateItem; +/* 870 */ InterfaceItem: ModportDeclaration; +/* 871 */ GenerateIfDeclaration: If Expression GenerateNamedBlock GenerateIfDeclarationList /* Vec */ GenerateIfDeclarationOpt /* Option */; +/* 872 */ GenerateIfDeclarationList /* Vec::Push */: Else If Expression GenerateOptionalNamedBlock GenerateIfDeclarationList; +/* 873 */ GenerateIfDeclarationList /* Vec::New */: ; +/* 874 */ GenerateIfDeclarationOpt /* Option::Some */: Else GenerateOptionalNamedBlock; +/* 875 */ GenerateIfDeclarationOpt /* Option::None */: ; +/* 876 */ GenerateForDeclaration: For Identifier In Range GenerateForDeclarationOpt /* Option */ GenerateNamedBlock; +/* 877 */ GenerateForDeclarationOpt /* Option::Some */: Step AssignmentOperator Expression; +/* 878 */ GenerateForDeclarationOpt /* Option::None */: ; +/* 879 */ GenerateBlockDeclaration: GenerateNamedBlock; +/* 880 */ GenerateNamedBlock: Colon Identifier LBrace GenerateNamedBlockList /* Vec */ RBrace; +/* 881 */ GenerateNamedBlockList /* Vec::Push */: GenerateGroup GenerateNamedBlockList; +/* 882 */ GenerateNamedBlockList /* Vec::New */: ; +/* 883 */ GenerateOptionalNamedBlock: GenerateOptionalNamedBlockOpt /* Option */ LBrace GenerateOptionalNamedBlockList /* Vec */ RBrace; +/* 884 */ GenerateOptionalNamedBlockList /* Vec::Push */: GenerateGroup GenerateOptionalNamedBlockList; +/* 885 */ GenerateOptionalNamedBlockList /* Vec::New */: ; +/* 886 */ GenerateOptionalNamedBlockOpt /* Option::Some */: Colon Identifier; +/* 887 */ GenerateOptionalNamedBlockOpt /* Option::None */: ; +/* 888 */ GenerateGroup: GenerateGroupList /* Vec */ GenerateGroupGroup; +/* 889 */ GenerateGroupGroup: LBrace GenerateGroupGroupList /* Vec */ RBrace; +/* 890 */ GenerateGroupGroupList /* Vec::Push */: GenerateGroup GenerateGroupGroupList; +/* 891 */ GenerateGroupGroupList /* Vec::New */: ; +/* 892 */ GenerateGroupGroup: GenerateItem; +/* 893 */ GenerateGroupList /* Vec::Push */: Attribute GenerateGroupList; +/* 894 */ GenerateGroupList /* Vec::New */: ; +/* 895 */ GenerateItem: LetDeclaration; +/* 896 */ GenerateItem: VarDeclaration; +/* 897 */ GenerateItem: InstDeclaration; +/* 898 */ GenerateItem: ConstDeclaration; +/* 899 */ GenerateItem: AlwaysFfDeclaration; +/* 900 */ GenerateItem: AlwaysCombDeclaration; +/* 901 */ GenerateItem: AssignDeclaration; +/* 902 */ GenerateItem: FunctionDeclaration; +/* 903 */ GenerateItem: GenerateIfDeclaration; +/* 904 */ GenerateItem: GenerateForDeclaration; +/* 905 */ GenerateItem: GenerateBlockDeclaration; +/* 906 */ GenerateItem: TypeDefDeclaration; +/* 907 */ GenerateItem: EnumDeclaration; +/* 908 */ GenerateItem: StructUnionDeclaration; +/* 909 */ GenerateItem: ImportDeclaration; +/* 910 */ GenerateItem: InitialDeclaration; +/* 911 */ GenerateItem: FinalDeclaration; +/* 912 */ GenerateItem: UnsafeBlock; +/* 913 */ PackageDeclaration: PackageDeclarationOpt /* Option */ Package Identifier PackageDeclarationOpt0 /* Option */ LBrace PackageDeclarationList /* Vec */ RBrace; +/* 914 */ PackageDeclarationList /* Vec::Push */: PackageGroup PackageDeclarationList; +/* 915 */ PackageDeclarationList /* Vec::New */: ; +/* 916 */ PackageDeclarationOpt0 /* Option::Some */: WithGenericParameter; +/* 917 */ PackageDeclarationOpt0 /* Option::None */: ; +/* 918 */ PackageDeclarationOpt /* Option::Some */: Pub; +/* 919 */ PackageDeclarationOpt /* Option::None */: ; +/* 920 */ PackageGroup: PackageGroupList /* Vec */ PackageGroupGroup; +/* 921 */ PackageGroupGroup: LBrace PackageGroupGroupList /* Vec */ RBrace; +/* 922 */ PackageGroupGroupList /* Vec::Push */: PackageGroup PackageGroupGroupList; +/* 923 */ PackageGroupGroupList /* Vec::New */: ; +/* 924 */ PackageGroupGroup: PackageItem; +/* 925 */ PackageGroupList /* Vec::Push */: Attribute PackageGroupList; +/* 926 */ PackageGroupList /* Vec::New */: ; +/* 927 */ PackageItem: VarDeclaration; +/* 928 */ PackageItem: ConstDeclaration; +/* 929 */ PackageItem: TypeDefDeclaration; +/* 930 */ PackageItem: EnumDeclaration; +/* 931 */ PackageItem: StructUnionDeclaration; +/* 932 */ PackageItem: FunctionDeclaration; +/* 933 */ PackageItem: ImportDeclaration; +/* 934 */ PackageItem: ExportDeclaration; +/* 935 */ ProtoModuleDeclaration: ProtoModuleDeclarationOpt /* Option */ Proto Module Identifier ProtoModuleDeclarationOpt0 /* Option */ ProtoModuleDeclarationOpt1 /* Option */ Semicolon; +/* 936 */ ProtoModuleDeclarationOpt1 /* Option::Some */: PortDeclaration; +/* 937 */ ProtoModuleDeclarationOpt1 /* Option::None */: ; +/* 938 */ ProtoModuleDeclarationOpt0 /* Option::Some */: WithParameter; +/* 939 */ ProtoModuleDeclarationOpt0 /* Option::None */: ; +/* 940 */ ProtoModuleDeclarationOpt /* Option::Some */: Pub; +/* 941 */ ProtoModuleDeclarationOpt /* Option::None */: ; +/* 942 */ EmbedDeclaration: Embed LParen Identifier RParen Identifier EmbedContent; +/* 943 */ EmbedContent: EmbedContentToken : VerylToken; +/* 944 */ EmbedContentToken: LBraceTerm %push(Embed) LBraceTerm LBraceTerm EmbedContentTokenList /* Vec */ RBraceTerm RBraceTerm RBraceTerm %pop() Comments; +/* 945 */ EmbedContentTokenList /* Vec::Push */: EmbedItem EmbedContentTokenList; +/* 946 */ EmbedContentTokenList /* Vec::New */: ; +/* 947 */ EmbedItem: LBraceTerm EmbedItemList /* Vec */ RBraceTerm; +/* 948 */ EmbedItemList /* Vec::Push */: EmbedItem EmbedItemList; +/* 949 */ EmbedItemList /* Vec::New */: ; +/* 950 */ EmbedItem: AnyTerm; +/* 951 */ IncludeDeclaration: Include LParen Identifier Comma StringLiteral RParen Semicolon; +/* 952 */ DescriptionGroup: DescriptionGroupList /* Vec */ DescriptionGroupGroup; +/* 953 */ DescriptionGroupGroup: LBrace DescriptionGroupGroupList /* Vec */ RBrace; +/* 954 */ DescriptionGroupGroupList /* Vec::Push */: DescriptionGroup DescriptionGroupGroupList; +/* 955 */ DescriptionGroupGroupList /* Vec::New */: ; +/* 956 */ DescriptionGroupGroup: DescriptionItem; +/* 957 */ DescriptionGroupList /* Vec::Push */: Attribute DescriptionGroupList; +/* 958 */ DescriptionGroupList /* Vec::New */: ; +/* 959 */ DescriptionItem: ModuleDeclaration; +/* 960 */ DescriptionItem: InterfaceDeclaration; +/* 961 */ DescriptionItem: PackageDeclaration; +/* 962 */ DescriptionItem: ProtoModuleDeclaration; +/* 963 */ DescriptionItem: ImportDeclaration; +/* 964 */ DescriptionItem: EmbedDeclaration; +/* 965 */ DescriptionItem: IncludeDeclaration; +/* 966 */ Veryl: Start VerylList /* Vec */; +/* 967 */ VerylList /* Vec::Push */: DescriptionGroup VerylList; +/* 968 */ VerylList /* Vec::New */: ; diff --git a/crates/parser/src/generated/veryl_grammar_trait.rs b/crates/parser/src/generated/veryl_grammar_trait.rs index b4a3cc8d..60c3da08 100644 --- a/crates/parser/src/generated/veryl_grammar_trait.rs +++ b/crates/parser/src/generated/veryl_grammar_trait.rs @@ -4062,6 +4062,19 @@ pub struct GenericBoundType { /// /// Type derived for production 758 /// +/// `GenericBound: Inst ScopedIdentifier;` +/// +#[allow(dead_code)] +#[derive(Builder, Debug, Clone)] +#[builder(crate = "parol_runtime::derive_builder")] +pub struct GenericBoundInstScopedIdentifier { + pub inst: Box, + pub scoped_identifier: Box, +} + +/// +/// Type derived for production 759 +/// /// `GenericBound: ScopedIdentifier;` /// #[allow(dead_code)] @@ -4072,7 +4085,7 @@ pub struct GenericBoundScopedIdentifier { } /// -/// Type derived for production 776 +/// Type derived for production 777 /// /// `WithGenericArgumentItem: ScopedIdentifier;` /// @@ -4084,7 +4097,7 @@ pub struct WithGenericArgumentItemScopedIdentifier { } /// -/// Type derived for production 777 +/// Type derived for production 778 /// /// `WithGenericArgumentItem: Number;` /// @@ -4096,7 +4109,7 @@ pub struct WithGenericArgumentItemNumber { } /// -/// Type derived for production 787 +/// Type derived for production 788 /// /// `PortDeclarationGroupGroup: LBrace PortDeclarationList RBrace;` /// @@ -4110,7 +4123,7 @@ pub struct PortDeclarationGroupGroupLBracePortDeclarationListRBrace { } /// -/// Type derived for production 788 +/// Type derived for production 789 /// /// `PortDeclarationGroupGroup: PortDeclarationItem;` /// @@ -4122,7 +4135,7 @@ pub struct PortDeclarationGroupGroupPortDeclarationItem { } /// -/// Type derived for production 792 +/// Type derived for production 793 /// /// `PortDeclarationItemGroup: PortTypeConcrete;` /// @@ -4134,7 +4147,7 @@ pub struct PortDeclarationItemGroupPortTypeConcrete { } /// -/// Type derived for production 793 +/// Type derived for production 794 /// /// `PortDeclarationItemGroup: PortTypeAbstract;` /// @@ -4146,7 +4159,7 @@ pub struct PortDeclarationItemGroupPortTypeAbstract { } /// -/// Type derived for production 807 +/// Type derived for production 808 /// /// `Direction: Input;` /// @@ -4158,7 +4171,7 @@ pub struct DirectionInput { } /// -/// Type derived for production 808 +/// Type derived for production 809 /// /// `Direction: Output;` /// @@ -4170,7 +4183,7 @@ pub struct DirectionOutput { } /// -/// Type derived for production 809 +/// Type derived for production 810 /// /// `Direction: Inout;` /// @@ -4182,7 +4195,7 @@ pub struct DirectionInout { } /// -/// Type derived for production 810 +/// Type derived for production 811 /// /// `Direction: Ref;` /// @@ -4194,7 +4207,7 @@ pub struct DirectionRef { } /// -/// Type derived for production 811 +/// Type derived for production 812 /// /// `Direction: Modport;` /// @@ -4206,7 +4219,7 @@ pub struct DirectionModport { } /// -/// Type derived for production 812 +/// Type derived for production 813 /// /// `Direction: Import;` /// @@ -4218,7 +4231,7 @@ pub struct DirectionImport { } /// -/// Type derived for production 824 +/// Type derived for production 825 /// /// `ExportDeclarationGroup: Star;` /// @@ -4230,7 +4243,7 @@ pub struct ExportDeclarationGroupStar { } /// -/// Type derived for production 825 +/// Type derived for production 826 /// /// `ExportDeclarationGroup: ScopedIdentifier ExportDeclarationOpt /* Option */;` /// @@ -4243,7 +4256,7 @@ pub struct ExportDeclarationGroupScopedIdentifierExportDeclarationOpt { } /// -/// Type derived for production 845 +/// Type derived for production 846 /// /// `ModuleGroupGroup: LBrace ModuleGroupGroupList /* Vec */ RBrace;` /// @@ -4257,7 +4270,7 @@ pub struct ModuleGroupGroupLBraceModuleGroupGroupListRBrace { } /// -/// Type derived for production 848 +/// Type derived for production 849 /// /// `ModuleGroupGroup: ModuleItem;` /// @@ -4269,7 +4282,7 @@ pub struct ModuleGroupGroupModuleItem { } /// -/// Type derived for production 862 +/// Type derived for production 863 /// /// `InterfaceGroupGroup: LBrace InterfaceGroupGroupList /* Vec */ RBrace;` /// @@ -4283,7 +4296,7 @@ pub struct InterfaceGroupGroupLBraceInterfaceGroupGroupListRBrace { } /// -/// Type derived for production 865 +/// Type derived for production 866 /// /// `InterfaceGroupGroup: InterfaceItem;` /// @@ -4295,7 +4308,7 @@ pub struct InterfaceGroupGroupInterfaceItem { } /// -/// Type derived for production 868 +/// Type derived for production 869 /// /// `InterfaceItem: GenerateItem;` /// @@ -4307,7 +4320,7 @@ pub struct InterfaceItemGenerateItem { } /// -/// Type derived for production 869 +/// Type derived for production 870 /// /// `InterfaceItem: ModportDeclaration;` /// @@ -4319,7 +4332,7 @@ pub struct InterfaceItemModportDeclaration { } /// -/// Type derived for production 888 +/// Type derived for production 889 /// /// `GenerateGroupGroup: LBrace GenerateGroupGroupList /* Vec */ RBrace;` /// @@ -4333,7 +4346,7 @@ pub struct GenerateGroupGroupLBraceGenerateGroupGroupListRBrace { } /// -/// Type derived for production 891 +/// Type derived for production 892 /// /// `GenerateGroupGroup: GenerateItem;` /// @@ -4345,7 +4358,7 @@ pub struct GenerateGroupGroupGenerateItem { } /// -/// Type derived for production 894 +/// Type derived for production 895 /// /// `GenerateItem: LetDeclaration;` /// @@ -4357,7 +4370,7 @@ pub struct GenerateItemLetDeclaration { } /// -/// Type derived for production 895 +/// Type derived for production 896 /// /// `GenerateItem: VarDeclaration;` /// @@ -4369,7 +4382,7 @@ pub struct GenerateItemVarDeclaration { } /// -/// Type derived for production 896 +/// Type derived for production 897 /// /// `GenerateItem: InstDeclaration;` /// @@ -4381,7 +4394,7 @@ pub struct GenerateItemInstDeclaration { } /// -/// Type derived for production 897 +/// Type derived for production 898 /// /// `GenerateItem: ConstDeclaration;` /// @@ -4393,7 +4406,7 @@ pub struct GenerateItemConstDeclaration { } /// -/// Type derived for production 898 +/// Type derived for production 899 /// /// `GenerateItem: AlwaysFfDeclaration;` /// @@ -4405,7 +4418,7 @@ pub struct GenerateItemAlwaysFfDeclaration { } /// -/// Type derived for production 899 +/// Type derived for production 900 /// /// `GenerateItem: AlwaysCombDeclaration;` /// @@ -4417,7 +4430,7 @@ pub struct GenerateItemAlwaysCombDeclaration { } /// -/// Type derived for production 900 +/// Type derived for production 901 /// /// `GenerateItem: AssignDeclaration;` /// @@ -4429,7 +4442,7 @@ pub struct GenerateItemAssignDeclaration { } /// -/// Type derived for production 901 +/// Type derived for production 902 /// /// `GenerateItem: FunctionDeclaration;` /// @@ -4441,7 +4454,7 @@ pub struct GenerateItemFunctionDeclaration { } /// -/// Type derived for production 902 +/// Type derived for production 903 /// /// `GenerateItem: GenerateIfDeclaration;` /// @@ -4453,7 +4466,7 @@ pub struct GenerateItemGenerateIfDeclaration { } /// -/// Type derived for production 903 +/// Type derived for production 904 /// /// `GenerateItem: GenerateForDeclaration;` /// @@ -4465,7 +4478,7 @@ pub struct GenerateItemGenerateForDeclaration { } /// -/// Type derived for production 904 +/// Type derived for production 905 /// /// `GenerateItem: GenerateBlockDeclaration;` /// @@ -4477,7 +4490,7 @@ pub struct GenerateItemGenerateBlockDeclaration { } /// -/// Type derived for production 905 +/// Type derived for production 906 /// /// `GenerateItem: TypeDefDeclaration;` /// @@ -4489,7 +4502,7 @@ pub struct GenerateItemTypeDefDeclaration { } /// -/// Type derived for production 906 +/// Type derived for production 907 /// /// `GenerateItem: EnumDeclaration;` /// @@ -4501,7 +4514,7 @@ pub struct GenerateItemEnumDeclaration { } /// -/// Type derived for production 907 +/// Type derived for production 908 /// /// `GenerateItem: StructUnionDeclaration;` /// @@ -4513,7 +4526,7 @@ pub struct GenerateItemStructUnionDeclaration { } /// -/// Type derived for production 908 +/// Type derived for production 909 /// /// `GenerateItem: ImportDeclaration;` /// @@ -4525,7 +4538,7 @@ pub struct GenerateItemImportDeclaration { } /// -/// Type derived for production 909 +/// Type derived for production 910 /// /// `GenerateItem: InitialDeclaration;` /// @@ -4537,7 +4550,7 @@ pub struct GenerateItemInitialDeclaration { } /// -/// Type derived for production 910 +/// Type derived for production 911 /// /// `GenerateItem: FinalDeclaration;` /// @@ -4549,7 +4562,7 @@ pub struct GenerateItemFinalDeclaration { } /// -/// Type derived for production 911 +/// Type derived for production 912 /// /// `GenerateItem: UnsafeBlock;` /// @@ -4561,7 +4574,7 @@ pub struct GenerateItemUnsafeBlock { } /// -/// Type derived for production 920 +/// Type derived for production 921 /// /// `PackageGroupGroup: LBrace PackageGroupGroupList /* Vec */ RBrace;` /// @@ -4575,7 +4588,7 @@ pub struct PackageGroupGroupLBracePackageGroupGroupListRBrace { } /// -/// Type derived for production 923 +/// Type derived for production 924 /// /// `PackageGroupGroup: PackageItem;` /// @@ -4587,7 +4600,7 @@ pub struct PackageGroupGroupPackageItem { } /// -/// Type derived for production 926 +/// Type derived for production 927 /// /// `PackageItem: VarDeclaration;` /// @@ -4599,7 +4612,7 @@ pub struct PackageItemVarDeclaration { } /// -/// Type derived for production 927 +/// Type derived for production 928 /// /// `PackageItem: ConstDeclaration;` /// @@ -4611,7 +4624,7 @@ pub struct PackageItemConstDeclaration { } /// -/// Type derived for production 928 +/// Type derived for production 929 /// /// `PackageItem: TypeDefDeclaration;` /// @@ -4623,7 +4636,7 @@ pub struct PackageItemTypeDefDeclaration { } /// -/// Type derived for production 929 +/// Type derived for production 930 /// /// `PackageItem: EnumDeclaration;` /// @@ -4635,7 +4648,7 @@ pub struct PackageItemEnumDeclaration { } /// -/// Type derived for production 930 +/// Type derived for production 931 /// /// `PackageItem: StructUnionDeclaration;` /// @@ -4647,7 +4660,7 @@ pub struct PackageItemStructUnionDeclaration { } /// -/// Type derived for production 931 +/// Type derived for production 932 /// /// `PackageItem: FunctionDeclaration;` /// @@ -4659,7 +4672,7 @@ pub struct PackageItemFunctionDeclaration { } /// -/// Type derived for production 932 +/// Type derived for production 933 /// /// `PackageItem: ImportDeclaration;` /// @@ -4671,7 +4684,7 @@ pub struct PackageItemImportDeclaration { } /// -/// Type derived for production 933 +/// Type derived for production 934 /// /// `PackageItem: ExportDeclaration;` /// @@ -4683,7 +4696,7 @@ pub struct PackageItemExportDeclaration { } /// -/// Type derived for production 946 +/// Type derived for production 947 /// /// `EmbedItem: LBraceTerm EmbedItemList /* Vec */ RBraceTerm;` /// @@ -4697,7 +4710,7 @@ pub struct EmbedItemLBraceTermEmbedItemListRBraceTerm { } /// -/// Type derived for production 949 +/// Type derived for production 950 /// /// `EmbedItem: AnyTerm;` /// @@ -4709,7 +4722,7 @@ pub struct EmbedItemAnyTerm { } /// -/// Type derived for production 952 +/// Type derived for production 953 /// /// `DescriptionGroupGroup: LBrace DescriptionGroupGroupList /* Vec */ RBrace;` /// @@ -4723,7 +4736,7 @@ pub struct DescriptionGroupGroupLBraceDescriptionGroupGroupListRBrace { } /// -/// Type derived for production 955 +/// Type derived for production 956 /// /// `DescriptionGroupGroup: DescriptionItem;` /// @@ -4735,7 +4748,7 @@ pub struct DescriptionGroupGroupDescriptionItem { } /// -/// Type derived for production 958 +/// Type derived for production 959 /// /// `DescriptionItem: ModuleDeclaration;` /// @@ -4747,7 +4760,7 @@ pub struct DescriptionItemModuleDeclaration { } /// -/// Type derived for production 959 +/// Type derived for production 960 /// /// `DescriptionItem: InterfaceDeclaration;` /// @@ -4759,7 +4772,7 @@ pub struct DescriptionItemInterfaceDeclaration { } /// -/// Type derived for production 960 +/// Type derived for production 961 /// /// `DescriptionItem: PackageDeclaration;` /// @@ -4771,7 +4784,7 @@ pub struct DescriptionItemPackageDeclaration { } /// -/// Type derived for production 961 +/// Type derived for production 962 /// /// `DescriptionItem: ProtoModuleDeclaration;` /// @@ -4783,7 +4796,7 @@ pub struct DescriptionItemProtoModuleDeclaration { } /// -/// Type derived for production 962 +/// Type derived for production 963 /// /// `DescriptionItem: ImportDeclaration;` /// @@ -4795,7 +4808,7 @@ pub struct DescriptionItemImportDeclaration { } /// -/// Type derived for production 963 +/// Type derived for production 964 /// /// `DescriptionItem: EmbedDeclaration;` /// @@ -4807,7 +4820,7 @@ pub struct DescriptionItemEmbedDeclaration { } /// -/// Type derived for production 964 +/// Type derived for production 965 /// /// `DescriptionItem: IncludeDeclaration;` /// @@ -7641,6 +7654,7 @@ pub struct GenerateOptionalNamedBlockOpt { pub enum GenericBound { Const(GenericBoundConst), Type(GenericBoundType), + InstScopedIdentifier(GenericBoundInstScopedIdentifier), ScopedIdentifier(GenericBoundScopedIdentifier), } @@ -29836,17 +29850,23 @@ impl<'t, 'u> VerylGrammarAuto<'t, 'u> { /// Semantic action for production 758: /// - /// `GenericBound: ScopedIdentifier;` + /// `GenericBound: Inst ScopedIdentifier;` /// #[parol_runtime::function_name::named] - fn generic_bound_2(&mut self, _scoped_identifier: &ParseTreeType<'t>) -> Result<()> { + fn generic_bound_2( + &mut self, + _inst: &ParseTreeType<'t>, + _scoped_identifier: &ParseTreeType<'t>, + ) -> Result<()> { let context = function_name!(); trace!("{}", self.trace_item_stack(context)); let scoped_identifier = pop_item!(self, scoped_identifier, ScopedIdentifier, context); - let generic_bound_2_built = GenericBoundScopedIdentifier { + let inst = pop_item!(self, inst, Inst, context); + let generic_bound_2_built = GenericBoundInstScopedIdentifier { + inst: Box::new(inst), scoped_identifier: Box::new(scoped_identifier), }; - let generic_bound_2_built = GenericBound::ScopedIdentifier(generic_bound_2_built); + let generic_bound_2_built = GenericBound::InstScopedIdentifier(generic_bound_2_built); // Calling user action here self.user_grammar.generic_bound(&generic_bound_2_built)?; self.push(ASTType::GenericBound(generic_bound_2_built), context); @@ -29855,6 +29875,25 @@ impl<'t, 'u> VerylGrammarAuto<'t, 'u> { /// Semantic action for production 759: /// + /// `GenericBound: ScopedIdentifier;` + /// + #[parol_runtime::function_name::named] + fn generic_bound_3(&mut self, _scoped_identifier: &ParseTreeType<'t>) -> Result<()> { + let context = function_name!(); + trace!("{}", self.trace_item_stack(context)); + let scoped_identifier = pop_item!(self, scoped_identifier, ScopedIdentifier, context); + let generic_bound_3_built = GenericBoundScopedIdentifier { + scoped_identifier: Box::new(scoped_identifier), + }; + let generic_bound_3_built = GenericBound::ScopedIdentifier(generic_bound_3_built); + // Calling user action here + self.user_grammar.generic_bound(&generic_bound_3_built)?; + self.push(ASTType::GenericBound(generic_bound_3_built), context); + Ok(()) + } + + /// Semantic action for production 760: + /// /// `WithGenericParameter: ColonColonLAngle WithGenericParameterList RAngle;` /// #[parol_runtime::function_name::named] @@ -29889,7 +29928,7 @@ impl<'t, 'u> VerylGrammarAuto<'t, 'u> { Ok(()) } - /// Semantic action for production 760: + /// Semantic action for production 761: /// /// `WithGenericParameterList: WithGenericParameterItem WithGenericParameterListList /* Vec */ WithGenericParameterListOpt /* Option */;` /// @@ -29935,7 +29974,7 @@ impl<'t, 'u> VerylGrammarAuto<'t, 'u> { Ok(()) } - /// Semantic action for production 761: + /// Semantic action for production 762: /// /// `WithGenericParameterListList /* Vec::Push */: Comma WithGenericParameterItem WithGenericParameterListList;` /// @@ -29974,7 +30013,7 @@ impl<'t, 'u> VerylGrammarAuto<'t, 'u> { Ok(()) } - /// Semantic action for production 762: + /// Semantic action for production 763: /// /// `WithGenericParameterListList /* Vec::New */: ;` /// @@ -29990,7 +30029,7 @@ impl<'t, 'u> VerylGrammarAuto<'t, 'u> { Ok(()) } - /// Semantic action for production 763: + /// Semantic action for production 764: /// /// `WithGenericParameterListOpt /* Option::Some */: Comma;` /// @@ -30009,7 +30048,7 @@ impl<'t, 'u> VerylGrammarAuto<'t, 'u> { Ok(()) } - /// Semantic action for production 764: + /// Semantic action for production 765: /// /// `WithGenericParameterListOpt /* Option::None */: ;` /// @@ -30021,7 +30060,7 @@ impl<'t, 'u> VerylGrammarAuto<'t, 'u> { Ok(()) } - /// Semantic action for production 765: + /// Semantic action for production 766: /// /// `WithGenericParameterItem: Identifier Colon GenericBound WithGenericParameterItemOpt /* Option */;` /// @@ -30060,7 +30099,7 @@ impl<'t, 'u> VerylGrammarAuto<'t, 'u> { Ok(()) } - /// Semantic action for production 766: + /// Semantic action for production 767: /// /// `WithGenericParameterItemOpt /* Option::Some */: Equ WithGenericArgumentItem;` /// @@ -30090,7 +30129,7 @@ impl<'t, 'u> VerylGrammarAuto<'t, 'u> { Ok(()) } - /// Semantic action for production 767: + /// Semantic action for production 768: /// /// `WithGenericParameterItemOpt /* Option::None */: ;` /// @@ -30102,7 +30141,7 @@ impl<'t, 'u> VerylGrammarAuto<'t, 'u> { Ok(()) } - /// Semantic action for production 768: + /// Semantic action for production 769: /// /// `WithGenericArgument: ColonColonLAngle %push(Generic) WithGenericArgumentOpt /* Option */ RAngle %pop();` /// @@ -30138,7 +30177,7 @@ impl<'t, 'u> VerylGrammarAuto<'t, 'u> { Ok(()) } - /// Semantic action for production 769: + /// Semantic action for production 770: /// /// `WithGenericArgumentOpt /* Option::Some */: WithGenericArgumentList;` /// @@ -30165,7 +30204,7 @@ impl<'t, 'u> VerylGrammarAuto<'t, 'u> { Ok(()) } - /// Semantic action for production 770: + /// Semantic action for production 771: /// /// `WithGenericArgumentOpt /* Option::None */: ;` /// @@ -30177,7 +30216,7 @@ impl<'t, 'u> VerylGrammarAuto<'t, 'u> { Ok(()) } - /// Semantic action for production 771: + /// Semantic action for production 772: /// /// `WithGenericArgumentList: WithGenericArgumentItem WithGenericArgumentListList /* Vec */ WithGenericArgumentListOpt /* Option */;` /// @@ -30223,7 +30262,7 @@ impl<'t, 'u> VerylGrammarAuto<'t, 'u> { Ok(()) } - /// Semantic action for production 772: + /// Semantic action for production 773: /// /// `WithGenericArgumentListList /* Vec::Push */: Comma WithGenericArgumentItem WithGenericArgumentListList;` /// @@ -30262,7 +30301,7 @@ impl<'t, 'u> VerylGrammarAuto<'t, 'u> { Ok(()) } - /// Semantic action for production 773: + /// Semantic action for production 774: /// /// `WithGenericArgumentListList /* Vec::New */: ;` /// @@ -30278,7 +30317,7 @@ impl<'t, 'u> VerylGrammarAuto<'t, 'u> { Ok(()) } - /// Semantic action for production 774: + /// Semantic action for production 775: /// /// `WithGenericArgumentListOpt /* Option::Some */: Comma;` /// @@ -30297,7 +30336,7 @@ impl<'t, 'u> VerylGrammarAuto<'t, 'u> { Ok(()) } - /// Semantic action for production 775: + /// Semantic action for production 776: /// /// `WithGenericArgumentListOpt /* Option::None */: ;` /// @@ -30309,7 +30348,7 @@ impl<'t, 'u> VerylGrammarAuto<'t, 'u> { Ok(()) } - /// Semantic action for production 776: + /// Semantic action for production 777: /// /// `WithGenericArgumentItem: ScopedIdentifier;` /// @@ -30336,7 +30375,7 @@ impl<'t, 'u> VerylGrammarAuto<'t, 'u> { Ok(()) } - /// Semantic action for production 777: + /// Semantic action for production 778: /// /// `WithGenericArgumentItem: Number;` /// @@ -30360,7 +30399,7 @@ impl<'t, 'u> VerylGrammarAuto<'t, 'u> { Ok(()) } - /// Semantic action for production 778: + /// Semantic action for production 779: /// /// `PortDeclaration: LParen PortDeclarationOpt /* Option */ RParen;` /// @@ -30389,7 +30428,7 @@ impl<'t, 'u> VerylGrammarAuto<'t, 'u> { Ok(()) } - /// Semantic action for production 779: + /// Semantic action for production 780: /// /// `PortDeclarationOpt /* Option::Some */: PortDeclarationList;` /// @@ -30409,7 +30448,7 @@ impl<'t, 'u> VerylGrammarAuto<'t, 'u> { Ok(()) } - /// Semantic action for production 780: + /// Semantic action for production 781: /// /// `PortDeclarationOpt /* Option::None */: ;` /// @@ -30421,7 +30460,7 @@ impl<'t, 'u> VerylGrammarAuto<'t, 'u> { Ok(()) } - /// Semantic action for production 781: + /// Semantic action for production 782: /// /// `PortDeclarationList: PortDeclarationGroup PortDeclarationListList /* Vec */ PortDeclarationListOpt /* Option */;` /// @@ -30463,7 +30502,7 @@ impl<'t, 'u> VerylGrammarAuto<'t, 'u> { Ok(()) } - /// Semantic action for production 782: + /// Semantic action for production 783: /// /// `PortDeclarationListList /* Vec::Push */: Comma PortDeclarationGroup PortDeclarationListList;` /// @@ -30498,7 +30537,7 @@ impl<'t, 'u> VerylGrammarAuto<'t, 'u> { Ok(()) } - /// Semantic action for production 783: + /// Semantic action for production 784: /// /// `PortDeclarationListList /* Vec::New */: ;` /// @@ -30514,7 +30553,7 @@ impl<'t, 'u> VerylGrammarAuto<'t, 'u> { Ok(()) } - /// Semantic action for production 784: + /// Semantic action for production 785: /// /// `PortDeclarationListOpt /* Option::Some */: Comma;` /// @@ -30533,7 +30572,7 @@ impl<'t, 'u> VerylGrammarAuto<'t, 'u> { Ok(()) } - /// Semantic action for production 785: + /// Semantic action for production 786: /// /// `PortDeclarationListOpt /* Option::None */: ;` /// @@ -30545,7 +30584,7 @@ impl<'t, 'u> VerylGrammarAuto<'t, 'u> { Ok(()) } - /// Semantic action for production 786: + /// Semantic action for production 787: /// /// `PortDeclarationGroup: PortDeclarationGroupList /* Vec */ PortDeclarationGroupGroup;` /// @@ -30583,7 +30622,7 @@ impl<'t, 'u> VerylGrammarAuto<'t, 'u> { Ok(()) } - /// Semantic action for production 787: + /// Semantic action for production 788: /// /// `PortDeclarationGroupGroup: LBrace PortDeclarationList RBrace;` /// @@ -30617,7 +30656,7 @@ impl<'t, 'u> VerylGrammarAuto<'t, 'u> { Ok(()) } - /// Semantic action for production 788: + /// Semantic action for production 789: /// /// `PortDeclarationGroupGroup: PortDeclarationItem;` /// @@ -30642,7 +30681,7 @@ impl<'t, 'u> VerylGrammarAuto<'t, 'u> { Ok(()) } - /// Semantic action for production 789: + /// Semantic action for production 790: /// /// `PortDeclarationGroupList /* Vec::Push */: Attribute PortDeclarationGroupList;` /// @@ -30673,7 +30712,7 @@ impl<'t, 'u> VerylGrammarAuto<'t, 'u> { Ok(()) } - /// Semantic action for production 790: + /// Semantic action for production 791: /// /// `PortDeclarationGroupList /* Vec::New */: ;` /// @@ -30689,7 +30728,7 @@ impl<'t, 'u> VerylGrammarAuto<'t, 'u> { Ok(()) } - /// Semantic action for production 791: + /// Semantic action for production 792: /// /// `PortDeclarationItem: Identifier Colon PortDeclarationItemGroup;` /// @@ -30725,7 +30764,7 @@ impl<'t, 'u> VerylGrammarAuto<'t, 'u> { Ok(()) } - /// Semantic action for production 792: + /// Semantic action for production 793: /// /// `PortDeclarationItemGroup: PortTypeConcrete;` /// @@ -30749,7 +30788,7 @@ impl<'t, 'u> VerylGrammarAuto<'t, 'u> { Ok(()) } - /// Semantic action for production 793: + /// Semantic action for production 794: /// /// `PortDeclarationItemGroup: PortTypeAbstract;` /// @@ -30773,7 +30812,7 @@ impl<'t, 'u> VerylGrammarAuto<'t, 'u> { Ok(()) } - /// Semantic action for production 794: + /// Semantic action for production 795: /// /// `PortTypeConcrete: Direction PortTypeConcreteOpt /* Option */ ArrayType PortTypeConcreteOpt0 /* Option */;` /// @@ -30806,7 +30845,7 @@ impl<'t, 'u> VerylGrammarAuto<'t, 'u> { Ok(()) } - /// Semantic action for production 795: + /// Semantic action for production 796: /// /// `PortTypeConcreteOpt0 /* Option::Some */: Equ PortDefaultValue;` /// @@ -30831,7 +30870,7 @@ impl<'t, 'u> VerylGrammarAuto<'t, 'u> { Ok(()) } - /// Semantic action for production 796: + /// Semantic action for production 797: /// /// `PortTypeConcreteOpt0 /* Option::None */: ;` /// @@ -30843,7 +30882,7 @@ impl<'t, 'u> VerylGrammarAuto<'t, 'u> { Ok(()) } - /// Semantic action for production 797: + /// Semantic action for production 798: /// /// `PortTypeConcreteOpt /* Option::Some */: ClockDomain;` /// @@ -30862,7 +30901,7 @@ impl<'t, 'u> VerylGrammarAuto<'t, 'u> { Ok(()) } - /// Semantic action for production 798: + /// Semantic action for production 799: /// /// `PortTypeConcreteOpt /* Option::None */: ;` /// @@ -30874,7 +30913,7 @@ impl<'t, 'u> VerylGrammarAuto<'t, 'u> { Ok(()) } - /// Semantic action for production 799: + /// Semantic action for production 800: /// /// `PortDefaultValue: Expression;` /// @@ -30893,7 +30932,7 @@ impl<'t, 'u> VerylGrammarAuto<'t, 'u> { Ok(()) } - /// Semantic action for production 800: + /// Semantic action for production 801: /// /// `PortTypeAbstract: PortTypeAbstractOpt /* Option */ Interface PortTypeAbstractOpt0 /* Option */ PortTypeAbstractOpt1 /* Option */;` /// @@ -30927,7 +30966,7 @@ impl<'t, 'u> VerylGrammarAuto<'t, 'u> { Ok(()) } - /// Semantic action for production 801: + /// Semantic action for production 802: /// /// `PortTypeAbstractOpt1 /* Option::Some */: Array;` /// @@ -30946,7 +30985,7 @@ impl<'t, 'u> VerylGrammarAuto<'t, 'u> { Ok(()) } - /// Semantic action for production 802: + /// Semantic action for production 803: /// /// `PortTypeAbstractOpt1 /* Option::None */: ;` /// @@ -30958,7 +30997,7 @@ impl<'t, 'u> VerylGrammarAuto<'t, 'u> { Ok(()) } - /// Semantic action for production 803: + /// Semantic action for production 804: /// /// `PortTypeAbstractOpt0 /* Option::Some */: ColonColon Identifier;` /// @@ -30983,7 +31022,7 @@ impl<'t, 'u> VerylGrammarAuto<'t, 'u> { Ok(()) } - /// Semantic action for production 804: + /// Semantic action for production 805: /// /// `PortTypeAbstractOpt0 /* Option::None */: ;` /// @@ -30995,7 +31034,7 @@ impl<'t, 'u> VerylGrammarAuto<'t, 'u> { Ok(()) } - /// Semantic action for production 805: + /// Semantic action for production 806: /// /// `PortTypeAbstractOpt /* Option::Some */: ClockDomain;` /// @@ -31014,7 +31053,7 @@ impl<'t, 'u> VerylGrammarAuto<'t, 'u> { Ok(()) } - /// Semantic action for production 806: + /// Semantic action for production 807: /// /// `PortTypeAbstractOpt /* Option::None */: ;` /// @@ -31026,7 +31065,7 @@ impl<'t, 'u> VerylGrammarAuto<'t, 'u> { Ok(()) } - /// Semantic action for production 807: + /// Semantic action for production 808: /// /// `Direction: Input;` /// @@ -31045,7 +31084,7 @@ impl<'t, 'u> VerylGrammarAuto<'t, 'u> { Ok(()) } - /// Semantic action for production 808: + /// Semantic action for production 809: /// /// `Direction: Output;` /// @@ -31064,7 +31103,7 @@ impl<'t, 'u> VerylGrammarAuto<'t, 'u> { Ok(()) } - /// Semantic action for production 809: + /// Semantic action for production 810: /// /// `Direction: Inout;` /// @@ -31083,7 +31122,7 @@ impl<'t, 'u> VerylGrammarAuto<'t, 'u> { Ok(()) } - /// Semantic action for production 810: + /// Semantic action for production 811: /// /// `Direction: Ref;` /// @@ -31102,7 +31141,7 @@ impl<'t, 'u> VerylGrammarAuto<'t, 'u> { Ok(()) } - /// Semantic action for production 811: + /// Semantic action for production 812: /// /// `Direction: Modport;` /// @@ -31121,7 +31160,7 @@ impl<'t, 'u> VerylGrammarAuto<'t, 'u> { Ok(()) } - /// Semantic action for production 812: + /// Semantic action for production 813: /// /// `Direction: Import;` /// @@ -31140,7 +31179,7 @@ impl<'t, 'u> VerylGrammarAuto<'t, 'u> { Ok(()) } - /// Semantic action for production 813: + /// Semantic action for production 814: /// /// `FunctionDeclaration: Function Identifier FunctionDeclarationOpt /* Option */ FunctionDeclarationOpt0 /* Option */ FunctionDeclarationOpt1 /* Option */ StatementBlock;` /// @@ -31195,7 +31234,7 @@ impl<'t, 'u> VerylGrammarAuto<'t, 'u> { Ok(()) } - /// Semantic action for production 814: + /// Semantic action for production 815: /// /// `FunctionDeclarationOpt1 /* Option::Some */: MinusGT ScalarType;` /// @@ -31220,7 +31259,7 @@ impl<'t, 'u> VerylGrammarAuto<'t, 'u> { Ok(()) } - /// Semantic action for production 815: + /// Semantic action for production 816: /// /// `FunctionDeclarationOpt1 /* Option::None */: ;` /// @@ -31232,7 +31271,7 @@ impl<'t, 'u> VerylGrammarAuto<'t, 'u> { Ok(()) } - /// Semantic action for production 816: + /// Semantic action for production 817: /// /// `FunctionDeclarationOpt0 /* Option::Some */: PortDeclaration;` /// @@ -31251,7 +31290,7 @@ impl<'t, 'u> VerylGrammarAuto<'t, 'u> { Ok(()) } - /// Semantic action for production 817: + /// Semantic action for production 818: /// /// `FunctionDeclarationOpt0 /* Option::None */: ;` /// @@ -31263,7 +31302,7 @@ impl<'t, 'u> VerylGrammarAuto<'t, 'u> { Ok(()) } - /// Semantic action for production 818: + /// Semantic action for production 819: /// /// `FunctionDeclarationOpt /* Option::Some */: WithGenericParameter;` /// @@ -31286,7 +31325,7 @@ impl<'t, 'u> VerylGrammarAuto<'t, 'u> { Ok(()) } - /// Semantic action for production 819: + /// Semantic action for production 820: /// /// `FunctionDeclarationOpt /* Option::None */: ;` /// @@ -31298,7 +31337,7 @@ impl<'t, 'u> VerylGrammarAuto<'t, 'u> { Ok(()) } - /// Semantic action for production 820: + /// Semantic action for production 821: /// /// `ImportDeclaration: Import ScopedIdentifier ImportDeclarationOpt /* Option */ Semicolon;` /// @@ -31333,7 +31372,7 @@ impl<'t, 'u> VerylGrammarAuto<'t, 'u> { Ok(()) } - /// Semantic action for production 821: + /// Semantic action for production 822: /// /// `ImportDeclarationOpt /* Option::Some */: ColonColon Star;` /// @@ -31358,7 +31397,7 @@ impl<'t, 'u> VerylGrammarAuto<'t, 'u> { Ok(()) } - /// Semantic action for production 822: + /// Semantic action for production 823: /// /// `ImportDeclarationOpt /* Option::None */: ;` /// @@ -31370,7 +31409,7 @@ impl<'t, 'u> VerylGrammarAuto<'t, 'u> { Ok(()) } - /// Semantic action for production 823: + /// Semantic action for production 824: /// /// `ExportDeclaration: Export ExportDeclarationGroup Semicolon;` /// @@ -31406,7 +31445,7 @@ impl<'t, 'u> VerylGrammarAuto<'t, 'u> { Ok(()) } - /// Semantic action for production 824: + /// Semantic action for production 825: /// /// `ExportDeclarationGroup: Star;` /// @@ -31427,7 +31466,7 @@ impl<'t, 'u> VerylGrammarAuto<'t, 'u> { Ok(()) } - /// Semantic action for production 825: + /// Semantic action for production 826: /// /// `ExportDeclarationGroup: ScopedIdentifier ExportDeclarationOpt /* Option */;` /// @@ -31458,7 +31497,7 @@ impl<'t, 'u> VerylGrammarAuto<'t, 'u> { Ok(()) } - /// Semantic action for production 826: + /// Semantic action for production 827: /// /// `ExportDeclarationOpt /* Option::Some */: ColonColon Star;` /// @@ -31483,7 +31522,7 @@ impl<'t, 'u> VerylGrammarAuto<'t, 'u> { Ok(()) } - /// Semantic action for production 827: + /// Semantic action for production 828: /// /// `ExportDeclarationOpt /* Option::None */: ;` /// @@ -31495,7 +31534,7 @@ impl<'t, 'u> VerylGrammarAuto<'t, 'u> { Ok(()) } - /// Semantic action for production 828: + /// Semantic action for production 829: /// /// `UnsafeBlock: Unsafe LParen Identifier RParen LBrace UnsafeBlockList /* Vec */ RBrace;` /// @@ -31535,7 +31574,7 @@ impl<'t, 'u> VerylGrammarAuto<'t, 'u> { Ok(()) } - /// Semantic action for production 829: + /// Semantic action for production 830: /// /// `UnsafeBlockList /* Vec::Push */: GenerateGroup UnsafeBlockList;` /// @@ -31558,7 +31597,7 @@ impl<'t, 'u> VerylGrammarAuto<'t, 'u> { Ok(()) } - /// Semantic action for production 830: + /// Semantic action for production 831: /// /// `UnsafeBlockList /* Vec::New */: ;` /// @@ -31571,7 +31610,7 @@ impl<'t, 'u> VerylGrammarAuto<'t, 'u> { Ok(()) } - /// Semantic action for production 831: + /// Semantic action for production 832: /// /// `ModuleDeclaration: ModuleDeclarationOpt /* Option */ Module Identifier ModuleDeclarationOpt0 /* Option */ ModuleDeclarationOpt1 /* Option */ ModuleDeclarationOpt2 /* Option */ ModuleDeclarationOpt3 /* Option */ LBrace ModuleDeclarationList /* Vec */ RBrace;` /// @@ -31649,7 +31688,7 @@ impl<'t, 'u> VerylGrammarAuto<'t, 'u> { Ok(()) } - /// Semantic action for production 832: + /// Semantic action for production 833: /// /// `ModuleDeclarationList /* Vec::Push */: ModuleGroup ModuleDeclarationList;` /// @@ -31680,7 +31719,7 @@ impl<'t, 'u> VerylGrammarAuto<'t, 'u> { Ok(()) } - /// Semantic action for production 833: + /// Semantic action for production 834: /// /// `ModuleDeclarationList /* Vec::New */: ;` /// @@ -31696,7 +31735,7 @@ impl<'t, 'u> VerylGrammarAuto<'t, 'u> { Ok(()) } - /// Semantic action for production 834: + /// Semantic action for production 835: /// /// `ModuleDeclarationOpt3 /* Option::Some */: PortDeclaration;` /// @@ -31715,7 +31754,7 @@ impl<'t, 'u> VerylGrammarAuto<'t, 'u> { Ok(()) } - /// Semantic action for production 835: + /// Semantic action for production 836: /// /// `ModuleDeclarationOpt3 /* Option::None */: ;` /// @@ -31727,7 +31766,7 @@ impl<'t, 'u> VerylGrammarAuto<'t, 'u> { Ok(()) } - /// Semantic action for production 836: + /// Semantic action for production 837: /// /// `ModuleDeclarationOpt2 /* Option::Some */: WithParameter;` /// @@ -31746,7 +31785,7 @@ impl<'t, 'u> VerylGrammarAuto<'t, 'u> { Ok(()) } - /// Semantic action for production 837: + /// Semantic action for production 838: /// /// `ModuleDeclarationOpt2 /* Option::None */: ;` /// @@ -31758,7 +31797,7 @@ impl<'t, 'u> VerylGrammarAuto<'t, 'u> { Ok(()) } - /// Semantic action for production 838: + /// Semantic action for production 839: /// /// `ModuleDeclarationOpt1 /* Option::Some */: For ScopedIdentifier;` /// @@ -31783,7 +31822,7 @@ impl<'t, 'u> VerylGrammarAuto<'t, 'u> { Ok(()) } - /// Semantic action for production 839: + /// Semantic action for production 840: /// /// `ModuleDeclarationOpt1 /* Option::None */: ;` /// @@ -31795,7 +31834,7 @@ impl<'t, 'u> VerylGrammarAuto<'t, 'u> { Ok(()) } - /// Semantic action for production 840: + /// Semantic action for production 841: /// /// `ModuleDeclarationOpt0 /* Option::Some */: WithGenericParameter;` /// @@ -31818,7 +31857,7 @@ impl<'t, 'u> VerylGrammarAuto<'t, 'u> { Ok(()) } - /// Semantic action for production 841: + /// Semantic action for production 842: /// /// `ModuleDeclarationOpt0 /* Option::None */: ;` /// @@ -31830,7 +31869,7 @@ impl<'t, 'u> VerylGrammarAuto<'t, 'u> { Ok(()) } - /// Semantic action for production 842: + /// Semantic action for production 843: /// /// `ModuleDeclarationOpt /* Option::Some */: Pub;` /// @@ -31849,7 +31888,7 @@ impl<'t, 'u> VerylGrammarAuto<'t, 'u> { Ok(()) } - /// Semantic action for production 843: + /// Semantic action for production 844: /// /// `ModuleDeclarationOpt /* Option::None */: ;` /// @@ -31861,7 +31900,7 @@ impl<'t, 'u> VerylGrammarAuto<'t, 'u> { Ok(()) } - /// Semantic action for production 844: + /// Semantic action for production 845: /// /// `ModuleGroup: ModuleGroupList /* Vec */ ModuleGroupGroup;` /// @@ -31886,7 +31925,7 @@ impl<'t, 'u> VerylGrammarAuto<'t, 'u> { Ok(()) } - /// Semantic action for production 845: + /// Semantic action for production 846: /// /// `ModuleGroupGroup: LBrace ModuleGroupGroupList /* Vec */ RBrace;` /// @@ -31917,7 +31956,7 @@ impl<'t, 'u> VerylGrammarAuto<'t, 'u> { Ok(()) } - /// Semantic action for production 846: + /// Semantic action for production 847: /// /// `ModuleGroupGroupList /* Vec::Push */: ModuleGroup ModuleGroupGroupList;` /// @@ -31944,7 +31983,7 @@ impl<'t, 'u> VerylGrammarAuto<'t, 'u> { Ok(()) } - /// Semantic action for production 847: + /// Semantic action for production 848: /// /// `ModuleGroupGroupList /* Vec::New */: ;` /// @@ -31960,7 +31999,7 @@ impl<'t, 'u> VerylGrammarAuto<'t, 'u> { Ok(()) } - /// Semantic action for production 848: + /// Semantic action for production 849: /// /// `ModuleGroupGroup: ModuleItem;` /// @@ -31980,7 +32019,7 @@ impl<'t, 'u> VerylGrammarAuto<'t, 'u> { Ok(()) } - /// Semantic action for production 849: + /// Semantic action for production 850: /// /// `ModuleGroupList /* Vec::Push */: Attribute ModuleGroupList;` /// @@ -32003,7 +32042,7 @@ impl<'t, 'u> VerylGrammarAuto<'t, 'u> { Ok(()) } - /// Semantic action for production 850: + /// Semantic action for production 851: /// /// `ModuleGroupList /* Vec::New */: ;` /// @@ -32016,7 +32055,7 @@ impl<'t, 'u> VerylGrammarAuto<'t, 'u> { Ok(()) } - /// Semantic action for production 851: + /// Semantic action for production 852: /// /// `ModuleItem: GenerateItem;` /// @@ -32034,7 +32073,7 @@ impl<'t, 'u> VerylGrammarAuto<'t, 'u> { Ok(()) } - /// Semantic action for production 852: + /// Semantic action for production 853: /// /// `InterfaceDeclaration: InterfaceDeclarationOpt /* Option */ Interface Identifier InterfaceDeclarationOpt0 /* Option */ InterfaceDeclarationOpt1 /* Option */ LBrace InterfaceDeclarationList /* Vec */ RBrace;` /// @@ -32100,7 +32139,7 @@ impl<'t, 'u> VerylGrammarAuto<'t, 'u> { Ok(()) } - /// Semantic action for production 853: + /// Semantic action for production 854: /// /// `InterfaceDeclarationList /* Vec::Push */: InterfaceGroup InterfaceDeclarationList;` /// @@ -32131,7 +32170,7 @@ impl<'t, 'u> VerylGrammarAuto<'t, 'u> { Ok(()) } - /// Semantic action for production 854: + /// Semantic action for production 855: /// /// `InterfaceDeclarationList /* Vec::New */: ;` /// @@ -32147,7 +32186,7 @@ impl<'t, 'u> VerylGrammarAuto<'t, 'u> { Ok(()) } - /// Semantic action for production 855: + /// Semantic action for production 856: /// /// `InterfaceDeclarationOpt1 /* Option::Some */: WithParameter;` /// @@ -32166,7 +32205,7 @@ impl<'t, 'u> VerylGrammarAuto<'t, 'u> { Ok(()) } - /// Semantic action for production 856: + /// Semantic action for production 857: /// /// `InterfaceDeclarationOpt1 /* Option::None */: ;` /// @@ -32178,7 +32217,7 @@ impl<'t, 'u> VerylGrammarAuto<'t, 'u> { Ok(()) } - /// Semantic action for production 857: + /// Semantic action for production 858: /// /// `InterfaceDeclarationOpt0 /* Option::Some */: WithGenericParameter;` /// @@ -32201,7 +32240,7 @@ impl<'t, 'u> VerylGrammarAuto<'t, 'u> { Ok(()) } - /// Semantic action for production 858: + /// Semantic action for production 859: /// /// `InterfaceDeclarationOpt0 /* Option::None */: ;` /// @@ -32213,7 +32252,7 @@ impl<'t, 'u> VerylGrammarAuto<'t, 'u> { Ok(()) } - /// Semantic action for production 859: + /// Semantic action for production 860: /// /// `InterfaceDeclarationOpt /* Option::Some */: Pub;` /// @@ -32232,7 +32271,7 @@ impl<'t, 'u> VerylGrammarAuto<'t, 'u> { Ok(()) } - /// Semantic action for production 860: + /// Semantic action for production 861: /// /// `InterfaceDeclarationOpt /* Option::None */: ;` /// @@ -32244,7 +32283,7 @@ impl<'t, 'u> VerylGrammarAuto<'t, 'u> { Ok(()) } - /// Semantic action for production 861: + /// Semantic action for production 862: /// /// `InterfaceGroup: InterfaceGroupList /* Vec */ InterfaceGroupGroup;` /// @@ -32270,7 +32309,7 @@ impl<'t, 'u> VerylGrammarAuto<'t, 'u> { Ok(()) } - /// Semantic action for production 862: + /// Semantic action for production 863: /// /// `InterfaceGroupGroup: LBrace InterfaceGroupGroupList /* Vec */ RBrace;` /// @@ -32306,7 +32345,7 @@ impl<'t, 'u> VerylGrammarAuto<'t, 'u> { Ok(()) } - /// Semantic action for production 863: + /// Semantic action for production 864: /// /// `InterfaceGroupGroupList /* Vec::Push */: InterfaceGroup InterfaceGroupGroupList;` /// @@ -32337,7 +32376,7 @@ impl<'t, 'u> VerylGrammarAuto<'t, 'u> { Ok(()) } - /// Semantic action for production 864: + /// Semantic action for production 865: /// /// `InterfaceGroupGroupList /* Vec::New */: ;` /// @@ -32353,7 +32392,7 @@ impl<'t, 'u> VerylGrammarAuto<'t, 'u> { Ok(()) } - /// Semantic action for production 865: + /// Semantic action for production 866: /// /// `InterfaceGroupGroup: InterfaceItem;` /// @@ -32374,7 +32413,7 @@ impl<'t, 'u> VerylGrammarAuto<'t, 'u> { Ok(()) } - /// Semantic action for production 866: + /// Semantic action for production 867: /// /// `InterfaceGroupList /* Vec::Push */: Attribute InterfaceGroupList;` /// @@ -32398,7 +32437,7 @@ impl<'t, 'u> VerylGrammarAuto<'t, 'u> { Ok(()) } - /// Semantic action for production 867: + /// Semantic action for production 868: /// /// `InterfaceGroupList /* Vec::New */: ;` /// @@ -32414,7 +32453,7 @@ impl<'t, 'u> VerylGrammarAuto<'t, 'u> { Ok(()) } - /// Semantic action for production 868: + /// Semantic action for production 869: /// /// `InterfaceItem: GenerateItem;` /// @@ -32433,7 +32472,7 @@ impl<'t, 'u> VerylGrammarAuto<'t, 'u> { Ok(()) } - /// Semantic action for production 869: + /// Semantic action for production 870: /// /// `InterfaceItem: ModportDeclaration;` /// @@ -32452,7 +32491,7 @@ impl<'t, 'u> VerylGrammarAuto<'t, 'u> { Ok(()) } - /// Semantic action for production 870: + /// Semantic action for production 871: /// /// `GenerateIfDeclaration: If Expression GenerateNamedBlock GenerateIfDeclarationList /* Vec */ GenerateIfDeclarationOpt /* Option */;` /// @@ -32500,7 +32539,7 @@ impl<'t, 'u> VerylGrammarAuto<'t, 'u> { Ok(()) } - /// Semantic action for production 871: + /// Semantic action for production 872: /// /// `GenerateIfDeclarationList /* Vec::Push */: Else If Expression GenerateOptionalNamedBlock GenerateIfDeclarationList;` /// @@ -32545,7 +32584,7 @@ impl<'t, 'u> VerylGrammarAuto<'t, 'u> { Ok(()) } - /// Semantic action for production 872: + /// Semantic action for production 873: /// /// `GenerateIfDeclarationList /* Vec::New */: ;` /// @@ -32561,7 +32600,7 @@ impl<'t, 'u> VerylGrammarAuto<'t, 'u> { Ok(()) } - /// Semantic action for production 873: + /// Semantic action for production 874: /// /// `GenerateIfDeclarationOpt /* Option::Some */: Else GenerateOptionalNamedBlock;` /// @@ -32591,7 +32630,7 @@ impl<'t, 'u> VerylGrammarAuto<'t, 'u> { Ok(()) } - /// Semantic action for production 874: + /// Semantic action for production 875: /// /// `GenerateIfDeclarationOpt /* Option::None */: ;` /// @@ -32603,7 +32642,7 @@ impl<'t, 'u> VerylGrammarAuto<'t, 'u> { Ok(()) } - /// Semantic action for production 875: + /// Semantic action for production 876: /// /// `GenerateForDeclaration: For Identifier In Range GenerateForDeclarationOpt /* Option */ GenerateNamedBlock;` /// @@ -32649,7 +32688,7 @@ impl<'t, 'u> VerylGrammarAuto<'t, 'u> { Ok(()) } - /// Semantic action for production 876: + /// Semantic action for production 877: /// /// `GenerateForDeclarationOpt /* Option::Some */: Step AssignmentOperator Expression;` /// @@ -32677,7 +32716,7 @@ impl<'t, 'u> VerylGrammarAuto<'t, 'u> { Ok(()) } - /// Semantic action for production 877: + /// Semantic action for production 878: /// /// `GenerateForDeclarationOpt /* Option::None */: ;` /// @@ -32689,7 +32728,7 @@ impl<'t, 'u> VerylGrammarAuto<'t, 'u> { Ok(()) } - /// Semantic action for production 878: + /// Semantic action for production 879: /// /// `GenerateBlockDeclaration: GenerateNamedBlock;` /// @@ -32715,7 +32754,7 @@ impl<'t, 'u> VerylGrammarAuto<'t, 'u> { Ok(()) } - /// Semantic action for production 879: + /// Semantic action for production 880: /// /// `GenerateNamedBlock: Colon Identifier LBrace GenerateNamedBlockList /* Vec */ RBrace;` /// @@ -32757,7 +32796,7 @@ impl<'t, 'u> VerylGrammarAuto<'t, 'u> { Ok(()) } - /// Semantic action for production 880: + /// Semantic action for production 881: /// /// `GenerateNamedBlockList /* Vec::Push */: GenerateGroup GenerateNamedBlockList;` /// @@ -32788,7 +32827,7 @@ impl<'t, 'u> VerylGrammarAuto<'t, 'u> { Ok(()) } - /// Semantic action for production 881: + /// Semantic action for production 882: /// /// `GenerateNamedBlockList /* Vec::New */: ;` /// @@ -32804,7 +32843,7 @@ impl<'t, 'u> VerylGrammarAuto<'t, 'u> { Ok(()) } - /// Semantic action for production 882: + /// Semantic action for production 883: /// /// `GenerateOptionalNamedBlock: GenerateOptionalNamedBlockOpt /* Option */ LBrace GenerateOptionalNamedBlockList /* Vec */ RBrace;` /// @@ -32848,7 +32887,7 @@ impl<'t, 'u> VerylGrammarAuto<'t, 'u> { Ok(()) } - /// Semantic action for production 883: + /// Semantic action for production 884: /// /// `GenerateOptionalNamedBlockList /* Vec::Push */: GenerateGroup GenerateOptionalNamedBlockList;` /// @@ -32879,7 +32918,7 @@ impl<'t, 'u> VerylGrammarAuto<'t, 'u> { Ok(()) } - /// Semantic action for production 884: + /// Semantic action for production 885: /// /// `GenerateOptionalNamedBlockList /* Vec::New */: ;` /// @@ -32895,7 +32934,7 @@ impl<'t, 'u> VerylGrammarAuto<'t, 'u> { Ok(()) } - /// Semantic action for production 885: + /// Semantic action for production 886: /// /// `GenerateOptionalNamedBlockOpt /* Option::Some */: Colon Identifier;` /// @@ -32920,7 +32959,7 @@ impl<'t, 'u> VerylGrammarAuto<'t, 'u> { Ok(()) } - /// Semantic action for production 886: + /// Semantic action for production 887: /// /// `GenerateOptionalNamedBlockOpt /* Option::None */: ;` /// @@ -32932,7 +32971,7 @@ impl<'t, 'u> VerylGrammarAuto<'t, 'u> { Ok(()) } - /// Semantic action for production 887: + /// Semantic action for production 888: /// /// `GenerateGroup: GenerateGroupList /* Vec */ GenerateGroupGroup;` /// @@ -32958,7 +32997,7 @@ impl<'t, 'u> VerylGrammarAuto<'t, 'u> { Ok(()) } - /// Semantic action for production 888: + /// Semantic action for production 889: /// /// `GenerateGroupGroup: LBrace GenerateGroupGroupList /* Vec */ RBrace;` /// @@ -32993,7 +33032,7 @@ impl<'t, 'u> VerylGrammarAuto<'t, 'u> { Ok(()) } - /// Semantic action for production 889: + /// Semantic action for production 890: /// /// `GenerateGroupGroupList /* Vec::Push */: GenerateGroup GenerateGroupGroupList;` /// @@ -33024,7 +33063,7 @@ impl<'t, 'u> VerylGrammarAuto<'t, 'u> { Ok(()) } - /// Semantic action for production 890: + /// Semantic action for production 891: /// /// `GenerateGroupGroupList /* Vec::New */: ;` /// @@ -33040,7 +33079,7 @@ impl<'t, 'u> VerylGrammarAuto<'t, 'u> { Ok(()) } - /// Semantic action for production 891: + /// Semantic action for production 892: /// /// `GenerateGroupGroup: GenerateItem;` /// @@ -33061,7 +33100,7 @@ impl<'t, 'u> VerylGrammarAuto<'t, 'u> { Ok(()) } - /// Semantic action for production 892: + /// Semantic action for production 893: /// /// `GenerateGroupList /* Vec::Push */: Attribute GenerateGroupList;` /// @@ -33085,7 +33124,7 @@ impl<'t, 'u> VerylGrammarAuto<'t, 'u> { Ok(()) } - /// Semantic action for production 893: + /// Semantic action for production 894: /// /// `GenerateGroupList /* Vec::New */: ;` /// @@ -33101,7 +33140,7 @@ impl<'t, 'u> VerylGrammarAuto<'t, 'u> { Ok(()) } - /// Semantic action for production 894: + /// Semantic action for production 895: /// /// `GenerateItem: LetDeclaration;` /// @@ -33120,7 +33159,7 @@ impl<'t, 'u> VerylGrammarAuto<'t, 'u> { Ok(()) } - /// Semantic action for production 895: + /// Semantic action for production 896: /// /// `GenerateItem: VarDeclaration;` /// @@ -33139,7 +33178,7 @@ impl<'t, 'u> VerylGrammarAuto<'t, 'u> { Ok(()) } - /// Semantic action for production 896: + /// Semantic action for production 897: /// /// `GenerateItem: InstDeclaration;` /// @@ -33158,7 +33197,7 @@ impl<'t, 'u> VerylGrammarAuto<'t, 'u> { Ok(()) } - /// Semantic action for production 897: + /// Semantic action for production 898: /// /// `GenerateItem: ConstDeclaration;` /// @@ -33177,7 +33216,7 @@ impl<'t, 'u> VerylGrammarAuto<'t, 'u> { Ok(()) } - /// Semantic action for production 898: + /// Semantic action for production 899: /// /// `GenerateItem: AlwaysFfDeclaration;` /// @@ -33197,7 +33236,7 @@ impl<'t, 'u> VerylGrammarAuto<'t, 'u> { Ok(()) } - /// Semantic action for production 899: + /// Semantic action for production 900: /// /// `GenerateItem: AlwaysCombDeclaration;` /// @@ -33221,7 +33260,7 @@ impl<'t, 'u> VerylGrammarAuto<'t, 'u> { Ok(()) } - /// Semantic action for production 900: + /// Semantic action for production 901: /// /// `GenerateItem: AssignDeclaration;` /// @@ -33240,7 +33279,7 @@ impl<'t, 'u> VerylGrammarAuto<'t, 'u> { Ok(()) } - /// Semantic action for production 901: + /// Semantic action for production 902: /// /// `GenerateItem: FunctionDeclaration;` /// @@ -33260,7 +33299,7 @@ impl<'t, 'u> VerylGrammarAuto<'t, 'u> { Ok(()) } - /// Semantic action for production 902: + /// Semantic action for production 903: /// /// `GenerateItem: GenerateIfDeclaration;` /// @@ -33284,7 +33323,7 @@ impl<'t, 'u> VerylGrammarAuto<'t, 'u> { Ok(()) } - /// Semantic action for production 903: + /// Semantic action for production 904: /// /// `GenerateItem: GenerateForDeclaration;` /// @@ -33308,7 +33347,7 @@ impl<'t, 'u> VerylGrammarAuto<'t, 'u> { Ok(()) } - /// Semantic action for production 904: + /// Semantic action for production 905: /// /// `GenerateItem: GenerateBlockDeclaration;` /// @@ -33332,7 +33371,7 @@ impl<'t, 'u> VerylGrammarAuto<'t, 'u> { Ok(()) } - /// Semantic action for production 905: + /// Semantic action for production 906: /// /// `GenerateItem: TypeDefDeclaration;` /// @@ -33352,7 +33391,7 @@ impl<'t, 'u> VerylGrammarAuto<'t, 'u> { Ok(()) } - /// Semantic action for production 906: + /// Semantic action for production 907: /// /// `GenerateItem: EnumDeclaration;` /// @@ -33371,7 +33410,7 @@ impl<'t, 'u> VerylGrammarAuto<'t, 'u> { Ok(()) } - /// Semantic action for production 907: + /// Semantic action for production 908: /// /// `GenerateItem: StructUnionDeclaration;` /// @@ -33395,7 +33434,7 @@ impl<'t, 'u> VerylGrammarAuto<'t, 'u> { Ok(()) } - /// Semantic action for production 908: + /// Semantic action for production 909: /// /// `GenerateItem: ImportDeclaration;` /// @@ -33414,7 +33453,7 @@ impl<'t, 'u> VerylGrammarAuto<'t, 'u> { Ok(()) } - /// Semantic action for production 909: + /// Semantic action for production 910: /// /// `GenerateItem: InitialDeclaration;` /// @@ -33433,7 +33472,7 @@ impl<'t, 'u> VerylGrammarAuto<'t, 'u> { Ok(()) } - /// Semantic action for production 910: + /// Semantic action for production 911: /// /// `GenerateItem: FinalDeclaration;` /// @@ -33452,7 +33491,7 @@ impl<'t, 'u> VerylGrammarAuto<'t, 'u> { Ok(()) } - /// Semantic action for production 911: + /// Semantic action for production 912: /// /// `GenerateItem: UnsafeBlock;` /// @@ -33471,7 +33510,7 @@ impl<'t, 'u> VerylGrammarAuto<'t, 'u> { Ok(()) } - /// Semantic action for production 912: + /// Semantic action for production 913: /// /// `PackageDeclaration: PackageDeclarationOpt /* Option */ Package Identifier PackageDeclarationOpt0 /* Option */ LBrace PackageDeclarationList /* Vec */ RBrace;` /// @@ -33529,7 +33568,7 @@ impl<'t, 'u> VerylGrammarAuto<'t, 'u> { Ok(()) } - /// Semantic action for production 913: + /// Semantic action for production 914: /// /// `PackageDeclarationList /* Vec::Push */: PackageGroup PackageDeclarationList;` /// @@ -33560,7 +33599,7 @@ impl<'t, 'u> VerylGrammarAuto<'t, 'u> { Ok(()) } - /// Semantic action for production 914: + /// Semantic action for production 915: /// /// `PackageDeclarationList /* Vec::New */: ;` /// @@ -33576,7 +33615,7 @@ impl<'t, 'u> VerylGrammarAuto<'t, 'u> { Ok(()) } - /// Semantic action for production 915: + /// Semantic action for production 916: /// /// `PackageDeclarationOpt0 /* Option::Some */: WithGenericParameter;` /// @@ -33599,7 +33638,7 @@ impl<'t, 'u> VerylGrammarAuto<'t, 'u> { Ok(()) } - /// Semantic action for production 916: + /// Semantic action for production 917: /// /// `PackageDeclarationOpt0 /* Option::None */: ;` /// @@ -33611,7 +33650,7 @@ impl<'t, 'u> VerylGrammarAuto<'t, 'u> { Ok(()) } - /// Semantic action for production 917: + /// Semantic action for production 918: /// /// `PackageDeclarationOpt /* Option::Some */: Pub;` /// @@ -33630,7 +33669,7 @@ impl<'t, 'u> VerylGrammarAuto<'t, 'u> { Ok(()) } - /// Semantic action for production 918: + /// Semantic action for production 919: /// /// `PackageDeclarationOpt /* Option::None */: ;` /// @@ -33642,7 +33681,7 @@ impl<'t, 'u> VerylGrammarAuto<'t, 'u> { Ok(()) } - /// Semantic action for production 919: + /// Semantic action for production 920: /// /// `PackageGroup: PackageGroupList /* Vec */ PackageGroupGroup;` /// @@ -33667,7 +33706,7 @@ impl<'t, 'u> VerylGrammarAuto<'t, 'u> { Ok(()) } - /// Semantic action for production 920: + /// Semantic action for production 921: /// /// `PackageGroupGroup: LBrace PackageGroupGroupList /* Vec */ RBrace;` /// @@ -33702,7 +33741,7 @@ impl<'t, 'u> VerylGrammarAuto<'t, 'u> { Ok(()) } - /// Semantic action for production 921: + /// Semantic action for production 922: /// /// `PackageGroupGroupList /* Vec::Push */: PackageGroup PackageGroupGroupList;` /// @@ -33733,7 +33772,7 @@ impl<'t, 'u> VerylGrammarAuto<'t, 'u> { Ok(()) } - /// Semantic action for production 922: + /// Semantic action for production 923: /// /// `PackageGroupGroupList /* Vec::New */: ;` /// @@ -33749,7 +33788,7 @@ impl<'t, 'u> VerylGrammarAuto<'t, 'u> { Ok(()) } - /// Semantic action for production 923: + /// Semantic action for production 924: /// /// `PackageGroupGroup: PackageItem;` /// @@ -33770,7 +33809,7 @@ impl<'t, 'u> VerylGrammarAuto<'t, 'u> { Ok(()) } - /// Semantic action for production 924: + /// Semantic action for production 925: /// /// `PackageGroupList /* Vec::Push */: Attribute PackageGroupList;` /// @@ -33793,7 +33832,7 @@ impl<'t, 'u> VerylGrammarAuto<'t, 'u> { Ok(()) } - /// Semantic action for production 925: + /// Semantic action for production 926: /// /// `PackageGroupList /* Vec::New */: ;` /// @@ -33809,7 +33848,7 @@ impl<'t, 'u> VerylGrammarAuto<'t, 'u> { Ok(()) } - /// Semantic action for production 926: + /// Semantic action for production 927: /// /// `PackageItem: VarDeclaration;` /// @@ -33828,7 +33867,7 @@ impl<'t, 'u> VerylGrammarAuto<'t, 'u> { Ok(()) } - /// Semantic action for production 927: + /// Semantic action for production 928: /// /// `PackageItem: ConstDeclaration;` /// @@ -33847,7 +33886,7 @@ impl<'t, 'u> VerylGrammarAuto<'t, 'u> { Ok(()) } - /// Semantic action for production 928: + /// Semantic action for production 929: /// /// `PackageItem: TypeDefDeclaration;` /// @@ -33867,7 +33906,7 @@ impl<'t, 'u> VerylGrammarAuto<'t, 'u> { Ok(()) } - /// Semantic action for production 929: + /// Semantic action for production 930: /// /// `PackageItem: EnumDeclaration;` /// @@ -33886,7 +33925,7 @@ impl<'t, 'u> VerylGrammarAuto<'t, 'u> { Ok(()) } - /// Semantic action for production 930: + /// Semantic action for production 931: /// /// `PackageItem: StructUnionDeclaration;` /// @@ -33910,7 +33949,7 @@ impl<'t, 'u> VerylGrammarAuto<'t, 'u> { Ok(()) } - /// Semantic action for production 931: + /// Semantic action for production 932: /// /// `PackageItem: FunctionDeclaration;` /// @@ -33930,7 +33969,7 @@ impl<'t, 'u> VerylGrammarAuto<'t, 'u> { Ok(()) } - /// Semantic action for production 932: + /// Semantic action for production 933: /// /// `PackageItem: ImportDeclaration;` /// @@ -33949,7 +33988,7 @@ impl<'t, 'u> VerylGrammarAuto<'t, 'u> { Ok(()) } - /// Semantic action for production 933: + /// Semantic action for production 934: /// /// `PackageItem: ExportDeclaration;` /// @@ -33968,7 +34007,7 @@ impl<'t, 'u> VerylGrammarAuto<'t, 'u> { Ok(()) } - /// Semantic action for production 934: + /// Semantic action for production 935: /// /// `ProtoModuleDeclaration: ProtoModuleDeclarationOpt /* Option */ Proto Module Identifier ProtoModuleDeclarationOpt0 /* Option */ ProtoModuleDeclarationOpt1 /* Option */ Semicolon;` /// @@ -34026,7 +34065,7 @@ impl<'t, 'u> VerylGrammarAuto<'t, 'u> { Ok(()) } - /// Semantic action for production 935: + /// Semantic action for production 936: /// /// `ProtoModuleDeclarationOpt1 /* Option::Some */: PortDeclaration;` /// @@ -34048,7 +34087,7 @@ impl<'t, 'u> VerylGrammarAuto<'t, 'u> { Ok(()) } - /// Semantic action for production 936: + /// Semantic action for production 937: /// /// `ProtoModuleDeclarationOpt1 /* Option::None */: ;` /// @@ -34060,7 +34099,7 @@ impl<'t, 'u> VerylGrammarAuto<'t, 'u> { Ok(()) } - /// Semantic action for production 937: + /// Semantic action for production 938: /// /// `ProtoModuleDeclarationOpt0 /* Option::Some */: WithParameter;` /// @@ -34082,7 +34121,7 @@ impl<'t, 'u> VerylGrammarAuto<'t, 'u> { Ok(()) } - /// Semantic action for production 938: + /// Semantic action for production 939: /// /// `ProtoModuleDeclarationOpt0 /* Option::None */: ;` /// @@ -34094,7 +34133,7 @@ impl<'t, 'u> VerylGrammarAuto<'t, 'u> { Ok(()) } - /// Semantic action for production 939: + /// Semantic action for production 940: /// /// `ProtoModuleDeclarationOpt /* Option::Some */: Pub;` /// @@ -34113,7 +34152,7 @@ impl<'t, 'u> VerylGrammarAuto<'t, 'u> { Ok(()) } - /// Semantic action for production 940: + /// Semantic action for production 941: /// /// `ProtoModuleDeclarationOpt /* Option::None */: ;` /// @@ -34125,7 +34164,7 @@ impl<'t, 'u> VerylGrammarAuto<'t, 'u> { Ok(()) } - /// Semantic action for production 941: + /// Semantic action for production 942: /// /// `EmbedDeclaration: Embed LParen Identifier RParen Identifier EmbedContent;` /// @@ -34162,7 +34201,7 @@ impl<'t, 'u> VerylGrammarAuto<'t, 'u> { Ok(()) } - /// Semantic action for production 942: + /// Semantic action for production 943: /// /// `EmbedContent: EmbedContentToken : VerylToken;` /// @@ -34182,7 +34221,7 @@ impl<'t, 'u> VerylGrammarAuto<'t, 'u> { Ok(()) } - /// Semantic action for production 943: + /// Semantic action for production 944: /// /// `EmbedContentToken: LBraceTerm %push(Embed) LBraceTerm LBraceTerm EmbedContentTokenList /* Vec */ RBraceTerm RBraceTerm RBraceTerm %pop() Comments;` /// @@ -34233,7 +34272,7 @@ impl<'t, 'u> VerylGrammarAuto<'t, 'u> { Ok(()) } - /// Semantic action for production 944: + /// Semantic action for production 945: /// /// `EmbedContentTokenList /* Vec::Push */: EmbedItem EmbedContentTokenList;` /// @@ -34264,7 +34303,7 @@ impl<'t, 'u> VerylGrammarAuto<'t, 'u> { Ok(()) } - /// Semantic action for production 945: + /// Semantic action for production 946: /// /// `EmbedContentTokenList /* Vec::New */: ;` /// @@ -34280,7 +34319,7 @@ impl<'t, 'u> VerylGrammarAuto<'t, 'u> { Ok(()) } - /// Semantic action for production 946: + /// Semantic action for production 947: /// /// `EmbedItem: LBraceTerm EmbedItemList /* Vec */ RBraceTerm;` /// @@ -34308,7 +34347,7 @@ impl<'t, 'u> VerylGrammarAuto<'t, 'u> { Ok(()) } - /// Semantic action for production 947: + /// Semantic action for production 948: /// /// `EmbedItemList /* Vec::Push */: EmbedItem EmbedItemList;` /// @@ -34331,7 +34370,7 @@ impl<'t, 'u> VerylGrammarAuto<'t, 'u> { Ok(()) } - /// Semantic action for production 948: + /// Semantic action for production 949: /// /// `EmbedItemList /* Vec::New */: ;` /// @@ -34344,7 +34383,7 @@ impl<'t, 'u> VerylGrammarAuto<'t, 'u> { Ok(()) } - /// Semantic action for production 949: + /// Semantic action for production 950: /// /// `EmbedItem: AnyTerm;` /// @@ -34363,7 +34402,7 @@ impl<'t, 'u> VerylGrammarAuto<'t, 'u> { Ok(()) } - /// Semantic action for production 950: + /// Semantic action for production 951: /// /// `IncludeDeclaration: Include LParen Identifier Comma StringLiteral RParen Semicolon;` /// @@ -34406,7 +34445,7 @@ impl<'t, 'u> VerylGrammarAuto<'t, 'u> { Ok(()) } - /// Semantic action for production 951: + /// Semantic action for production 952: /// /// `DescriptionGroup: DescriptionGroupList /* Vec */ DescriptionGroupGroup;` /// @@ -34437,7 +34476,7 @@ impl<'t, 'u> VerylGrammarAuto<'t, 'u> { Ok(()) } - /// Semantic action for production 952: + /// Semantic action for production 953: /// /// `DescriptionGroupGroup: LBrace DescriptionGroupGroupList /* Vec */ RBrace;` /// @@ -34475,7 +34514,7 @@ impl<'t, 'u> VerylGrammarAuto<'t, 'u> { Ok(()) } - /// Semantic action for production 953: + /// Semantic action for production 954: /// /// `DescriptionGroupGroupList /* Vec::Push */: DescriptionGroup DescriptionGroupGroupList;` /// @@ -34506,7 +34545,7 @@ impl<'t, 'u> VerylGrammarAuto<'t, 'u> { Ok(()) } - /// Semantic action for production 954: + /// Semantic action for production 955: /// /// `DescriptionGroupGroupList /* Vec::New */: ;` /// @@ -34522,7 +34561,7 @@ impl<'t, 'u> VerylGrammarAuto<'t, 'u> { Ok(()) } - /// Semantic action for production 955: + /// Semantic action for production 956: /// /// `DescriptionGroupGroup: DescriptionItem;` /// @@ -34543,7 +34582,7 @@ impl<'t, 'u> VerylGrammarAuto<'t, 'u> { Ok(()) } - /// Semantic action for production 956: + /// Semantic action for production 957: /// /// `DescriptionGroupList /* Vec::Push */: Attribute DescriptionGroupList;` /// @@ -34570,7 +34609,7 @@ impl<'t, 'u> VerylGrammarAuto<'t, 'u> { Ok(()) } - /// Semantic action for production 957: + /// Semantic action for production 958: /// /// `DescriptionGroupList /* Vec::New */: ;` /// @@ -34586,7 +34625,7 @@ impl<'t, 'u> VerylGrammarAuto<'t, 'u> { Ok(()) } - /// Semantic action for production 958: + /// Semantic action for production 959: /// /// `DescriptionItem: ModuleDeclaration;` /// @@ -34606,7 +34645,7 @@ impl<'t, 'u> VerylGrammarAuto<'t, 'u> { Ok(()) } - /// Semantic action for production 959: + /// Semantic action for production 960: /// /// `DescriptionItem: InterfaceDeclaration;` /// @@ -34628,7 +34667,7 @@ impl<'t, 'u> VerylGrammarAuto<'t, 'u> { Ok(()) } - /// Semantic action for production 960: + /// Semantic action for production 961: /// /// `DescriptionItem: PackageDeclaration;` /// @@ -34649,7 +34688,7 @@ impl<'t, 'u> VerylGrammarAuto<'t, 'u> { Ok(()) } - /// Semantic action for production 961: + /// Semantic action for production 962: /// /// `DescriptionItem: ProtoModuleDeclaration;` /// @@ -34675,7 +34714,7 @@ impl<'t, 'u> VerylGrammarAuto<'t, 'u> { Ok(()) } - /// Semantic action for production 962: + /// Semantic action for production 963: /// /// `DescriptionItem: ImportDeclaration;` /// @@ -34695,7 +34734,7 @@ impl<'t, 'u> VerylGrammarAuto<'t, 'u> { Ok(()) } - /// Semantic action for production 963: + /// Semantic action for production 964: /// /// `DescriptionItem: EmbedDeclaration;` /// @@ -34715,7 +34754,7 @@ impl<'t, 'u> VerylGrammarAuto<'t, 'u> { Ok(()) } - /// Semantic action for production 964: + /// Semantic action for production 965: /// /// `DescriptionItem: IncludeDeclaration;` /// @@ -34736,7 +34775,7 @@ impl<'t, 'u> VerylGrammarAuto<'t, 'u> { Ok(()) } - /// Semantic action for production 965: + /// Semantic action for production 966: /// /// `Veryl: Start VerylList /* Vec */;` /// @@ -34756,7 +34795,7 @@ impl<'t, 'u> VerylGrammarAuto<'t, 'u> { Ok(()) } - /// Semantic action for production 966: + /// Semantic action for production 967: /// /// `VerylList /* Vec::Push */: DescriptionGroup VerylList;` /// @@ -34779,7 +34818,7 @@ impl<'t, 'u> VerylGrammarAuto<'t, 'u> { Ok(()) } - /// Semantic action for production 967: + /// Semantic action for production 968: /// /// `VerylList /* Vec::New */: ;` /// @@ -35770,69 +35809,70 @@ impl<'t> UserActionsTrait<'t> for VerylGrammarAuto<'t, '_> { 755 => self.with_parameter_item_group_1(&children[0]), 756 => self.generic_bound_0(&children[0]), 757 => self.generic_bound_1(&children[0]), - 758 => self.generic_bound_2(&children[0]), - 759 => self.with_generic_parameter(&children[0], &children[1], &children[2]), - 760 => self.with_generic_parameter_list(&children[0], &children[1], &children[2]), - 761 => { + 758 => self.generic_bound_2(&children[0], &children[1]), + 759 => self.generic_bound_3(&children[0]), + 760 => self.with_generic_parameter(&children[0], &children[1], &children[2]), + 761 => self.with_generic_parameter_list(&children[0], &children[1], &children[2]), + 762 => { self.with_generic_parameter_list_list_0(&children[0], &children[1], &children[2]) } - 762 => self.with_generic_parameter_list_list_1(), - 763 => self.with_generic_parameter_list_opt_0(&children[0]), - 764 => self.with_generic_parameter_list_opt_1(), - 765 => self.with_generic_parameter_item( + 763 => self.with_generic_parameter_list_list_1(), + 764 => self.with_generic_parameter_list_opt_0(&children[0]), + 765 => self.with_generic_parameter_list_opt_1(), + 766 => self.with_generic_parameter_item( &children[0], &children[1], &children[2], &children[3], ), - 766 => self.with_generic_parameter_item_opt_0(&children[0], &children[1]), - 767 => self.with_generic_parameter_item_opt_1(), - 768 => self.with_generic_argument(&children[0], &children[1], &children[2]), - 769 => self.with_generic_argument_opt_0(&children[0]), - 770 => self.with_generic_argument_opt_1(), - 771 => self.with_generic_argument_list(&children[0], &children[1], &children[2]), - 772 => self.with_generic_argument_list_list_0(&children[0], &children[1], &children[2]), - 773 => self.with_generic_argument_list_list_1(), - 774 => self.with_generic_argument_list_opt_0(&children[0]), - 775 => self.with_generic_argument_list_opt_1(), - 776 => self.with_generic_argument_item_0(&children[0]), - 777 => self.with_generic_argument_item_1(&children[0]), - 778 => self.port_declaration(&children[0], &children[1], &children[2]), - 779 => self.port_declaration_opt_0(&children[0]), - 780 => self.port_declaration_opt_1(), - 781 => self.port_declaration_list(&children[0], &children[1], &children[2]), - 782 => self.port_declaration_list_list_0(&children[0], &children[1], &children[2]), - 783 => self.port_declaration_list_list_1(), - 784 => self.port_declaration_list_opt_0(&children[0]), - 785 => self.port_declaration_list_opt_1(), - 786 => self.port_declaration_group(&children[0], &children[1]), - 787 => self.port_declaration_group_group_0(&children[0], &children[1], &children[2]), - 788 => self.port_declaration_group_group_1(&children[0]), - 789 => self.port_declaration_group_list_0(&children[0], &children[1]), - 790 => self.port_declaration_group_list_1(), - 791 => self.port_declaration_item(&children[0], &children[1], &children[2]), - 792 => self.port_declaration_item_group_0(&children[0]), - 793 => self.port_declaration_item_group_1(&children[0]), - 794 => self.port_type_concrete(&children[0], &children[1], &children[2], &children[3]), - 795 => self.port_type_concrete_opt0_0(&children[0], &children[1]), - 796 => self.port_type_concrete_opt0_1(), - 797 => self.port_type_concrete_opt_0(&children[0]), - 798 => self.port_type_concrete_opt_1(), - 799 => self.port_default_value(&children[0]), - 800 => self.port_type_abstract(&children[0], &children[1], &children[2], &children[3]), - 801 => self.port_type_abstract_opt1_0(&children[0]), - 802 => self.port_type_abstract_opt1_1(), - 803 => self.port_type_abstract_opt0_0(&children[0], &children[1]), - 804 => self.port_type_abstract_opt0_1(), - 805 => self.port_type_abstract_opt_0(&children[0]), - 806 => self.port_type_abstract_opt_1(), - 807 => self.direction_0(&children[0]), - 808 => self.direction_1(&children[0]), - 809 => self.direction_2(&children[0]), - 810 => self.direction_3(&children[0]), - 811 => self.direction_4(&children[0]), - 812 => self.direction_5(&children[0]), - 813 => self.function_declaration( + 767 => self.with_generic_parameter_item_opt_0(&children[0], &children[1]), + 768 => self.with_generic_parameter_item_opt_1(), + 769 => self.with_generic_argument(&children[0], &children[1], &children[2]), + 770 => self.with_generic_argument_opt_0(&children[0]), + 771 => self.with_generic_argument_opt_1(), + 772 => self.with_generic_argument_list(&children[0], &children[1], &children[2]), + 773 => self.with_generic_argument_list_list_0(&children[0], &children[1], &children[2]), + 774 => self.with_generic_argument_list_list_1(), + 775 => self.with_generic_argument_list_opt_0(&children[0]), + 776 => self.with_generic_argument_list_opt_1(), + 777 => self.with_generic_argument_item_0(&children[0]), + 778 => self.with_generic_argument_item_1(&children[0]), + 779 => self.port_declaration(&children[0], &children[1], &children[2]), + 780 => self.port_declaration_opt_0(&children[0]), + 781 => self.port_declaration_opt_1(), + 782 => self.port_declaration_list(&children[0], &children[1], &children[2]), + 783 => self.port_declaration_list_list_0(&children[0], &children[1], &children[2]), + 784 => self.port_declaration_list_list_1(), + 785 => self.port_declaration_list_opt_0(&children[0]), + 786 => self.port_declaration_list_opt_1(), + 787 => self.port_declaration_group(&children[0], &children[1]), + 788 => self.port_declaration_group_group_0(&children[0], &children[1], &children[2]), + 789 => self.port_declaration_group_group_1(&children[0]), + 790 => self.port_declaration_group_list_0(&children[0], &children[1]), + 791 => self.port_declaration_group_list_1(), + 792 => self.port_declaration_item(&children[0], &children[1], &children[2]), + 793 => self.port_declaration_item_group_0(&children[0]), + 794 => self.port_declaration_item_group_1(&children[0]), + 795 => self.port_type_concrete(&children[0], &children[1], &children[2], &children[3]), + 796 => self.port_type_concrete_opt0_0(&children[0], &children[1]), + 797 => self.port_type_concrete_opt0_1(), + 798 => self.port_type_concrete_opt_0(&children[0]), + 799 => self.port_type_concrete_opt_1(), + 800 => self.port_default_value(&children[0]), + 801 => self.port_type_abstract(&children[0], &children[1], &children[2], &children[3]), + 802 => self.port_type_abstract_opt1_0(&children[0]), + 803 => self.port_type_abstract_opt1_1(), + 804 => self.port_type_abstract_opt0_0(&children[0], &children[1]), + 805 => self.port_type_abstract_opt0_1(), + 806 => self.port_type_abstract_opt_0(&children[0]), + 807 => self.port_type_abstract_opt_1(), + 808 => self.direction_0(&children[0]), + 809 => self.direction_1(&children[0]), + 810 => self.direction_2(&children[0]), + 811 => self.direction_3(&children[0]), + 812 => self.direction_4(&children[0]), + 813 => self.direction_5(&children[0]), + 814 => self.function_declaration( &children[0], &children[1], &children[2], @@ -35840,21 +35880,21 @@ impl<'t> UserActionsTrait<'t> for VerylGrammarAuto<'t, '_> { &children[4], &children[5], ), - 814 => self.function_declaration_opt1_0(&children[0], &children[1]), - 815 => self.function_declaration_opt1_1(), - 816 => self.function_declaration_opt0_0(&children[0]), - 817 => self.function_declaration_opt0_1(), - 818 => self.function_declaration_opt_0(&children[0]), - 819 => self.function_declaration_opt_1(), - 820 => self.import_declaration(&children[0], &children[1], &children[2], &children[3]), - 821 => self.import_declaration_opt_0(&children[0], &children[1]), - 822 => self.import_declaration_opt_1(), - 823 => self.export_declaration(&children[0], &children[1], &children[2]), - 824 => self.export_declaration_group_0(&children[0]), - 825 => self.export_declaration_group_1(&children[0], &children[1]), - 826 => self.export_declaration_opt_0(&children[0], &children[1]), - 827 => self.export_declaration_opt_1(), - 828 => self.unsafe_block( + 815 => self.function_declaration_opt1_0(&children[0], &children[1]), + 816 => self.function_declaration_opt1_1(), + 817 => self.function_declaration_opt0_0(&children[0]), + 818 => self.function_declaration_opt0_1(), + 819 => self.function_declaration_opt_0(&children[0]), + 820 => self.function_declaration_opt_1(), + 821 => self.import_declaration(&children[0], &children[1], &children[2], &children[3]), + 822 => self.import_declaration_opt_0(&children[0], &children[1]), + 823 => self.import_declaration_opt_1(), + 824 => self.export_declaration(&children[0], &children[1], &children[2]), + 825 => self.export_declaration_group_0(&children[0]), + 826 => self.export_declaration_group_1(&children[0], &children[1]), + 827 => self.export_declaration_opt_0(&children[0], &children[1]), + 828 => self.export_declaration_opt_1(), + 829 => self.unsafe_block( &children[0], &children[1], &children[2], @@ -35863,9 +35903,9 @@ impl<'t> UserActionsTrait<'t> for VerylGrammarAuto<'t, '_> { &children[5], &children[6], ), - 829 => self.unsafe_block_list_0(&children[0], &children[1]), - 830 => self.unsafe_block_list_1(), - 831 => self.module_declaration( + 830 => self.unsafe_block_list_0(&children[0], &children[1]), + 831 => self.unsafe_block_list_1(), + 832 => self.module_declaration( &children[0], &children[1], &children[2], @@ -35877,27 +35917,27 @@ impl<'t> UserActionsTrait<'t> for VerylGrammarAuto<'t, '_> { &children[8], &children[9], ), - 832 => self.module_declaration_list_0(&children[0], &children[1]), - 833 => self.module_declaration_list_1(), - 834 => self.module_declaration_opt3_0(&children[0]), - 835 => self.module_declaration_opt3_1(), - 836 => self.module_declaration_opt2_0(&children[0]), - 837 => self.module_declaration_opt2_1(), - 838 => self.module_declaration_opt1_0(&children[0], &children[1]), - 839 => self.module_declaration_opt1_1(), - 840 => self.module_declaration_opt0_0(&children[0]), - 841 => self.module_declaration_opt0_1(), - 842 => self.module_declaration_opt_0(&children[0]), - 843 => self.module_declaration_opt_1(), - 844 => self.module_group(&children[0], &children[1]), - 845 => self.module_group_group_0(&children[0], &children[1], &children[2]), - 846 => self.module_group_group_list_0(&children[0], &children[1]), - 847 => self.module_group_group_list_1(), - 848 => self.module_group_group_1(&children[0]), - 849 => self.module_group_list_0(&children[0], &children[1]), - 850 => self.module_group_list_1(), - 851 => self.module_item(&children[0]), - 852 => self.interface_declaration( + 833 => self.module_declaration_list_0(&children[0], &children[1]), + 834 => self.module_declaration_list_1(), + 835 => self.module_declaration_opt3_0(&children[0]), + 836 => self.module_declaration_opt3_1(), + 837 => self.module_declaration_opt2_0(&children[0]), + 838 => self.module_declaration_opt2_1(), + 839 => self.module_declaration_opt1_0(&children[0], &children[1]), + 840 => self.module_declaration_opt1_1(), + 841 => self.module_declaration_opt0_0(&children[0]), + 842 => self.module_declaration_opt0_1(), + 843 => self.module_declaration_opt_0(&children[0]), + 844 => self.module_declaration_opt_1(), + 845 => self.module_group(&children[0], &children[1]), + 846 => self.module_group_group_0(&children[0], &children[1], &children[2]), + 847 => self.module_group_group_list_0(&children[0], &children[1]), + 848 => self.module_group_group_list_1(), + 849 => self.module_group_group_1(&children[0]), + 850 => self.module_group_list_0(&children[0], &children[1]), + 851 => self.module_group_list_1(), + 852 => self.module_item(&children[0]), + 853 => self.interface_declaration( &children[0], &children[1], &children[2], @@ -35907,41 +35947,41 @@ impl<'t> UserActionsTrait<'t> for VerylGrammarAuto<'t, '_> { &children[6], &children[7], ), - 853 => self.interface_declaration_list_0(&children[0], &children[1]), - 854 => self.interface_declaration_list_1(), - 855 => self.interface_declaration_opt1_0(&children[0]), - 856 => self.interface_declaration_opt1_1(), - 857 => self.interface_declaration_opt0_0(&children[0]), - 858 => self.interface_declaration_opt0_1(), - 859 => self.interface_declaration_opt_0(&children[0]), - 860 => self.interface_declaration_opt_1(), - 861 => self.interface_group(&children[0], &children[1]), - 862 => self.interface_group_group_0(&children[0], &children[1], &children[2]), - 863 => self.interface_group_group_list_0(&children[0], &children[1]), - 864 => self.interface_group_group_list_1(), - 865 => self.interface_group_group_1(&children[0]), - 866 => self.interface_group_list_0(&children[0], &children[1]), - 867 => self.interface_group_list_1(), - 868 => self.interface_item_0(&children[0]), - 869 => self.interface_item_1(&children[0]), - 870 => self.generate_if_declaration( + 854 => self.interface_declaration_list_0(&children[0], &children[1]), + 855 => self.interface_declaration_list_1(), + 856 => self.interface_declaration_opt1_0(&children[0]), + 857 => self.interface_declaration_opt1_1(), + 858 => self.interface_declaration_opt0_0(&children[0]), + 859 => self.interface_declaration_opt0_1(), + 860 => self.interface_declaration_opt_0(&children[0]), + 861 => self.interface_declaration_opt_1(), + 862 => self.interface_group(&children[0], &children[1]), + 863 => self.interface_group_group_0(&children[0], &children[1], &children[2]), + 864 => self.interface_group_group_list_0(&children[0], &children[1]), + 865 => self.interface_group_group_list_1(), + 866 => self.interface_group_group_1(&children[0]), + 867 => self.interface_group_list_0(&children[0], &children[1]), + 868 => self.interface_group_list_1(), + 869 => self.interface_item_0(&children[0]), + 870 => self.interface_item_1(&children[0]), + 871 => self.generate_if_declaration( &children[0], &children[1], &children[2], &children[3], &children[4], ), - 871 => self.generate_if_declaration_list_0( + 872 => self.generate_if_declaration_list_0( &children[0], &children[1], &children[2], &children[3], &children[4], ), - 872 => self.generate_if_declaration_list_1(), - 873 => self.generate_if_declaration_opt_0(&children[0], &children[1]), - 874 => self.generate_if_declaration_opt_1(), - 875 => self.generate_for_declaration( + 873 => self.generate_if_declaration_list_1(), + 874 => self.generate_if_declaration_opt_0(&children[0], &children[1]), + 875 => self.generate_if_declaration_opt_1(), + 876 => self.generate_for_declaration( &children[0], &children[1], &children[2], @@ -35949,54 +35989,54 @@ impl<'t> UserActionsTrait<'t> for VerylGrammarAuto<'t, '_> { &children[4], &children[5], ), - 876 => self.generate_for_declaration_opt_0(&children[0], &children[1], &children[2]), - 877 => self.generate_for_declaration_opt_1(), - 878 => self.generate_block_declaration(&children[0]), - 879 => self.generate_named_block( + 877 => self.generate_for_declaration_opt_0(&children[0], &children[1], &children[2]), + 878 => self.generate_for_declaration_opt_1(), + 879 => self.generate_block_declaration(&children[0]), + 880 => self.generate_named_block( &children[0], &children[1], &children[2], &children[3], &children[4], ), - 880 => self.generate_named_block_list_0(&children[0], &children[1]), - 881 => self.generate_named_block_list_1(), - 882 => self.generate_optional_named_block( + 881 => self.generate_named_block_list_0(&children[0], &children[1]), + 882 => self.generate_named_block_list_1(), + 883 => self.generate_optional_named_block( &children[0], &children[1], &children[2], &children[3], ), - 883 => self.generate_optional_named_block_list_0(&children[0], &children[1]), - 884 => self.generate_optional_named_block_list_1(), - 885 => self.generate_optional_named_block_opt_0(&children[0], &children[1]), - 886 => self.generate_optional_named_block_opt_1(), - 887 => self.generate_group(&children[0], &children[1]), - 888 => self.generate_group_group_0(&children[0], &children[1], &children[2]), - 889 => self.generate_group_group_list_0(&children[0], &children[1]), - 890 => self.generate_group_group_list_1(), - 891 => self.generate_group_group_1(&children[0]), - 892 => self.generate_group_list_0(&children[0], &children[1]), - 893 => self.generate_group_list_1(), - 894 => self.generate_item_0(&children[0]), - 895 => self.generate_item_1(&children[0]), - 896 => self.generate_item_2(&children[0]), - 897 => self.generate_item_3(&children[0]), - 898 => self.generate_item_4(&children[0]), - 899 => self.generate_item_5(&children[0]), - 900 => self.generate_item_6(&children[0]), - 901 => self.generate_item_7(&children[0]), - 902 => self.generate_item_8(&children[0]), - 903 => self.generate_item_9(&children[0]), - 904 => self.generate_item_10(&children[0]), - 905 => self.generate_item_11(&children[0]), - 906 => self.generate_item_12(&children[0]), - 907 => self.generate_item_13(&children[0]), - 908 => self.generate_item_14(&children[0]), - 909 => self.generate_item_15(&children[0]), - 910 => self.generate_item_16(&children[0]), - 911 => self.generate_item_17(&children[0]), - 912 => self.package_declaration( + 884 => self.generate_optional_named_block_list_0(&children[0], &children[1]), + 885 => self.generate_optional_named_block_list_1(), + 886 => self.generate_optional_named_block_opt_0(&children[0], &children[1]), + 887 => self.generate_optional_named_block_opt_1(), + 888 => self.generate_group(&children[0], &children[1]), + 889 => self.generate_group_group_0(&children[0], &children[1], &children[2]), + 890 => self.generate_group_group_list_0(&children[0], &children[1]), + 891 => self.generate_group_group_list_1(), + 892 => self.generate_group_group_1(&children[0]), + 893 => self.generate_group_list_0(&children[0], &children[1]), + 894 => self.generate_group_list_1(), + 895 => self.generate_item_0(&children[0]), + 896 => self.generate_item_1(&children[0]), + 897 => self.generate_item_2(&children[0]), + 898 => self.generate_item_3(&children[0]), + 899 => self.generate_item_4(&children[0]), + 900 => self.generate_item_5(&children[0]), + 901 => self.generate_item_6(&children[0]), + 902 => self.generate_item_7(&children[0]), + 903 => self.generate_item_8(&children[0]), + 904 => self.generate_item_9(&children[0]), + 905 => self.generate_item_10(&children[0]), + 906 => self.generate_item_11(&children[0]), + 907 => self.generate_item_12(&children[0]), + 908 => self.generate_item_13(&children[0]), + 909 => self.generate_item_14(&children[0]), + 910 => self.generate_item_15(&children[0]), + 911 => self.generate_item_16(&children[0]), + 912 => self.generate_item_17(&children[0]), + 913 => self.package_declaration( &children[0], &children[1], &children[2], @@ -36005,28 +36045,28 @@ impl<'t> UserActionsTrait<'t> for VerylGrammarAuto<'t, '_> { &children[5], &children[6], ), - 913 => self.package_declaration_list_0(&children[0], &children[1]), - 914 => self.package_declaration_list_1(), - 915 => self.package_declaration_opt0_0(&children[0]), - 916 => self.package_declaration_opt0_1(), - 917 => self.package_declaration_opt_0(&children[0]), - 918 => self.package_declaration_opt_1(), - 919 => self.package_group(&children[0], &children[1]), - 920 => self.package_group_group_0(&children[0], &children[1], &children[2]), - 921 => self.package_group_group_list_0(&children[0], &children[1]), - 922 => self.package_group_group_list_1(), - 923 => self.package_group_group_1(&children[0]), - 924 => self.package_group_list_0(&children[0], &children[1]), - 925 => self.package_group_list_1(), - 926 => self.package_item_0(&children[0]), - 927 => self.package_item_1(&children[0]), - 928 => self.package_item_2(&children[0]), - 929 => self.package_item_3(&children[0]), - 930 => self.package_item_4(&children[0]), - 931 => self.package_item_5(&children[0]), - 932 => self.package_item_6(&children[0]), - 933 => self.package_item_7(&children[0]), - 934 => self.proto_module_declaration( + 914 => self.package_declaration_list_0(&children[0], &children[1]), + 915 => self.package_declaration_list_1(), + 916 => self.package_declaration_opt0_0(&children[0]), + 917 => self.package_declaration_opt0_1(), + 918 => self.package_declaration_opt_0(&children[0]), + 919 => self.package_declaration_opt_1(), + 920 => self.package_group(&children[0], &children[1]), + 921 => self.package_group_group_0(&children[0], &children[1], &children[2]), + 922 => self.package_group_group_list_0(&children[0], &children[1]), + 923 => self.package_group_group_list_1(), + 924 => self.package_group_group_1(&children[0]), + 925 => self.package_group_list_0(&children[0], &children[1]), + 926 => self.package_group_list_1(), + 927 => self.package_item_0(&children[0]), + 928 => self.package_item_1(&children[0]), + 929 => self.package_item_2(&children[0]), + 930 => self.package_item_3(&children[0]), + 931 => self.package_item_4(&children[0]), + 932 => self.package_item_5(&children[0]), + 933 => self.package_item_6(&children[0]), + 934 => self.package_item_7(&children[0]), + 935 => self.proto_module_declaration( &children[0], &children[1], &children[2], @@ -36035,13 +36075,13 @@ impl<'t> UserActionsTrait<'t> for VerylGrammarAuto<'t, '_> { &children[5], &children[6], ), - 935 => self.proto_module_declaration_opt1_0(&children[0]), - 936 => self.proto_module_declaration_opt1_1(), - 937 => self.proto_module_declaration_opt0_0(&children[0]), - 938 => self.proto_module_declaration_opt0_1(), - 939 => self.proto_module_declaration_opt_0(&children[0]), - 940 => self.proto_module_declaration_opt_1(), - 941 => self.embed_declaration( + 936 => self.proto_module_declaration_opt1_0(&children[0]), + 937 => self.proto_module_declaration_opt1_1(), + 938 => self.proto_module_declaration_opt0_0(&children[0]), + 939 => self.proto_module_declaration_opt0_1(), + 940 => self.proto_module_declaration_opt_0(&children[0]), + 941 => self.proto_module_declaration_opt_1(), + 942 => self.embed_declaration( &children[0], &children[1], &children[2], @@ -36049,8 +36089,8 @@ impl<'t> UserActionsTrait<'t> for VerylGrammarAuto<'t, '_> { &children[4], &children[5], ), - 942 => self.embed_content(&children[0]), - 943 => self.embed_content_token( + 943 => self.embed_content(&children[0]), + 944 => self.embed_content_token( &children[0], &children[1], &children[2], @@ -36060,13 +36100,13 @@ impl<'t> UserActionsTrait<'t> for VerylGrammarAuto<'t, '_> { &children[6], &children[7], ), - 944 => self.embed_content_token_list_0(&children[0], &children[1]), - 945 => self.embed_content_token_list_1(), - 946 => self.embed_item_0(&children[0], &children[1], &children[2]), - 947 => self.embed_item_list_0(&children[0], &children[1]), - 948 => self.embed_item_list_1(), - 949 => self.embed_item_1(&children[0]), - 950 => self.include_declaration( + 945 => self.embed_content_token_list_0(&children[0], &children[1]), + 946 => self.embed_content_token_list_1(), + 947 => self.embed_item_0(&children[0], &children[1], &children[2]), + 948 => self.embed_item_list_0(&children[0], &children[1]), + 949 => self.embed_item_list_1(), + 950 => self.embed_item_1(&children[0]), + 951 => self.include_declaration( &children[0], &children[1], &children[2], @@ -36075,23 +36115,23 @@ impl<'t> UserActionsTrait<'t> for VerylGrammarAuto<'t, '_> { &children[5], &children[6], ), - 951 => self.description_group(&children[0], &children[1]), - 952 => self.description_group_group_0(&children[0], &children[1], &children[2]), - 953 => self.description_group_group_list_0(&children[0], &children[1]), - 954 => self.description_group_group_list_1(), - 955 => self.description_group_group_1(&children[0]), - 956 => self.description_group_list_0(&children[0], &children[1]), - 957 => self.description_group_list_1(), - 958 => self.description_item_0(&children[0]), - 959 => self.description_item_1(&children[0]), - 960 => self.description_item_2(&children[0]), - 961 => self.description_item_3(&children[0]), - 962 => self.description_item_4(&children[0]), - 963 => self.description_item_5(&children[0]), - 964 => self.description_item_6(&children[0]), - 965 => self.veryl(&children[0], &children[1]), - 966 => self.veryl_list_0(&children[0], &children[1]), - 967 => self.veryl_list_1(), + 952 => self.description_group(&children[0], &children[1]), + 953 => self.description_group_group_0(&children[0], &children[1], &children[2]), + 954 => self.description_group_group_list_0(&children[0], &children[1]), + 955 => self.description_group_group_list_1(), + 956 => self.description_group_group_1(&children[0]), + 957 => self.description_group_list_0(&children[0], &children[1]), + 958 => self.description_group_list_1(), + 959 => self.description_item_0(&children[0]), + 960 => self.description_item_1(&children[0]), + 961 => self.description_item_2(&children[0]), + 962 => self.description_item_3(&children[0]), + 963 => self.description_item_4(&children[0]), + 964 => self.description_item_5(&children[0]), + 965 => self.description_item_6(&children[0]), + 966 => self.veryl(&children[0], &children[1]), + 967 => self.veryl_list_0(&children[0], &children[1]), + 968 => 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 1dc7af13..555bbf96 100644 --- a/crates/parser/src/generated/veryl_parser.rs +++ b/crates/parser/src/generated/veryl_parser.rs @@ -4765,7 +4765,7 @@ pub const LOOKAHEAD_AUTOMATA: &[LookaheadDFA; 676] = &[ }, /* 117 - "DescriptionGroup" */ LookaheadDFA { - prod0: 951, + prod0: 952, transitions: &[], k: 0, }, @@ -4773,15 +4773,15 @@ pub const LOOKAHEAD_AUTOMATA: &[LookaheadDFA; 676] = &[ LookaheadDFA { prod0: -1, transitions: &[ - Trans(0, 40, 1, 952), - Trans(0, 61, 2, 955), - Trans(0, 73, 2, 955), - Trans(0, 74, 2, 955), - Trans(0, 80, 2, 955), - Trans(0, 86, 2, 955), - Trans(0, 90, 2, 955), - Trans(0, 92, 2, 955), - Trans(0, 93, 2, 955), + Trans(0, 40, 1, 953), + Trans(0, 61, 2, 956), + Trans(0, 73, 2, 956), + Trans(0, 74, 2, 956), + Trans(0, 80, 2, 956), + Trans(0, 86, 2, 956), + Trans(0, 90, 2, 956), + Trans(0, 92, 2, 956), + Trans(0, 93, 2, 956), ], k: 1, }, @@ -4789,17 +4789,17 @@ pub const LOOKAHEAD_AUTOMATA: &[LookaheadDFA; 676] = &[ LookaheadDFA { prod0: -1, transitions: &[ - Trans(0, 37, 1, 953), - Trans(0, 40, 1, 953), - Trans(0, 44, 2, 954), - Trans(0, 61, 1, 953), - Trans(0, 73, 1, 953), - Trans(0, 74, 1, 953), - Trans(0, 80, 1, 953), - Trans(0, 86, 1, 953), - Trans(0, 90, 1, 953), - Trans(0, 92, 1, 953), - Trans(0, 93, 1, 953), + Trans(0, 37, 1, 954), + Trans(0, 40, 1, 954), + Trans(0, 44, 2, 955), + Trans(0, 61, 1, 954), + Trans(0, 73, 1, 954), + Trans(0, 74, 1, 954), + Trans(0, 80, 1, 954), + Trans(0, 86, 1, 954), + Trans(0, 90, 1, 954), + Trans(0, 92, 1, 954), + Trans(0, 93, 1, 954), ], k: 1, }, @@ -4807,16 +4807,16 @@ pub const LOOKAHEAD_AUTOMATA: &[LookaheadDFA; 676] = &[ LookaheadDFA { prod0: -1, transitions: &[ - Trans(0, 37, 1, 956), - Trans(0, 40, 2, 957), - Trans(0, 61, 2, 957), - Trans(0, 73, 2, 957), - Trans(0, 74, 2, 957), - Trans(0, 80, 2, 957), - Trans(0, 86, 2, 957), - Trans(0, 90, 2, 957), - Trans(0, 92, 2, 957), - Trans(0, 93, 2, 957), + Trans(0, 37, 1, 957), + Trans(0, 40, 2, 958), + Trans(0, 61, 2, 958), + Trans(0, 73, 2, 958), + Trans(0, 74, 2, 958), + Trans(0, 80, 2, 958), + Trans(0, 86, 2, 958), + Trans(0, 90, 2, 958), + Trans(0, 92, 2, 958), + Trans(0, 93, 2, 958), ], k: 1, }, @@ -4837,67 +4837,67 @@ pub const LOOKAHEAD_AUTOMATA: &[LookaheadDFA; 676] = &[ Trans(1, 86, 2, -1), Trans(1, 90, 14, -1), Trans(1, 92, 22, -1), - Trans(2, 5, 3, 958), - Trans(2, 116, 3, 958), + Trans(2, 5, 3, 959), + Trans(2, 116, 3, 959), Trans(4, 5, 7, -1), Trans(4, 116, 5, -1), - Trans(5, 5, 3, 958), - Trans(5, 29, 3, 958), - Trans(5, 37, 3, 958), - Trans(5, 40, 3, 958), - Trans(5, 42, 3, 958), - Trans(5, 67, 3, 958), - Trans(6, 80, 10, 959), - Trans(6, 86, 3, 958), - Trans(6, 90, 15, 960), - Trans(6, 92, 21, 961), - Trans(7, 116, 3, 958), + Trans(5, 5, 3, 959), + Trans(5, 29, 3, 959), + Trans(5, 37, 3, 959), + Trans(5, 40, 3, 959), + Trans(5, 42, 3, 959), + Trans(5, 67, 3, 959), + Trans(6, 80, 10, 960), + Trans(6, 86, 3, 959), + Trans(6, 90, 15, 961), + Trans(6, 92, 21, 962), + Trans(7, 116, 3, 959), Trans(8, 5, 11, -1), Trans(8, 116, 12, -1), - Trans(9, 5, 10, 959), - Trans(9, 116, 10, 959), - Trans(11, 116, 10, 959), - Trans(12, 5, 10, 959), - Trans(12, 29, 10, 959), - Trans(12, 37, 10, 959), - Trans(12, 40, 10, 959), + Trans(9, 5, 10, 960), + Trans(9, 116, 10, 960), + Trans(11, 116, 10, 960), + Trans(12, 5, 10, 960), + Trans(12, 29, 10, 960), + Trans(12, 37, 10, 960), + Trans(12, 40, 10, 960), Trans(13, 5, 16, -1), Trans(13, 116, 17, -1), - Trans(14, 5, 15, 960), - Trans(14, 116, 15, 960), - Trans(16, 116, 15, 960), - Trans(17, 5, 15, 960), - Trans(17, 29, 15, 960), - Trans(17, 40, 15, 960), + Trans(14, 5, 15, 961), + Trans(14, 116, 15, 961), + Trans(16, 116, 15, 961), + Trans(17, 5, 15, 961), + Trans(17, 29, 15, 961), + Trans(17, 40, 15, 961), Trans(18, 5, 19, -1), Trans(18, 86, 20, -1), - Trans(19, 86, 21, 961), - Trans(20, 5, 21, 961), - Trans(20, 116, 21, 961), - Trans(22, 5, 21, 961), - Trans(22, 86, 21, 961), + Trans(19, 86, 21, 962), + Trans(20, 5, 21, 962), + Trans(20, 116, 21, 962), + Trans(22, 5, 21, 962), + Trans(22, 86, 21, 962), Trans(23, 5, 24, -1), Trans(23, 115, 25, -1), Trans(23, 116, 26, -1), - Trans(24, 115, 27, 962), - Trans(24, 116, 27, 962), - Trans(25, 5, 27, 962), - Trans(25, 30, 27, 962), - Trans(25, 47, 27, 962), - Trans(26, 5, 27, 962), - Trans(26, 29, 27, 962), - Trans(26, 30, 27, 962), - Trans(26, 47, 27, 962), + Trans(24, 115, 27, 963), + Trans(24, 116, 27, 963), + Trans(25, 5, 27, 963), + Trans(25, 30, 27, 963), + Trans(25, 47, 27, 963), + Trans(26, 5, 27, 963), + Trans(26, 29, 27, 963), + Trans(26, 30, 27, 963), + Trans(26, 47, 27, 963), Trans(28, 5, 29, -1), Trans(28, 42, 30, -1), - Trans(29, 42, 31, 963), - Trans(30, 5, 31, 963), - Trans(30, 116, 31, 963), + Trans(29, 42, 31, 964), + Trans(30, 5, 31, 964), + Trans(30, 116, 31, 964), Trans(32, 5, 33, -1), Trans(32, 42, 34, -1), - Trans(33, 42, 35, 964), - Trans(34, 5, 35, 964), - Trans(34, 116, 35, 964), + Trans(33, 42, 35, 965), + Trans(34, 5, 35, 965), + Trans(34, 116, 35, 965), ], k: 3, }, @@ -4905,12 +4905,12 @@ pub const LOOKAHEAD_AUTOMATA: &[LookaheadDFA; 676] = &[ LookaheadDFA { prod0: -1, transitions: &[ - Trans(0, 73, 6, 812), - Trans(0, 76, 3, 809), - Trans(0, 77, 1, 807), - Trans(0, 85, 5, 811), - Trans(0, 88, 2, 808), - Trans(0, 94, 4, 810), + Trans(0, 73, 6, 813), + Trans(0, 76, 3, 810), + Trans(0, 77, 1, 808), + Trans(0, 85, 5, 812), + Trans(0, 88, 2, 809), + Trans(0, 94, 4, 811), ], k: 1, }, @@ -5012,13 +5012,13 @@ pub const LOOKAHEAD_AUTOMATA: &[LookaheadDFA; 676] = &[ }, /* 139 - "EmbedContent" */ LookaheadDFA { - prod0: 942, + prod0: 943, transitions: &[], k: 0, }, /* 140 - "EmbedContentToken" */ LookaheadDFA { - prod0: 943, + prod0: 944, transitions: &[], k: 0, }, @@ -5026,31 +5026,31 @@ pub const LOOKAHEAD_AUTOMATA: &[LookaheadDFA; 676] = &[ LookaheadDFA { prod0: -1, transitions: &[ - Trans(0, 40, 1, 944), - Trans(0, 44, 2, 945), - Trans(0, 117, 1, 944), + Trans(0, 40, 1, 945), + Trans(0, 44, 2, 946), + Trans(0, 117, 1, 945), ], k: 1, }, /* 142 - "EmbedDeclaration" */ LookaheadDFA { - prod0: 941, + prod0: 942, transitions: &[], k: 0, }, /* 143 - "EmbedItem" */ LookaheadDFA { prod0: -1, - transitions: &[Trans(0, 40, 1, 946), Trans(0, 117, 2, 949)], + transitions: &[Trans(0, 40, 1, 947), Trans(0, 117, 2, 950)], k: 1, }, /* 144 - "EmbedItemList" */ LookaheadDFA { prod0: -1, transitions: &[ - Trans(0, 40, 1, 947), - Trans(0, 44, 2, 948), - Trans(0, 117, 1, 947), + Trans(0, 40, 1, 948), + Trans(0, 44, 2, 949), + Trans(0, 117, 1, 948), ], k: 1, }, @@ -5420,7 +5420,7 @@ pub const LOOKAHEAD_AUTOMATA: &[LookaheadDFA; 676] = &[ }, /* 167 - "ExportDeclaration" */ LookaheadDFA { - prod0: 823, + prod0: 824, transitions: &[], k: 0, }, @@ -5428,16 +5428,16 @@ pub const LOOKAHEAD_AUTOMATA: &[LookaheadDFA; 676] = &[ LookaheadDFA { prod0: -1, transitions: &[ - Trans(0, 48, 1, 824), - Trans(0, 115, 2, 825), - Trans(0, 116, 2, 825), + Trans(0, 48, 1, 825), + Trans(0, 115, 2, 826), + Trans(0, 116, 2, 826), ], k: 1, }, /* 169 - "ExportDeclarationOpt" */ LookaheadDFA { prod0: -1, - transitions: &[Trans(0, 30, 1, 826), Trans(0, 47, 2, 827)], + transitions: &[Trans(0, 30, 1, 827), Trans(0, 47, 2, 828)], k: 1, }, /* 170 - "ExportTerm" */ @@ -6393,7 +6393,7 @@ pub const LOOKAHEAD_AUTOMATA: &[LookaheadDFA; 676] = &[ }, /* 232 - "FunctionDeclaration" */ LookaheadDFA { - prod0: 813, + prod0: 814, transitions: &[], k: 0, }, @@ -6401,10 +6401,10 @@ pub const LOOKAHEAD_AUTOMATA: &[LookaheadDFA; 676] = &[ LookaheadDFA { prod0: -1, transitions: &[ - Trans(0, 13, 2, 819), - Trans(0, 29, 1, 818), - Trans(0, 40, 2, 819), - Trans(0, 42, 2, 819), + Trans(0, 13, 2, 820), + Trans(0, 29, 1, 819), + Trans(0, 40, 2, 820), + Trans(0, 42, 2, 820), ], k: 1, }, @@ -6412,16 +6412,16 @@ pub const LOOKAHEAD_AUTOMATA: &[LookaheadDFA; 676] = &[ LookaheadDFA { prod0: -1, transitions: &[ - Trans(0, 13, 2, 817), - Trans(0, 40, 2, 817), - Trans(0, 42, 1, 816), + Trans(0, 13, 2, 818), + Trans(0, 40, 2, 818), + Trans(0, 42, 1, 817), ], k: 1, }, /* 235 - "FunctionDeclarationOpt1" */ LookaheadDFA { prod0: -1, - transitions: &[Trans(0, 13, 1, 814), Trans(0, 40, 2, 815)], + transitions: &[Trans(0, 13, 1, 815), Trans(0, 40, 2, 816)], k: 1, }, /* 236 - "FunctionTerm" */ @@ -6438,25 +6438,25 @@ pub const LOOKAHEAD_AUTOMATA: &[LookaheadDFA; 676] = &[ }, /* 238 - "GenerateBlockDeclaration" */ LookaheadDFA { - prod0: 878, + prod0: 879, transitions: &[], k: 0, }, /* 239 - "GenerateForDeclaration" */ LookaheadDFA { - prod0: 875, + prod0: 876, transitions: &[], k: 0, }, /* 240 - "GenerateForDeclarationOpt" */ LookaheadDFA { prod0: -1, - transitions: &[Trans(0, 31, 2, 877), Trans(0, 104, 1, 876)], + transitions: &[Trans(0, 31, 2, 878), Trans(0, 104, 1, 877)], k: 1, }, /* 241 - "GenerateGroup" */ LookaheadDFA { - prod0: 887, + prod0: 888, transitions: &[], k: 0, }, @@ -6464,26 +6464,26 @@ pub const LOOKAHEAD_AUTOMATA: &[LookaheadDFA; 676] = &[ LookaheadDFA { prod0: -1, transitions: &[ - Trans(0, 31, 2, 891), - Trans(0, 40, 1, 888), - Trans(0, 49, 2, 891), - Trans(0, 50, 2, 891), - Trans(0, 51, 2, 891), - Trans(0, 58, 2, 891), - Trans(0, 62, 2, 891), - Trans(0, 66, 2, 891), - Trans(0, 67, 2, 891), - Trans(0, 68, 2, 891), - Trans(0, 72, 2, 891), - Trans(0, 73, 2, 891), - Trans(0, 75, 2, 891), - Trans(0, 79, 2, 891), - Trans(0, 82, 2, 891), - Trans(0, 106, 2, 891), - Trans(0, 109, 2, 891), - Trans(0, 112, 2, 891), - Trans(0, 113, 2, 891), - Trans(0, 114, 2, 891), + Trans(0, 31, 2, 892), + Trans(0, 40, 1, 889), + Trans(0, 49, 2, 892), + Trans(0, 50, 2, 892), + Trans(0, 51, 2, 892), + Trans(0, 58, 2, 892), + Trans(0, 62, 2, 892), + Trans(0, 66, 2, 892), + Trans(0, 67, 2, 892), + Trans(0, 68, 2, 892), + Trans(0, 72, 2, 892), + Trans(0, 73, 2, 892), + Trans(0, 75, 2, 892), + Trans(0, 79, 2, 892), + Trans(0, 82, 2, 892), + Trans(0, 106, 2, 892), + Trans(0, 109, 2, 892), + Trans(0, 112, 2, 892), + Trans(0, 113, 2, 892), + Trans(0, 114, 2, 892), ], k: 1, }, @@ -6491,28 +6491,28 @@ pub const LOOKAHEAD_AUTOMATA: &[LookaheadDFA; 676] = &[ LookaheadDFA { prod0: -1, transitions: &[ - Trans(0, 31, 1, 889), - Trans(0, 37, 1, 889), - Trans(0, 40, 1, 889), - Trans(0, 44, 2, 890), - Trans(0, 49, 1, 889), - Trans(0, 50, 1, 889), - Trans(0, 51, 1, 889), - Trans(0, 58, 1, 889), - Trans(0, 62, 1, 889), - Trans(0, 66, 1, 889), - Trans(0, 67, 1, 889), - Trans(0, 68, 1, 889), - Trans(0, 72, 1, 889), - Trans(0, 73, 1, 889), - Trans(0, 75, 1, 889), - Trans(0, 79, 1, 889), - Trans(0, 82, 1, 889), - Trans(0, 106, 1, 889), - Trans(0, 109, 1, 889), - Trans(0, 112, 1, 889), - Trans(0, 113, 1, 889), - Trans(0, 114, 1, 889), + Trans(0, 31, 1, 890), + Trans(0, 37, 1, 890), + Trans(0, 40, 1, 890), + Trans(0, 44, 2, 891), + Trans(0, 49, 1, 890), + Trans(0, 50, 1, 890), + Trans(0, 51, 1, 890), + Trans(0, 58, 1, 890), + Trans(0, 62, 1, 890), + Trans(0, 66, 1, 890), + Trans(0, 67, 1, 890), + Trans(0, 68, 1, 890), + Trans(0, 72, 1, 890), + Trans(0, 73, 1, 890), + Trans(0, 75, 1, 890), + Trans(0, 79, 1, 890), + Trans(0, 82, 1, 890), + Trans(0, 106, 1, 890), + Trans(0, 109, 1, 890), + Trans(0, 112, 1, 890), + Trans(0, 113, 1, 890), + Trans(0, 114, 1, 890), ], k: 1, }, @@ -6520,33 +6520,33 @@ pub const LOOKAHEAD_AUTOMATA: &[LookaheadDFA; 676] = &[ LookaheadDFA { prod0: -1, transitions: &[ - Trans(0, 31, 2, 893), - Trans(0, 37, 1, 892), - Trans(0, 40, 2, 893), - Trans(0, 49, 2, 893), - Trans(0, 50, 2, 893), - Trans(0, 51, 2, 893), - Trans(0, 58, 2, 893), - Trans(0, 62, 2, 893), - Trans(0, 66, 2, 893), - Trans(0, 67, 2, 893), - Trans(0, 68, 2, 893), - Trans(0, 72, 2, 893), - Trans(0, 73, 2, 893), - Trans(0, 75, 2, 893), - Trans(0, 79, 2, 893), - Trans(0, 82, 2, 893), - Trans(0, 106, 2, 893), - Trans(0, 109, 2, 893), - Trans(0, 112, 2, 893), - Trans(0, 113, 2, 893), - Trans(0, 114, 2, 893), + Trans(0, 31, 2, 894), + Trans(0, 37, 1, 893), + Trans(0, 40, 2, 894), + Trans(0, 49, 2, 894), + Trans(0, 50, 2, 894), + Trans(0, 51, 2, 894), + Trans(0, 58, 2, 894), + Trans(0, 62, 2, 894), + Trans(0, 66, 2, 894), + Trans(0, 67, 2, 894), + Trans(0, 68, 2, 894), + Trans(0, 72, 2, 894), + Trans(0, 73, 2, 894), + Trans(0, 75, 2, 894), + Trans(0, 79, 2, 894), + Trans(0, 82, 2, 894), + Trans(0, 106, 2, 894), + Trans(0, 109, 2, 894), + Trans(0, 112, 2, 894), + Trans(0, 113, 2, 894), + Trans(0, 114, 2, 894), ], k: 1, }, /* 245 - "GenerateIfDeclaration" */ LookaheadDFA { - prod0: 870, + prod0: 871, transitions: &[], k: 0, }, @@ -6582,51 +6582,51 @@ pub const LOOKAHEAD_AUTOMATA: &[LookaheadDFA; 676] = &[ Trans(1, 31, 23, -1), Trans(1, 40, 43, -1), Trans(1, 72, 2, -1), - Trans(2, 5, 3, 871), - Trans(2, 6, 3, 871), - Trans(2, 7, 3, 871), - Trans(2, 8, 3, 871), - Trans(2, 9, 3, 871), - Trans(2, 10, 3, 871), - Trans(2, 11, 3, 871), - Trans(2, 18, 3, 871), - Trans(2, 24, 3, 871), - Trans(2, 25, 3, 871), - Trans(2, 26, 3, 871), - Trans(2, 27, 3, 871), - Trans(2, 39, 3, 871), - Trans(2, 40, 3, 871), - Trans(2, 42, 3, 871), - Trans(2, 53, 3, 871), - Trans(2, 54, 3, 871), - Trans(2, 55, 3, 871), - Trans(2, 56, 3, 871), - Trans(2, 57, 3, 871), - Trans(2, 64, 3, 871), - Trans(2, 65, 3, 871), - Trans(2, 69, 3, 871), - Trans(2, 70, 3, 871), - Trans(2, 72, 3, 871), - Trans(2, 78, 3, 871), - Trans(2, 83, 3, 871), - Trans(2, 84, 3, 871), - Trans(2, 87, 3, 871), - Trans(2, 89, 3, 871), - Trans(2, 96, 3, 871), - Trans(2, 97, 3, 871), - Trans(2, 98, 3, 871), - Trans(2, 99, 3, 871), - Trans(2, 100, 3, 871), - Trans(2, 105, 3, 871), - Trans(2, 107, 3, 871), - Trans(2, 109, 3, 871), - Trans(2, 110, 3, 871), - Trans(2, 111, 3, 871), - Trans(2, 115, 3, 871), - Trans(2, 116, 3, 871), - Trans(4, 31, 21, 872), - Trans(4, 40, 21, 872), - Trans(4, 72, 3, 871), + Trans(2, 5, 3, 872), + Trans(2, 6, 3, 872), + Trans(2, 7, 3, 872), + Trans(2, 8, 3, 872), + Trans(2, 9, 3, 872), + Trans(2, 10, 3, 872), + Trans(2, 11, 3, 872), + Trans(2, 18, 3, 872), + Trans(2, 24, 3, 872), + Trans(2, 25, 3, 872), + Trans(2, 26, 3, 872), + Trans(2, 27, 3, 872), + Trans(2, 39, 3, 872), + Trans(2, 40, 3, 872), + Trans(2, 42, 3, 872), + Trans(2, 53, 3, 872), + Trans(2, 54, 3, 872), + Trans(2, 55, 3, 872), + Trans(2, 56, 3, 872), + Trans(2, 57, 3, 872), + Trans(2, 64, 3, 872), + Trans(2, 65, 3, 872), + Trans(2, 69, 3, 872), + Trans(2, 70, 3, 872), + Trans(2, 72, 3, 872), + Trans(2, 78, 3, 872), + Trans(2, 83, 3, 872), + Trans(2, 84, 3, 872), + Trans(2, 87, 3, 872), + Trans(2, 89, 3, 872), + Trans(2, 96, 3, 872), + Trans(2, 97, 3, 872), + Trans(2, 98, 3, 872), + Trans(2, 99, 3, 872), + Trans(2, 100, 3, 872), + Trans(2, 105, 3, 872), + Trans(2, 107, 3, 872), + Trans(2, 109, 3, 872), + Trans(2, 110, 3, 872), + Trans(2, 111, 3, 872), + Trans(2, 115, 3, 872), + Trans(2, 116, 3, 872), + Trans(4, 31, 21, 873), + Trans(4, 40, 21, 873), + Trans(4, 72, 3, 872), Trans(5, 5, 52, -1), Trans(5, 116, 27, -1), Trans(6, 5, 47, -1), @@ -6655,7 +6655,7 @@ pub const LOOKAHEAD_AUTOMATA: &[LookaheadDFA; 676] = &[ Trans(7, 112, 23, -1), Trans(7, 113, 30, -1), Trans(7, 114, 23, -1), - Trans(8, 0, 21, 872), + Trans(8, 0, 21, 873), Trans(8, 5, 22, -1), Trans(8, 31, 23, -1), Trans(8, 37, 24, -1), @@ -6754,446 +6754,446 @@ pub const LOOKAHEAD_AUTOMATA: &[LookaheadDFA; 676] = &[ Trans(19, 116, 59, -1), Trans(20, 5, 48, -1), Trans(20, 42, 23, -1), - Trans(22, 0, 21, 872), - Trans(22, 31, 21, 872), - Trans(22, 37, 21, 872), - Trans(22, 40, 21, 872), - Trans(22, 44, 21, 872), - Trans(22, 49, 21, 872), - Trans(22, 50, 21, 872), - Trans(22, 51, 21, 872), - Trans(22, 58, 21, 872), - Trans(22, 60, 21, 872), - Trans(22, 61, 21, 872), - Trans(22, 62, 21, 872), - Trans(22, 66, 21, 872), - Trans(22, 67, 21, 872), - Trans(22, 68, 21, 872), - Trans(22, 72, 21, 872), - Trans(22, 73, 21, 872), - Trans(22, 74, 21, 872), - Trans(22, 75, 21, 872), - Trans(22, 79, 21, 872), - Trans(22, 80, 21, 872), - Trans(22, 82, 21, 872), - Trans(22, 85, 21, 872), - Trans(22, 86, 21, 872), - Trans(22, 90, 21, 872), - Trans(22, 92, 21, 872), - Trans(22, 93, 21, 872), - Trans(22, 106, 21, 872), - Trans(22, 109, 21, 872), - Trans(22, 112, 21, 872), - Trans(22, 113, 21, 872), - Trans(22, 114, 21, 872), - Trans(23, 5, 21, 872), - Trans(23, 116, 21, 872), - Trans(24, 5, 21, 872), - Trans(24, 41, 21, 872), - Trans(25, 5, 21, 872), - Trans(25, 31, 21, 872), - Trans(25, 37, 21, 872), - Trans(25, 40, 21, 872), - Trans(25, 44, 21, 872), - Trans(25, 49, 21, 872), - Trans(25, 50, 21, 872), - Trans(25, 51, 21, 872), - Trans(25, 58, 21, 872), - Trans(25, 61, 21, 872), - Trans(25, 62, 21, 872), - Trans(25, 66, 21, 872), - Trans(25, 67, 21, 872), - Trans(25, 68, 21, 872), - Trans(25, 72, 21, 872), - Trans(25, 73, 21, 872), - Trans(25, 74, 21, 872), - Trans(25, 75, 21, 872), - Trans(25, 79, 21, 872), - Trans(25, 80, 21, 872), - Trans(25, 82, 21, 872), - Trans(25, 85, 21, 872), - Trans(25, 86, 21, 872), - Trans(25, 90, 21, 872), - Trans(25, 92, 21, 872), - Trans(25, 93, 21, 872), - Trans(25, 106, 21, 872), - Trans(25, 109, 21, 872), - Trans(25, 112, 21, 872), - Trans(25, 113, 21, 872), - Trans(25, 114, 21, 872), - Trans(26, 0, 21, 872), - Trans(26, 5, 21, 872), - Trans(26, 31, 21, 872), - Trans(26, 37, 21, 872), - Trans(26, 40, 21, 872), - Trans(26, 44, 21, 872), - Trans(26, 49, 21, 872), - Trans(26, 50, 21, 872), - Trans(26, 51, 21, 872), - Trans(26, 58, 21, 872), - Trans(26, 60, 21, 872), - Trans(26, 61, 21, 872), - Trans(26, 62, 21, 872), - Trans(26, 66, 21, 872), - Trans(26, 67, 21, 872), - Trans(26, 68, 21, 872), - Trans(26, 72, 21, 872), - Trans(26, 73, 21, 872), - Trans(26, 74, 21, 872), - Trans(26, 75, 21, 872), - Trans(26, 79, 21, 872), - Trans(26, 80, 21, 872), - Trans(26, 82, 21, 872), - Trans(26, 85, 21, 872), - Trans(26, 86, 21, 872), - Trans(26, 90, 21, 872), - Trans(26, 92, 21, 872), - Trans(26, 93, 21, 872), - Trans(26, 106, 21, 872), - Trans(26, 109, 21, 872), - Trans(26, 112, 21, 872), - Trans(26, 113, 21, 872), - Trans(26, 114, 21, 872), - Trans(27, 5, 21, 872), - Trans(27, 40, 21, 872), - Trans(28, 5, 21, 872), - Trans(28, 40, 21, 872), - Trans(28, 42, 21, 872), - Trans(29, 5, 21, 872), - Trans(29, 31, 21, 872), - Trans(29, 40, 21, 872), - Trans(29, 72, 21, 872), - Trans(30, 5, 21, 872), - Trans(30, 42, 21, 872), - Trans(31, 5, 21, 872), - Trans(31, 6, 21, 872), - Trans(31, 7, 21, 872), - Trans(31, 8, 21, 872), - Trans(31, 9, 21, 872), - Trans(31, 10, 21, 872), - Trans(31, 11, 21, 872), - Trans(31, 18, 21, 872), - Trans(31, 24, 21, 872), - Trans(31, 25, 21, 872), - Trans(31, 26, 21, 872), - Trans(31, 27, 21, 872), - Trans(31, 39, 21, 872), - Trans(31, 40, 21, 872), - Trans(31, 42, 21, 872), - Trans(31, 53, 21, 872), - Trans(31, 54, 21, 872), - Trans(31, 55, 21, 872), - Trans(31, 56, 21, 872), - Trans(31, 57, 21, 872), - Trans(31, 64, 21, 872), - Trans(31, 65, 21, 872), - Trans(31, 69, 21, 872), - Trans(31, 70, 21, 872), - Trans(31, 72, 21, 872), - Trans(31, 78, 21, 872), - Trans(31, 83, 21, 872), - Trans(31, 84, 21, 872), - Trans(31, 87, 21, 872), - Trans(31, 89, 21, 872), - Trans(31, 96, 21, 872), - Trans(31, 97, 21, 872), - Trans(31, 98, 21, 872), - Trans(31, 99, 21, 872), - Trans(31, 100, 21, 872), - Trans(31, 105, 21, 872), - Trans(31, 107, 21, 872), - Trans(31, 109, 21, 872), - Trans(31, 110, 21, 872), - Trans(31, 111, 21, 872), - Trans(31, 115, 21, 872), - Trans(31, 116, 21, 872), - Trans(32, 5, 21, 872), - Trans(32, 115, 21, 872), - Trans(32, 116, 21, 872), - Trans(33, 5, 21, 872), - Trans(33, 86, 21, 872), - Trans(34, 5, 21, 872), - Trans(34, 80, 21, 872), - Trans(34, 86, 21, 872), - Trans(34, 90, 21, 872), - Trans(34, 92, 21, 872), - Trans(35, 6, 21, 872), - Trans(35, 7, 21, 872), - Trans(35, 8, 21, 872), - Trans(35, 9, 21, 872), - Trans(35, 10, 21, 872), - Trans(35, 11, 21, 872), - Trans(35, 18, 21, 872), - Trans(35, 24, 21, 872), - Trans(35, 25, 21, 872), - Trans(35, 26, 21, 872), - Trans(35, 27, 21, 872), - Trans(35, 39, 21, 872), - Trans(35, 40, 21, 872), - Trans(35, 42, 21, 872), - Trans(35, 53, 21, 872), - Trans(35, 54, 21, 872), - Trans(35, 55, 21, 872), - Trans(35, 56, 21, 872), - Trans(35, 57, 21, 872), - Trans(35, 64, 21, 872), - Trans(35, 65, 21, 872), - Trans(35, 69, 21, 872), - Trans(35, 70, 21, 872), - Trans(35, 72, 21, 872), - Trans(35, 78, 21, 872), - Trans(35, 83, 21, 872), - Trans(35, 84, 21, 872), - Trans(35, 87, 21, 872), - Trans(35, 89, 21, 872), - Trans(35, 96, 21, 872), - Trans(35, 97, 21, 872), - Trans(35, 98, 21, 872), - Trans(35, 99, 21, 872), - Trans(35, 100, 21, 872), - Trans(35, 105, 21, 872), - Trans(35, 107, 21, 872), - Trans(35, 109, 21, 872), - Trans(35, 110, 21, 872), - Trans(35, 111, 21, 872), - Trans(35, 115, 21, 872), - Trans(35, 116, 21, 872), - Trans(36, 5, 21, 872), - Trans(36, 16, 21, 872), - Trans(36, 17, 21, 872), - Trans(36, 18, 21, 872), - Trans(36, 19, 21, 872), - Trans(36, 20, 21, 872), - Trans(36, 21, 21, 872), - Trans(36, 22, 21, 872), - Trans(36, 23, 21, 872), - Trans(36, 24, 21, 872), - Trans(36, 25, 21, 872), - Trans(36, 26, 21, 872), - Trans(36, 31, 21, 872), - Trans(36, 48, 21, 872), - Trans(36, 52, 21, 872), - Trans(37, 5, 21, 872), - Trans(37, 6, 21, 872), - Trans(37, 7, 21, 872), - Trans(37, 8, 21, 872), - Trans(37, 9, 21, 872), - Trans(37, 10, 21, 872), - Trans(37, 11, 21, 872), - Trans(37, 18, 21, 872), - Trans(37, 24, 21, 872), - Trans(37, 25, 21, 872), - Trans(37, 26, 21, 872), - Trans(37, 27, 21, 872), - Trans(37, 39, 21, 872), - Trans(37, 40, 21, 872), - Trans(37, 42, 21, 872), - Trans(37, 53, 21, 872), - Trans(37, 54, 21, 872), - Trans(37, 55, 21, 872), - Trans(37, 56, 21, 872), - Trans(37, 57, 21, 872), - Trans(37, 59, 21, 872), - Trans(37, 64, 21, 872), - Trans(37, 65, 21, 872), - Trans(37, 69, 21, 872), - Trans(37, 70, 21, 872), - Trans(37, 72, 21, 872), - Trans(37, 78, 21, 872), - Trans(37, 83, 21, 872), - Trans(37, 84, 21, 872), - Trans(37, 87, 21, 872), - Trans(37, 89, 21, 872), - Trans(37, 96, 21, 872), - Trans(37, 97, 21, 872), - Trans(37, 98, 21, 872), - Trans(37, 99, 21, 872), - Trans(37, 100, 21, 872), - Trans(37, 105, 21, 872), - Trans(37, 107, 21, 872), - Trans(37, 109, 21, 872), - Trans(37, 110, 21, 872), - Trans(37, 111, 21, 872), - Trans(37, 115, 21, 872), - Trans(37, 116, 21, 872), - Trans(38, 5, 21, 872), - Trans(38, 16, 21, 872), - Trans(38, 17, 21, 872), - Trans(38, 18, 21, 872), - Trans(38, 19, 21, 872), - Trans(38, 20, 21, 872), - Trans(38, 21, 21, 872), - Trans(38, 22, 21, 872), - Trans(38, 23, 21, 872), - Trans(38, 24, 21, 872), - Trans(38, 25, 21, 872), - Trans(38, 26, 21, 872), - Trans(38, 31, 21, 872), - Trans(38, 38, 21, 872), - Trans(38, 48, 21, 872), - Trans(38, 52, 21, 872), - Trans(39, 5, 21, 872), - Trans(39, 16, 21, 872), - Trans(39, 17, 21, 872), - Trans(39, 18, 21, 872), - Trans(39, 19, 21, 872), - Trans(39, 20, 21, 872), - Trans(39, 21, 21, 872), - Trans(39, 22, 21, 872), - Trans(39, 23, 21, 872), - Trans(39, 24, 21, 872), - Trans(39, 25, 21, 872), - Trans(39, 26, 21, 872), - Trans(39, 30, 21, 872), - Trans(39, 31, 21, 872), - Trans(39, 35, 21, 872), - Trans(39, 38, 21, 872), - Trans(39, 41, 21, 872), - Trans(39, 42, 21, 872), - Trans(39, 48, 21, 872), - Trans(39, 52, 21, 872), - Trans(40, 5, 21, 872), - Trans(40, 16, 21, 872), - Trans(40, 17, 21, 872), - Trans(40, 18, 21, 872), - Trans(40, 19, 21, 872), - Trans(40, 20, 21, 872), - Trans(40, 21, 21, 872), - Trans(40, 22, 21, 872), - Trans(40, 23, 21, 872), - Trans(40, 24, 21, 872), - Trans(40, 25, 21, 872), - Trans(40, 26, 21, 872), - Trans(40, 29, 21, 872), - Trans(40, 30, 21, 872), - Trans(40, 31, 21, 872), - Trans(40, 35, 21, 872), - Trans(40, 38, 21, 872), - Trans(40, 41, 21, 872), - Trans(40, 42, 21, 872), - Trans(40, 48, 21, 872), - Trans(40, 52, 21, 872), - Trans(41, 31, 21, 872), - Trans(41, 37, 21, 872), - Trans(41, 40, 21, 872), - Trans(41, 44, 21, 872), - Trans(41, 49, 21, 872), - Trans(41, 50, 21, 872), - Trans(41, 51, 21, 872), - Trans(41, 58, 21, 872), - Trans(41, 62, 21, 872), - Trans(41, 66, 21, 872), - Trans(41, 67, 21, 872), - Trans(41, 68, 21, 872), - Trans(41, 72, 21, 872), - Trans(41, 73, 21, 872), - Trans(41, 75, 21, 872), - Trans(41, 79, 21, 872), - Trans(41, 82, 21, 872), - Trans(41, 85, 21, 872), - Trans(41, 106, 21, 872), - Trans(41, 109, 21, 872), - Trans(41, 112, 21, 872), - Trans(41, 113, 21, 872), - Trans(41, 114, 21, 872), - Trans(42, 5, 21, 872), - Trans(42, 31, 21, 872), - Trans(42, 37, 21, 872), - Trans(42, 40, 21, 872), - Trans(42, 44, 21, 872), - Trans(42, 49, 21, 872), - Trans(42, 50, 21, 872), - Trans(42, 51, 21, 872), - Trans(42, 58, 21, 872), - Trans(42, 62, 21, 872), - Trans(42, 66, 21, 872), - Trans(42, 67, 21, 872), - Trans(42, 68, 21, 872), - Trans(42, 72, 21, 872), - Trans(42, 73, 21, 872), - Trans(42, 75, 21, 872), - Trans(42, 79, 21, 872), - Trans(42, 82, 21, 872), - Trans(42, 85, 21, 872), - Trans(42, 106, 21, 872), - Trans(42, 109, 21, 872), - Trans(42, 112, 21, 872), - Trans(42, 113, 21, 872), - Trans(42, 114, 21, 872), - Trans(43, 5, 21, 872), - Trans(43, 31, 21, 872), - Trans(43, 37, 21, 872), - Trans(43, 40, 21, 872), - Trans(43, 44, 21, 872), - Trans(43, 49, 21, 872), - Trans(43, 50, 21, 872), - Trans(43, 51, 21, 872), - Trans(43, 58, 21, 872), - Trans(43, 62, 21, 872), - Trans(43, 66, 21, 872), - Trans(43, 67, 21, 872), - Trans(43, 68, 21, 872), - Trans(43, 72, 21, 872), - Trans(43, 73, 21, 872), - Trans(43, 75, 21, 872), - Trans(43, 79, 21, 872), - Trans(43, 82, 21, 872), - Trans(43, 106, 21, 872), - Trans(43, 109, 21, 872), - Trans(43, 112, 21, 872), - Trans(43, 113, 21, 872), - Trans(43, 114, 21, 872), - Trans(44, 40, 21, 872), - Trans(45, 5, 21, 872), - Trans(45, 37, 21, 872), - Trans(45, 40, 21, 872), - Trans(45, 44, 21, 872), - Trans(45, 54, 21, 872), - Trans(45, 67, 21, 872), - Trans(45, 71, 21, 872), - Trans(45, 72, 21, 872), - Trans(45, 82, 21, 872), - Trans(45, 101, 21, 872), - Trans(45, 102, 21, 872), - Trans(45, 107, 21, 872), - Trans(45, 114, 21, 872), - Trans(45, 115, 21, 872), - Trans(45, 116, 21, 872), - Trans(46, 40, 21, 872), - Trans(46, 42, 21, 872), - Trans(47, 41, 21, 872), - Trans(48, 42, 21, 872), - Trans(49, 115, 21, 872), - Trans(49, 116, 21, 872), - Trans(50, 5, 21, 872), - Trans(50, 30, 21, 872), - Trans(50, 47, 21, 872), - Trans(51, 5, 21, 872), - Trans(51, 29, 21, 872), - Trans(51, 30, 21, 872), - Trans(51, 47, 21, 872), - Trans(52, 116, 21, 872), - Trans(53, 5, 21, 872), - Trans(53, 35, 21, 872), - Trans(53, 36, 21, 872), - Trans(53, 41, 21, 872), - Trans(54, 5, 21, 872), - Trans(54, 31, 21, 872), - Trans(55, 5, 21, 872), - Trans(55, 31, 21, 872), - Trans(55, 40, 21, 872), - Trans(56, 5, 21, 872), - Trans(56, 81, 21, 872), - Trans(57, 5, 21, 872), - Trans(57, 13, 21, 872), - Trans(57, 29, 21, 872), - Trans(57, 40, 21, 872), - Trans(57, 42, 21, 872), - Trans(58, 5, 21, 872), - Trans(58, 29, 21, 872), - Trans(58, 40, 21, 872), - Trans(59, 5, 21, 872), - Trans(59, 36, 21, 872), + Trans(22, 0, 21, 873), + Trans(22, 31, 21, 873), + Trans(22, 37, 21, 873), + Trans(22, 40, 21, 873), + Trans(22, 44, 21, 873), + Trans(22, 49, 21, 873), + Trans(22, 50, 21, 873), + Trans(22, 51, 21, 873), + Trans(22, 58, 21, 873), + Trans(22, 60, 21, 873), + Trans(22, 61, 21, 873), + Trans(22, 62, 21, 873), + Trans(22, 66, 21, 873), + Trans(22, 67, 21, 873), + Trans(22, 68, 21, 873), + Trans(22, 72, 21, 873), + Trans(22, 73, 21, 873), + Trans(22, 74, 21, 873), + Trans(22, 75, 21, 873), + Trans(22, 79, 21, 873), + Trans(22, 80, 21, 873), + Trans(22, 82, 21, 873), + Trans(22, 85, 21, 873), + Trans(22, 86, 21, 873), + Trans(22, 90, 21, 873), + Trans(22, 92, 21, 873), + Trans(22, 93, 21, 873), + Trans(22, 106, 21, 873), + Trans(22, 109, 21, 873), + Trans(22, 112, 21, 873), + Trans(22, 113, 21, 873), + Trans(22, 114, 21, 873), + Trans(23, 5, 21, 873), + Trans(23, 116, 21, 873), + Trans(24, 5, 21, 873), + Trans(24, 41, 21, 873), + Trans(25, 5, 21, 873), + Trans(25, 31, 21, 873), + Trans(25, 37, 21, 873), + Trans(25, 40, 21, 873), + Trans(25, 44, 21, 873), + Trans(25, 49, 21, 873), + Trans(25, 50, 21, 873), + Trans(25, 51, 21, 873), + Trans(25, 58, 21, 873), + Trans(25, 61, 21, 873), + Trans(25, 62, 21, 873), + Trans(25, 66, 21, 873), + Trans(25, 67, 21, 873), + Trans(25, 68, 21, 873), + Trans(25, 72, 21, 873), + Trans(25, 73, 21, 873), + Trans(25, 74, 21, 873), + Trans(25, 75, 21, 873), + Trans(25, 79, 21, 873), + Trans(25, 80, 21, 873), + Trans(25, 82, 21, 873), + Trans(25, 85, 21, 873), + Trans(25, 86, 21, 873), + Trans(25, 90, 21, 873), + Trans(25, 92, 21, 873), + Trans(25, 93, 21, 873), + Trans(25, 106, 21, 873), + Trans(25, 109, 21, 873), + Trans(25, 112, 21, 873), + Trans(25, 113, 21, 873), + Trans(25, 114, 21, 873), + Trans(26, 0, 21, 873), + Trans(26, 5, 21, 873), + Trans(26, 31, 21, 873), + Trans(26, 37, 21, 873), + Trans(26, 40, 21, 873), + Trans(26, 44, 21, 873), + Trans(26, 49, 21, 873), + Trans(26, 50, 21, 873), + Trans(26, 51, 21, 873), + Trans(26, 58, 21, 873), + Trans(26, 60, 21, 873), + Trans(26, 61, 21, 873), + Trans(26, 62, 21, 873), + Trans(26, 66, 21, 873), + Trans(26, 67, 21, 873), + Trans(26, 68, 21, 873), + Trans(26, 72, 21, 873), + Trans(26, 73, 21, 873), + Trans(26, 74, 21, 873), + Trans(26, 75, 21, 873), + Trans(26, 79, 21, 873), + Trans(26, 80, 21, 873), + Trans(26, 82, 21, 873), + Trans(26, 85, 21, 873), + Trans(26, 86, 21, 873), + Trans(26, 90, 21, 873), + Trans(26, 92, 21, 873), + Trans(26, 93, 21, 873), + Trans(26, 106, 21, 873), + Trans(26, 109, 21, 873), + Trans(26, 112, 21, 873), + Trans(26, 113, 21, 873), + Trans(26, 114, 21, 873), + Trans(27, 5, 21, 873), + Trans(27, 40, 21, 873), + Trans(28, 5, 21, 873), + Trans(28, 40, 21, 873), + Trans(28, 42, 21, 873), + Trans(29, 5, 21, 873), + Trans(29, 31, 21, 873), + Trans(29, 40, 21, 873), + Trans(29, 72, 21, 873), + Trans(30, 5, 21, 873), + Trans(30, 42, 21, 873), + Trans(31, 5, 21, 873), + Trans(31, 6, 21, 873), + Trans(31, 7, 21, 873), + Trans(31, 8, 21, 873), + Trans(31, 9, 21, 873), + Trans(31, 10, 21, 873), + Trans(31, 11, 21, 873), + Trans(31, 18, 21, 873), + Trans(31, 24, 21, 873), + Trans(31, 25, 21, 873), + Trans(31, 26, 21, 873), + Trans(31, 27, 21, 873), + Trans(31, 39, 21, 873), + Trans(31, 40, 21, 873), + Trans(31, 42, 21, 873), + Trans(31, 53, 21, 873), + Trans(31, 54, 21, 873), + Trans(31, 55, 21, 873), + Trans(31, 56, 21, 873), + Trans(31, 57, 21, 873), + Trans(31, 64, 21, 873), + Trans(31, 65, 21, 873), + Trans(31, 69, 21, 873), + Trans(31, 70, 21, 873), + Trans(31, 72, 21, 873), + Trans(31, 78, 21, 873), + Trans(31, 83, 21, 873), + Trans(31, 84, 21, 873), + Trans(31, 87, 21, 873), + Trans(31, 89, 21, 873), + Trans(31, 96, 21, 873), + Trans(31, 97, 21, 873), + Trans(31, 98, 21, 873), + Trans(31, 99, 21, 873), + Trans(31, 100, 21, 873), + Trans(31, 105, 21, 873), + Trans(31, 107, 21, 873), + Trans(31, 109, 21, 873), + Trans(31, 110, 21, 873), + Trans(31, 111, 21, 873), + Trans(31, 115, 21, 873), + Trans(31, 116, 21, 873), + Trans(32, 5, 21, 873), + Trans(32, 115, 21, 873), + Trans(32, 116, 21, 873), + Trans(33, 5, 21, 873), + Trans(33, 86, 21, 873), + Trans(34, 5, 21, 873), + Trans(34, 80, 21, 873), + Trans(34, 86, 21, 873), + Trans(34, 90, 21, 873), + Trans(34, 92, 21, 873), + Trans(35, 6, 21, 873), + Trans(35, 7, 21, 873), + Trans(35, 8, 21, 873), + Trans(35, 9, 21, 873), + Trans(35, 10, 21, 873), + Trans(35, 11, 21, 873), + Trans(35, 18, 21, 873), + Trans(35, 24, 21, 873), + Trans(35, 25, 21, 873), + Trans(35, 26, 21, 873), + Trans(35, 27, 21, 873), + Trans(35, 39, 21, 873), + Trans(35, 40, 21, 873), + Trans(35, 42, 21, 873), + Trans(35, 53, 21, 873), + Trans(35, 54, 21, 873), + Trans(35, 55, 21, 873), + Trans(35, 56, 21, 873), + Trans(35, 57, 21, 873), + Trans(35, 64, 21, 873), + Trans(35, 65, 21, 873), + Trans(35, 69, 21, 873), + Trans(35, 70, 21, 873), + Trans(35, 72, 21, 873), + Trans(35, 78, 21, 873), + Trans(35, 83, 21, 873), + Trans(35, 84, 21, 873), + Trans(35, 87, 21, 873), + Trans(35, 89, 21, 873), + Trans(35, 96, 21, 873), + Trans(35, 97, 21, 873), + Trans(35, 98, 21, 873), + Trans(35, 99, 21, 873), + Trans(35, 100, 21, 873), + Trans(35, 105, 21, 873), + Trans(35, 107, 21, 873), + Trans(35, 109, 21, 873), + Trans(35, 110, 21, 873), + Trans(35, 111, 21, 873), + Trans(35, 115, 21, 873), + Trans(35, 116, 21, 873), + Trans(36, 5, 21, 873), + Trans(36, 16, 21, 873), + Trans(36, 17, 21, 873), + Trans(36, 18, 21, 873), + Trans(36, 19, 21, 873), + Trans(36, 20, 21, 873), + Trans(36, 21, 21, 873), + Trans(36, 22, 21, 873), + Trans(36, 23, 21, 873), + Trans(36, 24, 21, 873), + Trans(36, 25, 21, 873), + Trans(36, 26, 21, 873), + Trans(36, 31, 21, 873), + Trans(36, 48, 21, 873), + Trans(36, 52, 21, 873), + Trans(37, 5, 21, 873), + Trans(37, 6, 21, 873), + Trans(37, 7, 21, 873), + Trans(37, 8, 21, 873), + Trans(37, 9, 21, 873), + Trans(37, 10, 21, 873), + Trans(37, 11, 21, 873), + Trans(37, 18, 21, 873), + Trans(37, 24, 21, 873), + Trans(37, 25, 21, 873), + Trans(37, 26, 21, 873), + Trans(37, 27, 21, 873), + Trans(37, 39, 21, 873), + Trans(37, 40, 21, 873), + Trans(37, 42, 21, 873), + Trans(37, 53, 21, 873), + Trans(37, 54, 21, 873), + Trans(37, 55, 21, 873), + Trans(37, 56, 21, 873), + Trans(37, 57, 21, 873), + Trans(37, 59, 21, 873), + Trans(37, 64, 21, 873), + Trans(37, 65, 21, 873), + Trans(37, 69, 21, 873), + Trans(37, 70, 21, 873), + Trans(37, 72, 21, 873), + Trans(37, 78, 21, 873), + Trans(37, 83, 21, 873), + Trans(37, 84, 21, 873), + Trans(37, 87, 21, 873), + Trans(37, 89, 21, 873), + Trans(37, 96, 21, 873), + Trans(37, 97, 21, 873), + Trans(37, 98, 21, 873), + Trans(37, 99, 21, 873), + Trans(37, 100, 21, 873), + Trans(37, 105, 21, 873), + Trans(37, 107, 21, 873), + Trans(37, 109, 21, 873), + Trans(37, 110, 21, 873), + Trans(37, 111, 21, 873), + Trans(37, 115, 21, 873), + Trans(37, 116, 21, 873), + Trans(38, 5, 21, 873), + Trans(38, 16, 21, 873), + Trans(38, 17, 21, 873), + Trans(38, 18, 21, 873), + Trans(38, 19, 21, 873), + Trans(38, 20, 21, 873), + Trans(38, 21, 21, 873), + Trans(38, 22, 21, 873), + Trans(38, 23, 21, 873), + Trans(38, 24, 21, 873), + Trans(38, 25, 21, 873), + Trans(38, 26, 21, 873), + Trans(38, 31, 21, 873), + Trans(38, 38, 21, 873), + Trans(38, 48, 21, 873), + Trans(38, 52, 21, 873), + Trans(39, 5, 21, 873), + Trans(39, 16, 21, 873), + Trans(39, 17, 21, 873), + Trans(39, 18, 21, 873), + Trans(39, 19, 21, 873), + Trans(39, 20, 21, 873), + Trans(39, 21, 21, 873), + Trans(39, 22, 21, 873), + Trans(39, 23, 21, 873), + Trans(39, 24, 21, 873), + Trans(39, 25, 21, 873), + Trans(39, 26, 21, 873), + Trans(39, 30, 21, 873), + Trans(39, 31, 21, 873), + Trans(39, 35, 21, 873), + Trans(39, 38, 21, 873), + Trans(39, 41, 21, 873), + Trans(39, 42, 21, 873), + Trans(39, 48, 21, 873), + Trans(39, 52, 21, 873), + Trans(40, 5, 21, 873), + Trans(40, 16, 21, 873), + Trans(40, 17, 21, 873), + Trans(40, 18, 21, 873), + Trans(40, 19, 21, 873), + Trans(40, 20, 21, 873), + Trans(40, 21, 21, 873), + Trans(40, 22, 21, 873), + Trans(40, 23, 21, 873), + Trans(40, 24, 21, 873), + Trans(40, 25, 21, 873), + Trans(40, 26, 21, 873), + Trans(40, 29, 21, 873), + Trans(40, 30, 21, 873), + Trans(40, 31, 21, 873), + Trans(40, 35, 21, 873), + Trans(40, 38, 21, 873), + Trans(40, 41, 21, 873), + Trans(40, 42, 21, 873), + Trans(40, 48, 21, 873), + Trans(40, 52, 21, 873), + Trans(41, 31, 21, 873), + Trans(41, 37, 21, 873), + Trans(41, 40, 21, 873), + Trans(41, 44, 21, 873), + Trans(41, 49, 21, 873), + Trans(41, 50, 21, 873), + Trans(41, 51, 21, 873), + Trans(41, 58, 21, 873), + Trans(41, 62, 21, 873), + Trans(41, 66, 21, 873), + Trans(41, 67, 21, 873), + Trans(41, 68, 21, 873), + Trans(41, 72, 21, 873), + Trans(41, 73, 21, 873), + Trans(41, 75, 21, 873), + Trans(41, 79, 21, 873), + Trans(41, 82, 21, 873), + Trans(41, 85, 21, 873), + Trans(41, 106, 21, 873), + Trans(41, 109, 21, 873), + Trans(41, 112, 21, 873), + Trans(41, 113, 21, 873), + Trans(41, 114, 21, 873), + Trans(42, 5, 21, 873), + Trans(42, 31, 21, 873), + Trans(42, 37, 21, 873), + Trans(42, 40, 21, 873), + Trans(42, 44, 21, 873), + Trans(42, 49, 21, 873), + Trans(42, 50, 21, 873), + Trans(42, 51, 21, 873), + Trans(42, 58, 21, 873), + Trans(42, 62, 21, 873), + Trans(42, 66, 21, 873), + Trans(42, 67, 21, 873), + Trans(42, 68, 21, 873), + Trans(42, 72, 21, 873), + Trans(42, 73, 21, 873), + Trans(42, 75, 21, 873), + Trans(42, 79, 21, 873), + Trans(42, 82, 21, 873), + Trans(42, 85, 21, 873), + Trans(42, 106, 21, 873), + Trans(42, 109, 21, 873), + Trans(42, 112, 21, 873), + Trans(42, 113, 21, 873), + Trans(42, 114, 21, 873), + Trans(43, 5, 21, 873), + Trans(43, 31, 21, 873), + Trans(43, 37, 21, 873), + Trans(43, 40, 21, 873), + Trans(43, 44, 21, 873), + Trans(43, 49, 21, 873), + Trans(43, 50, 21, 873), + Trans(43, 51, 21, 873), + Trans(43, 58, 21, 873), + Trans(43, 62, 21, 873), + Trans(43, 66, 21, 873), + Trans(43, 67, 21, 873), + Trans(43, 68, 21, 873), + Trans(43, 72, 21, 873), + Trans(43, 73, 21, 873), + Trans(43, 75, 21, 873), + Trans(43, 79, 21, 873), + Trans(43, 82, 21, 873), + Trans(43, 106, 21, 873), + Trans(43, 109, 21, 873), + Trans(43, 112, 21, 873), + Trans(43, 113, 21, 873), + Trans(43, 114, 21, 873), + Trans(44, 40, 21, 873), + Trans(45, 5, 21, 873), + Trans(45, 37, 21, 873), + Trans(45, 40, 21, 873), + Trans(45, 44, 21, 873), + Trans(45, 54, 21, 873), + Trans(45, 67, 21, 873), + Trans(45, 71, 21, 873), + Trans(45, 72, 21, 873), + Trans(45, 82, 21, 873), + Trans(45, 101, 21, 873), + Trans(45, 102, 21, 873), + Trans(45, 107, 21, 873), + Trans(45, 114, 21, 873), + Trans(45, 115, 21, 873), + Trans(45, 116, 21, 873), + Trans(46, 40, 21, 873), + Trans(46, 42, 21, 873), + Trans(47, 41, 21, 873), + Trans(48, 42, 21, 873), + Trans(49, 115, 21, 873), + Trans(49, 116, 21, 873), + Trans(50, 5, 21, 873), + Trans(50, 30, 21, 873), + Trans(50, 47, 21, 873), + Trans(51, 5, 21, 873), + Trans(51, 29, 21, 873), + Trans(51, 30, 21, 873), + Trans(51, 47, 21, 873), + Trans(52, 116, 21, 873), + Trans(53, 5, 21, 873), + Trans(53, 35, 21, 873), + Trans(53, 36, 21, 873), + Trans(53, 41, 21, 873), + Trans(54, 5, 21, 873), + Trans(54, 31, 21, 873), + Trans(55, 5, 21, 873), + Trans(55, 31, 21, 873), + Trans(55, 40, 21, 873), + Trans(56, 5, 21, 873), + Trans(56, 81, 21, 873), + Trans(57, 5, 21, 873), + Trans(57, 13, 21, 873), + Trans(57, 29, 21, 873), + Trans(57, 40, 21, 873), + Trans(57, 42, 21, 873), + Trans(58, 5, 21, 873), + Trans(58, 29, 21, 873), + Trans(58, 40, 21, 873), + Trans(59, 5, 21, 873), + Trans(59, 36, 21, 873), ], k: 3, }, @@ -7201,30 +7201,30 @@ pub const LOOKAHEAD_AUTOMATA: &[LookaheadDFA; 676] = &[ LookaheadDFA { prod0: -1, transitions: &[ - Trans(0, 31, 2, 874), - Trans(0, 37, 2, 874), - Trans(0, 40, 2, 874), - Trans(0, 44, 2, 874), - Trans(0, 49, 2, 874), - Trans(0, 50, 2, 874), - Trans(0, 51, 2, 874), - Trans(0, 58, 2, 874), - Trans(0, 60, 1, 873), - Trans(0, 62, 2, 874), - Trans(0, 66, 2, 874), - Trans(0, 67, 2, 874), - Trans(0, 68, 2, 874), - Trans(0, 72, 2, 874), - Trans(0, 73, 2, 874), - Trans(0, 75, 2, 874), - Trans(0, 79, 2, 874), - Trans(0, 82, 2, 874), - Trans(0, 85, 2, 874), - Trans(0, 106, 2, 874), - Trans(0, 109, 2, 874), - Trans(0, 112, 2, 874), - Trans(0, 113, 2, 874), - Trans(0, 114, 2, 874), + Trans(0, 31, 2, 875), + Trans(0, 37, 2, 875), + Trans(0, 40, 2, 875), + Trans(0, 44, 2, 875), + Trans(0, 49, 2, 875), + Trans(0, 50, 2, 875), + Trans(0, 51, 2, 875), + Trans(0, 58, 2, 875), + Trans(0, 60, 1, 874), + Trans(0, 62, 2, 875), + Trans(0, 66, 2, 875), + Trans(0, 67, 2, 875), + Trans(0, 68, 2, 875), + Trans(0, 72, 2, 875), + Trans(0, 73, 2, 875), + Trans(0, 75, 2, 875), + Trans(0, 79, 2, 875), + Trans(0, 82, 2, 875), + Trans(0, 85, 2, 875), + Trans(0, 106, 2, 875), + Trans(0, 109, 2, 875), + Trans(0, 112, 2, 875), + Trans(0, 113, 2, 875), + Trans(0, 114, 2, 875), ], k: 1, }, @@ -7232,31 +7232,31 @@ pub const LOOKAHEAD_AUTOMATA: &[LookaheadDFA; 676] = &[ LookaheadDFA { prod0: -1, transitions: &[ - Trans(0, 31, 11, 904), - Trans(0, 49, 6, 899), - Trans(0, 50, 5, 898), - Trans(0, 51, 7, 900), - Trans(0, 58, 4, 897), - Trans(0, 62, 13, 906), - Trans(0, 66, 17, 910), - Trans(0, 67, 10, 903), - Trans(0, 68, 8, 901), - Trans(0, 72, 9, 902), - Trans(0, 73, 15, 908), - Trans(0, 75, 16, 909), - Trans(0, 79, 3, 896), - Trans(0, 82, 1, 894), - Trans(0, 106, 14, 907), - Trans(0, 109, 12, 905), - Trans(0, 112, 14, 907), - Trans(0, 113, 18, 911), - Trans(0, 114, 2, 895), + Trans(0, 31, 11, 905), + Trans(0, 49, 6, 900), + Trans(0, 50, 5, 899), + Trans(0, 51, 7, 901), + Trans(0, 58, 4, 898), + Trans(0, 62, 13, 907), + Trans(0, 66, 17, 911), + Trans(0, 67, 10, 904), + Trans(0, 68, 8, 902), + Trans(0, 72, 9, 903), + Trans(0, 73, 15, 909), + Trans(0, 75, 16, 910), + Trans(0, 79, 3, 897), + Trans(0, 82, 1, 895), + Trans(0, 106, 14, 908), + Trans(0, 109, 12, 906), + Trans(0, 112, 14, 908), + Trans(0, 113, 18, 912), + Trans(0, 114, 2, 896), ], k: 1, }, /* 249 - "GenerateNamedBlock" */ LookaheadDFA { - prod0: 879, + prod0: 880, transitions: &[], k: 0, }, @@ -7264,34 +7264,34 @@ pub const LOOKAHEAD_AUTOMATA: &[LookaheadDFA; 676] = &[ LookaheadDFA { prod0: -1, transitions: &[ - Trans(0, 31, 1, 880), - Trans(0, 37, 1, 880), - Trans(0, 40, 1, 880), - Trans(0, 44, 2, 881), - Trans(0, 49, 1, 880), - Trans(0, 50, 1, 880), - Trans(0, 51, 1, 880), - Trans(0, 58, 1, 880), - Trans(0, 62, 1, 880), - Trans(0, 66, 1, 880), - Trans(0, 67, 1, 880), - Trans(0, 68, 1, 880), - Trans(0, 72, 1, 880), - Trans(0, 73, 1, 880), - Trans(0, 75, 1, 880), - Trans(0, 79, 1, 880), - Trans(0, 82, 1, 880), - Trans(0, 106, 1, 880), - Trans(0, 109, 1, 880), - Trans(0, 112, 1, 880), - Trans(0, 113, 1, 880), - Trans(0, 114, 1, 880), + Trans(0, 31, 1, 881), + Trans(0, 37, 1, 881), + Trans(0, 40, 1, 881), + Trans(0, 44, 2, 882), + Trans(0, 49, 1, 881), + Trans(0, 50, 1, 881), + Trans(0, 51, 1, 881), + Trans(0, 58, 1, 881), + Trans(0, 62, 1, 881), + Trans(0, 66, 1, 881), + Trans(0, 67, 1, 881), + Trans(0, 68, 1, 881), + Trans(0, 72, 1, 881), + Trans(0, 73, 1, 881), + Trans(0, 75, 1, 881), + Trans(0, 79, 1, 881), + Trans(0, 82, 1, 881), + Trans(0, 106, 1, 881), + Trans(0, 109, 1, 881), + Trans(0, 112, 1, 881), + Trans(0, 113, 1, 881), + Trans(0, 114, 1, 881), ], k: 1, }, /* 251 - "GenerateOptionalNamedBlock" */ LookaheadDFA { - prod0: 882, + prod0: 883, transitions: &[], k: 0, }, @@ -7299,35 +7299,35 @@ pub const LOOKAHEAD_AUTOMATA: &[LookaheadDFA; 676] = &[ LookaheadDFA { prod0: -1, transitions: &[ - Trans(0, 31, 1, 883), - Trans(0, 37, 1, 883), - Trans(0, 40, 1, 883), - Trans(0, 44, 2, 884), - Trans(0, 49, 1, 883), - Trans(0, 50, 1, 883), - Trans(0, 51, 1, 883), - Trans(0, 58, 1, 883), - Trans(0, 62, 1, 883), - Trans(0, 66, 1, 883), - Trans(0, 67, 1, 883), - Trans(0, 68, 1, 883), - Trans(0, 72, 1, 883), - Trans(0, 73, 1, 883), - Trans(0, 75, 1, 883), - Trans(0, 79, 1, 883), - Trans(0, 82, 1, 883), - Trans(0, 106, 1, 883), - Trans(0, 109, 1, 883), - Trans(0, 112, 1, 883), - Trans(0, 113, 1, 883), - Trans(0, 114, 1, 883), + Trans(0, 31, 1, 884), + Trans(0, 37, 1, 884), + Trans(0, 40, 1, 884), + Trans(0, 44, 2, 885), + Trans(0, 49, 1, 884), + Trans(0, 50, 1, 884), + Trans(0, 51, 1, 884), + Trans(0, 58, 1, 884), + Trans(0, 62, 1, 884), + Trans(0, 66, 1, 884), + Trans(0, 67, 1, 884), + Trans(0, 68, 1, 884), + Trans(0, 72, 1, 884), + Trans(0, 73, 1, 884), + Trans(0, 75, 1, 884), + Trans(0, 79, 1, 884), + Trans(0, 82, 1, 884), + Trans(0, 106, 1, 884), + Trans(0, 109, 1, 884), + Trans(0, 112, 1, 884), + Trans(0, 113, 1, 884), + Trans(0, 114, 1, 884), ], k: 1, }, /* 253 - "GenerateOptionalNamedBlockOpt" */ LookaheadDFA { prod0: -1, - transitions: &[Trans(0, 31, 1, 885), Trans(0, 40, 2, 886)], + transitions: &[Trans(0, 31, 1, 886), Trans(0, 40, 2, 887)], k: 1, }, /* 254 - "GenericBound" */ @@ -7335,9 +7335,10 @@ pub const LOOKAHEAD_AUTOMATA: &[LookaheadDFA; 676] = &[ prod0: -1, transitions: &[ Trans(0, 58, 1, 756), + Trans(0, 79, 3, 758), Trans(0, 109, 2, 757), - Trans(0, 115, 3, 758), - Trans(0, 116, 3, 758), + Trans(0, 115, 4, 759), + Trans(0, 116, 4, 759), ], k: 1, }, @@ -11288,14 +11289,14 @@ pub const LOOKAHEAD_AUTOMATA: &[LookaheadDFA; 676] = &[ }, /* 290 - "ImportDeclaration" */ LookaheadDFA { - prod0: 820, + prod0: 821, transitions: &[], k: 0, }, /* 291 - "ImportDeclarationOpt" */ LookaheadDFA { prod0: -1, - transitions: &[Trans(0, 30, 1, 821), Trans(0, 47, 2, 822)], + transitions: &[Trans(0, 30, 1, 822), Trans(0, 47, 2, 823)], k: 1, }, /* 292 - "ImportTerm" */ @@ -11336,7 +11337,7 @@ pub const LOOKAHEAD_AUTOMATA: &[LookaheadDFA; 676] = &[ }, /* 298 - "IncludeDeclaration" */ LookaheadDFA { - prod0: 950, + prod0: 951, transitions: &[], k: 0, }, @@ -11807,7 +11808,7 @@ pub const LOOKAHEAD_AUTOMATA: &[LookaheadDFA; 676] = &[ }, /* 343 - "InterfaceDeclaration" */ LookaheadDFA { - prod0: 852, + prod0: 853, transitions: &[], k: 0, }, @@ -11815,57 +11816,57 @@ pub const LOOKAHEAD_AUTOMATA: &[LookaheadDFA; 676] = &[ LookaheadDFA { prod0: -1, transitions: &[ - Trans(0, 31, 1, 853), - Trans(0, 37, 1, 853), - Trans(0, 40, 1, 853), - Trans(0, 44, 2, 854), - Trans(0, 49, 1, 853), - Trans(0, 50, 1, 853), - Trans(0, 51, 1, 853), - Trans(0, 58, 1, 853), - Trans(0, 62, 1, 853), - Trans(0, 66, 1, 853), - Trans(0, 67, 1, 853), - Trans(0, 68, 1, 853), - Trans(0, 72, 1, 853), - Trans(0, 73, 1, 853), - Trans(0, 75, 1, 853), - Trans(0, 79, 1, 853), - Trans(0, 82, 1, 853), - Trans(0, 85, 1, 853), - Trans(0, 106, 1, 853), - Trans(0, 109, 1, 853), - Trans(0, 112, 1, 853), - Trans(0, 113, 1, 853), - Trans(0, 114, 1, 853), + Trans(0, 31, 1, 854), + Trans(0, 37, 1, 854), + Trans(0, 40, 1, 854), + Trans(0, 44, 2, 855), + Trans(0, 49, 1, 854), + Trans(0, 50, 1, 854), + Trans(0, 51, 1, 854), + Trans(0, 58, 1, 854), + Trans(0, 62, 1, 854), + Trans(0, 66, 1, 854), + Trans(0, 67, 1, 854), + Trans(0, 68, 1, 854), + Trans(0, 72, 1, 854), + Trans(0, 73, 1, 854), + Trans(0, 75, 1, 854), + Trans(0, 79, 1, 854), + Trans(0, 82, 1, 854), + Trans(0, 85, 1, 854), + Trans(0, 106, 1, 854), + Trans(0, 109, 1, 854), + Trans(0, 112, 1, 854), + Trans(0, 113, 1, 854), + Trans(0, 114, 1, 854), ], k: 1, }, /* 345 - "InterfaceDeclarationOpt" */ LookaheadDFA { prod0: -1, - transitions: &[Trans(0, 80, 2, 860), Trans(0, 93, 1, 859)], + transitions: &[Trans(0, 80, 2, 861), Trans(0, 93, 1, 860)], k: 1, }, /* 346 - "InterfaceDeclarationOpt0" */ LookaheadDFA { prod0: -1, transitions: &[ - Trans(0, 29, 1, 857), - Trans(0, 37, 2, 858), - Trans(0, 40, 2, 858), + Trans(0, 29, 1, 858), + Trans(0, 37, 2, 859), + Trans(0, 40, 2, 859), ], k: 1, }, /* 347 - "InterfaceDeclarationOpt1" */ LookaheadDFA { prod0: -1, - transitions: &[Trans(0, 37, 1, 855), Trans(0, 40, 2, 856)], + transitions: &[Trans(0, 37, 1, 856), Trans(0, 40, 2, 857)], k: 1, }, /* 348 - "InterfaceGroup" */ LookaheadDFA { - prod0: 861, + prod0: 862, transitions: &[], k: 0, }, @@ -11873,27 +11874,27 @@ pub const LOOKAHEAD_AUTOMATA: &[LookaheadDFA; 676] = &[ LookaheadDFA { prod0: -1, transitions: &[ - Trans(0, 31, 2, 865), - Trans(0, 40, 1, 862), - Trans(0, 49, 2, 865), - Trans(0, 50, 2, 865), - Trans(0, 51, 2, 865), - Trans(0, 58, 2, 865), - Trans(0, 62, 2, 865), - Trans(0, 66, 2, 865), - Trans(0, 67, 2, 865), - Trans(0, 68, 2, 865), - Trans(0, 72, 2, 865), - Trans(0, 73, 2, 865), - Trans(0, 75, 2, 865), - Trans(0, 79, 2, 865), - Trans(0, 82, 2, 865), - Trans(0, 85, 2, 865), - Trans(0, 106, 2, 865), - Trans(0, 109, 2, 865), - Trans(0, 112, 2, 865), - Trans(0, 113, 2, 865), - Trans(0, 114, 2, 865), + Trans(0, 31, 2, 866), + Trans(0, 40, 1, 863), + Trans(0, 49, 2, 866), + Trans(0, 50, 2, 866), + Trans(0, 51, 2, 866), + Trans(0, 58, 2, 866), + Trans(0, 62, 2, 866), + Trans(0, 66, 2, 866), + Trans(0, 67, 2, 866), + Trans(0, 68, 2, 866), + Trans(0, 72, 2, 866), + Trans(0, 73, 2, 866), + Trans(0, 75, 2, 866), + Trans(0, 79, 2, 866), + Trans(0, 82, 2, 866), + Trans(0, 85, 2, 866), + Trans(0, 106, 2, 866), + Trans(0, 109, 2, 866), + Trans(0, 112, 2, 866), + Trans(0, 113, 2, 866), + Trans(0, 114, 2, 866), ], k: 1, }, @@ -11901,29 +11902,29 @@ pub const LOOKAHEAD_AUTOMATA: &[LookaheadDFA; 676] = &[ LookaheadDFA { prod0: -1, transitions: &[ - Trans(0, 31, 1, 863), - Trans(0, 37, 1, 863), - Trans(0, 40, 1, 863), - Trans(0, 44, 2, 864), - Trans(0, 49, 1, 863), - Trans(0, 50, 1, 863), - Trans(0, 51, 1, 863), - Trans(0, 58, 1, 863), - Trans(0, 62, 1, 863), - Trans(0, 66, 1, 863), - Trans(0, 67, 1, 863), - Trans(0, 68, 1, 863), - Trans(0, 72, 1, 863), - Trans(0, 73, 1, 863), - Trans(0, 75, 1, 863), - Trans(0, 79, 1, 863), - Trans(0, 82, 1, 863), - Trans(0, 85, 1, 863), - Trans(0, 106, 1, 863), - Trans(0, 109, 1, 863), - Trans(0, 112, 1, 863), - Trans(0, 113, 1, 863), - Trans(0, 114, 1, 863), + Trans(0, 31, 1, 864), + Trans(0, 37, 1, 864), + Trans(0, 40, 1, 864), + Trans(0, 44, 2, 865), + Trans(0, 49, 1, 864), + Trans(0, 50, 1, 864), + Trans(0, 51, 1, 864), + Trans(0, 58, 1, 864), + Trans(0, 62, 1, 864), + Trans(0, 66, 1, 864), + Trans(0, 67, 1, 864), + Trans(0, 68, 1, 864), + Trans(0, 72, 1, 864), + Trans(0, 73, 1, 864), + Trans(0, 75, 1, 864), + Trans(0, 79, 1, 864), + Trans(0, 82, 1, 864), + Trans(0, 85, 1, 864), + Trans(0, 106, 1, 864), + Trans(0, 109, 1, 864), + Trans(0, 112, 1, 864), + Trans(0, 113, 1, 864), + Trans(0, 114, 1, 864), ], k: 1, }, @@ -11931,28 +11932,28 @@ pub const LOOKAHEAD_AUTOMATA: &[LookaheadDFA; 676] = &[ LookaheadDFA { prod0: -1, transitions: &[ - Trans(0, 31, 2, 867), - Trans(0, 37, 1, 866), - Trans(0, 40, 2, 867), - Trans(0, 49, 2, 867), - Trans(0, 50, 2, 867), - Trans(0, 51, 2, 867), - Trans(0, 58, 2, 867), - Trans(0, 62, 2, 867), - Trans(0, 66, 2, 867), - Trans(0, 67, 2, 867), - Trans(0, 68, 2, 867), - Trans(0, 72, 2, 867), - Trans(0, 73, 2, 867), - Trans(0, 75, 2, 867), - Trans(0, 79, 2, 867), - Trans(0, 82, 2, 867), - Trans(0, 85, 2, 867), - Trans(0, 106, 2, 867), - Trans(0, 109, 2, 867), - Trans(0, 112, 2, 867), - Trans(0, 113, 2, 867), - Trans(0, 114, 2, 867), + Trans(0, 31, 2, 868), + Trans(0, 37, 1, 867), + Trans(0, 40, 2, 868), + Trans(0, 49, 2, 868), + Trans(0, 50, 2, 868), + Trans(0, 51, 2, 868), + Trans(0, 58, 2, 868), + Trans(0, 62, 2, 868), + Trans(0, 66, 2, 868), + Trans(0, 67, 2, 868), + Trans(0, 68, 2, 868), + Trans(0, 72, 2, 868), + Trans(0, 73, 2, 868), + Trans(0, 75, 2, 868), + Trans(0, 79, 2, 868), + Trans(0, 82, 2, 868), + Trans(0, 85, 2, 868), + Trans(0, 106, 2, 868), + Trans(0, 109, 2, 868), + Trans(0, 112, 2, 868), + Trans(0, 113, 2, 868), + Trans(0, 114, 2, 868), ], k: 1, }, @@ -11960,26 +11961,26 @@ pub const LOOKAHEAD_AUTOMATA: &[LookaheadDFA; 676] = &[ LookaheadDFA { prod0: -1, transitions: &[ - Trans(0, 31, 1, 868), - Trans(0, 49, 1, 868), - Trans(0, 50, 1, 868), - Trans(0, 51, 1, 868), - Trans(0, 58, 1, 868), - Trans(0, 62, 1, 868), - Trans(0, 66, 1, 868), - Trans(0, 67, 1, 868), - Trans(0, 68, 1, 868), - Trans(0, 72, 1, 868), - Trans(0, 73, 1, 868), - Trans(0, 75, 1, 868), - Trans(0, 79, 1, 868), - Trans(0, 82, 1, 868), - Trans(0, 85, 2, 869), - Trans(0, 106, 1, 868), - Trans(0, 109, 1, 868), - Trans(0, 112, 1, 868), - Trans(0, 113, 1, 868), - Trans(0, 114, 1, 868), + Trans(0, 31, 1, 869), + Trans(0, 49, 1, 869), + Trans(0, 50, 1, 869), + Trans(0, 51, 1, 869), + Trans(0, 58, 1, 869), + Trans(0, 62, 1, 869), + Trans(0, 66, 1, 869), + Trans(0, 67, 1, 869), + Trans(0, 68, 1, 869), + Trans(0, 72, 1, 869), + Trans(0, 73, 1, 869), + Trans(0, 75, 1, 869), + Trans(0, 79, 1, 869), + Trans(0, 82, 1, 869), + Trans(0, 85, 2, 870), + Trans(0, 106, 1, 869), + Trans(0, 109, 1, 869), + Trans(0, 112, 1, 869), + Trans(0, 113, 1, 869), + Trans(0, 114, 1, 869), ], k: 1, }, @@ -12517,7 +12518,7 @@ pub const LOOKAHEAD_AUTOMATA: &[LookaheadDFA; 676] = &[ }, /* 398 - "ModuleDeclaration" */ LookaheadDFA { - prod0: 831, + prod0: 832, transitions: &[], k: 0, }, @@ -12525,46 +12526,46 @@ pub const LOOKAHEAD_AUTOMATA: &[LookaheadDFA; 676] = &[ LookaheadDFA { prod0: -1, transitions: &[ - Trans(0, 31, 1, 832), - Trans(0, 37, 1, 832), - Trans(0, 40, 1, 832), - Trans(0, 44, 2, 833), - Trans(0, 49, 1, 832), - Trans(0, 50, 1, 832), - Trans(0, 51, 1, 832), - Trans(0, 58, 1, 832), - Trans(0, 62, 1, 832), - Trans(0, 66, 1, 832), - Trans(0, 67, 1, 832), - Trans(0, 68, 1, 832), - Trans(0, 72, 1, 832), - Trans(0, 73, 1, 832), - Trans(0, 75, 1, 832), - Trans(0, 79, 1, 832), - Trans(0, 82, 1, 832), - Trans(0, 106, 1, 832), - Trans(0, 109, 1, 832), - Trans(0, 112, 1, 832), - Trans(0, 113, 1, 832), - Trans(0, 114, 1, 832), + Trans(0, 31, 1, 833), + Trans(0, 37, 1, 833), + Trans(0, 40, 1, 833), + Trans(0, 44, 2, 834), + Trans(0, 49, 1, 833), + Trans(0, 50, 1, 833), + Trans(0, 51, 1, 833), + Trans(0, 58, 1, 833), + Trans(0, 62, 1, 833), + Trans(0, 66, 1, 833), + Trans(0, 67, 1, 833), + Trans(0, 68, 1, 833), + Trans(0, 72, 1, 833), + Trans(0, 73, 1, 833), + Trans(0, 75, 1, 833), + Trans(0, 79, 1, 833), + Trans(0, 82, 1, 833), + Trans(0, 106, 1, 833), + Trans(0, 109, 1, 833), + Trans(0, 112, 1, 833), + Trans(0, 113, 1, 833), + Trans(0, 114, 1, 833), ], k: 1, }, /* 400 - "ModuleDeclarationOpt" */ LookaheadDFA { prod0: -1, - transitions: &[Trans(0, 86, 2, 843), Trans(0, 93, 1, 842)], + transitions: &[Trans(0, 86, 2, 844), Trans(0, 93, 1, 843)], k: 1, }, /* 401 - "ModuleDeclarationOpt0" */ LookaheadDFA { prod0: -1, transitions: &[ - Trans(0, 29, 1, 840), - Trans(0, 37, 2, 841), - Trans(0, 40, 2, 841), - Trans(0, 42, 2, 841), - Trans(0, 67, 2, 841), + Trans(0, 29, 1, 841), + Trans(0, 37, 2, 842), + Trans(0, 40, 2, 842), + Trans(0, 42, 2, 842), + Trans(0, 67, 2, 842), ], k: 1, }, @@ -12572,10 +12573,10 @@ pub const LOOKAHEAD_AUTOMATA: &[LookaheadDFA; 676] = &[ LookaheadDFA { prod0: -1, transitions: &[ - Trans(0, 37, 2, 839), - Trans(0, 40, 2, 839), - Trans(0, 42, 2, 839), - Trans(0, 67, 1, 838), + Trans(0, 37, 2, 840), + Trans(0, 40, 2, 840), + Trans(0, 42, 2, 840), + Trans(0, 67, 1, 839), ], k: 1, }, @@ -12583,21 +12584,21 @@ pub const LOOKAHEAD_AUTOMATA: &[LookaheadDFA; 676] = &[ LookaheadDFA { prod0: -1, transitions: &[ - Trans(0, 37, 1, 836), - Trans(0, 40, 2, 837), - Trans(0, 42, 2, 837), + Trans(0, 37, 1, 837), + Trans(0, 40, 2, 838), + Trans(0, 42, 2, 838), ], k: 1, }, /* 404 - "ModuleDeclarationOpt3" */ LookaheadDFA { prod0: -1, - transitions: &[Trans(0, 40, 2, 835), Trans(0, 42, 1, 834)], + transitions: &[Trans(0, 40, 2, 836), Trans(0, 42, 1, 835)], k: 1, }, /* 405 - "ModuleGroup" */ LookaheadDFA { - prod0: 844, + prod0: 845, transitions: &[], k: 0, }, @@ -12605,26 +12606,26 @@ pub const LOOKAHEAD_AUTOMATA: &[LookaheadDFA; 676] = &[ LookaheadDFA { prod0: -1, transitions: &[ - Trans(0, 31, 2, 848), - Trans(0, 40, 1, 845), - Trans(0, 49, 2, 848), - Trans(0, 50, 2, 848), - Trans(0, 51, 2, 848), - Trans(0, 58, 2, 848), - Trans(0, 62, 2, 848), - Trans(0, 66, 2, 848), - Trans(0, 67, 2, 848), - Trans(0, 68, 2, 848), - Trans(0, 72, 2, 848), - Trans(0, 73, 2, 848), - Trans(0, 75, 2, 848), - Trans(0, 79, 2, 848), - Trans(0, 82, 2, 848), - Trans(0, 106, 2, 848), - Trans(0, 109, 2, 848), - Trans(0, 112, 2, 848), - Trans(0, 113, 2, 848), - Trans(0, 114, 2, 848), + Trans(0, 31, 2, 849), + Trans(0, 40, 1, 846), + Trans(0, 49, 2, 849), + Trans(0, 50, 2, 849), + Trans(0, 51, 2, 849), + Trans(0, 58, 2, 849), + Trans(0, 62, 2, 849), + Trans(0, 66, 2, 849), + Trans(0, 67, 2, 849), + Trans(0, 68, 2, 849), + Trans(0, 72, 2, 849), + Trans(0, 73, 2, 849), + Trans(0, 75, 2, 849), + Trans(0, 79, 2, 849), + Trans(0, 82, 2, 849), + Trans(0, 106, 2, 849), + Trans(0, 109, 2, 849), + Trans(0, 112, 2, 849), + Trans(0, 113, 2, 849), + Trans(0, 114, 2, 849), ], k: 1, }, @@ -12632,28 +12633,28 @@ pub const LOOKAHEAD_AUTOMATA: &[LookaheadDFA; 676] = &[ LookaheadDFA { prod0: -1, transitions: &[ - Trans(0, 31, 1, 846), - Trans(0, 37, 1, 846), - Trans(0, 40, 1, 846), - Trans(0, 44, 2, 847), - Trans(0, 49, 1, 846), - Trans(0, 50, 1, 846), - Trans(0, 51, 1, 846), - Trans(0, 58, 1, 846), - Trans(0, 62, 1, 846), - Trans(0, 66, 1, 846), - Trans(0, 67, 1, 846), - Trans(0, 68, 1, 846), - Trans(0, 72, 1, 846), - Trans(0, 73, 1, 846), - Trans(0, 75, 1, 846), - Trans(0, 79, 1, 846), - Trans(0, 82, 1, 846), - Trans(0, 106, 1, 846), - Trans(0, 109, 1, 846), - Trans(0, 112, 1, 846), - Trans(0, 113, 1, 846), - Trans(0, 114, 1, 846), + Trans(0, 31, 1, 847), + Trans(0, 37, 1, 847), + Trans(0, 40, 1, 847), + Trans(0, 44, 2, 848), + Trans(0, 49, 1, 847), + Trans(0, 50, 1, 847), + Trans(0, 51, 1, 847), + Trans(0, 58, 1, 847), + Trans(0, 62, 1, 847), + Trans(0, 66, 1, 847), + Trans(0, 67, 1, 847), + Trans(0, 68, 1, 847), + Trans(0, 72, 1, 847), + Trans(0, 73, 1, 847), + Trans(0, 75, 1, 847), + Trans(0, 79, 1, 847), + Trans(0, 82, 1, 847), + Trans(0, 106, 1, 847), + Trans(0, 109, 1, 847), + Trans(0, 112, 1, 847), + Trans(0, 113, 1, 847), + Trans(0, 114, 1, 847), ], k: 1, }, @@ -12661,33 +12662,33 @@ pub const LOOKAHEAD_AUTOMATA: &[LookaheadDFA; 676] = &[ LookaheadDFA { prod0: -1, transitions: &[ - Trans(0, 31, 2, 850), - Trans(0, 37, 1, 849), - Trans(0, 40, 2, 850), - Trans(0, 49, 2, 850), - Trans(0, 50, 2, 850), - Trans(0, 51, 2, 850), - Trans(0, 58, 2, 850), - Trans(0, 62, 2, 850), - Trans(0, 66, 2, 850), - Trans(0, 67, 2, 850), - Trans(0, 68, 2, 850), - Trans(0, 72, 2, 850), - Trans(0, 73, 2, 850), - Trans(0, 75, 2, 850), - Trans(0, 79, 2, 850), - Trans(0, 82, 2, 850), - Trans(0, 106, 2, 850), - Trans(0, 109, 2, 850), - Trans(0, 112, 2, 850), - Trans(0, 113, 2, 850), - Trans(0, 114, 2, 850), + Trans(0, 31, 2, 851), + Trans(0, 37, 1, 850), + Trans(0, 40, 2, 851), + Trans(0, 49, 2, 851), + Trans(0, 50, 2, 851), + Trans(0, 51, 2, 851), + Trans(0, 58, 2, 851), + Trans(0, 62, 2, 851), + Trans(0, 66, 2, 851), + Trans(0, 67, 2, 851), + Trans(0, 68, 2, 851), + Trans(0, 72, 2, 851), + Trans(0, 73, 2, 851), + Trans(0, 75, 2, 851), + Trans(0, 79, 2, 851), + Trans(0, 82, 2, 851), + Trans(0, 106, 2, 851), + Trans(0, 109, 2, 851), + Trans(0, 112, 2, 851), + Trans(0, 113, 2, 851), + Trans(0, 114, 2, 851), ], k: 1, }, /* 409 - "ModuleItem" */ LookaheadDFA { - prod0: 851, + prod0: 852, transitions: &[], k: 0, }, @@ -12981,7 +12982,7 @@ pub const LOOKAHEAD_AUTOMATA: &[LookaheadDFA; 676] = &[ }, /* 457 - "PackageDeclaration" */ LookaheadDFA { - prod0: 912, + prod0: 913, transitions: &[], k: 0, }, @@ -12989,36 +12990,36 @@ pub const LOOKAHEAD_AUTOMATA: &[LookaheadDFA; 676] = &[ LookaheadDFA { prod0: -1, transitions: &[ - Trans(0, 37, 1, 913), - Trans(0, 40, 1, 913), - Trans(0, 44, 2, 914), - Trans(0, 58, 1, 913), - Trans(0, 62, 1, 913), - Trans(0, 63, 1, 913), - Trans(0, 68, 1, 913), - Trans(0, 73, 1, 913), - Trans(0, 106, 1, 913), - Trans(0, 109, 1, 913), - Trans(0, 112, 1, 913), - Trans(0, 114, 1, 913), + Trans(0, 37, 1, 914), + Trans(0, 40, 1, 914), + Trans(0, 44, 2, 915), + Trans(0, 58, 1, 914), + Trans(0, 62, 1, 914), + Trans(0, 63, 1, 914), + Trans(0, 68, 1, 914), + Trans(0, 73, 1, 914), + Trans(0, 106, 1, 914), + Trans(0, 109, 1, 914), + Trans(0, 112, 1, 914), + Trans(0, 114, 1, 914), ], k: 1, }, /* 459 - "PackageDeclarationOpt" */ LookaheadDFA { prod0: -1, - transitions: &[Trans(0, 90, 2, 918), Trans(0, 93, 1, 917)], + transitions: &[Trans(0, 90, 2, 919), Trans(0, 93, 1, 918)], k: 1, }, /* 460 - "PackageDeclarationOpt0" */ LookaheadDFA { prod0: -1, - transitions: &[Trans(0, 29, 1, 915), Trans(0, 40, 2, 916)], + transitions: &[Trans(0, 29, 1, 916), Trans(0, 40, 2, 917)], k: 1, }, /* 461 - "PackageGroup" */ LookaheadDFA { - prod0: 919, + prod0: 920, transitions: &[], k: 0, }, @@ -13026,16 +13027,16 @@ pub const LOOKAHEAD_AUTOMATA: &[LookaheadDFA; 676] = &[ LookaheadDFA { prod0: -1, transitions: &[ - Trans(0, 40, 1, 920), - Trans(0, 58, 2, 923), - Trans(0, 62, 2, 923), - Trans(0, 63, 2, 923), - Trans(0, 68, 2, 923), - Trans(0, 73, 2, 923), - Trans(0, 106, 2, 923), - Trans(0, 109, 2, 923), - Trans(0, 112, 2, 923), - Trans(0, 114, 2, 923), + Trans(0, 40, 1, 921), + Trans(0, 58, 2, 924), + Trans(0, 62, 2, 924), + Trans(0, 63, 2, 924), + Trans(0, 68, 2, 924), + Trans(0, 73, 2, 924), + Trans(0, 106, 2, 924), + Trans(0, 109, 2, 924), + Trans(0, 112, 2, 924), + Trans(0, 114, 2, 924), ], k: 1, }, @@ -13043,18 +13044,18 @@ pub const LOOKAHEAD_AUTOMATA: &[LookaheadDFA; 676] = &[ LookaheadDFA { prod0: -1, transitions: &[ - Trans(0, 37, 1, 921), - Trans(0, 40, 1, 921), - Trans(0, 44, 2, 922), - Trans(0, 58, 1, 921), - Trans(0, 62, 1, 921), - Trans(0, 63, 1, 921), - Trans(0, 68, 1, 921), - Trans(0, 73, 1, 921), - Trans(0, 106, 1, 921), - Trans(0, 109, 1, 921), - Trans(0, 112, 1, 921), - Trans(0, 114, 1, 921), + Trans(0, 37, 1, 922), + Trans(0, 40, 1, 922), + Trans(0, 44, 2, 923), + Trans(0, 58, 1, 922), + Trans(0, 62, 1, 922), + Trans(0, 63, 1, 922), + Trans(0, 68, 1, 922), + Trans(0, 73, 1, 922), + Trans(0, 106, 1, 922), + Trans(0, 109, 1, 922), + Trans(0, 112, 1, 922), + Trans(0, 114, 1, 922), ], k: 1, }, @@ -13062,17 +13063,17 @@ pub const LOOKAHEAD_AUTOMATA: &[LookaheadDFA; 676] = &[ LookaheadDFA { prod0: -1, transitions: &[ - Trans(0, 37, 1, 924), - Trans(0, 40, 2, 925), - Trans(0, 58, 2, 925), - Trans(0, 62, 2, 925), - Trans(0, 63, 2, 925), - Trans(0, 68, 2, 925), - Trans(0, 73, 2, 925), - Trans(0, 106, 2, 925), - Trans(0, 109, 2, 925), - Trans(0, 112, 2, 925), - Trans(0, 114, 2, 925), + Trans(0, 37, 1, 925), + Trans(0, 40, 2, 926), + Trans(0, 58, 2, 926), + Trans(0, 62, 2, 926), + Trans(0, 63, 2, 926), + Trans(0, 68, 2, 926), + Trans(0, 73, 2, 926), + Trans(0, 106, 2, 926), + Trans(0, 109, 2, 926), + Trans(0, 112, 2, 926), + Trans(0, 114, 2, 926), ], k: 1, }, @@ -13080,15 +13081,15 @@ pub const LOOKAHEAD_AUTOMATA: &[LookaheadDFA; 676] = &[ LookaheadDFA { prod0: -1, transitions: &[ - Trans(0, 58, 2, 927), - Trans(0, 62, 4, 929), - Trans(0, 63, 8, 933), - Trans(0, 68, 6, 931), - Trans(0, 73, 7, 932), - Trans(0, 106, 5, 930), - Trans(0, 109, 3, 928), - Trans(0, 112, 5, 930), - Trans(0, 114, 1, 926), + Trans(0, 58, 2, 928), + Trans(0, 62, 4, 930), + Trans(0, 63, 8, 934), + Trans(0, 68, 6, 932), + Trans(0, 73, 7, 933), + Trans(0, 106, 5, 931), + Trans(0, 109, 3, 929), + Trans(0, 112, 5, 931), + Trans(0, 114, 1, 927), ], k: 1, }, @@ -13142,35 +13143,35 @@ pub const LOOKAHEAD_AUTOMATA: &[LookaheadDFA; 676] = &[ }, /* 474 - "PortDeclaration" */ LookaheadDFA { - prod0: 778, + prod0: 779, transitions: &[], k: 0, }, /* 475 - "PortDeclarationGroup" */ LookaheadDFA { - prod0: 786, + prod0: 787, transitions: &[], k: 0, }, /* 476 - "PortDeclarationGroupGroup" */ LookaheadDFA { prod0: -1, - transitions: &[Trans(0, 40, 1, 787), Trans(0, 116, 2, 788)], + transitions: &[Trans(0, 40, 1, 788), Trans(0, 116, 2, 789)], k: 1, }, /* 477 - "PortDeclarationGroupList" */ LookaheadDFA { prod0: -1, transitions: &[ - Trans(0, 37, 1, 789), - Trans(0, 40, 2, 790), - Trans(0, 116, 2, 790), + Trans(0, 37, 1, 790), + Trans(0, 40, 2, 791), + Trans(0, 116, 2, 791), ], k: 1, }, /* 478 - "PortDeclarationItem" */ LookaheadDFA { - prod0: 791, + prod0: 792, transitions: &[], k: 0, }, @@ -13178,20 +13179,20 @@ pub const LOOKAHEAD_AUTOMATA: &[LookaheadDFA; 676] = &[ LookaheadDFA { prod0: -1, transitions: &[ - Trans(0, 28, 2, 793), - Trans(0, 73, 1, 792), - Trans(0, 76, 1, 792), - Trans(0, 77, 1, 792), - Trans(0, 80, 2, 793), - Trans(0, 85, 1, 792), - Trans(0, 88, 1, 792), - Trans(0, 94, 1, 792), + Trans(0, 28, 2, 794), + Trans(0, 73, 1, 793), + Trans(0, 76, 1, 793), + Trans(0, 77, 1, 793), + Trans(0, 80, 2, 794), + Trans(0, 85, 1, 793), + Trans(0, 88, 1, 793), + Trans(0, 94, 1, 793), ], k: 1, }, /* 480 - "PortDeclarationList" */ LookaheadDFA { - prod0: 781, + prod0: 782, transitions: &[], k: 0, }, @@ -13208,19 +13209,19 @@ pub const LOOKAHEAD_AUTOMATA: &[LookaheadDFA; 676] = &[ Trans(1, 44, 16, -1), Trans(1, 46, 17, -1), Trans(1, 116, 5, -1), - Trans(2, 5, 3, 782), - Trans(2, 41, 3, 782), - Trans(4, 5, 3, 782), - Trans(4, 37, 3, 782), - Trans(4, 40, 3, 782), - Trans(4, 116, 3, 782), - Trans(5, 5, 3, 782), - Trans(5, 31, 3, 782), - Trans(6, 37, 3, 782), - Trans(6, 40, 3, 782), - Trans(6, 44, 13, 783), - Trans(6, 46, 13, 783), - Trans(6, 116, 3, 782), + Trans(2, 5, 3, 783), + Trans(2, 41, 3, 783), + Trans(4, 5, 3, 783), + Trans(4, 37, 3, 783), + Trans(4, 40, 3, 783), + Trans(4, 116, 3, 783), + Trans(5, 5, 3, 783), + Trans(5, 31, 3, 783), + Trans(6, 37, 3, 783), + Trans(6, 40, 3, 783), + Trans(6, 44, 13, 784), + Trans(6, 46, 13, 784), + Trans(6, 116, 3, 783), Trans(7, 5, 14, -1), Trans(7, 32, 15, -1), Trans(7, 44, 16, -1), @@ -13229,91 +13230,91 @@ pub const LOOKAHEAD_AUTOMATA: &[LookaheadDFA; 676] = &[ Trans(8, 13, 10, -1), Trans(8, 40, 11, -1), Trans(8, 47, 12, -1), - Trans(9, 13, 13, 783), - Trans(9, 40, 13, 783), - Trans(9, 47, 13, 783), - Trans(10, 5, 13, 783), - Trans(10, 53, 13, 783), - Trans(10, 55, 13, 783), - Trans(10, 56, 13, 783), - Trans(10, 57, 13, 783), - Trans(10, 64, 13, 783), - Trans(10, 65, 13, 783), - Trans(10, 69, 13, 783), - Trans(10, 70, 13, 783), - Trans(10, 83, 13, 783), - Trans(10, 96, 13, 783), - Trans(10, 97, 13, 783), - Trans(10, 98, 13, 783), - Trans(10, 99, 13, 783), - Trans(10, 100, 13, 783), - Trans(10, 103, 13, 783), - Trans(10, 105, 13, 783), - Trans(10, 108, 13, 783), - Trans(10, 110, 13, 783), - Trans(10, 111, 13, 783), - Trans(10, 115, 13, 783), - Trans(10, 116, 13, 783), - Trans(11, 5, 13, 783), - Trans(11, 31, 13, 783), - Trans(11, 37, 13, 783), - Trans(11, 40, 13, 783), - Trans(11, 44, 13, 783), - Trans(11, 49, 13, 783), - Trans(11, 50, 13, 783), - Trans(11, 51, 13, 783), - Trans(11, 54, 13, 783), - Trans(11, 58, 13, 783), - Trans(11, 62, 13, 783), - Trans(11, 66, 13, 783), - Trans(11, 67, 13, 783), - Trans(11, 68, 13, 783), - Trans(11, 71, 13, 783), - Trans(11, 72, 13, 783), - Trans(11, 73, 13, 783), - Trans(11, 75, 13, 783), - Trans(11, 79, 13, 783), - Trans(11, 82, 13, 783), - Trans(11, 101, 13, 783), - Trans(11, 102, 13, 783), - Trans(11, 106, 13, 783), - Trans(11, 107, 13, 783), - Trans(11, 109, 13, 783), - Trans(11, 112, 13, 783), - Trans(11, 113, 13, 783), - Trans(11, 114, 13, 783), - Trans(11, 115, 13, 783), - Trans(11, 116, 13, 783), - Trans(12, 0, 13, 783), - Trans(12, 5, 13, 783), - Trans(12, 37, 13, 783), - Trans(12, 40, 13, 783), - Trans(12, 44, 13, 783), - Trans(12, 61, 13, 783), - Trans(12, 73, 13, 783), - Trans(12, 74, 13, 783), - Trans(12, 80, 13, 783), - Trans(12, 86, 13, 783), - Trans(12, 90, 13, 783), - Trans(12, 92, 13, 783), - Trans(12, 93, 13, 783), - Trans(14, 32, 13, 783), - Trans(14, 44, 13, 783), - Trans(14, 46, 13, 783), - Trans(15, 5, 13, 783), - Trans(15, 37, 13, 783), - Trans(15, 40, 13, 783), - Trans(15, 44, 13, 783), - Trans(15, 46, 13, 783), - Trans(15, 116, 13, 783), - Trans(16, 5, 13, 783), - Trans(16, 32, 13, 783), - Trans(16, 44, 13, 783), - Trans(16, 46, 13, 783), - Trans(17, 5, 13, 783), - Trans(17, 13, 13, 783), - Trans(17, 40, 13, 783), - Trans(17, 47, 13, 783), + Trans(9, 13, 13, 784), + Trans(9, 40, 13, 784), + Trans(9, 47, 13, 784), + Trans(10, 5, 13, 784), + Trans(10, 53, 13, 784), + Trans(10, 55, 13, 784), + Trans(10, 56, 13, 784), + Trans(10, 57, 13, 784), + Trans(10, 64, 13, 784), + Trans(10, 65, 13, 784), + Trans(10, 69, 13, 784), + Trans(10, 70, 13, 784), + Trans(10, 83, 13, 784), + Trans(10, 96, 13, 784), + Trans(10, 97, 13, 784), + Trans(10, 98, 13, 784), + Trans(10, 99, 13, 784), + Trans(10, 100, 13, 784), + Trans(10, 103, 13, 784), + Trans(10, 105, 13, 784), + Trans(10, 108, 13, 784), + Trans(10, 110, 13, 784), + Trans(10, 111, 13, 784), + Trans(10, 115, 13, 784), + Trans(10, 116, 13, 784), + Trans(11, 5, 13, 784), + Trans(11, 31, 13, 784), + Trans(11, 37, 13, 784), + Trans(11, 40, 13, 784), + Trans(11, 44, 13, 784), + Trans(11, 49, 13, 784), + Trans(11, 50, 13, 784), + Trans(11, 51, 13, 784), + Trans(11, 54, 13, 784), + Trans(11, 58, 13, 784), + Trans(11, 62, 13, 784), + Trans(11, 66, 13, 784), + Trans(11, 67, 13, 784), + Trans(11, 68, 13, 784), + Trans(11, 71, 13, 784), + Trans(11, 72, 13, 784), + Trans(11, 73, 13, 784), + Trans(11, 75, 13, 784), + Trans(11, 79, 13, 784), + Trans(11, 82, 13, 784), + Trans(11, 101, 13, 784), + Trans(11, 102, 13, 784), + Trans(11, 106, 13, 784), + Trans(11, 107, 13, 784), + Trans(11, 109, 13, 784), + Trans(11, 112, 13, 784), + Trans(11, 113, 13, 784), + Trans(11, 114, 13, 784), + Trans(11, 115, 13, 784), + Trans(11, 116, 13, 784), + Trans(12, 0, 13, 784), + Trans(12, 5, 13, 784), + Trans(12, 37, 13, 784), + Trans(12, 40, 13, 784), + Trans(12, 44, 13, 784), + Trans(12, 61, 13, 784), + Trans(12, 73, 13, 784), + Trans(12, 74, 13, 784), + Trans(12, 80, 13, 784), + Trans(12, 86, 13, 784), + Trans(12, 90, 13, 784), + Trans(12, 92, 13, 784), + Trans(12, 93, 13, 784), + Trans(14, 32, 13, 784), + Trans(14, 44, 13, 784), + Trans(14, 46, 13, 784), + Trans(15, 5, 13, 784), + Trans(15, 37, 13, 784), + Trans(15, 40, 13, 784), + Trans(15, 44, 13, 784), + Trans(15, 46, 13, 784), + Trans(15, 116, 13, 784), + Trans(16, 5, 13, 784), + Trans(16, 32, 13, 784), + Trans(16, 44, 13, 784), + Trans(16, 46, 13, 784), + Trans(17, 5, 13, 784), + Trans(17, 13, 13, 784), + Trans(17, 40, 13, 784), + Trans(17, 47, 13, 784), ], k: 3, }, @@ -13321,9 +13322,9 @@ pub const LOOKAHEAD_AUTOMATA: &[LookaheadDFA; 676] = &[ LookaheadDFA { prod0: -1, transitions: &[ - Trans(0, 32, 1, 784), - Trans(0, 44, 2, 785), - Trans(0, 46, 2, 785), + Trans(0, 32, 1, 785), + Trans(0, 44, 2, 786), + Trans(0, 46, 2, 786), ], k: 1, }, @@ -13331,40 +13332,40 @@ pub const LOOKAHEAD_AUTOMATA: &[LookaheadDFA; 676] = &[ LookaheadDFA { prod0: -1, transitions: &[ - Trans(0, 37, 1, 779), - Trans(0, 40, 1, 779), - Trans(0, 46, 2, 780), - Trans(0, 116, 1, 779), + Trans(0, 37, 1, 780), + Trans(0, 40, 1, 780), + Trans(0, 46, 2, 781), + Trans(0, 116, 1, 780), ], k: 1, }, /* 484 - "PortDefaultValue" */ LookaheadDFA { - prod0: 799, + prod0: 800, transitions: &[], k: 0, }, /* 485 - "PortTypeAbstract" */ LookaheadDFA { - prod0: 800, + prod0: 801, transitions: &[], k: 0, }, /* 486 - "PortTypeAbstractOpt" */ LookaheadDFA { prod0: -1, - transitions: &[Trans(0, 28, 1, 805), Trans(0, 80, 2, 806)], + transitions: &[Trans(0, 28, 1, 806), Trans(0, 80, 2, 807)], k: 1, }, /* 487 - "PortTypeAbstractOpt0" */ LookaheadDFA { prod0: -1, transitions: &[ - Trans(0, 30, 1, 803), - Trans(0, 32, 2, 804), - Trans(0, 41, 2, 804), - Trans(0, 44, 2, 804), - Trans(0, 46, 2, 804), + Trans(0, 30, 1, 804), + Trans(0, 32, 2, 805), + Trans(0, 41, 2, 805), + Trans(0, 44, 2, 805), + Trans(0, 46, 2, 805), ], k: 1, }, @@ -13372,16 +13373,16 @@ pub const LOOKAHEAD_AUTOMATA: &[LookaheadDFA; 676] = &[ LookaheadDFA { prod0: -1, transitions: &[ - Trans(0, 32, 2, 802), - Trans(0, 41, 1, 801), - Trans(0, 44, 2, 802), - Trans(0, 46, 2, 802), + Trans(0, 32, 2, 803), + Trans(0, 41, 1, 802), + Trans(0, 44, 2, 803), + Trans(0, 46, 2, 803), ], k: 1, }, /* 489 - "PortTypeConcrete" */ LookaheadDFA { - prod0: 794, + prod0: 795, transitions: &[], k: 0, }, @@ -13389,28 +13390,28 @@ pub const LOOKAHEAD_AUTOMATA: &[LookaheadDFA; 676] = &[ LookaheadDFA { prod0: -1, transitions: &[ - Trans(0, 28, 1, 797), - Trans(0, 53, 2, 798), - Trans(0, 55, 2, 798), - Trans(0, 56, 2, 798), - Trans(0, 57, 2, 798), - Trans(0, 64, 2, 798), - Trans(0, 65, 2, 798), - Trans(0, 69, 2, 798), - Trans(0, 70, 2, 798), - Trans(0, 83, 2, 798), - Trans(0, 96, 2, 798), - Trans(0, 97, 2, 798), - Trans(0, 98, 2, 798), - Trans(0, 99, 2, 798), - Trans(0, 100, 2, 798), - Trans(0, 103, 2, 798), - Trans(0, 105, 2, 798), - Trans(0, 108, 2, 798), - Trans(0, 110, 2, 798), - Trans(0, 111, 2, 798), - Trans(0, 115, 2, 798), - Trans(0, 116, 2, 798), + Trans(0, 28, 1, 798), + Trans(0, 53, 2, 799), + Trans(0, 55, 2, 799), + Trans(0, 56, 2, 799), + Trans(0, 57, 2, 799), + Trans(0, 64, 2, 799), + Trans(0, 65, 2, 799), + Trans(0, 69, 2, 799), + Trans(0, 70, 2, 799), + Trans(0, 83, 2, 799), + Trans(0, 96, 2, 799), + Trans(0, 97, 2, 799), + Trans(0, 98, 2, 799), + Trans(0, 99, 2, 799), + Trans(0, 100, 2, 799), + Trans(0, 103, 2, 799), + Trans(0, 105, 2, 799), + Trans(0, 108, 2, 799), + Trans(0, 110, 2, 799), + Trans(0, 111, 2, 799), + Trans(0, 115, 2, 799), + Trans(0, 116, 2, 799), ], k: 1, }, @@ -13418,10 +13419,10 @@ pub const LOOKAHEAD_AUTOMATA: &[LookaheadDFA; 676] = &[ LookaheadDFA { prod0: -1, transitions: &[ - Trans(0, 32, 2, 796), - Trans(0, 36, 1, 795), - Trans(0, 44, 2, 796), - Trans(0, 46, 2, 796), + Trans(0, 32, 2, 797), + Trans(0, 36, 1, 796), + Trans(0, 44, 2, 797), + Trans(0, 46, 2, 797), ], k: 1, }, @@ -13433,30 +13434,30 @@ pub const LOOKAHEAD_AUTOMATA: &[LookaheadDFA; 676] = &[ }, /* 493 - "ProtoModuleDeclaration" */ LookaheadDFA { - prod0: 934, + prod0: 935, transitions: &[], k: 0, }, /* 494 - "ProtoModuleDeclarationOpt" */ LookaheadDFA { prod0: -1, - transitions: &[Trans(0, 92, 2, 940), Trans(0, 93, 1, 939)], + transitions: &[Trans(0, 92, 2, 941), Trans(0, 93, 1, 940)], k: 1, }, /* 495 - "ProtoModuleDeclarationOpt0" */ LookaheadDFA { prod0: -1, transitions: &[ - Trans(0, 37, 1, 937), - Trans(0, 42, 2, 938), - Trans(0, 47, 2, 938), + Trans(0, 37, 1, 938), + Trans(0, 42, 2, 939), + Trans(0, 47, 2, 939), ], k: 1, }, /* 496 - "ProtoModuleDeclarationOpt1" */ LookaheadDFA { prod0: -1, - transitions: &[Trans(0, 42, 1, 935), Trans(0, 47, 2, 936)], + transitions: &[Trans(0, 42, 1, 936), Trans(0, 47, 2, 937)], k: 1, }, /* 497 - "ProtoTerm" */ @@ -19877,7 +19878,7 @@ pub const LOOKAHEAD_AUTOMATA: &[LookaheadDFA; 676] = &[ }, /* 638 - "UnsafeBlock" */ LookaheadDFA { - prod0: 828, + prod0: 829, transitions: &[], k: 0, }, @@ -19885,28 +19886,28 @@ pub const LOOKAHEAD_AUTOMATA: &[LookaheadDFA; 676] = &[ LookaheadDFA { prod0: -1, transitions: &[ - Trans(0, 31, 1, 829), - Trans(0, 37, 1, 829), - Trans(0, 40, 1, 829), - Trans(0, 44, 2, 830), - Trans(0, 49, 1, 829), - Trans(0, 50, 1, 829), - Trans(0, 51, 1, 829), - Trans(0, 58, 1, 829), - Trans(0, 62, 1, 829), - Trans(0, 66, 1, 829), - Trans(0, 67, 1, 829), - Trans(0, 68, 1, 829), - Trans(0, 72, 1, 829), - Trans(0, 73, 1, 829), - Trans(0, 75, 1, 829), - Trans(0, 79, 1, 829), - Trans(0, 82, 1, 829), - Trans(0, 106, 1, 829), - Trans(0, 109, 1, 829), - Trans(0, 112, 1, 829), - Trans(0, 113, 1, 829), - Trans(0, 114, 1, 829), + Trans(0, 31, 1, 830), + Trans(0, 37, 1, 830), + Trans(0, 40, 1, 830), + Trans(0, 44, 2, 831), + Trans(0, 49, 1, 830), + Trans(0, 50, 1, 830), + Trans(0, 51, 1, 830), + Trans(0, 58, 1, 830), + Trans(0, 62, 1, 830), + Trans(0, 66, 1, 830), + Trans(0, 67, 1, 830), + Trans(0, 68, 1, 830), + Trans(0, 72, 1, 830), + Trans(0, 73, 1, 830), + Trans(0, 75, 1, 830), + Trans(0, 79, 1, 830), + Trans(0, 82, 1, 830), + Trans(0, 106, 1, 830), + Trans(0, 109, 1, 830), + Trans(0, 112, 1, 830), + Trans(0, 113, 1, 830), + Trans(0, 114, 1, 830), ], k: 1, }, @@ -20000,7 +20001,7 @@ pub const LOOKAHEAD_AUTOMATA: &[LookaheadDFA; 676] = &[ }, /* 649 - "Veryl" */ LookaheadDFA { - prod0: 965, + prod0: 966, transitions: &[], k: 0, }, @@ -20008,17 +20009,17 @@ pub const LOOKAHEAD_AUTOMATA: &[LookaheadDFA; 676] = &[ LookaheadDFA { prod0: -1, transitions: &[ - Trans(0, 0, 2, 967), - Trans(0, 37, 1, 966), - Trans(0, 40, 1, 966), - Trans(0, 61, 1, 966), - Trans(0, 73, 1, 966), - Trans(0, 74, 1, 966), - Trans(0, 80, 1, 966), - Trans(0, 86, 1, 966), - Trans(0, 90, 1, 966), - Trans(0, 92, 1, 966), - Trans(0, 93, 1, 966), + Trans(0, 0, 2, 968), + Trans(0, 37, 1, 967), + Trans(0, 40, 1, 967), + Trans(0, 61, 1, 967), + Trans(0, 73, 1, 967), + Trans(0, 74, 1, 967), + Trans(0, 80, 1, 967), + Trans(0, 86, 1, 967), + Trans(0, 90, 1, 967), + Trans(0, 92, 1, 967), + Trans(0, 93, 1, 967), ], k: 1, }, @@ -20036,7 +20037,7 @@ pub const LOOKAHEAD_AUTOMATA: &[LookaheadDFA; 676] = &[ }, /* 653 - "WithGenericArgument" */ LookaheadDFA { - prod0: 768, + prod0: 769, transitions: &[], k: 0, }, @@ -20044,19 +20045,19 @@ pub const LOOKAHEAD_AUTOMATA: &[LookaheadDFA; 676] = &[ LookaheadDFA { prod0: -1, transitions: &[ - Trans(0, 7, 2, 777), - Trans(0, 8, 2, 777), - Trans(0, 9, 2, 777), - Trans(0, 10, 2, 777), - Trans(0, 11, 2, 777), - Trans(0, 115, 1, 776), - Trans(0, 116, 1, 776), + Trans(0, 7, 2, 778), + Trans(0, 8, 2, 778), + Trans(0, 9, 2, 778), + Trans(0, 10, 2, 778), + Trans(0, 11, 2, 778), + Trans(0, 115, 1, 777), + Trans(0, 116, 1, 777), ], k: 1, }, /* 655 - "WithGenericArgumentList" */ LookaheadDFA { - prod0: 771, + prod0: 772, transitions: &[], k: 0, }, @@ -20075,26 +20076,26 @@ pub const LOOKAHEAD_AUTOMATA: &[LookaheadDFA; 676] = &[ Trans(1, 43, 25, -1), Trans(1, 115, 4, -1), Trans(1, 116, 5, -1), - Trans(2, 5, 3, 772), - Trans(2, 32, 3, 772), - Trans(2, 43, 3, 772), - Trans(4, 5, 3, 772), - Trans(4, 30, 3, 772), - Trans(4, 32, 3, 772), - Trans(4, 43, 3, 772), - Trans(5, 5, 3, 772), - Trans(5, 29, 3, 772), - Trans(5, 30, 3, 772), - Trans(5, 32, 3, 772), - Trans(5, 43, 3, 772), - Trans(6, 7, 3, 772), - Trans(6, 8, 3, 772), - Trans(6, 9, 3, 772), - Trans(6, 10, 3, 772), - Trans(6, 11, 3, 772), - Trans(6, 43, 24, 773), - Trans(6, 115, 3, 772), - Trans(6, 116, 3, 772), + Trans(2, 5, 3, 773), + Trans(2, 32, 3, 773), + Trans(2, 43, 3, 773), + Trans(4, 5, 3, 773), + Trans(4, 30, 3, 773), + Trans(4, 32, 3, 773), + Trans(4, 43, 3, 773), + Trans(5, 5, 3, 773), + Trans(5, 29, 3, 773), + Trans(5, 30, 3, 773), + Trans(5, 32, 3, 773), + Trans(5, 43, 3, 773), + Trans(6, 7, 3, 773), + Trans(6, 8, 3, 773), + Trans(6, 9, 3, 773), + Trans(6, 10, 3, 773), + Trans(6, 11, 3, 773), + Trans(6, 43, 24, 774), + Trans(6, 115, 3, 773), + Trans(6, 116, 3, 773), Trans(7, 5, 8, -1), Trans(7, 12, 9, -1), Trans(7, 14, 9, -1), @@ -20132,655 +20133,655 @@ pub const LOOKAHEAD_AUTOMATA: &[LookaheadDFA; 676] = &[ Trans(7, 81, 9, -1), Trans(7, 95, 9, -1), Trans(7, 104, 23, -1), - Trans(8, 12, 24, 773), - Trans(8, 14, 24, 773), - Trans(8, 15, 24, 773), - Trans(8, 16, 24, 773), - Trans(8, 17, 24, 773), - Trans(8, 18, 24, 773), - Trans(8, 19, 24, 773), - Trans(8, 20, 24, 773), - Trans(8, 21, 24, 773), - Trans(8, 22, 24, 773), - Trans(8, 23, 24, 773), - Trans(8, 24, 24, 773), - Trans(8, 25, 24, 773), - Trans(8, 26, 24, 773), - Trans(8, 30, 24, 773), - Trans(8, 31, 24, 773), - Trans(8, 32, 24, 773), - Trans(8, 33, 24, 773), - Trans(8, 34, 24, 773), - Trans(8, 35, 24, 773), - Trans(8, 36, 24, 773), - Trans(8, 37, 24, 773), - Trans(8, 38, 24, 773), - Trans(8, 40, 24, 773), - Trans(8, 41, 24, 773), - Trans(8, 42, 24, 773), - Trans(8, 43, 24, 773), - Trans(8, 44, 24, 773), - Trans(8, 45, 24, 773), - Trans(8, 46, 24, 773), - Trans(8, 47, 24, 773), - Trans(8, 48, 24, 773), - Trans(8, 52, 24, 773), - Trans(8, 81, 24, 773), - Trans(8, 95, 24, 773), - Trans(8, 104, 24, 773), - Trans(9, 5, 24, 773), - Trans(9, 6, 24, 773), - Trans(9, 7, 24, 773), - Trans(9, 8, 24, 773), - Trans(9, 9, 24, 773), - Trans(9, 10, 24, 773), - Trans(9, 11, 24, 773), - Trans(9, 18, 24, 773), - Trans(9, 24, 24, 773), - Trans(9, 25, 24, 773), - Trans(9, 26, 24, 773), - Trans(9, 27, 24, 773), - Trans(9, 39, 24, 773), - Trans(9, 40, 24, 773), - Trans(9, 42, 24, 773), - Trans(9, 53, 24, 773), - Trans(9, 54, 24, 773), - Trans(9, 55, 24, 773), - Trans(9, 56, 24, 773), - Trans(9, 57, 24, 773), - Trans(9, 64, 24, 773), - Trans(9, 65, 24, 773), - Trans(9, 69, 24, 773), - Trans(9, 70, 24, 773), - Trans(9, 72, 24, 773), - Trans(9, 78, 24, 773), - Trans(9, 83, 24, 773), - Trans(9, 84, 24, 773), - Trans(9, 87, 24, 773), - Trans(9, 89, 24, 773), - Trans(9, 96, 24, 773), - Trans(9, 97, 24, 773), - Trans(9, 98, 24, 773), - Trans(9, 99, 24, 773), - Trans(9, 100, 24, 773), - Trans(9, 105, 24, 773), - Trans(9, 107, 24, 773), - Trans(9, 109, 24, 773), - Trans(9, 110, 24, 773), - Trans(9, 111, 24, 773), - Trans(9, 115, 24, 773), - Trans(9, 116, 24, 773), - Trans(10, 5, 24, 773), - Trans(10, 48, 24, 773), - Trans(10, 116, 24, 773), - Trans(11, 5, 24, 773), - Trans(11, 6, 24, 773), - Trans(11, 7, 24, 773), - Trans(11, 8, 24, 773), - Trans(11, 9, 24, 773), - Trans(11, 10, 24, 773), - Trans(11, 11, 24, 773), - Trans(11, 18, 24, 773), - Trans(11, 24, 24, 773), - Trans(11, 25, 24, 773), - Trans(11, 26, 24, 773), - Trans(11, 27, 24, 773), - Trans(11, 39, 24, 773), - Trans(11, 40, 24, 773), - Trans(11, 42, 24, 773), - Trans(11, 53, 24, 773), - Trans(11, 54, 24, 773), - Trans(11, 55, 24, 773), - Trans(11, 56, 24, 773), - Trans(11, 57, 24, 773), - Trans(11, 64, 24, 773), - Trans(11, 65, 24, 773), - Trans(11, 67, 24, 773), - Trans(11, 69, 24, 773), - Trans(11, 70, 24, 773), - Trans(11, 71, 24, 773), - Trans(11, 72, 24, 773), - Trans(11, 78, 24, 773), - Trans(11, 83, 24, 773), - Trans(11, 84, 24, 773), - Trans(11, 87, 24, 773), - Trans(11, 89, 24, 773), - Trans(11, 96, 24, 773), - Trans(11, 97, 24, 773), - Trans(11, 98, 24, 773), - Trans(11, 99, 24, 773), - Trans(11, 100, 24, 773), - Trans(11, 101, 24, 773), - Trans(11, 102, 24, 773), - Trans(11, 105, 24, 773), - Trans(11, 107, 24, 773), - Trans(11, 109, 24, 773), - Trans(11, 110, 24, 773), - Trans(11, 111, 24, 773), - Trans(11, 115, 24, 773), - Trans(11, 116, 24, 773), - Trans(12, 5, 24, 773), - Trans(12, 6, 24, 773), - Trans(12, 7, 24, 773), - Trans(12, 8, 24, 773), - Trans(12, 9, 24, 773), - Trans(12, 10, 24, 773), - Trans(12, 11, 24, 773), - Trans(12, 18, 24, 773), - Trans(12, 24, 24, 773), - Trans(12, 25, 24, 773), - Trans(12, 26, 24, 773), - Trans(12, 27, 24, 773), - Trans(12, 37, 24, 773), - Trans(12, 39, 24, 773), - Trans(12, 40, 24, 773), - Trans(12, 42, 24, 773), - Trans(12, 43, 24, 773), - Trans(12, 44, 24, 773), - Trans(12, 46, 24, 773), - Trans(12, 53, 24, 773), - Trans(12, 54, 24, 773), - Trans(12, 55, 24, 773), - Trans(12, 56, 24, 773), - Trans(12, 57, 24, 773), - Trans(12, 58, 24, 773), - Trans(12, 59, 24, 773), - Trans(12, 64, 24, 773), - Trans(12, 65, 24, 773), - Trans(12, 69, 24, 773), - Trans(12, 70, 24, 773), - Trans(12, 72, 24, 773), - Trans(12, 78, 24, 773), - Trans(12, 83, 24, 773), - Trans(12, 84, 24, 773), - Trans(12, 87, 24, 773), - Trans(12, 89, 24, 773), - Trans(12, 91, 24, 773), - Trans(12, 96, 24, 773), - Trans(12, 97, 24, 773), - Trans(12, 98, 24, 773), - Trans(12, 99, 24, 773), - Trans(12, 100, 24, 773), - Trans(12, 105, 24, 773), - Trans(12, 107, 24, 773), - Trans(12, 109, 24, 773), - Trans(12, 110, 24, 773), - Trans(12, 111, 24, 773), - Trans(12, 115, 24, 773), - Trans(12, 116, 24, 773), - Trans(13, 5, 24, 773), - Trans(13, 116, 24, 773), - Trans(14, 5, 24, 773), - Trans(14, 42, 24, 773), - Trans(15, 5, 24, 773), - Trans(15, 6, 24, 773), - Trans(15, 7, 24, 773), - Trans(15, 8, 24, 773), - Trans(15, 9, 24, 773), - Trans(15, 10, 24, 773), - Trans(15, 11, 24, 773), - Trans(15, 18, 24, 773), - Trans(15, 24, 24, 773), - Trans(15, 25, 24, 773), - Trans(15, 26, 24, 773), - Trans(15, 27, 24, 773), - Trans(15, 31, 24, 773), - Trans(15, 37, 24, 773), - Trans(15, 39, 24, 773), - Trans(15, 40, 24, 773), - Trans(15, 42, 24, 773), - Trans(15, 44, 24, 773), - Trans(15, 49, 24, 773), - Trans(15, 50, 24, 773), - Trans(15, 51, 24, 773), - Trans(15, 53, 24, 773), - Trans(15, 54, 24, 773), - Trans(15, 55, 24, 773), - Trans(15, 56, 24, 773), - Trans(15, 57, 24, 773), - Trans(15, 58, 24, 773), - Trans(15, 59, 24, 773), - Trans(15, 62, 24, 773), - Trans(15, 64, 24, 773), - Trans(15, 65, 24, 773), - Trans(15, 66, 24, 773), - Trans(15, 67, 24, 773), - Trans(15, 68, 24, 773), - Trans(15, 69, 24, 773), - Trans(15, 70, 24, 773), - Trans(15, 71, 24, 773), - Trans(15, 72, 24, 773), - Trans(15, 73, 24, 773), - Trans(15, 75, 24, 773), - Trans(15, 78, 24, 773), - Trans(15, 79, 24, 773), - Trans(15, 82, 24, 773), - Trans(15, 83, 24, 773), - Trans(15, 84, 24, 773), - Trans(15, 87, 24, 773), - Trans(15, 89, 24, 773), - Trans(15, 96, 24, 773), - Trans(15, 97, 24, 773), - Trans(15, 98, 24, 773), - Trans(15, 99, 24, 773), - Trans(15, 100, 24, 773), - Trans(15, 101, 24, 773), - Trans(15, 102, 24, 773), - Trans(15, 105, 24, 773), - Trans(15, 106, 24, 773), - Trans(15, 107, 24, 773), - Trans(15, 109, 24, 773), - Trans(15, 110, 24, 773), - Trans(15, 111, 24, 773), - Trans(15, 112, 24, 773), - Trans(15, 113, 24, 773), - Trans(15, 114, 24, 773), - Trans(15, 115, 24, 773), - Trans(15, 116, 24, 773), - Trans(16, 5, 24, 773), - Trans(16, 6, 24, 773), - Trans(16, 7, 24, 773), - Trans(16, 8, 24, 773), - Trans(16, 9, 24, 773), - Trans(16, 10, 24, 773), - Trans(16, 11, 24, 773), - Trans(16, 18, 24, 773), - Trans(16, 24, 24, 773), - Trans(16, 25, 24, 773), - Trans(16, 26, 24, 773), - Trans(16, 27, 24, 773), - Trans(16, 37, 24, 773), - Trans(16, 39, 24, 773), - Trans(16, 40, 24, 773), - Trans(16, 42, 24, 773), - Trans(16, 46, 24, 773), - Trans(16, 53, 24, 773), - Trans(16, 54, 24, 773), - Trans(16, 55, 24, 773), - Trans(16, 56, 24, 773), - Trans(16, 57, 24, 773), - Trans(16, 64, 24, 773), - Trans(16, 65, 24, 773), - Trans(16, 69, 24, 773), - Trans(16, 70, 24, 773), - Trans(16, 72, 24, 773), - Trans(16, 78, 24, 773), - Trans(16, 83, 24, 773), - Trans(16, 84, 24, 773), - Trans(16, 87, 24, 773), - Trans(16, 89, 24, 773), - Trans(16, 96, 24, 773), - Trans(16, 97, 24, 773), - Trans(16, 98, 24, 773), - Trans(16, 99, 24, 773), - Trans(16, 100, 24, 773), - Trans(16, 105, 24, 773), - Trans(16, 107, 24, 773), - Trans(16, 109, 24, 773), - Trans(16, 110, 24, 773), - Trans(16, 111, 24, 773), - Trans(16, 115, 24, 773), - Trans(16, 116, 24, 773), - Trans(17, 5, 24, 773), - Trans(17, 12, 24, 773), - Trans(17, 13, 24, 773), - Trans(17, 14, 24, 773), - Trans(17, 15, 24, 773), - Trans(17, 16, 24, 773), - Trans(17, 17, 24, 773), - Trans(17, 18, 24, 773), - Trans(17, 19, 24, 773), - Trans(17, 20, 24, 773), - Trans(17, 21, 24, 773), - Trans(17, 22, 24, 773), - Trans(17, 23, 24, 773), - Trans(17, 24, 24, 773), - Trans(17, 25, 24, 773), - Trans(17, 26, 24, 773), - Trans(17, 30, 24, 773), - Trans(17, 31, 24, 773), - Trans(17, 32, 24, 773), - Trans(17, 33, 24, 773), - Trans(17, 34, 24, 773), - Trans(17, 35, 24, 773), - Trans(17, 36, 24, 773), - Trans(17, 37, 24, 773), - Trans(17, 38, 24, 773), - Trans(17, 40, 24, 773), - Trans(17, 41, 24, 773), - Trans(17, 42, 24, 773), - Trans(17, 43, 24, 773), - Trans(17, 44, 24, 773), - Trans(17, 45, 24, 773), - Trans(17, 46, 24, 773), - Trans(17, 47, 24, 773), - Trans(17, 48, 24, 773), - Trans(17, 52, 24, 773), - Trans(17, 67, 24, 773), - Trans(17, 81, 24, 773), - Trans(17, 95, 24, 773), - Trans(17, 104, 24, 773), - Trans(18, 5, 24, 773), - Trans(18, 12, 24, 773), - Trans(18, 14, 24, 773), - Trans(18, 16, 24, 773), - Trans(18, 17, 24, 773), - Trans(18, 18, 24, 773), - Trans(18, 19, 24, 773), - Trans(18, 20, 24, 773), - Trans(18, 21, 24, 773), - Trans(18, 22, 24, 773), - Trans(18, 23, 24, 773), - Trans(18, 24, 24, 773), - Trans(18, 25, 24, 773), - Trans(18, 26, 24, 773), - Trans(18, 31, 24, 773), - Trans(18, 32, 24, 773), - Trans(18, 33, 24, 773), - Trans(18, 34, 24, 773), - Trans(18, 37, 24, 773), - Trans(18, 40, 24, 773), - Trans(18, 43, 24, 773), - Trans(18, 44, 24, 773), - Trans(18, 45, 24, 773), - Trans(18, 46, 24, 773), - Trans(18, 47, 24, 773), - Trans(18, 48, 24, 773), - Trans(18, 49, 24, 773), - Trans(18, 50, 24, 773), - Trans(18, 51, 24, 773), - Trans(18, 52, 24, 773), - Trans(18, 58, 24, 773), - Trans(18, 60, 24, 773), - Trans(18, 62, 24, 773), - Trans(18, 63, 24, 773), - Trans(18, 66, 24, 773), - Trans(18, 67, 24, 773), - Trans(18, 68, 24, 773), - Trans(18, 72, 24, 773), - Trans(18, 73, 24, 773), - Trans(18, 75, 24, 773), - Trans(18, 79, 24, 773), - Trans(18, 82, 24, 773), - Trans(18, 85, 24, 773), - Trans(18, 95, 24, 773), - Trans(18, 104, 24, 773), - Trans(18, 106, 24, 773), - Trans(18, 109, 24, 773), - Trans(18, 112, 24, 773), - Trans(18, 113, 24, 773), - Trans(18, 114, 24, 773), - Trans(19, 5, 24, 773), - Trans(19, 12, 24, 773), - Trans(19, 14, 24, 773), - Trans(19, 15, 24, 773), - Trans(19, 16, 24, 773), - Trans(19, 17, 24, 773), - Trans(19, 18, 24, 773), - Trans(19, 19, 24, 773), - Trans(19, 20, 24, 773), - Trans(19, 21, 24, 773), - Trans(19, 22, 24, 773), - Trans(19, 23, 24, 773), - Trans(19, 24, 24, 773), - Trans(19, 25, 24, 773), - Trans(19, 26, 24, 773), - Trans(19, 31, 24, 773), - Trans(19, 32, 24, 773), - Trans(19, 33, 24, 773), - Trans(19, 34, 24, 773), - Trans(19, 35, 24, 773), - Trans(19, 36, 24, 773), - Trans(19, 37, 24, 773), - Trans(19, 40, 24, 773), - Trans(19, 41, 24, 773), - Trans(19, 42, 24, 773), - Trans(19, 43, 24, 773), - Trans(19, 44, 24, 773), - Trans(19, 45, 24, 773), - Trans(19, 46, 24, 773), - Trans(19, 47, 24, 773), - Trans(19, 48, 24, 773), - Trans(19, 52, 24, 773), - Trans(19, 95, 24, 773), - Trans(19, 104, 24, 773), - Trans(20, 5, 24, 773), - Trans(20, 12, 24, 773), - Trans(20, 13, 24, 773), - Trans(20, 14, 24, 773), - Trans(20, 16, 24, 773), - Trans(20, 17, 24, 773), - Trans(20, 18, 24, 773), - Trans(20, 19, 24, 773), - Trans(20, 20, 24, 773), - Trans(20, 21, 24, 773), - Trans(20, 22, 24, 773), - Trans(20, 23, 24, 773), - Trans(20, 24, 24, 773), - Trans(20, 25, 24, 773), - Trans(20, 26, 24, 773), - Trans(20, 31, 24, 773), - Trans(20, 32, 24, 773), - Trans(20, 33, 24, 773), - Trans(20, 34, 24, 773), - Trans(20, 40, 24, 773), - Trans(20, 42, 24, 773), - Trans(20, 43, 24, 773), - Trans(20, 44, 24, 773), - Trans(20, 45, 24, 773), - Trans(20, 46, 24, 773), - Trans(20, 47, 24, 773), - Trans(20, 48, 24, 773), - Trans(20, 52, 24, 773), - Trans(20, 95, 24, 773), - Trans(20, 104, 24, 773), - Trans(21, 0, 24, 773), - Trans(21, 5, 24, 773), - Trans(21, 6, 24, 773), - Trans(21, 7, 24, 773), - Trans(21, 8, 24, 773), - Trans(21, 9, 24, 773), - Trans(21, 10, 24, 773), - Trans(21, 11, 24, 773), - Trans(21, 18, 24, 773), - Trans(21, 24, 24, 773), - Trans(21, 25, 24, 773), - Trans(21, 26, 24, 773), - Trans(21, 27, 24, 773), - Trans(21, 31, 24, 773), - Trans(21, 37, 24, 773), - Trans(21, 39, 24, 773), - Trans(21, 40, 24, 773), - Trans(21, 42, 24, 773), - Trans(21, 44, 24, 773), - Trans(21, 49, 24, 773), - Trans(21, 50, 24, 773), - Trans(21, 51, 24, 773), - Trans(21, 53, 24, 773), - Trans(21, 54, 24, 773), - Trans(21, 55, 24, 773), - Trans(21, 56, 24, 773), - Trans(21, 57, 24, 773), - Trans(21, 58, 24, 773), - Trans(21, 59, 24, 773), - Trans(21, 61, 24, 773), - Trans(21, 62, 24, 773), - Trans(21, 63, 24, 773), - Trans(21, 64, 24, 773), - Trans(21, 65, 24, 773), - Trans(21, 66, 24, 773), - Trans(21, 67, 24, 773), - Trans(21, 68, 24, 773), - Trans(21, 69, 24, 773), - Trans(21, 70, 24, 773), - Trans(21, 71, 24, 773), - Trans(21, 72, 24, 773), - Trans(21, 73, 24, 773), - Trans(21, 74, 24, 773), - Trans(21, 75, 24, 773), - Trans(21, 78, 24, 773), - Trans(21, 79, 24, 773), - Trans(21, 80, 24, 773), - Trans(21, 82, 24, 773), - Trans(21, 83, 24, 773), - Trans(21, 84, 24, 773), - Trans(21, 85, 24, 773), - Trans(21, 86, 24, 773), - Trans(21, 87, 24, 773), - Trans(21, 89, 24, 773), - Trans(21, 90, 24, 773), - Trans(21, 92, 24, 773), - Trans(21, 93, 24, 773), - Trans(21, 96, 24, 773), - Trans(21, 97, 24, 773), - Trans(21, 98, 24, 773), - Trans(21, 99, 24, 773), - Trans(21, 100, 24, 773), - Trans(21, 101, 24, 773), - Trans(21, 102, 24, 773), - Trans(21, 105, 24, 773), - Trans(21, 106, 24, 773), - Trans(21, 107, 24, 773), - Trans(21, 109, 24, 773), - Trans(21, 110, 24, 773), - Trans(21, 111, 24, 773), - Trans(21, 112, 24, 773), - Trans(21, 113, 24, 773), - Trans(21, 114, 24, 773), - Trans(21, 115, 24, 773), - Trans(21, 116, 24, 773), - Trans(22, 5, 24, 773), - Trans(22, 9, 24, 773), - Trans(22, 11, 24, 773), - Trans(22, 55, 24, 773), - Trans(22, 56, 24, 773), - Trans(22, 57, 24, 773), - Trans(22, 64, 24, 773), - Trans(22, 65, 24, 773), - Trans(22, 69, 24, 773), - Trans(22, 70, 24, 773), - Trans(22, 96, 24, 773), - Trans(22, 97, 24, 773), - Trans(22, 98, 24, 773), - Trans(22, 99, 24, 773), - Trans(22, 100, 24, 773), - Trans(22, 110, 24, 773), - Trans(22, 111, 24, 773), - Trans(22, 115, 24, 773), - Trans(22, 116, 24, 773), - Trans(23, 5, 24, 773), - Trans(23, 6, 24, 773), - Trans(23, 7, 24, 773), - Trans(23, 8, 24, 773), - Trans(23, 9, 24, 773), - Trans(23, 10, 24, 773), - Trans(23, 11, 24, 773), - Trans(23, 15, 24, 773), - Trans(23, 18, 24, 773), - Trans(23, 24, 24, 773), - Trans(23, 25, 24, 773), - Trans(23, 26, 24, 773), - Trans(23, 27, 24, 773), - Trans(23, 39, 24, 773), - Trans(23, 40, 24, 773), - Trans(23, 42, 24, 773), - Trans(23, 53, 24, 773), - Trans(23, 54, 24, 773), - Trans(23, 55, 24, 773), - Trans(23, 56, 24, 773), - Trans(23, 57, 24, 773), - Trans(23, 64, 24, 773), - Trans(23, 65, 24, 773), - Trans(23, 69, 24, 773), - Trans(23, 70, 24, 773), - Trans(23, 72, 24, 773), - Trans(23, 78, 24, 773), - Trans(23, 83, 24, 773), - Trans(23, 84, 24, 773), - Trans(23, 87, 24, 773), - Trans(23, 89, 24, 773), - Trans(23, 96, 24, 773), - Trans(23, 97, 24, 773), - Trans(23, 98, 24, 773), - Trans(23, 99, 24, 773), - Trans(23, 100, 24, 773), - Trans(23, 105, 24, 773), - Trans(23, 107, 24, 773), - Trans(23, 109, 24, 773), - Trans(23, 110, 24, 773), - Trans(23, 111, 24, 773), - Trans(23, 115, 24, 773), - Trans(23, 116, 24, 773), - Trans(25, 5, 24, 773), - Trans(25, 12, 24, 773), - Trans(25, 14, 24, 773), - Trans(25, 15, 24, 773), - Trans(25, 16, 24, 773), - Trans(25, 17, 24, 773), - Trans(25, 18, 24, 773), - Trans(25, 19, 24, 773), - Trans(25, 20, 24, 773), - Trans(25, 21, 24, 773), - Trans(25, 22, 24, 773), - Trans(25, 23, 24, 773), - Trans(25, 24, 24, 773), - Trans(25, 25, 24, 773), - Trans(25, 26, 24, 773), - Trans(25, 30, 24, 773), - Trans(25, 31, 24, 773), - Trans(25, 32, 24, 773), - Trans(25, 33, 24, 773), - Trans(25, 34, 24, 773), - Trans(25, 35, 24, 773), - Trans(25, 36, 24, 773), - Trans(25, 37, 24, 773), - Trans(25, 38, 24, 773), - Trans(25, 40, 24, 773), - Trans(25, 41, 24, 773), - Trans(25, 42, 24, 773), - Trans(25, 43, 24, 773), - Trans(25, 44, 24, 773), - Trans(25, 45, 24, 773), - Trans(25, 46, 24, 773), - Trans(25, 47, 24, 773), - Trans(25, 48, 24, 773), - Trans(25, 52, 24, 773), - Trans(25, 81, 24, 773), - Trans(25, 95, 24, 773), - Trans(25, 104, 24, 773), + Trans(8, 12, 24, 774), + Trans(8, 14, 24, 774), + Trans(8, 15, 24, 774), + Trans(8, 16, 24, 774), + Trans(8, 17, 24, 774), + Trans(8, 18, 24, 774), + Trans(8, 19, 24, 774), + Trans(8, 20, 24, 774), + Trans(8, 21, 24, 774), + Trans(8, 22, 24, 774), + Trans(8, 23, 24, 774), + Trans(8, 24, 24, 774), + Trans(8, 25, 24, 774), + Trans(8, 26, 24, 774), + Trans(8, 30, 24, 774), + Trans(8, 31, 24, 774), + Trans(8, 32, 24, 774), + Trans(8, 33, 24, 774), + Trans(8, 34, 24, 774), + Trans(8, 35, 24, 774), + Trans(8, 36, 24, 774), + Trans(8, 37, 24, 774), + Trans(8, 38, 24, 774), + Trans(8, 40, 24, 774), + Trans(8, 41, 24, 774), + Trans(8, 42, 24, 774), + Trans(8, 43, 24, 774), + Trans(8, 44, 24, 774), + Trans(8, 45, 24, 774), + Trans(8, 46, 24, 774), + Trans(8, 47, 24, 774), + Trans(8, 48, 24, 774), + Trans(8, 52, 24, 774), + Trans(8, 81, 24, 774), + Trans(8, 95, 24, 774), + Trans(8, 104, 24, 774), + Trans(9, 5, 24, 774), + Trans(9, 6, 24, 774), + Trans(9, 7, 24, 774), + Trans(9, 8, 24, 774), + Trans(9, 9, 24, 774), + Trans(9, 10, 24, 774), + Trans(9, 11, 24, 774), + Trans(9, 18, 24, 774), + Trans(9, 24, 24, 774), + Trans(9, 25, 24, 774), + Trans(9, 26, 24, 774), + Trans(9, 27, 24, 774), + Trans(9, 39, 24, 774), + Trans(9, 40, 24, 774), + Trans(9, 42, 24, 774), + Trans(9, 53, 24, 774), + Trans(9, 54, 24, 774), + Trans(9, 55, 24, 774), + Trans(9, 56, 24, 774), + Trans(9, 57, 24, 774), + Trans(9, 64, 24, 774), + Trans(9, 65, 24, 774), + Trans(9, 69, 24, 774), + Trans(9, 70, 24, 774), + Trans(9, 72, 24, 774), + Trans(9, 78, 24, 774), + Trans(9, 83, 24, 774), + Trans(9, 84, 24, 774), + Trans(9, 87, 24, 774), + Trans(9, 89, 24, 774), + Trans(9, 96, 24, 774), + Trans(9, 97, 24, 774), + Trans(9, 98, 24, 774), + Trans(9, 99, 24, 774), + Trans(9, 100, 24, 774), + Trans(9, 105, 24, 774), + Trans(9, 107, 24, 774), + Trans(9, 109, 24, 774), + Trans(9, 110, 24, 774), + Trans(9, 111, 24, 774), + Trans(9, 115, 24, 774), + Trans(9, 116, 24, 774), + Trans(10, 5, 24, 774), + Trans(10, 48, 24, 774), + Trans(10, 116, 24, 774), + Trans(11, 5, 24, 774), + Trans(11, 6, 24, 774), + Trans(11, 7, 24, 774), + Trans(11, 8, 24, 774), + Trans(11, 9, 24, 774), + Trans(11, 10, 24, 774), + Trans(11, 11, 24, 774), + Trans(11, 18, 24, 774), + Trans(11, 24, 24, 774), + Trans(11, 25, 24, 774), + Trans(11, 26, 24, 774), + Trans(11, 27, 24, 774), + Trans(11, 39, 24, 774), + Trans(11, 40, 24, 774), + Trans(11, 42, 24, 774), + Trans(11, 53, 24, 774), + Trans(11, 54, 24, 774), + Trans(11, 55, 24, 774), + Trans(11, 56, 24, 774), + Trans(11, 57, 24, 774), + Trans(11, 64, 24, 774), + Trans(11, 65, 24, 774), + Trans(11, 67, 24, 774), + Trans(11, 69, 24, 774), + Trans(11, 70, 24, 774), + Trans(11, 71, 24, 774), + Trans(11, 72, 24, 774), + Trans(11, 78, 24, 774), + Trans(11, 83, 24, 774), + Trans(11, 84, 24, 774), + Trans(11, 87, 24, 774), + Trans(11, 89, 24, 774), + Trans(11, 96, 24, 774), + Trans(11, 97, 24, 774), + Trans(11, 98, 24, 774), + Trans(11, 99, 24, 774), + Trans(11, 100, 24, 774), + Trans(11, 101, 24, 774), + Trans(11, 102, 24, 774), + Trans(11, 105, 24, 774), + Trans(11, 107, 24, 774), + Trans(11, 109, 24, 774), + Trans(11, 110, 24, 774), + Trans(11, 111, 24, 774), + Trans(11, 115, 24, 774), + Trans(11, 116, 24, 774), + Trans(12, 5, 24, 774), + Trans(12, 6, 24, 774), + Trans(12, 7, 24, 774), + Trans(12, 8, 24, 774), + Trans(12, 9, 24, 774), + Trans(12, 10, 24, 774), + Trans(12, 11, 24, 774), + Trans(12, 18, 24, 774), + Trans(12, 24, 24, 774), + Trans(12, 25, 24, 774), + Trans(12, 26, 24, 774), + Trans(12, 27, 24, 774), + Trans(12, 37, 24, 774), + Trans(12, 39, 24, 774), + Trans(12, 40, 24, 774), + Trans(12, 42, 24, 774), + Trans(12, 43, 24, 774), + Trans(12, 44, 24, 774), + Trans(12, 46, 24, 774), + Trans(12, 53, 24, 774), + Trans(12, 54, 24, 774), + Trans(12, 55, 24, 774), + Trans(12, 56, 24, 774), + Trans(12, 57, 24, 774), + Trans(12, 58, 24, 774), + Trans(12, 59, 24, 774), + Trans(12, 64, 24, 774), + Trans(12, 65, 24, 774), + Trans(12, 69, 24, 774), + Trans(12, 70, 24, 774), + Trans(12, 72, 24, 774), + Trans(12, 78, 24, 774), + Trans(12, 83, 24, 774), + Trans(12, 84, 24, 774), + Trans(12, 87, 24, 774), + Trans(12, 89, 24, 774), + Trans(12, 91, 24, 774), + Trans(12, 96, 24, 774), + Trans(12, 97, 24, 774), + Trans(12, 98, 24, 774), + Trans(12, 99, 24, 774), + Trans(12, 100, 24, 774), + Trans(12, 105, 24, 774), + Trans(12, 107, 24, 774), + Trans(12, 109, 24, 774), + Trans(12, 110, 24, 774), + Trans(12, 111, 24, 774), + Trans(12, 115, 24, 774), + Trans(12, 116, 24, 774), + Trans(13, 5, 24, 774), + Trans(13, 116, 24, 774), + Trans(14, 5, 24, 774), + Trans(14, 42, 24, 774), + Trans(15, 5, 24, 774), + Trans(15, 6, 24, 774), + Trans(15, 7, 24, 774), + Trans(15, 8, 24, 774), + Trans(15, 9, 24, 774), + Trans(15, 10, 24, 774), + Trans(15, 11, 24, 774), + Trans(15, 18, 24, 774), + Trans(15, 24, 24, 774), + Trans(15, 25, 24, 774), + Trans(15, 26, 24, 774), + Trans(15, 27, 24, 774), + Trans(15, 31, 24, 774), + Trans(15, 37, 24, 774), + Trans(15, 39, 24, 774), + Trans(15, 40, 24, 774), + Trans(15, 42, 24, 774), + Trans(15, 44, 24, 774), + Trans(15, 49, 24, 774), + Trans(15, 50, 24, 774), + Trans(15, 51, 24, 774), + Trans(15, 53, 24, 774), + Trans(15, 54, 24, 774), + Trans(15, 55, 24, 774), + Trans(15, 56, 24, 774), + Trans(15, 57, 24, 774), + Trans(15, 58, 24, 774), + Trans(15, 59, 24, 774), + Trans(15, 62, 24, 774), + Trans(15, 64, 24, 774), + Trans(15, 65, 24, 774), + Trans(15, 66, 24, 774), + Trans(15, 67, 24, 774), + Trans(15, 68, 24, 774), + Trans(15, 69, 24, 774), + Trans(15, 70, 24, 774), + Trans(15, 71, 24, 774), + Trans(15, 72, 24, 774), + Trans(15, 73, 24, 774), + Trans(15, 75, 24, 774), + Trans(15, 78, 24, 774), + Trans(15, 79, 24, 774), + Trans(15, 82, 24, 774), + Trans(15, 83, 24, 774), + Trans(15, 84, 24, 774), + Trans(15, 87, 24, 774), + Trans(15, 89, 24, 774), + Trans(15, 96, 24, 774), + Trans(15, 97, 24, 774), + Trans(15, 98, 24, 774), + Trans(15, 99, 24, 774), + Trans(15, 100, 24, 774), + Trans(15, 101, 24, 774), + Trans(15, 102, 24, 774), + Trans(15, 105, 24, 774), + Trans(15, 106, 24, 774), + Trans(15, 107, 24, 774), + Trans(15, 109, 24, 774), + Trans(15, 110, 24, 774), + Trans(15, 111, 24, 774), + Trans(15, 112, 24, 774), + Trans(15, 113, 24, 774), + Trans(15, 114, 24, 774), + Trans(15, 115, 24, 774), + Trans(15, 116, 24, 774), + Trans(16, 5, 24, 774), + Trans(16, 6, 24, 774), + Trans(16, 7, 24, 774), + Trans(16, 8, 24, 774), + Trans(16, 9, 24, 774), + Trans(16, 10, 24, 774), + Trans(16, 11, 24, 774), + Trans(16, 18, 24, 774), + Trans(16, 24, 24, 774), + Trans(16, 25, 24, 774), + Trans(16, 26, 24, 774), + Trans(16, 27, 24, 774), + Trans(16, 37, 24, 774), + Trans(16, 39, 24, 774), + Trans(16, 40, 24, 774), + Trans(16, 42, 24, 774), + Trans(16, 46, 24, 774), + Trans(16, 53, 24, 774), + Trans(16, 54, 24, 774), + Trans(16, 55, 24, 774), + Trans(16, 56, 24, 774), + Trans(16, 57, 24, 774), + Trans(16, 64, 24, 774), + Trans(16, 65, 24, 774), + Trans(16, 69, 24, 774), + Trans(16, 70, 24, 774), + Trans(16, 72, 24, 774), + Trans(16, 78, 24, 774), + Trans(16, 83, 24, 774), + Trans(16, 84, 24, 774), + Trans(16, 87, 24, 774), + Trans(16, 89, 24, 774), + Trans(16, 96, 24, 774), + Trans(16, 97, 24, 774), + Trans(16, 98, 24, 774), + Trans(16, 99, 24, 774), + Trans(16, 100, 24, 774), + Trans(16, 105, 24, 774), + Trans(16, 107, 24, 774), + Trans(16, 109, 24, 774), + Trans(16, 110, 24, 774), + Trans(16, 111, 24, 774), + Trans(16, 115, 24, 774), + Trans(16, 116, 24, 774), + Trans(17, 5, 24, 774), + Trans(17, 12, 24, 774), + Trans(17, 13, 24, 774), + Trans(17, 14, 24, 774), + Trans(17, 15, 24, 774), + Trans(17, 16, 24, 774), + Trans(17, 17, 24, 774), + Trans(17, 18, 24, 774), + Trans(17, 19, 24, 774), + Trans(17, 20, 24, 774), + Trans(17, 21, 24, 774), + Trans(17, 22, 24, 774), + Trans(17, 23, 24, 774), + Trans(17, 24, 24, 774), + Trans(17, 25, 24, 774), + Trans(17, 26, 24, 774), + Trans(17, 30, 24, 774), + Trans(17, 31, 24, 774), + Trans(17, 32, 24, 774), + Trans(17, 33, 24, 774), + Trans(17, 34, 24, 774), + Trans(17, 35, 24, 774), + Trans(17, 36, 24, 774), + Trans(17, 37, 24, 774), + Trans(17, 38, 24, 774), + Trans(17, 40, 24, 774), + Trans(17, 41, 24, 774), + Trans(17, 42, 24, 774), + Trans(17, 43, 24, 774), + Trans(17, 44, 24, 774), + Trans(17, 45, 24, 774), + Trans(17, 46, 24, 774), + Trans(17, 47, 24, 774), + Trans(17, 48, 24, 774), + Trans(17, 52, 24, 774), + Trans(17, 67, 24, 774), + Trans(17, 81, 24, 774), + Trans(17, 95, 24, 774), + Trans(17, 104, 24, 774), + Trans(18, 5, 24, 774), + Trans(18, 12, 24, 774), + Trans(18, 14, 24, 774), + Trans(18, 16, 24, 774), + Trans(18, 17, 24, 774), + Trans(18, 18, 24, 774), + Trans(18, 19, 24, 774), + Trans(18, 20, 24, 774), + Trans(18, 21, 24, 774), + Trans(18, 22, 24, 774), + Trans(18, 23, 24, 774), + Trans(18, 24, 24, 774), + Trans(18, 25, 24, 774), + Trans(18, 26, 24, 774), + Trans(18, 31, 24, 774), + Trans(18, 32, 24, 774), + Trans(18, 33, 24, 774), + Trans(18, 34, 24, 774), + Trans(18, 37, 24, 774), + Trans(18, 40, 24, 774), + Trans(18, 43, 24, 774), + Trans(18, 44, 24, 774), + Trans(18, 45, 24, 774), + Trans(18, 46, 24, 774), + Trans(18, 47, 24, 774), + Trans(18, 48, 24, 774), + Trans(18, 49, 24, 774), + Trans(18, 50, 24, 774), + Trans(18, 51, 24, 774), + Trans(18, 52, 24, 774), + Trans(18, 58, 24, 774), + Trans(18, 60, 24, 774), + Trans(18, 62, 24, 774), + Trans(18, 63, 24, 774), + Trans(18, 66, 24, 774), + Trans(18, 67, 24, 774), + Trans(18, 68, 24, 774), + Trans(18, 72, 24, 774), + Trans(18, 73, 24, 774), + Trans(18, 75, 24, 774), + Trans(18, 79, 24, 774), + Trans(18, 82, 24, 774), + Trans(18, 85, 24, 774), + Trans(18, 95, 24, 774), + Trans(18, 104, 24, 774), + Trans(18, 106, 24, 774), + Trans(18, 109, 24, 774), + Trans(18, 112, 24, 774), + Trans(18, 113, 24, 774), + Trans(18, 114, 24, 774), + Trans(19, 5, 24, 774), + Trans(19, 12, 24, 774), + Trans(19, 14, 24, 774), + Trans(19, 15, 24, 774), + Trans(19, 16, 24, 774), + Trans(19, 17, 24, 774), + Trans(19, 18, 24, 774), + Trans(19, 19, 24, 774), + Trans(19, 20, 24, 774), + Trans(19, 21, 24, 774), + Trans(19, 22, 24, 774), + Trans(19, 23, 24, 774), + Trans(19, 24, 24, 774), + Trans(19, 25, 24, 774), + Trans(19, 26, 24, 774), + Trans(19, 31, 24, 774), + Trans(19, 32, 24, 774), + Trans(19, 33, 24, 774), + Trans(19, 34, 24, 774), + Trans(19, 35, 24, 774), + Trans(19, 36, 24, 774), + Trans(19, 37, 24, 774), + Trans(19, 40, 24, 774), + Trans(19, 41, 24, 774), + Trans(19, 42, 24, 774), + Trans(19, 43, 24, 774), + Trans(19, 44, 24, 774), + Trans(19, 45, 24, 774), + Trans(19, 46, 24, 774), + Trans(19, 47, 24, 774), + Trans(19, 48, 24, 774), + Trans(19, 52, 24, 774), + Trans(19, 95, 24, 774), + Trans(19, 104, 24, 774), + Trans(20, 5, 24, 774), + Trans(20, 12, 24, 774), + Trans(20, 13, 24, 774), + Trans(20, 14, 24, 774), + Trans(20, 16, 24, 774), + Trans(20, 17, 24, 774), + Trans(20, 18, 24, 774), + Trans(20, 19, 24, 774), + Trans(20, 20, 24, 774), + Trans(20, 21, 24, 774), + Trans(20, 22, 24, 774), + Trans(20, 23, 24, 774), + Trans(20, 24, 24, 774), + Trans(20, 25, 24, 774), + Trans(20, 26, 24, 774), + Trans(20, 31, 24, 774), + Trans(20, 32, 24, 774), + Trans(20, 33, 24, 774), + Trans(20, 34, 24, 774), + Trans(20, 40, 24, 774), + Trans(20, 42, 24, 774), + Trans(20, 43, 24, 774), + Trans(20, 44, 24, 774), + Trans(20, 45, 24, 774), + Trans(20, 46, 24, 774), + Trans(20, 47, 24, 774), + Trans(20, 48, 24, 774), + Trans(20, 52, 24, 774), + Trans(20, 95, 24, 774), + Trans(20, 104, 24, 774), + Trans(21, 0, 24, 774), + Trans(21, 5, 24, 774), + Trans(21, 6, 24, 774), + Trans(21, 7, 24, 774), + Trans(21, 8, 24, 774), + Trans(21, 9, 24, 774), + Trans(21, 10, 24, 774), + Trans(21, 11, 24, 774), + Trans(21, 18, 24, 774), + Trans(21, 24, 24, 774), + Trans(21, 25, 24, 774), + Trans(21, 26, 24, 774), + Trans(21, 27, 24, 774), + Trans(21, 31, 24, 774), + Trans(21, 37, 24, 774), + Trans(21, 39, 24, 774), + Trans(21, 40, 24, 774), + Trans(21, 42, 24, 774), + Trans(21, 44, 24, 774), + Trans(21, 49, 24, 774), + Trans(21, 50, 24, 774), + Trans(21, 51, 24, 774), + Trans(21, 53, 24, 774), + Trans(21, 54, 24, 774), + Trans(21, 55, 24, 774), + Trans(21, 56, 24, 774), + Trans(21, 57, 24, 774), + Trans(21, 58, 24, 774), + Trans(21, 59, 24, 774), + Trans(21, 61, 24, 774), + Trans(21, 62, 24, 774), + Trans(21, 63, 24, 774), + Trans(21, 64, 24, 774), + Trans(21, 65, 24, 774), + Trans(21, 66, 24, 774), + Trans(21, 67, 24, 774), + Trans(21, 68, 24, 774), + Trans(21, 69, 24, 774), + Trans(21, 70, 24, 774), + Trans(21, 71, 24, 774), + Trans(21, 72, 24, 774), + Trans(21, 73, 24, 774), + Trans(21, 74, 24, 774), + Trans(21, 75, 24, 774), + Trans(21, 78, 24, 774), + Trans(21, 79, 24, 774), + Trans(21, 80, 24, 774), + Trans(21, 82, 24, 774), + Trans(21, 83, 24, 774), + Trans(21, 84, 24, 774), + Trans(21, 85, 24, 774), + Trans(21, 86, 24, 774), + Trans(21, 87, 24, 774), + Trans(21, 89, 24, 774), + Trans(21, 90, 24, 774), + Trans(21, 92, 24, 774), + Trans(21, 93, 24, 774), + Trans(21, 96, 24, 774), + Trans(21, 97, 24, 774), + Trans(21, 98, 24, 774), + Trans(21, 99, 24, 774), + Trans(21, 100, 24, 774), + Trans(21, 101, 24, 774), + Trans(21, 102, 24, 774), + Trans(21, 105, 24, 774), + Trans(21, 106, 24, 774), + Trans(21, 107, 24, 774), + Trans(21, 109, 24, 774), + Trans(21, 110, 24, 774), + Trans(21, 111, 24, 774), + Trans(21, 112, 24, 774), + Trans(21, 113, 24, 774), + Trans(21, 114, 24, 774), + Trans(21, 115, 24, 774), + Trans(21, 116, 24, 774), + Trans(22, 5, 24, 774), + Trans(22, 9, 24, 774), + Trans(22, 11, 24, 774), + Trans(22, 55, 24, 774), + Trans(22, 56, 24, 774), + Trans(22, 57, 24, 774), + Trans(22, 64, 24, 774), + Trans(22, 65, 24, 774), + Trans(22, 69, 24, 774), + Trans(22, 70, 24, 774), + Trans(22, 96, 24, 774), + Trans(22, 97, 24, 774), + Trans(22, 98, 24, 774), + Trans(22, 99, 24, 774), + Trans(22, 100, 24, 774), + Trans(22, 110, 24, 774), + Trans(22, 111, 24, 774), + Trans(22, 115, 24, 774), + Trans(22, 116, 24, 774), + Trans(23, 5, 24, 774), + Trans(23, 6, 24, 774), + Trans(23, 7, 24, 774), + Trans(23, 8, 24, 774), + Trans(23, 9, 24, 774), + Trans(23, 10, 24, 774), + Trans(23, 11, 24, 774), + Trans(23, 15, 24, 774), + Trans(23, 18, 24, 774), + Trans(23, 24, 24, 774), + Trans(23, 25, 24, 774), + Trans(23, 26, 24, 774), + Trans(23, 27, 24, 774), + Trans(23, 39, 24, 774), + Trans(23, 40, 24, 774), + Trans(23, 42, 24, 774), + Trans(23, 53, 24, 774), + Trans(23, 54, 24, 774), + Trans(23, 55, 24, 774), + Trans(23, 56, 24, 774), + Trans(23, 57, 24, 774), + Trans(23, 64, 24, 774), + Trans(23, 65, 24, 774), + Trans(23, 69, 24, 774), + Trans(23, 70, 24, 774), + Trans(23, 72, 24, 774), + Trans(23, 78, 24, 774), + Trans(23, 83, 24, 774), + Trans(23, 84, 24, 774), + Trans(23, 87, 24, 774), + Trans(23, 89, 24, 774), + Trans(23, 96, 24, 774), + Trans(23, 97, 24, 774), + Trans(23, 98, 24, 774), + Trans(23, 99, 24, 774), + Trans(23, 100, 24, 774), + Trans(23, 105, 24, 774), + Trans(23, 107, 24, 774), + Trans(23, 109, 24, 774), + Trans(23, 110, 24, 774), + Trans(23, 111, 24, 774), + Trans(23, 115, 24, 774), + Trans(23, 116, 24, 774), + Trans(25, 5, 24, 774), + Trans(25, 12, 24, 774), + Trans(25, 14, 24, 774), + Trans(25, 15, 24, 774), + Trans(25, 16, 24, 774), + Trans(25, 17, 24, 774), + Trans(25, 18, 24, 774), + Trans(25, 19, 24, 774), + Trans(25, 20, 24, 774), + Trans(25, 21, 24, 774), + Trans(25, 22, 24, 774), + Trans(25, 23, 24, 774), + Trans(25, 24, 24, 774), + Trans(25, 25, 24, 774), + Trans(25, 26, 24, 774), + Trans(25, 30, 24, 774), + Trans(25, 31, 24, 774), + Trans(25, 32, 24, 774), + Trans(25, 33, 24, 774), + Trans(25, 34, 24, 774), + Trans(25, 35, 24, 774), + Trans(25, 36, 24, 774), + Trans(25, 37, 24, 774), + Trans(25, 38, 24, 774), + Trans(25, 40, 24, 774), + Trans(25, 41, 24, 774), + Trans(25, 42, 24, 774), + Trans(25, 43, 24, 774), + Trans(25, 44, 24, 774), + Trans(25, 45, 24, 774), + Trans(25, 46, 24, 774), + Trans(25, 47, 24, 774), + Trans(25, 48, 24, 774), + Trans(25, 52, 24, 774), + Trans(25, 81, 24, 774), + Trans(25, 95, 24, 774), + Trans(25, 104, 24, 774), ], k: 3, }, /* 657 - "WithGenericArgumentListOpt" */ LookaheadDFA { prod0: -1, - transitions: &[Trans(0, 32, 1, 774), Trans(0, 43, 2, 775)], + transitions: &[Trans(0, 32, 1, 775), Trans(0, 43, 2, 776)], k: 1, }, /* 658 - "WithGenericArgumentOpt" */ LookaheadDFA { prod0: -1, transitions: &[ - Trans(0, 7, 1, 769), - Trans(0, 8, 1, 769), - Trans(0, 9, 1, 769), - Trans(0, 10, 1, 769), - Trans(0, 11, 1, 769), - Trans(0, 43, 2, 770), - Trans(0, 115, 1, 769), - Trans(0, 116, 1, 769), + Trans(0, 7, 1, 770), + Trans(0, 8, 1, 770), + Trans(0, 9, 1, 770), + Trans(0, 10, 1, 770), + Trans(0, 11, 1, 770), + Trans(0, 43, 2, 771), + Trans(0, 115, 1, 770), + Trans(0, 116, 1, 770), ], k: 1, }, /* 659 - "WithGenericParameter" */ LookaheadDFA { - prod0: 759, + prod0: 760, transitions: &[], k: 0, }, /* 660 - "WithGenericParameterItem" */ LookaheadDFA { - prod0: 765, + prod0: 766, transitions: &[], k: 0, }, @@ -20788,15 +20789,15 @@ pub const LOOKAHEAD_AUTOMATA: &[LookaheadDFA; 676] = &[ LookaheadDFA { prod0: -1, transitions: &[ - Trans(0, 32, 2, 767), - Trans(0, 36, 1, 766), - Trans(0, 43, 2, 767), + Trans(0, 32, 2, 768), + Trans(0, 36, 1, 767), + Trans(0, 43, 2, 768), ], k: 1, }, /* 662 - "WithGenericParameterList" */ LookaheadDFA { - prod0: 760, + prod0: 761, transitions: &[], k: 0, }, @@ -20809,98 +20810,98 @@ pub const LOOKAHEAD_AUTOMATA: &[LookaheadDFA; 676] = &[ Trans(1, 5, 4, -1), Trans(1, 43, 13, -1), Trans(1, 116, 2, -1), - Trans(2, 5, 3, 761), - Trans(2, 31, 3, 761), - Trans(4, 43, 12, 762), - Trans(4, 116, 3, 761), + Trans(2, 5, 3, 762), + Trans(2, 31, 3, 762), + Trans(4, 43, 12, 763), + Trans(4, 116, 3, 762), Trans(5, 5, 6, -1), Trans(5, 13, 7, -1), Trans(5, 37, 8, -1), Trans(5, 40, 9, -1), Trans(5, 42, 10, -1), Trans(5, 67, 11, -1), - Trans(6, 13, 12, 762), - Trans(6, 37, 12, 762), - Trans(6, 40, 12, 762), - Trans(6, 42, 12, 762), - Trans(6, 67, 12, 762), - Trans(7, 5, 12, 762), - Trans(7, 53, 12, 762), - Trans(7, 55, 12, 762), - Trans(7, 56, 12, 762), - Trans(7, 57, 12, 762), - Trans(7, 64, 12, 762), - Trans(7, 65, 12, 762), - Trans(7, 69, 12, 762), - Trans(7, 70, 12, 762), - Trans(7, 83, 12, 762), - Trans(7, 96, 12, 762), - Trans(7, 97, 12, 762), - Trans(7, 98, 12, 762), - Trans(7, 99, 12, 762), - Trans(7, 100, 12, 762), - Trans(7, 103, 12, 762), - Trans(7, 105, 12, 762), - Trans(7, 108, 12, 762), - Trans(7, 110, 12, 762), - Trans(7, 111, 12, 762), - Trans(7, 115, 12, 762), - Trans(7, 116, 12, 762), - Trans(8, 5, 12, 762), - Trans(8, 42, 12, 762), - Trans(9, 5, 12, 762), - Trans(9, 31, 12, 762), - Trans(9, 37, 12, 762), - Trans(9, 40, 12, 762), - Trans(9, 44, 12, 762), - Trans(9, 49, 12, 762), - Trans(9, 50, 12, 762), - Trans(9, 51, 12, 762), - Trans(9, 54, 12, 762), - Trans(9, 58, 12, 762), - Trans(9, 62, 12, 762), - Trans(9, 63, 12, 762), - Trans(9, 66, 12, 762), - Trans(9, 67, 12, 762), - Trans(9, 68, 12, 762), - Trans(9, 71, 12, 762), - Trans(9, 72, 12, 762), - Trans(9, 73, 12, 762), - Trans(9, 75, 12, 762), - Trans(9, 79, 12, 762), - Trans(9, 82, 12, 762), - Trans(9, 85, 12, 762), - Trans(9, 101, 12, 762), - Trans(9, 102, 12, 762), - Trans(9, 106, 12, 762), - Trans(9, 107, 12, 762), - Trans(9, 109, 12, 762), - Trans(9, 112, 12, 762), - Trans(9, 113, 12, 762), - Trans(9, 114, 12, 762), - Trans(9, 115, 12, 762), - Trans(9, 116, 12, 762), - Trans(10, 5, 12, 762), - Trans(10, 37, 12, 762), - Trans(10, 40, 12, 762), - Trans(10, 46, 12, 762), - Trans(10, 116, 12, 762), - Trans(11, 5, 12, 762), - Trans(11, 115, 12, 762), - Trans(11, 116, 12, 762), - Trans(13, 5, 12, 762), - Trans(13, 13, 12, 762), - Trans(13, 37, 12, 762), - Trans(13, 40, 12, 762), - Trans(13, 42, 12, 762), - Trans(13, 67, 12, 762), + Trans(6, 13, 12, 763), + Trans(6, 37, 12, 763), + Trans(6, 40, 12, 763), + Trans(6, 42, 12, 763), + Trans(6, 67, 12, 763), + Trans(7, 5, 12, 763), + Trans(7, 53, 12, 763), + Trans(7, 55, 12, 763), + Trans(7, 56, 12, 763), + Trans(7, 57, 12, 763), + Trans(7, 64, 12, 763), + Trans(7, 65, 12, 763), + Trans(7, 69, 12, 763), + Trans(7, 70, 12, 763), + Trans(7, 83, 12, 763), + Trans(7, 96, 12, 763), + Trans(7, 97, 12, 763), + Trans(7, 98, 12, 763), + Trans(7, 99, 12, 763), + Trans(7, 100, 12, 763), + Trans(7, 103, 12, 763), + Trans(7, 105, 12, 763), + Trans(7, 108, 12, 763), + Trans(7, 110, 12, 763), + Trans(7, 111, 12, 763), + Trans(7, 115, 12, 763), + Trans(7, 116, 12, 763), + Trans(8, 5, 12, 763), + Trans(8, 42, 12, 763), + Trans(9, 5, 12, 763), + Trans(9, 31, 12, 763), + Trans(9, 37, 12, 763), + Trans(9, 40, 12, 763), + Trans(9, 44, 12, 763), + Trans(9, 49, 12, 763), + Trans(9, 50, 12, 763), + Trans(9, 51, 12, 763), + Trans(9, 54, 12, 763), + Trans(9, 58, 12, 763), + Trans(9, 62, 12, 763), + Trans(9, 63, 12, 763), + Trans(9, 66, 12, 763), + Trans(9, 67, 12, 763), + Trans(9, 68, 12, 763), + Trans(9, 71, 12, 763), + Trans(9, 72, 12, 763), + Trans(9, 73, 12, 763), + Trans(9, 75, 12, 763), + Trans(9, 79, 12, 763), + Trans(9, 82, 12, 763), + Trans(9, 85, 12, 763), + Trans(9, 101, 12, 763), + Trans(9, 102, 12, 763), + Trans(9, 106, 12, 763), + Trans(9, 107, 12, 763), + Trans(9, 109, 12, 763), + Trans(9, 112, 12, 763), + Trans(9, 113, 12, 763), + Trans(9, 114, 12, 763), + Trans(9, 115, 12, 763), + Trans(9, 116, 12, 763), + Trans(10, 5, 12, 763), + Trans(10, 37, 12, 763), + Trans(10, 40, 12, 763), + Trans(10, 46, 12, 763), + Trans(10, 116, 12, 763), + Trans(11, 5, 12, 763), + Trans(11, 115, 12, 763), + Trans(11, 116, 12, 763), + Trans(13, 5, 12, 763), + Trans(13, 13, 12, 763), + Trans(13, 37, 12, 763), + Trans(13, 40, 12, 763), + Trans(13, 42, 12, 763), + Trans(13, 67, 12, 763), ], k: 3, }, /* 664 - "WithGenericParameterListOpt" */ LookaheadDFA { prod0: -1, - transitions: &[Trans(0, 32, 1, 763), Trans(0, 43, 2, 764)], + transitions: &[Trans(0, 32, 1, 764), Trans(0, 43, 2, 765)], k: 1, }, /* 665 - "WithParameter" */ @@ -21110,7 +21111,7 @@ pub const LOOKAHEAD_AUTOMATA: &[LookaheadDFA; 676] = &[ }, ]; -pub const PRODUCTIONS: &[Production; 968] = &[ +pub const PRODUCTIONS: &[Production; 969] = &[ // 0 - CommentsTerm: "(?:(?:(?://.*(?:\r\n|\r|\n|$))|(?:(?ms)/\u{2a}.*?\u{2a}/))\s*)+"; Production { lhs: 103, @@ -25156,42 +25157,47 @@ pub const PRODUCTIONS: &[Production; 968] = &[ lhs: 254, production: &[ParseType::N(619)], }, - // 758 - GenericBound: ScopedIdentifier; + // 758 - GenericBound: Inst ScopedIdentifier; + Production { + lhs: 254, + production: &[ParseType::N(554), ParseType::N(315)], + }, + // 759 - GenericBound: ScopedIdentifier; Production { lhs: 254, production: &[ParseType::N(554)], }, - // 759 - WithGenericParameter: ColonColonLAngle WithGenericParameterList RAngle; + // 760 - WithGenericParameter: ColonColonLAngle WithGenericParameterList RAngle; Production { lhs: 659, production: &[ParseType::N(505), ParseType::N(662), ParseType::N(91)], }, - // 760 - WithGenericParameterList: WithGenericParameterItem WithGenericParameterListList /* Vec */ WithGenericParameterListOpt /* Option */; + // 761 - WithGenericParameterList: WithGenericParameterItem WithGenericParameterListList /* Vec */ WithGenericParameterListOpt /* Option */; Production { lhs: 662, production: &[ParseType::N(664), ParseType::N(663), ParseType::N(660)], }, - // 761 - WithGenericParameterListList: Comma WithGenericParameterItem WithGenericParameterListList; + // 762 - WithGenericParameterListList: Comma WithGenericParameterItem WithGenericParameterListList; Production { lhs: 663, production: &[ParseType::N(663), ParseType::N(660), ParseType::N(98)], }, - // 762 - WithGenericParameterListList: ; + // 763 - WithGenericParameterListList: ; Production { lhs: 663, production: &[], }, - // 763 - WithGenericParameterListOpt: Comma; + // 764 - WithGenericParameterListOpt: Comma; Production { lhs: 664, production: &[ParseType::N(98)], }, - // 764 - WithGenericParameterListOpt: ; + // 765 - WithGenericParameterListOpt: ; Production { lhs: 664, production: &[], }, - // 765 - WithGenericParameterItem: Identifier Colon GenericBound WithGenericParameterItemOpt /* Option */; + // 766 - WithGenericParameterItem: Identifier Colon GenericBound WithGenericParameterItemOpt /* Option */; Production { lhs: 660, production: &[ @@ -25201,17 +25207,17 @@ pub const PRODUCTIONS: &[Production; 968] = &[ ParseType::N(268), ], }, - // 766 - WithGenericParameterItemOpt: Equ WithGenericArgumentItem; + // 767 - WithGenericParameterItemOpt: Equ WithGenericArgumentItem; Production { lhs: 661, production: &[ParseType::N(654), ParseType::N(160)], }, - // 767 - WithGenericParameterItemOpt: ; + // 768 - WithGenericParameterItemOpt: ; Production { lhs: 661, production: &[], }, - // 768 - WithGenericArgument: ColonColonLAngle Push(2) WithGenericArgumentOpt /* Option */ RAngle Pop; + // 769 - WithGenericArgument: ColonColonLAngle Push(2) WithGenericArgumentOpt /* Option */ RAngle Pop; Production { lhs: 653, production: &[ @@ -25222,132 +25228,132 @@ pub const PRODUCTIONS: &[Production; 968] = &[ ParseType::N(91), ], }, - // 769 - WithGenericArgumentOpt: WithGenericArgumentList; + // 770 - WithGenericArgumentOpt: WithGenericArgumentList; Production { lhs: 658, production: &[ParseType::N(655)], }, - // 770 - WithGenericArgumentOpt: ; + // 771 - WithGenericArgumentOpt: ; Production { lhs: 658, production: &[], }, - // 771 - WithGenericArgumentList: WithGenericArgumentItem WithGenericArgumentListList /* Vec */ WithGenericArgumentListOpt /* Option */; + // 772 - WithGenericArgumentList: WithGenericArgumentItem WithGenericArgumentListList /* Vec */ WithGenericArgumentListOpt /* Option */; Production { lhs: 655, production: &[ParseType::N(657), ParseType::N(656), ParseType::N(654)], }, - // 772 - WithGenericArgumentListList: Comma WithGenericArgumentItem WithGenericArgumentListList; + // 773 - WithGenericArgumentListList: Comma WithGenericArgumentItem WithGenericArgumentListList; Production { lhs: 656, production: &[ParseType::N(656), ParseType::N(654), ParseType::N(98)], }, - // 773 - WithGenericArgumentListList: ; + // 774 - WithGenericArgumentListList: ; Production { lhs: 656, production: &[], }, - // 774 - WithGenericArgumentListOpt: Comma; + // 775 - WithGenericArgumentListOpt: Comma; Production { lhs: 657, production: &[ParseType::N(98)], }, - // 775 - WithGenericArgumentListOpt: ; + // 776 - WithGenericArgumentListOpt: ; Production { lhs: 657, production: &[], }, - // 776 - WithGenericArgumentItem: ScopedIdentifier; + // 777 - WithGenericArgumentItem: ScopedIdentifier; Production { lhs: 654, production: &[ParseType::N(554)], }, - // 777 - WithGenericArgumentItem: Number; + // 778 - WithGenericArgumentItem: Number; Production { lhs: 654, production: &[ParseType::N(415)], }, - // 778 - PortDeclaration: LParen PortDeclarationOpt /* Option */ RParen; + // 779 - PortDeclaration: LParen PortDeclarationOpt /* Option */ RParen; Production { lhs: 474, production: &[ParseType::N(514), ParseType::N(483), ParseType::N(364)], }, - // 779 - PortDeclarationOpt: PortDeclarationList; + // 780 - PortDeclarationOpt: PortDeclarationList; Production { lhs: 483, production: &[ParseType::N(480)], }, - // 780 - PortDeclarationOpt: ; + // 781 - PortDeclarationOpt: ; Production { lhs: 483, production: &[], }, - // 781 - PortDeclarationList: PortDeclarationGroup PortDeclarationListList /* Vec */ PortDeclarationListOpt /* Option */; + // 782 - PortDeclarationList: PortDeclarationGroup PortDeclarationListList /* Vec */ PortDeclarationListOpt /* Option */; Production { lhs: 480, production: &[ParseType::N(482), ParseType::N(481), ParseType::N(475)], }, - // 782 - PortDeclarationListList: Comma PortDeclarationGroup PortDeclarationListList; + // 783 - PortDeclarationListList: Comma PortDeclarationGroup PortDeclarationListList; Production { lhs: 481, production: &[ParseType::N(481), ParseType::N(475), ParseType::N(98)], }, - // 783 - PortDeclarationListList: ; + // 784 - PortDeclarationListList: ; Production { lhs: 481, production: &[], }, - // 784 - PortDeclarationListOpt: Comma; + // 785 - PortDeclarationListOpt: Comma; Production { lhs: 482, production: &[ParseType::N(98)], }, - // 785 - PortDeclarationListOpt: ; + // 786 - PortDeclarationListOpt: ; Production { lhs: 482, production: &[], }, - // 786 - PortDeclarationGroup: PortDeclarationGroupList /* Vec */ PortDeclarationGroupGroup; + // 787 - PortDeclarationGroup: PortDeclarationGroupList /* Vec */ PortDeclarationGroupGroup; Production { lhs: 475, production: &[ParseType::N(476), ParseType::N(477)], }, - // 787 - PortDeclarationGroupGroup: LBrace PortDeclarationList RBrace; + // 788 - PortDeclarationGroupGroup: LBrace PortDeclarationList RBrace; Production { lhs: 476, production: &[ParseType::N(508), ParseType::N(480), ParseType::N(358)], }, - // 788 - PortDeclarationGroupGroup: PortDeclarationItem; + // 789 - PortDeclarationGroupGroup: PortDeclarationItem; Production { lhs: 476, production: &[ParseType::N(478)], }, - // 789 - PortDeclarationGroupList: Attribute PortDeclarationGroupList; + // 790 - PortDeclarationGroupList: Attribute PortDeclarationGroupList; Production { lhs: 477, production: &[ParseType::N(477), ParseType::N(43)], }, - // 790 - PortDeclarationGroupList: ; + // 791 - PortDeclarationGroupList: ; Production { lhs: 477, production: &[], }, - // 791 - PortDeclarationItem: Identifier Colon PortDeclarationItemGroup; + // 792 - PortDeclarationItem: Identifier Colon PortDeclarationItemGroup; Production { lhs: 478, production: &[ParseType::N(479), ParseType::N(89), ParseType::N(268)], }, - // 792 - PortDeclarationItemGroup: PortTypeConcrete; + // 793 - PortDeclarationItemGroup: PortTypeConcrete; Production { lhs: 479, production: &[ParseType::N(489)], }, - // 793 - PortDeclarationItemGroup: PortTypeAbstract; + // 794 - PortDeclarationItemGroup: PortTypeAbstract; Production { lhs: 479, production: &[ParseType::N(485)], }, - // 794 - PortTypeConcrete: Direction PortTypeConcreteOpt /* Option */ ArrayType PortTypeConcreteOpt0 /* Option */; + // 795 - PortTypeConcrete: Direction PortTypeConcreteOpt /* Option */ ArrayType PortTypeConcreteOpt0 /* Option */; Production { lhs: 489, production: &[ @@ -25357,32 +25363,32 @@ pub const PRODUCTIONS: &[Production; 968] = &[ ParseType::N(122), ], }, - // 795 - PortTypeConcreteOpt0: Equ PortDefaultValue; + // 796 - PortTypeConcreteOpt0: Equ PortDefaultValue; Production { lhs: 491, production: &[ParseType::N(484), ParseType::N(160)], }, - // 796 - PortTypeConcreteOpt0: ; + // 797 - PortTypeConcreteOpt0: ; Production { lhs: 491, production: &[], }, - // 797 - PortTypeConcreteOpt: ClockDomain; + // 798 - PortTypeConcreteOpt: ClockDomain; Production { lhs: 490, production: &[ParseType::N(80)], }, - // 798 - PortTypeConcreteOpt: ; + // 799 - PortTypeConcreteOpt: ; Production { lhs: 490, production: &[], }, - // 799 - PortDefaultValue: Expression; + // 800 - PortDefaultValue: Expression; Production { lhs: 484, production: &[ParseType::N(172)], }, - // 800 - PortTypeAbstract: PortTypeAbstractOpt /* Option */ Interface PortTypeAbstractOpt0 /* Option */ PortTypeAbstractOpt1 /* Option */; + // 801 - PortTypeAbstract: PortTypeAbstractOpt /* Option */ Interface PortTypeAbstractOpt0 /* Option */ PortTypeAbstractOpt1 /* Option */; Production { lhs: 485, production: &[ @@ -25392,67 +25398,67 @@ pub const PRODUCTIONS: &[Production; 968] = &[ ParseType::N(486), ], }, - // 801 - PortTypeAbstractOpt1: Array; + // 802 - PortTypeAbstractOpt1: Array; Production { lhs: 488, production: &[ParseType::N(21)], }, - // 802 - PortTypeAbstractOpt1: ; + // 803 - PortTypeAbstractOpt1: ; Production { lhs: 488, production: &[], }, - // 803 - PortTypeAbstractOpt0: ColonColon Identifier; + // 804 - PortTypeAbstractOpt0: ColonColon Identifier; Production { lhs: 487, production: &[ParseType::N(268), ParseType::N(90)], }, - // 804 - PortTypeAbstractOpt0: ; + // 805 - PortTypeAbstractOpt0: ; Production { lhs: 487, production: &[], }, - // 805 - PortTypeAbstractOpt: ClockDomain; + // 806 - PortTypeAbstractOpt: ClockDomain; Production { lhs: 486, production: &[ParseType::N(80)], }, - // 806 - PortTypeAbstractOpt: ; + // 807 - PortTypeAbstractOpt: ; Production { lhs: 486, production: &[], }, - // 807 - Direction: Input; + // 808 - Direction: Input; Production { lhs: 122, production: &[ParseType::N(308)], }, - // 808 - Direction: Output; + // 809 - Direction: Output; Production { lhs: 122, production: &[ParseType::N(449)], }, - // 809 - Direction: Inout; + // 810 - Direction: Inout; Production { lhs: 122, production: &[ParseType::N(305)], }, - // 810 - Direction: Ref; + // 811 - Direction: Ref; Production { lhs: 122, production: &[ParseType::N(525)], }, - // 811 - Direction: Modport; + // 812 - Direction: Modport; Production { lhs: 122, production: &[ParseType::N(386)], }, - // 812 - Direction: Import; + // 813 - Direction: Import; Production { lhs: 122, production: &[ParseType::N(289)], }, - // 813 - FunctionDeclaration: Function Identifier FunctionDeclarationOpt /* Option */ FunctionDeclarationOpt0 /* Option */ FunctionDeclarationOpt1 /* Option */ StatementBlock; + // 814 - FunctionDeclaration: Function Identifier FunctionDeclarationOpt /* Option */ FunctionDeclarationOpt0 /* Option */ FunctionDeclarationOpt1 /* Option */ StatementBlock; Production { lhs: 232, production: &[ @@ -25464,37 +25470,37 @@ pub const PRODUCTIONS: &[Production; 968] = &[ ParseType::N(229), ], }, - // 814 - FunctionDeclarationOpt1: MinusGT ScalarType; + // 815 - FunctionDeclarationOpt1: MinusGT ScalarType; Production { lhs: 235, production: &[ParseType::N(550), ParseType::N(383)], }, - // 815 - FunctionDeclarationOpt1: ; + // 816 - FunctionDeclarationOpt1: ; Production { lhs: 235, production: &[], }, - // 816 - FunctionDeclarationOpt0: PortDeclaration; + // 817 - FunctionDeclarationOpt0: PortDeclaration; Production { lhs: 234, production: &[ParseType::N(474)], }, - // 817 - FunctionDeclarationOpt0: ; + // 818 - FunctionDeclarationOpt0: ; Production { lhs: 234, production: &[], }, - // 818 - FunctionDeclarationOpt: WithGenericParameter; + // 819 - FunctionDeclarationOpt: WithGenericParameter; Production { lhs: 233, production: &[ParseType::N(659)], }, - // 819 - FunctionDeclarationOpt: ; + // 820 - FunctionDeclarationOpt: ; Production { lhs: 233, production: &[], }, - // 820 - ImportDeclaration: Import ScopedIdentifier ImportDeclarationOpt /* Option */ Semicolon; + // 821 - ImportDeclaration: Import ScopedIdentifier ImportDeclarationOpt /* Option */ Semicolon; Production { lhs: 290, production: &[ @@ -25504,42 +25510,42 @@ pub const PRODUCTIONS: &[Production; 968] = &[ ParseType::N(289), ], }, - // 821 - ImportDeclarationOpt: ColonColon Star; + // 822 - ImportDeclarationOpt: ColonColon Star; Production { lhs: 291, production: &[ParseType::N(568), ParseType::N(90)], }, - // 822 - ImportDeclarationOpt: ; + // 823 - ImportDeclarationOpt: ; Production { lhs: 291, production: &[], }, - // 823 - ExportDeclaration: Export ExportDeclarationGroup Semicolon; + // 824 - ExportDeclaration: Export ExportDeclarationGroup Semicolon; Production { lhs: 167, production: &[ParseType::N(562), ParseType::N(168), ParseType::N(166)], }, - // 824 - ExportDeclarationGroup: Star; + // 825 - ExportDeclarationGroup: Star; Production { lhs: 168, production: &[ParseType::N(568)], }, - // 825 - ExportDeclarationGroup: ScopedIdentifier ExportDeclarationOpt /* Option */; + // 826 - ExportDeclarationGroup: ScopedIdentifier ExportDeclarationOpt /* Option */; Production { lhs: 168, production: &[ParseType::N(169), ParseType::N(554)], }, - // 826 - ExportDeclarationOpt: ColonColon Star; + // 827 - ExportDeclarationOpt: ColonColon Star; Production { lhs: 169, production: &[ParseType::N(568), ParseType::N(90)], }, - // 827 - ExportDeclarationOpt: ; + // 828 - ExportDeclarationOpt: ; Production { lhs: 169, production: &[], }, - // 828 - UnsafeBlock: Unsafe LParen Identifier RParen LBrace UnsafeBlockList /* Vec */ RBrace; + // 829 - UnsafeBlock: Unsafe LParen Identifier RParen LBrace UnsafeBlockList /* Vec */ RBrace; Production { lhs: 638, production: &[ @@ -25552,17 +25558,17 @@ pub const PRODUCTIONS: &[Production; 968] = &[ ParseType::N(637), ], }, - // 829 - UnsafeBlockList: GenerateGroup UnsafeBlockList; + // 830 - UnsafeBlockList: GenerateGroup UnsafeBlockList; Production { lhs: 639, production: &[ParseType::N(639), ParseType::N(241)], }, - // 830 - UnsafeBlockList: ; + // 831 - UnsafeBlockList: ; Production { lhs: 639, production: &[], }, - // 831 - ModuleDeclaration: ModuleDeclarationOpt /* Option */ Module Identifier ModuleDeclarationOpt0 /* Option */ ModuleDeclarationOpt1 /* Option */ ModuleDeclarationOpt2 /* Option */ ModuleDeclarationOpt3 /* Option */ LBrace ModuleDeclarationList /* Vec */ RBrace; + // 832 - ModuleDeclaration: ModuleDeclarationOpt /* Option */ Module Identifier ModuleDeclarationOpt0 /* Option */ ModuleDeclarationOpt1 /* Option */ ModuleDeclarationOpt2 /* Option */ ModuleDeclarationOpt3 /* Option */ LBrace ModuleDeclarationList /* Vec */ RBrace; Production { lhs: 398, production: &[ @@ -25578,107 +25584,107 @@ pub const PRODUCTIONS: &[Production; 968] = &[ ParseType::N(400), ], }, - // 832 - ModuleDeclarationList: ModuleGroup ModuleDeclarationList; + // 833 - ModuleDeclarationList: ModuleGroup ModuleDeclarationList; Production { lhs: 399, production: &[ParseType::N(399), ParseType::N(405)], }, - // 833 - ModuleDeclarationList: ; + // 834 - ModuleDeclarationList: ; Production { lhs: 399, production: &[], }, - // 834 - ModuleDeclarationOpt3: PortDeclaration; + // 835 - ModuleDeclarationOpt3: PortDeclaration; Production { lhs: 404, production: &[ParseType::N(474)], }, - // 835 - ModuleDeclarationOpt3: ; + // 836 - ModuleDeclarationOpt3: ; Production { lhs: 404, production: &[], }, - // 836 - ModuleDeclarationOpt2: WithParameter; + // 837 - ModuleDeclarationOpt2: WithParameter; Production { lhs: 403, production: &[ParseType::N(665)], }, - // 837 - ModuleDeclarationOpt2: ; + // 838 - ModuleDeclarationOpt2: ; Production { lhs: 403, production: &[], }, - // 838 - ModuleDeclarationOpt1: For ScopedIdentifier; + // 839 - ModuleDeclarationOpt1: For ScopedIdentifier; Production { lhs: 402, production: &[ParseType::N(554), ParseType::N(224)], }, - // 839 - ModuleDeclarationOpt1: ; + // 840 - ModuleDeclarationOpt1: ; Production { lhs: 402, production: &[], }, - // 840 - ModuleDeclarationOpt0: WithGenericParameter; + // 841 - ModuleDeclarationOpt0: WithGenericParameter; Production { lhs: 401, production: &[ParseType::N(659)], }, - // 841 - ModuleDeclarationOpt0: ; + // 842 - ModuleDeclarationOpt0: ; Production { lhs: 401, production: &[], }, - // 842 - ModuleDeclarationOpt: Pub; + // 843 - ModuleDeclarationOpt: Pub; Production { lhs: 400, production: &[ParseType::N(499)], }, - // 843 - ModuleDeclarationOpt: ; + // 844 - ModuleDeclarationOpt: ; Production { lhs: 400, production: &[], }, - // 844 - ModuleGroup: ModuleGroupList /* Vec */ ModuleGroupGroup; + // 845 - ModuleGroup: ModuleGroupList /* Vec */ ModuleGroupGroup; Production { lhs: 405, production: &[ParseType::N(406), ParseType::N(408)], }, - // 845 - ModuleGroupGroup: LBrace ModuleGroupGroupList /* Vec */ RBrace; + // 846 - ModuleGroupGroup: LBrace ModuleGroupGroupList /* Vec */ RBrace; Production { lhs: 406, production: &[ParseType::N(508), ParseType::N(407), ParseType::N(358)], }, - // 846 - ModuleGroupGroupList: ModuleGroup ModuleGroupGroupList; + // 847 - ModuleGroupGroupList: ModuleGroup ModuleGroupGroupList; Production { lhs: 407, production: &[ParseType::N(407), ParseType::N(405)], }, - // 847 - ModuleGroupGroupList: ; + // 848 - ModuleGroupGroupList: ; Production { lhs: 407, production: &[], }, - // 848 - ModuleGroupGroup: ModuleItem; + // 849 - ModuleGroupGroup: ModuleItem; Production { lhs: 406, production: &[ParseType::N(409)], }, - // 849 - ModuleGroupList: Attribute ModuleGroupList; + // 850 - ModuleGroupList: Attribute ModuleGroupList; Production { lhs: 408, production: &[ParseType::N(408), ParseType::N(43)], }, - // 850 - ModuleGroupList: ; + // 851 - ModuleGroupList: ; Production { lhs: 408, production: &[], }, - // 851 - ModuleItem: GenerateItem; + // 852 - ModuleItem: GenerateItem; Production { lhs: 409, production: &[ParseType::N(248)], }, - // 852 - InterfaceDeclaration: InterfaceDeclarationOpt /* Option */ Interface Identifier InterfaceDeclarationOpt0 /* Option */ InterfaceDeclarationOpt1 /* Option */ LBrace InterfaceDeclarationList /* Vec */ RBrace; + // 853 - InterfaceDeclaration: InterfaceDeclarationOpt /* Option */ Interface Identifier InterfaceDeclarationOpt0 /* Option */ InterfaceDeclarationOpt1 /* Option */ LBrace InterfaceDeclarationList /* Vec */ RBrace; Production { lhs: 343, production: &[ @@ -25692,92 +25698,92 @@ pub const PRODUCTIONS: &[Production; 968] = &[ ParseType::N(345), ], }, - // 853 - InterfaceDeclarationList: InterfaceGroup InterfaceDeclarationList; + // 854 - InterfaceDeclarationList: InterfaceGroup InterfaceDeclarationList; Production { lhs: 344, production: &[ParseType::N(344), ParseType::N(348)], }, - // 854 - InterfaceDeclarationList: ; + // 855 - InterfaceDeclarationList: ; Production { lhs: 344, production: &[], }, - // 855 - InterfaceDeclarationOpt1: WithParameter; + // 856 - InterfaceDeclarationOpt1: WithParameter; Production { lhs: 347, production: &[ParseType::N(665)], }, - // 856 - InterfaceDeclarationOpt1: ; + // 857 - InterfaceDeclarationOpt1: ; Production { lhs: 347, production: &[], }, - // 857 - InterfaceDeclarationOpt0: WithGenericParameter; + // 858 - InterfaceDeclarationOpt0: WithGenericParameter; Production { lhs: 346, production: &[ParseType::N(659)], }, - // 858 - InterfaceDeclarationOpt0: ; + // 859 - InterfaceDeclarationOpt0: ; Production { lhs: 346, production: &[], }, - // 859 - InterfaceDeclarationOpt: Pub; + // 860 - InterfaceDeclarationOpt: Pub; Production { lhs: 345, production: &[ParseType::N(499)], }, - // 860 - InterfaceDeclarationOpt: ; + // 861 - InterfaceDeclarationOpt: ; Production { lhs: 345, production: &[], }, - // 861 - InterfaceGroup: InterfaceGroupList /* Vec */ InterfaceGroupGroup; + // 862 - InterfaceGroup: InterfaceGroupList /* Vec */ InterfaceGroupGroup; Production { lhs: 348, production: &[ParseType::N(349), ParseType::N(351)], }, - // 862 - InterfaceGroupGroup: LBrace InterfaceGroupGroupList /* Vec */ RBrace; + // 863 - InterfaceGroupGroup: LBrace InterfaceGroupGroupList /* Vec */ RBrace; Production { lhs: 349, production: &[ParseType::N(508), ParseType::N(350), ParseType::N(358)], }, - // 863 - InterfaceGroupGroupList: InterfaceGroup InterfaceGroupGroupList; + // 864 - InterfaceGroupGroupList: InterfaceGroup InterfaceGroupGroupList; Production { lhs: 350, production: &[ParseType::N(350), ParseType::N(348)], }, - // 864 - InterfaceGroupGroupList: ; + // 865 - InterfaceGroupGroupList: ; Production { lhs: 350, production: &[], }, - // 865 - InterfaceGroupGroup: InterfaceItem; + // 866 - InterfaceGroupGroup: InterfaceItem; Production { lhs: 349, production: &[ParseType::N(352)], }, - // 866 - InterfaceGroupList: Attribute InterfaceGroupList; + // 867 - InterfaceGroupList: Attribute InterfaceGroupList; Production { lhs: 351, production: &[ParseType::N(351), ParseType::N(43)], }, - // 867 - InterfaceGroupList: ; + // 868 - InterfaceGroupList: ; Production { lhs: 351, production: &[], }, - // 868 - InterfaceItem: GenerateItem; + // 869 - InterfaceItem: GenerateItem; Production { lhs: 352, production: &[ParseType::N(248)], }, - // 869 - InterfaceItem: ModportDeclaration; + // 870 - InterfaceItem: ModportDeclaration; Production { lhs: 352, production: &[ParseType::N(387)], }, - // 870 - GenerateIfDeclaration: If Expression GenerateNamedBlock GenerateIfDeclarationList /* Vec */ GenerateIfDeclarationOpt /* Option */; + // 871 - GenerateIfDeclaration: If Expression GenerateNamedBlock GenerateIfDeclarationList /* Vec */ GenerateIfDeclarationOpt /* Option */; Production { lhs: 245, production: &[ @@ -25788,7 +25794,7 @@ pub const PRODUCTIONS: &[Production; 968] = &[ ParseType::N(275), ], }, - // 871 - GenerateIfDeclarationList: Else If Expression GenerateOptionalNamedBlock GenerateIfDeclarationList; + // 872 - GenerateIfDeclarationList: Else If Expression GenerateOptionalNamedBlock GenerateIfDeclarationList; Production { lhs: 246, production: &[ @@ -25799,22 +25805,22 @@ pub const PRODUCTIONS: &[Production; 968] = &[ ParseType::N(135), ], }, - // 872 - GenerateIfDeclarationList: ; + // 873 - GenerateIfDeclarationList: ; Production { lhs: 246, production: &[], }, - // 873 - GenerateIfDeclarationOpt: Else GenerateOptionalNamedBlock; + // 874 - GenerateIfDeclarationOpt: Else GenerateOptionalNamedBlock; Production { lhs: 247, production: &[ParseType::N(251), ParseType::N(135)], }, - // 874 - GenerateIfDeclarationOpt: ; + // 875 - GenerateIfDeclarationOpt: ; Production { lhs: 247, production: &[], }, - // 875 - GenerateForDeclaration: For Identifier In Range GenerateForDeclarationOpt /* Option */ GenerateNamedBlock; + // 876 - GenerateForDeclaration: For Identifier In Range GenerateForDeclarationOpt /* Option */ GenerateNamedBlock; Production { lhs: 239, production: &[ @@ -25826,22 +25832,22 @@ pub const PRODUCTIONS: &[Production; 968] = &[ ParseType::N(224), ], }, - // 876 - GenerateForDeclarationOpt: Step AssignmentOperator Expression; + // 877 - GenerateForDeclarationOpt: Step AssignmentOperator Expression; Production { lhs: 240, production: &[ParseType::N(172), ParseType::N(40), ParseType::N(581)], }, - // 877 - GenerateForDeclarationOpt: ; + // 878 - GenerateForDeclarationOpt: ; Production { lhs: 240, production: &[], }, - // 878 - GenerateBlockDeclaration: GenerateNamedBlock; + // 879 - GenerateBlockDeclaration: GenerateNamedBlock; Production { lhs: 238, production: &[ParseType::N(249)], }, - // 879 - GenerateNamedBlock: Colon Identifier LBrace GenerateNamedBlockList /* Vec */ RBrace; + // 880 - GenerateNamedBlock: Colon Identifier LBrace GenerateNamedBlockList /* Vec */ RBrace; Production { lhs: 249, production: &[ @@ -25852,17 +25858,17 @@ pub const PRODUCTIONS: &[Production; 968] = &[ ParseType::N(89), ], }, - // 880 - GenerateNamedBlockList: GenerateGroup GenerateNamedBlockList; + // 881 - GenerateNamedBlockList: GenerateGroup GenerateNamedBlockList; Production { lhs: 250, production: &[ParseType::N(250), ParseType::N(241)], }, - // 881 - GenerateNamedBlockList: ; + // 882 - GenerateNamedBlockList: ; Production { lhs: 250, production: &[], }, - // 882 - GenerateOptionalNamedBlock: GenerateOptionalNamedBlockOpt /* Option */ LBrace GenerateOptionalNamedBlockList /* Vec */ RBrace; + // 883 - GenerateOptionalNamedBlock: GenerateOptionalNamedBlockOpt /* Option */ LBrace GenerateOptionalNamedBlockList /* Vec */ RBrace; Production { lhs: 251, production: &[ @@ -25872,152 +25878,152 @@ pub const PRODUCTIONS: &[Production; 968] = &[ ParseType::N(253), ], }, - // 883 - GenerateOptionalNamedBlockList: GenerateGroup GenerateOptionalNamedBlockList; + // 884 - GenerateOptionalNamedBlockList: GenerateGroup GenerateOptionalNamedBlockList; Production { lhs: 252, production: &[ParseType::N(252), ParseType::N(241)], }, - // 884 - GenerateOptionalNamedBlockList: ; + // 885 - GenerateOptionalNamedBlockList: ; Production { lhs: 252, production: &[], }, - // 885 - GenerateOptionalNamedBlockOpt: Colon Identifier; + // 886 - GenerateOptionalNamedBlockOpt: Colon Identifier; Production { lhs: 253, production: &[ParseType::N(268), ParseType::N(89)], }, - // 886 - GenerateOptionalNamedBlockOpt: ; + // 887 - GenerateOptionalNamedBlockOpt: ; Production { lhs: 253, production: &[], }, - // 887 - GenerateGroup: GenerateGroupList /* Vec */ GenerateGroupGroup; + // 888 - GenerateGroup: GenerateGroupList /* Vec */ GenerateGroupGroup; Production { lhs: 241, production: &[ParseType::N(242), ParseType::N(244)], }, - // 888 - GenerateGroupGroup: LBrace GenerateGroupGroupList /* Vec */ RBrace; + // 889 - GenerateGroupGroup: LBrace GenerateGroupGroupList /* Vec */ RBrace; Production { lhs: 242, production: &[ParseType::N(508), ParseType::N(243), ParseType::N(358)], }, - // 889 - GenerateGroupGroupList: GenerateGroup GenerateGroupGroupList; + // 890 - GenerateGroupGroupList: GenerateGroup GenerateGroupGroupList; Production { lhs: 243, production: &[ParseType::N(243), ParseType::N(241)], }, - // 890 - GenerateGroupGroupList: ; + // 891 - GenerateGroupGroupList: ; Production { lhs: 243, production: &[], }, - // 891 - GenerateGroupGroup: GenerateItem; + // 892 - GenerateGroupGroup: GenerateItem; Production { lhs: 242, production: &[ParseType::N(248)], }, - // 892 - GenerateGroupList: Attribute GenerateGroupList; + // 893 - GenerateGroupList: Attribute GenerateGroupList; Production { lhs: 244, production: &[ParseType::N(244), ParseType::N(43)], }, - // 893 - GenerateGroupList: ; + // 894 - GenerateGroupList: ; Production { lhs: 244, production: &[], }, - // 894 - GenerateItem: LetDeclaration; + // 895 - GenerateItem: LetDeclaration; Production { lhs: 248, production: &[ParseType::N(368)], }, - // 895 - GenerateItem: VarDeclaration; + // 896 - GenerateItem: VarDeclaration; Production { lhs: 248, production: &[ParseType::N(644)], }, - // 896 - GenerateItem: InstDeclaration; + // 897 - GenerateItem: InstDeclaration; Production { lhs: 248, production: &[ParseType::N(316)], }, - // 897 - GenerateItem: ConstDeclaration; + // 898 - GenerateItem: ConstDeclaration; Production { lhs: 248, production: &[ParseType::N(110)], }, - // 898 - GenerateItem: AlwaysFfDeclaration; + // 899 - GenerateItem: AlwaysFfDeclaration; Production { lhs: 248, production: &[ParseType::N(9)], }, - // 899 - GenerateItem: AlwaysCombDeclaration; + // 900 - GenerateItem: AlwaysCombDeclaration; Production { lhs: 248, production: &[ParseType::N(4)], }, - // 900 - GenerateItem: AssignDeclaration; + // 901 - GenerateItem: AssignDeclaration; Production { lhs: 248, production: &[ParseType::N(35)], }, - // 901 - GenerateItem: FunctionDeclaration; + // 902 - GenerateItem: FunctionDeclaration; Production { lhs: 248, production: &[ParseType::N(232)], }, - // 902 - GenerateItem: GenerateIfDeclaration; + // 903 - GenerateItem: GenerateIfDeclaration; Production { lhs: 248, production: &[ParseType::N(245)], }, - // 903 - GenerateItem: GenerateForDeclaration; + // 904 - GenerateItem: GenerateForDeclaration; Production { lhs: 248, production: &[ParseType::N(239)], }, - // 904 - GenerateItem: GenerateBlockDeclaration; + // 905 - GenerateItem: GenerateBlockDeclaration; Production { lhs: 248, production: &[ParseType::N(238)], }, - // 905 - GenerateItem: TypeDefDeclaration; + // 906 - GenerateItem: TypeDefDeclaration; Production { lhs: 248, production: &[ParseType::N(620)], }, - // 906 - GenerateItem: EnumDeclaration; + // 907 - GenerateItem: EnumDeclaration; Production { lhs: 248, production: &[ParseType::N(148)], }, - // 907 - GenerateItem: StructUnionDeclaration; + // 908 - GenerateItem: StructUnionDeclaration; Production { lhs: 248, production: &[ParseType::N(594)], }, - // 908 - GenerateItem: ImportDeclaration; + // 909 - GenerateItem: ImportDeclaration; Production { lhs: 248, production: &[ParseType::N(290)], }, - // 909 - GenerateItem: InitialDeclaration; + // 910 - GenerateItem: InitialDeclaration; Production { lhs: 248, production: &[ParseType::N(302)], }, - // 910 - GenerateItem: FinalDeclaration; + // 911 - GenerateItem: FinalDeclaration; Production { lhs: 248, production: &[ParseType::N(217)], }, - // 911 - GenerateItem: UnsafeBlock; + // 912 - GenerateItem: UnsafeBlock; Production { lhs: 248, production: &[ParseType::N(638)], }, - // 912 - PackageDeclaration: PackageDeclarationOpt /* Option */ Package Identifier PackageDeclarationOpt0 /* Option */ LBrace PackageDeclarationList /* Vec */ RBrace; + // 913 - PackageDeclaration: PackageDeclarationOpt /* Option */ Package Identifier PackageDeclarationOpt0 /* Option */ LBrace PackageDeclarationList /* Vec */ RBrace; Production { lhs: 457, production: &[ @@ -26030,112 +26036,112 @@ pub const PRODUCTIONS: &[Production; 968] = &[ ParseType::N(459), ], }, - // 913 - PackageDeclarationList: PackageGroup PackageDeclarationList; + // 914 - PackageDeclarationList: PackageGroup PackageDeclarationList; Production { lhs: 458, production: &[ParseType::N(458), ParseType::N(461)], }, - // 914 - PackageDeclarationList: ; + // 915 - PackageDeclarationList: ; Production { lhs: 458, production: &[], }, - // 915 - PackageDeclarationOpt0: WithGenericParameter; + // 916 - PackageDeclarationOpt0: WithGenericParameter; Production { lhs: 460, production: &[ParseType::N(659)], }, - // 916 - PackageDeclarationOpt0: ; + // 917 - PackageDeclarationOpt0: ; Production { lhs: 460, production: &[], }, - // 917 - PackageDeclarationOpt: Pub; + // 918 - PackageDeclarationOpt: Pub; Production { lhs: 459, production: &[ParseType::N(499)], }, - // 918 - PackageDeclarationOpt: ; + // 919 - PackageDeclarationOpt: ; Production { lhs: 459, production: &[], }, - // 919 - PackageGroup: PackageGroupList /* Vec */ PackageGroupGroup; + // 920 - PackageGroup: PackageGroupList /* Vec */ PackageGroupGroup; Production { lhs: 461, production: &[ParseType::N(462), ParseType::N(464)], }, - // 920 - PackageGroupGroup: LBrace PackageGroupGroupList /* Vec */ RBrace; + // 921 - PackageGroupGroup: LBrace PackageGroupGroupList /* Vec */ RBrace; Production { lhs: 462, production: &[ParseType::N(508), ParseType::N(463), ParseType::N(358)], }, - // 921 - PackageGroupGroupList: PackageGroup PackageGroupGroupList; + // 922 - PackageGroupGroupList: PackageGroup PackageGroupGroupList; Production { lhs: 463, production: &[ParseType::N(463), ParseType::N(461)], }, - // 922 - PackageGroupGroupList: ; + // 923 - PackageGroupGroupList: ; Production { lhs: 463, production: &[], }, - // 923 - PackageGroupGroup: PackageItem; + // 924 - PackageGroupGroup: PackageItem; Production { lhs: 462, production: &[ParseType::N(465)], }, - // 924 - PackageGroupList: Attribute PackageGroupList; + // 925 - PackageGroupList: Attribute PackageGroupList; Production { lhs: 464, production: &[ParseType::N(464), ParseType::N(43)], }, - // 925 - PackageGroupList: ; + // 926 - PackageGroupList: ; Production { lhs: 464, production: &[], }, - // 926 - PackageItem: VarDeclaration; + // 927 - PackageItem: VarDeclaration; Production { lhs: 465, production: &[ParseType::N(644)], }, - // 927 - PackageItem: ConstDeclaration; + // 928 - PackageItem: ConstDeclaration; Production { lhs: 465, production: &[ParseType::N(110)], }, - // 928 - PackageItem: TypeDefDeclaration; + // 929 - PackageItem: TypeDefDeclaration; Production { lhs: 465, production: &[ParseType::N(620)], }, - // 929 - PackageItem: EnumDeclaration; + // 930 - PackageItem: EnumDeclaration; Production { lhs: 465, production: &[ParseType::N(148)], }, - // 930 - PackageItem: StructUnionDeclaration; + // 931 - PackageItem: StructUnionDeclaration; Production { lhs: 465, production: &[ParseType::N(594)], }, - // 931 - PackageItem: FunctionDeclaration; + // 932 - PackageItem: FunctionDeclaration; Production { lhs: 465, production: &[ParseType::N(232)], }, - // 932 - PackageItem: ImportDeclaration; + // 933 - PackageItem: ImportDeclaration; Production { lhs: 465, production: &[ParseType::N(290)], }, - // 933 - PackageItem: ExportDeclaration; + // 934 - PackageItem: ExportDeclaration; Production { lhs: 465, production: &[ParseType::N(167)], }, - // 934 - ProtoModuleDeclaration: ProtoModuleDeclarationOpt /* Option */ Proto Module Identifier ProtoModuleDeclarationOpt0 /* Option */ ProtoModuleDeclarationOpt1 /* Option */ Semicolon; + // 935 - ProtoModuleDeclaration: ProtoModuleDeclarationOpt /* Option */ Proto Module Identifier ProtoModuleDeclarationOpt0 /* Option */ ProtoModuleDeclarationOpt1 /* Option */ Semicolon; Production { lhs: 493, production: &[ @@ -26148,37 +26154,37 @@ pub const PRODUCTIONS: &[Production; 968] = &[ ParseType::N(494), ], }, - // 935 - ProtoModuleDeclarationOpt1: PortDeclaration; + // 936 - ProtoModuleDeclarationOpt1: PortDeclaration; Production { lhs: 496, production: &[ParseType::N(474)], }, - // 936 - ProtoModuleDeclarationOpt1: ; + // 937 - ProtoModuleDeclarationOpt1: ; Production { lhs: 496, production: &[], }, - // 937 - ProtoModuleDeclarationOpt0: WithParameter; + // 938 - ProtoModuleDeclarationOpt0: WithParameter; Production { lhs: 495, production: &[ParseType::N(665)], }, - // 938 - ProtoModuleDeclarationOpt0: ; + // 939 - ProtoModuleDeclarationOpt0: ; Production { lhs: 495, production: &[], }, - // 939 - ProtoModuleDeclarationOpt: Pub; + // 940 - ProtoModuleDeclarationOpt: Pub; Production { lhs: 494, production: &[ParseType::N(499)], }, - // 940 - ProtoModuleDeclarationOpt: ; + // 941 - ProtoModuleDeclarationOpt: ; Production { lhs: 494, production: &[], }, - // 941 - EmbedDeclaration: Embed LParen Identifier RParen Identifier EmbedContent; + // 942 - EmbedDeclaration: Embed LParen Identifier RParen Identifier EmbedContent; Production { lhs: 142, production: &[ @@ -26190,12 +26196,12 @@ pub const PRODUCTIONS: &[Production; 968] = &[ ParseType::N(138), ], }, - // 942 - EmbedContent: EmbedContentToken : crate::veryl_token::VerylToken ; + // 943 - EmbedContent: EmbedContentToken : crate::veryl_token::VerylToken ; Production { lhs: 139, production: &[ParseType::N(140)], }, - // 943 - EmbedContentToken: LBraceTerm Push(1) LBraceTerm LBraceTerm EmbedContentTokenList /* Vec */ RBraceTerm RBraceTerm RBraceTerm Pop Comments; + // 944 - EmbedContentToken: LBraceTerm Push(1) LBraceTerm LBraceTerm EmbedContentTokenList /* Vec */ RBraceTerm RBraceTerm RBraceTerm Pop Comments; Production { lhs: 140, production: &[ @@ -26211,37 +26217,37 @@ pub const PRODUCTIONS: &[Production; 968] = &[ ParseType::N(359), ], }, - // 944 - EmbedContentTokenList: EmbedItem EmbedContentTokenList; + // 945 - EmbedContentTokenList: EmbedItem EmbedContentTokenList; Production { lhs: 141, production: &[ParseType::N(141), ParseType::N(143)], }, - // 945 - EmbedContentTokenList: ; + // 946 - EmbedContentTokenList: ; Production { lhs: 141, production: &[], }, - // 946 - EmbedItem: LBraceTerm EmbedItemList /* Vec */ RBraceTerm; + // 947 - EmbedItem: LBraceTerm EmbedItemList /* Vec */ RBraceTerm; Production { lhs: 143, production: &[ParseType::N(509), ParseType::N(144), ParseType::N(359)], }, - // 947 - EmbedItemList: EmbedItem EmbedItemList; + // 948 - EmbedItemList: EmbedItem EmbedItemList; Production { lhs: 144, production: &[ParseType::N(144), ParseType::N(143)], }, - // 948 - EmbedItemList: ; + // 949 - EmbedItemList: ; Production { lhs: 144, production: &[], }, - // 949 - EmbedItem: AnyTerm; + // 950 - EmbedItem: AnyTerm; Production { lhs: 143, production: &[ParseType::N(16)], }, - // 950 - IncludeDeclaration: Include LParen Identifier Comma StringLiteral RParen Semicolon; + // 951 - IncludeDeclaration: Include LParen Identifier Comma StringLiteral RParen Semicolon; Production { lhs: 298, production: &[ @@ -26254,87 +26260,87 @@ pub const PRODUCTIONS: &[Production; 968] = &[ ParseType::N(297), ], }, - // 951 - DescriptionGroup: DescriptionGroupList /* Vec */ DescriptionGroupGroup; + // 952 - DescriptionGroup: DescriptionGroupList /* Vec */ DescriptionGroupGroup; Production { lhs: 117, production: &[ParseType::N(118), ParseType::N(120)], }, - // 952 - DescriptionGroupGroup: LBrace DescriptionGroupGroupList /* Vec */ RBrace; + // 953 - DescriptionGroupGroup: LBrace DescriptionGroupGroupList /* Vec */ RBrace; Production { lhs: 118, production: &[ParseType::N(508), ParseType::N(119), ParseType::N(358)], }, - // 953 - DescriptionGroupGroupList: DescriptionGroup DescriptionGroupGroupList; + // 954 - DescriptionGroupGroupList: DescriptionGroup DescriptionGroupGroupList; Production { lhs: 119, production: &[ParseType::N(119), ParseType::N(117)], }, - // 954 - DescriptionGroupGroupList: ; + // 955 - DescriptionGroupGroupList: ; Production { lhs: 119, production: &[], }, - // 955 - DescriptionGroupGroup: DescriptionItem; + // 956 - DescriptionGroupGroup: DescriptionItem; Production { lhs: 118, production: &[ParseType::N(121)], }, - // 956 - DescriptionGroupList: Attribute DescriptionGroupList; + // 957 - DescriptionGroupList: Attribute DescriptionGroupList; Production { lhs: 120, production: &[ParseType::N(120), ParseType::N(43)], }, - // 957 - DescriptionGroupList: ; + // 958 - DescriptionGroupList: ; Production { lhs: 120, production: &[], }, - // 958 - DescriptionItem: ModuleDeclaration; + // 959 - DescriptionItem: ModuleDeclaration; Production { lhs: 121, production: &[ParseType::N(398)], }, - // 959 - DescriptionItem: InterfaceDeclaration; + // 960 - DescriptionItem: InterfaceDeclaration; Production { lhs: 121, production: &[ParseType::N(343)], }, - // 960 - DescriptionItem: PackageDeclaration; + // 961 - DescriptionItem: PackageDeclaration; Production { lhs: 121, production: &[ParseType::N(457)], }, - // 961 - DescriptionItem: ProtoModuleDeclaration; + // 962 - DescriptionItem: ProtoModuleDeclaration; Production { lhs: 121, production: &[ParseType::N(493)], }, - // 962 - DescriptionItem: ImportDeclaration; + // 963 - DescriptionItem: ImportDeclaration; Production { lhs: 121, production: &[ParseType::N(290)], }, - // 963 - DescriptionItem: EmbedDeclaration; + // 964 - DescriptionItem: EmbedDeclaration; Production { lhs: 121, production: &[ParseType::N(142)], }, - // 964 - DescriptionItem: IncludeDeclaration; + // 965 - DescriptionItem: IncludeDeclaration; Production { lhs: 121, production: &[ParseType::N(298)], }, - // 965 - Veryl: Start VerylList /* Vec */; + // 966 - Veryl: Start VerylList /* Vec */; Production { lhs: 649, production: &[ParseType::N(650), ParseType::N(571)], }, - // 966 - VerylList: DescriptionGroup VerylList; + // 967 - VerylList: DescriptionGroup VerylList; Production { lhs: 650, production: &[ParseType::N(650), ParseType::N(117)], }, - // 967 - VerylList: ; + // 968 - VerylList: ; Production { lhs: 650, production: &[], diff --git a/crates/parser/src/veryl_walker.rs b/crates/parser/src/veryl_walker.rs index 93face31..e514aa52 100644 --- a/crates/parser/src/veryl_walker.rs +++ b/crates/parser/src/veryl_walker.rs @@ -2333,6 +2333,10 @@ pub trait VerylWalker { match arg { GenericBound::Const(x) => self.r#const(&x.r#const), GenericBound::Type(x) => self.r#type(&x.r#type), + GenericBound::InstScopedIdentifier(x) => { + self.inst(&x.inst); + self.scoped_identifier(&x.scoped_identifier); + } GenericBound::ScopedIdentifier(x) => self.scoped_identifier(&x.scoped_identifier), } after!(self, generic_bound, arg); diff --git a/crates/parser/veryl.par b/crates/parser/veryl.par index 9241ccab..5e96e37d 100644 --- a/crates/parser/veryl.par +++ b/crates/parser/veryl.par @@ -707,6 +707,7 @@ WithParameterItem: ( Param | Const ) Identifier Colon ( ArrayType | Type ) Equ E GenericBound: Const | Type + | Inst ScopedIdentifier | ScopedIdentifier; WithGenericParameter: ColonColonLAngle WithGenericParameterList RAngle; diff --git a/testcases/map/testcases/sv/54_generic_function.sv.map b/testcases/map/testcases/sv/54_generic_function.sv.map index d037a2f1..18546755 100644 --- a/testcases/map/testcases/sv/54_generic_function.sv.map +++ b/testcases/map/testcases/sv/54_generic_function.sv.map @@ -1 +1 @@ -{"version":3,"file":"54_generic_function.sv.map","sources":["../../../veryl/54_generic_function.veryl"],"names":["","module","Module54",";","function","logic","[","10","]","(","input","a",")","return","+","1","endfunction","20","_a","=","__FuncA__10","_b","_c","__FuncA__20","_d","2","4","12","_e","__FuncB__10__2","_f","14","_g","__FuncB__10__4","_h","endmodule"],"mappings":"AAAAA,AAAAC,sBAAOC,QAASC;IACZC,mBAEKC,MAAKC,CAACC,MAACC,aAFeC;QACpBC,MAAML,MAAKC,CAACC,MAACC,EAAhBG,CAAiBX;IACrBY,EAAEZ,CAAYA;QACVa,OAAOF,EAAEG,EAAEC,CAACZ;IAChBa;IAJAZ,mBAEKC,MAAKC,CAACW,MAACT,aAFeC;QACpBC,MAAML,MAAKC,CAACW,MAACT,EAAhBG,CAAiBX;IACrBY,EAAEZ,CAAYA;QACVa,OAAOF,EAAEG,EAAEC,CAACZ;IAChBa;;IAEQX,MAAKC,CAACC,MAAEC,EAAZU;mBAAcC,EAAEC,WAAWX,CAACM,CAACH,CAACT;IAC1BE,MAAKC,CAACC,MAAEC,EAAZa;mBAAcF,EAAEC,WAAWX,CAACM,CAACH,CAACT;IAC1BE,MAAKC,CAACW,MAAET,EAAZc;mBAAcH,EAAEI,WAAWd,CAACM,CAACH,CAACT;IAC1BE,MAAKC,CAACW,MAAET,EAAZgB;mBAAcL,EAAEI,WAAWd,CAACM,CAACH,CAACT;;IAElCC,mBAEKC,MAAKC,CAACC,GAAEO,EAAEW,KAACjB,gBAFyBC;QAClCC,MAAML,MAAKC,CAACC,GAAEO,EAAEW,KAACjB,EAApBG,CAAqBX;IACzBY,EAAEZ,CAAgBA;QACda,OAAOF,EAAEG,EAAEC,CAACZ;IAChBa;IAJAZ,mBAEKC,MAAKC,CAACC,GAAEO,EAAEY,KAAClB,gBAFyBC;QAClCC,MAAML,MAAKC,CAACC,GAAEO,EAAEY,KAAClB,EAApBG,CAAqBX;IACzBY,EAAEZ,CAAgBA;QACda,OAAOF,EAAEG,EAAEC,CAACZ;IAChBa;;IAEQX,MAAKC,CAACqB,MAAEnB,EAAZoB;mBAAcT,EAAEU,cAAWpB,CAACM,CAACH,CAACT;IAC1BE,MAAKC,CAACqB,MAAEnB,EAAZsB;mBAAcX,EAAEU,cAAWpB,CAACM,CAACH,CAACT;IAC1BE,MAAKC,CAACyB,MAAEvB,EAAZwB;mBAAcb,EAAEc,cAAcxB,CAACM,CAACH,CAACT;IAC7BE,MAAKC,CAACyB,MAAEvB,EAAZ0B;mBAAcf,EAAEc,cAAcxB,CAACM,CAACH,CAACT;AACzCgC"} \ No newline at end of file +{"version":3,"file":"54_generic_function.sv.map","sources":["../../../veryl/54_generic_function.veryl"],"names":["","module","Module54",";","function","logic","[","10","]","(","input","a",")","return","+","1","endfunction","20","_a","=","__FuncA__10","_b","_c","__FuncA__20","_d","2","4","12","_e","__FuncB__10__2","_f","14","_g","__FuncB__10__4","_h","u",".","veryl_testcase_Interface54","_i","__FuncC__u","endmodule","interface","Interface54","endinterface"],"mappings":"AAAAA,AAAAC,sBAAOC,QAASC;IACZC,mBAEKC,MAAKC,CAACC,MAACC,aAFeC;QACpBC,MAAML,MAAKC,CAACC,MAACC,EAAhBG,CAAiBX;IACrBY,EAAEZ,CAAYA;QACVa,OAAOF,EAAEG,EAAEC,CAACZ;IAChBa;IAJAZ,mBAEKC,MAAKC,CAACW,MAACT,aAFeC;QACpBC,MAAML,MAAKC,CAACW,MAACT,EAAhBG,CAAiBX;IACrBY,EAAEZ,CAAYA;QACVa,OAAOF,EAAEG,EAAEC,CAACZ;IAChBa;;IAEQX,MAAKC,CAACC,MAAEC,EAAZU;mBAAcC,EAAEC,WAAWX,CAACM,CAACH,CAACT;IAC1BE,MAAKC,CAACC,MAAEC,EAAZa;mBAAcF,EAAEC,WAAWX,CAACM,CAACH,CAACT;IAC1BE,MAAKC,CAACW,MAAET,EAAZc;mBAAcH,EAAEI,WAAWd,CAACM,CAACH,CAACT;IAC1BE,MAAKC,CAACW,MAAET,EAAZgB;mBAAcL,EAAEI,WAAWd,CAACM,CAACH,CAACT;;IAElCC,mBAEKC,MAAKC,CAACC,GAAEO,EAAEW,KAACjB,gBAFyBC;QAClCC,MAAML,MAAKC,CAACC,GAAEO,EAAEW,KAACjB,EAApBG,CAAqBX;IACzBY,EAAEZ,CAAgBA;QACda,OAAOF,EAAEG,EAAEC,CAACZ;IAChBa;IAJAZ,mBAEKC,MAAKC,CAACC,GAAEO,EAAEY,KAAClB,gBAFyBC;QAClCC,MAAML,MAAKC,CAACC,GAAEO,EAAEY,KAAClB,EAApBG,CAAqBX;IACzBY,EAAEZ,CAAgBA;QACda,OAAOF,EAAEG,EAAEC,CAACZ;IAChBa;;IAEQX,MAAKC,CAACqB,MAAEnB,EAAZoB;mBAAcT,EAAEU,cAAWpB,CAACM,CAACH,CAACT;IAC1BE,MAAKC,CAACqB,MAAEnB,EAAZsB;mBAAcX,EAAEU,cAAWpB,CAACM,CAACH,CAACT;IAC1BE,MAAKC,CAACyB,MAAEvB,EAAZwB;mBAAcb,EAAEc,cAAcxB,CAACM,CAACH,CAACT;IAC7BE,MAAKC,CAACyB,MAAEvB,EAAZ0B;mBAAcf,EAAEc,cAAcxB,CAACM,CAACH,CAACT;;IAErCC,mBAA6CC,gBAANI,CAACG,EAAEZ,CAASA;QAC/Ca,OAAOsB,CAAEC,CAACzB,CAACR;IACfa;;IAEAhB,AAAQqC,2BAAHF,IAAchC;;IAEXE,MAAJiC;mBAAUnB,EAAEoB,UAAU9B,CAACG,CAACT;AAChCqC;;AAEAC,yBAAUC,WAAYvC;IACXE,MAAHM,CAAQR;AAChBwC"} \ No newline at end of file diff --git a/testcases/map/testcases/sv/55_generic_module.sv.map b/testcases/map/testcases/sv/55_generic_module.sv.map index 61f514dc..a74c65ff 100644 --- a/testcases/map/testcases/sv/55_generic_module.sv.map +++ b/testcases/map/testcases/sv/55_generic_module.sv.map @@ -1 +1 @@ -{"version":3,"file":"55_generic_module.sv.map","sources":["../../../veryl/55_generic_module.veryl"],"names":["","module","Module55",";","veryl_testcase___Module55A__Module55B","u0","veryl_testcase___Module55A__Module55C","u1","veryl_testcase___Module55E__Module55C","u2","veryl_testcase___Module55E__Module55D","u3","veryl_testcase___Module55F__Module55C","u4","veryl_testcase___Module55F__Module55B","u5","veryl_testcase___Module55H__10","u6","u7","endmodule","veryl_testcase_Module55B","u","veryl_testcase_Module55C","veryl_testcase_Module55D","Module55B","Module55C","Module55D","veryl_testcase___Module55A__Module55D","typedef struct packed","{","logic","[","10","]","value","__StructH__10","_a","=","0"],"mappings":"AAAAA,AAAAC,sBAAOC,QAASC;IACZH,AAASI,sCAAJC,KAA0BF;IAC/BH,AAASM,sCAAJC,KAA0BJ;IAC/BH,AAASQ,sCAAJC,KAA0BN;IAC/BH,AAASU,sCAAJC,KAA0BR;IAC/BH,AAASY,sCAAJC,KAA0BV;IAC/BH,AAASc,sCAAJC,KAAiBZ;IACtBH,AAASgB,+BAAJC,KAAmBd;IACxBH,AAASgB,+BAAJE,KAAmBf;AAC5BgB;;;AAKIlB,4CAA+BE;IAC/BH,AAAQoB,yBAAHC,IAAIlB;AACbgB;AAFIlB,4CAA+BE;IAC/BH,AAAQsB,yBAAHD,IAAIlB;AACbgB;AAFIlB,4CAA+BE;IAC/BH,AAAQuB,yBAAHF,IAAIlB;AACbgB;;AAEAlB,sBAAOuB,SAAsBrB;AAACgB;;AAE9BlB,sBAAOwB,SAAsBtB;AAACgB;;AAE9BlB,sBAAOyB,SAAsBvB;AAACgB;;AAE9BlB,4CAA+BE;IAC3BH,AAAQM,sCAAHe,IAAiBlB;AAC1BgB;AAFAlB,4CAA+BE;IAC3BH,AAAQ2B,sCAAHN,IAAiBlB;AAC1BgB;;AAEAlB,4CAA2CE;IACvCH,AAAQsB,yBAAHD,IAAIlB;AACbgB;AAFAlB,4CAA2CE;IACvCH,AAAQoB,yBAAHC,IAAIlB;AACbgB;;;AAMAlB,qCAA6BE;IACzByB,sBAA2BC;QAChBC,MAAKC,CAACC,MAACC,EAAdC,KAAe/B;oBACnBH;;IAEQmC,cAAJC;mBAAiBC,EAAEC,CAACnC;AAC5BgB"} \ No newline at end of file +{"version":3,"file":"55_generic_module.sv.map","sources":["../../../veryl/55_generic_module.veryl"],"names":["","module","Module55",";","veryl_testcase___Module55A__Module55B","u0","veryl_testcase___Module55A__Module55C","u1","veryl_testcase___Module55E__Module55C","u2","veryl_testcase___Module55E__Module55D","u3","veryl_testcase___Module55F__Module55C","u4","veryl_testcase___Module55F__Module55B","u5","veryl_testcase___Module55H__10","u6","u7","veryl_testcase___Module55I__Interface55I","u8","endmodule","veryl_testcase_Module55B","u","veryl_testcase_Module55C","veryl_testcase_Module55D","Module55B","Module55C","Module55D","veryl_testcase___Module55A__Module55D","typedef struct packed","{","logic","[","10","]","value","__StructH__10","_a","=","0","interface","Interface55I","endinterface","veryl_testcase_Interface55I"],"mappings":"AAAAA,AAAAC,sBAAOC,QAASC;IACZH,AAASI,sCAAJC,KAA0BF;IAC/BH,AAASM,sCAAJC,KAA0BJ;IAC/BH,AAASQ,sCAAJC,KAA0BN;IAC/BH,AAASU,sCAAJC,KAA0BR;IAC/BH,AAASY,sCAAJC,KAA0BV;IAC/BH,AAASc,sCAAJC,KAAiBZ;IACtBH,AAASgB,+BAAJC,KAAmBd;IACxBH,AAASgB,+BAAJE,KAAmBf;IACxBH,AAASmB,yCAAJC,KAA6BjB;AACtCkB;;;AAKIpB,4CAA+BE;IAC/BH,AAAQsB,yBAAHC,IAAIpB;AACbkB;AAFIpB,4CAA+BE;IAC/BH,AAAQwB,yBAAHD,IAAIpB;AACbkB;AAFIpB,4CAA+BE;IAC/BH,AAAQyB,yBAAHF,IAAIpB;AACbkB;;AAEApB,sBAAOyB,SAAsBvB;AAACkB;;AAE9BpB,sBAAO0B,SAAsBxB;AAACkB;;AAE9BpB,sBAAO2B,SAAsBzB;AAACkB;;AAE9BpB,4CAA+BE;IAC3BH,AAAQM,sCAAHiB,IAAiBpB;AAC1BkB;AAFApB,4CAA+BE;IAC3BH,AAAQ6B,sCAAHN,IAAiBpB;AAC1BkB;;AAEApB,4CAA2CE;IACvCH,AAAQwB,yBAAHD,IAAIpB;AACbkB;AAFApB,4CAA2CE;IACvCH,AAAQsB,yBAAHC,IAAIpB;AACbkB;;;AAMApB,qCAA6BE;IACzB2B,sBAA2BC;QAChBC,MAAKC,CAACC,MAACC,EAAdC,KAAejC;oBACnBH;;IAEQqC,cAAJC;mBAAiBC,EAAEC,CAACrC;AAC5BkB;;AAEAoB,yBAAUC,YAAavC;AAACwC;;AAExB1C,+CAAqCE;IACjCH,AAAQ4C,4BAAHrB,IAAKpB;AACdkB"} \ No newline at end of file diff --git a/testcases/sv/54_generic_function.sv b/testcases/sv/54_generic_function.sv index 826ad0f0..56ae4880 100644 --- a/testcases/sv/54_generic_function.sv +++ b/testcases/sv/54_generic_function.sv @@ -38,5 +38,18 @@ module veryl_testcase_Module54; always_comb _g = __FuncB__10__4(1); logic [14-1:0] _h; always_comb _h = __FuncB__10__4(1); + + function automatic logic __FuncC__u() ; + return u.a; + endfunction + + veryl_testcase_Interface54 u (); + + logic _i; + always_comb _i = __FuncC__u(); endmodule + +interface veryl_testcase_Interface54; + logic a; +endinterface //# sourceMappingURL=../map/testcases/sv/54_generic_function.sv.map diff --git a/testcases/sv/55_generic_module.sv b/testcases/sv/55_generic_module.sv index ca295bb8..dcf020be 100644 --- a/testcases/sv/55_generic_module.sv +++ b/testcases/sv/55_generic_module.sv @@ -7,6 +7,7 @@ module veryl_testcase_Module55; veryl_testcase___Module55F__Module55B u5 (); veryl_testcase___Module55H__10 u6 (); veryl_testcase___Module55H__10 u7 (); + veryl_testcase___Module55I__Interface55I u8 (); endmodule @@ -52,4 +53,11 @@ module veryl_testcase___Module55H__10; __StructH__10 _a; always_comb _a = 0; endmodule + +interface veryl_testcase_Interface55I; +endinterface + +module veryl_testcase___Module55I__Interface55I; + veryl_testcase_Interface55I u (); +endmodule //# sourceMappingURL=../map/testcases/sv/55_generic_module.sv.map diff --git a/testcases/veryl/54_generic_function.veryl b/testcases/veryl/54_generic_function.veryl index 29c91b70..624e58d5 100644 --- a/testcases/veryl/54_generic_function.veryl +++ b/testcases/veryl/54_generic_function.veryl @@ -20,4 +20,16 @@ module Module54 { let _f: logic<12> = FuncB::<10>(1); let _g: logic<14> = FuncB::<10, 4>(1); let _h: logic<14> = FuncB::<10, 4>(1); + + function FuncC:: () -> logic { + return IF.a; + } + + inst u: Interface54; + + let _i: logic = FuncC::(); +} + +interface Interface54 { + var a: logic; } diff --git a/testcases/veryl/55_generic_module.veryl b/testcases/veryl/55_generic_module.veryl index 44cd3dc6..20faad8b 100644 --- a/testcases/veryl/55_generic_module.veryl +++ b/testcases/veryl/55_generic_module.veryl @@ -7,6 +7,7 @@ module Module55 { inst u5: Module55F::<>; inst u6: Module55H::<10>; inst u7: Module55H::<10>; + inst u8: Module55I::; } pub proto module Proto55; @@ -41,3 +42,9 @@ module Module55H:: { let _a: StructH:: = 0; } + +interface Interface55I {} + +module Module55I:: { + inst u: IF; +}