Examples of MutableTokenDefProvider


Examples of org.eclipse.xtext.generator.parser.antlr.ex.common.MutableTokenDefProvider

    simplifyUnorderedGroupPredicatesIfRequired(grammar, absoluteParserFileName, charset);
    splitParserAndLexerIfEnabled(absoluteLexerFileName, absoluteParserFileName, charset);
    suppressWarnings(absoluteLexerFileName, absoluteParserFileName, charset);
    normalizeLineDelimiters(absoluteLexerFileName, absoluteParserFileName, charset);
    normalizeTokens(absoluteParserFileName, charset);
    MutableTokenDefProvider provider = createLexerTokensProvider(lexerBaseFileName, helper, charset);
    for(Map.Entry<Integer, String> entry: provider.getTokenDefMap().entrySet()) {
      String value = entry.getValue();
      if(helper.isKeywordRule(value)) {
        String keywordAsAntlrString = AntlrGrammarGenUtil.toAntlrString(helper.getKeywordValue(value));
        entry.setValue("'" + keywordAsAntlrString + "'");
      } else if (value.startsWith("'")) {
        value = AntlrGrammarGenUtil.toAntlrString(value);
        entry.setValue("'" + value + "'");
      }
    }
    try {
      provider.writeTokenFile(new PrintWriter(new File(srcGenPath+"/"+getFragmentHelper().getParserGrammarFileName(grammar).replace('.', '/') + ".tokens"), encoding));
    }
    catch (IOException e) {
      throw new RuntimeException(e);
    }
    normalizeTokens(absoluteLexerFileName, charset);
View Full Code Here

Examples of org.eclipse.xtext.generator.parser.antlr.ex.common.MutableTokenDefProvider

    normalizeTokens(absoluteLexerFileName, charset);
    helper.discardHelper(grammar);
  }

  protected MutableTokenDefProvider createLexerTokensProvider(final String lexerBaseFileName, final KeywordHelper helper, final Charset encoding) {
    MutableTokenDefProvider provider = new MutableTokenDefProvider(helper, encoding);
    provider.setAntlrTokenFileProvider(new IAntlrTokenFileProvider() {
      @Override
      public InputStream getAntlrTokenFile() {
        try {
          return new FileInputStream(lexerBaseFileName + ".tokens");
        }
View Full Code Here

Examples of org.eclipse.xtext.generator.parser.antlr.ex.common.MutableTokenDefProvider

  /**
   * @since 2.7
   */
  protected void cleanupLexerTokensFile(final String lexerBaseFileName, final KeywordHelper helper, final String encoding) {
    if (getOptions().isBacktrackLexer()) {
      MutableTokenDefProvider provider = createLexerTokensProvider(lexerBaseFileName, helper, Charset.forName(encoding));
      Iterator<Entry<Integer, String>> entries = provider.getTokenDefMap().entrySet().iterator();
      while(entries.hasNext()) {
        String value = entries.next().getValue();
        if (!helper.isKeywordRule(value) && !value.startsWith("RULE_")) {
          entries.remove();
        }
      }
      try {
        provider.writeTokenFile(new PrintWriter(new File(lexerBaseFileName + ".tokens"), encoding));
      }
      catch (IOException e) {
        throw new RuntimeException(e);
      }
    }
View Full Code Here
TOP
Copyright © 2018 www.massapi.com. All rights reserved.
All source code are property of their respective owners. Java is a trademark of Sun Microsystems, Inc and owned by ORACLE Inc. Contact coftware#gmail.com.