ObjDeclAST.py (6657:ef5fae93a3b2) | ObjDeclAST.py (9271:3859f5d4f2c6) |
---|---|
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; --- 27 unchanged lines hidden (view full) --- 36 self.ident = ident 37 38 def __repr__(self): 39 return "[ObjDecl: %r]" % self.ident 40 41 def generate(self): 42 machineComponentSym = False 43 | 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; --- 27 unchanged lines hidden (view full) --- 36 self.ident = ident 37 38 def __repr__(self): 39 return "[ObjDecl: %r]" % self.ident 40 41 def generate(self): 42 machineComponentSym = False 43 |
44 self["chip_object"] = "yes" 45 | |
46 if "hack" in self: 47 warning("'hack=' is now deprecated") 48 49 if "network" in self and "virtual_network" not in self: 50 self.error("Network queues require a 'virtual_network' attribute") 51 52 type = self.type_ast.type 53 if type.isBuffer and "ordered" not in self: --- 11 unchanged lines hidden (view full) --- 65 if value not in ("true", "false"): 66 self.error("The 'random' attribute is '%s' " + \ 67 "must be 'true' or 'false'.", value) 68 69 machine = self.symtab.state_machine 70 71 # FIXME : should all use accessors here to avoid public member 72 # variables | 44 if "hack" in self: 45 warning("'hack=' is now deprecated") 46 47 if "network" in self and "virtual_network" not in self: 48 self.error("Network queues require a 'virtual_network' attribute") 49 50 type = self.type_ast.type 51 if type.isBuffer and "ordered" not in self: --- 11 unchanged lines hidden (view full) --- 63 if value not in ("true", "false"): 64 self.error("The 'random' attribute is '%s' " + \ 65 "must be 'true' or 'false'.", value) 66 67 machine = self.symtab.state_machine 68 69 # FIXME : should all use accessors here to avoid public member 70 # variables |
73 if self.ident == "id": 74 c_code = "m_chip_ptr.getID()" 75 elif self.ident == "version": | 71 if self.ident == "version": |
76 c_code = "m_version" 77 elif self.ident == "machineID": 78 c_code = "m_machineID" 79 elif machine: 80 c_code = "(*m_%s_%s_ptr)" % (machine.ident, self.ident) 81 else: 82 c_code = "(*m_%s_ptr)" % (self.ident) 83 84 v = Var(self.symtab, self.ident, self.location, type, c_code, 85 self.pairs, machine) 86 87 if machine: 88 machine.addObject(v) 89 90 self.symtab.newSymbol(v) 91 92 # used to cheat-- that is, access components in other machines 93 if machineComponentSym: 94 self.symtab.newMachComponentSym(v) | 72 c_code = "m_version" 73 elif self.ident == "machineID": 74 c_code = "m_machineID" 75 elif machine: 76 c_code = "(*m_%s_%s_ptr)" % (machine.ident, self.ident) 77 else: 78 c_code = "(*m_%s_ptr)" % (self.ident) 79 80 v = Var(self.symtab, self.ident, self.location, type, c_code, 81 self.pairs, machine) 82 83 if machine: 84 machine.addObject(v) 85 86 self.symtab.newSymbol(v) 87 88 # used to cheat-- that is, access components in other machines 89 if machineComponentSym: 90 self.symtab.newMachComponentSym(v) |