Hacker Newsnew | past | comments | ask | show | jobs | submitlogin

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).


True 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-...


True. Perl-style regexes have grown capabilities far beyond regexes in formal language theory. Note that I was referring to DFAs.


This 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).


I 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.




Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: