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 ] |