没有合适的资源?快使用搜索试试~ 我知道了~
首页C语言文法流程图 - 编译原理
资源详情
资源评论
资源推荐

程序
入口
int/void N
float/char/bool
Y
NEXT(w)
main N 标识符
Y
NEXT(w)
(
Y
NEXT(w)
)
Y
NEXT(w)
Y
NEXT(w)
复合语句
{
结束
(
)
Y
NEXT(w)
参数列表
Y
NEXT(w)
N ERR
标识符
Y
NEXT(w)
{
开始
入口
NEXT(w)
程序
后继程序
结束
后继程序
入口
#
程序
后继程序
结束
N
Y
N
N
ERR
ERR
ERR
N
N
ERR
N ERR
[ N
=
Y
NEXT(w)
数字 N
Y
NEXT(w)
]
ERR
N
ERR
数组赋值语句
后继数组赋值语句
Y
NEXT(w)
常量
Y
NEXT(W)
后继变量声明
N
N
算术表达式
(
)
参数列表
Y
NEXT(w)
Y
NEXT(w)
{
N
ERR
N ERR
[ N
=
Y
NEXT(w)
数字 N
Y
NEXT(w)
]
ERR
N
ERR
数组赋值语句
后继数组赋值语句
Y
NEXT(w)
常量
Y
NEXT(W)
后继变量声明
N
N
算术表达式
Y
NEXT(w)
N
结束
复合语句
Y
NEXT(w)
N
ERR
N
ERR
参数列表
入口
int/char/float/bool
参数声明
后继参数声明
出口
N
参数声明
入口
int/char/float/bool
Y
NEXT(w)
标识符
Y
NEXT(w)
=
Y
NEXT(w)
常量
Y
NEXT(W)
出口
N
N
算术表达式
N
ERR
N
ERR
后继参数声明
入口
,
Y
NEXT(w)
参数声明
后继参数声明
出口
N
普通变量声明
入口
标识符
=
Y
NEXT(w)
常量
Y
NEXT(W)
出口
N
N
算术表达式
Y
NEXT(w)
N
ERR
后继变量声明
入口
;
Y
NEXT(w)
出口
N
,
Y
NEXT(w)
普通变量声明
后继变量声明
N
ERR
复合语句
入口
语句列表
}
Y
NEXT(w)
结束
N
ERR
语句列表
入口
if N
while
Y
NEXT(w)
(
Y
NEXT(w)
逻辑语句
)
Y
NEXT(w)
{
Y
NEXT(w)
复合语句
else
Y
NEXT(w)
{
Y
NEXT(w)
复合语句
语句列表
N
N
ERR
N ERR
Y
NEXT(w)
(
Y
NEXT(w)
逻辑语句
)
N
ERR
N ERR
Y
NEXT(w)
{
Y
NEXT(w)
复合语句
N return
Y
NEXT(w)
标识符
Y
NEXT(w)
;
Y
NEXT(w)
N 常量 N ERR
N
ERR
N
标识符 N
int/char/float/bool
[ N
=
Y
NEXT(w)
数字 N
Y
NEXT(w)
]
ERR
N
ERR
数组赋值语句
后继数组赋值语句
Y
NEXT(w)
常量
Y
NEXT(W)
后继变量声明
N
N
算术表达式
N 结束
结束
数组赋值语句
入口
=
N
Y
NEXT(w)
{
Y
NEXT(w)
值列表
}
Y
NEXT(w)
结束
N
ERR
N
ERR
后继数组赋值语句
入口
,
Y
NEXT(w)
标识符
[
Y
NEXT(w)
数字 N
Y
NEXT(w)
]
ERR
N
ERR
Y
NEXT(w)
数组赋值语句
后继数组赋值语句
Y
NEXT(w)
结束
N
;
Y
NEXT(w)
值列表
入口
数字
Y
NEXT(w)
结束
N
ERR
N
ERR
,
逻辑语句
入口
逻辑项
||
逻辑项
Y
NEXT(w)
GEQ(||) 结束
逻辑项
入口
逻辑因子1
&&
逻辑项
Y
NEXT(w)
GEQ(&&)
结束
逻辑因子1
逻辑因子2
==
逻辑因子2
Y
NEXT(w)
GEQ(==)
结束
入口
!=
逻辑因子2
Y
NEXT(w)
GEQ(!=)
N
N
算术表达式
>=
算术表达式
Y
NEXT(w)
GEQ(>=)
入口
>
算术表达式
Y
NEXT(w)
GEQ(>)
N
逻辑因子2
<=
算术表达式
Y
NEXT(w)
GEQ(<=)
<
算术表达式
Y
NEXT(w)
GEQ(<)
NN
结束
N
入口
算术项
+
算术项
Y
NEXT(w)
GEQ(+) 结束
算术表达式
-
算术项
Y
NEXT(w)
GEQ(-)
N
N
入口
算术因子
*
算术因子
Y
NEXT(w)
GEQ(*) 结束
算术项
/
算术因子
Y
NEXT(w)
GEQ(/)
N
%
算术因子
Y
NEXT(w)
GEQ(/)
N
N
入口
+
算术单元
Y
NEXT(w)
GEQ(+) 算术单元
-
算术单元
Y
NEXT(w)
GEQ(-)
N
!
算术单元
Y
NEXT(w)
GEQ(!)
N
N
算术因子
结束
算术单元
入口
常量
Y
NEXT(w)
结束
N (
Y
NEXT(w)
逻辑语句
)
N ERR
N ERR
N ERR
N ERR
Y
NEXT(w)
N
[
N
Y
NEXT(w)
Y
NEXT(w)
数字
Y
NEXT(w)
]
Y
NEXT(w)
=
Y
NEXT(w)
N
ERR
常量 N 算术表达式
Y
NEXT(w)
, ;
N
ERR
N
ERR
N
ERR
N
ERR
Y
NEXT(w)
Y
NEXT(w)
[
Y
NEXT(w)
数字
Y
NEXT(w)
]
N
ERR
N
ERR
标识符 N
Y
NEXT(w)
N
标识符 N
ERR
Y
NEXT(w)
Y
NEXT(w)
NewSring( )
AddToSring(w)
Y
NEXT(w)
AddToSring(w)
AddToSring(w)
AddToSring(w)
AddToSring(w)
PUSH(str)
NewSring( )
AddToSring(w)
AddToSring(w)
AddToSring(w)
AddToSring(w)
PUSH(str)
ASSI(=)
IF(if)
EL(el)
IE(ie)
WH(wh)
DO(do)
WE(we)
TYP
ARR
Y
NEXT(w)
ENT
ARR
Y
NEXT(w)
TYP
Y
NEXT(w)
ENT
TYP
ARR
ENT
(
Y
NEXT(w)
算术表达式
,
Y
NEXT(w)
N )
Y
NEXT(w)
N
ERR
N
















安全验证
文档复制为VIP权益,开通VIP直接复制

评论0