/** * Returns a TokenSource object for the main file. Include files are not expanded, and preprocessor is not used * * @throws UncheckedIOException If main file can't be opened */ public TokenSource lex4() { return new ProgressLexer(session, getByteSource(), relativeName, true); }
public TokenSource preprocess4() { return new ProgressLexer(session, getByteSource(), relativeName, false); }
/** * Returns a TokenStream object for the main file. Include files are not expanded, and preprocessor is not used * * @throws UncheckedIOException If main file can't be opened */ public TokenStream lex() { ProgressLexer lexer = new ProgressLexer(session, getByteSource(), relativeName, true); return lexer.getANTLR2TokenStream(false); }
public TokenStream preprocess() { ProgressLexer lexer = new ProgressLexer(session, getByteSource(), relativeName, false); return lexer.getANTLR2TokenStream(true); }
/** * Generate metrics for the main file * * @throws UncheckedIOException If main file can't be opened */ public void lexAndGenerateMetrics() { LOGGER.trace("Entering ParseUnit#lexAndGenerateMetrics()"); ProgressLexer lexer = new ProgressLexer(session, getByteSource(), relativeName, true); TokenStream stream = lexer.getANTLR2TokenStream(false); try { Token tok = stream.nextToken(); while (tok.getType() != Token.EOF_TYPE) { tok = stream.nextToken(); } } catch (TokenStreamException uncaught) { // Never thrown } this.metrics = lexer.getMetrics(); LOGGER.trace("Exiting ParseUnit#lex()"); }
public void parse() throws ANTLRException { LOGGER.trace("Entering ParseUnit#parse()"); ProgressLexer lexer = new ProgressLexer(session, getByteSource(), relativeName, false); ProParser parser = new ProParser(lexer.getANTLR2TokenStream(true)); parser.initAntlr4(session, lexer.getFilenameList()); parser.program(); ((ProgramRootNode) parser.getAST()).backLinkAndFinalize(); lexer.parseComplete(); fileNameList = lexer.getFilenameList(); macroGraph = lexer.getMacroGraph(); appBuilderCode = ((PreprocessorEventListener) lexer.getLstListener()).isAppBuilderCode(); sections = ((PreprocessorEventListener) lexer.getLstListener()).getEditableCodeSections(); metrics = lexer.getMetrics(); topNode = (ProgramRootNode) parser.getAST(); support = parser.support; LOGGER.trace("Exiting ParseUnit#parse()"); }