- 博客(2)
- 收藏
- 关注
原创 实验三 算符优先分析算法的设计与实现
对于总控程序,根据已经求得的算符优先分析表,建立一个分析栈并将‘#’压入栈中,接着,通过比较输入串指针指向的符号和分析栈的栈顶指向的符号的算符优先级即可,但是要在里面多加一些条件充实各种不同的输入情况,比如想压入栈中的是一个运算符,我考虑到了以下几种情况,此时栈顶必须是数字或者“#”或者是“(”,(如果是“(”说明括号还没匹配),这种情况下可以把这个运算符压入栈中;,默认终结符i表示数字,当输入数字通过input_process(test)将输入的数字转换为终结符i(仅限0~9的数字,这是不够好的地方);
2023-12-03 03:26:22
1152
1
原创 实验二 预测分析算法的设计与实现
对于总控程序,由于已经求出了预测分析表table,最主要的处理就是建立一个分析栈,并将‘#’和文法的开始符号压入栈中,接着,通过比较输入串指针指向的符号和分析栈的栈顶指向的符号即可,如果栈顶符号是非终结符,则通过此时输入串指针指向的符号和栈顶符号确定用table表中的某一产生式,随后将原先的非终结符出栈并将其产生式右部逆序的压入分析栈中(要注意如果这个时候产生式是$则不需要把$压入栈中);对于形如“A->B”这样一个产生式的保存,我设计了如下的结构体表示一个语法产生式,下面逐一讲解。// first集合。
2023-11-23 00:09:19
103
1
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人