home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
CP/M
/
CPM_CDROM.iso
/
cpm
/
basic
/
ebasic.hlp
< prev
next >
Wrap
Text File
|
1994-07-13
|
12KB
|
361 lines
Invoking BASIC-E
BASIC-E Statements
BASIC-E Functions
Differences between BASIC-E and CBASIC
BASIC-E Error Messages
CBASIC: Compiler Error Messages
CBASIC: Run-Time Error Messages -- Warnings
CBASIC: Run-Time Error Messages -- Error Codes
:Invoking BASIC-E
BASIC-E is invoked by typing the following --
EBASIC filename $o
where 'filename' is the name of the source file 'filename.BAS' to be
compiled and 'o' is one or more of the following options --
A List Productions (for compiler debugging); normally OFF
B List only source statements with errors; normally OFF
C Check syntax only; don't create .INT file; normally OFF
D Convert lowercase to uppercase; normally ON
E Generate line number code; normally OFF
After compilation, the program may then be executed by --
ERUN filename
where 'filename' is the name of the intermediate code file 'filename.INT'.
:BASIC-E Statements
The following statements are valid in BASIC-E --
FOR NEXT FILE GOTO LET
CLOSE GOSUB INPUT ON PRINT
READ RESTORE RETURN OUT RANDOMIZE
STOP DATA DEF DIM END
IF REM ELSE THEN
:BASIC-E Functions
The following built-in functions are valid in BASIC-E --
ABS ASC ATN CHR$ COS
COSH FRE INP INT LEFT$
LEN LOG MID$ POS RIGHT$
RND SGN SIN SINH STR$
SQR TAB TAN VAL EXP
:Differences between BASIC-E and CBASIC
The following features are not available in BASIC-E, but they are
available in CBASIC --
1. PEEK or POKE
2. PRINT USING
3. CALL to machine code programs
4. LPRINT
:BASIC-E Error Messages
Since BASIC-E is a "subset" of CBASIC, refer to the CBASIC help file
for information on the BASIC-E error messages.
Most, but not all, BASIC-E error messages are covered in this help
file.
:CBASIC: Compiler Error Messages
Text Messages
NO SOURCE FILE: <FILENAME>.BAS
The compiler could not locate a source file used in either a CBASIC
command or an INCLUDE directive.
PROGRAM CONTAINS n UNMATCHED FOR STATEMENT(S)
There are n FOR statements for which a NEXT could not be found.
PROGRAM CONTAINS n UNMATCHED WHILE STATEMENT(S)
There are n WHILE statements for which a WEND could not be found.
WARNING: INVALID CHARACTER IGNORED
The previous line contains an invalid ASCII character; this character
is ignored by the compiler, and a question mark is printed in its place.
2-Letter Error Codes
CE -- Close Error
The intermediate (.INT) file could not be closed.
DE -- Disk Error
A disk error occurred while trying to read the .BAS file.
DF -- Disk Full
There was no space on the disk or the disk directory was full. The
.INT file was not created.
DL -- Duplicate Line number
The same line number was used on two different lines. Other compiler
errors may cause a DL error message to be printed even if duplicate line
numbers do not exist.
DP -- Defined Previously
A variable in a DIM statement was previously defined.
EF -- Exponential Format
A number in exponential format was input with no digits following the
E.
FD -- Function Definition
A function name that has been previously defined is being redefined in
a DEF statement.
FI -- FOR Index
An expression which is not an unsubscripted numeric variable is being
used as a FOR loop index.
FN -- Function parameter Number
A function reference contains an incorrect number of parameters.
FP -- Function Parameter type
A function reference parameter type does not match the parameter type
used in the function's DEF statement.
FU -- Function Undefined
A function has been referenced before it has been defined.
IE -- IF Expression
An expression used immediately following an IF evaluates to type
string. Only type numeric is permitted.
IF -- In File
A variable used in a FILE statement is of type numeric where type
string is required.
IP -- Input Prompt
An input prompt string is not surrounded by quotes.
IS -- Invalid Subscript
A subscripted variable was referenced before it was dimensioned.
IU -- Invalid Use
A variable defined as an array is used with no subscripts.
MF -- Mixed Format
An expression evaluates to type string when type numeric is required.
MM -- Mixed Mode
Variables of type string and type numeric are combined in the same
expression.
NI -- NEXT Index
A variable referenced by a NEXT statement does not match the variable
referenced by the associated FOR statement.
NU -- NEXT Unexpected
A NEXT statement occurs without an associated FOR statement.
OO -- ON Overflow
More than 25 ON statements were used in the program.
SE -- Syntax Error
The source line contains a syntax error.
SN -- Subscript Number
A subscripted variable contains an incorrect number of subscripts.
SO -- Syntax Overflow
The expression is too complex and should be simplified and placed on
more than one line.
TO -- Table Overflow
The program is too large for the system. The program must be
simplified or the system size increased.
UL -- Undefined Line number
A line number that does not exist has been referenced.
US -- Undefined String
A string has been terminated by a carriage return rather than quotes.
VO -- Variable Overflow
Variable names are too long for one statement.
This should not occur.
WE -- WHILE Error
The expression immediately following a WHILE statement is not numeric.
WU -- WHILE Undefined
A WEND statement occurs without an associated WHILE statement.
:CBASIC: Run-Time Error Messages -- Warnings
Two textual run-time error messages are presented by CRUN:
NO INTERMEDIATE FILE
A file name was not specified with the CRUN command, or no file of
type .INT and the specified file name was found on disk.
IMPROPER INPUT - REENTER
This message occurs when the fields entered from the console do not
match the field specified in the INPUT statement. This can occur when
field types do not match or the number of fields entered is different from
the number of fields specified. All fields specified by the INPUT
statement must be reentered.
2-Letter Warning Codes
DZ -- Divide by Zero
A number was divided by zero. The result is set to the largest valid
CBASIC number.
FL -- Field Length
A field length greater than 255 bytes was encountered during a READ
LINE. Only the first 255 characters of the record are retained.
LN -- Logarithm error
The argument given in the LOG function was zero or negative. The
value of the argument is returned.
NE -- NEgative number
A negative number was specified following the raise to a power
operator (^). The absolute value is used in the calculation.
OF -- OverFlow
A calculation produced a number too large. The result is set ot the
largest valid CBASIC number.
SQ -- SQuare root error
A negative number was specified in the SQR function. The absolute
value is used.
:CBASIC: Run-Time Error Messages -- Error Codes
AC -- AsCii error
The string used as the argument in an ASC function evaluated to a null
string.
CE -- Close Error
An error occurred upon closing a file.
CU -- Close Undefined file
A close statement specified a file number that was not active.
DF -- Defined File
An OPEN or CREATE was specified with a file number that was already
active.
DU -- Delete Undefined file
A DELETE statement specified a file number that was not active.
DW -- Disk Write error
An error occurred while writing to a file. This occurs when either
the directory or the disk is full.
EF -- End of File
A read past the end of file occurred on a file for which no IF END
statement has been executed.
ER -- Error in Record
An attempt was made to write a record of length greater than the
maximum record size specified in the associated OPEN, CREATE, or FILE
statement.
FR -- File Rename
An attempt was made to rename a file to an existing file name.
FU -- File Undefined
An attempt was made to read or write to a file that was not active.
IR -- Invalid Record number
A record number less than one was specified.
LW -- Line Width
A line width less than 1 or greater than 133 was specified in an
LPRINTER WIDTH statement.
ME -- MAKE Error
An error occurred while creating or extending a file because the disk
directory was full.
MP -- MATCH Parameter
The third parameter in a MATCH function was zero or negative.
NF -- Number of FILE
The file number specified was less than 1 or greater than 20.
NM -- No Memory
There was insufficient memory to load the program.
NN -- No Number field
An attempt was made to print a number with a PRINT USING statement but
there was not a numeric data field in the USING string.
NS -- No String field
An attempt was made to print a string with a PRINT USING statement but
there was not a string field in the USING string.
OD -- Overflow Data
A READ statement was executed with no DATA available.
OE -- OPEN Error
An attempt was made to OPEN a file that didn't exist and for which no
IF END statement had been previously executed.
OI -- ON Index
The expression specified in an ON ... GOSUB or an ON ... GOTO
statement evaluated to a number less than 1 or greater than the number of
line numbers contained in the statement.
OM -- Overflow Memory
The program ran out of memory during execution.
QE -- Quote Error
An attempt was made to PRINT to a file a string containing a quotation
mark.
RE -- READ Error
An attempt was made to read past the end of a record in a fixed file.
RG -- RETURN with no GOSUB
A RETURN occurred for which there was no GOSUB.
RU -- Random Undefined
A random read or print was attempted to other than a fixed file.
SB -- SuBscript
An array subscript was used which exceeded the boundaries for which
the array was defined.
SL -- String Length
A concatenation operation resulted in a string of more than 255 bytes.
SS -- SubString error
The second parameter of a MID$ function was zero or negative.
TF -- Too many Files
An attempt was made to have more than 20 active files simultaneously.
TL -- TAB Length
A TAB statement contained a parameter less than 1 or greater than the
current line width.
UN -- UNdefined edit string
A PRINT USING statement was executed with a null edit string.
WR -- WRite error
An attempt was made to write to a file after it had been read, but
before it had been read to the end of the file.