TypeFieldStateAST.py (9298:9a087e046c58) | TypeFieldStateAST.py (11320:42ecb523c64a) |
---|---|
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 --- 29 unchanged lines hidden (view full) --- 38 self.pairs_ast = pairs_ast 39 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.") | 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 --- 29 unchanged lines hidden (view full) --- 38 self.pairs_ast = pairs_ast 39 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 | 46 |
47 # Add enumeration 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 | 47 # Add enumeration 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 |