1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187 188 189 190 191 192 193 194 195 196 197 198 199 200 201 202 203 204 205 206
|
2014-01-07 Andreas Kupries <andreask@activestate.com>
* json.tcl: Move many-* wrapper to before its usage. Bumped
version to 1.3.2. v1.3.1 is broken.
* c/json.tab.c: Worked around issues with the critcl v2
* c/json.y: application the Tcllib C code is geared towards.
* json.tcl: Bumped json version to 1.3.1, jsonc to 1.1.1,
* jsonc.tcl: and tcllibc to 0.3.13.
* tcllibc.tcl: See ticket [6efa4f571af052].
2014-01-06 Andreas Kupries <andreask@activestate.com>
See ticket [6efa4f571af052].
c: Removed json-parser files.
c/json.y: New parser.
c/json.tab.c: Generated parser code.
c/json_y.h: Header to binding.
jsonc.tcl:
json_tcl.tcl:
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.
2013-12-11 Andreas Kupries <andreask@activestate.com>
* c: [Ticket 6efa4f571a]: Integrated a critcl binding of
* json.bench: the json-c parser. Moved to a standard
* json.man: switchable setup. json2dict and manyy-json2dict
* json.tcl: are now switchable to C. Everything else kept
* json.test: to Tcl. Note especially that Tcl 'validate'
* json.testsuite: (regexp-based) was still faster than json-c.
* json_tcl.tcl: Which has no mode for pure syntax checking,
* jsonc.tcl: thus overhead with construction of irelevant data
* pkgIndex.tcl: structures. Extended testsuite. New benchmark
* test-data: suite. Version bumped to 1.3.
2013-06-19 Andreas Kupries <andreask@activestate.com>
* json.man: New command 'many-json2dict' to parse strings
* json.pcx: containing more than one JSON entity. The existing
* json.tcl: json2dict command will return only the first. Updated
* json.test: documentation. Extended testsuite. Package version
* pkgIndex.tcl: bumped to 1.2
2013-02-01 Andreas Kupries <andreas_kupries@users.sourceforge.net>
*
* Released and tagged Tcllib 1.15 ========================
*
2013-02-01 Andreas Kupries <aku@hephaistos>
* json_write.tcl: While we can quote / (solidus) via \/ as per the
* json_write.man: JSON syntax there is no reason why we should.
* json_write.test: Bumped version to 1.0.2.
* pkgIndex.tcl:
2011-12-13 Andreas Kupries <andreas_kupries@users.sourceforge.net>
*
* Released and tagged Tcllib 1.14 ========================
*
2011-11-10 Andreas Kupries <andreas_kupries@users.sourceforge.net>
* json.tcl: [Bug 3426178]: Fixed bug in "list2json",
* json.test: reported by <a11426@users.sourceforge.net>.
* json.man: Updated testsuite. Bumped version to 1.1.2.
* pkgIndex.tcl:
2011-08-24 Andreas Kupries <andreask@activestate.com>
* json_write.man:
* json_write.test:
* json_write.tcl: [Bug 3396787]: Fixed missing argument to call of
* pkgIndex.tcl: [info level], breaking the argument checks. Bumped
version to 1.0.1
2011-01-24 Andreas Kupries <andreas_kupries@users.sourceforge.net>
*
* Released and tagged Tcllib 1.13 ========================
*
2011-01-20 Andreas Kupries <andreas_kupries@users.sourceforge.net>
* json.tcl (json::parseValue): Fixed a missing -- older 8.4 seems
* json.man: to require to handle a dash in $leadingChar. Bumped
* pkgIndex.tcl: version to 1.1.1
2009-12-10 Andreas Kupries <andreask@activestate.com>
* json.tcl: [Patch 2909962]: Accepted rewrite of the json parser
* json.man: internals by Thomas Maeder
* pkgIndex.tcl: <thomasmaeder@users.sourceforge.net>. The new
(regex-based) parser is considerably faster than the previous
implementation. Bumped version to 1.1.
2009-12-07 Andreas Kupries <andreas_kupries@users.sourceforge.net>
*
* Released and tagged Tcllib 1.12 ========================
*
2009-11-24 Andreas Kupries <andreas_kupries@users.sourceforge.net>
* json_write.tcl: New package 'json::write', supporting the
* json_write.test: generation of text in JSON format.
* json_write.man: Package version 1.
* json_write.pcx:
* pkgIndex.tcl:
2009-11-23 Andreas Kupries <andreas_kupries@users.sourceforge.net>
* json.tcl: Bumped package to version 1.0.1 due to the bugfix made
* pkgIndex.tcl: on 2009-04-18.
2009-05-26 KATO Kanryu <kanryu6@users.sourceforge.net>
* json.test: improved to compare dicts
2009-04-18 KATO Kanryu <kanryu6@users.sourceforge.net>
* json.tcl: fixed to parse last integer
* json.test: improved to compare dicts
2008-12-12 Andreas Kupries <andreas_kupries@users.sourceforge.net>
*
* Released and tagged Tcllib 1.11.1 ========================
*
2008-10-16 Andreas Kupries <andreas_kupries@users.sourceforge.net>
*
* Released and tagged Tcllib 1.11 ========================
*
2008-06-14 Andreas Kupries <andreas_kupries@users.sourceforge.net>
* json.pcx: New file. Syntax definitions for the public commands
of the json package.
2007-12-05 Andreas Kupries <andreask@activestate.com>
* json.test: Brought the test results into sync with the ordered
dicts of Tcl 8.5. NOTE: This will cause the combination of Tcl
8.4 with a backported dict to fail, at least until either the
backported dict does the same ordering, or the tests are split
into variants, one for both of the two cases. This fixes [Tcllib
SF Bug 1844104], reported by Larry Virden
<lvirden@users.sourceforge.net>. Thanks.
2007-09-12 Andreas Kupries <andreas_kupries@users.sourceforge.net>
*
* Released and tagged Tcllib 1.10 ========================
*
2007-03-21 Andreas Kupries <andreas_kupries@users.sourceforge.net>
* json.man: Fixed all warnings due to use of now deprecated
commands. Added a section about how to give feedback.
2006-10-03 Andreas Kupries <andreas_kupries@users.sourceforge.net>
*
* Released and tagged Tcllib 1.9 ========================
*
2006-08-25 Jeff Hobbs <jeffh@ActiveState.com>
* json.test: empty list test cases
* json.tcl (json::_json2dict): handle empty list case
2006-08-18 Andreas Kupries <andreask@activestate.com>
* json.man: Added some more keywords to the docs.
2006-08-17 Jeff Hobbs <jeffh@ActiveState.com>
* json.tcl, json.man, json.test, pkgIndex.tcl: json package v1.0
Parses JSON formatted text into Tcl dicts.
See http://www.json.org/ for format details.
|