aboutsummaryrefslogtreecommitdiff
path: root/src/guile/skribilo/reader/skribe.scm
diff options
context:
space:
mode:
authorLudovic Courtes2005-10-31 23:26:24 +0000
committerLudovic Courtes2005-10-31 23:26:24 +0000
commit052c10245a523aa714489bda59e18a6c1a4f473e (patch)
tree36f6d93a9e53bb51342244d76ba4c965cf642ac4 /src/guile/skribilo/reader/skribe.scm
parent89a424521b753ee7c2c67ebdc957865657f647c4 (diff)
downloadskribilo-052c10245a523aa714489bda59e18a6c1a4f473e.tar.gz
skribilo-052c10245a523aa714489bda59e18a6c1a4f473e.tar.lz
skribilo-052c10245a523aa714489bda59e18a6c1a4f473e.zip
Installed Autoconf/Automake machinery. Fixed a few things.
* src/guile/skribilo/evaluator.scm (skribe-load): Search through `%load-path' and try with a `.scm' extension (rather than the `.skr' one provided by the user). (skribe-include): Added a few debugging statements. * src/guile/skribilo/lib.scm (fix-rest-arg): Handle the dot notation for rest arguments. * src/guile/skribilo/reader/skribe.scm (%make-skribe-reader): Use SQUARE-BRACKET-FREE-SYMBOL-MISC-CHARS. * src/guile/skribilo/skribe/index.scm: Use `define-public' instead of `define'. * src/guile/skribilo/packages/*.scm: Moved to `skribilo/package'. * LICENSE: Removed. * COPYING: New. * AUTHORS: New. * NEWS: New. * ChangeLog: New. * configure.ac: New. * Makefile.am: New. In various directories. git-archimport-id: lcourtes@laas.fr--2005-mobile/skribilo--devel--1.2--patch-10
Diffstat (limited to 'src/guile/skribilo/reader/skribe.scm')
-rw-r--r--src/guile/skribilo/reader/skribe.scm20
1 files changed, 15 insertions, 5 deletions
diff --git a/src/guile/skribilo/reader/skribe.scm b/src/guile/skribilo/reader/skribe.scm
index 78f1814..714f19e 100644
--- a/src/guile/skribilo/reader/skribe.scm
+++ b/src/guile/skribilo/reader/skribe.scm
@@ -54,6 +54,7 @@ the Skribe syntax."
(sharp-reader (r:make-reader (cons dsssl-keyword-reader
(map r:standard-token-reader
'(character srfi-4
+ vector
number+radix
boolean)))
#f ;; use default fault handler
@@ -61,16 +62,25 @@ the Skribe syntax."
(colon-keywords ;; keywords à la `:key' fashion
(r:make-token-reader #\:
(r:token-reader-procedure
- (r:standard-token-reader 'keyword)))))
+ (r:standard-token-reader 'keyword))))
+ (square-bracket-free-symbol-misc-chars
+ (let* ((tr (r:standard-token-reader 'guile-symbol-misc-chars))
+ (tr-spec (r:token-reader-specification tr))
+ (tr-proc (r:token-reader-procedure tr)))
+ (r:make-token-reader (filter (lambda (chr)
+ (not (or (eq? chr #\[)
+ (eq? chr #\]))))
+ tr-spec)
+ tr-proc))))
(r:make-reader (cons* (r:make-token-reader #\# sharp-reader)
colon-keywords
+ square-bracket-free-symbol-misc-chars
(map r:standard-token-reader
`(whitespace
- sexp string number
- symbol-lower-case
- symbol-upper-case
- symbol-misc-chars
+ sexp string guile-number
+ guile-symbol-lower-case
+ guile-symbol-upper-case
quote-quasiquote-unquote
semicolon-comment
skribe-exp)))