【问题标题】:CFG for reverse polish notationCFG 用于反向波兰符号
【发布时间】:2016-09-26 18:01:01
【问题描述】:

我需要使用 +-*/ 运算符为反向波兰符号创建一个 CFG,然后写出正确的推导并创建一个抽象语法树。

我了解如何创建派生和语法树,但我并不真正了解如何根据一组规则创建 CFG。 我在网上做了很多研究,我只知道如何使用 CFG,但不知道如何使用给定的规则创建一个。

如果有人能指出我正确的方向或解释一个不同的例子,那就太棒了。谢谢!

【问题讨论】:

    标签: theory context-free-grammar prefix-operator


    【解决方案1】:

    不确定您所指的一组给定规则...?不就是语法吗

    X -> X X o
    X -> n
    

    o 是运算符,n 是数字?

    【讨论】:

    • 一组规则意味着后缀符号的定义我不确定你是如何得到它的,因为语法是我的问题。这只是说你将 o 应用于 X 和 X,其中 X 可以是某个值 n?此外,是否没有理由在第一行中的两个不同 X 之间进行区分,因为它们可能是两个不同的数字,还是只说 X 就足够了?
    • 如果您将定义添加到问题的后缀表示法中,可能更容易解释如何推导相应的语法规则。在 CFG 中,使用相同的符号可以以相同的方式替换它们。
    • 谢谢我刚刚和我的教授想通了,你上面的回答是正确的!
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2017-03-12
    • 1970-01-01
    • 1970-01-01
    • 2016-12-09
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多