VisitorFile.java 文件源码

java
阅读 17 收藏 0 点赞 0 评论 0

项目:codebuff 作者:
public VisitorFile(OutputModelFactory factory, String fileName) {
    super(factory, fileName);
    Grammar g = factory.getGrammar();
    parserName = g.getRecognizerName();
    grammarName = g.name;
    for (Rule r : g.rules.values()) {
        Map<String, List<Pair<Integer, AltAST>>> labels = r.getAltLabels();
        if ( labels!=null ) {
            for (Map.Entry<String, List<Pair<Integer, AltAST>>> pair : labels.entrySet()) {
                visitorNames.add(pair.getKey());
                visitorLabelRuleNames.put(pair.getKey(), r.name);
            }
        }
        else {
            // if labels, must label all. no need for generic rule visitor then
            visitorNames.add(r.name);
        }
    }
    ActionAST ast = g.namedActions.get("header");
    if ( ast!=null ) header = new Action(factory, ast);
    genPackage = factory.getGrammar().tool.genPackage;
}
评论列表
文章目录


问题


面经


文章

微信
公众号

扫码关注公众号