日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

【编译原理】词法分析(正规式与自动机)

發布時間:2024/3/12 编程问答 32 豆豆
生活随笔 收集整理的這篇文章主要介紹了 【编译原理】词法分析(正规式与自动机) 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

文章目錄

    • 一·單詞的形式化描述工具
    • 二·有窮自動機(有限自動機)
    • 三· 正規式和有窮自動機的等價性
    • 四· 正規文法和有窮自動機的等價性

?
?
?
?

一·單詞的形式化描述工具

? 正規文法

3型文法,是一個四元式:G = (VN, VT, S, P)
?
? 正規式

也稱為正則表達式,形式諸如:(a|b)*(aa|bb)(a|b)*
?
? 正規文法與正規式的等價性

一個正規語言可以由正規文法定義,也可以由正規式定義——它們當然就可能是等價

可以使用的轉化規則(理解🌟)

正規文法的產生式正規式
A→xB B→yA = xy
A→xA|yA = x*y
A→x A→yA = x|y

?
?
?

二·有窮自動機(有限自動機)

?
? 確定的有窮自動機(DFA)

是一個五元組 M = (K, ∑, f, S, Z)

其中:K是狀態集,∑是輸入符號集,f是轉化映像,S是唯一初態,Z是終態集

給定當前狀態和輸入符號,f就可以唯一確定下一個狀態
?

? 不確定的有窮自動機(NFA)

是一個五元組 M = (K, ∑, f, S, Z)

其中:K是狀態集,∑是輸入符號集,f是轉化映像,S是初態集,Z是終態集

不確定是說下一個狀態可以有多個
?
?
? NFA轉化為等價的DFA——NFA的確定化(🌟)

DFA是NFA的一種特例。和剛剛說的“正規文法和正規式的等價”一樣,如果兩個自動機所定義的語言相同,則它們等價

算法:子集法

通俗的說:既然“不確定”的原因是因為同時有多個狀態,那么我們就把這些狀態的集合看作一種狀態,然后再BFS。最終這些子集的轉化關系就稱為了一個DFA。

典型例題:《編譯原理(清華大學第三版)》P64 3
?
?
? 確定的有窮狀態機的化簡——DFA的最小化(🌟)

DFA的最小化,其實就是消除無用狀態和合并等價狀態。其實關鍵在于合并等價狀態。那么,怎樣的兩個狀態是等價的呢?

狀態的等價需要滿足兩個條件:

  • 一致性條件:它們都是可接受狀態不可接受狀態(即都是終態非終態
  • 蔓延性條件:我們用所有的輸入符號進行轉化,它們都可以轉化到等價的狀態
  • 算法:分割法

    通俗的說:先根據是否為終態分為兩組,然后對同一組中的狀態,用所有輸入符號去試著轉化,如果轉化不到一組,則再分。不斷進行上述操作。

    典型例題:《編譯原理(清華大學第三版)》P65 8

    ?

    ?

    三· 正規式和有窮自動機的等價性

    ?
    ?

    ?

    四· 正規文法和有窮自動機的等價性

    ?
    ?
    ?
    ?

    ?
    ?
    ?
    ?

    ?
    ?
    ?
    ?

    ENDENDEND

    總結

    以上是生活随笔為你收集整理的【编译原理】词法分析(正规式与自动机)的全部內容,希望文章能夠幫你解決所遇到的問題。

    如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。