home *** CD-ROM | disk | FTP | other *** search
/ PC World 1997 November / PCWorld_1997-11_cd.bin / software / programy / komix / DATA.Z / ne_const.tcl < prev    next >
Text File  |  1996-05-31  |  4KB  |  156 lines

  1. #---------------------------------------------------------------------------
  2. #
  3. # Copyright (c) 1994-1995 by Cadre Technologies Inc.
  4. #
  5. # This software is furnished under a license and may be used only in
  6. # accordance with the terms of such license and with the inclusion of
  7. # the above copyright notice. This software or any other copies thereof
  8. # may not be provided or otherwise made available to any other person.
  9. # No title to and ownership of the software is hereby transferred.
  10. #
  11. # The information in this software is subject to change without notice
  12. # and should not be construed as a commitment Cadre Technologies Inc.
  13. #
  14. #---------------------------------------------------------------------------
  15. #
  16. #    File        : @(#)ne_const.tcl    1.2
  17. #    Original date    : 26-10-1994
  18. #    Description    : NewEra generator constants
  19. #
  20. #---------------------------------------------------------------------------
  21. #
  22.  
  23. # Name of type column in database
  24. #
  25. global TYPE_ID_NM
  26. set TYPE_ID_NM class_type
  27.  
  28. #
  29. # Regeneration magic strings
  30. #
  31. global START_INCLUDE_MESSAGE
  32. set START_INCLUDE_MESSAGE "-- Start user added include file section"
  33. global END_INCLUDE_MESSAGE
  34. set END_INCLUDE_MESSAGE "-- End user added include file section"
  35. global START_CTOR_MESSAGE
  36. set START_CTOR_MESSAGE "-- Start constructor user section"
  37. global END_CTOR_MESSAGE
  38. set END_CTOR_MESSAGE "-- End constructor user section"
  39. global START_DTOR_MESSAGE
  40. set START_DTOR_MESSAGE "-- Start destructor user section"
  41. global END_DTOR_MESSAGE
  42. set END_DTOR_MESSAGE "-- End destructor user section"
  43. global START_SOURCE_MESSAGE
  44. set START_SOURCE_MESSAGE "-- Start user added source code section"
  45. global END_SOURCE_MESSAGE
  46. set END_SOURCE_MESSAGE "-- End user added source code section"
  47.  
  48. # regeneration stops after this marker is found
  49. #  
  50. global REGEN_END
  51. set REGEN_END "-- Do not delete this line -- regeneration end marker"
  52.  
  53. #
  54. # Configuration functions
  55. #
  56.  
  57. # Return the file name for a class name
  58. #
  59. proc class2file {name} {
  60.     return $name
  61. }
  62.  
  63. proc h_class2file {name} {
  64.     return [class2file $name].4gh
  65. }
  66.  
  67. # Generate an INCLUDE statement for 'class' in 'sect'
  68. #
  69. proc gen_include {class sect} {
  70.     set filename [class2file $class].4gh
  71.     gen_include_filename $filename $sect
  72. }
  73.  
  74. proc gen_include_filename {filename sect} {
  75.     if [string match ix* $filename] {
  76.         set sysincl "SYSTEM "
  77.     } else {
  78.         set sysincl ""
  79.     }
  80.     expand_text $sect {
  81.         INCLUDE ~${sysincl}"~$filename"
  82.     }
  83. }
  84.  
  85. # The "reference" name for 'class'
  86. #
  87. proc reference_name {class} {
  88.     return "${class}Ref"
  89. }
  90.  
  91. # The set name for 'class'
  92. #
  93. proc set_name {class} {
  94.     return "${class}Set"
  95. }
  96.  
  97. # The set type name for 'class'
  98. #
  99. proc set_type_name {class} {
  100.     add_hdr_inc_name ${set::name}
  101.     return ${set::name}
  102. }
  103.  
  104. # The ordered set name for 'class'
  105. #
  106. proc oset_name {class} {
  107.     return "${class}OSet"
  108. }
  109.  
  110. # The ordered set type name for 'class'
  111. #
  112. proc oset_type_name {class} {
  113.     add_hdr_inc_name ${oset::name}
  114.     return ${oset::name}
  115. }
  116.         
  117. # The dict name for 'class'
  118. #
  119. proc dict_name {class} {
  120.     return "${class}Dict"
  121. }
  122.  
  123. # The dict type name for 'key' and 'value'
  124. #
  125. proc dict_type_name {key_type value_type} {
  126.     add_hdr_inc_name ${dict::name}
  127.     return ${dict::name}
  128. }
  129.  
  130. # The set dict name for 'class'
  131. #
  132. proc set_dict_name {class} {
  133.     return "${class}RSDict"
  134. }
  135.  
  136. # The set dict type name for 'key' and 'value'
  137. #
  138. proc set_dict_type_name {key_type value_type} {
  139.     add_hdr_inc_name ${rsdict::name}
  140.     return ${rsdict::name}
  141. }
  142.  
  143. # The ordered set dict name for 'class'
  144. #
  145. proc oset_dict_name {class} {
  146.     return "${class}ORSDict"
  147. }
  148.  
  149. # The ordered set dict type name for 'key' and 'value'
  150. #
  151. proc oset_dict_type_name {key_type value_type} {
  152.     add_hdr_inc_name ${orsdict::name}
  153.     return ${orsdict::name}
  154. }
  155.  
  156.