Lines Matching refs:self
33 def __init__(self, slicc, ident, msg_type, var_expr, pairs, statements):
34 super(InPortDeclAST, self).__init__(slicc, pairs)
36 self.ident = ident
37 self.msg_type = msg_type
38 self.var_expr = var_expr
39 self.statements = statements
40 self.queue_type = TypeAST(slicc, "InPort")
42 def __repr__(self):
43 return "[InPortDecl: %s]" % self.ident
45 def generate(self):
46 symtab = self.symtab
51 self.error("InPort declaration not part of a machine.")
53 code = self.slicc.codeFormatter()
54 queue_type = self.var_expr.generate(code)
56 self.error("The inport queue's type must have the 'inport' " + \
60 type = self.queue_type.type
61 self.pairs["buffer_expr"] = self.var_expr
62 in_port = Var(self.symtab, self.ident, self.location, type, str(code),
63 self.pairs, machine)
72 self.error("in_port decls require 'Event' enumeration defined")
78 self.error("in_port decls require 'Addr' type to be defined")
92 func = Func(self.symtab, trigger_func_name, "trigger", self.location,
98 func = Func(self.symtab, "stallPort", "stallPort", self.location,
106 self.error("in_port decls require 'Event' enumeration")
113 self.error("in_port decls require 'Addr' type to be defined")
117 if self.statements is not None:
118 rcode = self.slicc.codeFormatter()
121 self.statements.generate(rcode, None)