home *** CD-ROM | disk | FTP | other *** search
/ CP/M / CPM_CDROM.iso / cpmhelp / cbas.hlp < prev    next >
Text File  |  1994-07-27  |  14KB  |  392 lines

  1. CBASIC in General
  2. CBASIC Compile-Time Toggled Options
  3. Compiler Error Messages
  4. Run-Time Error Messages -- Warnings
  5. Run-Time Error Messages -- Error Codes
  6. CBASIC Reserved Words
  7. :CBASIC:  CBASIC in General
  8.  
  9.      CBASIC  is  a compiler BASIC which may be executed on any floppy  disk 
  10. based  CP/M system having at least 20K bytes of memory.   In order to  make 
  11. the  best use of the power and flexibility of CBASIC,  a dual  floppy  disk 
  12. system  and at least 32K of memory is recommended.   If CBASIC is  executed 
  13. in a system smaller than 20K, a CP/M LOAD ERROR may occur.
  14.  
  15.      The CBASIC system consists of two programs -- CBASIC and CRUN.  CBASIC 
  16. is the compiler,  and CRUN is the run-time intepreter.  In a typical CBASIC 
  17. session,  the user will write the program using ED, compile it using CBASIC 
  18. (with the $B option to suppress listing), and run it using CRUN.
  19.  
  20.      Refer to the 84-page CBASIC manual --
  21.  
  22.                                 C B A S I C
  23.                           A Commercially Oriented
  24.                         Compiler/Interpreter BASIC
  25.                            Language Facility for
  26.                                CP/M Systems
  27.  
  28.                              February 17, 1978
  29. :CBASIC:  CBASIC Compile-Time Toggled Options
  30.  
  31.      Compiler  toggles  are a series of switches that can be set  when  the 
  32. compiler  is  executed.   The toggles are set by typing a  dollar-sign  ($) 
  33. followed  by  the letter designations of the desired toggles  starting  one 
  34. space or more after the program name on the command line.  Toggles may only 
  35. be set for the compiler.
  36.  
  37.      Examples of compiler toggles and invocation forms are --
  38.           CBASIC INVENTRY $BGF
  39.           B:CBASIC A:COMPARE $GEC
  40.           CBASIC PAYROLL $B
  41.           CBASIC B:VALIDATE $E
  42.  
  43.                           CBASIC Compiler Toggles
  44.  
  45.      TOGGLE B:  Suppresses the listing of the program on the console during 
  46. compilation.   If an error is detected,  the source line with the error and 
  47. the  error message will be printed even if Toggle B is set.   Toggle B does 
  48. not affect listing to the printer (Toggle F) or disk file (Toggle G).
  49.      Toggle B is initially off.
  50.  
  51.      TOGGLE  C:   Suppresses the generation of an INT file.  Engaging  this 
  52. toggle  will  provide a syntax check without the overhead  of  writing  the 
  53. intermediate file.
  54.      Toggle C is initially off.
  55.  
  56.      TOGGLE D:  Suppresses translation of lower-case letters to upper-case.  
  57. For example,  if Toggle D is on,  'AMT' will not refer to the same variable 
  58. as 'amt'.
  59.      Toggle D is initially off.
  60.  
  61.  
  62.      TOGGLE  E:  Causes the run-time program (CRUN) to accompany any  error 
  63. messages with the CBASIC line number in which the error occurred.  Toggle E 
  64. must  be set in order for the TRACE option (see section 13.4 of the manual) 
  65. to work.
  66.      Toggle E is initially off.
  67.  
  68.      TOGGLE  F:   Causes the compiler output listing to be printed  on  the 
  69. LST: device in addition to the system console.  
  70.      Toggle F is initially off.
  71.  
  72.      TOGGLE  G:   Causes  the  compiler output listing  to  be  written  to 
  73. diskette.   The  file containing the compiler listing has the same name  as 
  74. the .BAS file, but its type is .LST.
  75.      Toggle G is initially off.
  76. :CBASIC:  Compiler Error Messages
  77.  
  78.                                Text Messages
  79.  
  80. NO SOURCE FILE:  <FILENAME>.BAS
  81.      The  compiler could not locate a source file used in either  a  CBASIC 
  82. command or an INCLUDE directive.
  83.  
  84. PROGRAM CONTAINS n UNMATCHED FOR STATEMENT(S)
  85.      There are n FOR statements for which a NEXT could not be found.
  86.  
  87. PROGRAM CONTAINS n UNMATCHED WHILE STATEMENT(S)
  88.      There are n WHILE statements for which a WEND could not be found.
  89.  
  90. WARNING:  INVALID CHARACTER IGNORED
  91.      The previous line contains an invalid ASCII character;  this character 
  92. is ignored by the compiler, and a question mark is printed in its place.
  93.  
  94.  
  95.  
  96.                            2-Letter Error Codes
  97.  
  98. CE -- Close Error
  99.      The intermediate (.INT) file could not be closed.
  100.  
  101. DE -- Disk Error
  102.      A disk error occurred while trying to read the .BAS file.
  103.  
  104. DF -- Disk Full
  105.      There  was no space on the disk or the disk directory was  full.   The 
  106. .INT file was not created.
  107.  
  108. DL -- Duplicate Line number
  109.      The same line number was used on two different lines.   Other compiler 
  110. errors  may  cause a DL error message to be printed even if duplicate  line 
  111. numbers do not exist.
  112.  
  113. DP -- Defined Previously
  114.      A variable in a DIM statement was previously defined.
  115.  
  116.  
  117. EF -- Exponential Format
  118.      A number in exponential format was input with no digits following  the 
  119. E.
  120.  
  121. FD -- Function Definition
  122.      A function name that has been previously defined is being redefined in 
  123. a DEF statement.
  124.  
  125. FI -- FOR Index
  126.      An  expression which is not an unsubscripted numeric variable is being 
  127. used as a FOR loop index.
  128.  
  129. FN -- Function parameter Number 
  130.      A function reference contains an incorrect number of parameters.
  131.  
  132. FP -- Function Parameter type
  133.      A function reference parameter type does not match the parameter  type 
  134. used in the function's DEF statement.
  135.  
  136.  
  137. FU -- Function Undefined
  138.      A function has been referenced before it has been defined.
  139.  
  140. IE -- IF Expression
  141.      An  expression  used  immediately following an IF  evaluates  to  type 
  142. string.  Only type numeric is permitted.
  143.  
  144. IF -- In File
  145.      A  variable  used  in a FILE statement is of type numeric  where  type 
  146. string is required.
  147.  
  148. IP -- Input Prompt
  149.      An input prompt string is not surrounded by quotes.
  150.  
  151. IS -- Invalid Subscript
  152.      A subscripted variable was referenced before it was dimensioned.
  153.  
  154. IU -- Invalid Use
  155.      A variable defined as an array is used with no subscripts.
  156.  
  157.  
  158. MF -- Mixed Format
  159.      An expression evaluates to type string when type numeric is required.
  160.  
  161. MM -- Mixed Mode
  162.      Variables  of  type string and type numeric are combined in  the  same 
  163. expression.
  164.  
  165. NI -- NEXT Index
  166.      A variable referenced by a NEXT statement does not match the  variable 
  167. referenced by the associated FOR statement.
  168.  
  169. NU -- NEXT Unexpected
  170.      A NEXT statement occurs without an associated FOR statement.
  171.  
  172. OO -- ON Overflow
  173.      More than 25 ON statements were used in the program.
  174.  
  175.  
  176. SE -- Syntax Error
  177.      The source line contains a syntax error.
  178.  
  179. SN -- Subscript Number
  180.      A subscripted variable contains an incorrect number of subscripts.
  181.  
  182. SO -- Syntax Overflow
  183.      The  expression is too complex and should be simplified and placed  on 
  184. more than one line.
  185.  
  186. TO -- Table Overflow
  187.      The  program  is  too  large for the  system.   The  program  must  be 
  188. simplified or the system size increased.
  189.  
  190. UL -- Undefined Line number
  191.      A line number that does not exist has been referenced.
  192.  
  193. US -- Undefined String
  194.      A string has been terminated by a carriage return rather than quotes.
  195.  
  196.  
  197. VO -- Variable Overflow
  198.      Variable names are too long for one statement.
  199.      This should not occur.
  200.  
  201. WE -- WHILE Error
  202.      The expression immediately following a WHILE statement is not numeric.
  203.  
  204. WU -- WHILE Undefined
  205.      A WEND statement occurs without an associated WHILE statement.
  206. :CBASIC:  Run-Time Error Messages -- Warnings
  207.  
  208.      Two textual run-time error messages are presented by CRUN:
  209.  
  210. NO INTERMEDIATE FILE
  211.      A  file name was not specified with the CRUN command,  or no  file  of 
  212. type .INT and the specified file name was found on disk.
  213.  
  214. IMPROPER INPUT - REENTER
  215.      This  message  occurs when the fields entered from the console do  not 
  216. match  the  field specified in the INPUT statement.   This can  occur  when 
  217. field types do not match or the number of fields entered is different  from 
  218. the  number  of  fields  specified.   All fields  specified  by  the  INPUT 
  219. statement must be reentered.
  220.  
  221.                      2-Letter Warning Codes
  222.  
  223. DZ -- Divide by Zero
  224.      A number was divided by zero.   The result is set to the largest valid 
  225. CBASIC number.
  226.  
  227. FL -- Field Length
  228.      A  field  length greater than 255 bytes was encountered during a  READ 
  229. LINE.  Only the first 255 characters of the record are retained.
  230.  
  231. LN -- Logarithm error
  232.      The  argument  given in the LOG function was zero  or  negative.   The 
  233. value of the argument is returned.
  234.  
  235. NE -- NEgative number
  236.      A  negative  number  was  specified following the  raise  to  a  power 
  237. operator (^).  The absolute value is used in the calculation.
  238.  
  239.  
  240. OF -- OverFlow
  241.      A calculation produced a number too large.   The result is set ot  the 
  242. largest valid CBASIC number.
  243.  
  244. SQ -- SQuare root error
  245.      A  negative  number was specified in the SQR function.   The  absolute 
  246. value is used.
  247. :CBASIC:  Run-Time Error Messages -- Error Codes
  248.  
  249. AC -- AsCii error
  250.      The string used as the argument in an ASC function evaluated to a null 
  251. string.
  252.  
  253. CE -- Close Error
  254.      An error occurred upon closing a file.
  255.  
  256. CU -- Close Undefined file 
  257.      A close statement specified a file number that was not active.
  258.  
  259. DF -- Defined File
  260.      An  OPEN or CREATE was specified with a file number that  was  already 
  261. active.
  262.  
  263. DU -- Delete Undefined file
  264.      A DELETE statement specified a file number that was not active.
  265.  
  266.  
  267. DW -- Disk Write error
  268.      An  error occurred while writing to a file.   This occurs when  either 
  269. the directory or the disk is full.
  270.  
  271. EF -- End of File
  272.      A  read  past the end of file occurred on a file for which no  IF  END 
  273. statement has been executed.
  274.  
  275. ER -- Error in Record
  276.      An  attempt  was  made to write a record of length  greater  than  the 
  277. maximum  record  size specified in the associated  OPEN,  CREATE,  or  FILE 
  278. statement.
  279.  
  280. FR -- File Rename
  281.      An attempt was made to rename a file to an existing file name.
  282.  
  283. FU -- File Undefined
  284.      An attempt was made to read or write to a file that was not active.
  285.  
  286.  
  287. IR -- Invalid Record number
  288.      A record number less than one was specified.
  289.  
  290. LW -- Line Width
  291.      A  line  width  less than 1 or greater than 133 was  specified  in  an 
  292. LPRINTER WIDTH statement.
  293.  
  294.  
  295. ME -- MAKE Error
  296.      An  error occurred while creating or extending a file because the disk 
  297. directory was full.
  298.  
  299. MP -- MATCH Parameter
  300.      The third parameter in a MATCH function was zero or negative.
  301.  
  302. NF -- Number of FILE
  303.      The file number specified was less than 1 or greater than 20.
  304.  
  305.  
  306. NM -- No Memory
  307.      There was insufficient memory to load the program.
  308.  
  309. NN -- No Number field
  310.      An attempt was made to print a number with a PRINT USING statement but 
  311. there was not a numeric data field in the USING string.
  312.  
  313. NS -- No String field
  314.      An attempt was made to print a string with a PRINT USING statement but 
  315. there was not a string field in the USING string.
  316.  
  317. OD -- Overflow Data
  318.      A  READ  statement was executed with no DATA available.
  319.  
  320. OE -- OPEN Error
  321.      An attempt was made to OPEN a file that didn't exist and for which  no 
  322. IF END statement had been previously executed.
  323.  
  324.  
  325. OI -- ON Index
  326.      The  expression  specified  in  an ON ...  GOSUB or  an  ON  ...  GOTO 
  327. statement  evaluated to a number less than 1 or greater than the number  of 
  328. line numbers contained in the statement.
  329.  
  330. OM -- Overflow Memory
  331.      The program ran out of memory during execution.
  332.  
  333. QE -- Quote Error
  334.      An attempt was made to PRINT to a file a string containing a quotation 
  335. mark.
  336.  
  337. RE -- READ Error
  338.      An attempt was made to read past the end of a record in a fixed file.
  339.  
  340. RG -- RETURN with no GOSUB
  341.      A RETURN occurred for which there was no GOSUB.
  342.  
  343.  
  344. RU -- Random Undefined
  345.      A random read or print was attempted to other than a fixed file.
  346.  
  347. SB -- SuBscript
  348.      An  array subscript was used which exceeded the boundaries  for  which 
  349. the array was defined.
  350.  
  351. SL -- String Length
  352.      A concatenation operation resulted in a string of more than 255 bytes.
  353.  
  354. SS -- SubString error
  355.      The second parameter of a MID$ function was zero or negative.
  356.  
  357. TF -- Too many Files
  358.      An attempt was made to have more than 20 active files simultaneously.
  359.  
  360.  
  361. TL -- TAB Length
  362.      A  TAB statement contained a parameter less than 1 or greater than the 
  363. current line width.
  364.  
  365. UN -- UNdefined edit string
  366.      A PRINT USING statement was executed with a null edit string.
  367.  
  368. WR -- WRite error
  369.      An  attempt was made to write to a file after it had  been  read,  but 
  370. before it had been read to the end of the file.
  371. :CBASIC:  CBASIC Reserved Words
  372.  
  373.                       CBASIC Reserved Words
  374.  
  375.           ABS       EQ        LEN       POS       STOP
  376.           AND       EXP       LET       PRINT     STR$
  377.           AS        FEND      LINE      RANDOMIZE SUB
  378.           ASC       FILE      LOG       READ      TAB
  379.           ATN       FOR       LPRINTER  RECL      TAN
  380.           CALL      FRE       LT        REM       THEN
  381.           CHR$      GE        MATCH     REMARK    TO
  382.           CLOSE     GO        MID$      RENAME    USING
  383.           CONSOLE   GOSUB     NE        RESTORE   VAL
  384.           COS       GOTO      NEXT      RETURN    WEND
  385.           CREATE    GT        NOT       RIGHT$    WHILE
  386.           DATA      IF        ON        RND       WIDTH
  387.           DEF       INP       OPEN      SGN       XOR
  388.           DELETE    INPUT     OR        SIN
  389.           DIM       INT       OUT       SIZE
  390.           ELSE      LE        PEEK      SQR
  391.           END       LEFT$     POKE      STEP
  392.