美文网首页Theory
[Theory] Parsing Techniques 读书笔记

[Theory] Parsing Techniques 读书笔记

作者: 何幻 | 来源:发表于2019-08-27 15:21 被阅读0次

    5. Regular Grammars and Finite-State Automata

    名词定义

    识别器(recognizer):根据(正则)文法来判断,输入字符串的哪一部分符合文法。

    状态转移图(transition diagram):节点表示状态(非终结符),边表示触发转移的终结符。

    非确定性有限自动机(non-deterministic finite automaton,NFA),非确定性有限状态机(finite-state automaton, FSA):包含有限个状态的自动机,接受同一个字符从某个状态有两条不同的转移。
    确定性有限自动机(deterministic finite-state automaton,DFA):包含有限个状态的自动机,对于相同字符,每个状态只有至多一个转移。

    完全自动机(complete automaton):所有转移(包括导致失败的)都被定义了的自动机。

    内容总结

    正则文法可以表示选择,重复,以及和子串合并,但是不能表示嵌套。

    根据正则文法,生成一个状态转移图(transition diagram)。

    与上下文无关文法不同的是,正则文法和有限自动机,是可以最小化的。

    使用非确定性有限自动机来识别字符串,类似于迷宫的路径搜索,具有指数复杂度。
    可以使用子集构造法(subset construction)将非确定性有限自动机转换成确定性有限自动机。

    正则文法可以转换成正则表达式,反之亦然。
    通常的转换路径:
    (1)正则表达式
    (2)正则文法
    (3)非确定性有限自动机
    (4)确定性有限自动机
    (5)最小化的确定性有限自动机

    正则语言的并集,交集,补集操作,结果仍然是正则语言。

    左正则文法(left-regular grammar)与右正则文法(right-regular grammar)处理起来很不一样,
    我们可以将左正则文法转换成右正则文法。

    可以利用自动机,借助识别前缀的方式,实现快速文本查找。


    参考

    Parsing Techniques

    相关文章

      网友评论

        本文标题:[Theory] Parsing Techniques 读书笔记

        本文链接:https://www.haomeiwen.com/subject/slueectx.html