home *** CD-ROM | disk | FTP | other *** search
/ Atari FTP / ATARI_FTP_0693.zip / ATARI_FTP_0693 / Tex / Tex31 / texsrc.lzh / TEXSRC.LZH / texd.h < prev   
C/C++ Source or Header  |  1990-11-28  |  12KB  |  386 lines

  1. #undef    TRIP
  2. #undef    TRAP
  3. #define    STAT
  4. #undef    DEBUG
  5. #include "../common/texmf.h"
  6. #define memmax 65530L 
  7. #define memmin 0 
  8. #define bufsize 2000 
  9. #define errorline 79 
  10. #define halferrorline 50 
  11. #define maxprintline 79 
  12. #define stacksize 200 
  13. #define maxinopen 15 
  14. #define fontmax 120 
  15. #define fontmemsize 36000L 
  16. #define paramsize 60 
  17. #define nestsize 40 
  18. #define maxstrings 4400 
  19. #define stringvacancies 15000 
  20. #define poolsize 45000L 
  21. #define savesize 2000 
  22. #define triesize 24000 
  23. #define trieopsize 750 
  24. #define negtrieopsize -750 
  25. #define mintrieop 0 
  26. #define maxtrieop 500 
  27. #define dvibufsize 16384 
  28. #define poolname "tex.pool" 
  29. #define memtop 65530L 
  30. typedef unsigned char ASCIIcode  ; 
  31. typedef unsigned char eightbits  ; 
  32. typedef integer poolpointer  ; 
  33. typedef integer strnumber  ; 
  34. typedef unsigned char packedASCIIcode  ; 
  35. typedef integer scaled  ; 
  36. typedef integer nonnegativeinteger  ; 
  37. typedef schar smallnumber  ; 
  38. typedef unsigned char quarterword  ; 
  39. typedef unsigned short halfword  ; 
  40. typedef schar twochoices  ; 
  41. typedef schar fourchoices  ; 
  42. #include "memory.h"
  43. typedef schar glueord  ; 
  44. typedef struct {
  45.     short modefield ; 
  46.   halfword headfield, tailfield ; 
  47.   integer pgfield, mlfield ; 
  48.   memoryword auxfield ; 
  49.   quarterword lhmfield, rhmfield ; 
  50. } liststaterecord  ; 
  51. typedef schar groupcode  ; 
  52. typedef struct {
  53.     quarterword statefield, indexfield ; 
  54.   halfword startfield, locfield, limitfield, namefield ; 
  55. } instaterecord  ; 
  56. typedef integer internalfontnumber  ; 
  57. typedef integer fontindex  ; 
  58. typedef integer dviindex  ; 
  59. typedef integer trieopcode  ; 
  60. typedef integer triepointer  ; 
  61. typedef short hyphpointer  ; 
  62. EXTERN integer bad  ; 
  63. EXTERN ASCIIcode xord[256]  ; 
  64. EXTERN ASCIIcode xchr[256]  ; 
  65. EXTERN char nameoffile[FILENAMESIZE + 1]  ; 
  66. EXTERN integer namelength  ; 
  67. EXTERN ASCIIcode buffer[bufsize + 1]  ; 
  68. EXTERN integer first  ; 
  69. EXTERN integer last  ; 
  70. EXTERN integer maxbufstack  ; 
  71. EXTERN packedASCIIcode strpool[poolsize + 1]  ; 
  72. EXTERN poolpointer strstart[maxstrings + 1]  ; 
  73. EXTERN poolpointer poolptr  ; 
  74. EXTERN strnumber strptr  ; 
  75. EXTERN poolpointer initpoolptr  ; 
  76. EXTERN strnumber initstrptr  ; 
  77. #ifdef INITEX
  78. EXTERN alphafile poolfile  ; 
  79. #endif /* INITEX */
  80. EXTERN alphafile logfile  ; 
  81. EXTERN schar selector  ; 
  82. EXTERN schar dig[23]  ; 
  83. EXTERN integer tally  ; 
  84. EXTERN integer termoffset  ; 
  85. EXTERN integer fileoffset  ; 
  86. EXTERN ASCIIcode trickbuf[errorline + 1]  ; 
  87. EXTERN integer trickcount  ; 
  88. EXTERN integer firstcount  ; 
  89. EXTERN schar interaction  ; 
  90. EXTERN boolean deletionsallowed  ; 
  91. EXTERN schar history  ; 
  92. EXTERN schar errorcount  ; 
  93. EXTERN strnumber helpline[6]  ; 
  94. EXTERN schar helpptr  ; 
  95. EXTERN boolean useerrhelp  ; 
  96. EXTERN integer interrupt  ; 
  97. EXTERN boolean OKtointerrupt  ; 
  98. EXTERN boolean aritherror  ; 
  99. EXTERN scaled remainder  ; 
  100. EXTERN halfword tempptr  ; 
  101. EXTERN memoryword 
  102. #define zmem (zzzaa - (int)(memmin))
  103.   zzzaa[memmax - memmin + 1]  ; 
  104. EXTERN halfword lomemmax  ; 
  105. EXTERN halfword himemmin  ; 
  106. EXTERN integer varused, dynused  ; 
  107. EXTERN halfword avail  ; 
  108. EXTERN halfword memend  ; 
  109. EXTERN halfword rover  ; 
  110. #ifdef DEBUG
  111. EXTERN boolean 
  112. #define freearr (zzzab - (int)(memmin))
  113.   zzzab[memmax - memmin + 1]  ; 
  114. EXTERN boolean 
  115. #define wasfree (zzzac - (int)(memmin))
  116.   zzzac[memmax - memmin + 1]  ; 
  117. EXTERN halfword wasmemend, waslomax, washimin  ; 
  118. EXTERN boolean panicking  ; 
  119. #endif /* DEBUG */
  120. EXTERN integer fontinshortdisplay  ; 
  121. EXTERN integer depththreshold  ; 
  122. EXTERN integer breadthmax  ; 
  123. EXTERN liststaterecord nest[nestsize + 1]  ; 
  124. EXTERN integer nestptr  ; 
  125. EXTERN integer maxneststack  ; 
  126. EXTERN liststaterecord curlist  ; 
  127. EXTERN short shownmode  ; 
  128. EXTERN schar oldsetting  ; 
  129. EXTERN memoryword zeqtb[7007]  ; 
  130. EXTERN quarterword 
  131. #define xeqlevel (zzzad -6163)
  132.   zzzad[844]  ; 
  133. EXTERN twohalves 
  134. #define hash (zzzae -514)
  135.   zzzae[3267]  ; 
  136. EXTERN halfword hashused  ; 
  137. EXTERN boolean nonewcontrolsequence  ; 
  138. EXTERN integer cscount  ; 
  139. EXTERN memoryword savestack[savesize + 1]  ; 
  140. EXTERN integer saveptr  ; 
  141. EXTERN integer maxsavestack  ; 
  142. EXTERN quarterword curlevel  ; 
  143. EXTERN groupcode curgroup  ; 
  144. EXTERN integer curboundary  ; 
  145. EXTERN integer magset  ; 
  146. EXTERN eightbits curcmd  ; 
  147. EXTERN halfword curchr  ; 
  148. EXTERN halfword curcs  ; 
  149. EXTERN halfword curtok  ; 
  150. EXTERN instaterecord inputstack[stacksize + 1]  ; 
  151. EXTERN integer inputptr  ; 
  152. EXTERN integer maxinstack  ; 
  153. EXTERN instaterecord curinput  ; 
  154. EXTERN integer inopen  ; 
  155. EXTERN integer openparens  ; 
  156. EXTERN alphafile inputfile[maxinopen + 1]  ; 
  157. EXTERN integer line  ; 
  158. EXTERN integer linestack[maxinopen + 1]  ; 
  159. EXTERN schar scannerstatus  ; 
  160. EXTERN halfword warningindex  ; 
  161. EXTERN halfword defref  ; 
  162. EXTERN halfword paramstack[paramsize + 1]  ; 
  163. EXTERN integer paramptr  ; 
  164. EXTERN integer maxparamstack  ; 
  165. EXTERN integer alignstate  ; 
  166. EXTERN integer baseptr  ; 
  167. EXTERN halfword parloc  ; 
  168. EXTERN halfword partoken  ; 
  169. EXTERN boolean forceeof  ; 
  170. EXTERN halfword curmark[5]  ; 
  171. EXTERN schar longstate  ; 
  172. EXTERN halfword pstack[9]  ; 
  173. EXTERN integer curval  ; 
  174. EXTERN schar curvallevel  ; 
  175. EXTERN smallnumber radix  ; 
  176. EXTERN glueord curorder  ; 
  177. EXTERN alphafile readfile[16]  ; 
  178. EXTERN schar readopen[17]  ; 
  179. EXTERN halfword condptr  ; 
  180. EXTERN schar iflimit  ; 
  181. EXTERN smallnumber curif  ; 
  182. EXTERN integer ifline  ; 
  183. EXTERN integer skipline  ; 
  184. EXTERN strnumber curname  ; 
  185. EXTERN strnumber curarea  ; 
  186. EXTERN strnumber curext  ; 
  187. EXTERN poolpointer areadelimiter  ; 
  188. EXTERN poolpointer extdelimiter  ; 
  189. EXTERN integer formatdefaultlength  ; 
  190. EXTERN ccharpointer TEXformatdefault  ; 
  191. EXTERN boolean nameinprogress  ; 
  192. EXTERN strnumber jobname  ; 
  193. EXTERN boolean logopened  ; 
  194. EXTERN bytefile dvifile  ; 
  195. EXTERN strnumber outputfilename  ; 
  196. EXTERN strnumber logname  ; 
  197. EXTERN bytefile tfmfile  ; 
  198. EXTERN memoryword fontinfo[fontmemsize + 1]  ; 
  199. EXTERN fontindex fmemptr  ; 
  200. EXTERN internalfontnumber fontptr  ; 
  201. EXTERN fourquarters fontcheck[fontmax + 1]  ; 
  202. EXTERN scaled fontsize[fontmax + 1]  ; 
  203. EXTERN scaled fontdsize[fontmax + 1]  ; 
  204. EXTERN halfword fontparams[fontmax + 1]  ; 
  205. EXTERN strnumber fontname[fontmax + 1]  ; 
  206. EXTERN strnumber fontarea[fontmax + 1]  ; 
  207. EXTERN eightbits fontbc[fontmax + 1]  ; 
  208. EXTERN eightbits fontec[fontmax + 1]  ; 
  209. EXTERN halfword fontglue[fontmax + 1]  ; 
  210. EXTERN boolean fontused[fontmax + 1]  ; 
  211. EXTERN integer hyphenchar[fontmax + 1]  ; 
  212. EXTERN integer skewchar[fontmax + 1]  ; 
  213. EXTERN fontindex bcharlabel[fontmax + 1]  ; 
  214. EXTERN short fontbchar[fontmax + 1]  ; 
  215. EXTERN short fontfalsebchar[fontmax + 1]  ; 
  216. EXTERN integer charbase[fontmax + 1]  ; 
  217. EXTERN integer widthbase[fontmax + 1]  ; 
  218. EXTERN integer heightbase[fontmax + 1]  ; 
  219. EXTERN integer depthbase[fontmax + 1]  ; 
  220. EXTERN integer italicbase[fontmax + 1]  ; 
  221. EXTERN integer ligkernbase[fontmax + 1]  ; 
  222. EXTERN integer kernbase[fontmax + 1]  ; 
  223. EXTERN integer extenbase[fontmax + 1]  ; 
  224. EXTERN integer parambase[fontmax + 1]  ; 
  225. EXTERN fourquarters nullcharacter  ; 
  226. EXTERN integer totalpages  ; 
  227. EXTERN scaled maxv  ; 
  228. EXTERN scaled maxh  ; 
  229. EXTERN integer maxpush  ; 
  230. EXTERN integer lastbop  ; 
  231. EXTERN integer deadcycles  ; 
  232. EXTERN boolean doingleaders  ; 
  233. EXTERN quarterword c, f  ; 
  234. EXTERN scaled ruleht, ruledp, rulewd  ; 
  235. EXTERN halfword g  ; 
  236. EXTERN integer lq, lr  ; 
  237. EXTERN eightbits dvibuf[dvibufsize + 1]  ; 
  238. EXTERN dviindex halfbuf  ; 
  239. EXTERN dviindex dvilimit  ; 
  240. EXTERN dviindex dviptr  ; 
  241. EXTERN integer dvioffset  ; 
  242. EXTERN integer dvigone  ; 
  243. EXTERN halfword downptr, rightptr  ; 
  244. EXTERN scaled dvih, dviv  ; 
  245. EXTERN scaled curh, curv  ; 
  246. EXTERN internalfontnumber dvif  ; 
  247. EXTERN integer curs  ; 
  248. EXTERN scaled totalstretch[4], totalshrink[4]  ; 
  249. EXTERN integer lastbadness  ; 
  250. EXTERN halfword adjusttail  ; 
  251. EXTERN integer packbeginline  ; 
  252. EXTERN twohalves emptyfield  ; 
  253. EXTERN fourquarters nulldelimiter  ; 
  254. EXTERN halfword curmlist  ; 
  255. EXTERN smallnumber curstyle  ; 
  256. EXTERN smallnumber cursize  ; 
  257. EXTERN scaled curmu  ; 
  258. EXTERN boolean mlistpenalties  ; 
  259. EXTERN internalfontnumber curf  ; 
  260. EXTERN quarterword curc  ; 
  261. EXTERN fourquarters curi  ; 
  262. EXTERN integer magicoffset  ; 
  263. EXTERN halfword curalign  ; 
  264. EXTERN halfword curspan  ; 
  265. EXTERN halfword curloop  ; 
  266. EXTERN halfword alignptr  ; 
  267. EXTERN halfword curhead, curtail  ; 
  268. EXTERN halfword justbox  ; 
  269. EXTERN halfword passive  ; 
  270. EXTERN halfword printednode  ; 
  271. EXTERN halfword passnumber  ; 
  272. EXTERN scaled activewidth[7]  ; 
  273. EXTERN scaled curactivewidth[7]  ; 
  274. EXTERN scaled background[7]  ; 
  275. EXTERN scaled breakwidth[7]  ; 
  276. EXTERN boolean noshrinkerroryet  ; 
  277. EXTERN halfword curp  ; 
  278. EXTERN boolean secondpass  ; 
  279. EXTERN boolean finalpass  ; 
  280. EXTERN integer threshold  ; 
  281. EXTERN integer minimaldemerits[4]  ; 
  282. EXTERN integer minimumdemerits  ; 
  283. EXTERN halfword bestplace[4]  ; 
  284. EXTERN halfword bestplline[4]  ; 
  285. EXTERN scaled discwidth  ; 
  286. EXTERN halfword easyline  ; 
  287. EXTERN halfword lastspecialline  ; 
  288. EXTERN scaled firstwidth  ; 
  289. EXTERN scaled secondwidth  ; 
  290. EXTERN scaled firstindent  ; 
  291. EXTERN scaled secondindent  ; 
  292. EXTERN halfword bestbet  ; 
  293. EXTERN integer fewestdemerits  ; 
  294. EXTERN halfword bestline  ; 
  295. EXTERN integer actuallooseness  ; 
  296. EXTERN integer linediff  ; 
  297. EXTERN short hc[66]  ; 
  298. EXTERN smallnumber hn  ; 
  299. EXTERN halfword ha, hb  ; 
  300. EXTERN internalfontnumber hf  ; 
  301. EXTERN short hu[64]  ; 
  302. EXTERN integer hyfchar  ; 
  303. EXTERN ASCIIcode curlang  ; 
  304. EXTERN integer lhyf, rhyf  ; 
  305. EXTERN schar hyf[65]  ; 
  306. EXTERN halfword initlist  ; 
  307. EXTERN boolean initlig  ; 
  308. EXTERN boolean initlft  ; 
  309. EXTERN smallnumber hyphenpassed  ; 
  310. EXTERN halfword curl, curr  ; 
  311. EXTERN halfword curq  ; 
  312. EXTERN halfword ligstack  ; 
  313. EXTERN boolean ligaturepresent  ; 
  314. EXTERN boolean lfthit, rthit  ; 
  315. EXTERN halfword trietrl[triesize + 1]  ; 
  316. EXTERN halfword trietro[triesize + 1]  ; 
  317. EXTERN quarterword trietrc[triesize + 1]  ; 
  318. EXTERN smallnumber hyfdistance[trieopsize + 1]  ; 
  319. EXTERN smallnumber hyfnum[trieopsize + 1]  ; 
  320. EXTERN quarterword hyfnext[trieopsize + 1]  ; 
  321. EXTERN integer opstart[256]  ; 
  322. EXTERN strnumber hyphword[308]  ; 
  323. EXTERN halfword hyphlist[308]  ; 
  324. EXTERN hyphpointer hyphcount  ; 
  325. #ifdef INITEX
  326. EXTERN integer 
  327. #define trieophash (zzzaf - (int)(negtrieopsize))
  328.   zzzaf[trieopsize - negtrieopsize + 1]  ; 
  329. EXTERN trieopcode trieused[256]  ; 
  330. EXTERN ASCIIcode trieoplang[trieopsize + 1]  ; 
  331. EXTERN trieopcode trieopval[trieopsize + 1]  ; 
  332. EXTERN integer trieopptr  ; 
  333. #endif /* INITEX */
  334. EXTERN trieopcode maxopused  ; 
  335. EXTERN boolean smallop  ; 
  336. #ifdef INITEX
  337. EXTERN packedASCIIcode triec[triesize + 1]  ; 
  338. EXTERN trieopcode trieo[triesize + 1]  ; 
  339. EXTERN triepointer triel[triesize + 1]  ; 
  340. EXTERN triepointer trier[triesize + 1]  ; 
  341. EXTERN triepointer trieptr  ; 
  342. EXTERN triepointer triehash[triesize + 1]  ; 
  343. #endif /* INITEX */
  344. #ifdef INITEX
  345. EXTERN boolean trietaken[triesize + 1]  ; 
  346. EXTERN triepointer triemin[256]  ; 
  347. EXTERN triepointer triemax  ; 
  348. EXTERN boolean trienotready  ; 
  349. #endif /* INITEX */
  350. EXTERN scaled bestheightplusdepth  ; 
  351. EXTERN halfword pagetail  ; 
  352. EXTERN schar pagecontents  ; 
  353. EXTERN scaled pagemaxdepth  ; 
  354. EXTERN halfword bestpagebreak  ; 
  355. EXTERN integer leastpagecost  ; 
  356. EXTERN scaled bestsize  ; 
  357. EXTERN scaled pagesofar[8]  ; 
  358. EXTERN halfword lastglue  ; 
  359. EXTERN integer lastpenalty  ; 
  360. EXTERN scaled lastkern  ; 
  361. EXTERN integer insertpenalties  ; 
  362. EXTERN boolean outputactive  ; 
  363. EXTERN internalfontnumber mainf  ; 
  364. EXTERN fourquarters maini  ; 
  365. EXTERN fourquarters mainj  ; 
  366. EXTERN fontindex maink  ; 
  367. EXTERN halfword mainp  ; 
  368. EXTERN integer mains  ; 
  369. EXTERN halfword bchar  ; 
  370. EXTERN halfword falsebchar  ; 
  371. EXTERN boolean cancelboundary  ; 
  372. EXTERN boolean insdisc  ; 
  373. EXTERN halfword curbox  ; 
  374. EXTERN halfword aftertoken  ; 
  375. EXTERN boolean longhelpseen  ; 
  376. EXTERN strnumber formatident  ; 
  377. EXTERN wordfile fmtfile  ; 
  378. EXTERN integer readyalready  ; 
  379. EXTERN alphafile writefile[16]  ; 
  380. EXTERN boolean writeopen[18]  ; 
  381. EXTERN halfword writeloc  ; 
  382. EXTERN poolpointer editnamestart  ; 
  383. EXTERN integer editnamelength, editline, tfmtemp  ; 
  384.  
  385. #include "coerce.h"
  386.