bug fixed VisitGetNameNode and implement VisitGlobalNameNode
divide ToSymbol methods
support "print" external function, multiple definition in subblock,
Let definition, and file output
implement VisitMacroNode
for test only