O'Reilly logo

TypeScript: Modern JavaScript Development by Ivo Gabe de Wolff, Vilic Vane, Remo H. Jansen

Stay ahead with the world's most comprehensive technology and business learning platform.

With Safari, you learn the way you learn best. Get unlimited access to videos, live online training, learning paths, books, tutorials, and more.

Start Free Trial

No credit card required

Parsing an expression

A parser can convert a string to some data type. The first guess of the type of a parser would be:

type Parser<T> = (source: string) => T; 

Since we will also use a parser to parse a part of the source. For instance, when parsing a factorial, we first parse the operand (which hopefully has one character remaining, the exclamation mark) and then parse the exclamation mark. Thus, a parser should return the resulting data and the remaining source:

type Parser<T> = (source: string) => [T, string]; 

A constant (such as 5.2) and a variable (5:2) both start with a number. Because of that, a parser should return an array with all options:

type Parser<T> = (source: string) => [T, string][]; 

To demonstrate how this works, imagine that there ...

With Safari, you learn the way you learn best. Get unlimited access to videos, live online training, learning paths, books, interactive tutorials, and more.

Start Free Trial

No credit card required