Annotation of docbook2mdoc/rules.c, Revision 1.23
1.1 kristaps 1: #include <stdlib.h>
2:
3: #include "extern.h"
4:
5: int
6: isattrkey(enum nodeid node, enum attrkey key)
7: {
8:
9: switch (key) {
10: case (ATTRKEY_CHOICE):
1.11 kristaps 11: switch (node) {
12: case (NODE_ARG):
13: case (NODE_GROUP):
14: return(1);
15: default:
16: break;
17: }
18: return(0);
1.1 kristaps 19: case (ATTRKEY_ID):
20: /* Common to all. */
21: return(1);
22: case (ATTRKEY_REP):
1.11 kristaps 23: switch (node) {
24: case (NODE_ARG):
25: case (NODE_GROUP):
26: return(1);
27: default:
28: break;
29: }
30: return(0);
1.1 kristaps 31: default:
32: break;
33: }
34: abort();
35: return(0);
36: }
37:
38: int
39: isattrval(enum attrkey key, enum attrval val)
40: {
41:
42: switch (val) {
43: case (ATTRVAL_OPT):
44: case (ATTRVAL_PLAIN):
45: case (ATTRVAL_REQ):
46: return(key == ATTRKEY_CHOICE);
47: case (ATTRVAL_REPEAT):
48: case (ATTRVAL_NOREPEAT):
49: return(key == ATTRKEY_REP);
50: default:
51: break;
52: }
53: abort();
54: return(0);
55: }
56:
57: /*
58: * Look up whether "parent" is a valid parent for "node".
59: * This is sucked directly from the DocBook specification: look at the
60: * "children" and "parent" sections of each node.
61: */
62: int
63: isparent(enum nodeid node, enum nodeid parent)
64: {
65:
66: switch (node) {
67: case (NODE_ROOT):
68: return(0);
1.8 kristaps 69: case (NODE_ACRONYM):
70: switch (parent) {
71: case (NODE_EMPHASIS):
1.12 kristaps 72: case (NODE_ENTRY):
1.8 kristaps 73: case (NODE_FUNCSYNOPSISINFO):
1.12 kristaps 74: case (NODE_PARA):
1.8 kristaps 75: case (NODE_PROGRAMLISTING):
1.15 kristaps 76: case (NODE_QUOTE):
1.8 kristaps 77: case (NODE_REFDESCRIPTOR):
78: case (NODE_REFENTRYTITLE):
79: case (NODE_REFNAME):
80: case (NODE_REFPURPOSE):
1.9 kristaps 81: case (NODE_SCREEN):
1.8 kristaps 82: case (NODE_SYNOPSIS):
83: case (NODE_TERM):
84: case (NODE_TITLE):
85: return(1);
86: default:
87: break;
88: }
89: return(0);
1.17 kristaps 90: case (NODE_ANCHOR):
91: /* We'll ignore this. */
92: return(1);
1.14 kristaps 93: case (NODE_APPLICATION):
94: switch (parent) {
95: case (NODE_EMPHASIS):
96: case (NODE_ENTRY):
97: case (NODE_FUNCSYNOPSISINFO):
98: case (NODE_LINK):
99: case (NODE_PARA):
100: case (NODE_PROGRAMLISTING):
1.15 kristaps 101: case (NODE_QUOTE):
1.14 kristaps 102: case (NODE_REFCLASS):
103: case (NODE_REFDESCRIPTOR):
104: case (NODE_REFENTRYTITLE):
105: case (NODE_REFNAME):
106: case (NODE_REFPURPOSE):
107: case (NODE_SCREEN):
108: case (NODE_SYNOPSIS):
109: case (NODE_TERM):
110: case (NODE_TITLE):
111: case (NODE_ULINK):
112: return(1);
113: default:
114: break;
115: }
116: return(0);
1.1 kristaps 117: case (NODE_ARG):
118: switch (parent) {
119: case (NODE_ARG):
120: case (NODE_CMDSYNOPSIS):
1.11 kristaps 121: case (NODE_GROUP):
1.1 kristaps 122: return(1);
123: default:
124: break;
125: }
126: return(0);
1.16 kristaps 127: case (NODE_CAUTION):
128: switch (parent) {
129: case (NODE_CAUTION):
130: case (NODE_ENTRY):
131: case (NODE_ITEMIZEDLIST):
132: case (NODE_LISTITEM):
133: case (NODE_NOTE):
134: case (NODE_ORDEREDLIST):
135: case (NODE_PARA):
136: case (NODE_REFSECT1):
137: case (NODE_REFSECT2):
138: case (NODE_REFSECT3):
139: case (NODE_REFSECTION):
140: case (NODE_REFSYNOPSISDIV):
141: case (NODE_TIP):
142: case (NODE_VARIABLELIST):
143: case (NODE_WARNING):
144: return(1);
145: default:
146: break;
147: }
148: return(0);
1.1 kristaps 149: case (NODE_CITEREFENTRY):
150: switch (parent) {
151: case (NODE_EMPHASIS):
1.12 kristaps 152: case (NODE_ENTRY):
1.1 kristaps 153: case (NODE_FUNCSYNOPSISINFO):
1.2 kristaps 154: case (NODE_LINK):
1.1 kristaps 155: case (NODE_PARA):
156: case (NODE_PROGRAMLISTING):
1.15 kristaps 157: case (NODE_QUOTE):
1.1 kristaps 158: case (NODE_REFDESCRIPTOR):
159: case (NODE_REFENTRYTITLE):
160: case (NODE_REFNAME):
161: case (NODE_REFPURPOSE):
1.9 kristaps 162: case (NODE_SCREEN):
1.1 kristaps 163: case (NODE_SYNOPSIS):
164: case (NODE_TERM):
165: case (NODE_TITLE):
1.2 kristaps 166: case (NODE_ULINK):
1.1 kristaps 167: return(1);
168: default:
169: break;
170: }
171: return(0);
172: case (NODE_CMDSYNOPSIS):
173: switch (parent) {
1.16 kristaps 174: case (NODE_CAUTION):
1.12 kristaps 175: case (NODE_ENTRY):
1.4 kristaps 176: case (NODE_ITEMIZEDLIST):
1.1 kristaps 177: case (NODE_LISTITEM):
1.8 kristaps 178: case (NODE_ORDEREDLIST):
1.16 kristaps 179: case (NODE_NOTE):
1.1 kristaps 180: case (NODE_PARA):
181: case (NODE_REFSECT1):
1.7 kristaps 182: case (NODE_REFSECT2):
1.16 kristaps 183: case (NODE_REFSECT3):
184: case (NODE_REFSECTION):
1.1 kristaps 185: case (NODE_REFSYNOPSISDIV):
1.16 kristaps 186: case (NODE_TIP):
1.1 kristaps 187: case (NODE_VARIABLELIST):
1.16 kristaps 188: case (NODE_WARNING):
1.1 kristaps 189: return(1);
190: default:
191: break;
192: }
193: return(0);
194: case (NODE_CODE):
195: switch (parent) {
196: case (NODE_EMPHASIS):
1.12 kristaps 197: case (NODE_ENTRY):
1.1 kristaps 198: case (NODE_FUNCSYNOPSISINFO):
1.2 kristaps 199: case (NODE_LINK):
1.1 kristaps 200: case (NODE_PARA):
201: case (NODE_PROGRAMLISTING):
1.15 kristaps 202: case (NODE_QUOTE):
1.1 kristaps 203: case (NODE_REFDESCRIPTOR):
204: case (NODE_REFENTRYTITLE):
205: case (NODE_REFNAME):
206: case (NODE_REFPURPOSE):
1.9 kristaps 207: case (NODE_SCREEN):
1.1 kristaps 208: case (NODE_SYNOPSIS):
209: case (NODE_TERM):
210: case (NODE_TITLE):
1.2 kristaps 211: case (NODE_ULINK):
1.10 kristaps 212: case (NODE_USERINPUT):
1.1 kristaps 213: return(1);
214: default:
215: break;
216: }
217: return(0);
1.22 kristaps 218: case (NODE_COLSPEC):
219: switch (parent) {
220: case (NODE_TFOOT):
221: case (NODE_THEAD):
222: case (NODE_TGROUP):
223: return(1);
224: default:
225: break;
226: }
227: return(0);
1.1 kristaps 228: case (NODE_COMMAND):
229: switch (parent) {
230: case (NODE_CMDSYNOPSIS):
231: case (NODE_EMPHASIS):
1.12 kristaps 232: case (NODE_ENTRY):
1.1 kristaps 233: case (NODE_FUNCSYNOPSISINFO):
1.2 kristaps 234: case (NODE_LINK):
1.1 kristaps 235: case (NODE_PARA):
236: case (NODE_PROGRAMLISTING):
1.15 kristaps 237: case (NODE_QUOTE):
1.1 kristaps 238: case (NODE_REFDESCRIPTOR):
239: case (NODE_REFENTRYTITLE):
240: case (NODE_REFNAME):
241: case (NODE_REFPURPOSE):
1.9 kristaps 242: case (NODE_SCREEN):
1.1 kristaps 243: case (NODE_SYNOPSIS):
244: case (NODE_TERM):
245: case (NODE_TITLE):
1.2 kristaps 246: case (NODE_ULINK):
1.10 kristaps 247: case (NODE_USERINPUT):
1.1 kristaps 248: return(1);
249: default:
250: break;
251: }
252: return(0);
1.18 kristaps 253: case (NODE_CONSTANT):
254: switch (parent) {
255: case (NODE_EMPHASIS):
256: case (NODE_ENTRY):
257: case (NODE_FUNCSYNOPSISINFO):
258: case (NODE_LINK):
259: case (NODE_ULINK):
260: case (NODE_PARA):
261: case (NODE_PROGRAMLISTING):
262: case (NODE_QUOTE):
263: case (NODE_REFDESCRIPTOR):
264: case (NODE_REFENTRYTITLE):
265: case (NODE_REFNAME):
266: case (NODE_REFPURPOSE):
267: case (NODE_SCREEN):
268: case (NODE_SYNOPSIS):
269: case (NODE_TERM):
270: case (NODE_TITLE):
271: case (NODE_USERINPUT):
272: return(1);
273: default:
274: break;
275: }
276: return(0);
277: case (NODE_COPYRIGHT):
278: switch (parent) {
279: case (NODE_INFO):
1.21 kristaps 280: case (NODE_REFENTRYINFO):
281: case (NODE_REFMETAINFO):
1.18 kristaps 282: return(1);
283: default:
284: break;
285: }
286: return(0);
1.3 kristaps 287: case (NODE_DATE):
288: switch (parent) {
289: case (NODE_EMPHASIS):
1.12 kristaps 290: case (NODE_ENTRY):
1.3 kristaps 291: case (NODE_FUNCSYNOPSISINFO):
1.18 kristaps 292: case (NODE_INFO):
1.3 kristaps 293: case (NODE_LINK):
294: case (NODE_PARA):
295: case (NODE_PROGRAMLISTING):
1.15 kristaps 296: case (NODE_QUOTE):
1.3 kristaps 297: case (NODE_REFDESCRIPTOR):
298: case (NODE_REFENTRYINFO):
299: case (NODE_REFENTRYTITLE):
300: case (NODE_REFNAME):
301: case (NODE_REFPURPOSE):
1.9 kristaps 302: case (NODE_SCREEN):
1.3 kristaps 303: case (NODE_SYNOPSIS):
304: case (NODE_TITLE):
305: case (NODE_ULINK):
306: return(1);
307: default:
308: break;
309: }
310: return(0);
1.1 kristaps 311: case (NODE_EMPHASIS):
312: switch (parent) {
313: case (NODE_EMPHASIS):
1.12 kristaps 314: case (NODE_ENTRY):
1.1 kristaps 315: case (NODE_FUNCSYNOPSISINFO):
1.2 kristaps 316: case (NODE_LINK):
1.1 kristaps 317: case (NODE_PARA):
318: case (NODE_PROGRAMLISTING):
1.15 kristaps 319: case (NODE_QUOTE):
1.1 kristaps 320: case (NODE_REFDESCRIPTOR):
321: case (NODE_REFENTRYTITLE):
322: case (NODE_REFNAME):
323: case (NODE_REFPURPOSE):
1.9 kristaps 324: case (NODE_SCREEN):
1.1 kristaps 325: case (NODE_SYNOPSIS):
326: case (NODE_TERM):
327: case (NODE_TITLE):
1.2 kristaps 328: case (NODE_ULINK):
1.1 kristaps 329: return(1);
330: default:
331: break;
332: }
333: return(0);
1.12 kristaps 334: case (NODE_ENTRY):
335: return(NODE_ROW == parent);
1.8 kristaps 336: case (NODE_ENVAR):
337: switch (parent) {
338: case (NODE_EMPHASIS):
1.12 kristaps 339: case (NODE_ENTRY):
1.8 kristaps 340: case (NODE_FUNCSYNOPSISINFO):
341: case (NODE_LINK):
342: case (NODE_PARA):
343: case (NODE_PROGRAMLISTING):
1.15 kristaps 344: case (NODE_QUOTE):
1.8 kristaps 345: case (NODE_REFDESCRIPTOR):
346: case (NODE_REFENTRYTITLE):
347: case (NODE_REFNAME):
348: case (NODE_REFPURPOSE):
1.9 kristaps 349: case (NODE_SCREEN):
1.8 kristaps 350: case (NODE_SYNOPSIS):
351: case (NODE_TERM):
352: case (NODE_TITLE):
353: case (NODE_ULINK):
1.10 kristaps 354: case (NODE_USERINPUT):
1.8 kristaps 355: return(1);
356: default:
357: break;
358: }
359: return(0);
1.22 kristaps 360: case (NODE_FIELDSYNOPSIS):
361: switch (parent) {
362: case (NODE_CAUTION):
363: case (NODE_ENTRY):
364: case (NODE_ITEMIZEDLIST):
365: case (NODE_LISTITEM):
366: case (NODE_NOTE):
367: case (NODE_ORDEREDLIST):
368: case (NODE_PARA):
369: case (NODE_REFSECT1):
370: case (NODE_REFSECT2):
371: case (NODE_REFSECT3):
372: case (NODE_REFSECTION):
373: case (NODE_REFSYNOPSISDIV):
374: case (NODE_TIP):
375: case (NODE_VARIABLELIST):
376: case (NODE_WARNING):
377: return(1);
378: default:
379: break;
380: }
381: return(0);
1.5 kristaps 382: case (NODE_FILENAME):
383: switch (parent) {
384: case (NODE_EMPHASIS):
1.12 kristaps 385: case (NODE_ENTRY):
1.5 kristaps 386: case (NODE_FUNCSYNOPSISINFO):
387: case (NODE_LINK):
388: case (NODE_PARA):
389: case (NODE_PROGRAMLISTING):
1.15 kristaps 390: case (NODE_QUOTE):
1.5 kristaps 391: case (NODE_REFDESCRIPTOR):
392: case (NODE_REFENTRYTITLE):
393: case (NODE_REFNAME):
394: case (NODE_REFPURPOSE):
1.9 kristaps 395: case (NODE_SCREEN):
1.5 kristaps 396: case (NODE_SYNOPSIS):
397: case (NODE_TERM):
398: case (NODE_TITLE):
399: case (NODE_ULINK):
1.10 kristaps 400: case (NODE_USERINPUT):
1.5 kristaps 401: return(1);
402: default:
403: break;
404: }
405: return(0);
1.1 kristaps 406: case (NODE_FUNCDEF):
407: return(NODE_FUNCPROTOTYPE == parent);
408: case (NODE_FUNCPROTOTYPE):
409: return(NODE_FUNCSYNOPSIS == parent);
410: case (NODE_FUNCSYNOPSIS):
411: switch (parent) {
1.16 kristaps 412: case (NODE_CAUTION):
1.12 kristaps 413: case (NODE_ENTRY):
1.4 kristaps 414: case (NODE_ITEMIZEDLIST):
1.1 kristaps 415: case (NODE_LISTITEM):
1.8 kristaps 416: case (NODE_ORDEREDLIST):
1.16 kristaps 417: case (NODE_NOTE):
1.1 kristaps 418: case (NODE_PARA):
419: case (NODE_REFSECT1):
1.7 kristaps 420: case (NODE_REFSECT2):
1.16 kristaps 421: case (NODE_REFSECT3):
422: case (NODE_REFSECTION):
1.1 kristaps 423: case (NODE_REFSYNOPSISDIV):
1.16 kristaps 424: case (NODE_TIP):
1.1 kristaps 425: case (NODE_VARIABLELIST):
1.16 kristaps 426: case (NODE_WARNING):
1.1 kristaps 427: return(1);
428: default:
429: break;
430: }
431: return(0);
432: case (NODE_FUNCSYNOPSISINFO):
433: return(NODE_FUNCSYNOPSIS == parent);
434: case (NODE_FUNCTION):
435: switch (parent) {
436: case (NODE_CODE):
437: case (NODE_EMPHASIS):
1.12 kristaps 438: case (NODE_ENTRY):
1.1 kristaps 439: case (NODE_FUNCDEF):
440: case (NODE_FUNCSYNOPSISINFO):
1.2 kristaps 441: case (NODE_LINK):
1.1 kristaps 442: case (NODE_PARA):
443: case (NODE_PROGRAMLISTING):
1.15 kristaps 444: case (NODE_QUOTE):
1.1 kristaps 445: case (NODE_REFDESCRIPTOR):
446: case (NODE_REFENTRYTITLE):
447: case (NODE_REFNAME):
448: case (NODE_REFPURPOSE):
1.9 kristaps 449: case (NODE_SCREEN):
1.1 kristaps 450: case (NODE_SYNOPSIS):
451: case (NODE_TERM):
452: case (NODE_TITLE):
1.2 kristaps 453: case (NODE_ULINK):
454: return(1);
455: default:
456: break;
457: }
458: return(0);
1.18 kristaps 459: case (NODE_GROUP):
460: switch (parent) {
461: case (NODE_ARG):
462: case (NODE_CMDSYNOPSIS):
463: case (NODE_GROUP):
464: return(1);
465: default:
466: break;
467: }
468: return(0);
469: case (NODE_HOLDER):
470: switch (parent) {
471: case (NODE_COPYRIGHT):
472: return(1);
473: default:
474: break;
475: }
476: return(0);
477: case (NODE_INFO):
1.4 kristaps 478: switch (parent) {
1.16 kristaps 479: case (NODE_CAUTION):
1.18 kristaps 480: case (NODE_CMDSYNOPSIS):
481: case (NODE_FUNCSYNOPSIS):
482: case (NODE_FUNCSYNOPSISINFO):
1.20 kristaps 483: case (NODE_INFORMALTABLE):
1.4 kristaps 484: case (NODE_ITEMIZEDLIST):
1.16 kristaps 485: case (NODE_NOTE):
1.8 kristaps 486: case (NODE_ORDEREDLIST):
1.16 kristaps 487: case (NODE_PARA):
1.18 kristaps 488: case (NODE_PROGRAMLISTING):
489: case (NODE_REFENTRY):
1.4 kristaps 490: case (NODE_REFSECT1):
1.7 kristaps 491: case (NODE_REFSECT2):
1.16 kristaps 492: case (NODE_REFSECT3):
493: case (NODE_REFSECTION):
1.4 kristaps 494: case (NODE_REFSYNOPSISDIV):
1.18 kristaps 495: case (NODE_SCREEN):
496: case (NODE_SYNOPSIS):
497: case (NODE_TABLE):
1.4 kristaps 498: case (NODE_VARIABLELIST):
1.16 kristaps 499: case (NODE_WARNING):
1.4 kristaps 500: return(1);
501: default:
502: break;
503: }
504: return(0);
1.23 ! kristaps 505: case (NODE_INFORMALEQUATION):
! 506: switch (parent) {
! 507: case (NODE_CAUTION):
! 508: case (NODE_ENTRY):
! 509: case (NODE_ITEMIZEDLIST):
! 510: case (NODE_LISTITEM):
! 511: case (NODE_NOTE):
! 512: case (NODE_ORDEREDLIST):
! 513: case (NODE_PARA):
! 514: case (NODE_REFSECT1):
! 515: case (NODE_REFSECT2):
! 516: case (NODE_REFSECT3):
! 517: case (NODE_REFSECTION):
! 518: case (NODE_REFSYNOPSISDIV):
! 519: case (NODE_VARIABLELIST):
! 520: case (NODE_WARNING):
! 521: return(1);
! 522: default:
! 523: break;
! 524: }
! 525: return(0);
! 526: case (NODE_INLINEEQUATION):
! 527: switch (parent) {
! 528: case (NODE_APPLICATION):
! 529: case (NODE_EMPHASIS):
! 530: case (NODE_ENTRY):
! 531: case (NODE_LINK):
! 532: case (NODE_PARA):
! 533: case (NODE_PROGRAMLISTING):
! 534: case (NODE_QUOTE):
! 535: case (NODE_REFENTRYTITLE):
! 536: case (NODE_SCREEN):
! 537: case (NODE_SYNOPSIS):
! 538: case (NODE_TERM):
! 539: case (NODE_TITLE):
! 540: case (NODE_ULINK):
! 541: return(1);
! 542: default:
! 543: break;
! 544: }
! 545: return(0);
1.18 kristaps 546: case (NODE_ITEMIZEDLIST):
1.11 kristaps 547: switch (parent) {
1.18 kristaps 548: case (NODE_CAUTION):
549: case (NODE_ENTRY):
550: case (NODE_ITEMIZEDLIST):
551: case (NODE_LISTITEM):
552: case (NODE_NOTE):
553: case (NODE_ORDEREDLIST):
554: case (NODE_PARA):
555: case (NODE_REFSECT1):
556: case (NODE_REFSECT2):
557: case (NODE_REFSECT3):
558: case (NODE_REFSECTION):
559: case (NODE_REFSYNOPSISDIV):
560: case (NODE_TIP):
561: case (NODE_VARIABLELIST):
562: case (NODE_WARNING):
1.11 kristaps 563: return(1);
564: default:
565: break;
566: }
567: return(0);
1.2 kristaps 568: case (NODE_LINK):
1.4 kristaps 569: case (NODE_ULINK): /* Synonyms. */
1.2 kristaps 570: switch (parent) {
1.8 kristaps 571: case (NODE_ACRONYM):
1.14 kristaps 572: case (NODE_APPLICATION):
1.2 kristaps 573: case (NODE_ARG):
574: case (NODE_CODE):
575: case (NODE_COMMAND):
1.18 kristaps 576: case (NODE_CONSTANT):
1.2 kristaps 577: case (NODE_EMPHASIS):
1.12 kristaps 578: case (NODE_ENTRY):
1.8 kristaps 579: case (NODE_ENVAR):
1.5 kristaps 580: case (NODE_FILENAME):
1.2 kristaps 581: case (NODE_FUNCDEF):
582: case (NODE_FUNCSYNOPSISINFO):
583: case (NODE_FUNCTION):
1.18 kristaps 584: case (NODE_HOLDER):
1.2 kristaps 585: case (NODE_LINK):
1.6 kristaps 586: case (NODE_LITERAL):
1.2 kristaps 587: case (NODE_MANVOLNUM):
1.22 kristaps 588: case (NODE_MODIFIER):
1.2 kristaps 589: case (NODE_OPTION):
590: case (NODE_PARA):
591: case (NODE_PARAMDEF):
592: case (NODE_PARAMETER):
593: case (NODE_PROGRAMLISTING):
1.9 kristaps 594: case (NODE_PROMPT):
1.15 kristaps 595: case (NODE_QUOTE):
1.2 kristaps 596: case (NODE_REFDESCRIPTOR):
597: case (NODE_REFENTRYTITLE):
598: case (NODE_REFMISCINFO):
599: case (NODE_REFNAME):
600: case (NODE_REPLACEABLE):
1.9 kristaps 601: case (NODE_SCREEN):
1.2 kristaps 602: case (NODE_SYNOPSIS):
603: case (NODE_TERM):
1.19 kristaps 604: case (NODE_TRADEMARK):
1.22 kristaps 605: case (NODE_TYPE):
1.2 kristaps 606: case (NODE_ULINK):
1.10 kristaps 607: case (NODE_USERINPUT):
1.13 kristaps 608: case (NODE_VARNAME):
1.17 kristaps 609: case (NODE_WORDASWORD):
1.18 kristaps 610: case (NODE_YEAR):
1.1 kristaps 611: return(1);
612: default:
613: break;
614: }
615: return(0);
616: case (NODE_LISTITEM):
1.4 kristaps 617: switch (parent) {
618: case (NODE_ITEMIZEDLIST):
1.8 kristaps 619: case (NODE_ORDEREDLIST):
1.4 kristaps 620: case (NODE_VARLISTENTRY):
621: return(1);
622: default:
623: break;
624: }
625: return(0);
1.6 kristaps 626: case (NODE_LITERAL):
627: switch (parent) {
628: case (NODE_EMPHASIS):
1.12 kristaps 629: case (NODE_ENTRY):
1.6 kristaps 630: case (NODE_FUNCSYNOPSISINFO):
631: case (NODE_LINK):
632: case (NODE_PARA):
633: case (NODE_PROGRAMLISTING):
1.15 kristaps 634: case (NODE_QUOTE):
1.6 kristaps 635: case (NODE_REFDESCRIPTOR):
636: case (NODE_REFENTRYTITLE):
637: case (NODE_REFNAME):
638: case (NODE_REFPURPOSE):
1.9 kristaps 639: case (NODE_SCREEN):
1.6 kristaps 640: case (NODE_SYNOPSIS):
641: case (NODE_TERM):
642: case (NODE_TITLE):
643: case (NODE_ULINK):
1.10 kristaps 644: case (NODE_USERINPUT):
1.6 kristaps 645: return(1);
646: default:
647: break;
648: }
649: return(0);
1.1 kristaps 650: case (NODE_MANVOLNUM):
651: switch (parent) {
652: case (NODE_CITEREFENTRY):
653: case (NODE_REFMETA):
654: return(1);
655: default:
656: break;
657: }
658: return(0);
1.23 ! kristaps 659: case (NODE_MML_MATH):
! 660: switch (parent) {
! 661: case (NODE_INFORMALEQUATION):
! 662: case (NODE_INLINEEQUATION):
! 663: return(1);
! 664: default:
! 665: break;
! 666: }
! 667: return(0);
! 668: case (NODE_MML_MFENCED):
! 669: case (NODE_MML_MFRAC):
! 670: case (NODE_MML_MI):
! 671: case (NODE_MML_MN):
! 672: case (NODE_MML_MO):
! 673: case (NODE_MML_MROW):
! 674: case (NODE_MML_MSUB):
! 675: case (NODE_MML_MSUP):
! 676: switch (parent) {
! 677: case (NODE_MML_MATH):
! 678: case (NODE_MML_MFENCED):
! 679: case (NODE_MML_MFRAC):
! 680: case (NODE_MML_MI):
! 681: case (NODE_MML_MN):
! 682: case (NODE_MML_MO):
! 683: case (NODE_MML_MROW):
! 684: case (NODE_MML_MSUB):
! 685: case (NODE_MML_MSUP):
! 686: return(1);
! 687: default:
! 688: break;
! 689: }
! 690: return(0);
1.22 kristaps 691: case (NODE_MODIFIER):
692: switch (parent) {
693: case (NODE_CODE):
694: case (NODE_EMPHASIS):
695: case (NODE_ENTRY):
696: case (NODE_FIELDSYNOPSIS):
697: case (NODE_FUNCSYNOPSISINFO):
698: case (NODE_LINK):
699: case (NODE_ULINK):
700: case (NODE_PARA):
701: case (NODE_PROGRAMLISTING):
702: case (NODE_QUOTE):
703: case (NODE_REFDESCRIPTOR):
704: case (NODE_REFENTRYTITLE):
705: case (NODE_REFNAME):
706: case (NODE_REFPURPOSE):
707: case (NODE_SCREEN):
708: case (NODE_SYNOPSIS):
709: case (NODE_TERM):
710: case (NODE_TITLE):
711: return(1);
712: default:
713: break;
714: }
715: return(0);
1.16 kristaps 716: case (NODE_NOTE):
717: switch (parent) {
718: case (NODE_CAUTION):
719: case (NODE_ENTRY):
720: case (NODE_ITEMIZEDLIST):
721: case (NODE_LISTITEM):
722: case (NODE_NOTE):
723: case (NODE_ORDEREDLIST):
724: case (NODE_PARA):
725: case (NODE_REFSECT1):
726: case (NODE_REFSECT2):
727: case (NODE_REFSECT3):
728: case (NODE_REFSECTION):
729: case (NODE_REFSYNOPSISDIV):
730: case (NODE_TIP):
731: case (NODE_VARIABLELIST):
732: case (NODE_WARNING):
733: return(1);
734: default:
735: break;
736: }
737: return(0);
1.1 kristaps 738: case (NODE_OPTION):
739: switch (parent) {
740: case (NODE_ARG):
741: case (NODE_EMPHASIS):
1.12 kristaps 742: case (NODE_ENTRY):
1.1 kristaps 743: case (NODE_FUNCSYNOPSISINFO):
1.11 kristaps 744: case (NODE_GROUP):
1.2 kristaps 745: case (NODE_LINK):
1.1 kristaps 746: case (NODE_PARA):
747: case (NODE_PROGRAMLISTING):
1.15 kristaps 748: case (NODE_QUOTE):
1.1 kristaps 749: case (NODE_REFDESCRIPTOR):
750: case (NODE_REFENTRYTITLE):
751: case (NODE_REFNAME):
752: case (NODE_REFPURPOSE):
1.9 kristaps 753: case (NODE_SCREEN):
1.1 kristaps 754: case (NODE_SYNOPSIS):
755: case (NODE_TERM):
756: case (NODE_TITLE):
1.2 kristaps 757: case (NODE_ULINK):
1.10 kristaps 758: case (NODE_USERINPUT):
1.1 kristaps 759: return(1);
760: default:
761: break;
762: }
763: return(0);
1.8 kristaps 764: case (NODE_ORDEREDLIST):
765: switch (parent) {
1.16 kristaps 766: case (NODE_CAUTION):
1.12 kristaps 767: case (NODE_ENTRY):
1.8 kristaps 768: case (NODE_ITEMIZEDLIST):
769: case (NODE_LISTITEM):
770: case (NODE_ORDEREDLIST):
1.16 kristaps 771: case (NODE_NOTE):
1.8 kristaps 772: case (NODE_PARA):
773: case (NODE_REFSECT1):
774: case (NODE_REFSECT2):
1.16 kristaps 775: case (NODE_REFSECT3):
776: case (NODE_REFSECTION):
1.8 kristaps 777: case (NODE_REFSYNOPSISDIV):
1.16 kristaps 778: case (NODE_TIP):
1.8 kristaps 779: case (NODE_VARIABLELIST):
1.16 kristaps 780: case (NODE_WARNING):
1.8 kristaps 781: return(1);
782: default:
783: break;
784: }
785: return(0);
1.1 kristaps 786: case (NODE_PARA):
787: switch (parent) {
1.16 kristaps 788: case (NODE_CAUTION):
1.12 kristaps 789: case (NODE_ENTRY):
1.4 kristaps 790: case (NODE_ITEMIZEDLIST):
1.1 kristaps 791: case (NODE_LISTITEM):
1.16 kristaps 792: case (NODE_NOTE):
1.8 kristaps 793: case (NODE_ORDEREDLIST):
1.1 kristaps 794: case (NODE_REFSECT1):
1.7 kristaps 795: case (NODE_REFSECT2):
1.16 kristaps 796: case (NODE_REFSECT3):
797: case (NODE_REFSECTION):
1.1 kristaps 798: case (NODE_REFSYNOPSISDIV):
1.16 kristaps 799: case (NODE_TIP):
1.1 kristaps 800: case (NODE_VARIABLELIST):
1.16 kristaps 801: case (NODE_WARNING):
1.1 kristaps 802: return(1);
803: default:
804: break;
805: }
806: return(0);
807: case (NODE_PARAMDEF):
808: return(NODE_FUNCPROTOTYPE == parent);
809: case (NODE_PARAMETER):
810: switch (parent) {
811: case (NODE_CODE):
1.23 ! kristaps 812: case (NODE_EMPHASIS):
1.12 kristaps 813: case (NODE_ENTRY):
1.1 kristaps 814: case (NODE_FUNCSYNOPSISINFO):
1.2 kristaps 815: case (NODE_LINK):
1.1 kristaps 816: case (NODE_PARA):
817: case (NODE_PARAMDEF):
818: case (NODE_PROGRAMLISTING):
1.15 kristaps 819: case (NODE_QUOTE):
1.1 kristaps 820: case (NODE_REFDESCRIPTOR):
821: case (NODE_REFENTRYTITLE):
822: case (NODE_REFNAME):
823: case (NODE_REFPURPOSE):
1.9 kristaps 824: case (NODE_SCREEN):
1.1 kristaps 825: case (NODE_SYNOPSIS):
826: case (NODE_TERM):
827: case (NODE_TITLE):
1.2 kristaps 828: case (NODE_ULINK):
1.10 kristaps 829: case (NODE_USERINPUT):
1.1 kristaps 830: return(1);
831: default:
832: break;
833: }
834: return(0);
835: case (NODE_PROGRAMLISTING):
836: switch (parent) {
1.16 kristaps 837: case (NODE_CAUTION):
1.12 kristaps 838: case (NODE_ENTRY):
1.4 kristaps 839: case (NODE_ITEMIZEDLIST):
1.1 kristaps 840: case (NODE_LISTITEM):
1.8 kristaps 841: case (NODE_ORDEREDLIST):
1.16 kristaps 842: case (NODE_NOTE):
1.1 kristaps 843: case (NODE_PARA):
844: case (NODE_REFSECT1):
1.7 kristaps 845: case (NODE_REFSECT2):
1.16 kristaps 846: case (NODE_REFSECT3):
847: case (NODE_REFSECTION):
1.1 kristaps 848: case (NODE_REFSYNOPSISDIV):
1.16 kristaps 849: case (NODE_TIP):
1.9 kristaps 850: case (NODE_VARIABLELIST):
1.16 kristaps 851: case (NODE_WARNING):
1.9 kristaps 852: return(1);
853: default:
854: break;
855: }
856: return(0);
857: case (NODE_PROMPT):
858: switch (parent) {
859: case (NODE_EMPHASIS):
1.12 kristaps 860: case (NODE_ENTRY):
1.9 kristaps 861: case (NODE_FUNCSYNOPSISINFO):
862: case (NODE_LINK):
863: case (NODE_PARA):
864: case (NODE_PROGRAMLISTING):
1.15 kristaps 865: case (NODE_QUOTE):
1.9 kristaps 866: case (NODE_REFDESCRIPTOR):
867: case (NODE_REFENTRYTITLE):
868: case (NODE_REFNAME):
869: case (NODE_REFPURPOSE):
870: case (NODE_SCREEN):
871: case (NODE_SYNOPSIS):
872: case (NODE_TERM):
873: case (NODE_TITLE):
874: case (NODE_ULINK):
1.10 kristaps 875: case (NODE_USERINPUT):
1.1 kristaps 876: return(1);
877: default:
878: break;
879: }
880: return(0);
1.15 kristaps 881: case (NODE_QUOTE):
882: switch (parent) {
883: case (NODE_EMPHASIS):
884: case (NODE_ENTRY):
885: case (NODE_FUNCSYNOPSISINFO):
886: case (NODE_LINK):
887: case (NODE_PARA):
888: case (NODE_PROGRAMLISTING):
889: case (NODE_QUOTE):
890: case (NODE_REFDESCRIPTOR):
891: case (NODE_REFENTRYTITLE):
892: case (NODE_REFNAME):
893: case (NODE_REFPURPOSE):
894: case (NODE_SCREEN):
895: case (NODE_SYNOPSIS):
896: case (NODE_TERM):
897: case (NODE_TITLE):
898: case (NODE_ULINK):
899: return(1);
900: default:
901: break;
902: }
903: return(0);
1.1 kristaps 904: case (NODE_REFCLASS):
905: return(parent == NODE_REFNAMEDIV);
906: case (NODE_REFDESCRIPTOR):
907: return(parent == NODE_REFNAMEDIV);
908: case (NODE_REFENTRY):
909: return(parent == NODE_ROOT);
1.3 kristaps 910: case (NODE_REFENTRYINFO):
911: return(parent == NODE_REFENTRY);
1.1 kristaps 912: case (NODE_REFENTRYTITLE):
913: switch (parent) {
914: case (NODE_CITEREFENTRY):
915: case (NODE_REFMETA):
916: return(1);
917: default:
918: break;
919: }
920: case (NODE_REFMETA):
921: return(parent == NODE_REFENTRY);
1.21 kristaps 922: case (NODE_REFMETAINFO):
923: return(parent == NODE_REFMETA);
1.1 kristaps 924: case (NODE_REFMISCINFO):
925: return(parent == NODE_REFMETA);
926: case (NODE_REFNAME):
927: return(parent == NODE_REFNAMEDIV);
928: case (NODE_REFNAMEDIV):
929: return(parent == NODE_REFENTRY);
930: case (NODE_REFPURPOSE):
931: return(parent == NODE_REFNAMEDIV);
932: case (NODE_REFSECT1):
933: return(parent == NODE_REFENTRY);
1.7 kristaps 934: case (NODE_REFSECT2):
935: switch (parent) {
936: case (NODE_REFSYNOPSISDIV):
937: case (NODE_REFSECT1):
938: return(1);
939: default:
940: break;
941: }
942: return(0);
1.16 kristaps 943: case (NODE_REFSECT3):
944: return(parent == NODE_REFSECT2);
945: case (NODE_REFSECTION):
946: switch (parent) {
947: case (NODE_REFENTRY):
948: case (NODE_REFSECTION):
949: case (NODE_REFSYNOPSISDIV):
950: return(1);
951: default:
952: break;
953: }
954: return(0);
1.1 kristaps 955: case (NODE_REFSYNOPSISDIV):
956: return(parent == NODE_REFENTRY);
957: case (NODE_REPLACEABLE):
958: switch (parent) {
1.8 kristaps 959: case (NODE_ACRONYM):
1.14 kristaps 960: case (NODE_APPLICATION):
1.1 kristaps 961: case (NODE_ARG):
962: case (NODE_CODE):
963: case (NODE_COMMAND):
1.18 kristaps 964: case (NODE_CONSTANT):
1.1 kristaps 965: case (NODE_EMPHASIS):
1.12 kristaps 966: case (NODE_ENTRY):
1.8 kristaps 967: case (NODE_ENVAR):
1.5 kristaps 968: case (NODE_FILENAME):
1.1 kristaps 969: case (NODE_FUNCDEF):
970: case (NODE_FUNCSYNOPSISINFO):
971: case (NODE_FUNCTION):
1.11 kristaps 972: case (NODE_GROUP):
1.18 kristaps 973: case (NODE_HOLDER):
1.2 kristaps 974: case (NODE_LINK):
1.6 kristaps 975: case (NODE_LITERAL):
1.1 kristaps 976: case (NODE_MANVOLNUM):
1.22 kristaps 977: case (NODE_MODIFIER):
1.1 kristaps 978: case (NODE_OPTION):
979: case (NODE_PARA):
980: case (NODE_PARAMDEF):
981: case (NODE_PARAMETER):
982: case (NODE_PROGRAMLISTING):
1.9 kristaps 983: case (NODE_PROMPT):
1.15 kristaps 984: case (NODE_QUOTE):
1.1 kristaps 985: case (NODE_REFDESCRIPTOR):
986: case (NODE_REFENTRYTITLE):
987: case (NODE_REFMISCINFO):
988: case (NODE_REFNAME):
989: case (NODE_REFPURPOSE):
990: case (NODE_REPLACEABLE):
1.9 kristaps 991: case (NODE_SCREEN):
1.17 kristaps 992: case (NODE_SGMLTAG):
1.1 kristaps 993: case (NODE_SYNOPSIS):
994: case (NODE_TERM):
995: case (NODE_TITLE):
1.19 kristaps 996: case (NODE_TRADEMARK):
1.22 kristaps 997: case (NODE_TYPE):
1.2 kristaps 998: case (NODE_ULINK):
1.10 kristaps 999: case (NODE_USERINPUT):
1.13 kristaps 1000: case (NODE_VARNAME):
1.17 kristaps 1001: case (NODE_WORDASWORD):
1.18 kristaps 1002: case (NODE_YEAR):
1.1 kristaps 1003: default:
1004: return(1);
1.6 kristaps 1005: }
1006: return(0);
1.12 kristaps 1007: case (NODE_ROW):
1008: switch (parent) {
1009: case (NODE_TBODY):
1010: case (NODE_TFOOT):
1011: case (NODE_THEAD):
1012: return(1);
1013: default:
1014: break;
1015: }
1016: return(0);
1.6 kristaps 1017: case (NODE_SBR):
1018: switch (parent) {
1019: case (NODE_ARG):
1020: case (NODE_CMDSYNOPSIS):
1.11 kristaps 1021: case (NODE_GROUP):
1.9 kristaps 1022: return(1);
1023: default:
1024: break;
1025: }
1026: return(0);
1027: case (NODE_SCREEN):
1028: switch (parent) {
1.16 kristaps 1029: case (NODE_CAUTION):
1.12 kristaps 1030: case (NODE_ENTRY):
1.9 kristaps 1031: case (NODE_ITEMIZEDLIST):
1032: case (NODE_LISTITEM):
1033: case (NODE_ORDEREDLIST):
1.16 kristaps 1034: case (NODE_NOTE):
1.9 kristaps 1035: case (NODE_PARA):
1036: case (NODE_REFSECT1):
1037: case (NODE_REFSECT2):
1.16 kristaps 1038: case (NODE_REFSECT3):
1039: case (NODE_REFSECTION):
1.9 kristaps 1040: case (NODE_REFSYNOPSISDIV):
1.16 kristaps 1041: case (NODE_TIP):
1.9 kristaps 1042: case (NODE_VARIABLELIST):
1.16 kristaps 1043: case (NODE_WARNING):
1.6 kristaps 1044: return(1);
1045: default:
1046: break;
1.1 kristaps 1047: }
1048: return(0);
1.17 kristaps 1049: case (NODE_SGMLTAG):
1050: switch (parent) {
1051: case (NODE_APPLICATION):
1052: case (NODE_CODE):
1053: case (NODE_COMMAND):
1054: case (NODE_EMPHASIS):
1055: case (NODE_ENTRY):
1056: case (NODE_FILENAME):
1057: case (NODE_FUNCSYNOPSISINFO):
1058: case (NODE_FUNCTION):
1059: case (NODE_LINK):
1060: case (NODE_LITERAL):
1061: case (NODE_OPTION):
1062: case (NODE_PARA):
1063: case (NODE_PARAMETER):
1064: case (NODE_PROGRAMLISTING):
1065: case (NODE_QUOTE):
1066: case (NODE_REFDESCRIPTOR):
1067: case (NODE_REFENTRYTITLE):
1068: case (NODE_REFNAME):
1069: case (NODE_REFPURPOSE):
1070: case (NODE_SCREEN):
1071: case (NODE_SYNOPSIS):
1072: case (NODE_TERM):
1073: case (NODE_TITLE):
1074: case (NODE_USERINPUT):
1075: return(1);
1076: default:
1077: break;
1078: }
1079: return(0);
1.1 kristaps 1080: case (NODE_STRUCTNAME):
1081: switch (parent) {
1082: case (NODE_CODE):
1083: case (NODE_FUNCSYNOPSISINFO):
1084: case (NODE_FUNCTION):
1085: case (NODE_OPTION):
1086: case (NODE_PARA):
1087: case (NODE_PARAMETER):
1088: case (NODE_PROGRAMLISTING):
1089: case (NODE_REFDESCRIPTOR):
1090: case (NODE_REFENTRYTITLE):
1091: case (NODE_REFNAME):
1092: case (NODE_REFPURPOSE):
1093: case (NODE_SYNOPSIS):
1094: case (NODE_TITLE):
1095: return(1);
1096: default:
1097: break;
1098: }
1099: return(0);
1100: case (NODE_SYNOPSIS):
1101: switch (parent) {
1.16 kristaps 1102: case (NODE_CAUTION):
1.12 kristaps 1103: case (NODE_ENTRY):
1.4 kristaps 1104: case (NODE_ITEMIZEDLIST):
1.1 kristaps 1105: case (NODE_LISTITEM):
1.8 kristaps 1106: case (NODE_ORDEREDLIST):
1.16 kristaps 1107: case (NODE_NOTE):
1108: case (NODE_PARA):
1.1 kristaps 1109: case (NODE_REFSYNOPSISDIV):
1110: case (NODE_REFSECT1):
1.7 kristaps 1111: case (NODE_REFSECT2):
1.16 kristaps 1112: case (NODE_REFSECT3):
1113: case (NODE_REFSECTION):
1114: case (NODE_TIP):
1115: case (NODE_WARNING):
1.1 kristaps 1116: return(1);
1117: default:
1118: break;
1119: }
1120: return(0);
1.20 kristaps 1121: case (NODE_INFORMALTABLE):
1122: /* FALLTHROUGH */
1.12 kristaps 1123: case (NODE_TABLE):
1124: switch (parent) {
1.16 kristaps 1125: case (NODE_CAUTION):
1.12 kristaps 1126: case (NODE_ENTRY):
1127: case (NODE_ITEMIZEDLIST):
1128: case (NODE_LISTITEM):
1129: case (NODE_ORDEREDLIST):
1.16 kristaps 1130: case (NODE_NOTE):
1.12 kristaps 1131: case (NODE_PARA):
1132: case (NODE_REFSECT1):
1.16 kristaps 1133: case (NODE_REFSECT2):
1134: case (NODE_REFSECT3):
1135: case (NODE_REFSECTION):
1.12 kristaps 1136: case (NODE_REFSYNOPSISDIV):
1.16 kristaps 1137: case (NODE_TIP):
1.12 kristaps 1138: case (NODE_VARIABLELIST):
1.16 kristaps 1139: case (NODE_WARNING):
1.12 kristaps 1140: return(1);
1141: default:
1142: break;
1143: }
1144: return(0);
1145: case (NODE_TBODY):
1146: return(NODE_TGROUP == parent);
1147: case (NODE_TFOOT):
1148: return(NODE_TGROUP == parent);
1149: case (NODE_TGROUP):
1.20 kristaps 1150: switch (parent) {
1151: case (NODE_INFORMALTABLE):
1152: case (NODE_TABLE):
1153: return(1);
1154: default:
1155: break;
1156: }
1157: return(0);
1.12 kristaps 1158: case (NODE_THEAD):
1159: return(NODE_TGROUP == parent);
1.1 kristaps 1160: case (NODE_TITLE):
1161: switch (parent) {
1.18 kristaps 1162: case (NODE_INFO):
1.20 kristaps 1163: case (NODE_INFORMALTABLE):
1.4 kristaps 1164: case (NODE_ITEMIZEDLIST):
1.8 kristaps 1165: case (NODE_ORDEREDLIST):
1.3 kristaps 1166: case (NODE_REFENTRYINFO):
1.1 kristaps 1167: case (NODE_REFSECT1):
1.7 kristaps 1168: case (NODE_REFSECT2):
1.16 kristaps 1169: case (NODE_REFSECT3):
1170: case (NODE_REFSECTION):
1.1 kristaps 1171: case (NODE_REFSYNOPSISDIV):
1.12 kristaps 1172: case (NODE_TABLE):
1.1 kristaps 1173: case (NODE_VARIABLELIST):
1174: return(1);
1175: default:
1176: break;
1177: }
1178: return(0);
1179: case (NODE_TERM):
1180: return(NODE_VARLISTENTRY == parent);
1181: case (NODE_TEXT):
1182: return(1);
1.16 kristaps 1183: case (NODE_TIP):
1184: switch (parent) {
1185: case (NODE_CAUTION):
1186: case (NODE_ENTRY):
1187: case (NODE_ITEMIZEDLIST):
1188: case (NODE_LISTITEM):
1189: case (NODE_NOTE):
1190: case (NODE_ORDEREDLIST):
1191: case (NODE_PARA):
1192: case (NODE_REFSECT1):
1193: case (NODE_REFSECT2):
1194: case (NODE_REFSECT3):
1195: case (NODE_REFSECTION):
1196: case (NODE_REFSYNOPSISDIV):
1197: case (NODE_TIP):
1198: case (NODE_VARIABLELIST):
1199: case (NODE_WARNING):
1.19 kristaps 1200: return(1);
1201: default:
1202: break;
1203: }
1204: return(0);
1205: case (NODE_TRADEMARK):
1206: switch (parent) {
1207: case (NODE_ACRONYM):
1208: case (NODE_EMPHASIS):
1209: case (NODE_ENTRY):
1210: case (NODE_FUNCSYNOPSISINFO):
1211: case (NODE_LINK):
1212: case (NODE_ULINK):
1213: case (NODE_PARA):
1214: case (NODE_PROGRAMLISTING):
1215: case (NODE_QUOTE):
1216: case (NODE_REFDESCRIPTOR):
1217: case (NODE_REFENTRYTITLE):
1218: case (NODE_REFNAME):
1219: case (NODE_REFPURPOSE):
1220: case (NODE_SCREEN):
1221: case (NODE_SYNOPSIS):
1222: case (NODE_TERM):
1223: case (NODE_TITLE):
1.16 kristaps 1224: return(1);
1225: default:
1226: break;
1227: }
1228: return(0);
1.22 kristaps 1229: case (NODE_TYPE):
1230: switch (parent) {
1231: case (NODE_CODE):
1232: case (NODE_EMPHASIS):
1233: case (NODE_ENTRY):
1234: case (NODE_FIELDSYNOPSIS):
1235: case (NODE_FUNCSYNOPSISINFO):
1236: case (NODE_LINK):
1237: case (NODE_ULINK):
1238: case (NODE_PARA):
1239: case (NODE_PROGRAMLISTING):
1240: case (NODE_QUOTE):
1241: case (NODE_REFDESCRIPTOR):
1242: case (NODE_REFENTRYTITLE):
1243: case (NODE_REFNAME):
1244: case (NODE_REFPURPOSE):
1245: case (NODE_SCREEN):
1246: case (NODE_SYNOPSIS):
1247: case (NODE_TERM):
1248: case (NODE_TITLE):
1249: return(1);
1250: default:
1251: break;
1252: }
1253: return(0);
1.10 kristaps 1254: case (NODE_USERINPUT):
1255: switch (parent) {
1256: case (NODE_EMPHASIS):
1.12 kristaps 1257: case (NODE_ENTRY):
1.10 kristaps 1258: case (NODE_FUNCSYNOPSISINFO):
1259: case (NODE_LINK):
1260: case (NODE_PARA):
1261: case (NODE_PROGRAMLISTING):
1.15 kristaps 1262: case (NODE_QUOTE):
1.10 kristaps 1263: case (NODE_REFDESCRIPTOR):
1264: case (NODE_REFENTRYTITLE):
1265: case (NODE_REFNAME):
1266: case (NODE_REFPURPOSE):
1267: case (NODE_SCREEN):
1268: case (NODE_SYNOPSIS):
1269: case (NODE_TERM):
1270: case (NODE_TITLE):
1271: case (NODE_ULINK):
1272: case (NODE_USERINPUT):
1273: return(1);
1274: default:
1275: break;
1276: }
1277: return(0);
1.1 kristaps 1278: case (NODE_VARIABLELIST):
1279: switch (parent) {
1.16 kristaps 1280: case (NODE_CAUTION):
1.12 kristaps 1281: case (NODE_ENTRY):
1.4 kristaps 1282: case (NODE_ITEMIZEDLIST):
1.8 kristaps 1283: case (NODE_ORDEREDLIST):
1.16 kristaps 1284: case (NODE_NOTE):
1.1 kristaps 1285: case (NODE_PARA):
1286: case (NODE_REFSECT1):
1.7 kristaps 1287: case (NODE_REFSECT2):
1.16 kristaps 1288: case (NODE_REFSECT3):
1289: case (NODE_REFSECTION):
1.1 kristaps 1290: case (NODE_REFSYNOPSISDIV):
1.16 kristaps 1291: case (NODE_TIP):
1.1 kristaps 1292: case (NODE_VARIABLELIST):
1.16 kristaps 1293: case (NODE_WARNING):
1.13 kristaps 1294: return(1);
1295: default:
1296: break;
1297: }
1298: return(0);
1299: case (NODE_VARNAME):
1300: switch (parent) {
1301: case (NODE_CODE):
1302: case (NODE_EMPHASIS):
1303: case (NODE_ENTRY):
1.22 kristaps 1304: case (NODE_FIELDSYNOPSIS):
1.13 kristaps 1305: case (NODE_FUNCSYNOPSISINFO):
1306: case (NODE_LINK):
1307: case (NODE_PARA):
1308: case (NODE_PROGRAMLISTING):
1.15 kristaps 1309: case (NODE_QUOTE):
1.13 kristaps 1310: case (NODE_REFDESCRIPTOR):
1311: case (NODE_REFENTRYTITLE):
1312: case (NODE_REFNAME):
1313: case (NODE_REFPURPOSE):
1314: case (NODE_SCREEN):
1315: case (NODE_SYNOPSIS):
1316: case (NODE_TERM):
1317: case (NODE_TITLE):
1318: case (NODE_ULINK):
1.1 kristaps 1319: return(1);
1320: default:
1321: break;
1322: }
1323: return(0);
1324: case (NODE_VARLISTENTRY):
1325: return (NODE_VARIABLELIST == parent);
1.16 kristaps 1326: case (NODE_WARNING):
1327: switch (parent) {
1328: case (NODE_CAUTION):
1329: case (NODE_ENTRY):
1330: case (NODE_ITEMIZEDLIST):
1331: case (NODE_LISTITEM):
1332: case (NODE_NOTE):
1333: case (NODE_ORDEREDLIST):
1334: case (NODE_PARA):
1335: case (NODE_REFSECT1):
1336: case (NODE_REFSECT2):
1337: case (NODE_REFSECT3):
1338: case (NODE_REFSECTION):
1339: case (NODE_REFSYNOPSISDIV):
1340: case (NODE_TIP):
1341: case (NODE_VARIABLELIST):
1342: case (NODE_WARNING):
1.17 kristaps 1343: return(1);
1344: default:
1345: break;
1346: }
1347: return(0);
1348: case (NODE_WORDASWORD):
1349: switch (parent) {
1350: case (NODE_EMPHASIS):
1351: case (NODE_ENTRY):
1352: case (NODE_FUNCSYNOPSISINFO):
1353: case (NODE_LINK):
1354: case (NODE_PARA):
1355: case (NODE_PROGRAMLISTING):
1356: case (NODE_QUOTE):
1357: case (NODE_REFDESCRIPTOR):
1358: case (NODE_REFENTRYTITLE):
1359: case (NODE_REFNAME):
1360: case (NODE_REFPURPOSE):
1361: case (NODE_SCREEN):
1362: case (NODE_SYNOPSIS):
1363: case (NODE_TERM):
1364: case (NODE_TITLE):
1365: case (NODE_ULINK):
1.18 kristaps 1366: return(1);
1367: default:
1368: break;
1369: }
1370: return(0);
1371: case (NODE_YEAR):
1372: switch (parent) {
1373: case (NODE_COPYRIGHT):
1.16 kristaps 1374: return(1);
1375: default:
1376: break;
1377: }
1378: return(0);
1.1 kristaps 1379: case (NODE__MAX):
1380: break;
1381: }
1382:
1383: abort();
1384: return(0);
1385: }
1386:
CVSweb