home *** CD-ROM | disk | FTP | other *** search
/ Club Amiga de Montreal - CAM / CAM_CD_1.iso / files / 116.lha / SmallTalk / Sources / NAMES.H < prev    next >
C/C++ Source or Header  |  1986-11-20  |  2KB  |  65 lines

  1. /*
  2.     Little Smalltalk, version 2
  3.     Written by Tim Budd, Oregon State University, July 1987
  4. */
  5. /*
  6.     names and sizes of internally object used internally in the system
  7. */
  8.  
  9. # define classSize 6
  10. # define nameInClass 1
  11. # define sizeInClass 2
  12. # define methodsInClass 3
  13. # define superClassInClass 4
  14. # define variablesInClass 5
  15.  
  16. # define methodSize 6
  17. # define textInMethod 1
  18. # define messageInMethod 2
  19. # define bytecodesInMethod 3
  20. # define literalsInMethod 4
  21. # define stackSizeInMethod 5
  22. # define temporarySizeInMethod 6
  23.  
  24. # define contextSize 6
  25. # define methodInContext 1
  26. # define methodClassInContext 2
  27. # define argumentsInContext 3
  28. # define temporariesInContext 4
  29.  
  30. # define blockSize 6
  31. # define contextInBlock 1
  32. # define argumentCountInBlock 2
  33. # define argumentLocationInBlock 3
  34. # define bytecountPositionInBlock 4
  35. # define creatingInterpreterInBlock 5
  36.  
  37. # define InterpreterSize 6
  38. # define contextInInterpreter 1
  39. # define previousInterpreterInInterpreter 2
  40. # define creatingInterpreterInInterpreter 3
  41. # define stackInInterpreter 4
  42. # define stackTopInInterpreter 5
  43. # define byteCodePointerInInterpreter 6
  44.  
  45. extern object nameTableLookup(OBJ X OBJ);
  46.  
  47. # define globalSymbol(s) nameTableLookup(globalNames, newSymbol(s))
  48.  
  49. extern object trueobj;        /* the pseudo variable true */
  50. extern object falseobj;        /* the pseudo variable false */
  51. extern object smallobj;        /* the pseudo variable smalltalk */
  52. extern object blockclass;    /* the class ``Block'' */
  53. extern object contextclass;    /* the class ``Context'' */
  54. extern object intclass;        /* the class ``Integer'' */
  55. extern object intrclass;    /* the class ``Interpreter'' */
  56. extern object symbolclass;    /* the class ``Symbol'' */
  57. extern object stringclass;    /* the class ``String'' */
  58.  
  59. extern object getClass(OBJ);    /* get class of an object */
  60. extern object newSymbol(STR);    /* new smalltalk symbol */
  61. extern object newArray(INT);    /* new array */
  62. extern object newStString(STR);    /* new smalltalk string */
  63. extern object newFloat(FLOAT);    /* new floating point number */
  64. extern noreturn initCommonSymbols();    /* common symbols */
  65.