编译器练习:将C程序中的除注释外的所有保留字全部大写
来源:互联网 发布:六级网络课程 编辑:程序博客网 时间:2024/05/16 12:51
/*programed by:alex shoal
edit date:2009-3-22, Sunday
revision:2
****************
*Program Objective:将C程序中的除注释外的所有保留字全部大写
****************
*int,long,float,double,bool,char,
if,while,switch,case,continue,break,else,
void,unsigned,extern,global,default,
*/
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
char kw[][18]={"int","long","float","double","bool","char","if","while","switch","case","continue","break","else","void","unsigned","extern","global","default"};
int main(int argc, char *argv[])
{
char token[32];
int i;
int j;
int check=0;
int sz=0;
int state=0;
int ch; // place to store each character as read
FILE *fp; // "file pointer"
if (argc != 2){
printf("Usage: %s filename/n", argv[0]);
exit(1);
}
if ((fp = fopen(argv[1], "r")) == NULL){
printf("Can't open %s/n", argv[1]);
exit(1);
}
while (((ch = getc(fp)) != EOF)){
i=0;
j=0;
sz=0;
check=0;
switch(state){
case 0:{ if(ch=='/') state=1; break; }
case 1:{ switch(ch){
case '*': state=2;break;
case '/': state=4;break;
default : state=0;break;
}
break;
}
case 2:{ if(ch=='*') state=3;break; }
case 3:{ if(ch=='/') state=0;else state=2;}
case 4:{ if(ch==10 ) state=0;} //if ch == '/n', exit
}
if((!isalpha(ch))||state==2||state==4) putc(ch,stdout);
else{
for(i=0;i<32;i++) token[i]='/0';
i=0;
do{
token[i++]=ch;
ch=getc(fp);} while(isalpha(ch)&&ch!=EOF);
for(i=0;i<18;i++)
if (strcmp(token,kw[i])==0) {
check=1;
break;}
//sz=sizeof(token);
for(j=0;token[j]!='/0';j++){
if(check==1) putc(token[j]-32,stdout);
else putc(token[j],stdout); }
putc(ch,stdout);
}
}
fclose(fp);
return 0;
}
- 编译器练习:将C程序中的除注释外的所有保留字全部大写
- 编译原理作业:编写一个程序,使之将一个C程序除注释之外的所有保留字全部大写
- 编译器练习:找出C程序中除注释外的数字并将其值翻倍
- 编译器练习:将C程序中的注释中的小写字母转换为大写字母
- python源文件 将文件中所有除保留字外的小写字母换成大写字母
- 移除C/C++程序中的注释和空行
- C程序设计语言练习1-23 编写一个删除C语言程序中所有的注释语句
- 将字符串中的小写字符全部转换为大写
- 将c文件注释进行转化的练习小项目
- 编写程序将C / C++代码中的注释去掉
- 一个简单的判断字符串所含字母是否有大写,并将所有字母改为大写的小程序
- [AHK]将选中字符中的字母全部转换成【大写 / 小写 / 首字母大写】
- 将录入的字符全部换为大写
- 将string字符串中的字符转为全部大写或者全部小写
- 编写一个C程序删除一个文件的所有注释
- C# 删除字符串中除字母和数字之外的其它字符,C#将字符串中的大写转小写,小写转大写
- 大写C语言注释
- 将所有的Activity全部finish掉
- word中制作目录
- LoadImage()
- Dream Car 奥迪Q5
- 编译器错误信息:CS0433的原因和解决方法
- 漫谈互联网历史【8】- 90年代:现代互联网的诞生
- 编译器练习:将C程序中的除注释外的所有保留字全部大写
- 用Axis开发WebService
- 连接access数据库的密码问题
- 一个简单的Prime类实现.
- 漫谈互联网历史【9】- 90年代:互联网时代的来临
- 直接在Keil下仿真的T9拼音输入法(完整版)
- SqlMap中使用集合方式查询
- 关闭IE6/IE7页面的JavaScript
- 迅速解决JSP及数据库中文编码问题!