📄 textfile1.txt
字号:
public void Parse() {
/*按字符依次扫描源程序,直至结束*/
while(n<sourceCode.Length){
指针移位;
以字母开头;
if(((ch>='A')&&(ch<='Z'))||((ch>='a')&&(ch<='z'))||(ch=='_')) {
while(((ch>='A')&&(ch<='Z'))||((ch>='a')&&(ch<='z'))||(ch=='_')||((ch>='0')&&(ch<='9'))) {
指针移位;
}
}else if(ch>='0'&&ch<='9') {
以数字开头;
while(ch>='0'&&ch<='9') {
指针移位;
}
}
else if((ch==' ')||(ch=='\t'))
消除空格符和水平制表符;
else if(ch=='\n')
消除回车并记录行数;
else if(ch=='/') {
消除注释;
指针移位;
if(ch=='=') {
判断是否为‘/=’符号;
}
else if(ch!='*') {
若为除号,写入输出文件;
} else
if(ch=='*') {
若为注释的开始,消除包含在里面的所有字符;
count=0;
指针移位;
while(count!=2) {
当扫描到‘*’且紧接着下一个字符为‘/’才是注释的结束;
count=0;
while(ch!='*')
指针移位;
count++;
指针移位;
if(!ch='/')
指针移位;
}
}
}
else if(ch=='"') {
消除包含在双引号中的字符串常量;
指针移位;
while(ch!='"')
指针移位;
}
else {
首字符为其它字符,即运算限界符或非法字符;
再读入下一个字符,判断是否为双字符运算、限界符;
指针移位;
若该字符非文件结束符;
if(n<sourceCode.Length) {
先检索是否为双字符运算、限界符;
if(result==0) {
若不是;
检索是否为单字符运算、限界符;
if(result==0) {
若还不是,则为非法字符;
}
else {
若为单字符运算、限界符,写入输出文件并将扫描文件指针回退一个字符;
}
}
else {
若为双字符运算、限界符,写输出文件;
}
}
else {
若读入的下一个字符为文件结束符;
只考虑是否为单字符运算、限界符;
若不是,转出错处理;
if(result==0)
else {
若是,写输出文件;
}
}
}
指针移位;
}
/*报告错误字符个数*/
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -