pike.git / src / lex.c

version» Context lines:

pike.git/src/lex.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: lex.c,v 1.72 2000/04/19 14:14:29 grubba Exp $"); + RCSID("$Id: lex.c,v 1.73 2000/04/19 20:20:16 grubba 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:82:   #define OPCODE2_TAIL(OP,DESC) { DESC, OP, I_HASARG },      #define LEXER      struct keyword instr_names[]=   {   #include "interpret_protos.h"   { "!=", F_NE,0 },   { "%", F_MOD,0 },   { "%=", F_MOD_EQ,0 }, - { "& global", F_GLOBAL_LVALUE, I_HASARG }, - { "& lexical local", F_LEXICAL_LOCAL_LVALUE, I_HASARG }, - { "& local", F_LOCAL_LVALUE, I_HASARG }, +    { "&", F_AND,0 },   { "&=", F_AND_EQ,0 },   { "*", F_MULTIPLY,0 },   { "*=", F_MULT_EQ,0 },   { "+", F_ADD,0 },   { "+=", F_ADD_EQ,0 },   { "-", F_SUBTRACT,0 },   { "-=", F_SUB_EQ,0 },   { "/", F_DIVIDE,0 },   { "/=", F_DIV_EQ,0 },
pike.git/src/lex.c:152:   { "==||", F_EQ_OR, I_ISJUMP },   { "==&&", F_EQ_AND, I_ISJUMP },   { "catch", F_CATCH, I_ISJUMP },   { "foreach", F_FOREACH, I_ISJUMP },   { "pointer", F_POINTER, I_ISPOINTER },   { "data", F_DATA, I_DATA },      { "local function call",F_CALL_LFUN, I_HASARG },   { "local function call and pop",F_CALL_LFUN_AND_POP, I_HASARG },   { "local", F_LOCAL, I_HASARG }, - { "lexical local", F_LEXICAL_LOCAL, I_HASARG }, +    { "& external", F_EXTERNAL_LVALUE, I_HASARG },   { "LDA", F_LDA, I_HASARG },   { "mark & local", F_MARK_AND_LOCAL, I_HASARG }, - { "ltosval2", F_LTOSVAL2,0 }, - { "lvalue to svalue", F_LTOSVAL,0 }, +    { "lvalue_list", F_LVALUE_LIST,0 }, - { "[ lvalues ]", F_ARRAY_LVALUE, I_HASARG }, +    { "mark", F_MARK,0 },   { "mark mark", F_MARK2,0 },   { "return", F_RETURN,0 },   { "return 0", F_RETURN_0,0 },   { "return 1", F_RETURN_1,0 },   { "return local", F_RETURN_LOCAL, I_HASARG },   { "return if true", F_RETURN_IF_TRUE, 0 },   { "while", F_WHILE,0 },   { "|", F_OR,0 },   { "|=", F_OR_EQ,0 },   { "label", F_LABEL,I_HASARG },   { "align", F_ALIGN, I_HASARG },   { "call", F_APPLY, I_HASARG }, - { "clear local", F_CLEAR_LOCAL, I_HASARG }, - { "clear 2 local", F_CLEAR_2_LOCAL, I_HASARG }, - { "clear 4 local", F_CLEAR_4_LOCAL, I_HASARG }, - { "++local", F_INC_LOCAL, I_HASARG }, +    { "++local and pop", F_INC_LOCAL_AND_POP, I_HASARG },   { "local++", F_POST_INC_LOCAL, I_HASARG }, - { "--local", F_DEC_LOCAL, I_HASARG }, +    { "--local and pop", F_DEC_LOCAL_AND_POP, I_HASARG },   { "local--", F_POST_DEC_LOCAL, I_HASARG },   { "int index", F_POS_INT_INDEX, I_HASARG },   { "-int index", F_NEG_INT_INDEX, I_HASARG },   { "apply and pop", F_APPLY_AND_POP, I_HASARG }, - { "2 locals", F_2_LOCALS, I_HASARG }, +    { "byte", F_BYTE, I_HASARG },   { "nop", F_NOP,0 },   { "add integer", F_ADD_INT, I_HASARG },   { "add -integer", F_ADD_NEG_INT, I_HASARG },   { "mark & call", F_MARK_APPLY, I_HASARG },   { "mark, call & pop", F_MARK_APPLY_POP, I_HASARG },   { "apply and return", F_APPLY_AND_RETURN, I_HASARG },   { "apply, assign local and pop", F_APPLY_ASSIGN_LOCAL_AND_POP, I_HASARG },   { "apply & assign local", F_APPLY_ASSIGN_LOCAL, I_HASARG },   { "call lfun & return", F_CALL_LFUN_AND_RETURN, I_HASARG },   { "call function", F_CALL_FUNCTION, 0 },   { "call function & return", F_CALL_FUNCTION_AND_RETURN, 0 }, - { "+= and pop", F_ADD_TO_AND_POP, 0 }, - { "local=local;", F_LOCAL_2_LOCAL, I_HASARG }, - { "local=global;", F_GLOBAL_2_LOCAL, I_HASARG }, - { "global=local;", F_LOCAL_2_GLOBAL, I_HASARG }, +    };      struct instr instrs[F_MAX_INSTR - F_OFFSET];      struct reserved   {    struct hash_entry link;    int token;   };