【问题标题】:Why would there be two operands in a EBNF sentence?为什么 EBNF 语句中有两个操作数?
【发布时间】:2010-09-25 03:52:21
【问题描述】:

有这个EBNF语法

< calculation>  ->   <expr> =
         <expr> -> <term>  (+ | -) <expr>
                         |   <term>
         <term> -> <factor>  (*  |  /) <term>
                         |   <factor>
         <factor> -> ( <expr> )
                         |   <value>
            <value>     ->   [ <sign>  ]  <unsigned>  [ .  <unsigned>  ]
            <unsigned>  ->   <digit>  { <digit> }
            <digit>     ->  0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9
            <sign>      ->  + | -

为什么您可以选择在 4*+3.5= 中输入类似的内容?这句话甚至会在这个语法中吗?如果是,你怎么知道?

【问题讨论】:

    标签: ebnf


    【解决方案1】:

    它在语法中。 + 是一元运算符。考虑 4*-3.5,4 倍 -3.5。

    你的解析器会弄清楚的。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2017-08-12
      • 2015-05-31
      • 1970-01-01
      • 2020-05-19
      • 2016-04-16
      • 2022-01-02
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多