Branch: Tag:

1996-09-22

1996-09-22 19:40:33 by Fredrik Hübinette (Hubbe) <hubbe@hubbe.net>

Pike

Rev: .cvsignore:1.1.1.1
Rev: README:1.1.1.1
Rev: bin/export.pike:1.1.1.1
Rev: bin/fixdepends.sh:1.1.1.1
Rev: bin/hilfe:1.1.1.1
Rev: bin/htmlify_docs.pike:1.1.1.1
Rev: bin/httpd.pike:1.1.1.1
Rev: bin/metatest:1.1.1.1
Rev: bin/mkpeep.pike:1.1.1.1
Rev: bin/rsif:1.1.1.1
Rev: doc/README:1.1.1.1
Rev: doc/builtin/_verify_internals:1.1.1.1
Rev: doc/builtin/add_constant:1.1.1.1
Rev: doc/builtin/aggregage_multiset:1.1.1.1
Rev: doc/builtin/aggregate:1.1.1.1
Rev: doc/builtin/aggregate_mapping:1.1.1.1
Rev: doc/builtin/alarm:1.1.1.1
Rev: doc/builtin/all_constants:1.1.1.1
Rev: doc/builtin/allocate:1.1.1.1
Rev: doc/builtin/arrayp:1.1.1.1
Rev: doc/builtin/backtrace:1.1.1.1
Rev: doc/builtin/call_function:1.1.1.1
Rev: doc/builtin/clone:1.1.1.1
Rev: doc/builtin/column:1.1.1.1
Rev: doc/builtin/combine_path:1.1.1.1
Rev: doc/builtin/compile_file:1.1.1.1
Rev: doc/builtin/compile_string:1.1.1.1
Rev: doc/builtin/copy_value:1.1.1.1
Rev: doc/builtin/crypt:1.1.1.1
Rev: doc/builtin/ctime:1.1.1.1
Rev: doc/builtin/destruct:1.1.1.1
Rev: doc/builtin/equal:1.1.1.1
Rev: doc/builtin/exit:1.1.1.1
Rev: doc/builtin/floatp:1.1.1.1
Rev: doc/builtin/function_name:1.1.1.1
Rev: doc/builtin/function_object:1.1.1.1
Rev: doc/builtin/functionp:1.1.1.1
Rev: doc/builtin/gc:1.1.1.1
Rev: doc/builtin/getpid:1.1.1.1
Rev: doc/builtin/glob:1.1.1.1
Rev: doc/builtin/hash:1.1.1.1
Rev: doc/builtin/indices:1.1.1.1
Rev: doc/builtin/intp:1.1.1.1
Rev: doc/builtin/kill:1.1.1.1
Rev: doc/builtin/localtime:1.1.1.1
Rev: doc/builtin/lower_case:1.1.1.1
Rev: doc/builtin/m_delete:1.1.1.1
Rev: doc/builtin/mappingp:1.1.1.1
Rev: doc/builtin/mkmapping:1.1.1.1
Rev: doc/builtin/multisetp:1.1.1.1
Rev: doc/builtin/next_object:1.1.1.1
Rev: doc/builtin/object_program:1.1.1.1
Rev: doc/builtin/objectp:1.1.1.1
Rev: doc/builtin/programp:1.1.1.1
Rev: doc/builtin/query_host_name:1.1.1.1
Rev: doc/builtin/query_num_arg:1.1.1.1
Rev: doc/builtin/random:1.1.1.1
Rev: doc/builtin/random_seed:1.1.1.1
Rev: doc/builtin/replace:1.1.1.1
Rev: doc/builtin/reverse:1.1.1.1
Rev: doc/builtin/rows:1.1.1.1
Rev: doc/builtin/rusage:1.1.1.1
Rev: doc/builtin/search:1.1.1.1
Rev: doc/builtin/signal:1.1.1.1
Rev: doc/builtin/signame:1.1.1.1
Rev: doc/builtin/signum:1.1.1.1
Rev: doc/builtin/sizeof:1.1.1.1
Rev: doc/builtin/sleep:1.1.1.1
Rev: doc/builtin/sort:1.1.1.1
Rev: doc/builtin/stringp:1.1.1.1
Rev: doc/builtin/this_object:1.1.1.1
Rev: doc/builtin/throw:1.1.1.1
Rev: doc/builtin/time:1.1.1.1
Rev: doc/builtin/trace:1.1.1.1
Rev: doc/builtin/ualarm:1.1.1.1
Rev: doc/builtin/upper_case:1.1.1.1
Rev: doc/builtin/values:1.1.1.1
Rev: doc/builtin/zero_type:1.1.1.1
Rev: doc/index.bmml:1.1.1.1
Rev: doc/manual/example1:1.1.1.1
Rev: doc/manual/example2:1.1.1.1
Rev: doc/manual/example3:1.1.1.1
Rev: doc/manual/tutorial:1.1.1.1
Rev: doc/operators/and:1.1.1.1
Rev: doc/operators/complement:1.1.1.1
Rev: doc/operators/divide:1.1.1.1
Rev: doc/operators/index:1.1.1.1
Rev: doc/operators/is_equal:1.1.1.1
Rev: doc/operators/is_greater_or_equal:1.1.1.1
Rev: doc/operators/is_greater_than:1.1.1.1
Rev: doc/operators/is_lesser_or_equal:1.1.1.1
Rev: doc/operators/is_lesser_than:1.1.1.1
Rev: doc/operators/logical_and:1.1.1.1
Rev: doc/operators/logical_or:1.1.1.1
Rev: doc/operators/minus:1.1.1.1
Rev: doc/operators/modulo:1.1.1.1
Rev: doc/operators/mult:1.1.1.1
Rev: doc/operators/not:1.1.1.1
Rev: doc/operators/not_equal:1.1.1.1
Rev: doc/operators/operators:1.1.1.1
Rev: doc/operators/or:1.1.1.1
Rev: doc/operators/plus:1.1.1.1
Rev: doc/operators/range:1.1.1.1
Rev: doc/operators/shift_left:1.1.1.1
Rev: doc/operators/shift_right:1.1.1.1
Rev: doc/operators/xor:1.1.1.1
Rev: doc/pike/all.bmml:1.1.1.1
Rev: doc/pike/cast:1.1.1.1
Rev: doc/pike/catch:1.1.1.1
Rev: doc/pike/class:1.1.1.1
Rev: doc/pike/command_line_options:1.1.1.1
Rev: doc/pike/control_structures/break:1.1.1.1
Rev: doc/pike/control_structures/catch:1.1.1.1
Rev: doc/pike/control_structures/continue:1.1.1.1
Rev: doc/pike/control_structures/do-while:1.1.1.1
Rev: doc/pike/control_structures/for:1.1.1.1
Rev: doc/pike/control_structures/foreach:1.1.1.1
Rev: doc/pike/control_structures/if-else:1.1.1.1
Rev: doc/pike/control_structures/return:1.1.1.1
Rev: doc/pike/control_structures/switch:1.1.1.1
Rev: doc/pike/control_structures/while:1.1.1.1
Rev: doc/pike/efuns.bmml:1.1.1.1
Rev: doc/pike/functions:1.1.1.1
Rev: doc/pike/gauge:1.1.1.1
Rev: doc/pike/hilfe:1.1.1.1
Rev: doc/pike/how_to_make_modules:1.1.1.1
Rev: doc/pike/inherit:1.1.1.1
Rev: doc/pike/lambda:1.1.1.1
Rev: doc/pike/modifier:1.1.1.1
Rev: doc/pike/preprocessor:1.1.1.1
Rev: doc/pike/reserved.bmml:1.1.1.1
Rev: doc/pike/sscanf:1.1.1.1
Rev: doc/pike/typeof:1.1.1.1
Rev: doc/pike/variables:1.1.1.1
Rev: doc/simulated/PI:1.1.1.1
Rev: doc/simulated/add_efun:1.1.1.1
Rev: doc/simulated/aggregage_list:1.1.1.1
Rev: doc/simulated/all_efuns:1.1.1.1
Rev: doc/simulated/capitalize:1.1.1.1
Rev: doc/simulated/describe_backtrace:1.1.1.1
Rev: doc/simulated/exec:1.1.1.1
Rev: doc/simulated/explode:1.1.1.1
Rev: doc/simulated/file_size:1.1.1.1
Rev: doc/simulated/filter:1.1.1.1
Rev: doc/simulated/filter_array:1.1.1.1
Rev: doc/simulated/get_function:1.1.1.1
Rev: doc/simulated/getenv:1.1.1.1
Rev: doc/simulated/implode:1.1.1.1
Rev: doc/simulated/l_sizeof:1.1.1.1
Rev: doc/simulated/listp:1.1.1.1
Rev: doc/simulated/m_indices:1.1.1.1
Rev: doc/simulated/m_sizeof:1.1.1.1
Rev: doc/simulated/m_values:1.1.1.1
Rev: doc/simulated/map:1.1.1.1
Rev: doc/simulated/map_array:1.1.1.1
Rev: doc/simulated/master:1.1.1.1
Rev: doc/simulated/member_array:1.1.1.1
Rev: doc/simulated/mklist:1.1.1.1
Rev: doc/simulated/mkmultiset:1.1.1.1
Rev: doc/simulated/perror:1.1.1.1
Rev: doc/simulated/popen:1.1.1.1
Rev: doc/simulated/previous_object:1.1.1.1
Rev: doc/simulated/putenv:1.1.1.1
Rev: doc/simulated/read_bytes:1.1.1.1
Rev: doc/simulated/regexp:1.1.1.1
Rev: doc/simulated/search_array:1.1.1.1
Rev: doc/simulated/sort_array:1.1.1.1
Rev: doc/simulated/spawn:1.1.1.1
Rev: doc/simulated/strlen:1.1.1.1
Rev: doc/simulated/strstr:1.1.1.1
Rev: doc/simulated/sum:1.1.1.1
Rev: doc/simulated/sum_arrays:1.1.1.1
Rev: doc/simulated/system:1.1.1.1
Rev: doc/simulated/this_function:1.1.1.1
Rev: doc/simulated/version:1.1.1.1
Rev: doc/simulated/write:1.1.1.1
Rev: doc/simulated/write_file:1.1.1.1
Rev: doc/types/array:1.1.1.1
Rev: doc/types/float:1.1.1.1
Rev: doc/types/function:1.1.1.1
Rev: doc/types/int:1.1.1.1
Rev: doc/types/mapping:1.1.1.1
Rev: doc/types/mixed:1.1.1.1
Rev: doc/types/multiset:1.1.1.1
Rev: doc/types/object:1.1.1.1
Rev: doc/types/program:1.1.1.1
Rev: doc/types/string:1.1.1.1
Rev: lib/include/array.h:1.1.1.1
Rev: lib/include/array.pre.pike:1.1.1.1
Rev: lib/include/process.h:1.1.1.1
Rev: lib/include/process.pre.pike:1.1.1.1
Rev: lib/include/simulate.h:1.1.1.1
Rev: lib/include/simulate.pre.pike:1.1.1.1
Rev: lib/include/stdio.h:1.1.1.1
Rev: lib/include/stdio.pre.pike:1.1.1.1
Rev: lib/master.pike:1.1.1.1
Rev: src/.cvsignore:1.1.1.1
Rev: src/BUGS:1.1.1.1
Rev: src/COPYING:1.1.1.1
Rev: src/COPYRIGHT:1.1.1.1
Rev: src/ChangeLog:1.1.1.1
Rev: src/DISCLAIMER:1.1.1.1
Rev: src/Makefile.src:1.1.1.1
Rev: src/README:1.1.1.1
Rev: src/alloca.c:1.1.1.1
Rev: src/array.c:1.1.1.1
Rev: src/array.h:1.1.1.1
Rev: src/backend.c:1.1.1.1
Rev: src/backend.h:1.1.1.1
Rev: src/build_modlist_h:1.1.1.1
Rev: src/builtin_functions.c:1.1.1.1
Rev: src/builtin_functions.h:1.1.1.1
Rev: src/callback.c:1.1.1.1
Rev: src/callback.h:1.1.1.1
Rev: src/compilation.h:1.1.1.1
Rev: src/config.cache:1.1.1.1
Rev: src/config.h:1.1.1.1
Rev: src/config.log:1.1.1.1
Rev: src/configure.in:1.1.1.1
Rev: src/constants.c:1.1.1.1
Rev: src/constants.h:1.1.1.1
Rev: src/docode.c:1.1.1.1
Rev: src/docode.h:1.1.1.1
Rev: src/dynamic_buffer.c:1.1.1.1
Rev: src/dynamic_buffer.h:1.1.1.1
Rev: src/efun.h:1.1.1.1
Rev: src/error.c:1.1.1.1
Rev: src/error.h:1.1.1.1
Rev: src/fd_control.c:1.1.1.1
Rev: src/fd_control.h:1.1.1.1
Rev: src/fsort.c:1.1.1.1
Rev: src/fsort.h:1.1.1.1
Rev: src/gc.c:1.1.1.1
Rev: src/gc.h:1.1.1.1
Rev: src/global.h:1.1.1.1
Rev: src/hashtable.c:1.1.1.1
Rev: src/hashtable.h:1.1.1.1
Rev: src/install-sh:1.1.1.1
Rev: src/interpret.c:1.1.1.1
Rev: src/interpret.h:1.1.1.1
Rev: src/language.y:1.1.1.1
Rev: src/las.c:1.1.1.1
Rev: src/las.h:1.1.1.1
Rev: src/lex.c:1.1.1.1
Rev: src/lex.h:1.1.1.1
Rev: src/machine.h.in:1.1.1.1
Rev: src/macros.h:1.1.1.1
Rev: src/main.c:1.1.1.1
Rev: src/main.h:1.1.1.1
Rev: src/mapping.c:1.1.1.1
Rev: src/mapping.h:1.1.1.1
Rev: src/memory.c:1.1.1.1
Rev: src/memory.h:1.1.1.1
Rev: src/module.c:1.1.1.1
Rev: src/module.h:1.1.1.1
Rev: src/modules/.cvsignore:1.1.1.1
Rev: src/modules/Makefile.src:1.1.1.1
Rev: src/modules/call_out/.cvsignore:1.1.1.1
Rev: src/modules/call_out/Makefile.src:1.1.1.1
Rev: src/modules/call_out/call_out.c:1.1.1.1
Rev: src/modules/call_out/configure.in:1.1.1.1
Rev: src/modules/call_out/doc/call_out:1.1.1.1
Rev: src/modules/call_out/doc/call_out_info:1.1.1.1
Rev: src/modules/call_out/doc/find_call_out:1.1.1.1
Rev: src/modules/call_out/doc/remove_call_out:1.1.1.1
Rev: src/modules/configure.in:1.1.1.1
Rev: src/modules/files/.cvsignore:1.1.1.1
Rev: src/modules/files/Makefile.src:1.1.1.1
Rev: src/modules/files/configure.in:1.1.1.1
Rev: src/modules/files/datagram.c:1.1.1.1
Rev: src/modules/files/doc/cd:1.1.1.1
Rev: src/modules/files/doc/errno:1.1.1.1
Rev: src/modules/files/doc/exece:1.1.1.1
Rev: src/modules/files/doc/file:1.1.1.1
Rev: src/modules/files/doc/file_stat:1.1.1.1
Rev: src/modules/files/doc/fork:1.1.1.1
Rev: src/modules/files/doc/get_dir:1.1.1.1
Rev: src/modules/files/doc/getcwd:1.1.1.1
Rev: src/modules/files/doc/mkdir:1.1.1.1
Rev: src/modules/files/doc/mv:1.1.1.1
Rev: src/modules/files/doc/port:1.1.1.1
Rev: src/modules/files/doc/rm:1.1.1.1
Rev: src/modules/files/doc/strerror:1.1.1.1
Rev: src/modules/files/doc/werror:1.1.1.1
Rev: src/modules/files/efuns.c:1.1.1.1
Rev: src/modules/files/file.c:1.1.1.1
Rev: src/modules/files/file.h:1.1.1.1
Rev: src/modules/files/file_machine.h.in:1.1.1.1
Rev: src/modules/files/socket.c:1.1.1.1
Rev: src/modules/gdbmmod/.cvsignore:1.1.1.1
Rev: src/modules/gdbmmod/Makefile.src:1.1.1.1
Rev: src/modules/gdbmmod/configure.in:1.1.1.1
Rev: src/modules/gdbmmod/doc/gdbm:1.1.1.1
Rev: src/modules/gdbmmod/gdbm_machine.h.in:1.1.1.1
Rev: src/modules/gdbmmod/gdbmmod.c:1.1.1.1
Rev: src/modules/gmpmod/.cvsignore:1.1.1.1
Rev: src/modules/gmpmod/Makefile.src:1.1.1.1
Rev: src/modules/gmpmod/configure.in:1.1.1.1
Rev: src/modules/gmpmod/doc/mpz:1.1.1.1
Rev: src/modules/gmpmod/gmp_machine.h.in:1.1.1.1
Rev: src/modules/gmpmod/mpz_glue.c:1.1.1.1
Rev: src/modules/image/Makefile.in:1.1.1.1
Rev: src/modules/image/Makefile.src:1.1.1.1
Rev: src/modules/image/configure:1.1.1.1
Rev: src/modules/image/configure.in:1.1.1.1
Rev: src/modules/image/dependencies:1.1.1.1
Rev: src/modules/image/doc.txt:1.1.1.1
Rev: src/modules/image/doc/image.html:1.1.1.1
Rev: src/modules/image/font.c:1.1.1.1
Rev: src/modules/image/image.c:1.1.1.1
Rev: src/modules/image/image.h:1.1.1.1
Rev: src/modules/image/lzw.c:1.1.1.1
Rev: src/modules/image/lzw.h:1.1.1.1
Rev: src/modules/image/quant.c:1.1.1.1
Rev: src/modules/image/togif.c:1.1.1.1
Rev: src/modules/math/.cvsignore:1.1.1.1
Rev: src/modules/math/Makefile.src:1.1.1.1
Rev: src/modules/math/configure.in:1.1.1.1
Rev: src/modules/math/doc/acos:1.1.1.1
Rev: src/modules/math/doc/asin:1.1.1.1
Rev: src/modules/math/doc/atan:1.1.1.1
Rev: src/modules/math/doc/ceil:1.1.1.1
Rev: src/modules/math/doc/cos:1.1.1.1
Rev: src/modules/math/doc/exp:1.1.1.1
Rev: src/modules/math/doc/floor:1.1.1.1
Rev: src/modules/math/doc/log:1.1.1.1
Rev: src/modules/math/doc/pow:1.1.1.1
Rev: src/modules/math/doc/sin:1.1.1.1
Rev: src/modules/math/doc/sqrt:1.1.1.1
Rev: src/modules/math/doc/tan:1.1.1.1
Rev: src/modules/math/math.c:1.1.1.1
Rev: src/modules/module_dir_marker:1.1.1.1
Rev: src/modules/pipe/Makefile.in:1.1.1.1
Rev: src/modules/pipe/Makefile.src:1.1.1.1
Rev: src/modules/pipe/config.h:1.1.1.1
Rev: src/modules/pipe/configure:1.1.1.1
Rev: src/modules/pipe/configure.in:1.1.1.1
Rev: src/modules/pipe/dependencies:1.1.1.1
Rev: src/modules/pipe/pipe.c:1.1.1.1
Rev: src/modules/readlinemod/.cvsignore:1.1.1.1
Rev: src/modules/readlinemod/Makefile.src:1.1.1.1
Rev: src/modules/readlinemod/configure.in:1.1.1.1
Rev: src/modules/readlinemod/doc/readline:1.1.1.1
Rev: src/modules/readlinemod/readline_machine.h.in:1.1.1.1
Rev: src/modules/readlinemod/readlinemod.c:1.1.1.1
Rev: src/modules/regexp/.cvsignore:1.1.1.1
Rev: src/modules/regexp/Makefile.src:1.1.1.1
Rev: src/modules/regexp/configure.in:1.1.1.1
Rev: src/modules/regexp/doc/regexp:1.1.1.1
Rev: src/modules/regexp/glue.c:1.1.1.1
Rev: src/modules/regexp/regexp.c:1.1.1.1
Rev: src/modules/regexp/regexp.h:1.1.1.1
Rev: src/modules/spider/Makefile.in:1.1.1.1
Rev: src/modules/spider/Makefile.src:1.1.1.1
Rev: src/modules/spider/configure:1.1.1.1
Rev: src/modules/spider/configure.in:1.1.1.1
Rev: src/modules/spider/defs.h:1.1.1.1
Rev: src/modules/spider/dependencies:1.1.1.1
Rev: src/modules/spider/discdate.c:1.1.1.1
Rev: src/modules/spider/encode_decode.c:1.1.1.1
Rev: src/modules/spider/http_parse.c:1.1.1.1
Rev: src/modules/spider/lock.c:1.1.1.1
Rev: src/modules/spider/lock.h:1.1.1.1
Rev: src/modules/spider/sdebug.c:1.1.1.1
Rev: src/modules/spider/shared_mem_mapping.c:1.1.1.1
Rev: src/modules/spider/sharedmem.c:1.1.1.1
Rev: src/modules/spider/sharedmem.h:1.1.1.1
Rev: src/modules/spider/spider.c:1.1.1.1
Rev: src/modules/spider/spider.h.in:1.1.1.1
Rev: src/modules/spider/stardate.c:1.1.1.1
Rev: src/modules/spider/streamed_parser.c:1.1.1.1
Rev: src/modules/spider/streamed_parser.h:1.1.1.1
Rev: src/modules/spider/tree.c:1.1.1.1
Rev: src/modules/sprintf/.cvsignore:1.1.1.1
Rev: src/modules/sprintf/Makefile.src:1.1.1.1
Rev: src/modules/sprintf/configure.in:1.1.1.1
Rev: src/modules/sprintf/doc/sprintf:1.1.1.1
Rev: src/modules/sprintf/sprintf.c:1.1.1.1
Rev: src/multiset.c:1.1.1.1
Rev: src/multiset.h:1.1.1.1
Rev: src/object.c:1.1.1.1
Rev: src/object.h:1.1.1.1
Rev: src/opcodes.c:1.1.1.1
Rev: src/opcodes.h:1.1.1.1
Rev: src/operators.c:1.1.1.1
Rev: src/operators.h:1.1.1.1
Rev: src/otable.h:1.1.1.1
Rev: src/peep.c:1.1.1.1
Rev: src/peep.h:1.1.1.1
Rev: src/peep.in:1.1.1.1
Rev: src/pike_types.c:1.1.1.1
Rev: src/pike_types.h:1.1.1.1
Rev: src/port.c:1.1.1.1
Rev: src/port.h:1.1.1.1
Rev: src/program.c:1.1.1.1
Rev: src/program.h:1.1.1.1
Rev: src/run_autoconfig:1.1.1.1
Rev: src/rusage.c:1.1.1.1
Rev: src/rusage.h:1.1.1.1
Rev: src/signal_handler.c:1.1.1.1
Rev: src/signal_handler.h:1.1.1.1
Rev: src/stamp-h:1.1.1.1
Rev: src/stralloc.c:1.1.1.1
Rev: src/stralloc.h:1.1.1.1
Rev: src/stuff.c:1.1.1.1
Rev: src/stuff.h:1.1.1.1
Rev: src/svalue.c:1.1.1.1
Rev: src/svalue.h:1.1.1.1
Rev: src/test/.cvsignore:1.1.1.1
Rev: src/test/create_testsuite:1.1.1.1
Rev: src/test/test_pike.pike:1.1.1.1
Rev: src/time_stuff.h:1.1.1.1
Rev: src/todo:1.1.1.1
Rev: src/types.h:1.1.1.1
Rev: src/ualarm.c:1.1.1.1

1:   /*\ - ||| This file a part of uLPC, and is copyright by Fredrik Hubinette - ||| uLPC is distributed as GPL (General Public License) + ||| 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"
9:   #include "lex.h"   #include "stralloc.h"   #include "dynamic_buffer.h" - #include "add_efun.h" + #include "constants.h"   #include "hashtable.h"   #include "stuff.h"   #include "memory.h"
19:   #include "las.h"   #include "operators.h"   #include "opcodes.h" - #include "builtin_efuns.h" + #include "builtin_functions.h" + #include "main.h"      #include "macros.h"   #include <sys/param.h>
27:   #include <math.h>   #include <fcntl.h>   #include <errno.h> - #ifdef HAVE_TIME_H - #include <time.h> - #endif + #include "time_stuff.h"      #define LEXDEBUG 0 - #define EXPANDMAX 50000 + #define EXPANDMAX 500000    - struct lpc_string *current_file; + struct pike_string *current_file;      INT32 current_line;   INT32 old_line;
42:   INT32 nexpands;   int pragma_all_inline; /* inline all possible inlines */    - struct lpc_predef_s + struct pike_predef_s   {    char *name;    char *value; -  struct lpc_predef_s *next; +  struct pike_predef_s *next;   };    - struct lpc_predef_s *lpc_predefs=0; + struct pike_predef_s *pike_predefs=0;      static int calc();   static void calc1();      void exit_lex()   { -  + #ifdef DEBUG +  if(p_flag > 2) +  { +  int e; +  fprintf(stderr,"Opcode usage: (opcode, runned, compiled)\n"); +  for(e=0;e<F_MAX_OPCODE-F_OFFSET;e++) +  { +  fprintf(stderr,":: %-20s %8ld %8ld\n", +  low_get_f_name(e+F_OFFSET,0), +  (long)instrs[e].runs, +  (long)instrs[e].compiles); +  } +  } + #endif +  +     while(local_variables)    {    int e;
88:   { "continue", F_CONTINUE, },   { "default", F_DEFAULT, },   { "do", F_DO, }, - { "efun", F_EFUN, }, + { "predef", F_PREDEF, },   { "else", F_ELSE, },   { "float", F_FLOAT_ID, },   { "for", F_FOR, },
100:   { "inline", F_INLINE, },   { "int", F_INT_ID, },   { "lambda", F_LAMBDA, }, - { "list", F_LIST_ID, }, + { "multiset", F_MULTISET_ID, },   { "mapping", F_MAPPING_ID, },   { "mixed", F_MIXED_ID, },   { "nomask", F_NO_MASK, },
114:   { "static", F_STATIC, },   { "string", F_STRING_ID, },   { "switch", F_SWITCH, }, + { "typeof", F_TYPEOF, },   { "varargs", F_VARARGS, },   { "void", F_VOID_ID, },   { "while", F_WHILE, },
196:   { "indirect", F_INDIRECT },   { "jump", F_BRANCH },   { "local function call",F_CALL_LFUN }, + { "local function call and pop",F_CALL_LFUN_AND_POP },   { "local function", F_LFUN },   { "local", F_LOCAL },   { "ltosval2", F_LTOSVAL2 },   { "lvalue to svalue", F_LTOSVAL },   { "lvalue_list", F_LVALUE_LIST },   { "mark", F_MARK }, -  + { "mark mark", F_MARK2 },   { "negative number", F_NEG_NUMBER },   { "number", F_NUMBER },   { "pop", F_POP_VALUE },   { "pop_n_elems", F_POP_N_ELEMS },   { "push 0", F_CONST0 },   { "push 1", F_CONST1 }, -  + { "push 0x7fffffff", F_BIGNUM },   { "range", F_RANGE },   { "return", F_RETURN },   { "return 0", F_RETURN_0 },
224:   { "|=", F_OR_EQ },   { "||", F_LOR },   { "~", F_COMPL }, + { "label", F_LABEL }, + { "data", F_POINTER }, + { "align", F_ALIGN }, + { "call", F_APPLY }, + { "clear local", F_CLEAR_LOCAL }, + { "++local", F_INC_LOCAL }, + { "++local and pop", F_INC_LOCAL_AND_POP }, + { "local++", F_POST_INC_LOCAL }, + { "--local", F_DEC_LOCAL }, + { "--local and pop", F_DEC_LOCAL_AND_POP }, + { "local--", F_POST_DEC_LOCAL }, + { "branch if <", F_BRANCH_WHEN_LT }, + { "branch if >", F_BRANCH_WHEN_GT }, + { "branch if <=", F_BRANCH_WHEN_LE }, + { "branch if >=", F_BRANCH_WHEN_GE }, + { "branch if ==", F_BRANCH_WHEN_EQ }, + { "branch if !=", F_BRANCH_WHEN_NE }, + { "sizeof", F_SIZEOF }, + { "sizeof local", F_SIZEOF_LOCAL }, + { "throw(0)", F_THROW_ZERO }, + { "string index", F_STRING_INDEX }, + { "local index", F_LOCAL_INDEX }, + { "int index", F_POS_INT_INDEX }, + { "-int index", F_NEG_INT_INDEX },   };      struct instr instrs[F_MAX_INSTR - F_OFFSET];
327:   }      /* foo must be a shared string */ - static int lookup_resword(struct lpc_string *s) + static int lookup_resword(struct pike_string *s)   {    struct hash_entry *h;    h=hash_lookup(reswords, s);
666:   #define find_define(N) (defines?BASEOF(hash_lookup(defines, N), define, link):0)      /* argument must be shared string */ - static void undefine(struct lpc_string *name) + static void undefine(struct pike_string *name)   {    struct define *d;   
681:   }      /* name and as are supposed to be SHARED strings */ - static void add_define(struct lpc_string *name, + static void add_define(struct pike_string *name,    int args,    int parts_on_stack,    void (*magic)())
723:   {    if(magic)    { -  add_define(make_shared_string(name),0,0,magic); +  add_define(make_shared_string(name),-1,0,magic);    }else{    push_string(make_shared_string(as)); -  add_define(make_shared_string(name),0,1,magic); +  add_define(make_shared_string(name),-1,1,magic);    }   }   
749:   {    int c,e,t,argc;    struct svalue *save_sp=sp; -  struct lpc_string *s, *s2; +  struct svalue *args_sp; +  struct pike_string *s, *s2;       SKIPWHITE();    READBUF(isidchar(C));
780:    if(!GOBBLE(')'))    yyerror("Missing ')'");    }else{ -  argc=0; +  argc=-1;    }    -  +  args_sp=sp; +     init_buf();    t=0;    sp->type=T_STRING;
791:       while(1)    { +  int tmp; +     c=GETC();    if(c=='\\') if(GOBBLE('\n')) continue;    if( (t!=!!isidchar(c) && argc>0) || c=='\n' || c==MY_EOF)    {    s2=free_buf(); -  +  tmp=0;    for(e=0;e<argc;e++)    {    if(save_sp[e].u.string==s2)    {    free_string(s2);    push_int(e); -  +  tmp=1;    break;    }    } -  if(e==argc) +  if(!tmp)    {    push_string(s2); -  if(sp[-2].type==T_STRING) f_add(); +  if(sp[-2].type==T_STRING) f_add(2);    }    if(c=='\n' || c==MY_EOF)    {    push_string(make_shared_string(" ")); -  if(sp[-2].type==T_STRING) f_add(); +  if(sp[-2].type==T_STRING) f_add(2);    break;    }    t=!!isidchar(c);
822:    my_putchar(c);    }    UNGETC(c); -  add_define(s,argc,sp-save_sp-argc,0); +  add_define(s,argc,sp-args_sp,0);    while(sp>save_sp) pop_stack();   }      /* s is a shared string */ - static int expand_define(struct lpc_string *s, int save_newline) + static int expand_define(struct pike_string *s, int save_newline)   {    struct svalue *save_sp=sp;    struct define *d;
847:    return 1;    }    +  if(d->args >= 0) +  {    if(!save_newline)    {    SKIPWHITE();
899:    }else{    args=0;    } +  } else { +  args=-1; +  }       if(args>d->args)    {
939:      /*** Handle include ****/    - static void handle_include(char *name) + static void handle_include(char *name, int local_include)   {    int fd;    char buf[400]; -  +  struct pike_string *s;    -  push_string(make_shared_string(name)); +  s=make_shared_string(name); +  push_string(s); +  reference_shared_string(s);    push_string(current_file);    reference_shared_string(current_file); -  +  push_int(local_include);    -  SAFE_APPLY_MASTER("handle_include",2); +  SAFE_APPLY_MASTER("handle_include",3);       if(sp[-1].type != T_STRING)    { -  my_yyerror("Couldn't include file '%s'.",name); +  my_yyerror("Couldn't include file '%s'.",s->str);    return;    } -  +  free_string(s);       retry:    fd=open(sp[-1].u.string->str,O_RDONLY);
1214:    continue;    }    } -  handle_include(buf); +  handle_include(buf, c==F_STRING);    break;    }   
1226:       if(!strcmp("ifdef",buf))    { -  struct lpc_string *s; +  struct pike_string *s;    SKIPWHITE();    READBUF(isidchar(C));    s=findstring(buf);
1236:       if(!strcmp("ifndef",buf))    { -  struct lpc_string *s; +  struct pike_string *s;    SKIPWHITE();    READBUF(isidchar(C));    s=findstring(buf);
1271:    case 'u':    if(!strcmp("undef",buf))    { -  struct lpc_string *s; +  struct pike_string *s;    SKIPWHITE();    READBUF(isidchar(C));    if((s=findstring(buf))) undefine(s);
1480:    return '<';       case '>': -  if(GOBBLE(')')) return F_LIST_END; +  if(GOBBLE(')')) return F_MULTISET_END;    if(GOBBLE('=')) return F_GE;    if(GOBBLE('>'))    {
1494:    return F_NOT;       case '(': -  if(GOBBLE('<')) return F_LIST_START; +  if(GOBBLE('<')) return F_MULTISET_START;    return '(';       case '?':
1508:    case ';':    case '}': return c;    +  case '`': +  { +  char *tmp; +  switch(GETC()) +  { +  case '+': tmp="`+"; break; +  case '-': tmp="`-"; break; +  case '/': tmp="`/"; break; +  case '%': tmp="`%"; break; +  case '*': tmp="`*"; break; +  case '&': tmp="`&"; break; +  case '|': tmp="`|"; break; +  case '^': tmp="`^"; break; +  case '~': tmp="`~"; break; +  case '[': +  if(GOBBLE(']')) +  { +  tmp="`[]"; +  if(GOBBLE('=')) tmp="`[]="; +  break; +  } +     default: -  +  yyerror("Illegal ` identifier."); +  tmp=""; +  break; +  +  case '<': +  if(GOBBLE('<')) { tmp="`<<"; break; } +  if(GOBBLE('=')) { tmp="`<="; break; } +  tmp="`<"; +  break; +  +  case '>': +  if(GOBBLE('>')) { tmp="`>>"; break; } +  if(GOBBLE('=')) { tmp="`>="; break; } +  tmp="`>"; +  break; +  +  case '!': +  if(GOBBLE('=')) { tmp="`!="; break; } +  tmp="`!"; +  break; +  +  case '=': +  if(GOBBLE('=')) { tmp="`=="; break; } +  tmp="`="; +  break; +  } +  +  if(literal) +  { +  yylval->str=buf; +  }else{ +  yylval->string=make_shared_string(tmp); +  } +  return F_IDENTIFIER; +  } +  +  +  default:    if(isidchar(c))    { -  struct lpc_string *s; +  struct pike_string *s;    UNGETC(c);    READBUF(isidchar(C));   
1570:   {    while(1)    { -  struct lpc_string *s; +  struct pike_string *s;       lookahead=do_lex(1, &my_yylval);    if(lookahead == F_IDENTIFIER)
1599:    continue;    }    -  if(!strcmp("efun",my_yylval.str)) +  if(!strcmp("efun",my_yylval.str) || !strcmp("constant",my_yylval.str))    {    SKIPWHITE();    if(!GOBBLE('('))    { -  yyerror("Missing '(' in #if efun().\n"); +  yyerror("Missing '(' in #if constant().\n");    return;    }    READBUF(isidchar(C));    if(!GOBBLE(')'))    { -  yyerror("Missing ')' in #if efun().\n"); +  yyerror("Missing ')' in #if constant().\n");    return;    }    s=findstring(buf);
1679:   {    switch(lookahead)    { -  case '-': low_lex(); calcB(); f_negate(); break; -  case F_NOT: low_lex(); calcB(); f_not(); break; -  case '~': low_lex(); calcB(); f_compl(); break; +  case '-': low_lex(); calcB(); o_negate(); break; +  case F_NOT: low_lex(); calcB(); o_not(); break; +  case '~': low_lex(); calcB(); o_compl(); break;    default: calcC();    }   }
1693:    {    switch(lookahead)    { -  case '/': low_lex(); calcB(); f_divide(); continue; -  case '*': low_lex(); calcB(); f_multiply(); continue; -  case '%': low_lex(); calcB(); f_mod(); continue; +  case '/': low_lex(); calcB(); o_divide(); continue; +  case '*': low_lex(); calcB(); o_multiply(); continue; +  case '%': low_lex(); calcB(); o_mod(); continue;    }    break;    }
1709:    {    switch(lookahead)    { -  case '+': low_lex(); calcA(); f_add(); continue; -  case '-': low_lex(); calcA(); f_subtract(); continue; +  case '+': low_lex(); calcA(); f_add(2); continue; +  case '-': low_lex(); calcA(); o_subtract(); continue;    }    break;    }
1724:    {    switch(lookahead)    { -  case F_LSH: low_lex(); calc9(); f_lsh(); continue; -  case F_RSH: low_lex(); calc9(); f_rsh(); continue; +  case F_LSH: low_lex(); calc9(); o_lsh(); continue; +  case F_RSH: low_lex(); calc9(); o_rsh(); continue;    }    break;    }
1739:    {    switch(lookahead)    { -  case '<': low_lex(); calc8(); f_lt(); continue; -  case '>': low_lex(); calc8(); f_gt(); continue; -  case F_GE: low_lex(); calc8(); f_ge(); continue; -  case F_LE: low_lex(); calc8(); f_le(); continue; +  case '<': low_lex(); calc8(); f_lt(2); continue; +  case '>': low_lex(); calc8(); f_gt(2); continue; +  case F_GE: low_lex(); calc8(); f_ge(2); continue; +  case F_LE: low_lex(); calc8(); f_le(2); continue;    }    break;    }
1756:    {    switch(lookahead)    { -  case F_EQ: low_lex(); calc7b(); f_eq(); continue; -  case F_NE: low_lex(); calc7b(); f_ne(); continue; +  case F_EQ: low_lex(); calc7b(); f_eq(2); continue; +  case F_NE: low_lex(); calc7b(); f_ne(2); continue;    }    break;    }
1771:    {    low_lex();    calc7(); -  f_and(); +  o_and();    }   }   
1783:    {    low_lex();    calc6(); -  f_xor(); +  o_xor();    }   }   
1795:    {    low_lex();    calc5(); -  f_or(); +  o_or();    }   }   
1942:      static void start_new()   { -  struct lpc_predef_s *tmpf; +  struct pike_predef_s *tmpf;       free_all_defines();    -  simple_add_define("__uLPC__", "1",0); +  simple_add_define("__PIKE__", "1",0);    -  for (tmpf=lpc_predefs; tmpf; tmpf=tmpf->next) +  for (tmpf=pike_predefs; tmpf; tmpf=tmpf->next)    simple_add_define(tmpf->name, tmpf->value,0);       simple_add_define("__LINE__",0,insert_current_line);
1966:    current_file=0;   }    - void start_new_file(int fd,struct lpc_string *filename) + void start_new_file(int fd,struct pike_string *filename)   {    start_new();    copy_shared_string(current_file,filename);
1975:    UNGETSTR("\n",1);   }    - void start_new_string(char *s,INT32 len,struct lpc_string *name) + void start_new_string(char *s,INT32 len,struct pike_string *name)   {    start_new();    copy_shared_string(current_file,name);
2001:   void add_predefine(char *s)   {    char buffer1[100],buffer2[10000]; -  struct lpc_predef_s *tmp; +  struct pike_predef_s *tmp;       if(sscanf(s,"%[^=]=%[ -~=]",buffer1,buffer2) ==2)    {
2010:    buffer2[0]='1';    buffer2[1]=0;    } -  tmp=ALLOC_STRUCT(lpc_predef_s); +  tmp=ALLOC_STRUCT(pike_predef_s);    tmp->name=(char *)xalloc(strlen(s)+1);    strcpy(tmp->name,s);    tmp->value=(char *)xalloc(strlen(buffer2)+1);    strcpy(tmp->value,buffer2); -  tmp->next=lpc_predefs; -  lpc_predefs=tmp; +  tmp->next=pike_predefs; +  pike_predefs=tmp;   }