Changelog for parsing-ext.c. Unattributed changes are by the original author, David N. Williams. The revision date in the source file may be more recent than the most recent date here, when only cosmetic changes have been made. Version 1.0.0 18Oct10 * Bumped version number to agree with parsing.fs. 22Oct10 * Commented out PARSE-NAME because the pfe native version passes parsing-test. 26Oct10 * Synchronized {}INDEX spec with parsing.fs and parsing.html. Version 0.8.3 24Jul08 * Bumped version to agree with parsing.fs and parsing-test.fs. 30Jul08 * Restored PARSE-NAME-AWAY. It's an essential companion to PREPARSE-NAME. * Added PARSING-LIB-S library string. 31Jul08 * Fixed one-off bugs: PARSE-NAME PARSE-NAME-AWAY NEXT-INSTREAM-NAME |S|-SEEK-INSTREAM * Made specs more explicit about parsing away the first trailing whitespace delimiter in the first three words above. Version 0.8.2 21Jun08 * Bumped version to agree with parsing.fs and parsing-test.fs. 22Jun08 * Tightened character purity in code and comments. 23Jun08 * Added ISWHITE() macro, rewrote WHITE_Q to use it. Replaced isspace() with ISWHITE() and isgraph() by !ISWHITE. The definition of whitespace characters is now consistent between parsing.fs and parsing-ext.c, namely c <= ' '. * Removed: SCAN-TO 27Jun08 * Removed warning about BL-SCAN-TO, which no longer exists 21Jul08 * Removed: PARSE-AWAY PARSE-NAME-AWAY S-SCAN-INPUT * Renamed: old new {}SCAN-PAST {}SEEK NEXT-INPUT-NAME NEXT-INSTREAM-NAME S-INPUT-AFTER S-SEEK-INSTREAM |S|-INPUT-AFTER |S|-SEEK-INSTREAM STARTS? S-STARTS ENDS? S-ENDS STARTS-NC? S-STARTS-NC ENDS-NC? S-ENDS-NC * Added SEEK. 22Jul08 * Added {}ENDS. Version 0.7.1 14Jul08 * Added ?EMIT-CR. 15Jul08 * Revised to explicitly use ?EMIT-CR: NEXT-INPUT-NAME S-SCAN-INPUT * So these implicitly use it: S-INPUT-AFTER |S|-INPUT-AFTER (* (( --- * Did a little reordering of word defs to agree with that in parsing.fs, to ease maintenence of the two versions. * Tested with and without pasting into terminal, including nondelimited (* and uncommented (( and ---. 18Jul08 * Added: CUT-FIRST CUT-LAST KEEP-FIRST KEEP-LAST * Released. Version 0.7.0 8Jul07 * Added S-SCAN-INPUT. * Renamed TRIM as TRIM|, added |TRIM, TRIM|, PARSE-AREA-EMPTY?, * Replaced flag returns with trigraph constructions where feasible. * Fixed eof bug in NEXT-INPUT-NAME, revealed by new tests in parsing-test.fs * We still have no tests for STARTS-NC? or ENDS-NC?. * Added WHITE_Q and WHITE?. I see we have no tests for WHITE?. 9Jul07 * Added dw_white_delimited(), WHITE-DELIMITED?, dw_parse_area(), dw_s_scan_input(), TO_IN_PP. 10Jul07 * Fixed bug in dw_s_scan_input(), where p4_search() had arg pairs reversed. Our convention of putting the pattern first and the buffer second, which seems natural for WHITE-DELIMITED?, is opposite to that for p4_search(). * Revised ((, ---, and (* to use dw_bar_s_bar_scan_input(), and added an abort message to (*. Tested (( and ---, then commented them out again. * Released. All tests in parsing-test.fs passed. * TODO: Remove TIB and NUMBER_TIB. Version 0.6.9 31Mar07 * Replaced (( by (*. Added ---, tested it, then commented it out. 2Apr07 * Added \\. Revised preamble to mention blocks. Version 0.6.8 25Aug06 * Renamed: {}? as {}IN SAFTER as S-AFTER EXHAUST-INPUT as EMPTY-PARSE-AREA SKIP-IN as PARSE-AWAY * Obsoleted: {}?, SAFTER, BL-SKIP, BL-SCAN, BL-SCAN-TO, EXHAUST-INPUT, SKIP-IN * Recoded SKIP, SCAN, SCAN-TO to treat BL as whitespace (ToolBelt 2000). * Added END-C@, /SPLIT, and STRING/. 26Aug06 * Moved the interpreting words into a separate external module, interpreting-ext.c. * Renamed {}-INDEX as {}INDEX. * Reorganized to agree with the ordering of parsing.fs. 27Aug06 * Added FIRST-WORD and SEPARATE-WORD. 29Aug06 * Added PARSE-NAME, PREPARSE-NAME, PARSE-NAME-AWAY. No tests, yet. 7Sep06 * Added S-INPUT-PAST and ((. 8Sep06 * Debugged the two words above. Added SCAN-BACK, SKIP-BACK, TRIM (deprecated in favor of BL SKIP-BACK). * Cleaned up code. Made {}SEPARATE treat BL literally, and improved its code. * Added {}SCAN, {}SCAN-PAST. * Added NEXT-INPUT-NAME, untested. Now all parse.fs words are here. 9Sep06 * Renamed this file as parsing-ext.log. Cleaned up includes and comments. * Renamed S-INPUT-PAST as S-INPUT-AFTER. * Renamed commented-out word {}SKIP-IN as {}SKIP-PARSE. * Added commented-out name labels: SCAN-PAST, {}SKIP, {}SKIP-INPUT, {}PARSE-AWAY, {}SCAN-INPUT, {}SCAN-INPUT-PAST. * Fixed (( so it's immediate. 15Sep06 * Fixed bugs in PARSE-NAME, PARSE-NAME-AWAY, and NEXT-INPUT-NAME revealed by parse-test.fs, basically the same error. * Tested PARSE-AWAY, PREPARSE-NAME, >IN--. * All words common with parsing.fs passed parse-test.fs, which is missing PARSE-AREA!. No pfe-only words formally tested. 16Mar07 * Fixed {}SEPARATE comment to state literal BL. Version 0.6.7 30Jul06 * Added SCAN, BL-SCAN, SAFTER. Noted there are label conflicts with toolbelt-ext.c. 31Jul06 * Cleaned up compiler warnings. A lot of signed/unsigned char mismatches. Some mismatches due to evolution of pfe types. That's a problem for external modules. Now we've got lots of types that mean the same thing, like unsigned char, p4char, and p4_char_t. 2Aug06 * Replaced the other two by p4char, except where "unsigned char" needs to be unhidden. See def-cell.h for pfe's definition of p4char. This could be a problem if someday pfe redefines p4_char_t. Note that the clib string functions use char or w_char_t. * Replaced p4_ by dw_, to avoid label conflicts with standard pfe. Version 0.6.6 28Dec04 * Renamed {}? as {}-INDEX. Recoded {}? to leave char|0. Version 0.6.5 13Sep04 * Started upgrade to pfe-0.33.x, after finally getting dynamic, loadable modules to work under MacOS X 10.3.4 and gcc 3.3. * Updated opt labels in p4_included1(). Added: #include /* strlen() */ Removed: #include 5Oct04 * Changed name of {}SKIP to {}SKIP-IN for nomenclature consistency, even though it's commented out 24Dec04 * Removed RDROP and 2RDROP. Updated parsing-ext.h. Version 0.6.4 14Jul02 * Added BACKUP-IN 15Jul02 * Added SPACE|PUNCT-PARSE. * Changed BACKUP-IN to >IN--, added >IN++. 17Jul02 * Added {}?. Version 0.6.3 10Feb02 * Last change. Version 0.6.2 15Oct01 * Last change. Version 0.6.1 1Mar01 * Start. 8May01 * Last change.