Range check on pattern match.
Simplify rule #30 pattern.
Get output file name from argv.