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()