예제 #1
0
 void Back_ExprRoot()
 {
     root = new NRoot(); NBase res;
     if (TokenExists(0, "="))
     {
         Back_Assign(out res);
         while (la.kind == 64)
         {
             Get();
         }
         root.Exprs.Add(res);
         while (TokenEquals(0, ";") && !TokenEquals(1, _EOF))
         {
             Back_Assign(out res);
             while (la.kind == 64)
             {
                 Get();
             }
             root.Exprs.Add(res);
         }
     }
     else if (StartOf(1))
     {
         Expr(out res);
         root.Exprs.Add(res);
     }
     else
     {
         SynErr(73);
     }
 }
예제 #2
0
 void Event_ExprRoot()
 {
     root = new NRoot(); NBase ident;
     Event_Ident(out ident);
     while (la.kind == 64)
     {
         Get();
     }
     root.Exprs.Add((NIdentBase)ident);
     while (TokenEquals(0, ";") && !TokenEquals(1, _EOF))
     {
         Event_Ident(out ident);
         while (la.kind == 64)
         {
             Get();
         }
         root.Exprs.Add((NIdentBase)ident);
     }
 }
예제 #3
0
 void ExprRoot()
 {
     root = new NRoot(); NBase res;
     Expr(out res);
     root.Exprs.Add(res);
 }