Separe lexer and token from NFABuilder
Some update, test for lexer.
new class NPIConvertor