=================================================================== RCS file: /cvs/docbook2mdoc/Attic/rules.c,v retrieving revision 1.7 retrieving revision 1.11 diff -u -p -r1.7 -r1.11 --- docbook2mdoc/Attic/rules.c 2014/03/30 16:57:06 1.7 +++ docbook2mdoc/Attic/rules.c 2014/03/30 18:15:55 1.11 @@ -8,12 +8,26 @@ isattrkey(enum nodeid node, enum attrkey key) switch (key) { case (ATTRKEY_CHOICE): - return(node == NODE_ARG); + switch (node) { + case (NODE_ARG): + case (NODE_GROUP): + return(1); + default: + break; + } + return(0); case (ATTRKEY_ID): /* Common to all. */ return(1); case (ATTRKEY_REP): - return(node == NODE_ARG); + switch (node) { + case (NODE_ARG): + case (NODE_GROUP): + return(1); + default: + break; + } + return(0); default: break; } @@ -52,10 +66,29 @@ isparent(enum nodeid node, enum nodeid parent) switch (node) { case (NODE_ROOT): return(0); + case (NODE_ACRONYM): + switch (parent) { + case (NODE_EMPHASIS): + case (NODE_FUNCSYNOPSISINFO): + case (NODE_PROGRAMLISTING): + case (NODE_REFDESCRIPTOR): + case (NODE_REFENTRYTITLE): + case (NODE_REFNAME): + case (NODE_REFPURPOSE): + case (NODE_SCREEN): + case (NODE_SYNOPSIS): + case (NODE_TERM): + case (NODE_TITLE): + return(1); + default: + break; + } + return(0); case (NODE_ARG): switch (parent) { case (NODE_ARG): case (NODE_CMDSYNOPSIS): + case (NODE_GROUP): return(1); default: break; @@ -72,6 +105,7 @@ isparent(enum nodeid node, enum nodeid parent) case (NODE_REFENTRYTITLE): case (NODE_REFNAME): case (NODE_REFPURPOSE): + case (NODE_SCREEN): case (NODE_SYNOPSIS): case (NODE_TERM): case (NODE_TITLE): @@ -85,6 +119,7 @@ isparent(enum nodeid node, enum nodeid parent) switch (parent) { case (NODE_ITEMIZEDLIST): case (NODE_LISTITEM): + case (NODE_ORDEREDLIST): case (NODE_PARA): case (NODE_REFSECT1): case (NODE_REFSECT2): @@ -106,10 +141,12 @@ isparent(enum nodeid node, enum nodeid parent) case (NODE_REFENTRYTITLE): case (NODE_REFNAME): case (NODE_REFPURPOSE): + case (NODE_SCREEN): case (NODE_SYNOPSIS): case (NODE_TERM): case (NODE_TITLE): case (NODE_ULINK): + case (NODE_USERINPUT): return(1); default: break; @@ -127,10 +164,12 @@ isparent(enum nodeid node, enum nodeid parent) case (NODE_REFENTRYTITLE): case (NODE_REFNAME): case (NODE_REFPURPOSE): + case (NODE_SCREEN): case (NODE_SYNOPSIS): case (NODE_TERM): case (NODE_TITLE): case (NODE_ULINK): + case (NODE_USERINPUT): return(1); default: break; @@ -148,6 +187,7 @@ isparent(enum nodeid node, enum nodeid parent) case (NODE_REFENTRYTITLE): case (NODE_REFNAME): case (NODE_REFPURPOSE): + case (NODE_SCREEN): case (NODE_SYNOPSIS): case (NODE_TITLE): case (NODE_ULINK): @@ -167,6 +207,7 @@ isparent(enum nodeid node, enum nodeid parent) case (NODE_REFENTRYTITLE): case (NODE_REFNAME): case (NODE_REFPURPOSE): + case (NODE_SCREEN): case (NODE_SYNOPSIS): case (NODE_TERM): case (NODE_TITLE): @@ -176,6 +217,28 @@ isparent(enum nodeid node, enum nodeid parent) break; } return(0); + case (NODE_ENVAR): + switch (parent) { + case (NODE_EMPHASIS): + case (NODE_FUNCSYNOPSISINFO): + case (NODE_LINK): + case (NODE_PARA): + case (NODE_PROGRAMLISTING): + case (NODE_REFDESCRIPTOR): + case (NODE_REFENTRYTITLE): + case (NODE_REFNAME): + case (NODE_REFPURPOSE): + case (NODE_SCREEN): + case (NODE_SYNOPSIS): + case (NODE_TERM): + case (NODE_TITLE): + case (NODE_ULINK): + case (NODE_USERINPUT): + return(1); + default: + break; + } + return(0); case (NODE_FILENAME): switch (parent) { case (NODE_EMPHASIS): @@ -187,10 +250,12 @@ isparent(enum nodeid node, enum nodeid parent) case (NODE_REFENTRYTITLE): case (NODE_REFNAME): case (NODE_REFPURPOSE): + case (NODE_SCREEN): case (NODE_SYNOPSIS): case (NODE_TERM): case (NODE_TITLE): case (NODE_ULINK): + case (NODE_USERINPUT): return(1); default: break; @@ -204,6 +269,7 @@ isparent(enum nodeid node, enum nodeid parent) switch (parent) { case (NODE_ITEMIZEDLIST): case (NODE_LISTITEM): + case (NODE_ORDEREDLIST): case (NODE_PARA): case (NODE_REFSECT1): case (NODE_REFSECT2): @@ -229,6 +295,7 @@ isparent(enum nodeid node, enum nodeid parent) case (NODE_REFENTRYTITLE): case (NODE_REFNAME): case (NODE_REFPURPOSE): + case (NODE_SCREEN): case (NODE_SYNOPSIS): case (NODE_TERM): case (NODE_TITLE): @@ -242,6 +309,7 @@ isparent(enum nodeid node, enum nodeid parent) switch (parent) { case (NODE_ITEMIZEDLIST): case (NODE_LISTITEM): + case (NODE_ORDEREDLIST): case (NODE_REFSECT1): case (NODE_REFSECT2): case (NODE_REFSYNOPSISDIV): @@ -251,13 +319,25 @@ isparent(enum nodeid node, enum nodeid parent) break; } return(0); + case (NODE_GROUP): + switch (parent) { + case (NODE_ARG): + case (NODE_CMDSYNOPSIS): + case (NODE_GROUP): + return(1); + default: + break; + } + return(0); case (NODE_LINK): case (NODE_ULINK): /* Synonyms. */ switch (parent) { + case (NODE_ACRONYM): case (NODE_ARG): case (NODE_CODE): case (NODE_COMMAND): case (NODE_EMPHASIS): + case (NODE_ENVAR): case (NODE_FILENAME): case (NODE_FUNCDEF): case (NODE_FUNCSYNOPSISINFO): @@ -270,14 +350,17 @@ isparent(enum nodeid node, enum nodeid parent) case (NODE_PARAMDEF): case (NODE_PARAMETER): case (NODE_PROGRAMLISTING): + case (NODE_PROMPT): case (NODE_REFDESCRIPTOR): case (NODE_REFENTRYTITLE): case (NODE_REFMISCINFO): case (NODE_REFNAME): case (NODE_REPLACEABLE): + case (NODE_SCREEN): case (NODE_SYNOPSIS): case (NODE_TERM): case (NODE_ULINK): + case (NODE_USERINPUT): return(1); default: break; @@ -286,6 +369,7 @@ isparent(enum nodeid node, enum nodeid parent) case (NODE_LISTITEM): switch (parent) { case (NODE_ITEMIZEDLIST): + case (NODE_ORDEREDLIST): case (NODE_VARLISTENTRY): return(1); default: @@ -303,10 +387,12 @@ isparent(enum nodeid node, enum nodeid parent) case (NODE_REFENTRYTITLE): case (NODE_REFNAME): case (NODE_REFPURPOSE): + case (NODE_SCREEN): case (NODE_SYNOPSIS): case (NODE_TERM): case (NODE_TITLE): case (NODE_ULINK): + case (NODE_USERINPUT): return(1); default: break; @@ -326,6 +412,7 @@ isparent(enum nodeid node, enum nodeid parent) case (NODE_ARG): case (NODE_EMPHASIS): case (NODE_FUNCSYNOPSISINFO): + case (NODE_GROUP): case (NODE_LINK): case (NODE_PARA): case (NODE_PROGRAMLISTING): @@ -333,19 +420,37 @@ isparent(enum nodeid node, enum nodeid parent) case (NODE_REFENTRYTITLE): case (NODE_REFNAME): case (NODE_REFPURPOSE): + case (NODE_SCREEN): case (NODE_SYNOPSIS): case (NODE_TERM): case (NODE_TITLE): case (NODE_ULINK): + case (NODE_USERINPUT): return(1); default: break; } return(0); + case (NODE_ORDEREDLIST): + switch (parent) { + case (NODE_ITEMIZEDLIST): + case (NODE_LISTITEM): + case (NODE_ORDEREDLIST): + case (NODE_PARA): + case (NODE_REFSECT1): + case (NODE_REFSECT2): + case (NODE_REFSYNOPSISDIV): + case (NODE_VARIABLELIST): + return(1); + default: + break; + } + return(0); case (NODE_PARA): switch (parent) { case (NODE_ITEMIZEDLIST): case (NODE_LISTITEM): + case (NODE_ORDEREDLIST): case (NODE_REFSECT1): case (NODE_REFSECT2): case (NODE_REFSYNOPSISDIV): @@ -369,10 +474,12 @@ isparent(enum nodeid node, enum nodeid parent) case (NODE_REFENTRYTITLE): case (NODE_REFNAME): case (NODE_REFPURPOSE): + case (NODE_SCREEN): case (NODE_SYNOPSIS): case (NODE_TERM): case (NODE_TITLE): case (NODE_ULINK): + case (NODE_USERINPUT): return(1); default: break; @@ -382,15 +489,39 @@ isparent(enum nodeid node, enum nodeid parent) switch (parent) { case (NODE_ITEMIZEDLIST): case (NODE_LISTITEM): + case (NODE_ORDEREDLIST): case (NODE_PARA): case (NODE_REFSECT1): case (NODE_REFSECT2): case (NODE_REFSYNOPSISDIV): + case (NODE_VARIABLELIST): return(1); default: break; } return(0); + case (NODE_PROMPT): + switch (parent) { + case (NODE_EMPHASIS): + case (NODE_FUNCSYNOPSISINFO): + case (NODE_LINK): + case (NODE_PARA): + case (NODE_PROGRAMLISTING): + case (NODE_REFDESCRIPTOR): + case (NODE_REFENTRYTITLE): + case (NODE_REFNAME): + case (NODE_REFPURPOSE): + case (NODE_SCREEN): + case (NODE_SYNOPSIS): + case (NODE_TERM): + case (NODE_TITLE): + case (NODE_ULINK): + case (NODE_USERINPUT): + return(1); + default: + break; + } + return(0); case (NODE_REFCLASS): return(parent == NODE_REFNAMEDIV); case (NODE_REFDESCRIPTOR): @@ -432,14 +563,17 @@ isparent(enum nodeid node, enum nodeid parent) return(parent == NODE_REFENTRY); case (NODE_REPLACEABLE): switch (parent) { + case (NODE_ACRONYM): case (NODE_ARG): case (NODE_CODE): case (NODE_COMMAND): case (NODE_EMPHASIS): + case (NODE_ENVAR): case (NODE_FILENAME): case (NODE_FUNCDEF): case (NODE_FUNCSYNOPSISINFO): case (NODE_FUNCTION): + case (NODE_GROUP): case (NODE_LINK): case (NODE_LITERAL): case (NODE_MANVOLNUM): @@ -448,16 +582,19 @@ isparent(enum nodeid node, enum nodeid parent) case (NODE_PARAMDEF): case (NODE_PARAMETER): case (NODE_PROGRAMLISTING): + case (NODE_PROMPT): case (NODE_REFDESCRIPTOR): case (NODE_REFENTRYTITLE): case (NODE_REFMISCINFO): case (NODE_REFNAME): case (NODE_REFPURPOSE): case (NODE_REPLACEABLE): + case (NODE_SCREEN): case (NODE_SYNOPSIS): case (NODE_TERM): case (NODE_TITLE): case (NODE_ULINK): + case (NODE_USERINPUT): default: return(1); } @@ -466,11 +603,27 @@ isparent(enum nodeid node, enum nodeid parent) switch (parent) { case (NODE_ARG): case (NODE_CMDSYNOPSIS): + case (NODE_GROUP): return(1); default: break; } return(0); + case (NODE_SCREEN): + switch (parent) { + case (NODE_ITEMIZEDLIST): + case (NODE_LISTITEM): + case (NODE_ORDEREDLIST): + case (NODE_PARA): + case (NODE_REFSECT1): + case (NODE_REFSECT2): + case (NODE_REFSYNOPSISDIV): + case (NODE_VARIABLELIST): + return(1); + default: + break; + } + return(0); case (NODE_STRUCTNAME): switch (parent) { case (NODE_CODE): @@ -495,6 +648,7 @@ isparent(enum nodeid node, enum nodeid parent) switch (parent) { case (NODE_ITEMIZEDLIST): case (NODE_LISTITEM): + case (NODE_ORDEREDLIST): case (NODE_REFSYNOPSISDIV): case (NODE_REFSECT1): case (NODE_REFSECT2): @@ -506,6 +660,7 @@ isparent(enum nodeid node, enum nodeid parent) case (NODE_TITLE): switch (parent) { case (NODE_ITEMIZEDLIST): + case (NODE_ORDEREDLIST): case (NODE_REFENTRYINFO): case (NODE_REFSECT1): case (NODE_REFSECT2): @@ -520,9 +675,32 @@ isparent(enum nodeid node, enum nodeid parent) return(NODE_VARLISTENTRY == parent); case (NODE_TEXT): return(1); + case (NODE_USERINPUT): + switch (parent) { + case (NODE_EMPHASIS): + case (NODE_FUNCSYNOPSISINFO): + case (NODE_LINK): + case (NODE_PARA): + case (NODE_PROGRAMLISTING): + case (NODE_REFDESCRIPTOR): + case (NODE_REFENTRYTITLE): + case (NODE_REFNAME): + case (NODE_REFPURPOSE): + case (NODE_SCREEN): + case (NODE_SYNOPSIS): + case (NODE_TERM): + case (NODE_TITLE): + case (NODE_ULINK): + case (NODE_USERINPUT): + return(1); + default: + break; + } + return(0); case (NODE_VARIABLELIST): switch (parent) { case (NODE_ITEMIZEDLIST): + case (NODE_ORDEREDLIST): case (NODE_PARA): case (NODE_REFSECT1): case (NODE_REFSECT2):