導航:首頁 > 源碼編譯 > basic原程序編譯原理

basic原程序編譯原理

發布時間:2022-05-06 01:08:23

1. 早期的BASIC語言採用的是什麼方法將源程序轉換成機器語言

BASIC程序不轉換為機器語言,是另外一個匯編語言編寫的程序來解釋執行它:一句一句的執行BASIC源程序。

2. 編寫程序代碼的原理是什麼

編代碼到最終目標呈現的過程:

某人寫的」一串代碼「 能夠有這樣的作用:調用這段代碼對應的其他預裝代碼在顯示器上畫一個圓,就和 你開車的時候「順時針」打方向盤,車就會向右轉向一樣。具體怎麼實現的是由前人累計實現的,專業要弄清楚,您要讀《編譯原理》這本書及類似的資料。

大多數人們學習編程本質是學習怎麼使用編程軟體的方法、編寫代碼的規范、程序開發中一些常用概念。創造性的東西需要極少專家級別的人研究出來,一個從無到有的過程;其他人直接學習研究結果,是什麼?搞懂怎麼用,這樣一個過程。

編寫代碼的本質:按照編碼規范調用。

若您不能自主解決問題,可致電官方或聯系我們,獲取免費專業處理意見及幫助。




3. 編譯原理中如何翻譯常量,常量翻譯有什麼特點

編譯程序:把用高級程序設計語言書寫的源程序,翻譯成等價的計算機匯編語言或機器語言的目標程序的翻譯程序。 解釋程序是高級語言翻譯程序的一種,它將源語言(如BASIC)書寫的源程序作為輸入,解釋一句後就提交計算機執行一句,並不形成目標程序。

4. C語言和BASIC語言的區別

C語言和BASIC語言的區別:

1、定義不同:

BASIC是一種直譯式程序設計語言。

C語言是一門通用計算機編程語言。

2、用處不同:

C語言廣泛應用於底層開發。

BASIC主要用於微電腦的開發語言之一。

3、編譯工具不同:

C語言:其編譯器主要有Clang、GCC、WIN-TC、SUBLIME、MSVC、Turbo C等。

BASIC語言:PowerBASIC、RealBasic、pureBasic、freebasic、NiceBASIC等。

4、特點不同:

BASIC語言:

(1)構成簡單。

(2)是一種「人機會話」式的語言。

(3)功能較全、適用面廣。

(4)執行方式靈活。

C語言:

①、C語言是一個有結構化程序設計、具有變數作用域(variable scope)以及遞歸功能的過程式語言。

②、C語言傳遞參數均是以值傳遞(pass by value),另外也可以傳遞指針(a pointer passed by value)。

③、不同的變數類型可以用結構體(struct)組合在一起。

④、只有32個保留字(reserved keywords),使變數、函數命名有更多彈性。

⑤、部份的變數類型可以轉換,例如整型和字元型變數。

⑥、通過指針(pointer),C語言可以容易的對存儲器進行低級控制。

⑦、預編譯處理(preprocessor)讓C語言的編譯更具有彈性。

5、發展歷史不同:

BASIC語言:BASIC語言早期是以直譯程式的方式創始,也演化出許多不同名稱的版本,如:BASICA, GW-BASIC, MBASIC, TBASIC等。

C語言:C語言之所以命名為C,是因為 C語言源自Ken Thompson發明的B語言,而 B語言則源自BCPL語言。

1967年,劍橋大學的Martin Richards對CPL語言進行了簡化,於是產生了BCPL(Basic Combined Programming Language)語言。

5. 什麼是源程序和目標程序

源程序也叫源碼,就是最開始編寫的程序,計算機並不能識別,需要經過編譯生成目標程序。

目標程序是能夠被計算機識別執行的,比如我們在網上下載的軟體,例如QQ,迅雷,這一類軟體都是目標程序,都是經過編譯的,商業公司一般不會發布源碼,源碼涉及到商業機密。

大家可以看看下面對兩者的區分:

1 .源程序,是指未經編譯的,按照一定的程序設計語言規范書寫的,人類可讀的文本文件。通常由高級語言編寫。源程序可以是以書籍或者磁帶或者其他載體的形式出現,但最為常用的格式是文本文件,這種典型格式的目的是為了編譯出計算機可執行的程序。將人類可讀的程序代碼文本翻譯成為計算機可以執行的二進制指令,這種過程叫做編譯,由各種編譯器來完成。一般用高級語言編寫的程序稱為「源程序」。

2. 目標程序,又稱為「目的程序」,為源程序經編譯可直接被計算機運行的機器碼集合,在計算機文件上以.obj作擴展名----由語言處理程序(匯編程序,編譯程序,解釋程序)將源程序處理(匯編,編譯,解釋)成與之等價的由機器碼構成的,計算機能夠直接運行的程序,該程序叫目標程序。目標代碼盡管已經是機器指令,但是還不能運行,因為目標程序還沒有解決函數調用問題,需要將各個目標程序與庫函數連接,才能形成完整的可執行程序。

6. 什麼是basic語言,c語言

BASIC 是屬於高階程式語言的一種,英文名稱的全名是 "Beginner's All-Purpose Symbolic Instruction Code",取其首字字母簡稱 "BASIC",就名稱的含意來看,是"適用於初學者的多功能符號指令碼",是一種在計算機發展史上應用最為廣泛的程式語言。
BASIC語言的主要特點是:
(1)構成簡單。 BASIC語言的最基本語句只有17種,而且它們都是常見的英文單詞或其變形,如READ、END等,很容易學習和掌握。
(2)是一種「人機會話」式的語言。通過鍵盤操作,用BASIC語言編寫完的程序,可以在計算機上邊編寫、邊修改、邊運行。而且還可以在運行中向人們提示信息的指出錯誤,要求人去改正,即實現了人和機器的對話。
(3)BASIC語言應用廣泛。許多中、小學以至於大學都開設BASIC語言。

BASIC 語言採用的是解釋器,就是逐句翻譯成機器語言程序,譯出一句就立即執行,即邊翻譯邊執行.與編譯器比起來,解釋器費時比編譯器更多,但可少佔計算機的內存.
使用BASIC語言的微型機有APPLE機和TRS-80機等.它們的使用方法有些不同.
下面舉一個BASIC語言編的程序.
10 LET X=2
20 LET Y=SIN(X)
30 PRINT Y
RUN
0.034899496

C語言是一種計算機程序設計語言。它既有高級語言的特點,又具有匯編語言的特點。它可以作為系統設計語言,編寫工作系統應用程序,也可以作為應用程序設計語言,編寫不依賴計算機硬體的應用程序。因此,它的應用范圍廣泛。

C語言對操作系統和系統使用程序以及需要對硬體進行操作的場合,用C語言明顯優於其它解釋型高級語言,有一些大型應用軟體也是用C語言編寫的。

C語言具有繪圖能力強,可移植性,並具備很強的數據處理能力,因此適於編寫系統軟體,三維,二維圖形和動畫。它是數值計算的高級語言。

常用的C語言IDE(集成開發環境)有Microsoft Visual C++,Borland C++,Watcom C++ ,Borland C++ ,Borland C++ Builder,Borland C++ 3.1 for DOS,Watcom C++ 11.0 for DOS,GNU DJGPP C++ ,Lccwin32 C Compiler 3.1,Microsoft C,High C,Turbo C等等

7. 編譯原理的相關程序

解釋程序(interpreter):解釋程序是如同編譯器的一種語言翻譯程序。它與編譯器的不同之處在於:它立即執行源程序而不是生成在翻譯完成之後才執行的目標代碼。從原理上講,任何程序設計語言都可被解釋或被編譯,但是根據所使用的語言和翻譯情況,很可能會選用解釋程序而不用編譯器。例如, 我們經常解釋BASIC語言而不是去編譯它。類似地,諸如LISP 的函數語言也常常是被解釋的。
解釋程序也經常用於教育和軟體的開發,此處的程序很有可能被翻譯若干次。而另一方面,當執行的速度是最為重要的因素時就使用編譯器,這是因為被編譯的目標代碼比被解釋的源代碼要快得多,有時要快10倍或更多。但是,解釋程序具有許多與編譯器共享的操作,而兩者之間也有一些混合之處。 代碼生成(code generator):代碼生成器得到中間代碼(IR),並生成目標機器的代碼。正是在編譯的這個階段中,目標機器的特性成為了主要因素。當它存在於目標機器時,使用指令不僅是必須的而且數據的形式表示也起著重要的作用。例如,整型數據類型的變數和浮點數據類型的變數在存儲器中所佔的位元組數或字數也很重要。在上面的示例中,現在必須決定怎樣存儲整型數來為數組索引生成代碼。例如,下面是所給表達式的一個可能的樣本代碼序列(在假設的匯編語言中):
M O V R0,index ;;
value of index -> R0 M U L R0,2 ;;
double value in R0 M O V R1,&a ;;
address of a -> R1 A D D R1,R0 ;;
add R0 to R1 M O V *R1,6 ;;
constant 6 -> address in R1
在以上代碼中,為編址模式使用了一個類似C的協定,因此& a是a的地址(也就是數組的基地址),* R1則意味著間接寄存器地址(因此最後一條指令將值6存放在R1包含的地址中)。這個代碼還假設機器執行位元組編址,並且整型數占據存儲器的兩個位元組(所以在第2條指令中用2作為乘數)。 目標代碼(target code optimizer ):在這個階段中,編譯器嘗試著改進由代碼生成器生成的目標代碼。這種改進包括選擇編址模式以提高性能、將速度慢的指令更換成速度快的,以及刪除多餘的操作。在上面給出的樣本目標代碼中,還可以做許多更改:在第2條指令中,利用移位指令替代乘法(通常地,乘法很費時間),還可以使用更有效的編址模式(例如用索引地址來執行數組 存儲)。使用了這兩種優化後,目標代碼就變成:
MOV R0,index ;;
value of index -> R0 SHL R0 ;;
double value in R0 MOV &a[R0],6 ;;
constant 6 -> address a + R0
到這里就是編譯原理的簡要描述,但還應特別強調編譯器在其結構細節上差別很大。

8. 語言轉換器:實現將BASIC源程序轉換為C語言源程序

您好,這個幾乎是不可能的 :
一個是行編譯的 一個是按文件編譯的,
語法上和類型上也有很大的區別 ,
基本無法逐一轉換,
而如果編譯basic再反編譯成C 那麼又很可能出錯,
所以 你還是放棄吧。

9. 編譯原理中「翻譯程序」如何理解

編譯程序:把用高級程序設計語言書寫的源程序,翻譯成等價的計算機匯編語言或機器語言的目標程序的翻譯程序。

解釋程序是高級語言翻譯程序的一種,它將源語言(如BASIC)書寫的源程序作為輸入,解釋一句後就提交計算機執行一句,並不形成目標程序。

編譯程序和解釋程序都是翻譯程序。
我覺得你說的書上的定義有點問題

閱讀全文

與basic原程序編譯原理相關的資料

熱點內容
噴油螺桿製冷壓縮機 瀏覽:579
python員工信息登記表 瀏覽:377
高中美術pdf 瀏覽:161
java實現排列 瀏覽:513
javavector的用法 瀏覽:982
osi實現加密的三層 瀏覽:233
大眾寶來原廠中控如何安裝app 瀏覽:916
linux內核根文件系統 瀏覽:243
3d的命令面板不見了 瀏覽:526
武漢理工大學伺服器ip地址 瀏覽:149
亞馬遜雲伺服器登錄 瀏覽:525
安卓手機如何進行文件處理 瀏覽:71
mysql執行系統命令 瀏覽:930
php支持curlhttps 瀏覽:143
新預演算法責任 瀏覽:444
伺服器如何處理5萬人同時在線 瀏覽:251
哈夫曼編碼數據壓縮 瀏覽:426
鎖定伺服器是什麼意思 瀏覽:385
場景檢測演算法 瀏覽:617
解壓手機軟體觸屏 瀏覽:350