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

📄 czero.txt

📁 北京航空航天大学计算机系要求的编译器大作业。大概6000行代码。
💻 TXT
字号:
<加法运算符>           	   	::=   +|-
<乘法运算符>             	::=   * | /
<关系运算符>             	::=   < | <= | > | >= | != | ==
<字符>                   	::=   _ | a |...|z | A |...|Z
<数字>                   	::=   0|<非零数字>
<非零数字>               	::=  1|...|9
<字符串>                 	::=   "{<合法字符> }"
                                               //字符串中可以出现所有合法的可打印字符集中的字符
                                               
                                               
                                               
                                               

<整数>                    	::=  {+|-}<非零数字>{<数字>}|0
<标识符>                  	::=  <字符>{<字符>|<数字>}

<程序>                    	::=  {<常量说明部分>}{<变量说明部分>}{<子函数定义部分>}<主函数>
<常量说明部分>      		::=  const<常量定义>{,<常量定义>};
<常量定义>               	::=   <标识符>=<整数>
<声明头部>                	::=  int <标识符> 
<变量说明部分>        		::=  <声明头部>{,<标识符>};
<子函数定义部分>    		::=  (<声明头部>|void <标识符>)<参数><复合语句>
<复合语句>                	::= '{'{<常量说明部分>}{<变量说明部分>}<语句序列>'}'
<参数>                    	::= '('<参数表>')'
<参数表>                  	::=   int<标识符>{,int<标识符>} | <空>
<主函数>                  	::=   void main'('')'<复合语句>
<表达式>                  	::=  {+|-}<项>{<加法运算符><项>}
<项>                      	::=   <因子>{<乘法运算符><因子>}
<因子>                    	::=  <标识符>|'('<表达式>')'|<整数>|<子函数调用语句>
<语句>                    	::=  <条件语句>|<循环语句>|'{'<语句序列>'}'|<子函数调用语句>;
                                 	|<赋值语句>;|<返回语句>;|<读语句>;|<写语句>;|;
<赋值语句>                	::=  <标识符>=<表达式>
<条件语句>                	::=   if'('<条件>')'<语句>{else<语句>}
<条件>                    	::=  <表达式><关系运算符><表达式>|<表达式>
<循环语句>                	::=   while'('<条件>')'<语句>
<子函数调用语句>   			::=  <标识符>'('<值参数表>')'
<值参数表>                	::=  <表达式>{,<表达式>}|<空>
<语句序列>                	::=  <语句>{<语句>}
<读语句>                  	::=  scanf'('<标识符>')'
<写语句>                  	::=  printf'('<字符串>,<表达式 >|<字符串>|<表达式 >')'
<返回语句>                	::=  return ['('<表达式>')']

附加说明:
(1)返回类型为void的子函数不允许出现在表达式中

(2)子函数的返回类型必须与返回语句匹配,若无返回语句,则子函数必须声明为void类型

(3)标识符不区分大小写字母

(4)写语句中字符串原样输出

⌨️ 快捷键说明

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