Commit Graph

177 Commits

Author SHA1 Message Date
Emery Hemingway 66a653a775 Fix expand of embedded Preserves 2022-12-13 22:05:05 -06:00
Emery Hemingway adec7fd7ad Rewrite tupfiles 2022-12-11 19:21:17 -06:00
Emery Hemingway d5909e4df0 Schema: a collection of breaking changes
- Process all modules in a bundle simultanously so that it can be
   determined if imported types are recursive or take a parameter
- Different rules for deciding when an object must be a ref
- Use Preserve[void] if there is no EmbededTypeName defined
- Put embeddeded types directly into other types without a
  Preserve[E] container
2022-12-10 13:32:36 -06:00
Emery Hemingway cc0703c343 Fix symbol escaping during conversion to text 2022-12-08 01:00:38 -06:00
Emery Hemingway 3dd112879d Enable tracing for non-POSIX platforms 2022-12-08 01:00:38 -06:00
Emery Hemingway 587c5274f8 Fix preserving of embedded type 2022-12-08 01:00:38 -06:00
Emery Hemingway 806c4118fc Trivially convert from Preserve[void] to Preserve[E] 2022-12-08 01:00:34 -06:00
Emery Hemingway 92834a8968 Add expand, contract for embedded conversions 2022-12-08 00:59:54 -06:00
Emery Hemingway c9268b2a5d Cannot embed a void value 2022-12-08 00:59:54 -06:00
Emery Hemingway c04fc181c8 private/macros: keep walking through bracket expressions 2022-12-08 00:59:53 -06:00
Emery Hemingway 7eea68edb4 Add warning when preserving fails 2022-12-06 22:30:28 -06:00
Emery Hemingway 60c5f03637 Add preservesEmbedded pragma 2022-12-06 22:30:28 -06:00
Emery Hemingway d3132391bd Fix Symbol usage in the spry module 2022-12-05 16:10:49 -06:00
Emery Hemingway f9bed998f1 Fix schemaparse for <rec …> records 2022-12-05 16:09:04 -06:00
Emery Hemingway 6d5acf324b schemac: tool for processing schemas 2022-12-05 16:04:52 -06:00
Emery Hemingway ded072c76c More Tupfiles 2022-12-05 15:56:31 -06:00
Emery Hemingway ee2d379a65 Add Tupfiles for testing modules 2022-12-02 22:17:53 -06:00
Emery Hemingway 65195a5eb7 schemas: improve "include" parsing 2022-11-20 14:14:22 -06:00
Emery Hemingway e1ab43578a Schema: parse annotations 2022-11-20 14:13:44 -06:00
Emery Hemingway 99a1cd4d15 Symbol escaping 2022-11-06 11:04:16 -06:00
Emery Hemingway 9f8321a748 Textualize the zero length symbol as || 2022-11-06 11:03:53 -06:00
Emery Hemingway 2d2df1f918 Parse past annotations 2022-11-02 13:58:37 -05:00
Emery Hemingway 4e795cb92a Another getOrDefault 2022-10-30 21:09:17 -05:00
Emery Hemingway 489d6b31d5 Fix string escaping 2022-10-30 18:43:11 -05:00
Emery Hemingway 201cb7c68e Check for zero-length binary streams 2022-10-30 17:26:55 -05:00
Emery Hemingway 154ffb6cd8 Validate that set elements are unique during parse 2022-10-30 17:26:55 -05:00
Emery Hemingway d0af002b4a Validate that dict keys are unique during parse 2022-10-30 17:26:55 -05:00
Emery Hemingway 270e13b27b Custom unescaping of byte-strings 2022-10-30 17:26:55 -05:00
Emery Hemingway 11661d453c Replace concat with writeText
Write to a stream rather than concatentate a string.
2022-10-30 17:26:55 -05:00
Emery Hemingway 7e72c2a515 Parser: fix escaping in #"…" 2022-10-30 17:10:26 -05:00
Emery Hemingway 4ee41a7fce Parser: allow whitespace in hex and base64 2022-10-30 17:10:26 -05:00
Emery Hemingway b4756b13ae isRecord: add variant with a label 2022-10-27 15:29:45 -05:00
Emery Hemingway 7125eadd49 Use step rather than [] for dictionaries 2022-10-25 17:42:04 -05:00
Emery Hemingway 5c72729f23 xmlhooks: parse attributes
Parse attribute values to booleans and numbers. This isn't best
practices for handling XML (if there is such a thing) but it
reduces the internal representation and allows typed pattern
matching without further processing.
2022-10-25 12:18:31 -05:00
Emery Hemingway 62480318cc BufferedDecoder: feed by pointer 2022-10-23 23:39:37 -05:00
Emery Hemingway 5fe041fa45 New BufferedDecoder object 2022-10-22 18:40:24 -05:00
Emery Hemingway 85e67603ed Rewrite xmlhooks to match xml-infoset.prs 2022-10-20 14:19:24 -05:00
Emery Hemingway f92cb4d8ba Found a problem with C++ 2022-10-18 17:31:20 -05:00
Emery Hemingway 918d4d3e2e Fix encoding and decoding of embedded values 2022-10-16 15:32:09 -05:00
Emery Hemingway 5b6f673951 Convert Preserves sets to JSON arrays
A one way conversion but still useful.
2022-10-13 23:08:53 -05:00
Emery Hemingway 54ec2d439a Allocate new TableRefs when necessary 2022-10-13 23:05:37 -05:00
Emery Hemingway a97f1e8554 Fix schema includes 2022-09-04 13:15:52 -05:00
Emery Hemingway 8c0af37694 Use set[T] rather than HashSet[T] for enum sets 2022-08-30 11:45:22 -05:00
Emery Hemingway 895a8695d2 Use BiggestInt in generated code 2022-07-09 08:08:11 -05:00
Emery Hemingway cc0472da3d Add apply procedure 2022-06-25 16:19:42 -05:00
Emery Hemingway abb39e02a5 I'm using that, sometimes 2022-06-12 23:05:35 -05:00
Emery Hemingway 55da079955 Update upstream URLs 2022-06-12 23:05:15 -05:00
Emery Hemingway 5043d8595a Set type conversions 2022-05-18 13:57:40 -05:00
Emery Hemingway aaf5e7ce39 Remove old imports of parse module 2022-04-25 11:53:17 -05:00
Emery Hemingway ddc26f0c71 Add pragma accessors
This library requires a forked macros module, so export accessors
that would prevent a downstream library from having the same
problems with std/macros.
2022-04-25 11:33:37 -05:00