Транскомпиляция на другой язык [закрыто]

Каковы типичные способы, которыми код может быть транскомпилирован? В настоящее время я пишу простой язык программирования, и способ его обработки является рекурсивным. Список узлов зациклен, и, скажем, текущий узел является переменным, он вызоветemit_variable_node функция, которая буквально добавит некоторый код в строку, например:

Следующий код psuedo-ish, я пишу свой проект на C и компилирую в C.

char *file_contents;

void emit_variable_node(VariableNode *var) {
    // I know += doesn't work on strings, just pretend it does.
    file_contents += var.getType();
    file_contents += " "; // a space
    file_contents += var.getName();
    // etc
}

Я также предполагаю, что код, который мы дали, был семантически проанализирован и является правильным. Затем строка file_contents сохраняется во временном файле, который удаляется после компиляции Си-компилятором.

Это плохая практика или есть лучшие, более чистые способы сделать это?

Ответы на вопрос(1)

Ваш ответ на вопрос