-
452fad3302
Replace old .ZZT world parser with
zztff crate
main
cmounce
2026-04-29 16:07:57 -07:00
-
d699340ec8
Update dependencies, fix up Cargo.toml
v0.1.0
cmounce
2025-07-21 00:35:31 -07:00
-
e8fa45fc3b
Add documentation
cmounce
2025-07-20 11:57:54 -07:00
-
84f35c8b44
Overhaul label sanitization logic
cmounce
2025-07-19 15:22:27 -07:00
-
85ba7b63c8
Add license, description
cmounce
2025-07-13 02:25:26 -07:00
-
f6df3222ab
Rename macro crate, start prepping for publish
cmounce
2025-07-13 01:12:18 -07:00
-
8817cd8e2e
Upgrade nom from 7.1 to 8.0
cmounce
2025-07-11 03:21:15 -07:00
-
3bddc3c85e
Implement new algorithm for local label processing
cmounce
2025-07-10 22:36:31 -07:00
-
d751aade99
Document purposes of functions in encoding.rs
cmounce
2025-07-10 22:13:34 -07:00
-
051e08fba9
Fix serialization for stats with non-ASCII code
cmounce
2025-07-07 11:30:52 -07:00
-
3afc112810
Fix parser bug: icase literals and non-ASCII input
cmounce
2025-07-07 10:34:13 -07:00
-
10307f3861
Rename project
cmounce
2025-07-06 21:39:11 -07:00
-
e560ce88b6
Remove Pest, update dependencies
cmounce
2025-07-06 14:17:49 -07:00
-
218700616c
Clean up CLI, add arguments and some validation
cmounce
2025-07-06 12:44:50 -07:00
-
3ff40241ee
Add more error messages for local/anonymous labels
cmounce
2025-07-05 23:49:57 -07:00
-
eee57848e0
Add tests for label-processing diagnostics
cmounce
2025-07-05 22:53:02 -07:00
-
2e5999ef1e
Add context lines to diagnostic messages
cmounce
2025-07-05 19:12:57 -07:00
-
9a245190d7
Shrink error Context and reduce cloning
cmounce
2025-07-05 17:07:47 -07:00
-
2b35fe30e9
Add errors for broken anonymous label references
cmounce
2025-07-04 16:32:59 -07:00
-
a86c4f9e4a
Add Context struct for locating compiler messages
cmounce
2025-07-03 20:46:21 -07:00
-
51efcdec18
Fix missing line/col info in warning message
cmounce
2025-06-29 01:47:19 -07:00
-
1deccaf9c8
Add first warning to compiler output
cmounce
2025-06-24 01:48:17 -07:00
-
c29361214a
Clean up main.rs, stdout, some compile warnings
cmounce
2025-06-22 15:03:59 -07:00
-
b65e188cb9
Flesh out support for namespaces
cmounce
2025-06-21 22:32:35 -07:00
-
84cec642a3
Use section numbers when resolving local labels
cmounce
2025-06-21 21:58:55 -07:00
-
34f808e042
Refactor Registry to take &str, not &LabelName
cmounce
2025-06-20 01:39:46 -07:00
-
71906cf4b8
Add support for local labels
cmounce
2025-06-19 18:59:50 -07:00
-
0f59dd668a
Finish adding anonymous labels, unit tests
cmounce
2025-06-17 23:49:35 -07:00
-
b5c817d64d
Partial implementation of anonymous labels
cmounce
2025-06-17 02:07:45 -07:00
-
73ca64e4e9
Add helper for generating anonymous labels
cmounce
2025-06-17 01:22:18 -07:00
-
0b2fc58fae
Refactor parse_stat_labels()
cmounce
2025-06-15 13:11:16 -07:00
-
68938b5e00
Wire together initial label sanitization pass
cmounce
2025-06-15 12:28:05 -07:00
-
30e81381ff
Write label sanitizer
cmounce
2025-06-14 15:15:35 -07:00
-
0f7616a5a9
Add ability to walk the capture group tree
cmounce
2025-06-14 13:09:52 -07:00
-
bdb5650904
Write initial code for parsing stats into chunks
cmounce
2025-06-13 21:55:21 -07:00
-
979eeccfe8
Completely remove legacy combinator-based parser
cmounce
2025-06-08 18:54:14 -07:00
-
6ea50ac3f0
Switch unit tests to new label parser
cmounce
2025-06-08 18:02:31 -07:00
-
c5df4e1ce0
Reimplement label parser using grammar! macro
cmounce
2025-06-07 12:41:19 -07:00
-
c3917a62b7
Fix codegen for ordered choice operator
cmounce
2025-06-07 12:41:19 -07:00
-
26a38742f8
Fix bug with literal_i() going beyond EOI
cmounce
2025-06-07 12:41:19 -07:00
-
ea0c5ff7ad
Hide low-level parser code in backend module
cmounce
2025-06-07 12:09:14 -07:00
-
75315499bc
Add capture groups to proc macro
cmounce
2025-06-07 00:24:34 -07:00
-
7940183c70
Port capture group implementation to ParseState
cmounce
2025-06-01 17:58:19 -07:00
-
96b6733dcb
Add @icase decorator
cmounce
2025-06-01 10:50:53 -07:00
-
4a065db1e6
Track icase with booleans, not separate enum vals
cmounce
2025-05-31 21:49:50 -07:00
-
ad6d8e182b
Add case-insensitive matching
cmounce
2025-05-30 00:17:24 -07:00
-
df99d78a64
Add special matchers, lookahead operators
cmounce
2025-05-28 00:13:03 -07:00
-
ee5451e2b5
Add support for compound groups to grammar! macro
cmounce
2025-05-26 23:54:21 -07:00
-
02a3e9b267
Add grammar! matching on character ranges
cmounce
2025-05-26 22:59:17 -07:00
-
0994054291
Clean up old code, add option/star/plus ops
cmounce
2025-05-26 19:59:31 -07:00
-
ff9d471e00
Clean up grammar! code generation
cmounce
2025-05-26 01:52:04 -07:00
-
2a935840fd
Add grammar! support for choice operator
cmounce
2025-05-26 00:18:21 -07:00
-
1e90a68ee8
Generate actual parsing code in grammar! macro
cmounce
2025-05-25 21:33:30 -07:00
-
63dc9790ed
Refactor Term to allow sequences
cmounce
2025-05-25 20:35:09 -07:00
-
2305e6453f
Hacking on grammar! proc macro
cmounce
2025-05-25 18:43:36 -07:00
-
6933ae47b4
Add basic rule definitions to grammar proc macro
cmounce
2025-05-25 02:21:45 -07:00
-
1d8c939400
Try generating named functions via proc macros
cmounce
2025-05-24 21:26:07 -07:00
-
59392ccad2
Playing with proc macros
cmounce
2025-05-23 22:12:24 -07:00
-
856f817dbe
Add parsing for label refs, shorthand sends
cmounce
2025-05-22 00:07:36 -07:00
-
773ee19158
WIP Progress on parsing labels
cmounce
2025-05-17 16:44:02 -07:00
-
cd8cc1dd57
Add parsing for conditions, directions, tile kinds
cmounce
2025-05-11 20:27:04 -07:00
-
d895bd27ab
WIP parsing sends
cmounce
2025-05-11 18:28:17 -07:00
-
b21fe8b5e3
Tighten label name parsing
cmounce
2025-05-11 02:10:00 -07:00
-
0c5bacc341
Add combinator NoCase
cmounce
2025-05-11 01:27:05 -07:00
-
b685e4e657
Add combinator Plus
cmounce
2025-05-11 01:04:39 -07:00
-
dec8213638
Implement nested capture groups, iterators
cmounce
2025-05-10 18:28:05 -07:00
-
c027089936
Clean up PEG parser code
cmounce
2025-05-10 17:51:16 -07:00
-
dbe4e8963e
Proof of concept parsing: print all labels
cmounce
2025-05-10 12:23:57 -07:00
-
6d33bd5838
Add a very basic capture group iterator
cmounce
2025-05-10 11:42:27 -07:00
-
4be8add5c0
Add basic capture groups
cmounce
2025-05-09 23:38:44 -07:00
-
661a9aa286
Revise trait Rule to return bool
cmounce
2025-05-09 23:16:48 -07:00
-
f3ab9679cc
Refactor parser tests to be more consistent
cmounce
2025-05-09 23:05:17 -07:00
-
b52da476f0
Flesh out grammar for parsing labels
cmounce
2025-05-09 21:40:45 -07:00
-
5d59f5b31f
Add some more PEG parser features
cmounce
2025-05-09 20:49:26 -07:00
-
0043078045
Add character ranges to PEG parser
cmounce
2025-05-08 00:07:37 -07:00
-
e2eebc62ba
Tear out old parser
cmounce
2025-05-06 08:24:36 -07:00
-
5be13dca3e
Add star, EOF combinators
cmounce
2025-05-04 22:05:32 -07:00
-
228188ffd0
Move string encoding/decoding into world parser
cmounce
2025-05-04 14:07:04 -07:00
-
e5d47a0f3c
Fix bug when parsing off-board stats
cmounce
2025-05-04 13:13:16 -07:00
-
71aa44f707
Start an alternative combinator-based parser
cmounce
2025-05-01 01:38:54 -07:00
-
b03cccb8dd
Partial work toward a PEG parser library
cmounce
2025-04-30 00:12:04 -07:00
-
58293ed625
Bump edition to 2024, cargo fmt
cmounce
2025-04-07 11:09:45 -07:00
-
622b7d0b3a
Update packages
cmounce
2025-04-07 11:08:19 -07:00
-
f84caf0dd3
Install Pest
cmounce
2024-12-31 15:41:43 -08:00
-
1a33c2320e
Add provisional binary target to Cargo.toml
cmounce
2024-06-19 13:44:02 -07:00
-
c1af3290d5
Implement a working %include macro
cmounce
2024-06-08 19:50:57 -07:00
-
0ac9ee4a3f
Add macro evaluator with %include implementation
cmounce
2024-06-03 10:41:11 -07:00
-
4730f11f31
Implement a basic parser, with snapshot testing
cmounce
2024-06-01 11:01:01 -07:00
-
fe21c1a792
Finish up scanner, add string-base error reporting
cmounce
2024-05-05 20:46:19 -07:00
-
669bcbfcb7
Start work on lexer for macro language
cmounce
2024-04-28 18:13:54 -07:00
-
4363fd04ac
Parse world header into individual fields
cmounce
2024-04-07 02:23:03 -07:00
-
9e2eb5a07b
Move parsing code to new file, convert more to nom
cmounce
2024-03-16 22:54:50 -07:00
-
7c31089eda
Extend serialization support to worlds
cmounce
2024-03-10 21:09:48 -07:00
-
2c9bb315ed
Add serialization support for boards
cmounce
2024-03-10 20:21:16 -07:00
-
2d9fce3f59
Remove last use of byteorder crate
cmounce
2024-03-09 23:29:51 -08:00
-
59221648ca
Expand Stat parsing to cover all fields
cmounce
2024-03-09 01:39:34 -08:00
-
d68986e977
Write start of ZZT preprocessor
cmounce
2024-03-07 01:21:54 -08:00