Class VerilogTranslationPass

Inheritance Relationships

Base Type

Class Documentation

parselib.transforms.verilog_tranlation.VerilogTranslationPass : public parselib.transforms.top_down.TopDown

Translate low-level format of the _hdl.txt into Verilog
Note that type defs are already expanded at this point, so all htypeinfo/htype should only include primitive types
This pass does not perform any tree transformation that alters the semantics, but **only** generates Verilog

Public Functions

__init__(self)
start(self, tree)
modulelist(self, tree)
nonrefexp(self, tree)
hmethodcall(self, tree)
blkassign(self, tree)
syscwrite(self, tree)
numlitwidth(self, tree)
hliteral(self, tree)

stops at literal, it is some kinds of terminal

hvarref(self, tree)
syscread(self, tree)

syscread: hsigassignr, token

harrayref(self, tree)
hsigassignl(self, tree)
hbinop(self, tree)
hunop(self, tree)
hcstmt(self, tree)
get_current_ind_prefix(self)
casevalue(self, tree)
switchbody(self, tree)
casestmt(self, tree)
switchcond(self, tree)
switchstmt(self, tree)
stmt(self, tree)
hnoop(self, tree)
whilestmt(self, tree)
stmts(self, tree)
inc_indent(self)
dec_indent(self)
push_indent(self)

used to service temporary indent removal, such as that in for condition

pop_indent(self)
ifstmt(self, tree)
forinit(self, tree)
forcond(self, tree)
forpostcond(self, tree)
forbody(self, tree)
forstmt(self, tree)
hsensvars(self, tree)
npa(self, tree)
hsensedge(self, tree)
hsenslist(self, tree)
hprocess(self, tree)
htype(self, tree)
hreturnstmt(self, tree)
vardeclinit(self, tree)
moduleinst(self, tree)
vardecl(self, tree)
prevardecl(self, tree)
htypeinfo(self, tree)
hfunctionparams(self, tree)
hfunction(self, tree)
hmodule(self, tree)

Public Members

indent_character
current_indent
indent_inc
indent_stack
bindings
local_variables
in_for_init