Annotation of docbook2mdoc/rules.c, Revision 1.22
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.18 kristaps 505: case (NODE_ITEMIZEDLIST):
1.11 kristaps 506: switch (parent) {
1.18 kristaps 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_TIP):
520: case (NODE_VARIABLELIST):
521: case (NODE_WARNING):
1.11 kristaps 522: return(1);
523: default:
524: break;
525: }
526: return(0);
1.2 kristaps 527: case (NODE_LINK):
1.4 kristaps 528: case (NODE_ULINK): /* Synonyms. */
1.2 kristaps 529: switch (parent) {
1.8 kristaps 530: case (NODE_ACRONYM):
1.14 kristaps 531: case (NODE_APPLICATION):
1.2 kristaps 532: case (NODE_ARG):
533: case (NODE_CODE):
534: case (NODE_COMMAND):
1.18 kristaps 535: case (NODE_CONSTANT):
1.2 kristaps 536: case (NODE_EMPHASIS):
1.12 kristaps 537: case (NODE_ENTRY):
1.8 kristaps 538: case (NODE_ENVAR):
1.5 kristaps 539: case (NODE_FILENAME):
1.2 kristaps 540: case (NODE_FUNCDEF):
541: case (NODE_FUNCSYNOPSISINFO):
542: case (NODE_FUNCTION):
1.18 kristaps 543: case (NODE_HOLDER):
1.2 kristaps 544: case (NODE_LINK):
1.6 kristaps 545: case (NODE_LITERAL):
1.2 kristaps 546: case (NODE_MANVOLNUM):
1.22 ! kristaps 547: case (NODE_MODIFIER):
1.2 kristaps 548: case (NODE_OPTION):
549: case (NODE_PARA):
550: case (NODE_PARAMDEF):
551: case (NODE_PARAMETER):
552: case (NODE_PROGRAMLISTING):
1.9 kristaps 553: case (NODE_PROMPT):
1.15 kristaps 554: case (NODE_QUOTE):
1.2 kristaps 555: case (NODE_REFDESCRIPTOR):
556: case (NODE_REFENTRYTITLE):
557: case (NODE_REFMISCINFO):
558: case (NODE_REFNAME):
559: case (NODE_REPLACEABLE):
1.9 kristaps 560: case (NODE_SCREEN):
1.2 kristaps 561: case (NODE_SYNOPSIS):
562: case (NODE_TERM):
1.19 kristaps 563: case (NODE_TRADEMARK):
1.22 ! kristaps 564: case (NODE_TYPE):
1.2 kristaps 565: case (NODE_ULINK):
1.10 kristaps 566: case (NODE_USERINPUT):
1.13 kristaps 567: case (NODE_VARNAME):
1.17 kristaps 568: case (NODE_WORDASWORD):
1.18 kristaps 569: case (NODE_YEAR):
1.1 kristaps 570: return(1);
571: default:
572: break;
573: }
574: return(0);
575: case (NODE_LISTITEM):
1.4 kristaps 576: switch (parent) {
577: case (NODE_ITEMIZEDLIST):
1.8 kristaps 578: case (NODE_ORDEREDLIST):
1.4 kristaps 579: case (NODE_VARLISTENTRY):
580: return(1);
581: default:
582: break;
583: }
584: return(0);
1.6 kristaps 585: case (NODE_LITERAL):
586: switch (parent) {
587: case (NODE_EMPHASIS):
1.12 kristaps 588: case (NODE_ENTRY):
1.6 kristaps 589: case (NODE_FUNCSYNOPSISINFO):
590: case (NODE_LINK):
591: case (NODE_PARA):
592: case (NODE_PROGRAMLISTING):
1.15 kristaps 593: case (NODE_QUOTE):
1.6 kristaps 594: case (NODE_REFDESCRIPTOR):
595: case (NODE_REFENTRYTITLE):
596: case (NODE_REFNAME):
597: case (NODE_REFPURPOSE):
1.9 kristaps 598: case (NODE_SCREEN):
1.6 kristaps 599: case (NODE_SYNOPSIS):
600: case (NODE_TERM):
601: case (NODE_TITLE):
602: case (NODE_ULINK):
1.10 kristaps 603: case (NODE_USERINPUT):
1.6 kristaps 604: return(1);
605: default:
606: break;
607: }
608: return(0);
1.1 kristaps 609: case (NODE_MANVOLNUM):
610: switch (parent) {
611: case (NODE_CITEREFENTRY):
612: case (NODE_REFMETA):
613: return(1);
614: default:
615: break;
616: }
617: return(0);
1.22 ! kristaps 618: case (NODE_MODIFIER):
! 619: switch (parent) {
! 620: case (NODE_CODE):
! 621: case (NODE_EMPHASIS):
! 622: case (NODE_ENTRY):
! 623: case (NODE_FIELDSYNOPSIS):
! 624: case (NODE_FUNCSYNOPSISINFO):
! 625: case (NODE_LINK):
! 626: case (NODE_ULINK):
! 627: case (NODE_PARA):
! 628: case (NODE_PROGRAMLISTING):
! 629: case (NODE_QUOTE):
! 630: case (NODE_REFDESCRIPTOR):
! 631: case (NODE_REFENTRYTITLE):
! 632: case (NODE_REFNAME):
! 633: case (NODE_REFPURPOSE):
! 634: case (NODE_SCREEN):
! 635: case (NODE_SYNOPSIS):
! 636: case (NODE_TERM):
! 637: case (NODE_TITLE):
! 638: return(1);
! 639: default:
! 640: break;
! 641: }
! 642: return(0);
1.16 kristaps 643: case (NODE_NOTE):
644: switch (parent) {
645: case (NODE_CAUTION):
646: case (NODE_ENTRY):
647: case (NODE_ITEMIZEDLIST):
648: case (NODE_LISTITEM):
649: case (NODE_NOTE):
650: case (NODE_ORDEREDLIST):
651: case (NODE_PARA):
652: case (NODE_REFSECT1):
653: case (NODE_REFSECT2):
654: case (NODE_REFSECT3):
655: case (NODE_REFSECTION):
656: case (NODE_REFSYNOPSISDIV):
657: case (NODE_TIP):
658: case (NODE_VARIABLELIST):
659: case (NODE_WARNING):
660: return(1);
661: default:
662: break;
663: }
664: return(0);
1.1 kristaps 665: case (NODE_OPTION):
666: switch (parent) {
667: case (NODE_ARG):
668: case (NODE_EMPHASIS):
1.12 kristaps 669: case (NODE_ENTRY):
1.1 kristaps 670: case (NODE_FUNCSYNOPSISINFO):
1.11 kristaps 671: case (NODE_GROUP):
1.2 kristaps 672: case (NODE_LINK):
1.1 kristaps 673: case (NODE_PARA):
674: case (NODE_PROGRAMLISTING):
1.15 kristaps 675: case (NODE_QUOTE):
1.1 kristaps 676: case (NODE_REFDESCRIPTOR):
677: case (NODE_REFENTRYTITLE):
678: case (NODE_REFNAME):
679: case (NODE_REFPURPOSE):
1.9 kristaps 680: case (NODE_SCREEN):
1.1 kristaps 681: case (NODE_SYNOPSIS):
682: case (NODE_TERM):
683: case (NODE_TITLE):
1.2 kristaps 684: case (NODE_ULINK):
1.10 kristaps 685: case (NODE_USERINPUT):
1.1 kristaps 686: return(1);
687: default:
688: break;
689: }
690: return(0);
1.8 kristaps 691: case (NODE_ORDEREDLIST):
692: switch (parent) {
1.16 kristaps 693: case (NODE_CAUTION):
1.12 kristaps 694: case (NODE_ENTRY):
1.8 kristaps 695: case (NODE_ITEMIZEDLIST):
696: case (NODE_LISTITEM):
697: case (NODE_ORDEREDLIST):
1.16 kristaps 698: case (NODE_NOTE):
1.8 kristaps 699: case (NODE_PARA):
700: case (NODE_REFSECT1):
701: case (NODE_REFSECT2):
1.16 kristaps 702: case (NODE_REFSECT3):
703: case (NODE_REFSECTION):
1.8 kristaps 704: case (NODE_REFSYNOPSISDIV):
1.16 kristaps 705: case (NODE_TIP):
1.8 kristaps 706: case (NODE_VARIABLELIST):
1.16 kristaps 707: case (NODE_WARNING):
1.8 kristaps 708: return(1);
709: default:
710: break;
711: }
712: return(0);
1.1 kristaps 713: case (NODE_PARA):
714: switch (parent) {
1.16 kristaps 715: case (NODE_CAUTION):
1.12 kristaps 716: case (NODE_ENTRY):
1.4 kristaps 717: case (NODE_ITEMIZEDLIST):
1.1 kristaps 718: case (NODE_LISTITEM):
1.16 kristaps 719: case (NODE_NOTE):
1.8 kristaps 720: case (NODE_ORDEREDLIST):
1.1 kristaps 721: case (NODE_REFSECT1):
1.7 kristaps 722: case (NODE_REFSECT2):
1.16 kristaps 723: case (NODE_REFSECT3):
724: case (NODE_REFSECTION):
1.1 kristaps 725: case (NODE_REFSYNOPSISDIV):
1.16 kristaps 726: case (NODE_TIP):
1.1 kristaps 727: case (NODE_VARIABLELIST):
1.16 kristaps 728: case (NODE_WARNING):
1.1 kristaps 729: return(1);
730: default:
731: break;
732: }
733: return(0);
734: case (NODE_PARAMDEF):
735: return(NODE_FUNCPROTOTYPE == parent);
736: case (NODE_PARAMETER):
737: switch (parent) {
738: case (NODE_CODE):
1.12 kristaps 739: case (NODE_ENTRY):
1.1 kristaps 740: case (NODE_FUNCSYNOPSISINFO):
1.2 kristaps 741: case (NODE_LINK):
1.1 kristaps 742: case (NODE_PARA):
743: case (NODE_PARAMDEF):
744: case (NODE_PROGRAMLISTING):
1.15 kristaps 745: case (NODE_QUOTE):
1.1 kristaps 746: case (NODE_REFDESCRIPTOR):
747: case (NODE_REFENTRYTITLE):
748: case (NODE_REFNAME):
749: case (NODE_REFPURPOSE):
1.9 kristaps 750: case (NODE_SCREEN):
1.1 kristaps 751: case (NODE_SYNOPSIS):
752: case (NODE_TERM):
753: case (NODE_TITLE):
1.2 kristaps 754: case (NODE_ULINK):
1.10 kristaps 755: case (NODE_USERINPUT):
1.1 kristaps 756: return(1);
757: default:
758: break;
759: }
760: return(0);
761: case (NODE_PROGRAMLISTING):
762: switch (parent) {
1.16 kristaps 763: case (NODE_CAUTION):
1.12 kristaps 764: case (NODE_ENTRY):
1.4 kristaps 765: case (NODE_ITEMIZEDLIST):
1.1 kristaps 766: case (NODE_LISTITEM):
1.8 kristaps 767: case (NODE_ORDEREDLIST):
1.16 kristaps 768: case (NODE_NOTE):
1.1 kristaps 769: case (NODE_PARA):
770: case (NODE_REFSECT1):
1.7 kristaps 771: case (NODE_REFSECT2):
1.16 kristaps 772: case (NODE_REFSECT3):
773: case (NODE_REFSECTION):
1.1 kristaps 774: case (NODE_REFSYNOPSISDIV):
1.16 kristaps 775: case (NODE_TIP):
1.9 kristaps 776: case (NODE_VARIABLELIST):
1.16 kristaps 777: case (NODE_WARNING):
1.9 kristaps 778: return(1);
779: default:
780: break;
781: }
782: return(0);
783: case (NODE_PROMPT):
784: switch (parent) {
785: case (NODE_EMPHASIS):
1.12 kristaps 786: case (NODE_ENTRY):
1.9 kristaps 787: case (NODE_FUNCSYNOPSISINFO):
788: case (NODE_LINK):
789: case (NODE_PARA):
790: case (NODE_PROGRAMLISTING):
1.15 kristaps 791: case (NODE_QUOTE):
1.9 kristaps 792: case (NODE_REFDESCRIPTOR):
793: case (NODE_REFENTRYTITLE):
794: case (NODE_REFNAME):
795: case (NODE_REFPURPOSE):
796: case (NODE_SCREEN):
797: case (NODE_SYNOPSIS):
798: case (NODE_TERM):
799: case (NODE_TITLE):
800: case (NODE_ULINK):
1.10 kristaps 801: case (NODE_USERINPUT):
1.1 kristaps 802: return(1);
803: default:
804: break;
805: }
806: return(0);
1.15 kristaps 807: case (NODE_QUOTE):
808: switch (parent) {
809: case (NODE_EMPHASIS):
810: case (NODE_ENTRY):
811: case (NODE_FUNCSYNOPSISINFO):
812: case (NODE_LINK):
813: case (NODE_PARA):
814: case (NODE_PROGRAMLISTING):
815: case (NODE_QUOTE):
816: case (NODE_REFDESCRIPTOR):
817: case (NODE_REFENTRYTITLE):
818: case (NODE_REFNAME):
819: case (NODE_REFPURPOSE):
820: case (NODE_SCREEN):
821: case (NODE_SYNOPSIS):
822: case (NODE_TERM):
823: case (NODE_TITLE):
824: case (NODE_ULINK):
825: return(1);
826: default:
827: break;
828: }
829: return(0);
1.1 kristaps 830: case (NODE_REFCLASS):
831: return(parent == NODE_REFNAMEDIV);
832: case (NODE_REFDESCRIPTOR):
833: return(parent == NODE_REFNAMEDIV);
834: case (NODE_REFENTRY):
835: return(parent == NODE_ROOT);
1.3 kristaps 836: case (NODE_REFENTRYINFO):
837: return(parent == NODE_REFENTRY);
1.1 kristaps 838: case (NODE_REFENTRYTITLE):
839: switch (parent) {
840: case (NODE_CITEREFENTRY):
841: case (NODE_REFMETA):
842: return(1);
843: default:
844: break;
845: }
846: case (NODE_REFMETA):
847: return(parent == NODE_REFENTRY);
1.21 kristaps 848: case (NODE_REFMETAINFO):
849: return(parent == NODE_REFMETA);
1.1 kristaps 850: case (NODE_REFMISCINFO):
851: return(parent == NODE_REFMETA);
852: case (NODE_REFNAME):
853: return(parent == NODE_REFNAMEDIV);
854: case (NODE_REFNAMEDIV):
855: return(parent == NODE_REFENTRY);
856: case (NODE_REFPURPOSE):
857: return(parent == NODE_REFNAMEDIV);
858: case (NODE_REFSECT1):
859: return(parent == NODE_REFENTRY);
1.7 kristaps 860: case (NODE_REFSECT2):
861: switch (parent) {
862: case (NODE_REFSYNOPSISDIV):
863: case (NODE_REFSECT1):
864: return(1);
865: default:
866: break;
867: }
868: return(0);
1.16 kristaps 869: case (NODE_REFSECT3):
870: return(parent == NODE_REFSECT2);
871: case (NODE_REFSECTION):
872: switch (parent) {
873: case (NODE_REFENTRY):
874: case (NODE_REFSECTION):
875: case (NODE_REFSYNOPSISDIV):
876: return(1);
877: default:
878: break;
879: }
880: return(0);
1.1 kristaps 881: case (NODE_REFSYNOPSISDIV):
882: return(parent == NODE_REFENTRY);
883: case (NODE_REPLACEABLE):
884: switch (parent) {
1.8 kristaps 885: case (NODE_ACRONYM):
1.14 kristaps 886: case (NODE_APPLICATION):
1.1 kristaps 887: case (NODE_ARG):
888: case (NODE_CODE):
889: case (NODE_COMMAND):
1.18 kristaps 890: case (NODE_CONSTANT):
1.1 kristaps 891: case (NODE_EMPHASIS):
1.12 kristaps 892: case (NODE_ENTRY):
1.8 kristaps 893: case (NODE_ENVAR):
1.5 kristaps 894: case (NODE_FILENAME):
1.1 kristaps 895: case (NODE_FUNCDEF):
896: case (NODE_FUNCSYNOPSISINFO):
897: case (NODE_FUNCTION):
1.11 kristaps 898: case (NODE_GROUP):
1.18 kristaps 899: case (NODE_HOLDER):
1.2 kristaps 900: case (NODE_LINK):
1.6 kristaps 901: case (NODE_LITERAL):
1.1 kristaps 902: case (NODE_MANVOLNUM):
1.22 ! kristaps 903: case (NODE_MODIFIER):
1.1 kristaps 904: case (NODE_OPTION):
905: case (NODE_PARA):
906: case (NODE_PARAMDEF):
907: case (NODE_PARAMETER):
908: case (NODE_PROGRAMLISTING):
1.9 kristaps 909: case (NODE_PROMPT):
1.15 kristaps 910: case (NODE_QUOTE):
1.1 kristaps 911: case (NODE_REFDESCRIPTOR):
912: case (NODE_REFENTRYTITLE):
913: case (NODE_REFMISCINFO):
914: case (NODE_REFNAME):
915: case (NODE_REFPURPOSE):
916: case (NODE_REPLACEABLE):
1.9 kristaps 917: case (NODE_SCREEN):
1.17 kristaps 918: case (NODE_SGMLTAG):
1.1 kristaps 919: case (NODE_SYNOPSIS):
920: case (NODE_TERM):
921: case (NODE_TITLE):
1.19 kristaps 922: case (NODE_TRADEMARK):
1.22 ! kristaps 923: case (NODE_TYPE):
1.2 kristaps 924: case (NODE_ULINK):
1.10 kristaps 925: case (NODE_USERINPUT):
1.13 kristaps 926: case (NODE_VARNAME):
1.17 kristaps 927: case (NODE_WORDASWORD):
1.18 kristaps 928: case (NODE_YEAR):
1.1 kristaps 929: default:
930: return(1);
1.6 kristaps 931: }
932: return(0);
1.12 kristaps 933: case (NODE_ROW):
934: switch (parent) {
935: case (NODE_TBODY):
936: case (NODE_TFOOT):
937: case (NODE_THEAD):
938: return(1);
939: default:
940: break;
941: }
942: return(0);
1.6 kristaps 943: case (NODE_SBR):
944: switch (parent) {
945: case (NODE_ARG):
946: case (NODE_CMDSYNOPSIS):
1.11 kristaps 947: case (NODE_GROUP):
1.9 kristaps 948: return(1);
949: default:
950: break;
951: }
952: return(0);
953: case (NODE_SCREEN):
954: switch (parent) {
1.16 kristaps 955: case (NODE_CAUTION):
1.12 kristaps 956: case (NODE_ENTRY):
1.9 kristaps 957: case (NODE_ITEMIZEDLIST):
958: case (NODE_LISTITEM):
959: case (NODE_ORDEREDLIST):
1.16 kristaps 960: case (NODE_NOTE):
1.9 kristaps 961: case (NODE_PARA):
962: case (NODE_REFSECT1):
963: case (NODE_REFSECT2):
1.16 kristaps 964: case (NODE_REFSECT3):
965: case (NODE_REFSECTION):
1.9 kristaps 966: case (NODE_REFSYNOPSISDIV):
1.16 kristaps 967: case (NODE_TIP):
1.9 kristaps 968: case (NODE_VARIABLELIST):
1.16 kristaps 969: case (NODE_WARNING):
1.6 kristaps 970: return(1);
971: default:
972: break;
1.1 kristaps 973: }
974: return(0);
1.17 kristaps 975: case (NODE_SGMLTAG):
976: switch (parent) {
977: case (NODE_APPLICATION):
978: case (NODE_CODE):
979: case (NODE_COMMAND):
980: case (NODE_EMPHASIS):
981: case (NODE_ENTRY):
982: case (NODE_FILENAME):
983: case (NODE_FUNCSYNOPSISINFO):
984: case (NODE_FUNCTION):
985: case (NODE_LINK):
986: case (NODE_LITERAL):
987: case (NODE_OPTION):
988: case (NODE_PARA):
989: case (NODE_PARAMETER):
990: case (NODE_PROGRAMLISTING):
991: case (NODE_QUOTE):
992: case (NODE_REFDESCRIPTOR):
993: case (NODE_REFENTRYTITLE):
994: case (NODE_REFNAME):
995: case (NODE_REFPURPOSE):
996: case (NODE_SCREEN):
997: case (NODE_SYNOPSIS):
998: case (NODE_TERM):
999: case (NODE_TITLE):
1000: case (NODE_USERINPUT):
1001: return(1);
1002: default:
1003: break;
1004: }
1005: return(0);
1.1 kristaps 1006: case (NODE_STRUCTNAME):
1007: switch (parent) {
1008: case (NODE_CODE):
1009: case (NODE_FUNCSYNOPSISINFO):
1010: case (NODE_FUNCTION):
1011: case (NODE_OPTION):
1012: case (NODE_PARA):
1013: case (NODE_PARAMETER):
1014: case (NODE_PROGRAMLISTING):
1015: case (NODE_REFDESCRIPTOR):
1016: case (NODE_REFENTRYTITLE):
1017: case (NODE_REFNAME):
1018: case (NODE_REFPURPOSE):
1019: case (NODE_SYNOPSIS):
1020: case (NODE_TITLE):
1021: return(1);
1022: default:
1023: break;
1024: }
1025: return(0);
1026: case (NODE_SYNOPSIS):
1027: switch (parent) {
1.16 kristaps 1028: case (NODE_CAUTION):
1.12 kristaps 1029: case (NODE_ENTRY):
1.4 kristaps 1030: case (NODE_ITEMIZEDLIST):
1.1 kristaps 1031: case (NODE_LISTITEM):
1.8 kristaps 1032: case (NODE_ORDEREDLIST):
1.16 kristaps 1033: case (NODE_NOTE):
1034: case (NODE_PARA):
1.1 kristaps 1035: case (NODE_REFSYNOPSISDIV):
1036: case (NODE_REFSECT1):
1.7 kristaps 1037: case (NODE_REFSECT2):
1.16 kristaps 1038: case (NODE_REFSECT3):
1039: case (NODE_REFSECTION):
1040: case (NODE_TIP):
1041: case (NODE_WARNING):
1.1 kristaps 1042: return(1);
1043: default:
1044: break;
1045: }
1046: return(0);
1.20 kristaps 1047: case (NODE_INFORMALTABLE):
1048: /* FALLTHROUGH */
1.12 kristaps 1049: case (NODE_TABLE):
1050: switch (parent) {
1.16 kristaps 1051: case (NODE_CAUTION):
1.12 kristaps 1052: case (NODE_ENTRY):
1053: case (NODE_ITEMIZEDLIST):
1054: case (NODE_LISTITEM):
1055: case (NODE_ORDEREDLIST):
1.16 kristaps 1056: case (NODE_NOTE):
1.12 kristaps 1057: case (NODE_PARA):
1058: case (NODE_REFSECT1):
1.16 kristaps 1059: case (NODE_REFSECT2):
1060: case (NODE_REFSECT3):
1061: case (NODE_REFSECTION):
1.12 kristaps 1062: case (NODE_REFSYNOPSISDIV):
1.16 kristaps 1063: case (NODE_TIP):
1.12 kristaps 1064: case (NODE_VARIABLELIST):
1.16 kristaps 1065: case (NODE_WARNING):
1.12 kristaps 1066: return(1);
1067: default:
1068: break;
1069: }
1070: return(0);
1071: case (NODE_TBODY):
1072: return(NODE_TGROUP == parent);
1073: case (NODE_TFOOT):
1074: return(NODE_TGROUP == parent);
1075: case (NODE_TGROUP):
1.20 kristaps 1076: switch (parent) {
1077: case (NODE_INFORMALTABLE):
1078: case (NODE_TABLE):
1079: return(1);
1080: default:
1081: break;
1082: }
1083: return(0);
1.12 kristaps 1084: case (NODE_THEAD):
1085: return(NODE_TGROUP == parent);
1.1 kristaps 1086: case (NODE_TITLE):
1087: switch (parent) {
1.18 kristaps 1088: case (NODE_INFO):
1.20 kristaps 1089: case (NODE_INFORMALTABLE):
1.4 kristaps 1090: case (NODE_ITEMIZEDLIST):
1.8 kristaps 1091: case (NODE_ORDEREDLIST):
1.3 kristaps 1092: case (NODE_REFENTRYINFO):
1.1 kristaps 1093: case (NODE_REFSECT1):
1.7 kristaps 1094: case (NODE_REFSECT2):
1.16 kristaps 1095: case (NODE_REFSECT3):
1096: case (NODE_REFSECTION):
1.1 kristaps 1097: case (NODE_REFSYNOPSISDIV):
1.12 kristaps 1098: case (NODE_TABLE):
1.1 kristaps 1099: case (NODE_VARIABLELIST):
1100: return(1);
1101: default:
1102: break;
1103: }
1104: return(0);
1105: case (NODE_TERM):
1106: return(NODE_VARLISTENTRY == parent);
1107: case (NODE_TEXT):
1108: return(1);
1.16 kristaps 1109: case (NODE_TIP):
1110: switch (parent) {
1111: case (NODE_CAUTION):
1112: case (NODE_ENTRY):
1113: case (NODE_ITEMIZEDLIST):
1114: case (NODE_LISTITEM):
1115: case (NODE_NOTE):
1116: case (NODE_ORDEREDLIST):
1117: case (NODE_PARA):
1118: case (NODE_REFSECT1):
1119: case (NODE_REFSECT2):
1120: case (NODE_REFSECT3):
1121: case (NODE_REFSECTION):
1122: case (NODE_REFSYNOPSISDIV):
1123: case (NODE_TIP):
1124: case (NODE_VARIABLELIST):
1125: case (NODE_WARNING):
1.19 kristaps 1126: return(1);
1127: default:
1128: break;
1129: }
1130: return(0);
1131: case (NODE_TRADEMARK):
1132: switch (parent) {
1133: case (NODE_ACRONYM):
1134: case (NODE_EMPHASIS):
1135: case (NODE_ENTRY):
1136: case (NODE_FUNCSYNOPSISINFO):
1137: case (NODE_LINK):
1138: case (NODE_ULINK):
1139: case (NODE_PARA):
1140: case (NODE_PROGRAMLISTING):
1141: case (NODE_QUOTE):
1142: case (NODE_REFDESCRIPTOR):
1143: case (NODE_REFENTRYTITLE):
1144: case (NODE_REFNAME):
1145: case (NODE_REFPURPOSE):
1146: case (NODE_SCREEN):
1147: case (NODE_SYNOPSIS):
1148: case (NODE_TERM):
1149: case (NODE_TITLE):
1.16 kristaps 1150: return(1);
1151: default:
1152: break;
1153: }
1154: return(0);
1.22 ! kristaps 1155: case (NODE_TYPE):
! 1156: switch (parent) {
! 1157: case (NODE_CODE):
! 1158: case (NODE_EMPHASIS):
! 1159: case (NODE_ENTRY):
! 1160: case (NODE_FIELDSYNOPSIS):
! 1161: case (NODE_FUNCSYNOPSISINFO):
! 1162: case (NODE_LINK):
! 1163: case (NODE_ULINK):
! 1164: case (NODE_PARA):
! 1165: case (NODE_PROGRAMLISTING):
! 1166: case (NODE_QUOTE):
! 1167: case (NODE_REFDESCRIPTOR):
! 1168: case (NODE_REFENTRYTITLE):
! 1169: case (NODE_REFNAME):
! 1170: case (NODE_REFPURPOSE):
! 1171: case (NODE_SCREEN):
! 1172: case (NODE_SYNOPSIS):
! 1173: case (NODE_TERM):
! 1174: case (NODE_TITLE):
! 1175: return(1);
! 1176: default:
! 1177: break;
! 1178: }
! 1179: return(0);
1.10 kristaps 1180: case (NODE_USERINPUT):
1181: switch (parent) {
1182: case (NODE_EMPHASIS):
1.12 kristaps 1183: case (NODE_ENTRY):
1.10 kristaps 1184: case (NODE_FUNCSYNOPSISINFO):
1185: case (NODE_LINK):
1186: case (NODE_PARA):
1187: case (NODE_PROGRAMLISTING):
1.15 kristaps 1188: case (NODE_QUOTE):
1.10 kristaps 1189: case (NODE_REFDESCRIPTOR):
1190: case (NODE_REFENTRYTITLE):
1191: case (NODE_REFNAME):
1192: case (NODE_REFPURPOSE):
1193: case (NODE_SCREEN):
1194: case (NODE_SYNOPSIS):
1195: case (NODE_TERM):
1196: case (NODE_TITLE):
1197: case (NODE_ULINK):
1198: case (NODE_USERINPUT):
1199: return(1);
1200: default:
1201: break;
1202: }
1203: return(0);
1.1 kristaps 1204: case (NODE_VARIABLELIST):
1205: switch (parent) {
1.16 kristaps 1206: case (NODE_CAUTION):
1.12 kristaps 1207: case (NODE_ENTRY):
1.4 kristaps 1208: case (NODE_ITEMIZEDLIST):
1.8 kristaps 1209: case (NODE_ORDEREDLIST):
1.16 kristaps 1210: case (NODE_NOTE):
1.1 kristaps 1211: case (NODE_PARA):
1212: case (NODE_REFSECT1):
1.7 kristaps 1213: case (NODE_REFSECT2):
1.16 kristaps 1214: case (NODE_REFSECT3):
1215: case (NODE_REFSECTION):
1.1 kristaps 1216: case (NODE_REFSYNOPSISDIV):
1.16 kristaps 1217: case (NODE_TIP):
1.1 kristaps 1218: case (NODE_VARIABLELIST):
1.16 kristaps 1219: case (NODE_WARNING):
1.13 kristaps 1220: return(1);
1221: default:
1222: break;
1223: }
1224: return(0);
1225: case (NODE_VARNAME):
1226: switch (parent) {
1227: case (NODE_CODE):
1228: case (NODE_EMPHASIS):
1229: case (NODE_ENTRY):
1.22 ! kristaps 1230: case (NODE_FIELDSYNOPSIS):
1.13 kristaps 1231: case (NODE_FUNCSYNOPSISINFO):
1232: case (NODE_LINK):
1233: case (NODE_PARA):
1234: case (NODE_PROGRAMLISTING):
1.15 kristaps 1235: case (NODE_QUOTE):
1.13 kristaps 1236: case (NODE_REFDESCRIPTOR):
1237: case (NODE_REFENTRYTITLE):
1238: case (NODE_REFNAME):
1239: case (NODE_REFPURPOSE):
1240: case (NODE_SCREEN):
1241: case (NODE_SYNOPSIS):
1242: case (NODE_TERM):
1243: case (NODE_TITLE):
1244: case (NODE_ULINK):
1.1 kristaps 1245: return(1);
1246: default:
1247: break;
1248: }
1249: return(0);
1250: case (NODE_VARLISTENTRY):
1251: return (NODE_VARIABLELIST == parent);
1.16 kristaps 1252: case (NODE_WARNING):
1253: switch (parent) {
1254: case (NODE_CAUTION):
1255: case (NODE_ENTRY):
1256: case (NODE_ITEMIZEDLIST):
1257: case (NODE_LISTITEM):
1258: case (NODE_NOTE):
1259: case (NODE_ORDEREDLIST):
1260: case (NODE_PARA):
1261: case (NODE_REFSECT1):
1262: case (NODE_REFSECT2):
1263: case (NODE_REFSECT3):
1264: case (NODE_REFSECTION):
1265: case (NODE_REFSYNOPSISDIV):
1266: case (NODE_TIP):
1267: case (NODE_VARIABLELIST):
1268: case (NODE_WARNING):
1.17 kristaps 1269: return(1);
1270: default:
1271: break;
1272: }
1273: return(0);
1274: case (NODE_WORDASWORD):
1275: switch (parent) {
1276: case (NODE_EMPHASIS):
1277: case (NODE_ENTRY):
1278: case (NODE_FUNCSYNOPSISINFO):
1279: case (NODE_LINK):
1280: case (NODE_PARA):
1281: case (NODE_PROGRAMLISTING):
1282: case (NODE_QUOTE):
1283: case (NODE_REFDESCRIPTOR):
1284: case (NODE_REFENTRYTITLE):
1285: case (NODE_REFNAME):
1286: case (NODE_REFPURPOSE):
1287: case (NODE_SCREEN):
1288: case (NODE_SYNOPSIS):
1289: case (NODE_TERM):
1290: case (NODE_TITLE):
1291: case (NODE_ULINK):
1.18 kristaps 1292: return(1);
1293: default:
1294: break;
1295: }
1296: return(0);
1297: case (NODE_YEAR):
1298: switch (parent) {
1299: case (NODE_COPYRIGHT):
1.16 kristaps 1300: return(1);
1301: default:
1302: break;
1303: }
1304: return(0);
1.1 kristaps 1305: case (NODE__MAX):
1306: break;
1307: }
1308:
1309: abort();
1310: return(0);
1311: }
1312:
CVSweb