TypeFieldStateAST.py (8086:bf0335d98250) | TypeFieldStateAST.py (9298:9a087e046c58) |
---|---|
1# Copyright (c) 2011 Advanced Micro Devices, Inc. 2# All rights reserved. 3# 4# Redistribution and use in source and binary forms, with or without 5# modification, are permitted provided that the following conditions are 6# met: redistributions of source code must retain the above copyright 7# notice, this list of conditions and the following disclaimer; 8# redistributions in binary form must reproduce the above copyright --- 31 unchanged lines hidden (view full) --- 40 def __repr__(self): 41 return "[TypeFieldState: %r]" % self.field_id 42 43 def generate(self, type): 44 if not str(type) == "State": 45 self.error("State Declaration must be of type State.") 46 47 # Add enumeration | 1# Copyright (c) 2011 Advanced Micro Devices, Inc. 2# All rights reserved. 3# 4# Redistribution and use in source and binary forms, with or without 5# modification, are permitted provided that the following conditions are 6# met: redistributions of source code must retain the above copyright 7# notice, this list of conditions and the following disclaimer; 8# redistributions in binary form must reproduce the above copyright --- 31 unchanged lines hidden (view full) --- 40 def __repr__(self): 41 return "[TypeFieldState: %r]" % self.field_id 42 43 def generate(self, type): 44 if not str(type) == "State": 45 self.error("State Declaration must be of type State.") 46 47 # Add enumeration |
48 if not type.enumAdd(self.field_id, self.pairs_ast.pairs): | 48 if not type.addEnum(self.field_id, self.pairs_ast.pairs): |
49 self.error("Duplicate enumeration: %s:%s" % (type, self.field_id)) 50 51 # Fill machine info 52 machine = self.symtab.state_machine 53 54 if not machine: 55 self.error("State declaration not part of a machine.") 56 s = State(self.symtab, self.field_id, self.location, self.pairs) 57 machine.addState(s) 58 59 type.statePermPairAdd(s, self.perm_ast.value) 60 61 | 49 self.error("Duplicate enumeration: %s:%s" % (type, self.field_id)) 50 51 # Fill machine info 52 machine = self.symtab.state_machine 53 54 if not machine: 55 self.error("State declaration not part of a machine.") 56 s = State(self.symtab, self.field_id, self.location, self.pairs) 57 machine.addState(s) 58 59 type.statePermPairAdd(s, self.perm_ast.value) 60 61 |