ʱ : 编译原理-语法分析?(java完美运行?---副本 - 百度文库ϿʼĶ
{
biaozhi=1; } else
{
a[flag]=first[j][k]; flag++; } } }
if(biaozhi==1)//Ҳзսfirstе#ȥ {
i++;biaozhi=0;continue; } else {
biaozhi=0;break; } } else
if(b.charAt(i)>='A'&&b.charAt(i)<='Z'&&i+1>=b.length())//Ƿսûһַ {
int j;
for(j=0;Vn[i]!=null;j++) {
if(Vn[j].equals(String.valueOf(b.charAt(i)))) {
break; } }
for(int k=0;first[j][k]!='\\0';k++) {
if(puanduanChar(a,first[j][k])) {
if(first[j][k]=='#') {
biaozhi=1;//ʽҲƳգ } else
{
a[flag]=first[j][k];//Ƴգֱӽfirstselect
flag++; }
} }
if(biaozhi==1)//ʽҲƳ {
for(j=0;Vn[i]!=null;j++) {
if(Vn[j].equals(b.substring(0,1)))
{
break; } }
for(int k=0;follow[j][k]!='\\0';k++) {
if(puanduanChar(a,follow[j][k])) {
a[flag]=follow[j][k];//ʽķսfollowselect
flag++; } }
break; } else {
biaozhi=0;break; } } } }
//bVt[]λ
private int puanduanXulie(char Vt[],char b) {
int i;
for(i=0;Vt[i]!='\\0';i++) {
if(Vt[i]==b)break; }
return i; }
//жbǷaУڷfalseڷtrue
private boolean puanduanChar(char a[],char b) {
for(int i=0;a[i]!='\\0';i++) {
if(a[i]==b)return false; }
return true; }
//жbǷaУڷfalseڷtrue
private boolean puanduanString(String a[],char b) {
for(int i=0;a[i]!=null;i++) {
if(a[i].equals(String.valueOf(b)))return false; }
return true; }
//bַfirstVn[]
private void addString(String firstVn[],String b) {
int i;
for(i=0;firstVn[i]!=null;i++) { }
firstVn[i]=b; }
//жbǷfirstж
private int firstComplete(char b) {
int i;
for(i=0;Vn[i]!=null;i++) {
if(Vn[i].equals(String.valueOf(b))) {
if(firstComplete[i]==1)return i; else return -1; } }
return -1; }
//жbǷfollowж
private int followComplete(char b) {
for(int i=0;Vn[i]!=null;i++) {
if(Vn[i].equals(String.valueOf(b))) {
if(followComplete[i]==1)return i; else return -1; } }
return -1; }
//Ӧսӵfirst**
private int addElementFirst(char a[],int p,int flag) {
for(int i=0;first[p][i]!='\\0';i++) {
if(puanduanChar(a,first[p][i])&&first[p][i]!='#') {
a[flag]=first[p][i]; flag++; } }
return flag; }
//Ӧսӵfollow**
private int addElementFollow(char a[],int p,int flag) {
for(int i=0;follow[p][i]!='\\0';i++) {
if(puanduanChar(a,follow[p][i])) {
a[flag]=follow[p][i];