pike.git / src / las.c

version» Context lines:

pike.git/src/las.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: las.c,v 1.246 2001/03/17 06:25:58 hubbe Exp $"); + RCSID("$Id: las.c,v 1.247 2001/03/20 00:25:02 grubba Exp $");      #include "language.h"   #include "interpret.h"   #include "las.h"   #include "array.h"   #include "object.h"   #include "stralloc.h"   #include "dynamic_buffer.h"   #include "lex.h"   #include "pike_types.h"
pike.git/src/las.c:2374:    low_print_tree(_CDR(foo),0);    fprintf(stderr, ")");    return;       case F_NORMAL_STMT_LABEL:    case F_CUSTOM_STMT_LABEL:    fprintf(stderr, "%s:", _CAR(foo)->u.sval.u.string->str);    low_print_tree(_CDR(foo),0);    return;    +  case F_LOOP: +  fprintf(stderr, "loop("); +  if(car_is_node(foo)) low_print_tree(_CAR(foo),0); +  fprintf(stderr, ",{"); +  if(cdr_is_node(foo)) low_print_tree(_CDR(foo),0); +  fprintf(stderr, "})"); +  return; +     default:    if(!car_is_node(foo) && !cdr_is_node(foo))    {    fprintf(stderr, "%s",get_token_name(foo->token));    return;    }    if(foo->token<256)    {    fprintf(stderr, "%c(",foo->token);    }else{
pike.git/src/las.c:2989: Inside #if defined(PIKE_DEBUG)
   fprintf(stderr,"The answer is (durumroll) : no\n");    return 0;    }    }    return depend_p3(a,b);   }   #else   #define depend_p depend_p3   #endif    + /* Check if n depends on the lvalue lval */ + static int depend2_p(node *n, node *lval) + { +  node *tmp; +  int ret; +  +  /* Make a temporary node (lval = 0), so that we can use depend_p(). */ +  ADD_NODE_REF2(lval, +  tmp = mknode(F_ASSIGN, mkintnode(0), lval)); +  ret = depend_p(n, tmp); +  free_node(tmp); +  return ret; + } +    /* FIXME: Ought to use parent pointer to avoid recursion. */   static int cntargs(node *n)   {    if(!n) return 0;    switch(n->token)    {    case F_CAST:    case F_SOFT_CAST:    case F_APPLY:    return n->type != void_type_string;