Table of Contents
Conventions | |
|
|
Module | |
<Module
[
signal-decl
]
>
stmt
</Module>
|
|
Statements stmt ::= | |
{ stmt } | |
<Nothing /> |
|
<Pause /> |
|
<Halt /> |
|
<Atom apply=JSFunction /> |
|
<Exec
signal
/>
apply=JSFunction [ kill=JSFunction ] [ susp=JSFunction ] [ res=JSFunction ] |
|
<Emit
{
signal
}
[
js-expr
]
[
ifValue=JSValue
|
ifApply=JSFunction
]
/>
|
|
<Sustain
{
signal
}
[
js-expr
]
[
ifValue=JSValue
|
ifApply=JSFunction
]
/>
|
|
<Loop> stmt </Loop> |
|
<If
[
not
]
delay-expr
>
stmt
</If>
[ stmt ] |
|
<Await delay-expr [ count-expr ] /> |
|
<Abort
delay-expr
[
count-expr
]
>
stmt
</Abort>
|
|
<WeakAbort
delay-expr
[
count-expr
]
>
stmt
</WeakAbort>
|
|
<LoopEach
delay-expr
[
count-expr
]
>
stmt
</LoopEach>
|
|
<Every
delay-expr
[
count-expr
]
>
stmt
</Every>
|
|
<Suspend
delay-expr
>
stmt
</Suspend>
|
|
<Trap trap > stmt </Trap> |
|
<Exit trap /> |
|
<Local [ signal-decl ] > stmt </Local> |
|
<Run
module=HHModule
/>
[ { signal = signal } ] |
|
Signal Declaration signal-decl ::= | |
{ signal [ =JSObject ] } |
|
Signal expression signal-expr ::= | |
[ pre ] [ immediate ] signal |
|
JavaScript expression js-expr ::= | |
value=JSValue | apply=JSFunction |
|
Delay expression delay-expr ::= | |
signal-expr | js-expr |
|
Counter expression count-expr ::= | |
countValue=JSValue | applyValue=JSFunction |
|
Signal name signal ::= | |
|
|
Trap name trap ::= | |
|