Можно выделить иерархию из 4х структурных элементов: символы → лексемы → выражения → операторы.
Алфавит – множество символов, на которых пишутся все тексты на языке.
Лексема – минимальная единица языка, имеющая самостоятельный смысл.
Выражения – правила вычисления некоторых значений.
Оператор – законченное описание некоторого действия.
Лексемы бывают:
- идентификаторы;
- ключевые слова;
- знаки операций;
- константы;
- разделители (скобки; "; "; пробельные символы).
Лексемы в выражениях разделяются либо знаками операций, либо лексемами – разделителями.
Пример:
х = (a + b) / 2, где:
“x”, “a”, “b” – идентификаторы
“=”, “+”, “/” – операции
2 – константа
“(“, “ “, “)” – разделители
Идентификатор – имя программного объекта. Может состоять из больших и малых латинских букв, арабских цифр и знака подчёркивания. НЕ может начинаться с цифры.
Ключевые слова – зарезервированные идентификаторы, которые имеют определённый смысл. Их около 63.
Знаки операций – один или более символов, которые определяют действия над операциями.
Операции бывают трёх типов:
ü унарные;
ü бинарные;
ü тернарный, он же – условный (?:).
Все знаки операций кроме скобок и тернарной операции являются ЛЕКСЕМАМИ.
Константы – величины, неизменные во время работы программы. Бывают 4х типов:
ü целые;
ü вещественные;
ü символьные;
ü строковые.
Транслятор выделяет константы в качестве лексемы и автоматически относит их к одному из четырёх типов.
Тип
| Описание
| Пример
|
Целые
| Десятичные – последовательность арабских цифр, не начинающихся с 0.
| 2, 56, 784
|
Восьмеричные – 0, за которым следуют цифры от 0 до 7.
| 051, 076
|
Шестнадцатеричные начинаются либо с 0х, либо с 0Х, за которыми следует 0..9, A..F, a..f.
| 0х2, 0Х2FE
|
Вещественные
| С фиксированной точкой (запятой)
[±] [цифры]. [цифры]
| 3.14, -0.5
2.0 2.
|
Плавающая точка
[±] [цифры. цифры]Е (или е) [±][цифры]
| 314e – 2
31.4e – 1
3.14e0
|
Символьные
| Один или два символа, заключённые в одинарные кавычки.
| ‘F’, ‘ab’, ‘\0x5’
|
Строковые
| Последовательность символов, заключённая в двойные кавычки
| “мама мыла раму”
|