shangjiao6.m為主程序;pcode.m為產(chǎn)生偽碼的子程序;bu.m為進(jìn)行補(bǔ)0的子程序(為了使得進(jìn)行FFT和IFFT的點(diǎn)數(shù)滿足2的N次方個(gè)) c_b.m為數(shù)據(jù)進(jìn)行串并轉(zhuǎn)換的子程序。
標(biāo)簽: shangjiao pcode 程序 IFFT
上傳時(shí)間: 2015-12-15
上傳用戶:GHF
PL/0語(yǔ)言是Pascal語(yǔ)言的一個(gè)子集,我們這里分析的PL/0的編譯程序包括了對(duì)PL/0語(yǔ)言源程序進(jìn)行分析處理、編譯生成類(lèi)pcode代碼,并在虛擬機(jī)上解釋運(yùn)行生成的類(lèi)pcode代碼的功能。 PL/0語(yǔ)言編譯程序采用以語(yǔ)法分析為核心、一遍掃描的編譯方法。詞法分析和代碼生成作為獨(dú)立的子程序供語(yǔ)法分析程序調(diào)用。語(yǔ)法分析的同時(shí),提供了出錯(cuò)報(bào)告和出錯(cuò)恢復(fù)的功能。在源程序沒(méi)有錯(cuò)誤編譯通過(guò)的情況下,調(diào)用類(lèi)pcode解釋程序解釋執(zhí)行生成的類(lèi)pcode代碼。以下源程序是以清華大學(xué)出版社《編譯原理》中的源代碼為基礎(chǔ)作了少量改動(dòng)而成。 程序在Turbo Pascal 7.0上編譯運(yùn)行通過(guò)。
上傳時(shí)間: 2015-04-24
上傳用戶:SimonQQ
設(shè)計(jì)文檔基本內(nèi)容如下: 1) 整體框架 2) 詞法分析 Class CTokenizer Class CScaner C關(guān)鍵字表 標(biāo)識(shí)符詞法 3) 語(yǔ)法分析 Class CParser Grammar 基本樹(shù)形結(jié)構(gòu) 支持的語(yǔ)句及運(yùn)算 4) 建立符號(hào)表 Class LineListRec Class BucketListRec Class CSymbolTable Class CFunArgsCheck 5) 類(lèi)型檢測(cè) Class CAnalyzer 類(lèi)型匹配 函數(shù)調(diào)用參數(shù)檢測(cè) 6) 代碼生成 pcode 80X86 ASM 7) 總結(jié) 詳細(xì)內(nèi)容請(qǐng)閱讀本文提供的設(shè)計(jì)文檔與全部源代碼。
標(biāo)簽: Class CTokenizer CScaner 分
上傳時(shí)間: 2014-01-11
上傳用戶:qiaoyue
在本編譯程序中,源語(yǔ)言為PL/0語(yǔ)言,目標(biāo)語(yǔ)言為假想棧式計(jì)算機(jī)的匯編語(yǔ)言.PL/0語(yǔ)言是Pascal語(yǔ)言的一個(gè)子集,PL/0的編譯程序包括了對(duì)PL/0語(yǔ)言源程序進(jìn)行分析處理、編譯生成類(lèi)pcode代碼,并在虛擬機(jī)上解釋運(yùn)行生成的類(lèi)pcode代碼的功能。 PL/0語(yǔ)言編譯程序采用以語(yǔ)法分析為核心、一遍掃描的編譯方法。詞法分析和代碼生成作為獨(dú)立的子程序供語(yǔ)法分析程序調(diào)用。語(yǔ)法分析的同時(shí),提供了出錯(cuò)報(bào)告功能。在源程序沒(méi)有錯(cuò)誤編譯通過(guò)的情況下,調(diào)用類(lèi)pcode解釋程序解釋執(zhí)行生成的類(lèi)pcode代碼。 該軟件為PL/0語(yǔ)言編譯程序,所實(shí)現(xiàn)的擴(kuò)充功能如下: 1.增加單詞:保留字 ELSE,F(xiàn)OR,TO, DOWNTO 2.增加運(yùn)算 +=,-=,++,-- 3.不等號(hào)# 改為 <> 4.增加條件語(yǔ)句的ELSE子句 5.擴(kuò)充語(yǔ)句: ①FOR <變量>:=<表達(dá)式> TO <表達(dá)式> DO <語(yǔ)句> ②FOR <變量>:=<表達(dá)式> DOWNTO<表達(dá)式> DO <語(yǔ)句> 其中,語(yǔ)句①的循環(huán)變量的步長(zhǎng)為1, 語(yǔ)句②的循環(huán)變量的步長(zhǎng)為-1。 概述 源文件: *.plo 目標(biāo)文件: *.COD 實(shí)現(xiàn)平臺(tái):C++ Builder6.0
上傳時(shí)間: 2015-06-22
上傳用戶:hanli8870
1. PL/0 語(yǔ)言介紹 ●PL/0 程序設(shè)計(jì)語(yǔ)言是一個(gè)較簡(jiǎn)單的語(yǔ)言,它以賦值語(yǔ)句為基礎(chǔ),構(gòu)造概念有順序、條件和重復(fù)(循環(huán))三種。PL/0 有子程序概念,包括過(guò)程定義(可以嵌套)與調(diào)用且有局部變量說(shuō)明。PL/0語(yǔ)言編譯程序采用以語(yǔ)法分析為核心、一遍掃描的編譯方法。詞法分析和代碼生成作為獨(dú)立的子程序供語(yǔ)法分析程序調(diào)用。語(yǔ)法分析的同時(shí),提供了出錯(cuò)報(bào)告和出錯(cuò)恢復(fù)的功能。在源程序沒(méi)有錯(cuò)誤編譯通過(guò)的情況下,調(diào)用類(lèi)pcode解釋程序解釋執(zhí)行生成的類(lèi)pcode代碼。 ●保留字(關(guān)鍵字):所謂保留字是指在Pascal語(yǔ)言中具有特定的含義。標(biāo)準(zhǔn)Pascal語(yǔ)言中的保留字一共有35個(gè),Turbo Pascal語(yǔ)言一共有51個(gè)。下面是Pascal語(yǔ)言的保留字:AND,ARRAY,BEGIN,CASE,CONST,DIV,DO,DOWNTO,ELSE,END,F(xiàn)ILE,F(xiàn)OR,F(xiàn)UNTION,GOTO,IF,IN,LABEL,MOD,NIL,NOT,OF,OR,PACKED,PROCEDURE,PROGRAM,RECORD,REPEAT,SET,THEN,TO,TYPE,UNTIL,VAR,WHILE,WITH,EXPORTS,SHR,STRING,ASM,OBJECT,UNIT,CONSTRUCTOR,IMPLEMENTATION,DESTRUCTOR,USES,INHERITED,INLINE,INTERFACE,LIBRARY,XOR,SHL
標(biāo)簽: PL 語(yǔ)言 程序設(shè)計(jì)語(yǔ)言
上傳時(shí)間: 2015-07-17
上傳用戶:zm7516678
《PL/0的編譯器》:PL/0語(yǔ)言是Pascal語(yǔ)言的一個(gè)子集,《PL/0的編譯器》實(shí)現(xiàn)了把客戶用PL/0語(yǔ)言編寫(xiě)的程序編譯成類(lèi)pcode代碼,并能虛擬機(jī)上解釋運(yùn)行生成的類(lèi)pcode代碼的功能。《PL/0的編譯器》采用以語(yǔ)法分析為核心、一遍掃描的編譯方法。詞法分析和代碼生成作為獨(dú)立的子程序供語(yǔ)法分析程序調(diào)用。語(yǔ)法分析的同時(shí),提供了出錯(cuò)報(bào)告和出錯(cuò)恢復(fù)的功能。
標(biāo)簽: Pascal PL 語(yǔ)言 編譯器
上傳時(shí)間: 2013-12-19
上傳用戶:busterman
C語(yǔ)言寫(xiě)的PL0文法編譯器,編譯得到虛擬機(jī)代碼(pcode)并解釋執(zhí)行。
上傳時(shí)間: 2016-03-24
上傳用戶:lixinxiang
本程序是簡(jiǎn)單的c編譯器源碼,可以直接生成pcode,然后跑在虛擬機(jī)中
上傳時(shí)間: 2013-12-15
上傳用戶:思琦琦
PL0編譯器 PL/0編譯器的源語(yǔ)言是PL/0語(yǔ)言,目標(biāo)語(yǔ)言類(lèi)pcode代碼,用C語(yǔ)言編寫(xiě)而實(shí)現(xiàn)的。PL/0語(yǔ)言功能簡(jiǎn)單、結(jié)構(gòu)清晰、可讀性強(qiáng)、具有一般高級(jí)語(yǔ)言的特點(diǎn)。PL/0語(yǔ)言語(yǔ)句類(lèi)型豐富,適應(yīng)各種程序結(jié)構(gòu),賦值語(yǔ)句為其基礎(chǔ)。 本PL/0編譯器是在Visual C++6.0軟件環(huán)境下,用C語(yǔ)言實(shí)現(xiàn),在Window XP平臺(tái)下運(yùn)行通過(guò)的。
上傳時(shí)間: 2016-08-25
上傳用戶:小草123
C0文法編譯器,實(shí)現(xiàn)語(yǔ)言是cpp,生成pcode目標(biāo)碼。
標(biāo)簽: 編譯器
上傳時(shí)間: 2017-04-07
上傳用戶:亞亞娟娟123
蟲(chóng)蟲(chóng)下載站版權(quán)所有 京ICP備2021023401號(hào)-1