0可编辑可修改1#include#include#include#defineMAX_COUNT1024#defineILLEGAL_CHAR_ERR1#defineUNKNOWN_OPERATOR_ERR2/*从标准输入读入第一个非空白字符(换行符除外)*/chargetnbc(){charch;ch=getchar();while(1){if(ch=='\r'||ch=='\t'||ch==''){ch=getchar();}else{break;}}returnch;v1
0可编辑可修改2}/*判断character是否为字母*/boolletter(charcharacter){if((character>='a'&&character='A'&&character='0'&&character=0)returntrue;elsereturnfalse;}/*词法分析函数,每调用一次识别一个符号*/boolLexAnalyze(){staticintlineNum=1;charcharacter;chartoken[17]="";character=getnbc();switch(character){case'\n':output("EOLN",24);lineNum++;break;caseEOF:output("EOF",25);returnfalse;;if(fullName
=NULL)v1
0可编辑可修改6strncpy(out,fullName+1,strlen(fullName)-1-strlen(extension));elsestrncpy(out,in,strlen(in)-strlen(extension));}/*初始化函数,接收输入文件地址,并打开输入、输出、错误文件、将标准输入重定向到输入文件,将标准输出重定向到输出文件,标准错误