Операционные системы. Теория и практика. Замятин А.В. - 203 стр.

UptoLike

Составители: 

203
}
}
}
Обработка команд. На стадии обработки команд решается вопрос
о том, следует ли выполнять описанные в правиле команды или нет.
Считается, что нужно выполнять команды в таких случаях, как:
цель является именем действия (абстрактной целью);
цель является именем файла и этого файла не существует;
какая-либо из зависимостей является абстрактной целью;
цель является именем файла и какая-либо из зависимостей, яв-
ляющихся именем файла, имеет более позднее время модификации, чем
цель.
В противном случае (т. е. ни одно из вышеприведенных условий не
выполняется) описанные в правиле команды не выполняются. Алгоритм
принятия решения о выполнении команд схематично можно предста-
вить так:
НужноВыполнятьКоманды (Правило)
{
если Правило.Цель.ЯвляетсяАбстрактной ()
return true
// цель является именем файла
если ФайлНеСуществует (Правило.Цель)
return true
цикл от i=1 до Правило.Число_зависимостей
{
если Правило.Зависимость[ i ].ЯвляетсяАбстрактной ()
return true
иначе
// зависимость является именем файла
{
если ВремяМодификации(Правило.Зависимость[ i ]) >
ВремяМодификации (Правило.Цель)
return true
}