Commit graph

3990 commits

Author SHA1 Message Date
Paul Beckingham
8252095174 L10N
- Localized the new _get command.
2013-09-02 15:33:52 -04:00
Paul Beckingham
3caf05b0c1 Parser Lib
- Relocated all old code into the parser lib.
2013-09-01 21:58:13 -04:00
Paul Beckingham
0bd6363e1c Linking Voodoo
- We have multiple inter-dependent libraries now, so linking is a pain.
2013-09-01 15:40:19 -04:00
Paul Beckingham
56c2326fda Unit Tests
- Disabled the new parser temporarily.  Because the test suite coverage is good,
  the new parser needs a complete set of entities, otherwise it whines too much
  during the tests.  Let's just sweep that under the rug for now.
2013-09-01 15:18:04 -04:00
Paul Beckingham
6f85dac5b8 Build Warning
- Eliminated a sign warning.
2013-09-01 15:02:31 -04:00
Paul Beckingham
94dc0c1b2d Build Error
- Fixed lib deps for one platform.
2013-09-01 14:57:57 -04:00
Paul Beckingham
bdf88d10a7 Tree::dump
- The dump method now composes a string, instead of writing to std::cout, which
  make integration easier.
2013-09-01 14:31:48 -04:00
Paul Beckingham
314d0e9d01 Parser Integration
- New parser integrated and functioning, but only shadows the A3 parser.  In
  debug mode, there is new output, but that's all that happenѕ.
2013-09-01 14:14:15 -04:00
Paul Beckingham
9ee17a5b51 Parser
- New parser lib is linked.
2013-09-01 14:13:10 -04:00
Paul Beckingham
c3bf3b79a4 A3t::initialize
- Migrated ctor functionality over to the new initialize method, for integration
  with Context.
2013-09-01 13:57:24 -04:00
Paul Beckingham
eb55c64f34 Symlink
- Added 'tw' as a symlink to the 'task' binary.  In the future, the binary will
  be named 'tw', and 'task' will be the symlink.  But not for a while.
- Install of 'tw' symlink still needed.
2013-09-01 13:53:24 -04:00
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