pike.git / src / language.yacc

version» Context lines:

pike.git/src/language.yacc:106:   %left TOK_LSH TOK_RSH   %left '+' '-'   %left '*' '%' '/'   %right TOK_NOT '~'   %nonassoc TOK_INC TOK_DEC      %{   /* This is the grammar definition of Pike. */      #include "global.h" - RCSID("$Id: language.yacc,v 1.294 2002/09/21 14:20:35 mast Exp $"); + RCSID("$Id: language.yacc,v 1.295 2002/09/21 14:20:53 mast 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:3143:    /* Allowing local:: on variables would lead to pathological    * behavior: If a non-local variable in a class is referenced    * both with and without local::, both references would    * address the same variable in all cases except where an    * inheriting program overrides it (c.f. [bug 1252]).    *    * Furthermore, that's not how it works currently; if this    * error is removed then local:: will do nothing on variables    * except forcing a lookup in the closest surrounding class    * scope. */ -  yyerror ("Cannot make local references variables."); +  yyerror ("Cannot make local references to variables.");    $$ = 0;    }    else {    if (!(ref->id_flags & ID_HIDDEN)) {    /* We need to generate a new reference. */    int d;    struct reference funp = *ref;    funp.id_flags = (funp.id_flags & ~ID_INHERITED) | ID_INLINE|ID_HIDDEN;    i = -1;    for(d = 0; d < (int)Pike_compiler->new_program->num_identifier_references; d++) {