Ich analysiere eine Nachricht und erstelle eine benutzerdefinierte Nachricht während der Analyse. Ich habe mich gefragt, ob die Performance weise ist, ist es besser, das Objekt in den Parser-Aktionen oder anderswo zu erstellen?Was ist der beste Weg um ein Objekt während der Analyse in ANTLR4 zu erstellen?
für jetzt überschreibe ich die Exit-Regel-Methoden.
parser.addParseListener(new MessageGrammarBaseListener(){
MessageType message = null;
@Override
public void exitStartofMessage(StartofMessageContext ctx) {
message = new MessageType();
}
@Override
public void exitPersonalInformation(PersonalInformationContext ctx) {
Person p = new Person();
p.setName(ctx.name.getText());
message.setPersonalInformation(p);
}
(...)
});
ist es besser, es so oder in der Parser-Aktion zu tun?