projects
/
sv2nmigen.git
/ commitdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
| commitdiff |
tree
raw
|
patch
|
inline
| side by side (parent:
26277f5
)
port_decl
author
Tobias Platen
<tplaten@posteo.de>
Sat, 26 Oct 2019 16:01:02 +0000
(18:01 +0200)
committer
Tobias Platen
<tplaten@posteo.de>
Sat, 26 Oct 2019 16:01:02 +0000
(18:01 +0200)
absyn.py
patch
|
blob
|
history
parse_sv.py
patch
|
blob
|
history
diff --git
a/absyn.py
b/absyn.py
index a1b34274d4840f5415964eee20b64b6062b7dbe1..12f1c0a2a46265994e874508337dfded4671d882 100644
(file)
--- a/
absyn.py
+++ b/
absyn.py
@@
-34,6
+34,9
@@
class Absyn:
return Leaf(token.DEDENT, '')
def nl(self):
return Leaf(token.NEWLINE, '\n')
return Leaf(token.DEDENT, '')
def nl(self):
return Leaf(token.NEWLINE, '\n')
+
+ def port_decl(self,comment, dt, name):
+ return None # TODO
def initPorts(self,params,ports):
pass_stmt = Node(syms.pass_stmt ,[Leaf(token.NAME, "def __init__(self):#FIXME")])
def initPorts(self,params,ports):
pass_stmt = Node(syms.pass_stmt ,[Leaf(token.NAME, "def __init__(self):#FIXME")])
@@
-86,7
+89,12
@@
class Absyn:
stmts.children.append(self.indent(2))
stmts.children.append(Leaf(token.STRING,"m = Module()"))
stmts.children.append(self.nl())
stmts.children.append(self.indent(2))
stmts.children.append(Leaf(token.STRING,"m = Module()"))
stmts.children.append(self.nl())
- ##
+ ##
+ for a in self.assign:
+ stmts.children.append(self.indent(2))
+ stmts.children.append(Leaf(token.STRING,"#FIXME_ASSIGN"+str(list(a[8]))))
+ stmts.children.append(self.nl())
+
stmts.children.append(self.indent(2))
stmts.children.append(Leaf(token.STRING,"return m"))
stmts.children.append(self.nl())
stmts.children.append(self.indent(2))
stmts.children.append(Leaf(token.STRING,"return m"))
stmts.children.append(self.nl())
@@
-119,5
+127,5
@@
class Absyn:
# combinatorical assign
def cont_assign_1(self,p):
# combinatorical assign
def cont_assign_1(self,p):
- self.printpy("#ASSIGN"+str(list(p)))
+
#
self.printpy("#ASSIGN"+str(list(p)))
self.assign += [p]
self.assign += [p]
diff --git
a/parse_sv.py
b/parse_sv.py
index 3df4571b0d97e040d9b39a2b00dbfb3c6a4959cb..bd760f5e506ebaa059ad1d679ee147ba63906e2d 100644
(file)
--- a/
parse_sv.py
+++ b/
parse_sv.py
@@
-109,7
+109,7
@@
class DataType:
self.typ = typ
self.signed = signed
self.typ = typ
self.signed = signed
-def port_decl(comment, dt, name):
+def port_decl
_do_not_use
(comment, dt, name):
if dt is None or dt.dims is None:
width = '' # width: 1
else:
if dt is None or dt.dims is None:
width = '' # width: 1
else:
@@
-4758,9
+4758,8
@@
def p_list_of_port_declarations_5(p):
def p_port_declaration_1(p):
'''port_declaration : attribute_list_opt K_input net_type_opt data_type_or_implicit IDENTIFIER dimensions_opt '''
if(parse_debug): print('port_declaration_1 FIXME', list(p))
def p_port_declaration_1(p):
'''port_declaration : attribute_list_opt K_input net_type_opt data_type_or_implicit IDENTIFIER dimensions_opt '''
if(parse_debug): print('port_declaration_1 FIXME', list(p))
- # XXX TODO: python AST
comment, dt, name = p[2], p[4], p[5]
comment, dt, name = p[2], p[4], p[5]
- p[0] = port_decl(comment, dt, name)
+ p[0] =
absyn.
port_decl(comment, dt, name)
# { Module::port_t*ptmp;
# perm_string name = lex_strings.make(p[5]);
# data_type_t*use_type = p[4];
# { Module::port_t*ptmp;
# perm_string name = lex_strings.make(p[5]);
# data_type_t*use_type = p[4];
@@
-4831,9
+4830,8
@@
def p_port_declaration_4(p):
def p_port_declaration_5(p):
'''port_declaration : attribute_list_opt K_output net_type_opt data_type_or_implicit IDENTIFIER dimensions_opt '''
if(parse_debug): print('port_declaration_5 FIXME', list(p))
def p_port_declaration_5(p):
'''port_declaration : attribute_list_opt K_output net_type_opt data_type_or_implicit IDENTIFIER dimensions_opt '''
if(parse_debug): print('port_declaration_5 FIXME', list(p))
- # XXX TODO: python AST
comment, dt, name = p[2], p[4], p[5]
comment, dt, name = p[2], p[4], p[5]
- p[0] = port_decl(comment, dt, name)
+ p[0] =
absyn.
port_decl(comment, dt, name)
# { Module::port_t*ptmp;
# perm_string name = lex_strings.make(p[5]);
# data_type_t*use_dtype = p[4];
# { Module::port_t*ptmp;
# perm_string name = lex_strings.make(p[5]);
# data_type_t*use_dtype = p[4];