jackalc/nodes.py
josh b4dd8064a3 improved integer literals, added string literals
git-svn-id: svn://anubis/jackalc/trunk@3 2d0ce1a6-f80c-425e-916c-c881d0336438
2010-09-14 21:12:56 +00:00

56 lines
1.1 KiB
Python

# AST nodes for the Jackal compiler
# Author: Josh Holtrop
# Date: 2010-09-14
class Node:
pass
class BinOpNode(Node):
def __init__(self, binop, s1, s2):
self.binop = binop
self.s1 = s1
self.s2 = s2
class ModuleNode(Node):
def __init__(self, classes):
self.classes = classes
class ClassNode(Node):
def __init__(self, name, items):
self.name = name
self.items = items
class TypeNode(Node):
def __init__(self, name):
self.name = name
class FunctionNode(Node):
def __init__(self, name, parameters, rtype, body):
self.name = name
self.parameters = parameters
self.rtype = rtype
self.body = body
class BlockNode(Node):
def __init__(self, body):
self.body = body
class VarspecNode(Node):
def __init__(self, name, typ):
self.name = name
self.typ = typ
class ReturnNode(Node):
def __init__(self, expr):
self.expr = expr
class ParamNode(Node):
def __init__(self, name, typ):
self.name = name
self.typ = typ
class IntegerNode(Node):
def __init__(self, value):
self.value = value