use strscan in lexer