LL(1)文法
2024-08-27 22:26:57
<源程序>→<外部声明>|<外部声明><函数体>
<外部申明>→<头文件><函数声明>|其他声明
<函数体>→<返回值类型><标识符><形参><复合语句>
<返回值类型>→void|char|int|float
<标识符>→<字母>|<标识符><字母>|<标识符><数字>
<字母>→a|b|c|...|z|_
<数字>→0|1|2|3|4|5|6|7|8|9
<形参>→<数据类型> <标识符>
<复合语句>→{}|{ <语句列表>}
<语句列表>→<复合语句>|<语句列表>
<复合语句>→<赋值语句>|<条件语句>|<循环语句>
<赋值语句>→<标识符>=<表达式>
E→E + T |E–T|T
T→T*F|T/F|F
F→E|i
<条件语句>→S1|S2
<S1>→if <判断语句><{条件语句}> else <{条件语句}>
<S2>→if <判断语句><{条件语句}>| if <判断式><{条件语句}> S1
<判断语句>→<标识符><逻辑运算符><标识符|数字>
<逻辑运算符>→>|<|=|!|>=|<=
<循环语句>→<for语句>|<while语句>|<do while语句>
<for语句>→for(赋值语句;判断语句; <标识符><D>){语句列表}
D→++|--
<while语句>→while(判断语句){语句列表}
<do while语句>→do{语句列表}while(判断语句)
E→TX
X→(+T|-T)X|ε
T→FY
Y→(*F|/F)Y|ε
F→(E)|i
最新文章
- UML类图(下):关联、聚合、组合、依赖
- 弹性盒布局(FlexBox)
- 使用jedis操作redis
- web工程依赖的问题
- [转]教你一招 - 如何给nopcommerce增加新闻类别模块
- 【LintCode】链表求和
- IBM:领导力素质的三环模式
- ASP.NET Web API 数据提供系统相关类型及其关系
- 10年山东省赛-E-最短路
- VIM中文乱码(_vimrc配置文件备份)
- 返回到上一页的html代码的几种写法
- BZOJ 1017 魔兽地图DotR(树形DP)
- C#语言基础之数据类型
- 我的Python成长之路---第七天---Python基础(21)---2016年2月27日(晴)
- git 查看某个文件的历史修改版本
- 长沙JavaEE培训机构哪家比较靠谱?Java培训的职业前景
- Django+xadmin打造在线教育平台(十)
- Elasticsearch2.3.4使用手册(使用存储过程做增量同步的探索)
- Android Studio修改项目中整体包名
- python粘包分析与解决