blob: f975259481a17fdb713375dc25e69986786843e1 (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
|
DONE(6/3/18) 10/11/17 Ben Culkin :Determinism
Add a way to get the grammar to pick rules in a deterministic fashion,
so as to be able to iterate all of the rules.
- Specify the same Random instance to the state
@TODO 10/11/17 Ben Culkin :ExportSanity
Figure out a way to organize exports instead of just sticking them all
into the global namespace. Maybe use the @ symbol for 'foreign rule
references' (FRRs)
ADDENDA: 10/26/17
We now have the '^<rule>' syntax to avoid shadowing issues, but this
doesn't avoid the issue with duplicate exports.
@TODO 10/23/17 Ben Culkin :Casing
Provide some way to convert rules into different cases.
@TODO 10/23/17 Ben Culkin :Spacing
Find a saner way to do spacing. + rules work well for some things, but
what is needed is some way to do it only one level deep. Possibly some
kind of pragma to convert a rule to a single-level spacer?
ADDENDA: 10/24/17
We now have a partial solution in 'despace-rule'. However, this doesn't
quite work in some cases. Why is that?
@TODO 10/23/17 Ben Culkin :Pluralizing
Add some way to say to pluralize the contents of a rule
@TODO 10/23/17 Ben Culkin :Extensions
Add some soft of pragmas to allow the loading of extensions that provide
custom rules/case types/pragmas and things like that
@TODO 10/30/17 Ben Culkin :RegexPragma
Add a pragma that applies a regex substitution to the generated version
of a rule.
@TODO 4/25/18 Ben Culkin :Debugging
Add a way to print out the rules as a tree format, so as to perform
better debugging of rules.
Once this has been done, consider doing a CLI interface that allows
manipulating and using grammars.
@TODO 5/10/18 Ben Culkin :Despace
Add a generalized form of despace-rule that allows inserting arbitray
text between rule bits. Maybe call it 'intersperse-rule'?
@TODO 5/10/18 Ben Culkin :RuleInclusion
Add some way to sort of 'import' a rules body into another rule so as to
not throw off probability by splitting.
@TODO 6/3/18 Ben Culkin :DieRandom
Add a way to use dice from dicelang (probably the rewrite, once that has
a string parser) to create random numbers
@TODO 9/22/2019 Ben Culkin :ErrorHandling
Do a wholesale refactoring away from exceptions to a more C-style way of
handling things.
This will probably entail the definition of some kind of error code type
that can be conveniently returned and used.
@TODO 7/8/2020 Ben Culkin :RecurLimit
Add some easy way to say that we only want to recur into a given rule once
in this context (could some sort of use of exhaustive rule vars. do this?
maybe. it's been a while since last I looked at the details of how this
project worked; and I doubt I left enough comments/other documentation)
@TODO 1/31/2024 Ben Culkin :PunctRef
Fix the issue that seems to've cropped up when mixing punctuation w/
rule-refs
|