語義學是程式設計理論的組成部份,以數學為工具,運用符號和公式,嚴格定義程式設計語言的語義,使語義形式化。查詢語言語義學是指對查詢語言各個成分的含義進行嚴格定義,並且要求計算機系統執行這些成分所產生的效果與其含義完全一致。
基本介紹
- 中文名:查詢語言語義學
- 外文名:query language semantics
- 領域:程式設計理論
- 有關術語:語義學
- 定義:對查詢語言各個成分進行定義
- 目的:防止產生歧義
簡介,查詢語言,語義學,
簡介
程式設計語言的語義通常是由設計者用一種自然語言非形式地解釋的,實現者和使用者則依據各自的理解去實現和使用這種語言。然而使用自然語言和非形式的方法解釋語義,容易產生歧義,造成語言設計者、用戶和實現者對語義的不同理解,影響語言的正確實施和有效使用。查詢語言語義學是指查詢語言中的語義進行嚴格的定義和解釋,防止查詢語言設計者、用戶和實現者對語義理解出現歧義。
查詢語言
非過程性的資料庫操作語言。查詢語言通常具有表達數據查詢、數據操縱(包括數據的增、 刪、改)、數據定義及數據控制的功能。查詢語言是高度非過程化的語言,用查詢語言表達資料庫上的查詢請求時,用戶只需說明想要查詢的數據的特徵,無需說明具體的訪問路徑和步驟。查詢語言既可以獨立地互動式使用,也可以嵌入在某個宿主語言(如 C 語言)中使用。查詢語言的語法通常採用類似於自然語言的形式,以適應非專業人員和最終用戶等非編程人員使用。結構化查詢語言 SQL 是流行的一種功能很強的關係資料庫查詢語言。在70 年代中期,IBM公司的關係資料庫管理系統 System R 中就實現了SQL 的原型 SEQUEL 語言。1986 年美國國家標準學會 ANSI 通過了SQL 的美國國家標準,並公布了其標準文本 (簡稱 SQL86)。國家標準化組織 ISO於 1987 年接受其作為國際標準。後經修訂, 1989年 ISO 公 布了新 的 SQL 標 準,習慣 上稱之為SQL89。1992 年又公布 SQL92 標準。SQL的進一步擴充和標準化工作仍在進行之中。
語義學
美國史丹福大學 J .McCarthy 於 1962 年系統地論述了程式設計語言語義形式化的重要性 , 以及它同程式的正確性、語言的正確實現等的關係,並提出在形式語義研究中使用抽象語法和狀態向量等方法。近年來,形式語義的理 論和套用都有 了很大發展。程式設計語言的語法是規定程式組成方法的一些規則,稱為具體語法 ,但在定義程式的語義時,必須首先識別給定的程式,分析程式的語法結構。因此,在形式語義中使用一種討論程式分解的語法規則,這種語法稱作抽象語法。不同的程式設計語言往往使用不同的記號和表示方式。形式語義提供的方法適用於一切程式設計語言,故抽象語法採用的記號和表示方式也是具體語法的一種抽象。在定義程式設計語言的語義時,需要一種定義語義的語言,這種語言稱為元語言。元語言可以採用已有的數學語言,也可以是以數學理論為基礎的專門設計的語言。用元語言去定義程式語言的形式語義,必須首先嚴格定義元語言的語義。
語義學(英語:Semantics,法語:La sémantique),也作“語意學”,是一個涉及到語言學、邏輯學、計算機科學、自然語言處理、認知科學、心理學等諸多領域的一個術語。語言學的語義學研究目的在於找出語義表達的規律性、內在解釋、不同語言在語義表達方面的個性以及共性。在計算機科學中,語義學研究在於機器對自然語言的理解,對形式語言及其句子採用形式系統方法進行語義定義的學問。 需要形式語義研究的原因有以下幾點。幫助理解語言;支持語言標準化;指導語言設計;幫助編寫編譯器和語言系統;支持程式驗證和軟體可靠性;有助於軟體規範化。用程式設計語言編寫的程式,規定了計算機對數據的加工過程。 形式語義學的基本方法是用一種元語言將程式加工數據的過程及其結果形式化,從而定義程式的語義。根據所用數學工具和研究重點,語義可分為四大類:操作語義。通過語言的實現方式定義語言的語義,也就是將語言成分所對應的計算機的操作作為語言成分的語義。因為語言的語義應該是標準的,不應依賴於特定的計算機系統,或一種具體的實現方式,因此,操作語義使用抽象機和抽象解釋程式來定義語言的語義。指稱語義:主要刻畫數據加工的結果, 而不是加工過程的細節;公理語義: 用公理化的方法描述程式對數據的加工;代數語義: 把程式設計語言看作是刻畫數據和加工數據的一種抽象數據類型 , 使用研究抽象數據類型的代數方法 ,來描述程式設計語言的形式語義。