aboutsummaryrefslogtreecommitdiff
path: root/src/interp/i-spec1.boot
diff options
context:
space:
mode:
authordos-reis <gdr@axiomatics.org>2007-12-08 20:52:48 +0000
committerdos-reis <gdr@axiomatics.org>2007-12-08 20:52:48 +0000
commit8bd29deee2d75510dc62408582ac8449df93a166 (patch)
treecfa9c528b1a66a1a4ae8295c967427ebef4feca0 /src/interp/i-spec1.boot
parent8b3133a5015424ab3b0b90ecc0fb606be000aa2a (diff)
downloadopen-axiom-8bd29deee2d75510dc62408582ac8449df93a166.tar.gz
Add support for quasiquotation.
* compiler.boot (compileQuasiquote): New function. * fnewmeta.lisp (|PARSE-Enclosure|): Parse quasiquotes too. * i-intern.boot (mkAtree3): Don't evaluate arguments to quasiquote. * i-spec1.boot ($specialOps): Register [||]. (up[||]): Handle quasiquotes. * newaux.lisp: Register `[|' and `|]' as new glyphs. * pf2sex.boot ($insideApplication): Now count the nesting level of application forms. ($insideQuasiquote): New. Count nesting level of quasiquotes. (pfFinishApplication): Ensure application form nesting level is properly decreased. (pfApplication2Sex): Use it. (pfQuasiquotation2Sex): Transform quasiquote forms. (pf2Sex1): Use it. * sys-constants.boot ($Syntax): New.
Diffstat (limited to 'src/interp/i-spec1.boot')
-rw-r--r--src/interp/i-spec1.boot3
1 files changed, 2 insertions, 1 deletions
diff --git a/src/interp/i-spec1.boot b/src/interp/i-spec1.boot
index 6316a23f..0047f7f0 100644
--- a/src/interp/i-spec1.boot
+++ b/src/interp/i-spec1.boot
@@ -43,7 +43,8 @@ $anonymousMapCounter := 0
$specialOps := '(
ADEF AlgExtension _and _case COERCE COLLECT construct Declare DEF Dollar
equation error free has IF _is _isnt iterate _break LET _local MDEF _or
- pretend QUOTE REDUCE REPEAT _return SEQ TARGET Tuple typeOf _where )
+ pretend QUOTE REDUCE REPEAT _return SEQ TARGET Tuple typeOf _where
+ _[_|_|_] )
--% Void stuff