1
# Copyright (C) 2007, The Perl Foundation.
5
proto postfix:<++> is precedence('x=') is lvalue(1) { ... }
6
proto postfix:<--> is equiv(postfix:<++>) is lvalue(1) { ... }
7
proto prefix:<++> is equiv(postfix:<++>) is lvalue(1) { ... }
8
proto prefix:<--> is equiv(postfix:<++>) is lvalue(1) { ... }
9
proto postfix:<i> is equiv(postfix:<++>) { ... }
12
proto infix:<**> is precedence('w=') is assoc('right') { ... }
15
proto prefix:<+> is precedence('v=') { ... }
16
proto prefix:<-> is equiv(prefix:<+>) { ... }
17
proto prefix:<~> is equiv(prefix:<+>) { ... }
18
proto prefix:<?> is equiv(prefix:<+>) { ... }
19
proto prefix:<!> is equiv(prefix:<+>) { ... }
20
proto prefix:<+^> is equiv(prefix:<+>)
23
proto prefix:<=> is equiv(prefix:<+>) { ... }
24
proto prefix:<^> is equiv(prefix:<+>) { ... }
25
proto prefix:<\> is equiv(prefix:<+>) { ... }
26
proto prefix:<|> is equiv(prefix:<+>) { ... }
28
## multiplicative operators
29
proto infix:<*> is precedence('u=') { ... }
30
proto infix:</> is equiv(infix:<*>) { ... }
31
proto infix:<%> is equiv(infix:<*>) { ... }
32
proto infix:<!%> is equiv(infix:<*>) { ... }
33
proto infix:<+&> is equiv(infix:<*>) { ... }
34
proto infix:<+^> is equiv(infix:<*>) { ... }
35
proto infix:«+<» is equiv(infix:<*>) { ... }
36
proto infix:«+>» is equiv(infix:<*>) { ... }
37
proto infix:<~&> is equiv(infix:<*>) { ... }
38
proto infix:«~<» is equiv(infix:<*>) { ... }
39
proto infix:«~>» is equiv(infix:<*>) { ... }
40
proto infix:<?&> is equiv(infix:<*>) { ... }
41
proto infix:<div> is equiv(infix:<*>) { ... }
42
proto infix:<mod> is equiv(infix:<*>) { ... }
45
proto infix:<+> is precedence('t=') { ... }
46
proto infix:<-> is equiv(infix:<+>) { ... }
47
proto infix:<+|> is equiv(infix:<+>) { ... }
48
proto infix:<+^> is equiv(infix:<+>) { ... }
49
proto infix:<~|> is equiv(infix:<+>) { ... }
50
proto infix:<~^> is equiv(infix:<+>) { ... }
51
proto infix:<?|> is equiv(infix:<+>) { ... }
52
proto infix:<?^> is equiv(infix:<+>) { ... }
55
proto infix:<x> is precedence('s=') { ... }
56
proto infix:<xx> is equiv(infix:<x>) { ... }
59
proto infix:<~> is precedence('r=') { ... }
62
proto infix:<&> is precedence('q=')
67
proto infix:<|> is precedence('p=')
70
proto infix:<^> is equiv(infix:<|>)
75
proto prefix:<abs> is precedence('o=') is subname('abs') { ... }
76
proto prefix:<HOW> is equiv(prefix:<abs>) is subname('HOW') { ... }
77
proto prefix:<WHAT> is equiv(prefix:<abs>) is subname('WHAT') { ... }
78
proto prefix:<pop> is equiv(prefix:<abs>) is subname('pop') { ... }
79
proto prefix:<shift> is equiv(prefix:<abs>) is subname('shift') { ... }
80
proto prefix:<defined> is equiv(prefix:<abs>) is subname('defined') { ... }
83
proto infix:<..> is precedence('n=') { ... }
84
proto infix:<..^> is equiv(infix:<..>) { ... }
85
proto infix:<^..> is equiv(infix:<..>) { ... }
86
proto infix:<^..^> is equiv(infix:<..>) { ... }
87
proto infix:«<=>» is equiv(infix:<..>) { ... }
88
proto infix:<cmp> is equiv(infix:<..>) { ... }
89
proto infix:<leg> is equiv(infix:<..>) { ... }
90
proto infix:<=:=> is equiv(infix:<..>) { ... }
91
proto infix:<!=:=> is equiv(infix:<..>) { ... }
92
proto infix:<does> is equiv(infix:<..>) { ... }
93
proto infix:<but> is equiv(infix:<..>) { ... }
96
proto infix:<==> is precedence('m=') is pasttype('chain') { ... }
97
proto infix:<!=> is equiv(infix:<==>) is pasttype('chain') { ... }
98
proto infix:<!==> is equiv(infix:<==>) is pasttype('chain') { ... }
99
proto infix:«<» is equiv(infix:<==>) is pasttype('chain') { ... }
100
proto infix:«<=» is equiv(infix:<==>) is pasttype('chain') { ... }
101
proto infix:«>» is equiv(infix:<==>) is pasttype('chain') { ... }
102
proto infix:«>=» is equiv(infix:<==>) is pasttype('chain') { ... }
103
proto infix:<eq> is equiv(infix:<==>) is pasttype('chain') { ... }
104
proto infix:<!eq> is equiv(infix:<==>) is pasttype('chain') { ... }
105
proto infix:<ne> is equiv(infix:<==>) is pasttype('chain') { ... }
106
proto infix:<lt> is equiv(infix:<==>) is pasttype('chain') { ... }
107
proto infix:<le> is equiv(infix:<==>) is pasttype('chain') { ... }
108
proto infix:<gt> is equiv(infix:<==>) is pasttype('chain') { ... }
109
proto infix:<ge> is equiv(infix:<==>) is pasttype('chain') { ... }
110
proto infix:<~~> is equiv(infix:<==>) is pasttype('chain') { ... }
111
proto infix:<!~~> is equiv(infix:<==>) is pasttype('chain') { ... }
112
proto infix:<===> is equiv(infix:<==>) is pasttype('chain') { ... }
113
proto infix:<!===> is equiv(infix:<==>) is pasttype('chain') { ... }
114
proto infix:<eqv> is equiv(infix:<==>) is pasttype('chain') { ... }
115
proto infix:<!eqv> is equiv(infix:<==>) is pasttype('chain') { ... }
118
proto infix:<&&> is precedence('l=')
123
proto infix:<||> is precedence('k=')
124
is pasttype('unless')
126
proto infix:<^^> is equiv(infix:<||>)
129
proto infix:<//> is equiv(infix:<||>)
130
is pasttype('def_or')
132
proto infix:<min> is equiv(infix:<||>)
135
proto infix:<max> is equiv(infix:<||>)
140
proto ternary:<?? !!> is precedence('j=') is pasttype('if') is assoc('right') { ... }
143
proto infix:<:=> is precedence('i=') is assoc('right') is pasttype('bind') { ... }
144
proto infix:<::=> is equiv(infix:<:=>) { ... }
145
proto infix:<.=> is equiv(infix:<:=>) { ... }
146
proto infix:«=>» is equiv(infix:<:=>) { ... }
147
proto infix:<//=> is equiv(infix:<:=>) is lvalue(1) { ... }
148
proto infix:<&&=> is equiv(infix:<:=>) { ... }
149
proto infix:<||=> is equiv(infix:<:=>) { ... }
152
proto prefix:<true> is precedence('h=') is subname('true') { ... }
153
proto prefix:<not> is equiv(prefix:<true>) is subname('not') { ... }
156
proto infix:<,> is precedence('g=')
160
proto infix:«p5=>» is equiv(infix:<,>) is subname('infix:,') { ... }
163
proto infix:<X> is precedence('f=')
166
proto infix:<Z> is equiv(infix:<X>) { ... }
167
proto infix:<...> is equiv(infix:<X>) { ... }
168
proto infix:<minmax> is equiv(infix:<X>) { ... }
169
proto infix:<X,X> is equiv(infix:<X>)
171
is subname('infix:X')
175
proto infix:<=> is precedence('e=')
179
proto prefix:<[,]> is precedence('e=') is subname('list') {...}
180
proto prefix:<[&]> is equiv(prefix:<[,]>) is subname('all') {...}
181
proto prefix:<[|]> is equiv(prefix:<[,]>) is subname('any') {...}
182
proto prefix:<[^]> is equiv(prefix:<[,]>) is subname('one') {...}
183
proto prefix:<[||]> is equiv(prefix:<[,]>) {...}
184
proto prefix:<[//]> is equiv(prefix:<[,]>) {...}
187
proto infix:<and> is precedence('d=')
190
proto infix:<andthen> is equiv(infix:<and>) { ... }
193
proto infix:<or> is precedence('c=')
194
is pasttype('unless')
196
proto infix:<xor> is equiv(infix:<or>)
199
proto infix:<orelse> is equiv(infix:<or>) { ... }
201
proto infix:«<==» is precedence('b=') { ... }
202
proto ifnix:«==>» is equiv(infix:«<==») { ... }
203
proto ifnix:«<<==» is equiv(infix:«<==») { ... }
204
proto ifnix:«==>>» is equiv(infix:«<==») { ... }