是否存在将线性语法权转换为线性语法的一种算法?

时间:2012-02-26 15:16:16

标签: grammar

是否存在将线性语法右转换为相等线性语法的算法?

1 个答案:

答案 0 :(得分:6)

对于每个右线性语法,都存在一个生成相同语言的等效左线性语法,反之亦然。

  • 使用语法构建识别原始语法生成的语言的FSA。
  • 交换具有最终状态的初始状态。
  • 反转箭头方向。
  • 如果存在多个初始状态,请将它们设置为非初始状态,创建虚拟初始状态并使用自发移动将其与它们链接。
  • 从修改后的FSA中,使用“标准”方法获得另一种右线性语法。
  • 反转每个语法生成的右侧。

你应该得到一个等效的左线性语法。