public static Map<Rule, Set<Rule>> getRuleDependencies(Grammar g, Collection<Rule> rules) { Map<Rule, Set<Rule>> dependencies = new HashMap<Rule, Set<Rule>>(); for (Rule r : rules) { List<GrammarAST> tokenRefs = r.ast.getNodesWithType(ANTLRParser.TOKEN_REF); for (GrammarAST tref : tokenRefs) { Set<Rule> calls = dependencies.get(r); if ( calls==null ) { calls = new HashSet<Rule>(); dependencies.put(r, calls); } calls.add(g.getRule(tref.getText())); } } return dependencies; }
public static Map<Rule, Set<Rule>> getRuleDependencies(Grammar g, Collection<Rule> rules) { Map<Rule, Set<Rule>> dependencies = new HashMap<Rule, Set<Rule>>(); for (Rule r : rules) { List<GrammarAST> tokenRefs = r.ast.getNodesWithType(ANTLRParser.TOKEN_REF); for (GrammarAST tref : tokenRefs) { Set<Rule> calls = dependencies.get(r); if ( calls==null ) { calls = new HashSet<Rule>(); dependencies.put(r, calls); } calls.add(g.getRule(tref.getText())); } } return dependencies; }
public static Map<Rule, Set<Rule>> getRuleDependencies(Grammar g, Collection<Rule> rules) { Map<Rule, Set<Rule>> dependencies = new HashMap<Rule, Set<Rule>>(); for (Rule r : rules) { List<GrammarAST> tokenRefs = r.ast.getNodesWithType(ANTLRParser.TOKEN_REF); for (GrammarAST tref : tokenRefs) { Set<Rule> calls = dependencies.get(r); if ( calls==null ) { calls = new HashSet<Rule>(); dependencies.put(r, calls); } calls.add(g.getRule(tref.getText())); } } return dependencies; }
public static Map<Rule, Set<Rule>> getRuleDependencies(Grammar g, Collection<Rule> rules) { Map<Rule, Set<Rule>> dependencies = new HashMap<Rule, Set<Rule>>(); for (Rule r : rules) { List<GrammarAST> tokenRefs = r.ast.getNodesWithType(ANTLRParser.TOKEN_REF); for (GrammarAST tref : tokenRefs) { Set<Rule> calls = dependencies.get(r); if ( calls==null ) { calls = new HashSet<Rule>(); dependencies.put(r, calls); } calls.add(g.getRule(tref.getText())); } } return dependencies; }
public static Map<Rule, Set<Rule>> getRuleDependencies(Grammar g, Collection<Rule> rules) { Map<Rule, Set<Rule>> dependencies = new HashMap<Rule, Set<Rule>>(); for (Rule r : rules) { List<GrammarAST> tokenRefs = r.ast.getNodesWithType(ANTLRParser.TOKEN_REF); for (GrammarAST tref : tokenRefs) { Set<Rule> calls = dependencies.get(r); if ( calls==null ) { calls = new HashSet<Rule>(); dependencies.put(r, calls); } calls.add(g.getRule(tref.getText())); } } return dependencies; }
List<GrammarAST> blocks = r.ast.getNodesWithType(ANTLRParser.BLOCK); blockLoop: for (GrammarAST block : blocks) {