資源簡介
對如下文法進行非遞歸預測分析
E→E+T | E-T | T
T→T*F | T/F |F
F→(E) | i
代碼片段和文件信息
import?java.util.ArrayList;
import?java.util.Stack;
public?class?Test?{
private?static?ArrayList?nlist?=?new?ArrayList();//非終結符
private?static?ArrayList?tlist?=?new?ArrayList();//終結符
private?static?String[][]?state?=?new?String[5][8];//分析表
private?static?Stack?stack?=?new?Stack();//狀態棧
private?static?ArrayList?input?=?new?ArrayList();//輸入串
public?static?void?init()?{
nlist.add(‘E‘);
nlist.add(‘e‘);
nlist.add(‘T‘);
nlist.add(‘t‘);
nlist.add(‘F‘);
tlist.add(‘i‘);
tlist.add(‘+‘);
tlist.add(‘-‘);
tlist.add(‘*‘);
tlist.add(‘/‘);
tlist.add(‘(‘);
tlist.add(‘)‘);
tlist.add(‘$‘);
//error表示出錯;ε用““表示;T‘?E‘分別用t?e表示
state[0][0]?=?“Te“;
state
評論
共有 條評論