upgrade lexer, try add func/sub syntax definition