“編譯器”是一種非常重要的基礎(chǔ)軟件,其核心功能是對源代碼形態(tài)的單個(gè)或一組源程序依次進(jìn)行預(yù)處理、詞法分析、語法分析、語義分析、代碼生成、代碼優(yōu)化等處理,最終生成目標(biāo)機(jī)器的可執(zhí)行代碼??紤]以下與編譯器相關(guān)的軟件架構(gòu)設(shè)計(jì)場景:傳統(tǒng)的編譯器設(shè)計(jì)中,上述處理過程都以獨(dú)立功能模塊的形式存在,程序源代碼作為一個(gè)整體,依次在不同模塊中進(jìn)行傳遞,最終完成編譯過程。針對這種設(shè)計(jì)思路,傳統(tǒng)的編譯器采用(1)架構(gòu)風(fēng)格比較合適。
隨著編譯、鏈接、調(diào)試、執(zhí)行等開發(fā)過程的一體化趨勢發(fā)展,集成開發(fā)環(huán)境(IDE)隨之出現(xiàn)。IDE集成了編譯器、連接器、調(diào)試器等多種工具,支持代碼的增量修改與處理,能夠?qū)崿F(xiàn)不同工具之間的信息交互,覆蓋整個(gè)軟件開發(fā)生命周期。針對這種需求,IDE采用(2)架構(gòu)風(fēng)格比較合適。IDE強(qiáng)調(diào)交互式編程,用戶在修改程序代碼后,會同時(shí)觸發(fā)語法高亮顯示、語法錯誤提示、程序結(jié)構(gòu)更新等多種功能的調(diào)用與結(jié)果呈現(xiàn),針對這種需求,通常采用(3)架構(gòu)風(fēng)格比較合適。
某公司已經(jīng)開發(fā)了一款針對某種嵌入式操作系統(tǒng)專用編程語言的IDE,隨著一種新的嵌入式操作系統(tǒng)上市并迅速占領(lǐng)市場,公司決定對IDE進(jìn)行適應(yīng)性改造,支持采用現(xiàn)有編程語言進(jìn)行編程,生成符合新操作系統(tǒng)要求的運(yùn)行代碼,并能夠在現(xiàn)有操作系統(tǒng)上模擬出新操作系統(tǒng)的運(yùn)行環(huán)境,以支持代碼調(diào)試工作。針對上述要求,為了使IDE能夠生成符合新操作系統(tǒng)要求的運(yùn)行代碼,采用基于(4)的架構(gòu)設(shè)計(jì)策略比較合適;為了模擬新操作系統(tǒng)的運(yùn)行環(huán)境,通常采用(5)架構(gòu)風(fēng)格比較合適。
(1)A.管道-過濾器
B.順序批處理
C.過程控制
D.獨(dú)立進(jìn)程
(2)A.規(guī)則引擎
B.解釋器
C.?dāng)?shù)據(jù)共享
D.黑板
(3)A.隱式調(diào)用
B.顯式調(diào)用
C.主程序-子程序
D.層次結(jié)構(gòu)
(4)A.代理
B.適配
C.包裝
D.模擬
(5)A.隱式調(diào)用
B.倉庫結(jié)構(gòu)
C.基于規(guī)則
D.虛擬機(jī)