The extern command
You cannot call any function before its definition. The extern command provides you with preliminary declaration of a function, a method, a property or an operator. The command allows you to call a function before it has been defined. For example, a recursive function call from another function.
The keyword extern is followed by the block that contains function declaration. Each line of the block contains either function, method, operator or property declaration, excluding their bodies.
extern
{
func uint b( uint i )
func uint c( str in )
}
func uint a( uint i )
{
return b( 2 * i ) + c( "OK OK" )
}
func uint b( uint i )
{
return i + 20
}
func uint c( str in )
{
uint ret i
fornum i,*in
{
if in[i] == 'K' : ret++
}
return ret
}