如何将一些常规语言转换为等效的Context Free Grammar?
是否有必要构造与该正则表达式相对应的DFA,或者是否存在某种转换规则?
是否有必要构造与该正则表达式相对应的DFA,或者是否存在某种转换规则?
例如,请考虑以下正则表达式
01+10(11)*
如何描述与上述RE相对应的语法?
>将A B改为语法
G -> A G -> B
>将A *改为
G -> (empty) G -> A G
>将AB改为
G -> AB
并且在A和B上递归地进行.基本情况是空语言(没有产生)和单个符号.
在你的情况下
A -> 01 A -> 10B B -> (empty) B -> 11B
如果语言由有限自动机描述:
>使用状态作为非终结符号>使用语言作为终端符号集>添加转换p – > aq用于任何转换p – > q在原始自动机中的字母a上>使用初始状态作为语法中的初始符号
原文地址:https://www.jb51.cc/regex/356897.html
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。