• R/O
  • HTTP
  • SSH


No Tags

Frequently used words (click to add to your profile)

javaandroidc++linuxc#objective-ccocoa誰得qtrubypythongamewindowsbathyscaphephpguic翻訳omegattwitterframeworktestbtronarduinovb.net計画中(planning stage)directxpreviewerゲームエンジンdom

Demonstration of groff .psbb request handling code, for EPS and PDF input files

Rev. 时间 作者
e25e11c master 2017-10-17 06:06:35 Keith Marshall

Add lexer state mapping for debugging trace logs.

* GNUmakefile (all): New default goal; it amalgamates...
(state.map): ...this new sed filter file target, along with...
(psbb): ...this original target, as default primary build goals.
(psbblex.map, psbblex.map.ls, psbblex.map.lx, psbblex.state.map)
(psbblex.map.l): New intermediate goals; in conjunction with...
(STATE_MAP_SCRIPT): ...this new macro, they are required to
facilitate the building of the final state.map target.
(vpath) [%.in, %.map]: Add $srcdir references.

* psbblex.map.in: New template file, for psbblex.map.l

e975dba 2017-10-16 02:49:02 Keith Marshall

Add support for out-of-source builds.

* GNUmakefile (srcdir): Define it; default is "."
(vpath) [%.l, %.y]: Locate them, by reference to $srcdir
(vpath) [%.c, %.cpp, %.h]: Locate them in $srcdir, or $srcdir/libgroff
(CPPFLAGS): Incrementally add $srcdir and $srcdir/libgroff includes.
(CFLAGS, CXXFLAGS): Remove include path specifications.

7ec0d92 2017-10-11 21:21:13 Keith Marshall

Improve lexer suppression of unmatched content.

* psbblex.l (PDFIGNORE): Actively discard end-of-line markers; revert
to prior state, when detected. Identify dictionary start markers, and
handle by pushing a subsidiary change of lexer state, to...
(PDFDICT): ...this, to ensure properly nested handling, otherwise...
(PDFIGNORE): ...stop at [</>] characters; leave in input queue, and
revert to prior state.

ba17929 2017-10-11 20:46:02 Keith Marshall

Avoid a potential PDFSCANOBJECT lexer overrun.

* psbblex.l: Do not allow the lexer to remain in...
(PDFOBJTYPE): ...this state, when object type is unrecognized, and...
[DEBUGGING]: ...log any unrecognized object type name.

7cf9469 2017-10-11 20:24:05 Keith Marshall

Add DEBUGGING mode "next object" reference logging.

* psbblex.l (PDFSCANOBJECT): Add DEBUG_MSG request, to report the...
(PDFENDOBJ) [DEBUGGING]: ...next object to be scanned, after this.

83e2f88 2017-10-11 20:11:24 Keith Marshall

Add more comprehensive DEBUGGING mode lexer trace logging.

* psbblex.l (RETURN_VALUE): New macro, expanded in terms of...
include the associated yylval result in the token return log message.
(DEBUG_PUSH_STATE) [DEBUGGING]: New macro; it logs the change of lexer
state, when used to wrap calls to yy_push_state().

1088cd3 2017-10-11 19:33:34 Keith Marshall

Support postfix notation for PDFOBJREF parsing.

* psbb.y (psbb): Add an additional grammar rule, to interpret...
(VALUE VALUE 'R' PDFOBJREF): ...this token sequence, augmenting...
(PDFOBJREF VALUE VALUE 'R'): ...this prefix notation.

ca92b4a 2017-10-08 23:30:56 Keith Marshall

Keep optional subdirectories out of SCM control.

* .gitignore .hgignore (dist, build): Add directory references.

a26c0ca 2017-10-08 22:29:39 Keith Marshall

Include GPL licence document, for distribution.

* GPL.v3: New file; it is a verbatim copy of groff's COPYING file.

b9a8bc4 2017-10-08 06:39:47 Keith Marshall

Implement an extended .psbb request handling API.

* psbb.h psbb.y psbblex.l: New files; they implement the API.
* t-psbb.cpp: New file; it implements a test program, emulating the
intended gtroff usage of this API.

* GNUmakefile: New file; it facilitates building the test program,
using GNU make.

* README .gitignore .hgignore: New files.

3e32ddd 2017-10-07 18:53:40 Keith Marshall

Add a printf-alike API entry for libgroff error reporting.

* libgroff/error.h (errprintf): New function; add prototype.
* libgroff/error.cpp (do_error_with_file_and_line): Factor out...
(report_file_and_line, end_error_with_file_and_line): ...this pair of
initial and final fragments, respectively; incorporate them with...
(do_printf_with_file_and_line): ...this new function; hence...
(do_printf, errprintf): ...implement these.

966b625 2017-10-07 02:15:50 Keith Marshall

Initial import of original libgroff.a code.

* libgroff/error.h libgroff/error.cpp libgroff/fatal.cpp
* libgroff/errarg.h libgroff/errarg.cpp libgroff/itoa.c: New files;
all are copied verbatim, from the GNU Troff source code repository.
* libgroff/README: New file.