dtzrttp/moonbit-rtl/src/syntax does not have a README file
pub(all) struct Connection {
port_name : String?
expression : Expression
span : Span
} derive(Eq, Debug)pub(all) struct ContinuousAssign {
target : Expression
value : Expression
span : Span
} derive(Eq, Debug)pub(all) enum Expression {
Name(String, Span)
Number(String, Span)
StringLiteral(String, Span)
Unary(String, Expression, Span)
Binary(Expression, String, Expression, Span)
Index(Expression, Expression, Span)
Unknown(Span)
} derive(Eq, Debug)fn Expression::binary(left : Expression, operator : String, right : Expression, span : Span) -> Expressionpub(all) struct Instance {
module_name : String
instance_name : String
connections : Array[Connection]
span : Span
} derive(Eq, Debug)pub(all) enum ModuleItem {
Assign(ContinuousAssign)
Always(AlwaysBlock)
Instance(Instance)
Statement(Statement)
Unknown(Span)
} derive(Eq, Debug)pub(all) struct Sensitivity {
edge : EdgeKind
expression : Expression
span : Span
} derive(Eq, Debug)pub(all) enum Statement {
Empty(Span)
Block(Array[Statement], Span)
Assignment(Expression, Expression, Bool, Span)
If(Expression, Statement, Statement?, Span)
Case(Expression, Array[CaseArm], Span)
Unknown(Span)
} derive(Eq, Debug)Install
Download zipA Verilog-2001 RTL parser, hierarchy analyzer, and lint tool written in MoonBit.