* docbook2mdoc: many new nodes found below
@ 2019-03-22 16:10 schwarze
0 siblings, 0 replies; only message in thread
From: schwarze @ 2019-03-22 16:10 UTC (permalink / raw)
To: source
Log Message:
-----------
many new nodes found below /usr/xenocara/proto/xorgproto/specs/
Modified Files:
--------------
docbook2mdoc:
docbook2mdoc.c
extern.h
Revision Data
-------------
Index: extern.h
===================================================================
RCS file: /home/cvs/mdocml/docbook2mdoc/extern.h,v
retrieving revision 1.27
retrieving revision 1.28
diff -Lextern.h -Lextern.h -u -p -r1.27 -r1.28
--- extern.h
+++ extern.h
@@ -1,3 +1,21 @@
+/* $Id$ */
+/*
+ * Copyright (c) 2014 Kristaps Dzonsons <kristaps@bsd.lv>
+ * Copyright (c) 2019 Ingo Schwarze <schwarze@openbsd.org>
+ *
+ * Permission to use, copy, modify, and distribute this software for any
+ * purpose with or without fee is hereby granted, provided that the above
+ * copyright notice and this permission notice appear in all copies.
+ *
+ * THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHORS DISCLAIM ALL WARRANTIES
+ * WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF
+ * MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHORS BE LIABLE FOR
+ * ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
+ * WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN
+ * ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF
+ * OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
+ */
+
/*
* All recognised node types.
*/
@@ -5,11 +23,19 @@ enum nodeid {
NODE_ROOT = 0, /* Must comes first. */
/* Alpha-ordered hereafter. */
NODE_ACRONYM,
+ NODE_AFFILIATION,
NODE_ANCHOR,
NODE_APPLICATION,
NODE_ARG,
+ NODE_AUTHOR,
+ NODE_AUTHORGROUP,
+ NODE_BLOCKQUOTE,
+ NODE_BOOK,
+ NODE_BOOKINFO,
NODE_CAUTION,
+ NODE_CHAPTER,
NODE_CITEREFENTRY,
+ NODE_CITETITLE,
NODE_CMDSYNOPSIS,
NODE_CODE,
NODE_COLSPEC,
@@ -17,27 +43,38 @@ enum nodeid {
NODE_CONSTANT,
NODE_COPYRIGHT,
NODE_DATE,
+ NODE_EDITOR,
NODE_EMPHASIS,
NODE_ENTRY,
NODE_ENVAR,
NODE_FIELDSYNOPSIS,
NODE_FILENAME,
+ NODE_FIRSTNAME,
+ NODE_FIRSTTERM,
+ NODE_FOOTNOTE,
NODE_FUNCDEF,
NODE_FUNCPROTOTYPE,
NODE_FUNCSYNOPSIS,
NODE_FUNCSYNOPSISINFO,
NODE_FUNCTION,
+ NODE_GLOSSTERM,
NODE_GROUP,
NODE_HOLDER,
+ NODE_INDEX,
+ NODE_INDEXTERM,
NODE_INFO,
NODE_INFORMALEQUATION,
NODE_INFORMALTABLE,
NODE_INLINEEQUATION,
NODE_ITEMIZEDLIST,
+ NODE_KEYSYM,
+ NODE_LEGALNOTICE,
NODE_LINK,
NODE_LISTITEM,
NODE_LITERAL,
+ NODE_LITERALLAYOUT,
NODE_MANVOLNUM,
+ NODE_MEMBER,
NODE_MML_MATH,
NODE_MML_MFENCED,
NODE_MML_MFRAC,
@@ -51,9 +88,15 @@ enum nodeid {
NODE_NOTE,
NODE_OPTION,
NODE_ORDEREDLIST,
+ NODE_ORGNAME,
+ NODE_OTHERNAME,
NODE_PARA,
NODE_PARAMDEF,
NODE_PARAMETER,
+ NODE_PART,
+ NODE_PHRASE,
+ NODE_PREFACE,
+ NODE_PRIMARY,
NODE_PROGRAMLISTING,
NODE_PROMPT,
NODE_QUOTE,
@@ -73,12 +116,21 @@ enum nodeid {
NODE_REFSECT3,
NODE_REFSECTION,
NODE_REFSYNOPSISDIV,
+ NODE_RELEASEINFO,
NODE_REPLACEABLE,
NODE_ROW,
NODE_SBR,
NODE_SCREEN,
+ NODE_SECONDARY,
+ NODE_SECT1,
+ NODE_SECT2,
+ NODE_SECTION,
NODE_SGMLTAG,
+ NODE_SIMPLELIST,
+ NODE_SPANSPEC,
NODE_STRUCTNAME,
+ NODE_SUBTITLE,
+ NODE_SURNAME,
NODE_SYNOPSIS,
NODE_TABLE,
NODE_TBODY,
Index: docbook2mdoc.c
===================================================================
RCS file: /home/cvs/mdocml/docbook2mdoc/docbook2mdoc.c,v
retrieving revision 1.49
retrieving revision 1.50
diff -Ldocbook2mdoc.c -Ldocbook2mdoc.c -u -p -r1.49 -r1.50
--- docbook2mdoc.c
+++ docbook2mdoc.c
@@ -1,6 +1,7 @@
-/* $Id$ */
+/* $Id$ */
/*
* Copyright (c) 2014 Kristaps Dzonsons <kristaps@bsd.lv>
+ * Copyright (c) 2019 Ingo Schwarze <schwarze@openbsd.org>
*
* Permission to use, copy, modify, and distribute this software for any
* purpose with or without fee is hereby granted, provided that the above
@@ -93,11 +94,19 @@ static const char *attrvals[ATTRVAL__MAX
static const struct node nodes[NODE__MAX] = {
{ NULL, 0 },
{ "acronym", 0 },
+ { "affiliation", NODE_IGNTEXT },
{ "anchor", NODE_IGNTEXT },
{ "application", 0 },
{ "arg", 0 },
+ { "author", NODE_IGNTEXT },
+ { "authorgroup", NODE_IGNTEXT },
+ { "blockquote", NODE_IGNTEXT },
+ { "book", NODE_IGNTEXT },
+ { "bookinfo", NODE_IGNTEXT },
{ "caution", NODE_IGNTEXT },
+ { "chapter", NODE_IGNTEXT },
{ "citerefentry", NODE_IGNTEXT },
+ { "citetitle", 0 },
{ "cmdsynopsis", NODE_IGNTEXT },
{ "code", 0 },
{ "colspec", NODE_IGNTEXT },
@@ -105,27 +114,38 @@ static const struct node nodes[NODE__MAX
{ "constant", 0 },
{ "copyright", NODE_IGNTEXT },
{ "date", 0 },
+ { "editor", NODE_IGNTEXT },
{ "emphasis", 0 },
{ "entry", 0 },
{ "envar", 0 },
{ "fieldsynopsis", NODE_IGNTEXT },
{ "filename", 0 },
+ { "firstname", 0 },
+ { "firstterm", 0 },
+ { "footnote", 0 },
{ "funcdef", 0 },
{ "funcprototype", NODE_IGNTEXT },
{ "funcsynopsis", NODE_IGNTEXT },
{ "funcsynopsisinfo", 0 },
{ "function", 0 },
+ { "glossterm", 0 },
{ "group", NODE_IGNTEXT },
{ "holder", NODE_IGNTEXT },
+ { "index", NODE_IGNTEXT },
+ { "indexterm", NODE_IGNTEXT },
{ "info", NODE_IGNTEXT },
{ "informalequation", NODE_IGNTEXT },
{ "informaltable", NODE_IGNTEXT },
{ "inlineequation", NODE_IGNTEXT },
{ "itemizedlist", NODE_IGNTEXT },
+ { "keysym", 0 },
+ { "legalnotice", NODE_IGNTEXT },
{ "link", 0 },
{ "listitem", NODE_IGNTEXT },
{ "literal", 0 },
+ { "literallayout", 0 },
{ "manvolnum", 0 },
+ { "member", 0 },
{ "mml:math", NODE_IGNTEXT },
{ "mml:mfenced", 0 },
{ "mml:mfrac", 0 },
@@ -139,9 +159,15 @@ static const struct node nodes[NODE__MAX
{ "note", NODE_IGNTEXT },
{ "option", 0 },
{ "orderedlist", NODE_IGNTEXT },
+ { "orgname", 0 },
+ { "othername", 0 },
{ "para", 0 },
{ "paramdef", 0 },
{ "parameter", 0 },
+ { "part", NODE_IGNTEXT },
+ { "phrase", 0 },
+ { "preface", NODE_IGNTEXT },
+ { "primary", 0 },
{ "programlisting", 0 },
{ "prompt", 0 },
{ "quote", 0 },
@@ -161,12 +187,21 @@ static const struct node nodes[NODE__MAX
{ "refsect3", NODE_IGNTEXT },
{ "refsection", NODE_IGNTEXT },
{ "refsynopsisdiv", NODE_IGNTEXT },
+ { "releaseinfo", 0 },
{ "replaceable", 0 },
{ "row", NODE_IGNTEXT },
{ "sbr", NODE_IGNTEXT },
{ "screen", NODE_IGNTEXT },
+ { "secondary", 0 },
+ { "sect1", NODE_IGNTEXT },
+ { "sect2", NODE_IGNTEXT },
+ { "section", NODE_IGNTEXT },
{ "sgmltag", 0 },
+ { "simplelist", NODE_IGNTEXT },
+ { "spanspec", NODE_IGNTEXT },
{ "structname", 0 },
+ { "subtitle", 0 },
+ { "surname", 0 },
{ "synopsis", 0 },
{ "table", NODE_IGNTEXT },
{ "tbody", NODE_IGNTEXT },
@@ -327,8 +362,10 @@ xml_elem_start(void *arg, const XML_Char
XML_GetCurrentColumnNumber(ps->xml));
ps->stop = 1;
return;
- } else if (NODE_ROOT == ps->node && NODE_REFENTRY != node)
+ } else if (NODE_ROOT == ps->node && NODE_REFENTRY != node &&
+ NODE_PART != node && NODE_BOOK != node) {
return;
+ }
if (NODE_INLINEEQUATION == node)
ps->flags |= PARSE_EQN;
@@ -681,9 +718,15 @@ pnode_printrefsect(struct parse *p, stru
switch (pn->node) {
case (NODE_REFSECT1):
+ /* FALLTHROUGH */
+ case (NODE_SECT1):
+ /* FALLTHROUGH */
+ case (NODE_CHAPTER):
fputs(".Sh", stdout);
break;
case (NODE_REFSECT2):
+ /* FALLTHROUGH */
+ case (NODE_SECT2):
fputs(".Ss", stdout);
break;
case (NODE_REFSECT3):
@@ -712,12 +755,12 @@ pnode_printrefsect(struct parse *p, stru
if (NULL != pp) {
pnode_printmacrolinetext(p, pp,
- NODE_REFSECT1 == pn->node ?
+ NODE_REFSECT1 == pn->node || NODE_SECT1 == pn->node ?
MACROLINE_UPPER : 0);
pnode_printmclose(p, 1);
pnode_unlink(pp);
} else {
- puts(NODE_REFSECT1 == pn->node ?
+ puts(NODE_REFSECT1 == pn->node || NODE_SECT1 == pn->node ?
"UNKNOWN" : "unknown");
p->newln = 1;
}
@@ -1191,6 +1234,7 @@ pnode_print(struct parse *p, struct pnod
sv = p->newln;
+ /* XXX fprintf(stderr, "NODE %s\n", nodes[pn->node].name); */
switch (pn->node) {
case (NODE_APPLICATION):
pnode_printmopen(p);
@@ -1203,6 +1247,18 @@ pnode_print(struct parse *p, struct pnod
pnode_printarg(p, pn);
pnode_unlinksub(pn);
break;
+ case (NODE_AUTHOR):
+ pnode_printmopen(p);
+ fputs("An", stdout);
+ break;
+ case (NODE_AUTHORGROUP):
+ assert(p->newln);
+ puts(".An -split");
+ break;
+ case (NODE_BOOKINFO):
+ assert(p->newln);
+ puts(".Sh NAME");
+ break;
case (NODE_CITEREFENTRY):
pnode_printmopen(p);
fputs("Xr", stdout);
@@ -1221,6 +1277,11 @@ pnode_print(struct parse *p, struct pnod
pnode_printmopen(p);
fputs("Dv", stdout);
break;
+ case (NODE_EDITOR):
+ puts("editor: ");
+ pnode_printmopen(p);
+ fputs("An", stdout);
+ break;
case (NODE_EMPHASIS):
pnode_printmopen(p);
fputs("Em", stdout);
@@ -1265,6 +1326,10 @@ pnode_print(struct parse *p, struct pnod
pnode_printgroup(p, pn);
pnode_unlinksub(pn);
break;
+ case (NODE_LEGALNOTICE):
+ assert(p->newln);
+ puts(".Sh LEGAL NOTICE");
+ break;
case (NODE_LITERAL):
pnode_printmopen(p);
fputs("Li", stdout);
@@ -1315,6 +1380,8 @@ pnode_print(struct parse *p, struct pnod
pnode_printmopen(p);
fputs("Qo", stdout);
break;
+ case (NODE_LITERALLAYOUT):
+ /* FALLTHROUGH */
case (NODE_PROGRAMLISTING):
/* FALLTHROUGH */
case (NODE_SCREEN):
@@ -1358,6 +1425,12 @@ pnode_print(struct parse *p, struct pnod
/* FALLTHROUGH */
case (NODE_REFSECTION):
/* FALLTHROUGH */
+ case (NODE_CHAPTER):
+ /* FALLTHROUGH */
+ case (NODE_SECT1):
+ /* FALLTHROUGH */
+ case (NODE_SECT2):
+ /* FALLTHROUGH */
case (NODE_NOTE):
/* FALLTHROUGH */
case (NODE_TIP):
@@ -1438,6 +1511,12 @@ pnode_print(struct parse *p, struct pnod
}
p->newln = 0;
break;
+ case (NODE_TITLE):
+ if (pn->parent->node == NODE_BOOKINFO) {
+ pnode_printmopen(p);
+ fputs("Nd", stdout);
+ }
+ break;
case (NODE_TYPE):
pnode_printmopen(p);
fputs("Vt", stdout);
@@ -1487,10 +1566,12 @@ pnode_print(struct parse *p, struct pnod
break;
case (NODE_APPLICATION):
case (NODE_ARG):
+ case (NODE_AUTHOR):
case (NODE_CITEREFENTRY):
case (NODE_CODE):
case (NODE_COMMAND):
case (NODE_CONSTANT):
+ case (NODE_EDITOR):
case (NODE_EMPHASIS):
case (NODE_ENVAR):
case (NODE_FILENAME):
@@ -1529,12 +1610,20 @@ pnode_print(struct parse *p, struct pnod
fputs(" ,", stdout);
pnode_printmclose(p, sv);
break;
+ case (NODE_LITERALLAYOUT):
+ /* FALLTHROUGH */
case (NODE_PROGRAMLISTING):
/* FALLTHROUGH */
case (NODE_SCREEN):
assert(p->newln);
puts(".Ed");
p->newln = 1;
+ break;
+ case (NODE_TITLE):
+ if (pn->parent->node == NODE_BOOKINFO) {
+ pnode_printmclose(p, 1);
+ puts(".Sh AUTHORS");
+ }
break;
default:
break;
--
To unsubscribe send an email to source+unsubscribe@mandoc.bsd.lv
^ permalink raw reply [flat|nested] only message in thread
only message in thread, other threads:[~2019-03-22 16:10 UTC | newest]
Thread overview: (only message) (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2019-03-22 16:10 docbook2mdoc: many new nodes found below schwarze
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).