2023-03-06 Ian Piumarta * src/version.h (PEG_LEVEL): Version 0.1.19. * src/compile.c: Allow re-entrant parsing. Macro YYPARSEFROM_R names the function yyparsefrom_r(). yyDone takes second argument, the yythunkpos at which actions start. yyparsefrom_r saves and restores thunkpos and val state during recursive parse. yyparsefrom resets thunkpos, val before recursive parse. 2016-07-22 Ian Piumarta * src/version.h (PEG_LEVEL): Version 0.1.18. * src/tree.h: Rule_compile_c takes nolines argument for option -P. * src/compile.c, src/peg.c, src/leg.leg (main): Add option -P. Generate #line directives for all actions. * src/peg.1: Document option -P. 2016-07-14 Ian Piumarta * src/version.h: 0.1.17 * src/leg.leg: Remember line numbers for headers and trailer. Emit #line directives in the generated file. 2016-06-25 piumarta * src/version.h: 0.1.16 * src/tree.[ch], src/compile.c, src/leg.leg: Add @-actions. * src/peg.1: Explain @-actions. * src/peg/peg-c, src/leg.c: Regenerate C source. 2013-12-18 piumarta * src/version.h: 0.1.15 * src/compile.c: YY_FREE takes context and pointer as arguments. * YYRELEASE: Pass yyctx and pointer to YY_FREE. 2013-12-01 Ian Piumarta * src/version.h: 0.1.14 * src/peg.1: Fix several typos and escape backslashes (thanks to Giulio Paci). * LICENSE.txt: Replace "the the" with "the". 2013-08-16 Ian Piumarta * src/compile.c: Predicate actions can refer to yytext (thanks to Gregory Pakosz). * src/leg.leg: Hexadecimal character escapes are supported by leg (thanks to Hugo Etchegoyen). 2013-07-20 Ian Piumarta * src/getopt.c: Use BSD-licensed getopt() in Windows build. * src/compile.c: Verbose mode handles Variable nodes. 2013-06-03 Ian Piumarta * src/leg.leg, src/compile.c: Add error actions via "~" operator. * src/compile.c: Support declaration of local variables at the top level of semantic actions. Dynamically grow data structures to remove artificial limits on rule recursion (thanks to Alex Klinkhamer). Many small changes to better support C++. * src/peg.1: Update manual page to describe new features. Add build files for Win32 and MacOS thanks to Fyodor Sheremetyev). 2012-04-29 Ian Piumarta * compile.c: Move global state into a structure to facilitate reentrant and thread-safe parsers (thanks to Dmitry Lipovoi). 2012-03-29 Ian Piumarta * leg.leg: Allow nested, matched braces within actions. 2011-11-25 Ian Piumarta * compile.c: Fix matching of 8-bit chars to allow utf-8 sequences in matching expressions (thanks to Gregory Pakosz). 2011-11-24 Ian Piumarta * compile.c: Allow octal escapes in character classes. 2011-11-24 Ian Piumarta * Makefile: Remove dwarf sym dirs when cleaning. * compile.c: Fix size calculation when resizing text buffers. * leg.leg, peg.peg: Backslash can be escaped. 2009-08-26 Ian Piumarta * leg.leg: Fix match of a single single quote character. * examples/basic.leg: Rename getline -> nextline to avoid C namespace conflict. 2007-09-13 Ian Piumarta * leg.leg: Allow matched braces inside leg actions. Handle empty rules. Handle empty grammars. 2007-08-31 Ian Piumarta * compile.c: Grow buffers while (not if) they are too small. Remove dependencies on grammar files. Add more basic examples. 2007-05-15 Ian Piumarta First public release.