Re:Explainshell – match command-line arguments to their help...
by DEinspanjer on Thursday August 29, 2013 @03:07PM
(#6297891)
I'm a pretty fair hand with regexes, if you would like any assistance, please feel free to drop me a line.
[ Parent
| on HN ]
Re:Explainshell – match command-line arguments to their help...
by idank on Thursday August 29, 2013 @03:37PM
(#6298113)
The regex is already getting out of hand ;) https://gist.github.com/idank/6382427
At some point I wanted to convert it to a DFA because I thought it will give me more control and flexibility and be more maintainable over time. The thing to look out for is not make it too permissive so it starts catching things that aren't really options.
Re:Explainshell – match command-line arguments to their help...
by fudged71 on Thursday August 29, 2013 @05:17PM
(#6298676)
It's funny that a similar tool to your service can be used to build it! http://www.debuggex.com/
Re:Explainshell – match command-line arguments to their help...
by mtdewcmu on Thursday August 29, 2013 @09:20PM
(#6299691)
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).
Re:Explainshell – match command-line arguments to their help...
by JelteF on Friday August 30, 2013 @06:40AM
(#6301046)
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-...
Re:Explainshell – match command-line arguments to their help...
by mtdewcmu on Friday August 30, 2013 @03:55PM
(#6303839)
True. Perl-style regexes have grown capabilities far beyond regexes in formal language theory. Note that I was referring to DFAs.
Re:Explainshell – match command-line arguments to their help...
by idank on Friday August 30, 2013 @04:18AM
(#6300743)
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).
Re:Explainshell – match command-line arguments to their help...
by mtdewcmu on Friday August 30, 2013 @04:11PM
(#6303921)
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.