EnqueueStatementAST.py (6657:ef5fae93a3b2) EnqueueStatementAST.py (7453:1a5db3dd0f62)
1# Copyright (c) 1999-2008 Mark D. Hill and David A. Wood
2# Copyright (c) 2009 The Hewlett-Packard Development Company
3# All rights reserved.
4#
5# Redistribution and use in source and binary forms, with or without
6# modification, are permitted provided that the following conditions are
7# met: redistributions of source code must retain the above copyright
8# notice, this list of conditions and the following disclaimer;

--- 34 unchanged lines hidden (view full) ---

43 def generate(self, code, return_type):
44 code("{")
45 code.indent()
46 self.symtab.pushFrame()
47
48 msg_type = self.type_ast.type
49
50 # Add new local var to symbol table
1# Copyright (c) 1999-2008 Mark D. Hill and David A. Wood
2# Copyright (c) 2009 The Hewlett-Packard Development Company
3# All rights reserved.
4#
5# Redistribution and use in source and binary forms, with or without
6# modification, are permitted provided that the following conditions are
7# met: redistributions of source code must retain the above copyright
8# notice, this list of conditions and the following disclaimer;

--- 34 unchanged lines hidden (view full) ---

43 def generate(self, code, return_type):
44 code("{")
45 code.indent()
46 self.symtab.pushFrame()
47
48 msg_type = self.type_ast.type
49
50 # Add new local var to symbol table
51 v = Var(self.symtab, "out_msg", self.location, msg_type, "out_msg",
51 v = Var(self.symtab, "out_msg", self.location, msg_type, "*out_msg",
52 self.pairs)
53 self.symtab.newSymbol(v)
54
55 # Declare message
52 self.pairs)
53 self.symtab.newSymbol(v)
54
55 # Declare message
56 code("${{msg_type.ident}} out_msg;")
56 code("${{msg_type.ident}} *out_msg = new ${{msg_type.ident}};")
57
58 # The other statements
59 t = self.statements.generate(code, None)
60
61 self.queue_name.assertType("OutPort")
62
63 args = [ "out_msg" ]
64 if "latency" in self:

--- 22 unchanged lines hidden ---
57
58 # The other statements
59 t = self.statements.generate(code, None)
60
61 self.queue_name.assertType("OutPort")
62
63 args = [ "out_msg" ]
64 if "latency" in self:

--- 22 unchanged lines hidden ---