Лексемы

Определение лексических единиц процедурного языка.

Спецификация

           
< идентификатор >::=
< стандартный идентификатор >::=
{< латинская буква > | $ } [{< цифра > | < латинская буква > | _ | $}…]
< ключевое слово >::=
неопределяемый элемент синтаксической конструкции
< разделитель >::=
, | ( | ) | <  |  > | . | : | = | * | + | - | / | <  > |  >= | < = | комментарий
< однострочный комментарий >::=
// [символ …]
< многострочный комментарий >::=
/* [символ …] */
< символ >::=
любой символ или графический знак

Синтаксические правила

  1. < Идентификатор > может быть представлен двумя способами:

    • без двойных кавычек. В этом случае символами < идентификатора > могут быть только цифры, латинские буквы, знаки подчеркивания (_) и доллара ($). < Идентификатор > может начинаться с символа $ или _ и не должен совпадать с ключевыми словами СУБД ЛИНТЕР. Все такие < идентификаторы > приводятся к верхнему регистру.

      Примечание

      Во избежание возможных коллизий не рекомендуется использовать имена, начинающиеся с символа $, т.к. их присваивает СУБД ЛИНТЕР создаваемым ею объектам БД.

      Одинаковые идентификаторы:

      BANK, Bank
    • заключен в двойные кавычки. В этом случае могут использоваться любые символы. < Идентификатор > может совпадать с ключевыми словами СУБД ЛИНТЕР, и преобразование регистра представления знаков < идентификатора > не выполняется.

      Разные идентификаторы:

      "BANK", "Bank", "банк", "Банк" 

      Допустимые идентификаторы:

      "Table", SYSTEM."Склад", "Табельный номер"
  2. < Идентификаторы >, не упомянутые как ключевые в стандарте SQL, считаются ключевыми только в том случае, если они встречаются в определенном контексте.

    Таким образом, контекстно-зависимые ключевые слова распознаются только в том контексте, где они могут встретиться, в других случаях они считаются идентификаторами.