![]() | |||||||||
|
|
Теория: Термины и концепцииЭта часть описывает основные возможности языка МS-Фортран. 1. Запись программТекст программы на Фортране - это последовательность символов ASCII. К символам ASCII относятся: 1.1. Буквенноцифровые символыАнглийские буквы и цифры, рассматриваемые как одна группа, называются буквенноцифровыми символами. МS-Фортран воспринимает прописные буквы как заглавные в любом контексты, исключая символьные константы и холлеритовские поля. Поэтому следующие имена, определенные пользователем, эквивалентны в МS-Фортране:
Последовательность сортировки для набора символов МS-Фортрана - это последовательность ASCII. 1.2. ПробелыЗа исключением ниже приведенного списка символов пробел не является значащим в тексте программы на МS-Фортране и поэтому может использоваться для улучшения внешнего вида программы. Исключения следующие: 1.3. ТабуляторыСимвол ТАВ имеет следующее значение в тексте программы на МS-Фортране: 1.4. ПозицииСимволы в каждой строке расположены по позициям, первый - в первой позиции, второй - во второй и т.д. Позиция, в которой находится символ, имеет существенное значение в Фортране. Позиция 1 используется для указания комментария и метакоманды. Позиции с 1-ой по 5-ю зарезервированы для меток операторов, а 6-я позиция для указания продолжения. 2. Строки и операторыВы можете также считать, что текст программы на Фортране - это последовательность строк. Для компилятора значащими являются только первые 72 символа в строке, остальные им игнорируются. Строки, длиной меньше, чем 72 символа, считаются заполненными пробелами до 72-ой позиции (для иллюстрации этого смотрите ниже в этой части в описании символьных констант). 2.1. Начальные строкиНачальной строкой называется строка, не являющаяся строкой комментария или метакоманды и содержащая пробел или нуль в шестой позиции. В первых пяти позициях строки должны быть пробелы или должна стоять метка. За исключением оператора, следующим за логическим IF, операторы Фортрана должны начинаться с начальной строки. Метка оператора - это последовательность от одной до пяти цифр, хотя бы одна из которых должна быть не нуль. Метка может находится в любом месте в позициях с 1-ой по 5-ю в начальной строке. Пробелы и предшествующие нули являются незначащими. 2.2. Строки продолженияСтрока продолжения - это любая строка, не являющая строкой комментария или метакоманды и содержащая в позиции 6 любой символ отличный от пробела или нуля. Первые пять символов строки продолжения позволяет существенно увеличить длину оператора. Если он не помещается в одну начальную строку, его можно продлить на 19 строк продолжения. 2.3. Строки комментарияСтрока считается строкой комментария, если выполняется одно из следующих условий: Строки комментария не оказывают никакого воздействия на выполнение программы на Фортране. После строки комментария должна идти начальная строка или другая строка комментария. Строка продолжения не может следовать за строкой комментария. 2.4. Операторы описания данных и порядок следования операторовОператор Фортрана содержит начальную строку и от 0 до 19 строк продолжения. Оператор может содержать до 1320 символов в позициях с 7-ой по 72-ю начальной строки и с 7-ой по 72-ю строк продолжения. Оператор END должен быть записан в позициях с 7-ой по 72-ю начальной строки и в его строке не может быть никаких других операторов (в дальнейшем на отдельные операторы мы будем ссылаться просто по их именам; смотрите часть 3 "Операторы" для определения различных операторов и их свойств). Язык Фортран требует определенного порядка следования операторов и строк, составляющих программную единицу Фортрана. Кроме того МS-Фортран накладывает дополнительные требования на порядок строк и операторов в транслируемом тексте МS-Фортрана. В основном, транслируемый текст содержит одну или несколько программных единиц (для более полной информации о трансляции программных единиц и подпрограмм смотрите часть 5 "Программы, подпрограммы и функции"). Различные правила по порядку следования операторов проиллюстрированы на рис.2-1 и описаны в следующих параграфах. -----------------------------------------------------T---------¬
| метакоманды $DO66,$STORAGE,$DECMATH | |
+----------------------------------------T-----------+ |
| операторы PROGRAM,FUNCTION, | | |
| BLOCK DATА,SUBROUTINE | | |
+-------------------T----------T---------+ другие | |
|оператор IMPLICIT |операторы | | мета- | строки |
+-------------------+ | | команды | |
|другие операторы |PARAMETER |операторы| | комен- |
|определения данных | | | | тариев |
+-------------------+----------+ FORMAT | | |
|функции-операторы |операторы | | | |
+-------------------+ | | | |
| выполняемые | DATA | | | |
| операторы | | | | |
+-------------------+----------+---------+-----------+ |
| оператор END | |
L----------------------------------------------------+----------
Рис.2-1 Порядок операторов в программных единицах и транслируемых
текстах.
Для рисунка 2-1 существуют следующие соглашения:
Подпрограмма начинается с оператора либо SUBROUTINE, либо FUNCTION, либо BLOCK DATA и заканчивается оператором END. Основная программа начинается с оператора PROGRAM или любого другого оператора, отличного от операторов SUBROUTINE, FUNCTION или BLOCK DATA, и заканчивается оператором END. Подпрограмма и основная программа являются программными единицами. В программной единице операторы должны следовать в порядке, соответствующем таким правилам:
|
||||||||
![]() | Copyright © fortran-online.info, 2007 | ||||||||