LiteralExprAST.py (6657:ef5fae93a3b2) | LiteralExprAST.py (7055:4e24742201d7) |
---|---|
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; --- 25 unchanged lines hidden (view full) --- 34 self.literal = literal 35 self.type = type 36 37 def __repr__(self): 38 return "[Literal: %s]" % self.literal 39 40 def generate(self, code): 41 fix = code.nofix() | 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; --- 25 unchanged lines hidden (view full) --- 34 self.literal = literal 35 self.type = type 36 37 def __repr__(self): 38 return "[Literal: %s]" % self.literal 39 40 def generate(self, code): 41 fix = code.nofix() |
42 if self.type == "string": | 42 if self.type == "std::string": |
43 code('("${{self.literal}}")') 44 elif self.type == "bool": 45 code('(${{str(self.literal).lower()}})') 46 else: 47 code('(${{self.literal}})') 48 code.fix(fix) 49 50 type = self.symtab.find(self.type, Type) 51 if type is None: 52 # Can't find the type 53 self.error("Internal: can't primitive type '%s'" % self.type) 54 55 return type | 43 code('("${{self.literal}}")') 44 elif self.type == "bool": 45 code('(${{str(self.literal).lower()}})') 46 else: 47 code('(${{self.literal}})') 48 code.fix(fix) 49 50 type = self.symtab.find(self.type, Type) 51 if type is None: 52 # Can't find the type 53 self.error("Internal: can't primitive type '%s'" % self.type) 54 55 return type |