Annotation of docbook2mdoc/rules.c, Revision 1.11
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):
72: case (NODE_FUNCSYNOPSISINFO):
73: case (NODE_PROGRAMLISTING):
74: case (NODE_REFDESCRIPTOR):
75: case (NODE_REFENTRYTITLE):
76: case (NODE_REFNAME):
77: case (NODE_REFPURPOSE):
1.9 kristaps 78: case (NODE_SCREEN):
1.8 kristaps 79: case (NODE_SYNOPSIS):
80: case (NODE_TERM):
81: case (NODE_TITLE):
82: return(1);
83: default:
84: break;
85: }
86: return(0);
1.1 kristaps 87: case (NODE_ARG):
88: switch (parent) {
89: case (NODE_ARG):
90: case (NODE_CMDSYNOPSIS):
1.11 ! kristaps 91: case (NODE_GROUP):
1.1 kristaps 92: return(1);
93: default:
94: break;
95: }
96: return(0);
97: case (NODE_CITEREFENTRY):
98: switch (parent) {
99: case (NODE_EMPHASIS):
100: case (NODE_FUNCSYNOPSISINFO):
1.2 kristaps 101: case (NODE_LINK):
1.1 kristaps 102: case (NODE_PARA):
103: case (NODE_PROGRAMLISTING):
104: case (NODE_REFDESCRIPTOR):
105: case (NODE_REFENTRYTITLE):
106: case (NODE_REFNAME):
107: case (NODE_REFPURPOSE):
1.9 kristaps 108: case (NODE_SCREEN):
1.1 kristaps 109: case (NODE_SYNOPSIS):
110: case (NODE_TERM):
111: case (NODE_TITLE):
1.2 kristaps 112: case (NODE_ULINK):
1.1 kristaps 113: return(1);
114: default:
115: break;
116: }
117: return(0);
118: case (NODE_CMDSYNOPSIS):
119: switch (parent) {
1.4 kristaps 120: case (NODE_ITEMIZEDLIST):
1.1 kristaps 121: case (NODE_LISTITEM):
1.8 kristaps 122: case (NODE_ORDEREDLIST):
1.1 kristaps 123: case (NODE_PARA):
124: case (NODE_REFSECT1):
1.7 kristaps 125: case (NODE_REFSECT2):
1.1 kristaps 126: case (NODE_REFSYNOPSISDIV):
127: case (NODE_VARIABLELIST):
128: return(1);
129: default:
130: break;
131: }
132: return(0);
133: case (NODE_CODE):
134: switch (parent) {
135: case (NODE_EMPHASIS):
136: case (NODE_FUNCSYNOPSISINFO):
1.2 kristaps 137: case (NODE_LINK):
1.1 kristaps 138: case (NODE_PARA):
139: case (NODE_PROGRAMLISTING):
140: case (NODE_REFDESCRIPTOR):
141: case (NODE_REFENTRYTITLE):
142: case (NODE_REFNAME):
143: case (NODE_REFPURPOSE):
1.9 kristaps 144: case (NODE_SCREEN):
1.1 kristaps 145: case (NODE_SYNOPSIS):
146: case (NODE_TERM):
147: case (NODE_TITLE):
1.2 kristaps 148: case (NODE_ULINK):
1.10 kristaps 149: case (NODE_USERINPUT):
1.1 kristaps 150: return(1);
151: default:
152: break;
153: }
154: return(0);
155: case (NODE_COMMAND):
156: switch (parent) {
157: case (NODE_CMDSYNOPSIS):
158: case (NODE_EMPHASIS):
159: case (NODE_FUNCSYNOPSISINFO):
1.2 kristaps 160: case (NODE_LINK):
1.1 kristaps 161: case (NODE_PARA):
162: case (NODE_PROGRAMLISTING):
163: case (NODE_REFDESCRIPTOR):
164: case (NODE_REFENTRYTITLE):
165: case (NODE_REFNAME):
166: case (NODE_REFPURPOSE):
1.9 kristaps 167: case (NODE_SCREEN):
1.1 kristaps 168: case (NODE_SYNOPSIS):
169: case (NODE_TERM):
170: case (NODE_TITLE):
1.2 kristaps 171: case (NODE_ULINK):
1.10 kristaps 172: case (NODE_USERINPUT):
1.1 kristaps 173: return(1);
174: default:
175: break;
176: }
177: return(0);
1.3 kristaps 178: case (NODE_DATE):
179: switch (parent) {
180: case (NODE_EMPHASIS):
181: case (NODE_FUNCSYNOPSISINFO):
182: case (NODE_LINK):
183: case (NODE_PARA):
184: case (NODE_PROGRAMLISTING):
185: case (NODE_REFDESCRIPTOR):
186: case (NODE_REFENTRYINFO):
187: case (NODE_REFENTRYTITLE):
188: case (NODE_REFNAME):
189: case (NODE_REFPURPOSE):
1.9 kristaps 190: case (NODE_SCREEN):
1.3 kristaps 191: case (NODE_SYNOPSIS):
192: case (NODE_TITLE):
193: case (NODE_ULINK):
194: return(1);
195: default:
196: break;
197: }
198: return(0);
1.1 kristaps 199: case (NODE_EMPHASIS):
200: switch (parent) {
201: case (NODE_EMPHASIS):
202: case (NODE_FUNCSYNOPSISINFO):
1.2 kristaps 203: case (NODE_LINK):
1.1 kristaps 204: case (NODE_PARA):
205: case (NODE_PROGRAMLISTING):
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.1 kristaps 215: return(1);
216: default:
217: break;
218: }
219: return(0);
1.8 kristaps 220: case (NODE_ENVAR):
221: switch (parent) {
222: case (NODE_EMPHASIS):
223: case (NODE_FUNCSYNOPSISINFO):
224: case (NODE_LINK):
225: case (NODE_PARA):
226: case (NODE_PROGRAMLISTING):
227: case (NODE_REFDESCRIPTOR):
228: case (NODE_REFENTRYTITLE):
229: case (NODE_REFNAME):
230: case (NODE_REFPURPOSE):
1.9 kristaps 231: case (NODE_SCREEN):
1.8 kristaps 232: case (NODE_SYNOPSIS):
233: case (NODE_TERM):
234: case (NODE_TITLE):
235: case (NODE_ULINK):
1.10 kristaps 236: case (NODE_USERINPUT):
1.8 kristaps 237: return(1);
238: default:
239: break;
240: }
241: return(0);
1.5 kristaps 242: case (NODE_FILENAME):
243: switch (parent) {
244: case (NODE_EMPHASIS):
245: case (NODE_FUNCSYNOPSISINFO):
246: case (NODE_LINK):
247: case (NODE_PARA):
248: case (NODE_PROGRAMLISTING):
249: case (NODE_REFDESCRIPTOR):
250: case (NODE_REFENTRYTITLE):
251: case (NODE_REFNAME):
252: case (NODE_REFPURPOSE):
1.9 kristaps 253: case (NODE_SCREEN):
1.5 kristaps 254: case (NODE_SYNOPSIS):
255: case (NODE_TERM):
256: case (NODE_TITLE):
257: case (NODE_ULINK):
1.10 kristaps 258: case (NODE_USERINPUT):
1.5 kristaps 259: return(1);
260: default:
261: break;
262: }
263: return(0);
1.1 kristaps 264: case (NODE_FUNCDEF):
265: return(NODE_FUNCPROTOTYPE == parent);
266: case (NODE_FUNCPROTOTYPE):
267: return(NODE_FUNCSYNOPSIS == parent);
268: case (NODE_FUNCSYNOPSIS):
269: switch (parent) {
1.4 kristaps 270: case (NODE_ITEMIZEDLIST):
1.1 kristaps 271: case (NODE_LISTITEM):
1.8 kristaps 272: case (NODE_ORDEREDLIST):
1.1 kristaps 273: case (NODE_PARA):
274: case (NODE_REFSECT1):
1.7 kristaps 275: case (NODE_REFSECT2):
1.1 kristaps 276: case (NODE_REFSYNOPSISDIV):
277: case (NODE_VARIABLELIST):
278: return(1);
279: default:
280: break;
281: }
282: return(0);
283: case (NODE_FUNCSYNOPSISINFO):
284: return(NODE_FUNCSYNOPSIS == parent);
285: case (NODE_FUNCTION):
286: switch (parent) {
287: case (NODE_CODE):
288: case (NODE_EMPHASIS):
289: case (NODE_FUNCDEF):
290: case (NODE_FUNCSYNOPSISINFO):
1.2 kristaps 291: case (NODE_LINK):
1.1 kristaps 292: case (NODE_PARA):
293: case (NODE_PROGRAMLISTING):
294: case (NODE_REFDESCRIPTOR):
295: case (NODE_REFENTRYTITLE):
296: case (NODE_REFNAME):
297: case (NODE_REFPURPOSE):
1.9 kristaps 298: case (NODE_SCREEN):
1.1 kristaps 299: case (NODE_SYNOPSIS):
300: case (NODE_TERM):
301: case (NODE_TITLE):
1.2 kristaps 302: case (NODE_ULINK):
303: return(1);
304: default:
305: break;
306: }
307: return(0);
1.4 kristaps 308: case (NODE_ITEMIZEDLIST):
309: switch (parent) {
310: case (NODE_ITEMIZEDLIST):
311: case (NODE_LISTITEM):
1.8 kristaps 312: case (NODE_ORDEREDLIST):
1.4 kristaps 313: case (NODE_REFSECT1):
1.7 kristaps 314: case (NODE_REFSECT2):
1.4 kristaps 315: case (NODE_REFSYNOPSISDIV):
316: case (NODE_VARIABLELIST):
317: return(1);
318: default:
319: break;
320: }
321: return(0);
1.11 ! kristaps 322: case (NODE_GROUP):
! 323: switch (parent) {
! 324: case (NODE_ARG):
! 325: case (NODE_CMDSYNOPSIS):
! 326: case (NODE_GROUP):
! 327: return(1);
! 328: default:
! 329: break;
! 330: }
! 331: return(0);
1.2 kristaps 332: case (NODE_LINK):
1.4 kristaps 333: case (NODE_ULINK): /* Synonyms. */
1.2 kristaps 334: switch (parent) {
1.8 kristaps 335: case (NODE_ACRONYM):
1.2 kristaps 336: case (NODE_ARG):
337: case (NODE_CODE):
338: case (NODE_COMMAND):
339: case (NODE_EMPHASIS):
1.8 kristaps 340: case (NODE_ENVAR):
1.5 kristaps 341: case (NODE_FILENAME):
1.2 kristaps 342: case (NODE_FUNCDEF):
343: case (NODE_FUNCSYNOPSISINFO):
344: case (NODE_FUNCTION):
345: case (NODE_LINK):
1.6 kristaps 346: case (NODE_LITERAL):
1.2 kristaps 347: case (NODE_MANVOLNUM):
348: case (NODE_OPTION):
349: case (NODE_PARA):
350: case (NODE_PARAMDEF):
351: case (NODE_PARAMETER):
352: case (NODE_PROGRAMLISTING):
1.9 kristaps 353: case (NODE_PROMPT):
1.2 kristaps 354: case (NODE_REFDESCRIPTOR):
355: case (NODE_REFENTRYTITLE):
356: case (NODE_REFMISCINFO):
357: case (NODE_REFNAME):
358: case (NODE_REPLACEABLE):
1.9 kristaps 359: case (NODE_SCREEN):
1.2 kristaps 360: case (NODE_SYNOPSIS):
361: case (NODE_TERM):
362: case (NODE_ULINK):
1.10 kristaps 363: case (NODE_USERINPUT):
1.1 kristaps 364: return(1);
365: default:
366: break;
367: }
368: return(0);
369: case (NODE_LISTITEM):
1.4 kristaps 370: switch (parent) {
371: case (NODE_ITEMIZEDLIST):
1.8 kristaps 372: case (NODE_ORDEREDLIST):
1.4 kristaps 373: case (NODE_VARLISTENTRY):
374: return(1);
375: default:
376: break;
377: }
378: return(0);
1.6 kristaps 379: case (NODE_LITERAL):
380: switch (parent) {
381: case (NODE_EMPHASIS):
382: case (NODE_FUNCSYNOPSISINFO):
383: case (NODE_LINK):
384: case (NODE_PARA):
385: case (NODE_PROGRAMLISTING):
386: case (NODE_REFDESCRIPTOR):
387: case (NODE_REFENTRYTITLE):
388: case (NODE_REFNAME):
389: case (NODE_REFPURPOSE):
1.9 kristaps 390: case (NODE_SCREEN):
1.6 kristaps 391: case (NODE_SYNOPSIS):
392: case (NODE_TERM):
393: case (NODE_TITLE):
394: case (NODE_ULINK):
1.10 kristaps 395: case (NODE_USERINPUT):
1.6 kristaps 396: return(1);
397: default:
398: break;
399: }
400: return(0);
1.1 kristaps 401: case (NODE_MANVOLNUM):
402: switch (parent) {
403: case (NODE_CITEREFENTRY):
404: case (NODE_REFMETA):
405: return(1);
406: default:
407: break;
408: }
409: return(0);
410: case (NODE_OPTION):
411: switch (parent) {
412: case (NODE_ARG):
413: case (NODE_EMPHASIS):
414: case (NODE_FUNCSYNOPSISINFO):
1.11 ! kristaps 415: case (NODE_GROUP):
1.2 kristaps 416: case (NODE_LINK):
1.1 kristaps 417: case (NODE_PARA):
418: case (NODE_PROGRAMLISTING):
419: case (NODE_REFDESCRIPTOR):
420: case (NODE_REFENTRYTITLE):
421: case (NODE_REFNAME):
422: case (NODE_REFPURPOSE):
1.9 kristaps 423: case (NODE_SCREEN):
1.1 kristaps 424: case (NODE_SYNOPSIS):
425: case (NODE_TERM):
426: case (NODE_TITLE):
1.2 kristaps 427: case (NODE_ULINK):
1.10 kristaps 428: case (NODE_USERINPUT):
1.1 kristaps 429: return(1);
430: default:
431: break;
432: }
433: return(0);
1.8 kristaps 434: case (NODE_ORDEREDLIST):
435: switch (parent) {
436: case (NODE_ITEMIZEDLIST):
437: case (NODE_LISTITEM):
438: case (NODE_ORDEREDLIST):
439: case (NODE_PARA):
440: case (NODE_REFSECT1):
441: case (NODE_REFSECT2):
442: case (NODE_REFSYNOPSISDIV):
443: case (NODE_VARIABLELIST):
444: return(1);
445: default:
446: break;
447: }
448: return(0);
1.1 kristaps 449: case (NODE_PARA):
450: switch (parent) {
1.4 kristaps 451: case (NODE_ITEMIZEDLIST):
1.1 kristaps 452: case (NODE_LISTITEM):
1.8 kristaps 453: case (NODE_ORDEREDLIST):
1.1 kristaps 454: case (NODE_REFSECT1):
1.7 kristaps 455: case (NODE_REFSECT2):
1.1 kristaps 456: case (NODE_REFSYNOPSISDIV):
457: case (NODE_VARIABLELIST):
458: return(1);
459: default:
460: break;
461: }
462: return(0);
463: case (NODE_PARAMDEF):
464: return(NODE_FUNCPROTOTYPE == parent);
465: case (NODE_PARAMETER):
466: switch (parent) {
467: case (NODE_CODE):
468: case (NODE_FUNCSYNOPSISINFO):
1.2 kristaps 469: case (NODE_LINK):
1.1 kristaps 470: case (NODE_PARA):
471: case (NODE_PARAMDEF):
472: case (NODE_PROGRAMLISTING):
473: case (NODE_REFDESCRIPTOR):
474: case (NODE_REFENTRYTITLE):
475: case (NODE_REFNAME):
476: case (NODE_REFPURPOSE):
1.9 kristaps 477: case (NODE_SCREEN):
1.1 kristaps 478: case (NODE_SYNOPSIS):
479: case (NODE_TERM):
480: case (NODE_TITLE):
1.2 kristaps 481: case (NODE_ULINK):
1.10 kristaps 482: case (NODE_USERINPUT):
1.1 kristaps 483: return(1);
484: default:
485: break;
486: }
487: return(0);
488: case (NODE_PROGRAMLISTING):
489: switch (parent) {
1.4 kristaps 490: case (NODE_ITEMIZEDLIST):
1.1 kristaps 491: case (NODE_LISTITEM):
1.8 kristaps 492: case (NODE_ORDEREDLIST):
1.1 kristaps 493: case (NODE_PARA):
494: case (NODE_REFSECT1):
1.7 kristaps 495: case (NODE_REFSECT2):
1.1 kristaps 496: case (NODE_REFSYNOPSISDIV):
1.9 kristaps 497: case (NODE_VARIABLELIST):
498: return(1);
499: default:
500: break;
501: }
502: return(0);
503: case (NODE_PROMPT):
504: switch (parent) {
505: case (NODE_EMPHASIS):
506: case (NODE_FUNCSYNOPSISINFO):
507: case (NODE_LINK):
508: case (NODE_PARA):
509: case (NODE_PROGRAMLISTING):
510: case (NODE_REFDESCRIPTOR):
511: case (NODE_REFENTRYTITLE):
512: case (NODE_REFNAME):
513: case (NODE_REFPURPOSE):
514: case (NODE_SCREEN):
515: case (NODE_SYNOPSIS):
516: case (NODE_TERM):
517: case (NODE_TITLE):
518: case (NODE_ULINK):
1.10 kristaps 519: case (NODE_USERINPUT):
1.1 kristaps 520: return(1);
521: default:
522: break;
523: }
524: return(0);
525: case (NODE_REFCLASS):
526: return(parent == NODE_REFNAMEDIV);
527: case (NODE_REFDESCRIPTOR):
528: return(parent == NODE_REFNAMEDIV);
529: case (NODE_REFENTRY):
530: return(parent == NODE_ROOT);
1.3 kristaps 531: case (NODE_REFENTRYINFO):
532: return(parent == NODE_REFENTRY);
1.1 kristaps 533: case (NODE_REFENTRYTITLE):
534: switch (parent) {
535: case (NODE_CITEREFENTRY):
536: case (NODE_REFMETA):
537: return(1);
538: default:
539: break;
540: }
541: case (NODE_REFMETA):
542: return(parent == NODE_REFENTRY);
543: case (NODE_REFMISCINFO):
544: return(parent == NODE_REFMETA);
545: case (NODE_REFNAME):
546: return(parent == NODE_REFNAMEDIV);
547: case (NODE_REFNAMEDIV):
548: return(parent == NODE_REFENTRY);
549: case (NODE_REFPURPOSE):
550: return(parent == NODE_REFNAMEDIV);
551: case (NODE_REFSECT1):
552: return(parent == NODE_REFENTRY);
1.7 kristaps 553: case (NODE_REFSECT2):
554: switch (parent) {
555: case (NODE_REFSYNOPSISDIV):
556: case (NODE_REFSECT1):
557: return(1);
558: default:
559: break;
560: }
561: return(0);
1.1 kristaps 562: case (NODE_REFSYNOPSISDIV):
563: return(parent == NODE_REFENTRY);
564: case (NODE_REPLACEABLE):
565: switch (parent) {
1.8 kristaps 566: case (NODE_ACRONYM):
1.1 kristaps 567: case (NODE_ARG):
568: case (NODE_CODE):
569: case (NODE_COMMAND):
570: case (NODE_EMPHASIS):
1.8 kristaps 571: case (NODE_ENVAR):
1.5 kristaps 572: case (NODE_FILENAME):
1.1 kristaps 573: case (NODE_FUNCDEF):
574: case (NODE_FUNCSYNOPSISINFO):
575: case (NODE_FUNCTION):
1.11 ! kristaps 576: case (NODE_GROUP):
1.2 kristaps 577: case (NODE_LINK):
1.6 kristaps 578: case (NODE_LITERAL):
1.1 kristaps 579: case (NODE_MANVOLNUM):
580: case (NODE_OPTION):
581: case (NODE_PARA):
582: case (NODE_PARAMDEF):
583: case (NODE_PARAMETER):
584: case (NODE_PROGRAMLISTING):
1.9 kristaps 585: case (NODE_PROMPT):
1.1 kristaps 586: case (NODE_REFDESCRIPTOR):
587: case (NODE_REFENTRYTITLE):
588: case (NODE_REFMISCINFO):
589: case (NODE_REFNAME):
590: case (NODE_REFPURPOSE):
591: case (NODE_REPLACEABLE):
1.9 kristaps 592: case (NODE_SCREEN):
1.1 kristaps 593: case (NODE_SYNOPSIS):
594: case (NODE_TERM):
595: case (NODE_TITLE):
1.2 kristaps 596: case (NODE_ULINK):
1.10 kristaps 597: case (NODE_USERINPUT):
1.1 kristaps 598: default:
599: return(1);
1.6 kristaps 600: }
601: return(0);
602: case (NODE_SBR):
603: switch (parent) {
604: case (NODE_ARG):
605: case (NODE_CMDSYNOPSIS):
1.11 ! kristaps 606: case (NODE_GROUP):
1.9 kristaps 607: return(1);
608: default:
609: break;
610: }
611: return(0);
612: case (NODE_SCREEN):
613: switch (parent) {
614: case (NODE_ITEMIZEDLIST):
615: case (NODE_LISTITEM):
616: case (NODE_ORDEREDLIST):
617: case (NODE_PARA):
618: case (NODE_REFSECT1):
619: case (NODE_REFSECT2):
620: case (NODE_REFSYNOPSISDIV):
621: case (NODE_VARIABLELIST):
1.6 kristaps 622: return(1);
623: default:
624: break;
1.1 kristaps 625: }
626: return(0);
627: case (NODE_STRUCTNAME):
628: switch (parent) {
629: case (NODE_CODE):
630: case (NODE_FUNCSYNOPSISINFO):
631: case (NODE_FUNCTION):
632: case (NODE_OPTION):
633: case (NODE_PARA):
634: case (NODE_PARAMETER):
635: case (NODE_PROGRAMLISTING):
636: case (NODE_REFDESCRIPTOR):
637: case (NODE_REFENTRYTITLE):
638: case (NODE_REFNAME):
639: case (NODE_REFPURPOSE):
640: case (NODE_SYNOPSIS):
641: case (NODE_TITLE):
642: return(1);
643: default:
644: break;
645: }
646: return(0);
647: case (NODE_SYNOPSIS):
648: switch (parent) {
1.4 kristaps 649: case (NODE_ITEMIZEDLIST):
1.1 kristaps 650: case (NODE_LISTITEM):
1.8 kristaps 651: case (NODE_ORDEREDLIST):
1.1 kristaps 652: case (NODE_REFSYNOPSISDIV):
653: case (NODE_REFSECT1):
1.7 kristaps 654: case (NODE_REFSECT2):
1.1 kristaps 655: return(1);
656: default:
657: break;
658: }
659: return(0);
660: case (NODE_TITLE):
661: switch (parent) {
1.4 kristaps 662: case (NODE_ITEMIZEDLIST):
1.8 kristaps 663: case (NODE_ORDEREDLIST):
1.3 kristaps 664: case (NODE_REFENTRYINFO):
1.1 kristaps 665: case (NODE_REFSECT1):
1.7 kristaps 666: case (NODE_REFSECT2):
1.1 kristaps 667: case (NODE_REFSYNOPSISDIV):
668: case (NODE_VARIABLELIST):
669: return(1);
670: default:
671: break;
672: }
673: return(0);
674: case (NODE_TERM):
675: return(NODE_VARLISTENTRY == parent);
676: case (NODE_TEXT):
677: return(1);
1.10 kristaps 678: case (NODE_USERINPUT):
679: switch (parent) {
680: case (NODE_EMPHASIS):
681: case (NODE_FUNCSYNOPSISINFO):
682: case (NODE_LINK):
683: case (NODE_PARA):
684: case (NODE_PROGRAMLISTING):
685: case (NODE_REFDESCRIPTOR):
686: case (NODE_REFENTRYTITLE):
687: case (NODE_REFNAME):
688: case (NODE_REFPURPOSE):
689: case (NODE_SCREEN):
690: case (NODE_SYNOPSIS):
691: case (NODE_TERM):
692: case (NODE_TITLE):
693: case (NODE_ULINK):
694: case (NODE_USERINPUT):
695: return(1);
696: default:
697: break;
698: }
699: return(0);
1.1 kristaps 700: case (NODE_VARIABLELIST):
701: switch (parent) {
1.4 kristaps 702: case (NODE_ITEMIZEDLIST):
1.8 kristaps 703: case (NODE_ORDEREDLIST):
1.1 kristaps 704: case (NODE_PARA):
705: case (NODE_REFSECT1):
1.7 kristaps 706: case (NODE_REFSECT2):
1.1 kristaps 707: case (NODE_REFSYNOPSISDIV):
708: case (NODE_VARIABLELIST):
709: return(1);
710: default:
711: break;
712: }
713: return(0);
714: case (NODE_VARLISTENTRY):
715: return (NODE_VARIABLELIST == parent);
716: case (NODE__MAX):
717: break;
718: }
719:
720: abort();
721: return(0);
722: }
723:
CVSweb