程序語言基礎(chǔ)

1、低級語言:機器語言和匯編語言稱為低級語言。

  • 機器語言指0、1組成的機器指令序列
  • 匯編語言指用符號表示的語言
    MOV AX,2
    MOV BX,3
    ADD AX,BX

2、高級語言
高級語言需要編譯成特定機器語言

編譯程序和解釋程序

高級語言或匯編語言編寫的程序稱為源程序,源程序不能直接在計算機上執(zhí)行。

  • 如果源程序是匯編語言編寫的,則需要一個稱為匯編程序的翻譯程序?qū)⑵浞g成目標(biāo)程序,然后才能執(zhí)行。
  • 如果源程序是為高級語言時,這個翻譯程序稱為編譯程序
  • 按源程序中語句的執(zhí)行順序,逐條翻譯并立即執(zhí)行相關(guān)功能的處理程序、稱為解釋程序。

1、編譯執(zhí)行:優(yōu)點:執(zhí)行效率高
缺點:兼容性差
2、解釋執(zhí)行:優(yōu)點:可移植性較好、開發(fā)速度快、與用戶通信方便。
缺點:效率低。

編譯系統(tǒng)基本原理

編譯程序的工作過程可以分為6個階段:詞法分析、語法分析、語義分析、中間代碼生成、代碼優(yōu)化、目標(biāo)代碼生成。
1、詞法分析
一個程序語言的基本語法符號分為五類:關(guān)鍵字、標(biāo)識符、常量、運算符、界符等
詞法分析器所輸出單詞符號常常表示成如下的二元式:(單詞種別,單詞符號的屬性值)
描述詞法通常用:正規(guī)式和有限自動機
2、狀態(tài)轉(zhuǎn)換圖
狀態(tài)轉(zhuǎn)換圖是狀態(tài)有限的有向圖,用圓圈表示結(jié)點狀態(tài),結(jié)點之間有向邊代表狀態(tài)轉(zhuǎn)換,有向邊上可標(biāo)記字符,表示前一狀態(tài)接受某一個字符之后的狀態(tài)轉(zhuǎn)移。
狀態(tài)轉(zhuǎn)換圖的功能

  • 用于識別一定的字符串

狀態(tài)轉(zhuǎn)換圖的要求

  • 狀態(tài)(即結(jié)點)個數(shù)有限
  • 至少一個初始狀態(tài),若干終止?fàn)顟B(tài)
  • 每條邊上標(biāo)有字符(也可以是空字符)


3、正規(guī)集

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容