Может кто-нибудь объяснить рекурсивный анализатор спуска с использованием основных для синтаксиса c
Мне трудно понять эту формулу. Может ли кто-нибудь объяснить, используя main в качестве синтаксиса.
главный()
{
}
Как мне разбить это на рекурсивную формулу для синтаксического анализа?
Является ли формула просто формулой, на которой основан некоторый код? Или он также включен с каким-то кодом в таблицу символов или что-то в этом роде.
Я пытаюсь разобрать свою собственную основную функцию в источнике.
Если это не тот подход, то какой подход я использую, чтобы заставить c понимать мои языки main, чтобы я мог использовать rr для операторов? Это не домашнее задание
Что я уже пробовал:
Попробовал почитать кое-что на rr. Я не понимаю, как именно rr получает свою структуру или определяется так, как он делает, чтобы создать язык. И если вы используете rr для операторов и выражений, как вы анализируете функцию.
Dave Kreskowiak
Рекурсивная функция - это просто функция, которая вызывает себя многократно, пока не будет выполнено условие спасения.
Основная функция никогда не используется для этого.
Richard Deeming
Вы говорите о ... рекурсивный анализатор спуска [^]?
То есть попытка проанализировать синтаксис C++, а не написать рекурсивную функцию C++.
Lymisy
Да парсер рублей с синтаксисом
Richard Deeming
Если вы ищете что-то для использования в реальном коде, возможно, этот проект может помочь:
foonathan/cppast: библиотека для синтаксического анализа и работы с C++ AST[^]
Если это учебное упражнение, то оно довольно амбициозно. Грамматика языка Си++ [^] довольно большой. Наверное, проще было бы начать с чего-нибудь попроще.
Lymisy
Спасибо @ Richard Deeming я искал это уже некоторое время, и вы указали мне правильное направление.