mirror of
https://github.com/YosysHQ/yosys
synced 2025-08-02 09:20:23 +00:00
Added proper === and !== support in constant expressions
This commit is contained in:
parent
11ffa78677
commit
ecc30255ba
9 changed files with 79 additions and 15 deletions
|
@ -232,8 +232,8 @@ supply1 { return TOK_SUPPLY1; }
|
|||
"<=" { return OP_LE; }
|
||||
">=" { return OP_GE; }
|
||||
|
||||
"===" { return OP_EQ; }
|
||||
"!==" { return OP_NE; }
|
||||
"===" { return OP_EQX; }
|
||||
"!==" { return OP_NEX; }
|
||||
|
||||
"~&" { return OP_NAND; }
|
||||
"~|" { return OP_NOR; }
|
||||
|
|
|
@ -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);
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue