home *** CD-ROM | disk | FTP | other *** search
/ CP/M / CPM_CDROM.iso / simtel / sigm / vols000 / vol014 / cbasic2.hlp < prev    next >
Encoding:
Text File  |  1985-02-10  |  21.9 KB  |  632 lines

  1. CBASIC in General
  2. CBASIC2 Compile-Time Toggled Options
  3. XREF Cross Reference Facility
  4. Compiler Error Messages
  5. Run-Time Error Messages -- Warnings
  6. Run-Time Error Messages -- Error Codes
  7. CBASIC2 Reserved Words
  8. CBASIC2 Expression Hierarchy
  9. CBASIC2 Predefined Functions
  10. :CBASIC2:  CBASIC in General
  11.  
  12.      CBASI├á i≤á ß compile≥ BASI├ whicΦ ma∙ bσ executeΣ oε an∙ flopp∙á disδ ì
  13. baseΣá CP/═ systeφ havinτ a⌠ leas⌠ 20╦ byte≤ oµ memory«á  Iε orde≥ t∩á makσ ì
  14. thσá bes⌠ usσ oµ thσ powe≥ anΣ flexibilit∙ oµ CBASIC¼á ß dua∞á flopp∙á disδ ì
  15. systeφá anΣ a⌠ leas⌠ 32╦ oµ memor∙ i≤ recommended«á  Iµ CBASI├ i≤á executeΣ ì
  16. in a system smaller than 20K, a CP/M LOAD ERROR may occur.
  17.  
  18.      Thσ CBASI├ systeφ consist≤ oµ tw∩ program≤ -- CBASI├ anΣ CRUN«  CBASI├ ì
  19. i≤ thσ compiler¼á anΣ CRU╬ i≤ thσ run-timσ intepreter«  Iε ß typica∞ CBASI├ ì
  20. session¼á thσ use≥ wil∞ writσ thσ prograφ usinτ ED¼ compilσ i⌠ usinτ CBASI├ ì
  21. (with the $B option to suppress listing), and run it using CRUN.
  22.  
  23.      Refer to the 84-page CBASIC manual --
  24.  
  25.                                 C B A S I C
  26.                           A Commercially Oriented
  27.                         Compiler/Interpreter BASIC
  28.                            Language Facility for
  29.                                CP/M Systems
  30.  
  31.                              February 17, 1978
  32.  
  33.      CBASIC▓ i≤ aε upward-compatablσ (iε term≤ oµ sourcσ code⌐ extensioε oµ ì
  34. thσá origina∞ CBASIC«á  Iε additioε t∩ al∞ oµ thσ feature≤ oµ thσá origina∞ ì
  35. CBASIC, CBASIC2 adds the following:
  36.           1.  Integer variables
  37.           2.  Chaining with common variables
  38.           3.  Additional pre-defined functions
  39.           4.  Cross Reference capability
  40.      Notσá tha⌠á CBASIC▓ i≤ upward-compatablσ witΦ CBASI├ onl∙ iε term≤á oµ ì
  41. thσ sourcσ codσ files«á  Aε IN╘ filσ createΣ unde≥ CBASI├ wil∞ no⌠á executσ ì
  42. with the Version 2 Run-Time Monitor (CRUN2).
  43.      For further information, refer to the 100-page reference manual --
  44.  
  45.                                 C B A S I C
  46.                           A Commercially Oriented
  47.                         Compiler/Interpreter BASIC
  48.                            Language Facility for
  49.                                CP/M Systems
  50.                                  Version 2
  51.  
  52.                                 May 1, 1979
  53. :CBASIC2:  CBASIC2 Compile-Time Toggled Options
  54.  
  55.      Compile≥á toggle≤á arσ ß serie≤ oµ switche≤ tha⌠ caε bσ se⌠á wheεá thσ ì
  56. compile≥á i≤á executed«á  Thσ toggle≤ arσ se⌠ b∙ typinτ ßá dollar-sigεá ($⌐ ì
  57. followeΣá b∙á thσ lette≥ designation≤ oµ thσ desireΣ toggle≤á startinτá onσ ì
  58. spacσ o≥ morσ afte≥ thσ prograφ namσ oε thσ commanΣ line«  Toggle≤ ma∙ onl∙ ì
  59. be set for the compiler.
  60.  
  61.      Examples of compiler toggles and invocation forms are --
  62.           CBAS2 INVENTRY $BGF
  63.           B:CBAS2 A:COMPARE $GEC
  64.           CBAS2 PAYROLL $B
  65.           CBAS2 B:VALIDATE $E
  66.  
  67.                           CBASIC Compiler Toggles
  68.  
  69.      TOGGL┼ B║  Suppresse≤ thσ listinτ oµ thσ prograφ oε thσ consolσ durinτ ì
  70. compilation«á  Iµ aε erro≥ i≤ detected¼á thσ sourcσ linσ witΦ thσ erro≥ anΣ ì
  71. thσá erro≥ messagσ wil∞ bσ printeΣ eveε iµ Togglσ ┬ i≤ set«á  Togglσ ┬ doe≤ ì
  72. not affect listing to the printer (Toggle F) or disk file (Toggle G).
  73.      Toggle B is initially off.
  74.  
  75.      TOGGL┼á C║á  Suppresse≤ thσ generatioε oµ aε IN╘ file«á Engaginτá thi≤ ì
  76. togglσá wil∞á providσ ß synta° checδ withou⌠ thσ overheaΣá oµá writinτá thσ ì
  77. intermediatσ file.
  78.      Toggle C is initially off.
  79.  
  80.      TOGGL┼ D║  Suppresse≤ translatioε oµ lower-casσ letter≤ t∩ upper-case«  ì
  81. Fo≥ example¼á iµ Togglσ ─ i≤ on¼á 'AMTº wil∞ no⌠ refe≥ t∩ thσ samσ variablσ ì
  82. as 'amt'.
  83.      Toggle D is initially off.
  84.  
  85.  
  86.      TOGGL┼á E║  Cause≤ thσ run-timσ prograφ (CRUN2⌐ t∩ accompan∙ an∙ erro≥ ì
  87. message≤ witΦ thσ CBASI├ linσ numbe≥ iε whicΦ thσ erro≥ occurred«  Togglσ ┼ ì
  88. mus⌠ bσ se⌠ iε orde≥ fo≥ thσ TRAC┼ optioε (seσ sectioε 13.┤ oµ thσá manual⌐ ì
  89. t∩ work.
  90.      Toggle E is initially off.
  91.  
  92.      TOGGL┼á F║á  Cause≤ thσ compile≥ outpu⌠ listinτ t∩ bσ printeΣá oεá thσ ì
  93. LST: device in addition to the system console.  
  94.      Toggle F is initially off.
  95.  
  96.      TOGGL┼á G║á  Cause≤á thσá compile≥ outpu⌠ listinτá t∩á bσá writteεá t∩ ì
  97. diskette«á  Thσá filσ containinτ thσ compile≥ listinτ ha≤ thσ samσ namσá a≤ ì
  98. the .BAS file, but its type is .LST.
  99.      Normall∙á thσ disδ listinτ wil∞ bσ placeΣ oε thσ samσ sourcσ drivσá a≤ ì
  100. thσá sourcσ file«á  Thσ operato≥ ma∙ selec⌠ anothe≥ drivσ b∙ specifyinτ thσ ì
  101. desired drive, enclosed in parens, following the G toggle; for example,
  102.                             CBAS2 B:TAX $G(A:)
  103. extracts the source from drive B: and sends the listing to drive A:.
  104.      Toggle G is initially off.
  105. :CBASIC2:  XREF Cross Reference Facility
  106.      Thσá XREF.CO═á Cros≤ Referencσ utilit∙ prograφ produce≤ ßá filσá whicΦ ì
  107. contain≤ aε alphabetizeΣ lis⌠ oµ al∞ identifier≤ useΣ iε ß CBASI├á program«  ì
  108. Thσ usagσ oµ thσ identifie≥ (function¼á parameter¼á o≥ global⌐ i≤ provided¼ ì
  109. a≤ wel∞ a≤ ß lis⌠ oµ eacΦ linσ iε whicΦ tha⌠ identifie≥ i≤ used«á  Thσ filσ ì
  110. createΣá ha≤á thσ samσ namσ a≤ thσ CBASI├ sourcσ filσ anΣ i≤ oµá typσá XRF«  ì
  111. The standard output is 132 columns wide.
  112.      The following command is used to invoke XREF --
  113.  
  114.              XREF <filename> [disk ref] [$<toggles>] ['title']
  115.  
  116.      Iµ thσ disδ referencσ i≤ specified¼á i⌠ instruct≤ XRE╞ a≤ t∩ wha⌠ disδ ì
  117. to place the output on.
  118.      The toggles are described on the next display.
  119.      Thσá optiona∞ titlσ fielΣ mus⌠ bσ thσ las⌠ fielΣ iε thσ commanΣá line«  ì
  120. Al∞ character≤ followinτ thσ firs⌠ apostrophσ oε thσ commanΣ linσ u≡ t∩ thσ ì
  121. seconΣá apostrophσ o≥ unti∞ thσ enΣ oµ thσ commanΣ linσ becomσá thσá title«  ì
  122. Thσá titlσ i≤ truncateΣ t∩ 3░ character≤ iµ thσ listinτ i≤ 13▓ column≤ widσ ì
  123. and 20 characters if the D toggle (80 column listing) is specified.
  124.  
  125.  
  126.                                XREF Toggles
  127.  
  128.      Togglσá A║  Cause≤ thσ listinτ t∩ bσ otpu⌠ t∩ thσ lis⌠ devicσ a≤á wel∞ ì
  129. as the disk file.
  130.  
  131.      Togglσá B║á  Suppresse≤ outpu⌠ t∩ thσ disk«á  Iµ onl∙ thσ ┬ togglσá i≤ ì
  132. specified, no output is produced.
  133.  
  134.      Togglσá C║á  Suppresse≤ outpu⌠ t∩ thσ disδ anΣ permit≤ outpu⌠á t∩á thσ ì
  135. list device; same as A and B combined.
  136.  
  137.      Toggle  D:  Causes output to be 80 columns wide instead of 132.
  138.  
  139.      Toggle  E:  Produces output with only the identifiers and their usage.
  140.  
  141.  
  142.      Fo≥ example¼á thσ followinτ commanΣ produce≤ ß cros≤ referencσ listinτ ì
  143. on the list device which is 80 columns wide --
  144.  
  145.                                XREF PROG $CD
  146. :CBASIC:  Compiler Error Messages
  147.  
  148.                                Text Messages
  149.  
  150. NO SOURCE FILE:  <FILENAME>.BAS
  151.      Thσá compile≥ coulΣ no⌠ locatσ ß sourcσ filσ useΣ iε eithe≥á ßá CBASI├ ì
  152. command or an INCLUDE directive.
  153.  
  154. PROGRAM CONTAINS n UNMATCHED FOR STATEMENT(S)
  155.      There are n FOR statements for which a NEXT could not be found.
  156.  
  157. PROGRAM CONTAINS n UNMATCHED WHILE STATEMENT(S)
  158.      There are n WHILE statements for which a WEND could not be found.
  159.  
  160. WARNING:  INVALID CHARACTER IGNORED
  161.      Thσ previou≤ linσ contain≤ aε invaliΣ ASCI╔ character╗á thi≤ characte≥ ì
  162. is ignored by the compiler, and a question mark is printed in its place.
  163.  
  164. OUT OF DISK SPACE
  165.      Thσá compile≥á ha≤á ruε ou⌠ oµ disδ spacσ whilσá attemptinτá t∩á writσ ì
  166. either the INT or LST files.
  167.  
  168.                            Text Messages (Con't)
  169.  
  170. OUT OF DIRECTORY SPACE
  171.      Thσá compile≥á ha≤ ruε ou⌠ oµ director∙ entrie≤á whilσá attemptinτá t∩ ì
  172. create or extend a file.
  173.  
  174. DISK ERROR
  175.      A disk error occurred while trying to read or write to a disk file.
  176.  
  177. INCLUDE NESTING TOO DEEP NEAR LINE n
  178.      Aεá includσá statemen⌠ nea≥ linσ ε iε thσ sourcσ prograφá exceed≤á thσ ì
  179. maximum level of nesting of source files.
  180.  
  181.  
  182.                            2-Letter Error Codes
  183.  
  184. BF -- Branch into Function
  185.      A branch into a multiple line function from outside was attempted.
  186.  
  187. BN -- Bad Number
  188.      An invalid numeric constant was encountered.
  189.  
  190. CE -- Close Error
  191.      The intermediate (.INT) file could not be closed.
  192.  
  193. CI -- Close Include
  194.      An invalid file name in an %INCLUDE statement.
  195.  
  196. CS -- COMMON Statement error
  197.      ┴á COMMO╬ statemen⌠ whicΦ wa≤ no⌠ thσ firs⌠ statemen⌠ iεá thσá prograφ ì
  198. wa≤ detected.
  199.  
  200. CV -- COMMON Variable error
  201.      An improper reference to a subscripte variable in a COMMON statement.
  202.  
  203. DE -- Disk Error
  204.      A disk error occurred while trying to read the .BAS file.
  205.  
  206. DF -- Disk Full
  207.      Therσá wa≤ n∩ spacσ oε thσ disδ o≥ thσ disδ director∙ wa≤á full«á  Thσ ì
  208. .INT file was not created.
  209.  
  210. DL -- Duplicate Line number
  211.      Thσ samσ linσ numbe≥ wa≤ useΣ oε tw∩ differen⌠ lines«á  Othe≥ compile≥ ì
  212. error≤á ma∙á causσ ß D╠ erro≥ messagσ t∩ bσ printeΣ eveε iµ duplicatσá linσ ì
  213. numbers do not exist.
  214.  
  215. DP -- Defined Previously
  216.      A variable in a DIM statement was previously defined.
  217.  
  218. EF -- Exponential Format
  219.      ┴ numbe≥ iε exponentia∞ forma⌠ wa≤ inpu⌠ witΦ n∩ digit≤ followinτá thσ ì
  220. E.
  221.  
  222. FA -- Function Attribute
  223.      ┴á functioεá namσ appear≤ oε thσ lef⌠ sidσ oµ aε assignmen⌠á statemen⌠ ì
  224. but is not within that function.
  225.  
  226. FD -- Function Definition
  227.      ┴ functioε namσ tha⌠ ha≤ beeε previousl∙ defineΣ i≤ beinτ redefineΣ iε ì
  228. a DEF statement.
  229.  
  230. FE -- FOR Error
  231.      ┴á mixeΣ modσ expressioε exist≤ iε ß FO╥ statemen⌠ whicΦ thσá compile≥ ì
  232. cannot correct.
  233.  
  234. FI -- FOR Index
  235.      Aεá expressioε whicΦ i≤ no⌠ aε unsubscripteΣ numeriπ variablσ i≤ beinτ ì
  236. used as a FOR loop index.
  237.  
  238. FN -- Function parameter Number 
  239.      A function reference contains an incorrect number of parameters.
  240.  
  241. FP -- Function Parameter type
  242.      ┴ functioε referencσ paramete≥ typσ doe≤ no⌠ matcΦ thσ paramete≥á typσ ì
  243. used in the function's DEF statement.
  244.  
  245. FU -- Function Undefined
  246.      A function has been referenced before it has been defined.
  247.  
  248. IE -- IF Expression
  249.      Aεá expressioεá useΣá immediatel∙ followinτ aε I╞á evaluate≤á t∩á typσ ì
  250. string.  Only type numeric is permitted.
  251.  
  252. IF -- In File
  253.      ┴á variablσá useΣá iε ß FIL┼ statemen⌠ i≤ oµ typσ numeriπá wherσá typσ ì
  254. string is required.
  255.  
  256. IP -- Input Prompt
  257.      An input prompt string is not surrounded by quotes.
  258.  
  259.  
  260. IS -- Invalid Subscript
  261.      A subscripted variable was referenced before it was dimensioned.
  262.  
  263. IT -- Invalid Toggle
  264.      An invalid compiler directive was encountered.
  265.  
  266. IU -- Invalid Use
  267.      A variable defined as an array is used with no subscripts.
  268.  
  269. MF -- Mixed Format
  270.      An expression evaluates to type string when type numeric is required.
  271.  
  272. MM -- Mixed Mode
  273.      Variable≤á oµá typσ strinτ anΣ typσ numeriπ arσ combineΣ iεá thσá samσ ì
  274. expression.
  275.  
  276. MS -- Mixed String
  277.      A numeric expression was used where a string expression is required.
  278.  
  279. ND -- No DEFFN
  280.      A FEND statement was encountered without a corresponding DEF.
  281.  
  282. NI -- NEXT Index
  283.      ┴ variablσ referenceΣ b∙ ß NEX╘ statemen⌠ doe≤ no⌠ matcΦ thσá variablσ ì
  284. referenced by the associated FOR statement.
  285.  
  286. NU -- NEXT Unexpected
  287.      A NEXT statement occurs without an associated FOR statement.
  288.  
  289. OF -- Out of Function
  290.      ┴ brancΦ ou⌠ oµ ß multiplσ linσ functioε froφ insidσ thσ functioεá wa≤ ì
  291. attempted.
  292.  
  293. OO -- ON Overflow
  294.      More than 25 ON statements were used in the program.
  295.  
  296.  
  297. PM -- ??
  298.      ┴á DE╞ statemen⌠ appeareΣ withiε ß multiplσ linσ function«á  Function≤ ì
  299. may not be nested.
  300.  
  301. SE -- Syntax Error
  302.      The source line contains a syntax error.
  303.  
  304. SF -- SAVEMEM File
  305.      ┴ SAVEME═ statemen⌠ use≤ aε expressioε oµ typσ numeriπ t∩ specif∙á thσ ì
  306. filσá t∩á bσá loaded«á  Thi≤ expressioε mus⌠ bσá ßá string«á  Possibl∙á thσ ì
  307. quotation marks were left off a string constant.
  308.  
  309. SN -- Subscript Number
  310.      A subscripted variable contains an incorrect number of subscripts.
  311.  
  312. SO -- Syntax Overflow
  313.      Thσá expressioε i≤ to∩ comple° anΣ shoulΣ bσ simplifieΣ anΣ placeΣá oε ì
  314. more than one line.
  315.  
  316. TO -- Table Overflow
  317.      Thσá prograφá i≤á to∩á largσ fo≥ thσá system«á  Thσá prograφá mus⌠á bσ ì
  318. simplified or the system size increased.
  319.  
  320. UL -- Undefined Line number
  321.      A line number that does not exist has been referenced.
  322.  
  323. US -- Undefined String
  324.      A string has been terminated by a carriage return rather than quotes.
  325.  
  326. VO -- Variable Overflow
  327.      Variable names are too long for one statement.
  328.      This should not occur.
  329.  
  330. WE -- WHILE Error
  331.      The expression immediately following a WHILE statement is not numeric.
  332.  
  333. WU -- WHILE Undefined
  334.      A WEND statement occurs without an associated WHILE statement.
  335. :CBASIC:  Run-Time Error Messages -- Warnings
  336.  
  337.      Tw∩ textua∞ run-timσ erro≥ message≤ arσ presenteΣ b∙ CRUN:
  338.  
  339. NO INTERMEDIATE FILE
  340.      ┴á filσ namσ wa≤ no⌠ specifieΣ witΦ thσ CRU╬ command¼á o≥ n∩á filσá oµ ì
  341. typσ .IN╘ anΣ thσ specifieΣ filσ namσ wa≤ founΣ oε disk.
  342.  
  343. IMPROPER INPUT - REENTER
  344.      Thi≤á messagσá occur≤ wheε thσ field≤ entereΣ froφ thσ consolσ d∩á no⌠ ì
  345. matcΦá thσá fielΣ specifieΣ iε thσ INPU╘ statement«á  Thi≤ caεá occu≥á wheε ì
  346. fielΣ type≤ d∩ no⌠ matcΦ o≥ thσ numbe≥ oµ field≤ entereΣ i≤ differen⌠á froφ ì
  347. thσá numbe≥á oµá field≤á specified«á  Al∞ field≤á specifieΣá b∙á thσá INPU╘ ì
  348. statemen⌠ mus⌠ bσ reentered.
  349.  
  350.                      2-Letter Warning Codes
  351.  
  352. DZ -- Divide by Zero
  353.      ┴ numbe≥ wa≤ divideΣ b∙ zero«á  Thσ resul⌠ i≤ se⌠ t∩ thσ larges⌠ valiΣ ì
  354. CBASI├ number.
  355.  
  356. FL -- Field Length
  357.      ┴á fielΣá lengtΦ greate≥ thaε 25╡ byte≤ wa≤ encountereΣ durinτ ßá REA─ ì
  358. LINE«  Onl∙ thσ firs⌠ 25╡ character≤ oµ thσ recorΣ arσ retained.
  359.  
  360. LN -- Logarithm error
  361.      Thσá argumen⌠á giveε iε thσ LO╟ functioε wa≤ zer∩á o≥á negative«á  Thσ ì
  362. valuσ oµ thσ argumen⌠ i≤ returned.
  363.  
  364. NE -- NEgative number
  365.      ┴á negativσá numbe≥á wa≤á specifieΣ followinτ thσá raisσá t∩á ßá powe≥ ì
  366. operato≥ (^)«  Thσ absolutσ valuσ i≤ useΣ iε thσ calculation.
  367.  
  368.  
  369. OF -- OverFlow
  370.      ┴ calculatioε produceΣ ß numbe≥ to∩ large«á  Thσ resul⌠ i≤ se⌠ o⌠á thσ ì
  371. larges⌠ valiΣ CBASI├ number.
  372.  
  373. SQ -- SQuare root error
  374.      ┴á negativσá numbe≥ wa≤ specifieΣ iε thσ SQ╥ function«á  Thσá absolutσ ì
  375. valuσ i≤ used.
  376. :CBASIC:  Run-Time Error Messages -- Error Codes
  377.  
  378. AC -- AsCii error
  379.      Thσ strinτ useΣ a≤ thσ argumen⌠ iε aε AS├ functioε evaluateΣ t∩ ß nul∞ ì
  380. string.
  381.  
  382. BN -- BUFF Number
  383.      Thσá valuσ followinτ thσ BUF╞ optioε iε aε OPE╬ o≥ CREAT┼ statemen⌠ i≤ ì
  384. less than 1 or greater than 52.
  385.  
  386. CC -- Chain Code
  387.      ┴á chaineΣ program'≤ codσ areß i≤ large≥ thaε thσ maiε program'≤á codσ ì
  388. area.
  389.  
  390. CD -- Chain Data
  391.      ┴á chaineΣ program'≤ datß areß i≤ large≥ thaε thσ maiε program'≤á datß ì
  392. area.
  393.  
  394. CE -- Close Error
  395.      An error occurred upon closing a file.
  396.  
  397. CF -- Chain Function
  398.      ┴á chaineΣ program'≤ constan⌠ areß i≤ large≥ thaε thσá maiεá program'≤ ì
  399. constant area.
  400.  
  401. CP -- Chain Var Storage
  402.      ┴á chaineΣá program'≤á variablσ storagσ areß i≤ large≥ thaεá thσá maiε ì
  403. program's variable storage area.
  404.  
  405. CS -- Chain SAVEMEM
  406.      ┴ chaineΣ progrß reserveΣ ß differencσ amoun⌠ oµ memor∙ witΦ ß SAVEME═ ì
  407. statement than the main program.
  408.  
  409. CU -- Close Undefined file 
  410.      ┴ closσ statemen⌠ specifieΣ ß filσ numbe≥ tha⌠ wa≤ no⌠ active.
  411.  
  412. DF -- Defined File
  413.      Aεá OPE╬ o≥ CREAT┼ wa≤ specifieΣ witΦ ß filσ numbe≥ tha⌠á wa≤á alread∙ ì
  414. active.
  415.  
  416. DU -- Delete Undefined file
  417.      ┴ DELET┼ statemen⌠ specifieΣ ß filσ numbe≥ tha⌠ wa≤ no⌠ active.
  418.  
  419. DW -- Disk Write error
  420.      Aεá erro≥ occurreΣ whilσ writinτ t∩ ß file«á  Thi≤ occur≤ wheεá eithe≥ ì
  421. thσ director∙ o≥ thσ disδ i≤ full.
  422.  
  423. EF -- End of File
  424.      ┴á reaΣá pas⌠ thσ enΣ oµ filσ occurreΣ oε ß filσ fo≥ whicΦ n∩á I╞á EN─ ì
  425. statemen⌠ ha≤ beeε executed.
  426.  
  427. ER -- Error in Record
  428.      Aεá attemp⌠á wa≤á madσ t∩ writσ ß recorΣ oµ lengtΦá greate≥á thaεá thσ ì
  429. maximuφá recorΣá sizσ specifieΣ iε thσ associateΣá OPEN¼á CREATE¼á o≥á FIL┼ ì
  430. statement.
  431.  
  432. FR -- File Rename
  433.      Aε attemp⌠ wa≤ madσ t∩ renamσ ß filσ t∩ aε existinτ filσ name.
  434.  
  435. FT -- File Toggle
  436.      A FILE statement was executed when 20 files were already active.
  437.  
  438. FU -- File Undefined
  439.      Aε attemp⌠ wa≤ madσ t∩ reaΣ o≥ writσ t∩ ß filσ tha⌠ wa≤ no⌠ active.
  440.  
  441. IF -- Invalid File name
  442.      A file name was invalid.
  443.  
  444. IR -- Invalid Record number
  445.      A record number less than one was specified.
  446.  
  447. IV -- Invalid Version
  448.      Aεá attemp⌠á wa≤ madσ t∩ executσ aε IN╘ filσ createΣ b∙á ßá Versioεá ▒ ì
  449. Compiler.
  450.  
  451. IX -- ??
  452.      ┴áá FEN─á statemen⌠á wa≤á encountereΣá prio≥á t∩á executinτá ßá RETUR╬ ì
  453. statement.
  454.  
  455. LW -- Line Width
  456.      ┴á linσá widtΦá les≤ thaε ▒ o≥ greate≥ thaε 13│ wa≤á specifieΣá iεá aε ì
  457. LPRINTE╥ WIDT╚ statement.
  458.  
  459. ME -- MAKE Error
  460.      Aεá erro≥ occurreΣ whilσ creatinτ o≥ extendinτ ß filσ becausσ thσ disδ ì
  461. director∙ wa≤ full.
  462.  
  463. MP -- MATCH Parameter
  464.      Thσ thirΣ paramete≥ iε ß MATC╚ functioε wa≤ zer∩ o≥ negative.
  465.  
  466. NF -- Number of FILE
  467.      Thσ filσ numbe≥ specifieΣ wa≤ les≤ thaε ▒ o≥ greate≥ thaε 20.
  468.  
  469. NM -- No Memory
  470.      There was insufficient memory to load the program.
  471.  
  472. NN -- No Number field
  473.      Aε attemp⌠ wa≤ madσ t∩ prin⌠ ß numbe≥ witΦ ß PRIN╘ USIN╟ statemen⌠ bu⌠ ì
  474. therσ wa≤ no⌠ ß numeriπ datß fielΣ iε thσ USIN╟ string.
  475.  
  476. NS -- No String field
  477.      Aε attemp⌠ wa≤ madσ t∩ prin⌠ ß strinτ witΦ ß PRIN╘ USIN╟ statemen⌠ bu⌠ ì
  478. therσ wa≤ no⌠ ß strinτ fielΣ iε thσ USIN╟ string.
  479.  
  480. OD -- Overflow Data
  481.      ┴á REA─á statemen⌠ wa≤ executeΣ witΦ n∩ DAT┴ available.
  482.  
  483. OE -- OPEN Error
  484.      Aε attemp⌠ wa≤ madσ t∩ OPE╬ ß filσ tha⌠ didn'⌠ exis⌠ anΣ fo≥ whicΦá n∩ ì
  485. I╞ EN─ statemen⌠ haΣ beeε previousl∙ executed.
  486.  
  487. OI -- ON Index
  488.      Thσá expressioεá specifieΣá iεá aε O╬ ..«á GOSU┬ o≥á aεá O╬á ..«á GOT╧ ì
  489. statemen⌠á evaluateΣ t∩ ß numbe≥ les≤ thaε ▒ o≥ greate≥ thaε thσ numbe≥á oµ ì
  490. linσ number≤ containeΣ iε thσ statement.
  491.  
  492. OM -- Overflow Memory
  493.      The program ran out of memory during execution.
  494.  
  495. QE -- Quote Error
  496.      Aε attemp⌠ wa≤ madσ t∩ PRIN╘ t∩ ß filσ ß strinτ containinτ ß quotatioε ì
  497. mark.
  498.  
  499. RB -- Random BUFF
  500.      Randoφá acces≤ wa≤ attempteΣ t∩ ß filσ activateΣ witΦ thσ BUF╞á optioε ì
  501. specifying more than 1 buffer.
  502.  
  503. RE -- READ Error
  504.      Aε attemp⌠ wa≤ madσ t∩ reaΣ pas⌠ thσ enΣ oµ ß recorΣ iε ß fixeΣ file.
  505.  
  506. RG -- RETURN with no GOSUB
  507.      A RETURN occurred for which there was no GOSUB.
  508.  
  509. RU -- Random Undefined
  510.      ┴ randoφ reaΣ o≥ prin⌠ wa≤ attempteΣ t∩ othe≥ thaε ß fixeΣ file.
  511.  
  512. SB -- SuBscript
  513.      Aεá arra∙ subscrip⌠ wa≤ useΣ whicΦ exceedeΣ thσ boundarie≤á fo≥á whicΦ ì
  514. thσ arra∙ wa≤ defined.
  515.  
  516. SL -- String Length
  517.      ┴ concatenatioε operatioε resulteΣ iε ß strinτ oµ morσ thaε 25╡ bytes.
  518.  
  519. SO -- SAVEMEM
  520.      Thσ filσ specifieΣ iε ß SAVEME═ statemen⌠ coulΣ no⌠ bσ locateΣ oεá thσ ì
  521. referenced disk.
  522.  
  523. SS -- SubString error
  524.      Thσ seconΣ paramete≥ oµ ß MIDñ functioε wa≤ zer∩ o≥ negative.
  525.  
  526. TF -- Too many Files
  527.      Aε attemp⌠ wa≤ madσ t∩ havσ morσ thaε 2░ activσ file≤ simultaneously.
  528.  
  529. TL -- TAB Length
  530.      ┴á TA┬ statemen⌠ containeΣ ß paramete≥ les≤ thaε ▒ o≥ greate≥ thaε thσ ì
  531. curren⌠ linσ width.
  532.  
  533. UN -- UNdefined edit string
  534.      ┴ PRIN╘ USIN╟ statemen⌠ wa≤ executeΣ witΦ ß nul∞ edi⌠ string.
  535.  
  536. WR -- WRite error
  537.      Aεá attemp⌠ wa≤ madσ t∩ writσ t∩ ß filσ afte≥ i⌠ haΣá beeεá read¼á bu⌠ ì
  538. beforσ i⌠ haΣ beeε reaΣ t∩ thσ enΣ oµ thσ file.
  539. :CBASIC:  CBASIC Reserved Words
  540.  
  541.      ABS       AND       AS        ASC       ATN
  542.      BUFF      CALL      CHAIN     CHR$      CLOSE
  543.      COMMAND$  COMMON    CONCHAR%  CONSOLE   CONSTAT%
  544.      COS       CREATE    DATA      DEF       DELETE
  545.      DIM       ELSE      END       EQ        EXP
  546.      FEND      FILE      FOR       FRE       GE
  547.      GO        GOSUB     GOTO      GT        IF
  548.      INITIALIZE INP      INPUT     INT       INT%
  549.      LE        LEFT$     LEN       LET       LINE
  550.      LOG       LPRINTER  LT        MATCH     MID$
  551.      NE        NEXT      NOT       ON        OPEN
  552.      OR        OUT       PEEK      POKE      POS
  553.      PRINT     RANDOMIZE READ      RECL      RECS
  554.      REM       REMARK    RENAME    RESTORE   RETURN
  555.      RIGHT$    RND       SADD      SGN       SIN
  556.      SIZE      SQR       STEP      STOP      STR$
  557.      SUB       TAB       TAN       THEN      TO
  558.      UCASE$    USING     VAL       WEND      WHILE
  559.      WIDTH     XOR
  560. :CBASIC2:  Expression Hierarchy
  561.  
  562.      The Hierarchy for expression evaluation is a follows --
  563.  
  564.           1.  nested parentheses ()
  565.           2.  power operator ^
  566.           3.  * /
  567.           4.  + - concatenation[+] unary[+ -]
  568.           5.  relational operators:
  569.                < <= > >= = <> LT LE GT GE EQ NE
  570.           6.  NOT
  571.           7.  AND
  572.           8.  OR XOR
  573. :CBASIC2:  Predefined Functions
  574.  
  575.                                I/O Functions
  576.  
  577. CONSTATÑ  - Return≤ thσ consolσ statu≤ a≤ aε integer«á  Iµ ready¼ ß logica∞ ì
  578.           TRUE is returned.
  579. èCONCHAR%  - Reads one character from the console device.
  580.  
  581.  
  582.  
  583.                         Machine-Language Functions
  584.  
  585. PEEK (<exp>)
  586.           - Return≤á thσá content≤á oµá thσ memor∙ locatioεá giveεá b∙á thσ ì
  587.           expression.
  588.  
  589. POKE <exp>, <exp>
  590.           - Low-orde≥ eigh⌠ bit≤ oµ seconΣ expressioε arσ storeΣ iεá memor∙ ì
  591.           location selected by first expression.
  592.  
  593. CALL <exp>
  594.           - CALL a machine language program at address specified.
  595.  
  596. SAVEMEM <constant>, <exp>
  597.           - Reservσá <constant╛ numbe≥ oµ byte≤ anΣ loaΣ thσ filσ specifieΣ ì
  598. by the string <exp> into the reserved area.
  599.  
  600.                              Numeric Functions
  601.  
  602.      FRE            ABS(x)         INT(x)         INT%(x)
  603.      FLOAT(i%)      RND            SGN(x)         ATN(x)
  604.      COS(x)         EXP(x)         LOG(x) [e]     SIN(x)
  605.      SQR(x)         TAN(x)
  606.  
  607.                              String Functions
  608.  
  609.      ASC(a$)        CHR$(i%)       LEFT$(a$,i%)   LEN(a$)
  610.      UCASE$(a$)     MATCH(a$,b$,i%) MID$(a$,i%,j%) RIGHT$(a$,i%)
  611.      STR$(x)        VAL(a$)        COMMAND$       SADD(a$)
  612.  
  613.  
  614.                               Disk Functions
  615.  
  616.      RENAME(a$,b$)  SIZE(a$)
  617.  
  618.  
  619.                           User-Defined Functions
  620.  
  621.      The general forms are --
  622.  
  623.    [<line number>] DEF <function name> [<dummy arg list>] = <expression>
  624.  
  625. and
  626.  
  627.           [<line number>] DEF <function name> [<dummy arg list>]
  628.                                      .
  629.                                      .
  630.                                      .
  631.           [<line number>] FEND
  632.