Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
New ore filter implementation (#1561)
* OreGlob prototype * Apply manual inversion for !(ore) syntax * Fix ebnf * Remove OreEvaluator interface, finish OreGlobInterpreter javadoc * Works Permit empty input as valid oreglob expression Some node optimizations Fix 'n or more' counting one more N on some scenario Tests Rename NotNode to GroupNode, make it respect inverted flag * Test case for empty input, group negation, impossible, any char, inverted any char, any char or more & inverted any char or more; fix some tokens getting included in literals * !() parsing & test * Inline token field and get rid of Token class for more cursedness * Fix groups advancing token twice, slight style change * Insert prefix like 'or' 'and' to improve readability * Crude implementation of branch elimination * Make OreGlob abstract, structural equality test cases * Modify NodeVisitor to handle complete descriptions separately * Repackage * make getIndividualNodeMatchDescription abstract * Optimization case for consecutive inverted string matches * some compilation warnings, treat empty expression as impossible match, encapsulate inverted/next field * logical inversion warning/optimization test * Report inversion chains as well as nested inversions * Correct nested inversion warning condition * error visit fix etc * hardcode oreglob to only match char below 0xFFFF, docs update * MASSIVE COVER-UP * Hide node constructors, make BranchType an inner class of BranchNode * Update EBNF * Update EBNF * Always return no match glob if there's compilation error * Integrate oreglob into actual ore filter * small adjustments & docs * change some terms - 'inversion' -> 'not'/'negation'; Turns out 'logical inversion' means completely different thing oops - 'nothing' -> 'empty' - 'something' -> 'nonempty' - 'impossible' -> 'nothing' * Minor docs edit * Minor docs edit 2 * Correct XNOR visualization * Additional term change * Compilation flags - using $ without providing any compilation flags produces error - consecutive compilation flag blocks at the beginning correctly displays "compilation flags in middle of expression" error - fixed $ not getting formatted if the compilation flag is terminated with EOF * update lang * Rename CompileStatusWidget * Divide OreFilterTestSlot implementation for future tutorial app (tm) * Remove unnecessary package specification * Correct highlight rule for compilation flags, remove loop labels in favor of cringe double breakers * Comment getCursorPosFromMouse bit
- Loading branch information