parser: can parse program from strings

Signed-off-by: Jean Privat <jean@pryen.org>
parser: specialize error tokens

Signed-off-by: Jean Privat <jean@pryen.org>