📄 findidentify.cpp
字号:
while(oper_pos!=string::npos&&(oper_pos==0||aLine.at(oper_pos-1)==' '||aLine.at(oper_pos-1)=='\t'
||aLine.at(oper_pos-1)==';'||aLine.at(oper_pos-1)==','||aLine.at(oper_pos)=='('||aLine.at(oper_pos)=='{'||isalnum(aLine.at(oper_pos-1))!=0))
{
if(aLine.at(oper_pos)=='=')
{
if((oper_pos+1<oper_temp)&&aLine.at(oper_pos+1)=='=')
{
oper_name[++q]="==";
oper_line[q]=lineNum;
}
else if(oper_pos>=1&&isalnum(aLine.at(oper_pos-1))!=0)
{
oper_name[++q]="=";
oper_line[q]=lineNum;
}
done=true;
break;
}
else if(aLine.at(oper_pos)=='!')
{
if((oper_pos+1<oper_temp)&&aLine.at(oper_pos+1)=='=')
{
oper_name[++q]="!=";
oper_line[q]=lineNum;
}
else{
oper_name[++q]="!";
oper_line[q]=lineNum;
}
done=true;
break;
}
else if(aLine.at(oper_pos)=='#')
{
if((oper_pos+1<oper_temp)&&aLine.at(oper_pos+1)=='#')
{
oper_name[++q]="##";
oper_line[q]=lineNum;
}
else{
oper_name[++q]="#";
oper_line[q]=lineNum;
done=false;
}
break;
}
else if(aLine.at(oper_pos)=='~')
{
oper_name[++q]="~";
oper_line[q]=lineNum;
done=true;
break;
}
else if(aLine.at(oper_pos)=='*')
{
if((oper_pos+1<oper_temp)&&aLine.at(oper_pos+1)=='=')
{
oper_name[++q]="*=";
oper_line[q]=lineNum;
}
else{
oper_name[++q]="*";
oper_line[q]=lineNum;
}
done=true;
break;
}
else if(aLine.at(oper_pos)=='/')
{
if((oper_pos+1<oper_temp)&&aLine.at(oper_pos+1)=='=')
{
oper_name[++q]="/=";
oper_line[q]=lineNum;
}
else{
oper_name[++q]="/";
oper_line[q]=lineNum;
}
done=true;
break;
}
else if(aLine.at(oper_pos)=='%')
{
if((oper_pos+1<oper_temp)&&aLine.at(oper_pos+1)=='=')
{
oper_name[++q]="%=";
oper_line[q]=lineNum;
}
else{
oper_name[++q]="%";
oper_line[q]=lineNum;
}
done=true;
break;
}
else if(aLine.at(oper_pos)=='^')
{
if((oper_pos+1<oper_temp)&&aLine.at(oper_pos+1)=='=')
{
oper_name[++q]="^=";
oper_line[q]=lineNum;
}
else{
oper_name[++q]="^";
oper_line[q]=lineNum;
}
done=true;
break;
}
else if(aLine.at(oper_pos)=='&')
{
if((oper_pos+1<oper_temp)&&aLine.at(oper_pos+1)=='=')
{
oper_name[++q]="&=";
oper_line[q]=lineNum;
}
else if((oper_pos+1<oper_temp)&&aLine.at(oper_pos+1)=='&')
{
oper_name[++q]="&&";
oper_line[q]=lineNum;
}
else{
oper_name[++q]="&";
oper_line[q]=lineNum;
}
done=true;
break;
}
else if(aLine.at(oper_pos)=='+')
{
if((oper_pos+1<oper_temp)&&aLine.at(oper_pos+1)=='=')
{
oper_name[++q]="+=";
oper_line[q]=lineNum;
}
else if((oper_pos+1<oper_temp)&&aLine.at(oper_pos+1)=='+')
{
oper_name[++q]="++";
oper_line[q]=lineNum;
}
else{
oper_name[++q]="+";
oper_line[q]=lineNum;
}
done=true;
break;
}
else if(aLine.at(oper_pos)=='-')
{
if((oper_pos+1<oper_temp)&&aLine.at(oper_pos+1)=='=')
{
oper_name[++q]="-=";
oper_line[q]=lineNum;
}
else if((oper_pos+1<oper_temp)&&aLine.at(oper_pos+1)=='-')
{
oper_name[++q]="--";
oper_line[q]=lineNum;
}
else{
oper_name[++q]="-";
oper_line[q]=lineNum;
}
done=true;
break;
}
else if(aLine.at(oper_pos)=='|')
{
if((oper_pos+1<oper_temp)&&aLine.at(oper_pos+1)=='=')
{
oper_name[++q]="|=";
oper_line[q]=lineNum;
}
else if((oper_pos+1<oper_temp)&&aLine.at(oper_pos+1)=='|')
{
oper_name[++q]="||";
oper_line[q]=lineNum;
}
else{
oper_name[++q]="|";
oper_line[q]=lineNum;
}
done=true;
break;
}
else if(aLine.at(oper_pos)=='?')
{
oper_name[++q]="?:";
oper_line[q]=lineNum;
done=true;
break;
}
else if(aLine.at(oper_pos)=='<')
{
if((oper_pos+1<oper_temp)&&aLine.at(oper_pos+1)=='=')
{
oper_name[++q]="<=";
oper_line[q]=lineNum;
}
else if((oper_pos+1<oper_temp)&&aLine.at(oper_pos+1)=='<')
{
if((oper_pos+2<oper_temp)&&aLine.at(oper_pos+2)=='=')
{
oper_name[++q]="<<=";
oper_line[q]=lineNum;
}
else
{
oper_name[++q]="<<";
oper_line[q]=lineNum;
}
}
else{
oper_name[++q]="<";
oper_line[q]=lineNum;
}
done=true;
break;
}
else if(aLine.at(oper_pos)=='>')
{
if((oper_pos+1<oper_temp)&&aLine.at(oper_pos+1)=='=')
{
oper_name[++q]=">=";
oper_line[q]=lineNum;
}
else if((oper_pos+1<oper_temp)&&aLine.at(oper_pos+1)=='>')
{
if((oper_pos+2<oper_temp)&&aLine.at(oper_pos+2)=='>')
{
oper_name[++q]=">>>";
oper_line[q]=lineNum;
}
else if((oper_pos+2<oper_temp)&&aLine.at(oper_pos+2)=='=')
{
oper_name[++q]=">>=";
oper_line[q]=lineNum;
}
else
{
oper_name[++q]=">>";
oper_line[q]=lineNum;
}
}
else{
oper_name[++q]=">";
oper_line[q]=lineNum;
}
done=true;
break;
}
}
}
done=true;
getline(readFile,aLine);
}
//输出identify not include function
cout << "Variables :"<<endl;
for( i=0;i<v1;i++)
if( variableNumber[i]>0 )
{
cout << endl<<variableNames[i][0]<<endl;
for( j=1;j<=variableNumber[i];j++)
{
cout << "Defined in line "<<varlineNum[i][j][0]<<": ";
cout << variableNames[i][j]<<endl;
if(appearNumber[i][j]>=1)
cout<<"Changed in line: ";
for(p=1;p<=appearNumber[i][j];p++)
{
cout<<"#"<<varlineNum[i][j][p]<<" ";
if(p==appearNumber[i][j])
cout<<endl;
}
}
}
//输出identify of function
cout << endl <<endl <<"Functions :"<<endl;
for( i=0;i<f1;i++)
if(functionNumber[i]>0)
{
cout << endl <<functionNames[i][0]<<endl;
for(j=1;j<=functionNumber[i];j++)
{
cout << "line "<< funlineNum[i][j]<<" :";
cout << functionNames[i][j]<<endl;
}
}
//输出运算符
cout<<endl;
for(i=0;i<=q;i++)
{
cout<<"Line "<<oper_line[i]<<" define operater: \""<<oper_name[i]<<"\";"<<endl;
}
cout<<endl;
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -