added patch to generate PPDEF(pp_foo)
Ilya Zakharevich [Mon, 6 Jul 1998 20:43:54 +0000 (16:43 -0400)]
Message-Id: <199807070043.UAA28572@monk.mps.ohio-state.edu>
Subject: [PATCH 5.004_70] Autogenerate declarations for opcodes

p4raw-id: //depot/perl@1370

MANIFEST
opcode.pl
pp_proto.h [new file with mode: 0644]
proto.h

index 3873709..5f59a7f 100644 (file)
--- a/MANIFEST
+++ b/MANIFEST
@@ -724,6 +724,7 @@ pp.c                        Push/Pop code
 pp.h                   Push/Pop code defs
 pp_ctl.c               Push/Pop code for control flow
 pp_hot.c               Push/Pop code for heavily used opcodes
+pp_proto.h             C++ definitions for Push/Pop code
 pp_sys.c               Push/Pop code for system interaction
 proto.h                        Prototypes
 qnx/ar                 QNX implementation of "ar" utility
index 5891139..8fa6e29 100755 (executable)
--- a/opcode.pl
+++ b/opcode.pl
@@ -207,6 +207,15 @@ print <<END;
 #endif
 END
 
+close OC or die "Error closing opcode.h: $!";
+
+open PP, '>pp_proto.h' or die "Error creating pp_proto.h: $!";
+for (@ops) {
+    print PP "PPDEF(pp_$_)\n";
+}
+
+close PP or die "Error closing pp_proto.h: $!";
+
 ###########################################################################
 sub tab {
     local($l, $t) = @_;
diff --git a/pp_proto.h b/pp_proto.h
new file mode 100644 (file)
index 0000000..458adc7
--- /dev/null
@@ -0,0 +1,346 @@
+PPDEF(pp_null)
+PPDEF(pp_stub)
+PPDEF(pp_scalar)
+PPDEF(pp_pushmark)
+PPDEF(pp_wantarray)
+PPDEF(pp_const)
+PPDEF(pp_gvsv)
+PPDEF(pp_gv)
+PPDEF(pp_gelem)
+PPDEF(pp_padsv)
+PPDEF(pp_padav)
+PPDEF(pp_padhv)
+PPDEF(pp_padany)
+PPDEF(pp_pushre)
+PPDEF(pp_rv2gv)
+PPDEF(pp_rv2sv)
+PPDEF(pp_av2arylen)
+PPDEF(pp_rv2cv)
+PPDEF(pp_anoncode)
+PPDEF(pp_prototype)
+PPDEF(pp_refgen)
+PPDEF(pp_srefgen)
+PPDEF(pp_ref)
+PPDEF(pp_bless)
+PPDEF(pp_backtick)
+PPDEF(pp_glob)
+PPDEF(pp_readline)
+PPDEF(pp_rcatline)
+PPDEF(pp_regcmaybe)
+PPDEF(pp_regcomp)
+PPDEF(pp_match)
+PPDEF(pp_subst)
+PPDEF(pp_substcont)
+PPDEF(pp_trans)
+PPDEF(pp_sassign)
+PPDEF(pp_aassign)
+PPDEF(pp_chop)
+PPDEF(pp_schop)
+PPDEF(pp_chomp)
+PPDEF(pp_schomp)
+PPDEF(pp_defined)
+PPDEF(pp_undef)
+PPDEF(pp_study)
+PPDEF(pp_pos)
+PPDEF(pp_preinc)
+PPDEF(pp_i_preinc)
+PPDEF(pp_predec)
+PPDEF(pp_i_predec)
+PPDEF(pp_postinc)
+PPDEF(pp_i_postinc)
+PPDEF(pp_postdec)
+PPDEF(pp_i_postdec)
+PPDEF(pp_pow)
+PPDEF(pp_multiply)
+PPDEF(pp_i_multiply)
+PPDEF(pp_divide)
+PPDEF(pp_i_divide)
+PPDEF(pp_modulo)
+PPDEF(pp_i_modulo)
+PPDEF(pp_repeat)
+PPDEF(pp_add)
+PPDEF(pp_i_add)
+PPDEF(pp_subtract)
+PPDEF(pp_i_subtract)
+PPDEF(pp_concat)
+PPDEF(pp_stringify)
+PPDEF(pp_left_shift)
+PPDEF(pp_right_shift)
+PPDEF(pp_lt)
+PPDEF(pp_i_lt)
+PPDEF(pp_gt)
+PPDEF(pp_i_gt)
+PPDEF(pp_le)
+PPDEF(pp_i_le)
+PPDEF(pp_ge)
+PPDEF(pp_i_ge)
+PPDEF(pp_eq)
+PPDEF(pp_i_eq)
+PPDEF(pp_ne)
+PPDEF(pp_i_ne)
+PPDEF(pp_ncmp)
+PPDEF(pp_i_ncmp)
+PPDEF(pp_slt)
+PPDEF(pp_sgt)
+PPDEF(pp_sle)
+PPDEF(pp_sge)
+PPDEF(pp_seq)
+PPDEF(pp_sne)
+PPDEF(pp_scmp)
+PPDEF(pp_bit_and)
+PPDEF(pp_bit_xor)
+PPDEF(pp_bit_or)
+PPDEF(pp_negate)
+PPDEF(pp_i_negate)
+PPDEF(pp_not)
+PPDEF(pp_complement)
+PPDEF(pp_atan2)
+PPDEF(pp_sin)
+PPDEF(pp_cos)
+PPDEF(pp_rand)
+PPDEF(pp_srand)
+PPDEF(pp_exp)
+PPDEF(pp_log)
+PPDEF(pp_sqrt)
+PPDEF(pp_int)
+PPDEF(pp_hex)
+PPDEF(pp_oct)
+PPDEF(pp_abs)
+PPDEF(pp_length)
+PPDEF(pp_substr)
+PPDEF(pp_vec)
+PPDEF(pp_index)
+PPDEF(pp_rindex)
+PPDEF(pp_sprintf)
+PPDEF(pp_formline)
+PPDEF(pp_ord)
+PPDEF(pp_chr)
+PPDEF(pp_crypt)
+PPDEF(pp_ucfirst)
+PPDEF(pp_lcfirst)
+PPDEF(pp_uc)
+PPDEF(pp_lc)
+PPDEF(pp_quotemeta)
+PPDEF(pp_rv2av)
+PPDEF(pp_aelemfast)
+PPDEF(pp_aelem)
+PPDEF(pp_aslice)
+PPDEF(pp_each)
+PPDEF(pp_values)
+PPDEF(pp_keys)
+PPDEF(pp_delete)
+PPDEF(pp_exists)
+PPDEF(pp_rv2hv)
+PPDEF(pp_helem)
+PPDEF(pp_hslice)
+PPDEF(pp_unpack)
+PPDEF(pp_pack)
+PPDEF(pp_split)
+PPDEF(pp_join)
+PPDEF(pp_list)
+PPDEF(pp_lslice)
+PPDEF(pp_anonlist)
+PPDEF(pp_anonhash)
+PPDEF(pp_splice)
+PPDEF(pp_push)
+PPDEF(pp_pop)
+PPDEF(pp_shift)
+PPDEF(pp_unshift)
+PPDEF(pp_sort)
+PPDEF(pp_reverse)
+PPDEF(pp_grepstart)
+PPDEF(pp_grepwhile)
+PPDEF(pp_mapstart)
+PPDEF(pp_mapwhile)
+PPDEF(pp_range)
+PPDEF(pp_flip)
+PPDEF(pp_flop)
+PPDEF(pp_and)
+PPDEF(pp_or)
+PPDEF(pp_xor)
+PPDEF(pp_cond_expr)
+PPDEF(pp_andassign)
+PPDEF(pp_orassign)
+PPDEF(pp_method)
+PPDEF(pp_entersub)
+PPDEF(pp_leavesub)
+PPDEF(pp_caller)
+PPDEF(pp_warn)
+PPDEF(pp_die)
+PPDEF(pp_reset)
+PPDEF(pp_lineseq)
+PPDEF(pp_nextstate)
+PPDEF(pp_dbstate)
+PPDEF(pp_unstack)
+PPDEF(pp_enter)
+PPDEF(pp_leave)
+PPDEF(pp_scope)
+PPDEF(pp_enteriter)
+PPDEF(pp_iter)
+PPDEF(pp_enterloop)
+PPDEF(pp_leaveloop)
+PPDEF(pp_return)
+PPDEF(pp_last)
+PPDEF(pp_next)
+PPDEF(pp_redo)
+PPDEF(pp_dump)
+PPDEF(pp_goto)
+PPDEF(pp_exit)
+PPDEF(pp_open)
+PPDEF(pp_close)
+PPDEF(pp_pipe_op)
+PPDEF(pp_fileno)
+PPDEF(pp_umask)
+PPDEF(pp_binmode)
+PPDEF(pp_tie)
+PPDEF(pp_untie)
+PPDEF(pp_tied)
+PPDEF(pp_dbmopen)
+PPDEF(pp_dbmclose)
+PPDEF(pp_sselect)
+PPDEF(pp_select)
+PPDEF(pp_getc)
+PPDEF(pp_read)
+PPDEF(pp_enterwrite)
+PPDEF(pp_leavewrite)
+PPDEF(pp_prtf)
+PPDEF(pp_print)
+PPDEF(pp_sysopen)
+PPDEF(pp_sysseek)
+PPDEF(pp_sysread)
+PPDEF(pp_syswrite)
+PPDEF(pp_send)
+PPDEF(pp_recv)
+PPDEF(pp_eof)
+PPDEF(pp_tell)
+PPDEF(pp_seek)
+PPDEF(pp_truncate)
+PPDEF(pp_fcntl)
+PPDEF(pp_ioctl)
+PPDEF(pp_flock)
+PPDEF(pp_socket)
+PPDEF(pp_sockpair)
+PPDEF(pp_bind)
+PPDEF(pp_connect)
+PPDEF(pp_listen)
+PPDEF(pp_accept)
+PPDEF(pp_shutdown)
+PPDEF(pp_gsockopt)
+PPDEF(pp_ssockopt)
+PPDEF(pp_getsockname)
+PPDEF(pp_getpeername)
+PPDEF(pp_lstat)
+PPDEF(pp_stat)
+PPDEF(pp_ftrread)
+PPDEF(pp_ftrwrite)
+PPDEF(pp_ftrexec)
+PPDEF(pp_fteread)
+PPDEF(pp_ftewrite)
+PPDEF(pp_fteexec)
+PPDEF(pp_ftis)
+PPDEF(pp_fteowned)
+PPDEF(pp_ftrowned)
+PPDEF(pp_ftzero)
+PPDEF(pp_ftsize)
+PPDEF(pp_ftmtime)
+PPDEF(pp_ftatime)
+PPDEF(pp_ftctime)
+PPDEF(pp_ftsock)
+PPDEF(pp_ftchr)
+PPDEF(pp_ftblk)
+PPDEF(pp_ftfile)
+PPDEF(pp_ftdir)
+PPDEF(pp_ftpipe)
+PPDEF(pp_ftlink)
+PPDEF(pp_ftsuid)
+PPDEF(pp_ftsgid)
+PPDEF(pp_ftsvtx)
+PPDEF(pp_fttty)
+PPDEF(pp_fttext)
+PPDEF(pp_ftbinary)
+PPDEF(pp_chdir)
+PPDEF(pp_chown)
+PPDEF(pp_chroot)
+PPDEF(pp_unlink)
+PPDEF(pp_chmod)
+PPDEF(pp_utime)
+PPDEF(pp_rename)
+PPDEF(pp_link)
+PPDEF(pp_symlink)
+PPDEF(pp_readlink)
+PPDEF(pp_mkdir)
+PPDEF(pp_rmdir)
+PPDEF(pp_open_dir)
+PPDEF(pp_readdir)
+PPDEF(pp_telldir)
+PPDEF(pp_seekdir)
+PPDEF(pp_rewinddir)
+PPDEF(pp_closedir)
+PPDEF(pp_fork)
+PPDEF(pp_wait)
+PPDEF(pp_waitpid)
+PPDEF(pp_system)
+PPDEF(pp_exec)
+PPDEF(pp_kill)
+PPDEF(pp_getppid)
+PPDEF(pp_getpgrp)
+PPDEF(pp_setpgrp)
+PPDEF(pp_getpriority)
+PPDEF(pp_setpriority)
+PPDEF(pp_time)
+PPDEF(pp_tms)
+PPDEF(pp_localtime)
+PPDEF(pp_gmtime)
+PPDEF(pp_alarm)
+PPDEF(pp_sleep)
+PPDEF(pp_shmget)
+PPDEF(pp_shmctl)
+PPDEF(pp_shmread)
+PPDEF(pp_shmwrite)
+PPDEF(pp_msgget)
+PPDEF(pp_msgctl)
+PPDEF(pp_msgsnd)
+PPDEF(pp_msgrcv)
+PPDEF(pp_semget)
+PPDEF(pp_semctl)
+PPDEF(pp_semop)
+PPDEF(pp_require)
+PPDEF(pp_dofile)
+PPDEF(pp_entereval)
+PPDEF(pp_leaveeval)
+PPDEF(pp_entertry)
+PPDEF(pp_leavetry)
+PPDEF(pp_ghbyname)
+PPDEF(pp_ghbyaddr)
+PPDEF(pp_ghostent)
+PPDEF(pp_gnbyname)
+PPDEF(pp_gnbyaddr)
+PPDEF(pp_gnetent)
+PPDEF(pp_gpbyname)
+PPDEF(pp_gpbynumber)
+PPDEF(pp_gprotoent)
+PPDEF(pp_gsbyname)
+PPDEF(pp_gsbyport)
+PPDEF(pp_gservent)
+PPDEF(pp_shostent)
+PPDEF(pp_snetent)
+PPDEF(pp_sprotoent)
+PPDEF(pp_sservent)
+PPDEF(pp_ehostent)
+PPDEF(pp_enetent)
+PPDEF(pp_eprotoent)
+PPDEF(pp_eservent)
+PPDEF(pp_gpwnam)
+PPDEF(pp_gpwuid)
+PPDEF(pp_gpwent)
+PPDEF(pp_spwent)
+PPDEF(pp_epwent)
+PPDEF(pp_ggrnam)
+PPDEF(pp_ggrgid)
+PPDEF(pp_ggrent)
+PPDEF(pp_sgrent)
+PPDEF(pp_egrent)
+PPDEF(pp_getlogin)
+PPDEF(pp_syscall)
+PPDEF(pp_lock)
+PPDEF(pp_threadsv)
diff --git a/proto.h b/proto.h
index a74dc60..34d84cf 100644 (file)
--- a/proto.h
+++ b/proto.h
@@ -828,351 +828,7 @@ OP *new_logop _((I32 type, I32 flags, OP **firstp, OP **otherp));
 #define PPDEF(s) OP* CPerlObj::s _((ARGSproto));
 public:
 
-PPDEF(pp_aassign)
-PPDEF(pp_abs)
-PPDEF(pp_accept)
-PPDEF(pp_add)
-PPDEF(pp_aelem)
-PPDEF(pp_aelemfast)
-PPDEF(pp_alarm)
-PPDEF(pp_and)
-PPDEF(pp_andassign)
-PPDEF(pp_anoncode)
-PPDEF(pp_anonhash)
-PPDEF(pp_anonlist)
-PPDEF(pp_aslice)
-PPDEF(pp_atan2)
-PPDEF(pp_av2arylen)
-PPDEF(pp_backtick)
-PPDEF(pp_bind)
-PPDEF(pp_binmode)
-PPDEF(pp_bit_and)
-PPDEF(pp_bit_or)
-PPDEF(pp_bit_xor)
-PPDEF(pp_bless)
-PPDEF(pp_caller)
-PPDEF(pp_chdir)
-PPDEF(pp_chmod)
-PPDEF(pp_chomp)
-PPDEF(pp_chop)
-PPDEF(pp_chown)
-PPDEF(pp_chr)
-PPDEF(pp_chroot)
-PPDEF(pp_close)
-PPDEF(pp_closedir)
-PPDEF(pp_complement)
-PPDEF(pp_concat)
-PPDEF(pp_cond_expr)
-PPDEF(pp_connect)
-PPDEF(pp_const)
-PPDEF(pp_cos)
-PPDEF(pp_crypt)
-PPDEF(pp_cswitch)
-PPDEF(pp_dbmclose)
-PPDEF(pp_dbmopen)
-PPDEF(pp_dbstate)
-PPDEF(pp_defined)
-PPDEF(pp_delete)
-PPDEF(pp_die)
-PPDEF(pp_divide)
-PPDEF(pp_dofile)
-PPDEF(pp_dump)
-PPDEF(pp_each)
-PPDEF(pp_egrent)
-PPDEF(pp_ehostent)
-PPDEF(pp_enetent)
-PPDEF(pp_enter)
-PPDEF(pp_entereval)
-PPDEF(pp_enteriter)
-PPDEF(pp_enterloop)
-PPDEF(pp_entersub)
-PPDEF(pp_entertry)
-PPDEF(pp_enterwrite)
-PPDEF(pp_eof)
-PPDEF(pp_eprotoent)
-PPDEF(pp_epwent)
-PPDEF(pp_eq)
-PPDEF(pp_eservent)
-PPDEF(pp_exec)
-PPDEF(pp_exists)
-PPDEF(pp_exit)
-PPDEF(pp_exp)
-PPDEF(pp_fcntl)
-PPDEF(pp_fileno)
-PPDEF(pp_flip)
-PPDEF(pp_flock)
-PPDEF(pp_flop)
-PPDEF(pp_fork)
-PPDEF(pp_formline)
-PPDEF(pp_ftatime)
-PPDEF(pp_ftbinary)
-PPDEF(pp_ftblk)
-PPDEF(pp_ftchr)
-PPDEF(pp_ftctime)
-PPDEF(pp_ftdir)
-PPDEF(pp_fteexec)
-PPDEF(pp_fteowned)
-PPDEF(pp_fteread)
-PPDEF(pp_ftewrite)
-PPDEF(pp_ftfile)
-PPDEF(pp_ftis)
-PPDEF(pp_ftlink)
-PPDEF(pp_ftmtime)
-PPDEF(pp_ftpipe)
-PPDEF(pp_ftrexec)
-PPDEF(pp_ftrowned)
-PPDEF(pp_ftrread)
-PPDEF(pp_ftrwrite)
-PPDEF(pp_ftsgid)
-PPDEF(pp_ftsize)
-PPDEF(pp_ftsock)
-PPDEF(pp_ftsuid)
-PPDEF(pp_ftsvtx)
-PPDEF(pp_fttext)
-PPDEF(pp_fttty)
-PPDEF(pp_ftzero)
-PPDEF(pp_ge)
-PPDEF(pp_gelem)
-PPDEF(pp_getc)
-PPDEF(pp_getlogin)
-PPDEF(pp_getpeername)
-PPDEF(pp_getpgrp)
-PPDEF(pp_getppid)
-PPDEF(pp_getpriority)
-PPDEF(pp_getsockname)
-PPDEF(pp_ggrent)
-PPDEF(pp_ggrgid)
-PPDEF(pp_ggrnam)
-PPDEF(pp_ghbyaddr)
-PPDEF(pp_ghbyname)
-PPDEF(pp_ghostent)
-PPDEF(pp_glob)
-PPDEF(pp_gmtime)
-PPDEF(pp_gnbyaddr)
-PPDEF(pp_gnbyname)
-PPDEF(pp_gnetent)
-PPDEF(pp_goto)
-PPDEF(pp_gpbyname)
-PPDEF(pp_gpbynumber)
-PPDEF(pp_gprotoent)
-PPDEF(pp_gpwent)
-PPDEF(pp_gpwnam)
-PPDEF(pp_gpwuid)
-PPDEF(pp_grepstart)
-PPDEF(pp_grepwhile)
-PPDEF(pp_gsbyname)
-PPDEF(pp_gsbyport)
-PPDEF(pp_gservent)
-PPDEF(pp_gsockopt)
-PPDEF(pp_gt)
-PPDEF(pp_gv)
-PPDEF(pp_gvsv)
-PPDEF(pp_helem)
-PPDEF(pp_hex)
-PPDEF(pp_hslice)
-PPDEF(pp_i_add)
-PPDEF(pp_i_divide)
-PPDEF(pp_i_eq)
-PPDEF(pp_i_ge)
-PPDEF(pp_i_gt)
-PPDEF(pp_i_le)
-PPDEF(pp_i_lt)
-PPDEF(pp_i_modulo)
-PPDEF(pp_i_multiply)
-PPDEF(pp_i_ncmp)
-PPDEF(pp_i_ne)
-PPDEF(pp_i_negate)
-PPDEF(pp_i_subtract)
-PPDEF(pp_index)
-PPDEF(pp_indread)
-PPDEF(pp_int)
-PPDEF(pp_ioctl)
-PPDEF(pp_iter)
-PPDEF(pp_join)
-PPDEF(pp_keys)
-PPDEF(pp_kill)
-PPDEF(pp_last)
-PPDEF(pp_lc)
-PPDEF(pp_lcfirst)
-PPDEF(pp_le)
-PPDEF(pp_leave)
-PPDEF(pp_leaveeval)
-PPDEF(pp_leaveloop)
-PPDEF(pp_leavesub)
-PPDEF(pp_leavetry)
-PPDEF(pp_leavewrite)
-PPDEF(pp_left_shift)
-PPDEF(pp_length)
-PPDEF(pp_lineseq)
-PPDEF(pp_link)
-PPDEF(pp_list)
-PPDEF(pp_listen)
-PPDEF(pp_localtime)
-PPDEF(pp_lock)
-PPDEF(pp_log)
-PPDEF(pp_lslice)
-PPDEF(pp_lstat)
-PPDEF(pp_lt)
-PPDEF(pp_mapstart)
-PPDEF(pp_mapwhile)
-PPDEF(pp_match)
-PPDEF(pp_method)
-PPDEF(pp_mkdir)
-PPDEF(pp_modulo)
-PPDEF(pp_msgctl)
-PPDEF(pp_msgget)
-PPDEF(pp_msgrcv)
-PPDEF(pp_msgsnd)
-PPDEF(pp_multiply)
-PPDEF(pp_ncmp)
-PPDEF(pp_ne)
-PPDEF(pp_negate)
-PPDEF(pp_next)
-PPDEF(pp_nextstate)
-PPDEF(pp_not)
-PPDEF(pp_nswitch)
-PPDEF(pp_null)
-PPDEF(pp_oct)
-PPDEF(pp_open)
-PPDEF(pp_open_dir)
-PPDEF(pp_or)
-PPDEF(pp_orassign)
-PPDEF(pp_ord)
-PPDEF(pp_pack)
-PPDEF(pp_padany)
-PPDEF(pp_padav)
-PPDEF(pp_padhv)
-PPDEF(pp_padsv)
-PPDEF(pp_pipe_op)
-PPDEF(pp_pop)
-PPDEF(pp_pos)
-PPDEF(pp_postdec)
-PPDEF(pp_postinc)
-PPDEF(pp_pow)
-PPDEF(pp_predec)
-PPDEF(pp_preinc)
-PPDEF(pp_print)
-PPDEF(pp_prototype)
-PPDEF(pp_prtf)
-PPDEF(pp_push)
-PPDEF(pp_pushmark)
-PPDEF(pp_pushre)
-PPDEF(pp_quotemeta)
-PPDEF(pp_rand)
-PPDEF(pp_range)
-PPDEF(pp_rcatline)
-PPDEF(pp_read)
-PPDEF(pp_readdir)
-PPDEF(pp_readline)
-PPDEF(pp_readlink)
-PPDEF(pp_recv)
-PPDEF(pp_redo)
-PPDEF(pp_ref)
-PPDEF(pp_refgen)
-PPDEF(pp_regcmaybe)
-PPDEF(pp_regcomp)
-PPDEF(pp_rename)
-PPDEF(pp_repeat)
-PPDEF(pp_require)
-PPDEF(pp_reset)
-PPDEF(pp_return)
-PPDEF(pp_reverse)
-PPDEF(pp_rewinddir)
-PPDEF(pp_right_shift)
-PPDEF(pp_rindex)
-PPDEF(pp_rmdir)
-PPDEF(pp_rv2av)
-PPDEF(pp_rv2cv)
-PPDEF(pp_rv2gv)
-PPDEF(pp_rv2hv)
-PPDEF(pp_rv2sv)
-PPDEF(pp_sassign)
-PPDEF(pp_scalar)
-PPDEF(pp_schomp)
-PPDEF(pp_schop)
-PPDEF(pp_scmp)
-PPDEF(pp_scope)
-PPDEF(pp_seek)
-PPDEF(pp_seekdir)
-PPDEF(pp_select)
-PPDEF(pp_semctl)
-PPDEF(pp_semget)
-PPDEF(pp_semop)
-PPDEF(pp_send)
-PPDEF(pp_seq)
-PPDEF(pp_setpgrp)
-PPDEF(pp_setpriority)
-PPDEF(pp_sge)
-PPDEF(pp_sgrent)
-PPDEF(pp_sgt)
-PPDEF(pp_shift)
-PPDEF(pp_shmctl)
-PPDEF(pp_shmget)
-PPDEF(pp_shmread)
-PPDEF(pp_shmwrite)
-PPDEF(pp_shostent)
-PPDEF(pp_shutdown)
-PPDEF(pp_sin)
-PPDEF(pp_sle)
-PPDEF(pp_sleep)
-PPDEF(pp_slt)
-PPDEF(pp_sne)
-PPDEF(pp_snetent)
-PPDEF(pp_socket)
-PPDEF(pp_sockpair)
-PPDEF(pp_sort)
-PPDEF(pp_splice)
-PPDEF(pp_split)
-PPDEF(pp_sprintf)
-PPDEF(pp_sprotoent)
-PPDEF(pp_spwent)
-PPDEF(pp_sqrt)
-PPDEF(pp_srand)
-PPDEF(pp_srefgen)
-PPDEF(pp_sselect)
-PPDEF(pp_sservent)
-PPDEF(pp_ssockopt)
-PPDEF(pp_stat)
-PPDEF(pp_stringify)
-PPDEF(pp_stub)
-PPDEF(pp_study)
-PPDEF(pp_subst)
-PPDEF(pp_substcont)
-PPDEF(pp_substr)
-PPDEF(pp_subtract)
-PPDEF(pp_symlink)
-PPDEF(pp_syscall)
-PPDEF(pp_sysopen)
-PPDEF(pp_sysread)
-PPDEF(pp_sysseek)
-PPDEF(pp_system)
-PPDEF(pp_syswrite)
-PPDEF(pp_tell)
-PPDEF(pp_telldir)
-PPDEF(pp_threadsv)
-PPDEF(pp_tie)
-PPDEF(pp_tied)
-PPDEF(pp_time)
-PPDEF(pp_tms)
-PPDEF(pp_trans)
-PPDEF(pp_truncate)
-PPDEF(pp_uc)
-PPDEF(pp_ucfirst)
-PPDEF(pp_umask)
-PPDEF(pp_undef)
-PPDEF(pp_unlink)
-PPDEF(pp_unpack)
-PPDEF(pp_unshift)
-PPDEF(pp_unstack)
-PPDEF(pp_untie)
-PPDEF(pp_utime)
-PPDEF(pp_values)
-PPDEF(pp_vec)
-PPDEF(pp_wait)
-PPDEF(pp_waitpid)
-PPDEF(pp_wantarray)
-PPDEF(pp_warn)
-PPDEF(pp_xor)
+#include "pp_proto.h"
 
 OP * ck_ftst _((OP *o));
 OP *ck_anoncode _((OP *o));