Parsing combinators for javascript