diff options
author | Eddie Hung <eddie@fpgeh.com> | 2019-06-06 14:06:59 -0700 |
---|---|---|
committer | Eddie Hung <eddie@fpgeh.com> | 2019-06-06 14:06:59 -0700 |
commit | eaee250a6e63e58dfef63fa30c4120db78223e24 (patch) | |
tree | 972c0622281ee553a5afbd7544bcbba8a11ae45b /frontends/verilog/verilog_parser.y | |
parent | 935df3569b4677ac38041ff01a2f67185681f4e3 (diff) | |
parent | 0a66720f6f67b087fe6342d01d45944506240942 (diff) | |
download | yosys-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.y | 24 |
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: |