diff options
author | Perl 5 Porters <perl5-porters@africa.nicoh.com> | 1996-02-02 18:52:27 -0800 |
---|---|---|
committer | Larry Wall <lwall@sems.com> | 1996-02-02 18:52:27 -0800 |
commit | c07a80fdfe3926b5eb0585b674aa5d1f57b32ade (patch) | |
tree | 6d56135571eb9ea6635748469bdaf72ad481247a /opcode.pl | |
parent | 91b7def858c29dac014df40946a128c06b3aa2ed (diff) | |
download | perl-c07a80fdfe3926b5eb0585b674aa5d1f57b32ade.tar.gz |
perl5.002beta3
[editor's note: no patch file was found for this release, so no
fine-grained changes]
I can't find the password for our ftp server, so I had to drop it into
ftp://ftp.sems.com/pub/incoming/perl5.002b3.tar.gz, which is a drop
directory you can't ls.
The current plan is that Andy is gonna whack on this a little more, and
then release a gamma in a few days when he's happy with it. So don't get
carried away. This is now *late* beta.
In other words, have less than the appropriate amount of fun. :-)
Larry
Diffstat (limited to 'opcode.pl')
-rwxr-xr-x | opcode.pl | 38 |
1 files changed, 32 insertions, 6 deletions
@@ -9,9 +9,15 @@ while (<DATA>) { chop; next unless $_; next if /^#/; - ($key, $name, $check, $flags, $args) = split(/\t+/, $_, 5); + ($key, $desc, $check, $flags, $args) = split(/\t+/, $_, 5); + + warn qq[Description "$desc" duplicates $seen{$desc}\n] if $seen{$desc}; + die qq[Opcode "$key" duplicates $seen{$key}\n] if $seen{$key}; + $seen{$desc} = qq[description of opcode "$key"]; + $seen{$key} = qq[opcode "$key"]; + push(@ops, $key); - $name{$key} = $name; + $desc{$key} = $desc; $check{$key} = $check; $ckname{$check}++; $flags{$key} = $flags; @@ -36,7 +42,7 @@ print "\t", &tab(3,"OP_max"), "\n"; print "} opcode;\n"; print "\n#define MAXO ", scalar @ops, "\n\n"; -# Emit opnames. +# Emit op names and descriptions. print <<END; #ifndef DOINIT @@ -46,7 +52,24 @@ EXT char *op_name[] = { END for (@ops) { - print qq(\t"$name{$_}",\n); + print qq(\t"$_",\n); +} + +print <<END; +}; +#endif + +END + +print <<END; +#ifndef DOINIT +EXT char *op_desc[]; +#else +EXT char *op_desc[] = { +END + +for (@ops) { + print qq(\t"$desc{$_}",\n); } print <<END; @@ -176,6 +199,7 @@ const constant item ck_svconst s gvsv scalar variable ck_null ds gv glob value ck_null ds +gelem glob elem ck_null d S S padsv private variable ck_null ds padav private array ck_null d padhv private hash ck_null d @@ -186,11 +210,11 @@ pushre push regexp ck_null 0 # References and stuff. rv2gv ref-to-glob cast ck_rvconst ds -sv2len scalar value length ck_null ist rv2sv scalar deref ck_rvconst ds av2arylen array length ck_null is rv2cv subroutine deref ck_rvconst d anoncode anonymous subroutine ck_null 0 +prototype subroutine prototype ck_null s S refgen reference constructor ck_spair m L srefgen scalar ref constructor ck_null fs S ref reference-type operator ck_fun stu S? @@ -223,7 +247,7 @@ chomp safe chop ck_spair mts L schomp scalar safe chop ck_null stu S? defined defined operator ck_rfun isu S? undef undef operator ck_lfun s S? -study study ck_fun stu S? +study study ck_fun su S? pos match position ck_lfun stu S? preinc preincrement ck_lfun dIs S @@ -428,6 +452,7 @@ binmode binmode ck_fun s F tie tie ck_fun idms R S L untie untie ck_fun is R +tied tied ck_fun st R dbmopen dbmopen ck_fun is H S S dbmclose dbmclose ck_fun is H @@ -442,6 +467,7 @@ leavewrite write exit ck_null 0 prtf printf ck_listiob ims F? L print print ck_listiob ims F? L +sysopen sysopen ck_fun st F S S S? sysread sysread ck_fun imst F R S S? syswrite syswrite ck_fun imst F S S S? |