⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 textfile1.txt

📁 C#更新版的C语言的词法分析器
💻 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 + -