pike.git / src / language.yacc

version» Context lines:

pike.git/src/language.yacc:174:   %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.112 1999/03/04 06:04:59 hubbe Exp $"); + RCSID("$Id: language.yacc,v 1.113 1999/03/05 02:14:57 hubbe 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:1715:    {    $$=mkintnode(0);    }    | F_IDENTIFIER F_COLON_COLON F_IDENTIFIER    {    if(last_identifier) free_string(last_identifier);    copy_shared_string(last_identifier, $3->u.sval.u.string);       $$=reference_inherited_identifier($1->u.sval.u.string,    $3->u.sval.u.string); +     if (!$$)    {    my_yyerror("Undefined identifier %s::%s",    $1->u.sval.u.string->str,    $3->u.sval.u.string->str);    $$=mkintnode(0);    }       free_node($1);    free_node($3);
pike.git/src/language.yacc:1753:    $$=mknode(F_ARG_LIST,$$,mkidentifiernode(i));    }else{    $$=mkidentifiernode(i);    }    }    if(!$$)    {    if(ISCONSTSTR($2->u.sval.u.string,"`->") ||    ISCONSTSTR($2->u.sval.u.string,"`[]") )    { -  $$=mkapplynode(mkprgnode(magic_index_program),mkintnode(0)); +  $$=mkapplynode(mkprgnode(magic_index_program), +  mknode(F_ARG_LIST,mkintnode(0),mkintnode(0)));    }    else if(ISCONSTSTR($2->u.sval.u.string,"`->=") ||    ISCONSTSTR($2->u.sval.u.string,"`[]=") )    { -  $$=mkapplynode(mkprgnode(magic_set_index_program),mkintnode(0)); +  $$=mkapplynode(mkprgnode(magic_set_index_program), +  mknode(F_ARG_LIST,mkintnode(0),mkintnode(0)));    }    else    {    $$=mkintnode(0);    }    }else{    if($$->token==F_ARG_LIST) $$=mkefuncallnode("aggregate",$$);    }    free_node($2);    }