mirror of
https://github.com/verilator/verilator.git
synced 2025-01-06 14:47:36 +00:00
Internals: Split idType from simple_type. No functional change intended
This commit is contained in:
parent
c812a9b18f
commit
a663da7393
@ -2094,18 +2094,11 @@ signing<signstate>: // ==IEEE: signing
|
|||||||
//************************************************
|
//************************************************
|
||||||
// Data Types
|
// Data Types
|
||||||
|
|
||||||
simple_type<nodeDTypep>: // ==IEEE: simple_type
|
simple_typeNoRef<nodeDTypep>: // IEEE: simple_type without idType
|
||||||
// // IEEE: integer_type
|
// // IEEE: integer_type
|
||||||
integer_atom_type { $$ = $1; }
|
integer_atom_type { $$ = $1; }
|
||||||
| integer_vector_type { $$ = $1; }
|
| integer_vector_type { $$ = $1; }
|
||||||
| non_integer_type { $$ = $1; }
|
| non_integer_type { $$ = $1; }
|
||||||
// // IEEE: ps_type_identifier
|
|
||||||
// // IEEE: ps_parameter_identifier (presumably a PARAMETER TYPE)
|
|
||||||
// // Even though we looked up the type and have a AstNode* to it,
|
|
||||||
// // we can't fully resolve it because it may have been just a forward definition.
|
|
||||||
| packageClassScopeE idType
|
|
||||||
{ AstRefDType* const refp = new AstRefDType{$<fl>2, *$2, $1, nullptr};
|
|
||||||
$$ = refp; }
|
|
||||||
//
|
//
|
||||||
// // { generate_block_identifer ... } '.'
|
// // { generate_block_identifer ... } '.'
|
||||||
// // Need to determine if generate_block_identifier can be lex-detected
|
// // Need to determine if generate_block_identifier can be lex-detected
|
||||||
@ -3955,7 +3948,13 @@ patternKey<nodep>: // IEEE: merge structure_pattern_key, array_patt
|
|||||||
| yaFLOATNUM { $$ = new AstConst{$<fl>1, AstConst::RealDouble{}, $1}; }
|
| yaFLOATNUM { $$ = new AstConst{$<fl>1, AstConst::RealDouble{}, $1}; }
|
||||||
| id { $$ = new AstText{$<fl>1, *$1}; }
|
| id { $$ = new AstText{$<fl>1, *$1}; }
|
||||||
| strAsInt { $$ = $1; }
|
| strAsInt { $$ = $1; }
|
||||||
| simple_type { $$ = $1; }
|
| simple_typeNoRef { $$ = $1; }
|
||||||
|
// // expanded from simple_type ps_type_identifier (part of simple_type)
|
||||||
|
// // expanded from simple_type ps_parameter_identifier (part of simple_type)
|
||||||
|
| packageClassScopeE idType
|
||||||
|
{ AstRefDType* const refp = new AstRefDType{$<fl>2, *$2, $1, nullptr};
|
||||||
|
$$ = refp; }
|
||||||
|
|
||||||
;
|
;
|
||||||
|
|
||||||
assignment_pattern<patternp>: // ==IEEE: assignment_pattern
|
assignment_pattern<patternp>: // ==IEEE: assignment_pattern
|
||||||
@ -5006,8 +5005,14 @@ expr<nodeExprp>: // IEEE: part of expression/constant_expression/
|
|||||||
//
|
//
|
||||||
// // IEEE: cast/constant_cast
|
// // IEEE: cast/constant_cast
|
||||||
// // expanded from casting_type
|
// // expanded from casting_type
|
||||||
| simple_type yP_TICK '(' expr ')'
|
| simple_typeNoRef yP_TICK '(' expr ')'
|
||||||
{ $$ = new AstCast{$2, $4, VFlagChildDType{}, $1}; }
|
{ $$ = new AstCast{$2, $4, VFlagChildDType{}, $1}; }
|
||||||
|
// // expanded from simple_type ps_type_identifier (part of simple_type)
|
||||||
|
// // expanded from simple_type ps_parameter_identifier (part of simple_type)
|
||||||
|
| packageClassScopeE idType yP_TICK '(' expr ')'
|
||||||
|
{ $$ = new AstCast{$3, $5, VFlagChildDType{},
|
||||||
|
new AstRefDType{$<fl>2, *$2, $1, nullptr}}; }
|
||||||
|
//
|
||||||
| yTYPE__ETC '(' exprOrDataType ')' yP_TICK '(' expr ')'
|
| yTYPE__ETC '(' exprOrDataType ')' yP_TICK '(' expr ')'
|
||||||
{ $$ = new AstCast{$1, $7, VFlagChildDType{},
|
{ $$ = new AstCast{$1, $7, VFlagChildDType{},
|
||||||
new AstRefDType{$1, AstRefDType::FlagTypeOfExpr{}, $3}}; }
|
new AstRefDType{$1, AstRefDType::FlagTypeOfExpr{}, $3}}; }
|
||||||
|
Loading…
Reference in New Issue
Block a user