ChipMaster's bwBASIC This also includes history going back to v2.10. *WARN* some binary files might have been corrupted by CRLF.
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 
 
 
 

1392 lines
60 KiB

  1. ============================================================
  2. GENERAL
  3. ============================================================
  4. OPTION VERSION "BYWATER-2"
  5. REM INTERNAL ID: B93
  6. REM DESCRIPTION: Bywater BASIC 2
  7. REM REFERENCE: Bywater BASIC Interpreter, version 2.61
  8. REM by Ted A. Campbell, Jon B. Volkoff, Paul Edwards, et al.
  9. REM Copyright (c) 1993-2014, Ted A. Campbell
  10. REM http://wwww.sourceforge.net/bwbasic/
  11. REM bwbasic-2.61.zip
  12. REM
  13. OPTION STRICT OFF
  14. OPTION ANGLE RADIANS
  15. OPTION BUGS ON
  16. OPTION LABELS ON
  17. OPTION COMPARE BINARY
  18. OPTION COVERAGE OFF
  19. OPTION TRACE OFF
  20. OPTION ERROR GOSUB
  21. OPTION IMPLICIT
  22. OPTION BASE 0
  23. OPTION RECLEN 128
  24. OPTION DATE "%m/%d/%Y"
  25. OPTION TIME "%H:%M:%S"
  26. OPTION PUNCT STRING "$"
  27. OPTION PUNCT DOUBLE "#"
  28. OPTION PUNCT SINGLE "!"
  29. OPTION PUNCT CURRENCY " "
  30. OPTION PUNCT LONG "&"
  31. OPTION PUNCT INTEGER "%"
  32. OPTION PUNCT BYTE " "
  33. OPTION PUNCT QUOTE """
  34. OPTION PUNCT COMMENT "'"
  35. OPTION PUNCT STATEMENT ":"
  36. OPTION PUNCT PRINT "?"
  37. OPTION PUNCT INPUT " "
  38. OPTION PUNCT IMAGE " "
  39. OPTION PUNCT LPAREN "("
  40. OPTION PUNCT RPAREN ")"
  41. OPTION PUNCT FILENUM "#"
  42. OPTION PUNCT AT " "
  43. OPTION USING DIGIT "#"
  44. OPTION USING COMMA ","
  45. OPTION USING PERIOD "."
  46. OPTION USING PLUS "+"
  47. OPTION USING MINUS "-"
  48. OPTION USING EXRAD "^"
  49. OPTION USING DOLLAR "$"
  50. OPTION USING FILLER "*"
  51. OPTION USING LITERAL "_"
  52. OPTION USING FIRST "!"
  53. OPTION USING ALL "&"
  54. OPTION USING LENGTH "\"
  55. ============================================================
  56. COMMANDS
  57. ============================================================
  58. ------------------------------------------------------------
  59. SYNTAX: AS
  60. DESCRIPTION: Syntax Error.
  61. ------------------------------------------------------------
  62. SYNTAX: CALL subname( [parameter [, ...] ] )
  63. DESCRIPTION: Calls a subroutine that was defined by SUB and
  64. END SUB.
  65. ------------------------------------------------------------
  66. SYNTAX: CASE constant [TO constant]
  67. DESCRIPTION: Introduces an element of a SELECT CASE
  68. statement. Multiple tests must be seperated
  69. a comma. For example: CASE 1, 2 TO 3, IS >
  70. 4, IF < 5
  71. ------------------------------------------------------------
  72. SYNTAX: CASE IF operator constant
  73. DESCRIPTION: Introduces an element of a SELECT CASE
  74. statement. Multiple tests must be seperated
  75. a comma. For example: CASE 1, 2 TO 3, IS >
  76. 4, IF < 5
  77. ------------------------------------------------------------
  78. SYNTAX: CASE IS operator constant
  79. DESCRIPTION: Introduces an element of a SELECT CASE
  80. statement. Multiple tests must be seperated
  81. a comma. For example: CASE 1, 2 TO 3, IS >
  82. 4, IF < 5
  83. ------------------------------------------------------------
  84. SYNTAX: CASE ELSE
  85. DESCRIPTION: Introduces a default SELECT CASE element.
  86. ------------------------------------------------------------
  87. SYNTAX: CHAIN filename$ [, linenumber]
  88. DESCRIPTION: Load and execute another BASIC program,
  89. without clearing common variables. For
  90. System/370, the syntax is CHAIN
  91. filename$,parameter$.
  92. ------------------------------------------------------------
  93. SYNTAX: CLEAR
  94. DESCRIPTION: Sets all numeric variables to 0, and all
  95. string variables to empty strings.
  96. ------------------------------------------------------------
  97. SYNTAX: CMDS
  98. DESCRIPTION: Prints a list of all implemented BASIC
  99. commands.
  100. ------------------------------------------------------------
  101. SYNTAX: COMMON variable [, ...]
  102. DESCRIPTION: Designates variables to be passed to a CHAINed
  103. program.
  104. ------------------------------------------------------------
  105. SYNTAX: DATA constant [, ...]
  106. DESCRIPTION: Stores numeric and string constants to be
  107. accessed by READ.
  108. ------------------------------------------------------------
  109. SYNTAX: DEF FNname[( arg [,...] )] = value
  110. DESCRIPTION: Defines a single-line function. Single-line
  111. functions require an equal sign.
  112. ------------------------------------------------------------
  113. SYNTAX: DEFDBL letter[-letter] [, ...]
  114. DESCRIPTION: Declares variables with single-letter names as
  115. numeric variables.
  116. ------------------------------------------------------------
  117. SYNTAX: DEFINT letter[-letter] [, ...]
  118. DESCRIPTION: Declares variables with single-letter names as
  119. numeric variables.
  120. ------------------------------------------------------------
  121. SYNTAX: DEFSNG letter[-letter] [, ...]
  122. DESCRIPTION: Declares variables with single-letter names as
  123. numeric variables.
  124. ------------------------------------------------------------
  125. SYNTAX: DEFSTR letter[-letter] [, ...]
  126. DESCRIPTION: Declares variables with single-letter names as
  127. string variables.
  128. ------------------------------------------------------------
  129. SYNTAX: DELETE line [- line]
  130. DESCRIPTION: Deletes program lines indicated by the
  131. argument(s). All program lines have a
  132. number, which is visible with the LIST
  133. command. If line numbers are not provided,
  134. they are assigned beginning with 1. Deleting
  135. a non-existing line does not cause an error.
  136. ------------------------------------------------------------
  137. SYNTAX: DIM [# filenum,] variable([ lower TO ] upper)
  138. DESCRIPTION: Declares variables and specifies the
  139. dimensions of array variables. For array
  140. variables, if the lower bound is not
  141. provided, then the OPTION BASE value is used.
  142. If filenum is provided, then the variable is
  143. virtual.
  144. ------------------------------------------------------------
  145. SYNTAX: DO UNTIL value
  146. DESCRIPTION: Top of a DO - LOOP structure. Exits when
  147. value is non-zero.
  148. ------------------------------------------------------------
  149. SYNTAX: DO
  150. DESCRIPTION: Top of a DO - LOOP structure. If the loop is
  151. not terminated by EXIT DO or LOOP UNTIL or
  152. LOOP WHILE, then it will loop forever.
  153. ------------------------------------------------------------
  154. SYNTAX: DO WHILE value
  155. DESCRIPTION: Top of a DO - LOOP structure. Exits when
  156. value is zero.
  157. ------------------------------------------------------------
  158. SYNTAX: EDIT
  159. DESCRIPTION: implementation defined.
  160. ------------------------------------------------------------
  161. SYNTAX: ELSE
  162. DESCRIPTION: Introduces a default condition in a multi-line
  163. IF statement.
  164. ------------------------------------------------------------
  165. SYNTAX: ELSEIF
  166. DESCRIPTION: Introduces a secondary condition in a
  167. multi-line IF statement.
  168. ------------------------------------------------------------
  169. SYNTAX: END
  170. DESCRIPTION: Terminates program execution. If the BASIC
  171. program was executed from the operating
  172. system level, then control returns to the
  173. operating system, oterwise control reuturns
  174. to the BASIC prompt.
  175. ------------------------------------------------------------
  176. SYNTAX: END FUNCTION
  177. DESCRIPTION: Specifies the last line of a multi-line
  178. FUNCTION definition.
  179. ------------------------------------------------------------
  180. SYNTAX: END IF
  181. DESCRIPTION: Specifies the last line of a multi-line IF
  182. definition.
  183. ------------------------------------------------------------
  184. SYNTAX: END SELECT
  185. DESCRIPTION: Specifies the last line of a multi-line SELECT
  186. CASE definition.
  187. ------------------------------------------------------------
  188. SYNTAX: END SUB
  189. DESCRIPTION: Specifies the last line of a multi-line SUB
  190. definition.
  191. ------------------------------------------------------------
  192. SYNTAX: ERASE variable [, ...]
  193. DESCRIPTION: Eliminates arrayed variables from a program.
  194. ------------------------------------------------------------
  195. SYNTAX: EXIT
  196. DESCRIPTION: Syntax Error.
  197. ------------------------------------------------------------
  198. SYNTAX: EXIT DO
  199. DESCRIPTION: Immediately exits the inner-most DO-LOOP
  200. strucure.
  201. ------------------------------------------------------------
  202. SYNTAX: EXIT FOR
  203. DESCRIPTION: Immediately exits the inner-most FOR-NEXT
  204. strucure.
  205. ------------------------------------------------------------
  206. SYNTAX: EXIT FUNCTION
  207. DESCRIPTION: Immediately exits the inner-most multi-line
  208. FUNCTION strucure.
  209. ------------------------------------------------------------
  210. SYNTAX: EXIT SUB
  211. DESCRIPTION: Immediately exits the inner-most multi-line
  212. SUB strucure.
  213. ------------------------------------------------------------
  214. SYNTAX: EXIT WHILE
  215. DESCRIPTION: Immediately exits the inner-most WHILE-END
  216. strucure.
  217. ------------------------------------------------------------
  218. SYNTAX: FIELD [#] filenum, number AS variable$ [, ...]
  219. DESCRIPTION: Assigns number bytes in the buffer of random
  220. file filenum to the variable variable$. GET
  221. will automatically update the variable, and
  222. PUT will automatically use the variable.
  223. ------------------------------------------------------------
  224. SYNTAX: FNCS
  225. DESCRIPTION: Prints a list of all pre-defined BASIC
  226. functions.
  227. ------------------------------------------------------------
  228. SYNTAX: FOR variable = start TO finish [STEP
  229. increment]
  230. DESCRIPTION: Top of a FOR - NEXT structure. The loop will
  231. continue a fixed number of times, which is
  232. determined by the values of start, finish,
  233. and increment.
  234. ------------------------------------------------------------
  235. SYNTAX: FUNCTION [ ( parameter [, ... ] ) ]
  236. DESCRIPTION: Top line of a multi-line FUNCTION definition.
  237. The variable names specified are local to the
  238. FUNCTION definition, and are initialized
  239. BYVAL when the function is invoked by another
  240. routine.
  241. ------------------------------------------------------------
  242. SYNTAX: GOSUB line
  243. DESCRIPTION: Initiates a subroutine call to the line
  244. specified. The subroutine must end with
  245. RETURN. The line may be a number or a label.
  246. ------------------------------------------------------------
  247. SYNTAX: GOTO line
  248. DESCRIPTION: Branches program execution to the specified
  249. line. The line may be a number or a label.
  250. ------------------------------------------------------------
  251. SYNTAX: IF value THEN line1 [ELSE line2]
  252. DESCRIPTION: Single line standard IF command. If the value
  253. is non-zero, then branh to line1. If the
  254. value is zero and ELSE is provided, then
  255. branch to line2. Otherwise continue to the
  256. next line. LABELS are not allowed.
  257. ------------------------------------------------------------
  258. SYNTAX: IF value THEN
  259. DESCRIPTION: Top of a multi-line IF - END IF structure. If
  260. the value is non-zero, then the program lines
  261. upto the next ELSE or ELSE IF command are
  262. executed, otherwise the program branches to
  263. the next ELSE or ELSE IF command.
  264. ------------------------------------------------------------
  265. SYNTAX: INPUT "prompt string" , variable [, ...]
  266. DESCRIPTION: Reads input from the terminal after displaying
  267. a prompt.
  268. ------------------------------------------------------------
  269. SYNTAX: INPUT # filenum , variable [, ...]s
  270. DESCRIPTION: Reads input from the file specified by
  271. filenum.
  272. ------------------------------------------------------------
  273. SYNTAX: INPUT variable [, ...]
  274. DESCRIPTION: Reads input from the terminal.
  275. ------------------------------------------------------------
  276. SYNTAX: [LET] variable [, ...] = value
  277. DESCRIPTION: Assigns the value to the variable. The LET
  278. keyword is optional.
  279. ------------------------------------------------------------
  280. SYNTAX: LINE
  281. DESCRIPTION: Syntax Error.
  282. ------------------------------------------------------------
  283. SYNTAX: LINE INPUT [[#] filenum,]["prompt string";]
  284. variable$
  285. DESCRIPTION: Reads entire line from the keyboard or a file
  286. into variable$.
  287. ------------------------------------------------------------
  288. SYNTAX: LIST line1 [- line2]
  289. DESCRIPTION: Lists BASIC program lines from line1 to line2
  290. to the console on stdout.
  291. ------------------------------------------------------------
  292. SYNTAX: LOAD [filename$]
  293. DESCRIPTION: Loads an ASCII BASIC program into memory.
  294. ------------------------------------------------------------
  295. SYNTAX: LOOP UNTIL value
  296. DESCRIPTION: Bottom of a DO - LOOP structure. Exits when
  297. value is nonz-zero.
  298. ------------------------------------------------------------
  299. SYNTAX: LOOP WHILE value
  300. DESCRIPTION: Bottom of a DO - LOOP structure. Exits when
  301. value is zero.
  302. ------------------------------------------------------------
  303. SYNTAX: LOOP
  304. DESCRIPTION: Bottom of a DO - LOOP structure. If the loop
  305. is not terminated by EXIT DO or DO UNTIL or
  306. DO WHILE, then it will loop forever.
  307. ------------------------------------------------------------
  308. SYNTAX: LSET variable$ = value
  309. DESCRIPTION: Left-aligns the value into variable$. If the
  310. length of the value is too short, then it is
  311. padded on the right with spaces. If the
  312. length of the value is too long, then it is
  313. truncated on the right. This is only for use
  314. with variables assigned to a random access
  315. buffer with FIELD command.
  316. ------------------------------------------------------------
  317. SYNTAX: MAINTAINER
  318. DESCRIPTION: This command is reserved for use by the
  319. Bywater BASIC maintainer. It is not for the
  320. BASIC programmer.
  321. ------------------------------------------------------------
  322. SYNTAX: MAINTAINER CMDS
  323. DESCRIPTION: Syntax Error.
  324. ------------------------------------------------------------
  325. SYNTAX: MAINTAINER CMDS HTML
  326. DESCRIPTION: Dump COMMAND vs VERSION as HTML table
  327. ------------------------------------------------------------
  328. SYNTAX: MAINTAINER CMDS ID
  329. DESCRIPTION: Dump COMMAND #define.
  330. ------------------------------------------------------------
  331. SYNTAX: MAINTAINER CMDS MANUAL
  332. DESCRIPTION: Dump COMMAND manual.
  333. ------------------------------------------------------------
  334. SYNTAX: MAINTAINER CMDS_SWITCH
  335. DESCRIPTION: Dump COMMAND switch.
  336. ------------------------------------------------------------
  337. SYNTAX: MAINTAINER CMDS TABLE
  338. DESCRIPTION: Dump COMMAND table.
  339. ------------------------------------------------------------
  340. SYNTAX: MAINTAINER DEBUG
  341. DESCRIPTION: Syntax Error.
  342. ------------------------------------------------------------
  343. SYNTAX: MAINTAINER DEBUG OFF
  344. DESCRIPTION: Disable degug tracing.
  345. ------------------------------------------------------------
  346. SYNTAX: MAINTAINER DEBUG ON
  347. DESCRIPTION: Enable degug tracing.
  348. ------------------------------------------------------------
  349. SYNTAX: MAINTAINER FNCS
  350. DESCRIPTION: Syntax Error.
  351. ------------------------------------------------------------
  352. SYNTAX: MAINTAINER FNCS HTML
  353. DESCRIPTION: Dump FUNCTION vs VERSION as HTML table.
  354. ------------------------------------------------------------
  355. SYNTAX: MAINTAINER FNCS ID
  356. DESCRIPTION: Dump FUNCTION #define.
  357. ------------------------------------------------------------
  358. SYNTAX: MAINTAINER FNCS MANUAL
  359. DESCRIPTION: Dump FUNCTION manual.
  360. ------------------------------------------------------------
  361. SYNTAX: MAINTAINER FNCS SWITCH
  362. DESCRIPTION: Dump FUNCTION switch.
  363. ------------------------------------------------------------
  364. SYNTAX: MAINTAINER FNCS TABLE
  365. DESCRIPTION: Dump FUNCTION table.
  366. ------------------------------------------------------------
  367. SYNTAX: MAINTAINER MANUAL
  368. DESCRIPTION: Dump manual for the currently selected OPTION
  369. VERSION.
  370. ------------------------------------------------------------
  371. SYNTAX: MAINTAINER STACK
  372. DESCRIPTION: Dump the BASIC stack.
  373. ------------------------------------------------------------
  374. SYNTAX: MERGE filename$
  375. DESCRIPTION: Merges the BASIC program in filename$ into the
  376. current BASIC program. Lines in filename$
  377. replace any matching lines in the current
  378. program.
  379. ------------------------------------------------------------
  380. SYNTAX: MID$( variable$, start [, count ] ) = value
  381. DESCRIPTION: Replaces a subtring of variable$ with value.
  382. ------------------------------------------------------------
  383. SYNTAX: NAME old$ AS new$
  384. DESCRIPTION: Changes the name of an existing file.
  385. ------------------------------------------------------------
  386. SYNTAX: NEW
  387. DESCRIPTION: Deletes the program in memory and clears all
  388. variables.
  389. ------------------------------------------------------------
  390. SYNTAX: NEXT [variable]
  391. DESCRIPTION: The bottom line of a FOR - NEXT structure.
  392. ------------------------------------------------------------
  393. SYNTAX: ON value GOSUB line [, ...]
  394. DESCRIPTION: Calls based on the rounded value.
  395. ------------------------------------------------------------
  396. SYNTAX: ON value GOTO line [, ...]
  397. DESCRIPTION: Branches based on the rounded value.
  398. ------------------------------------------------------------
  399. SYNTAX: ON ERROR
  400. DESCRIPTION: Syntax Error.
  401. ------------------------------------------------------------
  402. SYNTAX: ON ERROR GOSUB errline
  403. DESCRIPTION: When a trappable error occurs, execute GOSUB
  404. errline. The error handler must terminate
  405. with a RETURN command. If the line number is
  406. 0 (zerp), then use the default error handler.
  407. Valid when OPTION ERROR GOSUB.
  408. ------------------------------------------------------------
  409. SYNTAX: OPEN filename$
  410. FOR INPUT|OUTPUT|APPEND|BINARY|RANDOM|VIRTUAL
  411. AS [#] fileenumber
  412. [LEN [=] record-length]
  413. DESCRIPTION: Opens a file for use.
  414. RANDOM requires LEN.
  415. ------------------------------------------------------------
  416. SYNTAX: OPTION
  417. DESCRIPTION: Syntax Error.
  418. ------------------------------------------------------------
  419. SYNTAX: OPTION ANGLE
  420. DESCRIPTION: Syntax Error.
  421. ------------------------------------------------------------
  422. SYNTAX: OPTION ANGLE DEGREES
  423. DESCRIPTION: Configures these math functions to accept and
  424. return angles in degrees: ACOS, ACS, ANGLE,
  425. ARCSIN, ASIN, ASN, ARCTAN, ATN, ATAN, COS,
  426. COT, CSC, SEC, SIN and TAN.
  427. ------------------------------------------------------------
  428. SYNTAX: OPTION ANGLE GRADIANS
  429. DESCRIPTION: Configures these math functions to accept and
  430. return angles in gradians: ACOS, ANGLE,
  431. ASIN, ASN, ATN, ATAN, COS, COT, CSC, SEC, SIN
  432. and TAN.
  433. ------------------------------------------------------------
  434. SYNTAX: OPTION ANGLE RADIANS
  435. DESCRIPTION: Configures these math functions to accept and
  436. return angles in radians: ACOS, ANGLE, ASIN,
  437. ASN, ATN, ATAN, COS, COT, CSC, SEC, SIN and
  438. TAN.
  439. ------------------------------------------------------------
  440. SYNTAX: OPTION ARITHMETIC
  441. DESCRIPTION: Syntax Error.
  442. ------------------------------------------------------------
  443. SYNTAX: OPTION ARITHMETIC DECIMAL
  444. DESCRIPTION: Currently has no effect.
  445. ------------------------------------------------------------
  446. SYNTAX: OPTION ARITHMETIC FIXED
  447. DESCRIPTION: Currently has no effect.
  448. ------------------------------------------------------------
  449. SYNTAX: OPTION ARITHMETIC NATIVE
  450. DESCRIPTION: Currently has no effect.
  451. ------------------------------------------------------------
  452. SYNTAX: OPTION BASE integer
  453. DESCRIPTION: Sets the default lowest array subscript.
  454. ------------------------------------------------------------
  455. SYNTAX: OPTION BUGS
  456. DESCRIPTION: Syntax Error.
  457. ------------------------------------------------------------
  458. SYNTAX: OPTION BUGS BOOLEAN
  459. DESCRIPTION: Boolean results are 1 or 0 instead of bitwise.
  460. ------------------------------------------------------------
  461. SYNTAX: OPTION BUGS OFF
  462. DESCRIPTION: Disables bugs commonly found in many BASIC
  463. dialects.
  464. ------------------------------------------------------------
  465. SYNTAX: OPTION BUGS ON
  466. DESCRIPTION: Enables bugs commonly found in many BASIC
  467. dialects.
  468. ------------------------------------------------------------
  469. SYNTAX: OPTION COMPARE
  470. DESCRIPTION: Syntax Error.
  471. ------------------------------------------------------------
  472. SYNTAX: OPTION COMPARE BINARY
  473. DESCRIPTION: Causes string comparisons to be
  474. case-sensitive.
  475. ------------------------------------------------------------
  476. SYNTAX: OPTION COMPARE DATABASE
  477. DESCRIPTION: Causes string comparisons to be
  478. case-insensitive.
  479. ------------------------------------------------------------
  480. SYNTAX: OPTION COMPARE TEXT
  481. DESCRIPTION: Causes string comparisons to be
  482. case-insensitive.
  483. ------------------------------------------------------------
  484. SYNTAX: OPTION COVERAGE
  485. DESCRIPTION: Syntax Error.
  486. ------------------------------------------------------------
  487. SYNTAX: OPTION COVERAGE OFF
  488. DESCRIPTION: Disables BASIC code coverage recording,
  489. displayed using the LIST command.
  490. ------------------------------------------------------------
  491. SYNTAX: OPTION COVERAGE ON
  492. DESCRIPTION: Enables BASIC code coverage recording,
  493. displayed using the LIST command.
  494. ------------------------------------------------------------
  495. SYNTAX: OPTION DATE format$
  496. DESCRIPTION: Sets the date format string used by C
  497. strftime() for DATE$.
  498. ------------------------------------------------------------
  499. SYNTAX: OPTION DIGITS integer
  500. DESCRIPTION: Sets the number of significant digits for
  501. PRINT. Setting the value to zero restores
  502. the default.
  503. ------------------------------------------------------------
  504. SYNTAX: OPTION DISABLE
  505. DESCRIPTION: Syntax Error.
  506. ------------------------------------------------------------
  507. SYNTAX: OPTION DISABLE COMMAND name$
  508. DESCRIPTION: Disables the specified BASIC command.
  509. ------------------------------------------------------------
  510. SYNTAX: OPTION DISABLE FUNCTION name$
  511. DESCRIPTION: Disables the specified BASIC function.
  512. ------------------------------------------------------------
  513. SYNTAX: OPTION DISABLE OPERATOR name$
  514. DESCRIPTION: Disables the specified BASIC operator.
  515. ------------------------------------------------------------
  516. SYNTAX: OPTION EDIT string$
  517. DESCRIPTION: Sets the program name used by the EDIT
  518. command.
  519. ------------------------------------------------------------
  520. SYNTAX: OPTION ENABLE
  521. DESCRIPTION: Syntax Error.
  522. ------------------------------------------------------------
  523. SYNTAX: OPTION ENABLE COMMAND name$
  524. DESCRIPTION: Enables the specified BASIC command.
  525. ------------------------------------------------------------
  526. SYNTAX: OPTION ENABLE FUNCTION name$
  527. DESCRIPTION: Enables the specified BASIC function.
  528. ------------------------------------------------------------
  529. SYNTAX: OPTION ENABLE OPERATOR name$
  530. DESCRIPTION: Enables the specified BASIC operator.
  531. ------------------------------------------------------------
  532. SYNTAX: OPTION ERROR
  533. DESCRIPTION: Syntax Error.
  534. ------------------------------------------------------------
  535. SYNTAX: OPTION ERROR GOSUB
  536. DESCRIPTION: When an error occurs, GOSUB to the error
  537. handler. The error handler exits with
  538. RETURN.
  539. ------------------------------------------------------------
  540. SYNTAX: OPTION ERROR GOTO
  541. DESCRIPTION: When an error occurs, GOTO to the error
  542. handler. The error handler exits with
  543. RESUME.
  544. ------------------------------------------------------------
  545. SYNTAX: OPTION EXPLICIT
  546. DESCRIPTION: All variables must be declared using DIM.
  547. ------------------------------------------------------------
  548. SYNTAX: OPTION EXTENSION string$
  549. DESCRIPTION: Sets the BASIC filename extension, commonly
  550. ".bas".
  551. ------------------------------------------------------------
  552. SYNTAX: OPTION FILES string$
  553. DESCRIPTION: Sets the program name used by the FILES
  554. command.
  555. ------------------------------------------------------------
  556. SYNTAX: OPTION IMPLICIT
  557. DESCRIPTION: Variables need not be declared using DIM,
  558. provided arrays have no more that 10
  559. elements. This is the opposite of OPTION
  560. EXPLICIT, and is the default for all versions
  561. of BASIC.
  562. ------------------------------------------------------------
  563. SYNTAX: OPTION INDENT integer
  564. DESCRIPTION: Sets indention level for LIST. Zero means no
  565. indention. Default is 2.
  566. ------------------------------------------------------------
  567. SYNTAX: OPTION LABELS
  568. DESCRIPTION: Syntax Error.
  569. ------------------------------------------------------------
  570. SYNTAX: OPTION LABELS OFF
  571. DESCRIPTION: Disables text labels.
  572. ------------------------------------------------------------
  573. SYNTAX: OPTION LABELS ON
  574. DESCRIPTION: Enables text labels.
  575. ------------------------------------------------------------
  576. SYNTAX: OPTION PROMPT string$
  577. DESCRIPTION: Sets the BASIC prompt.
  578. ------------------------------------------------------------
  579. SYNTAX: OPTION PUNCT
  580. DESCRIPTION: Syntax Error.
  581. ------------------------------------------------------------
  582. SYNTAX: OPTION PUNCT AT char$
  583. DESCRIPTION: Sets the PRINT AT character, commonly "@".
  584. ------------------------------------------------------------
  585. SYNTAX: OPTION PUNCT BYTE char$
  586. DESCRIPTION: Sets the suffix character that indicates a
  587. variable is of type BYTE, commonly "~".
  588. ------------------------------------------------------------
  589. SYNTAX: OPTION PUNCT COMMENT char$
  590. DESCRIPTION: Sets the shortcut COMMENT character.
  591. ------------------------------------------------------------
  592. SYNTAX: OPTION PUNCT CURRENCY char$
  593. DESCRIPTION: Sets the suffix character that indicates a
  594. variable is of type CURRENCY, commonly "@".
  595. ------------------------------------------------------------
  596. SYNTAX: OPTION PUNCT DOUBLE char$
  597. DESCRIPTION: Sets the suffix character that indicates a
  598. variable is of type DOUBLE, commonly "#".
  599. ------------------------------------------------------------
  600. SYNTAX: OPTION PUNCT FILENUM char$
  601. DESCRIPTION: Sets the FILE NUMBER prefix character,
  602. commonly "#".
  603. ------------------------------------------------------------
  604. SYNTAX: OPTION PUNCT IMAGE char$
  605. DESCRIPTION: Sets the shortcut IMAGE character, commonly
  606. ":".
  607. ------------------------------------------------------------
  608. SYNTAX: OPTION PUNCT INPUT char$
  609. DESCRIPTION: Sets the shortcut INPUT character, commonly
  610. "!".
  611. ------------------------------------------------------------
  612. SYNTAX: OPTION PUNCT INTEGER char$
  613. DESCRIPTION: Sets the suffix character that indicates a
  614. variable is of type INTEGER, commonly "%".
  615. ------------------------------------------------------------
  616. SYNTAX: OPTION PUNCT LONG char$
  617. DESCRIPTION: Sets the suffix character that indicates a
  618. variable is of type LONG, commonly "&".
  619. ------------------------------------------------------------
  620. SYNTAX: OPTION PUNCT LPAREN char$
  621. DESCRIPTION: Sets the LEFT PARENTHESIS character, commonly
  622. "(".
  623. ------------------------------------------------------------
  624. SYNTAX: OPTION PUNCT_PRINT char$
  625. DESCRIPTION: Sets the shortcut PRINT character, commonly
  626. "?".
  627. ------------------------------------------------------------
  628. SYNTAX: OPTION PUNCT QUOTE char$
  629. DESCRIPTION: Sets the QUOTE character, commonly """
  630. ------------------------------------------------------------
  631. SYNTAX: OPTION PUNCT RPAREN char$
  632. DESCRIPTION: Sets the RIGHT PARENTHESIS character, commonly
  633. ")".
  634. ------------------------------------------------------------
  635. SYNTAX: OPTION PUNCT SINGLE char$
  636. DESCRIPTION: Sets the suffix character that indicates a
  637. variable is of type SINGLE, commonly "!".
  638. ------------------------------------------------------------
  639. SYNTAX: OPTION PUNCT STATEMENT char$
  640. DESCRIPTION: Sets the statement seperator character,
  641. commonly ":".
  642. ------------------------------------------------------------
  643. SYNTAX: OPTION PUNCT STRING char$
  644. DESCRIPTION: Sets the suffix character that indicates a
  645. variable is of type STRING, commonly "$".
  646. ------------------------------------------------------------
  647. SYNTAX: OPTION RECLEN integer
  648. DESCRIPTION: Sets the default RANDOM record length.
  649. ------------------------------------------------------------
  650. SYNTAX: OPTION RENUM string$
  651. DESCRIPTION: Sets the program name used by the RENUM
  652. command.
  653. ------------------------------------------------------------
  654. SYNTAX: OPTION ROUND
  655. DESCRIPTION: Syntax Error.
  656. ------------------------------------------------------------
  657. SYNTAX: OPTION ROUND BANK
  658. DESCRIPTION: Round using the Banker rule.
  659. ------------------------------------------------------------
  660. SYNTAX: OPTION ROUND MATH
  661. DESCRIPTION: Round using mathematical rules.
  662. ------------------------------------------------------------
  663. SYNTAX: OPTION ROUND TRUNCATE
  664. DESCRIPTION: Round using truncation.
  665. ------------------------------------------------------------
  666. SYNTAX: OPTION SCALE integer
  667. DESCRIPTION: Sets the number of digits to round after the
  668. decimal point for PRINT. Setting the value
  669. to zero disables rounding.
  670. ------------------------------------------------------------
  671. SYNTAX: OPTION SLEEP double
  672. DESCRIPTION: Sets multiplier for SLEEP and WAIT. Zero
  673. means no waiting. Default is 1.
  674. ------------------------------------------------------------
  675. SYNTAX: OPTION STDERR filename$
  676. DESCRIPTION: Sets the file used for STDERR, which is used
  677. by LPRINT commands.
  678. ------------------------------------------------------------
  679. SYNTAX: OPTION STDIN filename$
  680. DESCRIPTION: Sets the file used for STDIN, which is used by
  681. INPUT commands.
  682. ------------------------------------------------------------
  683. SYNTAX: OPTION STDOUT filename$
  684. DESCRIPTION: Sets the file used for STDOUT, which is used
  685. by PRINT commands.
  686. ------------------------------------------------------------
  687. SYNTAX: OPTION STRICT
  688. DESCRIPTION: Syntax Error.
  689. ------------------------------------------------------------
  690. SYNTAX: OPTION STRICT OFF
  691. DESCRIPTION: Disables checking for implicit array creation
  692. without using the DIM command.
  693. ------------------------------------------------------------
  694. SYNTAX: OPTION STRICT ON
  695. DESCRIPTION: Enables checking for implicit array creation
  696. without using the DIM command.
  697. ------------------------------------------------------------
  698. SYNTAX: OPTION TERMINAL
  699. DESCRIPTION: Syntax Error.
  700. ------------------------------------------------------------
  701. SYNTAX: OPTION TERMINAL ADM
  702. DESCRIPTION: Enables ADM-3A terminal control codes for CLS,
  703. COLOR, and LOCATE.
  704. ------------------------------------------------------------
  705. SYNTAX: OPTION TERMINAL ANSI
  706. DESCRIPTION: Enables ANSI terminal control codes for CLS,
  707. COLOR, and LOCATE.
  708. ------------------------------------------------------------
  709. SYNTAX: OPTION TERMINAL NONE
  710. DESCRIPTION: Disables terminal control codes for CLS,
  711. COLOR, and LOCATE.
  712. ------------------------------------------------------------
  713. SYNTAX: OPTION TIME format$
  714. DESCRIPTION: Sets the time format string used by C
  715. strftime() for TIME$.
  716. ------------------------------------------------------------
  717. SYNTAX: OPTION TRACE
  718. DESCRIPTION: Syntax Error.
  719. ------------------------------------------------------------
  720. SYNTAX: OPTION TRACE OFF
  721. DESCRIPTION: Disables displaying a stack trace when an
  722. ERROR occurs.
  723. ------------------------------------------------------------
  724. SYNTAX: OPTION TRACE ON
  725. DESCRIPTION: Enables displaying a stack trace when an ERROR
  726. occurs.
  727. ------------------------------------------------------------
  728. SYNTAX: OPTION USING
  729. DESCRIPTION: Syntax Error.
  730. ------------------------------------------------------------
  731. SYNTAX: OPTION USING ALL char$
  732. DESCRIPTION: Specifies the magic ALL character for the
  733. PRINT USING command. A common value is "&".
  734. ------------------------------------------------------------
  735. SYNTAX: OPTION USING COMMA char$
  736. DESCRIPTION: Specifies the magic COMMA character for the
  737. PRINT USING command. A common value is ",".
  738. ------------------------------------------------------------
  739. SYNTAX: OPTION USING DIGIT char$
  740. DESCRIPTION: Specifies the magic DIGIT character for the
  741. PRINT USING command. A common value is "#".
  742. ------------------------------------------------------------
  743. SYNTAX: OPTION USING DOLLAR char$
  744. DESCRIPTION: Specifies the magic DOLLAR character for the
  745. PRINT USING command. A common value is "$".
  746. ------------------------------------------------------------
  747. SYNTAX: OPTION USING EXRAD char$
  748. DESCRIPTION: Specifies the magic EXRAD character for the
  749. PRINT USING command. A common value is "^".
  750. ------------------------------------------------------------
  751. SYNTAX: OPTION USING FILLER char$
  752. DESCRIPTION: Specifies the magic FILLER character for the
  753. PRINT USING command. A common value is "*".
  754. ------------------------------------------------------------
  755. SYNTAX: OPTION USING FIRST char$
  756. DESCRIPTION: Specifies the magic FIRST character for the
  757. PRINT USING command. A common value is "!".
  758. ------------------------------------------------------------
  759. SYNTAX: OPTION USING LENGTH char$
  760. DESCRIPTION: Specifies the magic LENGTH character for the
  761. PRINT USING command. A common value is "\".
  762. ------------------------------------------------------------
  763. SYNTAX: OPTION USING LITERAL char$
  764. DESCRIPTION: Specifies the magic LITERAL character for the
  765. PRINT USING command. A common value is "_".
  766. ------------------------------------------------------------
  767. SYNTAX: OPTION USING MINUS char$
  768. DESCRIPTION: Specifies the magic MINUS character for the
  769. PRINT USING command. A common value is "-".
  770. ------------------------------------------------------------
  771. SYNTAX: OPTION USING PERIOD char$
  772. DESCRIPTION: Specifies the magic PERIOD character for the
  773. PRINT USING command. A common value is ".".
  774. ------------------------------------------------------------
  775. SYNTAX: OPTION USING PLUS char$
  776. DESCRIPTION: Specifies the magic PLUS character for the
  777. PRINT USING command. A common value is "+".
  778. ------------------------------------------------------------
  779. SYNTAX: OPTION VERSION version$
  780. DESCRIPTION: Selects a specific BASIC version, which is a
  781. combination of OPTION settings, commands,
  782. functions and operators. If no version is
  783. specified, displays a list of the available
  784. versions.
  785. ------------------------------------------------------------
  786. SYNTAX: OPTION ZONE integer
  787. DESCRIPTION: Sets the PRINT zone width. Setting the value
  788. to zero restores the default.
  789. ------------------------------------------------------------
  790. SYNTAX: PRINT # filenum , [USING format$;] value ...
  791. DESCRIPTION: Sends output to a file.
  792. ------------------------------------------------------------
  793. SYNTAX: PRINT [USING format$;] value ...
  794. DESCRIPTION: Sends output to the screen.
  795. ------------------------------------------------------------
  796. SYNTAX: READ variable [, ...]
  797. DESCRIPTION: Reads values from DATA statements.
  798. ------------------------------------------------------------
  799. SYNTAX: REM ...
  800. DESCRIPTION: Remark.
  801. ------------------------------------------------------------
  802. SYNTAX: RENUM
  803. DESCRIPTION: Implementation defined.
  804. ------------------------------------------------------------
  805. SYNTAX: RESTORE [line]
  806. DESCRIPTION: Resets the line used for the next READ
  807. statement. line may be either a number or a
  808. label.
  809. ------------------------------------------------------------
  810. SYNTAX: RETURN
  811. DESCRIPTION: Concludes a subroutine called by GOSUB.
  812. ------------------------------------------------------------
  813. SYNTAX: RSET variable$ = value
  814. DESCRIPTION: Right-aligns the value into variable$. If the
  815. length of the value is too short, then it is
  816. padded on the left with spaces. If the
  817. length of the value is too long, then it is
  818. truncated on the right. This is only for use
  819. with variables assigned to a random access
  820. buffer with FIELD command.
  821. ------------------------------------------------------------
  822. SYNTAX: RUN filename$
  823. DESCRIPTION: Loads a new BAASIC program and executes the
  824. program from the start.
  825. ------------------------------------------------------------
  826. SYNTAX: RUN line
  827. DESCRIPTION: Executes the program in memory beginning at
  828. line.
  829. ------------------------------------------------------------
  830. SYNTAX: RUN
  831. DESCRIPTION: Executes the program in memory from the start.
  832. ------------------------------------------------------------
  833. SYNTAX: SAVE [filename$]
  834. DESCRIPTION: Saves the current program into the file
  835. filename$ in ASCII format.
  836. ------------------------------------------------------------
  837. SYNTAX: SELECT
  838. DESCRIPTION: Syntax Error.
  839. ------------------------------------------------------------
  840. SYNTAX: SELECT CASE value
  841. DESCRIPTION: Introduces a multi-line conditional selection
  842. statement.
  843. ------------------------------------------------------------
  844. SYNTAX: STEP
  845. DESCRIPTION: Syntax Error.
  846. ------------------------------------------------------------
  847. SYNTAX: STOP
  848. DESCRIPTION: Interrupts program execution and displays the
  849. line number of the STOP command. For use
  850. when debugging BASIC programs. Whether STOP
  851. issues a SIGINT signal is implementation
  852. defined.
  853. ------------------------------------------------------------
  854. SYNTAX: SUB name [ ( parameter [,...] ) ]
  855. DESCRIPTION: Top line of a multi-line SUB definition. The
  856. variable names specified are local to the SUB
  857. definition, and are initialized BYVAL when
  858. the subroutine is invoked by another routine.
  859. ------------------------------------------------------------
  860. SYNTAX: SWAP variable, variable
  861. DESCRIPTION: Swaps the values of two variables. Both
  862. variables must be of the same type.
  863. ------------------------------------------------------------
  864. SYNTAX: SYSTEM
  865. DESCRIPTION: Exits to the operating system.
  866. ------------------------------------------------------------
  867. SYNTAX: TO
  868. DESCRIPTION: Syntax Error.
  869. ------------------------------------------------------------
  870. SYNTAX: VARS
  871. DESCRIPTION: Prints a list of all global variables.
  872. ------------------------------------------------------------
  873. SYNTAX: WEND
  874. DESCRIPTION: Bottom of a WHILE - WEND structure.
  875. ------------------------------------------------------------
  876. SYNTAX: WHILE value
  877. DESCRIPTION: Top of a WHILE - WEND structure. If the value
  878. is non-zero, then the loop is terminated.
  879. ------------------------------------------------------------
  880. SYNTAX: WRITE # filenum, value [, .... ]
  881. DESCRIPTION: Outputs value to a file. Strings are quoted
  882. and each value is seperated by a omma.
  883. ------------------------------------------------------------
  884. SYNTAX: WRITE value [, .... ]
  885. DESCRIPTION: Outputs value to the screen. Strings are
  886. quoted and each value is seperated by a
  887. comma.
  888. ------------------------------------------------------------
  889. ============================================================
  890. FUNCTIONS
  891. ============================================================
  892. ------------------------------------------------------------
  893. SYNTAX: N = ABS( X )
  894. PARAMETER: X is a number
  895. DESCRIPTION: The absolute value of X.
  896. ------------------------------------------------------------
  897. SYNTAX: N = ASC( A$ )
  898. PARAMETER: A$ is a string, LEN >= 1
  899. DESCRIPTION: The numeric code for the first letter in A$.
  900. For example, ASC("ABC") returns 65 on ASCII
  901. systems.
  902. ------------------------------------------------------------
  903. SYNTAX: N = ATN( X )
  904. PARAMETER: X is a number
  905. DESCRIPTION: The arctangent of X in radians, i.e. the angle
  906. whose tangent is X, where -PI/2 < ATN(X) <
  907. PI/2.
  908. ------------------------------------------------------------
  909. SYNTAX: N = CHDIR( A$ )
  910. PARAMETER: A$ is a string, LEN >= 1
  911. DESCRIPTION: Changes to the directory named to A$.
  912. ------------------------------------------------------------
  913. SYNTAX: S$ = CHR$( X )
  914. PARAMETER: X is a number, [0,255]
  915. DESCRIPTION: The one-character string with the character
  916. corresponding to the numeric code X. On
  917. ASCII systems, CHR$(65) returns "A".
  918. ------------------------------------------------------------
  919. SYNTAX: N = CINT( X )
  920. PARAMETER: X is a number, [MININT,MAXINT]
  921. DESCRIPTION: The short (16-bit) integer value of X.
  922. ------------------------------------------------------------
  923. SYNTAX: N = CLOSE
  924. DESCRIPTION: Close all open files.
  925. ------------------------------------------------------------
  926. SYNTAX: N = CLOSE( X )
  927. PARAMETER: X is a number, [MININT,MAXINT]
  928. DESCRIPTION: Close file number X.
  929. ------------------------------------------------------------
  930. SYNTAX: N = CLS
  931. DESCRIPTION: Clears the screen. Cursor is positioned at row
  932. 1, column 1.
  933. ------------------------------------------------------------
  934. SYNTAX: N = COS( X )
  935. PARAMETER: X is a number
  936. DESCRIPTION: The cosine of X, where X is in radians.
  937. ------------------------------------------------------------
  938. SYNTAX: N = CSNG( X )
  939. PARAMETER: X is a number, [MINFLT,MAXFLT]
  940. DESCRIPTION: The single-precision value of X.
  941. ------------------------------------------------------------
  942. SYNTAX: N = CVD( A$ )
  943. PARAMETER: A$ is a string, LEN >= sizeof(DBL)
  944. DESCRIPTION: The double-precision value in A$, which was
  945. created by MKD$.
  946. ------------------------------------------------------------
  947. SYNTAX: N = CVI( A$ )
  948. PARAMETER: A$ is a string, LEN >= sizeof(INT)
  949. DESCRIPTION: The short (16-bit) integer value in A$, which
  950. was created by MKI$.
  951. ------------------------------------------------------------
  952. SYNTAX: N = CVS( A$ )
  953. PARAMETER: A$ is a string, LEN >= sizeof(FLT)
  954. DESCRIPTION: The single-precision value in A$, which was
  955. created by MKS$.
  956. ------------------------------------------------------------
  957. SYNTAX: S$ = DATE$
  958. DESCRIPTION: The current date based on the internal clock
  959. as a string in the format set by OPTION DATE.
  960. ------------------------------------------------------------
  961. SYNTAX: N = ENVIRON( A$ )
  962. PARAMETER: A$ is a string, LEN >= 1
  963. DESCRIPTION: Sends the environment variable expression
  964. contained in A$ to the host operating system.
  965. A$ must contain the "=" character.
  966. ------------------------------------------------------------
  967. SYNTAX: S$ = ENVIRON$( A$ )
  968. PARAMETER: A$ is a string, LEN >= 1
  969. DESCRIPTION: The value of the environment variable named
  970. A$.
  971. ------------------------------------------------------------
  972. SYNTAX: N = EOF( X )
  973. PARAMETER: X is a number, [MININT,MAXINT]
  974. DESCRIPTION: If device number X is at the end-of-file, then
  975. -1, otherwise 0.
  976. ------------------------------------------------------------
  977. SYNTAX: N = ERL
  978. DESCRIPTION: The line number of the most recent error.
  979. ------------------------------------------------------------
  980. SYNTAX: N = ERR
  981. DESCRIPTION: The error number of the most recent error.
  982. ------------------------------------------------------------
  983. SYNTAX: N = ERROR( X )
  984. PARAMETER: X is a number, [0,255]
  985. DESCRIPTION: Simulate the error number in X.
  986. ------------------------------------------------------------
  987. SYNTAX: N = EXP( X )
  988. PARAMETER: X is a number
  989. DESCRIPTION: The exponential value of X, i.e., the value of
  990. the base of natural logarithms (e = 2.71828)
  991. raised to the power of X; if EXP(X) is less
  992. that machine infinitesimal, then its value
  993. shall be replaced with zero.
  994. ------------------------------------------------------------
  995. SYNTAX: N = FILES
  996. DESCRIPTION: Displays all the file names.
  997. ------------------------------------------------------------
  998. SYNTAX: N = FILES( A$ )
  999. PARAMETER: A$ is a string, LEN >= 1
  1000. DESCRIPTION: Displays all the file names matching A$.
  1001. ------------------------------------------------------------
  1002. SYNTAX: N = GET( X )
  1003. PARAMETER: X is a number, [MININT,MAXINT]
  1004. DESCRIPTION: For file X, gets the next available record.
  1005. ------------------------------------------------------------
  1006. SYNTAX: N = GET( X, Y )
  1007. PARAMETER: X is a number, [MININT,MAXINT]
  1008. PARAMETER: Y is a number, [MININT,MAXINT]
  1009. DESCRIPTION: For file X, gets record number Y. The first
  1010. record number is 1.
  1011. ------------------------------------------------------------
  1012. SYNTAX: S$ = HEX$( X )
  1013. PARAMETER: X is a number, [MININT,MAXINT]
  1014. DESCRIPTION: The the hexadecimal (base 16) representation
  1015. of X.
  1016. ------------------------------------------------------------
  1017. SYNTAX: S$ = INKEY$
  1018. DESCRIPTION: The keypress, if available. If a keypress is
  1019. not available, then immediately returns an
  1020. empty string. If not supported by the
  1021. platform, then always returns an empty
  1022. string, so use INPUT$(1) instead.
  1023. ------------------------------------------------------------
  1024. SYNTAX: N = INSTR( A$, B$ )
  1025. PARAMETER: A$ is a string, LEN >= 0
  1026. PARAMETER: B$ is a string, LEN >= 0
  1027. DESCRIPTION: The position at which B$ occurs in A$,
  1028. beginning at position 1.
  1029. ------------------------------------------------------------
  1030. SYNTAX: N = INSTR( X, A$, B$ )
  1031. PARAMETER: X is a number, [1,MAXLEN]
  1032. PARAMETER: A$ is a string, LEN >= 0
  1033. PARAMETER: B$ is a string, LEN >= 0
  1034. DESCRIPTION: The position at which B$ occurs in A$,
  1035. beginning at position X.
  1036. ------------------------------------------------------------
  1037. SYNTAX: N = INT( X )
  1038. PARAMETER: X is a number
  1039. DESCRIPTION: The largest integer not greater than X; e.g.
  1040. INT(1.3) = 1 and INT(-1.3) = 2.
  1041. ------------------------------------------------------------
  1042. SYNTAX: N = KILL( A$ )
  1043. PARAMETER: A$ is a string, LEN >= 1
  1044. DESCRIPTION: Removes the file named in A$.
  1045. ------------------------------------------------------------
  1046. SYNTAX: S$ = LEFT$( A$, X )
  1047. PARAMETER: A$ is a string, LEN >= 0
  1048. PARAMETER: X is a number, [0,MAXLEN]
  1049. DESCRIPTION: The X left-most characters of A$, beginning
  1050. from postion 1.
  1051. ------------------------------------------------------------
  1052. SYNTAX: N = LEN( A$ )
  1053. PARAMETER: A$ is a string, LEN >= 0
  1054. DESCRIPTION: The length of A$.
  1055. ------------------------------------------------------------
  1056. SYNTAX: N = LOC( X )
  1057. PARAMETER: X is a number, [MININT,MAXINT]
  1058. DESCRIPTION: The location of file X; the next record that
  1059. GET or PUT statements will use.
  1060. ------------------------------------------------------------
  1061. SYNTAX: N = LOCATE( X, Y )
  1062. PARAMETER: X is a number, [0,255]
  1063. PARAMETER: Y is a number, [0,255]
  1064. DESCRIPTION: Locates the cursor to row X, column Y.
  1065. ------------------------------------------------------------
  1066. SYNTAX: N = LOF( X )
  1067. PARAMETER: X is a number, [MININT,MAXINT]
  1068. DESCRIPTION: The length of file X.
  1069. ------------------------------------------------------------
  1070. SYNTAX: N = LOG( X )
  1071. PARAMETER: X is a number, > 0
  1072. DESCRIPTION: The natural logarithm of X; X shall be greater
  1073. than zero.
  1074. ------------------------------------------------------------
  1075. SYNTAX: S$ = MID$( A$, X )
  1076. PARAMETER: A$ is a string, LEN >= 0
  1077. PARAMETER: X is a number, [1,MAXLEN]
  1078. DESCRIPTION: The characters of A$, starting from postion X.
  1079. ------------------------------------------------------------
  1080. SYNTAX: S$ = MID$( A$, X, Y )
  1081. PARAMETER: A$ is a string, LEN >= 0
  1082. PARAMETER: X is a number, [1,MAXLEN]
  1083. PARAMETER: Y is a number, [0,MAXLEN]
  1084. DESCRIPTION: The Y characters of A$, starting from postion
  1085. X.
  1086. ------------------------------------------------------------
  1087. SYNTAX: S$ = MKD$( X )
  1088. PARAMETER: X is a number, [MINDBL,MAXDBL]
  1089. DESCRIPTION: The internal representation of X as a string.
  1090. ------------------------------------------------------------
  1091. SYNTAX: N = MKDIR( A$ )
  1092. PARAMETER: A$ is a string, LEN >= 1
  1093. DESCRIPTION: Makes the directory named in A$.
  1094. ------------------------------------------------------------
  1095. SYNTAX: S$ = MKI$( X )
  1096. PARAMETER: X is a number, [MININT,MAXINT]
  1097. DESCRIPTION: The internal representation of the short
  1098. (16-bit) integer X as a string.
  1099. ------------------------------------------------------------
  1100. SYNTAX: S$ = MKS$( X )
  1101. PARAMETER: X is a number, [MINFLT,MAXFLT]
  1102. DESCRIPTION: The internal representation of X as a string.
  1103. ------------------------------------------------------------
  1104. SYNTAX: S$ = OCT$( X )
  1105. PARAMETER: X is a number, [MININT,MAXINT]
  1106. DESCRIPTION: The the octal (base 8) representation of X.
  1107. ------------------------------------------------------------
  1108. SYNTAX: N = OPEN( A$, X, B$ )
  1109. PARAMETER: A$ is a string, LEN >= 1
  1110. PARAMETER: X is a number, [MININT,MAXINT]
  1111. PARAMETER: B$ is a string, LEN >= 1
  1112. DESCRIPTION: Open file number X. A$ is the mode: "I", "O",
  1113. "A", "R". B$ is the file name. Default the
  1114. record length.
  1115. ------------------------------------------------------------
  1116. SYNTAX: N = OPEN( A$, X, B$, Y )
  1117. PARAMETER: A$ is a string, LEN >= 1
  1118. PARAMETER: X is a number, [MININT,MAXINT]
  1119. PARAMETER: B$ is a string, LEN >= 1
  1120. PARAMETER: Y is a number, [MININT,MAXINT]
  1121. DESCRIPTION: Open file number X. A$ is the mode: "I", "O",
  1122. "A", "R". B$ is the file name. Y is the
  1123. record length.
  1124. ------------------------------------------------------------
  1125. SYNTAX: N = POS
  1126. DESCRIPTION: The current cursor position in the line.
  1127. ------------------------------------------------------------
  1128. SYNTAX: N = PUT( X )
  1129. PARAMETER: X is a number, [MININT,MAXINT]
  1130. DESCRIPTION: For file X, puts the next available record.
  1131. ------------------------------------------------------------
  1132. SYNTAX: N = PUT( X, Y )
  1133. PARAMETER: X is a number, [MININT,MAXINT]
  1134. PARAMETER: Y is a number, [MININT,MAXINT]
  1135. DESCRIPTION: For file X, puts record number Y. The first
  1136. record number is 1.
  1137. ------------------------------------------------------------
  1138. SYNTAX: N = RANDOMIZE
  1139. DESCRIPTION: Seeds the pseudo-random number generator with
  1140. TIME.
  1141. ------------------------------------------------------------
  1142. SYNTAX: N = RANDOMIZE( X )
  1143. PARAMETER: X is a number
  1144. DESCRIPTION: Seeds the pseudo-random number generator with
  1145. X.
  1146. ------------------------------------------------------------
  1147. SYNTAX: S$ = RIGHT$( A$, X )
  1148. PARAMETER: A$ is a string, LEN >= 0
  1149. PARAMETER: X is a number, [0,MAXLEN]
  1150. DESCRIPTION: The right-most X characters of A$.
  1151. ------------------------------------------------------------
  1152. SYNTAX: N = RMDIR( A$ )
  1153. PARAMETER: A$ is a string, LEN >= 1
  1154. DESCRIPTION: Removes the directory named in A$.
  1155. ------------------------------------------------------------
  1156. SYNTAX: N = RND
  1157. DESCRIPTION: The next pseudo-random number in an
  1158. implementation-defined sequence of
  1159. pseudo-random numbers uniformly distributed
  1160. in the range 0 <= RND < 1.
  1161. ------------------------------------------------------------
  1162. SYNTAX: N = RND( X )
  1163. PARAMETER: X is a number
  1164. DESCRIPTION: Returns a pseudorandom number in the range
  1165. [0,1]. The value of X is ignored.
  1166. ------------------------------------------------------------
  1167. SYNTAX: N = SGN( X )
  1168. PARAMETER: X is a number
  1169. DESCRIPTION: The sign of X: -1 if X < 0, 0 if X = 0, and +1
  1170. if X > 0.
  1171. ------------------------------------------------------------
  1172. SYNTAX: N = SIN( X )
  1173. PARAMETER: X is a number
  1174. DESCRIPTION: The sine of X, where X is in radians.
  1175. ------------------------------------------------------------
  1176. SYNTAX: S$ = SPACE$( X )
  1177. PARAMETER: X is a number, [0,MAXLEN]
  1178. DESCRIPTION: The string of X blank spaces.
  1179. ------------------------------------------------------------
  1180. SYNTAX: S$ = SPC( X )
  1181. PARAMETER: X is a number
  1182. DESCRIPTION: The string of X spaces. Only for use within
  1183. the PRINT command.
  1184. ------------------------------------------------------------
  1185. SYNTAX: N = SQR( X )
  1186. PARAMETER: X is a number, >= 0
  1187. DESCRIPTION: The non-negative square root of X; X shall be
  1188. non-negative.
  1189. ------------------------------------------------------------
  1190. SYNTAX: S$ = STR$( X )
  1191. PARAMETER: X is a number
  1192. DESCRIPTION: The string generated by the print-statement as
  1193. the numeric-representation of the value
  1194. associated with X.
  1195. ------------------------------------------------------------
  1196. SYNTAX: S$ = STRING$( X, A$ )
  1197. PARAMETER: X is a number, [0,MAXLEN]
  1198. PARAMETER: A$ is a string, LEN >= 1
  1199. DESCRIPTION: The string X bytes long consisting of the
  1200. first character of A$.
  1201. ------------------------------------------------------------
  1202. SYNTAX: S$ = STRING$( X, Y )
  1203. PARAMETER: X is a number, [0,MAXLEN]
  1204. PARAMETER: Y is a number, [0,255]
  1205. DESCRIPTION: The string X bytes long consisting of CHR$(Y).
  1206. ------------------------------------------------------------
  1207. SYNTAX: S$ = TAB( X )
  1208. PARAMETER: X is a number
  1209. DESCRIPTION: The string required to advance to column X.
  1210. Only for use within the PRINT command.
  1211. ------------------------------------------------------------
  1212. SYNTAX: N = TAN( X )
  1213. PARAMETER: X is a number
  1214. DESCRIPTION: The tangent of X, where X is in radians.
  1215. ------------------------------------------------------------
  1216. SYNTAX: S$ = TIME$
  1217. DESCRIPTION: The time of day in 24-hour notation according
  1218. to ISO 3307. For example, the value of TIME$
  1219. at 11:15 AM is "11:15:00". If there is no
  1220. clock available, then the value of TIME$
  1221. shall be "99:99:99". The value of TIME$ at
  1222. midnight is "00:00:00".
  1223. ------------------------------------------------------------
  1224. SYNTAX: N = TIMER
  1225. DESCRIPTION: The time in the system clock in seconds
  1226. elapsed since midnight.
  1227. ------------------------------------------------------------
  1228. SYNTAX: N = TROFF
  1229. DESCRIPTION: Turn tracing OFF
  1230. ------------------------------------------------------------
  1231. SYNTAX: N = TRON
  1232. DESCRIPTION: Turn tracing ON
  1233. ------------------------------------------------------------
  1234. SYNTAX: N = VAL( A$ )
  1235. PARAMETER: A$ is a string, LEN >= 1
  1236. DESCRIPTION: The value of the numeric-constant associated
  1237. with A$, if the string associated with A$ is
  1238. a numeric-constant. Leading and trailing
  1239. spaces in the string are ignored. If the
  1240. evaluation of the numeric-constant would
  1241. result in a value which causes an underflow,
  1242. then the value returned shall be zero. For
  1243. example, VAL( " 123.5 " ) = 123.5, VAL(
  1244. "2.E-99" ) could be zero, and VAL( "MCMXVII"
  1245. ) causes an exception.
  1246. ------------------------------------------------------------
  1247. SYNTAX: N = WIDTH( X )
  1248. PARAMETER: X is a number, [0,255]
  1249. DESCRIPTION: For console, sets the line width to X. Zero
  1250. means no wrapping will occur.
  1251. ------------------------------------------------------------
  1252. SYNTAX: N = WIDTH( X, Y )
  1253. PARAMETER: X is a number, [MININT,MAXINT]
  1254. PARAMETER: Y is a number, [0,255]
  1255. DESCRIPTION: If X = 0, sets the console width to Y.
  1256. If X < 0, sets the printer width to Y.
  1257. If X is an open file number, sets the file
  1258. line width to Y.
  1259. Otherwise sets the console rows to X and the
  1260. line width to Y.
  1261. A value of zero for Y means no wrapping will
  1262. occur.
  1263. ------------------------------------------------------------
  1264. ============================================================
  1265. OPERATORS
  1266. ============================================================
  1267. ------------------------------------------------------------
  1268. SYNTAX: X ** Y
  1269. DESCRIPTION: Exponential
  1270. PRECEDENCE: 14
  1271. ------------------------------------------------------------
  1272. SYNTAX: X ^ Y
  1273. DESCRIPTION: Exponential
  1274. PRECEDENCE: 14
  1275. ------------------------------------------------------------
  1276. SYNTAX: # X
  1277. DESCRIPTION: Posation
  1278. PRECEDENCE: 13
  1279. ------------------------------------------------------------
  1280. SYNTAX: + X
  1281. DESCRIPTION: Posation
  1282. PRECEDENCE: 13
  1283. ------------------------------------------------------------
  1284. SYNTAX: - X
  1285. DESCRIPTION: Negation
  1286. PRECEDENCE: 13
  1287. ------------------------------------------------------------
  1288. SYNTAX: X * Y
  1289. DESCRIPTION: Multiplication
  1290. PRECEDENCE: 12
  1291. ------------------------------------------------------------
  1292. SYNTAX: X / Y
  1293. DESCRIPTION: Division
  1294. PRECEDENCE: 12
  1295. ------------------------------------------------------------
  1296. SYNTAX: X \ Y
  1297. DESCRIPTION: Integer Division
  1298. PRECEDENCE: 11
  1299. ------------------------------------------------------------
  1300. SYNTAX: X MOD Y
  1301. DESCRIPTION: Integer Modulus
  1302. PRECEDENCE: 10
  1303. ------------------------------------------------------------
  1304. SYNTAX: X + Y
  1305. DESCRIPTION: Addition
  1306. PRECEDENCE: 9
  1307. ------------------------------------------------------------
  1308. SYNTAX: X - Y
  1309. DESCRIPTION: Subtraction
  1310. PRECEDENCE: 9
  1311. ------------------------------------------------------------
  1312. SYNTAX: X & Y
  1313. DESCRIPTION: Concatenation
  1314. PRECEDENCE: 8
  1315. ------------------------------------------------------------
  1316. SYNTAX: X < Y
  1317. DESCRIPTION: Less than
  1318. PRECEDENCE: 7
  1319. ------------------------------------------------------------
  1320. SYNTAX: X <= Y
  1321. DESCRIPTION: Less than or Equal
  1322. PRECEDENCE: 7
  1323. ------------------------------------------------------------
  1324. SYNTAX: X <> Y
  1325. DESCRIPTION: Not Equal
  1326. PRECEDENCE: 7
  1327. ------------------------------------------------------------
  1328. SYNTAX: X = Y
  1329. DESCRIPTION: Equal
  1330. PRECEDENCE: 7
  1331. ------------------------------------------------------------
  1332. SYNTAX: X =< Y
  1333. DESCRIPTION: Less than or Equal
  1334. PRECEDENCE: 7
  1335. ------------------------------------------------------------
  1336. SYNTAX: X => Y
  1337. DESCRIPTION: Greater than or Equal
  1338. PRECEDENCE: 7
  1339. ------------------------------------------------------------
  1340. SYNTAX: X > Y
  1341. DESCRIPTION: Greater than
  1342. PRECEDENCE: 7
  1343. ------------------------------------------------------------
  1344. SYNTAX: X >< Y
  1345. DESCRIPTION: Not Equal
  1346. PRECEDENCE: 7
  1347. ------------------------------------------------------------
  1348. SYNTAX: X >= Y
  1349. DESCRIPTION: Greater than or Equal
  1350. PRECEDENCE: 7
  1351. ------------------------------------------------------------
  1352. SYNTAX: NOT X
  1353. DESCRIPTION: Bitwise NOT
  1354. PRECEDENCE: 6
  1355. ------------------------------------------------------------
  1356. SYNTAX: X AND Y
  1357. DESCRIPTION: Bitwise AND
  1358. PRECEDENCE: 5
  1359. ------------------------------------------------------------
  1360. SYNTAX: X OR Y
  1361. DESCRIPTION: Bitwise OR
  1362. PRECEDENCE: 4
  1363. ------------------------------------------------------------
  1364. SYNTAX: X XOR Y
  1365. DESCRIPTION: Bitwise Exclusive OR
  1366. PRECEDENCE: 3
  1367. ------------------------------------------------------------
  1368. SYNTAX: X EQV Y
  1369. DESCRIPTION: Bitwise EQV
  1370. PRECEDENCE: 2
  1371. ------------------------------------------------------------
  1372. SYNTAX: X IMP Y
  1373. DESCRIPTION: Bitwise IMP
  1374. PRECEDENCE: 1
  1375. ------------------------------------------------------------