first tested of LexerSource abstraction