public static GtSyntaxTree ApplyParseFunc(GtFunc ParseFunc, GtNameSpace NameSpace, GtTokenContext TokenContext, GtSyntaxTree LeftTree, GtSyntaxPattern Pattern)
 {
     return (GtSyntaxTree)ApplyMethodV(ParseFunc, null, NameSpace, TokenContext, LeftTree, Pattern);
 }
 public static object ImportNativeObject(GtNameSpace NameSpace, string PackageName)
 {
     LibGreenTea.VerboseLog(GreenTeaUtils.VerboseNative, "importing " + PackageName);
     try
     {
         Type NativeClass = LibNative.ImportClass(PackageName);
         try
         {
             MethodInfo LoaderMethod = NativeClass.GetMethod("ImportGrammar");//, typeof(GtNameSpace), typeof(Type));
             LoaderMethod.Invoke(null, new object[] { NameSpace, NativeClass });
         }
         catch (Exception)
         {  // naming
         }
         return LibNative.GetNativeType(NativeClass);
     }
     catch (Exception)
     {
     }
     int Index = PackageName.LastIndexOf(".");
     if (Index >= 0)
     {
         try
         {
             Type NativeClass = LibNative.ImportClass(PackageName.Substring(0, Index));
             return ImportStaticObject(NameSpace.Context, NativeClass, PackageName.Substring(Index + 1));
         }
         catch (Exception)
         {
         }
     }
     return null;
 }