pike.git / src / lex.c

version» Context lines:

pike.git/src/lex.c:1:   /*\   ||| This file is part of Pike. For copyright information see COPYRIGHT.   ||| Pike is distributed as GPL (General Public License)   ||| See the files COPYING and DISCLAIMER for more information.   \*/   /**/   #include "global.h" - RCSID("$Id: lex.c,v 1.102 2002/01/16 02:54:14 nilsson Exp $"); + RCSID("$Id: lex.c,v 1.103 2002/05/10 22:28:28 mast Exp $");   #include "language.h"   #include "array.h"   #include "lex.h"   #include "stralloc.h"   #include "dynamic_buffer.h"   #include "constants.h"   #include "hashtable.h"   #include "stuff.h"   #include "pike_memory.h"   #include "interpret.h"
pike.git/src/lex.c:142: Inside #if defined(PIKE_DEBUG) and #if defined(INSTR_PROFILING)
   }    }   #endif   #endif   }      #ifdef PIKE_USE_MACHINE_CODE   #define ADDR(X) , (void *)PIKE_CONCAT(opcode_,X)   #define NULLADDR , 0    - #define OPCODE0(OP,DESC) void PIKE_CONCAT(opcode_,OP)(void); - #define OPCODE1(OP,DESC) void PIKE_CONCAT(opcode_,OP)(INT32); - #define OPCODE2(OP,DESC) void PIKE_CONCAT(opcode_,OP)(INT32,INT32); + #define OPCODE0(OP,DESC,FLAGS) void PIKE_CONCAT(opcode_,OP)(void); + #define OPCODE1(OP,DESC,FLAGS) void PIKE_CONCAT(opcode_,OP)(INT32); + #define OPCODE2(OP,DESC,FLAGS) void PIKE_CONCAT(opcode_,OP)(INT32,INT32);    - #define OPCODE0_TAIL(OP,DESC) void PIKE_CONCAT(opcode_,OP)(void); - #define OPCODE1_TAIL(OP,DESC) void PIKE_CONCAT(opcode_,OP)(INT32); - #define OPCODE2_TAIL(OP,DESC) void PIKE_CONCAT(opcode_,OP)(INT32,INT32); + #define OPCODE0_TAIL(OP,DESC,FLAGS) void PIKE_CONCAT(opcode_,OP)(void); + #define OPCODE1_TAIL(OP,DESC,FLAGS) void PIKE_CONCAT(opcode_,OP)(INT32); + #define OPCODE2_TAIL(OP,DESC,FLAGS) void PIKE_CONCAT(opcode_,OP)(INT32,INT32);    - #define OPCODE0_JUMP(OP,DESC) void PIKE_CONCAT(opcode_,OP)(void); - #define OPCODE1_JUMP(OP,DESC) void PIKE_CONCAT(opcode_,OP)(INT32); - #define OPCODE2_JUMP(OP,DESC) void PIKE_CONCAT(opcode_,OP)(INT32,INT32); + #define OPCODE0_JUMP(OP,DESC,FLAGS) void PIKE_CONCAT(opcode_,OP)(void); + #define OPCODE1_JUMP(OP,DESC,FLAGS) void PIKE_CONCAT(opcode_,OP)(INT32); + #define OPCODE2_JUMP(OP,DESC,FLAGS) void PIKE_CONCAT(opcode_,OP)(INT32,INT32);    - #define OPCODE0_TAILJUMP(OP,DESC) void PIKE_CONCAT(opcode_,OP)(void); - #define OPCODE1_TAILJUMP(OP,DESC) void PIKE_CONCAT(opcode_,OP)(INT32); - #define OPCODE2_TAILJUMP(OP,DESC) void PIKE_CONCAT(opcode_,OP)(INT32,INT32); + #define OPCODE0_TAILJUMP(OP,DESC,FLAGS) void PIKE_CONCAT(opcode_,OP)(void); + #define OPCODE1_TAILJUMP(OP,DESC,FLAGS) void PIKE_CONCAT(opcode_,OP)(INT32); + #define OPCODE2_TAILJUMP(OP,DESC,FLAGS) void PIKE_CONCAT(opcode_,OP)(INT32,INT32);    - #define OPCODE0_RETURN(OP, DESC) OPCODE0(OP, DESC) - #define OPCODE1_RETURN(OP, DESC) OPCODE1(OP, DESC) - #define OPCODE2_RETURN(OP, DESC) OPCODE2(OP, DESC) - #define OPCODE0_TAILRETURN(OP, DESC) OPCODE0_TAIL(OP, DESC) - #define OPCODE1_TAILRETURN(OP, DESC) OPCODE1_TAIL(OP, DESC) - #define OPCODE2_TAILRETURN(OP, DESC) OPCODE2_TAIL(OP, DESC) + #define OPCODE0_RETURN(OP, DESC, FLAGS) OPCODE0(OP, DESC, FLAGS) + #define OPCODE1_RETURN(OP, DESC, FLAGS) OPCODE1(OP, DESC, FLAGS) + #define OPCODE2_RETURN(OP, DESC, FLAGS) OPCODE2(OP, DESC, FLAGS) + #define OPCODE0_TAILRETURN(OP, DESC, FLAGS) OPCODE0_TAIL(OP, DESC, FLAGS) + #define OPCODE1_TAILRETURN(OP, DESC, FLAGS) OPCODE1_TAIL(OP, DESC, FLAGS) + #define OPCODE2_TAILRETURN(OP, DESC, FLAGS) OPCODE2_TAIL(OP, DESC, FLAGS)      #include "interpret_protos.h"      #undef OPCODE0   #undef OPCODE1   #undef OPCODE2      #undef OPCODE0_TAIL   #undef OPCODE1_TAIL   #undef OPCODE2_TAIL
pike.git/src/lex.c:195:   #undef OPCODE2_RETURN   #undef OPCODE0_TAILRETURN   #undef OPCODE1_TAILRETURN   #undef OPCODE2_TAILRETURN      #else   #define ADDR(X)   #define NULLADDR   #endif    - #define OPCODE0(OP,DESC) { DESC, OP, 0 ADDR(OP) }, - #define OPCODE1(OP,DESC) { DESC, OP, I_HASARG ADDR(OP) }, - #define OPCODE2(OP,DESC) { DESC, OP, I_TWO_ARGS ADDR(OP) }, + #define OPCODE0(OP,DESC,FLAGS) { DESC, OP, FLAGS ADDR(OP) }, + #define OPCODE1(OP,DESC,FLAGS) { DESC, OP, FLAGS | I_HASARG ADDR(OP) }, + #define OPCODE2(OP,DESC,FLAGS) { DESC, OP, FLAGS | I_TWO_ARGS ADDR(OP) },    - #define OPCODE0_TAIL(OP,DESC) { DESC, OP, 0 ADDR(OP) }, - #define OPCODE1_TAIL(OP,DESC) { DESC, OP, I_HASARG ADDR(OP) }, - #define OPCODE2_TAIL(OP,DESC) { DESC, OP, I_TWO_ARGS ADDR(OP) }, + #define OPCODE0_TAIL(OP,DESC,FLAGS) { DESC, OP, FLAGS ADDR(OP) }, + #define OPCODE1_TAIL(OP,DESC,FLAGS) { DESC, OP, FLAGS | I_HASARG ADDR(OP) }, + #define OPCODE2_TAIL(OP,DESC,FLAGS) { DESC, OP, FLAGS | I_TWO_ARGS ADDR(OP) },    - #define OPCODE0_JUMP(OP,DESC) { DESC, OP, I_ISJUMP ADDR(OP) }, - #define OPCODE1_JUMP(OP,DESC) { DESC, OP, I_HASARG ADDR(OP) }, - #define OPCODE2_JUMP(OP,DESC) { DESC, OP, I_TWO_ARGS ADDR(OP) }, + #define OPCODE0_JUMP(OP,DESC,FLAGS) { DESC, OP, FLAGS | I_ISJUMP ADDR(OP) }, + #define OPCODE1_JUMP(OP,DESC,FLAGS) { DESC, OP, FLAGS | I_HASARG ADDR(OP) }, + #define OPCODE2_JUMP(OP,DESC,FLAGS) { DESC, OP, FLAGS | I_TWO_ARGS ADDR(OP) },    - #define OPCODE0_TAILJUMP(OP,DESC) { DESC, OP, I_ISJUMP ADDR(OP) }, - #define OPCODE1_TAILJUMP(OP,DESC) { DESC, OP, I_HASARG ADDR(OP) }, - #define OPCODE2_TAILJUMP(OP,DESC) { DESC, OP, I_TWO_ARGS ADDR(OP) }, + #define OPCODE0_TAILJUMP(OP,DESC,FLAGS) { DESC, OP, FLAGS | I_ISJUMP ADDR(OP) }, + #define OPCODE1_TAILJUMP(OP,DESC,FLAGS) { DESC, OP, FLAGS | I_HASARG ADDR(OP) }, + #define OPCODE2_TAILJUMP(OP,DESC,FLAGS) { DESC, OP, FLAGS | I_TWO_ARGS ADDR(OP) },    - #define OPCODE0_RETURN(OP, DESC) OPCODE0(OP, DESC) - #define OPCODE1_RETURN(OP, DESC) OPCODE1(OP, DESC) - #define OPCODE2_RETURN(OP, DESC) OPCODE2(OP, DESC) - #define OPCODE0_TAILRETURN(OP, DESC) OPCODE0_TAIL(OP, DESC) - #define OPCODE1_TAILRETURN(OP, DESC) OPCODE1_TAIL(OP, DESC) - #define OPCODE2_TAILRETURN(OP, DESC) OPCODE2_TAIL(OP, DESC) + #define OPCODE0_RETURN(OP, DESC, FLAGS) OPCODE0(OP, DESC, FLAGS) + #define OPCODE1_RETURN(OP, DESC, FLAGS) OPCODE1(OP, DESC, FLAGS) + #define OPCODE2_RETURN(OP, DESC, FLAGS) OPCODE2(OP, DESC, FLAGS) + #define OPCODE0_TAILRETURN(OP, DESC, FLAGS) OPCODE0_TAIL(OP, DESC, FLAGS) + #define OPCODE1_TAILRETURN(OP, DESC, FLAGS) OPCODE1_TAIL(OP, DESC, FLAGS) + #define OPCODE2_TAILRETURN(OP, DESC, FLAGS) OPCODE2_TAIL(OP, DESC, FLAGS)      #define LEXER      struct keyword instr_names[]=   {   #ifndef PIKE_PRECOMPILER   #include "interpret_protos.h"   #endif /* !PIKE_PRECOMPILER */   { "%=", F_MOD_EQ,0 NULLADDR },   { "&=", F_AND_EQ,0 NULLADDR },