aboutsummaryrefslogtreecommitdiff
path: root/src/lisp
diff options
context:
space:
mode:
authordos-reis <gdr@axiomatics.org>2011-10-17 14:41:00 +0000
committerdos-reis <gdr@axiomatics.org>2011-10-17 14:41:00 +0000
commit16111656afaa94a382d61de6c3ec37a9bdca05ef (patch)
tree50b54aa78118b0e723246f6acc034da705f53d35 /src/lisp
parentf699415cce3f73d0f2b63ecb3b1fdc7084ba4cea (diff)
downloadopen-axiom-16111656afaa94a382d61de6c3ec37a9bdca05ef.tar.gz
* 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.
Diffstat (limited to 'src/lisp')
-rw-r--r--src/lisp/core.lisp.in9
1 files changed, 9 insertions, 0 deletions
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*))