====== SUB ======
[pet] [vic20] [c64] [c16] [cplus4] [c128] [x16] [m65]
The ''SUB'' keyword starts a subroutine block.
===== Syntax =====
SUB ([ AS [, AS ]...]) [OVERLOAD] [PRIVATE|SHARED] [STATIC]
END SUB
* must be a valid [[syntax#identifiers|identifier]]
* The argument list is optional, but the parenthesis ''()'' must be included
* The ''OVERLOAD'' keyword must be present if the function overloads another function with the same name
* If the subroutine is defined in a [[TYPE]] block, the ''PRIVATE'' keyword indicates that the subroutine may only be called from within that TYPE block.
* The ''SHARED'' keyword indicates that the function is visible from within other code modules
* The ''STATIC'' keyword indicates that no stack frame is allocated on each subroutine call. See [[subroutines#static_vs_dynamic]]
===== See also =====
* [[call]]
* [[subroutines|]]
* [[functions|]]