Skip to content
This repository has been archived by the owner on May 29, 2022. It is now read-only.

hamidb80/vverilog

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

64 Commits
 
 
 
 
 
 
 
 
 
 

Repository files navigation

vverilog

a Verilog parser written in Nim.

Supported Syntax

  • module
    • with/without parameters
  • module scopes [always, initial, assign]
  • forever
  • instanciation
  • declare parameters
    • input
    • output
    • inout
    • wire
    • reg
    • integer
  • 'define
  • 'timestamp
  • function call
    • with/without ()
  • case
    • even default branch
  • if/else if/else
    • even nested
  • for loop
  • bracket expr ident[0]
  • range [3:0]
  • curly {}
  • par ()
  • prefix (-a)
  • infix (a + b)
  • triplefix (a ? b : c)
  • block
    • single stmt
    • begin/end

Features

  • convert code to tree repr
  • convert code to repr

Origin

a optional uni homework needed for a verilog parser.