У меня есть один вопрос о написании синтаксического анализа рекурсивного спуска для проверки грамматики Паскаля.Например, у меня есть этот код:
a := c ;
Я вижу, что a, c - переменные.: = и;- это терминалы.Это выражение я могу проверить.Но если у меня что-то вроде этого:
a := c + 1 - d ;
У меня проблемы с тем, как написать синтаксический анализ рекурсивного спуска для этого выражения.
Для первого примера я написал на C # так:*
if ((!parsing(current_token, "var")) || (!current_token, ":=")) || ( !parsing(current_token, "var") && !parsing(current_token, "const") ) || (!current_token, "term"))) show_error();
Как мне написать второй пример?Благодарю.