Mapping from the abstract syntax to the ATerm format for Basic Specifications
BASIC-SPEC
- BASIC-SPEC ::= "basic-spec" BASIC-ITEMS*
==>
basic-spec(BASIC-ITEMS*([BASIC-ITEMS]))
Top
BASIC-ITEMS
Top
SIG-ITEMS
Top
SORT-ITEM
Top
OP-ITEM
Top
OP-TYPE
Top
SORT-LIST
Top
OP-ATTR
Top
OP-HEAD
Top
ARG-DECL
Top
PRED-ITEM
Top
PRED-TYPE
Top
PRED-HEAD
Top
DATATYPE-DECL
Top
ALTERNATIVE
Top
COMPONENTS
Top
VAR-DECL
Top
FORMULA
Top
QUANTIFIER
- QUANTIFIER ::= "universal"
==>
universal
- QUANTIFIER ::= "existential"
==>
existential
- QUANTIFIER ::= "unique-existential"
==>
unique-existential
Top
PRED-SYMB
- PRED-SYMB ::= PRED-NAME
==>
PRED-NAME(PRED-NAME)
- PRED-SYMB ::= "qual-pred-name" PRED-NAME PRED-TYPE
==>
qual-pred-name(PRED-NAME,PRED-TYPE)
Top
TERMS
- TERMS ::= "terms" TERM*
==>
terms(TERM*([TERM]))
Top
TERM
- TERM ::= ID
==>
ID(ID)
- TERM ::= "qual-var" VAR SORT
==>
qual-var(VAR,SORT)
- TERM ::= "application" OP-SYMB TERMS
==>
application(OP-SYMB,TERMS)
- TERM ::= "sorted-term" TERM SORT
==>
sorted-term(TERM,SORT)
- TERM ::= "cast" TERM SORT
==>
cast(TERM,SORT)
- TERM ::= "conditional" TERM FORMULA TERM
==>
conditional(TERM,FORMULA,TERM)
Top
OP-SYMB
- OP-SYMB ::= OP-NAME
==>
OP-NAME(OP-NAME)
- OP-SYMB ::= "qual-op-name" OP-NAME OP-TYPE
==>
qual-op-name(OP-NAME,OP-TYPE)
Top
SORT
- SORT ::= TOKEN-ID
==>
TOKEN-ID(TOKEN-ID)
Top
OP-NAME
- OP-NAME ::= ID
==>
ID(ID)
Top
PRED-NAME
- PRED-NAME ::= ID
==>
ID(ID)
Top
VAR
Top
ID
Top
TOKEN-ID
- TOKEN-ID ::= TOKEN
==>
TOKEN(TOKEN)
Top
MIXFIX-ID
Top
TOKEN-PLACES
- TOKEN-PLACES ::= "token-places" TOKEN-OR-PLACE+
==>
token-places(TOKEN-OR-PLACE+([TOKEN-OR-PLACE]))
Top
TOKEN-OR-PLACE
- TOKEN-OR-PLACE ::= TOKEN
==>
TOKEN(TOKEN)
- TOKEN-OR-PLACE ::= PLACE
==>
__
Top
TOKEN
- TOKEN ::= WORDS
==>
WORDS(literal)
- TOKEN ::= SIGNS
==>
SIGNS(literal)
- TOKEN ::= DOT-WORDS
==>
DOT-WORDS(literal)
Top
SIMPLE-ID
- SIMPLE-ID ::= WORDS
==>
WORDS(literal)
Top