a Verilog parser written in Nim.
module- with/without parameters
- module scopes [
always,initial,assign] forever- instanciation
- declare parameters
inputoutputinoutwirereginteger
'define'timestamp- function call
- with/without
()
- with/without
case- even
defaultbranch
- even
if/else if/else- even nested
forloop- bracket expr
ident[0] - range
[3:0] - curly
{} - par
() - prefix (
-a) - infix (
a + b) - triplefix (
a ? b : c) - block
- single stmt
begin/end
- convert code to tree repr
- convert code to repr
a optional uni homework needed for a verilog parser.