?? errors.cpp
字號:
#include <stdio.h>
#include "errors.h"
#include "cifa.h"
void CErrors::Add(int err)
{
if(num<MAX_ERROR_NUM)
{
errors[num]=err;
lines[num++]=pl->cifa->GetLine();
}
}
void CErrors::Display()
{
for (int i=0;i<num;i++)
{
printf("**** line(%d) : error %d: ",lines[i],errors[i]);
switch (errors[i])
{
case 1:printf("常數說明中的\"=\"寫成\":=\"!\n");break;
case 2:printf("常數說明中的\"=\"后應是數字!\n");break;
case 3:printf("常數說明中標識符后應是\"=\"!\n");break;
case 4:printf("const, var, procedure 后應是數字!\n");break;
case 5:printf("漏掉了\',\' 或\';\'!\n");break;
case 6:printf("過程說明后的符號不正確(應是語句開始符,或過程定義符!\n");break;
case 7:printf("應是語句開始符!\n");break;
case 8:printf("程序體內的語句部分的后跟符不正確!\n");break;
case 9:printf("程序結尾丟了句號\'.\'!\n");break;
case 10:printf("語句之間漏了\';\'!\n");break;
case 11:printf("標識符未說明!\n");break;
case 12:printf("賦值語句中, 賦值號左部標識符屬性應是變量!\n");break;
case 13:printf("賦值語句左部標識符后應是賦值號\':=\'!\n");break;
case 14:printf("call 后應為標識符!\n");break;
case 15:printf("call 后標識符屬性應為過程!\n");break;
case 16:printf("條件語句中丟了\'then\'!\n");break;
case 17:printf("丟了\'end\' 或\';\'!\n");break;
case 18:printf("while 型循環語句中丟了\'do\'!\n");break;
case 19:printf("語句后的符號不正確!\n");break;
case 20:printf("應為關系運算符!\n");break;
case 21:printf("表達式內標識符屬性不能是過程!\n");break;
case 22:printf("表達式中漏掉右括號\'(\'!\n");break;
case 23:printf("因子后的非法符號!\n");break;
case 24:printf("表達式的開始符不能是此符號!\n");break;
case 25:printf("repeat 型循環語句中沒有until!\n");break;
case 30:printf("數位太長!\n");break;
case 31:printf("數越界!\n");break;
case 32:printf("read語句括號中的標識符不是變量!\n");break;
}
}
printf("\ntotal - %d error(s).\n\nyou should correct the errors!!!",i);
}
?? 快捷鍵說明
復制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -