为下列文法配上语义子程序 以便求取数的整数值: N→ND|D D→0|1|2|3|4|5|6|7|8|9

大学 子程序,语义,文法 已帮助 人

为下列文法配上语义子程序,以便求取数的整数值:

  N→ND|D

  D→0|1|2|3|4|5|6|7|8|9

热搜:二义性文法是不是上下文无关文法

答案解析

难度★★☆ 搜索
  • 为文法符号配上属性Value,表示相应的数值。利用该属性,语义子程序可以描述如下:
       N1→N2D(N1.Value=N2.Value*10+D.Value}
       N→D{N.Value=D.Value}
       D→0{D.Value=0}
       D→1{D.Value=1}
       D→2{D.Value=2}
       D→3{D.Value=3}
       D→4{D.Value=4}
       D→5{D.Value=5}
       D→6{D.Value=6}
       D→7{D.Value=7}
       D→8{D.Value=8}
       D→9{D.Value=9}