pike.git / src / modules / Parser / pike_tokenizer.h

version» Context lines:

pike.git/src/modules/Parser/pike_tokenizer.h:58:    if(data[pos]=='-' || data[pos]=='+') pos++;    while(data[pos]>='0' && data[pos]<='9') pos++;    }    }    if(data[pos]=='e' || data[pos]=='E')    {    pos++;    if(data[pos]=='-' || data[pos]=='+') pos++;    while(data[pos]>='0' && data[pos]<='9') pos++;    } +  if(data[pos]=='b') +  { +  pos++; +  if(data[pos]=='i') +  pos++; +  if(data[pos]=='t') +  pos++; +  }    if( pos != len )    pos--;    break;       case '`':    if(data[pos+1]=='`') pos++; -  +  if(m_isidchar(data[pos+1])) +  { +  do { +  pos++; +  } while(m_isidchar2(data[pos+1])); +  if(data[pos+1] == '=') +  pos++; +  break; +  // NOTE: Depends on string having null at end. +  }    switch(data[pos+1]) {    case '<':    case '>':    pos++;    if(data[pos+1]==data[pos]) pos++;    break;    case '-':    pos++;    if(data[pos+1]=='>') pos++;    break;
pike.git/src/modules/Parser/pike_tokenizer.h:87:    break;    case '[':    pos++;    if(data[pos+1]=='.') pos++;    if(data[pos+1]=='.') pos++;    if(data[pos+1]==']') pos++;    break;    case '/': case '%': case '*': case '&': case '|':    case '^': case '+': case '!': case '=': case '~':    pos++; +  if(data[pos+1] == '*') +  pos++;    break;    }    if(data[pos+1]=='=') pos++;    break;          case '\\': continue; /* IGNORED */       case '/':    if( pos == len-1 )
pike.git/src/modules/Parser/pike_tokenizer.h:151:    break;       case '>':    if( data[pos+1] == '>' ) pos++;    if( data[pos+1] == '=' ) pos++;    break;       case '+': case '&': case '|':    if( data[pos+1] == data[pos] ) pos++;    else if( data[pos+1] == '=' ) pos++; +  /* FALLTHRU */    -  +     case '*': case '%':    case '^': case '!': case '~': case '=':    if( data[pos+1] == '=' )    pos++;    break;    -  case ' ': -  case '\n': -  case '\r': -  case '\t': -  case '\14': +  SPACECASE    pos++;    while( pos < len )    {    switch(data[pos])    { -  case ' ': -  case '\n': -  case '\r': -  case '\t': -  case '\14': +  SPACECASE    pos++;    continue;    }    break;    }    if( pos != len ) pos--;    break;       case '\'':    pos++;
pike.git/src/modules/Parser/pike_tokenizer.h:223:    if (data[pos] == '\"') {    /* Support for #"" */    for (pos++; pos < len; pos++) {    if (data[pos] == '\"') break;    if (data[pos] == '\\') pos++;    }    if (pos >= len)    goto failed_to_find_end;    break;    } +  { +  char end = 0; +  switch( data[pos] ) +  { +  case '(': end=')'; break; +  case '[': end=']'; break; +  case '{': end='}'; break; +  } +  if(end) +  { +  for (pos++; pos<len-1; pos++) +  if (data[pos] == '#' && data[pos+1] == end) +  { +  pos++; +  end=0; +  break; +  } +  if (end) +  goto failed_to_find_end; +  break; +  } +  }    if( data[pos] == 's' &&    data[pos+1] == 't' &&    data[pos+2] == 'r' &&    data[pos+3] == 'i' &&    data[pos+4] == 'n' &&    data[pos+5] == 'g' ) {    pos += 6;    SKIPWHT();    if(data[pos]=='\"') {    for (pos++; pos < len; pos++) {