我正在解析消息并在进行解析时创建自定义对象消息。我想知道性能明智,在解析器操作或其他地方创建对象是否更好?
现在我要覆盖退出规则方法。
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);
}
(...)
});
以这种方式或在解析器操作中更好吗?
答案 0 :(得分:0)
将解析过程和AST旁路分开是一个很好的做法,因为解析可以针对不同的运行时实现。这些行动也是不同的逻辑步骤。所以我认为你做的一切都是正确的。