Расчет административной нормальной формы

Нормальная административная форма - это промежуточное представление кода, подходящего для использования компиляторами, которое логически эквивалентно статическому одиночному назначению, но имеет некоторые преимущества, например, проверка того, находится ли программа в правильной форме SSA, является вопросом экзистенциальности относительно набора возможных путей через граф, тогда как проверка, находится ли программа в допустимом ANF, является просто вопросом локального синтаксиса.

Довольно просто сгенерировать ANF из строго функционального кода, но я заинтересован в его генерации из императивного кода, который содержит обновления переменных, циклы и т. Д.

Существуют опубликованные и довольно простые алгоритмы преобразования SSA в ANF. Однако создание SSA в первую очередь становится нетривиальным, если вы хотите сделать это быстро. Интуитивно кажется, что если вы хотите получить более простой и прозрачный формат, то будет более эффективно генерировать его напрямую, а не переходить в более непрозрачный формат.

Существует ли опубликованный алгоритм генерации ANF непосредственно из императивного кода?

0 ответов

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