-----------------------------------------------------------------------------
    Copyright (C) 2023 Jorge Giner Cordero

    Copying and distribution of this file, with or without modification,
    are permitted in any medium without royalty provided the copyright
    notice and this notice are preserved.  This file is offered as-is,
    without any warranty.
-----------------------------------------------------------------------------

* The standard does not allow to assign to a string variable a string with
  more than 18 characters. We issue error when the program is running, but
  maybe we can already give erros when compiling. For example, a string
  in a DATA statement can already be checked for conformance. The same
  for LET and a constant string.

Tests

numvar_dimensioned()
	E_NUMVAR_ARRAY
	E_INVAL_DIM for table
	E_TYPE_MISMATCH

option_decl()
	E_SYNTAX	

list_expr()
	E_FUNARG_AS_ARRAY

table_expr()
	E_FUNARG_AS_ARRAY

check_jump()
	Add context?

lex_parse_quoted_str()
	E_STR_NOEND

lex_parse_data_elem()
	E_STR_NOEND

* Change syntax errors to semantic errors for string - numeric expressions
combinations, internal functions with invalid number of arguments of wrong
type of arguments, etc. Check 20, 36, 37, 102, 103, 104, 105, 106, 113, 143,
144, 145, 147, 149, 150, 155, 156, 157, 158, 159, 185, 189, 191, 192, 193,
194, 195, 206, 207, 208.

* Add debug opcode for column positions.

* Check at compile time indexes for arrays that are constants.

