mirror of
https://github.com/YosysHQ/yosys
synced 2025-05-10 17:25:49 +00:00
Merge 173f591c06
into a0e94e506d
This commit is contained in:
commit
57550d6889
2 changed files with 19 additions and 5 deletions
|
@ -524,6 +524,10 @@ import[ \t\r\n]+\"(DPI|DPI-C)\"[ \t\r\n]+function[ \t\r\n]+ {
|
||||||
"{*" { return DEFATTR_BEGIN; }
|
"{*" { return DEFATTR_BEGIN; }
|
||||||
"*}" { return DEFATTR_END; }
|
"*}" { return DEFATTR_END; }
|
||||||
|
|
||||||
|
"'{" { return LIST_SIZED_BEGIN; }
|
||||||
|
"{" { return LIST_BEGIN; }
|
||||||
|
"}" { return LIST_END; }
|
||||||
|
|
||||||
"**" { return OP_POW; }
|
"**" { return OP_POW; }
|
||||||
"||" { return OP_LOR; }
|
"||" { return OP_LOR; }
|
||||||
"&&" { return OP_LAND; }
|
"&&" { return OP_LAND; }
|
||||||
|
|
|
@ -417,6 +417,7 @@ static const AstNode *addAsgnBinopStmt(dict<IdString, AstNode*> *attr, AstNode *
|
||||||
%token TOK_SUB_ASSIGN TOK_DIV_ASSIGN TOK_MOD_ASSIGN TOK_MUL_ASSIGN
|
%token TOK_SUB_ASSIGN TOK_DIV_ASSIGN TOK_MOD_ASSIGN TOK_MUL_ASSIGN
|
||||||
%token TOK_SHL_ASSIGN TOK_SHR_ASSIGN TOK_SSHL_ASSIGN TOK_SSHR_ASSIGN
|
%token TOK_SHL_ASSIGN TOK_SHR_ASSIGN TOK_SSHL_ASSIGN TOK_SSHR_ASSIGN
|
||||||
%token TOK_BIND TOK_TIME_SCALE
|
%token TOK_BIND TOK_TIME_SCALE
|
||||||
|
%token LIST_SIZED_BEGIN LIST_BEGIN LIST_END
|
||||||
|
|
||||||
%type <ast> range range_or_multirange non_opt_range non_opt_multirange
|
%type <ast> range range_or_multirange non_opt_range non_opt_multirange
|
||||||
%type <ast> wire_type expr basic_expr concat_list rvalue lvalue lvalue_concat_list non_io_wire_type io_wire_type
|
%type <ast> wire_type expr basic_expr concat_list rvalue lvalue lvalue_concat_list non_io_wire_type io_wire_type
|
||||||
|
@ -904,6 +905,9 @@ wire_type_token:
|
||||||
TOK_VAR logic_type {
|
TOK_VAR logic_type {
|
||||||
astbuf3->is_logic = true;
|
astbuf3->is_logic = true;
|
||||||
} |
|
} |
|
||||||
|
TOK_AUTOMATIC logic_type {
|
||||||
|
astbuf3->is_logic = true;
|
||||||
|
} |
|
||||||
logic_type {
|
logic_type {
|
||||||
astbuf3->is_logic = true;
|
astbuf3->is_logic = true;
|
||||||
} |
|
} |
|
||||||
|
@ -1764,7 +1768,7 @@ enum_type: TOK_ENUM {
|
||||||
// create the template for the names
|
// create the template for the names
|
||||||
astbuf1 = new AstNode(AST_ENUM_ITEM);
|
astbuf1 = new AstNode(AST_ENUM_ITEM);
|
||||||
astbuf1->children.push_back(AstNode::mkconst_int(0, true));
|
astbuf1->children.push_back(AstNode::mkconst_int(0, true));
|
||||||
} enum_base_type '{' enum_name_list optional_comma '}' {
|
} enum_base_type LIST_BEGIN enum_name_list optional_comma LIST_END {
|
||||||
// create template for the enum vars
|
// create template for the enum vars
|
||||||
auto tnode = astbuf1->clone();
|
auto tnode = astbuf1->clone();
|
||||||
delete astbuf1;
|
delete astbuf1;
|
||||||
|
@ -1863,7 +1867,7 @@ struct_union:
|
||||||
| TOK_UNION { $$ = new AstNode(AST_UNION); }
|
| TOK_UNION { $$ = new AstNode(AST_UNION); }
|
||||||
;
|
;
|
||||||
|
|
||||||
struct_body: opt_packed '{' struct_member_list '}'
|
struct_body: opt_packed LIST_BEGIN struct_member_list LIST_END
|
||||||
;
|
;
|
||||||
|
|
||||||
opt_packed:
|
opt_packed:
|
||||||
|
@ -3053,7 +3057,7 @@ lvalue:
|
||||||
rvalue {
|
rvalue {
|
||||||
$$ = $1;
|
$$ = $1;
|
||||||
} |
|
} |
|
||||||
'{' lvalue_concat_list '}' {
|
LIST_BEGIN lvalue_concat_list LIST_END {
|
||||||
$$ = $2;
|
$$ = $2;
|
||||||
};
|
};
|
||||||
|
|
||||||
|
@ -3301,10 +3305,16 @@ basic_expr:
|
||||||
$$ = $4;
|
$$ = $4;
|
||||||
delete $6;
|
delete $6;
|
||||||
} |
|
} |
|
||||||
'{' concat_list '}' {
|
LIST_SIZED_BEGIN concat_list LIST_END {
|
||||||
$$ = $2;
|
$$ = $2;
|
||||||
} |
|
} |
|
||||||
'{' expr '{' concat_list '}' '}' {
|
LIST_BEGIN concat_list LIST_END {
|
||||||
|
$$ = $2;
|
||||||
|
} |
|
||||||
|
LIST_BEGIN expr LIST_BEGIN concat_list LIST_END LIST_END {
|
||||||
|
$$ = new AstNode(AST_REPLICATE, $2, $4);
|
||||||
|
} |
|
||||||
|
LIST_SIZED_BEGIN expr LIST_BEGIN concat_list LIST_END LIST_END {
|
||||||
$$ = new AstNode(AST_REPLICATE, $2, $4);
|
$$ = new AstNode(AST_REPLICATE, $2, $4);
|
||||||
} |
|
} |
|
||||||
'~' attr basic_expr %prec UNARY_OPS {
|
'~' attr basic_expr %prec UNARY_OPS {
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue