Language Guide
APPENDIX A
The Language at a Glance
302 Handlers
Table A-6 Handler definitions and calls
Handler Syntax
Subroutine definition
(labeled parameters)
( on | to ) subroutineName ¬
[ of | in directParameterVariable ]¬
[ subroutineParamLabel paramVariable ] ... ¬
[ given label:paramVariable [, label:paramVariable ]...]
[ global variable [, variable ]...]
[ local variable [, variable ]...]
[ statement ]...
end [ subroutineName ]
Subroutine call (labeled
parameters)
subroutineName ¬
[ ( of | in ) directParameter ]¬
[ subroutineParamLabel parameterValue ]¬
| [ with labelForTrueParam [, labelForTrueParam ]... ¬
[( and | or | , ) labelForTrueParam ] ] ¬
| [ without labelForFalseParam [, labelForFalseParam ]... ¬
[( and | or | , ) labelForFalseParam ] ] ¬
| [ given label:parameterValue ¬
[, label:parameterValue ]...]...
Subroutine definition
(positional parameters)
( on | to ) subroutineName ( [ paramVariable [, paramVariable ]...] )
[ global variable [, variable ]...]
[ local variable [, variable ]...]
[ statement ]...
end [ subroutineName ]
Subroutine call
(positional parameters)
subroutineName ( [ parameterValue [, parameterValue ]...] )
Return statement return expression
Command handler
definition
( on | to ) commandName ¬
[ [ of ] directParameterVariable ]¬
[ [ given ] label:paramVariable [, label:paramVariable ]...]
[ global variable [, variable ]...]
[ local variable [, variable ]...]
[ statement ]...
end [ commandName ]