$Lang
 
Метакоманда для установки диалекта компилятора.

Синтаксис

'$lang: "lang"
или
Rem $lang: "lang"

Параметры

"lang"
Диалект для установки, заключенный в двойные кавычки, должен быть одним из "fb", "fblite", "qb", или "deprecated".

Описание

Если опция -forcelang не указана в командной строке, $Lang может использоваться для задания диалекта для исходного модуля, в котором $Lang задан. В большинстве случаев два прохода будет производиться на модуле источника. На первом проходе, если указанный диалект отличается от диалекта по умолчанию (выбран с -lang, или "fb" по умолчанию), компилятор сбросит синтаксический анализатор для другого прохода и перезапустит компиляцию в начале исходного модуля. Если эта метакоманда встречается снова на втором проходе, и указанный диалект не соответствует новому текущему диалекту, то выдается предупреждение и компиляция продолжается. Если на первом проходе были обнаружены любые ошибки, компилятор не будет пытаться проводить второй проход.

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

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

Эта директива переопределяет опцию -lang , если она была дана в командной строке. Однако если опция -forcelang была дана в командной строке, эта директива не будет иметь никакого эффекта. Выдается предупреждение, директива игнорируется и будет продолжаться компиляция. Это позволяет пользователю явно переопределять метакоманду $Lang.

Этот метакоманда была введена в FreeBASIC версии 0.20.0. Старые версии FB и QuickBASIC, будут рассматривать ее как комментарий и молча проигнорируют ее.

Пример

'$lang: "qb"


Отличия от QB

  • Новое в FreeBASIC
  • QB хендлы '$lang: как нормальный комментарий

См. также