Commit Graph

113 Commits

Author SHA1 Message Date
Jeroen van Rijn
1289c96e2c [i18n] QT Linguist TS reader. 2022-04-29 00:29:55 +02:00
Jeroen van Rijn
80878264b6 [xml] Speedup. 2022-04-28 15:29:00 +02:00
Jeroen van Rijn
c4e0d1efa1 Merge branch 'master' into xml 2022-04-27 14:37:15 +02:00
Jeroen van Rijn
a30b9b17b3 [json/unmarshal] Fix quoted strings. 2022-04-19 20:32:22 +02:00
Jeroen van Rijn
29b2c04766 Revert "Fix unmarshal for escaped strings."
This reverts commit 581255bf23.
2022-04-19 20:11:02 +02:00
Jeroen van Rijn
581255bf23 Fix unmarshal for escaped strings. 2022-04-19 20:04:38 +02:00
Jeroen van Rijn
6d0ba8d189 [LEB128] Add byte-at-a-time ILEB decoder. 2022-04-16 18:14:01 +02:00
Jeroen van Rijn
a5773f1657 Merge pull request #1718 from Kelimion/varint_streamed
Add uleb128 byte-at-a-time decoder.
2022-04-16 02:20:07 +02:00
Jeroen van Rijn
44316401c9 Add uleb128 byte-at-a-time decoder. 2022-04-16 02:07:57 +02:00
Jeroen van Rijn
8310436350 [varint] Clear up doc.odin. 2022-04-13 00:03:36 +02:00
gingerBill
1baeb9406f Utilize union #shared_nil in more places 2022-03-24 12:11:31 +00:00
gitlost
4f5203e661 Fix some core:encoding/hxa stuff (error handling, header, max -> min)
Also add missing f16 case to core:reflect as_u64 & as_f64
Add tests for above & add previous tests missing from test/core/build.bat
2022-03-16 19:12:00 +00:00
Jeroen van Rijn
64705ddd1d [varint] Add doc.odin 2022-03-08 20:08:56 +01:00
Jeroen van Rijn
2a41814985 [varint] Tighten max input bounds. 2022-03-08 19:56:42 +01:00
Jeroen van Rijn
76b10b5f5d [varint] Add additional LEB128 tests. 2022-03-08 19:28:55 +01:00
Jeroen van Rijn
e76a5d8e12 [varint] Add signed LEB128 encoding. 2022-03-08 18:07:16 +01:00
Jeroen van Rijn
6d7217f37a [varint] Add LEB128 decoding + tests
Also make tests in general less spammy: Don't print [PASS] for each successful test, only report failures and progress.
2022-03-08 15:40:00 +01:00
gingerBill
c85ac955f7 Simplify docs to hide the copyright 2022-01-17 19:00:47 +00:00
gingerBill
f0529535e0 ODIN_ENDIAN changed to an enum constant; ODIN_ENUM_STRING is the new string version of the old constant 2022-01-15 17:53:18 +00:00
Jeroen van Rijn
6e61abc7d0 [xml] Initial optimization. 2021-12-06 12:04:59 +01:00
Phil H
a7138b22a5 Fix 'unmarsal' typo 2021-12-05 19:04:14 -08:00
Jeroen van Rijn
7ec88d2430 [xml] Add option. 2021-12-05 21:06:33 +01:00
Jeroen van Rijn
d65d6edb0e [xml] Improve XML tests, test core:encoding/entity. 2021-12-05 02:52:23 +01:00
Jeroen van Rijn
3d72e80ccf [xml] Implement optional unboxing of CDATA and decoding of tag values. 2021-12-05 02:52:23 +01:00
Jeroen van Rijn
2dd67dba89 [core:encoding/entity] Add new package to decode &<entity>; entities.
Includes generator to generate a lookup for named entitiess.
2021-12-05 02:52:23 +01:00
Jeroen van Rijn
5807214406 [xml] Improvements. 2021-12-05 02:52:23 +01:00
Jeroen van Rijn
23baf56c87 [xml] Improve CDATA + comment handling in tag body. 2021-12-05 02:52:23 +01:00
Jeroen van Rijn
beff90e1d1 [xml] Slight optimization.
About a 5% speed bump.

More rigorous optimization later.
2021-12-05 02:52:23 +01:00
Jeroen van Rijn
ec63d0bbd2 [xml] Robustness improvement.
Can now parse  https://www.w3.org/2003/entities/2007xml/unicode.xml no problem.
2021-12-05 02:52:22 +01:00
Jeroen van Rijn
32eab04d66 [xml] Allow multi-line bodies w/o CDATA. Strip trailing whitespace. 2021-12-05 02:52:22 +01:00
Jeroen van Rijn
682783a2aa [xml] Tab indentation in debug printer. 2021-12-05 02:52:22 +01:00
Jeroen van Rijn
46a4927aca [xml] Use io.Writer for xml.print(doc). 2021-12-05 02:52:22 +01:00
Jeroen van Rijn
9b2e67df67 [xml] Small cleanup. 2021-12-05 02:52:22 +01:00
Jeroen van Rijn
b5c828fe4e [xml] Initial implementation of core:encoding/xml.
A from-scratch XML implementation, loosely modeled on the [spec](https://www.w3.org/TR/2006/REC-xml11-20060816).

Features:
		- Supports enough of the XML 1.0/1.1 spec to handle the 99.9% of XML documents in common current usage.
		- Simple to understand and use. Small.

Caveats:
		- We do NOT support HTML in this package, as that may or may not be valid XML.
		  If it works, great. If it doesn't, that's not considered a bug.

		- We do NOT support UTF-16. If you have a UTF-16 XML file, please convert it to UTF-8 first. Also, our condolences.
		- <[!ELEMENT and <[!ATTLIST are not supported, and will be either ignored or return an error depending on the parser options.

TODO:
- Optional CDATA unboxing.
- Optional `&gt;`, `&#32;`, `&#x20;` and other escape substitution in tag bodies.
- Test suite

MAYBE:
- XML writer?
- Serialize/deserialize Odin types?
2021-12-05 02:52:22 +01:00
gingerBill
a75dc9d86d Fix minor issue with unmarshal for booleans 2021-11-13 19:07:16 +00:00
Daniel Gavin
5b074ceee5 Add json encoding test + fix enum not being set on success. 2021-11-07 14:35:52 +01:00
gingerBill
cdf881a378 Fix json.marshal for Matrix 2021-10-20 15:02:55 +01:00
gingerBill
2d2e3ed6a1 Remove dead code 2021-10-02 14:04:52 +01:00
gingerBill
21a06df5e1 Add alias for MJSON as Bitsquid 2021-10-02 14:04:41 +01:00
gingerBill
19ac822e4a Improve reflect.Type_Info_Complex support 2021-09-29 15:08:45 +01:00
gingerBill
9d797ea225 Add more support for complex types 2021-09-29 15:02:51 +01:00
gingerBill
aac290e366 Clean up json.marshal_to_writer 2021-09-29 14:50:53 +01:00
gingerBill
c22f2866c7 Remove fmt dependency 2021-09-29 13:18:06 +01:00
gingerBill
9bc12e3f38 Improve json.marshal error handling for io.Writer; Add docs for the different JSON specifications 2021-09-29 13:06:03 +01:00
gingerBill
d452758afc Improve MJSON handling 2021-09-28 15:01:11 +01:00
gingerBill
c933054872 Support json.Specification.MJSON
https://bitsquid.blogspot.com/2009/10/simplified-json-notation.html
2021-09-28 14:53:16 +01:00
gingerBill
ea0bf05727 Make it clear that integers are parsed separately from floats 2021-09-28 12:18:11 +01:00
gingerBill
14a3ddb9af Allow for union{T} like types in json.unmarshal 2021-09-25 18:05:35 +01:00
gingerBill
6a271355a6 Add json.unmarshal 2021-09-25 17:47:45 +01:00
gingerBill
720884e0f1 Strip even more semicolons if followed by a } or ) on the same line 2021-08-31 23:47:57 +01:00