⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 tinyc.g

📁 Java写的词法/语法分析器。可生成JAVA语言或者是C++的词法和语法分析器。并可产生语法分析树和对该树进行遍历
💻 G
字号:
/* * Make sure to run antlr.Tool on the lexer.g file first! */options {	mangleLiteralPrefix = "TK_";	language="Cpp";}class TinyCParser extends Parser;options {	importVocab=TinyC;	// use vocab generated by lexer}program	:	( declaration )* EOF	;declaration	:	(variable) => variable	|	function	;declarator	:	id:ID	|	STAR id2:ID	;variable	:	type declarator SEMI	;function	:	type id:ID LPAREN		(formalParameter (COMMA formalParameter)*)?		RPAREN		block	;formalParameter	:	type declarator	;type:		(		TK_int	|	TK_char	|	id:ID	)	;block	:	LCURLY ( statement )* RCURLY	;statement	:	(declaration) => declaration	|	expr SEMI	|	TK_if LPAREN expr RPAREN statement		( TK_else statement )?	|	TK_while LPAREN expr RPAREN statement	|	block	;expr:	assignExpr	;assignExpr	:	aexpr (ASSIGN assignExpr)?	;aexpr	:	mexpr (PLUS mexpr)*	;mexpr	:	atom (STAR atom)*	;atom:	ID	|	INT	|	CHAR_LITERAL	|	STRING_LITERAL	;

⌨️ 快捷键说明

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