Manual:Line-Aware Parsing and the Offside Rule:Line Aware Alphabet
LEPL-3.1 だと入っていなかったので、LEPL-3.3.3 に
まんま
>>> from lepl import * >>> start = SOL() & Space()[:, ...] >>> words = Word()[:,~Space()[:]] > list >>> end = EOL() >>> line = start & words & end >>> parser = line.string_parser(LineAwareConfiguration()) >>> parser(' abc def') [' ', ['abc', 'def']] >>> parser('\tabc def') ['\t', ['abc', 'def']] >>> parser("\tabc def") ['\t', ['abc', 'def']]
まんま
>>> from lepl import * >>> start = DfaRegexp('(*SOL) *') >>> words = Word()[:,~Space()[:]] > list >>> end = DfaRegexp('(*EOL)') >>> line = start & words & end >>> parser = line.string_parser(LineAwareConfiguration()) >>> parser(' abc def') [' ', ['abc', 'def'], '']