public static string GetTranslatedCode(string sourceCode) { System.Threading.Thread.CurrentThread.CurrentCulture = System.Globalization.CultureInfo.InvariantCulture; var prevConsoleOut = Console.Out; var writer = new StringWriter(); Console.SetOut(writer); ICharStream streamInput = CharStreams.fromstring(sourceCode); ITokenSource lexer = new ControlScriptLanguageLexer(streamInput); ITokenStream flowTokens = new CommonTokenStream(lexer); ControlScriptLanguageParser parser = new ControlScriptLanguageParser(flowTokens); Console.WriteLine(codePrefix); parser.script(); Console.WriteLine(codeSuffix); Console.SetOut(prevConsoleOut); return(writer.ToString()); }
static void Main(string[] args) { Test(); if (args.Length == 0) { Console.WriteLine(""); Console.WriteLine("Usage: ControlScriptLanguage.exe inputfile"); Console.WriteLine(""); return; } System.Threading.Thread.CurrentThread.CurrentCulture = System.Globalization.CultureInfo.InvariantCulture; string filename = args[0]; //From ANTLR4 Doc (antlr.org). ICharStream streamInput = CharStreams.fromPath(filename); ITokenSource lexer = new ControlScriptLanguageLexer(streamInput); ITokenStream flowTokens = new CommonTokenStream(lexer); ControlScriptLanguageParser parser = new ControlScriptLanguageParser(flowTokens); Console.WriteLine(codePrefix); parser.script(); Console.WriteLine(codeSuffix); }