home *** CD-ROM | disk | FTP | other *** search
/ Usenet 1994 October / usenetsourcesnewsgroupsinfomagicoctober1994disk2.iso / unix / volume21 / p2c / part09 < prev    next >
Text File  |  1990-04-05  |  30KB  |  610 lines

  1. Subject:  v21i054:  Pascal to C translator, Part09/32
  2. Newsgroups: comp.sources.unix
  3. Approved: rsalz@uunet.UU.NET
  4. X-Checksum-Snefru: e8db3032 00aa2697 6b0cc4ff 41738909
  5.  
  6. Submitted-by: Dave Gillespie <daveg@csvax.caltech.edu>
  7. Posting-number: Volume 21, Issue 54
  8. Archive-name: p2c/part09
  9.  
  10. #! /bin/sh
  11. # This is a shell archive.  Remove anything before this line, then unpack
  12. # it by saving it into a file and typing "sh file".  To overwrite existing
  13. # files, type "sh file -c".  You can also feed this as standard input via
  14. # unshar, or by typing "sh <file", e.g..  If this archive is complete, you
  15. # will see the following message at the end:
  16. #        "End of archive 9 (of 32)."
  17. # Contents:  src/trans.h.2
  18. # Wrapped by rsalz@litchi.bbn.com on Mon Mar 26 14:29:33 1990
  19. PATH=/bin:/usr/bin:/usr/ucb ; export PATH
  20. if test -f 'src/trans.h.2' -a "${1}" != "-c" ; then 
  21.   echo shar: Will not clobber existing file \"'src/trans.h.2'\"
  22. else
  23. echo shar: Extracting \"'src/trans.h.2'\" \(28075 characters\)
  24. sed "s/^X//" >'src/trans.h.2' <<'END_OF_FILE'
  25. X    'R', 'V', "QMARKBREAKPENALTY",     (anyptr) &qmarkbreakpenalty,       5000,
  26. X    'R', 'V', "QMARKBREAKEXTRAPENALTY",(anyptr) &qmarkbreakextrapenalty,  3000,
  27. X    'R', 'V', "PARENBREAKPENALTY",     (anyptr) &parenbreakpenalty,       2500,
  28. X    'R', 'V', "PARENBREAKEXTRAPENALTY",(anyptr) &parenbreakextrapenalty,  1000,
  29. X    'R', 'V', "WRONGSIDEPENALTY",      (anyptr) &wrongsidepenalty,        1000,
  30. X    'R', 'V', "EARLYBREAKPENALTY",     (anyptr) &earlybreakpenalty,        100,
  31. X    'R', 'V', "EXTRAINDENTPENALTY",    (anyptr) &extraindentpenalty,      3000,
  32. X    'R', 'V', "BUMPINDENTPENALTY",     (anyptr) &bumpindentpenalty,       1000,
  33. X    'R', 'V', "NOBUMPINDENTPENALTY",   (anyptr) &nobumpindentpenalty,     2500,
  34. X    'R', 'V', "INDENTAMOUNTPENALTY",   (anyptr) &indentamountpenalty,       50,
  35. X    'R', 'V', "SAMEINDENTPENALTY",     (anyptr) &sameindentpenalty,        500,
  36. X    'R', 'V', "SHOWBADLIMIT",          (anyptr) &showbadlimit,            -120,
  37. X    'L', 'R', "MAXLINEBREAKTRIES", (anyptr) &maxalts,      5000,
  38. X    'G', 'V', "ALLORNONEBREAK",  (anyptr)  NULL,             FALLBREAK,
  39. X    'G', 'V', "ONESPECIALARG",   (anyptr)  NULL,             FSPCARG1,
  40. X    'G', 'V', "TWOSPECIALARGS",  (anyptr)  NULL,             FSPCARG2,
  41. X    'G', 'V', "THREESPECIALARGS",(anyptr)  NULL,             FSPCARG3,
  42. X    'B', 'V', "BREAKARITH",      (anyptr) &breakbeforearith,  BRK_RIGHT,
  43. X    'B', 'V', "BREAKREL",        (anyptr) &breakbeforerel,    BRK_RIGHT,
  44. X    'B', 'V', "BREAKLOG",        (anyptr) &breakbeforelog,    BRK_RIGHT,
  45. X    'B', 'V', "BREAKDOT",        (anyptr) &breakbeforedot,    BRK_RIGHT,
  46. X    'B', 'V', "BREAKASSIGN",     (anyptr) &breakbeforeassign, BRK_RIGHT,
  47. X    'S', 'V', "FOR_ALLORNONE",   (anyptr) &for_allornone,     1,
  48. X
  49. X/* COMMENTS AND BLANK LINES */
  50. X    'S', 'V', "EATCOMMENTS",     (anyptr) &eatcomments,       0,
  51. X    'S', 'V', "SPITCOMMENTS",    (anyptr) &spitcomments,      0,
  52. X    'S', 'V', "SPITORPHANCOMMENTS",(anyptr)&spitorphancomments, 0,
  53. X    'S', 'V', "COMMENTAFTER",    (anyptr) &commentafter,     -1,
  54. X    'S', 'V', "BLANKAFTER",      (anyptr) &blankafter,        1,
  55. X    'A', 'V', "EATNOTES",        (anyptr) &eatnotes,          0,
  56. X
  57. X/* SPECIAL COMMENTS */
  58. X    'C', 'V', "FIXEDCOMMENT",    (anyptr)  fixedcomment,     40,
  59. X    'C', 'V', "PERMANENTCOMMENT",(anyptr)  permanentcomment, 40,
  60. X    'C', 'V', "INTERFACECOMMENT",(anyptr)  interfacecomment, 40,
  61. X    'C', 'V', "EMBEDCOMMENT",    (anyptr)  embedcomment,     40,
  62. X    'C', 'V', "SKIPCOMMENT",     (anyptr)  skipcomment,      40,
  63. X    'C', 'V', "NOSKIPCOMMENT",   (anyptr)  noskipcomment,    40,
  64. X    'C', 'V', "SIGNEDCOMMENT",   (anyptr)  signedcomment,    40,
  65. X    'C', 'V', "UNSIGNEDCOMMENT", (anyptr)  unsignedcomment,  40,
  66. X
  67. X/* STYLISTIC OPTIONS */
  68. X    'I', 'V', "MAJORSPACING",    (anyptr) &majorspace,        2,
  69. X    'I', 'V', "MINORSPACING",    (anyptr) &minorspace,        1,
  70. X    'I', 'V', "FUNCSPACING",     (anyptr) &functionspace,     2,
  71. X    'I', 'V', "MINFUNCSPACING",  (anyptr) &minfuncspace,      1,
  72. X    'S', 'V', "EXTRAPARENS",     (anyptr) &extraparens,      -1,
  73. X    'S', 'V', "BREAKADDPARENS",  (anyptr) &breakparens,      -1,
  74. X    'S', 'V', "RETURNPARENS",    (anyptr) &returnparens,     -1,
  75. X    'S', 'V', "SPACEEXPRS",      (anyptr) &spaceexprs,       -1,
  76. X    'S', 'V', "IMPLICITZERO",    (anyptr) &implicitzero,     -1,
  77. X    'S', 'V', "STARINDEX",       (anyptr) &starindex,        -1,
  78. X    'S', 'V', "ADDINDEX",        (anyptr) &addindex,         -1,
  79. X    'S', 'V', "STARARRAYS",      (anyptr) &stararrays,        1,
  80. X    'S', 'V', "STARFUNCTIONS",   (anyptr) &starfunctions,    -1,
  81. X    'S', 'V', "POSTINCREMENT",   (anyptr) &postincrement,     1,
  82. X    'S', 'V', "MIXVARS",         (anyptr) &mixvars,          -1,
  83. X    'S', 'V', "MIXTYPES",        (anyptr) &mixtypes,         -1,
  84. X    'S', 'V', "MIXFIELDS",       (anyptr) &mixfields,        -1,
  85. X    'S', 'V', "MIXINITS",        (anyptr) &mixinits,         -1,
  86. X    'S', 'V', "MAINLOCALS",      (anyptr) &mainlocals,        1,
  87. X    'S', 'V', "NULLCHAR",        (anyptr) &nullcharconst,     1,
  88. X    'S', 'V', "HIGHCHARINT",     (anyptr) &highcharints,      1,
  89. X    'I', 'V', "CASESPACING",     (anyptr) &casespacing,       1,
  90. X    'D', 'V', "CASETABS",        (anyptr) &casetabs,       1000,
  91. X    'I', 'V', "CASELIMIT",       (anyptr) &caselimit,         9,
  92. X    'S', 'V', "USECOMMAS",       (anyptr) &usecommas,        -1,
  93. X    'S', 'V', "USERETURNS",      (anyptr) &usereturns,        1,
  94. X    'I', 'V', "RETURNLIMIT",     (anyptr) &returnlimit,       3,
  95. X    'S', 'V', "USEBREAKS",       (anyptr) &usebreaks,         1,
  96. X    'I', 'V', "BREAKLIMIT",      (anyptr) &breaklimit,        2,
  97. X    'I', 'V', "CONTINUELIMIT",   (anyptr) &continuelimit,     5,
  98. X    'S', 'V', "INFLOOPSTYLE",    (anyptr) &infloopstyle,      0,
  99. X
  100. X/* NAMING CONVENTIONS */
  101. X    'C', 'V', "CODEFILENAME",    (anyptr)  codefnfmt,        40,
  102. X    'C', 'V', "MODULEFILENAME",  (anyptr)  modulefnfmt,      40,
  103. X    'C', 'V', "HEADERFILENAME",  (anyptr)  headerfnfmt,      40,
  104. X    'C', 'V', "HEADERFILENAME2", (anyptr)  headerfnfmt2,     40,
  105. X    'C', 'V', "LOGFILENAME",     (anyptr)  logfnfmt,         40,
  106. X    'C', 'V', "INCLUDEFILENAME", (anyptr)  includefnfmt,     40,
  107. X    'S', 'V', "SYMCASE",         (anyptr) &symcase,          -1,
  108. X    'C', 'V', "SYMBOLFORMAT",    (anyptr)  symbolformat,     40,
  109. X    'C', 'V', "CONSTFORMAT",     (anyptr)  constformat,      40,
  110. X    'C', 'V', "MODULEFORMAT",    (anyptr)  moduleformat,     40,
  111. X    'C', 'V', "FUNCTIONFORMAT",  (anyptr)  functionformat,   40,
  112. X    'C', 'V', "VARFORMAT",       (anyptr)  varformat,        40,
  113. X    'C', 'V', "FIELDFORMAT",     (anyptr)  fieldformat,      40,
  114. X    'C', 'V', "TYPEFORMAT",      (anyptr)  typeformat,       40,
  115. X    'C', 'V', "ENUMFORMAT",      (anyptr)  enumformat,       40,
  116. X    'C', 'V', "RETURNVALUENAME", (anyptr)  name_RETV,        40,
  117. X    'C', 'V', "UNITINITNAME",    (anyptr)  name_UNITINIT,    40,
  118. X    'C', 'V', "HSYMBOLNAME",     (anyptr)  name_HSYMBOL,     40,
  119. X    'C', 'V', "GSYMBOLNAME",     (anyptr)  name_GSYMBOL,     40,
  120. X    'C', 'V', "STRINGMAXNAME",   (anyptr)  name_STRMAX,      40,
  121. X    'C', 'V', "ARRAYMINNAME",    (anyptr)  name_ALOW,        40,
  122. X    'C', 'V', "ARRAYMAXNAME",    (anyptr)  name_AHIGH,       40,
  123. X    'C', 'V', "COPYPARNAME",     (anyptr)  name_COPYPAR,     40,
  124. X    'C', 'V', "STATICLINKNAME",  (anyptr)  name_LINK,        40,
  125. X    'C', 'V', "LOCALVARSSTRUCT", (anyptr)  name_LOC,         40,
  126. X    'C', 'V', "LOCALVARSNAME",   (anyptr)  name_VARS,        40,
  127. X    'C', 'V', "FWDSTRUCTNAME",   (anyptr)  name_STRUCT,      40,
  128. X    'C', 'V', "ENUMLISTNAME",    (anyptr)  name_ENUM,        40,
  129. X    'C', 'V', "UNIONNAME",       (anyptr)  name_UNION,       40,
  130. X    'C', 'V', "UNIONPARTNAME",   (anyptr)  name_VARIANT,     40,
  131. X    'C', 'V', "FAKESTRUCTNAME",  (anyptr)  name_FAKESTRUCT,  40,
  132. X    'C', 'V', "LABELNAME",       (anyptr)  name_LABEL,       40,
  133. X    'C', 'V', "LABELVARNAME",    (anyptr)  name_LABVAR,      40,
  134. X    'C', 'V', "TEMPNAME",        (anyptr)  name_TEMP,        40,
  135. X    'C', 'V', "DUMMYNAME",       (anyptr)  name_DUMMY,       40,
  136. X    'C', 'V', "FORNAME",         (anyptr)  name_FOR,         40,
  137. X    'C', 'V', "WITHNAME",        (anyptr)  name_WITH,        40,
  138. X    'C', 'V', "PTRNAME",         (anyptr)  name_PTR,         40,
  139. X    'C', 'V', "STRINGNAME",      (anyptr)  name_STRING,      40,
  140. X    'C', 'V', "SETNAME",         (anyptr)  name_SET,         40,
  141. X    'C', 'V', "FNVARNAME",       (anyptr)  name_FNVAR,       40,
  142. X    'C', 'V', "FNSIZENAME",      (anyptr)  name_FNSIZE,      40,
  143. X    'C', 'V', "ALTERNATENAME1",  (anyptr)  alternatename1,   40,
  144. X    'C', 'V', "ALTERNATENAME2",  (anyptr)  alternatename2,   40,
  145. X    'C', 'V', "ALTERNATENAME",   (anyptr)  alternatename,    40,
  146. X    'C', 'V', "EXPORTSYMBOL",    (anyptr)  exportsymbol,     40,
  147. X    'C', 'V', "EXPORT_SYMBOL",   (anyptr)  export_symbol,    40,
  148. X    'C', 'V', "ALIAS",           (anyptr)  externalias,      40,
  149. X    'X', 'V', "SYNONYM",         (anyptr)  NULL,              3,
  150. X    'X', 'V', "NAMEOF",          (anyptr) &nameoflist,        1,
  151. X    'G', 'V', "AVOIDNAME",       (anyptr)  NULL,             AVOIDNAME,
  152. X    'G', 'V', "AVOIDGLOBALNAME", (anyptr)  NULL,             AVOIDGLOB,
  153. X    'G', 'V', "WARNNAME",        (anyptr)  NULL,             WARNNAME,
  154. X    'G', 'V', "NOSIDEEFFECTS",   (anyptr)  NULL,             NOSIDEEFF,
  155. X    'G', 'V', "STRUCTFUNCTION",  (anyptr)  NULL,             STRUCTF,
  156. X    'G', 'V', "STRLAPFUNCTION",  (anyptr)  NULL,             STRLAPF,
  157. X    'F', 'V', "LEAVEALONE",      (anyptr)  NULL,             LEAVEALONE,
  158. X    'G', 'V', "DETERMINISTIC",   (anyptr)  NULL,             DETERMF,
  159. X    'G', 'V', "NEEDSTATIC",      (anyptr)  NULL,             NEEDSTATIC,
  160. X    'S', 'V', "WARNNAMES",       (anyptr) &warnnames,         0,
  161. X    'M', 'V', "VARMACRO",        (anyptr)  NULL,             MAC_VAR,
  162. X    'M', 'V', "CONSTMACRO",      (anyptr)  NULL,             MAC_CONST,
  163. X    'M', 'V', "FIELDMACRO",      (anyptr)  NULL,             MAC_FIELD,
  164. X    'M', 'V', "FUNCMACRO",       (anyptr)  NULL,             MAC_FUNC,
  165. X    'S', 'V', "WARNMACROS",      (anyptr) &warnmacros,        0,
  166. X
  167. X/* CODING OPTIONS */
  168. X    'A', 'V', "INITIALCALLS",    (anyptr) &initialcalls,      0,
  169. X    'S', 'V', "EXPANDINCLUDES",  (anyptr) &expandincludes,   -1,
  170. X    'S', 'V', "COLLECTNEST",     (anyptr) &collectnest,       1,
  171. X    'S', 'V', "SHORTCIRCUIT",    (anyptr) &shortcircuit,     -1,
  172. X    'S', 'V', "SHORTOPT",        (anyptr) &shortopt,          1,
  173. X    'S', 'V', "ELIMDEADCODE",    (anyptr) &elimdeadcode,      1,
  174. X    'S', 'V', "FOLDCONSTANTS",   (anyptr) &foldconsts,       -1,
  175. X    'S', 'V', "FOLDSTRCONSTANTS",(anyptr) &foldstrconsts,    -1,
  176. X    'S', 'V', "USECONSTS",       (anyptr) &useconsts,        -1,
  177. X    'S', 'V', "USEUNDEF",        (anyptr) &useundef,          1,
  178. X    'L', 'V', "SKIPINDICES",     (anyptr) &skipindices,       0,
  179. X    'S', 'V', "OFFSETFORLOOPS",  (anyptr) &offsetforloops,    1,
  180. X    'S', 'V', "FOREVALORDER",    (anyptr) &forevalorder,      0,
  181. X    'S', 'V', "STRINGLEADERS",   (anyptr) &stringleaders,     2,
  182. X    'S', 'V', "STOREFILENAMES",  (anyptr) &storefilenames,   -1,
  183. X    'S', 'V', "CHARFILETEXT",    (anyptr) &charfiletext,     -1,
  184. X    'S', 'V', "SQUEEZESUBR",     (anyptr) &squeezesubr,       1,
  185. X    'S', 'T', "USEENUM",         (anyptr) &useenum,          -1,
  186. X    'S', 'V', "SQUEEZEENUM",     (anyptr) &enumbyte,         -1,
  187. X    'S', 'V', "COMPENUMS",       (anyptr) &compenums,        -1,
  188. X    'S', 'V', "PACKING",         (anyptr) &packing,           1,
  189. X    'S', 'V', "PACKSIGNED",      (anyptr) &packsigned,        1,
  190. X    'I', 'V', "STRINGCEILING",   (anyptr) &stringceiling,   255,
  191. X    'I', 'V', "STRINGDEFAULT",   (anyptr) &stringdefault,   255,
  192. X    'I', 'V', "STRINGTRUNCLIMIT",(anyptr) &stringtrunclimit, -1,
  193. X    'I', 'V', "LONGSTRINGSIZE",  (anyptr) &longstringsize,   -1,
  194. X    'S', 'V', "KEEPNULLS",       (anyptr) &keepnulls,         0,
  195. X    'S', 'V', "HIGHCHARBITS",    (anyptr) &highcharbits,     -1,
  196. X    'S', 'V', "ALWAYSCOPYVALUES",(anyptr) &alwayscopyvalues,  0,
  197. X    'S', 'V', "STATICFUNCTIONS", (anyptr) &use_static,        1,
  198. X    'S', 'V', "STATICVARIABLES", (anyptr) &var_static,        1,
  199. X    'S', 'V', "VOIDARGS",        (anyptr) &void_args,        -1,
  200. X    'S', 'V', "PROTOTYPES",      (anyptr) &prototypes,       -1,
  201. X    'S', 'V', "FULLPROTOTYPING", (anyptr) &fullprototyping,  -1,
  202. X    'S', 'V', "PROCPTRPROTOTYPES",(anyptr)&procptrprototypes, 1,
  203. X    'S', 'V', "CASTARGS",        (anyptr) &castargs,         -1,
  204. X    'S', 'V', "CASTLONGARGS",    (anyptr) &castlongargs,     -1,
  205. X    'S', 'V', "PROMOTEARGS",     (anyptr) &promoteargs,      -1,
  206. X    'S', 'V', "PROMOTEENUMS",    (anyptr) &promote_enums,    -1,
  207. X    'S', 'V', "STATICLINKS",     (anyptr) &hasstaticlinks,   -1,
  208. X    'S', 'V', "VARSTRINGS",      (anyptr) &varstrings,        0,
  209. X    'S', 'V', "VARFILES",        (anyptr) &varfiles,          1,
  210. X    'S', 'V', "ADDRSTDFILES",    (anyptr) &addrstdfiles,      0,
  211. X    'S', 'V', "COPYSTRUCTFUNCS", (anyptr) ©structfuncs,  -1,
  212. X    'S', 'V', "ATAN2",           (anyptr) &atan2flag,         0,
  213. X    'S', 'V', "BITWISEMOD",      (anyptr) &mod_po2,          -1,
  214. X    'S', 'V', "BITWISEDIV",      (anyptr) &div_po2,          -1,
  215. X    'S', 'V', "ASSUMEBITS",      (anyptr) &assumebits,        0,
  216. X    'S', 'V', "ASSUMESIGNS",     (anyptr) &assumesigns,       1,
  217. X    'S', 'V', "ALLOCZERONIL",    (anyptr) &alloczeronil,      0,
  218. X    'S', 'V', "PRINTFONLY",      (anyptr) &printfonly,       -1,
  219. X    'S', 'V', "MIXWRITELNS",     (anyptr) &mixwritelns,       1,
  220. X    'S', 'V', "MESSAGESTDERR",   (anyptr) &messagestderr,     1,
  221. X    'I', 'V', "INTEGERWIDTH",    (anyptr) &integerwidth,     -1,
  222. X    'I', 'V', "REALWIDTH",       (anyptr) &realwidth,        12,
  223. X    'S', 'V', "FORMATSTRINGS",   (anyptr) &formatstrings,     0,
  224. X    'S', 'V', "WHILEFGETS",      (anyptr) &whilefgets,        1,
  225. X    'S', 'V', "USEGETS",         (anyptr) &usegets,           1,
  226. X    'S', 'V', "NEWLINESPACE",    (anyptr) &newlinespace,     -1,
  227. X    'S', 'V', "BUILDREADS",      (anyptr) &buildreads,        1,
  228. X    'S', 'V', "BUILDWRITES",     (anyptr) &buildwrites,       1,
  229. X    'S', 'V', "BINARYMODE",      (anyptr) &binarymode,        1,
  230. X    'S', 'V', "READWRITEOPEN",   (anyptr) &readwriteopen,    -1,
  231. X    'C', 'V', "OPENMODE",        (anyptr)  openmode,         40,
  232. X    'S', 'V', "LITERALFILES",    (anyptr) &literalfilesflag, -1,
  233. X    'A', 'V', "LITERALFILE",     (anyptr) &literalfiles,      0,
  234. X    'C', 'V', "FILENAMEFILTER",  (anyptr)  filenamefilter,   40,
  235. X    'S', 'V', "FULLSTRWRITE",    (anyptr) &fullstrwrite,     -1,
  236. X    'S', 'V', "FULLSTRREAD",     (anyptr) &fullstrread,       1,
  237. X    'I', 'R', "SETBITS",         (anyptr) &setbits,          -1,
  238. X    'I', 'V', "DEFAULTSETSIZE",  (anyptr) &defaultsetsize,   -1,
  239. X    'S', 'V', "SMALLSETCONST",   (anyptr) &smallsetconst,    -2,
  240. X    'S', 'V', "BIGSETCONST",     (anyptr) &bigsetconst,       1,
  241. X    'S', 'V', "LELERANGE",       (anyptr) &lelerange,         0,
  242. X    'S', 'V', "UNSIGNEDTRICK",   (anyptr) &unsignedtrick,     1,
  243. X    'S', 'V', "USEISALPHA",      (anyptr) &useisalpha,        1,
  244. X    'S', 'V', "USEISSPACE",      (anyptr) &useisspace,        0,
  245. X    'S', 'V', "USESTRNCMP",     (anyptr) &usestrncmp,          1,
  246. X
  247. X/* TARGET LIBRARY */
  248. X    'G', 'V', "WARNLIBRARY",     (anyptr)  NULL,             WARNLIBR,
  249. X    'S', 'V', "QUOTEINCLUDES",   (anyptr) "eincludes,     1,
  250. X    'X', 'V', "IMPORTFROM",      (anyptr) &importfrom,        1,
  251. X    'A', 'V', "IMPORTDIR",       (anyptr) &importdirs,        0,
  252. X    'A', 'V', "INCLUDEDIR",      (anyptr) &includedirs,       0,
  253. X    'X', 'V', "INCLUDEFROM",     (anyptr) &includefrom,       1,
  254. X    'A', 'V', "LIBRARYFILE",     (anyptr) &librfiles,         0,
  255. X    'C', 'V', "HEADERNAME",      (anyptr)  p2c_h_name,       40,
  256. X    'C', 'V', "PROCTYPENAME",    (anyptr)  name_PROCEDURE,   40,
  257. X    'C', 'V', "UCHARNAME",       (anyptr)  name_UCHAR,       40,
  258. X    'C', 'V', "SCHARNAME",       (anyptr)  name_SCHAR,       40,
  259. X    'C', 'V', "BOOLEANNAME",     (anyptr)  name_BOOLEAN,     40,
  260. X    'C', 'V', "TRUENAME",        (anyptr)  name_TRUE,        40,
  261. X    'C', 'V', "FALSENAME",       (anyptr)  name_FALSE,       40,
  262. X    'C', 'V', "NULLNAME",        (anyptr)  name_NULL,        40,
  263. X    'C', 'V', "ESCAPECODENAME",  (anyptr)  name_ESCAPECODE,  40,
  264. X    'C', 'V', "IORESULTNAME",    (anyptr)  name_IORESULT,    40,
  265. X    'C', 'V', "ARGCNAME",        (anyptr)  name_ARGC,        40,
  266. X    'C', 'V', "ARGVNAME",        (anyptr)  name_ARGV,        40,
  267. X    'C', 'V', "MAINNAME",        (anyptr)  name_MAIN,        40,
  268. X    'C', 'V', "ESCAPENAME",      (anyptr)  name_ESCAPE,      40,
  269. X    'C', 'V', "ESCIONAME",       (anyptr)  name_ESCIO,       40,
  270. X    'C', 'V', "CHECKIONAME",     (anyptr)  name_CHKIO,       40,
  271. X    'C', 'V', "SETIONAME",       (anyptr)  name_SETIO,       40,
  272. X    'C', 'V', "FILENOTFOUNDNAME",(anyptr)  filenotfoundname, 40,
  273. X    'C', 'V', "FILENOTOPENNAME", (anyptr)  filenotopenname,  40,
  274. X    'C', 'V', "FILEWRITEERRORNAME",(anyptr)filewriteerrorname,40,
  275. X    'C', 'V', "BADINPUTFORMATNAME",(anyptr)badinputformatname,40,
  276. X    'C', 'V', "ENDOFFILENAME",   (anyptr)  endoffilename,    40,
  277. X    'C', 'V', "OUTMEMNAME",      (anyptr)  name_OUTMEM,      40,
  278. X    'C', 'V', "CASECHECKNAME",   (anyptr)  name_CASECHECK,   40,
  279. X    'C', 'V', "NILCHECKNAME",    (anyptr)  name_NILCHECK,    40,
  280. X    'C', 'V', "SETBITSNAME",     (anyptr)  name_SETBITS,     40,
  281. X    'S', 'V', "SPRINTFVALUE",    (anyptr) &sprintf_value,    -1,
  282. X    'C', 'V', "SPRINTFNAME",     (anyptr)  sprintfname,      40,
  283. X    'C', 'V', "MEMCPYNAME",      (anyptr)  memcpyname,       40,
  284. X    'C', 'V', "ROUNDNAME",       (anyptr)  roundname,        40,
  285. X    'C', 'V', "DIVNAME",     (anyptr)  divname,         40,
  286. X    'C', 'V', "MODNAME",     (anyptr)  modname,         40,
  287. X    'C', 'V', "REMNAME",     (anyptr)  remname,         40,
  288. X    'C', 'V', "STRCICMPNAME",    (anyptr)  strcicmpname,     40,
  289. X    'C', 'V', "STRSUBNAME",      (anyptr)  strsubname,       40,
  290. X    'C', 'V', "STRPOSNAME",      (anyptr)  strposname,       40,
  291. X    'S', 'V', "STRCPYLEFT",      (anyptr) &strcpyleft,        1,
  292. X    'C', 'V', "STRDELETENAME",   (anyptr)  strdeletename,    40,
  293. X    'C', 'V', "STRINSERTNAME",   (anyptr)  strinsertname,    40,
  294. X    'C', 'V', "STRMOVENAME",     (anyptr)  strmovename,         40,
  295. X    'C', 'V', "STRLTRIMNAME",    (anyptr)  strltrimname,     40,
  296. X    'C', 'V', "STRRTRIMNAME",    (anyptr)  strrtrimname,     40,
  297. X    'C', 'V', "STRRPTNAME",      (anyptr)  strrptname,       40,
  298. X    'C', 'V', "STRPADNAME",      (anyptr)  strpadname,       40,
  299. X    'C', 'V', "ABSNAME",         (anyptr)  absname,          40,
  300. X    'C', 'V', "ODDNAME",         (anyptr)  oddname,          40,
  301. X    'C', 'V', "EVENNAME",        (anyptr)  evenname,         40,
  302. X    'C', 'V', "SWAPNAME",        (anyptr)  swapname,         40,
  303. X    'C', 'V', "MALLOCNAME",      (anyptr)  mallocname,       40,
  304. X    'C', 'V', "FREENAME",        (anyptr)  freename,         40,
  305. X    'C', 'V', "FREERVALUENAME",  (anyptr)  freervaluename,   40,
  306. X    'X', 'V', "SPECIALMALLOC",   (anyptr) &specialmallocs,    1,
  307. X    'X', 'V', "SPECIALFREE",     (anyptr) &specialfrees,      1,
  308. X    'X', 'V', "SPECIALSIZEOF",   (anyptr) &specialsizeofs,    1,
  309. X    'C', 'V', "RANDREALNAME",    (anyptr)  randrealname,     40,
  310. X    'C', 'V', "RANDINTNAME",     (anyptr)  randintname,      40,
  311. X    'C', 'V', "RANDOMIZENAME",   (anyptr)  randomizename,    40,
  312. X    'C', 'V', "SKIPSPACENAME",   (anyptr)  skipspacename,    40,
  313. X    'C', 'V', "READLNNAME",      (anyptr)  readlnname,       40,
  314. X    'C', 'V', "FREOPENNAME",     (anyptr)  freopenname,      40,
  315. X    'C', 'V', "EOFNAME",         (anyptr)  eofname,          40,
  316. X    'C', 'V', "EOLNNAME",        (anyptr)  eolnname,         40,
  317. X    'C', 'V', "FILEPOSNAME",     (anyptr)  fileposname,      40,
  318. X    'C', 'V', "MAXPOSNAME",      (anyptr)  maxposname,       40,
  319. X    'C', 'V', "SETUNIONNAME",    (anyptr)  setunionname,     40,
  320. X    'C', 'V', "SETINTNAME",      (anyptr)  setintname,       40,
  321. X    'C', 'V', "SETDIFFNAME",     (anyptr)  setdiffname,      40,
  322. X    'C', 'V', "SETXORNAME",      (anyptr)  setxorname,       40,
  323. X    'C', 'V', "SETINNAME",       (anyptr)  setinname,        40,
  324. X    'C', 'V', "SETADDNAME",      (anyptr)  setaddname,       40,
  325. X    'C', 'V', "SETADDRANGENAME", (anyptr)  setaddrangename,  40,
  326. X    'C', 'V', "SETREMNAME",      (anyptr)  setremname,       40,
  327. X    'C', 'V', "SETEQUALNAME",    (anyptr)  setequalname,     40,
  328. X    'C', 'V', "SUBSETNAME",      (anyptr)  subsetname,       40,
  329. X    'C', 'V', "SETCOPYNAME",     (anyptr)  setcopyname,      40,
  330. X    'C', 'V', "SETEXPANDNAME",   (anyptr)  setexpandname,    40,
  331. X    'C', 'V', "SETPACKNAME",     (anyptr)  setpackname,      40,
  332. X    'C', 'V', "SIGNEXTENDNAME",  (anyptr)  signextname,      40,
  333. X    'C', 'V', "GETBITSNAME",     (anyptr)  getbitsname,      40,
  334. X    'C', 'V', "CLRBITSNAME",     (anyptr)  clrbitsname,      40,
  335. X    'C', 'V', "PUTBITSNAME",     (anyptr)  putbitsname,      40,
  336. X    'C', 'V', "STOREBITSNAME",   (anyptr)  storebitsname,    40,
  337. X    'C', 'V', "DECLBUFNAME",     (anyptr)  declbufname,         40,
  338. X    'C', 'V', "DECLBUFNCNAME",     (anyptr)  declbufncname,    40,
  339. X    'A', 'V', "BUFFEREDFILE",    (anyptr) &bufferedfiles,     0,
  340. X    'A', 'V', "UNBUFFEREDFILE",  (anyptr) &unbufferedfiles,   0,
  341. X    'C', 'V', "RESETBUFNAME",     (anyptr)  resetbufname,     40,
  342. X    'C', 'V', "SETUPBUFNAME",     (anyptr)  setupbufname,     40,
  343. X    'C', 'V', "GETFBUFNAME",     (anyptr)  getfbufname,      40,
  344. X    'C', 'V', "CHARGETFBUFNAME", (anyptr)  chargetfbufname,  40,
  345. X    'C', 'V', "ARRAYGETFBUFNAME",(anyptr)  arraygetfbufname, 40,
  346. X    'C', 'V', "PUTFBUFNAME",     (anyptr)  putfbufname,      40,
  347. X    'C', 'V', "CHARPUTFBUFNAME", (anyptr)  charputfbufname,  40,
  348. X    'C', 'V', "ARRAYPUTFBUFNAME",(anyptr)  arrayputfbufname, 40,
  349. X    'C', 'V', "GETNAME",         (anyptr)  getname,          40,
  350. X    'C', 'V', "CHARGETNAME",     (anyptr)  chargetname,      40,
  351. X    'C', 'V', "ARRAYGETNAME",    (anyptr)  arraygetname,     40,
  352. X    'C', 'V', "PUTNAME",         (anyptr)  putname,          40,
  353. X    'C', 'V', "CHARPUTNAME",     (anyptr)  charputname,      40,
  354. X    'C', 'V', "ARRAYPUTNAME",    (anyptr)  arrayputname,     40,
  355. X
  356. X/* RANGE CHECKING */
  357. X    'S', 'V', "CASECHECK",       (anyptr) &casecheck,         0,
  358. X    'S', 'V', "ARRAYCHECK",      (anyptr) &arraycheck,        0,
  359. X    'S', 'V', "RANGECHECK",      (anyptr) &rangecheck,        0,
  360. X    'S', 'V', "NILCHECK",        (anyptr) &nilcheck,          0,
  361. X    'S', 'V', "MALLOCCHECK",     (anyptr) &malloccheck,       0,
  362. X    'S', 'V', "CHECKFILEOPEN",   (anyptr) &checkfileopen,     1,
  363. X    'S', 'V', "CHECKFILEISOPEN", (anyptr) &checkfileisopen,   0,
  364. X    'S', 'V', "CHECKFILEWRITE",  (anyptr) &checkfilewrite,    2,
  365. X    'S', 'V', "CHECKREADFORMAT", (anyptr) &checkreadformat,   2,
  366. X    'S', 'V', "CHECKFILEEOF",    (anyptr) &checkfileeof,      2,
  367. X    'S', 'V', "CHECKSTDINEOF",   (anyptr) &checkstdineof,     2,
  368. X    'S', 'V', "CHECKFILESEEK",   (anyptr) &checkfileseek,     2,
  369. X}
  370. X#endif /* define_parameters */
  371. X    ;
  372. X
  373. X
  374. X#undef extern
  375. X
  376. X
  377. X#ifdef define_parameters
  378. X  int numparams = sizeof(rctable) / sizeof(struct rcstruct);
  379. X  Strlist *rcprevvalues[sizeof(rctable) / sizeof(struct rcstruct)];
  380. X#else
  381. X  extern int numparams;
  382. X  extern Strlist *rcprevvalues[];
  383. X#endif /* define_parameters */
  384. X
  385. X
  386. X
  387. X/* Global variables: */
  388. X
  389. X#ifdef define_globals
  390. X# define extern
  391. X#endif /* define_globals */
  392. X
  393. X
  394. Xextern char *charname, *ucharname, *scharname, *integername;
  395. Xextern long min_schar, max_schar, max_uchar;
  396. Xextern long min_sshort, max_sshort, max_ushort;
  397. X
  398. Xextern char *alloctemp;
  399. Xextern short error_crash;
  400. Xextern int total_bytes, total_exprs, total_meanings, total_strings;
  401. Xextern int total_symbols, total_types, total_stmts, total_strlists;
  402. Xextern int total_literals, total_ctxstacks, total_tempvars, total_inprecs;
  403. Xextern int total_parens, total_ptrdescs, total_misc;
  404. Xextern int final_bytes, final_exprs, final_meanings, final_strings;
  405. Xextern int final_symbols, final_types, final_stmts, final_strlists;
  406. Xextern int final_literals, final_ctxstacks, final_tempvars, final_inprecs;
  407. Xextern int final_parens, final_ptrdescs, final_misc;
  408. X
  409. Xextern char *infname, *outfname, *codefname, *hdrfname;
  410. Xextern char *requested_module;
  411. Xextern FILE *inf, *outf, *codef, *hdrf, *logf;
  412. Xextern short setup_complete, found_module;
  413. Xextern short regression, verbose, conserve_mem;
  414. Xextern int inf_lnum, inf_ltotal;
  415. X
  416. Xextern int outindent, outputmode;
  417. Xextern int outf_lnum;
  418. Xextern short dontbreaklines;
  419. X
  420. Xextern Token curtok;
  421. Xextern char curtokbuf[256], curtokcase[256];
  422. Xextern char *inbufptr;
  423. Xextern int inbufindent;
  424. Xextern long curtokint;
  425. Xextern Symbol *curtoksym;
  426. Xextern Meaning *curtokmeaning;
  427. Xextern Strlist *curcomments;
  428. Xextern Strlist **keepingstrlist;
  429. Xextern short ignore_directives, skipping_module;
  430. Xextern short C_lex;
  431. Xextern char sysprog_flag, partial_eval_flag, iocheck_flag;
  432. Xextern char range_flag, ovflcheck_flag, stackcheck_flag;
  433. Xextern short switch_strpos;
  434. Xextern int fixedflag;
  435. Xextern int numimports;
  436. Xextern Strlist *tempoptionlist;
  437. Xextern long curserial, serialcount;
  438. Xextern int notephase;
  439. Xextern Strlist *permimports;
  440. Xextern int permflag;
  441. X
  442. X#define SYMHASHSIZE 293
  443. Xextern Symbol *(symtab[SYMHASHSIZE]);
  444. Xextern short partialdump;
  445. X
  446. X#define MAXWITHS 100
  447. Xextern int withlevel;
  448. Xextern Type *withlist[MAXWITHS];
  449. Xextern Expr *withexprs[MAXWITHS];
  450. X
  451. Xextern Token blockkind;
  452. Xextern Meaning *curctx, *curctxlast, *nullctx;
  453. X
  454. Xextern int fixexpr_tryblock;
  455. Xextern short fixexpr_tryflag;
  456. X
  457. Xextern Type *tp_integer, *tp_char, *tp_boolean, *tp_real, *tp_longreal;
  458. Xextern Type *tp_anyptr, *tp_jmp_buf, *tp_schar, *tp_uchar;
  459. Xextern Type *tp_int, *tp_sshort, *tp_ushort, *tp_abyte, *tp_sbyte, *tp_ubyte;
  460. Xextern Type *tp_void, *tp_str255, *tp_strptr, *tp_text, *tp_charptr;
  461. Xextern Type *tp_unsigned, *tp_uint, *tp_sint, *tp_smallset, *tp_proc;
  462. Xextern Meaning *mp_string, *mp_true, *mp_false;
  463. Xextern Meaning *mp_input, *mp_output, *mp_stderr;
  464. Xextern Meaning *mp_maxint, *mp_minint, *mp_escapecode, *mp_ioresult;
  465. Xextern Meaning *mp_uchar, *mp_schar, *mp_unsigned, *mp_uint;
  466. Xextern Meaning *mp_str_hp, *mp_str_turbo;
  467. Xextern Meaning *mp_val_modula, *mp_val_turbo;
  468. Xextern Meaning *mp_blockread_ucsd, *mp_blockread_turbo;
  469. Xextern Meaning *mp_blockwrite_ucsd, *mp_blockwrite_turbo;
  470. Xextern Meaning *mp_dec_dec, *mp_dec_turbo;
  471. Xextern Expr *ex_input, *ex_output;
  472. Xextern Strlist *attrlist;
  473. X
  474. X
  475. X#ifndef define_globals
  476. X# undef extern
  477. X#endif
  478. X
  479. X
  480. X
  481. X
  482. X/* Function declarations are created automatically by "makeproto" */
  483. X
  484. X#include "p2c.hdrs"
  485. X
  486. X#include "p2c.proto"
  487. X
  488. X
  489. X
  490. X/* Our library omits declarations for these functions! */
  491. X
  492. Xint link           PP( (char *, char *) );
  493. Xint unlink         PP( (char *) );
  494. X
  495. X
  496. X
  497. X#define minspcthresh ((minspacingthresh >= 0) ? minspacingthresh : minspacing)
  498. X
  499. X#define delfreearg(ex, n) freeexpr((*(ex))->args[n]), deletearg(ex, n)
  500. X#define delsimpfreearg(ex, n) freeexpr((*(ex))->args[n]), delsimparg(ex, n)
  501. X
  502. X#define swapexprs(a,b) do {register Expr *t=(a);(a)=(b);(b)=(t);} while (0)
  503. X#define swapstmts(a,b) do {register Stmt *t=(a);(a)=(b);(b)=(t);} while (0)
  504. X
  505. X#define CHECKORDEXPR(ex,v) ((ex)->kind==EK_CONST ? (ex)->val.i - (v) : -2)
  506. X
  507. X#define FCheck(flag)  ((flag) == 1 || (!iocheck_flag && (flag)))
  508. X#define checkeof(fex)  (isvar(fex, mp_input) ? FCheck(checkstdineof)  \
  509. X                         : FCheck(checkfileeof))
  510. X
  511. X
  512. X#ifdef TEST_MALLOC   /* Memory testing */
  513. X
  514. X#define ALLOC(N,TYPE,NAME) \
  515. X    (TYPE *) test_malloc((unsigned)((N)*sizeof(TYPE)),  \
  516. X             &__CAT__(total_,NAME), &__CAT__(final_,NAME))
  517. X
  518. X#define ALLOCV(N,TYPE,NAME) \
  519. X    (TYPE *) test_malloc((unsigned)(N),  \
  520. X             &__CAT__(total_,NAME), &__CAT__(final_,NAME))
  521. X
  522. X#define REALLOC(P,N,TYPE) \
  523. X    (TYPE *) test_realloc((char *)(P), (unsigned)((N)*sizeof(TYPE)))
  524. X
  525. X#define FREE(P) test_free((char*)(P))
  526. X
  527. X#else  /* not TEST_MALLOC */
  528. X
  529. X/* If p2c always halts immediately with an out-of-memory error, try
  530. X   recompiling all modules with BROKEN_OR defined. */
  531. X#ifdef BROKEN_OR
  532. X
  533. X#define ALLOC(N,TYPE,NAME) \
  534. X    ((alloctemp = malloc((unsigned)((N)*sizeof(TYPE)))), \
  535. X     (alloctemp ? (TYPE *) alloctemp : (TYPE *) outmem()))
  536. X
  537. X#define ALLOCV(N,TYPE,NAME) \
  538. X    ((alloctemp = malloc((unsigned)(N))), \
  539. X     (alloctemp ? (TYPE *) alloctemp : (TYPE *) outmem()))
  540. X
  541. X#define REALLOC(P,N,TYPE) \
  542. X    ((alloctemp = realloc((char*)(P), (unsigned)((N)*sizeof(TYPE)))), \
  543. X     (alloctemp ? (TYPE *) alloctemp : (TYPE *) outmem()))
  544. X
  545. X#define FREE(P) free((char*)(P))
  546. X
  547. X#else  /* not BROKEN_OR */
  548. X
  549. X#define ALLOC(N,TYPE,NAME) \
  550. X    ((alloctemp = malloc((unsigned)((N)*sizeof(TYPE)))) || outmem(), \
  551. X     (TYPE *) alloctemp)
  552. X
  553. X#define ALLOCV(N,TYPE,NAME) \
  554. X    ((alloctemp = malloc((unsigned)(N))) || outmem(), \
  555. X     (TYPE *) alloctemp)
  556. X
  557. X#define REALLOC(P,N,TYPE) \
  558. X    ((alloctemp = realloc((char*)(P), (unsigned)((N)*sizeof(TYPE)))) || outmem(), \
  559. X     (TYPE *) alloctemp)
  560. X
  561. X#define FREE(P) free((char*)(P))
  562. X
  563. X#endif  /* BROKEN_OR */
  564. X#endif  /* TEST_MALLOC */
  565. X
  566. X
  567. X#define MIN(a,b) ((a) < (b) ? (a) : (b))
  568. X#define MAX(a,b) ((a) > (b) ? (a) : (b))
  569. X
  570. X
  571. X
  572. X#ifdef toupper
  573. X# undef toupper
  574. X# undef tolower
  575. X# define toupper(c)  my_toupper(c)
  576. X# define tolower(c)  my_tolower(c)
  577. X# define _toupper(c)  ((c)-'a'+'A')
  578. X# define _tolower(c)  ((c)-'A'+'a')
  579. X#endif
  580. X
  581. X
  582. X
  583. X
  584. X/* End. */
  585. X
  586. END_OF_FILE
  587. if test 28075 -ne `wc -c <'src/trans.h.2'`; then
  588.     echo shar: \"'src/trans.h.2'\" unpacked with wrong size!
  589. fi
  590. # end of 'src/trans.h.2'
  591. fi
  592. echo shar: End of archive 9 \(of 32\).
  593. cp /dev/null ark9isdone
  594. MISSING=""
  595. for I in 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 ; do
  596.     if test ! -f ark${I}isdone ; then
  597.     MISSING="${MISSING} ${I}"
  598.     fi
  599. done
  600. if test "${MISSING}" = "" ; then
  601.     echo You have unpacked all 32 archives.
  602.     echo "Now see PACKNOTES and the README"
  603.     rm -f ark[1-9]isdone ark[1-9][0-9]isdone
  604. else
  605.     echo You still need to unpack the following archives:
  606.     echo "        " ${MISSING}
  607. fi
  608. ##  End of shell archive.
  609. exit 0
  610.