资源简介
算符优先算法(Java)
比较好的语法分析程序!!
代码片段和文件信息
package opg;
public class Grammar
{
private char vn[] = {‘S‘‘E‘‘T‘‘F‘}; //非终结符
private char vt[] = { ‘+‘ ‘*‘ ‘i‘ ‘(‘ ‘)‘ ‘#‘ }; //终结符
private String strForm[] = { “S→#E#“ “E→E+T“ “E→T“ “T→T*F“ “T→F““F→(E)“ “F→i“};//文法的产生式
//判断一个字符是否是Vt中的字母是返回其在Vt中位置,否则返回-1
public int isVt(char ch)
{
int temp = 0i;
for (i = 0; i < vt.length; i++)
{
if (ch == vt[i])
{
temp = i;
break;
}
}
if(i>=vt.length)
{
return -1;
}
else return temp;
}
//判断一个字符是否是Vn中的字母是返回其在Vn中位置,否则返回-1
public int isVn(char ch)
{
int temp = 0i;
for (i = 0; i < vn.length; i++)
{
if (ch == vn[i])
{
temp = i;
break;
}
}
if(i>=vn.length)
{
return -1;
}
else return temp;
}
//返回终结符的个数
public int lengthVt()
{
return vt.length;
}
//返回非终结符的个数
public int lengthVn()
{
return vn.length;
}
//返回文法产生式
public String[] getForm()
{
return strForm;
}
//返回Vt中第i个字符
public char getVt(int i)
{
char ch=‘ ‘;
if(i>=0&&i {
ch=vt[i];
}
return ch;
}
//返回Vn中第i个字符
public char getVn(int i)
{
char ch=‘ ‘;
if(i>=0&&i {
ch=vn[i];
}
return ch;
}
}
属性 大小 日期 时间 名称
----------- --------- ---------- ----- ----
文件 1391 2009-05-05 09:57 opg\Grammar.java
文件 4592 2009-05-05 11:44 opg\OPGAnlyze.java
文件 7272 2009-05-05 10:47 opg\OPGConstruct.java
目录 0 2009-05-05 11:36 opg
----------- --------- ---------- ----- ----
13255 4
- 上一篇:一个带界面的词法分析+语法分析语法树生成
- 下一篇:大学生租房系统项目可行性报告
评论
共有 条评论