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

歡迎訪問 生活随笔!

生活随笔

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

编程问答

第三章 - 有穷自动机与词法分析(一)

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

使用自動機和正則表達式判斷字符串是否合法。

構造詞法分析器的方法可以分為人工方法和自動化方法。

3.1.1 詞法分析器的功能

①每當程序員敲擊鍵盤上一個鍵時,自動向計算機輸入一個相應的8位二進制碼,這種碼稱為ASCII碼。程序在計算機中被表示為ASCII碼序列,通常稱為源程序文件

②翻譯時的最小語義單位是單詞,Token是源程序中單詞的內部表示,也稱為記號

首先從源程序文件中一個字符一個字符的讀字符,并逐個的分離出單詞,然后構造他們的機內表示Token。(源程序的處理過程)

?

關于Token的結構沒有統一的規定,至少包含兩部分內容:一是單詞的類別,二是單詞的內容(語義 )。

單詞的Token表示也沒有固定的模式,其結構可隨著編譯器的不同而變化。

標識符單詞、常量單詞、保留字單詞

【詞法分析器的任務】根據程序的ASCII碼序列依次拼出單詞的ASCII碼表示,然后將其轉換成相應的Token碼(分為語法分析器的子程序和編譯器的獨立一遍處理器)

3.1.2 單詞識別

?詞法分時首要任務是如何從源文件中的ASCII碼序列依次分離出單詞,即如何判定新單詞的開始、如何判定一個單詞的結束以及如何判定是什么類的單詞的問題。(但是比起語法分析還是詞法分析簡單)

3.1.3 詞法分析的復雜性(有時需要根據后面遇到的符號往回掃描)

3.1.4 字符串

如何設計字符串空間?(字符數組法和(指針數組法

3.1.5 保留字:關鍵字不能作為用戶定義的標識符。兩種處理方法:(保留字表)和(不用保留字表)

保留字表又分為三種(順序表結構)、(散列表結構)和(散列和順序表結合的一種結構)

不用保留字表主要思想是(在拼單詞的過程中就判斷是否為保留字,拼完就判斷完了)

3.1.6 空格符、回車符、換行符

空格符分隔單詞,回車符和換行符也沒有任何實際意義,對錯誤處理有重要意義(判斷bug在第幾行出現)

3.1.7 括號類配對預檢

有錯誤不停下,還會繼續向下分析,預檢就是增加計數器,左括號加一,右括號減一,最后結果為零就配對。

3.1.8 詞法錯誤修正

程序錯誤可分為三層:(詞法層)、(語法層)和(語義層

詞法層:錯誤的字符;語法層:錯誤的單詞;語義層:語義中出現錯誤的語法單位。

3.1.9 詞法分析獨立化的意義

?

轉載于:https://www.cnblogs.com/yangf428/p/10127817.html

總結

以上是生活随笔為你收集整理的第三章 - 有穷自动机与词法分析(一)的全部內容,希望文章能夠幫你解決所遇到的問題。

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