I0:
PROGRAM->. int id ( ) { DECLARATION_STATEMENT STATEMENT_LIST } ,/#
PROGRAM->. int id ( ) { DECLARATION_STATEMENT STATEMENT_LIST } ,/int
PROGRAM_LIST->. PROGRAM ,/#
PROGRAM_LIST->. PROGRAM ,/int
PROGRAM_LIST->. PROGRAM_LIST PROGRAM ,/#
PROGRAM_LIST->. PROGRAM_LIST PROGRAM ,/int
S->. PROGRAM_LIST ,/#
S'->. S ,/#
I1:
PROGRAM_LIST->PROGRAM .,/#
PROGRAM_LIST->PROGRAM .,/int
I2:
PROGRAM->. int id ( ) { DECLARATION_STATEMENT STATEMENT_LIST } ,/#
PROGRAM->. int id ( ) { DECLARATION_STATEMENT STATEMENT_LIST } ,/int
PROGRAM_LIST->PROGRAM_LIST . PROGRAM ,/#
PROGRAM_LIST->PROGRAM_LIST . PROGRAM ,/int
S->PROGRAM_LIST .,/#
I3:
S'->S .,/#
I4:
PROGRAM->int . id ( ) { DECLARATION_STATEMENT STATEMENT_LIST } ,/#
PROGRAM->int . id ( ) { DECLARATION_STATEMENT STATEMENT_LIST } ,/int
I5:
PROGRAM_LIST->PROGRAM_LIST PROGRAM .,/#
PROGRAM_LIST->PROGRAM_LIST PROGRAM .,/int
I6:
PROGRAM->int id . ( ) { DECLARATION_STATEMENT STATEMENT_LIST } ,/#
PROGRAM->int id . ( ) { DECLARATION_STATEMENT STATEMENT_LIST } ,/int
I7:
PROGRAM->int id ( . ) { DECLARATION_STATEMENT STATEMENT_LIST } ,/#
PROGRAM->int id ( . ) { DECLARATION_STATEMENT STATEMENT_LIST } ,/int
I8:
PROGRAM->int id ( ) . { DECLARATION_STATEMENT STATEMENT_LIST } ,/#
PROGRAM->int id ( ) . { DECLARATION_STATEMENT STATEMENT_LIST } ,/int
I9:
DECLARATION->. TYPE_SPECIFIER ID_LIST ; ,/(/digit/for/id/if/printf/scanf(/{
DECLARATION->. TYPE_SPECIFIER ID_LIST ; ,/float/int
DECLARATION_STATEMENT->. DECLARATION ,/(/digit/for/id/if/printf/scanf(/{
DECLARATION_STATEMENT->. DECLARATION ,/float/int
DECLARATION_STATEMENT->. DECLARATION_STATEMENT DECLARATION ,/(/digit/for/id/if/printf/scanf(/{
DECLARATION_STATEMENT->. DECLARATION_STATEMENT DECLARATION ,/float/int
TYPE_SPECIFIER->. float ,/id
TYPE_SPECIFIER->. int ,/id
PROGRAM->int id ( ) { . DECLARATION_STATEMENT STATEMENT_LIST } ,/#
PROGRAM->int id ( ) { . DECLARATION_STATEMENT STATEMENT_LIST } ,/int
I10:
DECLARATION_STATEMENT->DECLARATION .,/(/digit/for/id/if/printf/scanf(/{
DECLARATION_STATEMENT->DECLARATION .,/float/int
I11:
ASSIGN_EXPRESSION->. LEFT_VALUE = EXPRESSION ,/;
DECLARATION->. TYPE_SPECIFIER ID_LIST ; ,/(/digit/for/id/if/printf/scanf(/{
DECLARATION->. TYPE_SPECIFIER ID_LIST ; ,/float/int
ITERATION_EXPRESSION->. for ( ASSIGN_EXPRESSION ; M RELATION_EXPRESSION ; M INC_EXPRESSION ) STATEMENT ,/(/digit/for/id/if/printf/scanf(/{
ITERATION_EXPRESSION->. for ( ASSIGN_EXPRESSION ; M RELATION_EXPRESSION ; M INC_EXPRESSION ) STATEMENT ,/}
LEFT_VALUE->. id ,/=
LEFT_VALUE->. id [ EXPRESSION ] ,/=
SELECTION_STATEMENT->. if ( M RELATION_EXPRESSION ) STATEMENT M else STATEMENT ,/(/digit/for/id/if/printf/scanf(/{
SELECTION_STATEMENT->. if ( M RELATION_EXPRESSION ) STATEMENT M else STATEMENT ,/}
STATEMENT->. ITERATION_EXPRESSION ,/(/digit/for/id/if/printf/scanf(/{
STATEMENT->. ITERATION_EXPRESSION ,/}
STATEMENT->. SELECTION_STATEMENT ,/(/digit/for/id/if/printf/scanf(/{
STATEMENT->. SELECTION_STATEMENT ,/}
STATEMENT->. ASSIGN_EXPRESSION ; ,/(/digit/for/id/if/printf/scanf(/{
STATEMENT->. ASSIGN_EXPRESSION ; ,/}
STATEMENT->. RETURN EXPRESSION ; ,/(/digit/for/id/if/printf/scanf(/{
STATEMENT->. RETURN EXPRESSION ; ,/}
STATEMENT->. { STATEMENT_LIST } ,/(/digit/for/id/if/printf/scanf(/{
STATEMENT->. { STATEMENT_LIST } ,/}
STATEMENT->. printf ( string ) ; ,/(/digit/for/id/if/printf/scanf(/{
STATEMENT->. printf ( string ) ; ,/}
STATEMENT->. printf ( string ,M ID_LIST ) ; ,/(/digit/for/id/if/printf/scanf(/{
STATEMENT->. printf ( string ,M ID_LIST ) ; ,/}
STATEMENT->. scanf( string , & id ) ; ,/(/digit/for/id/if/printf/scanf(/{
STATEMENT->. scanf( string , & id ) ; ,/}
STATEMENT_LIST->. STATEMENT ,/(/digit/for/id/if/printf/scanf(/{
STATEMENT_LIST->. STATEMENT ,/}
STATEMENT_LIST->. STATEMENT_LIST STATEMENT ,/(/digit/for/id/if/printf/scanf(/{
STATEMENT_LIST->. STATEMENT_LIST STATEMENT ,/}
TYPE_SPECIFIER->. float ,/id
TYPE_SPECIFIER->. int ,/id
DECLARATION_STATEMENT->DECLARATION_STATEMENT . DECLARATION ,/(/digit/for/id/if/printf/scanf(/{
DECLARATION_STATEMENT->DECLARATION_STATEMENT . DECLARATION ,/float/int
PROGRAM->int id ( ) { DECLARATION_STATEMENT . STATEMENT_LIST } ,/#
PROGRAM->int id ( ) { DECLARATION_STATEMENT . STATEMENT_LIST } ,/int
I12:
ID_LIST->. id ,/,
ID_LIST->. id ,/;
ID_LIST->. ID_LIST , id ,/,
ID_LIST->. ID_LIST , id ,/;
ID_LIST->. id [ digit ] ,/,
ID_LIST->. id [ digit ] ,/;
ID_LIST->. id [ digit ] = { DIGIT_LIST } ,/,
ID_LIST->. id [ digit ] = { DIGIT_LIST } ,/;
DECLARATION->TYPE_SPECIFIER . ID_LIST ; ,/(/digit/for/id/if/printf/scanf(/{
DECLARATION->TYPE_SPECIFIER . ID_LIST ; ,/float/int
I13:
TYPE_SPECIFIER->float .,/id
I14:
TYPE_SPECIFIER->int .,/id
I15:
STATEMENT->ASSIGN_EXPRESSION . ; ,/(/digit/for/id/if/printf/scanf(/{
STATEMENT->ASSIGN_EXPRESSION . ; ,/}
I16:
DECLARATION_STATEMENT->DECLARATION_STATEMENT DECLARATION .,/(/digit/for/id/if/printf/scanf(/{
DECLARATION_STATEMENT->DECLARATION_STATEMENT DECLARATION .,/float/int
I17:
STATEMENT->ITERATION_EXPRESSION .,/(/digit/for/id/if/printf/scanf(/{
STATEMENT->ITERATION_EXPRESSION .,/}
I18:
ASSIGN_EXPRESSION->LEFT_VALUE . = EXPRESSION ,/;
I19:
E->. T ,/+
E->. T ,/-
E->. T ,/;
E->. E + T ,/+
E->. E + T ,/-
E->. E + T ,/;
E->. E - T ,/+
E->. E - T ,/-
E->. E - T ,/;
EXPRESSION->. E ,/;
F->. digit ,/*
F->. digit ,/+
F->. digit ,/-
F->. digit ,//
F->. digit ,/;
F->. id ,/*
F->. id ,/+
F->. id ,/-
F->. id ,//
F->. id ,/;
F->. ( E ) ,/*
F->. ( E ) ,/+
F->. ( E ) ,/-
F->. ( E ) ,//
F->. ( E ) ,/;
F->. id [ EXPRESSION ] ,/*
F->. id [ EXPRESSION ] ,/+
F->. id [ EXPRESSION ] ,/-
F->. id [ EXPRESSION ] ,//
F->. id [ EXPRESSION ] ,/;
T->. F ,/*
T->. F ,/+
T->. F ,/-
T->. F ,//
T->. F ,/;
T->. T * F ,/*
T->. T * F ,/+
T->. T * F ,/-
T->. T * F ,//
T->. T * F ,/;
T->. T / F ,/*
T->. T / F ,/+
T->. T / F ,/-
T->. T / F ,//
T->. T / F ,/;
STATEMENT->RETURN . EXPRESSION ; ,/(/digit/for/id/if/printf/scanf(/{
STATEMENT->RETURN . EXPRESSION ; ,/}
I20:
STATEMENT->SELECTION_STATEMENT .,/(/digit/for/id/if/printf/scanf(/{
STATEMENT->SELECTION_STATEMENT .,/}
I21:
STATEMENT_LIST->STATEMENT .,/(/digit/for/id/if/printf/scanf(/{
STATEMENT_LIST->STATEMENT .,/}
I22:
ASSIGN_EXPRESSION->. LEFT_VALUE = EXPRESSION ,/;
ITERATION_EXPRESSION->. for ( ASSIGN_EXPRESSION ; M RELATION_EXPRESSION ; M INC_EXPRESSION ) STATEMENT ,/(/digit/for/id/if/printf/scanf(/{
ITERATION_EXPRESSION->. for ( ASSIGN_EXPRESSION ; M RELATION_EXPRESSION ; M INC_EXPRESSION ) STATEMENT ,/}
LEFT_VALUE->. id ,/=
LEFT_VALUE->. id [ EXPRESSION ] ,/=
SELECTION_STATEMENT->. if ( M RELATION_EXPRESSION ) STATEMENT M else STATEMENT ,/(/digit/for/id/if/printf/scanf(/{
SELECTION_STATEMENT->. if ( M RELATION_EXPRESSION ) STATEMENT M else STATEMENT ,/}
STATEMENT->. ITERATION_EXPRESSION ,/(/digit/for/id/if/printf/scanf(/{
STATEMENT->. ITERATION_EXPRESSION ,/}
STATEMENT->. SELECTION_STATEMENT ,/(/digit/for/id/if/printf/scanf(/{
STATEMENT->. SELECTION_STATEMENT ,/}
STATEMENT->. ASSIGN_EXPRESSION ; ,/(/digit/for/id/if/printf/scanf(/{
STATEMENT->. ASSIGN_EXPRESSION ; ,/}
STATEMENT->. RETURN EXPRESSION ; ,/(/digit/for/id/if/printf/scanf(/{
STATEMENT->. RETURN EXPRESSION ; ,/}
STATEMENT->. { STATEMENT_LIST } ,/(/digit/for/id/if/printf/scanf(/{
STATEMENT->. { STATEMENT_LIST } ,/}
STATEMENT->. printf ( string ) ; ,/(/digit/for/id/if/printf/scanf(/{
STATEMENT->. printf ( string ) ; ,/}
STATEMENT->. printf ( string ,M ID_LIST ) ; ,/(/digit/for/id/if/printf/scanf(/{
STATEMENT->. printf ( string ,M ID_LIST ) ; ,/}
STATEMENT->. scanf( string , & id ) ; ,/(/digit/for/id/if/printf/scanf(/{
STATEMENT->. scanf( string , & id ) ; ,/}
STATEMENT_LIST->STATEMENT_LIST . STATEMENT ,/(/digit/for/id/if/printf/scanf(/{
STATEMENT_LIST->STATEMENT_LIST . STATEMENT ,/}
PROGRAM->int id ( ) { DECLARATION_STATEMENT STATEMENT_LIST . } ,/#
PROGRAM->int id ( ) { DECLARATION_STATEMENT STATEMENT_LIST . } ,/int
I23:
ITERATION_EXPRESSION->for . ( ASSIGN_EXPRESSION ; M RELATION_EXPRESSION ; M INC_EXPRESSION ) STATEMENT ,/(/digit/for/id/if/printf/scanf(/{
ITERATION_EXPRESSION->for . ( ASSIGN_EXPRESSION ; M RELATION_EXPRESSION ; M INC_EXP
没有合适的资源?快使用搜索试试~ 我知道了~
编译原理课程设计包括词法分析器(nfa转dfa)和语法分析器(LR1实现).zip
共18个文件
txt:7个
cpp:5个
o:2个
2 下载量 58 浏览量
2024-04-17
12:15:16
上传
评论
收藏 788KB ZIP 举报
温馨提示
编译原理课程设计包括词法分析器(nfa转dfa)和语法分析器(LR1实现)
资源推荐
资源详情
资源评论
收起资源包目录
编译原理课程设计包括词法分析器(nfa转dfa)和语法分析器(LR1实现).zip (18个子文件)
process.txt 36KB
TEX.depend 185B
TEX.cbp 1KB
obj
Debug
syntactic_analyzer.o 820KB
main.o 820KB
Sample input
book
Lex.cpp 15B
syntax.txt 41B
origin
Lex.cpp 208B
syntax.txt 975B
complex
Zprogram.txt 142B
Lex.cpp 660B
syntax.txt 1KB
Lex.cpp 660B
bin
Debug
TEX.exe 1.6MB
table.txt 65KB
syntactic_analyzer.cpp 11KB
TEX.layout 176B
syntax.txt 1KB
共 18 条
- 1
资源评论
小码蚁.
- 粉丝: 2581
- 资源: 4321
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功