11 ms·
The occasional tool, like find, is beyond the capabilities of a DFA, because it's based on a context free grammar (e.g., it counts parentheses).
by mtdewcmu 13y ago
The occasional tool, like find, is beyond the capabilities of a DFA, because it's based on a context free grammar (e.g., it counts parentheses).
- idank 13y agoThis regex is the one I used to extract options from man pages, not to parse the command line (which is simply a wrapper around Python's shlex).
- mtdewcmu 13y agoI see. I started doing almost the exact same thing at one time. My goal was to create autocomplete rules. I think I used the output from the tool's --help or -? rather than manpages, and I would have been using awk and sed, since I never learned Python. Bash autocomplete specifications are messy, but you can sidestep a lot of the mess. You're allowed to run an arbitrary command to generate the completion list. I was envisioning some kind of standard option grammar that the autocomplete program would interpret for a given tool. The grammar would be partly generated automatically, but would likely need hand-tuning.
- JelteF 13y agoTrue for official regular expressions, but not for the ones used in most programming languages. http://nikic.github.io/2012/06/15/The-true-power-of-regular-expressions.html http://nikic.github.io/2012/06/15/The-true-power-of-regular-...
- mtdewcmu 13y agoTrue. Perl-style regexes have grown capabilities far beyond regexes in formal language theory. Note that I was referring to DFAs.