This repository is private.
All pages are served over SSL and all pushing and pulling is done over SSH.
No one may fork, clone, or view it unless they are added as a member.
Every repository with this icon (
) is private.
Every repository with this icon (
This repository is public.
Anyone may fork, clone, or view it.
Every repository with this icon (
) is public.
Every repository with this icon (
| name | age | message | |
|---|---|---|---|
| |
.gitignore | Mon Jul 06 13:31:19 -0700 2009 | |
| |
README | Tue Jul 07 06:25:27 -0700 2009 | |
| |
characterset.py | Mon Jul 06 20:53:10 -0700 2009 | |
| |
compiler.py | Wed Jul 15 09:08:39 -0700 2009 | |
| |
dfa.py | Mon Jul 06 12:43:48 -0700 2009 | |
| |
dot.py | Wed Jul 15 09:08:39 -0700 2009 | |
| |
fsm.py | Tue Jul 07 19:35:10 -0700 2009 | |
| |
nfa.py | Tue Jul 07 06:31:21 -0700 2009 | |
| |
performance.py | Wed Jul 15 09:08:46 -0700 2009 | |
| |
test.py | Wed Jul 15 13:36:45 -0700 2009 |
README
Implementation of a subset of fnmatch on llvm. This is just an exercise in implementing a pattern matching language JIT on LLVM, perhaps a stepping stone towards implementing a full regular expression engine. This code operates on 8-bit octets rather than unicode characters. It only understands the following expressions: - '?' matches any single character - '*' matches any zero or more characters - '[xyz]' matches any of 'x', 'y', or 'z' - '[!xyz]' matches anything except 'x', 'y', or 'z' - '[x-z]' matches anything in the range 'x' to 'z' inclusive - bracket expressions can be combined - '\x' matches the character 'x' literally (ie: escaping) - any other character matches literally The implementation is in Python using llvm-py, including some additions that I have made. I keep my llvm-py tree at:







