diff --git a/src/docode.c b/src/docode.c index ed41649493a3f49d03b471ab552eebd39a5e2252..ffa3b103cea614d6462e3e52630027cdac0e80aa 100644 --- a/src/docode.c +++ b/src/docode.c @@ -4,7 +4,7 @@ ||| See the files COPYING and DISCLAIMER for more information. \*/ #include "global.h" -RCSID("$Id: docode.c,v 1.34 1998/03/31 21:52:16 hubbe Exp $"); +RCSID("$Id: docode.c,v 1.35 1998/04/06 03:51:54 hubbe Exp $"); #include "las.h" #include "program.h" #include "language.h" @@ -994,41 +994,6 @@ static int do_docode2(node *n,int flags) emit(F_ARROW_STRING, store_prog_string(CDR(n)->u.sval.u.string)); return 2; }else{ - struct program *p; - if(CAR(n) && - CDR(n) && - EXTRACT_UCHAR(CAR(n)->type->str)==T_OBJECT && - (tmp2=EXTRACT_INT(CAR(n)->type->str+1)) && - (p=id_to_program(tmp2)) && - (FIND_LFUN(p,LFUN_ARROW)==-1) && - CDR(n)->token == F_CONSTANT && - CDR(n)->u.sval.type==T_STRING) - { - tmp3=find_shared_string_identifier(CDR(n)->u.sval.u.string,p); - if(tmp3==-1) - { - yywarning("Accessing a non-existant identifier"); - DO_CODE_BLOCK(CAR(n)); - emit(F_NUMBER,0); - return 1; - }else{ - struct identifier *i=ID_FROM_INT(p,tmp3); - if(IDENTIFIER_IS_FUNCTION(i->identifier_flags)) - { - tmp1=do_docode(CAR(n), DO_NOT_COPY); - emit(F_STRICT_ARROW, tmp3); - emit(F_DATA, tmp2); - return tmp1; - } - if(IDENTIFIER_IS_VARIABLE(i->identifier_flags)) - { - tmp1=do_docode(CAR(n), DO_NOT_COPY); - emit(F_STRICT_ARROW_VARIABLE, tmp3); - emit(F_DATA, tmp2); - return tmp1; - } - } - } tmp1=do_docode(CAR(n), DO_NOT_COPY); emit(F_ARROW, store_prog_string(CDR(n)->u.sval.u.string)); if(!(flags & DO_NOT_COPY)) diff --git a/src/language.yacc b/src/language.yacc index 3f1af533abb24f1aad845612382eef5e9ec08d34..6bf4228ba543c8ed2d200b5c9222491705b0734a 100644 --- a/src/language.yacc +++ b/src/language.yacc @@ -27,8 +27,7 @@ %token F_INDEX F_ARROW F_INDIRECT F_STRING_INDEX F_LOCAL_INDEX %token F_LOCAL_LOCAL_INDEX -%token F_POS_INT_INDEX F_NEG_INT_INDEX F_STRICT_ARROW -%token F_STRICT_ARROW_VARIABLE +%token F_POS_INT_INDEX F_NEG_INT_INDEX %token F_LTOSVAL F_LTOSVAL2 %token F_PUSH_ARRAY %token F_RANGE F_COPY_VALUE @@ -170,7 +169,7 @@ /* This is the grammar definition of Pike. */ #include "global.h" -RCSID("$Id: language.yacc,v 1.68 1998/04/01 00:47:47 hubbe Exp $"); +RCSID("$Id: language.yacc,v 1.69 1998/04/06 04:06:41 hubbe Exp $"); #ifdef HAVE_MEMORY_H #include <memory.h> #endif diff --git a/src/lex.c b/src/lex.c index d9ebea83278fd0cefb1cda92f9901160abea3ff8..fa91aeb1e86bb74f7d5cc1d9c02abdb4d8211480 100644 --- a/src/lex.c +++ b/src/lex.c @@ -4,7 +4,7 @@ ||| See the files COPYING and DISCLAIMER for more information. \*/ #include "global.h" -RCSID("$Id: lex.c,v 1.47 1998/04/01 00:47:48 hubbe Exp $"); +RCSID("$Id: lex.c,v 1.48 1998/04/06 04:09:05 hubbe Exp $"); #include "language.h" #include "array.h" #include "lex.h" @@ -130,8 +130,6 @@ struct keyword instr_names[]= { "global", F_GLOBAL, I_HASARG }, { "index", F_INDEX }, { "->x", F_ARROW, I_HASARG }, -{ "object(const)->func", F_STRICT_ARROW, I_HASARG }, -{ "object(const)->var", F_STRICT_ARROW_VARIABLE, I_HASARG }, { "clear string subtype", F_CLEAR_STRING_SUBTYPE }, { "arrow string", F_ARROW_STRING, I_HASARG }, { "indirect", F_INDIRECT },