• 大小: 4KB
    文件类型: .rar
    金币: 2
    下载: 1 次
    发布日期: 2021-07-07
  • 语言: Java
  • 标签:

资源简介

算符优先算法(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


评论

共有 条评论

相关资源