diff --git a/src/Language/SystemVerilog/Parser/Parse.y b/src/Language/SystemVerilog/Parser/Parse.y index ab51ef6..42a8f6f 100644 --- a/src/Language/SystemVerilog/Parser/Parse.y +++ b/src/Language/SystemVerilog/Parser/Parse.y @@ -823,7 +823,7 @@ PackageItems :: { [PackageItem] } | PITrace PackageItem PackageItems { $1 : $2 ++ $3 } PackageItem :: { [PackageItem] } : DeclTokens(";") { map Decl $ parseDTsAsDecls $1 } - | ParameterDecl(";") { map Decl $1 } + | ParameterDecl(";") { map (Decl . makeLocalparam) $1 } | NonDeclPackageItem { $1 } NonDeclPackageItem :: { [PackageItem] } : "typedef" Type Identifier ";" { [Typedef $2 $3] } @@ -1462,4 +1462,9 @@ validateGenCases items = where (exprs, _) = unzip items +makeLocalparam :: Decl -> Decl +makeLocalparam (Param _ t x e) = Param Localparam t x e +makeLocalparam (ParamType _ x mt) = ParamType Localparam x mt +makeLocalparam other = other + }