From bd68ab0852eb85db412a6654653e7162fbd0f720 Mon Sep 17 00:00:00 2001 From: Zachary Snow Date: Fri, 20 Mar 2020 18:50:54 -0400 Subject: [PATCH] faster parsing of very long files --- src/Language/SystemVerilog/Parser/Parse.y | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/src/Language/SystemVerilog/Parser/Parse.y b/src/Language/SystemVerilog/Parser/Parse.y index e02f021..1fd8167 100644 --- a/src/Language/SystemVerilog/Parser/Parse.y +++ b/src/Language/SystemVerilog/Parser/Parse.y @@ -643,8 +643,8 @@ Direction :: { Direction } ModuleItems :: { [ModuleItem] } : {- empty -} { [] } - | ModuleItems MITrace ModuleItem { $1 ++ [$2] ++ $3 } - | ModuleItems ";" { $1 } + | ";" ModuleItems { $2 } + | MITrace ModuleItem ModuleItems { $1 : $2 ++ $3 } ModuleItem :: { [ModuleItem] } : NonGenerateModuleItem { $1 } @@ -777,8 +777,8 @@ LHSAsgn :: { (LHS, Expr) } PackageItems :: { [PackageItem] } : {- empty -} { [] } - | PackageItems ";" { $1 } - | PackageItems PITrace PackageItem { $1 ++ [$2] ++ $3 } + | ";" PackageItems { $2 } + | PITrace PackageItem PackageItems { $1 : $2 ++ $3 } PackageItem :: { [PackageItem] } : DeclTokens(";") { map Decl $ parseDTsAsDecls $1 } | ParameterDecl(";") { map Decl $1 }