Расчет административной нормальной формы - PullRequest
0 голосов
/ 26 апреля 2018

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

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

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

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

...