【编译原理】迭代法求算符优先函数

若已知运算符之间的优先关系,可按如下步骤构造优先函数:

  1. 对每个运算符a(包括(sharp)在内)令f(a)=g(a)=1
  2. 如果(a gtrdot b)(f(a) le g(b)),令f(a)=g(b)+1
  3. 如果(a lessdot b)(f(a) ge g(b)),令g(b)=f(a)+1
  4. 如果(a doteq b)(f(a) eq g(b)),令(minleft { f(a),g(b) ight }=maxleft { f(a),g(b) ight })
  5. 重复(2sim 4),直到过程收敛。如果存在重复过程中有一个值大于2n,则表明不存在算符优先函数。
原文地址:https://www.cnblogs.com/Acapplella/p/14688357.html