diff options
-rw-r--r-- | Function.py | 30 | ||||
-rwxr-xr-x | pp2cc.py | 12 |
2 files changed, 31 insertions, 11 deletions
diff --git a/Function.py b/Function.py new file mode 100644 index 0000000..6621fb8 --- /dev/null +++ b/Function.py @@ -0,0 +1,30 @@ +#!/usr/bin/env python +"""Compiles C into assembly for the practicum processor (PP2) + +All rights reserved, you may not redistribute or use this program without prior +permission from Peter Wu or Xander Houtman. Use of this program is entirely +your own risk. In no circumstances can the authors of this program be held +responsible for any damage including, but not limited to, financial damage or +data loss. Modification of this program is not allowed without prior +permission. The generated output (assembly and messages) are not subject to +this license. +""" + +__author__ = "Peter Wu" +__copyright__ = "Copyright 2011, Peter Wu" +__credits__ = ["Peter Wu"] +__license__ = "Proprietary" +__version__ = "1.0" +__maintainer__ = "Peter Wu" +__email__ = "uwretep@gmail.com" + +class Function(object): + def __init__(self, node): + self.name = node.decl.name + self.node = node + def labelBegin(self): + """Returns a label pointing to the begin of a function""" + return "fn_" + self.name + def labelEnd(self): + """Returns a label pointing to the end of a function""" + return "fne_" + self.name @@ -15,6 +15,7 @@ from pycparser import c_parser, c_ast from Asm import Asm from Registers import Registers from LinkedNode import LinkedNode +from Function import Function __author__ = "Peter Wu" __copyright__ = "Copyright 2011, Peter Wu" @@ -24,17 +25,6 @@ __version__ = "1.0" __maintainer__ = "Peter Wu" __email__ = "uwretep@gmail.com" -class Function(object): - def __init__(self, node): - self.name = node.decl.name - self.node = node - def labelBegin(self): - """Returns a label pointing to the begin of a function""" - return "fn_" + self.name - def labelEnd(self): - """Returns a label pointing to the end of a function""" - return "fne_" + self.name - class Logger(object): def __init__(self): pass |