test.g
来自「本工具提供一个词法分析器和语法分析器的集成开发环境」· G 代码 · 共 40 行
G
40 行
/* This is test.g which tests a simple DLG-based scanner using string input */<<typedef ANTLRCommonToken ANTLRToken;#include "DLGLexer.h"#include "PBlackBox.h"int main(int argc, char **argv){ if ( argc==1 ) {fprintf(stderr, "how about an argument?\n"); exit(1);} DLGStringInput in(argv[1]); /* create an input stream for DLG */ DLGLexer scan(&in); /* create scanner reading from stdin */ ANTLRTokenBuffer pipe(&scan); /* make pipe between lexer & parser */ ANTLRTokenPtr aToken = new ANTLRToken; scan.setToken(mytoken(aToken)); Expr parser(&pipe); /* create parser of type Expr hooked to scanner */ parser.init(); /* init the parser; prime lookahead etc... */ parser.e(); /* start parsing at rule 'e' of that parser */ return 0;}>>#token "[\ \t\n]+" <<skip();>>#token Eof "@"#tokclass My { IDENTIFIER NUMBER }class Expr { /* Define a grammar class */e : My My Eof <<fprintf(stderr, "text is %s,%s\n", $1->getText(), $2->getText());>> ;}#token IDENTIFIER "[a-z]+"#token NUMBER "[0-9]+"
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?