BASICHELP.HLB  —  Compile time errors
  BASIC diagnoses compile-time errors and:

   o  Indicates the program line that generated the error or errors
   o  Displays this program line
   o  Shows you the location of the error or errors and assigns  a  number
      to each location for future reference
   o  Displays  the  mnemonic,  statement  number  within  the  line,  the
      location number as previously displayed, and the message text.  This
      is repeated for each error in the line.

1  –  ACTARGMUS

  ERROR - A  DEF  function  reference  contains  a  null  argument,  for
  example,  FNA(1,,2)  Specify  all  arguments  when  referencing  a DEF
  function.

2  –  ALLOCSML

  WARNING - A MAP or COMMON with the same name exists in more  than  one
  program  module,  and first one encountered by the compiler is smaller
  than the subsequent ones.  BASIC first allocates MAP and COMMON  areas
  in  the main program, then MAP and COMMON areas in subprograms, in the
  order in which they were loaded.  Thus, you can avoid  this  error  by
  loading  modules with the largest MAP or COMMON first.  However, it is
  better practice to make MAP and COMMON areas equal in size.

3  –  AMBRECCOM

  ERROR - The program contains an ambiguous RECORD component  reference,
  for  example,  A::D  when  both A::B::D and A::C::D exist.  Change the
  RECORD component reference.

4  –  AMPCONILL

  ERROR - A program  contains  an  %INCLUDE  directive  followed  by  an
  ampersand  continuation  to another statement.  Ampersand continuation
  of the %INCLUDE directive is legal, however.  Recode to eliminate  the
  line continuation or use backslash continuation.

5  –  AMPCONREP

  ERROR -  A  program  contains  a  %REPORT  directive  followed  by  an
  ampersand  continuation  to another statement.  Ampersand continuation
  of the %REPORT directive is legal, however.  Recode to  eliminate  the
  line continuation or use backslash continuation.

6  –  ANYDIMNOT

  ERROR - Both a datatype of ANY and a DIM clause were specified  in  an
  EXTERNAL statement.  Remove either the ANY datatype or DIM clause from
  the EXTERNAL statement.

7  –  APPMISNUM

  ERROR - An attempt was made to append a  source  file  that  does  not
  contain  a  line  number  on the first line.  Put a line number on the
  first line of the appended file.

8  –  APPNOTALL

  ERROR - You cannot use the APPEND command or  the  plus  sign  (+)  to
  concatenate programs without line numbers.  Use an include file.

9  –  ARRMUSHAV

  ERROR - An array with multiple dimensions is  specified  where  a  one
  dimensional  array  is  required.   Specify  an  array  which  has one
  dimension.

10  –  ARRNAMREQ

  ERROR - The type of variable name required  must  be  an  array  name.
  Change the variable name to an array name.

11  –  ARRNOTALL

  ERROR - The parameter list for a DEF function definition contained  an
  entire  array.   Remove  the  array  specification; you cannot pass an
  entire array as a parameter to a DEF function.

12  –  ARRTOOBIG

  ERROR - An array requires more than  (2^29  -  1)  bytes  of  storage.
  Reduce the size of the array.

13  –  ATROVRVAR

  ERROR - A variable  name  appears  in  more  than  one  overlaid  MAP;
  however,  the  attributes specified for the variable are inconsistent.
  If the same variable name  appears  in  multiple  overlaid  MAPs,  the
  attributes (for example, data type) must be identical.

14  –  ATRPRIREF

  WARNING - A variable or  array  is  referenced  before  the  MAP  that
  declares  it.   The attributes of the referenced variable do not match
  those of the declaration.  Make sure that the variable  or  array  has
  the same attributes in both the reference and the declaration.

15  –  ATTGTRZER

  ERROR - You specified a  negative  value  when  a  positive  value  is
  required.  Supply a value greater than zero.

16  –  BADFMTSTR

  ERROR - The format string you specified with the PRINT USING statement
  is not valid.  Correct the string.

17  –  BADNO

  ERROR - A qualifier that does not allow a 'NO' prefix was entered, for
  example,  NODOUBLE.  Select the proper qualifier.  In the example, the
  complementary form of DOUBLE is SINGLE.

18  –  BADPROGNM

  ERROR - The program name is longer than  39  characters,  or  contains
  illegal  characters.  Change the program name to be less than or equal
  to 39 characters and make sure that it contains only letters,  digits,
  and underscores.

19  –  BASICHLB

  INFORMATION - A HELP command was entered and the  BASIC  HELP  library
  was not available.  See your system manager.

20  –  BIFREQNUM

  ERROR - A reference to a BASIC built-in  function  contains  a  string
  instead of a numeric expression.  Supply a numeric expression.

21  –  BIFREQSTR

  ERROR - The program specifies a  numeric  expression  for  a  built-in
  function  that requires a string argument.  Supply a string expression
  for the built-in function.

22  –  BLTFUNNOT

  ERROR - The program contains a reference to a  built-in  function  not
  supported by this version of BASIC.  Remove the function reference.

23  –  BOUCANNOT

  ERROR - An EXTERNAL statement declaring a SUB or  FUNCTION  subprogram
  specifies bounds in an array parameter.  For example:

       EXTERNAL SUB XYZ (LONG A(1,2,3))

  BASIC also signals this error if the program attempts to specify array
  bounds  in  a  SUB  or  FUNCTION  statement and the array is not being
  received BY REF.  Remove the array parameter's  bound  specifications.
  When  declaring an external subprogram you can specify only the number
  of dimensions for an array parameter.  For example:

       EXTERNAL SUB XYZ (LONG A(,,))

24  –  BOUMUSTBE

  ERROR - The program  contains  an  array  declaration  that  does  not
  specify the bounds (maximum subscript value).  For example:

       DECLARE LONG A(,)

  Supply bounds for the declared array.  For example:

       DECLARE LONG A(50,50)

25  –  CAUNOTALL

  ERROR - A CAUSE  statement  is  specified  within  an  error  handler.
  Remove the CAUSE statement from the error handler.

26  –  CDDACCERR

  ERROR  -  The  CDD/Repository  detected  an  error  on  an   attempted
  CDD/Repository  record  extraction.  BASIC displays the CDD/Repository
  error.  Take action based on the associated CDD/Repository error.

27  –  CDDACCITE

  ERROR - The CDD/Repository reported an error when accessing the field.
  The  CDD/Repository  record  definition  is  corrupt,  or  there is an
  internal error in either BASIC or the CDD/Repository.  If the  problem
  is  not  in  the  CDD/Repository  definition, please submit a software
  problem report with the source code of a small program  that  produces
  this error.

28  –  CDDACCREC

  ERROR - The  CDD/Repository  reported  an  error  when  accessing  the
  record.   The  CDD/Repository record definition is corrupt or there is
  an internal error in either  BASIC  or  the  CDD/Repository.   If  the
  problem  is  not  in  the  CDD/Repository  definition, please submit a
  software problem report with the source code of a small  program  that
  produces this error.

29  –  CDDADJBOU

  INFORMATION - The CDD/Repository contains an array field with a  lower
  bound  that is not zero.  BASIC adjusts the bound so that the array is
  zero-based.

30  –  CDDALCOFF

  FATAL - The offset of a field within a BASIC RECORD differs  from  the
  offset specified by the CDD/Repository for that record.  Please submit
  a software problem report with the source code of a small program that
  produces this error.

31  –  CDDALCSIZ

  FATAL - The amount of storage allocated for a field in a BASIC  RECORD
  differs  from  the  amount  specified  by  the CDD/Repository for that
  record.  Please submit a software problem report with the source  code
  of a small program that produces this error.

32  –  CDDALCSPN

  FATAL - The amount of storage allocated by a BASIC RECORD for an array
  differs  from  the  amount  specified  by  the CDD/Repository for that
  record.  Please submit a software problem report with the source  code
  of a small program that produces this error.

33  –  CDDAMBFLD

  ERROR - More than one CDD/Repository structure share  the  same  level
  and  the  same name.  Change the CDD/Repository definition so that the
  structures have different names.

34  –  CDDATTBAS

  ERROR - A field in a CDD/Repository definition uses the BASE  keyword.
  This  warns you that the numeric field is not interpreted as a base 10
  number.  Remove the BASE attribute  in  the  CDD/Repository  or  avoid
  using the field.

35  –  CDDATTDAT

  ERROR - A CDD/Repository definition specified a data  type  after  the
  CDD/Repository  STRUCTURE  keyword.   BASIC  translates STRUCTURE to a
  BASIC RECORD or GROUP statement.  These BASIC statements do not  allow
  data type attributes.  Change the CDD/Repository definition.

36  –  CDDATTDIG

  INFORMATION - The field contains  a  CDD/Repository  fixed-point  data
  type  that specifies the number of allowed digits.  This warning tells
  you that BASIC interprets the field as BYTE, WORD, LONG, or  QUAD  and
  does not support the DIGITS attribute for this data type.

37  –  CDDATTSCA

  INFORMATION - A field in a CDD/Repository definition  uses  the  SCALE
  keyword.   This  warns  you  that  the  field has an implied exponent.
  Remove the SCALE attribute in the CDD/Repository, or avoid  using  the
  field.

38  –  CDDATTTXT

  INFORMATION - A CDD/Repository record definition specifies a data type
  of  TEXT  for the entire record.  BASIC ignores the TEXT attribute and
  substitutes the UNSPECIFIED attribute.

39  –  CDDBASNAM

  ERROR  -  The  BASIC  name  specified  in  the  CDD/Repository  record
  definition  is  a  reserved  keyword or contains an illegal character.
  Change the invalid field name.

40  –  CDDBITFLD

  ERROR - A CDD/Repository field does not start on a byte boundary.  Use
  the   CDD/Repository  ALIGN  keyword  to  align  the  field  following
  <field-name> on a byte boundary.

41  –  CDDCOLMAJ

  ERROR  -  An  array  specified  in  a  CDD/Repository  definition   is
  column-major  rather  than  row-major.   Thus  it is incompatible with
  BASIC  arrays.   You  cannot  extract  a   CDD/Repository   definition
  containing a column-major array.

42  –  CDDDIGERR

  ERROR - A packed numeric CDD/Repository specifies more than 31 digits.
  Reduce   the   number   of  digits  specified  in  the  CDD/Repository
  definition.

43  –  CDDDIMNOT

  ERROR - A CDD/Repository definition is an array.  This is incompatible
  with  BASIC  RECORDs,  which can contain arrays, but cannot be arrays.
  You cannot access CDD/Repository definitions that are arrays.

44  –  CDDDUPREC

  ERROR - The CDD/Repository  record  name  conflicts  with  a  previous
  RECORD  name.  The previous RECORD name may be a standard BASIC RECORD
  or  another  CDD/Repository  record.   Remove  one  of  the  duplicate
  definitions.

45  –  CDDFLDNAM

  ERROR - The CDD/Repository definition contains a  field  that  is  not
  named.  Supply a field name for the CDD/Repository definition.

46  –  CDDINTONLY

  ERROR - The type of variable name required  must  be  an  array  name.
  Remove  the  %  suffix  from  the variable name or change the datatype
  keyword.

47  –  CDDLOWBOU

  ERROR - An array in a CDD/Repository definition  does  not  specify  a
  lower bound.  Check to make sure the omission is not a mistake.  BASIC
  supplies a lower bound  of  zero  and  continues  after  issuing  this
  warning.

48  –  CDDMAXDIM

  ERROR - An array in a CDD/Repository definition specifies more than 32
  dimensions.   Reduce  the  number  of dimensions in the CDD/Repository
  definition.

49  –  CDDNAMKEY

  ERROR - A CDD/Repository definition contains a field name  that  is  a
  reserved  word  in  BASIC.   Change  the  name  in  the CDD/Repository
  definition or supply a BASIC name clause.

50  –  CDDNOALGN

  INFORMATION - The CDD/Repository definition  contains  an  array  that
  contains  aligned  fields,  which  are  not  supported  by BASIC.  The
  alignment information will be lost from the array, which is likely  to
  result in offset errors.

51  –  CDDOCCIGN

  INFORMATION - The  CDD/Repository  contains  an  array  field  with  a
  variable  number of elements.  BASIC creates an array large enough for
  the maximum value.  If you modify the array field,  be  sure  to  also
  change the field that contains the number of array elements.

52  –  CDDOFFERR

  ERROR - The CDD/Repository definition has been corrupted or  there  is
  an  internal  error  in  either  BASIC  or the CDD/Repository.  If the
  problem is not in  the  CDD/Repository  definition,  please  submit  a
  software  problem  report with the source code of a small program that
  produces this error.

53  –  CDDPLUSERR

  ERROR - CDD/Repository detected an error while  attempting  to  record
  dependency  data.   BASIC  displays  the  CDD/Repository  error.  Take
  action based on the associated CDD/Repository error.

54  –  CDDPREERR

  ERROR - The number of fractional digits for a packed decimal field  is
  greater  than  the  total  number  of digits specified for that field.
  Change the number of fractional digits in  the  CDD/Repository  to  be
  less than or equal to the total number of digits.

55  –  CDDRECFOR

  ERROR - The CDD/Repository supports  both  variable  and  fixed-length
  records.   BASIC  supports  only  fixed-length  records.   Change  the
  CDD/Repository record definition to specify fixed-length.

56  –  CDDRECNAM

  ERROR - You are trying to include  a  CDD/Repository  data  definition
  whose   outermost   structure   does   not   have  a  field  name.   A
  CDD/Repository field name is required so that BASIC can assign a  name
  to   the  RECORD.   Add  a  field  name  to  the  CDD/Repository  data
  definition.

57  –  CDDSCAERR

  ERROR - The scale factor for a packed decimal CDD/Repository field  is
  greater  than  the  number  of  digits in the field or less than zero.
  Change the scale factor in the CDD/Repository definition.

58  –  CDDSCAZER

  INFORMATION - A CDD/Repository field specifies no scale factor  for  a
  D_floating  field,  but  the  BASIC program specifies a non-zero scale
  factor.  Use a scale factor of zero in the BASIC program.

59  –  CDDSTRONLY

  ERROR - The $ suffix is only allowed on string datatypes.  Remove  the
  $ suffix from the variable name or change the datatype keyword.

60  –  CDDSUBGRO

  INFORMATION - The CDD/Repository definition specifies a data type that
  is  not  native to BASIC.  BASIC creates a GROUP with the same name as
  the CDD/Repository field and creates  variable  names  for  the  GROUP
  components.

61  –  CDDTAGIGN

  INFORMATION - The CDD/Repository record definition contains a  variant
  field.   If  you use an alternate field variant, be sure to update the
  tag field.

62  –  CDDUNSDAT

  ERROR - The data type specified for a field is not supported by BASIC.
  Avoid using this field.

63  –  CDDUPPBOU

  ERROR - An array in a CDD/Repository definition does  not  specify  an
  upper bound.  Specify an upper bound in the CDD/Repository definition.

64  –  CDDVARFLD

  ERROR - A CDD/Repository field can be either variable or fixed-length.
  BASIC   supports   only   fixed-length   fields.   Either  change  the
  CDD/Repository definition or avoid using the field.

65  –  CHAEXPMUS

  ERROR - The program contains  a  nonnumeric  channel  expression,  for
  example, PUT #A$.  Change the channel expression to be numeric.

66  –  CHALINCLA

  ERROR - A CHAIN statement contains a LINE keyword and  a  line  number
  argument.  Remove the LINE keyword and the line number argument.

67  –  CHANOTALL

  ERROR - The PRIMARY KEY clause in an OPEN statement specifies CHANGES.
  Remove  the  CHANGES keyword; you cannot change the value of a primary
  key.

68  –  COMMAPALI

  INFORMATION - The total storage preceding  a  numeric  variable  in  a
  COMMON  or  MAP  is  an  odd  number  of bytes.  BASIC-PLUS-2 pads the
  preceding storage with a blank byte because  PDP-11  systems  requires
  that  numeric  data  start on a word boundary.  BASIC does not pad the
  storage because numeric data can start on any byte boundary.  However,
  if  you  want  the  program to run on both types of system, you should
  ensure that all numeric data starts on a word boundary.

69  –  COMMAPNEQ

  WARNING - A MAP or COMMON with the same name exists in more  than  one
  program  module,  but the size of the areas differs.  Make the size of
  the COMMON or MAP areas equal in size in all modules.

70  –  COMMAPOVF

  ERROR - The program contains a MAP or COMMON longer than  (2^31  -  1)
  longwords.  Reduce the length of the COMMON or MAP.

71  –  CONCOMSYN

  FATAL - The /SYNTAX_CHECKING qualifier is in  effect  when  a  program
  line  containing  the %IF, %THEN, %ELSE, or %END %IF lexical directive
  was entered.  Turn off syntax checking before entering a program  line
  containing lexical directives.

72  –  CONDATSPC

  ERROR - The program contains a declarative statement containing two or
  more  consecutive  and contradictory data type keywords.  For example:
  DECLARE REAL BYTE.  Remove one of the data type keywords or make  sure
  that  the  keywords refer to the same generic data type.  For example,
  DECLARE REAL SINGLE is valid.

73  –  CONEXPREQ

  ERROR  -  A  statement  specifies  a  variable  or  built-in  function
  reference   where  a  constant  is  required.   Supply  an  expression
  containing only literals or declared constants.

74  –  CONIS_INC

  ERROR - A  DECLARE  CONSTANT  statement  specifies  a  value  that  is
  inconsistent  with  the data type of the constant, for example, a BYTE
  value specified for a REAL constant.  Change the declaration  so  that
  the data type of the value matches that of the constant.

75  –  CONIS_NEE

  ERROR  -  A  CASE  or  IF  keyword  is  immediately  followed   by   a
  floating-point  or string expression.  Supply a conditional expression
  (relational, logical, or integer).

76  –  CONLFTSID

  ERROR - The  program  tries  to  assign  a  value  to  a  user-defined
  constant.   Remove  the assignment statement; once you have assigned a
  value to a declared constant, you cannot change it.

77  –  CONNOTALL

  ERROR - The  program  tries  to  assign  a  value  to  a  user-defined
  constant.   Remove  the assignment statement; once you have assigned a
  value to a declared constant, you cannot change it.

78  –  CONTARNOT

  ERROR - A CONTINUE  statement  within  a  detached  WHEN  block  error
  handler  contains  a  target.   Remove the target line number or label
  from the CONTINUE statement or use an attached error handler.

79  –  COUVALCAN

  ERROR - In the COUNT clause, you specified a count that is larger than
  the  size  of the array.  Change either the COUNT value or the size of
  the array so that COUNT is  less  than  or  equal  to  the  number  of
  elements in the array.

80  –  DATTYPEXP

  ERROR - A program compiled with the  /EXPLICIT  qualifier  declares  a
  variable  without  specifying a data type.  Supply a data type keyword
  for  the  variable  or  compile  the  program  without  the  /EXPLICIT
  qualifier.

81  –  DATTYPNOT

  ERROR - A SUB statement contains  a  data  type  keyword  between  the
  subprogram name and the parameter list.  Remove the data type keyword.
  In a SUB statement, data type keywords  can  appear  only  within  the
  parameter list.

82  –  DATTYPREQ

  ERROR - An EXTERNAL CONSTANT  statement  has  no  data  type  keyword.
  Supply  a  data  type keyword to specify the data type of the external
  constant.

83  –  DECIMERR

  WARNING - The program contains a DECIMAL  expression  whose  value  is
  outside the valid range.  Reduce the value of the DECIMAL expression.

84  –  DECLEXSYN

  ERROR - The syntax of the %DECLARED  lexical  function  is  incorrect.
  Correct the syntax.

85  –  DECPREOUT

  ERROR - In the declaration for a packed decimal variable or  constant,
  the number of digits to the right of the decimal point is greater than
  the total number of digits specified or greater than 31.   Change  the
  declaration  so that the total number of digits specified is less than
  31, and the number of digits to the right of the decimal point is less
  than or equal to the total number of digits.

86  –  DECSIZOUT

  ERROR - The declaration for a  packed  decimal  variable  or  variable
  specifies  more  than 31 digits.  Change the declaration to specify 31
  or fewer digits.

87  –  DEFEXPCOM

  WARNING - A DEF* is being invoked from within  a  complex  expression.
  To  simplify  the  expression,  the compiler will evaluate the DEF*(s)
  first.

88  –  DEFINVNOT

  ERROR -  The  program  attempts  to  assign  a  value  to  a  function
  invocation.  For example:

       DEF FNA(A) = A^2
       FNA(3) = 9

  Remove the assignment statement.  You  cannot  assign  a  value  to  a
  function invocation.

89  –  DEFMODNOT

  ERROR - The specified data type in a  function  declaration  disagrees
  with  the  data  type  specified in the function definition.  Make the
  data type  specifications  match  in  both  the  declaration  and  the
  definition.

90  –  DEFNOTDEF

  ERROR - The program contains a reference to a nonexistent user-defined
  function.  Define the function in a DEF statement.

91  –  DEFNOTWHE

  ERROR - A DEF function definition is not allowed in a  WHEN  block  or
  its  associated  handler.   Remove  the  DEF  function definition from
  within the WHEN block or handler.

92  –  DEFRESREF

  ERROR - The program attempts to assign a value to a DEF  name  outside
  the  DEF block.  Remove the assignment statement.  You cannot assign a
  value to a DEF outside of the DEF block.

93  –  DEFSIZNOT

  ERROR - A packed decimal variable used in a DEF was specified in  both
  a  DECLARE  FUNCTION statement and in the DEF statement.  The sizes of
  the two declarations are different.  Make the size declarations match.

94  –  DEFSNOTALL

  ERROR - DEF* functions cannot be called from within DEF  functions  or
  handlers.

95  –  DEFSTAPAR

  ERROR - A DEF* formal  parameter  has  the  same  name  as  a  program
  variable  but different attributes.  You should not use the same names
  for DEF* parameters or program variables.  If you do, you must  ensure
  that they have the same data type and size.

96  –  DEFSTRPAR

  ERROR - You cannot use a static string that is a parameter declared in
  a  DEF  or DEF* function as the storage area in a MAP DYNAMIC or REMAP
  statement.  Change the storage area specification in the  MAP  DYNAMIC
  or  REMAP  statement  to  use  either  a  MAP  name or a static string
  variable that is not a parameter to the DEF or DEF* function.

97  –  DELETE

  ERROR - The program contains a syntax error.  The  compiler  tries  to
  recover  from  the  error  by ignoring an operator or separator in the
  source line.  For example, DIM (3, ) is  a  syntax  error,  but  BASIC
  continues  the  compilation  by  ignoring  the comma.  The compilation
  continues only in order to discover other errors; no object module  is
  produced.  Correct the syntax error in the displayed line.

98  –  DESOUTRAN

  FATAL - The branch destination in an ON  GOSUB  statement  is  greater
  than 32767 bytes away from the statement.  Reduce the distance between
  the destination and the statement.

99  –  DIMLSSZERO

  ERROR - The number specified for a  dimension  must  be  greater  than
  zero.  Change the number to be greater than zero.

100  –  DIMOUTRAN

  ERROR -  The  program  contains  the  declaration  of  an  array  that
  specifies a negative number as a dimension.  Change the dimension to a
  positive number.

101  –  DIMTOOBIG

  ERROR - The number of the dimension  specified  is  greater  than  the
  number  of dimensions in the array.  Change the dimension number to be
  less than or equal to the number of dimensions in the array.

102  –  DIRMUSTBE

  ERROR - The program contains a compiler directive which  must  be  the
  only item on the line.  Place the directive on its own line.

103  –  DIVBY_ZER

  WARNING - The value of a number  divided  by  zero  is  indeterminate.
  Change the expression so that no expression is divided by the constant
  zero.

104  –  DUPLNFND

  INFORMATION - A line number in an include file is the same as  a  line
  number in the main source file.

  WARNING - There are two lines in the main source file  with  the  same
  line  number.   BASIC  keeps the second occurrence of the line number.
  Correct the source by changing one of the line numbers  to  an  unused
  number.

105  –  DYNATTONL

  ERROR - A COMMON keyword is followed by the DYNAMIC  keyword.   Remove
  the  DYNAMIC  keyword.   The  DYNAMIC  attribute is valid only for MAP
  areas.

106  –  ELSIMPCON

  ERROR - The program contains an ELSE clause that is not preceded by an
  IF  statement  or  appears after an IF has been terminated with a line
  number or END IF.  Remove either the ELSE clause  or  the  terminating
  line number or END IF.

107  –  EMPTYOBJ

  INFORMATION - The compiler has detected errors and therefore  did  not
  produce  an  object  file.   The  errors  must be corrected before the
  compiler will produce an object file.

108  –  ENDIMPCON

  ERROR - The program contains an END IF statement that  either  is  not
  preceded  by an IF statement or occurs after an IF has been terminated
  by a line number.  Supply an IF statement, or remove  the  terminating
  line number.

109  –  ENTARRFIE

  ERROR - The program attempts to pass an entire array as a parameter to
  a  subprogram  when:   1)  the array is an item in a record and 2) the
  record is itself dimensioned as a virtual array.  Assign the values of
  the array to another array of the same data type and dimension that is
  not a field of a virtual array record, and pass the  second  array  as
  the parameter.

110  –  ENTARRNOT

  ERROR - The program specifies  an  entire  array  in  a  context  that
  permits  only  array  elements,  for  example,  in  a PRINT statement.
  Remove the reference to the entire array.

111  –  ENTGRONOT

  ERROR - The program specifies an entire GROUP or RECORD in  a  context
  that  permits  only  GROUP  or  RECORD  components, for example, PRINT
  ABC::XYZ where XYZ is a GROUP.  Remove the  reference  to  the  entire
  GROUP or RECORD.

112  –  ENTVIRARR

  ERROR - The program attempts to pass an  entire  virtual  array  as  a
  parameter.  You cannot pass an entire virtual array as a parameter.

113  –  EOLNOTERR

  ERROR - A THEN or ELSE clause contains a loop block, and a line number
  terminates  the  IF-THEN-ELSE  before the end of the loop block.  Make
  sure that any loop is entirely contained in the THEN or ELSE clause.

114  –  ERLNOTALL

  ERROR - An ERL statement has been found  in  a  program  without  line
  numbers.  Remove the ERL statement.

115  –  ERRACCLIB

  ERROR - BASIC found an unexpected  LIBRARIAN  error  while  trying  to
  %INCLUDE  a  text library module.  This error message is followed by a
  specific LIBRARIAN (LBR) message.  Take appropriate  action  based  on
  the associated LBR message.

116  –  ERRCLOLIB

  ERROR - The text library specified in an %INCLUDE directive could  not
  be  closed.   This error message is followed by the specific LIBRARIAN
  (LBR) error.  Take appropriate action  based  on  the  associated  LBR
  message.

117  –  ERROPEFIL

  ERROR - The file specified  in  a  %INCLUDE  directive  could  not  be
  opened.   This  error  message  is followed by the specific RMS error.
  Take appropriate action based on the associated RMS error.

118  –  ERROPELIB

  ERROR - The text library specified in an %INCLUDE directive could  not
  be  opened.   This error message is followed by the specific LIBRARIAN
  (LBR) error.  Take appropriate action  based  on  the  associated  LBR
  message.

119  –  ERRREADFIL

  ERROR - The compiler encountered problems while reading either a BASIC
  source  file  or  a  CDD  audit  file  (as  specified using the /AUDIT
  qualifier).

120  –  ERRRECCOM

  ERROR - The  program  contains  an  erroneous  record  component,  for
  example,  specifying  A::B  when  RECORD  A  has no component named B.
  Remove the erroneous reference.

121  –  EXEDIMILL

  ERROR - A DIMENSION statement names an array already declared  with  a
  DECLARE,  COMMON,  MAP,  or RECORD statement, or one that was declared
  statically in a previous DIMENSION statement.  Remove  the  executable
  DIMENSION statement or originally declare the array as executable in a
  DIMENSION statement.

122  –  EXPDECREQ

  ERROR - The program is compiled with the /TYPE=EXPLICIT  qualifier  in
  effect  and  the program references a variable, constant, function, or
  subprogram name that is not explicitly declared.   Explicitly  declare
  the variable, constant, function, or subprogram.

123  –  EXPIFDIR

  ERROR - The program contains a %END that is not  immediately  followed
  by a %IF.  Supply a %IF immediately following the %END.

124  –  EXPNOTALL

  ERROR - The program contains an expression in a  context  that  allows
  only  simple variables, array elements, or entire arrays, for example,
  in FIELD and MOVE statements.  Remove the expression.

125  –  EXPNOTRES

  INFORMATION - The compiler has detected  an  expression  that  is  not
  needed  in  determining  a result.  Review the program to determine if
  the expression  can  be  eliminated.   You  may  want  to  remove  the
  expression if it is determined to be unnecessary.

126  –  EXPTOOCOM

  ERROR  -  The  program  contains  an  expression  or   statement   too
  complicated  to  compile.   This  message  can occur whenever BASIC is
  unable to allocate sufficient  registers.   Recode  as  required;  for
  example,  rewrite  the  statement  as  two  or  more  less complicated
  statements.

127  –  EXPUNAOPE

  ERROR - A compiler directive contains an invalid  lexical  expression,
  for example, %IF *3% %THEN.  Correct the lexical expression.

128  –  EXTELSFOU

  ERROR - The program contains a %ELSE directive  that  is  not  matched
  with a %IF directive.  Make sure that each %ELSE is preceded by a %IF,
  and that each %IF contains no more than one %ELSE clause.

129  –  EXTENDIF

  ERROR - A program unit contains a %END %IF  without  a  preceding  %IF
  directive.  Supply a %IF for the %END %IF.

130  –  EXTLEFPAR

  ERROR - A compiler directive contains a  lexical  expression  with  an
  extra left parenthesis.  Remove the extra parenthesis.

131  –  EXTNAMTOO

  WARNING -  An  EXTERNAL  statement  names  a  symbol  longer  than  31
  characters.  Shorten the symbol name.

132  –  EXTRIGPAR

  ERROR - A compiler directive contains a  lexical  expression  with  an
  extra right parenthesis.  Remove the extra parenthesis.

133  –  EXTSTRVAR

  ERROR - The program contains an EXTERNAL statement that  specifies  an
  external  string  variable.   Remove or change the EXTERNAL statement.
  BASIC does not support external string variables.

134  –  FIEVALONL

  ERROR - A FIELD statement contains a numeric  or  fixed-length  string
  variable.   Remove  the numeric or fixed-length string variable.  Only
  dynamic string variables are valid in FIELD statements.

135  –  FILACCERR

  ERROR - The file named in the %INCLUDE directive was correctly opened,
  but could not be read for some reason, for example, the disk drive was
  switched off-line.  Take action based  on  the  associated  RMS  error
  messages.

136  –  FILEWRITE

  INFORMATION - The specified program name has been saved in file-name.

137  –  FILNOTALL

  ERROR - A MAP DYNAMIC statement contains a FILL item.  Remove the FILL
  item.

138  –  FILTOOBIG

  ERROR - A FILL string length or repeat count caused  the  compiler  to
  try  to  allocate  more  than  2^31  longwords  of storage.  Check the
  specified MAP statement, and change the FILL string length  or  repeat
  count.

139  –  FLDVARNOT

  ERROR - The program attempts to pass  a  variable  named  in  a  FIELD
  statement  as  a parameter.  If a variable appears in FIELD statement,
  the variable cannot be passed as a parameter.

140  –  FLOCVTILL

  ERROR - A CVTF$ or CVT$F function names a GFLOAT, SFLOAT,  TFLOAT,  or
  XFLOAT  value  as an argument.  Use a SINGLE or DOUBLE argument rather
  than GFLOAT, SFLOAT, TFLOAT,OR XFLOAT.

141  –  FLOPOIERR

  WARNING - The program contains a numeric  expression  whose  value  is
  outside  the  valid  range  for  floating-point  numbers.   Modify the
  expression so that its value is within the allowable range.

142  –  FNEWHINOT

  ERROR -  An  FNEXIT  or  EXIT  DEF  statement  has  no  preceding  DEF
  statement.  Define the function before inserting an FNEXIT or EXIT DEF
  statement.

143  –  FNEWITDEF

  ERROR - An FNEND or END DEF statement has no preceding DEF  statement.
  Define  the function before inserting an FNEND statement or delete the
  FNEND statement.

144  –  FORFEEMUS

  INFORMATION - A form feed character is followed by other characters in
  the same line.  Remove the characters following the form feed.  A form
  feed must be the last or only character on a line.

145  –  FORPARMUS

  ERROR - The declaration of a DEF, SUB, or  FUNCTION  routine  contains
  the  parentheses  for  a  parameter  list but no parameters.  Supply a
  parameter list or remove the parentheses.

146  –  FORSTRPAR

  ERROR - A variable name appears both in a subprogram formal  parameter
  list  and  a  FIELD  statement in the subprogram.  Remove the variable
  from the FIELD statement.

147  –  FOUENDWIT

  ERROR - The program contains an END SELECT,  END  DEF,  END  SUB,  END
  FUNCTION,  SUBEND,  or  END  IF  without  a matching SELECT, DEF, SUB,
  FUNCTION, or IF.  Supply a SELECT, DEF, FUNCTION, SUB, or IF to  match
  the END <block> statement.

148  –  FOUND

  ERROR - The program contains a syntax error.  BASIC displays the  item
  where  the  error  was  detected, then displays one or more items that
  make more sense in that context.  The compilation  continues  so  that
  other  errors  may  be  detected.   The  actual  program  line remains
  unchanged and no object file is produced.  Examine the line  carefully
  to  discover the error.  Change the program line to correct the syntax
  error.

149  –  FOUNXTWIT

  ERROR - The program contains a  NEXT  statement  without  a  preceding
  WHILE or UNTIL statement.  Supply a WHILE or an UNTIL statement.

150  –  FOUWITMAT

  ERROR - The  program  contains  a  NEXT  <control-variable>  statement
  without  a  matching  FOR  <control-variable> statement.  Supply a FOR
  statement.

151  –  FUNINVNOT

  ERROR - An external function invocation (including a  parameter  list)
  appears  on  the  left  side  of  an assignment statement.  Remove the
  assignment  statement.   You  cannot  assign  values  to  a   function
  invocation.

152  –  FUNNESTOO

  ERROR - The program contains too many levels of  function  definitions
  within  function  definitions.   Reduce  the number of nested function
  definitions.

153  –  FUNWHINOT

  ERROR - There is an EXIT  FUNCTION  or  FUNCTIONEXIT  statement  in  a
  module that is not a FUNCTION subprogram.  Remove the EXIT FUNCTION or
  FUNCTIONEXIT statement.

154  –  GRAARRMUS

  ERROR - The specified array has a datatype other than INTEGER or REAL.
  Declare the array with an integer or real datatype.

155  –  HANNOTDEF

  ERROR - A HANDLER definition has been  found  within  a  DEF  function
  definition.   Remove  the  HANDLER  definition  from  inside  the  DEF
  function definition.

156  –  HANNOTFOU

  ERROR - You did not define  the  HANDLER  you  referenced  in  a  WHEN
  statement.  Define the HANDLER you reference in the WHEN statement.

157  –  HANNOTWHE

  ERROR - A detached HANDLER  definition  was  found  in  a  WHEN  block
  protected region or associated handler.  Remove the HANDLER definition
  from within all WHEN block protected regions and associated handlers.

158  –  HANWHINOT

  ERROR - An EXIT HANDLER statement was found while  not  in  a  HANDLER
  block.  Remove the EXIT HANDLER statement.

159  –  HORJUSMUS

  ERROR - You specified an invalid value for the horizontal component of
  the  SET  TEXT  JUSTIFY  statement.   Justification  must  be  "LEFT",
  "CENTER", "RIGHT" or "NORMAL".

160  –  IDEMAYAPP

  WARNING  -  The  program  contains  more  than  one  %IDENT   compiler
  directive.  Remove all but one %IDENT directive.

161  –  IDENAMTOO

  WARNING - The quoted string in a %IDENT directive is too long.  Reduce
  the length of the string.  The maximum length is 31 characters.

162  –  IF_EXPMUS

  ERROR - A %IF directive contains a %ELSE clause  with  no  intervening
  %THEN clause.  Insert a %THEN clause.

163  –  IF_IN_INC

  ERROR - A %INCLUDE file contains a %IF but no %END %IF.  Supply a %END
  %IF for the %INCLUDE file.

164  –  IF_NOTTER

  ERROR - The program contains an IF-THEN-ELSE statement within a  block
  (for  example, a FOR-NEXT, SELECT-CASE, or WHILE block) and the end of
  the  block  was  reached  before  the   IF-THEN-ELSE   statement   was
  terminated.   Check  program  logic to be sure IF-THEN-ELSE statements
  are terminated with a line number or an END IF  statement  before  the
  end of the block.

165  –  ILLALLCLA

  ERROR - The program contains an ALLOW clause on a GET  statement,  and
  the  file  was  not  opened  with  the UNLOCK EXPLICIT clause.  Either
  remove the ALLOW clause from the  GET  statement  or  use  the  UNLOCK
  EXPLICIT clause in the OPEN statement.

166  –  ILLARGPAS

  ERROR - The program specifies an invalid argument  passing  mechanism,
  for  example, passing strings or arrays BY VALUE, or passing an entire
  virtual  array.   Check  all  elements  for  proper  parameter-passing
  mechanism.

167  –  ILLCALFUN

  ERROR - You attempted to use the CALL statement  to  invoke  either  a
  DECIMAL,  XFLOAT,  or  STRING  function.   Invoke  the subprogram as a
  function in an expression.

168  –  ILLCHA

  WARNING -  The  program  contains  illegal  or  incorrect  characters.
  Examine  the  program for correct usage of the BASIC character set and
  possibly delete the character.

169  –  ILLCHAEXT

  ERROR - The external  symbol  in  an  EXTERNAL  FUNCTION  or  CONSTANT
  declaration   contains  an  invalid  character.   Remove  the  invalid
  character.  External names on PDP-11 systems  can  use  only  printing
  ASCII characters:  ASCII values in the range 32 to 126, inclusive.

170  –  ILLCHAIDE

  WARNING - A %IDENT directive contains an illegal  character  with  the
  reported ASCII value.  Remove the illegal character.

171  –  ILLCONTYP

  ERROR - The program contains  an  invalid  declaration,  for  example,
  DECLARE  RFA  CONSTANT.   Remove  the  invalid  data type.  You cannot
  declare constants of the RFA data type.

172  –  ILLFRMNAM

  ERROR - The program contains an invalid user  identifier  (such  as  a
  variable,  constant or function name).  Change the name to comply with
  the rules for naming user identifiers.

173  –  ILLFRMNUM

  ERROR - The program contains either an invalid E-format expression  or
  a  numeric  constant  with  a  digit  that is invalid in the specified
  radix, for example, a decimal constant containing a hexadecimal digit.
  Supply  a valid E-format expression or a constant that is valid in the
  specified radix.

174  –  ILLIO_CHA

  ERROR - A constant  channel  expression  is  greater  than  99,  or  a
  variable  channel  expression  is  greater  than  119.  If the channel
  expression is a constant, change it to be less than or equal to 99.  A
  variable channel expression can be less than or equal to 119; however,
  channels in the range 100 to 119, inclusive are reserved for  programs
  using LIB$GET_LUN.

175  –  ILLLINNUM

  ERROR - A CHAIN with LINE statement specifies an invalid line  number.
  Either  the  number  is outside the valid range or a string expression
  follows the LINE keyword.  Supply a line number between 1  and  32767,
  inclusive.

176  –  ILLLOCARG

  ERROR - An argument to the LOC function is a constant,  virtual  array
  element, or expression.  Change the argument to the LOC function.

177  –  ILLLOONES

  ERROR - The program contains overlapping loops.  Examine  the  program
  logic  to  make  sure  that the FOR and NEXT statements for the inside
  loop lie entirely within the outside loop.

178  –  ILLMATOPE

  ERROR - The  program  attempts  matrix  division.   The  operation  is
  treated  as a MAT multiply, and the compilation continues.  Remove the
  attempted matrix division.  BASIC does not support this operation.

179  –  ILLMIDLEN

  ERROR - The value of the length in the MID statement is either greater
  than  the length of the string or less than or equal to zero.  Correct
  the length to be between 1 and the length of the string.

180  –  ILLMIDSTRT

  ERROR - The starting value in the MID statement is less than or  equal
  to  zero.   Correct  the starting value to be greater than or equal to
  one.

181  –  ILLMODMIX

  ERROR - The program contains string and numeric operands in  the  same
  operation.  Change the expression so that it contains either string or
  numeric operands, but not both.

182  –  ILLMULDEF

  ERROR - The program uses the same name for:

   o  More than one variable
   o  A variable and a MAP
   o  A variable and a COMMON
   o  A MAP and COMMON

  Use unique names for variables, COMMONs, and MAPs.

183  –  ILLMULOPT

  ERROR - The OPTIONAL clause  was  specified  more  than  once  in  the
  EXTERNAL  statement for a single SUB or FUNCTION.  This is not allowed
  because  OPTIONAL  implies  that  all  parameters  following  it   are
  optional.  Fix the EXTERNAL statement so that it has only one OPTIONAL
  clause per SUB or FUNCTION.

184  –  ILLNESDEF

  ERROR - The program contains a DEF function block within  another  DEF
  function  block.   Remove  the  inner DEF block.  A DEF cannot contain
  another DEF.

185  –  ILLOPEARG

  ERROR - The program performs an operation that  is  inconsistent  with
  the  data  type of the arguments, for example, an arithmetic operation
  on variables of the RFA data type.  Remove the operation or change the
  data type of the arguments.

186  –  ILLSTROPE

  ERROR -  The  program  specifies  an  invalid  string  operation,  for
  example, A$ = B$ - C$.  Replace the invalid operator.

187  –  ILLUSAFIE

  ERROR - A variable appearing in a FIELD statement is used as a  formal
  or  actual  parameter.   Remove  the  variable  from  either the FIELD
  statement or the parameter list.

188  –  ILLUSEUNA

  ERROR - A compiler directive contains an invalid  lexical  expression,
  for  example, %IF 1 - - 2 or %IF 1 NOT 2.  Correct the invalid lexical
  expression.

189  –  ILLWAIVAL

  ERROR - An integer expression was specified on a WAIT clause  that  is
  less than 0 or greater than 255.  Specify an integer expression from 0
  through 255.

190  –  IMPCNTNOT

  ERROR - The program contains an  implied  continuation  line  after  a
  statement  that  does  not allow implicit continuation, for example, a
  DATA statement.  Use an ampersand (&) to continue the statement.

191  –  IMPDECNOT

  ERROR - A program compiled with the /EXPLICIT  qualifier  contains  an
  implicitly  declared  variable.   Declare  the  variable explicitly or
  compile the program without the /EXPLICIT qualifier.

192  –  INACODFOL

  WARNING - The program contains one or more statements that  cannot  be
  accessed, for example, a multi-statement line whose first statement is
  a GOTO.  Make sure that the GOTO statement is the last statement on  a
  multi-statement line.

193  –  INCDIRSYN

  ERROR - A %INCLUDE directive is either not followed by a quoted string
  or  incorrectly  uses  the  %FROM %CDD clause.  Supply either a quoted
  string or the correct syntax for the %FROM %CDD clause.

194  –  INCFUNUSA

  ERROR - The parameter list in a DEF  function  invocation  contains  a
  string  where  the  function  expects  a  number, or vice versa.  This
  message is issued only when  the  invocation  occurs  before  the  DEF
  statement  in the program.  Supply a correct parameter in the function
  invocation or correct the parameter list in the DEF.

195  –  INCRMSERR

  ERROR - A %INCLUDE directive caused an RMS error  when  accessing  the
  specified file.  Take action based on the reported RMS error number.

196  –  INCSUBUSE

  ERROR - The number of subscripts in an array reference does not  match
  the  number  of  subscripts  specified  when  the  array  was created.
  Specify the same number of subscripts.

197  –  INIOUTRAN

  ERROR - The specified initial value is not within the range  specified
  in  the  RANGE  clause.   Change either the initial value or the range
  values so that the initial value falls within the range.

198  –  INPPROMUS

  ERROR - An INPUT, LINPUT, or INPUT  LINE  statement  list  contains  a
  numeric  constant  immediately  following  the  statement.  Remove the
  numeric constant.  You can specify only a string constant  immediately
  after an INPUT, LINPUT, or INPUT LINE statement.

199  –  INSERTB

  ERROR - The program contains a syntax error.  BASIC assumes a  keyword
  is  missing  and  continues  compilation under that assumption so that
  other errors  may  be  detected.   The  actual  program  line  remains
  unchanged  and no object file is produced.  Examine the line carefully
  to discover the error.  Change the program line to correct the  syntax
  error.

200  –  INSERTM

  ERROR - The program contains a syntax error.  BASIC assumes a  keyword
  is  misspelled and continues compilation under that assumption so that
  other errors  may  be  detected.   The  actual  program  line  remains
  unchanged  and no object file is produced.  Examine the line carefully
  to discover the error.  Change the program line to correct the  syntax
  error.

201  –  INSSPADYN

  ERROR - A variable named in a MAP DYNAMIC statement is larger than the
  MAP.   For example, a GFLOAT variable in a MAP that is only four bytes
  long.  Increase the size of the MAP so that it is large enough to hold
  the largest member.

202  –  INTCODERR

  ERROR - An error has been detected  in  the  BASIC  compiler.   Please
  submit  a  software  problem  report  with  the source code of a small
  program that produces this error.

203  –  INTCONEXC

  ERROR - The value specified in a DECLARE  CONSTANT  statement  exceeds
  the  largest  allowable  value  for  an integer.  The maximum value is
  9223372036854775807.  Supply a value in the valid range.

204  –  INTCONREQ

  ERROR - The program contains a noninteger named constant in a  context
  that requires an integer.  For example:

       DIM A ('123'D)

  Supply an integer constant.

205  –  INTERR

  WARNING - The program contains an integer expression  whose  value  is
  outside  the  valid range.  Modify the expression so that its value is
  within the allowable range, or use  an  integer  data  type  that  can
  contain all possible values for the expression.

206  –  INVCHNNUM

  ERROR - A channel number less than or equal  to  zero  was  specified.
  Change the channel number to be greater than zero.

207  –  INVCONREQ

  ERROR - The program contains  a  reference  to  the  REAL  or  INTEGER
  functions  and  the argument is an entire array, GROUP, RECORD, or RFA
  expression.  Remove the  invalid  argument.   The  argument  to  these
  functions must be a numeric expression.

208  –  INVINTTYP

  ERROR - A reference to the INTEGER function contains an  invalid  data
  type  keyword,  for example, A = INTEGER(A, SINGLE).  the invalid data
  type keyword.  The INTEGER function returns only BYTE, WORD, LONG,  or
  QUAD values.

209  –  INVLOGNAM

  ERROR - The argument  to  the  ASSIGN  compiler  command  specified  a
  logical name of length less than 1 or greater than 63.  Supply a valid
  logical name.

210  –  INVPRISPE

  ERROR - On the SET INPUT PRIORITY statement, you specified a character
  other  than  <  or  >  to  indicate the relative priorities of the two
  transformation numbers.  Specify  the  priority  relationship  with  >
  (higher priority) or < (lower priority).

211  –  INVREATYP

  ERROR - A reference to the REAL function contains an invalid data type
  keyword, for example, A = REAL(A, LONG).  Change the invalid data type
  keyword.  The REAL  function  returns  only  SINGLE,  DOUBLE,  GFLOAT,
  SFLOAT, TFLOAT, or XFLOAT values.

212  –  INVSUBTYP

  ERROR  -  The  program  contains  an  invalid  declaration  containing
  contradictory  type  declarations,  for  example,  DECLARE  REAL BYTE.
  Supply a valid declaration.   Use  only  valid  integer  subtypes  for
  INTEGER and only valid floating-point subtypes for REAL.

213  –  IS_NOTDYN

  ERROR - A REMAP statement names a variable that was not named  in  the
  MAP  DYNAMIC  statement  for  that  MAP.  Remove the variable from the
  REMAP statement or name the variable in the MAP DYNAMIC statement  for
  that map.

214  –  ITEMUSAPP

  ERROR - The program contains an ITERATE statement that is not within a
  FOR-NEXT,  WHILE,  or  UNTIL  loop.   Remove  the ITERATE statement or
  surround it with a loop.

215  –  JMPBADBLO

  ERROR - The program attempts to transfer control to a  WHEN  block  or
  associated  handler.   Change  the  program  logic so that it does not
  transfer control to a WHEN block or associated handler.

216  –  JMPBADLAB

  ERROR - The program attempted to transfer  control  into  a  FOR-NEXT,
  WHILE,  UNTIL, or SELECT-CASE block.  Change the program logic so that
  it does not transfer control into a block.

217  –  JMPBADLIN

  INFORMATION - The program transfers control to a line number within  a
  FOR-NEXT,   WHILE,   UNTIL,   or   SELECT-CASE   block.   This  is  an
  informational message.  However, it is poor  programming  practice  to
  transfer control into a block.

218  –  JMPINTDEF

  ERROR - The program attempts to transfer control  into  a  DEF  block.
  Change  the  control statement; you cannot transfer control into a DEF
  block except by invoking the function.

219  –  JMPOUTDEF

  ERROR - The program attempts to transfer control out of a  DEF  block.
  Change the control statement; you cannot transfer control out of a DEF
  block except by a EXIT DEF, FNEXIT, FNEND, or END DEF statement.

220  –  JMPOUTHAN

  ERROR - The program attempts to  transfer  control  out  of  an  error
  handler.   Change  the control statement.  Use an EXIT HANDLER, RETRY,
  or CONTINUE statement to transfer control out of an error handler.

221  –  JMPOUTPRO

  ERROR - In a source file containing more than one  program  module,  a
  statement  attempts  to transfer control from one module into another.
  Change the statement that attempts to  transfer  control;  you  cannot
  transfer control into a different program module.

222  –  JMPUNRLIN

  ERROR - A RESUME,  GOSUB,  or  GOTO  statement  attempts  to  transfer
  control to a CASE statement.  Label or number the SELECT statement and
  transfer control to the beginning of the SELECT-CASE block.

223  –  KEYCANNOT

  ERROR - A KEY  clause  in  an  OPEN  statement  specifies  a  variable
  declared  as  dynamic  in  a  MAP DYNAMIC statement.  Specify a static
  variable in the KEY clause.  That is, declare the variable  in  a  MAP
  statement, not a MAP DYNAMIC statement.

224  –  KEYIS_NEE

  ERROR - The program attempts to open an indexed file for  output,  and
  the PRIMARY KEY clause is missing.  Supply a PRIMARY KEY clause.

225  –  KEYMUSBE

  ERROR - A FIND or GET statement on an  indexed  file  contains  a  key
  specification  that  is  not  a  WORD, LONGWORD, STRING, DECIMAL, or a
  RECORD or GROUP exactly 8 bytes long.  Change the key specification to
  be  a  WORD, LONGWORD, STRING, DECIMAL, or a RECORD or GROUP exactly 8
  bytes long.

226  –  KEYMUSTBE

  ERROR - An OPEN statement contains a key specification that is not  an
  unsubscripted  WORD,  LONGWORD,  DECIMAL, STRING, or a RECORD or GROUP
  exactly  8  bytes  long.   Change  the  key  specification  to  be  an
  unsubscripted  WORD,  LONGWORD,  DECIMAL,  STRING or a RECORD or GROUP
  exactly 8 bytes long.

227  –  KEYNOTMAP

  ERROR - An OPEN statement for an indexed file specifies a KEY variable
  that  does  not  appear in a MAP statement.  Place the KEY variable in
  the MAP referenced by the OPEN statement's MAP clause.

228  –  KEYREQMAP

  ERROR - An OPEN statement specifies KEY clauses without  specifying  a
  MAP clause.  Supply a MAP clause to define the position of the keys in
  the record buffer.

229  –  KEYSEGMUS

  ERROR - An OPEN statement  specifies  a  segmented  key  containing  a
  numeric variable.  For example:

       10 OPEN "INDEX.DAT" AS FILE #1, ORGANIZATION INDEXED, &
             PRIMARY KEY (A$, B$, C%), MAP ABC

  Specify only string variables in segmented keys.

230  –  KEYSINC

  ERROR  -  An  OPEN  statement  contains  contradictory  record  format
  specifications,  for  example,  both FIXED and VARIABLE.  Specify only
  one record format.

231  –  KEYTOOLON

  ERROR - A KEY variable is longer  than  255  characters.   Reduce  the
  length of the KEY variable.  The maximum key length is 255 characters.

232  –  KEYWORINC

  ERROR - An OPEN statement contains an  ALLOW,  ACCESS,  or  RECORDTYPE
  clause whose keyword argument is invalid, for example, ACCESS FORTRAN.
  Change the clause argument to a valid keyword for that clause.

233  –  LABNOTDEF

  ERROR - The program tries to transfer control to a nonexistent  label.
  Define the label before transferring control to it.

234  –  LABNOTLAB

  ERROR - An EXIT statement in  a  loop,  IF-THEN-ELSE,  or  SELECT-CASE
  block specifies a label that does not refer to that block.  Change the
  program so that the label refers  to  the  block  in  which  the  EXIT
  statement occurs.

235  –  LABNOTLOO

  ERROR - In a loop, an EXIT or ITERATE statement specifies a label that
  does  not  refer  to  that loop.  Change the program so that the label
  refers to the loop in which the EXIT or ITERATE statement occurs.

236  –  LANFEADEC

  INFORMATION - This error is reported  only  when  the  /FLAG=DECLINING
  qualifier  is in effect.  The program contains a language feature that
  is not recommended for new program development, for example, the FIELD
  statement.   Use  MAP,  MAP  DYNAMIC,  and REMAP statements instead of
  FIELD, EDIT$ rather than CVT$$, and overlaid MAPs  rather  than  CVTxx
  functions.

237  –  LANFEAINH

  INFORMATION - A program compiled with the /NOSETUP qualifier  contains
  a  language  feature  that  requires  /SETUP,  for example, the RESUME
  statement.  The compilation continues  with  /SETUP  in  effect.   The
  program  must  be  compiled  with  /SETUP  in  effect for the language
  feature to work.

238  –  LANFEAOPE

  ERROR - The program contains a PRINT statement with RECORD clause on a
  system  that  does  not  support the RECORD clause.  Remove the RECORD
  clause.

239  –  LEFBOUSPE

  ERROR - In a statement that specifies a viewport  or  windowsize,  you
  specified  a  left  boundary  that  is  greater  than  or equal to the
  corresponding right boundary.  Correct the left boundary so that it is
  less than the right boundary.

240  –  LENDYNSTR

  ERROR - The program contains a  dynamic  string  variable  declaration
  that  specifies  a  string  length.  Length specifications are allowed
  only for fixed-length strings; remove the  length  specification  from
  the dynamic string or allocate the string in a MAP or COMMON.

241  –  LENNUMFIL

  ERROR - The program contains a numeric  FILL  item  that  specifies  a
  length.  Remove the length specification from the numeric FILL item.

242  –  LETDIRSYN

  ERROR - A %LET directive contains a  syntax  error,  for  example,  an
  invalid  lexical  identifier.   Use  the  correct  syntax for the %LET
  directive.

243  –  LEXDIRSYN

  ERROR - A syntax error was detected in a lexical  directive.   Correct
  the syntax of the lexical directive.

244  –  LEXIDEMUS

  ERROR - You reference a lexical  identifier  before  you  declare  it.
  Declare the lexical identifier before you reference it.

245  –  LINNOTALL

  ERROR - An EDIT command with a line number has been found in a program
  without line numbers.  Remove the EDIT command.

246  –  LINNUMERR

  ERROR - A line number outside the valid range was typed.   Enter  only
  line numbers in the range 1 to 32767, inclusive.

247  –  LINNUMINC

  ERROR - The file specified in a %INCLUDE compiler directive contains a
  line number.  Remove the line number from the file.

248  –  LINNUMUND

  ERROR - The program references a line number that does not  appear  in
  the   object   code   as   a   result   of   the  branch  taken  in  a
  %IF-%THEN-%ELSE-%END-%IF directive.  Remove the line number  reference
  or change the THEN-%ELSE-%END-%IF directive.

249  –  LINTOOLON

  ERROR - The program attempted to input more data than the input buffer
  could hold.  Either decrease the amount of data entered at one time or
  increase the size of the input buffer.  You can  explicitly  OPEN  the
  input  device and specify the input buffer size with the RECORDSIZE or
  MAP clause.

250  –  LOGOPENON

  ERROR - The program contains a logical operation performed on  strings
  or real numbers.  Change the logical operands to integers.

251  –  LOOINDMUS

  ERROR - A FOR statement  specifies  a  string  variable  as  the  loop
  control  variable.   Specify  a  numeric  variable.   You can use only
  numeric variables as loop control variables.

252  –  LOOINIMUS

  ERROR - A FOR statement attempts to assign a string expression as  the
  loop  control variable's initial value.  Remove the string expression.
  You can assign only numeric values as the loop's initial value.

253  –  LOOLIMMUS

  ERROR - A FOR statement attempts to assign a string expression as  the
  loop control variable's limiting value.  Remove the string expression.
  You can assign only numeric values  as  the  loop  control  variable's
  limiting value.

254  –  LOOWILNEV

  WARNING - The program contains a FOR/NEXT loop that is not executable,
  for  example,  FOR I% = 1% TO 0%.  Compilation continues, but the loop
  is ignored.  Change the loop parameters or insert an appropriate  STEP
  clause.

255  –  LOWLSSUP

  ERROR - The lower bound specified in the array  is  greater  than  the
  upper bound.  Correct the bounds.

256  –  LOWNOTVIR

  ERROR - Lower bounds of virtual arrays  must  be  zero.   Correct  the
  lower bounds to be zero.

257  –  LOWNOTZERO

  ERROR - The lower bound of the array must be zero.  Correct the  lower
  bound to be zero.

258  –  LOWRANVAL

  ERROR - In the RANGE clause, the  first  value  is  greater  than  the
  second value.  Change the range clause so that the first value is less
  than the second value.

259  –  LRSETNOT

  ERROR - The LSET and RSET keywords are not allowed with  MID.   Change
  the LSET or RSET keyword to LET.

260  –  MACNOTDEF

  ERROR - The macro identifier used in this %UNDEFINE directive was  not
  previously define by a %DEFINE directive.

261  –  MAPDYNNOT

  ERROR - A dynamic map requires more than 32767 bytes.  Reduce the size
  of the map.  A dynamic map cannot be larger than 32767 bytes.

262  –  MAPDYNREQ

  ERROR - The program contains a MAP DYNAMIC statement  whose  MAP  name
  does  not appear in a MAP statement.  Provide a MAP with the same name
  as the MAP DYNAMIC name.

263  –  MAPNOTDEF

  ERROR - An OPEN statement's MAP clause references a  nonexistent  MAP.
  Define the MAP referenced by the MAP clause or remove the MAP clause.

264  –  MAPTOOLAR

  FATAL - The size of the MAP referenced in an OPEN statement is greater
  than 32767 bytes.  Reduce the size of the MAP.

265  –  MAPVARALI

  ERROR - More than one overlaid MAP contains the same variable, but the
  variable's position differs in the MAPs.  The same variable can appear
  in multiple overlaid MAPs, but  the  variable  must  occupy  the  same
  position in the PSECT; make sure that the variable appears in the same
  position in the MAPs.

266  –  MAPVARREF

  INFORMATION - A reference to a MAP  variable  occurs  before  the  MAP
  statement.   Make  sure that the MAP statement precedes any references
  to variables in the MAP.

267  –  MATDIMERR

  ERROR - The program either:

   o  Contains  a  MAT  IDN,  MAT  TRN,  or  MAT  INV  performed  on   a
      one-dimensional array
   o  Performs a matrix operation that requires identical bounds in  the
      operand arrays and those arrays have different bounds

  Dimension the arrays to the proper bounds.

  MATMUL2OP

  ERROR - You specified the wrong dimensions in  a  matrix  in  the  MAT
  multiply  statement  or  a  WITH  clause  on  the  DRAW  statement.  A
  2-dimensional matrix with lower bounds 0 and upper bounds  4  in  both
  dimensions  is  required.   Declare  the  matrix to be a 2-dimensional
  matrix with lower bounds 0 and upper bounds 4 in both dimensions.

268  –  MATLOWBOU

  ERROR - The specified transformation matrix either has a  lower  bound
  other  than  0, or an upper bound other than 4.  Declare the matrix so
  that both dimensions have a lower bound of 0 and an upper bound of 4

269  –  MATONEOR2

  ERROR -  A  MAT  statement  references  an  array  of  more  than  two
  dimensions.   Remove  the  array  reference.  MAT statements are valid
  only on arrays of one or two dimensions.

270  –  MAXCONCOM

  FATAL - The program contains too many nested  %IF-%THEN-%ELSE-%END-%IF
  directives.   Reduce  the  number  of  nested %IF-%THEN-%ELSE-%END-%IF
  directives.

271  –  MAXDIMEXC

  ERROR - An array declaration specifies more than the allowed number of
  dimensions.  Reduce the number of dimensions.  The maximum is 32.

272  –  MAXKEYSEG

  ERROR - An OPEN statement specifies a segmented  key  with  more  than
  eight  segments.   Reduce  the number of segments in the key clause to
  eight or less.

273  –  MAXPAREXC

  ERROR - The program attempts  to  declare  a  DEF  with  more  than  8
  parameters, or a subprogram with more than 255 parameters.  Reduce the
  number of parameters; DEFs allow up to 8  parameters  and  subprograms
  allow up to 255 parameters.

274  –  MAXPAREXP

  ERROR - An external SUB or FUNCTION was called  with  more  parameters
  than were specified in the EXTERNAL statement, including both OPTIONAL
  and non-OPTIONAL parameters.  Reduce the number of parameters  in  the
  call.

275  –  MERGE

  ERROR - The program contains a syntax error.  BASIC assumes that there
  is  an incorrect space, for example, PRI NT.  Compilation continues so
  that other errors may be detected.  The actual  program  line  remains
  unchanged  and no object file is produced.  Examine the line carefully
  to discover the error.  Change the program line to correct the  syntax
  error.

276  –  MINPAREXP

  ERROR - An external SUB or FUNCTION was called with  fewer  parameters
  than  were  specified  as  non-OPTIONAL  parameters  in  the  EXTERNAL
  statement.  Increase the number of parameters in the call so that  the
  number  of  parameters  is  equal  to  or  greater  than the number of
  non-OPTIONAL parameters.

277  –  MISENDIF

  ERROR - A %IF directive crosses a program module boundary.   Terminate
  the %IF with a %END %IF before beginning a new source module.

278  –  MISENDFOR

  ERROR - The program contains a SELECT, IF, or DEF without  a  matching
  END statement.  Supply a matching END statement.

279  –  MISMATEND

  ERROR - The program contains an incorrect END statement, for  example,
  an END RECORD statement instead of an END GROUP statement.  Supply the
  correct type of END statement.

280  –  MISMATFOR

  ERROR - The program contains a FOR, WHILE, or UNTIL without a matching
  NEXT.  Supply a matching FOR, WHILE, or UNTIL statement.

281  –  MISSINGLN

  ERROR - A new line in the source file does not follow  a  line  ending
  with  an  ampersand,  does  not begin with a line number, and does not
  start with a space or tab (specifying an automatic continuation line).
  Start  automatic  continuation  lines  with  a space or tab, or use an
  ampersand as the last character of the preceding line,  or  start  the
  line with a line number.

282  –  MODNOTFND

  ERROR - The module name you specified in an %INCLUDE directive was not
  found in the text library you specified.  Place the module name in the
  specified text library.

283  –  MULDEFLEX

  ERROR - A lexical constant is named in more than one  %LET  directive.
  Declare the lexical constant only once with %LET.

284  –  MULHANSPE

  ERROR - A WHEN block specifies both an  attached  and  detached  error
  handler.   Change  the  WHEN  block  to  specify either an attached or
  detached error handler.

285  –  MULMAIPROG

  ERROR - More than one main program unit has been detected in a  single
  source file.  Modify your source file so that all BASIC statements are
  contained within a single main program or within a subprogram.

286  –  MULTDEF

  WARNING -  A  variable  is  declared  in  more  than  one  declarative
  statement.  Make sure that the variable is declared only once.

287  –  NAMNOTREC

  ERROR - A RECORD component reference uses an invalid record name,  for
  example,  A::B  when  A  is  not  a RECORD name.  Change the erroneous
  reference.

288  –  NAMTOOLON

  WARNING - A variable or array  name  is  longer  than  31  characters.
  BASIC truncates the name to 31 characters and continues compilation so
  that other errors may be detected.  The actual  program  line  remains
  unchanged  and  no  object file is produced.  Reduce the length of the
  variable name.

289  –  NEGFILSTR

  ERROR - The program contains a negative FILL specification  or  string
  length.   Change the FILL specification or string length to a positive
  number.

290  –  NESFORLOO

  ERROR - The program contains nested FOR/NEXT loops that use  the  same
  index  variable.   Change  the  index  variable for all but one of the
  loops.

291  –  NOBASFRAM

  ERROR - BASIC could not find a  valid  stack  frame.   This  could  be
  caused  by  running  a  program with /CHECK=NOBOUNDS or by a non-BASIC
  subprogram.  Debug the program before running with /CHECK=NOBOUNDS  or
  check the logic of the non-BASIC subprogram.

292  –  NO_DCLACC

  WARNING - Your account does not allow access to DCL.  See your  system
  manager.

293  –  NOHANSPE

  ERROR - A WHEN block has been found that does  not  specify  an  error
  handler.  Specify an error handler for the WHEN block.

294  –  NOLINENUM

  WARNING - There is no line number on the first line  of  the  program.
  Add  a line number to the first line of the program or remove all line
  numbers from the program.

295  –  NOLNROOM

  ERROR - The program contains more line-numbered statements than  BASIC
  allows.   Change  the  program  so  that it uses multi-statement lines
  instead of having each statement on its own line or split the  program
  into one or more program units in separate files.

296  –  NOMAPNAME

  ERROR - A MAP statement does not specify a map name.  Specify  a  name
  for the MAP.

297  –  NOSUCHMAP

  ERROR - A REMAP statement names a nonexistent MAP area.  Supply a  MAP
  before executing the REMAP statement.

298  –  NOTMACROOM

  ERROR - Out of memory for macro definitions.  The limit on the  number
  of  macros  definitions  has  been  exceeded.   Reduce  the  number of
  %DEFINEs, or %UNDEFINE some previously defined macros.

299  –  NOTIMP

  ERROR - The program attempted to use a feature that does not exist  in
  this version of BASIC.

300  –  NOTPASSBY

  ERROR - The program specifies an invalid  parameter  or  an  incorrect
  passing  mechanism  for  a  parameter's  data  type.  For example, you
  cannot pass an entire array BY VALUE, nor can you pass a  label  as  a
  parameter.  Specify a valid parameter or passing mechanism.

301  –  NOTRECVBY

  ERROR - A subprogram specifies an incorrect passing  mechanism  for  a
  parameter's  data  type,  or  an  invalid parameter.  For example, you
  cannot receive an entire array BY VALUE.  Specify a valid parameter or
  passing mechanism.

302  –  NOTXTROOM

  ERROR - The program contains more text than BASIC allows.   Split  the
  program into one or more program units.

303  –  NUMARREXP

  ERROR - A CHANGE statement does not specify a numeric array.  Supply a
  numeric array in the CHANGE statement.

304  –  NUMCONREQ

  ERROR - The program contains a string in a  context  that  requires  a
  numeric constant.  For example:

       DECLARE INTEGER CONSTANT A = "ABC"

  Supply a numeric constant.

305  –  NUMIS_NEE

  ERROR - The program contains a string expression  in  a  context  that
  requires  a  numeric  expression,  for  example,  WHILE  A$.  Supply a
  numeric expression.

306  –  NUMVARREQ

  ERROR - A non-numeric variable was  found  with  a  numeric  datatype.
  Specify a numeric variable.

307  –  OBJFAIL

  FATAL - Either an attempt was made to load a non-BASIC object  module,
  or  the  compiler  could not find the object file referenced by a CALL
  statement or EXTERNAL FUNCTION reference.  If the object file  resides
  in  the  OpenVMS Common Run-Time Library, you must link the program at
  DCL level.  If the object file is in a user-supplied library, use  the
  LIBRARY  command  to  install the missing object module.  You can load
  only BASIC object modules.

308  –  ONENOTWHE

  ERROR - An ON ERROR statement has been found in a  WHEN  block  or  an
  associated error handler.  Remove the ON ERROR statement from the WHEN
  block or associated error handler.

309  –  OPEEXPNOT

  ERROR - A compiler directive contains an  invalid  lexical  expression
  that  has  a  right  parenthesis  immediately  followed  by  a lexical
  identifier.  Correct the lexical expression.

310  –  OPEMUSFOL

  ERROR - The program contains an incorrect lexical expression.  Correct
  the lexical expression.

311  –  OPNCLAVAL

  ERROR - An OPEN statement contains a RECORDSIZE, FILESIZE, EXTENDSIZE,
  WINDOWSIZE,  BLOCKSIZE, BUCKETSIZE, or BUFFER clause whose argument is
  too large.  Supply a smaller value for the argument.

312  –  OPNDUPCLA

  WARNING - An OPEN statement contains more than one clause of the  same
  type.  Remove one of the clauses.

313  –  OPNILLCLA

  ERROR - An OPEN statement specifies invalid attributes  for  the  file
  (for  example,  CLUSTERSIZE)  or  uses  the  keyword  COMMON in an I/O
  clause.  Substitute valid attributes for the file or remove the COMMON
  keyword.

314  –  OPNINCCLA

  ERROR - An OPEN statement contains a clause that  is  not  appropriate
  for  the specified file organization.  For example, opening a relative
  file with the ACCESS APPEND clause.  Remove the inconsistent clause.

315  –  OPTCLACON

  ERROR - The  OPTION  statement  contains  contradictory  clauses,  for
  example  specifying  the  default  integer size as both BYTE and LONG.
  Remove one of the clauses.

316  –  OPTNOTALL

  ERROR - The keyword OPTIONAL is not allowed  in  an  EXTERNAL  PICTURE
  declaration.   Optional  parameters  should  be used only when calling
  non-BASIC procedures.  Remove the keyword OPTIONAL from  the  EXTERNAL
  PICTURE declaration.

317  –  OPTOUTSEQ

  ERROR - The OPTION statement is either not the first  statement  in  a
  main  program or not the first statement following the SUB or FUNCTION
  statement.  Move the OPTION statement so that it is either  the  first
  statement in the main program or the first statement following the SUB
  or FUNCTION statement in the subprogram.

318  –  ORGUNDREQ

  ERROR - The program opens a file with ORGANIZATION UNDEFINED, but does
  not  specify FOR INPUT.  Specify FOR INPUT in the OPEN statement.  You
  cannot write to a file with an undefined file organization.

319  –  OVFCHKSUP

  ERROR - Overflow checking was specified for a floating-point data type
  in  a  compiler  command,  a qualifier to the DCL BASIC command, or an
  OPTION statement.  Specify overflow checking only for  INTEGER  and/or
  DECIMAL data types.

320  –  OVRNOLINE

  WARNING - The program was compiled with /NOLINES and  uses  a  keyword
  that  requires  line  number information.  For example, ERL and RESUME
  with line numbers both require  that  the  program  be  compiled  with
  /LINES.

321  –  PAREXPFOR

  ERROR - The CALL or invocation of  a  routine  specifies  a  different
  number  of  parameters  than the number specified when the routine was
  declared.  Change  the  number  of  parameters  to  match  the  number
  declared.

322  –  PARINCPRE

  ERROR - An external subprogram or DEF function declaration specifies a
  different  data type for one of the parameters than the SUB, FUNCTION,
  or DEF statement specifies.  Change the specified data type in  either
  the  declaration  or  the  SUB, FUNCTION, or DEF statement so that the
  data types agree.

323  –  PARMODCHA

  INFORMATION - The data type specified in a routine invocation does not
  match that of the routine declaration.  BASIC issues this message only
  if the data type conversion results in  a  parameter  that  cannot  be
  modified  by  the  routine  that  was  invoked.   Make  the  data type
  specifications in the declaration and the invocation match.

324  –  PARMODNOT

  ERROR - The CALL  or  invocation  of  a  routine  specifies  a  string
  argument  for  a  parameter  that  was specified as a numeric when the
  routine was declared, or vice versa.  Change the string  parameter  to
  numeric, or vice versa.

325  –  PARNOTENT

  ERROR - Parenthesis are used to specify an entire array in  a  context
  where   an   entire  array  is  always  required.   Remove  the  empty
  parenthesis from the reference to the entire array.

326  –  PARSTRNOT

  ERROR - The actual parameter list in a CALL to a SUB subprogram or  an
  invocation  of  a  FUNCTION subprogram specifies an entire array where
  the subprogram declaration specified a simple variable, or vice versa.
  Change the actual parameter list to match the declared parameter list,
  or vice versa.

327  –  PARTYPREQ

  ERROR - In a program compiled with /EXPLICIT, no data type keyword  is
  specified  for  a  parameter.   Supply  a  data  type  keyword for the
  parameter.  There are no default data types when you compile a program
  with /EXPLICIT.

328  –  PASMECDEF

  ERROR  -  A  DEF  invocation  specifies  a  passing  mechanism  for  a
  parameter.  Remove the passing mechanism clause.

329  –  PASMECDIS

  ERROR - The CALL or invocation of  a  routine  specifies  a  different
  passing mechanism for a parameter than that specified when the routine
  was  declared.   Remove  the  BY  clause  specified  in  the  CALL  or
  invocation;  BASIC  automatically  passes  parameters with the passing
  mechanism specified when the routine was declared.

330  –  PASMECNOT

  ERROR - A program specifies a passing mechanism  in  a  context  other
  than  an  external  subprogram  invocation or declaration.  Remove the
  passing mechanism clause.

331  –  PASWITNO

  WARNING - A CALL statement, external function reference,  or  EXTERNAL
  statement  specifies  a  BY  clause  but  does  not  specify  a formal
  parameter list.  Remove the BY clause or supply a parameter list.

332  –  PATNOTREC

  ERROR - The %INCLUDE directive contains an invalid  path  name  for  a
  record definition.  Supply a valid path name for a record definition.

333  –  POSGTRTAR

  ERROR - The starting value in the MID statement is  greater  than  the
  length  of  the string.  Correct the value to be less than or equal to
  the length of the string.

334  –  PRELOGNAM

  ERROR  -  The  specified  logical  name  already  existed.   The   new
  equivalence name replaces the old one.

335  –  PRICDDERR

  ERROR - There have been one or more severe CDD/Repository errors  and,
  this may be the reason for the following error.  Recompile the program
  after correcting the CDD/Repository-related errors.

336  –  PRIUSICLA

  ERROR - A PRINT USING statement specifies  a  numeric  format  string.
  Supply a valid format string.

337  –  PRIUSICON

  ERROR - A PRINT USING statement contains a RECORD clause.  Remove  the
  RECORD clause or use the PRINT statement instead of PRINT USING.

338  –  PROSTRNES

  FATAL - The program contains too many  nested  block  constructs,  for
  example,  DEF function definitions.  Reduce the number of nested block
  constructs.

339  –  PROWHINOT

  ERROR - An EXIT PROGRAM statement was found in a program unit that  is
  not  a  main program.  Use the type of EXIT appropriate to the program
  unit.

340  –  PROTOOBIG

  FATAL - The program is too big.  Recode the program  as  two  or  more
  modules.

341  –  RADNOTSUP

  ERROR - A literal constant specifies a radix.   For  example,  in  the
  following DECLARE statement, H is an invalid radix specifier:

       10 DECLARE LONG CONSTANT A = H"111"

  Specify a valid radix.

342  –  REAACCINC

  ERROR - An OPEN statement specifies FOR OUTPUT and ACCESS  READ.   FOR
  OUTPUT  specifies  that  a  new file is created; ACCESS READ specifies
  that the program can only read the file.  If you want to create a  new
  file, remove the ACCESS READ clause; if you want read-only access to a
  file, specify FOR INPUT.

343  –  REAWITDAT

  ERROR - The program contains a READ statement but there  are  no  DATA
  statements.  Supply a DATA statement or remove the READ statement.

344  –  RECENTARR

  ERROR - A RECORD component reference specifies an array before the end
  of  the component path, for example, A::B(,)::C.  Remove the erroneous
  reference.

345  –  RECFILTOO

  ERROR - The total size of a  CDD/Repository  record  is  greater  than
  65535 bytes.  Reduce the size of the record.

346  –  RECNOTBY

  ERROR - The program attempts to pass a record to  a  subprogram  using
  either  the  BY  VALUE or BY DESC parameter-passing mechanism.  Remove
  the passing mechanism, or specify BY REF.   BASIC  programs  can  pass
  records only by reference.

347  –  RECNOTDEF

  ERROR - The program declares an instance of a user data type, but this
  type was not defined in the program module.  Define the data type with
  a RECORD statement.

348  –  RECOVEMAP

  ERROR - An OPEN statement contains both a RECORDSIZE clause and a  MAP
  clause,  and  the  RECORDSIZE clause is larger than the MAP.  Make the
  RECORDSIZE the same as the MAP size.

349  –  RECRECDEF

  ERROR - The program  contains  two  or  more  RECORD  statements  that
  reference   each  other.   Change  the  program  so  that  the  RECORD
  statements do not point at each other.

350  –  RECTOBIGL

  ERROR - the text library module specified  in  an  %INCLUDE  directive
  contains  a record longer than 255 bytes.  Extract the module from the
  text library, edit it to remove any records longer than 255 bytes, and
  replace the module in in the text library.

351  –  RECTOOBIG

  ERROR - The file specified in a %INCLUDE directive contains  a  record
  longer  than  255  characters.   Edit  the  file to remove any records
  longer than 255 characters.

352  –  RECTOOLAR

  ERROR - The components of a RECORD definition  add  up  to  more  than
  65535 bytes.  Reduce the size of the RECORD.

353  –  REMARRREF

  ERROR - The program attempts to  pass  an  array  declared  in  a  MAP
  DYNAMIC  statement  to  an  external  subprogram by reference.  Entire
  remapped arrays must be passed by descriptor.   Specify  the  BY  DESC
  passing mechanism either in the EXTERNAL declaration or the subprogram
  invocation.

354  –  REMNOTALL

  ERROR - A REM statement has been  found  in  a  program  without  line
  numbers.  Remove the REM statement.

355  –  REPLACE

  ERROR - The program contains a syntax error.  BASIC found incorrect or
  multiple operators where another single operator makes more sense, for
  example, 10 A == B.  Compilation continues so that other errors may be
  detected.   The  actual  program  line remains unchanged and no object
  file is produced.  Examine the line carefully to discover  the  error.
  Change the program line to correct the syntax error.

356  –  REQNUMEXP

  ERROR -  The  program  contains  a  string  expression  in  a  context
  requiring a numeric expression.  Supply a numeric expression.

357  –  REQSTREXP

  ERROR - The  program  contains  a  numeric  expression  in  a  context
  requiring  a string expression, for example, the file specification in
  an OPEN statement, or the default file specification in a  DEFAULTNAME
  clause.  Supply a string expression.

358  –  RESABOCON

  ERROR - A  resequenced  program  contains  a  %IF-%THEN-%ELSE-%END-%IF
  directive.  Remove the %IF-%THEN-%ELSE-%END-%IF directive.

359  –  RESABOSYN

  ERROR - A RESEQUENCE operation was terminated because the program  was
  not  syntactically  correct.   Correct  the syntax error and retry the
  RESEQUENCE operation.

360  –  RESATTINC

  ERROR - The data types  in  function  implicitly  defined  before  the
  function  is  declared  with a DEF statement are inconsistent with the
  data types specified  in  the  DEF  statement.   Make  the  data  type
  specifications match in both the function declaration and the function
  definition.

361  –  RESNOTWHE

  ERROR - A RESUME statement has been  found  in  a  WHEN  block  or  an
  associated  error  handler.  Remove the RESUME statement from the WHEN
  block or associated error handler.

362  –  RETCONMUS

  ERROR - A RETRY or CONTINUE statement  is  not  in  an  error  handler
  associated  with  a  WHEN block protected region.  Remove the RETRY or
  CONTINUE statement.

363  –  RFAEXPREQ

  ERROR - A GET BY RFA statement contains an expression that is  not  of
  the RFA data type.  Supply a valid RFA expression.

364  –  RFANOTALL

  ERROR - The program attempts to use an RFA expression in an arithmetic
  expression  or other invalid context.  Remove the RFA expression.  You
  can use the RFA data type only in file I/O, in an assignment statement
  or in a comparison.

365  –  ROUSUPDEC

  ERROR - Rounding was specified  for  a  non-DECIMAL  data  type  in  a
  compiler  command,  a qualifier to the BASIC DCL command, or an OPTION
  statement.  Specify rounding only for the DECIMAL data type.

366  –  RPTCOUMUS

  ERROR - A FILL item specifies a nonnumeric repeat count, for  example,
  FILL(A$).  Supply a valid repeat count.

367  –  SCALE0

  WARNING - An attempt was made  to  set  the  SCALE  factor  while  the
  default   floating-point  data  type  was  SINGLE.   Set  the  default
  floating-point data type to DOUBLE.

368  –  SCAOUTRAN

  ERROR - The OPTION statement specifies a  scale  factor  that  is  not
  between zero and six, inclusive.  Supply a valid scale factor.

369  –  SEVINTERR

  FATAL - An error has been detected  in  the  BASIC  compiler.   Please
  submit  a  software  problem  report  with  the source code of a small
  program that produces this error.

370  –  SHRNOTAVL

  ERROR - The shareable image is not available on your system.   Install
  the correct version of the required shareable image.

371  –  SPANOSPA

  WARNING - An OPEN statement specifies both SPAN  and  NOSPAN.   Remove
  one of the clauses.

372  –  SPELL

  ERROR - The program contains a syntax error.   BASIC  assumes  that  a
  keyword  has  been misspelled, and compilation continues so that other
  errors may be detected.  The actual program line remains unchanged and
  no  object  file  is produced.  Examine the line carefully to discover
  the error.  Change the program line to correct the syntax error.

373  –  SPENUMEXC

  ERROR - A quoted literal  of  type  character  (C)  contains  a  value
  outside  the  valid  range,  for  example,  '300'C.  Use a valid ASCII
  value.

374  –  STACKOVF

  ERROR - The program requires too much  space  for  dynamic  variables.
  Reduce the number of dynamic variables, or place some of the variables
  in a MAP or COMMON.

375  –  STRCONEXP

  ERROR - The program contains a DECLARE STRING CONSTANT statement where
  the  value  assigned  to  the  constant  exceeds the maximum number of
  characters allowed  for  string  constant  expressions.   The  maximum
  length  of  a  string  constant  expression  at  compile-time  is  498
  characters.  Change the string  constant  to  a  string  variable  and
  assign the string expression to the variable at run-time.

376  –  STRCONREQ

  ERROR - The program contains a numeric expression in  a  context  that
  requires a string expression.  For example:

       DECLARE STRING CONSTANT ABC = 123

  Supply a string literal or a named string constant.

377  –  STRIS_NEE

  ERROR - The program contains  a  numeric  expression  where  a  string
  expression  is  needed,  for  example, NAME 1% AS "ABC.DAT".  Supply a
  string expression.

378  –  STRLENANY

  ERROR - An ANY parameter specifies a  string  length  in  an  EXTERNAL
  statement.   This  is not allowed because ANY implies that you can use
  any datatype, not specifically a string datatype.  Remove  the  string
  length specification from the ANY clause.

379  –  STRLENDYN

  ERROR - A string variable in  a  MAP  DYNAMIC  statement  specifies  a
  string  length.  Remove the string length.  All string variables named
  in a MAP DYNAMIC statement  have  a  length  of  zero  until  a  REMAP
  statement executes.

380  –  STRLENINC

  WARNING - In a string  virtual  array  DIM  statement,  the  specified
  string  length  is  not  a  power  of two.  BASIC increases the string
  length to the next higher power of two.

381  –  STRLENMUS

  ERROR  -  THE  length  specification  for  a  fixed-length  string  is
  nonnumeric,  for  example, COMMON A$ = "ABC".  Supply a numeric length
  specification.

382  –  STRLENNOT

  ERROR - The declaration for  a  numeric  variable  contains  a  string
  length specification.  Remove the string length specification.

383  –  STRLENTRU

  WARNING - A string virtual array specifies  a  string  with  a  length
  greater  than  512.   BASIC truncates the length specification to 512.
  The maximum string length for virtual arrays is 512.

384  –  STRLITREQ

  ERROR - A quoted string  is  missing  in  a  compiler  directive  that
  requires  one,  for  example, %IDENT.  Supply a string literal for the
  compiler directive.

385  –  STROUTRAN

  ERROR - A string exceeds the maximum allowable  length.   The  maximum
  length is 65535 characters.  Reduce the length of the string.

386  –  STRRECFOR

  ERROR - A file was opened using STREAM as a  record  format,  but  the
  specified  organization was not SEQUENTIAL.  Change the OPEN statement
  so that it specifies ORGANIZATION SEQUENTIAL.

387  –  STRVAREXP

  ERROR - A CHANGE statement specifies a  numeric  variable.   Supply  a
  string  variable;  the CHANGE statement changes a string variable to a
  numeric array and vice versa.

388  –  STRVARREQ

  ERROR - A statement references a numeric variable instead of a  string
  variable, for example, LINPUT A%.  Supply a string variable instead of
  a numeric variable.

389  –  SUBMAYNOT

  ERROR - A CALL statement or  external  function  reference  passes  an
  entire  array  as a parameter and contains a subscript expression, for
  example, A(,,3).  Remove the subscript expression.  You cannot specify
  any subscripts when passing an entire array as a parameter.

390  –  SUBOUTRAN

  ERROR  -  The  program  references  an  array  element  with  constant
  subscript(s)  outside the bounds of the array.  Check program logic to
  make sure all subscripts are within the bounds of the array.

391  –  SUBRECCOM

  ERROR - The program contains a RECORD component reference with invalid
  subscripts,  for example, A::B(1,2)::C where B has only one subscript,
  or A::B where A requires a subscript.  Change the erroneous reference.
  You must specify as many subscripts as were defined in the RECORD.

392  –  SUBWHINOT

  ERROR - A program contains an EXIT SUB or SUBEXIT  statement  with  no
  preceding SUB statement.  If the program is a subprogram, supply a SUB
  statement; otherwise, remove the EXIT SUB or SUBEXIT statement.

393  –  SUFFILNOT

  ERROR - A FILL item defined with an  explicit  data  type  ends  in  a
  percent  or  dollar  sign.   Remove  the FILL item's percent or dollar
  sign.

394  –  SUFINTONLY

  ERROR - The % suffix is only allowed on integer datatypes.  Remove the
  % suffix from the variable name or change the datatype keyword.

395  –  SUFNOTALL

  ERROR - A variable defined with explicit data type ends in  a  percent
  or dollar sign.  Remove the variable's percent or dollar sign.

396  –  SUFNOTHAN

  ERROR - A HANDLER name ends in a percent or dollar sign.   Remove  the
  percent or dollar sign from the HANDLER name.

397  –  SUFNOTREC

  ERROR - A record definition specifies a user-defined record type  that
  ends in a percent or dollar sign.  Remove the record type's percent or
  dollar sign.

398  –  SUFSTRONLY

  ERROR - The $ suffix is only allowed on string datatypes.  Remove  the
  $ suffix from the variable name or change the datatype keyword.

399  –  TEXFOLEND

  ERROR - The compiler detected text following an END, END  SUB  or  END
  FUNCTION  statement.  Remove the text.  In a multi-module source file,
  an END, END SUB, or END FUNCTION statement can  be  followed  only  by
  blank lines or numbered lines.

400  –  TEXLINMSG

  INFORMATION - An input line contains more than 255 characters.   BASIC
  saves  the first 255 input characters into the line buffer and ignores
  the rest of the input.  Supply no more than 255 characters  per  input
  line to avoid truncation of input.

401  –  TEXPATMUS

  ERROR - You specified an invalid value for the path  specification  of
  the  SET TEXT PATH statement.  Specify a text path of "RIGHT", "LEFT",
  "UP" or "DOWN".

402  –  TEXPREMUS

  ERROR - You specified an invalid value for the text precision  of  the
  SET  TEXT  FONT  statement.   Specify  a  value  of "STROKE","CHAR" or
  "STRING".

403  –  THEMUSFOL

  ERROR - A %IF directive contains a  lexical  expression  that  is  not
  immediately  followed  by  a  %THEN.   Supply  a %THEN clause.  %THEN,
  %ELSE, and %END %IF are required in a %IF directive.

404  –  TOOFEWARG

  ERROR - The invocation of a BASIC built-in function contains  too  few
  arguments.  Supply the correct number of arguments to the function.

405  –  TOOMANARG

  ERROR - The invocation of a BASIC built-in function contains too  many
  arguments.  Supply the correct number of arguments to the function.

406  –  TOOMANKEY

  ERROR - An OPEN statement specifies more than 255 index keys.   Reduce
  the number of index keys.  The maximum is 255.

407  –  TOOMANPAR

  ERROR - An external function invocation contains too many  expressions
  in the actual parameter list.  Reduce the number of expressions in the
  actual parameter by assigning the expressions to temporary variables.

408  –  TYPDEFSTR

  ERROR - STRING was specified as the default data type  in  a  compiler
  command, a qualifier to the DCL BASIC command, or an OPTION statement.
  Specify a numeric data type as the default.

409  –  UNCALLED

  INFORMATION - The compiler has detected a routine that  can  never  be
  called.   Review  the  program  to  determine if the routine is really
  needed.  If it is not needed, you may want to remove the routine.

410  –  UNDLINNUM

  ERROR - A statement tries to transfer control to a  nonexistent  line.
  Or, in a numberless program, a line number is referenced.  Replace the
  nonexistent line number with the correct destination  line  number  or
  label.

411  –  UNELEXDIR

  ERROR  -  The  specified  lexical  directive  is  not  legal  in  this
  statement.  Use a supported lexical directive.

412  –  UNEXPEOF

  ERROR - The compiler encountered an end-of-file immediately  after  an
  ampersand  continuation  character.  Remove the ampersand continuation
  character or continue the line.

413  –  UNINIT

  INFORMATION - The compiler has detected a variable that  is  used  but
  not  initialized.   Review  the  program  to determine if the variable
  should be initialized before use.   You  may  want  to  add  code,  if
  necessary, to initialize the variable in question.

414  –  UNLINCREA

  ERROR - An OPEN statement contains both an UNLOCK EXPLICIT clause  and
  an  ACCESS  READ  clause.   Remove one of the clauses.  Opening a file
  with ACCESS READ means that records are not locked.   UNLOCK  EXPLICIT
  means that all records remain locked until explicitly unlocked.

415  –  UNREACH

  INFORMATION - The compiler has detected code that  has  no  chance  of
  being  executed.   Review the program to determine if the code will be
  executed.  If the code is determined to be unexecuted  (and  therefore
  unnecessary), you may want to remove the code from the program.

416  –  UNSCDDLEV

  ERROR - The current CDD/Repository version is incompatible with BASIC.
  Use a supported version of the CDD/Repository.

417  –  UNTSTRLIT

  ERROR - The program contains an improperly terminated string  literal;
  for  example,  "ABC  ,  "ABC' and 'ABC" are all improperly terminated.
  Use the same type of quotation mark (either single or double) for both
  beginning and ending string delimiters.

418  –  USEONLALO

  ERROR - A USE statement is not within a WHEN block.   Remove  the  USE
  statement.

419  –  USERABORT

  FATAL - The compilation was terminated  as  the  result  of  a  %ABORT
  directive.  The compiler prints the text following the %ABORT.

420  –  USERPRINT

  SUCCESS - The compilation found a %PRINT  directive  and  printed  the
  specified message to the terminal and listing file.

421  –  USEVARNOT

  ERROR - The parameter  list  in  an  external  subprogram  declaration
  contains a user variable name.  Remove the variable from the parameter
  list.  When declaring a routine, the parameter list can  contain  only
  data type and parameter-passing mechanism specifications.

422  –  VALUEREQ

  ERROR - The PRINT USING statement must have at least one expression or
  value.  Supply an expression or a value.

423  –  VALTOOLAR

  WARNING - The value  of  an  EXTERNAL  CONSTANT  is  larger  than  the
  specified  data type allows.  Make sure the data type specified in the
  EXTERNAL CONSTANT statement matches that of the actual constant.

424  –  VARCONREQ

  ERROR - The program contains an executable DIM statement that contains
  an  expression  in  the  bounds  list.  Remove the expression from the
  bounds list.  Executable DIM statements can  have  only  constants  or
  variables (simple or subscripted) as bounds.

425  –  VERJUSMUS

  ERROR - You specified an invalid value for the vertical  component  of
  the  SET  TEXT JUSTIFY statement.  Specify a vertical justification of
  "TOP","CAP","HALF","BASE","BOTTOM" or "NORMAL".

426  –  VIRARROVF

  ERROR - The storage for virtual arrays on a single channel is  greater
  than  2147483647  bytes.   If  there  is only one virtual array on the
  channel, you must reduce the amount of  storage  used  by  the  array.
  However,  if  there is more than one virtual array on the channel, you
  can put each array on a separate channel.

427  –  VIRNOTALL

  ERROR - You specified an entire virtual array on a statement that does
  not  accept  specifications  of  entire  virtual  arrays.   Specify  a
  non-virtual array in place of the virtual array.

428  –  VIRRECTOO

  ERROR - The elements of a virtual array are of  type  <name>  and  the
  total  storage requirement for each element is greater than 512 bytes.
  Reduce the size of the RECORD.

429  –  WROTYPLIB

  WARNING - The logical BASIC$LIBn translates to a library that  is  not
  an  object  library  or a shareable image library.  Change the logical
  BASIC$LIBn to translate to an object  library  or  a  shareable  image
  library.
Close Help