test.g

来自「本工具提供一个词法分析器和语法分析器的集成开发环境」· G 代码 · 共 50 行

G
50
字号
/* This is test.g which tests simple AST refs and construction */<<typedef ANTLRCommonToken ANTLRToken;#include "DLGLexer.h"#include "PBlackBox.h"class AST : public ASTBase {public:	ANTLRTokenPtr token;	AST(ANTLRTokenPtr t) { token = t; }	void preorder_action() {		char *s = token->getText();		printf(" %s", s);	}};int main(){	ParserBlackBox<DLGLexer, Expr, ANTLRToken> p(stdin);	ASTBase *root = NULL;	p.parser()->e(&root);	root->preorder();	printf("\n");	root->destroy();	return 0;}>>#token "[\ \t\n]+"	<<skip();>>#token Eof "@"class Expr {				/* Define a grammar class */e	:	mult_expr ( ("\+"^|"\-"^) mult_expr )*	;mult_expr	:	atom ( ("\*"^|"\/"^) atom )*	;atom:	IDENTIFIER	|	NUMBER	;}#token IDENTIFIER	"[a-z]+"#token NUMBER		"[0-9]+"

⌨️ 快捷键说明

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