Форум вопросов и ответов

Форум вопросов и ответов (https://www.otvetnemail.ru/)
-   Продолжение старого архива (https://www.otvetnemail.ru/prodolzhenie-starogo-arhiva-804/)
-   -   Построение интерпретаторов, область видимости (https://www.otvetnemail.ru/prodolzhenie-starogo-arhiva-804/postroenie-interpretatorov-oblast-vidimosti-368721/)

Guest 01.10.2011 04:58

Построение интерпретаторов, область видимости
 
Никто не знает как правильно вычислять область видимости переменных внутри программы.Например, дан исходный код:Код:integer a = 0;interger func1 ()begin b = 1;end;integer func2 ()beginend;begin g = 2;end.Как реализовать проверку области видимости?Если делать это во время интерпретации, увеличивая с каждым блоком текущий уровень на один, то глобальная переменная a не будет видна из функции func1, т.к. уровени будут отличаться. В случае, когда уровни расставляются при семантическом анализе переменная b будет видная из функции func2, которая может следовать за func1, т.к. они будут находится на одном уровне. Можно использовать смешанный метод, но я пока не представляю как.В красном драконе так сразу не нашел, может кто совет даст, как это делать?


Часовой пояс GMT, время: 19:59.


© www.otvetnemail.ru - Форум вопросов и ответов.