Для того, чтобы написать минимальный язык программирования, вам придётся писать парсер. Вы должны решить заранее, будут ли в вашем языке программирования вложенные структуры, например, будет ли while
, в который может быть вложена произвольная команда или набор команд.
Если ваш язык простой, вы можете разбирать его как угодно — вручную, регулярками, как вам нравится.
Но если вдруг ваш язык рекурсивный — забудьте все эти игрушки, вам придётся писать настоящий, честный парсер. Это не получится слёту, просто так: вам придётся читать книги.
Для написания простого recursive descent-парсера (это парсер языка типа Паскаля) стоит почитать Н. Вирта «Алгоритмы + структуры данных = программы».
Если у вас ещё более сложная грамматика (что вряд ли), вам придётся засесть за классическую «книгу с драконом». Учтите, что это сделает вас специалистом по парсерам, что, возможно, не так уж плохо для будущей специальности.
Это, кстати, не вся работа: кроме front-end'а (то есть парсера), вам придётся написать и back-end (генератор машинных кодов). Я бы посоветовал выбрать один из существующих бинарных форматов, и воспользоваться стандартным back-end'ом (например, Clang или .NET CIL). Для этого, конечно, вам придётся быть бинарно совместимыми с одной из существующих платформ. А если вы уж бинарно совместимы, почему тогда не взять связку Pure C/gcc?