Many hyperlinks are disabled.
Use anonymous login
to enable hyperlinks.
Overview
| Comment: | 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. |
|---|---|
| Downloads: | See separate download page |
| Timelines: | family | ancestors | descendants | both | trunk |
| Files: | files | file ages | folders |
| SHA1: |
11390a7baa2e7e878398c0ff1a360c51 |
| User & Date: | andreask 2014-01-06 23:44:12.136 |
Context
|
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. 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 | |
| 18:23 | Re-join split trunk check-in: dfdc7799cc user: andreask tags: trunk | |
Changes
Changes to modules/json/ChangeLog.
Deleted modules/json/c/AUTHORS.
Deleted modules/json/c/COPYING.
Deleted modules/json/c/ChangeLog.
Deleted modules/json/c/NEWS.
Deleted modules/json/c/README.
Deleted modules/json/c/arraylist.c.
Deleted modules/json/c/arraylist.h.
Deleted modules/json/c/bits.h.
Deleted modules/json/c/config.h.
Deleted modules/json/c/debug.c.
Deleted modules/json/c/debug.h.
Deleted modules/json/c/json.h.
Added modules/json/c/json.tab.c.
Added modules/json/c/json.y.
Deleted modules/json/c/json_c_version.c.
Deleted modules/json/c/json_c_version.h.
Deleted modules/json/c/json_config.h.
Deleted modules/json/c/json_inttypes.h.
Deleted modules/json/c/json_object.c.
Deleted modules/json/c/json_object.h.
Deleted modules/json/c/json_object_iterator.c.
Deleted modules/json/c/json_object_iterator.h.
Deleted modules/json/c/json_object_private.h.
Deleted modules/json/c/json_tokener.c.
Deleted modules/json/c/json_tokener.h.
Deleted modules/json/c/json_util.c.
Deleted modules/json/c/json_util.h.
Added modules/json/c/json_y.h.
Deleted modules/json/c/libjson.c.
Deleted modules/json/c/linkhash.c.
Deleted modules/json/c/linkhash.h.
Deleted modules/json/c/printbuf.c.
Deleted modules/json/c/printbuf.h.
Changes to modules/json/json_tcl.tcl.
Changes to modules/json/jsonc.tcl.
Changes to modules/json/test-data/glossary.result.
Changes to modules/json/test_support.tcl.
Changes to modules/tcllibc.tcl.
