CBASIC

CBASIC is a compiler version of the BASIC programming language. It was written by Gordon Eubanks in the years 1976 and 1977 for the operating system CP / M. There was an improvement of BASIC -E, which he had developed as a master's thesis.

History

Eubanks developed BASIC -E in the programming language PL / M at the State Naval Postgraduate School in Monterey, California. Since it was thus created at public expense, it was under U.S. law as "public domain" and could not be sold commercially. Therefore Eubanks programmed in his spare time while he was naval officer yet, the improved CBASIC as a commercial product his company compiler system, initially for use on the IMSAI 8080 computer. But it was also run on other CP / M systems. In addition to the version for CP/M-80, CBASIC/80, created in 1981 a version for CP/M-86, CBASIC/86. 1981 compiler system including CBASIC was acquired by Digital Research. The commercial success of CBASIC dried up relatively quickly as other development tools established in the market.

Properties

CBASIC required except for numeric Anchor links no line numbers, and not only allowed the use of subroutines with the Basic command GOSUB, but also the use of user-defined functions. A further advantage, the use of 14-digit real numbers.

Into an intermediate code ( P-code ) compiled, which was then carried out by a run-time program - initial is CBASIC - as BASIC e. Later, the compiler generated in the first step, an intermediate code (REL object code ), from which in a further step with the linker, the executable program has been created. In this way it was possible to program parts in another programming language, such as machine-level instructions in assembler to write, and to include in the link operation in the executable program.

Example Program

The Sieve of Eratosthenes, for example, sees as a CBASIC program like this:

INTEGER limit, count, prime, i, k limit = 1000 % dim flag (1000)   print " *** ERATO in CBASIC / CB80 *** " print " --- Start --- " count = 0 for i = 0 to limit: flag % ( i) = 1: next for i = 0 to limit      if flag % (i) = 1 then \          prime = i i 3: \          count = count 1: \          k = i prime: \          while k < = limit: \              flag % (k ) = 0: \              k = k prime: \          applicable next print count; " PRIME NUMBERS calculated " Sources / Links

  • Http://www.cwheroes.org/archives/histories/Eubanks.pdf Gordon Eubanks oral history transcript of a video interview of Computer World, November 2000
  • Http://www.cpm.z80.de/manuals/cbasic-m.pdf CBASIC 2 Reference Manual, November 1981
  • Http://www.dvorak.org/blog/whatever-happened-to-cbasic/ Whatever Happened to CBASIC?
  • BASIC
  • CP / M Software
  • DOS software
  • Historic software
170744
de