3.4 Line Terminators
Implementations next divide the sequence of Unicode input characters into lines by recognizing line terminators. This definition of lines determines the line numbers produced by a Java compiler or other system component. It also specifies the termination of the // form of a comment (§3.7).
LineTerminator: the ASCII LF character, also known as "newline" the ASCII CR character, also known as "return" the ASCII CR character followed by the ASCII LF character InputCharacter: UnicodeInputCharacter but not CR or LF
Lines are terminated by the ASCII characters CR , or LF , or CR LF . The two characters CR immediately followed by LF are counted as one line terminator, not two.
The result is a sequence of line terminators and input characters, which are the terminal symbols for the third step in the tokenization process.