C&C++   发布时间:2022-04-03  发布网站:大佬教程  code.js-code.com
大佬教程收集整理的这篇文章主要介绍了c – 间接递归的实际应用大佬教程大佬觉得挺不错的,现在分享给大家,也给大家做个参考。
@H_607_0@
@H_607_0@
在一次采访中,他们让我“给出一些间接递归的实际应用”.我只是回答了直接递归和间接递归之间的区别.我用谷歌搜索,但仍然没有得到任何令人满意的答案.

有关此主题的任何信息都是最受欢迎的..

解决方法

间接递归的一个显示例是递归下降解析器.

举个简单的例子,一个语法:

expression = product (+|-) product

product  = term (*|/) term

term = number | variable | '(' expression ')'

要使用递归下降解析器解析该语法,我们基本上创建一个函数来表示每个元素:

expression(input) { 
    product(input);
    assert(operator(input) == '-' || '+');
    product(input);
}

product(input) {
    term(input);
    assert(operator(input) == '/' || '*');
    term(input);
}

term(input) { 
    if (next(input) == '(')
        expression(input);
    // ...
}

我显然在这里简化了许多,但希望总体思路出现:表达式由 – 或 – 组合的产品组成.产品由/或*组合的术语组成.术语是括号中的数字或变量或表达式.我们调用一个函数来识别每个函数,所以当我们将括号中的表达式识别为术语时,我们使用间接递归 – 表达式() – > product() – > term() – >表达().

@H_607_0@

大佬总结

以上是大佬教程为你收集整理的c – 间接递归的实际应用全部内容,希望文章能够帮你解决c – 间接递归的实际应用所遇到的程序开发问题。

如果觉得大佬教程网站内容还不错,欢迎将大佬教程推荐给程序员好友。

本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。
标签:c实际应用递归间接
猜你在找的C&C++相关文章
其他相关热搜词更多
phpJavaPython程序员load如何string使用参数jquery开发安装listlinuxiosandroid工具javascriptcap