aboutsummaryrefslogtreecommitdiff
path: root/src/algebra
diff options
context:
space:
mode:
Diffstat (limited to 'src/algebra')
-rw-r--r--src/algebra/Makefile.in61
-rw-r--r--src/algebra/Makefile.pamphlet61
-rw-r--r--src/algebra/exposed.lsp.pamphlet2
-rw-r--r--src/algebra/syntax.spad.pamphlet183
4 files changed, 247 insertions, 60 deletions
diff --git a/src/algebra/Makefile.in b/src/algebra/Makefile.in
index 4dab8997..db67d2ad 100644
--- a/src/algebra/Makefile.in
+++ b/src/algebra/Makefile.in
@@ -825,7 +825,7 @@ axiom_algebra_layer_user = \
LSTAST EXITAST RETAST SEGAST PRTDAST CRCAST \
LETAST SUCHAST RDUCEAST COLONAST ADDAST CAPSLAST \
CASEAST HASAST ISAST CATAST WHEREAST COMMAAST \
- QQUTAST DEFAST MACROAST
+ QQUTAST DEFAST MACROAST SPADXPT
axiom_algebra_layer_user_nrlibs = \
$(addsuffix .NRLIB/code.$(FASLEXT),$(axiom_algebra_layer_user))
@@ -838,40 +838,41 @@ SASTCAT.NRLIB/code.$(FASLEXT): $(OUT)/ASTCAT.$(FASLEXT)
LITERAL.NRLIB/code.$(FASLEXT): $(OUT)/SASTCAT.$(FASLEXT)
IDENT.NRLIB/code.$(FASLEXT): $(OUT)/SASTCAT.$(FASLEXT)
HEADAST.NRLIB/code.$(FASLEXT): $(OUT)/IDENT.$(FASLEXT)
-ATTRAST.NRLIB/code.$(FASLEXT): $(OUT)/SASTCAT.$(FASLEXT)
-TYPEAST.NRLIB/code.$(FASLEXT): $(OUT)/SASTCAT.$(FASLEXT)
+SPADXPT.NRLIB/code.$(FASLEXT): $(OUT)/ASTCAT.$(FASLEXT)
+ATTRAST.NRLIB/code.$(FASLEXT): $(OUT)/SPADXPT.$(FASLEXT)
+TYPEAST.NRLIB/code.$(FASLEXT): $(OUT)/SPADXPT.$(FASLEXT)
IMPTAST.NRLIB/code.$(FASLEXT): $(OUT)/TYPEAST.$(FASLEXT)
MAPPAST.NRLIB/code.$(FASLEXT): $(OUT)/TYPEAST.$(FASLEXT)
SIGAST.NRLIB/code.$(FASLEXT): $(OUT)/SIG.$(FASLEXT)
JOINAST.NRLIB/code.$(FASLEXT): $(OUT)/TYPEAST.$(FASLEXT)
-IFAST.NRLIB/code.$(FASLEXT): $(OUT)/SASTCAT.$(FASLEXT)
-RPTAST.NRLIB/code.$(FASLEXT): $(OUT)/SASTCAT.$(FASLEXT)
-WHILEAST.NRLIB/code.$(FASLEXT): $(OUT)/SASTCAT.$(FASLEXT)
-INAST.NRLIB/code.$(FASLEXT): $(OUT)/SASTCAT.$(FASLEXT)
-CLLCTAST.NRLIB/code.$(FASLEXT): $(OUT)/SASTCAT.$(FASLEXT)
-LSTAST.NRLIB/code.$(FASLEXT): $(OUT)/SASTCAT.$(FASLEXT)
-EXITAST.NRLIB/code.$(FASLEXT): $(OUT)/SASTCAT.$(FASLEXT)
-RETAST.NRLIB/code.$(FASLEXT): $(OUT)/SASTCAT.$(FASLEXT)
-SEGAST.NRLIB/code.$(FASLEXT): $(OUT)/SASTCAT.$(FASLEXT)
-SEQAST.NRLIB/code.$(FASLEXT): $(OUT)/SASTCAT.$(FASLEXT)
-PRTDAST.NRLIB/code.$(FASLEXT): $(OUT)/SASTCAT.$(FASLEXT)
-CRCEAST.NRLIB/code.$(FASLEXT): $(OUT)/SASTCAT.$(FASLEXT)
-RSTRCAST.NRLIB/code.$(FASLEXT): $(OUT)/SASTCAT.$(FASLEXT)
-LETAST.NRLIB/code.$(FASLEXT): $(OUT)/SASTCAT.$(FASLEXT)
-RDUCEAST.NRLIB/code.$(FASLEXT): $(OUT)/SASTCAT.$(FASLEXT)
-SUCHTAST.NRLIB/code.$(FASLEXT): $(OUT)/SASTCAT.$(FASLEXT)
-COLONAST.NRLIB/code.$(FASLEXT): $(OUT)/SASTCAT.$(FASLEXT)
-ADDAST.NRLIB/code.$(FASLEXT): $(OUT)/SASTCAT.$(FASLEXT)
-CAPSLAST.NRLIB/code.$(FASLEXT): $(OUT)/SASTCAT.$(FASLEXT)
-CASEAST.NRLIB/code.$(FASLEXT): $(OUT)/SASTCAT.$(FASLEXT)
-HASEAST.NRLIB/code.$(FASLEXT): $(OUT)/SASTCAT.$(FASLEXT)
-ISAST.NRLIB/code.$(FASLEXT): $(OUT)/SASTCAT.$(FASLEXT)
-CATAST.NRLIB/code.$(FASLEXT): $(OUT)/SASTCAT.$(FASLEXT)
-WHEREAST.NRLIB/code.$(FASLEXT): $(OUT)/SASTCAT.$(FASLEXT)
-COMMAAST.NRLIB/code.$(FASLEXT): $(OUT)/SASTCAT.$(FASLEXT)
+IFAST.NRLIB/code.$(FASLEXT): $(OUT)/SPADXPT.$(FASLEXT)
+RPTAST.NRLIB/code.$(FASLEXT): $(OUT)/SPADXPT.$(FASLEXT)
+WHILEAST.NRLIB/code.$(FASLEXT): $(OUT)/SPADXPT.$(FASLEXT)
+INAST.NRLIB/code.$(FASLEXT): $(OUT)/SPADXPT.$(FASLEXT)
+CLLCTAST.NRLIB/code.$(FASLEXT): $(OUT)/SPADXPT.$(FASLEXT)
+LSTAST.NRLIB/code.$(FASLEXT): $(OUT)/SPADXPT.$(FASLEXT)
+EXITAST.NRLIB/code.$(FASLEXT): $(OUT)/SPADXPT.$(FASLEXT)
+RETAST.NRLIB/code.$(FASLEXT): $(OUT)/SPADXPT.$(FASLEXT)
+SEGAST.NRLIB/code.$(FASLEXT): $(OUT)/SPADXPT.$(FASLEXT)
+SEQAST.NRLIB/code.$(FASLEXT): $(OUT)/SPADXPT.$(FASLEXT)
+PRTDAST.NRLIB/code.$(FASLEXT): $(OUT)/SPADXPT.$(FASLEXT)
+CRCEAST.NRLIB/code.$(FASLEXT): $(OUT)/SPADXPT.$(FASLEXT)
+RSTRCAST.NRLIB/code.$(FASLEXT): $(OUT)/SPADXPT.$(FASLEXT)
+LETAST.NRLIB/code.$(FASLEXT): $(OUT)/SPADXPT.$(FASLEXT)
+RDUCEAST.NRLIB/code.$(FASLEXT): $(OUT)/SPADXPT.$(FASLEXT)
+SUCHTAST.NRLIB/code.$(FASLEXT): $(OUT)/SPADXPT.$(FASLEXT)
+COLONAST.NRLIB/code.$(FASLEXT): $(OUT)/SPADXPT.$(FASLEXT)
+ADDAST.NRLIB/code.$(FASLEXT): $(OUT)/SPADXPT.$(FASLEXT)
+CAPSLAST.NRLIB/code.$(FASLEXT): $(OUT)/SPADXPT.$(FASLEXT)
+CASEAST.NRLIB/code.$(FASLEXT): $(OUT)/SPADXPT.$(FASLEXT)
+HASEAST.NRLIB/code.$(FASLEXT): $(OUT)/SPADXPT.$(FASLEXT)
+ISAST.NRLIB/code.$(FASLEXT): $(OUT)/SPADXPT.$(FASLEXT)
+CATAST.NRLIB/code.$(FASLEXT): $(OUT)/SPADXPT.$(FASLEXT)
+WHEREAST.NRLIB/code.$(FASLEXT): $(OUT)/SPADXPT.$(FASLEXT)
+COMMAAST.NRLIB/code.$(FASLEXT): $(OUT)/SPADXPT.$(FASLEXT)
QQUTAST.NRLIB/code.$(FASLEXT): $(OUT)/SASTCAT.$(FASLEXT)
-DEFAST.NRLIB/code.$(FASLEXT): $(OUT)/SASTCAT.$(FASLEXT)
-MACROAST.NRLIB/code.$(FASLEXT): $(OUT)/SASTCAT.$(FASLEXT)
+DEFAST.NRLIB/code.$(FASLEXT): $(OUT)/SPADXPT.$(FASLEXT)
+MACROAST.NRLIB/code.$(FASLEXT): $(OUT)/SPADXPT.$(FASLEXT)
.PHONY: all all-algebra mkdir-output-directory
all: all-ax
diff --git a/src/algebra/Makefile.pamphlet b/src/algebra/Makefile.pamphlet
index d34998bd..c4a89300 100644
--- a/src/algebra/Makefile.pamphlet
+++ b/src/algebra/Makefile.pamphlet
@@ -1252,7 +1252,7 @@ axiom_algebra_layer_user = \
LSTAST EXITAST RETAST SEGAST PRTDAST CRCAST \
LETAST SUCHAST RDUCEAST COLONAST ADDAST CAPSLAST \
CASEAST HASAST ISAST CATAST WHEREAST COMMAAST \
- QQUTAST DEFAST MACROAST
+ QQUTAST DEFAST MACROAST SPADXPT
axiom_algebra_layer_user_nrlibs = \
$(addsuffix .NRLIB/code.$(FASLEXT),$(axiom_algebra_layer_user))
@@ -1265,40 +1265,41 @@ SASTCAT.NRLIB/code.$(FASLEXT): $(OUT)/ASTCAT.$(FASLEXT)
LITERAL.NRLIB/code.$(FASLEXT): $(OUT)/SASTCAT.$(FASLEXT)
IDENT.NRLIB/code.$(FASLEXT): $(OUT)/SASTCAT.$(FASLEXT)
HEADAST.NRLIB/code.$(FASLEXT): $(OUT)/IDENT.$(FASLEXT)
-ATTRAST.NRLIB/code.$(FASLEXT): $(OUT)/SASTCAT.$(FASLEXT)
-TYPEAST.NRLIB/code.$(FASLEXT): $(OUT)/SASTCAT.$(FASLEXT)
+SPADXPT.NRLIB/code.$(FASLEXT): $(OUT)/ASTCAT.$(FASLEXT)
+ATTRAST.NRLIB/code.$(FASLEXT): $(OUT)/SPADXPT.$(FASLEXT)
+TYPEAST.NRLIB/code.$(FASLEXT): $(OUT)/SPADXPT.$(FASLEXT)
IMPTAST.NRLIB/code.$(FASLEXT): $(OUT)/TYPEAST.$(FASLEXT)
MAPPAST.NRLIB/code.$(FASLEXT): $(OUT)/TYPEAST.$(FASLEXT)
SIGAST.NRLIB/code.$(FASLEXT): $(OUT)/SIG.$(FASLEXT)
JOINAST.NRLIB/code.$(FASLEXT): $(OUT)/TYPEAST.$(FASLEXT)
-IFAST.NRLIB/code.$(FASLEXT): $(OUT)/SASTCAT.$(FASLEXT)
-RPTAST.NRLIB/code.$(FASLEXT): $(OUT)/SASTCAT.$(FASLEXT)
-WHILEAST.NRLIB/code.$(FASLEXT): $(OUT)/SASTCAT.$(FASLEXT)
-INAST.NRLIB/code.$(FASLEXT): $(OUT)/SASTCAT.$(FASLEXT)
-CLLCTAST.NRLIB/code.$(FASLEXT): $(OUT)/SASTCAT.$(FASLEXT)
-LSTAST.NRLIB/code.$(FASLEXT): $(OUT)/SASTCAT.$(FASLEXT)
-EXITAST.NRLIB/code.$(FASLEXT): $(OUT)/SASTCAT.$(FASLEXT)
-RETAST.NRLIB/code.$(FASLEXT): $(OUT)/SASTCAT.$(FASLEXT)
-SEGAST.NRLIB/code.$(FASLEXT): $(OUT)/SASTCAT.$(FASLEXT)
-SEQAST.NRLIB/code.$(FASLEXT): $(OUT)/SASTCAT.$(FASLEXT)
-PRTDAST.NRLIB/code.$(FASLEXT): $(OUT)/SASTCAT.$(FASLEXT)
-CRCEAST.NRLIB/code.$(FASLEXT): $(OUT)/SASTCAT.$(FASLEXT)
-RSTRCAST.NRLIB/code.$(FASLEXT): $(OUT)/SASTCAT.$(FASLEXT)
-LETAST.NRLIB/code.$(FASLEXT): $(OUT)/SASTCAT.$(FASLEXT)
-RDUCEAST.NRLIB/code.$(FASLEXT): $(OUT)/SASTCAT.$(FASLEXT)
-SUCHTAST.NRLIB/code.$(FASLEXT): $(OUT)/SASTCAT.$(FASLEXT)
-COLONAST.NRLIB/code.$(FASLEXT): $(OUT)/SASTCAT.$(FASLEXT)
-ADDAST.NRLIB/code.$(FASLEXT): $(OUT)/SASTCAT.$(FASLEXT)
-CAPSLAST.NRLIB/code.$(FASLEXT): $(OUT)/SASTCAT.$(FASLEXT)
-CASEAST.NRLIB/code.$(FASLEXT): $(OUT)/SASTCAT.$(FASLEXT)
-HASEAST.NRLIB/code.$(FASLEXT): $(OUT)/SASTCAT.$(FASLEXT)
-ISAST.NRLIB/code.$(FASLEXT): $(OUT)/SASTCAT.$(FASLEXT)
-CATAST.NRLIB/code.$(FASLEXT): $(OUT)/SASTCAT.$(FASLEXT)
-WHEREAST.NRLIB/code.$(FASLEXT): $(OUT)/SASTCAT.$(FASLEXT)
-COMMAAST.NRLIB/code.$(FASLEXT): $(OUT)/SASTCAT.$(FASLEXT)
+IFAST.NRLIB/code.$(FASLEXT): $(OUT)/SPADXPT.$(FASLEXT)
+RPTAST.NRLIB/code.$(FASLEXT): $(OUT)/SPADXPT.$(FASLEXT)
+WHILEAST.NRLIB/code.$(FASLEXT): $(OUT)/SPADXPT.$(FASLEXT)
+INAST.NRLIB/code.$(FASLEXT): $(OUT)/SPADXPT.$(FASLEXT)
+CLLCTAST.NRLIB/code.$(FASLEXT): $(OUT)/SPADXPT.$(FASLEXT)
+LSTAST.NRLIB/code.$(FASLEXT): $(OUT)/SPADXPT.$(FASLEXT)
+EXITAST.NRLIB/code.$(FASLEXT): $(OUT)/SPADXPT.$(FASLEXT)
+RETAST.NRLIB/code.$(FASLEXT): $(OUT)/SPADXPT.$(FASLEXT)
+SEGAST.NRLIB/code.$(FASLEXT): $(OUT)/SPADXPT.$(FASLEXT)
+SEQAST.NRLIB/code.$(FASLEXT): $(OUT)/SPADXPT.$(FASLEXT)
+PRTDAST.NRLIB/code.$(FASLEXT): $(OUT)/SPADXPT.$(FASLEXT)
+CRCEAST.NRLIB/code.$(FASLEXT): $(OUT)/SPADXPT.$(FASLEXT)
+RSTRCAST.NRLIB/code.$(FASLEXT): $(OUT)/SPADXPT.$(FASLEXT)
+LETAST.NRLIB/code.$(FASLEXT): $(OUT)/SPADXPT.$(FASLEXT)
+RDUCEAST.NRLIB/code.$(FASLEXT): $(OUT)/SPADXPT.$(FASLEXT)
+SUCHTAST.NRLIB/code.$(FASLEXT): $(OUT)/SPADXPT.$(FASLEXT)
+COLONAST.NRLIB/code.$(FASLEXT): $(OUT)/SPADXPT.$(FASLEXT)
+ADDAST.NRLIB/code.$(FASLEXT): $(OUT)/SPADXPT.$(FASLEXT)
+CAPSLAST.NRLIB/code.$(FASLEXT): $(OUT)/SPADXPT.$(FASLEXT)
+CASEAST.NRLIB/code.$(FASLEXT): $(OUT)/SPADXPT.$(FASLEXT)
+HASEAST.NRLIB/code.$(FASLEXT): $(OUT)/SPADXPT.$(FASLEXT)
+ISAST.NRLIB/code.$(FASLEXT): $(OUT)/SPADXPT.$(FASLEXT)
+CATAST.NRLIB/code.$(FASLEXT): $(OUT)/SPADXPT.$(FASLEXT)
+WHEREAST.NRLIB/code.$(FASLEXT): $(OUT)/SPADXPT.$(FASLEXT)
+COMMAAST.NRLIB/code.$(FASLEXT): $(OUT)/SPADXPT.$(FASLEXT)
QQUTAST.NRLIB/code.$(FASLEXT): $(OUT)/SASTCAT.$(FASLEXT)
-DEFAST.NRLIB/code.$(FASLEXT): $(OUT)/SASTCAT.$(FASLEXT)
-MACROAST.NRLIB/code.$(FASLEXT): $(OUT)/SASTCAT.$(FASLEXT)
+DEFAST.NRLIB/code.$(FASLEXT): $(OUT)/SPADXPT.$(FASLEXT)
+MACROAST.NRLIB/code.$(FASLEXT): $(OUT)/SPADXPT.$(FASLEXT)
@
\section{Broken Files}
diff --git a/src/algebra/exposed.lsp.pamphlet b/src/algebra/exposed.lsp.pamphlet
index fe76c79f..8f50526d 100644
--- a/src/algebra/exposed.lsp.pamphlet
+++ b/src/algebra/exposed.lsp.pamphlet
@@ -440,6 +440,7 @@
(|VectorFunctions2| . VECTOR2)
(|ViewDefaultsPackage| . VIEWDEF)
(|Void| . VOID)
+ (|WhereAst| . WHEREAST)
(|WhileAst| . WHILEAST)
(|WuWenTsunTriangularSet| . WUTSET)
)
@@ -746,6 +747,7 @@
(|SetAggregate| . SETAGG)
(|SetCategory| . SETCAT)
(|SExpressionCategory| . SEXCAT)
+ (|SpadAstExports| . SPADXPT)
(|SpadSyntaxCategory| . SASTCAT)
(|SpecialFunctionCategory| . SPFCAT)
(|SquareFreeNormalizedTriangularSetCategory| . SNTSCAT)
diff --git a/src/algebra/syntax.spad.pamphlet b/src/algebra/syntax.spad.pamphlet
index b8d68f84..e38347eb 100644
--- a/src/algebra/syntax.spad.pamphlet
+++ b/src/algebra/syntax.spad.pamphlet
@@ -545,6 +545,188 @@ SpadSyntaxCategory(): Category == AbstractSyntaxCategory
renderSyntax(x::Syntax)
@
+\subsection{The Exports of SpadAst}
+
+<<category SPADXPT SpadAstExports>>=
+)abbrev category SPADXPT SpadAstExports
+++ Author: Gabriel Dos Reis
+++ Date Created: September 20, 2008
+++ Date Last Modified: September 21, 2008
+++ Description: This category describes the exported
+++ signatures of the SpadAst domain.
+SpadAstExports(): Category == Join(SpadSyntaxCategory, UnionType) with
+ _case: (%, ImportAst()) -> Boolean
+ ++ s case ImportAst holds if `s' represents an `import' statement.
+ autoCoerce: % -> ImportAst()
+ ++ autoCoerce(s) returns the ImportAst view of `s'. Left at the
+ ++ discretion of the compiler.
+
+ _case: (%, DefinitionAst()) -> Boolean
+ ++ s case DefinitionAst holds if `s' represents a definition.
+ autoCoerce: % -> DefinitionAst()
+ ++ autoCoerce(s) returns the DefinitionAst view of `s'. Left at the
+ ++ discretion of the compiler.
+
+ _case: (%, MacroAst()) -> Boolean
+ ++ s case MacroAst holds if `s' represents a macro definition.
+ autoCoerce: % -> MacroAst()
+ ++ autoCoerce(s) returns the MacroAst view of `s'. Left at the
+ ++ discretion of the compiler.
+
+ _case: (%, WhereAst()) -> Boolean
+ ++ s case WhereAst holds if `s' represents an expression with
+ ++ local definitions.
+ autoCoerce: % -> WhereAst()
+ ++ autoCoerce(s) returns the WhereAst view of `s'. Left at the
+ ++ discretion of the compiler.
+
+ _case: (%, CategoryAst()) -> Boolean
+ ++ s case CategoryAst holds if `s' represents an unnamed category.
+ autoCoerce: % -> CategoryAst()
+ ++ autoCoerce(s) returns the CategoryAst view of `s'. Left at the
+ ++ discretion of the compiler.
+
+ _case: (%, CapsuleAst()) -> Boolean
+ ++ s case CapsuleAst holds if `s' represents a domain capsule.
+ autoCoerce: % -> CapsuleAst()
+ ++ autoCoerce(s) returns the CapsuleAst view of `s'. Left at the
+ ++ discretion of the compiler.
+
+ _case: (%, SignatureAst()) -> Boolean
+ ++ s case SignatureAst holds if `s' represents a signature export.
+ autoCoerce: % -> SignatureAst()
+ ++ autoCoerce(s) returns the SignatureAst view of `s'. Left at the
+ ++ discretion of the compiler.
+
+ _case: (%, AttributeAst()) -> Boolean
+ ++ s case AttributeAst holds if `s' represents an attribute.
+ autoCoerce: % -> AttributeAst()
+ ++ autoCoerce(s) returns the AttributeAst view of `s'. Left at the
+ ++ discretion of the compiler.
+
+ _case: (%, MappingAst()) -> Boolean
+ ++ s case MappingAst holds if `s' represents a mapping type.
+ autoCoerce: % -> MappingAst()
+ ++ autoCoerce(s) returns the MappingAst view of `s'. Left at the
+ ++ discretion of the compiler.
+
+ _case: (%, IfAst()) -> Boolean
+ ++ s case IfAst holds if `s' represents an if-statement.
+ autoCoerce: % -> IfAst()
+ ++ autoCoerce(s) returns the IfAst view of `s'. Left at the
+ ++ discretion of the compiler.
+
+ _case: (%, RepeatAst()) -> Boolean
+ ++ s case RepeatAst holds if `s' represents an repeat-loop.
+ autoCoerce: % -> RepeatAst()
+ ++ autoCoerce(s) returns the RepeatAst view of `s'. Left at the
+ ++ discretion of the compiler.
+
+ _case: (%, WhileAst()) -> Boolean
+ ++ s case WhileAst holds if `s' represents a while-iterator
+ autoCoerce: % -> WhileAst()
+ ++ autoCoerce(s) returns the WhileAst view of `s'. Left at the
+ ++ discretion of the compiler.
+
+ _case: (%, InAst()) -> Boolean
+ ++ s case InAst holds if `s' represents a in-iterator
+ autoCoerce: % -> InAst()
+ ++ autoCoerce(s) returns the InAst view of `s'. Left at the
+ ++ discretion of the compiler.
+
+ _case: (%, CollectAst()) -> Boolean
+ ++ s case CollectAst holds if `s' represents a list-comprehension.
+ autoCoerce: % -> CollectAst()
+ ++ autoCoerce(s) returns the CollectAst view of `s'. Left at the
+ ++ discretion of the compiler.
+
+ _case: (%, ConstructAst()) -> Boolean
+ ++ s case ConstructAst holds if `s' represents a list-expression.
+ autoCoerce: % -> ConstructAst()
+ ++ autoCoerce(s) returns the ConstructAst view of `s'. Left at the
+ ++ discretion of the compiler.
+
+ _case: (%, ExitAst()) -> Boolean
+ ++ s case ExitAst holds if `s' represents an exit-expression.
+ autoCoerce: % -> ExitAst()
+ ++ autoCoerce(s) returns the ExitAst view of `s'. Left at the
+ ++ discretion of the compiler.
+
+ _case: (%, ReturnAst()) -> Boolean
+ ++ s case ReturnAst holds if `s' represents a return-statement.
+ autoCoerce: % -> ReurnAst()
+ ++ autoCoerce(s) returns the ReturnAst view of `s'. Left at the
+ ++ discretion of the compiler.
+
+ _case: (%, CoerceAst()) -> Boolean
+ ++ s case ReturnAst holds if `s' represents a coerce-expression.
+ autoCoerce: % -> CoerceAst()
+ ++ autoCoerce(s) returns the CoerceAst view of `s'. Left at the
+ ++ discretion of the compiler.
+
+ _case: (%, PretendAst()) -> Boolean
+ ++ s case PretendAst holds if `s' represents a pretend-expression.
+ autoCoerce: % -> PretendAst()
+ ++ autoCoerce(s) returns the PretendAst view of `s'. Left at the
+ ++ discretion of the compiler.
+
+ _case: (%, RestrictAst()) -> Boolean
+ ++ s case RestrictAst holds if `s' represents a restrict-expression.
+ autoCoerce: % -> RestrictAst()
+ ++ autoCoerce(s) returns the RestrictAst view of `s'. Left at the
+ ++ discretion of the compiler.
+
+ _case: (%, SegmentAst()) -> Boolean
+ ++ s case SegmentAst holds if `s' represents a segment-expression.
+ autoCoerce: % -> SegmentAst()
+ ++ autoCoerce(s) returns the SegmentAst view of `s'. Left at the
+ ++ discretion of the compiler.
+
+ _case: (%, SequenceAst()) -> Boolean
+ ++ s case SequenceAst holds if `s' represents a sequence-of-statements.
+ autoCoerce: % -> SequenceAst()
+ ++ autoCoerce(s) returns the SequenceAst view of `s'. Left at the
+ ++ discretion of the compiler.
+
+ _case: (%, LetAst()) -> Boolean
+ ++ s case LetAst holds if `s' represents an assignment-expression.
+ autoCoerce: % -> LetAst()
+ ++ autoCoerce(s) returns the LetAst view of `s'. Left at the
+ ++ discretion of the compiler.
+
+ _case: (%, SuchThatAst()) -> Boolean
+ ++ s case SuchThatAst holds if `s' represents a qualified-expression.
+ autoCoerce: % -> SuchThatAst()
+ ++ autoCoerce(s) returns the SuchThatAst view of `s'. Left at the
+ ++ discretion of the compiler.
+
+ _case: (%, ColonAst()) -> Boolean
+ ++ s case ColonAst holds if `s' represents a colon-expression.
+ autoCoerce: % -> ColonAst()
+ ++ autoCoerce(s) returns the ColoonAst view of `s'. Left at the
+ ++ discretion of the compiler.
+
+ _case: (%, CaseAst()) -> Boolean
+ ++ s case CaseAst holds if `s' represents a case-expression.
+ autoCoerce: % -> CaseAst()
+ ++ autoCoerce(s) returns the CaseAst view of `s'. Left at the
+ ++ discretion of the compiler.
+
+ _case: (%, HasAst()) -> Boolean
+ ++ s case HasAst holds if `s' represents a has-expression.
+ autoCoerce: % -> HasAst()
+ ++ autoCoerce(s) returns the HasAst view of `s'. Left at the
+ ++ discretion of the compiler.
+
+ _case: (%, IsAst()) -> Boolean
+ ++ s case IsAst holds if `s' represents an is-expression.
+ autoCoerce: % -> IsAst()
+ ++ autoCoerce(s) returns the IsAst view of `s'. Left at the
+ ++ discretion of the compiler.
+
+@
+
+
\subsection{The Literal domain}
<<domain LITERAL Literal>>=
@@ -1423,6 +1605,7 @@ MacroAst(): Public == Private where
<<category ASTCAT AbstractSyntaxCategory>>
<<category SASTCAT SpadSyntaxCategory>>
+<<category SPADXPT SpadAstExports>>
<<domain LITERAL Literal>>
<<domain HEADAST HeadAst>>