Почему КОБОЛ имеет и 'РАЗДЕЛ' и 'АБЗАЦ'?

Одной из проблем, связанных с совпадением нулевого символа, является то, что вам сначала нужно договориться о его получении. Во многих языках используются строки с нулевым символом в конце, поэтому совпадение может не совпадать со всем вводом.

Что касается того, как выразить это в PCRE, то \ 000 работает и не будет споткнуться о чем-либо, что следует за ним, как было бы \ x {} (но восьмеричная версия, на мой взгляд, легче идентифицировать, когда просматривает регулярное выражение ).

См. справочные страницы PCRE и найдите непечатаемых символов для получения полной информации о том, как задавать ноль различными способами.

21
задан user207421 6 March 2017 в 04:40
поделиться

4 ответа

Я выучил COBOL примерно в 1978 году на ICL 2903. Я смутно помню, что заголовкам SECTION может быть назначен диапазон номеров, что означает, что эти заголовки SECTION могут выгружать и выгружать из памяти, когда программа была слишком большой для памяти.

6
ответ дан 29 November 2019 в 21:49
поделиться

Во-первых, имена абзацев должны быть уникальными, если они не находятся в отдельных разделах, поэтому разделы допускают «пространство имен» абзацев.

Если я правильно помню, единственная причина, по которой вы ] должен использовать РАЗДЕЛ предназначен для ДЕКЛАРАТИВОВ . Кроме того, они необязательны и в первую очередь полезны для группировки абзацев. Я думаю, что это обычное явление (во всяком случае, условно говоря) требовать, чтобы PERFORM использовался в абзацах, только когда они находятся в одном разделе.

1
ответ дан 29 November 2019 в 21:49
поделиться

В разделе может быть несколько абзацев. Когда вы ВЫПОЛНЯЕТЕ раздел, он выполняет все абзацы в разделе. Внутри раздела вы можете использовать PERFORM или GOTO для перехода к абзацам в разделе.

1
ответ дан 29 November 2019 в 21:49
поделиться

Мы используем COBOL SECTION кодирование во всех наших 37K MVS пакетных COBOL программах. Мы используем эту технику, чтобы получить гораздо более быстрое время выполнения и значительно снизить нагрузку на процессор. Эта техника кодирования COBOL очень похожа на высокопроизводительный пакетный ассемблер.

Называйте это высокопроизводительным функционально структурированным программированием COBOL

После определения РАЗДЕЛА все PERFORM xxxxx будут возвращаться в следующий закодированный РАЗДЕЛ, а не в следующий параграф РАЗДЕЛА. Если параграфы закодированы впереди первого РАЗДЕЛА, то они могут быть выполнены нормально. (Но мы этого не разрешаем)

Использование SECTION имеет более высокие накладные расходы, чем при использовании и PERFORM инг только параграфов - U N L E S S - вы используете GOTO логику, чтобы обойти код, который должен быть условно выполнен. Наше правило гласит, что GOTO может указывать только на Tag-Line в том же РАЗДЕЛЕ. (параграф) Все параграфы в РАЗДЕЛЕ должны быть подфункцией функции РАЗДЕЛА. Инструкция EXIT - это ассемблерная инструкция NOP. Она позволяет поместить Tag-Line перед следующим РАЗДЕЛОМ - быстрый выход/возврат.

Выполнение PERFORM xxxx THRU yyyy имеет большую нагрузку на процессор, чем выполнение РАЗДЕЛА без GOTO s.

ВНИМАНИЕ: Выполнение PERFORM xxxx Tag-Line в РАЗДЕЛЕ приведет к падению всего кода в РАЗДЕЛЕ до следующего РАЗДЕЛА. Выполнение GOTO Tag-Line за пределами текущего РАЗДЕЛА приведет к тому, что весь код в новом посадочном РАЗДЕЛЕ будет пропущен до следующего РАЗДЕЛА. (Но мы не разрешаем этого)

-1
ответ дан 29 November 2019 в 21:49
поделиться
Другие вопросы по тегам:

Похожие вопросы: