Tcl Library Source Code

All files named "modules/json/c/json.y"
Login

Many hyperlinks are disabled.
Use anonymous login to enable hyperlinks.

History for modules/json/c/json.y

2024-01-30
23:29
Fixes in md5crypt C code to properly handle non-ASCII strings. General tcl9 work/marking of more locations found by the extended checker (in C companion files). file: [56646e06c5] check-in: [00c0fc2344] user: aku branch: trunk, size: 12230
2024-01-10
19:37
general tcl 9 compatibility work - I - accelerators updates all but two C accelerators for work with 8.6 and 9. __BEWARE__: building now requires critcl commit [https://github.com/andreas-kupries/critcl/commit/e7408b59fcbe505379e3feec8f37b8208f72b28a] or later. The accelerators excluded from this commit are `crcc` and `ptc`. While their changes build successfully, they crash in the testsuite, indicating unresolved issues. file: [bb8ff4e14a] check-in: [e02cf17c2d] user: aku branch: trunk, size: 11808
2020-06-15
05:52
Renamed to modules/jsonc/c/json.y. base32 - Split base32c, base32c::hex into separate modules. base64 - Split base64c placeholder into separate module. crc - Split crcc placeholder into separate module. json - Split jsonc into separate module md4 - Split md4c into separate module md5 - Split md5c into separate module md5crypt - Split md5cryptc into separate module rc4 - Split rc4 into separate module base32, json - Bumped to look for the separate accelerator too, not just the shared tcllibc. Bumped version. md5crypt - Attention: For the tcllibc we cannot use the duplicated `md5.c` on pain of getting linker errors for the duplicated symbols. On the other side, that same file is required when installing md5cryptc as its own package to be compiled on the fly when used. To handle both cases the relevant code is disabled by default and fixed up during installation, see action `_md5`. The C accelerator packages are now installed separately from the Tcl code. Headers and C sources included. Should be possible to package require this, invoking critcl compilation on the fly. check-in: [a84629e424] user: aku branch: sha-c-split, size: 0
2016-09-01
04:14
json (critcl) <B> - Tkt [715944a1f7] - Moved to bison 3.0.2. Moved spec to ask for a re-entrant parser, and fixed all build issues coming with that. file: [ae4ccef31e] check-in: [56dcef5679] user: aku branch: jsonc-tkt-715944a1f7, size: 11499
2015-06-04
07:46
json - Ticket [785d2954d4] - Made handling of the static literals thread-safe. Regenerated the parser C code (bison 2.5). This passes the testsuite. file: [d312eca882] check-in: [ad8beea34a] user: aku branch: tkt-785d2954d4-jsonc, size: 14432
07:10
json - Ticket [785d2954d4] - Fixed looseness in the version check for C-level dict support. file: [b63b296398] check-in: [685c32cbc7] user: aku branch: tkt-785d2954d4-jsonc, size: 14191
2015-05-28
05:40
Applied patch from ticket. New branch. Not in a state suitable for merging. See comments in the ticket, i.e. [785d2954d4]. file: [64de2db80c] check-in: [9aff74cefd] user: aku branch: tkt-785d2954d4-jsonc, size: 14157
2015-05-11
21:08
json - Fixed signaling of syntax errors from the C accelerator code, added a proper error-code. jsonc bumped to 1.1.2. tcllibc bumped to 0.3.14. file: [a31ee0b521] check-in: [452c78a01b] user: andreask branch: trunk, size: 11301
2014-06-20
22:00
json :: [3d91afbcf2] Fixed the C implementation. It now properly rejects irregular escape sequences. Also tweaked it to not show the plain 'syntax eror' from the parser if a more detailed/nicer message from the lexer is available. Updated the expected messages in the testsuite. file: [ab1d46d5fb] check-in: [6de2cf7d3f] user: andreask branch: trunk, size: 11240
2014-01-07
21:41
See ticket [6efa4f571af052]. Worked around issues with the critcl v2 application the Tcllib C code is geared towards. Bumped json version to 1.3.1, jsonc to 1.1.1, and tcllibc to 0.3.13. file: [393103875b] check-in: [2d0b61da55] user: andreask branch: trunk, size: 10195
2014-01-06
23:44
Added: See ticket [6efa4f571af052]. Reworked the Json/C code to use a bison-pased parser provided by Mikhail. No separate data structures to convert, just direct generation of Tcl structures. Changes compared to the original submission: - Use List, not Dict operations for objects, i.e. be Tcl 8.4 compatible. - Do not generate Int/Double objects, only strings. Conversion to actual int is lazy, when actually needed. Also ensures that compile-time Tcl version does not restrict range of integers, only runtime Tcl version. - Allow all values as toplevel json, not just array and object. - Currently no shared objects for the fixed values (null, true, false). Note that the RE-based json validation is still faster on even moderatly sized strings, even when just using a stripped C lexer not generating token values. Bumped jsonc to version 1.1 and tcllibc to version 0.3.12. file: [546ac5b74a] check-in: [11390a7baa] user: andreask branch: trunk, size: 10213