Repository navigation
Prune affix template partials whose required slots cannot find their material, in order and at the word edges #575
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
base: master
Are you sure you want to change the base?
Changes from all commits
b5f80ff
d5addbc
534458d
be32041
a06be2b
d957913
File filter
Filter by extension
Conversations
Jump to
Diff view
Diff view
There are no files selected for viewing
| Original file line number | Diff line number | Diff line change |
|---|---|---|
|
|
@@ -88,6 +88,36 @@ public ITraceManager TraceManager | |
|
|
||
| public int DeletionReapplications { get; set; } | ||
|
|
||
| /// <summary> | ||
| /// Whether affix template walks drop partials in which a required slot can no longer unapply because | ||
| /// the material it inserts is absent. See <see cref="RequiredSlotMaterial"/>. | ||
| /// </summary> | ||
| internal RequiredSlotLookaheadMode RequiredSlotLookahead { get; set; } = RequiredSlotLookaheadMode.On; | ||
|
claude[bot] marked this conversation as resolved.
Resolved
|
||
|
|
||
| /// <summary> | ||
| /// Enable required-slot pruning during affix template analysis. Enabled by default. Set it before | ||
|
Contributor
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. FYI: F12. The public doc leaves out that tracing turns the prune off: with |
||
| /// parsing; changing it during a parse alters how much is pruned, not the analyses returned. | ||
| /// </summary> | ||
| public bool PruneRequiredSlots | ||
| { | ||
| get { return RequiredSlotLookahead != RequiredSlotLookaheadMode.Off; } | ||
| set { RequiredSlotLookahead = value ? RequiredSlotLookaheadMode.On : RequiredSlotLookaheadMode.Off; } | ||
| } | ||
|
|
||
| /// <summary> | ||
| /// Called in <see cref="RequiredSlotLookaheadMode.Shadow"/> with a kind and the template and slot it is about: | ||
| /// "fired" (the test is true for a required slot), "violated" (a rule of a fired slot then unapplied under | ||
| /// that partial) and "completed-under-fired" (the template walk completed with a fired slot on its path). | ||
| /// Any "violated" or "completed-under-fired" is a soundness failure. | ||
| /// </summary> | ||
| internal Action<string, AffixTemplate, int> RequiredSlotShadow { get; set; } | ||
|
|
||
| /// <summary> | ||
| /// Called after each required-slot check that unified, with the number of unifications it performed. | ||
| /// Null unless a diagnostic sets it; it may be called from several threads. | ||
| /// </summary> | ||
| internal Action<long> RequiredSlotCheckObserver { get; set; } | ||
|
claude[bot] marked this conversation as resolved.
Resolved
|
||
|
|
||
| public int MaxStemCount { get; set; } | ||
|
|
||
| /// <summary> | ||
|
|
||
Uh oh!
There was an error while loading. Please reload this page.