tinydocfactory.java

来自「plugin for eclipse」· Java 代码 · 共 45 行

JAVA
45
字号
/*
 * Created on Aug 10, 2005
 *
 * TODO To change the template for this generated file go to
 * Window - Preferences - Java - Code Style - Code Templates
 */
package isis.anp.nesc.tinydoc;

import isis.anp.nesc.TinyDocLexer;
import isis.anp.nesc.TinyDocParser;

import java.io.StringReader;

import antlr.RecognitionException;
import antlr.TokenStreamException;
import antlr.TokenStreamHiddenTokenFilter;

/**
 * @author sallai
 * 
 * TODO To change the template for this generated type comment go to Window -
 * Preferences - Java - Code Style - Code Templates
 */
public class TinyDocFactory {
    public static TinyDoc parse(String text) throws RecognitionException {
        TinyDocLexer lexer = new TinyDocLexer(new StringReader(text));
        
        lexer.setTokenObjectClass("antlr.CommonHiddenStreamToken");
        TokenStreamHiddenTokenFilter filter = new TokenStreamHiddenTokenFilter(lexer);
         
        filter.hide(TinyDocLexer.WS);
        filter.hide(TinyDocLexer.NL);
        
        TinyDocParser parser = new TinyDocParser(filter);
        parser.setASTNodeClass("antlr.CommonASTWithHiddenTokens"); 
        
        try {
            return parser.translationUnit();
        } catch(TokenStreamException e) {
            // we shouldn't be getting this when reading a string
            throw new RecognitionException("Error reading string");
        }
    }
}

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?