一个简单的词法分析器的 问题
初次编写有点乱:请大家谅解!!!!!
char[] a ={'i','n','t',' ','i','n','t'};
// 一个把a字符数组分离开来 ,找出关键字,和普通字符串
public void select_char(char[] a){
int first=0;
int length=a.length;
int c1=0;
char[] temp = new char[1000];//用来保存的中间组
for(int i=0;i<length;i++)
{
if(a[i]>='a'&&a[i]<='z'||a[i]>='A'&&a[i]<='Z')
{
if(a[i+1]>='a'&&a[i+1]<='z'||a[i+1]>='A'&&a[i+1]<='Z')
{
temp[first]=a[i];
first++;
}
else
{
temp[first]=a[i];
s=s.valueOf(temp,c1,first+1);
first++;
c1=first;
//比较看看是不是关键字
for(int h=0;h< strKey.length;h++)//strKey 用来保存关键字的
{ int ff;
ff=s.compareTo(strKey[h]);
if(ff==0)
{
strKeychar[sa]=s;//strKeychar存放找出的关键字的
sa++;
bolcc = false;
break;
}
}
if(bolcc)
{
strchar[la]=s;//strchar 存放普通的字符
// strchar[la]+='\0';
la++;
bolcc=true;
}
}
}
}
}
结果 strKeychar 中只有一个int