1$Id: snobol4op.1.pea,v 1.2 2020-02-09 15:53:45 phil Exp $
2=pea
3=sect NAME
4snobol4op \- SNOBOL4 operators
5
6=sect DESCRIPTION
7All SNOBOL4 operators can be redefined with B<OPSYN()>.
8These are the default assignments.
9
10The following operator character sequences are permitted and represent
11a cross between PDP-10 Macro SNOBOL4, SITBOL and Catspaw SPITBOL usage:
12
13=subsect Binary Operators
14List of Binary Operators, in decreasing order of precedence.
15When operators of equal precedence are adjacent, associativity
16determines order of evaluation.
17
18SPITBOL and BLOCKS extensions control operator definitions
19are orthogonal and can be controlled separately.
20
21=table 1i 3i 4i
22=row Char	Defn.	Assoc.	Enabled
23=row = _	assignment	RIGHT	w/ SPITBOL
24=row ?	pattern match	LEFT	w/ SPITBOL
25=row &	definable	LEFT
26=row |	alternation	LEFT
27=row #	normal concat	LEFT	w/ BLOCKS
28=row %	vertical concat	LEFT	w/ BLOCKS
29=row sp	concatenation	LEFT
30=row @	definable	LEFT
31=row - +	subtract, add	LEFT
32=row #	definable	LEFT	w/o BLOCKS
33=row *	multiplication	LEFT
34=row %	definable	LEFT	w/o BLOCKS
35=row ?	definable	LEFT	w/o SPITBOL
36=row /	division	LEFT
37=row ^ **	exponentiation	RIGHT
38=row $ .	match naming	LEFT
39=row ~	definable	RIGHT
40=etable
41=cut
42
43=subsect Unary Operators
44=table 1i
45=row Char	Defn.
46=row \e	negation
47=row ?	interrogation
48=row $	indirect reference
49=row .	I<none>
50=row !	I<none>
51=row %	I<none>
52=row *	unevaluated expression
53=row /	I<none>
54=row #	I<none>
55=row +	positive
56=row -	negative
57=row @	cursor position assignment
58=row |	I<none>
59=row &amp;	keyword
60=etable
61
62=sect SEE ALSO
63B<snobol4>(1)
64