def join_lines(lines_enum):<EOL>
primary_line_number = None<EOL>new_line = []  <EOL>for line_number, line in lines_enum:<EOL><INDENT>if not line.endswith('<STR_LIT:\\>') or COMMENT_RE.match(line):<EOL><INDENT>if COMMENT_RE.match(line):<EOL><INDENT>line = '<STR_LIT:U+0020>' + line<EOL><DEDENT>if new_line:<EOL><INDENT>new_line.append(line)<EOL>yield primary_line_number, '<STR_LIT>'.join(new_line)<EOL>new_line = []<EOL><DEDENT>else:<EOL><INDENT>yield line_number, line<EOL><DEDENT><DEDENT>else:<EOL><INDENT>if not new_line:<EOL><INDENT>primary_line_number = line_number<EOL><DEDENT>new_line.append(line.strip('<STR_LIT:\\>'))<EOL><DEDENT><DEDENT>if new_line:<EOL><INDENT>yield primary_line_number, '<STR_LIT>'.join(new_line)<EOL><DEDENT>
Joins a line ending in '\' with the previous line (except when following
    comments).  The joined line takes on the index of the first line.