summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--Function.py30
-rwxr-xr-xpp2cc.py12
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
diff --git a/pp2cc.py b/pp2cc.py
index b0c9b18..15d451a 100755
--- a/pp2cc.py
+++ b/pp2cc.py
@@ -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