diff options
author | dos-reis <gdr@axiomatics.org> | 2012-05-23 02:49:30 +0000 |
---|---|---|
committer | dos-reis <gdr@axiomatics.org> | 2012-05-23 02:49:30 +0000 |
commit | a8faa740f1e13fce63ac23326a227655bca7a0b2 (patch) | |
tree | a4d6165c93449b677aaaa45e609131546198fb1b /src/boot/strap/tokens.clisp | |
parent | eae4d54c648d019b9db583b4e8d2c432f8d7bb16 (diff) | |
download | open-axiom-a8faa740f1e13fce63ac23326a227655bca7a0b2.tar.gz |
* boot/tokens.boot (%Token): New datatype.
(makeToken): New.
* boot/includer.boot: Use %token accessors.
* boot/parser.boot: Likewise.
* boot/pile.boot: Likewise.
* boot/scanner.boot: Likewise.
* boot/utility.boot: Export subString.
Diffstat (limited to 'src/boot/strap/tokens.clisp')
-rw-r--r-- | src/boot/strap/tokens.clisp | 16 |
1 files changed, 15 insertions, 1 deletions
diff --git a/src/boot/strap/tokens.clisp b/src/boot/strap/tokens.clisp index d75c74a2..abb77212 100644 --- a/src/boot/strap/tokens.clisp +++ b/src/boot/strap/tokens.clisp @@ -6,12 +6,26 @@ (PROVIDE "tokens") (EVAL-WHEN (:COMPILE-TOPLEVEL :LOAD-TOPLEVEL :EXECUTE) - (EXPORT '(|$InteractiveMode| |char|))) + (EXPORT '(|$InteractiveMode| |char| |subString|))) (DECLAIM (FTYPE (FUNCTION (|%Symbol|) |%Char|) |char|)) (DEFPARAMETER |$InteractiveMode| NIL) +(DEFSTRUCT (|%Token| (:COPIER |copy%Token|)) |cls| |val| |pos|) + +(DEFMACRO |mk%Token| (|cls| |val| |pos|) + (LIST '|MAKE-%Token| :|cls| |cls| :|val| |val| :|pos| |pos|)) + +(DEFMACRO |tokenClass| (|bfVar#1|) (LIST '|%Token-cls| |bfVar#1|)) + +(DEFMACRO |tokenValue| (|bfVar#1|) (LIST '|%Token-val| |bfVar#1|)) + +(DEFMACRO |tokenPosition| (|bfVar#1|) (LIST '|%Token-pos| |bfVar#1|)) + +(DEFUN |makeToken| (|lp| |b| |n|) + (|mk%Token| (CAR |b|) (CADR |b|) (CONS |lp| |n|))) + (DEFUN |char| (|x|) (SCHAR (SYMBOL-NAME |x|) 0)) (DEFUN |shoeStartsId| (|x|) |