Commit graph

4129 commits

Author SHA1 Message Date
Paul Beckingham
560791be49 Parser
- New parser lib is linked in to the tw binary.
2013-09-01 13:45:55 -04:00
Paul Beckingham
eaeace7e98 Testing
- Added more attribute names for testing.
- Extended test script.
- Added list of remaining work.
2013-09-01 12:46:15 -04:00
Paul Beckingham
ee9552e23b Code Cleanup
- Renamed A3t::identity to A3t.entity.  Illiterate fool.
2013-09-01 12:26:23 -04:00
Paul Beckingham
b83e6d0dea A3t::findOperator
- Added support for operator identification.
- Extended test script.
2013-09-01 12:25:04 -04:00
Paul Beckingham
8fddf97c73 A3t::findUUIDList
- Added support for UUID lists.
- Extended test script.
2013-09-01 12:13:05 -04:00
Paul Beckingham
ed085bd09e A3t::findIdSequence
- Added support for ID ranges and lists.  Creates a min/max range instead of
  enumerating all IDs, which is an improvement.
- Extended test script.
2013-09-01 11:54:41 -04:00
Paul Beckingham
020a415e83 Enhancement
- Better support for quoted values in attributes.
2013-09-01 11:10:33 -04:00
Paul Beckingham
34db02515c A3t::findAttributeModifier
- Added support for attmods including :/= alternatives, which is an improvement.
2013-09-01 11:08:05 -04:00
Paul Beckingham
70d37ab7be Entities
- Added more entities for wider testing.
- Added attmod example to the test script.
2013-09-01 11:04:58 -04:00
Paul Beckingham
8f9a48c3ff Unit Tests
- Added Tree object unit tests.
2013-08-31 19:01:51 -04:00
Paul Beckingham
f293e74ae6 Tree Cleanup
- Switched from the addition of a LOCK tag to the removal of a ? tag.  The
  result is cleaner.
- Moved metadata into the ORIGINAL node.
2013-08-31 19:00:09 -04:00
Paul Beckingham
e4671dd518 Tree::unTag
- Added a method for removing a tag.
2013-08-31 18:44:36 -04:00
Paul Beckingham
04fb751678 A3t::findAttribute
- FindAttribute implemented, supporting pseudo- and uda- attribute recognition,
  which is an improvement.
- Fully parsed arguments are now locked against further parsing.
- Validation consists of looking for unlocked args.
- Added more entities for testing.
- Updated test script.
2013-08-31 18:04:02 -04:00
Paul Beckingham
5a29042d3b A3t::findTag
- Supports single-word tag add/remove, presence/absence, allowing any non-space
  character in the tag, which is an improvement.
2013-08-31 16:23:57 -04:00
Paul Beckingham
272450ff9b A3t::findSubstitution
- Added support for standard and escaped '/from/to/g' constructs, which is an
  additional feature.
2013-08-31 16:05:14 -04:00
Paul Beckingham
663c82837c Nibbler::backN
- Added a method to support multi-byte backstep through a string.
- Added unit tests.
2013-08-31 16:02:51 -04:00
Paul Beckingham
2281c5a6bf A3t::findPattern
- Now parses patterns and extracts the pattern, which may include escaped /
  characters, which is an improvement.
2013-08-31 12:24:30 -04:00
Paul Beckingham
96a06eafbf A3t::find*Override
- Locates and parses rc:<file>.
- Locates and parses rc.<name>=<value>.
- Adds a stubbed validate method to check for a sane tree.
2013-08-31 10:55:30 -04:00
Paul Beckingham
ac1497ff1a Code Cleanup
- Removed 9 useless methods by making members public.  Accessors are nice
  sometimes, but also an unnecessary layer.
2013-08-30 14:39:22 -07:00
Paul Beckingham
50d4b37519 A3t::findTerminator
- Locates and tags the terminator operator, suppressing all subsequent parsing.
  This is done early in the process, and every other step must observe the
  TERMINATOR tag.
2013-08-30 14:08:09 -07:00
Paul Beckingham
46cd57b4aa A3t::findBinary
- Locates it's own binary, and adds a 'basename' attribute.
2013-08-30 13:55:24 -07:00
Paul Beckingham
8429df3b5c Command Location
- Locateѕ, cnaonicalized and categorizes first command.
2013-08-30 13:42:43 -07:00
Paul Beckingham
1495710aca A3t::canonicalize
- Added entity canonicalization.
2013-08-30 13:12:24 -07:00
Paul Beckingham
f03d1af431 Tree::addBranch
- Now returns a pointer to the new node, for convenience.  Throws on error.
2013-08-30 12:35:22 -07:00
Paul Beckingham
e651f7f759 Arg Classifier
- Added test framework for the arg classifier (A3t).
2013-08-30 12:21:04 -07:00
Paul Beckingham
ef4d318276 Entities
- Added parser support for @entities, by merely allowing them to exist as
  terminals.
- Added sample entities.
- Extended grammar to test entities.
2013-08-30 12:15:30 -07:00
Paul Beckingham
60336d6f6a Documentation
- Added (preliminary) example of the resultant parse tree.
2013-08-30 11:57:13 -07:00
Paul Beckingham
66bcf26aa0 Entity Lists
- LRParser::addEntity accumulates categorized entities for the parser.
2013-08-30 11:41:20 -07:00
Paul Beckingham
888a77213a Testing
- Added test script and initial grammar file.
2013-08-30 11:25:04 -07:00
Paul Beckingham
6ebee13fa4 LRParser
- Added old (non-task) parsing code, as a basis for the new parser.
- Added Tree object for parse trees.
- Added top-level entry point for testing.
2013-08-30 11:24:15 -07:00
Paul Beckingham
7e5b43bb9d Function: visible
- Added helper function to render control characters visible.  This may be
  replaced by JSON::encode.
2013-08-30 10:51:43 -07:00
Paul Beckingham
bc41e7378a Feature
- New virtual tags (WEEK, MONTH, YEAR, PARENT).
2013-08-26 09:25:29 -07:00
Paul Beckingham
3a8a513d17 Date Support
- Added Date::week helper method.
2013-08-26 09:15:48 -07:00
Paul Beckingham
6555811ca5 Bug
- Fixed bug in DOM access where the attribute name was not being properly used
  for UUID-based lookup.
2013-08-26 08:43:02 -07:00
Paul Beckingham
06d905b633 Unit Tests
- Corrected two broken DOM unit tests.
2013-08-26 02:47:31 -04:00
Paul Beckingham
166723e632 Feature
- New '_get' is a DOM accessor helper command.
2013-08-25 23:35:32 -07:00
Ben Armstrong
ac811c6930 Initial support for context and focus (see Issue #218). 2013-08-21 17:34:19 -04:00
Paul Beckingham
b09d928da9 Documentation
- Fixed mis-formatted text.
2013-08-19 07:37:00 -04:00
Paul Beckingham
74bbd6cefe Unicode
- The configuration file now supports JSON encoding of Unicode characters, by
  specifying \uNNNN.
2013-08-18 00:00:46 -04:00
Paul Beckingham
67f20d96bc Code Cleanup
- Fixed typo, for consistency.
2013-08-04 15:56:17 -04:00
Scott Kostyshak
38bba72001 Documentation
- Fix typos (thanks to Ben Armstrong).
2013-08-01 20:29:13 -04:00
Paul Beckingham
4b574c5de4 Build Warning
- Fixed FreeBSD build warning.
2013-07-26 19:45:53 -04:00
Paul Beckingham
235fb9f054 Command Line Grammar
- Updated documentation.
2013-07-22 20:31:09 -04:00
Martin Natano
4d10afbb08 remove missing imports
- time.h was included for random seed
2013-07-21 11:27:41 -04:00
Paul Beckingham
c92631b4b0 Code Cleanup
- One less include needed.
2013-07-20 16:45:01 -04:00
Paul Beckingham
bda3674578 Code Cleanup
- Removed the rand/random/srand/srandom calls that are no longer used.
2013-07-20 16:07:25 -04:00
Martin Natano
fcfd50bd25 require libuuid
- require libuuid at build time and remove insufficiently seeded
  replacement for uuid()
2013-07-20 15:52:42 -04:00
Paul Beckingham
779e32540a Portability
- Included the wrong errno.h (thanks to natano).
2013-07-20 09:17:19 -04:00
Paul Beckingham
dd14388b1b Sync
- Implemented (weak) handling for a 310 "Redirect" server response.
2013-07-14 12:25:31 -04:00
Paul Beckingham
a5a38a1137 Bug #1305
- Updated ChangeLog.
2013-07-13 21:39:29 -04:00