diff --git a/src/Language/SystemVerilog/Parser/Parse.y b/src/Language/SystemVerilog/Parser/Parse.y index 83d74dc..3e3e460 100644 --- a/src/Language/SystemVerilog/Parser/Parse.y +++ b/src/Language/SystemVerilog/Parser/Parse.y @@ -570,7 +570,7 @@ DefparamAsgn :: { (LHS, Expr) } : LHS "=" Expr { ($1, $3) } PackageItems :: { [PackageItem] } - : PackageItem { $1 } + : {- empty -} { [] } | PackageItems PackageItem { $1 ++ $2 } PackageItem :: { [PackageItem] } : DeclTokens(";") { map Decl $ parseDTsAsDecls $1 } diff --git a/test/basic/empty_constructs.sv b/test/basic/empty_constructs.sv new file mode 100644 index 0000000..3d43442 --- /dev/null +++ b/test/basic/empty_constructs.sv @@ -0,0 +1,8 @@ +task fun; +endtask +function fun; +endfunction +package pop; +endpackage +module top; +endmodule diff --git a/test/basic/empty_constructs.v b/test/basic/empty_constructs.v new file mode 100644 index 0000000..4a271fc --- /dev/null +++ b/test/basic/empty_constructs.v @@ -0,0 +1,2 @@ +module top; +endmodule