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

  1. @z --- ccodes.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. @ Here is a list of the category codes that scraps can have.
  10.  
  11. @U expr
  12. @D expr 1 // An expression, including perhaps a single identifier.
  13.  
  14. @U unop
  15. @D unop 2 // A unary operator.
  16.  
  17. @U binop
  18. @D binop 3 // A binary operator.
  19.  
  20. @D unorbinop 4
  21.   // An operator that can be unary or binary, depending on context.
  22. @D cast 5 // A cast.
  23. @D question 6 // A question mark and possibly the expressions flanking it.
  24. @D lbrace 7 // A left brace.
  25. @D rbrace 8 // A right brace.
  26. @D decl_hd 9 // An incomplete declaration.
  27. @D comma 10 // A comma.
  28. @D lpar 11 // A left parenthesis.
  29. @D rpar 12 // A right parenthesis.
  30. @D lbracket 13 // A left bracket.
  31. @D rbracket 14 // A right bracket.
  32. @D exp_op 18 // Exponentiation.
  33.  
  34. @D max_math 19 
  35.     // Category codes less than this can only be printed in math mode.
  36.  
  37. @D struct_hd 21 // The beginning of a structure specifier.
  38. @D decl 20 // A complete declaration.
  39. @D label 22 // Fortran statement label.
  40. @D stmt 23 // A complete statement.
  41. @D functn 24 // A complete function.
  42. @D fn_decl 25 // A function declarator.
  43. @D else_like 26 // The beginning of a conditional.
  44. @D semi 27 // A semicolon.
  45. @D colon 28 // A colon.
  46. @D tag 29 // A statement label.
  47. @D if_hd 30 // The beginning of a conditional.
  48. @D common_hd 31
  49. @D read_hd 32
  50. @D slashes 33
  51. @D implicit_hd 34
  52. @D lproc 35 // Begins a preprocessor command.
  53. @D rproc 36 // Ends a preprocessor command.
  54. @D ignore_scrap 37 // A full preprocessor command.
  55. @D for_hd 38
  56. @D newline 39
  57. @D language_scrap 40 // So we can change languages during translation.
  58.  
  59. @D do_like 55 // \&{do}.
  60. @D for_like 56 // \&{for}, \&{switch}.
  61. @D if_like 57 // \&{if}, \&{while},  \&{ifdef}, \&{ifndef}, \&{endif}.
  62. @D int_like 58 // \&{int}, \&{char}, \&{extern}, \dots.
  63. @D case_like 59 // \&{return}, \&{goto}, \&{break}, \&{continue}.
  64. @D sizeof_like 60 // \&{sizeof}.
  65. @D struct_like 61 // \&{struct}.
  66. @D typedef_like 62 // \&{typedef}.
  67. @D define_like 63 // \&{define}.
  68. @D common_like 64 // \&{common}, \&{save}, \&{namelist} . 
  69. @D read_like 65 /* \&{read}, \&{write}, \&{print}, \&{backspace},
  70.     \&{rewind}, \&{open}, \&{close}, \&{endfile}, \&{inquire}, \&{decode},
  71.     \&{encode}.  */
  72. @D entry_like 66 // \&{entry} .
  73. @D implicit_like 67 // \&{implicit}.
  74. @D assign_like 68 // \&{assign}.
  75. @D built_in 69 /* \&{changequote}, \&{define}, \&{divert}, \&{eval},
  76.     \&{ifdef}, \&{ifdef}, \&{incr}, \&{len}, \&{undefine}, \&{undivert}. */
  77. @D Rdo_like 70 // \Ratfor\ \&{do}.
  78. @D endif_like 71 // \&{endif}, \&{enddo}.
  79. @D end_like 72 // \&{end}.
  80. @D END_like 73
  81. @D go_like 74 // \&{go}.
  82. @D no_order 75 // \&{include}.
  83. @D until_like 76 // \&{until}.
  84. @D IF_like 77 
  85. @D IF_top 78
  86. @D else_hd 79
  87. @D ELSE_like 80
  88. @D space 81 // For C~preprocessor.
  89. @D LPROC 82
  90. @D UNOP 83 // ``\.{{\it unop}\ }''.
  91. @D BINOP 84 // ``\.{\ {\it binop}\ }''.
  92. @D COMMA 85 // ``\.{\ {\it comma}\ }''.
  93. @D _EXPR 86 // ``\.{\ {\it expr}}''.
  94. @D _EXPR_ 87 // ``\.{\ {\it expr}\ }''.
  95. @D EXPR_ 88 // ''\.{{\it expr}\ }''.
  96. @D Decl_hd 89
  97. @D key_wd 90 // May be unused now.
  98. @D program_like 91 // |@r program|, |@r subroutine|, |@r function|.
  99. @D CASE_like 92
  100. @D modifier 93 // |const|, |volatile|.
  101. @D class_like 94 // \Cpp: |class|.
  102. @D op_like 95 // \Cpp: |operator|.
  103. @D new_like 96 // \Cpp: |new|, |delete|.
  104. @D proc_like 97 // \Fortran-90: |@r procedure|.
  105. @D private_like 98 // \Fortran-90: |@r private|, |@r public|, |@r sequence|.
  106. @D slash_like 99 // \Fortran: slash in |@r data| statement.
  107. @D fcn_hd 100 // \Fortran: Beginning of function.
  108. @D END_stmt 101 // \Fortran: |@r end;|.
  109. @D huge_like 102 // For |huge|.
  110. @D imp_reserved 103 // The result of~\.{@@`}.
  111. @D extern_like 104 // |extern|.
  112. @D while_do 105 // |while| after |do|.
  113. @D template 106 // |@c++ template|
  114. @D langle 107 // A '\.<'.
  115. @D tstart 108 // The '\.<' beginning a template list.
  116. @D tlist 109 // |@c++ int<int, int>|
  117. @D rangle 110 // A '\.>'.
  118. @D namespace 111 // |@c++ namespace|
  119. @D virtual 112 // |@c++ virtual|
  120. @D reference 113 // |@c++ int& ref;|
  121.  
  122. @A
  123. @e@;
  124.