Clause: 10.10, A.6.5

Description

Currently, there is a conflict in the syntax when a parameterized sequence is used as event. Consider the two examples:

module temp;
reg a, b, c;
event e;
initial
    a = @e (b+c);
endmodule

module temp;
reg a, b, c;
sequence e(f);
..............
endsequence;
initial
    a = @e (b+c) c;
endmodule
Compare the @statement in both cases. How do you interpret @e (b+c) c  in second example ? After parsing @e when it sees '(', what can it do? It can either consider the event_expression is complete or
it can continue to parse it as part of even expression. Which is conflict!!

Suggested Resolution

Clause 10.10, table Syntax 10-9, change:

event_control ::=

@ hierarchical_event_identifier

| @ ( event_expression )

| @*

| @ (*)

| @ sequence_instance

 

Clause A.6.5, change:

event_control ::=

@ hierarchical_event_identifier

| @ ( event_expression )

| @*

| @ (*)

| @ sequence_instance