source@mandoc.bsd.lv
 help / color / mirror / Atom feed
* docbook2mdoc: Add caution, note, tip, refsect3, refsection, warning.
@ 2014-04-02 10:59 kristaps
  0 siblings, 0 replies; only message in thread
From: kristaps @ 2014-04-02 10:59 UTC (permalink / raw)
  To: source

Log Message:
-----------
Add caution, note, tip, refsect3, refsection, warning.

Modified Files:
--------------
    docbook2mdoc:
        docbook2mdoc.c
        extern.h
        rules.c

Revision Data
-------------
Index: extern.h
===================================================================
RCS file: /usr/vhosts/mdocml.bsd.lv/cvs/docbook2mdoc/extern.h,v
retrieving revision 1.15
retrieving revision 1.16
diff -Lextern.h -Lextern.h -u -p -r1.15 -r1.16
--- extern.h
+++ extern.h
@@ -10,6 +10,7 @@ enum	nodeid {
 	NODE_ACRONYM,
 	NODE_APPLICATION,
 	NODE_ARG,
+	NODE_CAUTION,
 	NODE_CITEREFENTRY,
 	NODE_CMDSYNOPSIS,
 	NODE_CODE,
@@ -30,6 +31,7 @@ enum	nodeid {
 	NODE_LISTITEM,
 	NODE_LITERAL,
 	NODE_MANVOLNUM, 
+	NODE_NOTE, 
 	NODE_OPTION,
 	NODE_ORDEREDLIST,
 	NODE_PARA,
@@ -50,6 +52,8 @@ enum	nodeid {
 	NODE_REFPURPOSE,
 	NODE_REFSECT1,
 	NODE_REFSECT2,
+	NODE_REFSECT3,
+	NODE_REFSECTION,
 	NODE_REFSYNOPSISDIV,
 	NODE_REPLACEABLE,
 	NODE_ROW,
@@ -64,12 +68,14 @@ enum	nodeid {
 	NODE_TFOOT,
 	NODE_TGROUP,
 	NODE_THEAD,
+	NODE_TIP,
 	NODE_TITLE,
 	NODE_ULINK,
 	NODE_USERINPUT,
 	NODE_VARIABLELIST,
 	NODE_VARLISTENTRY,
 	NODE_VARNAME,
+	NODE_WARNING,
 	NODE__MAX
 };
 
Index: docbook2mdoc.c
===================================================================
RCS file: /usr/vhosts/mdocml.bsd.lv/cvs/docbook2mdoc/docbook2mdoc.c,v
retrieving revision 1.28
retrieving revision 1.29
diff -Ldocbook2mdoc.c -Ldocbook2mdoc.c -u -p -r1.28 -r1.29
--- docbook2mdoc.c
+++ docbook2mdoc.c
@@ -90,6 +90,7 @@ static	const struct node nodes[NODE__MAX
 	{ "acronym", 0 }, 
 	{ "application", 0 }, 
 	{ "arg", 0 }, 
+	{ "caution", NODE_IGNTEXT }, 
 	{ "citerefentry", NODE_IGNTEXT }, 
 	{ "cmdsynopsis", NODE_IGNTEXT }, 
 	{ "code", 0 }, 
@@ -110,6 +111,7 @@ static	const struct node nodes[NODE__MAX
 	{ "listitem", NODE_IGNTEXT }, 
 	{ "literal", 0 }, 
 	{ "manvolnum", 0 }, 
+	{ "note", NODE_IGNTEXT }, 
 	{ "option", 0 }, 
 	{ "orderedlist", NODE_IGNTEXT }, 
 	{ "para", 0 }, 
@@ -130,6 +132,8 @@ static	const struct node nodes[NODE__MAX
 	{ "refpurpose", 0 }, 
 	{ "refsect1", NODE_IGNTEXT }, 
 	{ "refsect2", NODE_IGNTEXT }, 
+	{ "refsect3", NODE_IGNTEXT }, 
+	{ "refsection", NODE_IGNTEXT }, 
 	{ "refsynopsisdiv", NODE_IGNTEXT }, 
 	{ "replaceable", 0 }, 
 	{ "row", NODE_IGNTEXT }, 
@@ -144,12 +148,14 @@ static	const struct node nodes[NODE__MAX
 	{ "tfoot", NODE_IGNTEXT }, 
 	{ "tgroup", NODE_IGNTEXT }, 
 	{ "thead", NODE_IGNTEXT }, 
+	{ "tip", NODE_IGNTEXT }, 
 	{ "title", 0 }, 
 	{ "ulink", 0 }, 
 	{ "userinput", 0 }, 
 	{ "variablelist", NODE_IGNTEXT }, 
 	{ "varlistentry", NODE_IGNTEXT }, 
 	{ "varname", 0 }, 
+	{ "warning", NODE_IGNTEXT }, 
 };
 
 static void
@@ -621,10 +627,34 @@ pnode_printrefsect(struct parse *p, stru
 		if (NODE_TITLE == pp->node)
 			break;
 
-	if (NODE_REFSECT1 == pn->node)
+	switch (pn->node) {
+	case (NODE_REFSECT1):
 		fputs(".Sh", stdout);
-	else
+		break;
+	case (NODE_REFSECT2):
 		fputs(".Ss", stdout);
+		break;
+	case (NODE_REFSECT3):
+		puts(".Pp");
+		fputs(".Sy", stdout);
+		break;
+	case (NODE_NOTE):
+		/* FALLTHROUGH */
+	case (NODE_REFSECTION):
+		/* FALLTHROUGH */
+	case (NODE_TIP):
+		/* FALLTHROUGH */
+	case (NODE_CAUTION):
+		/* FALLTHROUGH */
+	case (NODE_WARNING):
+		puts(".Pp");
+		if (NULL == pp)
+			return;
+		fputs(".Em", stdout);
+		break;
+	default:
+		break;
+	}
 
 	p->newln = 0;
 
@@ -635,7 +665,8 @@ pnode_printrefsect(struct parse *p, stru
 		pnode_printmclose(p, 1);
 		pnode_unlink(pp);
 	} else {
-		puts("UNKNOWN");
+		puts(NODE_REFSECT1 == pn->node ?
+			"UNKNOWN" : "unknown");
 		p->newln = 1;
 	}
 }
@@ -1155,6 +1186,18 @@ pnode_print(struct parse *p, struct pnod
 	case (NODE_REFSECT1):
 		/* FALLTHROUGH */
 	case (NODE_REFSECT2):
+		/* FALLTHROUGH */
+	case (NODE_REFSECT3):
+		/* FALLTHROUGH */
+	case (NODE_REFSECTION):
+		/* FALLTHROUGH */
+	case (NODE_NOTE):
+		/* FALLTHROUGH */
+	case (NODE_TIP):
+		/* FALLTHROUGH */
+	case (NODE_CAUTION):
+		/* FALLTHROUGH */
+	case (NODE_WARNING):
 		assert(p->newln);
 		pnode_printrefsect(p, pn);
 		break;
Index: rules.c
===================================================================
RCS file: /usr/vhosts/mdocml.bsd.lv/cvs/docbook2mdoc/rules.c,v
retrieving revision 1.15
retrieving revision 1.16
diff -Lrules.c -Lrules.c -u -p -r1.15 -r1.16
--- rules.c
+++ rules.c
@@ -121,6 +121,28 @@ isparent(enum nodeid node, enum nodeid p
 			break;
 		}
 		return(0);
+	case (NODE_CAUTION):
+		switch (parent) {
+		case (NODE_CAUTION):
+		case (NODE_ENTRY):
+		case (NODE_ITEMIZEDLIST):
+		case (NODE_LISTITEM):
+		case (NODE_NOTE):
+		case (NODE_ORDEREDLIST):
+		case (NODE_PARA):
+		case (NODE_REFSECT1):
+		case (NODE_REFSECT2):
+		case (NODE_REFSECT3):
+		case (NODE_REFSECTION):
+		case (NODE_REFSYNOPSISDIV):
+		case (NODE_TIP):
+		case (NODE_VARIABLELIST):
+		case (NODE_WARNING):
+			return(1);
+		default:
+			break;
+		}
+		return(0);
 	case (NODE_CITEREFENTRY):
 		switch (parent) {
 		case (NODE_EMPHASIS):
@@ -146,15 +168,21 @@ isparent(enum nodeid node, enum nodeid p
 		return(0);
 	case (NODE_CMDSYNOPSIS):
 		switch (parent) {
+		case (NODE_CAUTION):
 		case (NODE_ENTRY):
 		case (NODE_ITEMIZEDLIST):
 		case (NODE_LISTITEM):
 		case (NODE_ORDEREDLIST):
+		case (NODE_NOTE):
 		case (NODE_PARA):
 		case (NODE_REFSECT1):
 		case (NODE_REFSECT2):
+		case (NODE_REFSECT3):
+		case (NODE_REFSECTION):
 		case (NODE_REFSYNOPSISDIV):
+		case (NODE_TIP):
 		case (NODE_VARIABLELIST):
+		case (NODE_WARNING):
 			return(1);
 		default:
 			break;
@@ -311,15 +339,21 @@ isparent(enum nodeid node, enum nodeid p
 		return(NODE_FUNCSYNOPSIS == parent);
 	case (NODE_FUNCSYNOPSIS):
 		switch (parent) {
+		case (NODE_CAUTION):
 		case (NODE_ENTRY):
 		case (NODE_ITEMIZEDLIST):
 		case (NODE_LISTITEM):
 		case (NODE_ORDEREDLIST):
+		case (NODE_NOTE):
 		case (NODE_PARA):
 		case (NODE_REFSECT1):
 		case (NODE_REFSECT2):
+		case (NODE_REFSECT3):
+		case (NODE_REFSECTION):
 		case (NODE_REFSYNOPSISDIV):
+		case (NODE_TIP):
 		case (NODE_VARIABLELIST):
+		case (NODE_WARNING):
 			return(1);
 		default:
 			break;
@@ -354,14 +388,21 @@ isparent(enum nodeid node, enum nodeid p
 		return(0);
 	case (NODE_ITEMIZEDLIST):
 		switch (parent) {
+		case (NODE_CAUTION):
 		case (NODE_ENTRY):
 		case (NODE_ITEMIZEDLIST):
 		case (NODE_LISTITEM):
+		case (NODE_NOTE):
 		case (NODE_ORDEREDLIST):
+		case (NODE_PARA):
 		case (NODE_REFSECT1):
 		case (NODE_REFSECT2):
+		case (NODE_REFSECT3):
+		case (NODE_REFSECTION):
 		case (NODE_REFSYNOPSISDIV):
+		case (NODE_TIP):
 		case (NODE_VARIABLELIST):
+		case (NODE_WARNING):
 			return(1);
 		default:
 			break;
@@ -461,6 +502,28 @@ isparent(enum nodeid node, enum nodeid p
 			break;
 		}
 		return(0);
+	case (NODE_NOTE):
+		switch (parent) {
+		case (NODE_CAUTION):
+		case (NODE_ENTRY):
+		case (NODE_ITEMIZEDLIST):
+		case (NODE_LISTITEM):
+		case (NODE_NOTE):
+		case (NODE_ORDEREDLIST):
+		case (NODE_PARA):
+		case (NODE_REFSECT1):
+		case (NODE_REFSECT2):
+		case (NODE_REFSECT3):
+		case (NODE_REFSECTION):
+		case (NODE_REFSYNOPSISDIV):
+		case (NODE_TIP):
+		case (NODE_VARIABLELIST):
+		case (NODE_WARNING):
+			return(1);
+		default:
+			break;
+		}
+		return(0);
 	case (NODE_OPTION):
 		switch (parent) {
 		case (NODE_ARG):
@@ -489,15 +552,21 @@ isparent(enum nodeid node, enum nodeid p
 		return(0);
 	case (NODE_ORDEREDLIST):
 		switch (parent) {
+		case (NODE_CAUTION):
 		case (NODE_ENTRY):
 		case (NODE_ITEMIZEDLIST):
 		case (NODE_LISTITEM):
 		case (NODE_ORDEREDLIST):
+		case (NODE_NOTE):
 		case (NODE_PARA):
 		case (NODE_REFSECT1):
 		case (NODE_REFSECT2):
+		case (NODE_REFSECT3):
+		case (NODE_REFSECTION):
 		case (NODE_REFSYNOPSISDIV):
+		case (NODE_TIP):
 		case (NODE_VARIABLELIST):
+		case (NODE_WARNING):
 			return(1);
 		default:
 			break;
@@ -505,14 +574,20 @@ isparent(enum nodeid node, enum nodeid p
 		return(0);
 	case (NODE_PARA):
 		switch (parent) {
+		case (NODE_CAUTION):
 		case (NODE_ENTRY):
 		case (NODE_ITEMIZEDLIST):
 		case (NODE_LISTITEM):
+		case (NODE_NOTE):
 		case (NODE_ORDEREDLIST):
 		case (NODE_REFSECT1):
 		case (NODE_REFSECT2):
+		case (NODE_REFSECT3):
+		case (NODE_REFSECTION):
 		case (NODE_REFSYNOPSISDIV):
+		case (NODE_TIP):
 		case (NODE_VARIABLELIST):
+		case (NODE_WARNING):
 			return(1);
 		default:
 			break;
@@ -547,15 +622,21 @@ isparent(enum nodeid node, enum nodeid p
 		return(0);
 	case (NODE_PROGRAMLISTING):
 		switch (parent) {
+		case (NODE_CAUTION):
 		case (NODE_ENTRY):
 		case (NODE_ITEMIZEDLIST):
 		case (NODE_LISTITEM):
 		case (NODE_ORDEREDLIST):
+		case (NODE_NOTE):
 		case (NODE_PARA):
 		case (NODE_REFSECT1):
 		case (NODE_REFSECT2):
+		case (NODE_REFSECT3):
+		case (NODE_REFSECTION):
 		case (NODE_REFSYNOPSISDIV):
+		case (NODE_TIP):
 		case (NODE_VARIABLELIST):
+		case (NODE_WARNING):
 			return(1);
 		default:
 			break;
@@ -646,6 +727,18 @@ isparent(enum nodeid node, enum nodeid p
 			break;
 		}
 		return(0);
+	case (NODE_REFSECT3):
+		return(parent == NODE_REFSECT2);
+	case (NODE_REFSECTION):
+		switch (parent) {
+		case (NODE_REFENTRY):
+		case (NODE_REFSECTION):
+		case (NODE_REFSYNOPSISDIV):
+			return(1);
+		default:
+			break;
+		}
+		return(0);
 	case (NODE_REFSYNOPSISDIV):
 		return(parent == NODE_REFENTRY);
 	case (NODE_REPLACEABLE):
@@ -712,15 +805,21 @@ isparent(enum nodeid node, enum nodeid p
 		return(0);
 	case (NODE_SCREEN):
 		switch (parent) {
+		case (NODE_CAUTION):
 		case (NODE_ENTRY):
 		case (NODE_ITEMIZEDLIST):
 		case (NODE_LISTITEM):
 		case (NODE_ORDEREDLIST):
+		case (NODE_NOTE):
 		case (NODE_PARA):
 		case (NODE_REFSECT1):
 		case (NODE_REFSECT2):
+		case (NODE_REFSECT3):
+		case (NODE_REFSECTION):
 		case (NODE_REFSYNOPSISDIV):
+		case (NODE_TIP):
 		case (NODE_VARIABLELIST):
+		case (NODE_WARNING):
 			return(1);
 		default:
 			break;
@@ -748,13 +847,20 @@ isparent(enum nodeid node, enum nodeid p
 		return(0);
 	case (NODE_SYNOPSIS):
 		switch (parent) {
+		case (NODE_CAUTION):
 		case (NODE_ENTRY):
 		case (NODE_ITEMIZEDLIST):
 		case (NODE_LISTITEM):
 		case (NODE_ORDEREDLIST):
+		case (NODE_NOTE):
+		case (NODE_PARA):
 		case (NODE_REFSYNOPSISDIV):
 		case (NODE_REFSECT1):
 		case (NODE_REFSECT2):
+		case (NODE_REFSECT3):
+		case (NODE_REFSECTION):
+		case (NODE_TIP):
+		case (NODE_WARNING):
 			return(1);
 		default:
 			break;
@@ -762,14 +868,21 @@ isparent(enum nodeid node, enum nodeid p
 		return(0);
 	case (NODE_TABLE):
 		switch (parent) {
+		case (NODE_CAUTION):
 		case (NODE_ENTRY):
 		case (NODE_ITEMIZEDLIST):
 		case (NODE_LISTITEM):
 		case (NODE_ORDEREDLIST):
+		case (NODE_NOTE):
 		case (NODE_PARA):
 		case (NODE_REFSECT1):
+		case (NODE_REFSECT2):
+		case (NODE_REFSECT3):
+		case (NODE_REFSECTION):
 		case (NODE_REFSYNOPSISDIV):
+		case (NODE_TIP):
 		case (NODE_VARIABLELIST):
+		case (NODE_WARNING):
 			return(1);
 		default:
 			break;
@@ -790,6 +903,8 @@ isparent(enum nodeid node, enum nodeid p
 		case (NODE_REFENTRYINFO):
 		case (NODE_REFSECT1):
 		case (NODE_REFSECT2):
+		case (NODE_REFSECT3):
+		case (NODE_REFSECTION):
 		case (NODE_REFSYNOPSISDIV):
 		case (NODE_TABLE):
 		case (NODE_VARIABLELIST):
@@ -802,6 +917,28 @@ isparent(enum nodeid node, enum nodeid p
 		return(NODE_VARLISTENTRY == parent);
 	case (NODE_TEXT):
 		return(1);
+	case (NODE_TIP):
+		switch (parent) {
+		case (NODE_CAUTION):
+		case (NODE_ENTRY):
+		case (NODE_ITEMIZEDLIST):
+		case (NODE_LISTITEM):
+		case (NODE_NOTE):
+		case (NODE_ORDEREDLIST):
+		case (NODE_PARA):
+		case (NODE_REFSECT1):
+		case (NODE_REFSECT2):
+		case (NODE_REFSECT3):
+		case (NODE_REFSECTION):
+		case (NODE_REFSYNOPSISDIV):
+		case (NODE_TIP):
+		case (NODE_VARIABLELIST):
+		case (NODE_WARNING):
+			return(1);
+		default:
+			break;
+		}
+		return(0);
 	case (NODE_USERINPUT):
 		switch (parent) {
 		case (NODE_EMPHASIS):
@@ -828,14 +965,20 @@ isparent(enum nodeid node, enum nodeid p
 		return(0);
 	case (NODE_VARIABLELIST):
 		switch (parent) {
+		case (NODE_CAUTION):
 		case (NODE_ENTRY):
 		case (NODE_ITEMIZEDLIST):
 		case (NODE_ORDEREDLIST):
+		case (NODE_NOTE):
 		case (NODE_PARA):
 		case (NODE_REFSECT1):
 		case (NODE_REFSECT2):
+		case (NODE_REFSECT3):
+		case (NODE_REFSECTION):
 		case (NODE_REFSYNOPSISDIV):
+		case (NODE_TIP):
 		case (NODE_VARIABLELIST):
+		case (NODE_WARNING):
 			return(1);
 		default:
 			break;
@@ -867,6 +1010,28 @@ isparent(enum nodeid node, enum nodeid p
 		return(0);
 	case (NODE_VARLISTENTRY):
 		return (NODE_VARIABLELIST == parent);
+	case (NODE_WARNING):
+		switch (parent) {
+		case (NODE_CAUTION):
+		case (NODE_ENTRY):
+		case (NODE_ITEMIZEDLIST):
+		case (NODE_LISTITEM):
+		case (NODE_NOTE):
+		case (NODE_ORDEREDLIST):
+		case (NODE_PARA):
+		case (NODE_REFSECT1):
+		case (NODE_REFSECT2):
+		case (NODE_REFSECT3):
+		case (NODE_REFSECTION):
+		case (NODE_REFSYNOPSISDIV):
+		case (NODE_TIP):
+		case (NODE_VARIABLELIST):
+		case (NODE_WARNING):
+			return(1);
+		default:
+			break;
+		}
+		return(0);
 	case (NODE__MAX):
 		break;
 	}
--
 To unsubscribe send an email to source+unsubscribe@mdocml.bsd.lv

^ permalink raw reply	[flat|nested] only message in thread

only message in thread, other threads:[~2014-04-02 10:59 UTC | newest]

Thread overview: (only message) (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2014-04-02 10:59 docbook2mdoc: Add caution, note, tip, refsect3, refsection, warning kristaps

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).