ActionDeclAST.py (7839:9e556fb25900) ActionDeclAST.py (8192:be38f7b6ad9e)
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;

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

54 self.error("Type 'Address' not declared.")
55
56 var = Var(self.symtab, "address", self.location, addr_type,
57 "addr", self.pairs)
58 self.symtab.newSymbol(var)
59
60 if machine.TBEType != None:
61 var = Var(self.symtab, "tbe", self.location, machine.TBEType,
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;

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

54 self.error("Type 'Address' not declared.")
55
56 var = Var(self.symtab, "address", self.location, addr_type,
57 "addr", self.pairs)
58 self.symtab.newSymbol(var)
59
60 if machine.TBEType != None:
61 var = Var(self.symtab, "tbe", self.location, machine.TBEType,
62 "(*m_tbe_ptr)", self.pairs)
62 "m_tbe_ptr", self.pairs)
63 self.symtab.newSymbol(var)
64
65 if machine.EntryType != None:
66 var = Var(self.symtab, "cache_entry", self.location,
63 self.symtab.newSymbol(var)
64
65 if machine.EntryType != None:
66 var = Var(self.symtab, "cache_entry", self.location,
67 machine.EntryType, "(*m_cache_entry_ptr)", self.pairs)
67 machine.EntryType, "m_cache_entry_ptr", self.pairs)
68 self.symtab.newSymbol(var)
69
70 # Do not allows returns in actions
71 code = self.slicc.codeFormatter()
72 self.statement_list.generate(code, None)
73 self.pairs["c_code"] = str(code)
74
75 self.statement_list.findResources(resources)
76
77 self.symtab.popFrame()
78
79 action = Action(self.symtab, self.ident, resources, self.location,
80 self.pairs)
81 machine.addAction(action)
68 self.symtab.newSymbol(var)
69
70 # Do not allows returns in actions
71 code = self.slicc.codeFormatter()
72 self.statement_list.generate(code, None)
73 self.pairs["c_code"] = str(code)
74
75 self.statement_list.findResources(resources)
76
77 self.symtab.popFrame()
78
79 action = Action(self.symtab, self.ident, resources, self.location,
80 self.pairs)
81 machine.addAction(action)