📄 lexical.cpp
字号:
}
if(strcmp(token,"intToString")==0)
{
safe_free(token);
return(1);
}
if(strcmp(token,"stringToInt")==0)
{
safe_free(token);
return(1);
}
if(strcmp(token,"floatToString")==0)
{
safe_free(token);
return(1);
}
if(strcmp(token,"floor")==0)
{
safe_free(token);
return(1);
}
if(strcmp(token,"ceiling")==0)
{
safe_free(token);
return(1);
}
if(strcmp(token,"compare")==0)
{
safe_free(token);
return(1);
}
if(strcmp(token,"copy")==0)
{
safe_free(token);
return(1);
}
if(strcmp(token,"concat")==0)
{
safe_free(token);
return(1);
}
if(strcmp(token,"beep")==0)
{
safe_free(token);
return(1);
}
if(strcmp(token,"getResponseValue")==0)
{
safe_free(token);
return(1);
}
if(strcmp(token,"calcCRC")==0)
{
safe_free(token);
return(1);
}
if(strcmp(token,"getNodeInfo")==0)
{
safe_free(token);
return(1);
}
if(strcmp(token,"getNodeObjects")==0)
{
safe_free(token);
return(1);
}
if(strcmp(token,"getInstance")==0)
{
safe_free(token);
return(1);
}
if(strcmp(token,"getNextInstance")==0)
{
safe_free(token);
return(1);
}
if(strcmp(token,"getNodeName")==0)
{
safe_free(token);
return(1);
}
if(strcmp(token,"getNodeSyntax")==0)
{
safe_free(token);
return(1);
}
if(strcmp(token,"getNodeAccess")==0)
{
safe_free(token);
return(1);
}
if(strcmp(token,"getNodeStatus")==0)
{
safe_free(token);
return(1);
}
if(strcmp(token,"getNodeDescription")==0)
{
safe_free(token);
return(1);
}
if(strcmp(token,"getNodeOID")==0)
{
safe_free(token);
return(1);
}
if(strcmp(token,"getNodeValue")==0)
{
safe_free(token);
return(1);
}
if(strcmp(token,"getNodeMin")==0)
{
safe_free(token);
return(1);
}
if(strcmp(token,"getNodeMax")==0)
{
safe_free(token);
return(1);
}
if(strcmp(token,"getNodeTimestamp")==0)
{
safe_free(token);
return(1);
}
if(strcmp(token,"setNodeAsn1Syntax")==0)
{
safe_free(token);
return(1);
}
if(strcmp(token,"clearErrorState")==0)
{
safe_free(token);
return(1);
}
if(strncmp(token,"setF",4)==0)
{
if(strcmp(token,"setField_pdu")==0)
{
safe_free(token);
return(1);
}
if(strcmp(token,"setField_classtype")==0)
{
safe_free(token);
return(1);
}
if(strcmp(token,"setField_community")==0)
{
safe_free(token);
return(1);
}
if(strcmp(token,"setField_AddressDrop")==0)
{
safe_free(token);
return(1);
}
if(strcmp(token,"setField_GroupAddress")==0)
{
safe_free(token);
return(1);
}
if(strcmp(token,"setField_SizeOfTheArray")==0)
{
safe_free(token);
return(1);
}
if(strcmp(token,"setField_arraylist")==0)
{
safe_free(token);
return(1);
}
if(strcmp(token,"setField_valuelist")==0)
{
safe_free(token);
return(1);
}
if(strcmp(token,"setField_asn1syntax")==0)
{
safe_free(token);
return(1);
}
fseek(fp,fpos,SEEK_SET);
safe_free(token);
return(0);
}
if(strncmp(token,"getF",4)==0)
{
if(strcmp(token,"getField_pdu")==0)
{
safe_free(token);
return(1);
}
if(strcmp(token,"getField_classtype")==0)
{
safe_free(token);
return(1);
}
if(strcmp(token,"getField_community")==0)
{
safe_free(token);
return(1);
}
if(strcmp(token,"getField_AddressDrop")==0)
{
safe_free(token);
return(1);
}
if(strcmp(token,"getField_GroupAddress")==0)
{
safe_free(token);
return(1);
}
if(strcmp(token,"getField_SizeOfTheArray")==0)
{
safe_free(token);
return(1);
}
if(strcmp(token,"getField_arraylist")==0)
{
safe_free(token);
return(1);
}
if(strcmp(token,"getField_valuelist")==0)
{
safe_free(token);
return(1);
}
if(strcmp(token,"getField_asn1syntax")==0)
{
safe_free(token);
return(1);
}
fseek(fp,fpos,SEEK_SET);
safe_free(token);
return(0);
}
if(strncmp(token,"send",4)==0)
{
if(strcmp(token,"sendGet")==0)
{
safe_free(token);
return(1);
}
if(strcmp(token,"sendGetNext")==0)
{
safe_free(token);
return(1);
}
if(strcmp(token,"sendSetDec")==0)
{
safe_free(token);
return(1);
}
if(strcmp(token,"sendSetNoDec")==0)
{
safe_free(token);
return(1);
}
if(strcmp(token,"sendSetAsc")==0)
{
safe_free(token);
return(1);
}
if(strcmp(token,"sendSetNoAsc")==0)
{
safe_free(token);
return(1);
}
fseek(fp,fpos,SEEK_SET);
safe_free(token);
return(0);
}
if(strncmp(token,"check",5)==0)
{
if(strcmp(token,"checkProtocolMismatch")==0)
{
safe_free(token);
return(1);
}
if(strcmp(token,"checkInvalidResponse")==0)
{
safe_free(token);
return(1);
}
if(strcmp(token,"checkNoResponse")==0)
{
safe_free(token);
return(1);
}
if(strcmp(token,"checkEncodingStyle")==0)
{
safe_free(token);
return(1);
}
if(strcmp(token,"checkNoInstance")==0)
{
safe_free(token);
return(1);
}
if(strcmp(token,"checkObjectMismatch")==0)
{
safe_free(token);
return(1);
}
if(strcmp(token,"checkInvalidSequence")==0)
{
safe_free(token);
return(1);
}
if(strcmp(token,"checkInvalidLength")==0)
{
safe_free(token);
return(1);
}
if(strcmp(token,"checkScrambled")==0)
{
safe_free(token);
return(1);
}
if(strcmp(token,"checkInvalidAddress")==0)
{
safe_free(token);
return(1);
}
if(strcmp(token,"checkInvalidControl")==0)
{
safe_free(token);
return(1);
}
if(strcmp(token,"checkInvalidCRC")==0)
{
safe_free(token);
return(1);
}
if(strcmp(token,"checkInvalidIPI")==0)
{
safe_free(token);
return(1);
}
fseek(fp,fpos,SEEK_SET);
safe_free(token);
return(0);
}
//Not an fname...
fseek(fp,fpos,SEEK_SET);
safe_free(token);
return(0);
}
int parse_logicexpr(FILE *fp)
{
if(parse_bool2(fp))
{
if(parse_bool1(fp))
{
return(1);
}
else
return(0);
}
else
return(0);
}
int parse_bool1(FILE *fp)
{
char *token;
long fpos;
fpos = ftell(fp);
token = (char *)safe_alloc(TOKEN_SIZE,sizeof(char));
token = get_next_token(fp,token);
if(strcmp(token,"||")==0)
{
if(parse_bool2(fp))
{
if(parse_bool1(fp))
{
//Valid bool1
//production bool1:: || bool2 bool1
safe_free(token);
return(1);
}
else
{
//pushback - invalid bool1
fseek(fp,fpos,SEEK_SET);
safe_free(token);
return(0);
}
}
else
{
//pushback - invalid bool1
fseek(fp,fpos,SEEK_SET);
safe_free(token);
return(0);
}
}
else
{
//pushback input
//Valid bool1
//production bool1::e
fseek(fp,fpos,SEEK_SET);
safe_free(token);
return(1);
}
}
int parse_bool2(FILE *fp)
{
if(parse_bool4(fp))
{
if(parse_bool3(fp))
{
return(1);
}
else
return(0);
}
else
return(0);
}
int parse_bool3(FILE *fp)
{
char *token;
long fpos;
fpos = ftell(fp);
token = (char *)safe_alloc(TOKEN_SIZE,sizeof(char));
token = get_next_token(fp,token);
if(strcmp(token,"&&")==0)
{
if(parse_bool4(fp))
{
if(parse_bool3(fp))
{
//Valid bool3
//production bool3:: && bool4 bool3
safe_free(token);
return(1);
}
else
{
//pushback - invalid bool3
fseek(fp,fpos,SEEK_SET);
safe_free(token);
return(0);
}
}
else
{
//pushback - invalid bool3
fseek(fp,fpos,SEEK_SET);
safe_free(token);
return(0);
}
}
else
{
//pushback input
//Valid bool3
//production bool3::e
fseek(fp,fpos,SEEK_SET);
safe_free(token);
return(1);
}
}
int parse_bool4(FILE *fp)
{
char *token;
long fpos;
fpos = ftell(fp);
if(parse_expr(fp))
{
//look for relational operator (< <= >= > == !=)
token = (char *)safe_alloc(TOKEN_SIZE,sizeof(char));
token = get_next_token(fp,token);
if(strcmp(token,"<")==0)
{
if(parse_expr(fp))
{
//Valid bool4
//production bool4::expr < expr
safe_free(token);
return(1);
}
else
{
//invalid missing expr after operator
fseek(fp,fpos,SEEK_SET);
safe_free(token);
return(0);
}
}
if(strcmp(token,"<=")==0)
{
if(parse_expr(fp))
{
//Valid bool4
//production bool4::expr <= expr
safe_free(token);
return(1);
}
else
{
//invalid missing expr after operator
fseek(fp,fpos,SEEK_SET);
safe_free(token);
return(0);
}
}
if(strcmp(token,">=")==0)
{
if(parse_expr(fp))
{
//Valid bool4
//production bool4::expr >= expr
safe_free(token);
return(1);
}
else
{
//invalid missing expr after operator
fseek(fp,fpos,SEEK_SET);
safe_free(token);
return(0);
}
}
if(strcmp(token,">")==0)
{
if(parse_expr(fp))
{
//Valid bool4
//production bool4::expr > expr
safe_free(token);
return(1);
}
else
{
//invalid missing expr after operator
fseek(fp,fpos,SEEK_SET);
safe_free(token);
return(0);
}
}
if(strcmp(token,"==")==0)
{
if(parse_expr(fp))
{
//Valid bool4
//production bool4::expr == expr
safe_free(token);
return(1);
}
else
{
//invalid missing expr after operator
fseek(fp,fpos,SEEK_SET);
safe_free(token);
return(0);
}
}
if(strcmp(token,"!=")==0)
{
if(parse_expr(fp))
{
//Valid bool4
//production bool4::expr != expr
safe_free(token);
return(1);
}
else
{
//invalid missing expr after operator
fseek(fp,fpos,SEEK_SET);
safe_free(token);
return(0);
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -