? ? 2.1 程序設(shè)計(jì)語言概述
????????2.1.1 程序設(shè)計(jì)語言的基本概念
? ? ? ? ? ? ? ? ????????低級語言:機(jī)器語言和匯編語言荔烧,
? ? ? ? ? ? ? ? ? ? ? ? ?高級語言:基于低級語言茵宪,進(jìn)行抽象以支持程序設(shè)計(jì)的語言
? ? ? ? ? ? ? ? ? ? ? ? 源程序:用某種高級語言或匯編語言編寫的程序
? ? ? ? ? ? ? ? ? ? ? ? 解釋器:直接解釋執(zhí)行源程序玫芦,或轉(zhuǎn)換成中間代碼在執(zhí)行,不生成獨(dú)立的目標(biāo)程序
? ? ? ? ? ? ? ? ? ? ? ? 編譯器:將源程序翻譯成目標(biāo)語言程序帚桩,然后在計(jì)算機(jī)上運(yùn)行
? ? ? ? ? ? ? ? ? ? ? ? 語法:指程序設(shè)計(jì)語言的基本符號供嚎,組成程序中的各個(gè)語法成分的一組規(guī)則
? ? ? ? ? ? ? ? ? ? ? ? 語義:按照語法規(guī)則構(gòu)成的各個(gè)語法成分的含義
? ? ? ? ? ? ? ? ? ? ? ? 語用:構(gòu)成語言的各個(gè)記號和使用者之間的關(guān)系
? ? ? ? ? ? ? ? ? ? ? ? 程序設(shè)計(jì)語言:Fortran、ALGOL糯而、PASCAL天通、C、C++熄驼、C#像寒、object-C、
? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?Java瓜贾、Ruby诺祸、PHP、Python祭芦、JavaScript筷笨、Delphi典勇、VB......
? ? ? ? ? ? ? ? ? ? ? ? 程序設(shè)計(jì)語言分類:命令式和結(jié)構(gòu)化躁倒、面向?qū)ο蟆⒑瘮?shù)式越平、邏輯型
????????2.1.2 程序設(shè)計(jì)語言的基本成分
????????????????????????程序設(shè)計(jì)語言成分:數(shù)據(jù)昌跌、運(yùn)算仰禀、控制和傳輸
????????????????????????數(shù)據(jù):程序操作的對象,具有存儲類別蚕愤、類型悼瘾、名稱、作用域和生存期等屬性审胸,
????????????????????????????????使用時(shí)需要為其分配內(nèi)存空間亥宿。
? ? ? ? ? ? ? ? ? ? ? ? 數(shù)據(jù)的劃分:常量和變量、全局量和局部量砂沛、基本類型烫扼、用戶定義類型、
????????????????????????????????構(gòu)造類型碍庵、其他類型映企、特殊類型悟狱、指針類型、抽象類型
????????????????????????運(yùn)算:指明允許使用的運(yùn)算符號及運(yùn)算規(guī)則堰氓,算術(shù)挤渐、邏輯、關(guān)系
????????????????????????控制:指明語言允許表述的控制結(jié)構(gòu)双絮,順序浴麻、循環(huán)、選擇
????????????????????????傳輸:指明語言允許的數(shù)據(jù)傳輸方式
????????????????????????函數(shù):定義(函數(shù)首部和函數(shù)體)囤攀、申明(定義在調(diào)用后软免,需申明)、調(diào)用
? ? ? ? ? ? ? ? ? ? ? ? 調(diào)用:遞歸調(diào)用焚挠、值調(diào)用膏萧、引用調(diào)用
????2.2 語言處理程序基礎(chǔ)
? ? ? ? ? ? ? ????????? 語言處理程序是將高級語言或匯編語言的程序翻譯成某種機(jī)器語言程序,
????????????????????????????????使其可在計(jì)算機(jī)上運(yùn)行蝌衔,分為匯編榛泛、編譯和解釋
????????2.2.1 匯編程序基本原理
????????????????????????匯編語言:是為特定計(jì)算機(jī)設(shè)計(jì)的面向機(jī)器的符號化的程序設(shè)計(jì)語言
? ? ? ? ? ? ? ? ? ? ? ? 語句:指令語句、偽指令語句和宏指令語句
? ? ? ? ? ? ? ? ? ? ? ? 指令語句:將其匯編后能產(chǎn)生相應(yīng)的機(jī)器代碼噩斟,這些代碼能被CPU直接識別
? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? 并執(zhí)行相應(yīng)的操作曹锨,分為傳送指令、算術(shù)運(yùn)算指令亩冬、邏輯運(yùn)算指令艘希、
? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? 移位指令、轉(zhuǎn)移指令和處理機(jī)控制指令? ? ? ? ?
? ? ? ? ? ? ? ? ? ? ? ? 偽指令語句:指示匯編程序在匯編源程序時(shí)完成某些工作? ?硅急,如分配地址或復(fù)制
? ? ? ? ? ? ? ? ? ? ? ? 宏指令語句:將多次重復(fù)使用的程序段定義為宏
? ? ? ? ? ? ? ? ? ? ? ? 匯編程序 :將匯編源程序翻譯成機(jī)器指令程序
????????2.2.2 編譯程序基本原理
? ? ? ? ? ? ? ? ? ? ? ??編譯過程:源程序-->詞法分析-->語法分析-->語義分析-->
? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? 中間代碼生成-->代碼優(yōu)化-->目標(biāo)代碼生成-->目標(biāo)代碼? ? ??
? ? ? ? 2.2.3 解釋程序基本原理
? ??????????????????????解釋程序:在詞法覆享、語法和語義分析與編譯程序相同,但其直接執(zhí)行源程序营袜,
? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? 分分析部分和解釋部分