Some fields of a web log can contain any number of spaces, which makes it unsound to split up a line into fields with "cut". Write a Lex program which will read web logs from stdin and write to stdout out a version of the log with tab characters separating the fields by. Spaces within fields must be preserved. You may assume that every field in the input that contains spaces is enclosed in double quotes, except for the timestamp, which is enclosed in square brackets. Also, no field begins or ends with a space but may contain embedded double quotes preceded by backslashes.