/[cvs]/stack/stack.c
ViewVC logotype

Log of /stack/stack.c

Parent Directory Parent Directory | Revision Log Revision Log


Links to HEAD: (view) (annotate)
Sticky Tag:

Revision 1.137 - (view) (annotate) - [select for diffs]
Thu Feb 19 15:35:38 2004 UTC (20 years, 1 month ago) by masse
Branch: MAIN
CVS Tags: HEAD
Changes since 1.136: +1 -161 lines
Diff to previous 1.136
Extracted garbage collector to gc.c


Revision 1.136 - (view) (annotate) - [select for diffs]
Mon Aug 18 14:39:16 2003 UTC (20 years, 7 months ago) by masse
Branch: MAIN
Changes since 1.135: +32 -64 lines
Diff to previous 1.135
stack.c (printerr): Modified to accept error type 5.
(check_args): Modified to accept "empty" as argument.
symbols.c: New symbols (sx_72616e646f6d), (seed), (ticks), (push) and (pop).


Revision 1.135 - (view) (annotate) - [select for diffs]
Wed Aug 13 11:58:00 2003 UTC (20 years, 7 months ago) by masse
Branch: MAIN
Changes since 1.134: +34 -48 lines
Diff to previous 1.134
messages.h: Removed "\n" at the end of messages.
stack.c, stack.h (printerr): Made function smarter.
stack.c, symbols.c: Made better use of "check_args" and "printerr".


Revision 1.134 - (view) (annotate) - [select for diffs]
Wed Aug 13 06:12:26 2003 UTC (20 years, 7 months ago) by masse
Branch: MAIN
Changes since 1.133: +30 -22 lines
Diff to previous 1.133
stack.c, symbols.c: Some functions changed to use check_args. Replaced printf
with puts where possible.


Revision 1.133 - (view) (annotate) - [select for diffs]
Mon Aug 11 14:31:48 2003 UTC (20 years, 7 months ago) by masse
Branch: MAIN
Changes since 1.132: +63 -14 lines
Diff to previous 1.132
(check_args) New function to ease the checking of parameters.


Revision 1.132 - (view) (annotate) - [select for diffs]
Fri Aug 8 14:20:49 2003 UTC (20 years, 7 months ago) by masse
Branch: MAIN
Changes since 1.131: +50 -392 lines
Diff to previous 1.131
stack.c: Trying to clean up. Moving big text mass to separate file.
Eliminating the use of function toss.


Revision 1.131 - (view) (annotate) - [select for diffs]
Tue Aug 5 09:09:51 2003 UTC (20 years, 7 months ago) by masse
Branch: MAIN
Changes since 1.130: +1 -25 lines
Diff to previous 1.130
(mangle) Moved from "stack.c" to "symbols.c".
Makefile: Added tail recursion optimization.


Revision 1.130 - (view) (annotate) - [select for diffs]
Mon Aug 4 14:32:27 2003 UTC (20 years, 7 months ago) by masse
Branch: MAIN
Changes since 1.129: +4 -4 lines
Diff to previous 1.129
Removed some more "content.ptr".


Revision 1.129 - (view) (annotate) - [select for diffs]
Mon Aug 4 14:13:16 2003 UTC (20 years, 7 months ago) by masse
Branch: MAIN
Changes since 1.128: +1 -71 lines
Diff to previous 1.128
(assocgen) Moved from "stack.c" to "symbols.c" + minor change in "stack.h".


Revision 1.128 - (view) (annotate) - [select for diffs]
Mon Aug 4 13:50:53 2003 UTC (20 years, 7 months ago) by masse
Branch: MAIN
Changes since 1.127: +16 -18 lines
Diff to previous 1.127
Trying to remove "content.ptr" and type casts from the source.


Revision 1.127 - (view) (annotate) - [select for diffs]
Mon Aug 4 11:57:33 2003 UTC (20 years, 7 months ago) by masse
Branch: MAIN
Changes since 1.126: +3 -3 lines
Diff to previous 1.126
(gc_init) Making use of macros "CAR" and "CDR".


Revision 1.126 - (view) (annotate) - [select for diffs]
Mon Aug 4 11:22:02 2003 UTC (20 years, 7 months ago) by masse
Branch: MAIN
Changes since 1.125: +226 -1615 lines
Diff to previous 1.125
(stack.c) Cleaning up.


Revision 1.125 - (view) (annotate) - [select for diffs]
Sun Mar 31 02:19:54 2002 UTC (22 years ago) by teddy
Branch: MAIN
Changes since 1.124: +5 -4 lines
Diff to previous 1.124
stack.c (main): Exit on any error from "read", not just EOF.
		Loop around if the "toss" call fails.
		Don't call 'gc_init' if we already called "eval".


Revision 1.124 - (view) (annotate) - [select for diffs]
Sat Mar 30 02:31:24 2002 UTC (22 years ago) by teddy
Branch: MAIN
Changes since 1.123: +330 -40 lines
Diff to previous 1.123
stack.c (gc_init): Don't GC ports.
(nl): Added an "environment*" argument.  All callers changed.
(nlport): New function.
(type): Know about ports.
(print_val): Added a FILE* argument to print to.  All callers changed.
	Also check for write errors from "fprintf".  Also, print
	ports.  If printing a list, goto out of it if a write error
	occurs and don't print any further.
(print_): Check for errors after "print_val".
(printport_, printport, princport_, princport): New functions.
(print_st): Added an "environment*" argument.  All callers changed.
(eval): Toss empty lists; if lists are functions, then empty lists are
	NOPs.  Also, don't eval ports.
(main): Reset error after showing it to protect "nl" and "printstack".
(copy_val): Don't protect the old value.  Was there ever a need to do
	that?  Also, know about ports.
(readline): Just call "readlinestream".
(readlineport, readlinestream): New functions.
(read): Just call "readstream".
(readport, readstream): New functions.
(sx_6f70656e, sx_636c6f7365): New functions "open" and "close".

stack.h (value.type): New type; "port".
(value.content): New container; "p".
(nl): Added an "environment*" argument.
(nlport): New function.
(print_val): Added a FILE* argument.
(printport_, printport, princport_, princport): New functions.
(print_st): Added an "environment*" argument.
(readlineport, readlinestream, readport, readstream, sx_6f70656e,
sx_636c6f7365): New functions.


Revision 1.123 - (view) (annotate) - [select for diffs]
Wed Mar 27 19:53:01 2002 UTC (22 years ago) by masse
Branch: MAIN
Changes since 1.122: +7 -1 lines
Diff to previous 1.122
stack.c: (sx_646f): New function "do".


Revision 1.122 - (view) (annotate) - [select for diffs]
Wed Mar 27 14:49:56 2002 UTC (22 years ago) by masse
Branch: MAIN
Changes since 1.121: +2 -2 lines
Diff to previous 1.121
stack.c: (foreach): Bugfix


Revision 1.121 - (view) (annotate) - [select for diffs]
Wed Mar 27 14:45:17 2002 UTC (22 years ago) by masse
Branch: MAIN
Changes since 1.120: +8 -6 lines
Diff to previous 1.120
stack.c: (to): Bugfix.


Revision 1.120 - (view) (annotate) - [select for diffs]
Thu Mar 21 03:19:32 2002 UTC (22 years ago) by teddy
Branch: MAIN
Changes since 1.119: +31 -5 lines
Diff to previous 1.119
stack.c (assocgen): New function; generalized version of "assq".
(assq): Changed to just call "assocgen" with proper arguments.

stack.h (assocgen): New function.


Revision 1.119 - (view) (annotate) - [select for diffs]
Wed Mar 20 17:19:46 2002 UTC (22 years ago) by teddy
Branch: MAIN
Changes since 1.118: +53 -1 lines
Diff to previous 1.118
stack.c (assq): New function.
stack.h (assq): New function.


Revision 1.118 - (view) (annotate) - [select for diffs]
Wed Mar 20 13:20:29 2002 UTC (22 years ago) by teddy
Branch: MAIN
Changes since 1.117: +12 -1 lines
Diff to previous 1.117
stack.c: Added a call to assert() after every malloc().


Revision 1.117 - (view) (annotate) - [select for diffs]
Wed Mar 20 05:29:29 2002 UTC (22 years ago) by teddy
Branch: MAIN
Changes since 1.116: +50 -15 lines
Diff to previous 1.116
stack.h: Reordered to match the order in "stack.c".
(print_h): Renamed to "print_val" and added an argument.
(setcar, setcdr, car, cdr, cons): Added declarations.

stack.c (CAR, CDR): Added more parentheses.
(new_val): All new values are the empty list.  All callers changed.
(print_val): Print circular lists correctly by searching a stack which
	     is passed recursively as a new argument.  All callers
	     changed.


Revision 1.116 - (view) (annotate) - [select for diffs]
Sun Mar 17 12:49:27 2002 UTC (22 years ago) by teddy
Branch: MAIN
Changes since 1.115: +26 -5 lines
Diff to previous 1.115
stack.c: Specify coding system as UTF-8.
(gc_init): Removed unused variable "iterator".  Free pairs.
(push_val, copy_val, cons): Increase env->gc_count when creating new pair.
(eval): Changed "default:" case to an enumeration of all types.
(copy_val): New case for type "empty".
(sx_72656164 "read"): Removed unused variable "ctemp".


Revision 1.115 - (view) (annotate) - [select for diffs]
Sun Mar 17 11:26:35 2002 UTC (22 years ago) by teddy
Branch: MAIN
Changes since 1.114: +30 -4 lines
Diff to previous 1.114
stack.h (cons): Renamed to "pair".  All users changed.
stack.c (cons): New function.


Revision 1.114 - (view) (annotate) - [select for diffs]
Sun Mar 17 02:15:01 2002 UTC (22 years ago) by teddy
Branch: MAIN
Changes since 1.113: +9 -6 lines
Diff to previous 1.113
stack.c (gc_init): Bugfix: Calculate strings' memory usage correctly.
(print_val): Inconsequential rewrite.
(sx_72656164 "read"): Bugfix: Extra case for empty strings.


Revision 1.113 - (view) (annotate) - [select for diffs]
Sun Mar 17 00:55:58 2002 UTC (22 years ago) by teddy
Branch: MAIN
Changes since 1.112: +91 -22 lines
Diff to previous 1.112
stack.c (CAR, CDR): Extra parentheses around macros is probably a good idea.
(type): "list" renamed to "pair".
(print_h): Renamed to "print_val", and it now takes a value, not a
	   stack.  All callers changed.  Also, bugfix: print improper
	   lists correctly.
(setcar, setcdr, car, cdr): New functions.


Revision 1.112 - (view) (annotate) - [select for diffs]
Sat Mar 16 20:09:51 2002 UTC (22 years ago) by teddy
Branch: MAIN
Changes since 1.111: +21 -11 lines
Diff to previous 1.111
stack.c (type): Eliminated unnecessary variable "typenum".
		Detect type of empty list value.
		Bugfix: Toss the *value*, not the *result*...
(print_h): Print empty list value correctly.


Revision 1.111 - (view) (annotate) - [select for diffs]
Sat Mar 16 19:09:54 2002 UTC (22 years ago) by teddy
Branch: MAIN
Changes since 1.110: +75 -65 lines
Diff to previous 1.110
The empty list and the indicator of the end of a list is no longer a
value* which is NULL, but the "empty list" value, a type of its own.
All affected functions changed.

stack.h (value.type): New type, "empty".
(environment): Comments added.

stack.c (print_h): Print improper lists correctly.
(rev): Don't bother reversing an empty list value.
(forget): Eliminate unnecessary variable "stack_head".
(copying): Fixed centering of first line.


Revision 1.110 - (view) (annotate) - [select for diffs]
Sat Mar 16 09:12:39 2002 UTC (22 years ago) by teddy
Branch: MAIN
Changes since 1.109: +46 -15 lines
Diff to previous 1.109
stack.c (gc_init): Extra optional debugging output.
(rcl): Don't call protect(), no need for it if we don't toss the value.
(eval): Don't crash on lists with exactly one element.
(quit): Print all defined words (hopefully none) just before quitting.
(words): Extra optional debugging output.
(main): Changed ` to ' where appropriate.
	On EOF, reset error flag before calling "quit".


Revision 1.109 - (view) (annotate) - [select for diffs]
Thu Mar 14 10:39:11 2002 UTC (22 years ago) by masse
Branch: MAIN
Changes since 1.108: +26 -3 lines
Diff to previous 1.108
stack.c:
(sx_656c7365): "else" now requires a "then".
(then): New function.


Revision 1.108 - (view) (annotate) - [select for diffs]
Tue Mar 12 22:03:21 2002 UTC (22 years ago) by masse
Branch: MAIN
Changes since 1.107: +8 -4 lines
Diff to previous 1.107
Makefile (LDFLAGS): Include commented-out alternate setting.
stack.c (new_val): New values are integers.
(push_val): Check malloc return value.
(copy_val): Don't protect new_val.


Revision 1.107 - (view) (annotate) - [select for diffs]
Tue Mar 12 21:05:11 2002 UTC (22 years ago) by masse
Branch: MAIN
Changes since 1.106: +10 -1 lines
Diff to previous 1.106
stack.c (beep): #ifdef'ed out if not linux.


Revision 1.106 - (view) (annotate) - [select for diffs]
Tue Mar 12 15:13:48 2002 UTC (22 years ago) by masse
Branch: MAIN
Changes since 1.105: +21 -1 lines
Diff to previous 1.105
stack.c:
(sx_656c7365): New function "else".


Revision 1.105 - (view) (annotate) - [select for diffs]
Tue Mar 12 14:53:19 2002 UTC (22 years ago) by masse
Branch: MAIN
Changes since 1.104: +12 -13 lines
Diff to previous 1.104
stack.h:
(value->content.sym): New entry in content union. All callers changed.

stack.c:
(foreach): Bugfix.


Revision 1.104 - (view) (annotate) - [select for diffs]
Tue Mar 12 14:06:05 2002 UTC (22 years ago) by masse
Branch: MAIN
Changes since 1.103: +272 -294 lines
Diff to previous 1.103
stack.c:
(CAR, CDR): New macros. All callers changed.

stack.h:
(environment.head): Changed type to "*value". All callers changed.


Revision 1.103 - (view) (annotate) - [select for diffs]
Mon Mar 11 08:52:59 2002 UTC (22 years ago) by teddy
Branch: MAIN
Changes since 1.102: +39 -29 lines
Diff to previous 1.102
stack.h: Some comments added.
stack.c (print_h, eval, rev, expand, copy_val, foreach, to):
	content.ptr changed to content.c in those places where the
	type already has been checked to be "tcons" or where it's part
	of the stack, (which always must be a proper list).
(eval, expand, foreach): Check for improper lists.
(copy_val): Don't loop, recurse into both car and cdr instead.


Revision 1.102 - (view) (annotate) - [select for diffs]
Sun Mar 10 20:08:47 2002 UTC (22 years ago) by masse
Branch: MAIN
Changes since 1.101: +320 -346 lines
Diff to previous 1.101
Modified internal data structure to use cons cells instead of simple linked
lists. There is now a new value type "tcons".


Revision 1.101 - (view) (annotate) - [select for diffs]
Sun Mar 10 13:00:01 2002 UTC (22 years ago) by teddy
Branch: MAIN
Changes since 1.100: +9 -4 lines
Diff to previous 1.100
stack.c (gc_init): printf format bug fix.
(gc_init): Also decrease gc_count by length of strings.
(push_cstring): Increase gc_count by string length.


Revision 1.100 - (view) (annotate) - [select for diffs]
Sun Mar 10 12:05:20 2002 UTC (22 years ago) by teddy
Branch: MAIN
Changes since 1.99: +25 -8 lines
Diff to previous 1.99
stack.c: environment.gc_limit and environment.gc_count is now measured
in bytes, not number of sizeof(value). All increasers and decreasers
changed.
(init_env): Default gc_limit is now 400000, same as Emacs.
(toss): Don't decrease gc_limit or gc_count (both would be wrong).
(gc_init): Print garbage collecting messages if interactive.
(gc_init): Increase gc_count for every value not collected.
(gc_init): Never make gc_limit smaller than its current value.


Revision 1.99 - (view) (annotate) - [select for diffs]
Sun Mar 10 10:06:36 2002 UTC (22 years ago) by teddy
Branch: MAIN
Changes since 1.98: +11 -11 lines
Diff to previous 1.98
stack.h (value): Renamed gc_protect to gc.flag.protect and replaced gc_garb with gc.flag.mark with reversed meaning.  All users changed.
(value): New field "no_gc", which is both flag.protect and flag.mark.
stack.c: All users of gc_protect and gc_garb changed.
(gc_init): Check both mark and protect at the same time through gc.no_gc.
(new_val): Initialize gc.flag.protect too.


Revision 1.98 - (view) (annotate) - [select for diffs]
Sun Mar 10 09:13:36 2002 UTC (22 years ago) by masse
Branch: MAIN
Changes since 1.97: +59 -43 lines
Diff to previous 1.97
(protect, unprotect): Changed behaviour to mimic gc_mark. All callers changed.


Revision 1.97 - (view) (annotate) - [select for diffs]
Sun Mar 10 08:30:43 2002 UTC (22 years ago) by masse
Branch: MAIN
Changes since 1.96: +14 -18 lines
Diff to previous 1.96
stack.c (new_val): Set gc_garb flag.
(gc_mark): Removed check if val is NULL.
(gc_init): Various optimizations.
fib.st: Changed to calculate "15 fib;".


Revision 1.96 - (view) (annotate) - [select for diffs]
Sun Mar 10 07:55:13 2002 UTC (22 years ago) by teddy
Branch: MAIN
Changes since 1.95: +15 -13 lines
Diff to previous 1.95
Makefile: Compile with "-pg" for profiling.
stack.c: Some optimizing:
(init_env): Increased gc_limit.
(toss, new_val): Don't run GC.
(gc_mark): Declare inline.
(gc_maybe): New function, all callers of gc_init calls this one instead.
(eval): Call gc_maybe.


Revision 1.95 - (view) (annotate) - [select for diffs]
Sun Mar 10 06:34:01 2002 UTC (22 years ago) by masse
Branch: MAIN
Changes since 1.94: +123 -63 lines
Diff to previous 1.94
Cosmetic changes.
stack.c (to): Rewritten to mimic behaviour of "pack".


Revision 1.94 - (view) (annotate) - [select for diffs]
Sat Mar 9 09:58:31 2002 UTC (22 years ago) by masse
Branch: MAIN
Changes since 1.93: +28 -2 lines
Diff to previous 1.93
(sx_646976): New function "div", integer division.


Revision 1.93 - (view) (annotate) - [select for diffs]
Fri Mar 8 16:09:30 2002 UTC (22 years ago) by masse
Branch: MAIN
Changes since 1.92: +334 -100 lines
Diff to previous 1.92
(new_val, gc_init, push_sym, eval, pack, copy_val, to, sx_72656164):
Bugfix in GC.
(push_int, push_float, type, print_h, not, sx_2b, sx_2d, sx_3e, sx_6966,
ifelse, sx_7768696c65, sx_666f72, to, beep, sx_2a, sx_2f, mod):
New value type "tfloat".
(sx_3c, sx_3c3d, sx_3e3d): New functions "<", "<=" and ">=".


Revision 1.92 - (view) (annotate) - [select for diffs]
Fri Mar 8 06:44:15 2002 UTC (22 years ago) by masse
Branch: MAIN
Changes since 1.91: +76 -1 lines
Diff to previous 1.91
(sx_2a, sx_2f, mod): "*", "/" and "mod". Arithmetic functions.


Revision 1.91 - (view) (annotate) - [select for diffs]
Thu Mar 7 03:28:29 2002 UTC (22 years ago) by teddy
Branch: MAIN
Changes since 1.90: +385 -2 lines
Diff to previous 1.90
GPL stuff:
stack.c, stack.h, Makefile: Added notices
stack.c (copying, warranty): New functions.
stack.h (copying, warranty): - '' -

Other stuff:
Makefile (stack): New explicit rule to depend on "stack.h" too.
(mtrace): Depend on "stack", not "all".
(check): New target.
stack.c (main): Don't return error on EOF.
(beep, wait): New functions.
stack.h (beep, wait): - '' -


Revision 1.90 - (view) (annotate) - [select for diffs]
Thu Mar 7 01:21:07 2002 UTC (22 years ago) by masse
Branch: MAIN
Changes since 1.89: +113 -61 lines
Diff to previous 1.89
(protect, unprotect): New functions to protect values from GC.


Revision 1.89 - (view) (annotate) - [select for diffs]
Sun Feb 17 04:03:57 2002 UTC (22 years, 1 month ago) by masse
Branch: MAIN
Changes since 1.88: +53 -6 lines
Diff to previous 1.88
(new_val, gc_init, main) GC bugfix/trimming.
(sx_666f72 "for") Changed name to "foreach".
(sx_666f72) New function.
(eval) "(*func)()" is equal to "func()".
(value) Data structure optimation.
(stack.h) Removed variable names from prototypes.


Revision 1.88 - (view) (annotate) - [select for diffs]
Sat Feb 16 00:51:32 2002 UTC (22 years, 1 month ago) by teddy
Branch: MAIN
Changes since 1.87: +1 -69 lines
Diff to previous 1.87
Separated into header file and C file.


Revision 1.87 - (view) (annotate) - [select for diffs]
Fri Feb 15 18:27:18 2002 UTC (22 years, 1 month ago) by masse
Branch: MAIN
Changes since 1.86: +134 -109 lines
Diff to previous 1.86
Added GC:
(free_val) Removed (all callers changed).
(new_val, gc_mark, gc_init) New functions.
(copy_val) Added argument with pointer to current environment.


Revision 1.86 - (view) (annotate) - [select for diffs]
Fri Feb 15 14:44:24 2002 UTC (22 years, 1 month ago) by teddy
Branch: MAIN
Changes since 1.85: +4 -4 lines
Diff to previous 1.85
(push_sym): Search for the mangled name *before* trying the unmangled name.


Revision 1.85 - (view) (annotate) - [select for diffs]
Fri Feb 15 12:45:28 2002 UTC (22 years, 1 month ago) by teddy
Branch: MAIN
Changes since 1.84: +18 -15 lines
Diff to previous 1.84
(main): Only reset error flag after a complete read.

More consistent comments on mangled functions.


Revision 1.84 - (view) (annotate) - [select for diffs]
Fri Feb 15 01:21:13 2002 UTC (22 years, 1 month ago) by teddy
Branch: MAIN
Changes since 1.83: +63 -20 lines
Diff to previous 1.83
(environment): New members "inputstream" and "interactive".
(init_env): Init all members in the same order as in the struct.
(quit): Bug fix: Don't run "words".
(main): Read options with getopt.  Set the interactive flag.
	Exit on error 4 (EOF) from "read".
(dup): Renamed/mangled to "sx_647570".  All callers changed.
(readline): Push "" if EOF.
(read): Renamed/mangled to "sx_72656164".  All callers changed.
	Don't print prompt unless interactive.
	Abort with error 4 on EOF.


Revision 1.83 - (view) (annotate) - [select for diffs]
Thu Feb 14 22:44:49 2002 UTC (22 years, 1 month ago) by masse
Branch: MAIN
Changes since 1.82: +24 -8 lines
Diff to previous 1.82
(Makefile) Added target to trace memory leaks.
(push_int, push_cstring, pack, read, quit) Memory leaks patched.


Revision 1.82 - (view) (annotate) - [select for diffs]
Thu Feb 14 19:49:48 2002 UTC (22 years, 1 month ago) by masse
Branch: MAIN
Changes since 1.81: +5 -4 lines
Diff to previous 1.81
(free_val) Can now free symbols.
(push_int, push_cstring) Bugfix.


Revision 1.81 - (view) (annotate) - [select for diffs]
Thu Feb 14 19:20:28 2002 UTC (22 years, 1 month ago) by masse
Branch: MAIN
Changes since 1.80: +8 -12 lines
Diff to previous 1.80
(environment) Removed non_eval_flag (all users changed).
(free_val) Always free the value struct and id tag when refcount is 0.
(push_int, push_cstring) Set id tag to NULL.
(mangle) Use push_cstring instead of push_val.


Revision 1.80 - (view) (annotate) - [select for diffs]
Thu Feb 14 12:20:09 2002 UTC (22 years, 1 month ago) by teddy
Branch: MAIN
Changes since 1.79: +37 -10 lines
Diff to previous 1.79
(print_h): New argument "noquote"; used by "print_" and "print_st",
	   which are changed.
(princ, princ_): New; print strings unquoted.
(printstack): Print message instead of nothing when stack is empty.
(eval): Bug fix: Move label above error check to fix "[;];".
(quit): Bug fix: Correctly forget all symbols.
(main): Print a newline before the stack, and a prompt after it.
(read): Print a prompt of our own if we are reading a list.


Revision 1.79 - (view) (annotate) - [select for diffs]
Thu Feb 14 12:01:58 2002 UTC (22 years, 1 month ago) by masse
Branch: MAIN
Changes since 1.78: +1 -1 lines
Diff to previous 1.78
(quit) Bugfix.


Revision 1.78 - (view) (annotate) - [select for diffs]
Thu Feb 14 05:21:06 2002 UTC (22 years, 1 month ago) by teddy
Branch: MAIN
Changes since 1.77: +41 -33 lines
Diff to previous 1.77
(environment): New field "free_string".
(rev): Reverted to version 1.75; there was nothing wrong with it.
(read): Rewritten to use "%n" instead of "%[\001-\377]".


Revision 1.77 - (view) (annotate) - [select for diffs]
Wed Feb 13 19:53:55 2002 UTC (22 years, 1 month ago) by teddy
Branch: MAIN
Changes since 1.76: +28 -10 lines
Diff to previous 1.76
(quit): Free all memory before exiting.
(forget): Call 'forget_sym' to do the work.
(forget_sym): New internal function that doesn't do hashing.


Revision 1.76 - (view) (annotate) - [select for diffs]
Wed Feb 13 00:47:36 2002 UTC (22 years, 1 month ago) by masse
Branch: MAIN
Changes since 1.75: +10 -9 lines
Diff to previous 1.75
(rev) Rewritten to allow reversion of lists with up to 1000000 elements.


Revision 1.75 - (view) (annotate) - [select for diffs]
Wed Feb 13 00:16:00 2002 UTC (22 years, 1 month ago) by masse
Branch: MAIN
Changes since 1.74: +5 -20 lines
Diff to previous 1.74
(push) Removed. (changed every caller to call 'push_val' instead.)


Revision 1.74 - (view) (annotate) - [select for diffs]
Tue Feb 12 23:59:05 2002 UTC (22 years, 1 month ago) by masse
Branch: MAIN
Changes since 1.73: +13 -8 lines
Diff to previous 1.73
(pack) Changed to use 'push_val' instead of 'push'
(to) Changed to not use 'pack'. 'to' can now count upto 1000000 without
segmentation fault.


Revision 1.73 - (view) (annotate) - [select for diffs]
Tue Feb 12 23:16:56 2002 UTC (22 years, 1 month ago) by masse
Branch: MAIN
Changes since 1.72: +5 -8 lines
Diff to previous 1.72
(pack) Changed so that it only accepts '[' and ']' as
delimiters (all callers changed).


Revision 1.72 - (view) (annotate) - [select for diffs]
Tue Feb 12 22:13:12 2002 UTC (22 years, 1 month ago) by masse
Branch: MAIN
Changes since 1.71: +32 -32 lines
Diff to previous 1.71
(push, push_val, push_int, push_cstring) Changed first argument to
"environment *env" similar to push_sym (all callers changed).


Revision 1.71 - (view) (annotate) - [select for diffs]
Mon Feb 11 22:07:47 2002 UTC (22 years, 1 month ago) by masse
Branch: MAIN
Changes since 1.70: +14 -110 lines
Diff to previous 1.70
(eval) Removed possibility to eval strings.
(stack_read) Removed.
(main) Runs 'printstack' instead of printing "okidok".
(read) Bugfix.


Revision 1.70 - (view) (annotate) - [select for diffs]
Mon Feb 11 01:20:35 2002 UTC (22 years, 1 month ago) by masse
Branch: MAIN
Changes since 1.69: +17 -16 lines
Diff to previous 1.69
(environment) Added new member 'in_string' (all users changed).
(read) Bug fix.


Revision 1.69 - (view) (annotate) - [select for diffs]
Mon Feb 11 00:54:04 2002 UTC (22 years, 1 month ago) by masse
Branch: MAIN
Changes since 1.68: +9 -6 lines
Diff to previous 1.68
(main) Use 'read' instead of 'stack_read'.


Revision 1.68 - (view) (annotate) - [select for diffs]
Mon Feb 11 00:27:18 2002 UTC (22 years, 1 month ago) by masse
Branch: MAIN
Changes since 1.67: +68 -0 lines
Diff to previous 1.67
(readline, read) New functions.


Revision 1.67 - (view) (annotate) - [select for diffs]
Sat Feb 9 00:57:05 2002 UTC (22 years, 1 month ago) by masse
Branch: MAIN
Changes since 1.66: +7 -2 lines
Diff to previous 1.66
(to) Can count down.


Revision 1.66 - (view) (annotate) - [select for diffs]
Sat Feb 9 00:40:45 2002 UTC (22 years, 1 month ago) by masse
Branch: MAIN
Changes since 1.65: +31 -0 lines
Diff to previous 1.65
(to) New function.


Revision 1.65 - (view) (annotate) - [select for diffs]
Sat Feb 9 00:20:02 2002 UTC (22 years, 1 month ago) by masse
Branch: MAIN
Changes since 1.64: +39 -0 lines
Diff to previous 1.64
(sx_666f72 'for') New function.


Revision 1.64 - (view) (annotate) - [select for diffs]
Fri Feb 8 16:33:14 2002 UTC (22 years, 1 month ago) by teddy
Branch: MAIN
Changes since 1.63: +5 -3 lines
Diff to previous 1.63
(eval): Use "goto" to run tail recursive functions in constant space.


Revision 1.63 - (view) (annotate) - [select for diffs]
Fri Feb 8 13:01:16 2002 UTC (22 years, 1 month ago) by masse
Branch: MAIN
Changes since 1.62: +15 -7 lines
Diff to previous 1.62
(sx_7768696c65 'while') Rewrite/bugfix.


Revision 1.62 - (view) (annotate) - [select for diffs]
Fri Feb 8 06:23:19 2002 UTC (22 years, 1 month ago) by teddy
Branch: MAIN
Changes since 1.61: +26 -8 lines
Diff to previous 1.61
(sx_2b, sx_2d, sx_3e): Reuse the top integer value, but only if it's safe.


Revision 1.61 - (view) (annotate) - [select for diffs]
Fri Feb 8 05:37:54 2002 UTC (22 years, 1 month ago) by teddy
Branch: MAIN
Changes since 1.60: +22 -0 lines
Diff to previous 1.60
(sx_3e): New function ">".


Revision 1.60 - (view) (annotate) - [select for diffs]
Fri Feb 8 05:12:37 2002 UTC (22 years, 1 month ago) by teddy
Branch: MAIN
Changes since 1.59: +22 -0 lines
Diff to previous 1.59
(sx_2d): New function "-".


Revision 1.59 - (view) (annotate) - [select for diffs]
Fri Feb 8 04:58:23 2002 UTC (22 years, 1 month ago) by teddy
Branch: MAIN
Changes since 1.58: +14 -20 lines
Diff to previous 1.58
(type, print_h): Removed default case.
(eval): Various changes to try and make tail recursive lists eval in constant space.


Revision 1.58 - (view) (annotate) - [select for diffs]
Fri Feb 8 03:45:00 2002 UTC (22 years, 1 month ago) by masse
Branch: MAIN
Changes since 1.57: +39 -1 lines
Diff to previous 1.57
(print_h) Don't print "string" when I want to print string.
(sx_7768696c65 'while' mangled) New function.


Revision 1.57 - (view) (annotate) - [select for diffs]
Fri Feb 8 03:10:30 2002 UTC (22 years, 1 month ago) by masse
Branch: MAIN
Changes since 1.56: +2 -4 lines
Diff to previous 1.56
(ift) changed name to sx_6966 ('if' mangled).
(ifte) changed name to ifelse.


Revision 1.56 - (view) (annotate) - [select for diffs]
Fri Feb 8 02:28:41 2002 UTC (22 years, 1 month ago) by teddy
Branch: MAIN
Changes since 1.55: +87 -0 lines
Diff to previous 1.55
(rot, ift, ifte): New functions.


Revision 1.55 - (view) (annotate) - [select for diffs]
Fri Feb 8 00:59:34 2002 UTC (22 years, 1 month ago) by teddy
Branch: MAIN
Changes since 1.54: +55 -0 lines
Diff to previous 1.54
(copy_val): New function; makes a copy of a value.
(dup): New function; uses 'copy_val' to make a copy of an item on the stack.


Revision 1.54 - (view) (annotate) - [select for diffs]
Fri Feb 8 00:25:57 2002 UTC (22 years, 1 month ago) by teddy
Branch: MAIN
Changes since 1.53: +5 -2 lines
Diff to previous 1.53
(free_val, eval): Changed "default:" cases to instead enumerate the
                  possible types.


Revision 1.53 - (view) (annotate) - [select for diffs]
Thu Feb 7 23:56:54 2002 UTC (22 years, 1 month ago) by teddy
Branch: MAIN
Changes since 1.52: +2 -2 lines
Diff to previous 1.52
(mangle_str): Handle eight-bit characters.


Revision 1.52 - (view) (annotate) - [select for diffs]
Thu Feb 7 23:55:21 2002 UTC (22 years, 1 month ago) by teddy
Branch: MAIN
Changes since 1.51: +3 -5 lines
Diff to previous 1.51
Headers: Updated comments.  Removed <assert.h>.


Revision 1.51 - (view) (annotate) - [select for diffs]
Thu Feb 7 23:53:14 2002 UTC (22 years, 1 month ago) by teddy
Branch: MAIN
Changes since 1.50: +3 -3 lines
Diff to previous 1.50
(mangle_): Renamed to "mangle_str".  All callers changed.


Revision 1.50 - (view) (annotate) - [select for diffs]
Thu Feb 7 23:52:20 2002 UTC (22 years, 1 month ago) by teddy
Branch: MAIN
Changes since 1.49: +1 -1 lines
Diff to previous 1.49
(mangle_): Bug fix


Revision 1.49 - (view) (annotate) - [select for diffs]
Thu Feb 7 05:24:19 2002 UTC (22 years, 1 month ago) by masse
Branch: MAIN
Changes since 1.48: +22 -1 lines
Diff to previous 1.48
(eval) Bugfix.
(sx_2b) Can now concatenate strings.


Revision 1.48 - (view) (annotate) - [select for diffs]
Thu Feb 7 04:34:42 2002 UTC (22 years, 1 month ago) by teddy
Branch: MAIN
Changes since 1.47: +130 -47 lines
Diff to previous 1.47
(mangle, mangle_): New functions to mangle symbol names into acceptable C identifiers.
(printerr, toss): Moved upward.  We REALLY need a header file.


Revision 1.47 - (view) (annotate) - [select for diffs]
Thu Feb 7 04:11:10 2002 UTC (22 years, 1 month ago) by masse
Branch: MAIN
Changes since 1.46: +9 -8 lines
Diff to previous 1.46
(eval) Cosmetic changes.


Revision 1.46 - (view) (annotate) - [select for diffs]
Thu Feb 7 03:56:39 2002 UTC (22 years, 1 month ago) by masse
Branch: MAIN
Changes since 1.45: +45 -38 lines
Diff to previous 1.45
Cosmetic changes.
(eval) Added possibility to eval strings.
(environment) Now contains non_eval_flag.


Revision 1.45 - (view) (annotate) - [select for diffs]
Thu Feb 7 01:06:44 2002 UTC (22 years, 1 month ago) by teddy
Branch: MAIN
Changes since 1.44: +1 -1 lines
Diff to previous 1.44
(print_h): Fixed print<->read equivalence of symbols.


Revision 1.44 - (view) (annotate) - [select for diffs]
Thu Feb 7 01:01:02 2002 UTC (22 years, 1 month ago) by masse
Branch: MAIN
Changes since 1.43: +25 -1 lines
Diff to previous 1.43
(eval) Added functionality to evaluate a list.


Revision 1.43 - (view) (annotate) - [select for diffs]
Wed Feb 6 23:27:22 2002 UTC (22 years, 1 month ago) by masse
Branch: MAIN
Changes since 1.42: +11 -0 lines
Diff to previous 1.42
(stack_read) Added functionality to accept comments as in bourne shell.
(expand) Flips list before expanding.


Revision 1.42 - (view) (annotate) - [select for diffs]
Wed Feb 6 21:26:46 2002 UTC (22 years, 1 month ago) by teddy
Branch: MAIN
Changes since 1.41: +1 -0 lines
Diff to previous 1.41
(main): Return EXIT_FAILURE as a fallback.


Revision 1.41 - (view) (annotate) - [select for diffs]
Wed Feb 6 21:21:48 2002 UTC (22 years, 1 month ago) by teddy
Branch: MAIN
Changes since 1.40: +1 -2 lines
Diff to previous 1.40
(main): Use "quit" function, not exit().


Revision 1.40 - (view) (annotate) - [select for diffs]
Wed Feb 6 11:44:02 2002 UTC (22 years, 1 month ago) by teddy
Branch: MAIN
Changes since 1.39: +28 -27 lines
Diff to previous 1.39
(pack): Reverse new lists so that they can be traversed in the correct
	order.
(rev): Moved to before "pack".  There really ought to be a header file.


Revision 1.39 - (view) (annotate) - [select for diffs]
Wed Feb 6 11:39:20 2002 UTC (22 years, 1 month ago) by teddy
Branch: MAIN
Changes since 1.38: +28 -1 lines
Diff to previous 1.38
(rev): New function to reverse a list.


Revision 1.38 - (view) (annotate) - [select for diffs]
Wed Feb 6 11:15:05 2002 UTC (22 years, 1 month ago) by teddy
Branch: MAIN
Changes since 1.37: +10 -2 lines
Diff to previous 1.37
Print lists.


Revision 1.37 - (view) (annotate) - [select for diffs]
Wed Feb 6 01:51:08 2002 UTC (22 years, 1 month ago) by teddy
Branch: MAIN
Changes since 1.36: +36 -6 lines
Diff to previous 1.36
(free_val): fixed bug when freeing string values
(type): New function; gets the type of a value
(printstack): An empty stack is not an error anymore
(stack_read): Return void


Revision 1.36 - (view) (annotate) - [select for diffs]
Wed Feb 6 00:52:31 2002 UTC (22 years, 1 month ago) by teddy
Branch: MAIN
Changes since 1.35: +50 -22 lines
Diff to previous 1.35
Standardized all error messages.
(errn): New function to get error number.


Revision 1.35 - (view) (annotate) - [select for diffs]
Wed Feb 6 00:30:14 2002 UTC (22 years, 1 month ago) by teddy
Branch: MAIN
Changes since 1.34: +45 -40 lines
Diff to previous 1.34
(value): Removed reference type.
(push, push_int, push_cstring, push_sym): Changed to return void.
(environment): New member "err".  All functions adapted.
(print_h): Differentiate between functions, lists, and unknown objects.
(eval): Changed to use "rcl".
(main): Show and clear error condition.


Revision 1.34 - (view) (annotate) - [select for diffs]
Tue Feb 5 23:26:46 2002 UTC (22 years, 1 month ago) by masse
Branch: MAIN
Changes since 1.33: +28 -2 lines
Diff to previous 1.33
Added funtion 'forget'.


Revision 1.33 - (view) (annotate) - [select for diffs]
Tue Feb 5 23:00:42 2002 UTC (22 years, 1 month ago) by teddy
Branch: MAIN
Changes since 1.32: +8 -1 lines
Diff to previous 1.32
New error flag in environment.  Bug fix in "rcl" for undefined
variables.


Revision 1.32 - (view) (annotate) - [select for diffs]
Tue Feb 5 22:28:04 2002 UTC (22 years, 1 month ago) by masse
Branch: MAIN
Changes since 1.31: +14 -0 lines
Diff to previous 1.31
Added function 'words'.


Revision 1.31 - (view) (annotate) - [select for diffs]
Tue Feb 5 22:25:04 2002 UTC (22 years, 1 month ago) by teddy
Branch: MAIN
Changes since 1.30: +17 -0 lines
Diff to previous 1.30
New function "rcl".


Revision 1.30 - (view) (annotate) - [select for diffs]
Tue Feb 5 12:33:21 2002 UTC (22 years, 1 month ago) by teddy
Branch: MAIN
Changes since 1.29: +2 -5 lines
Diff to previous 1.29
Cosmetic changes.


Revision 1.29 - (view) (annotate) - [select for diffs]
Tue Feb 5 12:14:42 2002 UTC (22 years, 1 month ago) by teddy
Branch: MAIN
Changes since 1.28: +56 -32 lines
Diff to previous 1.28
Fixed binding of variables.


Revision 1.28 - (view) (annotate) - [select for diffs]
Mon Feb 4 21:47:26 2002 UTC (22 years, 1 month ago) by teddy
Branch: MAIN
Changes since 1.27: +276 -208 lines
Diff to previous 1.27
Major data structure overhaul.  Everything changed.


Revision 1.27 - (view) (annotate) - [select for diffs]
Sat Feb 2 22:22:04 2002 UTC (22 years, 1 month ago) by teddy
Branch: MAIN
Changes since 1.26: +1 -5 lines
Diff to previous 1.26
Remove Emacs local variables.


Revision 1.26 - (view) (annotate) - [select for diffs]
Sat Feb 2 20:49:34 2002 UTC (22 years, 1 month ago) by masse
Branch: MAIN
Changes since 1.25: +41 -22 lines
Diff to previous 1.25
Now it's possible to store and access variables.


Revision 1.25 - (view) (annotate) - [select for diffs]
Sat Feb 2 20:06:11 2002 UTC (22 years, 1 month ago) by masse
Branch: MAIN
Changes since 1.24: +2 -3 lines
Diff to previous 1.24
Minor changes.


Revision 1.24 - (view) (annotate) - [select for diffs]
Sat Feb 2 19:30:07 2002 UTC (22 years, 1 month ago) by masse
Branch: MAIN
Changes since 1.23: +25 -15 lines
Diff to previous 1.23
Added possibility to make empty lists.


Revision 1.23 - (view) (annotate) - [select for diffs]
Sat Feb 2 18:36:19 2002 UTC (22 years, 1 month ago) by masse
Branch: MAIN
Changes since 1.22: +16 -10 lines
Diff to previous 1.22
Cleanup of print_ .


Revision 1.22 - (view) (annotate) - [select for diffs]
Sat Feb 2 18:11:54 2002 UTC (22 years, 1 month ago) by masse
Branch: MAIN
Changes since 1.21: +11 -6 lines
Diff to previous 1.21
Cleanup of function "eval".


Revision 1.21 - (view) (annotate) - [select for diffs]
Sat Feb 2 15:26:10 2002 UTC (22 years, 2 months ago) by masse
Branch: MAIN
Changes since 1.20: +6 -5 lines
Diff to previous 1.20
Corrections.


Revision 1.20 - (view) (annotate) - [select for diffs]
Sat Feb 2 15:12:56 2002 UTC (22 years, 2 months ago) by masse
Branch: MAIN
Changes since 1.19: +14 -1 lines
Diff to previous 1.19
Now it's possible to make lists with ';' as list elements,
i.e. [ "Hey!" print; ].


Revision 1.19 - (view) (annotate) - [select for diffs]
Sat Feb 2 14:50:44 2002 UTC (22 years, 2 months ago) by masse
Branch: MAIN
Changes since 1.18: +49 -41 lines
Diff to previous 1.18
Lists can now be made just by typing "[ 1 2 3 4 ]".


Revision 1.18 - (view) (annotate) - [select for diffs]
Fri Feb 1 23:30:55 2002 UTC (22 years, 2 months ago) by teddy
Branch: MAIN
Changes since 1.17: +18 -12 lines
Diff to previous 1.17
Some doc fixes and some checks.


Revision 1.17 - (view) (annotate) - [select for diffs]
Thu Jan 31 23:09:07 2002 UTC (22 years, 2 months ago) by masse
Branch: MAIN
Changes since 1.16: +38 -10 lines
Diff to previous 1.16
Added error messages.


Revision 1.16 - (view) (annotate) - [select for diffs]
Thu Jan 31 22:32:59 2002 UTC (22 years, 2 months ago) by masse
Branch: MAIN
Changes since 1.15: +46 -32 lines
Diff to previous 1.15
Minor changes. Added some more comments.


Revision 1.15 - (view) (annotate) - [select for diffs]
Thu Jan 31 21:47:20 2002 UTC (22 years, 2 months ago) by masse
Branch: MAIN
Changes since 1.14: +27 -10 lines
Diff to previous 1.14
Made stack_read readable.


Revision 1.14 - (view) (annotate) - [select for diffs]
Thu Jan 31 19:51:12 2002 UTC (22 years, 2 months ago) by masse
Branch: MAIN
Changes since 1.13: +29 -3 lines
Diff to previous 1.13
Added comments to the code.


Revision 1.13 - (view) (annotate) - [select for diffs]
Wed Jan 9 05:01:24 2002 UTC (22 years, 2 months ago) by masse
Branch: MAIN
Changes since 1.12: +3 -1 lines
Diff to previous 1.12
stack_read modified to accept single characters escaped with backslash.


Revision 1.12 - (view) (annotate) - [select for diffs]
Tue Jan 8 18:58:27 2002 UTC (22 years, 2 months ago) by masse
Branch: MAIN
Changes since 1.11: +19 -1 lines
Diff to previous 1.11
New function "def" for defining new variables and such. You can't access
the variables yet though. This needs some thought and working on.


Revision 1.11 - (view) (annotate) - [select for diffs]
Tue Jan 8 18:06:19 2002 UTC (22 years, 2 months ago) by masse
Branch: MAIN
Changes since 1.10: +37 -3 lines
Diff to previous 1.10
New functions: eq, not, neq.


Revision 1.10 - (view) (annotate) - [select for diffs]
Tue Jan 8 17:31:27 2002 UTC (22 years, 2 months ago) by masse
Branch: MAIN
Changes since 1.9: +13 -2 lines
Diff to previous 1.9
New function "swap". No explanation needed.


Revision 1.9 - (view) (annotate) - [select for diffs]
Tue Jan 8 14:31:23 2002 UTC (22 years, 2 months ago) by masse
Branch: MAIN
Changes since 1.8: +3 -3 lines
Diff to previous 1.8
Minor change in push_ref.


Revision 1.8 - (view) (annotate) - [select for diffs]
Tue Jan 8 14:17:33 2002 UTC (22 years, 2 months ago) by masse
Branch: MAIN
Changes since 1.7: +44 -38 lines
Diff to previous 1.7
New function "expand" to match the "pack" function.


Revision 1.7 - (view) (annotate) - [select for diffs]
Tue Jan 8 13:46:05 2002 UTC (22 years, 2 months ago) by masse
Branch: MAIN
Changes since 1.6: +39 -1 lines
Diff to previous 1.6
New funtion "pack" to make lists (made new type list in struct).


Revision 1.6 - (view) (annotate) - [select for diffs]
Tue Jan 8 12:33:57 2002 UTC (22 years, 2 months ago) by masse
Branch: MAIN
Changes since 1.5: +10 -5 lines
Diff to previous 1.5
Now, print and printstack print the symbol name and
dlopen(NULL, RTLD_LAZY) is only called once. The handle is stored in
a static variable in push_ref().


Revision 1.5 - (view) (annotate) - [select for diffs]
Tue Jan 8 00:03:16 2002 UTC (22 years, 2 months ago) by teddy
Branch: MAIN
Changes since 1.4: +16 -3 lines
Diff to previous 1.4
(print): Changed if...else to a switch...case.
(quit): New function.


Revision 1.4 - (view) (annotate) - [select for diffs]
Mon Jan 7 23:35:37 2002 UTC (22 years, 2 months ago) by masse
Branch: MAIN
Changes since 1.3: +17 -5 lines
Diff to previous 1.3
New type: symbol.


Revision 1.3 - (view) (annotate) - [select for diffs]
Mon Jan 7 23:31:34 2002 UTC (22 years, 2 months ago) by teddy
Branch: MAIN
Changes since 1.2: +5 -0 lines
Diff to previous 1.2
Added some comments.


Revision 1.2 - (view) (annotate) - [select for diffs]
Mon Jan 7 23:13:14 2002 UTC (22 years, 2 months ago) by teddy
Branch: MAIN
Changes since 1.1: +9 -3 lines
Diff to previous 1.1
(print_st): Changed if...else to a switch...case.


Revision 1.1.1.1 - (view) (annotate) - [select for diffs] (vendor branch)
Mon Jan 7 23:09:01 2002 UTC (22 years, 2 months ago) by masse
Branch: hack
CVS Tags: start
Changes since 1.1: +0 -0 lines
Diff to previous 1.1 , to next main 1.137
First import


Revision 1.1 - (view) (annotate) - [select for diffs]
Mon Jan 7 23:09:01 2002 UTC (22 years, 2 months ago) by masse
Branch: MAIN
Branch point for: hack
Initial revision


This form allows you to request diffs between any two revisions of this file. For each of the two "sides" of the diff, select a symbolic revision name using the selection box, or choose 'Use Text Field' and enter a numeric revision.

  Diffs between and
  Type of Diff should be a

Sort log by:

root@recompile.se
ViewVC Help
Powered by ViewVC 1.1.26