Advertisement
bahmanm

Code that makes 'gforthmi' choke on SEGFAULT

Nov 6th, 2011
83
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 0.67 KB | None | 0 0
  1. variable names-pos 0 names-pos !
  2. variable chunks-pos 0 chunks-pos !
  3.  
  4. : names ( -- addr u )
  5. s" n.b" ;
  6.  
  7. : chunks ( -- addr u )
  8. s" c.b" ;
  9.  
  10. : log ( c-addr1 u1 c-addr2 u2 -- )
  11. cr type space type ;
  12.  
  13. : name@ ( -- c-addr u )
  14. \ next-arg ;
  15. ;
  16.  
  17. : block-offset ( u -- offset block# )
  18. 1024 /mod swap ;
  19.  
  20. : pos-adjust ( u -- addr )
  21. block-offset block + ;
  22.  
  23. : >names ( c-addr u -- )
  24. names open-blocks
  25. names-pos pos-adjust 2dup !
  26. cell + swap move
  27. update ;
  28.  
  29. : >chunks ( c-addr u -- )
  30. 2drop ;
  31.  
  32. : main ( -- )
  33. begin
  34. name@ 0 0 d<>
  35. while
  36. 2dup s" Starting to process:" log
  37. 2dup >names 2dup >chunks
  38. s" Processing finished:" log
  39. repeat ;
  40.  
  41. main
  42.  
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement