kapsamları.Antlr4 Ziyaretçi birkaç kural böyle bir dilbilgisi ettik
Ziyaretçimi oluşturdum ve entity
, K_QUERY
ve K_FILTER
erişimini alabiliyorum. SearchContext
, expr
'un tümünün bir listesini almak için List<ExprContext>
sağlar. Ancak, ifade ile nasıl öğrenebilirim K_QUERY expr
veya K_FILTER expr
?
public class LivingQueryVisitor extends LivingDSLBaseVisitor<Void> {
@Override
public Void visitSearch(SearchContext ctx) {
this.query = search(this.getEntityPath(ctx));
//???????????????????????
List<ExprContext> exprs = ctx.expr();
//???????????????????????
return super.visitSearch(ctx);
}
}
Herhangi bir fikir?
'search' tam bir kural mı, yoksa' '' satırlardan önce '' '(K_QUERY expr)?' Ve '(K_FILTER expr)?' Dır. – cantSleepNow