  LOCAL

   LOCAL <var>[,<var2>][,<var3>][,...] [TYPE <c-type>] [ARRAY <size>]

   Type: statement

   This statement only has sense within functions, subroutines or records.
   It defines a local variable <var> with C type <type> which will not be
   visible for other functions, subroutines or records, nor for the main
   program.

   If the TYPE keyword is omitted then variables are assumed to be of
   'long' type. If TYPE is omitted and the variablename ends with a '$'
   then the variable will be a string.

   The ARRAY keyword is used to define a dynamic array, which can be
   resized with REDIM at a later stage in the program.

   Example:

   LOCAL tt TYPE int
   LOCAL q$
   LOCAL new_array TYPE float ARRAY 100
   LOCAL name$ ARRAY 25

   Multiple variables of the same type can be declared at once, using a
   comma separated list. In case of pointer variables the asterisk should
   be attached to the variable name:

   LOCAL x, y, z TYPE int
   LOCAL *s, *t TYPE long

