BISL Language Summary
Simon D. Levy
Computer Science Department
Brandeis University
Waltham, MA 02254
levy@cs.brandeis.edu
Reserved Words
The following words are reserved for use by the BISL language itself.
You cannot use these words to refer to identifiers:
back circ click dclick giff
image place rect roll sound
string text tog
Comments
# This is a BISL comment. It can begin anywhere, and ends at the newline.
Literals
number Type int
'characters' Type string
characters://characters Type URL
letters,numbers,\_,-,. Type filename
(System-dependent) Type font
PLAIN, BOLD, ITALIC Type style
white, black, lightGray, Type color
darkGray, red, green, blue,
yellow, magenta, cyan, pink,
orange
Statements
Tuples
Format
id < name (args)
Names/Args
circ(center_X, center_Y, radius [,placement_id])
giff(filename)
place(id, uppler_left_X, uppler_left_Y [,depth])
rect(upper_left_X, upper_left_Y, lower_right_X, lower_right_Y [,placement_id])
string(string, [font], [style], [size], [color])
Constraint nodes
Format
id = name(arg)
where arg is a circ, rect, or place tuple identifier
Names
click() dclick() roll()
Substantive nodes
Format
name(arg [,constraint])
where constraint is a Boolean expression over edge identifiers,
using & for AND, | for OR, ^ for XOR, and ~ for NOT. Precedence is NOT > AND > (X)OR;
parentheses may be used to override this order.
Names/Args
back(giff_id) image(place_id) sound(filename) text(string_id) URL(url)
Input-output nodes
Format
id = name(arg)
where arg is a constraint-node identifier
Names
tog()