package com.netnea.itnmdump; import java.io.File; import org.antlr.v4.runtime.ANTLRFileStream; import org.antlr.v4.runtime.CommonTokenStream; import org.antlr.v4.runtime.tree.ParseTreeWalker; import com.netnea.itnmdump.parser.ItnmDumpLexer; import com.netnea.itnmdump.parser.ItnmDumpListener; import com.netnea.itnmdump.parser.ItnmDumpParser; import com.netnea.itnmdump.parser.ItnmDumpParser.ParseContext; public class Main { public static void main(String[] args) throws Exception { if (args.length == 0 || !new File(args[0]).canRead()) { throw new RuntimeException("Usage: $0 filename"); } convert(args[0]); } public static void convert(String fn) throws Exception { ItnmDumpLexer lexer = new ItnmDumpLexer(new ANTLRFileStream(fn)); CommonTokenStream tokens = new CommonTokenStream(lexer); ItnmDumpParser parser = new ItnmDumpParser(tokens); parser.setBuildParseTree(true); ParseContext parseContext = parser.parse(); ParseTreeWalker walker = new ParseTreeWalker(); ItnmDumpListener listener = new ItnmDumpJSONWriter(); walker.walk(listener, parseContext); } }