Jason Volk
|
0e6a6ea0b1
|
ircd::json: Replace char generator w/ new vectorized string streaming. (fixes #158) (fixes #159)
|
2020-07-03 16:35:28 -07:00 |
|
Jason Volk
|
3490eb89e8
|
ircd::json: Consistent quoted inputs to the printer. (related ea1c0dcae7 )
|
2020-06-24 11:45:15 -07:00 |
|
Jason Volk
|
d456a42cdd
|
ircd::json: Add stats items counting calls and cycles on input and output.
|
2020-06-24 11:00:11 -07:00 |
|
Jason Volk
|
c99ae124f4
|
ircd::json: Relax attributes on grammar templates.
|
2020-06-24 09:27:23 -07:00 |
|
Jason Volk
|
ff1d2c938c
|
ircd::json: Simplify printer invocation template overloading.
|
2020-06-24 08:57:50 -07:00 |
|
Jason Volk
|
57e70512d0
|
ircd::json: Minor cleanup; simplify conditionals.
|
2020-06-23 00:55:16 -07:00 |
|
Jason Volk
|
ea1c0dcae7
|
ircd::json: Pass all string input through the grammar.
|
2020-06-23 00:54:48 -07:00 |
|
Jason Volk
|
e26b046940
|
ircd::json: Optimize character dfa w/ de-aliased output ref.
|
2020-06-20 05:41:14 -07:00 |
|
Jason Volk
|
63a7554c4a
|
ircd::json: Ensure output is sorted on object::member array stringify; hoist tls buffers.
|
2020-06-20 05:41:14 -07:00 |
|
Jason Volk
|
59829f1a59
|
ircd::json: Relax number_frac limit more digits.
|
2020-06-17 23:22:39 -07:00 |
|
Jason Volk
|
43c6727492
|
ircd::json: Replace number rule w/ non-casting grammar.
|
2020-06-17 22:08:20 -07:00 |
|
Jason Volk
|
5ede78afe8
|
ircd::json: Memoize query for type.
|
2020-06-11 17:09:56 -07:00 |
|
Jason Volk
|
39e777e88f
|
ircd::json: Add non-parsing number grammar for type derivation for now.
|
2020-06-11 17:09:55 -07:00 |
|
Jason Volk
|
24cb29d64c
|
ircd::json: Relax expensive type query in serialized() suite.
|
2020-06-11 09:49:33 -07:00 |
|
Jason Volk
|
b59337eb78
|
ircd::spirit: Consolidate entry to spirit through wrapper templates.
ircd::spirit: More aggressive inlining of interface templates; symbol visibility
|
2020-06-11 03:51:49 -07:00 |
|
Jason Volk
|
d9f8e0d0ab
|
ircd::json: Eliminate bool return for printer call.
|
2020-05-27 20:03:03 -07:00 |
|
Jason Volk
|
d58921f756
|
ircd::spirit: Add exceptions; move epsilon into generate abstraction; minor cleanup.
|
2020-05-27 20:03:02 -07:00 |
|
Jason Volk
|
b698f80067
|
ircd::spirit: Abstract common generator call into template.
|
2020-05-26 04:54:52 -07:00 |
|
Jason Volk
|
210dc94521
|
ircd::json: Add parenthesis around comparison.
|
2020-05-26 00:28:15 -07:00 |
|
Jason Volk
|
188e9b1c81
|
ircd::json: Rearrange branch blocks.
|
2020-05-26 00:04:09 -07:00 |
|
Jason Volk
|
f2f3e9a8a5
|
ircd::json: Workaround buffer_sink action.
|
2020-05-26 00:04:04 -07:00 |
|
Jason Volk
|
53b304cb7a
|
ircd::json:🖨️ Make return an lvalue for leeward access.
|
2020-05-25 01:39:15 -07:00 |
|
Jason Volk
|
4b7dcd48a6
|
ircd::json: Optimize sequential alternative for individual characters.
|
2020-05-24 22:06:18 -07:00 |
|
Jason Volk
|
e5517735c3
|
ircd::json: Replace phrase_parse in type suite.
ircd::json: Tweak whitespace rules in type suite grammar.
|
2020-05-24 19:33:32 -07:00 |
|
Jason Volk
|
31dfedbcd7
|
ircd::json: Add suite for type optimized type query; refactor grammars.
|
2020-05-24 19:03:00 -07:00 |
|
Jason Volk
|
b137f59c5e
|
ircd::json: Move type determination grammars out of primary input grammar.
|
2020-05-24 18:33:20 -07:00 |
|
Jason Volk
|
4ca481a5fc
|
ircd::json: Use switch statement over enumeration in character_dfa. (related 24d73428c8 )
|
2020-05-24 16:33:38 -07:00 |
|
Jason Volk
|
24d73428c8
|
ircd::json: Fix overzealous escape cases. (fixes #152) (fixes #17)
|
2020-05-24 15:32:40 -07:00 |
|
Jason Volk
|
875b8a01f1
|
ircd::json: Minor cleanup.
|
2020-05-20 17:16:23 -07:00 |
|
Jason Volk
|
8c2b203426
|
ircd::json: Simplify grammar instantiations.
|
2020-05-19 16:12:08 -07:00 |
|
Jason Volk
|
ec0471934a
|
ircd::json: Minor simplifications.
ircd::rfc3986: Minor simplifications.
ircd::fmt: Minor cleanup.
|
2020-05-19 15:55:18 -07:00 |
|
Jason Volk
|
92a4322f3a
|
ircd::json: Assertions on iterator increments.
|
2020-05-18 18:13:41 -07:00 |
|
Jason Volk
|
6e89ee4289
|
ircd::json: Consolidate validation grammars; optimize for boolean rule.
|
2020-05-18 18:12:34 -07:00 |
|
Jason Volk
|
005d1226b2
|
ircd::json: Consolidate type grammars; move outside functions; apply visibility.
|
2020-05-18 18:12:34 -07:00 |
|
Jason Volk
|
648d6e42b4
|
ircd::json: Inline vector::const_iterator related.
|
2020-05-18 18:12:34 -07:00 |
|
Jason Volk
|
d870385e6c
|
ircd::json: Move vector static grammars outside function; apply visibility.
|
2020-05-18 18:12:34 -07:00 |
|
Jason Volk
|
1b90964630
|
ircd::json: Move array static grammars outside functions; apply visibility; remove branch.
|
2020-05-18 16:51:50 -07:00 |
|
Jason Volk
|
021e875b29
|
ircd::json: Reorg object grammars; fix visibility attribute; remove branch on begin().
|
2020-05-18 15:28:35 -07:00 |
|
Jason Volk
|
a2f6acd73f
|
ircd::json: Reduce branch mispredictions in linear_any alternative parser.
|
2020-05-13 05:01:22 -07:00 |
|
Jason Volk
|
226c8702e9
|
ircd::json: Additional internal visibilities.
|
2020-05-11 01:56:47 -07:00 |
|
Jason Volk
|
27146c471c
|
ircd::json: Use rule::alias() for property name string.
|
2020-04-18 00:08:08 -07:00 |
|
Jason Volk
|
ca147df40f
|
ircd::json: Cleanup visibility attributions for internal assets.
|
2020-04-17 20:17:33 -07:00 |
|
Jason Volk
|
f151eb2e6c
|
ircd::json::object: Reuse/reorg member rule instance; out-of-line static durations.
|
2020-04-17 20:17:33 -07:00 |
|
Jason Volk
|
f288d4a816
|
ircd::json::stack::member: Fix critical assertion; use stack buffer.
|
2020-04-15 16:09:55 -07:00 |
|
Jason Volk
|
777ea844e7
|
ircd::json::stack::checkpoint: Trigger unforced flush from checkpoint dtor.
|
2020-04-15 16:09:55 -07:00 |
|
Jason Volk
|
79a4394626
|
ircd::json::stack: Simplify checkpoint interface controls.
|
2020-04-14 15:31:41 -07:00 |
|
Jason Volk
|
cb41660c94
|
ircd: Applications of loopless copy overload for single character.
|
2020-04-13 23:58:33 -07:00 |
|
Jason Volk
|
a7d9476a05
|
ircd::json: Split array::const_iterator from array header; inline comparison suite.
|
2020-04-03 11:02:49 -07:00 |
|
Jason Volk
|
c4d041d1ae
|
ircd::json: Inline object::const_iterator comparison suite.
ircd::json: Split object::const_iterator from object header.
ircd::json: Split object::member related from object header.
|
2020-04-03 11:02:49 -07:00 |
|
Jason Volk
|
291de1a49b
|
ircd::json: Increase the recursion limit.
|
2020-03-19 21:54:07 -07:00 |
|
Jason Volk
|
e6c9f757ce
|
ircd::json: Add a members replacement tool.
|
2020-03-18 19:47:18 -07:00 |
|
Jason Volk
|
66c4ebfbb4
|
ircd::json: Add a member replacement tool.
|
2020-03-18 16:28:16 -07:00 |
|
Jason Volk
|
468b591186
|
ircd::json: Cast to enumeral for balanced ternary result to switch.
|
2020-03-11 15:12:37 -07:00 |
|
Jason Volk
|
43d608c8cb
|
ircd::json: Increase recursion depth limit.
|
2020-03-01 11:26:12 -08:00 |
|
Jason Volk
|
901890d2af
|
ircd::json: Remove branch in ~value().
|
2020-02-28 15:11:39 -08:00 |
|
Jason Volk
|
4f0920d2ba
|
ircd::json: Reorder value rule initialization.
|
2020-02-21 12:22:56 -08:00 |
|
Jason Volk
|
421af71f58
|
ircd::json: Reopen namespace with default visibility for clang.
|
2020-02-19 21:02:37 -08:00 |
|
Jason Volk
|
e1e7457e2d
|
Revert "ircd::json: Printer operator template type conveyance; minor cleanup."
This reverts commit 60b0a5eab3 .
|
2020-02-12 18:36:19 -08:00 |
|
Jason Volk
|
9dfcd63797
|
ircd::json: Add expect; minor rename.
|
2020-02-12 14:34:26 -08:00 |
|
Jason Volk
|
e17318a334
|
ircd::json: Remove const for any recursive repropagation.
|
2020-02-12 14:34:26 -08:00 |
|
Jason Volk
|
4007e4f2e2
|
ircd::json: Fix rule construction for clang.
|
2020-02-10 15:28:00 -08:00 |
|
Jason Volk
|
bb3c8dfb53
|
ircd::json: Fix output grammar rule constness for clang.
|
2020-02-10 15:05:35 -08:00 |
|
Jason Volk
|
60b0a5eab3
|
ircd::json: Printer operator template type conveyance; minor cleanup.
|
2020-02-10 14:35:17 -08:00 |
|
Jason Volk
|
04595054d8
|
ircd::json: Fix member constructor template.
|
2020-02-10 14:35:17 -08:00 |
|
Jason Volk
|
4c84df62e7
|
ircd::json: Simplify reference name.
|
2020-02-10 14:35:17 -08:00 |
|
Jason Volk
|
622a0fe7c1
|
ircd::json: Simplify/cleanup members stringify.
|
2020-02-09 16:28:11 -08:00 |
|
Jason Volk
|
ab6672877d
|
ircd::json: Move max_string_size constant to header.
|
2020-02-09 14:54:38 -08:00 |
|
Jason Volk
|
b899a1dc24
|
ircd::json: Emit specific attributes for GCC only.
|
2020-02-07 12:53:02 -08:00 |
|
Jason Volk
|
a7e97f124e
|
ircd::json: Fix value copy to closure.
|
2020-02-07 12:47:17 -08:00 |
|
Jason Volk
|
d512ef1006
|
ircd::json: Fix format string.
|
2020-02-07 12:45:09 -08:00 |
|
Jason Volk
|
d91b9d0aee
|
ircd::json: Reorder alternative operands.
|
2020-01-17 17:26:23 -08:00 |
|
Jason Volk
|
f588dad9eb
|
ircd::json: Fix lifetime dead store elimination; regression from df79d61
|
2019-12-04 23:28:29 -08:00 |
|
Jason Volk
|
875c0bce05
|
ircd::json: Add assertion for stack unwind.
|
2019-12-04 16:04:52 -08:00 |
|
Jason Volk
|
09e315a8f0
|
ircd::json::stack: Maintain enough space for JSON to close on all stack unwinds.
|
2019-12-01 21:37:54 -08:00 |
|
Jason Volk
|
66934f317a
|
ircd::json::stack: Track and assert the running recursion level.
|
2019-12-01 21:37:22 -08:00 |
|
Jason Volk
|
2aaef63e04
|
ircd::json::stack: Fix missing move members.
|
2019-12-01 21:22:58 -08:00 |
|
Jason Volk
|
f86b129ea6
|
ircd::json::stack: Add class member counters; assertions; conditions.
|
2019-09-23 20:11:20 -07:00 |
|
Jason Volk
|
a8d9c78e12
|
ircd::json: Add comments and assertions in stack::append().
|
2019-09-23 12:58:02 -07:00 |
|
Jason Volk
|
1f82e009b7
|
ircd::json: Deinline member ctor.
|
2019-09-13 16:32:26 -07:00 |
|
Jason Volk
|
bd1b060314
|
ircd::json: Split some print_error cases into print_panic; relax print_error; minor cleanup.
|
2019-09-09 19:03:23 -07:00 |
|
Jason Volk
|
c01a816582
|
ircd::json: Enforce max string size on stringify(value).
|
2019-09-08 19:58:58 -07:00 |
|
Jason Volk
|
a6eb3c28ff
|
ircd::json: Enforce max string size on create_string().
|
2019-09-08 19:58:58 -07:00 |
|
Jason Volk
|
f3845d9ed0
|
ircd::json: Minor cleanup / noexcept closures.
|
2019-08-26 11:36:20 -07:00 |
|
Jason Volk
|
b95a7a8a9e
|
ircd::exception: Add hide_name construction overload to macro.
|
2019-08-26 11:10:30 -07:00 |
|
Jason Volk
|
af48bdfa6e
|
ircd::json: Stub an unescape().
|
2019-08-02 15:04:29 -07:00 |
|
Jason Volk
|
181ed12bd7
|
ircd::json: Add more escapes to map.
|
2019-08-02 15:04:28 -07:00 |
|
Jason Volk
|
7984f4bdee
|
ircd::json: Require full range of control chars to be escaped.
|
2019-08-02 15:04:28 -07:00 |
|
Jason Volk
|
75927abb42
|
ircd::json: Restrict escaped unicodes to UTF-16 surrogates.
|
2019-08-02 15:04:28 -07:00 |
|
Jason Volk
|
de986d2272
|
ircd::json::stack: Make completed() return a string_view instead of const_buffer.
|
2019-07-30 12:26:26 -07:00 |
|
Jason Volk
|
b191b153e3
|
ircd::json: Add shortcut equality comparison for two serialized values.
|
2019-07-29 16:46:15 -07:00 |
|
Jason Volk
|
4d8d2a4dd7
|
ircd::json: Improve and inline value comparison operators.
|
2019-07-15 11:06:01 -07:00 |
|
Jason Volk
|
0344a12b40
|
ircd::json: Inline value constructors.
|
2019-07-15 11:06:01 -07:00 |
|
Jason Volk
|
94148ec80a
|
ircd::json::stack: Use character appends where possible.
|
2019-07-08 06:03:20 -07:00 |
|
Jason Volk
|
d58e119f7b
|
ircd::json: Synthesized repropagation of recursive grammars.
|
2019-06-24 04:41:06 -07:00 |
|
Jason Volk
|
abe9fed5fa
|
ircd::json: Make grammar rules const if possible.
|
2019-06-24 03:52:44 -06:00 |
|
Jason Volk
|
cf3b1218c4
|
ircd: Misc fixes for clang.
|
2019-06-23 16:22:06 -06:00 |
|
Jason Volk
|
5bf62fc33f
|
ircd: Degrade enum addressing for clang.
|
2019-06-23 07:37:23 -06:00 |
|
Jason Volk
|
cd45ef8aeb
|
ircd::json: Fix comment.
|
2019-04-30 21:40:00 -07:00 |
|
Jason Volk
|
57d2cc9350
|
ircd::json: Fix and optimize for loss of type on member property names.
|
2019-04-24 21:03:41 -07:00 |
|
Jason Volk
|
a3a4741708
|
ircd::json: Simplify value move ctor.
|
2019-04-24 19:52:44 -07:00 |
|