100 Commits

Author SHA1 Message Date
Joao Paulo Magalhaes
f8ee5fbe1f Add roundtrip engine tests, fix minor problems 2026-01-02 19:02:39 +00:00
Joao Paulo Magalhaes
2e19c005f6 Prepare emitter for comments 2025-12-31 18:23:44 +00:00
Joao Paulo Magalhaes
9a77f9d7ae Emitter: improve coverage 2025-12-31 18:23:44 +00:00
Joao Paulo Magalhaes
6833a4b570 Updating changelog and quickstart 2025-12-31 18:23:44 +00:00
Joao Paulo Magalhaes
27b56e59e5 Implement FLOW_ML style: update tests 2025-12-31 18:23:44 +00:00
Joao Paulo Magalhaes
fb226d85b6 refactor error API: update samples 2025-12-28 19:17:25 +00:00
Joao Paulo Magalhaes
0febd0fa65 Improve behaviour of tree creation and Tree::root_id().
`Tree` is now non-empty by default, and `Tree::root_id()` will no longer modify the tree when it is empty. To create an empty tree now it is necessary to use the capacity constructor with a capacity of zero:
  ```c++
  // default-constructed tree is now non-empty
  Tree tree;
  assert(!tree.empty()); // MODIFIED! was empty on previous version
  id_type root = tree.root_id(); // OK. default-constructed tree is now non-empty

  // to create an empty tree:
  Tree tree(0); // pass capacity of zero
  assert(tree.empty()); // as expected
  // but watchout, this is no longer possible:
  //id_type root = tree.root_id(); // ERROR: cannot get root of empty tree.
  ```
This changeset also enables the python library to call `root_id()` on a default-constructed tree

re #556
2025-12-02 21:03:48 +00:00
Joao Paulo Magalhaes
653eac9741 v0.10.0 2025-09-30 20:25:00 +01:00
Joao Paulo Magalhaes
0fcfa3ef21 Update samples 2025-09-29 00:01:36 +01:00
Joao Paulo Magalhaes
44ef17ae66 parser: move tree-aware location functions to Tree/Node 2025-09-28 18:45:41 +01:00
Joao Paulo Magalhaes
aa05ca71b1 Improve experimental style API 2025-09-24 00:03:45 +01:00
Joao Paulo Magalhaes
89687540eb Fix resolve: mistaking quoted "<<" for an inheriting reference
re #529
2025-09-22 20:23:51 +01:00
mutativesystems
8fef3314bf Fix 8-bit codepoint escape in parse_engine.def.hpp, fix tests 2025-09-17 21:19:50 +07:00
Joao Paulo Magalhaes
47ec2fa184 v0.9.0 2025-04-10 20:51:13 +01:00
Joao Paulo Magalhaes
e65999dc4d v0.8.0 2025-02-15 11:03:52 +00:00
Joao Paulo Magalhaes
9b8df62d9a v0.7.2 2024-08-26 19:21:47 +01:00
Joao Paulo Magalhaes
5ccf9a2446 v0.7.1 2024-08-15 17:41:17 +01:00
Joao Paulo Magalhaes
b2e920910d re #442: add quickstart code for overflow detection 2024-06-21 17:58:27 +01:00
Joao Paulo Magalhaes
837255cfc4 v0.7.0 2024-06-11 18:57:25 +01:00
Joao Paulo Magalhaes
dab7f99460 minor changes in documentation 2024-06-08 12:09:35 +01:00
Joao Paulo Magalhaes
2249cc1df6 ensure empty values are not deserialized
re #434
2024-06-08 10:53:52 +02:00
Joao Paulo Magalhaes
76a571fc07 fix use of size_t, should be id_type 2024-05-21 22:47:00 +01:00
Joao Paulo Magalhaes
0881aa241c event-based parser policy pt3: samples and tools 2024-05-05 18:52:11 +02:00
Joao Paulo Magalhaes
620615fa0d v0.6.0 2024-04-28 22:52:03 +01:00
Joao Paulo Magalhaes
f411f9ccb9 fix emscripten 2024-04-18 23:58:54 +01:00
Joao Paulo Magalhaes
1a6262029e fix ubsan 2024-04-18 23:58:52 +01:00
Joao Paulo Magalhaes
6c719a8049 [fix] re #359: ensure tests run with disabled exceptions
use longjmp() to the non-local jump
2024-04-18 23:58:19 +01:00
Joao Paulo Magalhaes
507400ed05 Improve doxygen docs 2024-04-17 00:51:59 +01:00
Joao Paulo Magalhaes
a2527b5429 Improve error annotations & code docs 2024-04-12 22:25:41 +01:00
Joao Paulo Magalhaes
2c9c4b5e0a Improve the node API:
- improve explanation of states
- deprecate .valid()
- add .readable() state
- deprecate operator==(nullptr)
- deprecate operator==(csubstr)
2024-04-05 18:39:30 +01:00
Joao Paulo Magalhaes
12236b7fc4 Improve some comments, elaborate explanation of NodeRef states 2024-04-04 21:15:08 +01:00
Joao Paulo Magalhaes
25e806b209 (Const)NodeRef: add .at(), improve coverage, verify error handling 2024-04-04 17:13:13 +01:00
Joao Paulo Magalhaes
c3624a5a15 (Const)NodeRef: report errors through the closest callback 2024-04-04 16:59:49 +01:00
Joao Paulo Magalhaes
bcc1823733 Add quickstart example addressing float precision and avoiding loss. 2024-04-04 13:00:15 +01:00
Joao Paulo Magalhaes
8931537930 add quickstart sample to show proper usage of nulity writes/reads
re #409
2024-03-18 18:28:05 +00:00
Joao Paulo Magalhaes
0e864cb3f0 [sample] quickstart: add example showing deserialization of keys
re #372
2023-06-01 18:32:54 +01:00
Joao Paulo Magalhaes
bb02ef4299 [sample] quickstart: add sample code clarifying printing of substr
re #376
2023-06-01 18:31:00 +01:00
Joao Paulo Magalhaes
6a5a07fbd1 [fix] fix typo in quickstart 2023-05-12 11:18:20 +01:00
Joao Paulo Magalhaes
9fd8555ce4 [sample] re #370: add quickstart example for emitting in flow style 2023-05-11 13:24:49 +01:00
Joao Paulo Magalhaes
64187baad8 [fix] pedantic compiler warnings 2023-05-05 17:37:57 +01:00
Joao Paulo Magalhaes
a8a5bff5ad [sample] add example decoding base64 to a std::string
re #365
2023-05-05 17:23:36 +01:00
Joao Paulo Magalhaes
4204e2cd29 [doc] minor improvements to quickstart 2022-12-17 11:27:00 +00:00
Joao Paulo Magalhaes
cd652fb097 [doc] minor improvements to the quickstart 2022-12-17 11:18:41 +00:00
Joao Paulo Magalhaes
1d89de32f6 [fix] honor runtime settings for calling debugbreak, add compile option to disable
fixes #326
2022-11-18 15:20:39 +00:00
Zixuan James Li
e92b432e22 [fix] add map node properly and fix expected result
This fixes a typo, along with some checks for better measure.

Signed-off-by: Zixuan James Li <p359101898@gmail.com>
2022-10-09 21:05:05 -04:00
Joao Paulo Magalhaes
cecc60465d [fix breaking] locations are now opt-in when creating the parser
re #260
2022-09-27 09:36:49 +01:00
Joao Paulo Magalhaes
8654e321ba [refac] deprecate emit() and emitrs(), use emit_yaml() and emitrs_yaml()
re #120
2022-09-08 11:37:49 +01:00
Joao Paulo Magalhaes
770e3e7f3d [fix] json emitter: ensure quoting version string scalars
re #292
2022-08-30 16:47:08 +01:00
Joao Paulo Magalhaes
9097d26e6e [doc] update changelog and README
[ci skip]
2022-08-14 13:59:43 +01:00
Joao Paulo Magalhaes
e0e25e8d39 [fix] C4_CONST should not be used in methods 2022-08-14 12:06:43 +01:00