Skip to content
Snippets Groups Projects
Select Git revision
21 results Searching

__builtin.pmod

Blame
  • las.c 128.45 KiB
    /*
    || This file is part of Pike. For copyright information see COPYRIGHT.
    || Pike is distributed under GPL, LGPL and MPL. See the file COPYING
    || for more information.
    || $Id: las.c,v 1.434 2008/08/17 16:22:41 mast Exp $
    */
    
    #include "global.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"
    #include "constants.h"
    #include "mapping.h"
    #include "multiset.h"
    #include "pike_error.h"
    #include "docode.h"
    #include "main.h"
    #include "pike_memory.h"
    #include "operators.h"
    #include "callback.h"
    #include "pike_macros.h"
    #include "peep.h"
    #include "builtin_functions.h"
    #include "cyclic.h"
    #include "opcodes.h"
    #include "pikecode.h"
    #include "gc.h"
    #include "pike_compiler.h"
    #include "block_alloc.h"
    
    /* Define this if you want the optimizer to be paranoid about aliasing
     * effects to to indexing.
     */
    /* #define PARANOID_INDEXING */
    
    /* #define NEW_ARG_CHECK */
    
    static node *eval(node *);
    static void optimize(node *n);
    static node *localopt(node *n);
    
    int cumulative_parse_error=0;
    extern char *get_type_name(int);
    
    #define MAX_GLOBAL 2048
    
    /* #define yywarning my_yyerror */
    
    int car_is_node(node *n)
    {
      if (!_CAR(n)) return 0;
      switch(n->token)
      {
      case F_EXTERNAL:
      case F_GET_SET:
      case F_IDENTIFIER:
      case F_TRAMPOLINE:
      case F_CONSTANT:
      case F_LOCAL:
      case F_THIS:
      case F_VERSION:
        return 0;
    
      default:
        return 1;