pike.git / src / docode.c

version» Context lines:

pike.git/src/docode.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: docode.c,v 1.5 1996/12/01 13:03:54 hubbe Exp $"); + RCSID("$Id: docode.c,v 1.6 1996/12/04 00:27:10 hubbe Exp $");   #include "las.h"   #include "program.h"   #include "language.h"   #include "pike_types.h"   #include "stralloc.h"   #include "interpret.h"   #include "constants.h"   #include "array.h"   #include "macros.h"   #include "error.h"
pike.git/src/docode.c:412:    emit2(CAR(n)->token);       emit2(n->token);    return n->token==F_ASSIGN;    }       default:    switch(CDR(n)->token)    {    case F_LOCAL: +  if(CDR(n)->u.number >= local_variables->max_number_of_locals) +  yyerror("Illegal to use local variable here."); +     if(do_docode(CAR(n),0)!=1) yyerror("RHS is void!");    emit(flags & DO_POP ? F_ASSIGN_LOCAL_AND_POP:F_ASSIGN_LOCAL,    CDR(n)->u.number );    break;       case F_IDENTIFIER:    if(!IDENTIFIER_IS_VARIABLE( ID_FROM_INT(& fake_program, CDR(n)->u.number)->flags))    {    yyerror("Cannot assign functions or constants.\n");    }else{
pike.git/src/docode.c:978:    emit(F_CONSTANT,tmp1);       /* copy now or later ? */    if(!(flags & DO_NOT_COPY) && !(n->tree_info & OPT_EXTERNAL_DEPEND))    emit2(F_COPY_VALUE);    return 1;       }       case F_LOCAL: +  if(n->u.number >= local_variables->max_number_of_locals) +  yyerror("Illegal to use local variable here.");    if(flags & DO_LVALUE)    {    emit(F_LOCAL_LVALUE,n->u.number);    return 2;    }else{    emit(F_LOCAL,n->u.number);    return 1;    }       case F_IDENTIFIER: