lexing/interpreting javascript