Commit graph

509 commits

Author SHA1 Message Date
Ferdinand Majerech 9ea269de87 Removed obsolete 'final' from Reader methods. 2014-08-05 13:14:42 +02:00
Ferdinand Majerech 3d8de67771 Using peekByte() where possible in Scanner. 2014-08-05 13:14:15 +02:00
Ferdinand Majerech 078269be36 Queue no longer supports types with destructors. 2014-08-05 13:12:07 +02:00
Ferdinand Majerech 7539b40d3d (optimization) Mark ctor now doesn't check file column for overflow. 2014-08-05 13:10:52 +02:00
Ferdinand Majerech 57afd47bb5 Doc fixes. 2014-08-05 01:53:17 +02:00
Ferdinand Majerech fb9525bb00 Obsoleting decodeCount_. 2014-08-05 01:52:21 +02:00
Ferdinand Majerech 75ed314dd6 More FastCharSearch. 2014-08-05 01:51:32 +02:00
Ferdinand Majerech 0424ff5e77 Style. 2014-08-05 01:51:20 +02:00
Ferdinand Majerech 44885cde4e Optimized fetchToken() 2014-08-04 02:26:14 +02:00
Ferdinand Majerech 7360e85a3a More FastCharSearch based on profiling results. 2014-08-04 02:24:26 +02:00
Ferdinand Majerech 5a1e6e994d Fixed a nasty rare bug caused by an assumption that 32 chars take 32 bytes. 2014-08-04 02:23:08 +02:00
Ferdinand Majerech 20048ea995 Using peekByte() in heavily used Scanner methods. 2014-08-04 02:22:09 +02:00
Ferdinand Majerech 8e63f62d7e An optimized version of peek() that reads a byte, without decoding. 2014-08-04 02:20:13 +02:00
Ferdinand Majerech a4befdd866 An optimized version of Reader.peek() with index == 0. 2014-08-04 02:19:34 +02:00
Ferdinand Majerech 063d9754d7 Queue now uses a freelist to minimize allocations. 2014-08-04 02:16:34 +02:00
Ferdinand Majerech 97e717df1b Loader creates Constructor/Resolver lazily to avoid garbage when user-provided 2014-08-04 02:14:01 +02:00
Ferdinand Majerech 6aa50b8898 A benchmark Loader method that scans a file but throws away the tokens. 2014-08-02 23:26:46 +02:00
Ferdinand Majerech c160156346 Fixed the string->char[] Token value move. 2014-08-02 23:25:56 +02:00
Ferdinand Majerech aeee0758a7 Refactored FastCharSearch with more modern string mixin code. 2014-08-02 02:35:03 +02:00
Ferdinand Majerech d32addacda Slices now nonconst in all layers up to Parser, where they get cast to string. 2014-08-02 01:58:20 +02:00
Ferdinand Majerech 7b699c5903 UTF-8 validation now uses UTF-8 decoding code. 2014-08-02 01:37:16 +02:00
Ferdinand Majerech b5da695d6b More @nogc in Scanner. 2014-08-02 01:19:29 +02:00
Ferdinand Majerech e6fdade4a6 Scanner now uses @nogc UTF decoding. 2014-08-02 01:16:29 +02:00
Ferdinand Majerech e1209711af UTF-8 decoding now has versions for validated and unvalidated strings. 2014-08-02 01:15:57 +02:00
Ferdinand Majerech 5932155435 Style. 2014-08-02 01:15:22 +02:00
Ferdinand Majerech fad280060e Better Constructor docs. 2014-08-01 23:01:34 +02:00
Ferdinand Majerech f137db438e Better Constructor funct attribs. 2014-08-01 23:01:24 +02:00
Ferdinand Majerech 66679a601c Moved tinyendian.d out of the dyaml directory. 2014-08-01 02:56:37 +02:00
Ferdinand Majerech a9fb68f340 Removed internals from DDoc. 2014-08-01 02:52:14 +02:00
Ferdinand Majerech 0f017646fc Reverted doc style due to DDoc issues. 2014-08-01 02:51:35 +02:00
Ferdinand Majerech fdf4cecddb Backported a recent std.utf script. 2014-08-01 02:47:52 +02:00
Ferdinand Majerech 830aef8df5 Simpler grepping for 'std.stream' 2014-07-31 14:53:14 +02:00
Ferdinand Majerech 151871e1b3 Better Loader docs. 2014-07-31 14:52:40 +02:00
Ferdinand Majerech 276bed7fb6 Constructor unittests now use the new Loader ctor. 2014-07-31 02:55:38 +02:00
Ferdinand Majerech 68d9124b17 Removed Reader ctor from Stream. 2014-07-31 02:33:24 +02:00
Ferdinand Majerech a74bc8cf3b Reader unittests now construct Reader from a buffer. 2014-07-31 02:28:42 +02:00
Ferdinand Majerech e100047572 Updated Loader examples. 2014-07-31 02:22:42 +02:00
Ferdinand Majerech 626337f6ed More readable error throws in Loader. 2014-07-31 02:16:53 +02:00
Ferdinand Majerech ddd89c22d5 Updated Loader unittest. 2014-07-31 02:09:44 +02:00
Ferdinand Majerech e919f4be51 Added a char[] fromString. 2014-07-31 02:08:08 +02:00
Ferdinand Majerech 24a8e945bd Removed docs of deprecated API. 2014-07-31 02:07:32 +02:00
Ferdinand Majerech d18a41999e Loader ctor from buffer, deprecated old API, constructing Reader from buffer. 2014-07-31 02:01:08 +02:00
Ferdinand Majerech a23c41385a Very minor Parser/Event @nogc/style. 2014-07-31 01:56:36 +02:00
Ferdinand Majerech 03d1183550 Added a Reader ctor from buffer and deprecated the ctor from Stream. 2014-07-31 01:56:06 +02:00
Ferdinand Majerech 4d6634f49b Doc fixes. 2014-07-30 23:30:37 +02:00
Ferdinand Majerech 5da8561df4 Renamed buffer8_ to buffer_, bufferOffset8_ to bufferOffset_. 2014-07-30 23:26:44 +02:00
Ferdinand Majerech 4e2c3e6093 Only validate UTF-8 if we get UTF-8 input (UTF-16/32 validated at conversion) 2014-07-30 22:32:58 +02:00
Ferdinand Majerech 6c15bd95cc Moved unused, but potentially useful Reader code to dyaml.unused. 2014-07-30 18:38:27 +02:00
Ferdinand Majerech e58b092fe1 Removed an unsafe cast. 2014-07-30 18:23:40 +02:00
Ferdinand Majerech 492e36d28a In-place UTF32->UTF-8 conversion in Reader. 2014-07-30 18:21:09 +02:00
Ferdinand Majerech cc1aaf4ac8 dchar->char encoding now also has a version for non-validated dchars. 2014-07-30 18:20:22 +02:00
Ferdinand Majerech f4c57b368b Style/spaces. 2014-07-30 04:46:53 +02:00
Ferdinand Majerech cf3bff517c UTF-8 is now the default input encoding. UTF-16/32 is encoded into UTF-8. 2014-07-30 04:46:28 +02:00
Ferdinand Majerech c1ffa05735 Removed redundant spaces. 2014-07-30 00:37:15 +02:00
Ferdinand Majerech c473ef7dee Removed -8 suffixes from Reader methods. 2014-07-30 00:13:48 +02:00
Ferdinand Majerech eb266b4e27 Removed the -8 suffixes from Scanner methods. 2014-07-29 23:42:50 +02:00
Ferdinand Majerech e5561285c3 Removed UTF-32 buffer offset. 2014-07-29 23:25:22 +02:00
Ferdinand Majerech 33b2a7ef68 Removed the UTF-32 buffer from Reader. 2014-07-29 23:23:45 +02:00
Ferdinand Majerech 736de8beb9 Reader now uses validation to get the number of characters in the UTF8 buffer. 2014-07-29 23:22:16 +02:00
Ferdinand Majerech 74c161c576 validateUTF8NoGC now calculates the number of characters in passed string. 2014-07-29 23:21:07 +02:00
Ferdinand Majerech ffef7bf6fc Removed UTF-32 parts of Reader API. 2014-07-29 23:15:08 +02:00
Ferdinand Majerech d1aaec6a60 Removed the UTF-32 SliceBuilder. 2014-07-29 23:10:46 +02:00
Ferdinand Majerech 207cb249e0 Scanner style. 2014-07-29 23:08:37 +02:00
Ferdinand Majerech 8806cfc1b4 More @nogc in Scanner. 2014-07-29 23:08:03 +02:00
Ferdinand Majerech 18be6b2e5b Removed UTF-32 scanLineBreak. 2014-07-29 23:01:05 +02:00
Ferdinand Majerech 6837156258 Block scalar scanning now works with UTF-8. 2014-07-29 20:58:00 +02:00
Ferdinand Majerech 19ed03cb3e Low hanging fruit for using UTF-8 reader methods 2014-07-29 20:55:24 +02:00
Ferdinand Majerech ecc168dc75 insert() for SliceBuilder8. 2014-07-29 20:52:39 +02:00
Ferdinand Majerech 58e19d75ad Assert message fix. 2014-07-29 20:52:24 +02:00
Ferdinand Majerech 302995354c Fixed a SliceBuilder8.Transaction compilation bug. 2014-07-29 14:43:53 +02:00
Ferdinand Majerech 510357f4c7 insert() instead of insertBack() for SliceBuilder. 2014-07-29 14:41:46 +02:00
Ferdinand Majerech 239152f793 UTF-8 scanPlain and callees. 2014-07-29 04:28:07 +02:00
Ferdinand Majerech d80917419f Removed obsolete UTF-32 methods. 2014-07-29 04:20:14 +02:00
Ferdinand Majerech 4a09338a7a Directive scanning is now fully UTF-8. 2014-07-29 04:19:44 +02:00
Ferdinand Majerech 38143a2c64 Fixed NoGC appender unittest. 2014-07-29 04:18:34 +02:00
Ferdinand Majerech 31acd6aead Removed obsolete comment. 2014-07-29 04:10:42 +02:00
Ferdinand Majerech e565543080 Removed UTF-32 scanAlphaNumeric. 2014-07-29 04:10:30 +02:00
Ferdinand Majerech ef735e280f UTF-8 directive name scanning. 2014-07-29 04:10:16 +02:00
Ferdinand Majerech 4307ccbe82 Fixed a Reader compilation bug. 2014-07-29 03:18:54 +02:00
Ferdinand Majerech 952726aa5e UTF-8 scanFlowScalar. **NOTE:** moved escaping to Parser; can't do it in-place 2014-07-29 03:18:37 +02:00
Ferdinand Majerech 252bf083a7 Fixed a potential Unicode bug. 2014-07-29 03:13:42 +02:00
Ferdinand Majerech b789317df8 UTF-8 scanTag 2014-07-29 03:13:21 +02:00
Ferdinand Majerech de6c1aacdb UTF-8 scanTagHandle. 2014-07-29 03:11:38 +02:00
Ferdinand Majerech 40fe7090d9 UTF-8 scanTagURI. 2014-07-29 03:11:17 +02:00
Ferdinand Majerech 2003a950cb UTF-8 scanURIEscapes. 2014-07-29 03:10:51 +02:00
Ferdinand Majerech 1cc07c263a UTF-8 scanAnchor. 2014-07-29 03:09:59 +02:00
Ferdinand Majerech 2a524bbb5e UTF-8 scanLineBreak. 2014-07-29 03:07:57 +02:00
Ferdinand Majerech 6dd53b55a0 UTF-8 scanAlphaNumeric. 2014-07-29 03:07:31 +02:00
Ferdinand Majerech a9def88eed Docfix. 2014-07-29 03:06:51 +02:00
Ferdinand Majerech 3880adf81d UTF-8 SliceBuilder. 2014-07-29 03:01:16 +02:00
Ferdinand Majerech cb64197bb1 nogcutil import. 2014-07-29 02:59:58 +02:00
Ferdinand Majerech 76cfd7704d forward() invalidates last decoded offsets. 2014-07-29 02:59:33 +02:00
Ferdinand Majerech 2e156a8ece UTF-8 prefix()/get() 2014-07-29 02:59:16 +02:00
Ferdinand Majerech 709ab00e44 A UTF-8 slice(). 2014-07-29 02:58:04 +02:00
Ferdinand Majerech 56057b43ec peek() now uses the UTF-8 buffer. 2014-07-29 02:57:19 +02:00
Ferdinand Majerech ef9053d7f3 Keeping buffer8_ and buffer_ positions in sync. 2014-07-29 02:54:39 +02:00
Ferdinand Majerech 6addaa4cbe Better comment. 2014-07-29 02:52:01 +02:00
Ferdinand Majerech 634418b599 Added UTF-8 version of the Reader buffer (for now, side by side with UTF-32) 2014-07-29 02:51:46 +02:00
Ferdinand Majerech d3846f7970 Removed now unused function. 2014-07-29 02:00:32 +02:00
Ferdinand Majerech 5d78e76f6a Error messages with non-ASCII chars will now show the char, not 'unknown'. 2014-07-29 02:00:13 +02:00
Ferdinand Majerech 7cf9dca57d Function to encode *valid* UTF-32 to UTF-8 2014-07-29 01:59:22 +02:00
Ferdinand Majerech cf15d55da0 Function to decode *valid* UTF-8 2014-07-29 01:58:59 +02:00
Ferdinand Majerech 53b39dc590 Updated copyright and description. 2014-07-29 01:58:22 +02:00
Ferdinand Majerech 6b8ff23859 A function to validate a UTF-8 string. 2014-07-29 01:58:00 +02:00
Ferdinand Majerech 61424b0ac6 A @nogc isValidDchar. 2014-07-29 01:57:07 +02:00
Ferdinand Majerech cac25207f1 parseNoGC can work with code points directly. 2014-07-29 01:55:43 +02:00
Ferdinand Majerech 6e1239fdac Removed unused/untested code from AppenderNoGCFixed. 2014-07-29 01:50:04 +02:00
Ferdinand Majerech 4a4e83112c utf8Stride is now globally visible in reader.d 2014-07-28 23:21:43 +02:00
Ferdinand Majerech 45b15890ca It should be enough to use \x instead of \u for \u0085 2014-07-28 23:19:59 +02:00
Ferdinand Majerech 645b191948 Removed todo garbage. 2014-07-26 23:38:59 +02:00
Ferdinand Majerech f07aaeef87 Reader UTF decoding is now private. 2014-07-26 23:37:56 +02:00
Ferdinand Majerech a8c32430ed Minor style. 2014-07-26 23:37:33 +02:00
Ferdinand Majerech ebe10ad8c4 Removed the Error and ErrorData aliases. 2014-07-26 23:31:13 +02:00
Ferdinand Majerech 2e7de5f9ed checkDocumentStart func attribs. 2014-07-26 23:30:13 +02:00
Ferdinand Majerech d5663b1e57 Scanner style. 2014-07-26 23:29:55 +02:00
Ferdinand Majerech f76e4cfd02 Queue copyright. 2014-07-26 23:25:08 +02:00
Ferdinand Majerech 424e6e5f98 Queue whitespaces. 2014-07-26 23:24:41 +02:00
Ferdinand Majerech 2688591c6a Better func attribs in Queue. 2014-07-26 23:23:59 +02:00
Ferdinand Majerech 9d480d1723 scanDirective is now nothrow and mostly @nogc. 2014-07-26 18:26:39 +02:00
Ferdinand Majerech 14a8e31fa5 Minor cleanup. 2014-07-26 18:20:57 +02:00
Ferdinand Majerech f11fbf3b36 scanTagDirectiveValue returns handle length with return value, not ref param 2014-07-26 18:19:26 +02:00
Ferdinand Majerech 271eca053a scanYAMLDirectiveValue is now nothrow @nogc. 2014-07-26 18:15:50 +02:00
Ferdinand Majerech 58b42750aa scanYAMLDirectiveNumber now scans to slice. 2014-07-26 18:08:39 +02:00
Ferdinand Majerech e055506b29 nothrow and some @nogc in tag directive scanning. 2014-07-26 17:48:50 +02:00
Ferdinand Majerech d190b9d839 scanDirective now uses a slice. 2014-07-26 17:37:20 +02:00
Ferdinand Majerech f48d254350 Updated copyright statement in parser.d 2014-07-26 16:43:39 +02:00
Ferdinand Majerech 388b74b332 Stripped spaces. 2014-07-26 16:43:02 +02:00
Ferdinand Majerech db7fecf960 directiveToken no longer stores multiple values by zero-separating. 2014-07-26 16:41:04 +02:00
Ferdinand Majerech b5259e6ada Directive type is now a Token data member. 2014-07-26 16:38:15 +02:00
Ferdinand Majerech 3ae7c713ef Added a directive type enum. 2014-07-26 16:37:38 +02:00
Ferdinand Majerech 27bccabca4 scanDirectiveIgnoredLine is now nothrow @nogc. 2014-07-26 13:42:22 +02:00
Ferdinand Majerech 5133257201 scanAnchor is now nothrow. 2014-07-26 13:31:31 +02:00
Ferdinand Majerech 60e0270ffa A function to simplify building 'expected, but found' error messages. 2014-07-26 13:18:03 +02:00
Ferdinand Majerech cf014150ca Renamed setError() to error() for more compact error handling. 2014-07-26 13:06:35 +02:00
Ferdinand Majerech 33110e295e scanAlphaNumeric, scanDirectiveName are now nothrow @nogc. 2014-07-26 12:50:58 +02:00
Ferdinand Majerech e256d4c004 Removed the no longer used Appender from Scanner. 2014-07-26 04:24:30 +02:00
Ferdinand Majerech f9ede1c409 scanAlphaNumeric and callers now work with slices. 2014-07-26 04:20:32 +02:00
Ferdinand Majerech 8b086caa40 Default scanToNextBreak now only skips, doesn't scan anything. 2014-07-26 03:16:27 +02:00
Ferdinand Majerech ccdbc21e8f Style 2014-07-26 03:16:01 +02:00
Ferdinand Majerech 08f8168889 SliceBuilder assert fixes. 2014-07-26 03:07:32 +02:00
Ferdinand Majerech acc7617fab Forgotten SliceBuilder methods that enable new Scanner code. 2014-07-26 03:06:51 +02:00
Ferdinand Majerech 09b11470ac scanBlockScalar is now nothrow. 2014-07-26 02:53:05 +02:00
Ferdinand Majerech 6e2b9a7511 Code determining if a func scanned anything replaced by checking slice length. 2014-07-26 02:49:52 +02:00
Ferdinand Majerech 0ce9dc0b3a lineBreak is a dchar instead of an array now. 2014-07-26 02:41:42 +02:00
Ferdinand Majerech 701b01dd20 Removed non-slice scanBlockScalarBreaks. 2014-07-26 02:34:28 +02:00
Ferdinand Majerech f2cda9e799 Style. 2014-07-26 02:34:02 +02:00
Ferdinand Majerech a19131417e Updated alternate commented out code in scanBlockScalar 2014-07-26 02:33:49 +02:00
Ferdinand Majerech fb93ad7cf1 scanBlockScalar now reads to a slice... and is a lot more complicated. 2014-07-26 02:33:16 +02:00
Ferdinand Majerech 7bbd5ab5b3 Style. 2014-07-26 02:30:05 +02:00
Ferdinand Majerech e38120c6db A version of scanToNextBreak that reads to a slice. 2014-07-26 02:27:11 +02:00
Ferdinand Majerech 6dbe9ad4ae Refactored 2 alternate slices in scanBlockScalar into one. 2014-07-25 23:50:04 +02:00
Ferdinand Majerech 0aa321f8c5 A ToSlice version of scanBlockScalarBreaks. 2014-07-25 23:48:28 +02:00
Ferdinand Majerech 537c3c06f3 scanBlockScalarIndentation now scans into caller's slice. 2014-07-25 23:45:47 +02:00
Ferdinand Majerech 45468bff68 @nogc scanBlockScalarBreaks/scanBlockScalarIndentation. 2014-07-25 23:40:18 +02:00
Ferdinand Majerech 3cf56c8061 scanBlockScalarIgnoredLine is now nothrow @nogc. 2014-07-25 21:22:44 +02:00
Ferdinand Majerech b5bbd2a03b Style fixes. 2014-07-25 21:15:14 +02:00
Ferdinand Majerech ea3b696a8e scanBlockScalarIndicators is now @nogc. 2014-07-25 21:12:33 +02:00
Ferdinand Majerech 537eccc597 scanTag is now nothrow. 2014-07-25 18:28:08 +02:00
Ferdinand Majerech 4e3619cf6a Using buildMsg to simplify error messages. 2014-07-25 18:27:21 +02:00
Ferdinand Majerech 1b5eea58bf Style. 2014-07-25 18:26:23 +02:00
Ferdinand Majerech 93a99ad7ca A shortcut function to build error messages. 2014-07-25 18:26:08 +02:00
Ferdinand Majerech 6403b2da63 scanTagURI is now nothrow (not @nogc due to std.utf.decode) 2014-07-25 17:33:54 +02:00
Ferdinand Majerech f12e0104a6 Removed an unneeded import 2014-07-25 17:30:51 +02:00
Ferdinand Majerech b3ef48f41f printNoGC now supports const(dchar). 2014-07-25 17:30:35 +02:00
Ferdinand Majerech fe33be52e4 scanTagHandle is now nothrow @nogc. 2014-07-25 16:55:15 +02:00
Ferdinand Majerech 3574555c3a Fixed a recent bug. 2014-07-25 16:54:46 +02:00
Ferdinand Majerech 86e6628fa1 Doc fixes. 2014-07-25 16:54:06 +02:00
Ferdinand Majerech 46255846e6 Using printNoGC to simplify @nogc error message building. 2014-07-25 16:53:40 +02:00
Ferdinand Majerech 2420b57281 Updated nogcutil doc/copyright. 2014-07-25 16:52:47 +02:00
Ferdinand Majerech 963d197093 Utilities around AppenderNoGCFixed to build error messages easily without GC. 2014-07-25 16:52:36 +02:00
Ferdinand Majerech 5f27ab26c7 A gutted, @nogc version of Appender. 2014-07-25 16:51:56 +02:00
Ferdinand Majerech cac40a6a85 scanTag scans into a slice,tag handle/suffix are split by valueDivider, not \0 2014-07-25 03:36:55 +02:00
Ferdinand Majerech 918395ea64 Enforcing that Token is at most 32 bytes long. 2014-07-25 03:33:27 +02:00
Ferdinand Majerech e88842573f New Token data member for splitting token value when we need 2 values. 2014-07-25 03:33:08 +02:00
Ferdinand Majerech 2228e92a43 scanTagURI now scans into a slice started by the caller. 2014-07-25 02:51:06 +02:00
Ferdinand Majerech 7865e0b480 scanURIEscapesToSlice now returns the number of scanned characters. 2014-07-25 02:49:33 +02:00
Ferdinand Majerech 817dc3b610 scanTagURI now scans to a slice, as does scanURIEscapes, at cost of complexity 2014-07-25 02:34:53 +02:00
Ferdinand Majerech 457cabbb72 scanTagHandle now scans to a slice. 2014-07-25 02:32:29 +02:00
Ferdinand Majerech 9fe84bf729 Style fixes. 2014-07-24 23:22:26 +02:00
Ferdinand Majerech b63c0849e7 More @safe. 2014-07-24 23:22:14 +02:00
Ferdinand Majerech 4ed4a2c746 scanFlowScalar is now nothrow and only does one GC allocation. 2014-07-24 23:21:59 +02:00
Ferdinand Majerech a59a34ffce scanFlowScalarNonSpaces is now nothrow @nogc. 2014-07-24 23:21:07 +02:00
Ferdinand Majerech 48f31d6971 Doc fixes. 2014-07-24 23:20:31 +02:00
Ferdinand Majerech 1a31b3c7d2 Added an integer parsing function that doesn't use the GC. 2014-07-24 23:20:01 +02:00
Ferdinand Majerech bed862c8ab Turned some escapes associative arrays into switch functions to avoid GC. 2014-07-24 23:18:49 +02:00
Ferdinand Majerech 19f163a150 Added a buffer to construct error messages in without allocation. 2014-07-24 23:17:24 +02:00
Ferdinand Majerech f9eb7b2eb1 scanFlowScalarNonSpaces errors are now thrown by the caller. 2014-07-24 18:56:22 +02:00
Ferdinand Majerech fb20ca1006 scanFlowScalarSpaces is now nothrow @nogc. 2014-07-24 18:49:34 +02:00
Ferdinand Majerech 039d601a5f Flow scalar tokens are now scanned into slices. 2014-07-24 18:46:21 +02:00
Ferdinand Majerech 706ce872b0 scanPlain doc fix. 2014-07-24 18:44:20 +02:00
Ferdinand Majerech 571eecd836 setError use in scanPlain. 2014-07-24 18:44:07 +02:00
Ferdinand Majerech 1969dc0e97 Space fix. 2014-07-24 18:43:46 +02:00
Ferdinand Majerech 45d8db08d1 Use of throwIfError for handling scanPlain errors. 2014-07-24 18:43:33 +02:00
Ferdinand Majerech 60c3079f11 Functions to simplify error setting/throwing in Scanner. 2014-07-24 18:42:55 +02:00
Ferdinand Majerech 33e509659d Minor doc fix. 2014-07-24 18:42:12 +02:00
Ferdinand Majerech e816b93419 More const in exception.d 2014-07-24 18:41:55 +02:00
Ferdinand Majerech ab868df785 Better Scanner function attributes. 2014-07-24 03:50:39 +02:00
Ferdinand Majerech 02494914e4 dchar[], not dstring in Reader/Scanner. Will be changed back where possible. 2014-07-24 03:06:24 +02:00
Ferdinand Majerech 7ae6098bd9 Space fix. 2014-07-24 02:44:53 +02:00
Ferdinand Majerech 2d445dbc22 Plain scalars are now scanned into Reader slices, without allocations. 2014-07-24 02:44:43 +02:00
Ferdinand Majerech a2cbb90d4e SliceBuilder is now a part of Reader. 2014-07-24 02:43:28 +02:00
Ferdinand Majerech d8f1221457 Transactions in SliceBuilder to allow reverting of eager slice changes. 2014-07-24 02:43:09 +02:00
Ferdinand Majerech 892aed303f An API to build slices into read parts of Reader buffer. 2014-07-24 02:42:34 +02:00
Ferdinand Majerech e493e7299d Reader buffer is again dchar[]. 2014-07-24 02:40:32 +02:00
Ferdinand Majerech 36e7954756 Code calling scanPlain() assumes scanPlain() writes exception into errorData_. 2014-07-23 18:28:57 +02:00
Ferdinand Majerech d4a7b066d0 Scanner style fixes. 2014-07-23 18:26:39 +02:00
Ferdinand Majerech 2a8f78f46f Scanner data members for @nogc/nothrow functions to write exception data to. 2014-07-23 18:25:59 +02:00
Ferdinand Majerech be942564d9 Using utf32To8 2014-07-23 18:19:35 +02:00
Ferdinand Majerech f6457f2321 Added a nothrow function to convert dstring to string. 2014-07-23 18:18:21 +02:00
Ferdinand Majerech ba5d5bb3da A struct storing constructor parameters for MarkedYAMLException. 2014-07-23 18:16:05 +02:00
Ferdinand Majerech f5e027e9bb Better func attributes for exceptions. 2014-07-23 18:15:37 +02:00
Ferdinand Majerech 8f00c503e2 Exception style changes. 2014-07-23 18:15:13 +02:00
Ferdinand Majerech f8c1d0204b More style fixes in Scanner. 2014-07-23 03:10:25 +02:00
Ferdinand Majerech 0a7d21f1c6 More @safe pure in Scanner. 2014-07-23 03:09:48 +02:00
Ferdinand Majerech 30d394b861 Copyright headers in Token, Scanner. 2014-07-23 02:54:50 +02:00
Ferdinand Majerech 15f5add86d @safe pure nothrow @nogc and style in Token. 2014-07-23 02:54:34 +02:00
Ferdinand Majerech 8a378471e6 More @safe pure nothrow @nogc in Scanner. 2014-07-23 02:47:46 +02:00
Ferdinand Majerech aadf3232f0 Scanner style. 2014-07-23 02:46:36 +02:00
Ferdinand Majerech 10120b53c2 Static nested function in Scanner to avoid deleg overhead. 2014-07-23 02:18:00 +02:00
Ferdinand Majerech 90320cb040 Scanner error string fix. 2014-07-23 02:17:36 +02:00
Ferdinand Majerech 9671da901e Scanner doc/style fixes. 2014-07-23 02:17:19 +02:00
Ferdinand Majerech ae7331c710 Reader.buffer_ is now a dstring. 2014-07-23 01:49:11 +02:00
Ferdinand Majerech 98c66857bb const(dstring) was redundant. 2014-07-23 01:36:38 +02:00
Ferdinand Majerech 0a625ec7a7 Rewritten UTFDecoder into a function. 2014-07-23 01:36:09 +02:00
Ferdinand Majerech b060699950 Removed a GC allocation. 2014-07-23 00:46:37 +02:00
Ferdinand Majerech 66741654c3 More pure nothrow @nogc. 2014-07-23 00:46:00 +02:00
Ferdinand Majerech 949a396248 A risky Reader change to avoid allocations/exceptions. 2014-07-23 00:42:49 +02:00
Ferdinand Majerech 3ce23f2892 Better Reader docs. 2014-07-23 00:41:43 +02:00
Ferdinand Majerech 86c015fb5a Minor simplification. 2014-07-23 00:41:14 +02:00
Ferdinand Majerech 48f86653dc More @safe pure nothrow @nogc in Reader. 2014-07-23 00:40:00 +02:00
Ferdinand Majerech 16b486c623 FastCharSearch is now @nogc. 2014-07-23 00:38:51 +02:00
Ferdinand Majerech 53b22c93ad Reader now reuses the buffer created by UTFDecoder. 2014-07-23 00:09:40 +02:00
Ferdinand Majerech 9940bc91b9 Really minor whitespace change. 2014-07-23 00:06:06 +02:00
Ferdinand Majerech 9119836fa2 UTFDecoder now decodes everything at once. 2014-07-22 20:21:17 +02:00
Ferdinand Majerech 4ff3f8dc51 Optimized updateBuffer() for UTF-16/UTF-32 2014-07-22 03:41:46 +02:00
Ferdinand Majerech 3b6891dbe1 Reader is now more @safe. 2014-07-22 03:34:17 +02:00
Ferdinand Majerech 08a0a551d9 very minor whitespace change. 2014-07-22 03:33:50 +02:00
Ferdinand Majerech 81aee496ac UTFDecoder is now pure nothrow and @safer. 2014-07-22 03:33:36 +02:00
Ferdinand Majerech 7affea320a Rewroted UTFDecoder to enable nothrow. 2014-07-22 03:32:52 +02:00
Ferdinand Majerech 6e71d77e69 Localizes std.stream imports only where they are needed. 2014-07-22 02:40:44 +02:00
Ferdinand Majerech 630585970d Updated docs/exceptions; using a buffer, not a stream. 2014-07-22 02:40:14 +02:00
Ferdinand Majerech e30f6e0e80 UTFDecoder now works directly with a buffer, not a stream. 2014-07-22 02:39:02 +02:00
Ferdinand Majerech 7d4df103a7 Renamed UTFDecoder.buffer_ to decodedBuffer_ . 2014-07-22 02:18:26 +02:00
Ferdinand Majerech c296a6e790 MemoryStream now constructed in UTFDecoder. 2014-07-22 02:15:33 +02:00
Ferdinand Majerech e525ac120a Stripped whitespace in Scanner. 2014-07-22 02:12:18 +02:00
Ferdinand Majerech dadd67eeb0 Removed @property in UTFDecoder. 2014-07-22 02:11:31 +02:00
Ferdinand Majerech 5f9f12a672 Reader no longer has direct access to MemoryStream. 2014-07-22 02:11:16 +02:00
Ferdinand Majerech 2728e63eb8 more @nogc in Reader 2014-07-22 01:23:15 +02:00
Ferdinand Majerech 9dd6903e13 Better function attribs in Mark 2014-07-22 01:22:56 +02:00
Ferdinand Majerech 9bf9a0c278 Stripped whitespace. 2014-07-22 01:10:23 +02:00