我有任务要做,我甚至不知道如何开始。我需要为这样的查询实现AST解析器:
((book_date> 2000).author)
在main方法中,它应如下所示:
Expression ex = new DotExpression(
new WhereExpression(
new NameExpression("book"),
new NameExpression("publish_date") > 2000
),
new NameExpression("author"));
ex.accept(new ASTVisitor());
这是如何调用它的唯一示例。有什么建议怎么开始?一些代码示例会很棒。
答案 0 :(得分:0)
所有这些课程的工厂都没问题:
public abstract class Expressions {
public static DotExpression dot(NameExpression lhs, Expression rhs);
public static BooleanExpression where(Expression lhs, Expression rhs);
public static NameExpression name(String name);
public static BooleanExpression gt(Expression lhs, Expression rhs);
}
用法
static import Expressions.*;
... where(gt(name("publish_date"), value(2000)));