'1', 1, # unop
'2', 2, # binop
'|', 3, # logop
- '?', 4, # condop
- '@', 5, # listop
- '/', 6, # pmop
- '$', 7, # svop
- '*', 8, # gvop
- '"', 9, # pvop_or_svop
- '{', 10, # loop
- ';', 11, # cop
- '%', 12, # baseop_or_unop
- '-', 13, # filestatop
- '}', 14, # loopexop
+ '@', 4, # listop
+ '/', 5, # pmop
+ '$', 6, # svop
+ '*', 7, # gvop
+ '"', 8, # pvop_or_svop
+ '{', 9, # loop
+ ';', 10, # cop
+ '%', 11, # baseop_or_unop
+ '-', 12, # filestatop
+ '}', 13, # loopexop
);
for (@ops) {
__END__
+# New ops always go at the very end
+
# Nothing.
null null operation ck_null 0
# Hashes.
-each each ck_fun t% H
+each each ck_fun % H
values values ck_fun t% H
keys keys ck_fun t% H
delete delete ck_delete % S
# Range stuff.
-range flipflop ck_null ? S S
+range flipflop ck_null | S S
flip range (or flip) ck_null 1 S S
flop range (or flop) ck_null 1
and logical and ck_null |
or logical or ck_null |
-xor logical xor ck_null fs| S S
-cond_expr conditional expression ck_null d?
+xor logical xor ck_null fs2 S S
+cond_expr conditional expression ck_null d|
andassign logical and assignment ck_null s|
orassign logical or assignment ck_null s|
-method method lookup ck_null d1
+method method lookup ck_method d1
entersub subroutine entry ck_subr dmt1 L
leavesub subroutine exit ck_null 1
caller caller ck_fun t% S?
dump dump ck_null ds}
goto goto ck_null ds}
exit exit ck_fun ds% S?
+# continued below
#nswitch numeric switch ck_null d
#cswitch character switch ck_null d
# I/O.
-open open ck_fun ist@ F S?
+open open ck_fun ist@ F S? S?
close close ck_fun is% F?
pipe_op pipe ck_fun is@ F F
# For multi-threading
lock lock ck_rfun s% S
threadsv per-thread variable ck_null ds0
+
+# Control (contd.)
+setstate set statement info ck_null s;
+method_named method with known name ck_null d$