не могу понять, что делать в tcl eval_in_component - PullRequest
0 голосов
/ 25 марта 2020

Я не понимаю эту команду

eval_in_component [f1 -flag1 $var1] {
                set cell_obj [find_item -type cell -quiet $var]                
                set pin_obj [find_item -type pin "$var/$pin"]
            }

Что делать с eval_in_component?

Встроенная функция find_item? Я не могу найти что делать или его реализацию

1 Ответ

0 голосов
/ 25 марта 2020

Команды, о которых вы спрашиваете (find_item, et c.), Не являются частью Tcl. Команды, которые перечислены здесь .

Я углубился в одну из них (eval_in_component). Кажется, это команда, которая указывает c для некоторой библиотеки. К счастью, я нашел некоторую документацию (хотя вам нужно будет искать в ней) от «magi c of Google» (которую вы должны полностью попробовать сами). В частности, он эквивалентен этому в современном синтаксисе Tcl (за исключением сокрытия переменной save_component):

set saved_component [get_current_component]
set_current_component $theComponentNameYouSupply
try {
    eval $theScriptYouSupply
} finally {
    set_current_component $saved_component
}

Документация выглядит более скудной (похоже, она предшествует стандарту Tcl try команда), но принятие разумных догадок дает вышесказанное.

Точное значение get_current_component и set_current_component задается библиотекой c (имеет ли смысл понятие «текущий компонент» для вас?), но они будут похожи друг на друга. Шаблон в целом является общим; Я использую что-то вроде этого, например, для смены каталога на временное местоположение, в то время как выполняется конкретная команда без необходимости быть осторожным с последующим изменением.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...