gpt4 book ai didi

c++ - 向语法中添加更高级别的运算符

转载 作者:塔克拉玛干 更新时间:2023-11-03 07:57:57 24 4
gpt4 key购买 nike

我正在使用 C++ 学习 Stroustrups 编程原则和实践。在本书的前几章中,他使用这种语法来构建计算器。其中一个练习是在计算器中添加一个阶乘运算符。他给出了一个提示

Begin by modifying the grammar to account for a higher-level operator

什么是高级运算符(operator)? (很遗憾他到书里那一章都没有解释,不知道其他章节有没有解释过)

他要求修改的语法是这样的:

Expression:
Term
Expression "+" Term
Expression "-" Term
Term:
Primary
Term "*" Primary
Term "/" Primary
Term "%" Primary
Primary:
Number
"(" Expression ")"
Number:
floating-point-literal

我已经为这个问题苦苦挣扎了一整天,但我一无所获。很高兴得到一些解释。

最佳答案

高级运算符是比其他运算符具有更高优先级的运算符。

这可以添加到您的语法中,就像乘法、除法和模数不同于加法和减法一样。

换句话说,你的解析器应该首先尝试解析阶乘语法,然后是乘法,然后是加法

关于c++ - 向语法中添加更高级别的运算符,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15235458/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com