词法分析器源代码java 词法分析器程序流程图( 二 )


cout"Please input a string again!"endl;
input(a);
}
}
void sort(zifu aclass[],char b[],intinteger,inttag) //识别函数,tag 类标记 ,integer 当前查找的位置
{
int i=0;
while(b[++integer]!='=')
{
if(b[integer]!=' ')
aclass[tag].name[i]=b[integer];
i++;//获取字符串名
}
aclass[tag].name[i]='\0';
i=0;
++integer;
while(b[integer]!=','b[integer]!=';')//获取字符串值、值类型
{
if(b[integer]='0'b[integer]='9')// 字符值类型,0=字符 , 1=字符串,2=整数,3=浮点数
aclass[tag].dataname=2;
else if(b[integer]=='.')//浮点数判断 。。。真麻烦
{ aclass[tag].dataname=3;
while(b[integer]!=','b[integer]!=';'){
aclass[tag].data[i]=b[integer];
integer++;i++;}}
else if(b[integer]='a'b[integer]='z')
aclass[tag].dataname=0;
else if(b[integer]='A'b[integer]='Z')
aclass[tag].dataname=1;
else if(b[integer]=='\'' || b[integer]=='\'')
aclass[tag].dataname=0;
else if(b[integer]=='"' || b[integer]=='"')
aclass[tag].dataname=1;
if(b[integer]!=','b[integer]!=';')
{
aclass[tag].data[i]=b[integer];
i++;
++integer;
}
}
aclass[tag].data[i]='\0';
++tag;
if(b[integer]!=';')
sort(aclass,b,integer,tag);
}
void display(zifu a) //输出函数
{
int n=0;
int q=0;
while (a.name[n]!='\0')
{couta.name[n];
n++;}
cout"(";
switch (a.dataname)
{case 0:
cout"char";
char_num++;
break;
case 1:
cout"string";
string_num++;
break;
case 2:
cout"integer";
int_num++;
break;
case 3:
cout"float";
float_num++;
break;
default:
cout"type error";}
cout',';
while (a.data[q]!='\0')
{couta.data[q];
q++;}
cout")"endl;
}
void main()
{
zifu teger[10];
char c[100];
int tag0=0,integer0=5;
int m=0;
while(1){
cout"please input:"endl;
input(c);
// cout"0=字符,1=字符串,2=整数,3=浮点数"endl;
sort(teger,c,integer0,tag0);
// cout"字符串数量="tag0endl;
for(m=0;mtag0;m++)
{display(teger[m]);}
coutendl"int_num="int_num";""char_num="char_num";";
cout"string_num="string_num";""float_num="float_numendlendl;
}
}
我要做个JAVA词法分析工具,求JAVA的所有关键字和操作符我有Java API里面有所有的接口和类,以及类里的方法
赋值操作符:
= 赋值符号 。
+= 加等赋值 。
-= 减等赋值 。
*= 乘等赋值 。
/= 除等赋值 。
运算操作符:
+ 加运算符
- 减运算符
* 乘运算符
/ 除运算符
% 求余运算符
++ 自增1运算符
-- 自减1运算符
关系操作符:
小于 。
= 小于或者等于 。
大于 。
= 大于或者等于 。
== 等于 。
!= 不等于(大于或小于) 。
逻辑操作符:
?: if-then-else
逻辑与 。位操作符 。将左右表达式按二进制按位进行与操作(同位均为1则该位为1,否则为0) 。
与操作 。
| 逻辑或 。
|| 或操作 。
^ XOR 。
== 等于
!= 不等于
! 逻辑非操作 。

Abstract 抽象的
一个Java语言中的关键字 , 用在类的声明中来指明一个类是不能被实例化的,但是可以被其它类继承 。一个抽象类可以使用抽象方法 , 抽象方法不需要实现,但是需要在子类中被实现
break
一个Java的关键字 , 用来改变程序执行流程,立刻从当前语句的下一句开始执行从 。如果后面跟有一个标签 , 则从标签对应的地方开始执行

推荐阅读