Commit Graph
100 Commits
Author SHA1 Message Date
sashakoshka fae702edfd generate: Add String functions, TypeHash function for types 2025-08-03 22:07:31 -04:00
sashakoshka c86f9b03f2 generated: Remove unneeded code 2025-08-03 21:00:24 -04:00
sashakoshka dcbfbe9141 design: Import issue from Tebitea (it is down) 2025-08-03 20:59:59 -04:00
sashakoshka 40444ee2f4 generate: Add TODOs about a big problem... 2025-07-25 21:01:48 -04:00
sashakoshka 59cc90166f generate: WIP test of nested arrays 2025-07-25 21:01:23 -04:00
sashakoshka f222fb02b7 generate: Gracefully discard unexpected data while decoding 2025-07-22 20:20:47 -04:00
sashakoshka 6ecc33a46b generate: Fix TestGenerateRun when testing numbers 2025-07-21 16:51:33 -04:00
sashakoshka 5d84636b55 tape: Add functions to encode and decode float16 2025-07-21 15:58:32 -04:00
sashakoshka f009a970cd generate: Fix another syntax error when reading floats 2025-07-21 15:00:57 -04:00
sashakoshka 8b63166ba1 generate: Test encoding floating point values 2025-07-21 14:57:34 -04:00
sashakoshka 3ef7de118b generate: Fix syntax error when reading floats 2025-07-21 14:56:58 -04:00
sashakoshka 51ed6aed9f generate: Fix TestGenerateRun so it snakes around User tables 2025-07-21 14:32:33 -04:00
sashakoshka 6017ac1fa3 generate: Encode SI properly 2025-07-21 14:11:40 -04:00
sashakoshka b8047585fb generate: Test integer encoding 2025-07-21 14:10:34 -04:00
sashakoshka ad3973dd9e generate: Test array encoding 2025-07-20 23:21:59 -04:00
sashakoshka 0f626b2e93 generate: Fix array encoding not writing length or item tag properly 2025-07-20 23:19:21 -04:00
sashakoshka 272e47224d generate: Make output of testGenerateRun easier to compare 2025-07-20 23:18:36 -04:00
sashakoshka 2c57423838 generate: Fix encoding of table length field 2025-07-20 10:26:29 -04:00
sashakoshka e2b9e809a8 generate: Fix TestGenerateRun 2025-07-20 10:25:53 -04:00
sashakoshka 7e8b272ef0 generate: And now for an actual use of testGenerateRun 2025-07-19 06:24:30 -04:00
sashakoshka a257902705 generate: Flush the buffer before trying to compare it 2025-07-17 14:47:23 -04:00
sashakoshka 4955f66ad6 generate: testEncode uses snakes now 2025-07-17 14:06:05 -04:00
sashakoshka f646207ab1 generate: Use newTemporarVar in more places 2025-07-17 11:28:53 -04:00
sashakoshka b50a199842 generate: Fix the testEncode function 2025-07-17 11:19:57 -04:00
sashakoshka b826cbf83e generate: The test now compiles 2025-07-17 10:26:31 -04:00
sashakoshka b73f9fa7ce generate: Implement decoding (untested) 2025-07-16 22:57:12 -04:00
sashakoshka d3d7b07a74 generate: Emit stub for message decoding function 2025-07-12 20:01:42 -04:00
sashakoshka daa6a44179 generate: Generate Method method 2025-07-12 19:37:58 -04:00
sashakoshka af7669c783 generate: Fix more nonsense surrounding named types 2025-07-11 20:08:43 -04:00
sashakoshka 2305814e10 tape: Add StringTag 2025-07-10 21:56:38 -04:00
sashakoshka 5a3296a842 generate: Parse primitive types into actual types rather than named types 2025-07-10 21:53:21 -04:00
sashakoshka 3bf365a7a9 generate: Fix more semantic errors in the generated code 2025-07-08 21:50:29 -04:00
sashakoshka e48be0bc15 generate: Fix more semantic issues with generated code 2025-07-08 21:32:34 -04:00
sashakoshka a210f6112c generate: Fix more semantic issues in generated code 2025-07-08 20:35:11 -04:00
sashakoshka 9ff317d443 generate: Change comment so it gets detected by the regex for generated files 2025-07-08 15:44:24 -04:00
sashakoshka cdba8ee601 generate: Fix a bunch of semantic issues with the generated code 2025-07-08 14:52:05 -04:00
sashakoshka e75d7534c1 generate: Fix syntax errors in generated code 2025-07-08 12:01:21 -04:00
sashakoshka 8a0ae9b03f generate: Update tests to account for new changes 2025-07-08 11:39:37 -04:00
sashakoshka 9bc90b0e17 generate: What the fuck is a teibibyte 2025-07-08 11:39:18 -04:00
sashakoshka c70c23d137 generate: Fix testGenerateRun so that it actually works 2025-07-08 11:38:00 -04:00
sashakoshka a9d5bb83a2 generate: Add framework for testing output of generated code 2025-07-07 16:00:25 -04:00
sashakoshka f1df5fa84d generate: Add stub return to generateDecodeValue so it compiles 2025-07-07 15:13:18 -04:00
sashakoshka 76a8f9444a tape: Ignore type names when encoding primitives using reflection 2025-07-05 22:10:55 -04:00
sashakoshka 0f20c4cdab tape: Fix TestEncodeDecodeAny using int instead of uint32 2025-07-05 19:14:36 -04:00
sashakoshka 1b82f2cd83 tape: Use tu.Describe() in tests 2025-07-05 18:47:57 -04:00
sashakoshka 6ba70ed046 internal/testutil: Create function to closely examine any data 2025-07-05 18:47:08 -04:00
sashakoshka c118a4d7ef tape: Change name of test to TestEncodeDecodeAnyTable 2025-07-04 14:30:23 -04:00
sashakoshka 877698d402 tape: Remove print statements 2025-07-04 14:18:56 -04:00
sashakoshka 5989a82bee tape: Fix negative slice length 2025-07-04 14:18:30 -04:00
sashakoshka c8a2f03ca1 tape: Fix peekSlice not using the correct tag 2025-07-04 12:22:49 -04:00
sashakoshka 07fc77c83e tape: WIP 2025-07-02 06:25:24 -04:00
sashakoshka 2138d47f07 tape: Flush writer after encoding for testing 2025-06-29 13:22:46 -04:00
sashakoshka e9633770ad internal/testutil: Formatting fix 2025-06-29 13:22:21 -04:00
sashakoshka dcf923b1f3 internal/testutil: Snake.String and HexBytes return "EMPTY" when input is empty 2025-06-29 11:06:58 -04:00
sashakoshka 8f8cd91b5d tape: Fix usage of Encoder/Decoder in dynamic tests 2025-06-29 10:30:32 -04:00
sashakoshka 81ac10508b tape: Change how slice skeletons are generated, support nested OTAs 2025-06-29 10:27:40 -04:00
sashakoshka 4930215166 tape: Make decoder inherit bufio.Writer 2025-06-28 11:24:32 -04:00
sashakoshka e1f58a194a tape: In progress testing of dynamic encoding/decoding 2025-06-28 06:24:44 -04:00
sashakoshka 37eccc91c0 tape: Progress on dynamically decoding OTAs 2025-06-28 06:23:51 -04:00
sashakoshka 08fe3d45dd tape: Encoder inherits bufio.Writer, need to do same for decoder 2025-06-28 06:23:18 -04:00
sashakoshka 3eb826735b tape: Send reflect values where possible instead of pointers 2025-06-27 19:05:17 -04:00
sashakoshka 2a4e88d949 tape: Fix size decoding math 2025-06-27 17:04:20 -04:00
sashakoshka aa718cfe9f tape: DecodeAny only returns an error when there is one 2025-06-27 14:03:49 -04:00
sashakoshka b174015319 tape: Fix KTV decoding not recognizing the any type 2025-06-27 14:02:38 -04:00
sashakoshka e16fec3a81 tape: Fixes to dynamic encoding 2025-06-24 16:08:35 -04:00
sashakoshka 712b4f521c internal/testutil: Fix Snake giving false positives for long data 2025-06-24 15:00:20 -04:00
sashakoshka 604faf0995 tape: Fix comment 2025-06-24 14:43:03 -04:00
sashakoshka 9932abd6c4 tape: Implement dynamic decoding (untested) 2025-06-24 14:39:16 -04:00
sashakoshka 1bc0788ff2 tape: Fix Encoder.WriteUintN not using the value AT ALL! 2025-06-24 14:38:01 -04:00
sashakoshka 477e56d359 tape: Add String method to Tag 2025-06-24 14:37:45 -04:00
sashakoshka e3487d26a1 internal/testutil: Add test utility package 2025-06-24 14:37:06 -04:00
sashakoshka 89153dd7bd tape: Add Tag.WithoutCN for easier comparison 2025-06-21 19:27:58 -04:00
sashakoshka 65e8d51590 tape: Remove GBEU 2025-06-21 19:27:31 -04:00
sashakoshka 7b8240cec6 tape: Add tag functions to the encoder 2025-06-21 19:26:15 -04:00
sashakoshka 663cab6b77 tape: Add float functions to the encoder 2025-06-21 18:33:25 -04:00
sashakoshka 376a3f1b46 generate: Use tape.EncodeAny for encoding undefined tables 2025-06-20 18:41:11 -04:00
sashakoshka c4407d9759 tape: Implement encoding for "any" values 2025-06-20 18:39:16 -04:00
sashakoshka 285e83d995 Merge codec and tape packages 2025-06-20 15:55:37 -04:00
sashakoshka ce503c4689 Big nasty commit to add code generation for encoding 2025-06-20 15:05:58 -04:00
sashakoshka a1f297e5b5 generate: Remove commented out import 2025-06-08 06:01:28 -04:00
sashakoshka 272a4da3c2 Remove markdown, add goparse from go.modo 2025-06-07 22:39:12 -04:00
sashakoshka 6bc98b3f77 generate: Add PDL language structures 2025-06-07 22:38:20 -04:00
sashakoshka 8ece6436b8 generate: Add PDL parser 2025-06-07 22:38:02 -04:00
sashakoshka 127aa23a61 generate: Add PDL lexer 2025-06-05 22:06:22 -04:00
sashakoshka bb5fc89cc5 design: Remove requirement for magic bytes in PDL file 2025-06-05 20:28:23 -04:00
sashakoshka 0ed55bcbc2 design: Rename pdl.md to pdl-language.md 2025-06-04 13:02:55 -04:00
sashakoshka ee94e87a6a design: EBNF correction 2025-06-04 13:01:51 -04:00
sashakoshka 64eea2b5fa design: Separate PDL language and compiler documents 2025-06-04 13:01:34 -04:00
sashakoshka 44b174c161 design: Flesh out PDL document 2025-06-04 12:46:20 -04:00
sashakoshka ec965caa27 codec: Add Encodable, Decodable interfaces 2025-06-04 12:20:04 -04:00
sashakoshka 1f62f6d973 design: PDL Idents should always start with capitals 2025-06-04 10:40:14 -04:00
sashakoshka 385c5a5972 design: Markdown fixes lol 2025-06-04 10:38:42 -04:00
sashakoshka d67a4fb9f2 generate: Clean slate 2025-06-04 10:37:03 -04:00
sashakoshka b261aa32f1 design: Initial PDL design 2025-06-04 10:36:01 -04:00
sashakoshka b85f3e7866 tape: Clean slate 2025-06-01 23:06:28 -04:00
sashakoshka 38132dc58c design: Add note about TAPE root values 2025-06-01 23:04:24 -04:00
sashakoshka 99392d50fc design: Remove description of NIL value 2025-05-31 06:18:03 -04:00
sashakoshka c4a985f622 design: New TAPE design 2025-05-30 21:34:31 -04:00
sashakoshka 58514f6afe codec: Add missing WriteByte function 2025-05-30 07:08:43 -04:00
sashakoshka 83fa77ba13 codec: Add codec package to handle encoding and decoding ints, etc 2025-05-30 07:05:55 -04:00