diff --git a/src/Language/SystemVerilog/Parser/Parse.y b/src/Language/SystemVerilog/Parser/Parse.y index 7b1da8a..03f18d7 100644 --- a/src/Language/SystemVerilog/Parser/Parse.y +++ b/src/Language/SystemVerilog/Parser/Parse.y @@ -736,6 +736,11 @@ NonDeclPackageItem :: { [PackageItem] } | "import" PackageImportItems ";" { map (uncurry Import) $2 } | "export" PackageImportItems ";" { map (Export . Just) $2 } | "export" "*" "::" "*" ";" { [Export Nothing] } -- "Nothing" being no restrictions + | ForwardTypedef ";" { $1 } +ForwardTypedef :: { [PackageItem] } + : "typedef" "enum" Identifier { [] } + | "typedef" "struct" Identifier { [] } + | "typedef" "union" Identifier { [] } PackageImportItems :: { [(Identifier, Maybe Identifier)] } : PackageImportItem { [$1] }