-
Notifications
You must be signed in to change notification settings - Fork 68
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Delay is wrongly treated as IntConst #3447
Comments
Fixed by #3453 |
Still noticing problems with delay values. Here's an example and result with your change. For #p_dly on line 6, nodes n(75) t(StringConst) has node n()74) t(Delay_value) as child. Neither of these two cases are dictated by the grammar.
|
@alaindargelas Added a few comments to the change review as well. Please take a moment to address those as well. Thanks! |
The Verilog grammar is ambiguous and cannot be fixed. |
I am working on linting, so I need a correct AST. |
Then please take on this task. Good luck with fixing the Verilog grammar :-) |
I will investigate. |
Example:
Uhdm output:
Note that the non-numeric delay is being parsed as a number.
The issue is from the following snippet where delay_value is assumed to be an IntConst which isn't true as per the grammar.
Surelog/src/SourceCompile/SV3_1aTreeShapeListener.cpp
Lines 854 to 864 in 909e2bd
Surelog/grammar/SV3_1aParser.g4
Lines 1000 to 1008 in 909e2bd
Following tests are impacted by this issue -
The text was updated successfully, but these errors were encountered: