Да ---
является действительным предложением PICTURE
. Переменная, соответствующая этому PICTURE
, будет принимать присвоения числовых значений в диапазоне от -99 до +99. Нельзя назначать нечисловые значения (например, пробел). Однако, если вы присвоите DISPLAY
эту переменную после присвоения ей числового значения, начальные нули будут заменены пробелами. Следовательно, если вы MOVE ZERO
к этому предмету, он будет DISPLAY
только пробелами. Попытка MOVE SPACES
для этого элемента приведет к ошибке компиляции (несовместимые типы данных). Этот последний бит может показаться немного противоречащим интуиции, но помните, что этот тип предложения PICTURE
подразумевает отображение USAGE
- в основном элементы, определенные таким образом, используются для «красивой печати» чисел. Единственными операциями, которые можно выполнить с USAGE DISPLAY
элементами, является MOVE
к или от и DISPLAY
к ним.
РЕДАКТИРОВАТЬ - Ответ на комментарий
A PICTURE
из ---X(2)
недействителен. В приведенной ниже таблице показаны комбинации и порядок появления символов в строке PICTURE
. Обратите внимание, что круглые скобки отсутствуют в диаграмме. Логически вы можете заменить их на соответствующее количество вхождений предыдущего символа перед чтением строки. Например, X(3)
читается как XXX
. Если вы действительно хотите правильно разобрать строку PICTURE
, вы можете использовать эту диаграмму для построения грамматики BNF специально для них.
![enter image description here](https://i.stack.imgur.com/fJN3r.gif)