Режим проверки строк-переменных Var-String Checking. Этот режим определяет, как точно компилятор будет проверять значения типа String, передаваемые в процедуры и функции. По умолчанию он имеет значение Strict (точно). При этом строковые переменные, которые передаются по ссылке, должны точно соответствовать типу формальных VAR-параметров, определенных в заголовке вызываемых процедур или функций. Если это не так, то генерируется ошибка выполнения. Если же этот режим имеет значение Relaxed (ослабленная), то длина строкового аргумента передается процедуре или функции без сравнения ее с длиной формального параметра.
Режим проведения логических операций Boolean Evolution. Этот режим определяет метод работы Турбо Паскаля с логическими выражениями, использующими операторы AND и OR. Он имеет два состояния. Первое по умолчанию — Short Circuit (короткие вычисления). При этом коды формируются по следующим правилам:
1. В выражении «a AND b», если «f=False», то значение b не вычисляется.
2. В выражении «a OR b», если «a=True», то значение b не вычисляется.
И наоборот, полное вычисление операндов в логических выражениях производится при втором состоянии — Complete (полностью).
Режим использования сопроцессора Numeric Processing. Язык Турбо Паскаль может генерировать коды, которые управляют работой сопроцессоров 8087 и 80287. Если такой микропроцессор установлен на применяемой ПЭВМ, то программы, использующие эти коды, будут работать быстрее, особенно если в них много математических расчетов, и могут использовать расширенный набор типов с плавающей точкой (см. разд. 9.5).
Режим Numeric Processing определяет, будет или нет использоваться расширенный набор типов данных. Если режим включен в состояние Software (программное исполнение), то нет; если же он — в состоянии 8087/80287, то да. По умолчанию режим Numeric Processing устанавливается в Software.
- 30 -
Режим генерации эмулирующих кодов Emulation. Этот режим работает только в том случае, если Numeric Processing установлен в 8087/80287. При этом можно включать в выполняемые коды эмуляцию или отключать ее. По умолчанию этот режим включен. В этом случае Турбо Паскаль проверяет наличие в ПЭВМ сопроцессора. Если он есть, то используются коды управления сопроцессором. Если же сопроцессора нет в ПЭВМ, то используются коды эмуляции и программа работает медленнее. В том случае, если режим Emulation выключен, a Numeric Processing — в состоянии 8087/80287, программа будет проверять наличие сопроцессора, и если его нет, то ее выполнение прекращается.