HOME

TheInfoList



OR:

Data General Extended BASIC, also widely known as Nova Extended BASIC, was a
BASIC programming language BASIC (Beginners' All-purpose Symbolic Instruction Code) is a family of General-purpose programming language, general-purpose, high-level programming languages designed for ease of use. Dartmouth BASIC, The original version was created by John ...
interpreter for the
Data General Nova The Data General Nova is a series of 16-bit minicomputers released by the American company Data General. The Nova family was very popular in the 1970s and ultimately sold tens of thousands of units. The first model, known simply as "Nova", was ...
series
minicomputer A minicomputer, or colloquially mini, is a class of smaller general purpose computers that developed in the mid-1960s and sold at a much lower price than mainframe and mid-size computers from IBM and its direct competitors. In a 1970 survey, ...
s. It was based on the seminal
Dartmouth BASIC Dartmouth BASIC is the original version of the BASIC programming language. It was designed by two professors at Dartmouth College, John G. Kemeny and Thomas E. Kurtz. With the underlying Dartmouth Time Sharing System (DTSS), it offered an inter ...
, including the Fifth Edition's string variables and powerful commands for
matrix Matrix most commonly refers to: * ''The Matrix'' (franchise), an American media franchise ** ''The Matrix'', a 1999 science-fiction action film ** "The Matrix", a fictional setting, a virtual reality environment, within ''The Matrix'' (franchis ...
manipulation. In contrast to the compile-and-go Dartmouth BASIC, Extended BASIC was an interpreter. To this, Extended BASIC added substring manipulation using
array slicing In computer programming, array slicing is an operation that extracts a subset of elements from an array and packages them as another array, possibly in a different dimension from the original. Common examples of array slicing are extracting a su ...
, which was common on BASICs of the era, found on
HP Time-Shared BASIC HP Time-Shared BASIC (HP TSB) is a BASIC programming language interpreter for Hewlett-Packard's HP 2000 line of minicomputer-based time-sharing computer systems. TSB is historically notable as the platform that released the first public versio ...
,
Sinclair BASIC Sinclair BASIC is a dialect of the programming language BASIC used in the 8-bit home computers from Sinclair Research and Timex Sinclair. The Sinclair BASIC interpreter was made by Nine Tiles Networks Ltd. History Sinclair BASIC was orig ...
,
Atari BASIC Atari BASIC is an interpreter (computing), interpreter for the BASIC programming language that shipped with the Atari 8-bit family of MOS Technology 6502, 6502-based home computers. Unlike most American BASICs of the home computer era, Atari BAS ...
and others. This contrasts with the
Microsoft BASIC Microsoft BASIC is the foundation software product of the Microsoft company and evolved into a line of BASIC interpreters and compiler(s) adapted for many different microcomputers. It first appeared in 1975 as Altair BASIC, which was the first ve ...
style which uses string functions like , and thus makes porting string code somewhat difficult. Data General later purchased rights to a much-expanded BASIC which was released as
Data General Business Basic Data General Business Basic was a BASIC interpreter (based on a version from MAI Basic Four) marketed by Data General for their Nova minicomputer in the 1970s, and later ported to the Data General Eclipse MV and AViiON computers. Most busines ...
. This added powerful
database In computing, a database is an organized collection of data stored and accessed electronically. Small databases can be stored on a file system, while large databases are hosted on computer clusters or cloud storage. The design of databases sp ...
functionality and largely replaced Extended BASIC on DG platforms.


Description


Mathematics

The internal
floating point In computing, floating-point arithmetic (FP) is arithmetic that represents real numbers approximately, using an integer with a fixed precision, called the significand, scaled by an integer exponent of a fixed base. For example, 12.345 can be ...
number format normally used two 16-bit words for a total of 32-bits, stored
least significant bit In computing, bit numbering is the convention used to identify the bit positions in a binary number. Bit significance and indexing In computing, the least significant bit (LSB) is the bit position in a binary integer representing the binary 1 ...
first. Bit 0 was the sign, 1 through 7 was the
exponent Exponentiation is a mathematical operation, written as , involving two numbers, the '' base'' and the ''exponent'' or ''power'' , and pronounced as " (raised) to the (power of) ". When is a positive integer, exponentiation corresponds to re ...
stored in excess-64 format, and 8 through 31 the mantissa stored as hexadecimal digits. Numbers could alternately use a double-precision format that extended the mantissa only, adding another 32-bits. That meant the double-precision format did not extend the range of numbers that could be stored, only the accuracy of those numbers. Possible numbers ranged from 5.4 to −7.2. Numbers with less than six digits were displayed as decimals, while those with more were displayed in exponent format. Variable names could consist of a single letter, or a letter and a single digit. Two-letter names were not allowed. Arrays could be med in 1 (array) or 2 (matrix) dimensions, and the lower bound was always 1. As was common at the time, variables with no defaulted to a 1-D array of 10 elements. Confusingly, if a variable ''was'' ed, it was not the same as a variable with the same name that had not been ed; and might be the same or different variables depending on how they were created. Mathematics operators were the standard set, with the addition of a unary plus. Relational operators for comparisons were also the standard set, there was no for not-equals as found in some contemporary BASICs.


Matrix math

Extended BASIC added the suite of matrix math operations from Dartmouth BASIC's Fifth Edition. These were, in essence, macros that performed operations that would otherwise be accomplished with loops. The system included a number of pre-rolled matrixes, like for a zero-matrix, for a matrix of all 1's, and for the
identity matrix In linear algebra, the identity matrix of size n is the n\times n square matrix with ones on the main diagonal and zeros elsewhere. Terminology and notation The identity matrix is often denoted by I_n, or simply by I if the size is immaterial o ...
. Most mathematical operations were supported, for instance, multiplies every element in A by 2. takes the determinant, and inverts it.


Strings

String literals (constants) were entered between double-quotes. Characters within strings could be escaped by placing their
ASCII ASCII ( ), abbreviated from American Standard Code for Information Interchange, is a character encoding standard for electronic communication. ASCII codes represent text in computers, telecommunications equipment, and other devices. Because of ...
value between angle-brackets, for instance, String variables, like their numeric counterparts, consisted of only a single letter, or one letter and one digit. As is the case for all variables in Extended BASIC, string variables were normally allocated ten spaces, but could be extended up to a maximum of 32 k with an explicit . Because the array syntax was used to declare the length of the string, string arrays were not possible. Assigning a string to a variable that was too small too hold it resulted in any excess being truncated. String manipulation was carried out using
array slicing In computer programming, array slicing is an operation that extracts a subset of elements from an array and packages them as another array, possibly in a different dimension from the original. Common examples of array slicing are extracting a su ...
syntax. referred to the substring from position 10 to the end of the string, while referred to characters 10 through 20. Concatenation used the comma, so added to the end of . This was an uncommon syntax, even when it was being introduced, most BASICs using slicing used that for concatenation as well, for instance, would append at the end of , while those using string functions, like
Microsoft BASIC Microsoft BASIC is the foundation software product of the Microsoft company and evolved into a line of BASIC interpreters and compiler(s) adapted for many different microcomputers. It first appeared in 1975 as Altair BASIC, which was the first ve ...
, already widely used the plus sign for this operation. This syntax change was because Extended BASIC allowed math operators to be applied to strings, up to the first non-numeric character. For instance, would put 3579 into A, without the need to explicitly convert them to numerics, normally handled with the function in most dialects. Non-numerics were simply ignored, put 1234 into A. Extended BASIC lacked the command from Dartmouth that converted an entire string to or from ASCII values in an array, for instance, which results in B being assigned 10 numbers, each one an ASCII value.


Statements

Extended BASIC is otherwise similar to Dartmouth and Microsoft BASIC in the variety of commands it supports and their syntax. Exceptions include instead of , instead of (which was not common anyway). Two additions were which allowed errors to be trapped, a feature that became common on other BASICs, and which allowed the break key (escape in this case) to be trapped as well. was similar to , but allowed a single line to be re-run after a break, instead of continuing the entire program. set the time limit for statements to respond, which was a "timed input" otherwise identical to . Extended BASIC added a variety of immediate mode editing statements that are not really part of the language ''per se''. These included to remove a range of lines from a program, to read the contents of a text file into the program, and . was similar to , but read the lines from the card reader. It also added a number of statements for dealing with the underlying file system, including which lists files in the user's directory and which does the same with wildcards, which printed the name of that directory, and for the program code, and , and , which printed the free space. was like , but sent the file to the
card punch A computer punched card reader or just computer card reader is a computer input device used to read computer programs in either source or executable form and data from punched cards. A computer card punch is a computer output device that punches ...
. printed the attributes of a given file. Other
operating system An operating system (OS) is system software that manages computer hardware, software resources, and provides common services for computer programs. Time-sharing operating systems schedule tasks for efficient use of the system and may also in ...
-related statements included to print a list of logged-in users, to bother them, to set the right margin (page width), and to print the memory used by the program, the opposite of what would be returned in MS BASIC with .


Functions

Functions closely matched Dartmouth and Microsoft BASIC, with a few additions. returned a numeric value encoding the positions of the front-panel switches. returned whether or not file had reached the end-of-file. returned the position of within , anywhere after the optional position , similar to the MS-standard . Note that this overrides the found in MS, which returns the current column position of the cursor.


References


Citations


Bibliography

* {{BASIC BASIC interpreters BASIC programming language family