Unix |
Unix v6 |
|
![]() |
bas(1) |
![]() |
bas basic [ file ] is a dialect of Basic. If a file
argument is provided, the file is used for input before the
console is read. accepts lines of the form:
statement
integer statement Integer numbered statements (known as
internal statements) are stored for later execution. They
are stored in sorted ascending order. Non-numbered
statements are immediately executed. The result of an
immediate expression statement (that does not have
‘=’ as its highest operator) is printed.
Statements have the following syntax: expression
The expression is executed for its side effects (assignment
or function call) or for printing as described above.
This statement is ignored. It is used to interject
commentary in a program.
Return to system level. expression expression expression
A line is drawn on the Tektronix 611 display
‘/dev/vt0’ from the current display position to
the XY co-ordinates specified by the first two expressions.
The scale is zero to one in both X and Y directions. If the
third expression is zero, the line is invisible. The current
display position is set to the end point. list
The list of expressions and strings is concatenated and
displayed (i.e. printed) on the 611 starting at the current
display position. The current display position is not
changed.
The name and current value of every variable is printed.
The UNIX editor, is invoked with the argument. After the
editor exits, this file is recompiled.
The 611 screen is erased. name expression expression
statement
name expression expression
The statement repetitively executes a statement (first form)
or a group of statements (second form) under control of a
named variable. The variable takes on the value of the first
expression, then is incremented by one on each loop, not to
exceed the value of the second expression. expression
The expression is evaluated, truncated to an integer and
execution goes to the corresponding integer numbered
statment. If executed from immediate mode, the internal
statements are compiled first. expression statement
expression
[
The statement (first form) or group of statements (second
form) is executed if the expression evaluates to non-zero.
In the second form, an optional allows for a group of
statements to be executed when the first group is not.
[expression [expression]]
is used to print out the stored internal statements. If no
arguments are given, all internal statements are printed. If
one argument is given, only that internal statement is
listed. If two arguments are given, all internal statements
inclusively between the arguments are printed. list
The list of expressions and strings are concatenated and
printed. (A string is delimited by " characters.) list
is the same as except that no newline character is printed.
[expression]
The expression is evaluated and the result is passed back as
the value of a function call. If no expression is given,
zero is returned.
The internal statements are compiled. The symbol table is
re-initialized. The random number generator is reset.
Control is passed to the lowest numbered internal statement.
[expression [expression]]
is like except that the output is written on the argument.
If no argument is given on the command, is used. Expressions
have the following syntax: name
A name is used to specify a variable. Names are composed of
a letter followed by letters and digits. The first four
characters of a name are significant. number
A number is used to represent a constant value. A number is
written in Fortran style, and contains digits, an optional
decimal point, and possibly a scale factor consisting of an
followed by a possibly signed exponent. expression
Parentheses are used to alter normal order of evaluation.
expression
The result is the negation of the expression. expression
operator expression
Common functions of two arguments are abbreviated by the two
arguments separated by an operator denoting the function. A
complete list of operators is given below. expression
[expression [ expression] ... ]
Functions of an arbitrary number of arguments can be called
by an expression followed by the arguments in parentheses
separated by commas. The expression evaluates to the line
number of the entry of the function in the internally stored
statements. This causes the internal statements to be
compiled. If the expression evaluates negative, a builtin
function is called. The list of builtin functions appears
below. name expression [ expression ] ...
Each expression is truncated to an integer and used as a
specifier for the name. The result is syntactically
identical to a name. is the same as The truncated
expressions are restricted to values between 0 and 32767.
The following is the list of operators: =
= is the assignment operator. The left operand must be a
name or an array element. The result is the right operand.
Assignment binds right to left, all other operators bind
left to right. & |
& (logical and) has result zero if either of its
arguments are zero. It has result one if both its arguments
are non-zero. | (logical or) has result zero if both of its
arguments are zero. It has result one if either of its
arguments are non-zero. < <= > >= == <>
The relational operators (< less than, <= less than or
equal, > greater than, >= greater than or equal, ==
equal to, <> not equal to) return one if their
arguments are in the specified relation. They return zero
otherwise. Relational operators at the same level extend as
follows: a>b>c is the same as a>b&b>c. +
Add and subtract. * /
Multiply and divide. ^
Exponentiation. The following is a list of builtin
functions:
is the value of the i -th actual parameter on the
current level of function call.
is the exponential function of x.
is the natural logarithm of x.
is the square root of x.
is the sine of x (radians).
is the cosine of x (radians).
is the arctangent of x. Its value is between π/2
and π/2.
is a uniformly distributed random number between zero and
one.
is the only form of program input. A line is read from the
input and evaluated as an expression. The resultant value is
returned.
is the absolute value of x.
returns x truncated (towards 0) to an integer. /tmp/btm? |
temporary |
|||
b.out |
save file Syntax errors cause the incorrect line to be typed with an underscore where the parse failed. All other diagnostics are self explanatory. Has been known to give core images. |
![]() |
bas(1) | ![]() |