lang.g

来自「SRI international 发布的OAA框架软件」· G 代码 · 共 30 行

G
30
字号
#header <<
#include "charbuf.h"
#define AtomSize	20
#define AST_FIELDS	char text[AtomSize+1]; int token;
#define zzcr_ast(tr, attr, tok, txt) { strcpy(tr->text, txt); tr->token=tok; }
>>

#token "[\ \t]+"	<<zzskip();>>
#token "\n"			<<zzline++; zzskip();>>
#token ASSIGN	"="
#token ADD		"\+"
#token MULT		"\*"

stat:	ID "="^ expr ";"!
	;

expr:	mop_expr ( "\+"^ mop_expr )*
	;

mop_expr
	:	atom ( "\*"^ atom )*
	;

atom:	ID
	|	INT
	;

#token ID	"[a-z]+"
#token INT	"[0-9]+"

⌨️ 快捷键说明

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