Tcl Library Source Code

Check-in [2d0b61da55]
Login

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

Overview
Comment: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.
Downloads: See separate download page
Timelines: family | ancestors | descendants | both | trunk
Files: files | file ages | folders
SHA1: 2d0b61da555bdd0616e0b07daa7eca7506eb48d0
User & Date: andreask 2014-01-07 21:41:51.301
Context
2014-01-07
23:00
Move many-* wrapper to before its usage. Bumped version to 1.3.2. v1.3.1 is broken. check-in: 09ed31fbfc user: andreask tags: trunk
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. check-in: 2d0b61da55 user: andreask tags: trunk
2014-01-06
23:44
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. check-in: 11390a7baa user: andreask tags: trunk
Changes
Unified Diff Side-by-Side Diff Patch
Changes to modules/json/ChangeLog.
Changes to modules/json/c/json.tab.c.
Changes to modules/json/c/json.y.
Changes to modules/json/c/json_y.h.
Changes to modules/json/json.tcl.
Changes to modules/json/jsonc.tcl.
Changes to modules/json/pkgIndex.tcl.
Changes to modules/tcllibc.tcl.