Hi,
As per SV 2009 draft 7a LRM, implication operator (->) has become
part of binary expression. But it is already part of constraint
expression. So it is really conflicting situation wrt a parser. I think
constraint expression rule should not have the operator, as by binary
expression it is already part of expression. Here is the two BNF
snippet:
constraint_expression ::=
expression_or_dist ;
| expression –> constraint_set
| if ( expression ) constraint_set [ else constraint_set ]
| foreach ( ps_or_hierarchical_array_identifier [ loop_variables ] )
constraint_set
constraint_set ::=
constraint_expression
| { { constraint_expression } }
expression ::=
primary
| unary_operator { attribute_instance } primary
| inc_or_dec_expression
| ( operator_assignment )
| expression binary_operator { attribute_instance } expression
| conditional_expression
| inside_expression
| tagged_union_expression
binary_operator ::=
+ | - | * | / | % | == | != | === | !== | ==? | !=? | && | || |
**
| < | <= | > | >= | & | | | ^ | ^~ | ~^ | >> |
<< | >>> | <<<
| -> | <->
Is it an oversight of LRM?
--
Regards
Surya
--
This message has been scanned for viruses and
dangerous content by
MailScanner, and is
believed to be clean.
Received on Sun Apr 5 07:59:34 2009