Приветствую!
Многим программистам приходилось копаться внутри языка программирования при изучении(особенно при Java), но в целом не понимали, как всё работает изнутри. Но пришёл момент, когда пора это изучить.
1. Лексер
Первый этап работы любого языка программирования - Лексер.
Он очищает строки от лишних частей(как пример - комментариев), и переводит их в лексемы(более упрощённый и легковесный аналог подстрок).
Это можно сравнить с обработкой только что свалившегося дерева - в начале его очищают от лишних веточек.
2. Парсер
Второй этап - Парсер.
Парсер сортирует лексемы по значению, формируя цепочку, где та или иная лексема имеет приоритет выше, чем другая.
Это можно сравнить с сортировкой текста по-"важности" - в начале идут наиболее важные абзацы, потом менее, и так далее.
3. Генератор кода
Третий, и последний этап - Генератор кода.
Он переводит отсортированные лексемы в низкоуровневый язык программирования(или машинный код).
Это можно сравнить с переводом наших мыслей в цепочки сигналов.
Это сложнее изобразить чем кажется, поэтому тут не будет картинки с изображением генерации кода.
Вот и всё!
В некоторых языках программирования существуют дополнительные этапы, но мы их рассматривать не будем.
Если тебе не трудно, подпишись на канал чтобы получать уведомления об новых постах и ставь лайк, чтобы я продолжал делать статьи.
Приятного времени провождения!
Тимофей.