Commit Graph

89 Commits

Author SHA1 Message Date
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
gingerBill
251da264ed Remove unneeded semicolons from the core library 2021-08-31 22:21:13 +01:00
gingerBill
18a0fa02c5 Add multi pointers to core 2021-08-21 23:16:14 +01:00
gingerBill
f293d7c997 Update package encoding/json for or_return 2021-08-15 23:11:15 +01:00
gingerBill
4035fec784 Add more uses of or_return 2021-08-15 18:13:56 +01:00
gingerBill
b071a07c86 Replace uses of err != nil with or_return where appropriate 2021-08-15 17:56:24 +01:00
gingerBill
effecf8595 Fix typo 2021-08-15 11:13:59 +01:00
gingerBill
a3abe991a4 Add package core:encoding/hxa 2021-08-09 16:26:51 +01:00
gingerBill
db3501f61b [Breaking] Change the layout json.Value to be a union rather than a struct of a json.Pos and the union 2021-08-08 12:59:35 +01:00
gingerBill
48538aa792 Remove package core:encoding/cel 2021-08-08 12:50:38 +01:00
Jeroen van Rijn
ebd034fff9 CEL: Fix ISE. 2021-08-08 02:19:32 +02:00
gingerBill
86649e6b44 Core library clean up: Make range expressions more consistent and replace uses of .. with ..= 2021-06-14 11:15:25 +01:00
gingerBill
54e6c50769 Implement f16 functionality 2021-04-01 10:06:00 +01:00
gingerBill
10f91a0d3f Make base32 and base64 adhere to -strict-style 2021-03-14 12:54:28 +00:00
gingerBill
a60d22fefd Make trailing comma usage consistent 2021-03-13 21:18:07 +00:00
gingerBill
41b854f192 Remove #opaque types 2021-02-23 15:45:06 +00:00
gingerBill
595885d3db Remove bit_field in type info, runtime, and general core library 2021-02-19 11:36:23 +00:00
gingerBill
3bcccf88d5 vet all core packages 2021-01-09 23:43:34 +00:00
gingerBill
37253f2621 Add encoding/csv Writer 2021-01-09 00:21:47 +00:00
gingerBill
da380d6fc4 Add encoding/csv Reader 2021-01-08 23:24:35 +00:00
gingerBill
18da0b3418 Integrate package io into core library 2020-12-03 10:45:26 +00:00
gingerBill
1acd5acd70 Remove unused variable 2020-11-25 16:28:13 +00:00
gingerBill
dbaf4d24f6 Update package json for new map layout; Correct llvm-api includes for *nix 2020-11-25 16:19:56 +00:00
gingerBill
fc4fdd588e Remove usage of do in core library 2020-09-23 17:17:14 +01:00
jockus
8d637f5139 Added parse_integers optional to validation 2020-09-15 12:03:40 +01:00