freepeople性欧美熟妇, 色戒完整版无删减158分钟hd, 无码精品国产vα在线观看DVD, 丰满少妇伦精品无码专区在线观看,艾栗栗与纹身男宾馆3p50分钟,国产AV片在线观看,黑人与美女高潮,18岁女RAPPERDISSSUBS,国产手机在机看影片

正文內(nèi)容

c語言編譯器前端的設(shè)計與實現(xiàn)課程設(shè)計-文庫吧資料

2025-01-24 12:55本頁面
  

【正文】 : one of_ a b c d e f g h i j k l m n o p q r s t u v w x y zA B C D E F G H I J K L M N O P Q R S T U V W X Y Zdigit : one of0 1 2 3 4 5 6 7 8 9 escape: \n, \r, \b, \07 語法分析模塊設(shè)計 在上一節(jié)中,實現(xiàn)了詞法分析程序的功能。 */, LOGICAL_OR/* || */, // others _EOF, _ID, _NUM, _STRING, _CHARACTER, _LABEL, _ERROR, _NONE}。Class CScaner:得到具體的的token類型,定義TokenType如下:enum TokenType{ // reserved Keyword _AUTO, _DOUBLE, _INT, _STRUCT, _BREAK, _ELSE, _LONG, _SWITCH, _CASE, _ENUM, _REGISTER, _TYPEDEF, _CHAR, _EXTERN, _RETURN, _UNION, _CONST, _FLOAT, _SHORT, _UNSIGNED, _CONTINUE, _FOR, _SIGNED, _VOID, _DEFAULT, _GOTO, _SIZEOF, _VOLATILE, _DO, _IF, _STATIC, _WHILE, _READ, _WRITE, _PRINTF, // operations ASSIGN, PLUS, MINUS, TIMES, DIV, MOD, BITWISE_AND, BITWISE_OR, BITWISE_NOT, LOGICAL_NOT, LT, GT, // interpunctions LPARAN, RPARAN, LBRACE, RBRACE, LSQUARE, RSQUARE, COMMA, DOT, SEMI, COLON, // plex operations EQ/* == */, NEQ/* != */, PLUS_PLUS/* ++ */, MINUS_MINUS/* */, PLUS_ASSIGN/* += */, MINUS_ASSIGN/* = */, TIMES_ASSIGN/* *= */, DIV_ASSIGN/* /= */, NGT/* = */, NLT/* = */, LOGICAL_AND/* amp。\39。39。\n39。詞法分析器的功能是輸入源程序,輸出單詞符號。4) 進(jìn)行詞法檢查,如果出現(xiàn)錯誤,記錄出錯信息并報告。 2) 剔除無用的空白字符、制表符、回車字符以及其他與輸入介質(zhì)相關(guān)的非實質(zhì)性字符 。詞法分析的過程是線性的從頭至尾掃描一遍,復(fù)雜度較低,易實現(xiàn)。所以在詞法分析階段,詞法規(guī)則成為重要的研究對象。19 第3章 系統(tǒng)詳細(xì)設(shè)計 系統(tǒng)設(shè)計基本思路基于C語言源程序分析器的開發(fā)在可行性分析的基礎(chǔ)上進(jìn)一步全面、深入的分析,弄清C語言的編譯原理及運行狀況,在編譯程序工作的五個階段中,每個階段都必須遵從功能等價的原則。一個健全的類型系統(tǒng)可以消除對動態(tài)類型檢查的需要,因為它可以幫助我們靜態(tài)地確定這些錯誤不會在程序運行的時候發(fā)生。類型檢查具有發(fā)現(xiàn)程序中的錯誤的功能。然后,編譯器需要確定這些類型表達(dá)式是否滿足一組邏輯規(guī)則。符號表中信息欄的具體組織和安排取決于所翻譯的具體語言與目標(biāo)機(jī)器(的字長和指令系統(tǒng))。因此,采用多種符號表并讓語法——語義分析程序負(fù)責(zé)查填工作是比較妥當(dāng)?shù)摹@?,XYZ可能既是一個實變量名又是一個標(biāo)號名,或者又是某個結(jié)構(gòu)型數(shù)據(jù)的一個分量名。也就是,當(dāng)掃描器碰到一個標(biāo)識符時就對它查填符號表,然后回送它在符號表中的位置作為單詞值。過程 是否為程序的外部過程?若為函數(shù),類型是什么?其說明是否處理過?是否遞歸?形式參數(shù)是些什么?為了與實參進(jìn)行比較,必須把它們的種屬、類型信息同過程名聯(lián)系在一起。但編譯時登記在符號表中的各名字的性質(zhì)只能來自說明語句(包括隱含約定和標(biāo)號定義)或其它引用情形。現(xiàn)今多數(shù)程序語言中的名字或者是用說明語句規(guī)定其性質(zhì),或者采用某種隱含約定(如FORTRAN中凡以字符I,J,…N開頭的標(biāo)識符代表整型變量名)。 符號表符號表的信息欄中登記了每個名字的有關(guān)性質(zhì),如類型(整、實或布爾等)、種屬(簡單變量、數(shù)組、過程等)、大?。ㄩL度,即所需的存儲單元字?jǐn)?shù))以及相對數(shù)(指分配給該名宇的存儲單元的相對地址)。有些快速編譯程序幾乎沒有中間代碼,但是為了使目標(biāo)代碼的優(yōu)化比較容易實現(xiàn),獨立于機(jī)器進(jìn)行,許多編譯程序都采用了某種復(fù)雜性程度介于源程序語言和機(jī)器語言之間的中間語言。在此基礎(chǔ)上,根據(jù)尋找句柄策略的不同,便形成了不同的自底向上的語法分析方法。但若全部輸入符號已被移掉,而分析棧卻不能出現(xiàn)上述格局,則表明輸入符號串不是文法的一個句子,其中必定存在語法錯誤。由于歸約,便得到了新的棧頂,此時再查看棧的頂部是否形成新的句柄:若是,再進(jìn)行歸約;反之,則繼續(xù)將后續(xù)的輸入符號移入棧內(nèi),并重復(fù)上述過程。和自頂向下的分析過程一樣,實現(xiàn)自底向上的分析,通常也須使用一個分析棧來存放分析過程中所得的文法符號。因此,欲實現(xiàn)自頂向下的語法分析,其首要任務(wù)是改造程序設(shè)計語言的文法,使得文法無左遞歸且無左公因子,以消除其中的左遞歸和避免回溯的出現(xiàn)。在進(jìn)行自頂向下的語法分析時,通常有兩個障礙須加以解決:(1) 由于采取了最左推導(dǎo),故當(dāng)相應(yīng)文法G中含有左遞歸的非終結(jié)符號時,便會使語法分析過程陷入循環(huán)不已的狀況。所謂自頂向下的語法分析,只指對于給定輸入串w,試圖為其構(gòu)造一個從文法開始符號S到w的最左推導(dǎo)S=w,或為w自上而下地構(gòu)造一棵S為根結(jié)點的語法樹。 語法分析語法分析程序又稱分析器,它以單詞串形式的源程序作為輸入或分析的對象,其基本任務(wù)是:根據(jù)程序設(shè)計語言的語法規(guī)則(即定義該語言的前后無關(guān)文法),分析源程序的語法結(jié)構(gòu),即分析如何由這些單詞組成該源程序的各種語法成分(如下標(biāo)變量、函數(shù)、各種表達(dá)式、各種程序語句等),并在分析過程中進(jìn)行語法正確性檢查,產(chǎn)生內(nèi)部形式的中間代碼,供編譯程序后續(xù)階段處理。另一種方式是將詞法分析編成一個子程序,該子程序由語法分析程序調(diào)用,當(dāng)語法分析程序需要一個新的單詞時,就調(diào)用該子程序,每調(diào)用一次,則從源程序字符串中讀出一個具有獨立意義的單詞。從工作方式上看,他與語法分析之間存在兩種接口方式。此外,視編譯工作流程的組織,一些編譯程序在進(jìn)行詞法分析時,還要完成將所識別出的標(biāo)志符登錄到符號表的工作。通??刹捎枚剑–LASS,VALUE)來表示一個單詞符號的內(nèi)部編碼,其中CLASS為一整數(shù)碼,用于表示該單詞的類別;VALUE則是單詞之值(如變量名在符號表中的序號,常數(shù)的二進(jìn)制表示,以及運算符和分隔符的編碼,等等)。 詞法分析詞法分析程序又稱掃描器,它是編譯過程的第一個階段。本系統(tǒng)只完成整個編譯過程中的詞法分析、語法分析、語義分析以及其中的建立符號表和類型檢查幾個步驟。第3章 系統(tǒng)的詳細(xì)設(shè)計介紹了系統(tǒng)的基本流程,各個模塊的設(shè)計思想和核心代碼部分。第2章 C語言詞法分析器的總體分析與設(shè)計簡單的介紹了系統(tǒng)的設(shè)計目標(biāo)及系統(tǒng)要實現(xiàn)的功能。僅當(dāng)以項目的大范圍上下文查看數(shù)據(jù)時,團(tuán)隊才能夠精確地報告項目狀態(tài)。該數(shù)據(jù)以某些標(biāo)準(zhǔn)的報告方式呈現(xiàn),客戶和 Microsoft 內(nèi)部團(tuán)隊已在報告中建立了成功項目管理的關(guān)鍵規(guī)則。Visual Studio Team System 中集成的數(shù)據(jù)將開創(chuàng)一條新路 — 通過平衡利用貫穿于 SDLC 的大量、多樣的數(shù)據(jù)來管理項目規(guī)則。團(tuán)隊根據(jù)能夠收集到的規(guī)則來管理項目。通過將過程集成到團(tuán)隊成員日常使用的基本工具中,Visual Studio 2005 Team System 大大消除了過程采納的障礙,并使自動收集跨職能的項目標(biāo)準(zhǔn)成為可能,而無需實施人工報告的相關(guān)開銷。當(dāng)您在項目初期選擇過程時,還需要選擇工作流和工作產(chǎn)品,它們會驅(qū)動系統(tǒng)的行為方式。 Visual Studio 2005 Team System,那么過程就不僅僅是文檔了。這使開發(fā)人員能夠在生命周期的較早階段就改善其代碼的質(zhì)量,而無需中斷他們的工作。下
點擊復(fù)制文檔內(nèi)容
研究報告相關(guān)推薦
文庫吧 www.dybbs8.com
備案圖鄂ICP備17016276號-1