Annotation of researchv10dc/dist/man/v3/man1/bas.1, revision 1.1.1.1

1.1       root        1: .pa 1
                      2: .he 'BAS (I)'1/15/73'BAS (I)'
                      3: .ti 0
                      4: NAME           bas -- basic
                      5: .sp
                      6: .ti 0
                      7: SYNOPSIS       bas___ [ file ]
                      8: .sp
                      9: .ti 0
                     10: DESCRIPTION    bas___
                     11: is a dialect of basic [1].
                     12: If a file argument is provided,
                     13: the file is used for input before the console
                     14: is read.
                     15: .sp
                     16: bas___ accepts lines of the form:
                     17: .sp
                     18:    statement
                     19:    integer statement
                     20: .sp
                     21: Integer numbered statements
                     22: (known as internal statements)
                     23: are stored for later execution.
                     24: They are stored in sorted ascending order.
                     25: Non-numbered statements are immediately executed.
                     26: The result of an immediate expression statement
                     27: (that does not have '=' as its highest operator) is printed.
                     28: .sp
                     29: Statements have the following syntax:
                     30: .sp
                     31: .in +6
                     32: .ti -3
                     33: expression
                     34: .br
                     35: The expression is executed for its side
                     36: effects (assignment or function call)
                     37: or for printing as described above.
                     38: .sp
                     39: .ti -3
                     40: done____
                     41: .br
                     42: Return to system level.
                     43: .sp
                     44: .ti -3
                     45: draw____ expression expression expression
                     46: .br
                     47: A line is drawn on the Tektronix 611 display (/dev/vt0) from
                     48: the current display position
                     49: to the XY co-ordinates specified by the
                     50: first two expressions.
                     51: (The scale is zero to one in both X and Y directions)
                     52: If the third expression
                     53: is zero, the line is invisible.
                     54: The current display position is set to the end point.
                     55: .sp
                     56: .ti -3
                     57: display_______ list
                     58: .br
                     59: The list of expressions and strings is
                     60: concatenated and displayed (i.e. printed) on the 611 starting
                     61: at the current display position.
                     62: The current display position is not changed.
                     63: .sp
                     64: .ti -3
                     65: erase_____
                     66: .br
                     67: The 611 screen is erased.
                     68: .sp
                     69: .ti -3
                     70: for___ name =_= expression expression statement
                     71: .ti -3
                     72: for___ name =_ expression expression
                     73: .br
                     74: .li
                     75: ...
                     76: .ti -3
                     77: next____
                     78: .br
                     79: The for___ statement
                     80: repetitively executes a
                     81: statement (first form)
                     82: or a group of statements (second form)
                     83: under control of a named variable.
                     84: The variable takes on the value of
                     85: the first expression,
                     86: then is incremented by one on each loop,
                     87: not to exceed the value of
                     88: the second expression.
                     89: .sp
                     90: .ti -3
                     91: goto____ expression
                     92: .br
                     93: The expression is evaluated, truncated to an integer
                     94: and execution goes to the corresponding integer numbered statment.
                     95: If executed from immediate mode,
                     96: the internal statements are compiled first.
                     97: .sp
                     98: .ti -3
                     99: if__ expression statement
                    100: .br
                    101: The statement is executed if the expression evaluates
                    102: to non-zero.
                    103: .sp
                    104: .ti -3
                    105: list____ [expression [expression]]
                    106: .br
                    107: list____ is used to print out the stored internal statements.
                    108: If no arguments are given, all internal statements are printed.
                    109: If one argument is given, only that
                    110: internal statement is listed.
                    111: If two arguments are given, all internal statements
                    112: inclusively between the arguments are printed.
                    113: .sp
                    114: .ti -3
                    115: print_____ list
                    116: .br
                    117: The list of expressions and strings are concatenated and
                    118: printed.
                    119: (A string is delimited by " characters.)
                    120: .sp
                    121: .ti -3
                    122: return______ [expression]
                    123: .br
                    124: The expression is evaluated and the result is passed
                    125: back as the value of a function call.
                    126: If no expression is given, zero is returned.
                    127: .sp
                    128: .ti -3
                    129: run___
                    130: .br
                    131: The internal statements are compiled.
                    132: The symbol table is re-initialized.
                    133: The random number generator is re-set.
                    134: Control is passed to the lowest numbered internal
                    135: statement.
                    136: .sp
                    137: .ti -6
                    138: Expressions have the following syntax:
                    139: .sp
                    140: .ti -3
                    141: name
                    142: .br
                    143: A name is used to specify a variable.
                    144: Names are composed of a letter ('a' - 'z')
                    145: followed by letters and digits.
                    146: The first four characters of a name are significant.
                    147: .sp
                    148: .ti -3
                    149: number
                    150: .br
                    151: A number is used to represent a constant value.
                    152: A number is composed of digits, at most one decimal point ('.')
                    153: and possibly a scale factor of the form
                    154: e_ digits or e-__ digits.
                    155: .sp
                    156: .ti -3
                    157: (_ expression )_
                    158: .br
                    159: Parentheses are used to alter normal order of evaluation.
                    160: .sp
                    161: .ti -3
                    162: expression operator expression
                    163: .br
                    164: Common functions of two arguments are abbreviated
                    165: by the two arguments separated by an operator denoting the function.
                    166: A complete list of operators is given below.
                    167: .sp
                    168: .ti -3
                    169: expression (_ [expression [,_ expression ...]] )_
                    170: .br
                    171: Functions of an arbitrary number of arguments
                    172: can be called by an expression followed by the arguments
                    173: in parentheses separated by commas.
                    174: The expression evaluates to the
                    175: line number of the entry of the function in the
                    176: internally stored statements.
                    177: This causes the internal statements to be compiled.
                    178: If the expression evaluates negative,
                    179: a builtin function is called.
                    180: The list of builtin functions appears below.
                    181: .sp
                    182: .ti -3
                    183: name [_ expression [,_ expression ...] ]_
                    184: .br
                    185: Each expression is truncated to an integer
                    186: and used as a specifier for the name.
                    187: The result is syntactically identical to a name.
                    188: a[1,2] is the same as a[1][2].
                    189: The truncated expressions are restricted to 
                    190: values between 0 and 32767.
                    191: .sp
                    192: .ti -6
                    193: The following is the list of operators:
                    194: .sp
                    195: .ti -3
                    196: =
                    197: .br
                    198: = is the assignment operator.
                    199: The left operand must be a name or an array element.
                    200: The result is the right operand.
                    201: Assignment binds right to left,
                    202: all other operators bind left to right.
                    203: .sp
                    204: .ti -3
                    205: & |
                    206: .br
                    207: &_ (logical and)
                    208: has result zero if either of its arguments are zero.
                    209: It has result one if both its arguments are non-zero.
                    210: |_ (logical or)
                    211: has result zero if both of its arguments are zero.
                    212: It has result one if either of its arguments are non-zero.
                    213: .sp
                    214: .ti -3
                    215: < <= > >= == <>
                    216: .br
                    217: The relational operators
                    218: (< less than, <= less than or equal,
                    219: > greater than,
                    220: >= greater than or equal,
                    221: == equal to,
                    222: <> not equal to)
                    223: return one if their arguments are in the specified
                    224: relation.
                    225: They return zero otherwise.
                    226: Relational operators at the same level extend as follows:
                    227: a>b>c is the same as a>b&b>c.
                    228: .sp
                    229: .ti -3
                    230: + -
                    231: .br
                    232: Add and subtract.
                    233: .sp
                    234: .ti -3
                    235: * /
                    236: .br
                    237: Multiply and divide.
                    238: .sp
                    239: .ti -3
                    240: ^
                    241: .br
                    242: Exponentiation.
                    243: .sp
                    244: .ti -6
                    245: The following is a list of builtin functions:
                    246: .sp
                    247: .ti -3
                    248: arg
                    249: .br
                    250: Arg(i) is the value of the i_th
                    251: actual parameter on the current level
                    252: of function call.
                    253: .sp
                    254: .ti -3
                    255: exp
                    256: .br
                    257: Exp(x) is the exponential function of x.
                    258: .sp
                    259: .ti -3
                    260: log
                    261: .br
                    262: Log(x) is the logarithm base e of x.
                    263: .sp
                    264: .ti -3
                    265: sin
                    266: .br
                    267: Sin(x) is the sine of x (radians).
                    268: .sp
                    269: .ti -3
                    270: cos
                    271: .br
                    272: Cos(x) is the cosine of x (radians).
                    273: .sp
                    274: .ti -3
                    275: atn
                    276: .br
                    277: Atn(x) is the arctangent of x.
                    278: .sp
                    279: .ti -3
                    280: rnd
                    281: .br
                    282: Rnd() is a uniformly distributed random
                    283: number between zero and one.
                    284: .sp
                    285: .ti -3
                    286: expr
                    287: .br
                    288: Expr() is the only form of program input.
                    289: A line is read from the input and
                    290: evaluated as an expression.
                    291: The resultant value is returned.
                    292: .sp
                    293: .ti -3
                    294: int
                    295: .br
                    296: Int(x) returns x truncated to an integer.
                    297: .in -6
                    298: .sp
                    299: .ti 0
                    300: FILES          /tmp/btm?       temporary
                    301: .sp
                    302: .ti 0
                    303: SEE ALSO       [1] DEC-11-AJPB-D
                    304: .sp
                    305: .ti 0
                    306: DIAGNOSTICS    Syntax
                    307: errors cause the incorrect line to be typed
                    308: with an underscore where the parse failed.
                    309: All other diagnostics are self explanatory.
                    310: .sp
                    311: .ti 0
                    312: BUGS           --

unix.superglobalmegacorp.com

This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.