X-Git-Url: https://perl5.git.perl.org/perl5.git/blobdiff_plain/b415ca2385b0ff1e5d8cb27b11b56a147b0f41e1..0c257aa06713d2f9a6bb575e5befb3618c55a526:/opcode.pl diff --git a/opcode.pl b/opcode.pl index ab8f31e..854996d 100755 --- a/opcode.pl +++ b/opcode.pl @@ -689,6 +689,8 @@ i_negate integer negation (-) ck_null ifsT1 S not not ck_null ifs1 S complement 1's complement (~) ck_bitop fst1 S +smartmatch smart match ck_smartmatch s2 + # High falutin' math. atan2 atan2 ck_fun fsT@ S S @@ -784,9 +786,11 @@ flop range (or flop) ck_null 1 and logical and (&&) ck_null | or logical or (||) ck_null | xor logical xor ck_null fs2 S S +dor defined or (//) ck_null | cond_expr conditional expression ck_null d| andassign logical and assignment (&&=) ck_null s| orassign logical or assignment (||=) ck_null s| +dorassign defined or assignment (//=) ck_null s| method method lookup ck_method d1 entersub subroutine entry ck_subr dmt1 L @@ -815,10 +819,15 @@ redo redo ck_null ds} dump dump ck_null ds} goto goto ck_null ds} exit exit ck_exit ds% S? -# continued below +setstate set statement info ck_null s; +method_named method with known name ck_null d$ -#nswitch numeric switch ck_null d -#cswitch character switch ck_null d +entergiven given() ck_null d| +leavegiven leave given block ck_null 1 +enterwhen when() ck_null d| +leavewhen leave when block ck_null 1 +break break ck_null 0 +continue continue ck_null 0 # I/O. @@ -846,6 +855,7 @@ leavewrite write exit ck_null 1 prtf printf ck_listiob ims@ F? L print print ck_listiob ims@ F? L +say say ck_listiob ims@ F? L sysopen sysopen ck_fun s@ F S S S? sysseek sysseek ck_fun s@ F S S @@ -1037,21 +1047,8 @@ syscall syscall ck_fun imst@ S L # For multi-threading lock lock ck_rfun s% R -# Control (contd.) -setstate set statement info ck_null s; -method_named method with known name ck_null d$ - -dor defined or (//) ck_null | -dorassign defined or assignment (//=) ck_null s| +# For state support -entergiven given() ck_null d| -leavegiven leave given block ck_null 1 -enterwhen when() ck_null d| -leavewhen leave when block ck_null 1 -break break ck_null 0 -continue continue ck_null 0 -smartmatch smart match ck_smartmatch s2 - -say say ck_listiob ims@ F? L +once once ck_null | custom unknown custom operator ck_null 0