3.grm

来自「编译工作台 是本人编写的用于编译原理教学的工具」· GRM 代码 · 共 30 行

GRM
30
字号
//这是一个小型pascal文法

[nonterminal]
	statement
	procedure_statement
	compound_statement
 	variable expression
	expression_list
	simple_expression
	term factor sign
[terminal]
	if then else while do
	assignop relop addop mulop
	num not + -
[production]
	statement => variable assignop expression |
				 procedure_statement |
				 compound_statement |
				 if expression then statement else statement |
				 while expression do statement ;
	variable => id | id [ expression ] ;
	procedure_statement => id | id ( expression_list ) ;
	expression_list => expression | expression_list , expression ;
	expression => simple_expression |
				  simple_expression relop simple_expression ;
	simple_expression => term | sign term |
						 simple_expression addop term ;
	term => factor | term mulop factor ;
	factor => id | id ( expression_list ) | num | ( expression ) | not factor ;
	sign => + | - ;

⌨️ 快捷键说明

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