home *** CD-ROM | disk | FTP | other *** search
/ OS/2 Shareware BBS: 10 Tools / 10-Tools.zip / perl560.zip / ext / B / ramblings / runtime.porting < prev   
Text File  |  1999-12-16  |  5KB  |  358 lines

  1. Notes on porting the perl runtime PP engine.
  2. Importance: 1 = who cares?, 10 = vital
  3. Difficulty: 1 = trivial, 10 = very difficult. Level assumes a
  4. reasonable implementation of the SV and OP API already ported.
  5.  
  6. OP        Import    Diff    Comments
  7. null        10    1
  8. stub        10    1
  9. scalar        10    1
  10. pushmark    10    1    PUSHMARK
  11. wantarray    7    3    cxstack, dopoptosub
  12. const        10    1    
  13. gvsv        10    1    save_scalar
  14. gv        10    1    
  15. gelem        3    3    
  16. padsv        10    2    SAVECLEARSV, provide_ref
  17. padav        10    2
  18. padhv        10    2
  19. padany        1    1
  20. pushre        7    3    pushes an op. Blech.
  21. rv2gv        6    5
  22. rv2sv        10    4
  23. av2arylen    7    3    sv_magic    
  24. rv2cv        8    5    sv_2cv
  25. anoncode    7    6    cv_clone
  26. prototype    4    4    sv_2cv
  27. refgen        8    3
  28. srefgen        8    2
  29. ref        8    3
  30. bless        7    3
  31. backtick    5    4
  32. glob        5    2    do_readline
  33. readline    8    2    do_readline    
  34. rcatline    8    2
  35. regcmaybe    8    1
  36. regcreset    8    1
  37. regcomp        8    9    pregcomp
  38. match        8    10
  39. qr        8    1
  40. subst        8    10
  41. substcont    8    7
  42. trans        7    4    do_trans
  43. sassign        10    3    mg_find, SvSETMAGIC
  44. aassign        10    5    
  45. chop        8    3    do_chop
  46. schop        8    3    do_chop
  47. chomp        8    3    do_chomp
  48. schomp        8    3    do_chomp
  49. defined        10    2
  50. undef        10    3
  51. study        4    5
  52. pos        8    3    PVLV, mg_find
  53. preinc        10    2    sv_inc, SvSETMAGIC
  54. i_preinc
  55. predec        10    2    sv_dec, SvSETMAGIC
  56. i_predec
  57. postinc        10    2    sv_dec, SvSETMAGIC
  58. i_postinc
  59. postdec        10    2    sv_dec, SvSETMAGIC
  60. i_postdec
  61. pow        10    1
  62. multiply    10    1
  63. i_multiply    10    1
  64. divide        10    2
  65. i_divide    10    1
  66. modulo        10    2
  67. i_modulo    10    1
  68. repeat        6    4
  69. add        10    1
  70. i_add        10    1
  71. subtract    10    1
  72. i_subtract    10    1
  73. concat        10    2    mg_get
  74. stringify    10    2    sv_setpvn
  75. left_shift    10    1
  76. right_shift    10    1
  77. lt        10    1
  78. i_lt        10    1
  79. gt        10    1
  80. i_gt        10    1
  81. le        10    1
  82. i_le        10    1
  83. ge        10    1
  84. i_ge        10    1
  85. eq        10    1
  86. i_eq        10    1
  87. ne        10    1
  88. i_ne        10    1
  89. ncmp        10    1
  90. i_ncmp        10    1
  91. slt        10    2
  92. sgt        10    2
  93. sle        10    2
  94. sge        10    2
  95. seq        10    2    sv_eq
  96. sne        10    2
  97. scmp        10    2
  98. bit_and        10    2
  99. bit_xor        10    2
  100. bit_or        10    2
  101. negate        10    3
  102. i_negate    10    1
  103. not        10    1
  104. complement    10    3
  105. atan2        6    1
  106. sin        6    1
  107. cos        6    1
  108. rand        5    2
  109. srand        5    2
  110. exp        6    1
  111. log        6    2
  112. sqrt        6    2
  113. int        10    2
  114. hex        9    2
  115. oct        9    2
  116. abs        10    1
  117. length        10    1
  118. substr        10    4    PVLV
  119. vec        5    4
  120. index        9    3
  121. rindex        9    3
  122. sprintf        9    4    do_sprintf
  123. formline    6    7
  124. ord        6    2    
  125. chr        6    2
  126. crypt        3    2
  127. ucfirst        6    2
  128. lcfirst        6    2
  129. uc        6    2
  130. lc        6    2
  131. quotemeta    6    3
  132. rv2av        10    3    save_svref, mg_get, save_ary
  133. aelemfast    10    2    av_fetch
  134. aelem        10    3
  135. aslice        9    4
  136. each        10    3    hv_iternext
  137. values        10    3    do_kv
  138. keys        10    3    do_kv
  139. delete        10    3
  140. exists        10    3
  141. rv2hv        10    3    save_svref, mg_get, save_ary, do_kv
  142. helem        10    3    save_svref, provide_ref
  143. hslice        9    4
  144. unpack        9    6    lengthy
  145. pack        9    6    lengthy
  146. split        9    9
  147. join        10    4    do_join
  148. list        10    2
  149. lslice        9    4
  150. anonlist    10    2
  151. anonhash    10    3
  152. splice        9    6
  153. push        10    2
  154. pop        10    2
  155. shift        10    2
  156. unshift        10    2
  157. sort        6    7
  158. reverse        9    4
  159. grepstart    6    5    modifies flow of control
  160. grepwhile    6    5    modifies flow of control
  161. mapstart    1    1
  162. mapwhile    6    5    modifies flow of control
  163. range        7    3    modifies flow of control
  164. flip        7    4    modifies flow of control
  165. flop        7    4    modifies flow of control
  166. and        10    3    modifies flow of control
  167. or        10    3    modifies flow of control
  168. xor
  169. cond_expr    10    3    modifies flow of control
  170. andassign    7    3    modifies flow of control
  171. orassign    7    3    modifies flow of control
  172. method        8    5
  173. entersub    10    7
  174. leavesub    10    5
  175. leavesublv
  176. caller        2    8
  177. warn        9    3
  178. die        9    3
  179. reset        2    2
  180. lineseq        1    1
  181. nextstate    10    1    Update stack_sp from cxstack. FREETMPS.
  182. dbstate        3    7        
  183. unstack
  184. enter        10    3    cxstack, ENTER, SAVETMPS, PUSHBLOCK
  185. leave        10    3    cxstack, SAVETMPS, LEAVE, POPBLOCK
  186. scope        1    1
  187. enteriter    9    4    cxstack
  188. iter        9    3    cxstack
  189. enterloop    10    4
  190. leaveloop    10    4
  191. return        10    5
  192. last        9    6
  193. next        9    6
  194. redo        9    6
  195. dump        1    9    pp_goto
  196. goto        6    9
  197. exit        9    2    my_exit
  198. open        9    5    do_open
  199. close        9    3    do_close
  200. pipe_op        7    4
  201. fileno        9    2
  202. umask        4    2
  203. binmode        4    2
  204. tie        5    5    pp_entersub
  205. untie        5    2    sv_unmagic
  206. tied        5    2
  207. dbmopen        4    5
  208. dbmclose    4    2
  209. sselect        4    4
  210. select        7    3
  211. getc        7    2
  212. read        8    2    pp_sysread
  213. enterwrite    4    4    doform
  214. leavewrite    4    5
  215. prtf        4    4    do_sprintf
  216. print        8    6
  217. sysopen        8    2
  218. sysseek        8    2
  219. sysread        8    4
  220. syswrite    8    4    pp_send
  221. send        8    4
  222. recv        8    4    pp_sysread
  223. eof        9    2
  224. tell        9    3
  225. seek        9    2
  226. truncate    8    3
  227. fcntl        8    4    pp_ioctl
  228. ioctl        8    4
  229. flock        8    2
  230. socket        5    3
  231. sockpair    5    3
  232. bind        5    3
  233. connect        5    3
  234. listen        5    3
  235. accept        5    3
  236. shutdown    5    2
  237. gsockopt    5    3    pp_ssockopt
  238. ssockopt    5    3
  239. getsockname    5    3    pp_getpeername
  240. getpeername    5    3
  241. lstat        5    4    pp_stat
  242. stat        5    4    lengthy
  243. ftrread        5    2    cando
  244. ftrwrite    5    2    cando
  245. ftrexec        5    2    cando
  246. fteread        5    2    cando
  247. ftewrite    5    2    cando
  248. fteexec        5    2    cando
  249. ftis        5    2    cando
  250. fteowned    5    2    cando
  251. ftrowned    5    2    cando
  252. ftzero        5    2    cando
  253. ftsize        5    2    cando
  254. ftmtime        5    2    cando
  255. ftatime        5    2    cando
  256. ftctime        5    2    cando
  257. ftsock        5    2    cando
  258. ftchr        5    2    cando
  259. ftblk        5    2    cando
  260. ftfile        5    2    cando
  261. ftdir        5    2    cando
  262. ftpipe        5    2    cando
  263. ftlink        5    2    cando
  264. ftsuid        5    2    cando
  265. ftsgid        5    2    cando
  266. ftsvtx        5    2    cando
  267. fttty        5    2    cando
  268. fttext        5    4
  269. ftbinary    5    4    fttext
  270. chdir
  271. chown
  272. chroot
  273. unlink
  274. chmod
  275. utime
  276. rename
  277. link
  278. symlink
  279. readlink
  280. mkdir
  281. rmdir
  282. open_dir
  283. readdir
  284. telldir
  285. seekdir
  286. rewinddir
  287. closedir
  288. fork
  289. wait
  290. waitpid
  291. system
  292. exec
  293. kill
  294. getppid
  295. getpgrp
  296. setpgrp
  297. getpriority
  298. setpriority
  299. time
  300. tms
  301. localtime
  302. gmtime
  303. alarm
  304. sleep
  305. shmget
  306. shmctl
  307. shmread
  308. shmwrite
  309. msgget
  310. msgctl
  311. msgsnd
  312. msgrcv
  313. semget
  314. semctl
  315. semop
  316. require        6    9    doeval
  317. dofile        6    9    doeval
  318. entereval    6    9    doeval
  319. leaveeval    6    5
  320. entertry    7    4    modifies flow of control
  321. leavetry    7    3
  322. ghbyname
  323. ghbyaddr
  324. ghostent
  325. gnbyname
  326. gnbyaddr
  327. gnetent
  328. gpbyname
  329. gpbynumber
  330. gprotoent
  331. gsbyname
  332. gsbyport
  333. gservent
  334. shostent
  335. snetent
  336. sprotoent
  337. sservent
  338. ehostent
  339. enetent
  340. eprotoent
  341. eservent
  342. gpwnam
  343. gpwuid
  344. gpwent
  345. spwent
  346. epwent
  347. ggrnam
  348. ggrgid
  349. ggrent
  350. sgrent
  351. egrent
  352. getlogin
  353. syscall
  354. lock        6    1
  355. threadsv    6    2    unused if not USE_THREADS
  356. setstate    1    1    currently unused anywhere
  357. method_named    10    2
  358.