Added public files

Roughly added all public files. Probably missed some, though.
diff --git a/obj/tools/lisp/lisp.l b/obj/tools/lisp/lisp.l
new file mode 100644
index 0000000..acd386f
--- /dev/null
+++ b/obj/tools/lisp/lisp.l
@@ -0,0 +1,99 @@
+(write "LPC closure parser ready...\n")
+(write "LLisp Version 0.6 [")
+;;;
+;;; automagic quoting of hardcoded functions:
+;;; each function has 2 entries in 'memory'
+;;; 0 -- the function name or equivalent
+;;; 1 -- bits regarding autoquoting
+;;;      each argument for the function has two bits 
+;;;      0 -- normal quoting
+;;;      1 -- program code quoting (lamda requires it)
+;;;      only bit 0 or bit 1 must be set, never both (no quoting at all)
+;;; lambda needs normal quote for the first argument and special quote for 2nd
+;;; 1 0 0 1
+;;; |1| |2| -> 9 (if i have calculated it right)
+;;;
+;;; the function lambda has autoquote, @ is a non-autoquote version
+(= ([ (memory) '@) lambda)
+(= ([ (memory) lambda 1) 9) 
+;;;
+;;; explicit quote of a symbol with quote
+(= ([ (memory) quote 1) 1) 
+;;;
+;;; one of the most important functions needed (microcoded):
+;;; now we define a set
+(= ([ (memory) 'set) (lambda (n v) (, (= ([ (memory) n) v) n))) 
+;;; and a autoquote version of set (setq)
+(set 'setq set) (= ([ (memory) 'setq 1) 1)
+;;;
+;;; some people prefer define, it quotomatically quotes its first argument
+(setq define (lambda (n v f) (, (= ([ (memory) n 1) f) (set n v) n)))
+(= ([ (memory) 'define 1) 1)
+;;;
+;;; defun for easier definition of functions
+(define defun (lambda (n a b f) (, (= ([ (memory) n 1) f) 
+                                   (set n (@ a b)) n)) 37)
+;;;
+;;; if we like to destroy a value use undef
+(defun undef (fun) (, (= memory (m_delete (memory) fun)) fun) 1)
+;;;
+;;; an error function (internal use), notify declares the function to use
+;;; when an error message has to be printed
+(setq error raise_error)
+;;;
+;;; other important functions and function aliases
+;;; standard lisp functionality (car, cdr, cons)
+(defun car (l) (? (pointerp l) 
+		  (? (sizeof l) ([ l 0) 
+		     (error "car: empty list\n")) 
+		  (error "car: not a list\n")))
+(defun cdr (l) (? (pointerp l) ([.. l 1) 
+		  (error "cdr: not a list\n")))
+(defun cons (_car _cdr) (+ (list _car) _cdr))
+;;;
+;;; some special functionality
+(defun addhistory (file) (write_file file (implode (history) "\n")))
+(defun savehistory (file) (, (rm file) (addhistory file)))
+(defun showhistory () (, (printf "%s\n" (implode (history) "\n"))
+			 "-- END OF HISTORY --"))
+;;;
+(defun showfunc () (m_indices (memory)))
+;;;
+;;; Try to autodetect mudtype
+;;;
+(set 'mudtype "")
+(defun add (var val) (+= ([ (memory) var) val))
+(add 'mudtype (? (symbol_function "getuid") "NATIVE" "COMPAT"))
+(add 'mudtype (? (function_exists "SetProp")
+                   (? (== (function_exists "Set") "/std/thing/properties") "|MG"
+                    "|NF")
+                 (&& (== (file_size "/basic") -2) 
+		     (== (file_size "/complex") -2))
+                   (? (== (file_size "/kernel") -2) "|TUBNEW" "|TUB")
+                 (== (function_exists "query_all_v_items") "/i/item/virtual")
+                   (? (function_exists "query_bodylocation_pic"
+		                       (, (call_other "/obj/player" "?")
+				          (find_object "/obj/player")))
+				       "|UNI/AVALON" "|UNI")
+	        (? (function_exists "RCSId" (find_object "/obj/simul_efun")))
+		 "|TAPP"
+                 "|UNKNOWN/2.4.5"
+               ))
+(setq mudtype (explode mudtype "|"))
+(defun mud? (str) (sizeof (regexp ([ (memory) 'mudtype) str)))
+(printf "%s,%s" ([ ([ (memory) 'mudtype) 0) ([ ([ (memory) 'mudtype) 1))
+(write "]\n")
+;;; 
+;;; load local user init
+;;;
+(? (mud? "NF|MG")
+   (setq owner (getuid (this_player)))
+   (setq owner (call_other (this_player) "query_real_name")))
+(? (mud? "MG|NF|TUB")
+   (define localinit (+ (+ "/players/" owner) "/lisp.l"))
+   (define localinit (+ (+ "/w/" owner) "/lisp.l")))
+(? (> (file_size localinit) 0)
+   (? (mud? "TUB|UNI|UNKNOWN") 
+      (call_out load 0 localinit)
+      (load localinit)))
+(printf "Welcome %s, today is %s!\n" (capitalize owner) (ctime (time)))