md_line.pl -- Line-based parsing primitives.

Contains line-based parsing primitives.

 merge_lines(+Lines, -Codes) is det
Merges list of lines into a flat code list.
 indent// is semidet
Recognizes normal indent which is a tab or 4 spaces.
 non_empty_line(-Codes)// is semidet
Single non-empty line ending with newline or end-of-stream.
 discard_to_line_end// is det
Discards zero or more symbol codes untill the first line end or eos is reached.
 empty_lines// is det
List of consequtive empty lines. Consumes as many empty lines as possible.
 empty_line// is semidet
Recognizes a single empty line.
 lookahead(?Code)// is semidet
Looks ahead a single symbol code.
 string_limit(-Codes, +Limit)// is multi
Same as string//1 but with a length limit.
 inline_string(-Codes)// is multi
Takes as few symbol codes as possible up to line end.
 lookahead_ln_or_eos// is semidet
Looks ahead a line end or end-of-stream. Puts back \n when a line end is recognized.
 lookahead_ln// is semidet
Looks ahead a line end. Puts back \n when it is recognized.
 ln_or_eos// is semidet
Recognizes either a line end or eos.
 ln// is semidet
Recognizes line ending.