📄 main.cpp
字号:
#include "DemoJavaLexer.hpp"#include "DemoJavaDocLexer.hpp"#include "DemoJavaParser.hpp"#include "antlr/TokenStreamSelector.hpp"#include <iostream>int main(){ ANTLR_USING_NAMESPACE(std) ANTLR_USING_NAMESPACE(antlr) // Define a selector that can switch from java to javadoc TokenStreamSelector selector; try { // attach java lexer to the input stream, which also creates a shared input state object DemoJavaLexer main(cin); main.setSelector(&selector); // create javadoc lexer; attach to same shared input state as java lexer DemoJavaDocLexer doclexer(main.getInputState()); doclexer.setSelector(&selector); // notify selector about various lexers; name them for convenient reference later selector.addInputStream(&main, "main"); selector.addInputStream(&doclexer, "doclexer"); selector.select("main"); // start with main java lexer // Create parser attached to selector DemoJavaParser parser(selector); // Pull in one or more int decls with optional javadoc parser.input(); // spin thru all tokens generated via the SELECTOR. RefToken t; while ( (t=selector.nextToken())->getType()!=Token::EOF_TYPE ) { cout << t->toString() << endl; } } catch(exception& e) { cerr << "exception: " << e.what() << endl; }}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -