Написание хорошего ли, плохого ли интерпретатора по времени в основном зависит от опыта разработчика, и сложности исходного языка. Причем оно может быть сильно меньше двух лет, да и в общем случае скорее и будет меньше.
Априори считаем что нужен интерпретатор общего назначения, чтобы на нем любую программу можно было написать. Откуда и объем сложности. Нужно поддерживать не только числа и циклы. Но и строки и указатели и структуры с массивами. И числа с плавающей точкой.