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 & keyword 60=etable 61 62=sect SEE ALSO 63B<snobol4>(1) 64