diff options
Diffstat (limited to 'Compiler/Program.cs')
| -rw-r--r-- | Compiler/Program.cs | 31 |
1 files changed, 19 insertions, 12 deletions
diff --git a/Compiler/Program.cs b/Compiler/Program.cs index fdd8722..9259205 100644 --- a/Compiler/Program.cs +++ b/Compiler/Program.cs @@ -22,17 +22,24 @@ class Program Environment.CurrentDirectory = Path.GetDirectoryName(options.InputFile) ?? Environment.CurrentDirectory; options.InputFile = Path.GetFileName(options.InputFile); - AntlrFileStream inputStream = new(options.InputFile); - CGrammarLexer lexer = new(inputStream); - lexer.RemoveErrorListeners(); - - ITokenStream tokenStream = new BufferedTokenStream(lexer); - CGrammarParser parser = new(tokenStream); - parser.RemoveErrorListeners(); - - CCompilerVisitor compiler = new(options.CommentCompilationMode); - IEnumerable<string> result = compiler.Compile(parser.program()); - - File.WriteAllLines(options.OutputFile, result); + try + { + AntlrFileStream inputStream = new(options.InputFile); + CGrammarLexer lexer = new(inputStream); + lexer.RemoveErrorListeners(); + + ITokenStream tokenStream = new BufferedTokenStream(lexer); + CGrammarParser parser = new(tokenStream); + parser.RemoveErrorListeners(); + + CCompilerVisitor compiler = new(options.CommentCompilationMode); + IEnumerable<string> result = compiler.Compile(parser.program()); + + File.WriteAllLines(options.OutputFile, result); + } + catch (CompilerException ex) + { + Console.WriteLine($"{ex.Message}"); + } } }
\ No newline at end of file |
