Это, безусловно, зависит от сложности грамматики вашего языка. Простая грамматика означает, что есть легкая реализация, и вы можете просто сделать это самостоятельно.
Взгляните, возможно, на худший из возможных примеров: C ++ :) (Кто-нибудь знает другой язык, кроме естественных, которые сложнее правильно анализировать?) Даже с такими инструментами, как Antlr, довольно сложно получить это правильно, хотя это управляемо. При этом, с другой стороны, даже несмотря на то, что это намного сложнее, кажется, что некоторые из лучших синтаксических анализаторов C ++, например, GCC и LLVM, также в основном рукописные.
Если вам не нужно слишком много гибкости и ваш язык не слишком тривиален, вы наверняка сэкономите некоторую работу / время, используя Antlr.