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