程式語言和語言處理基礎知識

2021-09-13 01:18:18 字數 2068 閱讀 6918

1、彙編、編譯、解釋系統基礎

(1)解釋與編譯

在計算機中使用的高階語言開發的程式都是不能直接執行的,必須經過一系列的處理後才能執行,根據處理方式不同,可分為解釋型和編譯型

(2)編譯過程

使用編譯程式將高階語言源程式翻譯為等價的機器語言程式的過程。一般分為一下機構部分

(3)形式語言基礎知識

語言是按照一定規則排列的符號和集合。要形式化的描述乙個語言,需要借助一下基本概念:

形式法文: 乙個形式法文是由乙個有序的四元組g=(v、t、s、p)其中:

(4)詞法分析

詞法分析是整個分析過程種的乙個子任務,主要是把構成源程式的字串轉換成語義上關聯的單詞符號(包括關鍵字、識別符號、常數、運算子和分界符等)的序列。詞法分析可以借助於有限自動機的理論與方法進行有效的處理

1)有限自動機  

有限自動機是一種自動識別裝置,能夠準確地識別正規集,它與3型文法對應,可以分為確定的有限自動機和不確定的有限自動機兩種。

確定有限自動機(dfa)是單值對照,不確定有限自動機(nfa)是多值對照。

nfa可以轉換為等價的dfa。

2)正規式

對於字母表

在正規表示式中,一元運算子「*」,具有最高的優先順序,連線運算具有次優先順序,運算子「|」具有最低優先順序,這3個運算都是左結合的。每乙個正規表示式r都對應乙個有限自動機m,使m所接受的語言就是正規表示式的值。

(5)語法分析

語法分析的任務是識別由詞法分析給出的單詞符號串行是否為給定文法的正確句子,語法分析可分為自底向上和自頂向下兩大類。

1) 自底向上分析

自底向上分析也稱為移進——歸約分析法。它的基本思想是:對輸入符號串自左向右進行掃瞄,並將輸入符號逐一移進乙個後進先出的棧中,邊移進邊分析;一旦棧頂符號串形成某個句型的可歸約串時,就用某產生式的左部非終結符來代替(這稱之為歸約)。一種重複這個過程,直到棧中只剩下文法的開始符號。

2)自頂向下分析

自頂向下分析法也稱為面向目標的分析方法,也就是從文法的開始符號出發嘗試推導出與輸入的單詞串相匹配的句子。它可以分為確定和不確定兩種。

2 程式語言基礎

(1)表示式

程式語句的基本組成是表示式。主要體現程式控制和資料改變的方法。表示式可分為字首表示式、中綴表示式與字尾表示式。

1)字首表示式

在字首表示式中,是以從左到右的順序先寫操作符後寫運算元,如果運算元本身是乙個具有操作符的操作,則對其使用同樣的規則。 如 公式 (a+b)*(a-b),使用字首表示式將變為*+ab-ab,函式呼叫可以看作是一種字首表示式,因為一般是吧操作符函式名寫在它引數的左邊,像 f(a,b)。

字首表示式的計算方法意味著在每個運算元壓入棧後都必須簡稱運算元的數目是否滿足最近棧頂操作符的要求,而字尾表示式就無需這種檢查。

2)字尾表示式

字尾表示式與字首表示式類似,不同之處在於操作符跟著運算元之後,前面的公式用字尾表示法 表示為ab+ad-*。

字尾表示式的計算是直接的,易於實現,所以很多翻譯器產生表示式**的基礎都是用它

3)中綴表示式

中綴表示式是日常最通用的用法,但是程式語言中使用中綴表示式會產生下面的問題:

(2)程式語句基本控制結構

表示式的順序控制是把運算元和操作符看著基本單位,研究操作符的計算順序。

語句間的控制是把程式語句作為基本單位,研究語句的執行順序。

程式語言對語句的執行都遵循一條隱含規則,這就是在沒有其他順序控制結構的情況下,按照語句在程式中的物理位置執行程式,也就是順序執行。若改變這種語句執行次序形成了分支結構和迴圈。

(3)程式呼叫的實現機制

在過程式程式語言中,習慣將程式看作層次結構:從主程式開始執行,然後進入各層次的過程執行,最後返回主程式。通常有4個要素,如圖所示:

3 各種程式語言的特定

按照程式設計范型的分類,程式語言基本上可以分為命令式程式語言、函式式程式語言、物件導向程式設計語言和邏輯程式語言。

程式語言基礎知識

1.字符集 掌握跟本門課程相關的字符集組成,例如字母 嚴格區分大小寫 數字,運算子,特別注意運算子 的左右兩邊必須為整數,且結果 的符號由 前面數字符號決定,比如 8 5 3 2.識別符號 由系統預定義識別符號 關鍵字 和使用者自定義識別符號兩種組成 需要注意的是 使用者自定義識別符號的命名規則分為...

程式語言基礎知識總結

語言實現了人與人之間的溝通,那麼人與電腦之間怎麼溝通呢?當然也是語言,它是程式語言。計算機是01的世界,通過程式語言,把人類的大千世界語計算機融合在了一起,amazing。機器語言由01組成,直接用機器語言可讀性差,難以理解,由此逐漸產生了組合語言和高階語言。程式語言面向人,人們用它寫出源程式,目標...

易語言程式設計基礎知識

建立乙個易應用程式只需要短短幾分鐘的時間 通過在設計視窗上 繪製 諸如編輯框和按鈕等元件來建立使用者介面。然後,為視窗和元件設定屬性以規定諸如標題 位置 尺寸等的值。最後,編寫處理程式將生命真正賦於程式。元件及事件驅動 元件及其事件驅動是使用易語言在 windows 環境下程式設計的基礎知識。所謂 ...