Beispiel #1
0
 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;
     }
 }
Beispiel #2
0
 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;
 }
Beispiel #3
0
 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;
 }
Beispiel #4
0
 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;
 }
Beispiel #5
0
 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;
 }