找到 138 篇文章 關於編譯器設計

什麼是編譯器設計中的喬姆斯基層次結構?

Ginni
更新於 2021 年 10 月 22 日 12:01:34

2K+ 次檢視

喬姆斯基層次結構是各種形式語法的集合。透過使用這種形式語法,它可以生成一些形式語言。它們可以透過多種型別的裝置來定義,這些裝置可以識別這些語言,例如有限狀態自動機、下推自動機、線性有界自動機和圖靈機等。喬姆斯基提出了以下四種不同型別的短語結構語法:0 型語法(無限制語法) - 0 型語法是在替換規則上沒有限制的情況下構建的。左側字串中必須出現非終結符。生成的語言稱為遞迴可列舉語言。因此,0 型語法是… 閱讀更多

什麼是編譯器設計中的繫結和繫結時間?

Ginni
更新於 2021 年 10 月 22 日 11:59:38

10K+ 次檢視

將程式元素繫結到特定特徵或屬性是根據一組可能的屬性選擇該屬性的過程。在程式組織或處理過程中做出此選擇的時間定義為該元素該屬性的繫結時間。程式語言中有多種型別的繫結,以及各種繫結時間。它還可以包含在繫結和繫結時間條款中,即程式元素的屬性,這些屬性由語言或其執行的定義決定是常量。繫結時間型別有兩種型別的… 閱讀更多

語言設計對程式設計環境有哪些影響?

Ginni
更新於 2021 年 10 月 22 日 11:58:36

1K+ 次檢視

程式設計環境通常在兩個主要方面影響語言設計,例如促程序序元件的單獨編譯和組裝的功能,以及有助於程式測試和除錯的功能。單獨編譯 - 在任何大型程式的結構中,通常希望多個程式設計師或程式設計組設計、編碼和測試程式元素,然後將所有元素最後組裝成一個完整的程式。這需要語言的結構,以便可以單獨編譯和實現單個子程式或其他元素,而無需其他元素,然後可以將它們組合起來,而無需… 閱讀更多

什麼是型別轉換?

Ginni
更新於 2021 年 10 月 22 日 11:57:30

17K+ 次檢視

型別轉換是一種操作,它接受一種型別的資料物件並建立多種型別的等效資料物件。型別轉換操作的簽名給出如下:轉換_op:type1→type2有兩種型別的型別轉換,如下所示:隱式型別轉換(強制轉換) - 支援混合模式表示式的程式語言應描述隱式運算元型別轉換的約定。強制轉換定義為型別之間的自動轉換。例如,在 Pascal 中,如果加法運算的運算元是整數型別和另一種實數型別,… 閱讀更多

什麼是靜態型別檢查?

Ginni
更新於 2021 年 10 月 22 日 11:56:22

5K+ 次檢視

型別檢查是確保運算子的運算元是相容型別的活動。相容型別是指對運算子來說合法的型別,或者在語言規則下可以由編譯器生成的程式碼隱式修改為合法型別。這種自動轉換稱為強制轉換。型別錯誤是指將運算子應用於不正確的型別運算元。它可以說明型別檢查的概念,考慮以下語句。c:=a + 3 * b;這裡 b 應該是一種允許乘以整數的型別。同樣,… 閱讀更多

編譯器設計中定義和宣告的區別是什麼?

Ginni
更新於 2021 年 10 月 22 日 11:54:47

378 次檢視

定義它識別與變數、函式、類等名稱相關的程式碼或資料。編譯器本質上需要定義來為宣告的實體指定儲存區域。當定義變數時,它具有包含該變數多個位元組的記憶體量。函式定義會為該函式生成程式碼。它只能在一個程式中定義一次程式元素,因為定義是程式元素的唯一需求。宣告和定義之間的關係可以是一對多。宣告它可以確定程式的名稱,包括… 閱讀更多

什麼是編譯器遍?

Ginni
更新於 2021 年 10 月 22 日 11:53:14

3K+ 次檢視

在生成彙編/機器程式碼之前,可以多次處理整個源程式。遍 - 對源程式進行一次完整的掃描或處理。各個階段可以安排在一個遍中。詞法、語法和語義分析通常組合在一個遍中。每個遍讀取源程式並將輸出寫入中間檔案,然後後續遍可以讀取該檔案,即一個遍的輸出將成為下一個遍的輸入。單遍編譯器 - 在單遍編譯器中,當處理一行原始碼時,它會被掃描並提取標記。然後… 閱讀更多

證明語句 A = B * C + 20 的整個編譯過程,其中 A、B、C 為實數型別

Ginni
更新於 2021 年 10 月 22 日 11:52:10

9K+ 次檢視

解決方案符號表序號變數名稱變數型別200A浮點數204B浮點數208C浮點數現在,我們將瞭解如何在每個級別執行編譯器階段以及它是如何工作的。詞法分析這是第一步,它充當編譯器和源語言程式碼之間的整合。它一次讀取一個字元的原始碼,並將原始碼設計成一系列稱為標記的原子單元。在此階段,我們將瞭解如何對錶達式進行標記化。A → 識別符號:(id, 1)= → 運算子:賦值B → 識別符號:(id, 2)* → 運算子:乘法C → 識別符號:… 閱讀更多

編譯器設計中翻譯器的型別有哪些?

Ginni
更新於 2021 年 10 月 22 日 11:49:08

24K+ 次檢視

翻譯器是一種程式語言處理器,它將計算機程式從一種語言修改為另一種語言。它接受用源程式編寫的程式,並將其修改為機器程式。它可以在翻譯過程中查詢和檢測錯誤。翻譯器有各種型別,如下所示:編譯器 - 編譯器是一個程式,它將高階語言(例如 C、C++ 和 Java)轉換為低階語言(目標程式或機器程式)。編譯器使用各個階段將高階語言轉換為低階語言。客戶輸入的字元流經過… 閱讀更多

什麼是宣告?

Ginni
更新於 2021 年 10 月 22 日 11:47:55

5K+ 次檢視

程式中的宣告是指向程式語言翻譯器提供有關資料物件名稱和型別的資訊的語句。例如,考慮以下 C 宣告:int a, b;此宣告向程式語言翻譯器提供資訊,即 a 和 b 是在執行子程式期間需要的整數型別的資料物件。宣告還在其生命週期內定義了資料物件與名稱 a 和 b 的繫結。宣告的目的宣告的各種目的是:型別檢查 - 宣告允許… 閱讀更多

廣告

© . All rights reserved.