public LinkedHashMap<Integer, PredAST> getIndexToPredicateMap() { LinkedHashMap<Integer, PredAST> indexToPredMap = new LinkedHashMap<Integer, PredAST>(); for (Rule r : rules.values()) { for (ActionAST a : r.actions) { if (a instanceof PredAST) { PredAST p = (PredAST) a; indexToPredMap.put(sempreds.get(p), p); } } } return indexToPredMap; }
public LinkedHashMap<Integer, PredAST> getIndexToPredicateMap() { LinkedHashMap<Integer, PredAST> indexToPredMap = new LinkedHashMap<Integer, PredAST>(); for (Rule r : rules.values()) { for (ActionAST a : r.actions) { if (a instanceof PredAST) { PredAST p = (PredAST) a; indexToPredMap.put(sempreds.get(p), p); } } } return indexToPredMap; }
public LinkedHashMap<Integer, PredAST> getIndexToPredicateMap() { LinkedHashMap<Integer, PredAST> indexToPredMap = new LinkedHashMap<Integer, PredAST>(); for (Rule r : rules.values()) { for (ActionAST a : r.actions) { if (a instanceof PredAST) { PredAST p = (PredAST) a; indexToPredMap.put(sempreds.get(p), p); } } } return indexToPredMap; }
public LinkedHashMap<Integer, PredAST> getIndexToPredicateMap() { LinkedHashMap<Integer, PredAST> indexToPredMap = new LinkedHashMap<Integer, PredAST>(); for (Rule r : rules.values()) { for (ActionAST a : r.actions) { if (a instanceof PredAST) { PredAST p = (PredAST) a; indexToPredMap.put(sempreds.get(p), p); } } } return indexToPredMap; }
public LinkedHashMap<Integer, PredAST> getIndexToPredicateMap() { LinkedHashMap<Integer, PredAST> indexToPredMap = new LinkedHashMap<Integer, PredAST>(); for (Rule r : rules.values()) { for (ActionAST a : r.actions) { if (a instanceof PredAST) { PredAST p = (PredAST) a; indexToPredMap.put(sempreds.get(p), p); } } } return indexToPredMap; }
/** Find all rules reachable from r directly or indirectly for all r in g */ public static Map<Rule, Set<Rule>> getRuleDependencies(Grammar g) { return getRuleDependencies(g, g.rules.values()); }
/** Find all rules reachable from r directly or indirectly for all r in g */ public static Map<Rule, Set<Rule>> getRuleDependencies(Grammar g) { return getRuleDependencies(g, g.rules.values()); }
/** Find all rules reachable from r directly or indirectly for all r in g */ public static Map<Rule, Set<Rule>> getRuleDependencies(Grammar g) { return getRuleDependencies(g, g.rules.values()); }
public void process() { // methods affect fields, but no side-effects outside this object // So, call order sensitive // First collect all rules for later use in checkForLabelConflict() if (g.rules != null) { for (Rule r : g.rules.values()) nameToRuleMap.put(r.name, r); } checkReservedNames(g.rules.values()); checkActionRedefinitions(collector.namedActions); checkForLabelConflicts(g.rules.values()); }
/** Find all rules reachable from r directly or indirectly for all r in g */ public static Map<Rule, Set<Rule>> getRuleDependencies(Grammar g) { return getRuleDependencies(g, g.rules.values()); }
public void process() { // methods affect fields, but no side-effects outside this object // So, call order sensitive // First collect all rules for later use in checkForLabelConflict() if ( g.rules!=null ) { for (Rule r : g.rules.values()) nameToRuleMap.put(r.name, r); } checkReservedNames(g.rules.values()); checkActionRedefinitions(collector.namedActions); checkForTokenConflicts(collector.tokenIDRefs); // sets tokenIDs checkForLabelConflicts(g.rules.values()); }
public void process() { // methods affect fields, but no side-effects outside this object // So, call order sensitive // First collect all rules for later use in checkForLabelConflict() if ( g.rules!=null ) { for (Rule r : g.rules.values()) nameToRuleMap.put(r.name, r); } checkReservedNames(g.rules.values()); checkActionRedefinitions(collector.namedActions); checkForTokenConflicts(collector.tokenIDRefs); // sets tokenIDs checkForLabelConflicts(g.rules.values()); }
public static void trackTokenRuleRefsInActions(Grammar g) { for (Rule r : g.rules.values()) { for (int i=1; i<=r.numberOfAlts; i++) { Alternative alt = r.alt[i]; for (ActionAST a : alt.actions) { ActionSniffer sniffer = new ActionSniffer(g, r, alt, a, a.token); sniffer.examineAction(); } } } }
public static void trackTokenRuleRefsInActions(Grammar g) { for (Rule r : g.rules.values()) { for (int i=1; i<=r.numberOfAlts; i++) { Alternative alt = r.alt[i]; for (ActionAST a : alt.actions) { ActionSniffer sniffer = new ActionSniffer(g, r, alt, a, a.token); sniffer.examineAction(); } } } }
public static void trackTokenRuleRefsInActions(Grammar g) { for (Rule r : g.rules.values()) { for (int i=1; i<=r.numberOfAlts; i++) { Alternative alt = r.alt[i]; for (ActionAST a : alt.actions) { ActionSniffer sniffer = new ActionSniffer(g, r, alt, a, a.token); sniffer.examineAction(); } } } }
public OutputModelObject buildLexerOutputModel(boolean header) { CodeGenerator gen = delegate.getGenerator(); LexerFile file = lexerFile(gen.getRecognizerFileName(header)); setRoot(file); file.lexer = lexer(file); Grammar g = delegate.getGrammar(); for (Rule r : g.rules.values()) { buildLexerRuleActions(file.lexer, r); } return file; }
public OutputModelObject buildLexerOutputModel() { CodeGenerator gen = delegate.getGenerator(); LexerFile file = lexerFile(gen.getRecognizerFileName()); setRoot(file); file.lexer = lexer(file); Grammar g = delegate.getGrammar(); for (Rule r : g.rules.values()) { buildLexerRuleActions(file.lexer, r); } return file; }
public OutputModelObject buildLexerOutputModel(boolean header) { CodeGenerator gen = delegate.getGenerator(); LexerFile file = lexerFile(gen.getRecognizerFileName(header)); setRoot(file); file.lexer = lexer(file); Grammar g = delegate.getGrammar(); for (Rule r : g.rules.values()) { buildLexerRuleActions(file.lexer, r); } return file; }
public OutputModelObject buildLexerOutputModel(boolean header) { CodeGenerator gen = delegate.getGenerator(); LexerFile file = lexerFile(gen.getRecognizerFileName(header)); setRoot(file); file.lexer = lexer(file); Grammar g = delegate.getGrammar(); for (Rule r : g.rules.values()) { buildLexerRuleActions(file.lexer, r); } return file; }
public OutputModelObject buildLexerOutputModel() { CodeGenerator gen = delegate.getGenerator(); LexerFile file = lexerFile(gen.getRecognizerFileName()); setRoot(file); file.lexer = lexer(file); Grammar g = delegate.getGrammar(); for (Rule r : g.rules.values()) { buildLexerRuleActions(file.lexer, r); } return file; }