From b0aec68c2e236344e79a7ee4949b2e5c450d13f8 Mon Sep 17 00:00:00 2001 From: Ingo Schwarze Date: Mon, 26 Jan 2015 18:42:30 +0000 Subject: Rework tbl(7) layout parsing: * Continue parsing even if part of the input is invalid. * Do not require whitespace between cell specifications. * Allow tabs as well as blanks between modifiers. * Mark the 'm' modifier as unsupported. * Parse and ignore the 'p' and 'v' modifiers. * Better warning and error messages. * Get rid of a static buffer. Improved functionality but minus 50 lines of code. --- mandoc.h | 13 ++++++++++--- 1 file changed, 10 insertions(+), 3 deletions(-) (limited to 'mandoc.h') diff --git a/mandoc.h b/mandoc.h index 40f2bdea..02c404fc 100644 --- a/mandoc.h +++ b/mandoc.h @@ -1,4 +1,4 @@ -/* $Id: mandoc.h,v 1.188 2015/01/26 13:03:48 schwarze Exp $ */ +/* $Id: mandoc.h,v 1.189 2015/01/26 18:42:30 schwarze Exp $ */ /* * Copyright (c) 2010, 2011, 2014 Kristaps Dzonsons * Copyright (c) 2010-2015 Ingo Schwarze @@ -127,6 +127,11 @@ enum mandocerr { MANDOCERR_ESC_BAD, /* invalid escape sequence: esc */ MANDOCERR_STR_UNDEF, /* undefined string, using "": name */ + /* related to tables */ + MANDOCERR_TBLLAYOUT_SPAN, /* tbl line starts with span */ + MANDOCERR_TBLLAYOUT_DOWN, /* tbl column starts with span */ + MANDOCERR_TBLLAYOUT_VERT, /* skipping vertical bar in tbl layout */ + MANDOCERR_ERROR, /* ===== start of errors ===== */ /* related to equations */ @@ -140,7 +145,9 @@ enum mandocerr { MANDOCERR_TBLOPT_BAD, /* skipping unknown tbl option: option */ MANDOCERR_TBLOPT_NOARG, /* missing tbl option argument */ MANDOCERR_TBLOPT_ARGSZ, /* wrong tbl option argument size */ - MANDOCERR_TBLNOLAYOUT, /* no table layout cells specified */ + MANDOCERR_TBLLAYOUT_NONE, /* empty tbl layout */ + MANDOCERR_TBLLAYOUT_CHAR, /* invalid character in tbl layout: char */ + MANDOCERR_TBLLAYOUT_PAR, /* unmatched parenthesis in tbl layout */ MANDOCERR_TBLNODATA, /* no table data cells specified */ MANDOCERR_TBLIGNDATA, /* ignore data in cell */ MANDOCERR_TBLBLOCK, /* data block still open */ @@ -179,7 +186,7 @@ enum mandocerr { MANDOCERR_TOOLARGE, /* input too large */ MANDOCERR_CHAR_UNSUPP, /* unsupported control character: number */ MANDOCERR_REQ_UNSUPP, /* unsupported roff request: request */ - MANDOCERR_TBLLAYOUT, /* unsupported table layout */ + MANDOCERR_TBLLAYOUT_MOD, /* unsupported tbl layout modifier: m */ MANDOCERR_TBLMACRO, /* ignoring macro in table: macro */ MANDOCERR_TBLEQN, /* eqn in tbl */ -- cgit v1.2.3