The general synopsis of the grep command line is
grep options pattern input_file_names
There can be zero or more options. pattern will only be seen as such (and not as an input_file_name) if it wasn't already specified within options (by using the ‘-e pattern’ or ‘-f file’ options). There can be zero or more input_file_names.