解释在 TOC 中组合两种语言的技术?
从两种语言创建新语言的三种常见方法-
联盟
路口
产品
语言是字符串的集合,因此它们可以通过通常的并集和交集操作进行组合。
路口
如果L1和L2是∑上的语言,则L1∩L2是L1和L2中字符串的语言。
例如,如果L={aa,bb,ab}并且M={ab,aabb}那么,
的交叉点是如下-
L∩M={ab}
和
联盟
如果L1和L2是字母表∑上的语言,则语言L1∪L2是这两种语言中至少一种的所有字符串的语言。
例如,如果L={aa,bb,ab}并且M={ab,aabb}那么,
该联盟是如下-
L∪M={aa,bb,ab,aabb}。
其中L是M是字母∑上的两种语言。
Concatenation-字符串的连接操作将两个字符串并置。
字母∑上两种语言L1和L2的串联是语言L1L2={wx∈∑*|w∈L1∧x∈L2}
可以分成两部分的一组字符串-一部分来自L1,一部分来自L2。它类似于两个集合的笛卡尔积,带有字符串。
例子
两个字符串aab和ba的连接就是字符串aabba。
我们使用名称cat来表示此操作-cat(aab,ba)=aabba。
我们可以通过将L中的字符串与M中的字符串组成的集合组合成L和M两种语言,称为两种语言的乘积。
定义(两种语言的乘积)
如果L和M是语言,则称为L和M乘积的新语言定义为L·M(或仅LM)
L·M={cat(s,t):s∈Landt∈M}