楊蘭
(寶雞職業(yè)技術(shù)學(xué)院 陜西 寶雞721013)
基于C語言開發(fā)的自動翻譯軟件系統(tǒng)設(shè)計與實現(xiàn)
楊蘭
(寶雞職業(yè)技術(shù)學(xué)院 陜西 寶雞721013)
文章旨在避免人工手動翻譯帶來的較大人力資源浪費,對翻譯過程的各種積極錯誤避免,將翻譯工作的自動化提高。通過基于C語言開發(fā)角度,設(shè)計了一種自動翻譯軟件系統(tǒng),通過對匯編語言過渡到C語言的算法設(shè)計詳細介紹,在系統(tǒng)軟件需求分析過程,結(jié)合原始數(shù)據(jù)需求以及功能性需求,確定了系統(tǒng)軟件總體設(shè)計,包括總體框架設(shè)計和技術(shù)方案。各個功能模塊的設(shè)計,結(jié)合翻譯前預(yù)處理模塊、破解匯編函數(shù)邏輯結(jié)構(gòu)模塊、原始數(shù)據(jù)內(nèi)容嵌入結(jié)構(gòu)模塊以及C語言函數(shù)結(jié)構(gòu)構(gòu)建模塊設(shè)計,做好軟件的測試,結(jié)果表明,基于C語言開發(fā)的一種自動翻譯軟件系統(tǒng)設(shè)計,不僅僅將人工翻譯帶來的問題有效解決,同時也將翻譯工作效率顯著提高。
C語言;自動翻譯;軟件系統(tǒng);設(shè)計;實現(xiàn)
近些年來,企業(yè)的大規(guī)模化發(fā)展,往往需要大量匯編代碼,進而將其翻譯為現(xiàn)代化高級語言,對功能作用全面分析。但是對于傳統(tǒng)匯編代碼而言,數(shù)量較為繁雜,采取人工手動翻譯,有著巨大的人力資源耗費,同時項目周期逐漸延長,伴有各種低級錯誤。對于如何實現(xiàn)自動化以及準確性的翻譯始終是企業(yè)關(guān)注的焦點之一[1]。因此文章提出一種基于C語言開發(fā)的自動翻譯軟件系統(tǒng)設(shè)計,不僅僅做好系統(tǒng)的整體需求,同時在功能性需求分析過程,對系統(tǒng)軟件總體設(shè)計確定,結(jié)合框架結(jié)構(gòu),實現(xiàn)各個模塊的設(shè)計。在經(jīng)過應(yīng)用測試,人力節(jié)省,項目周期縮短,避免了人工翻譯的低級錯誤。
對于系統(tǒng)軟件需求的分析,往往需要結(jié)合原始數(shù)據(jù)需求,同時結(jié)合功能性需求分析過程,為系統(tǒng)軟件總體設(shè)計做具體的鋪墊。
1.1原始數(shù)據(jù)需求
軟件對原始數(shù)據(jù)翻譯過程,就要對各種格式文本有效識別,做好文本的有效整理,實現(xiàn)文件的有效翻譯。而原始匯編函數(shù)特異性的體現(xiàn),結(jié)合簡化的函數(shù)結(jié)構(gòu),保證有著準確性的后續(xù)處理[2]。
1.2功能性需求
功能性需求的結(jié)合,需要做好函數(shù)主干信息的及時翻譯,并完成函數(shù)的完整翻譯。在函數(shù)結(jié)構(gòu)特征的及時了解過程,就要做好功能接口相關(guān)信息的有效判斷,實現(xiàn)函數(shù)的完整性翻譯和應(yīng)用[3]。
2.1總體設(shè)計
軟件需求分析階段,就要基于標準C語言的形式,將設(shè)計的意義指出。通過對目標函數(shù)獨處,在匯編函數(shù)的翻譯過程,逐漸產(chǎn)生標準C語言函數(shù),在制定路徑文件輸出過程,就要做好匯編數(shù)據(jù)的內(nèi)部有效性處理,對相應(yīng)C語言函數(shù)代碼逐漸轉(zhuǎn)換[4]。而匯編代碼一種標準化處理過程,做好代碼的有效性識別和翻譯,實現(xiàn)標準格式化的有效性處理。而原始匯編代碼的結(jié)構(gòu)指令分析,及時的破解原始匯編函數(shù)結(jié)構(gòu),對相應(yīng)的數(shù)據(jù)信息添加,進而將完整的函數(shù)構(gòu)成[5]。關(guān)于總體架構(gòu)的設(shè)計,如圖1所示。
圖1 系統(tǒng)軟件整體設(shè)計
2.2技術(shù)方案
系統(tǒng)的開發(fā)和應(yīng)用,主要是結(jié)合Windows XP操作系統(tǒng),結(jié)合軟件執(zhí)行效率情況,主要是對Visual C++6.0開發(fā)軟件平臺應(yīng)用,對C語言的選擇過程,將其作為開發(fā)語言,并注重翻譯算法的有效設(shè)計,將C語言的優(yōu)勢體現(xiàn)[6]。
各個功能模塊的設(shè)計,結(jié)合翻譯前預(yù)處理模塊、破解匯編函數(shù)邏輯結(jié)構(gòu)模塊、原始數(shù)據(jù)內(nèi)容嵌入結(jié)構(gòu)模塊以及C語言函數(shù)結(jié)構(gòu)構(gòu)建模塊設(shè)計。
3.1翻譯前預(yù)處理模塊的設(shè)計
翻譯前預(yù)處理往往是結(jié)合系統(tǒng)的識別,做好匯編代碼的應(yīng)用,對格式化方式采用。翻以前預(yù)處理模塊的設(shè)計主要是將原始匯編代碼進行分塊處理,在地址標識的過程,將相對獨立部分形成。而針對性的處理過程,做好資源的有效性整合,盡可能的實現(xiàn)標準化的根本處理和應(yīng)用[7]。而匯編代碼的模塊設(shè)計,結(jié)合明確跳轉(zhuǎn)標識的形式,進而提煉標準化的原始信息。
對于原始匯編代碼文件的讀入而言,功能的設(shè)計,就要結(jié)合指定的文件,做好預(yù)處理命令的定義,及時修改后邊地址,宏的定義為[8]:
在文件讀入之后,結(jié)合文件的指針,在二維字符矩陣中逐漸讀入,具體的實現(xiàn)過程,如下所示[9]:
對于文件指針讀入過程,結(jié)合文件行數(shù)以及列數(shù),進而在sourse矩陣中逐漸拷貝,實現(xiàn)程序的有效性識別,對原始匯編代碼進行規(guī)范化的處理[10]。
而原始匯編代碼分塊結(jié)構(gòu)的功能設(shè)計,結(jié)合多個處理模塊的形式,將相關(guān)的明顯標志逐漸實現(xiàn),對結(jié)構(gòu)矩陣進行存儲,這種結(jié)構(gòu)體的原型,如下所示[11]:
3.2破解匯編函數(shù)邏輯結(jié)構(gòu)模塊的設(shè)計
基于破解匯編函數(shù)邏輯結(jié)構(gòu)的模塊設(shè)計,往往是實現(xiàn)標準C語言函數(shù)的翻譯過程,通過將原始匯編函數(shù)結(jié)構(gòu)讀懂,并應(yīng)用C語言的基本結(jié)構(gòu)模式,做好匯編函數(shù)結(jié)構(gòu)的有效性破解,及時的建立函數(shù)結(jié)構(gòu),實現(xiàn)數(shù)據(jù)信息的有效性翻譯和應(yīng)用[12]?;谲浖到y(tǒng)的應(yīng)用,避免邏輯陷阱的產(chǎn)生,在準確性翻譯的結(jié)合下,盡可能的全面分析匯編語言的邏輯性,保證原始代碼的語言,邏輯繼承性較高。
3.3原始數(shù)據(jù)內(nèi)容嵌入結(jié)構(gòu)模塊的設(shè)計
對于翻譯工作的基本完成,往往需要結(jié)合原始代碼的基本語言形式,重新嵌入原始數(shù)據(jù),保證有著完善性的語言輸出,在原始數(shù)據(jù)準確性信息的保障過程,注重準確性原始數(shù)據(jù)信息的合理應(yīng)用[13]。原始數(shù)據(jù)映射連接的翻譯,通過應(yīng)用翻譯軟件,結(jié)合原始數(shù)據(jù)的基本映射形式,做好數(shù)據(jù)的有效性恢復(fù)工作,對原先路徑進行設(shè)置,將相應(yīng)原始數(shù)據(jù)信息找出,保證有著完整性的目標翻譯語言[14]。原始數(shù)據(jù)內(nèi)容嵌入塊結(jié)構(gòu)模式,如圖2所示。
圖2 原始數(shù)據(jù)內(nèi)容嵌入塊結(jié)構(gòu)模式
If位置映射過程,主要是結(jié)合映射關(guān)系,劃分原始匯編塊的時候,做好編號的合理控制,保證有著準確性的對應(yīng)關(guān)系[15]。If位置映射結(jié)構(gòu)圖,如圖3所示。
但是對于goto位置映射的結(jié)構(gòu)圖,如圖4所示。
圖3 If位置映射結(jié)構(gòu)圖
圖4 goto位置映射結(jié)構(gòu)圖
3.4C語言函數(shù)結(jié)構(gòu)構(gòu)建模塊設(shè)計
對于翻譯軟件對目標語言翻譯過程而言,往往是結(jié)合原始語言匯編的重新詮釋,在內(nèi)容邏輯功能性的體現(xiàn)下,對翻譯軟件意義根本保證,基于準確率的分析過程,使得C語言可以直接的應(yīng)用,并將翻譯準確率顯著提高。在對C語言小塊關(guān)系分析過程,主要是goto指令進行跳轉(zhuǎn),并結(jié)合指令代碼的形式,對小節(jié)點線進行連接,將完整的函數(shù)組建。在小塊的連接過程,結(jié)合不同的結(jié)構(gòu)形式,并保證有著相對簡單化的一種構(gòu)建模式。完整函數(shù)的結(jié)合,通過執(zhí)行第一行代碼形式,并做好函數(shù)快的基本構(gòu)成聯(lián)系,將整個函數(shù)結(jié)構(gòu)逐步的構(gòu)成。數(shù)據(jù)結(jié)構(gòu)的應(yīng)用,對樹結(jié)構(gòu)進行構(gòu)建,在層層推進的過程,做好節(jié)點的相關(guān)樹的合理構(gòu)建,實現(xiàn)整個函數(shù)基本整合。
實際構(gòu)建之前,其預(yù)處理過程,結(jié)合函數(shù)的構(gòu)建形式,通過對匯編函數(shù)的大小改變,進而對二維矩陣定義,做好地址快的查找工作,建立整個函數(shù)結(jié)構(gòu)。整個函數(shù)結(jié)構(gòu)的建立,結(jié)合節(jié)點之間的有效性聯(lián)系,實現(xiàn)函數(shù)結(jié)構(gòu)的有效性整合和應(yīng)用。
4.1軟件測試
軟件測試過程,結(jié)合軟件的運行情況,實現(xiàn)數(shù)據(jù)的錄入和分析過程,體現(xiàn)異常原始代碼數(shù)據(jù)的合理錄入,測試過程的實現(xiàn),應(yīng)用手動錄入的形式,并注重十進制字符串的合理分析?;谲浖g系統(tǒng)的實現(xiàn),做好原始代碼的有效性處理,盡可能的提高整體工作能力。實際測試過程,做好數(shù)據(jù)的有效性分析,結(jié)合數(shù)據(jù)的翻譯,對正確翻譯功能保證。準確性的軟件測試,通過對各種邏輯結(jié)構(gòu)測試,并結(jié)合各種結(jié)構(gòu)模塊的設(shè)計,綜合分析標識符號的位置。關(guān)于不同行數(shù)代碼翻譯的測試結(jié)果,如表1所示。
表1 不同行數(shù)代碼翻譯的測試結(jié)果
匯編語言的測試,需要結(jié)合各種語句的邏輯結(jié)構(gòu),將內(nèi)容結(jié)合性體現(xiàn),在人腦的分析過程,結(jié)合電腦邏輯的基礎(chǔ)分析能力,并實現(xiàn)翻譯軟件的有效性測試,實現(xiàn)隱性邏輯錯誤的有效性表達,并注重人力資源的合理分析,盡可能的結(jié)合翻譯軟件的開發(fā)本質(zhì),將翻譯軟件的實際意義體現(xiàn)。
4.2結(jié)果
基于軟件可靠性的保證,不僅僅要保證翻譯軟件識別能力強,同時在數(shù)據(jù)的輸入過程,一旦有著異常數(shù)據(jù)輸入,將不會存在任何反應(yīng)。在準確性的判斷過程,將匯編代碼輸入,相對而言,只要不大于2 000行,翻譯準確率高達90%,相對而言,越少行數(shù)的輸入,將會有著越高的準確率。因此,基于C語言開發(fā)的一種自動翻譯軟件系統(tǒng)設(shè)計,不僅僅將人工翻譯帶來的問題有效解決,同時也將翻譯工作效率顯著提高。
高級語言代碼的翻譯,結(jié)合C語言開發(fā)軟件,可以將傳統(tǒng)人工手動翻譯的弊端有效解決,同時在匯編工作的體現(xiàn)過程,需要結(jié)合內(nèi)部的開發(fā)設(shè)計,并實現(xiàn)技術(shù)的有效性應(yīng)用。在計算機指令集的編寫過程,實現(xiàn)C語言代碼的有效翻譯。文章通過結(jié)合C語言開發(fā)平臺,對翻譯軟件的開發(fā)設(shè)計做了全新的設(shè)計,并提供了具體的實踐性指導(dǎo)意義。
[1]羅麗霞.論匯編語言到C語言翻譯軟件的設(shè)計與實現(xiàn) [J].信息技術(shù)與信息化,2014,10(10):171-173.
[2]LU Da-hang.The Research and Implementation of Covert Channel Base on Network Protocols[J].Computer Engineering and Application,2003(2):183-602.
[3]牛雙誠,許愛強.TPL與C語言的混合編程方法研究[J].計算機測量與控制,2015,23(9):3238-3240.
[4]David TRAINOR,丁雪.用于移動設(shè)備的快速自動化音頻DSP算法發(fā)展[J].電聲技術(shù),2014,38(10):45-49,71.
[5]高麗,李忠琪,陳雪 等.一種軟PLC編譯執(zhí)行方法 [J].組合機床與自動化加工技術(shù),2011,4(11):85-88.
[6]Millen,Jonathan 20 years of covert channel modeling and analysis,Proceedings of the IEEE Computer Society Symposium on Research in Security and Privacy,2002,5(18): 113-114.
[7]張紅艷,李茵茵,蔡潔云 等.KRL到Java翻譯器KtoJ的設(shè)計與實現(xiàn)[J].計算機應(yīng)用與軟件,2011,28(8):184-186.
[8]Yoon JW,Park YG,Park CJ et al.Reduction of a grid moire pattern by integrating a carbon-interspaced high precision xray grid with a digital radiographic detector.[J].Medical Physics,2007,34(11):4092-4097.
[9]陸寶華.翻譯過程中的自動加工—圖詞干擾范式下的語義自動激活[J].常熟理工學(xué)院學(xué)報,2012,11(9):107-112.
[10]郝守青,劉奇,沈海華,等.二進制翻譯控制轉(zhuǎn)移的軟硬件協(xié)同設(shè)計[J].高技術(shù)通訊,2012,22(6):583-588.
[11]Thomas JA,Hardies SC,Rolando M et al.Complete genomic sequence and mass spectrometric analysis of highly diverse,atypicalBacillusthuringiensisphage0305phi8-36[J]. Virology,2007,368(2):405-421.
[12]程俊杰,王黎澤,周智,等.核電廠虛擬DCS翻譯軟件的設(shè)計與實現(xiàn)[J].工業(yè)控制計算機,2014,27(3):17-18,22.
[13]厲劍.云計算安全問題分析[J].現(xiàn)代電子技術(shù),2013,4 (19):91-94.
[14]林曉鵬.云計算及其關(guān)鍵技術(shù)問題[J].現(xiàn)代電子技術(shù),2013,20 (12):67-70.
[15]李海濤.云計算用戶數(shù)據(jù)傳輸與存儲安全研究 [J].現(xiàn)代電子技術(shù),2013,11(20):24-26.
Design and implementation of automatic translation software system based on C language
YANG Lan
(Baoji Vocational Technology College,Baoji 721013,China)
This paper is aimed at avoiding the waste of human resource,which is caused by manual translation.Based on the C language development,an automatic translation software system is designed,which is based on the transition from the assembly language to C language.In the process of system software requirement analysis,the system software is designed,which includes the raw data requirement and functional requirements.The design of each functional module,combined with the pre process module,the function module of the,the embedded structure and the structure of the C language,and the results show that the design of the software system based on the C language is not only effective solution to the problem,but also the efficiency of translation.
C language;automatic translation;software system;design;implementation
TN99
A
1674-6236(2016)22-0074-03
2015-01-28稿件編號:201501239
陜西省職業(yè)技術(shù)教育學(xué)會2015年度教育科研規(guī)劃立項課題(SZJYB2015036)
楊 蘭(1982—),女,陜西寶雞人,講師。研究方向:計算機應(yīng)用與軟件開發(fā)。