С чего начать изучать парсинг и реализацию языков программирования? Мне всегда была интересна тема парсинга и реализации языков программирования, но все время не мог найти время для этой темы. Сейчас время появилось, но я не знаю, с чего начать.
Хочу научиться писать простые языки программирования по типу Pascal
Так же интересно понять, как парсится JSON и PUG (Jade)
И понять, как в все это дело превращается в AST и потом выполняется или компилируется
В интернете куча информации, и мне попадается море терминов (Recursive descent parser, top-down parser , LL(k), EBNF), но не понятно, с чего начать.
Подскажите пожалуйста, как и с какой книги или статьи начать? (Буду рад любой литературе. Но если есть возможность, то более практико-ориентированную). Заранее спасибо.

21 Авг 2019 в 06:32
540 +1
0
Ответы
1

Для начала рекомендую ознакомиться с основами теории формальных языков и автоматов, так как это понимание поможет лучше разбираться в парсинге и реализации языков программирования. Вы можете начать с книги "Компиляторы: принципы, технологии и инструменты" Альфреда Ахо и Джеффри Ульмана, которая является классическим учебником по компиляторам и языкам программирования.

Для изучения парсинга языков программирования вы можете начать с изучения context-free грамматик и методов их анализа, таких как Recursive Descent Parser, LL(k) Parser, Bottom-Up Parser и т.д.
Рекомендую книгу "Parsing Techniques - A Practical Guide" Джона Эрлера, которая даст вам понимание различных методов парсинга.

Для понимания работы с JSON и PUG (Jade) вам может помочь изучение формата JSON и синтаксиса PUG, а также изучение библиотек и инструментов для работы с ними (например, JSON.parse для работы с JSON в JavaScript).

Как только вы поймете основы парсинга и формирования AST, вы можете начать изучать принципы компиляции и выполнения программ, используя полученное знание для создания собственных простых языков программирования по типу Pascal.

Не стесняйтесь обращаться к онлайн ресурсам, таким как видеокурсы, блоги и форумы, чтобы получить более практическое представление о парсинге и реализации языков программирования. Важно практиковаться и экспериментировать, чтобы углубить свои знания и навыки. Удачи в изучении и программировании!

20 Апр 2024 в 13:17
Не можешь разобраться в этой теме?
Обратись за помощью к экспертам
Гарантированные бесплатные доработки в течение 1 года
Быстрое выполнение от 2 часов
Проверка работы на плагиат
Поможем написать учебную работу
Прямой эфир