32,33c32,33
< def __init__(self, slicc, queue_name, type_ast, pairs, statements):
< super(EnqueueStatementAST, self).__init__(slicc, pairs)
---
> def __init__(self, slicc, queue_name, type_ast, lexpr, statements):
> super(EnqueueStatementAST, self).__init__(slicc)
36a37
> self.latexpr = lexpr
61d61
<
64,73c64,69
< args = [ "out_msg" ]
< if "latency" in self:
< latency = self["latency"]
< try:
< # see if this is an integer
< latency = int(latency)
< args.append("Cycles(%s)" % latency)
< except ValueError:
< # if not, it should be a member
< args.append("m_%s" % latency)
---
> if self.latexpr != None:
> ret_type, rcode = self.latexpr.inline(True)
> code("(${{self.queue_name.var.code}}).enqueue(" \
> "out_msg, Cycles($rcode));")
> else:
> code("(${{self.queue_name.var.code}}).enqueue(out_msg);")
75,78d70
< args = ", ".join(args)
< code('(${{self.queue_name.var.code}}).enqueue($args);')
<
<