1
0
mirror of https://github.com/twiglet/cs2j.git synced 2025-01-18 13:15:17 +01:00

simplify setup and print ast nodes

This commit is contained in:
Kevin Glynn 2010-07-15 14:22:42 -05:00
parent 542817993a
commit 379450ebf2

View File

@ -4,9 +4,12 @@ namespace RusticiSoftware.Translator.CSharp
using Path = System.IO.Path;
using Antlr.Runtime;
using RusticiSoftware.Translator.CSharp;
using System.IO;
using Antlr.Runtime.Tree;
public class MinDriver
{
public static void MinDriverMain(string[] args)
{
if (args.Length > 0)
@ -16,12 +19,28 @@ namespace RusticiSoftware.Translator.CSharp
{
inputFileName = Path.Combine(Environment.CurrentDirectory, inputFileName);
}
ICharStream input = new ANTLRFileStream(inputFileName);
PreProcessor lex = new PreProcessor(input);
ITokenStream tokens = new TokenRewriteStream(lex);
csParser parser = new csParser(tokens);
parser.compilation_unit();
Console.Out.WriteLine(tokens);
if (!File.Exists(inputFileName))
{
Console.Error.WriteLine("Error: Can't find file " + inputFileName);
}
else
{
CommonTokenStream tokens = null;
Console.WriteLine("Parsing " + Path.GetFileName(inputFileName));
PreProcessor lex = new PreProcessor();;
ICharStream input = new ANTLRFileStream(inputFileName);
lex.CharStream = input;
tokens = new CommonTokenStream(lex);
csParser p = new csParser(tokens);
csParser.compilation_unit_return parser_rt;
parser_rt = p.compilation_unit();
Console.Out.WriteLine(((ITree)parser_rt.Tree).ToStringTree());
}
}
else
Console.Error.WriteLine("Usage: minDriver <input-file>");