楊蘭
(寶雞職業(yè)技術學院 陜西 寶雞721013)
基于C語言開發(fā)的自動翻譯軟件系統設計與實現
楊蘭
(寶雞職業(yè)技術學院 陜西 寶雞721013)
文章旨在避免人工手動翻譯帶來的較大人力資源浪費,對翻譯過程的各種積極錯誤避免,將翻譯工作的自動化提高。通過基于C語言開發(fā)角度,設計了一種自動翻譯軟件系統,通過對匯編語言過渡到C語言的算法設計詳細介紹,在系統軟件需求分析過程,結合原始數據需求以及功能性需求,確定了系統軟件總體設計,包括總體框架設計和技術方案。各個功能模塊的設計,結合翻譯前預處理模塊、破解匯編函數邏輯結構模塊、原始數據內容嵌入結構模塊以及C語言函數結構構建模塊設計,做好軟件的測試,結果表明,基于C語言開發(fā)的一種自動翻譯軟件系統設計,不僅僅將人工翻譯帶來的問題有效解決,同時也將翻譯工作效率顯著提高。
C語言;自動翻譯;軟件系統;設計;實現
近些年來,企業(yè)的大規(guī)?;l(fā)展,往往需要大量匯編代碼,進而將其翻譯為現代化高級語言,對功能作用全面分析。但是對于傳統匯編代碼而言,數量較為繁雜,采取人工手動翻譯,有著巨大的人力資源耗費,同時項目周期逐漸延長,伴有各種低級錯誤。對于如何實現自動化以及準確性的翻譯始終是企業(yè)關注的焦點之一[1]。因此文章提出一種基于C語言開發(fā)的自動翻譯軟件系統設計,不僅僅做好系統的整體需求,同時在功能性需求分析過程,對系統軟件總體設計確定,結合框架結構,實現各個模塊的設計。在經過應用測試,人力節(jié)省,項目周期縮短,避免了人工翻譯的低級錯誤。
對于系統軟件需求的分析,往往需要結合原始數據需求,同時結合功能性需求分析過程,為系統軟件總體設計做具體的鋪墊。
1.1原始數據需求
軟件對原始數據翻譯過程,就要對各種格式文本有效識別,做好文本的有效整理,實現文件的有效翻譯。而原始匯編函數特異性的體現,結合簡化的函數結構,保證有著準確性的后續(xù)處理[2]。
1.2功能性需求
功能性需求的結合,需要做好函數主干信息的及時翻譯,并完成函數的完整翻譯。在函數結構特征的及時了解過程,就要做好功能接口相關信息的有效判斷,實現函數的完整性翻譯和應用[3]。
2.1總體設計
軟件需求分析階段,就要基于標準C語言的形式,將設計的意義指出。通過對目標函數獨處,在匯編函數的翻譯過程,逐漸產生標準C語言函數,在制定路徑文件輸出過程,就要做好匯編數據的內部有效性處理,對相應C語言函數代碼逐漸轉換[4]。而匯編代碼一種標準化處理過程,做好代碼的有效性識別和翻譯,實現標準格式化的有效性處理。而原始匯編代碼的結構指令分析,及時的破解原始匯編函數結構,對相應的數據信息添加,進而將完整的函數構成[5]。關于總體架構的設計,如圖1所示。
圖1 系統軟件整體設計
2.2技術方案
系統的開發(fā)和應用,主要是結合Windows XP操作系統,結合軟件執(zhí)行效率情況,主要是對Visual C++6.0開發(fā)軟件平臺應用,對C語言的選擇過程,將其作為開發(fā)語言,并注重翻譯算法的有效設計,將C語言的優(yōu)勢體現[6]。
各個功能模塊的設計,結合翻譯前預處理模塊、破解匯編函數邏輯結構模塊、原始數據內容嵌入結構模塊以及C語言函數結構構建模塊設計。
3.1翻譯前預處理模塊的設計
翻譯前預處理往往是結合系統的識別,做好匯編代碼的應用,對格式化方式采用。翻以前預處理模塊的設計主要是將原始匯編代碼進行分塊處理,在地址標識的過程,將相對獨立部分形成。而針對性的處理過程,做好資源的有效性整合,盡可能的實現標準化的根本處理和應用[7]。而匯編代碼的模塊設計,結合明確跳轉標識的形式,進而提煉標準化的原始信息。
對于原始匯編代碼文件的讀入而言,功能的設計,就要結合指定的文件,做好預處理命令的定義,及時修改后邊地址,宏的定義為[8]:
在文件讀入之后,結合文件的指針,在二維字符矩陣中逐漸讀入,具體的實現過程,如下所示[9]:
對于文件指針讀入過程,結合文件行數以及列數,進而在sourse矩陣中逐漸拷貝,實現程序的有效性識別,對原始匯編代碼進行規(guī)范化的處理[10]。
而原始匯編代碼分塊結構的功能設計,結合多個處理模塊的形式,將相關的明顯標志逐漸實現,對結構矩陣進行存儲,這種結構體的原型,如下所示[11]:
3.2破解匯編函數邏輯結構模塊的設計
基于破解匯編函數邏輯結構的模塊設計,往往是實現標準C語言函數的翻譯過程,通過將原始匯編函數結構讀懂,并應用C語言的基本結構模式,做好匯編函數結構的有效性破解,及時的建立函數結構,實現數據信息的有效性翻譯和應用[12]?;谲浖到y的應用,避免邏輯陷阱的產生,在準確性翻譯的結合下,盡可能的全面分析匯編語言的邏輯性,保證原始代碼的語言,邏輯繼承性較高。
3.3原始數據內容嵌入結構模塊的設計
對于翻譯工作的基本完成,往往需要結合原始代碼的基本語言形式,重新嵌入原始數據,保證有著完善性的語言輸出,在原始數據準確性信息的保障過程,注重準確性原始數據信息的合理應用[13]。原始數據映射連接的翻譯,通過應用翻譯軟件,結合原始數據的基本映射形式,做好數據的有效性恢復工作,對原先路徑進行設置,將相應原始數據信息找出,保證有著完整性的目標翻譯語言[14]。原始數據內容嵌入塊結構模式,如圖2所示。
圖2 原始數據內容嵌入塊結構模式
If位置映射過程,主要是結合映射關系,劃分原始匯編塊的時候,做好編號的合理控制,保證有著準確性的對應關系[15]。If位置映射結構圖,如圖3所示。
但是對于goto位置映射的結構圖,如圖4所示。
圖3 If位置映射結構圖
圖4 goto位置映射結構圖
3.4C語言函數結構構建模塊設計
對于翻譯軟件對目標語言翻譯過程而言,往往是結合原始語言匯編的重新詮釋,在內容邏輯功能性的體現下,對翻譯軟件意義根本保證,基于準確率的分析過程,使得C語言可以直接的應用,并將翻譯準確率顯著提高。在對C語言小塊關系分析過程,主要是goto指令進行跳轉,并結合指令代碼的形式,對小節(jié)點線進行連接,將完整的函數組建。在小塊的連接過程,結合不同的結構形式,并保證有著相對簡單化的一種構建模式。完整函數的結合,通過執(zhí)行第一行代碼形式,并做好函數快的基本構成聯系,將整個函數結構逐步的構成。數據結構的應用,對樹結構進行構建,在層層推進的過程,做好節(jié)點的相關樹的合理構建,實現整個函數基本整合。
實際構建之前,其預處理過程,結合函數的構建形式,通過對匯編函數的大小改變,進而對二維矩陣定義,做好地址快的查找工作,建立整個函數結構。整個函數結構的建立,結合節(jié)點之間的有效性聯系,實現函數結構的有效性整合和應用。
4.1軟件測試
軟件測試過程,結合軟件的運行情況,實現數據的錄入和分析過程,體現異常原始代碼數據的合理錄入,測試過程的實現,應用手動錄入的形式,并注重十進制字符串的合理分析。基于軟件翻譯系統的實現,做好原始代碼的有效性處理,盡可能的提高整體工作能力。實際測試過程,做好數據的有效性分析,結合數據的翻譯,對正確翻譯功能保證。準確性的軟件測試,通過對各種邏輯結構測試,并結合各種結構模塊的設計,綜合分析標識符號的位置。關于不同行數代碼翻譯的測試結果,如表1所示。
表1 不同行數代碼翻譯的測試結果
匯編語言的測試,需要結合各種語句的邏輯結構,將內容結合性體現,在人腦的分析過程,結合電腦邏輯的基礎分析能力,并實現翻譯軟件的有效性測試,實現隱性邏輯錯誤的有效性表達,并注重人力資源的合理分析,盡可能的結合翻譯軟件的開發(fā)本質,將翻譯軟件的實際意義體現。
4.2結果
基于軟件可靠性的保證,不僅僅要保證翻譯軟件識別能力強,同時在數據的輸入過程,一旦有著異常數據輸入,將不會存在任何反應。在準確性的判斷過程,將匯編代碼輸入,相對而言,只要不大于2 000行,翻譯準確率高達90%,相對而言,越少行數的輸入,將會有著越高的準確率。因此,基于C語言開發(fā)的一種自動翻譯軟件系統設計,不僅僅將人工翻譯帶來的問題有效解決,同時也將翻譯工作效率顯著提高。
高級語言代碼的翻譯,結合C語言開發(fā)軟件,可以將傳統人工手動翻譯的弊端有效解決,同時在匯編工作的體現過程,需要結合內部的開發(fā)設計,并實現技術的有效性應用。在計算機指令集的編寫過程,實現C語言代碼的有效翻譯。文章通過結合C語言開發(fā)平臺,對翻譯軟件的開發(fā)設計做了全新的設計,并提供了具體的實踐性指導意義。
[1]羅麗霞.論匯編語言到C語言翻譯軟件的設計與實現 [J].信息技術與信息化,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,丁雪.用于移動設備的快速自動化音頻DSP算法發(fā)展[J].電聲技術,2014,38(10):45-49,71.
[5]高麗,李忠琪,陳雪 等.一種軟PLC編譯執(zhí)行方法 [J].組合機床與自動化加工技術,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的設計與實現[J].計算機應用與軟件,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].常熟理工學院學報,2012,11(9):107-112.
[10]郝守青,劉奇,沈海華,等.二進制翻譯控制轉移的軟硬件協同設計[J].高技術通訊,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翻譯軟件的設計與實現[J].工業(yè)控制計算機,2014,27(3):17-18,22.
[13]厲劍.云計算安全問題分析[J].現代電子技術,2013,4 (19):91-94.
[14]林曉鵬.云計算及其關鍵技術問題[J].現代電子技術,2013,20 (12):67-70.
[15]李海濤.云計算用戶數據傳輸與存儲安全研究 [J].現代電子技術,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è)技術教育學會2015年度教育科研規(guī)劃立項課題(SZJYB2015036)
楊 蘭(1982—),女,陜西寶雞人,講師。研究方向:計算機應用與軟件開發(fā)。