Всем привет. Это подготовительная статья перед написанием парсера, в этой статье говорится что такое парсер, что он делает, обсуждаются и пишутся необходимые компоненты перед написанием парсера. Парсер - это Часть программы, преобразующей входные данные в некий структурированный формат, нужный для задач последующего их анализа и использования. Технически, парсер выполняет синтаксический анализ данных. Наш парсер будет преобразовать поток токенов, который нам выдаст лексер, в Abstract Syntax Tree ( AST ). Также парсер должен проверять поток токенов на ошибки. AST - это конечное помеченное ориентированное дерево, в котором внутренние вершины сопоставлены (помечены) с операторами языка программирования, а листья — с соответствующими операндами. Таким образом, листья являются пустыми операторами и представляют только переменные и константы. Вот изображение AST: И тут встает вопрос а как сделать такой алгоритм который сможет сгенерировать дерево из полученных токенов и еще проверить ошибк
Написание компилятора своего языка. Часть 3.1.
8 июля 20238 июл 2023
44
3 мин