Branch: Tag:

1998-02-01

1998-02-01 04:01:36 by Fredrik Hübinette (Hubbe) <hubbe@hubbe.net>

multi-lvalues implemented...

Rev: src/array.c:1.26
Rev: src/array.h:1.8
Rev: src/docode.c:1.30
Rev: src/interpret.c:1.66
Rev: src/language.yacc:1.59
Rev: src/las.c:1.50
Rev: src/lex.c:1.43
Rev: src/svalue.h:1.11

4:   ||| See the files COPYING and DISCLAIMER for more information.   \*/   #include "global.h" - RCSID("$Id: docode.c,v 1.29 1998/01/30 20:04:31 hubbe Exp $"); + RCSID("$Id: docode.c,v 1.30 1998/02/01 04:01:32 hubbe Exp $");   #include "las.h"   #include "program.h"   #include "language.h"
249:    emit(F_NUMBER,0);    return 1;    +  case F_ARRAY_LVALUE:    case F_LVALUE_LIST:    case F_LOCAL:    case F_GLOBAL:
973:    case F_LVALUE_LIST:    return do_docode(CAR(n),DO_LVALUE)+do_docode(CDR(n),DO_LVALUE);    +  case F_ARRAY_LVALUE: +  tmp1=do_docode(CAR(n),DO_LVALUE); + #ifdef DEBUG +  if(tmp1 & 1) +  fatal("Very internal compiler error.\n"); + #endif +  emit(F_ARRAY_LVALUE, tmp1>>1); +  return 2; +     case F_ARROW:    if(CDR(n)->token != F_CONSTANT || CDR(n)->u.sval.type!=T_STRING)    fatal("Bugg in F_ARROW, index not string.");