Найти в Дзене

Строение языка программирования изнутри

Оглавление

Приветствую!

Многим программистам приходилось копаться внутри языка программирования при изучении(особенно при Java), но в целом не понимали, как всё работает изнутри. Но пришёл момент, когда пора это изучить.

1. Лексер

Первый этап работы любого языка программирования - Лексер.
Он очищает строки от лишних частей(как пример - комментариев), и переводит их в лексемы(более упрощённый и легковесный аналог подстрок).

Это можно сравнить с обработкой только что свалившегося дерева - в начале его очищают от лишних веточек.

Исходный код обрабатывается лексером, который его очищает и переводит в лексемы.
Исходный код обрабатывается лексером, который его очищает и переводит в лексемы.

2. Парсер

Второй этап - Парсер.
Парсер сортирует лексемы по значению, формируя цепочку, где та или иная лексема имеет приоритет выше, чем другая.

Это можно сравнить с сортировкой текста по-"важности" - в начале идут наиболее важные абзацы, потом менее, и так далее.

Список лексем обрабатываются парсером, который их отсортировывает.
Список лексем обрабатываются парсером, который их отсортировывает.

3. Генератор кода

Третий, и последний этап - Генератор кода.
Он переводит отсортированные лексемы в низкоуровневый язык программирования(или машинный код).

Это можно сравнить с переводом наших мыслей в цепочки сигналов.


Это сложнее изобразить чем кажется, поэтому тут не будет картинки с изображением генерации кода.

Вот и всё!
В некоторых языках программирования существуют дополнительные этапы, но мы их рассматривать не будем.

Если тебе не трудно, подпишись на канал чтобы получать уведомления об новых постах и ставь лайк, чтобы я продолжал делать статьи.

Приятного времени провождения!

Тимофей.