readme.txt 1.2 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768
  1. Classes:
  2. ProgNode - output of parse - tree of Nodes
  3. TProg - output of translate - vector of TNodes
  4. string - output of codegen
  5. Module - output of assemble
  6. reserved asm labels.
  7. _b???? reserved for private blitz lib calls
  8. _l???? reserved for compiler generated labels
  9. _c???? reserved for codegen generated labels
  10. _a???? reserved for asm generated labels
  11. Codegen should probably be able to create it's own 'data' for constants.
  12. The IR_CONST instruction may have to generate a label to store, say,
  13. strings (and floats on x86?)
  14. * libs prototype info:
  15. graphics%%% - 3 int args
  16. rect%%%% - 4 int args
  17. vwait
  18. %mousex - int result
  19. %mousey - int result
  20. <Image>loadImage$ - obj result, 1 string arg
  21. * floats, strings, user types
  22. Stick with old BB newtypes:
  23. NewType mytype
  24. x.f:y.f:z.f
  25. image.Image
  26. End NewType
  27. Dim List lst.mytype
  28. Dim Queue que.mytype
  29. Dim Vector vec.mytype
  30. test=new mytype
  31. test\x=100
  32. test\y=100
  33. test\z=100
  34. name="Hello"
  35. move test
  36. statement move t.mytype
  37. t\x=t\x+t\xs
  38. t\y=t\y+t\ys
  39. end statement
  40. * stop/step/continue/debug
  41. * error handling
  42. Errors are sent to cerr, and an exception thrown.
  43. Error string format:
  44. E charpos message - eg:
  45. cerr<<"E 100 Blitz expects an identifier here"<<endl;