Python: преобразовать обычный текст в исполняемый машинный код

Мне нужно решить задачу, связанную с созданием DSL. Во-первых, что мне делать, чтобы перевести текст в машинный код. Например:

text: 'If salary more than 5000 do op1'

следует перевести на ..

if salary > 5000:
    op1

Есть ли способ сделать это? Может быть, это другие языки

Почему в Python есть оператор "pass"?
Почему в Python есть оператор "pass"?
Оператор pass в Python - это простая концепция, которую могут быстро освоить даже новички без опыта программирования.
Некоторые методы, о которых вы не знали, что они существуют в Python
Некоторые методы, о которых вы не знали, что они существуют в Python
Python - самый известный и самый простой в изучении язык в наши дни. Имея широкий спектр применения в области машинного обучения, Data Science,...
Основы Python Часть I
Основы Python Часть I
Вы когда-нибудь задумывались, почему в программах на Python вы видите приведенный ниже код?
LeetCode - 1579. Удаление максимального числа ребер для сохранения полной проходимости графа
LeetCode - 1579. Удаление максимального числа ребер для сохранения полной проходимости графа
Алиса и Боб имеют неориентированный граф из n узлов и трех типов ребер:
Оптимизация кода с помощью тернарного оператора Python
Оптимизация кода с помощью тернарного оператора Python
И последнее, что мы хотели бы показать вам, прежде чем двигаться дальше, это
Советы по эффективной веб-разработке с помощью Python
Советы по эффективной веб-разработке с помощью Python
Как веб-разработчик, Python может стать мощным инструментом для создания эффективных и масштабируемых веб-приложений.
1
0
46
1

Ответы 1

вам нужен компилятор. Наиболее популярными конструкторами компиляторов являются Yacc и Flex, использующие BISON GNU.

Yacc: Yacc вики и Документы BISON GNU

Но прежде чем пройти через это, вам нужно знать о контекстно-свободных грамматиках.

Грамматика без контекста

вы можете анализировать язык только в том случае, если он детерминирован, так как есть одно правило для анализа этого предложения

Другие вопросы по теме