When something is parsed as an array element it was sometimes intended
to be a function call or structure constructor. So if the base name is
not found the errors can be confusing. This is an attempt to improve
them.
When the subscript list is empty, it was probably meant to be a function
call, so report that the name is not a function.
If the base is a scalar but there are subscripts, report that it is not
an array.
When something is parsed as an array element it was sometimes intended to be a function call or structure constructor. So if the base name is not found the errors can be confusing. This is an attempt to improve them.
When the subscript list is empty, it was probably meant to be a function call, so report that the name is not a function.
If the base is a scalar but there are subscripts, report that it is not an array.