aboutsummaryrefslogtreecommitdiff
path: root/src/boot/strap/parser.clisp
diff options
context:
space:
mode:
authordos-reis <gdr@axiomatics.org>2011-10-21 10:16:58 +0000
committerdos-reis <gdr@axiomatics.org>2011-10-21 10:16:58 +0000
commit002256394cd0b9b4cffb7dd0a309e993ade36d60 (patch)
treeeb3604e21bf483d8d51aa0ff3998fa193adf1378 /src/boot/strap/parser.clisp
parentce9a3f7062228b84610f0effa0dec5a4e87095f4 (diff)
downloadopen-axiom-002256394cd0b9b4cffb7dd0a309e993ade36d60.tar.gz
Workaround proclamation bug in GCL
* boot/utility.boot (firstNonblankPosition): Do not declare.
Diffstat (limited to 'src/boot/strap/parser.clisp')
-rw-r--r--src/boot/strap/parser.clisp22
1 files changed, 21 insertions, 1 deletions
diff --git a/src/boot/strap/parser.clisp b/src/boot/strap/parser.clisp
index 3d8d15f8..a91db6cc 100644
--- a/src/boot/strap/parser.clisp
+++ b/src/boot/strap/parser.clisp
@@ -396,6 +396,25 @@
(AND (OR (|bpSexp|) (|bpTrap|)) (|bpPush| (|bfSymbol| (|bpPop1|)))))
(T (|bpString|))))
+(DEFUN |bpChar| ()
+ (PROG (|ISTMP#1| |s| |a|)
+ (DECLARE (SPECIAL |$stok| |$ttok|))
+ (RETURN
+ (COND
+ ((AND (CONSP |$stok|) (EQ (CAR |$stok|) 'ID) (EQ |$ttok| '|char|))
+ (SETQ |a| (|bpState|))
+ (COND
+ ((|bpApplication|) (SETQ |s| (|bpPop1|))
+ (COND
+ ((AND (CONSP |s|) (EQ (CAR |s|) '|char|)
+ (PROGN
+ (SETQ |ISTMP#1| (CDR |s|))
+ (AND (CONSP |ISTMP#1|) (NULL (CDR |ISTMP#1|)))))
+ (|bpPush| |s|))
+ (T (|bpRestore| |a|) NIL)))
+ (T NIL)))
+ (T NIL)))))
+
(DEFUN |bpExportItemTail| ()
(OR
(AND (|bpEqKey| 'BEC) (OR (|bpAssign|) (|bpTrap|))
@@ -976,7 +995,8 @@
(|bpPush| (|bfDTuple| (|bpPop1|))))))
(DEFUN |bpPattern| ()
- (OR (|bpBracketConstruct| #'|bpPatternL|) (|bpName|) (|bpConstTok|)))
+ (OR (|bpBracketConstruct| #'|bpPatternL|) (|bpChar|) (|bpName|)
+ (|bpConstTok|)))
(DEFUN |bpEqual| ()
(AND (|bpEqKey| 'SHOEEQ) (OR (|bpApplication|) (|bpConstTok|) (|bpTrap|))