home *** CD-ROM | disk | FTP | other *** search
/ OS/2 Shareware BBS: 22 gnu / 22-gnu.zip / fweb153.zip / fweb-1.53 / web / output.hweb < prev    next >
Text File  |  1995-09-23  |  3KB  |  74 lines

  1. @z --- output.hweb ---
  2.  
  3. FWEB version 1.53 (September 23, 1995)
  4.  
  5. Based on version 0.5 of S. Levy's CWEB [copyright (C) 1987 Princeton University]
  6.  
  7. @x-----------------------------------------------------------------------------
  8.  
  9. @ The token lists for translated \TeX\ output contain some special control
  10. symbols as well as ordinary characters. These control symbols are
  11. interpreted by \.{WEAVE} before they are written to the output file.
  12.  
  13. \yskip\hang |break_space| denotes an optional line break or an en space;
  14.  
  15. \yskip\hang |force| denotes a line break;
  16.  
  17. \yskip\hang |big_force| denotes a line break with additional vertical space;
  18.  
  19. \yskip\hang |opt| denotes an optional line break (with the continuation
  20. line indented two ems with respect to the normal starting position)---this
  21. code is followed by an integer~|n|, and the break will occur with
  22. penalty~$10n$; 
  23.  
  24. \yskip\hang |backup| denotes a backspace of one em;
  25.  
  26. \yskip\hang |cancel| obliterates any |break_space| or |force| or
  27. |big_force| tokens that immediately precede or follow it and also cancels
  28. any |backup| tokens that follow it;
  29.  
  30. \yskip\hang |indent| causes future lines to be indented one more em;
  31.  
  32. \yskip\hang |outdent| causes future lines to be indented one less em.
  33.  
  34. \yskip\noindent All of these tokens are removed from the \TeX\ output that
  35. comes from \cee\ text between \Cb\ signs; |break_space| and |force| and
  36. |big_force| become single spaces in this mode. The translation of other
  37. \cee\ texts results in \TeX\ control sequences~\.{\\1}, \.{\\2}, \.{\\3},
  38. \.{\\4}, \.{\\5}, \.{\\6}, and~\.{\\7} corresponding respectively to
  39. |indent|, |outdent|, |opt|, |backup|, |break_space|, |force|, and
  40. |big_force|. However, a sequence of consecutive~`\.\ ', |break_space|,
  41. |force|, and/or |big_force| tokens is first replaced by a single token (the
  42. maximum of the given ones).
  43.  
  44. The tokens |math_rel| and |math_bin| will be translated into
  45. \.{\\mathrel\{} and \.{\\mathbin\{}, respectively.  Other control sequences
  46. in the \TeX\ output will be `\.{\\\vertbar}', which prefaces single-letter
  47. identifiers, `\.{\\\\\{}$\,\ldots\,$\.\}' surrounding
  48. identifiers, `\.{\\\&\{}$\,\ldots\,$\.\}' surrounding reserved words,
  49. `\.{\\\@@\{\dots\}}' surrounding names of intrinsic functions,
  50. `\.{\\.\{}$\,\ldots\,$\.\}' surrounding strings,
  51. `\.{\\WC\{}$\,\ldots\,$\.\}$\,$|force|' surrounding comments, and
  52. `\.{\\WX$n$:}$\,\ldots\,$\.{\\X}\.{\ }$\ell$\.{\\X}' surrounding module
  53. names, where |n|~is the module number and $\ell$~is the language symbol.
  54.  
  55. @d math_bin OCTAL(345)
  56. @d math_rel OCTAL(346)
  57.  
  58. @d toggle_meta OCTAL(347)
  59.  
  60. /* --- Non-math tokens (see |big_app| in \.{prod.web}) --- */
  61. @d big_cancel OCTAL(350) // Like |cancel|; also overrides spaces.
  62. @d cancel OCTAL(351) // Override |backup|, |break_space|, |force|, |big_force|.
  63.  
  64. /* \bf The numerical order of the following must be preserved!! */
  65. @d indent OCTAL(352) // One more tab (\.{\\1}).
  66. @d outdent OCTAL(353) // One less tab (\.{\\2}).
  67. @d opt OCTAL(354) // Optional break in mid-statement (\.{\\3}).
  68. @d backup OCTAL(355) // Stick out one unit to the left (\.{\\4}).
  69. @d break_space OCTAL(356) // Optional break between statements (\.{\\5}).
  70. @d force OCTAL(357) // Forced break between statements (\.{\\6}).
  71. @d big_force OCTAL(360) // Forced break with additional space (\.{\\7}).
  72.  
  73. @d end_translation OCTAL(361) // Special sentinel token at end of list.
  74.