diff options
author | Clifford Wolf <clifford@clifford.at> | 2013-12-27 13:50:08 +0100 |
---|---|---|
committer | Clifford Wolf <clifford@clifford.at> | 2013-12-27 13:50:08 +0100 |
commit | ecc30255ba70910777a4586f5bd6abc818073293 (patch) | |
tree | 35eb7e1b849d1da91c5ab5e2ffd4251aeb8a213d /frontends/verilog/parser.y | |
parent | 11ffa7867794ee5bda2742830bda64976ad4f549 (diff) | |
download | yosys-ecc30255ba70910777a4586f5bd6abc818073293.tar.gz yosys-ecc30255ba70910777a4586f5bd6abc818073293.tar.bz2 yosys-ecc30255ba70910777a4586f5bd6abc818073293.zip |
Added proper === and !== support in constant expressions
Diffstat (limited to 'frontends/verilog/parser.y')
-rw-r--r-- | frontends/verilog/parser.y | 10 |
1 files changed, 9 insertions, 1 deletions
diff --git a/frontends/verilog/parser.y b/frontends/verilog/parser.y index f47d1785c..874482d6e 100644 --- a/frontends/verilog/parser.y +++ b/frontends/verilog/parser.y @@ -117,7 +117,7 @@ static void free_attr(std::map<std::string, AstNode*> *al) %left '|' OP_NOR %left '^' OP_XNOR %left '&' OP_NAND -%left OP_EQ OP_NE +%left OP_EQ OP_NE OP_EQX OP_NEX %left '<' OP_LE OP_GE '>' %left OP_SHL OP_SHR OP_SSHL OP_SSHR %left '+' '-' @@ -1161,6 +1161,14 @@ basic_expr: $$ = new AstNode(AST_NE, $1, $4); append_attr($$, $3); } | + basic_expr OP_EQX attr basic_expr { + $$ = new AstNode(AST_EQX, $1, $4); + append_attr($$, $3); + } | + basic_expr OP_NEX attr basic_expr { + $$ = new AstNode(AST_NEX, $1, $4); + append_attr($$, $3); + } | basic_expr OP_GE attr basic_expr { $$ = new AstNode(AST_GE, $1, $4); append_attr($$, $3); |