rccc.txt
来自「一个用C++写的编译器」· 文本 代码 · 共 142 行
TXT
142 行
Program ->CompoundStmt
CompoundStmt ->{ Stmts }
{
Stmts ->Stmt Stmts
Stmt ->IfStmt
IfStmt ->if ( BoolExpr ) then Stmt else Stmt
if
(
BoolExpr ->ArithExpr BoolOp ArithExpr
ArithExpr ->MulExpr ArithExprPrime
MulExpr ->SimpleExpr MulExprPrime
SimpleExpr ->id
id
MulExprPrime ->ε
ε
ArithExprPrime ->ε
ε
BoolOp ->==
==
ArithExpr ->MulExpr ArithExprPrime
MulExpr ->SimpleExpr MulExprPrime
SimpleExpr ->id
id
MulExprPrime ->ε
ε
ArithExprPrime ->ε
ε
)
then
Stmt ->CompoundStmt
CompoundStmt ->{ Stmts }
{
Stmts ->Stmt Stmts
Stmt ->IfStmt
IfStmt ->if ( BoolExpr ) then Stmt else Stmt
if
(
BoolExpr ->ArithExpr BoolOp ArithExpr
ArithExpr ->MulExpr ArithExprPrime
MulExpr ->SimpleExpr MulExprPrime
SimpleExpr ->id
id
MulExprPrime ->ε
ε
ArithExprPrime ->ε
ε
BoolOp ->==
==
ArithExpr ->MulExpr ArithExprPrime
MulExpr ->SimpleExpr MulExprPrime
SimpleExpr ->id
id
MulExprPrime ->ε
ε
ArithExprPrime ->ε
ε
)
then
Stmt ->AssigStmt
AssigStmt ->id = ArithExpr ;
id
=
ArithExpr ->MulExpr ArithExprPrime
MulExpr ->SimpleExpr MulExprPrime
SimpleExpr ->id
id
MulExprPrime ->ε
ε
ArithExprPrime ->ε
ε
;
else
Stmt ->WhileStmt
WhileStmt ->while ( BoolExpr ) Stmt
while
(
BoolExpr ->ArithExpr BoolOp ArithExpr
ArithExpr ->MulExpr ArithExprPrime
MulExpr ->SimpleExpr MulExprPrime
SimpleExpr ->id
id
MulExprPrime ->ε
ε
ArithExprPrime ->ε
ε
BoolOp ->==
==
ArithExpr ->MulExpr ArithExprPrime
MulExpr ->SimpleExpr MulExprPrime
SimpleExpr ->id
id
MulExprPrime ->ε
ε
ArithExprPrime ->ε
ε
)
Stmt ->AssigStmt
AssigStmt ->id = ArithExpr ;
id
=
ArithExpr ->MulExpr ArithExprPrime
MulExpr ->SimpleExpr MulExprPrime
SimpleExpr ->id
id
MulExprPrime ->ε
ε
ArithExprPrime ->+ MulExpr ArithExprPrime
+
MulExpr ->SimpleExpr MulExprPrime
SimpleExpr ->num
num
MulExprPrime ->ε
ε
ArithExprPrime ->ε
ε
;
Stmts ->ε
ε
}
else
Stmt ->AssigStmt
AssigStmt ->id = ArithExpr ;
id
=
ArithExpr ->MulExpr ArithExprPrime
MulExpr ->SimpleExpr MulExprPrime
SimpleExpr ->id
id
MulExprPrime ->/ SimpleExpr MulExprPrime
/
SimpleExpr ->num
num
MulExprPrime ->ε
ε
ArithExprPrime ->ε
ε
;
Stmts ->ε
ε
}
$
Parsing ended
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?