ExprAST.py (6657:ef5fae93a3b2) ExprAST.py (6999:f226c098c393)
1# Copyright (c) 2009 The Hewlett-Packard Development Company
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

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

19# OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
20# SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
21# LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
22# DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
23# THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
24# (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
25# OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
26
1# Copyright (c) 2009 The Hewlett-Packard Development Company
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

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

19# OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
20# SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
21# LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
22# DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
23# THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
24# (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
25# OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
26
27from m5.util import code_formatter
28
29from slicc.ast.AST import AST
30
31class ExprAST(AST):
32 def __init__(self, slicc):
33 super(ExprAST, self).__init__(slicc)
34
35 def findResources(self, resources):
36 # The default is no resources
37 pass
38
39 def inline(self, get_type=False):
27from slicc.ast.AST import AST
28
29class ExprAST(AST):
30 def __init__(self, slicc):
31 super(ExprAST, self).__init__(slicc)
32
33 def findResources(self, resources):
34 # The default is no resources
35 pass
36
37 def inline(self, get_type=False):
40 code = code_formatter(fix_newlines=False)
38 code = self.slicc.codeFormatter(fix_newlines=False)
41 return_type = self.generate(code)
42 if get_type:
43 return return_type, code
44 else:
45 return code
39 return_type = self.generate(code)
40 if get_type:
41 return return_type, code
42 else:
43 return code