标识符处理程序
要求: 假设你们正在开发一种新的计算机语言的编译器。该编译器包括很多模块,其中你负责编写一个标识符的简单处理程序。
程序的功能要求如下:
1. 从键盘输入数据到程序中;
2. 将数据写出到文本文件accp.txt中
3. 计算文件中有多少个有效的标识符。此处有效标识符的定义是:字母开头,后面只能跟字母和数字。例如文件中如下一行内容“sa,’;fgf[]][ert5354[]fd3”,那么在这行中有效的标识符是:sa, fgf, ert5354, fd3,共四个有效的标识符
推荐实现步骤:
1. 以正确的模式打开文件accp.txt
2. 从键盘输入合理的测试数据;
3. 将数据写出到文件中;
4. 读取文件的内容,滤去非字母和数字的字符,将标识符计数、输出;
5. 输出标识符的个数
运行时,显示如下图:
Input text for accp.txt(input x or X as end of input)
Void go()
{
int i=9;
if (i==9)
{
Printf(“This number is %d,”,i);
}
}x
Token 1: Void
Token 2: go
Token 3: int
Token 4: i
Token 5: if
Token 6: i
Token 7: printf
Token 8: This
Token 9: number
Token 10: is
Token 11: d
Token 12: i
File accp.txt have 12 valid tokens
D:\work\tcrun>_
Accp文件的内容如下:
Void go()
{
int i=9;
if (i==9)
{
Printf(“This number is %d,”,i);
}
}
注意事项:
1. 不必考虑“有效标识符”的前面和后面是否是空格
2. 要能够将两个“有效标识符”之间的非法字符滤掉;
3. 与用户交互的格式应严格按照上图的形式进行。即:能够输出每个标识符,同时又能够正确计数;