view applications/ide/compiler/display.py @ 39:600f48b74799

Move ide
author windel
date Fri, 03 Feb 2012 18:40:43 +0100
parents ide/compiler/display.py@92df07bc2081
children
line wrap: on
line source

from .nodes import *

def printNode(node, indent=0):
     """
      Print visitor
        all printing goes in here
     """
     print(' '*indent+str(node))
     if type(node) is Procedure:
       print(' '*indent+'  PARAMETERS:')
       for p in node.parameters:
         printNode(p, indent+4)
       if node.block:
         print(' '*indent+'  CODE:')
         printNode(node.block, indent+4)
     elif type(node) is Module:
       print(node.symtable)
       printNode(node.initcode, indent+2)
     else:
       for c in node.getChildren():
         printNode(c, indent+2)