Вход на сайт
Автоматическое распознавание циклов в коде
773 просмотров
Перейти к просмотру всей ветки
в ответ Poiser 17.11.11 19:20
отличить например if от while не совсем просто.
------
Легко. Просто нарисуй диаграмку переходов для каждого цикла. Там их не много.
И смотри что подходит под минимальный вариант.
Ах, да... в цикле - всегда есть переход на более ранний код. У ИФа его не будет.
меня интересуют методы определения области видимости переменных
------
Никак. Этой информации нет (нет смысла ее там иметь и она не всегда она соответствует написанному) в коде. Только зная применяемую технику трансляции можно пытаться что-то найти. Но даже при этом не всегда можно выяснить нюансы различия.
автоматически распараллеливать найденные циклы
------
Не забудь, что циклы это не только do-while-for, но if+goto (c ограничениями) и foreach с итераторами...
------
Легко. Просто нарисуй диаграмку переходов для каждого цикла. Там их не много.
И смотри что подходит под минимальный вариант.
Ах, да... в цикле - всегда есть переход на более ранний код. У ИФа его не будет.
меня интересуют методы определения области видимости переменных
------
Никак. Этой информации нет (нет смысла ее там иметь и она не всегда она соответствует написанному) в коде. Только зная применяемую технику трансляции можно пытаться что-то найти. Но даже при этом не всегда можно выяснить нюансы различия.
автоматически распараллеливать найденные циклы
------
Не забудь, что циклы это не только do-while-for, но if+goto (c ограничениями) и foreach с итераторами...