lexer regen and move to gen root