public static Parser CreateForFile (string file, Driver driver) { FileStream fs = new FileStream (file, FileMode.Open, FileAccess.Read); BufferedStream bs = new BufferedStream (fs); StreamReader reader = new StreamReader (bs); return new Parser (reader, file, driver); }
public int Launch () { Parser.DebugParser = debug_parser; if (RemainingArguments.Length == 0) { DoAbout (); return 1; } if (keyfile == null) { Console.Error.WriteLine ("A keypair file must be specified to sign the assembly."); return 1; } if (assembly_version == null) { Console.Error.WriteLine ("An assembly version must be given to install the assembly."); return 1; } if (!File.Exists (keyfile)) { Console.Error.WriteLine ("The specified keypair file \"{0}\" does not exist.", keyfile); return 1; } if (outfile == null) { string inbase = Path.GetFileNameWithoutExtension (RemainingArguments[0]); // hacky ... outfile = "MBuildDynamic." + inbase + ".dll"; } switch (source_language) { case "csharp": prov = new CSharpCodeProvider(); resource_arg = "/resource:"; break; case "vb": prov = new VBCodeProvider (); resource_arg = "/resource:"; // ??? break; default: Console.Error.WriteLine ("Unknown source language \"{0}\" -- cannot continue.", source_language); return 1; } Driver driver = new Driver (); foreach (string s in refs) if (driver.LoadAssembly (s)) return 1; for (int i = 0; i < RemainingArguments.Length; i++) { if (driver.ParseFile (RemainingArguments[i])) return 1; } if (driver.Prepare ()) return 2; if (debug_codegen) return DoDebugCodegen (driver.GetUnits (assembly_version, keyfile)); foreach (string nfile in natives) if (driver.AddNativeFile (nfile)) return 1; return DoCompilePass (driver.GetUnits (assembly_version, keyfile)); }
public static bool DebugParser; // hack hack // public public Parser (StreamReader reader, string file, Driver driver) { lexer = new Tokenizer (reader, file); this.driver = driver; }
public TypeResolveContext (Driver driver) { this.driver = driver; }