antlr / antlr4

ANTLR (ANother Tool for Language Recognition) is a powerful parser generator for reading, processing, executing, or translating structured text or binary files.
http://antlr.org
BSD 3-Clause "New" or "Revised" License
16.68k stars 3.23k forks source link

Android Tool run #4600

Open appt2 opened 2 months ago

appt2 commented 2 months ago

hello im Using class tool for g4 to java im using #addListener and not work me help me plz my java code here


public void main(String[] args) {
    Tool antlr = new Tool(args);
    StringBuilder b = new StringBuilder();

    if (args.length == 0) {
      antlr.help();
      binding.et.setText(String.valueOf(antlr.errMgr.getNumErrors()));
    }

    try {

      antlr.processGrammarsOnCommandLine();
      antlr.addListener(
          new ANTLRToolListener() {

            @Override
            public void info(String info) {
              b.append(info).append("\n");
              binding.et.setText(b.toString());
            }

            @Override
            public void error(ANTLRMessage error) {
              b.append(error.fileName).append("\n");
              binding.et.setText(b.toString());
            }

            @Override
            public void warning(ANTLRMessage war) {
              b.append(war.fileName).append("\n");
              binding.et.setText(b.toString());
            }
          });
    } finally {
      if (antlr.log) {
        try {
          String logname = antlr.logMgr.save();
          System.out.println("wrote " + logname);
          binding.et.setText("wrote " + logname);
        } catch (IOException ioe) {
          antlr.errMgr.toolError(ErrorType.INTERNAL_ERROR, ioe);
        }
      }
    }
  }