Cтраница 4
Мы решили воспроизвести подход, принятый инженерами. Инженеры исходят из совокупности спецификаций, которым должна удовлетворять схема, и множества возможных компонент с известными характеристиками, которые разрешено использовать для построения. Затем они часто разбивают исходную задачу на более простые и легче реализуемые подзадачи. Итак, необходимо вначале получить спецификации для этих подсхем, а затем, используя имеющиеся компоненты, собрать из подсхем исходную схему. [46]
Однако для ускорения процесса трансляции желательно специфицировать все формальные параметры. Если же в процедуре какому-либо формальному параметру по содержанию могут соответствовать фактические параметры разных классов, то такие формальные параметры не должны включаться в совокупность спецификаций. Необходимо иметь в виду, что в совокупности спецификаций каждый формальный параметр может встречаться не более одного раза. [47]
Совокупность спецификаций внешне напоминает описание или совокупность описаний. Совокупность описаний всегда располагается за символом begin, в описании же процедуры список значений и совокупность спецификаций располагаются перед телом процедуры. [48]
Естественно, что фактические параметры, которые ставятся в соответствие тому или иному формальному параметру при обращениях к процедуре, должны отвечать его назначению в теле процедуры. Если, например, формальный параметр представляет в теле процедуры идентификатор массива, то очевидно, что ему нельзя поставить в соответствие идентификатор процедуры или переключателя в качестве фактического параметра - таковым может являться только идентификатор массива. Информация о классе и типе допустимых фактических параметров, облегчающая пользование процедурой, задается в совокупности спецификаций. [49]
В общем случае описание процедуры состоит из заголовка процедуры и тела процедуры, выписанных одно за другим. Заголовок состоит из выписанных подряд символа procedure ( процедура), идентификатора процедуры, совокупности формальных параметров, списка значений и совокупности спецификаций. Лишь первые два из названных пяти элементов заголовка процедуры обязательны, а совокупность формальных параметров, список значений и спецификации могут отсутствовать. Идентификатор процедуры ( в нашем примере - п) может быть любым. Но поскольку описание процедуры локализует этот идентификатор в блоке, в начале которого оно помещено, он должен отличаться от всех других локальных идентификаторов этого блока. [50]
В общем случае описание процедуры состоит из заголовка процедуры и тела процедуры, выписанных одно за другим. Заголовок состоит из выписанных подряд символа procedure ( процедура), идентификатора процедуры, совокупности формальных параметров, списка значений и совокупности спецификаций. Лишь первые два из названных пяти элементов заголовка процедуры обязательны, а совокупность формальных параметров, список значений и спецификации могут отсутствовать. Идентификатор процедуры ( в нашем примере - К) может быть любым. Но поскольку описание процедуры локализует этот идентификатор в блоке, в начале которого оно помещено, он должен отличаться от всех других локальных идентификаторов этого блока. [51]