/** Save the option key/value pair and process it; return the key * or null if invalid option. */ public String setOption(String key, Object value, Token optionsStartToken) { if ( !legalOptions.contains(key) ) { ErrorManager.grammarError(ErrorManager.MSG_ILLEGAL_OPTION, grammar, optionsStartToken, key); return null; } if ( options==null ) { options = new HashMap<String, Object>(); } if ( key.equals("memoize") && value.toString().equals("true") ) { grammar.composite.getRootGrammar().atLeastOneRuleMemoizes = true; } if ( key.equals("backtrack") && value.toString().equals("true") ) { grammar.composite.getRootGrammar().atLeastOneBacktrackOption = true; } if ( key.equals("k") ) { grammar.numberOfManualLookaheadOptions++; } options.put(key, value); return key; }
/** Save the option key/value pair and process it; return the key * or null if invalid option. */ public String setOption(String key, Object value, Token optionsStartToken) { if ( !legalOptions.contains(key) ) { ErrorManager.grammarError(ErrorManager.MSG_ILLEGAL_OPTION, grammar, optionsStartToken, key); return null; } if ( options==null ) { options = new HashMap<String, Object>(); } if ( key.equals("memoize") && value.toString().equals("true") ) { grammar.composite.getRootGrammar().atLeastOneRuleMemoizes = true; } if ( key.equals("backtrack") && value.toString().equals("true") ) { grammar.composite.getRootGrammar().atLeastOneBacktrackOption = true; } if ( key.equals("k") ) { grammar.numberOfManualLookaheadOptions++; } options.put(key, value); return key; }
public String setOption(Map<String, Object> options, Set<String> legalOptions, Grammar grammar, String key, Object value) { if ( !legalOptions.contains(key) ) { ErrorManager.grammarError(ErrorManager.MSG_ILLEGAL_OPTION, grammar, token, key); return null; } if ( value instanceof String ) { String vs = (String)value; if ( vs.charAt(0)=='"' ) { value = vs.substring(1,vs.length()-1); // strip quotes } } if ( key.equals("k") ) { grammar.numberOfManualLookaheadOptions++; } if ( key.equals("backtrack") && value.toString().equals("true") ) { grammar.composite.getRootGrammar().atLeastOneBacktrackOption = true; } options.put(key, value); return key; }
public String setOption(Map<String, Object> options, Set<String> legalOptions, Grammar grammar, String key, Object value) { if ( !legalOptions.contains(key) ) { ErrorManager.grammarError(ErrorManager.MSG_ILLEGAL_OPTION, grammar, token, key); return null; } if ( value instanceof String ) { String vs = (String)value; if ( vs.charAt(0)=='"' ) { value = vs.substring(1,vs.length()-1); // strip quotes } } if ( key.equals("k") ) { grammar.numberOfManualLookaheadOptions++; } if ( key.equals("backtrack") && value.toString().equals("true") ) { grammar.composite.getRootGrammar().atLeastOneBacktrackOption = true; } options.put(key, value); return key; }
public String setOption(Map options, Set legalOptions, Grammar grammar, String key, Object value) { if ( !legalOptions.contains(key) ) { ErrorManager.grammarError(ErrorManager.MSG_ILLEGAL_OPTION, grammar, token, key); return null; } if ( value instanceof String ) { String vs = (String)value; if ( vs.charAt(0)=='"' ) { value = vs.substring(1,vs.length()-1); // strip quotes } } if ( key.equals("k") ) { grammar.numberOfManualLookaheadOptions++; } if ( key.equals("backtrack") && value.toString().equals("true") ) { grammar.composite.getRootGrammar().atLeastOneBacktrackOption = true; } options.put(key, value); return key; }
public String setOption(Map options, Set legalOptions, Grammar grammar, String key, Object value) { if ( !legalOptions.contains(key) ) { ErrorManager.grammarError(ErrorManager.MSG_ILLEGAL_OPTION, grammar, token, key); return null; } if ( value instanceof String ) { String vs = (String)value; if ( vs.charAt(0)=='"' ) { value = vs.substring(1,vs.length()-1); // strip quotes } } if ( key.equals("k") ) { grammar.numberOfManualLookaheadOptions++; } if ( key.equals("backtrack") && value.toString().equals("true") ) { grammar.composite.getRootGrammar().atLeastOneBacktrackOption = true; } options.put(key, value); return key; }
/** Save the option key/value pair and process it; return the key * or null if invalid option. */ public String setOption(String key, Object value, antlr.Token optionsStartToken) { if ( !legalOptions.contains(key) ) { ErrorManager.grammarError(ErrorManager.MSG_ILLEGAL_OPTION, grammar, optionsStartToken, key); return null; } if ( options==null ) { options = new HashMap(); } if ( key.equals("memoize") && value.toString().equals("true") ) { grammar.atLeastOneRuleMemoizes = true; } if ( key.equals("backtrack") && value.toString().equals("true") ) { grammar.composite.getRootGrammar().atLeastOneBacktrackOption = true; } if ( key.equals("k") ) { grammar.numberOfManualLookaheadOptions++; } options.put(key, value); return key; }
/** Save the option key/value pair and process it; return the key * or null if invalid option. */ public String setOption(String key, Object value, antlr.Token optionsStartToken) { if ( !legalOptions.contains(key) ) { ErrorManager.grammarError(ErrorManager.MSG_ILLEGAL_OPTION, grammar, optionsStartToken, key); return null; } if ( options==null ) { options = new HashMap(); } if ( key.equals("memoize") && value.toString().equals("true") ) { grammar.atLeastOneRuleMemoizes = true; } if ( key.equals("backtrack") && value.toString().equals("true") ) { grammar.composite.getRootGrammar().atLeastOneBacktrackOption = true; } if ( key.equals("k") ) { grammar.numberOfManualLookaheadOptions++; } options.put(key, value); return key; }
/** Save the option key/value pair and process it; return the key * or null if invalid option. */ public String setOption(String key, Object value, Token optionsStartToken) { if ( legalOption(key) ) { ErrorManager.grammarError(ErrorManager.MSG_ILLEGAL_OPTION, this, optionsStartToken, key); return null; } if ( !optionIsValid(key, value) ) { return null; } if ( key.equals("backtrack") && value.toString().equals("true") ) { composite.getRootGrammar().atLeastOneBacktrackOption = true; } if ( options==null ) { options = new HashMap<String, Object>(); } options.put(key, value); return key; }
/** Save the option key/value pair and process it; return the key * or null if invalid option. */ public String setOption(String key, Object value, Token optionsStartToken) { if ( legalOption(key) ) { ErrorManager.grammarError(ErrorManager.MSG_ILLEGAL_OPTION, this, optionsStartToken, key); return null; } if ( !optionIsValid(key, value) ) { return null; } if ( key.equals("backtrack") && value.toString().equals("true") ) { composite.getRootGrammar().atLeastOneBacktrackOption = true; } if ( options==null ) { options = new HashMap<String, Object>(); } options.put(key, value); return key; }
/** Save the option key/value pair and process it; return the key * or null if invalid option. */ public String setOption(String key, Object value, antlr.Token optionsStartToken) { if ( legalOption(key) ) { ErrorManager.grammarError(ErrorManager.MSG_ILLEGAL_OPTION, this, optionsStartToken, key); return null; } if ( !optionIsValid(key, value) ) { return null; } if ( key.equals("backtrack") && value.toString().equals("true") ) { composite.getRootGrammar().atLeastOneBacktrackOption = true; } if ( options==null ) { options = new HashMap(); } options.put(key, value); return key; }
/** Save the option key/value pair and process it; return the key * or null if invalid option. */ public String setOption(String key, Object value, antlr.Token optionsStartToken) { if ( legalOption(key) ) { ErrorManager.grammarError(ErrorManager.MSG_ILLEGAL_OPTION, this, optionsStartToken, key); return null; } if ( !optionIsValid(key, value) ) { return null; } if ( key.equals("backtrack") && value.toString().equals("true") ) { composite.getRootGrammar().atLeastOneBacktrackOption = true; } if ( options==null ) { options = new HashMap(); } options.put(key, value); return key; }
/** * Return a list of File objects that name files ANTLR will read * to process T.g; This can be .tokens files if the grammar uses the tokenVocab option * as well as any imported grammar files. */ public List<File> getDependenciesFileList() { // Find all the things other than imported grammars List<File> files = getNonImportDependenciesFileList(); // Handle imported grammars List<Grammar> imports = grammar.composite.getDelegates(grammar.composite.getRootGrammar()); for (Grammar g : imports) { String libdir = tool.getLibraryDirectory(); String fileName = groomQualifiedFileName(libdir, g.fileName); files.add(new File(fileName)); } if (files.isEmpty()) { return null; } return files; }
/** * Return a list of File objects that name files ANTLR will read * to process T.g; This can be .tokens files if the grammar uses the tokenVocab option * as well as any imported grammar files. */ public List<File> getDependenciesFileList() { // Find all the things other than imported grammars List<File> files = getNonImportDependenciesFileList(); // Handle imported grammars List<Grammar> imports = grammar.composite.getDelegates(grammar.composite.getRootGrammar()); for (Grammar g : imports) { String libdir = tool.getLibraryDirectory(); String fileName = groomQualifiedFileName(libdir, g.fileName); files.add(new File(fileName)); } if (files.size() == 0) { return null; } return files; }
/** * Return a list of File objects that name files ANTLR will read * to process T.g; This can be .tokens files if the grammar uses the tokenVocab option * as well as any imported grammar files. */ public List<File> getDependenciesFileList() { // Find all the things other than imported grammars List<File> files = getNonImportDependenciesFileList(); // Handle imported grammars List<Grammar> imports = grammar.composite.getDelegates(grammar.composite.getRootGrammar()); for (Grammar g : imports) { String libdir = tool.getLibraryDirectory(); String fileName = groomQualifiedFileName(libdir, g.fileName); files.add(new File(fileName)); } if (files.size() == 0) { return null; } return files; }
/** * Return a list of File objects that name files ANTLR will read * to process T.g; This can be .tokens files if the grammar uses the tokenVocab option * as well as any imported grammar files. */ public List<File> getDependenciesFileList() { // Find all the things other than imported grammars List<File> files = getNonImportDependenciesFileList(); // Handle imported grammars List<Grammar> imports = grammar.composite.getDelegates(grammar.composite.getRootGrammar()); for (Grammar g : imports) { String libdir = tool.getLibraryDirectory(); String fileName = groomQualifiedFileName(libdir, g.fileName); files.add(new File(fileName)); } if (files.isEmpty()) { return null; } return files; }
if ( this==composite.getRootGrammar() && actionName.equals("header") ) { List<Grammar> allgrammars = composite.getRootGrammar().getDelegates(); for (Grammar g : allgrammars) { g.defineNamedAction(ampersandAST, scope, nameAST, actionAST);
@Override protected void genRecognizerFile(Tool tool, CodeGenerator generator, Grammar grammar, ST outputFileST) throws IOException { if (!grammar.getGrammarIsRoot()) { Grammar rootGrammar = grammar.composite.getRootGrammar(); String actionScope = grammar.getDefaultActionScope(grammar.type); Map<String, Object> actions = rootGrammar.getActions().get(actionScope); Object rootNamespace = actions != null ? actions.get("namespace") : null; if (actions != null && rootNamespace != null) { actions = grammar.getActions().get(actionScope); if (actions == null) { actions = new HashMap<String, Object>(); grammar.getActions().put(actionScope, actions); } actions.put("namespace", rootNamespace); } } generator.getTemplates().registerRenderer(String.class, new StringRenderer(generator, this)); super.genRecognizerFile(tool, generator, grammar, outputFileST); }
@Override protected void genRecognizerFile(Tool tool, CodeGenerator generator, Grammar grammar, ST outputFileST) throws IOException { if (!grammar.getGrammarIsRoot()) { Grammar rootGrammar = grammar.composite.getRootGrammar(); String actionScope = grammar.getDefaultActionScope(grammar.type); Map<String, Object> actions = rootGrammar.getActions().get(actionScope); Object rootNamespace = actions != null ? actions.get("namespace") : null; if (actions != null && rootNamespace != null) { actions = grammar.getActions().get(actionScope); if (actions == null) { actions = new HashMap<String, Object>(); grammar.getActions().put(actionScope, actions); } actions.put("namespace", rootNamespace); } } generator.getTemplates().registerRenderer(String.class, new StringRenderer(generator, this)); super.genRecognizerFile(tool, generator, grammar, outputFileST); }
if ( this==composite.getRootGrammar() && actionName.equals("header") ) { List<Grammar> allgrammars = composite.getRootGrammar().getDelegates(); for (Grammar delegate : allgrammars) { if ( target.isValidActionScope(delegate.type, scope) ) {