Cтраница 2
Особенности языков программирования и их реализаций оказывают существенное влияние на отладку программ. Реализация некоторого языка программирования должна в точности соответствовать официальному описанию этого языка программирования. Официальное описание этого языка программирования должно быть ясным, понятным, простым в использовании и, конечно, однозначным. Совокупность же этого языка программирования и его реализации должна, с одной стороны, предотвращать ошибки, ас другой - обеспечивать диагностику выявленных ошибок. [16]
Реализация некоторого языка программирования должна помогать программисту обнаружить имеющиеся в программе ошибки. В частности, реализация языка программирования должна выявлять все отступления от его официального описания. Когда в программе найдена ошибка, диагностика должна быть такой, чтобы программист легко мог понять, где именно в программе она имеется. Реализация этого языка программирования должна обеспечивать программиста достаточным объемом посмертной информации, предоставляемой в удобочитаемом виде, а это означает, что программист не должен будет продираться через восьмеричный дамп памяти. [17]
Автор считает, что книга [101] недостаточно полна, чтобы считаться официальным описанием языка Си. Термин официальное описание будет определен в § 4.4.2 настоящей статьи, в котором вопрос о неадекватности книги [101] в качестве официального описания языка Си рассмотрен более подробно. [18]
Особенности языков программирования и их реализаций оказывают существенное влияние на отладку программ. Реализация некоторого языка программирования должна в точности соответствовать официальному описанию этого языка программирования. Официальное описание этого языка программирования должно быть ясным, понятным, простым в использовании и, конечно, однозначным. Совокупность же этого языка программирования и его реализации должна, с одной стороны, предотвращать ошибки, ас другой - обеспечивать диагностику выявленных ошибок. [19]
Такими стандартными операторами являются операторы ввода значений простых переменных и массивов из внешней среды и вывода таких значений во внешнюю среду. Обычно вводятся значения начальных данных, а выводятся результаты работы алгоритма. Однако официальное описание алгола не предусматривает достаточно развитых средств для задания операторов ввода и вывода. В различных конкретных реализациях алгола эти операторы формулируются по-разному. [20]