Next: Synonyms
Up: Core Maude Grammar
Previous: Core Maude Grammar
Contents
MaudeTop
::=
SystemCommand
Command
DebuggerCommand
Module
Theory
View

SystemCommand
::= in
FileName
load
FileName
quit
eof
popd
pwd
cd
Directory
push
Directory
ls
LsFlag
Directory
Command
::= select
ModId
.
parse
in
ModId
:
Term
.
debug
reduce
in
ModId
:
Term
.
debug
rewrite
[
Nat
]
in
ModId
:
Term
.
debug
frewrite
[
Nat
,
Nat
]
in
ModId
:
Term
.
debug
erewrite
[
Nat
,
Nat
]
in
ModId
:
Term
.
match
xmatch
[
Nat
]
in
ModId
:
Term
<=?
Term
such that
Condition
.
search
[
Nat
]
in
ModId
:
Term
SearchType
Term
such that
Condition
.
continue
Nat
.
loop
in
ModId
:
Term
.
(
TokenString
)
trace
select
deselect
include
exclude
OpId
(
OpForm
) 
.
print
conceal
reveal
OpId
(
OpForm
) 
.
break
select
deselect
OpId
(
OpForm
) 
.
show
ShowItem
ModId
.
show view
ViewId
.
show modules .
show views .
show search graph .
show path
labels
Nat
.
do clear memo .
set
SetOption
on
off
.
ShowItem
::= module
all
sorts
ops
vars
mbs
eqs
rls
summary
kinds
profile
SetOption
::= show
ShowOption
print
PrintOption
trace
TraceOption
break
verbose
profile
clear
memo
rules
profile
protect
ModId
extend
ModId
include
ModId
ShowOption
::= advise
stats
loop stats
timing
loop timing
breakdown
command
gc
PrintOption
::= mixfix
flat
with parentheses
with aliases
conceal
number
rat
color
format
graph
TraceOption
::= condition
whole
substitution
select
mbs
eqs
rls
rewrite
body
DebuggerCommand
::= resume .
abort .
step .
where .
Module
::= fmod
ModId
ParameterList
is
ModElt
* endfm
mod
ModId
ParameterList
is
ModElt'
* endfm
Theory
::= fth
ModId
is
ModElt
* endfth
th
ModId
is
ModElt'
* endth
View
::= view
ViewId
from
ModExp
to
ModExp
is
ViewElt
*
endv
ParameterList
::= {
ParameterDecl
,
ParameterDecl
* }
ParameterDecl
::=
ParameterId
::
ModExp
ModElt
::= including
ModExp
.
extending
ModExp
.
protecting
ModExp
.
sorts
Sort
.
subsorts
Sort
<
Sort

.
op
OpForm
:
Type
*
Arrow
Type
Attr
.
ops
OpId
(
OpForm
) 
:
Type
*
Arrow
Type
Attr
.
vars
VarId
:
Type
.
Statement
StatementAttr
.
ViewElt
::= var
varId
:
Type
.
sort
Sort
to
Sort
.
label
LabelId
to
LabelId
.
op
OpForm
to
OpForm
.
op
OpForm
:
Type
*
Arrow
Type
to
OpForm
.
op
Term
to
Term
.
ModExp
::=
ModId
(
ModExp
)
ModExp
+
ModExp
ModExp
*
Renaming
ModExp
{
ViewId
,
ViewId
* }
Renaming
::= (
RenamingItem
,
RenamingItem
* )
RenamingItem
::= sort
Sort
to
Sort
label
LabelId
to
LabelId
op
OpForm
ToPartRenamingItem
op
OpForm
:
Type
*
Arrow
Type
ToPartRenamingItem
ToPartRenamingItem
::= to
OpForm
Attr
Arrow
::= ->
~>
Type
::=
Sort
Kind
Kind
::= [
Sort
,
Sort
* ]
Sort
::=
SortId
Sort
{
Sort
,
Sort
* }
ModElt'
::=
ModElt
Statement'
StatementAttr
.
Statement
::= mb
Label
Term
:
Sort
cmb
Label
Term
:
Sort
if
Condition
eq
Label
Term
=
Term
ceq
Label
Term
=
Term
if
Condition
Statement'
::= rl
Label
Term
=>
Term
crl
Label
Term
=>
Term
if
Condition'
Label
::= [
LabelId
] :
Condition
::=
ConditionFragment
/\
ConditionFragment
*
Condition'
::=
ConditionFragment'
/\
ConditionFragment'
*
ConditionFragment
::=
Term
=
Term
Term
:=
Term
Term
:
Sort
ConditionFragment'
::=
ConditionFragment
Term
=>
Term
Attr
::=
[
assoc
comm
left
right
id:
Term
idem
iter
memo
ditto
config
obj
msg
metadata
StringId
strat (
Nat
)
poly (
Nat
)
frozen
(
Nat
)
prec
Nat
gather (
e
E
& 
)
format (
Token
)
special (
Hook
) 
]
StatementAttr
::=
[
nonexec
otherwise
metadata
StringId
label
LabelId

]
Hook
::= id-hook
Token
(
TokenString
)
op-hook
term-hook
(
TokenString
)
FileName
%%% OS dependent
Directory
%%% OS dependent
LsFlag
%%% OS dependent
StringId
%%% characters enclosed in double quotes "..."
ModId
%%% simple identifier, by convention all capitals
ViewId
%%% simple identifier, by convention capitalized
ParameterId
%%% simple identifier, by convention single cap.
SortId
%%% simple identifier, by convention capitalized
VarId
%%% simple identifier, by convention capitalized
OpId
%%% identifier possibly with underscores
OpForm
::=
OpId
(
OpForm
)
OpForm
Nat
%%% a natural number
Term
::=
Token
(
Term
)
Term
Token
%%% Any symbol other than ( or )
TokenString
::=
Token
(
TokenString
)
TokenString
*
LabelId
%%% simple identifier
In parsing module expressions, instantiation has higher precedence than renaming,
which in turn has higher precedence than summation.
Next: Synonyms
Up: Core Maude Grammar
Previous: Core Maude Grammar
Contents
The Maude Team