void GetTokenFromIndexValueFromBooleanEOL (ParseVarsType *pParseVars,ParamType param) { int value; param; /* to eliminate not used warning */ #if DEBUGOUTPUT DbgMsg("GetTokenFromIndexValueFromBooleanEOLin=%hs\n", pParseVars->pInPJL_Local); #endif StoreToken(pParseVars, pParseVars->pCurrentList->tokenBaseValue+pParseVars->dwFoundIndex); pParseVars->pCurrentKeywords = FALSEandTRUEKeywords; if ( (value=LookForKeyword(pParseVars))==-1 ) { /* Not TRUE or FALSE */ pParseVars->status = STATUS_SYNTAX_ERROR; return; } if ( !StoreTokenValueAndAdvancePointer(pParseVars, value) ) { return; } if ( !ExpectString(pParseVars, param.lpstr) ) { return; } #if DEBUGOUTPUT DbgMsg("GetTokenFromIndexValueFromBooleanEOLout=%hs\n", pParseVars->pInPJL_Local); #endif return; }
void GetTokenFromIndexSetNewList(ParseVarsType *pParseVars, ParamType param) { StoreToken(pParseVars, pParseVars->pCurrentList->tokenBaseValue+pParseVars->dwFoundIndex); SetNewList(pParseVars, param); return; }
void GetCodeAndOnlineFF(ParseVarsType *pParseVars, ParamType param) { int value; param; /* to eliminate not used warning */ if ( !ExpectString(pParseVars,"CODE=") ) { return; } StoreToken(pParseVars, TOKEN_INFO_STATUS_CODE); if ( (value=GetPositiveInteger(pParseVars))==-1 ) { /* Not a valid number - status set by GetPositiveInteger() */ return; } if ( !StoreTokenValueAndAdvancePointer(pParseVars, value) ) { return; } if ( !ExpectString(pParseVars, "\r\nDISPLAY=") ) { return; } if ( !SkipPastNextCRLF(pParseVars) ) { return; } if ( !ExpectString(pParseVars, "ONLINE=") ) { return; } StoreToken(pParseVars, TOKEN_INFO_STATUS_ONLINE); pParseVars->pCurrentKeywords = FALSEandTRUEKeywords; if ( (value=LookForKeyword(pParseVars))==-1 ) { /* Not TRUE or FALSE */ pParseVars->status = STATUS_SYNTAX_ERROR; return; } if ( !StoreTokenValueAndAdvancePointer(pParseVars, value) ) { return; } ExpectFinalCRLFFF(pParseVars); return; }
void GetTotalAndLargestFF(ParseVarsType *pParseVars, ParamType param) { int value; param; /* to eliminate not used warning */ if ( !ExpectString(pParseVars, "TOTAL=") ) { return; } StoreToken(pParseVars, TOKEN_INFO_MEMORY_TOTAL); if ( (value=GetPositiveInteger(pParseVars))==-1 ) { /* Not a valid number - status set by GetPositiveInteger() */ return; } if ( !StoreTokenValueAndAdvancePointer(pParseVars, value) ) { return; } if ( !ExpectString(pParseVars, "\r\nLARGEST=") ) { return; } StoreToken(pParseVars, TOKEN_INFO_MEMORY_LARGEST); if ( (value=GetPositiveInteger(pParseVars))==-1 ) { /* Not a valid number - status set by GetPositiveInteger() */ return; } if ( !StoreTokenValueAndAdvancePointer(pParseVars, value) ) { return; } ExpectFinalCRLFFF(pParseVars); return; }
void TokenFromParamValueFromNumberFF( ParseVarsType *pParseVars,ParamType param) { int value; StoreToken(pParseVars, param.token); if ( (value=GetPositiveInteger(pParseVars))==-1 ) { /* Not a valid number - status set by GetPositiveInteger() */ return; } if ( !StoreTokenValueAndAdvancePointer(pParseVars, value) ) { return; } ExpectFinalCRLFFF(pParseVars); return; }
void GetTokenFromIndexValueFromStringEOL (ParseVarsType *pParseVars,ParamType param) { param; /* to eliminate not used warning */ #if DEBUGOUTPUT DbgMsg("GetTokenFromIndexValueFromStringEOLin=%hs\n", pParseVars->pInPJL_Local); #endif StoreToken(pParseVars, pParseVars->pCurrentList->tokenBaseValue+pParseVars->dwFoundIndex); if ( !StoreTokenValueAndAdvancePointer(pParseVars, (int)pParseVars->pInPJL_Local)) { return; } SkipPastNextCRLF(pParseVars); #if DEBUGOUTPUT DbgMsg("GetTokenFromIndexValueFromStringEOLout=%hs\n", pParseVars->pInPJL_Local); #endif return; }
void GetTokenFromIndexValueFromNumberEOLFromParam (ParseVarsType *pParseVars,ParamType param) { int value; param; /* to eliminate not used warning */ #if DEBUGOUTPUT DbgMsg("GetTokenFromIndexValueFromNumberIn=%hs\n", pParseVars->pInPJL_Local); #endif StoreToken(pParseVars, pParseVars->pCurrentList->tokenBaseValue+pParseVars->dwFoundIndex); if ( (value=GetPositiveInteger(pParseVars))==-1 ) { /* Not a valid number - status set by GetPositiveInteger() */ #if DEBUGOUTPUT DbgMsg("error getting number\n"); #endif return; } if ( !StoreTokenValueAndAdvancePointer(pParseVars, value) ) { #if DEBUGOUTPUT DbgMsg("error storing value\n"); #endif return; } if ( !ExpectString(pParseVars, param.lpstr) ) { return; } #if DEBUGOUTPUT DbgMsg("GetTokenFromIndexValueFromNumberOut=%hs\n", pParseVars->pInPJL_Local); #endif return; }
MagickExport int Tokenizer(TokenInfo *token_info,const unsigned flag, char *token,const size_t max_token_length,const char *line,const char *white, const char *break_set,const char *quote,const char escape,char *breaker, int *next,char *quoted) { int c; register long i; *breaker='\0'; *quoted='\0'; if (line[*next] == '\0') return(1); token_info->state=IN_WHITE; token_info->quote=(char) MagickFalse; token_info->flag=flag; for (token_info->offset=0; (int) line[*next] != 0; (*next)++) { c=(int) line[*next]; i=sindex(c,break_set); if (i >= 0) { switch (token_info->state) { case IN_WHITE: case IN_TOKEN: case IN_OZONE: { (*next)++; *breaker=break_set[i]; token[token_info->offset]='\0'; return(0); } case IN_QUOTE: { StoreToken(token_info,token,max_token_length,c); break; } } continue; } i=sindex(c,quote); if (i >= 0) { switch (token_info->state) { case IN_WHITE: { token_info->state=IN_QUOTE; token_info->quote=quote[i]; *quoted=(char) MagickTrue; break; } case IN_QUOTE: { if (quote[i] != token_info->quote) StoreToken(token_info,token,max_token_length,c); else { token_info->state=IN_OZONE; token_info->quote='\0'; } break; } case IN_TOKEN: case IN_OZONE: { *breaker=(char) c; token[token_info->offset]='\0'; return(0); } } continue; } i=sindex(c,white); if (i >= 0) { switch (token_info->state) { case IN_WHITE: case IN_OZONE: break; case IN_TOKEN: { token_info->state=IN_OZONE; break; } case IN_QUOTE: { StoreToken(token_info,token,max_token_length,c); break; } } continue; } if (c == (int) escape) { if (line[(*next)+1] == '\0') { *breaker='\0'; StoreToken(token_info,token,max_token_length,c); (*next)++; token[token_info->offset]='\0'; return(0); } switch (token_info->state) { case IN_WHITE: { (*next)--; token_info->state=IN_TOKEN; break; } case IN_TOKEN: case IN_QUOTE: { (*next)++; c=(int) line[*next]; StoreToken(token_info,token,max_token_length,c); break; } case IN_OZONE: { token[token_info->offset]='\0'; return(0); } } continue; } switch (token_info->state) { case IN_WHITE: token_info->state=IN_TOKEN; case IN_TOKEN: case IN_QUOTE: { StoreToken(token_info,token,max_token_length,c); break; } case IN_OZONE: { token[token_info->offset]='\0'; return(0); } } } token[token_info->offset]='\0'; return(0); }
void Pass1(int argc, char *argv[]) { register int n; InitText(argc); InitTokenArray(); /* assume all texts to be new */ NumberOfNewTexts = NumberOfTexts; /* read the files */ for (n = 0; n < NumberOfTexts; n++) { register char *fname = argv[n]; register struct text *txt = &Text[n]; fprintf(OutputFile, "File %s: ", fname); txt->tx_fname = fname; txt->tx_pos = 0; txt->tx_start = txt->tx_limit = TextLength(); if (strcmp(fname, "/") == 0) { fprintf(OutputFile, "separator\n"); NumberOfNewTexts = n; } else { if (!OpenText(First, txt)) { fprintf(OutputFile, ">>>> cannot open <<<< "); /* the file has still been opened with a null file for uniformity */ } while (NextTextTokenObtained(First)) { if (!TOKEN_EQ(lex_token, EOL)) { StoreToken(); } } CloseText(First, txt); txt->tx_limit = TextLength(); /* report */ print_count(txt->tx_limit - txt->tx_start, "token"); if (lex_non_ascii_cnt) { fprintf(DebugFile, ", "); print_count(lex_non_ascii_cnt, "non-ASCII character" ); } fprintf(OutputFile, "\n"); #ifdef DB_TEXT db_print_text(txt); #endif /* DB_TEXT */ } fflush(OutputFile); } /* report total */ fprintf(OutputFile, "Total: "); print_count(TextLength() - 1, "token"); fprintf(OutputFile, "\n\n"); fflush(OutputFile); }