[parser] add type checking