c語言標識符的文法表示,第三章文法和語法[lly]3.ppt

第三章文法和語法[lly]3

第3章文法和語言;1、語言;研究程序設計語言及研究的三個方面: 每個程序構成的規律(語法 Syntax)每個程序的含義(語義 Semantics)每個程序和使用者的關系(語用 Pragmatics)

語言三個方面定義:語法 -- 表示構成語言句子的各個記號之間的組合規律語義 -- 表示按照各種表示方法所表示的各個記號的特定含義。(各個記號和記號所表示的對象之間的關系)語用 --表示在各個記號所出現的行為中,它們的來源、使用和影響。;以自然語言為例(用 EBNF 描述一種語言:);〈句子〉 ? 〈主語〉〈謂語〉 ? 〈代詞〉〈謂語〉 ? 我〈謂語〉 ? 我〈動詞〉〈直接賓語〉 ? 我是〈直接賓語〉 ? 我是〈名詞〉 ? 我是大學生思考: “?”的含義?“我大學生是” 與“大學生是王明”是句子?;3、程序設計語言與文法關系:一個程序設計語言是一個記號系統,如自然語言一樣,由語句組成,完整的定義應包含語法與語義兩個方面。語法規定了語句形成的規則,(哪些符號序列是合法的,而與其含義無關);語義不僅要限定語法規則(靜態),而且要表明程序要做什么(動態)。文法是闡述語法規則的工具,是形式語言理論基礎。

為語言的語法描述尋求工具工具要對程序設計語言給出精確無二義的語法描述。(嚴謹、簡潔、易讀)形式工具--形式語言抽象地定義為一個數學系統。“形式”是指這樣的事實:語言的所有規則只以什麼符號串能出現的方式來陳述。;字母表?:元素的非空有窮集合。(符號集)符號:字母表中的元素。;例如: Σ={0,1}ε,0,1,00,01,11,1001110等都是?上的符號串.;2)串的頭與尾如果 z = xy 是一符號串,那么:x 是 z 的頭,y 是 z 的尾;如果 x 非空,那么 y 是固有尾;如果 y 非空,那么 x 是固有頭。;3、符號串的運算1)符號串的長度:符號串中符號的個數.符號串s的長度記為|s|。 ε的長度為02)連接:符號串x、y的連接,是把y的符號寫在x的符號之后得到的符號串xy例: x=ST,y=abu 則 xy=STabu |x|=2,|y|=3,|xy|=5 εx = xε= x3)方冪:符號串x自身連接n次得到的符號串 xx…xx(n個x)定義為 x n x0=ε, x1=x, x2=xx, x3=xxx x=AB, 則 x0=ε, x1=AB, x2=ABAB, x3=ABABAB對于 n>0, x n = xxn-1 = xn-1x 4)符號串集合:若集合A中一切元素都是某字母表?上的符號串,則稱A為字母表?上的符號串集合。;Σ* = Σ0 ∪ Σ1 ∪ Σ2 … ∪ Σn …Σ+ = Σ1 ∪ Σ2 … ∪ Σn …Σ* = Σ0 ∪ Σ+Σ+ = ΣΣ* = Σ* ΣΣ+ = Σ* -{ε};1、規則(重寫規則、產生式或生成式): 是形如α→β或α∷=β的(α,β)有序對,其中α是某字母表V的正閉包V+中的一個符號,β是V*中的一個符號。(α∈V+,β∈V* why?) α稱為規則的左部(或生成式的左部)。 β稱為規則的右部(或生成式的右部)。

例:〈句子〉::= 〈主語〉〈謂語〉〈主語〉::= 〈代詞〉|〈名詞〉〈代詞〉::= 你 | 我 | 他;2、文法G定義為四元組(VN,VT,P,S)元素說明:VN :非終結符集VT :終結符集P:產生式(規則)集合S:開始符號(識別符號)VN、VT 和 P 是非空有窮集。S 至少在一條規則中作為左部出現。VN∩VT= φ, S∈VNV=VN∪VT,稱為文法G的字母表(字匯表);例3.2 文法G=(VN,VT,P,S)VN ={標識符,字母,數字}VT ={a,b,c,…x,y,z,0,1,…,9}P={→ →→ →a,…, →z →0,…, →9 }S=

思考: C語言的標識符(變量命名)如何用文法定義?;文法習慣上只將產生式寫出。并有如下約定:第一條產生式的左部是開始符號用尖括號括起的是非終結符,否則為終結符。或者大寫字母表示非終結符,小寫字母表示終結符G可寫成G[S],其中S是開始符號;3、推導的定義;例 文法G=(VN,VT,P,S)VN ={標識符,字母,數字}VT ={a,b,c,…x,y,z,0,1,…,9}P={→ →→

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/news/443167.shtml
繁體地址,請注明出處:http://hk.pswp.cn/news/443167.shtml
英文地址,請注明出處:http://en.pswp.cn/news/443167.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

c語言編程函數補充上機題,2011年計算機二級C語言上機操作題及答案(10)

/********found********/void fun(char *s, *t1, *t2, *w){int i;char *p, *r, *a;strcpy(w, s);while (*w){p w;r t1;/********found********/while (r)if (*r *p){r;p;}else{break;}if (*r ’\0’){a w;r t2;while (*r){*a *r;a;r;}w strlen(t2);}else{w;}}}main(…

蘇州大學實驗報告模板C語言,蘇州大學實驗報告-實驗flash在線編程實驗

1、實驗Flash在線編程實驗一實驗目的1進一步熟悉MT-IDE嵌入式開發系統環境、匯編、C語言、調試方式。2進一步學習SCI通信的內容。3掌握Flash存儲器在線編程的基本概念。4熟悉GP32芯片Flash存儲器的在線編程擦除和寫入的步驟。5理解課本中的程序代碼。二預習要求1仔細閱讀本實驗…

c55x匯編語言,TMS320C55x匯編語言編程A.ppt

TMS320C55x匯編語言編程A例4-17,無效定義的表達式。 .global Y ; 定義Y為全局外部符號 badsym1.set Y ; Y在當前文件中未定義 badsym2.set 50h Y ; 無效的表達式 badsym3.set 50h Z ; 無效的表達式,Z還未定義 Z .set 60h; 定義Z,但應在表達式使用之前 …

c語言課程筆記格式,C語言課程學習筆記.docx

C語言課程學習筆記C語言基礎語言排行榜C——java——objective-C進制:進制:進位機制。用普通的話講,應該為人為的定義一種度量來標識一樣東西。計算機常用的進制有:十進制、二進制、八進制和十六進制。十進制:0-9(十個…

c語言 手機圖形庫,c語言的圖形庫 - osc_opiar5rp的個人空間 - OSCHINA - 中文開源技術交流社區...

圖形庫鏈接http://www.easyx.cn/ 使用圖形庫頭文件easyx.h或graphics.h同樣在里面下載圖形庫幫助文檔進行查詢vs vc都可使用圖形庫圖形庫窗口:initgraph打開窗口closegraph關閉窗口顏色RGB值 RGB(,,):red green blue 下表值都可以在函數中直接使用填充顏…

android 自動掛斷,[轉]android?來電自動接聽和自動掛斷

注意:android2.3版本不支持下面的自動接聽方法。(會拋異常:java.lang.SecurityException:Neither user xxxxx nor current process hasandroid.permission.MODIFY_PHONE_STATE.)第一步:準備應用環境需要的系統包和aidl文件。(1)在應用中創建包…

Android實現mp3分析,Android編程實現播放MP3功能示例

本文實例講述了Android編程實現播放MP3功能。分享給大家供大家參考,具體如下:在android中播放mp3非常簡單,也是項目中經常使用的,比如說要做項目的背景音樂,應用中某些功能的提示音等的。應用非常廣泛,下面提供一個簡單…

android 投票功能,騰訊新聞Android客戶端更新 加入投票功能

騰訊近日更新了其應用《騰訊新聞》安卓版,加入了新聞專題,投票兩大新功能,同事還優化了用戶界面,大家在瀏覽各類新聞方面又有了新的選擇。新版特點:1、新聞專題:熱門新聞專題呈現,聚合瀏覽&…

android8.1自定義通知欄,Android 8.1隱藏狀態欄圖標的實例代碼

近期客戶需求,狀態欄只顯示時間和電池圖標,如圖狀態欄圖標的布局文件在frameworks\base\packages\SystemUI\res\layout\status_bar.xml,主要包括通知,定位,藍牙,信號,時間,電池等圖標&#xff0…

廣州城市地圖為android,廣州無障礙地圖

廣州無障礙地圖是一款非常不錯的手機導航app,專門為老人與殘障人士打造的哦。該app將準確的為殘障用戶規劃出一條沒有任何障礙的出行路線,并且該軟件擁有語音、文字等不同的播報方式。特色說明1、智能化的手機導航的系統,語音識別2、最為準確…

如何將系統退回上個版本Android,vivo NEX A降級教程,如何回退到舊版本系統的方法...

也來分享一下這個vivo NEX A手機的相關降級操作了,因為看到有的小伙伴對對于新升級的系統不是特別的滿意,這個時候就會考慮進行系統的降級回退操作 ,一般直接刷官方的全量包是降不了,需要一個安卓10.0的中轉降級包才行的&#xff…

支持3d android 模擬器,真正免root的3D神器詳細使用教程

3D神器的功能眾所周知,Android手機的GPU(圖像顯示芯片)是內置在CPU中的,而由于各個手機所采用的CPU不同,其GPU也不一樣,不同的GPU,其內置的渲染模式也不一樣。這就導致了不同手機的CPU平臺需要使用對應的游戲數據包才能…

jays+android耳機,android – 響應多按鈕有線耳機

我正在駕駛一對JAYS四耳機(有線遙控器/麥克風上有3個按鈕)插入Galaxy Nexus(ICS 4.0.2)進行實驗.我的問題是,只有中間的按鈕被我寫的測試應用程序’識別’,即按鍵時觸發了Intent.ACTION_MEDIA_BUTTON和/或Activity.onKeyDown回調與KeyCode 79.按另外兩個按鈕不會觸發任何以前的…

華為副總鴻蒙,“哄蒙”敗北!華為副總裁落實最新消息,鴻蒙3月31日正式亮劍...

原標題:“哄蒙”敗北!華為副總裁落實最新消息,鴻蒙3月31日正式亮劍不得不說,最近的華為生態建設又取得了重大的突破。在2020年不到一年的時間里,華為HMS生態注冊開發者的數量就已經快要突破200萬了,如此龐大…

android sonar 簡書,SonarQube對ios、android代碼檢測

一、sonar安裝利用sonar檢測代碼需要安裝下面幾個軟件SonarQube、Sonar-Scanner、OClint、sonar plugin for objective-c、sonar-I10n-zh(安裝步驟參考http://www.cnblogs.com/ishawn/p/3959521.html )二、ios檢測腳本cp -rf /Users/conf/ios/sonar-project.properties ${WORKS…

android afw模式,[HUAWEI-TITANC328]手機加密功能開啟后,工作區中添加超級備份手機不斷重啟的分析報告...

工作區中添加超級備份手機不斷重啟的分析報告【華為反饋】 【TIT-AL00C328B120_AFW_必現】創建工作空間后升級系統,升級失敗,手機循環重啟。通過分析log發現,實際上這個問題與OTA無關,而與工作區應用發出的notification有關。經過溝通和自測&…

html淡化效果,jQuery實現基本淡入淡出效果的方法詳解

本文實例講述了jQuery實現基本淡入淡出效果的方法。分享給大家供大家參考,具體如下:jQuery fadeIn()方法:用于淡入已隱藏的元素jQuery fadeOut()方法:用于淡出可見的元素$(document).ready(function(){$("button").clic…

Html跨頁面調用函數,一個cshtml如何在另一個cshtml中調用一個函數?

在webmatrix中,我在App_Data中創建了一個帶有許多公共靜態函數的DAL.cshtml。我想從其他文件夾中的另一個.cshtml頁面調用它們。我現在得到了編譯器錯誤消息:CS0103:名稱DAL在當前上下文中不存在(請注意,我是一名初學者&#xff0…

html 類型轉換,JavaScript怎么進行類型轉換?

JavaScript怎么進行類型轉換?下面本篇文章就來介紹一下使用javascript進行類型轉換的方法,希望對大家有所幫助。JavaScript 變量可以轉換為新變量或其他數據類型,分為兩種情況:● 隱性轉換:通過 JavaScript 自身自動轉…

html 地圖點擊標注有提示框不完整,百度地圖的實現標注以及標注提示框.docx

$(function () {//最后加載的js代碼findDimensions();map new BMap.Map("container"); // 創建地圖實例// var point new BMap.Point(116.404, 39.915); // 創建點坐標map.centerAndZoom("北京");map.enableScrollWheelZoom(); // 開啟鼠標滾輪縮放map.e…