]> git.cameronkatri.com Git - mandoc.git/blobdiff - roff.h
Mostly complete implementation of the 'c' (character available)
[mandoc.git] / roff.h
diff --git a/roff.h b/roff.h
index bf5c4c17e3fcdac394c75911115b0614a7a5a0ea..68f50acb097eef86660f30187309cdfd1996bfe8 100644 (file)
--- a/roff.h
+++ b/roff.h
@@ -1,7 +1,7 @@
-/*     $Id: roff.h,v 1.52 2017/06/07 23:29:49 schwarze Exp $   */
+/*     $Id: roff.h,v 1.61 2018/08/18 02:08:27 schwarze Exp $   */
 /*
  * Copyright (c) 2008, 2009, 2010, 2011 Kristaps Dzonsons <kristaps@bsd.lv>
- * Copyright (c) 2013, 2014, 2015, 2017 Ingo Schwarze <schwarze@openbsd.org>
+ * Copyright (c) 2013,2014,2015,2017,2018 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
@@ -26,12 +26,6 @@ enum roff_macroset {
        MACROSET_MAN
 };
 
-enum   mdoc_os {
-       MDOC_OS_OTHER = 0,
-       MDOC_OS_NETBSD,
-       MDOC_OS_OPENBSD
-};
-
 enum   roff_sec {
        SEC_NONE = 0,
        SEC_NAME,
@@ -67,6 +61,7 @@ enum  roff_type {
        ROFFT_TAIL,
        ROFFT_ELEM,
        ROFFT_TEXT,
+       ROFFT_COMMENT,
        ROFFT_TBL,
        ROFFT_EQN
 };
@@ -77,6 +72,8 @@ enum  roff_tok {
        ROFF_ft,
        ROFF_ll,
        ROFF_mc,
+       ROFF_po,
+       ROFF_rj,
        ROFF_sp,
        ROFF_ta,
        ROFF_ti,
@@ -244,7 +241,6 @@ enum        roff_tok {
        ROFF_pm,
        ROFF_pn,
        ROFF_pnr,
-       ROFF_po,
        ROFF_ps,
        ROFF_psbb,
        ROFF_pshape,
@@ -257,7 +253,6 @@ enum        roff_tok {
        ROFF_return,
        ROFF_rfschar,
        ROFF_rhang,
-       ROFF_rj,
        ROFF_rm,
        ROFF_rn,
        ROFF_rnn,
@@ -443,6 +438,7 @@ enum        roff_tok {
        MAN_SH,
        MAN_SS,
        MAN_TP,
+       MAN_TQ,
        MAN_LP,
        MAN_PP,
        MAN_P,
@@ -468,11 +464,15 @@ enum      roff_tok {
        MAN_PD,
        MAN_AT,
        MAN_in,
+       MAN_SY,
+       MAN_YS,
        MAN_OP,
        MAN_EX,
        MAN_EE,
        MAN_UR,
        MAN_UE,
+       MAN_MT,
+       MAN_ME,
        MAN_MAX
 };
 
@@ -503,7 +503,7 @@ struct      roff_node {
        union mdoc_data  *norm;    /* Normalized arguments. */
        char             *string;  /* TEXT */
        const struct tbl_span *span; /* TBL */
-       const struct eqn *eqn;     /* EQN */
+       struct eqn_box   *eqn;     /* EQN */
        int               line;    /* Input file line number. */
        int               pos;     /* Input file column number. */
        int               flags;
@@ -534,7 +534,8 @@ struct      roff_meta {
        char             *name;    /* Leading manual name. */
        char             *date;    /* Normalized date. */
        int               hasbody; /* Document is not empty. */
-       enum mdoc_os      os_e;    /* Operating system. */
+       int               rcsids;  /* Bits indexed by enum mandoc_os. */
+       enum mandoc_os    os_e;    /* Operating system. */
 };
 
 struct roff_man {
@@ -543,7 +544,7 @@ struct      roff_man {
        struct roff      *roff;    /* Roff parser state data. */
        struct ohash     *mdocmac; /* Mdoc macro lookup table. */
        struct ohash     *manmac;  /* Man macro lookup table. */
-       const char       *defos;   /* Default operating system. */
+       const char       *os_s;    /* Default operating system. */
        struct roff_node *first;   /* The first node parsed. */
        struct roff_node *last;    /* The last node parsed. */
        struct roff_node *last_es; /* The most recent Es node. */