antlr/tool/playground/TestT.java

37 lines
1.1 KiB
Java
Raw Normal View History

2012-10-12 11:23:15 +08:00
import org.antlr.v4.runtime.ANTLRInputStream;
import org.antlr.v4.runtime.CharStream;
import org.antlr.v4.runtime.CommonTokenFactory;
import org.antlr.v4.runtime.CommonTokenStream;
2012-07-22 07:27:00 +08:00
import org.antlr.v4.runtime.DiagnosticErrorListener;
import org.antlr.v4.runtime.ParserRuleContext;
2012-06-18 07:56:26 +08:00
import java.io.FileInputStream;
import java.io.InputStream;
public class TestT {
public static void main(String[] args) throws Exception {
String inputFile = null;
if ( args.length>0 ) inputFile = args[0];
InputStream is = System.in;
if ( inputFile!=null ) {
is = new FileInputStream(inputFile);
}
2012-10-12 11:23:15 +08:00
CharStream input = new ANTLRInputStream(is);
2012-06-18 07:56:26 +08:00
TLexer lex = new TLexer(input);
lex.setTokenFactory(new CommonTokenFactory(true));
2012-06-18 07:56:26 +08:00
CommonTokenStream tokens = new CommonTokenStream(lex);
TParser parser = new TParser(tokens);
2012-07-22 07:27:00 +08:00
parser.addErrorListener(new DiagnosticErrorListener());
2012-08-28 02:25:54 +08:00
// parser.getInterpreter().setSLL(true);
// parser.setTrace(true);
2012-10-12 11:23:15 +08:00
ParserRuleContext tree = parser.s();
System.out.println(tree.toStringTree(parser));
2012-07-22 07:27:00 +08:00
// tree.save(parser, "/tmp/t.ps");
}
}