From 9b7d003ea4e53f63e2edb4524312a49583caa966 Mon Sep 17 00:00:00 2001 From: Zachary Snow Date: Wed, 7 Aug 2019 21:58:20 -0400 Subject: [PATCH] support for empty packages (resolves #9) --- src/Language/SystemVerilog/Parser/Parse.y | 2 +- test/basic/empty_constructs.sv | 8 ++++++++ test/basic/empty_constructs.v | 2 ++ 3 files changed, 11 insertions(+), 1 deletion(-) create mode 100644 test/basic/empty_constructs.sv create mode 100644 test/basic/empty_constructs.v 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