Factor out parameter list and line parsing, properly support positions and lengths in left denotation operators, clean up code a bit.