Paul Beckingham
e4132f6a02
CLI2: Expand DOM references in single-token values
2015-09-07 11:49:55 -04:00
Paul Beckingham
29f17aed68
Lexer: Duration replaced by ISO8601p
2015-08-12 07:56:48 -04:00
Paul Beckingham
38500fd90b
TW-1652: task rm misparsed
...
- Thanks to Daniel Shahaf.
2015-08-07 19:33:27 -04:00
Paul Beckingham
92d37e5124
Lexer: An 8-digit string is now allowed to be considered a UUID
2015-08-07 09:21:58 -04:00
Paul Beckingham
fda8161be8
Lexer: Added missing rollback
2015-08-05 08:16:17 -04:00
Paul Beckingham
f7ab55abeb
Lexer: Improved the recognition in ::isSet
2015-08-04 17:41:19 -04:00
Paul Beckingham
a5507678e8
Lexer: ::isDOM failed to enforce minimum size before allowing no endBoundary
2015-07-27 01:53:32 -04:00
Paul Beckingham
c2f08c8f05
Lexer: Bug in ::isDOM required '.' separators to have endBoundary
2015-07-27 01:52:59 -04:00
Paul Beckingham
99a53edca0
Lexer: ::isLiteral now stops at EOS
2015-07-27 00:57:30 -04:00
Paul Beckingham
0c7e731b0d
Lexer: Integrated ::commonLength
...
- Uses std::string::size_type for all string lengths, offsets.
- Rewrote ::isLiteral to be simpler.
- Added support for abbreviated DOM refs.
- Obeys rc.abbreviation.minimum, indirectly.
- Added tests.
2015-07-27 00:31:15 -04:00
Paul Beckingham
a9b701ae6d
Lexer:: Implemented ::commonLength with offsets, for embedded parsing
2015-07-27 00:04:00 -04:00
Paul Beckingham
244c81a647
Lexer: Implemented ::commonLength for word root comparison
2015-07-26 23:52:17 -04:00
Paul Beckingham
f5792a03fb
Lexer: Captures minimumMatchLength for abbreviated attribute matching
2015-07-26 22:58:02 -04:00
Paul Beckingham
4646a86d4d
Lexer: Added missing rc.<name> DOM parsing
2015-07-26 16:18:58 -04:00
Paul Beckingham
f5571c80c6
Lexer: Rewrote ::isDOM to perform exact matching, not pattern matching
2015-07-26 12:22:35 -04:00
Paul Beckingham
d0c4326af3
Lexer: Upgraded attributes vector to a map of name to type
2015-07-26 12:22:02 -04:00
Paul Beckingham
52d2bbd11a
Lexer: Implemented ::isOneOf using a std::map as input
2015-07-26 12:09:40 -04:00
Paul Beckingham
391d527328
Lexer: Added end-boundary sensitivity to ::isLiteral and ::isOneOf
2015-07-26 10:48:26 -04:00
Paul Beckingham
3e74aa51e2
Lexer: Added 'endBoundary' requirement to ::isUUID
2015-07-25 17:59:40 -04:00
Paul Beckingham
c769891b76
Lexer: Implemented ::isInteger to help parsing.
2015-07-25 17:54:55 -04:00
Paul Beckingham
37e31e8e0b
Lexer: Implemented ::isOneOf, to help with parsing
2015-07-25 17:34:51 -04:00
Paul Beckingham
9394b96202
Lexer: Implemented ::isLiteral, to help with parsing
2015-07-25 17:34:01 -04:00
Paul Beckingham
4f0e32b69b
Lexer: Improved ::decomposePattern to extract raw string
2015-07-25 00:34:18 -04:00
Paul Beckingham
d6f977e2dd
Lexer: Boosted precedence of UUID detection
2015-07-19 23:27:27 -04:00
Paul Beckingham
fed3b815a0
Lexer: Dead code removal
2015-07-17 14:59:42 -04:00
Paul Beckingham
76d3efe313
Lexer: Improved termination for UUID types
2015-07-16 16:15:07 -04:00
Paul Beckingham
1ec029be9b
Lexer: Relocated instantiation closer to first use
2015-07-13 16:44:55 -04:00
Paul Beckingham
d0e4f4ca10
Lexer: Implemented ::decomposePattern
2015-07-11 17:09:29 -04:00
Paul Beckingham
1bef45ff47
Lexer: Added ::decomposeSubstitution and more flexible ::dequote
...
- ::dequote can now be given a string of valid quote characters, which defaults
to '".
- ::decomposeSubstitution properly parses the /from/to/g construct allowing for
escaped characters (\/).
- The 'g' at the end of a substitution is now considered to be a string of flag
characters, which may contain 'g'. No other flag values are currently
supported.
2015-07-11 16:40:52 -04:00
Paul Beckingham
642f378462
Lexer:: Implemented ::isHardBoundary to detect filter tokens
2015-07-11 13:12:09 -04:00
Paul Beckingham
8afc7443e4
Lexer: Fixed bug that allowed unterminated quotes strings, again
2015-07-11 11:25:24 -04:00
Paul Beckingham
d3971d2384
Lexer: Replaced ::isString implementation with a call to ::readWord
2015-07-11 11:06:43 -04:00
Paul Beckingham
b7438edfd5
Lexer: Fixed bug that allowed unterminated quotes strings
2015-07-11 10:56:55 -04:00
Paul Beckingham
daba36860b
Lexer: Modified ::isSubstitution to use ::readWord
2015-07-11 10:27:23 -04:00
Paul Beckingham
096737bd02
Lexer: Modified ::isPattern to use ::readWord
2015-07-11 10:27:06 -04:00
Paul Beckingham
a86edaa6b2
Lexer: Converted ::isPair to use ::readWord
...
- With ::isPair using ::readWord, attribute values may now contain escaped
entities such as \t, \uNNNN, and U+NNNN.
- Removed distinct handling for <name><sep><value>, rc<sep><value> and
rc.<name><sep><value> - all generic now.
2015-07-10 11:24:57 -04:00
Paul Beckingham
45aaa530ac
Lexer: Skipping whitespace on ::readWord at SOL was a mistake
2015-07-10 11:23:57 -04:00
Paul Beckingham
e55528e21e
Lexer: ::readWord now skips leading whiteSpace
2015-07-08 11:24:46 -04:00
Paul Beckingham
e6c4f48a48
Lexer: readWords for quoted strings now retains the quotes
2015-07-08 09:03:48 -04:00
Paul Beckingham
1fed8c55f1
Lexer: Collapsed two ::isString calls into one
2015-07-06 16:40:18 -04:00
Paul Beckingham
7a6d546a0d
Lexer:: Added polymorphic ::readWord for quoteѕ and unquoted strings
2015-07-06 16:37:46 -04:00
Paul Beckingham
d82da280cb
Lexer: Implemented ::readWord
...
- Lexer::readWord is a general-purpose text parser, for finding plain words and
quoted strings. It supports \uNNNN and U+NNNN unicode sequences, and general
escapes, \t, \', \" etc.
2015-07-06 15:32:12 -04:00
Paul Beckingham
e36fb2f10c
Lexer: Switched argument order for ::decomposePair
2015-07-06 12:10:50 -04:00
Paul Beckingham
81599071e7
Lexer: Implemented ::decomposePair
2015-07-06 11:28:39 -04:00
Paul Beckingham
1836ac29e2
Lexer: Removed expermental code, didn't help
2015-07-04 15:03:28 -04:00
Paul Beckingham
3b99559216
Lexer: Added standalone token support
...
- Added default ctor.
- Added ::token method for classifying whole tokens.
- Stubbed token classifier methods.
2015-07-04 11:38:09 -04:00
Paul Beckingham
4141215d4b
Lexer: Clarified ::isTag lookbehind rules
2015-07-04 10:48:44 -04:00
Paul Beckingham
f33da18789
Lexer: Removed ::isList and Lexer::Type::list - not needed
2015-07-01 18:04:21 -04:00
Paul Beckingham
b090c6bccf
Lexer: Removed unnecessary ::ambiguity method
2015-07-01 16:18:28 -04:00
Paul Beckingham
86ed232348
Lexer: Added ::wasQuoted to determine original quote state
2015-06-28 12:35:06 -04:00