pike.git / src / lex.c

version» Context lines:

pike.git/src/lex.c:1:   /*\   ||| This file a part of Pike, and is copyright by Fredrik Hubinette   ||| Pike is distributed as GPL (General Public License)   ||| See the files COPYING and DISCLAIMER for more information.   \*/   #include "global.h" - RCSID("$Id: lex.c,v 1.34 1997/12/20 19:36:48 grubba Exp $"); + RCSID("$Id: lex.c,v 1.35 1998/03/03 11:24:33 hubbe Exp $");   #include "language.h"   #include "array.h"   #include "lex.h"   #include "stralloc.h"   #include "dynamic_buffer.h"   #include "constants.h"   #include "hashtable.h"   #include "stuff.h"   #include "pike_memory.h"   #include "interpret.h"
pike.git/src/lex.c:50:    struct pike_predef_s *next;   };      struct pike_predef_s *pike_predefs=0;      static int calc(void);   static void calc1(void);      void exit_lex(void)   { +  extern struct pike_string *last_identifier; +  free_string(last_identifier); +  last_identifier=0; +    #ifdef DEBUG    if(p_flag)    {    int e;    fprintf(stderr,"Opcode usage: (opcode, runned, compiled)\n");    for(e=0;e<F_MAX_OPCODE-F_OFFSET;e++)    {    fprintf(stderr,":: %-20s %8ld %8ld\n",    low_get_f_name(e+F_OFFSET,0),    (long)instrs[e].runs,
pike.git/src/lex.c:86:    free_string(local_variables->current_type);    if(local_variables->current_return_type)    free_string(local_variables->current_return_type);    l=local_variables->next;    free((char *)local_variables);    local_variables=l;    }       if(current_file) free_string(current_file);    free_reswords(); +  +  while(pike_predefs) +  { +  struct pike_predef_s *tmp; +  tmp=pike_predefs; +  pike_predefs=tmp->next; +  free(tmp->name); +  free(tmp->value); +  free(tmp);    } -  + }      struct keyword reserved_words[] =   {   { "array", F_ARRAY_ID, },   { "break", F_BREAK, },   { "case", F_CASE, },   { "catch", F_CATCH, },   { "class", F_CLASS, },   { "constant", F_CONSTANT, },   { "continue", F_CONTINUE, },
pike.git/src/lex.c:1841:    if(s && find_define(s))    UNGETSTR(" 1 ",3);    else    UNGETSTR(" 0 ",3);       continue;    }       if(!strcmp("efun",my_yylval.str) || !strcmp("constant",my_yylval.str))    { -  int res = 0; +  volatile int res = 0;    struct svalue *oldsp = sp;    struct svalue *sv;       SKIPWHITE();    if (!GOBBLE('(')) {    yyerror("Missing '(' in #if constant().\n");    return;    }    READBUF(isidchar(C));