' CHANGES:
'   2010-04-12  Fixed ELSEIF Bug
'   2010-04-13  Fixed "[" in quotes bug
'   2010-04-13  CALL/SUB/ENDSUB with parameters
'   2010-04-14  Fixed WEND Bug
'   2010-04-16  Now handles single-line IF/THEN/ELSE better
'   2010-06-17  Release as v0.600
'   2010-06-20  Fixed END SUB w/ zero parameters v0.601
'   2010-09-04  added MACRO; DEF FN & CONST (simulated as macro)
'   2010-09-08  fixed bug in error display for cmdline args
'   2010-09-09  added REM INCLUDE "filename"
'   2010-09-09  added [+]<num> option to OPT LINE for synching line numbers to an arithmetic pattern
'   2010-09-10  improved handling of nested expresssions
'   2010-09-11  prescan for SUB/FUNC names
'               Smart call checking, no CALL keyword required
'               fixed "On Error GoTo 0" bug: workaround - LABEL 0 always translates to line 0
'   2010-09-17  User Functions (partial)
'               Local Variables
'   2010-09-18  Release as v0.700
'   2010-09-30  Fixed Assignment to Function Name as result
'               Basic function parameter checking
'   2010-10-13  Added Eval for CONST definitions (CONST Height = 5 * 5)
'               Increased default size of tokens() array
'   2011-02-13  MACRO lines can contain ':' as '::'
'   2011-02-14  Shorthand for LABEL, begin line with quoted string: "LabelName"
'               Allow OPTION as keyword (NO REM), selectable by [NO]OPTKEY option
'   2011-02-16  added EVAL() expansions, params evaluated and concatenated at compile time
'               added & as special leading char in MACRO definition, Evaluates macro text after param substitution
'   2011-11-11  fixed SELECT/CASE
'               added LEAVE/CONTINUE and EXIT for loops
'               fixed bug with "&" macro expansions
'               added EXIT SUB, EXIT FUNC[TION]
'               fixed allow multiple Command Line arguments
'   2011-11-12  Release as v0.800
'   2011-11-13  added SPARSE option, removes line numbers for unreferenced lines
'               added TABLES option to output symbol and variable tables to stderr
'   2011-11-14  added "." special character for MACRO definitions to parse object/member references
'               fixed bug EVAL not working
'   2011-11-18  enhanced MACRO definitions to simplify object semantics
'               added error check for no input file
'               fixed bug in optSparse
'               added KEYS FUNCS OPERS options to add additional keywords, functions, operators
'               allow labels at beginning of line without quotes
'               added ERRTHR option to control error stoppage
'   2012-05-18  fixed bug in END with no parameter
'               fixed bug in CASE not translating ctrl var
'               added CASE <expr>
'   2012-05-21  added escapes in strings
'               fixed bug in assign to Function name
'               added ESCDEF option to define named string escapes
'   2012-05-22  fixed bug in RETURN from SUB
'               conditional compilation - REM keywords: IF IFDEF IFNDEF ELSE ENDIF DEFINE UNDEF
'               added DEFINE option to allow macro symbols to be defined on the command line
'               added "#" as additional comment keyword
'               changed: Comments REM/# can include ":" in lines
'               added allow MACRO keyword from within REM/# statements
'   2012-05-24  expanded MACRO system, inline parsing, better param parsing, more robust
'               fixed bug in EVAL
'               fixed bug in label identification
'               improved some error messages
'               tweaked SPARSE and JOIN options
'               added PRESERVE option to attempt to save long variables in a compatible way
'   2012-06-01  tweaked indenting for ELSEIF
'               fixed single line IF/THEN/ELSE handling
'   2012-06-02  fixed long standing bug with stack frame of nested functions
'               fixed ON N GOTO/GOSUB
'               added LINELEN option to prevent JOIN from creating overly long lines
'               added "\" as a way to escape "||" join operator in macros
'               added OPT VAR to specify variable translations
'               tweaked parsing DEFINE, ESCDEF parameter input
'   2012-06-09  added NOCOMPILE option to allow preprocessing only
'   2012-06-20  fixed bug in function calls with mixed parameters
'   2012-07-30  added additional examples
'               Release as v0.900
'
