Cтраница 2
Триадная запись удобна для определения поведения элементов данных в каждом участке программы. В частности, анализируя триадное представление программы, можно установить в каждом операторе и ( или) участке программы и во всей программе в целом множества элементов данных, которые определяются и которые используются. Однако для получения полной и достоверной начальной информации промежуточная триадная форма должна отражать не только внутренние переменные, но также вводимые и выводимые данные, фактические параметры, содержащиеся в операторах вызова процедур и процедур-функций, а также формальные параметры процедур и процедур-функций. [16]
Иногда время одного цикла отладки бывает довольно большим из-за необходимости каждый раз осуществлять редактирование, трансляцию и перезагрузку программы, поэтому следует стремиться выявить как можно больше ошибок за один цикл. Если найденные ошибки незначительны, то часто бывает возможно протестировать другую область программы либо исправить на скорую руку ( залатать) одну или две команды с тем, чтобы продолжить отладку. Если же необходимо ввести дополнительные команды, то их можно записать в виде процедуры в свободной области памяти. Тогда заплата должна содержать оператор вызова процедуры, добавляемые команды в виде процедуры и команды, обеспечивающие возврат управления в требуемое место программы. [17]
Если в каком-то задании имеется оператор вызова этой процедуры, то можно считать, что на его место будет подставлена последовательность операторов, определенная в процедуре. При этом в подставляемую последовательность операторов могут быть внесены изменения. В частности, в нее добавляются спецификации наборов данных, указанных после оператора вызова процедуры. [18]
Для процедурного блока область определения идентификаторов устанавливается точно так же, как для обычного блока. Блок PROCEDURE выполняется только после того, как был произведен его вызов. Блок может быть вызван либо как функция, либо как подпрограмма. В первом случае вызов осуществляется посредством операнда в выражении, во втором - оператором вызова процедуры. [19]
Для процедурного блока область определения идентификаторов устанавливается точно так же, как для обычного блока. Блок PROCEDURE выполняется только после того, как был произведен его вызов. Блок может быть вызван либо как функция, либо как подпрограмма. В первом случае вызов осуществляется посредством операнда в выражении, во втором - оператором вызова процедуры. [20]
Описания являются источником атрибутивной информации, приписываемой определяющему вхождению лексемы. В основном атрибуты характеризуют тип ( вид) значений, вычисляемых при выполнении программы, их представление и режим хранения в памяти ЭВМ. Для составных значений ( векторов, матриц, структурных величин) указывается также способ доступа к их элементарным компонентам. Выражения являются источником значений; операторы - единицами законченных действий в программе; базовые операторы - это оператор присваивания значения выражения переменной величине, оператор п е-редачи управления ( безусловной или по условию), оператор вызова процедуры, оператор цикла. [21]