123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358 |
- Notes on porting the perl runtime PP engine.
- Importance: 1 = who cares?, 10 = vital
- Difficulty: 1 = trivial, 10 = very difficult. Level assumes a
- reasonable implementation of the SV and OP API already ported.
- OP Import Diff Comments
- null 10 1
- stub 10 1
- scalar 10 1
- pushmark 10 1 PUSHMARK
- wantarray 7 3 cxstack, dopoptosub
- const 10 1
- gvsv 10 1 save_scalar
- gv 10 1
- gelem 3 3
- padsv 10 2 SAVECLEARSV, provide_ref
- padav 10 2
- padhv 10 2
- padany 1 1
- pushre 7 3 pushes an op. Blech.
- rv2gv 6 5
- rv2sv 10 4
- av2arylen 7 3 sv_magic
- rv2cv 8 5 sv_2cv
- anoncode 7 6 cv_clone
- prototype 4 4 sv_2cv
- refgen 8 3
- srefgen 8 2
- ref 8 3
- bless 7 3
- backtick 5 4
- glob 5 2 do_readline
- readline 8 2 do_readline
- rcatline 8 2
- regcmaybe 8 1
- regcreset 8 1
- regcomp 8 9 pregcomp
- match 8 10
- qr 8 1
- subst 8 10
- substcont 8 7
- trans 7 4 do_trans
- sassign 10 3 mg_find, SvSETMAGIC
- aassign 10 5
- chop 8 3 do_chop
- schop 8 3 do_chop
- chomp 8 3 do_chomp
- schomp 8 3 do_chomp
- defined 10 2
- undef 10 3
- study 4 5
- pos 8 3 PVLV, mg_find
- preinc 10 2 sv_inc, SvSETMAGIC
- i_preinc
- predec 10 2 sv_dec, SvSETMAGIC
- i_predec
- postinc 10 2 sv_dec, SvSETMAGIC
- i_postinc
- postdec 10 2 sv_dec, SvSETMAGIC
- i_postdec
- pow 10 1
- multiply 10 1
- i_multiply 10 1
- divide 10 2
- i_divide 10 1
- modulo 10 2
- i_modulo 10 1
- repeat 6 4
- add 10 1
- i_add 10 1
- subtract 10 1
- i_subtract 10 1
- concat 10 2 mg_get
- stringify 10 2 sv_setpvn
- left_shift 10 1
- right_shift 10 1
- lt 10 1
- i_lt 10 1
- gt 10 1
- i_gt 10 1
- le 10 1
- i_le 10 1
- ge 10 1
- i_ge 10 1
- eq 10 1
- i_eq 10 1
- ne 10 1
- i_ne 10 1
- ncmp 10 1
- i_ncmp 10 1
- slt 10 2
- sgt 10 2
- sle 10 2
- sge 10 2
- seq 10 2 sv_eq
- sne 10 2
- scmp 10 2
- bit_and 10 2
- bit_xor 10 2
- bit_or 10 2
- negate 10 3
- i_negate 10 1
- not 10 1
- complement 10 3
- atan2 6 1
- sin 6 1
- cos 6 1
- rand 5 2
- srand 5 2
- exp 6 1
- log 6 2
- sqrt 6 2
- int 10 2
- hex 9 2
- oct 9 2
- abs 10 1
- length 10 1
- substr 10 4 PVLV
- vec 5 4
- index 9 3
- rindex 9 3
- sprintf 9 4 do_sprintf
- formline 6 7
- ord 6 2
- chr 6 2
- crypt 3 2
- ucfirst 6 2
- lcfirst 6 2
- uc 6 2
- lc 6 2
- quotemeta 6 3
- rv2av 10 3 save_svref, mg_get, save_ary
- aelemfast 10 2 av_fetch
- aelem 10 3
- aslice 9 4
- each 10 3 hv_iternext
- values 10 3 do_kv
- keys 10 3 do_kv
- delete 10 3
- exists 10 3
- rv2hv 10 3 save_svref, mg_get, save_ary, do_kv
- helem 10 3 save_svref, provide_ref
- hslice 9 4
- unpack 9 6 lengthy
- pack 9 6 lengthy
- split 9 9
- join 10 4 do_join
- list 10 2
- lslice 9 4
- anonlist 10 2
- anonhash 10 3
- splice 9 6
- push 10 2
- pop 10 2
- shift 10 2
- unshift 10 2
- sort 6 7
- reverse 9 4
- grepstart 6 5 modifies flow of control
- grepwhile 6 5 modifies flow of control
- mapstart 1 1
- mapwhile 6 5 modifies flow of control
- range 7 3 modifies flow of control
- flip 7 4 modifies flow of control
- flop 7 4 modifies flow of control
- and 10 3 modifies flow of control
- or 10 3 modifies flow of control
- xor
- cond_expr 10 3 modifies flow of control
- andassign 7 3 modifies flow of control
- orassign 7 3 modifies flow of control
- method 8 5
- entersub 10 7
- leavesub 10 5
- leavesublv
- caller 2 8
- warn 9 3
- die 9 3
- reset 2 2
- lineseq 1 1
- nextstate 10 1 Update stack_sp from cxstack. FREETMPS.
- dbstate 3 7
- unstack
- enter 10 3 cxstack, ENTER, SAVETMPS, PUSHBLOCK
- leave 10 3 cxstack, SAVETMPS, LEAVE, POPBLOCK
- scope 1 1
- enteriter 9 4 cxstack
- iter 9 3 cxstack
- enterloop 10 4
- leaveloop 10 4
- return 10 5
- last 9 6
- next 9 6
- redo 9 6
- dump 1 9 pp_goto
- goto 6 9
- exit 9 2 my_exit
- open 9 5 do_open
- close 9 3 do_close
- pipe_op 7 4
- fileno 9 2
- umask 4 2
- binmode 4 2
- tie 5 5 pp_entersub
- untie 5 2 sv_unmagic
- tied 5 2
- dbmopen 4 5
- dbmclose 4 2
- sselect 4 4
- select 7 3
- getc 7 2
- read 8 2 pp_sysread
- enterwrite 4 4 doform
- leavewrite 4 5
- prtf 4 4 do_sprintf
- print 8 6
- sysopen 8 2
- sysseek 8 2
- sysread 8 4
- syswrite 8 4 pp_send
- send 8 4
- recv 8 4 pp_sysread
- eof 9 2
- tell 9 3
- seek 9 2
- truncate 8 3
- fcntl 8 4 pp_ioctl
- ioctl 8 4
- flock 8 2
- socket 5 3
- sockpair 5 3
- bind 5 3
- connect 5 3
- listen 5 3
- accept 5 3
- shutdown 5 2
- gsockopt 5 3 pp_ssockopt
- ssockopt 5 3
- getsockname 5 3 pp_getpeername
- getpeername 5 3
- lstat 5 4 pp_stat
- stat 5 4 lengthy
- ftrread 5 2 cando
- ftrwrite 5 2 cando
- ftrexec 5 2 cando
- fteread 5 2 cando
- ftewrite 5 2 cando
- fteexec 5 2 cando
- ftis 5 2 cando
- fteowned 5 2 cando
- ftrowned 5 2 cando
- ftzero 5 2 cando
- ftsize 5 2 cando
- ftmtime 5 2 cando
- ftatime 5 2 cando
- ftctime 5 2 cando
- ftsock 5 2 cando
- ftchr 5 2 cando
- ftblk 5 2 cando
- ftfile 5 2 cando
- ftdir 5 2 cando
- ftpipe 5 2 cando
- ftlink 5 2 cando
- ftsuid 5 2 cando
- ftsgid 5 2 cando
- ftsvtx 5 2 cando
- fttty 5 2 cando
- fttext 5 4
- ftbinary 5 4 fttext
- chdir
- chown
- chroot
- unlink
- chmod
- utime
- rename
- link
- symlink
- readlink
- mkdir
- rmdir
- open_dir
- readdir
- telldir
- seekdir
- rewinddir
- closedir
- fork
- wait
- waitpid
- system
- exec
- kill
- getppid
- getpgrp
- setpgrp
- getpriority
- setpriority
- time
- tms
- localtime
- gmtime
- alarm
- sleep
- shmget
- shmctl
- shmread
- shmwrite
- msgget
- msgctl
- msgsnd
- msgrcv
- semget
- semctl
- semop
- require 6 9 doeval
- dofile 6 9 doeval
- entereval 6 9 doeval
- leaveeval 6 5
- entertry 7 4 modifies flow of control
- leavetry 7 3
- ghbyname
- ghbyaddr
- ghostent
- gnbyname
- gnbyaddr
- gnetent
- gpbyname
- gpbynumber
- gprotoent
- gsbyname
- gsbyport
- gservent
- shostent
- snetent
- sprotoent
- sservent
- ehostent
- enetent
- eprotoent
- eservent
- gpwnam
- gpwuid
- gpwent
- spwent
- epwent
- ggrnam
- ggrgid
- ggrent
- sgrent
- egrent
- getlogin
- syscall
- lock 6 1
- threadsv 6 2 unused if not USE_5005THREADS, absent post 5.8
- setstate 1 1 currently unused anywhere
- method_named 10 2
|