COBOL語言編譯器

COBOL語言編譯器

COBOL語言,是一種面向過程的高級程式設計語言,主要用於數據處理,是國際上套用最廣泛的一種高級語言。COBOL是英文Common Business-Oriented Language的縮寫,原意是面向商業的通用語言。COBOL語言編譯器是指將COBOL原始碼編譯轉換成機器代碼的編譯器。編譯器首先檢查是否有任何語法錯誤,然後將其轉換為機器語言。編譯器創建一個稱為載入模組輸出檔案。此輸出檔案包含0和1形式的可執行代碼。

基本介紹

  • 中文名:COBOL語言編譯器
  • 外文名:COBOL language compiler
  • 學科:計算機
  • 領域:程式語言
  • 作用:COBOL原始碼編譯轉換成機器代碼
  • 有關術語:編譯器
簡介,COBOL語言,編譯程式,

簡介

COBOL語言編譯器是指將COBOL語言編譯轉換成機器代碼的編譯器,如cobol85編譯器,GNU gfortran95編譯器,以及GnuCOBOL編譯器,稱之為 OpenCOBOL,是 COBOL 編譯器。GnuCOBOL編譯器有如下特徵:完全實現 COBOL無縫集成C;通過了超過 9700 NIST COBOL 85 測試套件和超過500個內部檢測;可以直接訪問所有C庫,甚至是C++ 基礎庫編譯器構建GNU Autotools,甚至是 LLVM clang支持 CGI capable 和 desktop代碼集成 Ada, Guile, Lua, Rexx, Javascript, Python 等等
EXEC SQL 預處理器支持 PostgreSQL, Firebird, ODBC, DB2;REPORT SECTION, SCREEN SECTION, FUNCTION-ID 支持;ASCII, EBCDIC, little endian, big endian. A build published for z/OS OMVS/USS編譯器信息翻譯支持:英語,西班牙語,日語等等完全支持 COBOL 2014 Compiler Directing Facility 特性集。

COBOL語言

COBOL語言,其名稱來自於通用商業語言(英語:Common Business Oriented Language,又譯為面向常規業務型語言/常規商業信息處理語言)的縮寫,是最早的高階程式語言、以及是世界上最早實施標準化的計算機語言之一。屬於編譯語言。1959年5月,五角大廈委託葛麗絲·霍普博士領導一個委員會,制定了COBOL語言的標準,並於1961年由美國數據系統語言協會公布。正式發布於1960年4月,稱為Cobol-60,最新的版本是Cobol-2002。COBOL最早是以葛麗絲·霍普開發的FLOW-MATIC語言為範本。值得注意的是,葛麗絲·霍普並不是發明COBOL的六人組成員之一。1959 年,在紐約曼哈頓的雪梨荷蘭酒店,Jean E. Sammet 和其他 5 位程式設計師封閉兩周,幾乎是無晝夜地開發,完成了 COBOL 的大部分設計。1963年,美國國家標準學會進行了標準化,但是ANSI標準很少被遵循;因此,COBOL程式只是部分可移植的。COBOL是一種面向數據處理的、面向檔案的、面向過程(POL)的高級程式語言,是一種功能很強而又極為冗長的語言。COBOL適合於具有循環處理周期的環境(例如列印工資支票)以及數據操縱量相當大的環境。COBOL主要套用於商業數據處理領域,對各種類型的數據進行 收集、存儲、傳送、分類、排序、計算及列印報表、輸出圖像是它的強項。COBOL語法與英文很接近,即使不懂電腦的人也能看懂程式。強大的檔案處理功能,大量的數據通常以檔案的形式存儲在磁碟上。僅提供了加、減、乘、除及乘方這五種簡單的算術運算,因而不適於進行科學計算。未來的COBOL將支持XML等Web時代的新技術。

編譯程式

編譯程式將高級語言書寫的程式翻譯成等價的機器語言程式或彙編語言程式的處理系統。編譯程式以高級語言書寫的程式作為輸入,稱之為源程式;而以機器語言或彙編語言表示的程式作為輸出, 稱之為目標程式;其最終任務是產生一個可在具體計算機上執行的目標程式。執行目標程式將會按照用戶在源程式中所規定的意圖,加工初始數據,算出所需的結果,完成所希望的加工任務。源程式中的每個語句與目標程式中的指令通常是一多對應關係,所以編譯程式的實現算法較為複雜,但它可以產生高效運行的目標程式,因此編譯程式更適合於翻譯那些規模較大、結構較複雜、運行時間較長的大型應用程式。編譯程式必須分析源程式, 然后綜合成目標程式為此,編譯程式要在分析階段建立符號表、 常數表和中間語言程式等數據結構,以便在分析和綜合時引用和加工。源程式的分析是經過詞法分析、語法分析和語義分析三個步驟完成的,目的是檢查源程式的語法和語義的正確性,並把源程式分解成一系列的基本組成成分目標程式的綜合通常包括存儲分配、代碼最佳化、代碼生成等幾個步驟, 目的是為源程式的常數、變數、數組等數據結構分配存儲空間,重新組織分析階段產生的基本組成成分,將其綜合成高效運行的可執行目標程式。編譯程式在邏輯上由分析和綜合兩大部分組成,並可進一步細分為詞法分析、語法分析、語義分析、存儲分配、代碼最佳化和代碼生成6個相繼的邏輯步驟。具體設計和實現編譯程式時,通常是按照從頭到尾掃視源程式 (或其等價的中間語言程式) 的遍數來規劃編譯程式的結構,安排相關邏輯步驟的工作。每一遍可以按順序執行方式或並行調用方式,完成一個或相連幾個邏輯步驟的工作。例如,可以把詞法分析作為第一遍;語法分析和語義分析作為二遍;存儲分配和代碼最佳化作為第三遍;代碼生成作為第四遍。反之,為了適應較小的記憶體空間或提高目標程式質量,也可以把一個邏輯步驟的工作分為幾遍去完成。例如,代碼最佳化可劃分為代碼最佳化準備和實際代碼最佳化兩遍來完成。編譯程式採用多少遍的編譯結構,應根據機器的規模、程式語言的繁簡、編譯程式的功能、目標程式的質量、設計人員的多少等具體情況而定。一遍編譯程式是一種極端的情況,整個編譯程式同時駐留在記憶體,彼此之間採用調用轉接方式連線在一起工作。當語法分
析程式需要新符號時,它就調用詞法分析程式;當它識別出某一語法結構時,它就調用語義分析程式。語義分析程式對識別出的結構進行語義檢查,並調用“存儲分配”和“代碼生成”程式生成相應的目標語言的指令序列。

相關詞條

熱門詞條

聯絡我們