編譯過程
編譯順序-源程式→詞法分析→語法分析→語義分析→中間**生產→**優化→目標**生成→目標程式
詞法錯誤:非法字元,關鍵字或識別符號拼寫錯誤
語法錯誤:語法結構出錯,if,endif不匹配,缺分號
語義錯誤:死迴圈,零除數,其他邏輯錯誤
有限自動機
表示式:m=(s,∑,δ,s0,z)
s是乙個有限集,每個元素為乙個狀態
∑是乙個有窮字母表,每個元素為乙個輸入字元
δ是轉換函式:是乙個單值對照
s0屬於s,是其唯一的初態
z是乙個終態集(可空)
有限狀態自動機可以形象地用狀態轉換圖表示,設有限狀態自動機:dfa=(,,δ,s,),其中δ(s,0)=b,δ(s,1)=a,δ(a,0)=f,δ(a,1)=c,δ(b,0)=c,δ(b,1)=f,δ(c,0)=f,δ(c,1)=1
表示式字首表示式:(+ab)
中綴表示式:(a+b)
字尾表示式:(ab+)
函式呼叫-傳值與傳址
傳值呼叫:形參取的是實參的值,形參的改變不會導致呼叫點所傳的實參的值發生改變
各種程式語言特點
fortran語言(科學計算,執行效率高)
pascal語言(為教學而開發的,表達能力強,衍生出delphi)
c語言(指標操作能力強,高效)
lisp語言(函式式程式語言,符號處理,人工智慧)
c++語言(物件導向,高效)
j**a語言(物件導向,中間**,跨平台)
c#語言(物件導向,中間**,.net)
prolog語言(邏輯推理,簡潔性,表達能力,資料庫和專家系統)
程式語言與語言處理程式
程式語言和語言處理程式,是兩個完全不一樣的概念。首先我們來說程式語言 程式語言一共就三種 1 機器語言 2 組合語言 3 高階語言。這三種語言,計算機能直接執行的就是機器語言,初次之外都不能直接執行。所以說呢機器語言就是最早的語言,最原始的語言。但是我們知道機器語言都是0和1的指令去寫的,那對於我們...
語言處理程式基礎
語言處理程式時以累系統軟體的總稱,其主要作用時將高階語言或組合語言寫的程式翻譯成某種機器語言的程式,是程式在計算機上執行。語言處理程式主要分為匯程式設計序 編譯程式和解釋程式3種基本型別。其中的編譯程式基本原理看得我真是一頭霧水,太難了!詞法分析 從左到右逐個掃瞄源程式中的字元,識別其中的關鍵字 保...
程式語言和語言處理基礎知識
1 彙編 編譯 解釋系統基礎 1 解釋與編譯 在計算機中使用的高階語言開發的程式都是不能直接執行的,必須經過一系列的處理後才能執行,根據處理方式不同,可分為解釋型和編譯型 2 編譯過程 使用編譯程式將高階語言源程式翻譯為等價的機器語言程式的過程。一般分為一下機構部分 3 形式語言基礎知識 語言是按照...