|
|
|
@ -71,15 +71,19 @@ namespace Cxxi
@@ -71,15 +71,19 @@ namespace Cxxi
|
|
|
|
|
Console.WriteLine(" {0}", diag.Message); |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
public void ParseCode() |
|
|
|
|
public bool ParseCode() |
|
|
|
|
{ |
|
|
|
|
Console.WriteLine("Parsing code..."); |
|
|
|
|
|
|
|
|
|
var parser = new Parser(Options); |
|
|
|
|
parser.HeaderParsed += OnHeaderParsed; |
|
|
|
|
|
|
|
|
|
parser.ParseHeaders(Options.Headers); |
|
|
|
|
if( !parser.ParseHeaders(Options.Headers) ) |
|
|
|
|
return false; |
|
|
|
|
|
|
|
|
|
Library = parser.Library; |
|
|
|
|
|
|
|
|
|
return true; |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
public void ProcessCode() |
|
|
|
@ -148,9 +152,12 @@ namespace Cxxi
@@ -148,9 +152,12 @@ namespace Cxxi
|
|
|
|
|
|
|
|
|
|
var driver = new Driver(options, library); |
|
|
|
|
driver.Setup(); |
|
|
|
|
driver.ParseCode(); |
|
|
|
|
driver.ProcessCode(); |
|
|
|
|
driver.GenerateCode(); |
|
|
|
|
|
|
|
|
|
if (driver.ParseCode()) |
|
|
|
|
{ |
|
|
|
|
driver.ProcessCode(); |
|
|
|
|
driver.GenerateCode(); |
|
|
|
|
} |
|
|
|
|
} |
|
|
|
|
} |
|
|
|
|
|
|
|
|
@ -169,6 +176,9 @@ namespace Cxxi
@@ -169,6 +176,9 @@ namespace Cxxi
|
|
|
|
|
public bool Verbose = false; |
|
|
|
|
public bool ShowHelpText = false; |
|
|
|
|
public bool OutputDebug = false; |
|
|
|
|
// When set to true - compiler errors are ignored and intermediate
|
|
|
|
|
// parsing results still can be used.
|
|
|
|
|
public bool IgnoreErrors = false; |
|
|
|
|
public bool OutputInteropIncludes = true; |
|
|
|
|
public bool GenerateLibraryNamespace; |
|
|
|
|
public string OutputNamespace; |
|
|
|
|