From 16111656afaa94a382d61de6c3ec37a9bdca05ef Mon Sep 17 00:00:00 2001 From: dos-reis Date: Mon, 17 Oct 2011 14:41:00 +0000 Subject: * lisp/core.lisp.in: Add ref and deref to support references. * interp/sys-constants.boot ($OperatorFunctionNames): Add "by" and "..". * interp/spad.lisp: Tidy. * interp/spad-parser.boot: New parsers. * interp/preparse.lisp: Remove dead codes. * interp/parsing.lisp (MATCH-ADVANCE-KEYWORD): Remove. * interp/parse.boot (doParseCategory): Rename from parseCategory. * interp/newaux.lisp: Tidy. * interp/lexing.boot (getSpadToken): New. (Keywords): Remove 'when'. (matchKeywordNext): New. (matchSpecial): Likewise. (matchAdvanceSpecial): Likewise. (matchAdvanceGlyph): Likewise. * interp/fnewmeta.lisp: Move variable definitions to preparse.lisp. Remove Lisp based parsers. Remove file. * interp/c-doc.boot (recordAttributeDocumentation): Fix thinko. * interp/bootlex.lisp (GET-BOOT-TOKEN): Remove. * interp/Makefile.in: Adjust dependencies. * boot/parser.boot (bpChar): New. (bpPattern): Allow character constants. --- src/lisp/core.lisp.in | 9 +++++++++ 1 file changed, 9 insertions(+) (limited to 'src/lisp') diff --git a/src/lisp/core.lisp.in b/src/lisp/core.lisp.in index 7bdf5d13..a7f244d8 100644 --- a/src/lisp/core.lisp.in +++ b/src/lisp/core.lisp.in @@ -86,6 +86,8 @@ "tableValue" ; value associated with a key in a table "tableLength" ; number of entries in the table. "tableRemove!" ; remove an entry from a table + "ref" + "deref" ;; IO "$InputStream" @@ -494,6 +496,13 @@ (defmacro |tableLength| (ht) `(hash-table-count ,ht)) +;; -*- Reference -*- +(defmacro |ref| (v) + `(cons ,v nil)) + +(defmacro |deref| (r) + `(car ,r)) + ;; -*- File IO -*- (defparameter |$InputStream| (make-synonym-stream '*standard-input*)) -- cgit v1.2.3