html.m4 4.6 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113
  1. divert(-1)
  2. changecom()
  3. define(`M4NHEADER', `<!DOCTYPE html>
  4. <head>
  5. <meta charset="utf-8" />
  6. <title>THISNAME() - BRIEF()</title>
  7. <link rel="stylesheet" href="m4n.css" type="text/css"> />
  8. </head>
  9. <body>
  10. ')
  11. define(`M4NFOOTER', `</body>
  12. </html>')
  13. define(`HEADING', `
  14. <h1><a name="$1">$1</a></h1>')
  15. define(`NAME_TEXT', `THISNAME() - BRIEF()')
  16. define(`CHARACTER_CLASS', <a href="/character-class.html#$1" class="character">$1</a>)
  17. define(`CONCEPT', <a href="#$1" class="concept">$2</a>)
  18. define(`CONCEPT_DEFINITION', <h2 id="$1" class="concept">$2</h2>)
  19. define(`FLAG', <div><dt>$1</dt><dd>$2</dd></div>)
  20. define(`__', <li>$1</li>)
  21. define(`THIS', <code class="THISTYPE">THISNAME</code>)
  22. define(`MATH', <math>$1</math>)
  23. define(`PI', &pi;)
  24. define(`POW', $1<sup>$2</sup>)
  25. define(`SQRT', &radic;$1)
  26. define(`FLOOR', &lfloor;$1&rfloor;)
  27. define(`CEIL', &lceil;$1&rceil;)
  28. define(`ABS', |$1|)
  29. define(`VAR', <var class="math">$1</var>)
  30. define(`ARGUMENT', <var class="argument">$1</var>)
  31. define(`CHAR', <code class="character">$1</code>)
  32. define(`CAST', <code>(<span class="type">$1</span>)($2)</code>)
  33. define(`CONSTANT', <a href="/i/$1.html" class="constant">$1</a>)
  34. define(`COMMENT', <code class="comment">/* $1 */</code>)
  35. define(`DEFINITION', <code class="definition">$1</code>)
  36. define(`LITERAL', <code class="literal">$1</code>)
  37. define(`OPERATOR', <code class="operator">$1</code>)
  38. define(`FUNCTION', <a href="/i/$1.html" class="function">$1()</a>)
  39. define(`HEADER', <a href="/i/$1.html" class="header">$1</a>)
  40. define(`LT', &lt;)
  41. define(`GT', &gt;)
  42. define(`IDENTIFIER', <a href="/i/$1.html" class="identifier">$1</a>)
  43. define(`SPACE', <code class="character"><i>space</i></code>)
  44. define(`TYPE', <code class="type">$1</code>)
  45. define(`TYPEDEF', <a href="/i/$1.html" class="type">$1</a>)
  46. define(`STRUCTDEF', <a href="/i/$1.html" class="type">struct $1</a>)
  47. define(`MEMBER', <code class="member">$1</code>)
  48. ifelse(`THISTYPE', `function', `define(`DESC_INTRO', 1)')
  49. ifelse(`THISTYPE', `macro', `define(`DESC_INTRO', 1)')
  50. ifelse(`THISTYPE', `tgfunction', define(`DESC_INTRO', 1)define(`PRETTYTYPE', `family of functions'), define(`PRETTYTYPE', `THISTYPE()'))
  51. define(`PROTOTYPE', $1)
  52. ifdef(`VALUE_MIN', `define(`VALUE', `THIS() must be at least VALUE_MIN().')')
  53. ifdef(`VALUE_MAX', `define(`VALUE', `THIS() must be at most VALUE_MAX().')')
  54. ifdef(`VALUE_FIXED', `define(`VALUE', `THIS() is defined as VALUE_FIXED().')')
  55. define(`VALUE_SELECT', <div><dt>LITERAL($1)</dt><dd>$2</dd></div>)
  56. ifdef(`VALUES', `
  57. define(`VALUE', `ifdef(`VALUES', `VALUES() popdef(`VALUES') VALUE()')')
  58. define(`VALUE_PRE', `<p>THIS() may be defined with one of the following values with the indicated meaning:</p>')
  59. ')
  60. define(`RETURN', <div><dt>$1</dt><dd>$2</dd></div>)
  61. define(`RETURN_SUCCESS', <p>A successfull call returns $1.</p>)
  62. define(`RETURN_FAILURE', `<p>On failure, $1 is returned.</p>')
  63. define(`RETURN_ALWAYS', `<p>The THIS() PRETTYTYPE() returns $1.</p>')
  64. define(`RETURN_0', `<p>The THIS() function returns 0 on success, non-zero on failure.</p>')
  65. ifdef(`RETURNS',
  66. `define(`RETURN_LIST')
  67. define(`RETURN_VALUE',
  68. ifdef(`RETURNS', `RETURNS()popdef(`RETURNS')ifdef(`RETURNS', `RETURNS()')')
  69. ')
  70. )
  71. define(`NOVALUE', `<p>The THIS() PRETTYTYPE() does not return a value.</p>')
  72. define(`NORETURN', `<p>The THIS() PRETTYTYPE() does not return.</p>')
  73. define(`NEGATIVE', <var class="return">a negative value</var>)
  74. define(`POSITIVE', <var class="return">a positive value</var>)
  75. define(`NONNEGATIVE', <var class="return">a non-negative value</var>)
  76. define(`NONZERO', <var class="return">a non-zero value</var>)
  77. define(`ZERO', <code class="literal">0</code>)
  78. define(`NONNULL', <var class="return">a non-NULL pointer</var>)
  79. define(`UNDEFINED', <li>$1</li>)
  80. define(`ASSERT_REPRESENTABLE', <li><var class="argument">$1</var> is not representable as a <code class="type">$4</code> or the value <var class="constant">$5</var></li>)
  81. define(`ASSERT_NONZERO', <li>ARGUMENT($1) is LITERAL(0)</li>)
  82. define(`ASSERT_NONNULL', <li>ARGUMENT($1) is CONSTANT(NULL)</li>)
  83. define(`ASSERT_NOOVERLAP', <li>ARGUMENT($1) and ARGUMENT($2) overlap</li>)
  84. ifdef(`UNDEFINEDS', `
  85. define(`UNDEFINED_BEHAVIOR', `ifdef(`UNDEFINEDS', `UNDEFINEDS() popdef(`UNDEFINEDS') UNDEFINED_BEHAVIOR()')')
  86. ')
  87. define(`UNSPECIFIED', <li>$1</li>)
  88. ifdef(`UNSPECIFIEDS', `
  89. define(`UNSPECIFIED_BEHAVIOR', `ifdef(`UNSPECIFIEDS', `UNSPECIFIEDS() popdef(`UNSPECIFIEDS') UNSPECIFIED_BEHAVIOR()')')
  90. ')
  91. define(`IMPLEMENTATION', <li>$1</li>)
  92. ifdef(`IMPLEMENTATIONS', `
  93. define(`IMPLEMENTATION_DEFINED', `ifdef(`IMPLEMENTATIONS', `IMPLEMENTATIONS() popdef(`IMPLEMENTATIONS') IMPLEMENTATION_DEFINED()')')
  94. ')
  95. define(`LOCALE', <code class="locale">"$1"</code>)