pike.git / lib / modules / Parser.pmod / Pike.pmod

version» Context lines:

pike.git/lib/modules/Parser.pmod/Pike.pmod:1:   inherit "C.pmod";      array(string) split(string data)   {    int start;    int line=1;    array(string) ret=({});    int pos; -  data+="\0"; +  data += "\n\0"; /* End sentinel. */       while(1)    {    int start=pos;      // werror("::::%c\n",data[pos]);       switch(data[pos])    {    case '\0':
pike.git/lib/modules/Parser.pmod/Pike.pmod:22:    case '#':    {    pos+=1;    if(data[pos]=='\"')    break;    pos=search(data,"\n",pos);    if(pos==-1)    error("Failed to find end of preprocessor statement.\n");       while(data[pos-1]=='\\') pos=search(data,"\n",pos+1); +  sscanf(data[start..pos], +  "#%*[ \t]charset%*[ \t\\]%s%*[ \n]", string charset); +  if(charset) +  data = (data[0..pos]+ +  master()->decode_charset(data[pos+1..sizeof(data)-3], +  charset) +  +"\n\0"); // New end sentinel.    break;       case 'a'..'z':    case 'A'..'Z': -  +  case 128..: // Lets simplify things for now...    case '_':    while(1)    {    switch(data[pos])    {    case 'a'..'z':    case 'A'..'Z':    case '0'..'9': -  +  case 128..: // Lets simplify things for now...    case '_':    pos++;    continue;    }    break;    }    break;       case '.':    if(data[start..start+2]=="...")
pike.git/lib/modules/Parser.pmod/Pike.pmod:81:    while(data[pos]>='0' && data[pos]<='9') pos++;    if(data[pos]=='e' || data[pos]=='E')    {    pos++;    while(data[pos]>='0' && data[pos]<='9') pos++;    }    }    break;       default: -  werror("Unknown token %s\n",data[pos..pos+5]); +  werror("%O\n",ret); +  werror("Unknown token %O\n",data[pos..pos+20]);    exit(1);       case '`':    while(data[pos]=='`') data[pos]++;       case '/':    case '{': case '}':    case '[': case ']':    case '(': case ')':    case ';':