pike.git / src / lex.c

version» Context lines:

pike.git/src/lex.c:801:    if(save_sp[e].u.string==s2)    {    free_string(s2);    push_int(e);    break;    }    }    if(e==argc)    {    push_string(s2); -  if(sp[-2].type==T_STRING) f_add(); +  if(sp[-2].type==T_STRING) f_add(2);    }    if(c=='\n' || c==MY_EOF)    {    push_string(make_shared_string(" ")); -  if(sp[-2].type==T_STRING) f_add(); +  if(sp[-2].type==T_STRING) f_add(2);    break;    }    t=!!isidchar(c);    init_buf();    }    my_putchar(c);    }    UNGETC(c);    add_define(s,argc,sp-save_sp-argc,0);    while(sp>save_sp) pop_stack();
pike.git/src/lex.c:1501:    case ',':    case '~':    case '@':    case ')':    case '[':    case ']':    case '{':    case ';':    case '}': return c;    +  case '`': +  { +  char *tmp; +  switch(GETC()) +  { +  case '+': tmp="`+"; break; +  case '-': tmp="`-"; break; +  case '/': tmp="`/"; break; +  case '%': tmp="`%"; break; +  case '*': tmp="`*"; break; +  case '&': tmp="`&"; break; +  case '|': tmp="`|"; break; +  case '^': tmp="`^"; break; +  case '~': tmp="`~"; break; +  case '(': +  if(GOBBLE(')')) { tmp="`()"; break; } +     default: -  +  yyerror("Illegal ` identifier."); +  tmp=""; +  break; +  +  case '<': +  if(GOBBLE('<')) { tmp="`<<"; break; } +  if(GOBBLE('=')) { tmp="`<="; break; } +  tmp="`<"; +  break; +  +  case '>': +  if(GOBBLE('>')) { tmp="`>>"; break; } +  if(GOBBLE('=')) { tmp="`>="; break; } +  tmp="`>"; +  break; +  +  case '!': +  if(GOBBLE('=')) { tmp="`!="; break; } +  tmp="`!"; +  break; +  +  case '=': +  if(GOBBLE('=')) { tmp="`=="; break; } +  tmp="`="; +  break; +  } +  +  if(literal) +  { +  yylval->str=buf; +  }else{ +  yylval->string=make_shared_string(tmp); +  } +  return F_IDENTIFIER; +  } +  +  +  default:    if(isidchar(c))    {    struct lpc_string *s;    UNGETC(c);    READBUF(isidchar(C));       if(!literal)    {    /* identify identifier, if it is not a shared string,    * then it is neither a define, reserved word, local variable
pike.git/src/lex.c:1672:    error("Missing ']'\n");    else    low_lex();    }   }      static void calcB()   {    switch(lookahead)    { -  case '-': low_lex(); calcB(); f_negate(); break; -  case F_NOT: low_lex(); calcB(); f_not(); break; -  case '~': low_lex(); calcB(); f_compl(); break; +  case '-': low_lex(); calcB(); o_negate(); break; +  case F_NOT: low_lex(); calcB(); o_not(); break; +  case '~': low_lex(); calcB(); o_compl(); break;    default: calcC();    }   }      static void calcA()   {    calcB();    while(1)    {    switch(lookahead)    { -  case '/': low_lex(); calcB(); f_divide(); continue; -  case '*': low_lex(); calcB(); f_multiply(); continue; -  case '%': low_lex(); calcB(); f_mod(); continue; +  case '/': low_lex(); calcB(); o_divide(); continue; +  case '*': low_lex(); calcB(); o_multiply(); continue; +  case '%': low_lex(); calcB(); o_mod(); continue;    }    break;    }   }      static void calc9()   {    calcA();       while(1)    {    switch(lookahead)    { -  case '+': low_lex(); calcA(); f_add(); continue; -  case '-': low_lex(); calcA(); f_subtract(); continue; +  case '+': low_lex(); calcA(); f_add(2); continue; +  case '-': low_lex(); calcA(); o_subtract(); continue;    }    break;    }   }      static void calc8()   {    calc9();       while(1)    {    switch(lookahead)    { -  case F_LSH: low_lex(); calc9(); f_lsh(); continue; -  case F_RSH: low_lex(); calc9(); f_rsh(); continue; +  case F_LSH: low_lex(); calc9(); o_lsh(); continue; +  case F_RSH: low_lex(); calc9(); o_rsh(); continue;    }    break;    }   }      static void calc7b()   {    calc8();       while(1)    {    switch(lookahead)    { -  case '<': low_lex(); calc8(); f_lt(); continue; -  case '>': low_lex(); calc8(); f_gt(); continue; -  case F_GE: low_lex(); calc8(); f_ge(); continue; -  case F_LE: low_lex(); calc8(); f_le(); continue; +  case '<': low_lex(); calc8(); f_lt(2); continue; +  case '>': low_lex(); calc8(); f_gt(2); continue; +  case F_GE: low_lex(); calc8(); f_ge(2); continue; +  case F_LE: low_lex(); calc8(); f_le(2); continue;    }    break;    }   }      static void calc7()   {    calc7b();       while(1)    {    switch(lookahead)    { -  case F_EQ: low_lex(); calc7b(); f_eq(); continue; -  case F_NE: low_lex(); calc7b(); f_ne(); continue; +  case F_EQ: low_lex(); calc7b(); f_eq(2); continue; +  case F_NE: low_lex(); calc7b(); f_ne(2); continue;    }    break;    }   }      static void calc6()   {    calc7();       while(lookahead=='&')    {    low_lex();    calc7(); -  f_and(); +  o_and();    }   }      static void calc5()   {    calc6();       while(lookahead=='^')    {    low_lex();    calc6(); -  f_xor(); +  o_xor();    }   }      static void calc4()   {    calc5();       while(lookahead=='|')    {    low_lex();    calc5(); -  f_or(); +  o_or();    }   }      static void calc3()   {    calc4();       while(lookahead==F_LAND)    {    low_lex();