pike.git / src / language.yacc

version» Context lines:

pike.git/src/language.yacc:172:   %left F_LSH F_RSH   %left '+' '-'   %left '*' '%' '/'   %right F_NOT '~'   %nonassoc F_INC F_DEC      %{   /* This is the grammar definition of Pike. */      #include "global.h" - RCSID("$Id: language.yacc,v 1.111 2006/04/02 16:47:33 grubba Exp $"); + RCSID("$Id: language.yacc,v 1.112 2006/04/02 16:49:12 grubba Exp $");   #ifdef HAVE_MEMORY_H   #include <memory.h>   #endif      #include "interpret.h"   #include "array.h"   #include "object.h"   #include "stralloc.h"   #include "las.h"   #include "interpret.h"
pike.git/src/language.yacc:2061:   }      /* argument must be a shared string */   /* Note that this function eats a reference to 'type' */   void add_local_name(struct pike_string *str,    struct pike_string *type)   {    if (compiler_frame->current_number_of_locals == MAX_LOCAL)    {    yyerror("Too many local variables."); +  free_string(type);    }else {    reference_shared_string(str);    compiler_frame->variable[compiler_frame->current_number_of_locals].type = type;    compiler_frame->variable[compiler_frame->current_number_of_locals].name = str;    compiler_frame->current_number_of_locals++;    if(compiler_frame->current_number_of_locals >    compiler_frame->max_number_of_locals)    {    compiler_frame->max_number_of_locals=    compiler_frame->current_number_of_locals;