public void PrintStringValue(Node n, ref StreamWriter sw) { switch (n.type) { case STAT: sw.WriteLine("STAT"); break; case VARLIST: sw.WriteLine("VARLIST"); break; case Id: sw.WriteLine("Id"); break; case NUMBER: sw.WriteLine("NUMBER {0}", n.dataN); break; case ASSIGN: sw.WriteLine("ASSIGN"); break; case EXPLIST: sw.WriteLine("EXPLIST"); break; case CHUNK: sw.WriteLine("CHUNK"); break; case STRING: sw.WriteLine("STRING", n.dataS); break; case OperatorMinus: sw.WriteLine("OperatorMinus"); break; case OperatorPlus: sw.WriteLine("OperatorPlus"); break; case OperatorMod: sw.WriteLine("OperatorMod"); break; case OperatorDiv: sw.WriteLine("OperatorDiv"); break; case OperatorMul: sw.WriteLine("OperatorMul"); break; case EXP: sw.WriteLine("EXP"); break; case FUNCTION: sw.WriteLine("FUNCTION"); break; case FUNCNAME: sw.WriteLine("FUNCNAME"); break; case PARLIST: sw.WriteLine("PARLIST"); break; case DO: sw.WriteLine("DO"); break; case WHILE: sw.WriteLine("WHILE"); break; case FUNCTION_CALL: sw.WriteLine("FUNCTION_CALL"); break; case ARGS: sw.WriteLine("ARGS"); break; case ASSIGN_LOCAL: sw.WriteLine("ASSIGN_LOCAL"); break; case BREAK: sw.WriteLine("BREAK"); break; case REPEAT: sw.WriteLine("REPEAT"); break; case UNTIL_COND: sw.WriteLine("UNTIL_COND"); break; case IF: sw.WriteLine("IF"); break; case IF_COND: sw.WriteLine("IF_COND"); break; case FOR: sw.WriteLine("FOR"); break; case STEP: sw.WriteLine("STEP"); break; case ELSEIF_LIST: sw.WriteLine("ELSEIF_LIST"); break; case ELSE: sw.WriteLine("ELSE"); break; case RETURN: sw.WriteLine("RETURN"); break; case TABLE_CONSTRUCTOR: sw.WriteLine("TABLE_CONSTRUCTOR"); break; case GREATER: sw.WriteLine("GREATER"); break; case GREATER_EQUAL: sw.WriteLine("GREATER_EQUAL"); break; case LESS: sw.WriteLine("LESS"); break; case LESS_EQUAL: sw.WriteLine("LESS_EQUAL"); break; case EQUAL: sw.WriteLine("EQUAL"); break; case NOT_EQUAL: sw.WriteLine("NOT_EQUAL"); break; case AND: sw.WriteLine("AND"); break; case OR: sw.WriteLine("OR"); break; case NOT: sw.WriteLine("NOT"); break; case UPVALUE: sw.WriteLine("UPVALUE"); break; case FOR_IN: sw.WriteLine("FOR_IN"); break; case Id_Up: sw.WriteLine("Id_Up"); break; case FUNCNAME_UP: sw.WriteLine("FUNCNAME_UP"); break; case FUNCNAME_IMPLICIT: sw.WriteLine("FUNCNAME_IMPLICIT"); break; case FUNCTION_CALL_IMPLICIT: sw.WriteLine("FUNCTION_CALL_IMPLICIT"); break; } }
public TreeNode CreateNode(int type, params TreeNode[] ch) { Node n = new Node(); n.type = type; TreeNode node = new TreeNode(n); m_stack.Add(node); foreach(TreeNode c in ch) { if (c != null) { node.Children.Add(c); } } return node; }
public TreeNode CreateNode(int type, double val) { Node n = new Node(); n.type = type; n.dataN = val; TreeNode node = new TreeNode(n); m_stack.Add(node); return node; }
public TreeNode CreateNode(int type, TreeNodeList<Node> tnl) { Node n = new Node(); n.type = type; TreeNode node = new TreeNode(n); m_stack.Add(node); if (tnl != null) { foreach (TreeNode tn in tnl) { if (tn != null) { node.Children.Add(tn); } } } return node; }
public TreeNode<Node> CreateNode(int type, string val) { Node n = new Node(); n.type = type; //n.idLink n.dataS = val; TreeNode<Node> node = new TreeNode<Node>(n); m_stack.Add(node); return node; }