expression
else
fi
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 else allows for a group of statements to be
executed when the first group is not.
|
list |
|
[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.
The list of expressions and
strings are concatenated and printed. (A string is delimited
by " characters.)
Prompt is the same as
print except that no newline character is
printed.
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.
|
save |
|
[expression [expression]] |
|
Save is like list
except that the output is written on the file
argument. If no argument is given on the command,
b.out is used.
Expressions
have the following syntax:
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.
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 e |
|
|
followed by a possibly signed exponent. |
|
( |
|
expression ) |
Parentheses are used to alter
normal order of evaluation.
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. a[1,2] is the
same as a[1][2]. 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, |
|
& | |
|
& (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:
|
arg(i) |
|
is the value of the i -th
actual parameter on the current level of function call. |
|
exp(x) |
|
is the exponential function of x. |
|
log(x) |
|
is the natural logarithm of x. |
|
sqr(x) |
|
is the square root of x. |
|
sin(x) |
|
is the sine of x (radians). |
|
cos(x) |
|
is the cosine of x (radians). |
|
atn(x) |
|
is the arctangent of x. Its value is between
−π/2 and π/2. |
|
rnd( ) |
|
is a uniformly distributed random number between zero
and one. |
expr( )
is the only form of program
input. A line is read from the input and evaluated as an
expression. The resultant value is returned.
|
abs(x) |
|
is the absolute value of x. |
|
|
int(x) |
|
returns x truncated (towards 0) to an
integer. |
|
FILES
/tmp/btm?
temporary
b.out save file
/bin/ed for edit
DIAGNOSTICS
Syntax errors
cause the incorrect line to be typed with an underscore
where the parse failed. All other diagnostics are self
explanatory.
BUGS
Has been known
to give core images.
Catches interrupts even when they are turned off.
 |
bas(1) |
 |
|