Лично я бы не катил ваш собственный анализатор (превращая ввод в токены) или лексер (проверяя входные токены для вашей языковой грамматики). Взгляните на ANTLR для разбора / лексирования - это отличный фреймворк и имеет полный исходный код, если вы хотите разобраться в этом.
Для выполнения кода, который вы проанализировали, я бы посмотрел на запуск простой виртуальной машины или, что еще лучше, взглянул бы на llvm , которая является попыткой с открытым исходным кодом (ish) стандартизировать байт виртуальной машины. форматируйте код и предоставляйте полезные функции, такие как JITing (превращение скомпилированного байта кода скрипта в сборку).
Я бы не отговаривал вас от более продвинутых опций, которые вы используете, таких как собственное выполнение машинного кода, но имейте в виду, что это очень специализированная область, и она становится действительно сложной, очень быстрой!
Эрлз указал, что мой ответ может показаться «не пытайтесь делать это самостоятельно. Перечитывая мой пост, это звучит немного так. Причина, по которой я упомянул ANTLR и LLVM, состоит в том, что они оба имеют кучу исходного кода и учебных пособий, поэтому я считаю, что это хороший справочный источник. Возьми это за основу и играй