aboutsummaryrefslogtreecommitdiff
path: root/src/interp
diff options
context:
space:
mode:
authordos-reis <gdr@axiomatics.org>2008-09-05 03:01:15 +0000
committerdos-reis <gdr@axiomatics.org>2008-09-05 03:01:15 +0000
commitd09cf0aa8047981bbf25722b5cadd0aa8b6c533f (patch)
tree0ae9579dadd3977eb4ee03e380dc163625ef8d03 /src/interp
parent6571d731c239396887164dec5573e1c84ee2b51d (diff)
downloadopen-axiom-d09cf0aa8047981bbf25722b5cadd0aa8b6c533f.tar.gz
* interp/g-util.boot (getTypeOfSyntax): Handle more ASTs.
* algebra/syntax.spad.pamphlet (SpadSyntaxCategory): Add pretty-printer. (HeadAst): Use Identifier. (TypeAst,MappingAst,ImportAst,SignatureAst,AttributeAst,JoinAst, IfAst,RepeatAst,WhileAst,InAst,CollectAst,ConstructAst, ExitAst,ReturnAst,SequenceAst,LetAst,PretendAst,CoerceAst, RestrictAst,CallAst,SegmentAst): New domains. * algebra/Makefile.pamphlet (axiom_algebra_layer_user): Add TYPEAST, IMPTAST, MAPPAST, ATTRAST, JOINAST, IFAST, RPTAST WHILEAST, INAST, CLLCAST, LSTAST, EXITAST, RETAST, SEGAST, PRTDAST, CRCAST, LETAST. * share/algebra: Update databases.
Diffstat (limited to 'src/interp')
-rw-r--r--src/interp/g-util.boot20
1 files changed, 20 insertions, 0 deletions
diff --git a/src/interp/g-util.boot b/src/interp/g-util.boot
index d70a7361..6d3fe39f 100644
--- a/src/interp/g-util.boot
+++ b/src/interp/g-util.boot
@@ -125,6 +125,26 @@ getTypeOfSyntax t ==
(m := getBasicMode t) and not member(m,[$EmptyMode,$NoValueMode]) =>
["Literal",m]
$Syntax
+ [op,:.] := t
+ op = "Mapping" => '(MappingAst)
+ op = "Join" => '(JoinAst)
+ op in '(%Import import) => '(ImportAst)
+ op in '(%Signature SIGNATURE) => '(SignatureAst)
+ op = "QUOTE" and #t = 2 and IDENTP second t => ["Literal",$Symbol]
+ op = "IF" => '(IfAst)
+ op = "REPEAT" => '(RepeatAst)
+ op = "WHILE" => '(WhileAst)
+ op = "IN" => '(InAst)
+ op = "COLLECT" => '(CollectAst)
+ op = "construct" => '(ConstructAst)
+ op = "exit" => '(ExitAst)
+ op = "return" => '(ReturnAst)
+ op = "SEGMENT" => '(SegmentAst)
+ op = "SEQ" => '(SequenceAst)
+ op = "pretend" => '(PretendAst)
+ op = "::" => '(CoerceAst)
+ op = "@" => '(RestrictAst)
+ op = "%LET" => '(LetAst)
$Syntax
--%