Parabix Road Map
- What is the future of Parabix compiler technology?
- What are the issues for completion of icgrep?
icgrep as a Parabix Showcase
- Demonstration that parallel techniques can outperform sequential techniques.
- Demonstration that search programs compiled from declarative specifications can outperform the best hand-written sequential programs.
- Tool to allow exploration of Parabix algorithms
- ShowREs
- ShowPablo
- ShowIR
- ShowASM
- DumpTrace
- TraceCounts
- Full Unicode support meeting Unicode Level 2 requirements of Unicode Technical Standard 18.
- Suitable as a replacement for grep (or ripgrep, ag, ...) for (almost) all applications.
icgrep Gap Analysis
- Colorized output
- Need to find matches within lines
- icgrep algorithm finds end of match only
- run RE in reverse through reversed lines to find start
- Full lookahead assertions
- optimize away some cases by RE transformation
- general approach: run assertion in reverse through reversed input
- Context lines (-A, -B, -C)
- ContextGroup kernel
- Byte offset printing (-b)
- Recursive path filtering
- include/exclude support
- .gitignore, .svn, others
- Unicode level 2
- Full Unicode caseless matching
- Canonical and compatibility equivalent matching
- Backreferences
- Implement the known fast cases using parallel methods
- Reject backreferences that aren't supported?
- Generalized backreference kernel after initial scan
- Performance
- Further accelerate the simple cases using multiple kernels/multiple cores
- Extend the log2 bounded repetition for more cases
- Extended star normal form,
(A?{B{0,7}c*D{0,1000})* => [ABcD]*
- Extend MatchStar for all cases handled by log2 bounded repetition
- Local subexpression optimization
- Better RE factoring for multiple regular expressions
Parabix Framework Development
- Individual Kernel development
- Consolidate deletion/PEXT kernels
- PDEP kernel review and implementation
- Gather kernels
- Sequential scan language/compilation
- Length-sorted symbol resolution
- Unix pipe notation support
- Auto optimizations
Parabix Application Development
- Transducers
- CSV to JSON
- grammar-based transducers
Updated Wed March 28 2018, 09:14 by cameron.