Open mlr11 opened 5 months ago
There is a preprocessor that expands all macros. I have opened an issue about it here, hoping to get the syntax tree without preprocessing it.
There is a preprocessor that expands all macros. I have opened an issue about it here, hoping to get the syntax tree without preprocessing it.
What I am looking for is a bit different. I am looking for the information about the directives that are not handled by the preprocessor. Things like `timescale, default_nettype, celldefine, endcelldefine, ...
I ended up finding them in the parseTree but they were attached to WhiteSpace, so I had to add processing for WhiteSpace in my traversal to extract the directives
The following single line verilog file:
`timescale 1 ns / 1 ps
produce the following syntax tree:
All the information that is part of the timescale is present but there's no information that this belongs to a timescale.
I noticed something similar with `undef MACRONAME
The name of the macro shows as a TextMacroIdentifier but there's no information about the undef part.
I haven't looked yet at how other directives are behaving (non macro or include file related).