Функция
Определяет лексические единицы.
Формат
<лексема> : : = | |||||||||
<лексема, не являющаяся ограничителем> | |||||||||
| <лексема-ограничитель> | |||||||||
<лексема, не являющаяся ограничителем> : : = | |||||||||
<идентификатор> | |||||||||
| <ключевое слово> | |||||||||
| <числовой литерал> | |||||||||
<идентификатор> : : = | |||||||||
<прописная буква> | {[<подчеркивание> | <буква или цифра>}...] | |||||||||
<подчеркивание> : : = | |||||||||
<буква или цифра> : : = | |||||||||
<прописная буква> | <цифра> | |||||||||
<ключевое слово> : : = | |||||||||
ALL | AND | ANY | AS | ASC | AUTHORIZATION | AVG | |||||||||
| BEGIN | BETWEEN | BY | |||||||||
| CHAR | CHARACTER | CHECK | CLOSE | COBOL | COMMIT | |||||||||
| CONTINUE | COUNT | CREATE | CURRENT | CURSOR | |||||||||
| DEC | DECIMAL | DECLARE | DEFAULT | DELETE | DESC | DISTINCT | DOUBLE | |||||||||
| END | ESCAPE | EXEC | EXISTS | |||||||||
| FETCH | FLOAT | FOR | FOREIGN | FORTRAN | FOUND | FROM | |||||||||
| GO | GOTO | GRANT | GROUP | HAVING | |||||||||
| IN | INDICATOR | INSERT | INT | INTEGER | INTO | IS | |||||||||
| KEY | LANGUAGE | LIKE | |||||||||
| MAX | MIN | MODULE | NOT | NULL | NUMERIC | |||||||||
OF | ON | OPEN | OPTION | OR | ORDER | |||||||||
| PASCAL | PL1 | PRECISION | PRIMARY | PRIVILEGES | PROCEDURE | PUBLIC | |||||||||
| REAL | REFERENCES | ROLLBACK | |||||||||
| SCHEMA | SECTION | SELECT | SET | SMALLINT | SOME | |||||||||
| SQL | SQLCODE | SQLERROR | SUM | |||||||||
| TABLE | ТО | UNION | UNIQUE | UPDATE | USER | |||||||||
| VALUES | VIEW | WHENEVER | WHERE | WITH | WORK | |||||||||
<лексема-ограничитель> : : = | |||||||||
<строковый литерал> | |||||||||
| . | ( | ) | < | > | . | : | = | * | + | - | / | <> | >= | <= | |||||||||
<разделитель> : : = | |||||||||
{<комментарий> | <пробел> | <новая строка>} ... | |||||||||
<комментарий> : : = | |||||||||
<начало комментария> [<символ>...] <новая строка> | |||||||||
<новая строка> : : = | |||||||||
признак конца строки, определенный разработчиком реализации | |||||||||
<пробел> : : = символ "пробел" |
Правила синтаксиса
1) <лексема>, не являющаяся <строковым литералом>, не должна содержать <пробел>.
2) За каждой <лексемой> может следовать <разделитель>. За <лексемой, не являющейся ограничителем>, должен следовать <разделитель> или <лексема-ограничитель>. Если синтаксис не позволяет, чтобы за <лексемой, не являющейся ограничителем>, следовала <лексема-ограничитель>, то за такой <лексемой, не являющейся ограничителем>, должен следовать <разделитель>.
3) <идентификатор> может включать в себя не более 18 <символов>.
4) <идентификатор> не должен совпадать с <ключевым словом>.
5) <начало комментария> - это последовательность из двух или более следующих друг за другом дефисов (-), не разделенных ни <пробелом>, ни <новой строкой>, которая не входит в состав <строкового литерала>.
Общие правила
Не имеется.