aboutsummaryrefslogtreecommitdiffstats
path: root/frontends/verilog/verilog_parser.y
diff options
context:
space:
mode:
authorEddie Hung <eddie@fpgeh.com>2019-06-06 14:06:59 -0700
committerEddie Hung <eddie@fpgeh.com>2019-06-06 14:06:59 -0700
commiteaee250a6e63e58dfef63fa30c4120db78223e24 (patch)
tree972c0622281ee553a5afbd7544bcbba8a11ae45b /frontends/verilog/verilog_parser.y
parent935df3569b4677ac38041ff01a2f67185681f4e3 (diff)
parent0a66720f6f67b087fe6342d01d45944506240942 (diff)
downloadyosys-eaee250a6e63e58dfef63fa30c4120db78223e24.tar.gz
yosys-eaee250a6e63e58dfef63fa30c4120db78223e24.tar.bz2
yosys-eaee250a6e63e58dfef63fa30c4120db78223e24.zip
Merge remote-tracking branch 'origin/eddie/muxpack' into xc7mux
Diffstat (limited to 'frontends/verilog/verilog_parser.y')
-rw-r--r--frontends/verilog/verilog_parser.y24
1 files changed, 14 insertions, 10 deletions
diff --git a/frontends/verilog/verilog_parser.y b/frontends/verilog/verilog_parser.y
index 8244a8f44..ccdab987f 100644
--- a/frontends/verilog/verilog_parser.y
+++ b/frontends/verilog/verilog_parser.y
@@ -1532,27 +1532,31 @@ cell_port_list_rules:
cell_port | cell_port_list_rules ',' cell_port;
cell_port:
- /* empty */ {
+ attr {
AstNode *node = new AstNode(AST_ARGUMENT);
astbuf2->children.push_back(node);
+ free_attr($1);
} |
- expr {
+ attr expr {
AstNode *node = new AstNode(AST_ARGUMENT);
astbuf2->children.push_back(node);
- node->children.push_back($1);
+ node->children.push_back($2);
+ free_attr($1);
} |
- '.' TOK_ID '(' expr ')' {
+ attr '.' TOK_ID '(' expr ')' {
AstNode *node = new AstNode(AST_ARGUMENT);
- node->str = *$2;
+ node->str = *$3;
astbuf2->children.push_back(node);
- node->children.push_back($4);
- delete $2;
+ node->children.push_back($5);
+ delete $3;
+ free_attr($1);
} |
- '.' TOK_ID '(' ')' {
+ attr '.' TOK_ID '(' ')' {
AstNode *node = new AstNode(AST_ARGUMENT);
- node->str = *$2;
+ node->str = *$3;
astbuf2->children.push_back(node);
- delete $2;
+ delete $3;
+ free_attr($1);
};
always_stmt: