Здравствуйте, cserg, Вы писали:
S>>Имхо, можно вместо IR использовать упрощенный C. Что мешает? C>Нет в C, тем более упрощенном, явной информации, которая нужна для оптимизации и генерации кода. Например, для каждой переменной нужно знать в каких местах программы она определяется и где используется, а для этого нужно сделать анализ потока управления и поиск псевдонимов и нужно сохранить их результаты в чем-то, из чего в конце концов получится IR.
Ну может можно какое-то подмножество C сделать, чтобы там переменные определялись только 1 раз. Оно бы было валидным с т.з. С-компилятора, удобным для прочтения человеком — и выполняло бы те же самые функции, которые выполняет IR.
Или кроме требования определять переменные единожды — еще что-то важное есть?