📄 analy_func.cpp
字号:
#include<iostream.h>
#include "constant_define.h"
int isReserve(const char* arr[],char strToken[],int);//是否是保留字
bool isInclude(char array[],char cCode ,int iLength);//判断某数组中是否包含某字符
////////////////判断是否是字母
bool isLetter(char cCode)
{
char array[]="abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ";
int iLength=sizeof(array);
return isInclude(array,cCode,iLength);
}
////////////////判断是否是数字
bool isDigit(char cCode)
{
char array[]="0123456789";
int iLength=sizeof(array);
return isInclude(array,cCode,iLength);
}
bool isOperator(char cCode)//判断是否是运算符
{
char array[]="+-*/=<>!";
int iLength=sizeof(array);
return isInclude(array,cCode,iLength);
}
bool isSeparator(char cCode)//判断是否是间隔符
{
char array[]=",;{}()";
int iLength=sizeof(array);
return isInclude(array,cCode,iLength);
}
bool isInclude(char array[],char cCode,int iLength)//判断某数组中是否包含某字符
{
bool isInclude=false;
for(int i=0;i<iLength;i++)
{
if(cCode==array[i])
{
isInclude=true;
}
}
return isInclude;
}
void InitStr(char sStr[],int iLength)//初始化数组
{
int i=0;
while(sStr[i]!='\0' && i<iLength)
{
sStr[i]='\0';
i++;
}
}
void ConCat(char strToken[], char ch)//连接字符
{
int i=0;
while(strToken[i]!='\0')
{
i++;
}
strToken[i]=ch;
}
int Reserve(char strToken[])//查找保留字编码
{
int iValue=2;
int iLen_K=sizeof(arrKeyWord)/sizeof(arrKeyWord[0]);//取字符数组长度
int iLen_O=sizeof(arrOperator)/sizeof(arrOperator[0]);
int iLen_S=sizeof(arrSeparator)/sizeof(arrSeparator[0]);
if(isReserve(arrKeyWord,strToken,iLen_K)==1)
{
iValue=1;
};
if(isReserve(arrOperator,strToken,iLen_O)==1)
{
iValue=4;
};
if(isReserve(arrSeparator,strToken,iLen_S)==1)
{
iValue=5;
};
return iValue;
}
int isReserve(const char* array[],char strToken[],int iLength)//字符匹配
{
int j=0;
int iValue=0;
for(int i=0;i<iLength;i++,j=0)
{
while((array[i][j]!='\0') & (strToken[j]!='\0'))
{
if(array[i][j]!=strToken[j]) break;
j++;
};
if((array[i][j]=='\0') & (strToken[j]=='\0'))
{
iValue=1;
break;
}
}
return iValue;
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -