專利名稱:程序自動變換方法及程序自動變換裝置的制作方法
技術領域:
本發(fā)明涉及一種對程序進行分析,并將該程序的一部分或者全部自動變換的程序自動變換裝置及其程序等。
背景技術:
作為現(xiàn)有的第一種技術,有一種可以自動變換源程序或腳本的技術。這種技術,可自動檢測出通過編譯程序進行相減所產(chǎn)生的記敘的不同,自動修正或者列表來提高開發(fā)效率。本技術對用C語言編寫的原始程序進行語法分析,生成每1個權標的數(shù)據(jù)庫和中間文件,刪除或更改成為數(shù)據(jù)庫上的對象的字符串,將數(shù)據(jù)庫或中間文件的信息生成C語言文件,進而生成目標程序。
另外,作為現(xiàn)有的第二種技術,有一種以在特定的計算機上開發(fā)的程序或對象(object)為基礎,自動生成能夠用其他計算機運行的軟件的技術。本技術中,可以以被給予的計算機資源為基礎而運行的目標代碼,通過程序段分割器,被分割為指令代碼區(qū)域D2和數(shù)據(jù)代碼區(qū)域D3。然后,通過指令代碼變換器,對指令表或系統(tǒng)源語進行分析,將指令代碼區(qū)域D2,變換為基于高級程序語言指令語句。另外,數(shù)據(jù)代碼區(qū)域D3,對與參照的指令代碼的類別相應的數(shù)據(jù)型進行判別,并通過語法變換器,變換為基于高級程序語言的數(shù)據(jù)定義語句。并且,參照區(qū)域變換器,對于數(shù)據(jù)定義語句,附加用于指令語句使用的參照名,變換為指令語句使用參照名的形式后生成高級語言的程序。
但是,所述第一種現(xiàn)有技術,以能自動變換記敘變換對象的源程序的語言標準所具有的全部指令為前提。
另外,所述第二種現(xiàn)有技術,以能自動變換在特定的計算機上的全部的程序或對象為條件。即,在現(xiàn)有技術中,為了變換一程序的動作環(huán)境,而沒有考慮使一程序在變換后的環(huán)境中也能高效地動作。因此,現(xiàn)有技術中,不能判斷對作為變換對象的源程序的哪一個指令樣式(pattern)進行自動變換,對哪一個指令樣式用手工操作進行變換。在現(xiàn)有技術中,在開發(fā)對一個程序進行自動變換或者半自動變換的自動變換程序時,不能判斷應該開發(fā)對應哪個指令樣式的自動變換程序,高效地變換源程序也就無法進行。具體來說,現(xiàn)有技術中,以開發(fā)在變換對象的程序中只出現(xiàn)一次的指令樣式也能自動變換的程序為前提。
發(fā)明內容
本第一個發(fā)明的程序自動變換方法,在存放部中存放1個以上的,作為表示舊源程序的指令樣式的信息的第一指令樣式信息和作為表示新源程序的指令樣式信息的第二指令樣式信息的信息對,并具備在舊源程序中,對所述1個以上的第一指令樣式信息出現(xiàn)了幾次用分析模塊進行分析的分析步驟;將所述分析步驟中的分析結果用輸出模塊進行輸出的分析結果輸出步驟;將在所述分析步驟中第一指令樣式信息的出現(xiàn)次數(shù),被分析為規(guī)定次數(shù)(規(guī)定次數(shù)為2以上)以上的與該第一指令樣式信息所對應的舊源程序的記敘部位,對應與該第一指令樣式信息成對的第二指令樣式信息地,用變換模塊進行變換的指令樣式變換步驟;將所述指令樣式變換步驟中作為變換所述舊源程序的結果的新源程序用輸出模塊進行輸出的新程序輸出步驟;以及,對在所述分析步驟中第一指令樣式信息的出現(xiàn)次數(shù),被分析為不滿所述規(guī)定次數(shù)的與該第一指令樣式信息所對應的舊源程序的記敘部位,通過用戶的手工操作將該舊源程序的記敘部位更改為新源程序,受理用輸入手段進行的輸入的步驟,是一種用于使在某種環(huán)境下能動作的程序在其他環(huán)境下動作的程序自動變換方法,通過這種自動變換方法,能夠高效地,并且,使不合適的地方較少地進行程序移植。
另外,第二個發(fā)明是在第一個發(fā)明中,所述新程序輸出步驟,在新源程序中,將用所述指令樣式變換步驟變換的部位和沒有變換的部位在視覺上相區(qū)別地輸出的程序自動變換方法,通過這個程序自動變換方法,編程者檢查用觀察變換后的程序時,能夠更高效地進行檢查。
另外,所述的程序變換方法,可用程序實現(xiàn),也可用專用電路等的硬件實現(xiàn),這時,上述的功能,可以作為程序或者程序自動變換裝置來實現(xiàn)。另外,上述的程序變換方法,也可稱為生產(chǎn)移植目的地的程序的程序生產(chǎn)方法。
圖1為本發(fā)明的實施方式1中的程序分析裝置的塊圖。
圖2為說明關于本發(fā)明的實施方式1中的程序分析裝置的動作的流程圖。
圖3為本實施方式1中的指令樣式信息管理表。
圖4為本實施方式1中的指令樣式出現(xiàn)次數(shù)管理表。
圖5為本實施方式1中的程序示例圖。
圖6為本實施方式1中的指令樣式出現(xiàn)次數(shù)管理表。
圖7為本實施方式1中的指令樣式出現(xiàn)次數(shù)管理表。
圖8為本實施方式1中的分析結果的示例圖。
圖9為本實施方式1中的分析結果的顯示示例圖。
圖10為本實施方式2中的程序自動變換裝置的塊圖。
圖11為說明本實施方式2中的程序自動變換裝置的動作的流程圖。
圖12為本實施方式2中的指令方式信息管理表的示例圖。
圖13為本實施方式2中的變換后的新程序的示例圖。
圖14為本實施方式2中的新程序的示例圖。
具體實施例方式
下面,參照附圖對涉及本發(fā)明的程序分析裝置及程序自動變換裝置等的實施方式進行說明。另外,因為在實施的方式中附相同符號的構成要素進行同樣的動作,再次進行的說明有時被省略。
(實施方式1)圖1所示為程序分析裝置的塊圖。程序分析裝置具有指令樣式信息存放部101;程序存放部102;分析部103;以及,分析結果輸出部104。程序分析裝置,例如為備有MPU、存儲器和硬盤的個人計算機。
指令樣式信息存放部101,存放有1個以上的作為表示程序指令樣式的信息的指令樣式信息。指令樣式信息存放部101,可以用非易失性記錄媒體或者也可用易失性記錄媒體來實現(xiàn)。
程序存放部102,存放有程序。程序存放部102,可以用非易失性記錄媒體或者也可用易失性記錄媒體來實現(xiàn)。程序,通常為源程序,并且其語言可為任意語言。程序也包含被稱為所謂的腳本的HTML、XML等。另外,程序也可以為過程型的程序、說明型的程序等任意類型。另外,程序還包含用于運行程序的數(shù)據(jù)群(頭文件等)。
分析部103,對在程序存放部102中存放的程序中,1個以上的指令樣式信息出現(xiàn)過多少次進行分析。分析部103,通常由MPU或存儲器等來實現(xiàn)。分析部103分析用的處理次序,通常用軟件實現(xiàn),該軟件被記錄在ROM等記錄媒體上。但也可以用硬件(專用電路)來實現(xiàn)。
分析結果輸出部104,輸出分析部103中的分析結果。所謂輸出,通常指送至顯示器的顯示,但還包含送打印機的打印,或發(fā)送到其他裝置等。另外,所謂輸出,也包含送到硬盤等記錄媒體進行存儲的概念。另外,分析結果輸出部104,可以認為包含顯示器也可以認為不包含。分析結果輸出部104,例如,用輸出設備的驅動軟件得到實現(xiàn)。
下面,用附圖2對涉及本程序分析裝置的運行進行說明。
(步驟S201)分析部103,讀入程序存放部102的程序。此程序是作為分析對象的程序。程序存放器102中存放了多個程序時,分析部103,例如,讀入用戶指示的程序。
(步驟S202)分析部103,讀入指令樣式信息存放部101中存放的1個以上的指令樣式信息。
(步驟S203)分析部103,將作為指令樣式信息的出現(xiàn)次數(shù)的指令樣式出現(xiàn)次數(shù)全部置0。此外,與全部的指令樣式信息相對應的指令樣式出現(xiàn)次數(shù),例如,存儲在分析部103保持的存儲器中。
(步驟S204)分析部103,在計數(shù)器i中賦1。此計數(shù)器是用步驟S201讀入的程序的程序計數(shù)器。即,分析部103,對用步驟S201讀入的程序的第i行通過下面的處理進行分析。此外,這里,設程序是1行1指令樣式的程序。
(步驟S205)分析部103,在用步驟S201讀入的程序中,判斷第i的程序源行是否存在。若存在第i行的程序源行則進到步驟S206,若不存在第i行的程序源行則跳轉到步驟S213。
(步驟S206)分析部103,在計數(shù)器j中賦1。計數(shù)器j是在用步驟S202讀入的1個以上的指令樣式信息中,用于取得分析中使用的指令樣式信息的計數(shù)器。
(步驟S207)分析部103,判斷第i行的程序源行,是否為與第j的指令樣式信息中對應的指令樣式行。第i行的程序源行若為第j的指令樣式進到步驟S208,若不為第j的指令樣式跳到步驟S210。對第i行的程序源行是否與第j的指令樣式信息相對應的判斷,可用語法分析,詞法分析來進行,因為是現(xiàn)有技術,這里省略詳細的說明。
(步驟S208)分析部103,將與第j的指令樣式信息對應的指令樣式出現(xiàn)次數(shù)自加1。
(步驟S209)分析部103,令i自加1。返回到步驟S205。
(步驟S210)分析部103,令j自加1。
(步驟S211)分析部103,判斷在指令樣式信息存放部101中是否存在第j的指令樣式。若存在第j的指令樣式返回到S207,若不存在第j的指令樣式進到步驟S212。
(步驟S212)分析部103,進行“意思為哪個指令樣式也不符合”的出錯輸出。但是,也可不進行這個出錯輸出處理。
(步驟S213)分析結果輸出部104,輸出分析結果。分析結果就是各指令樣式信息的指令樣式出現(xiàn)次數(shù)。
下面,對關于本實施方式中的程序分析裝置等的具體動作進行說明。圖3是指令樣式信息存放部101保持有的指令樣式信息管理表。指令樣式信息管理表,存放有多個具有“ID”“指令樣式信息”的記錄。“ID”為識別記錄的信息,也是表管理上使用的信息。“指令樣式信息”是存放指令樣式信息的屬性。
另外,圖4是分析部103保持有的指令樣式出現(xiàn)次數(shù)管理表。指令樣式出現(xiàn)次數(shù)管理表具有1個以上的具有“ID”“出現(xiàn)次數(shù)”的記錄?!癐D”,與圖3的指令樣式信息管理表的“ID”相對應?!俺霈F(xiàn)次數(shù)”,表示指令樣式的出現(xiàn)次數(shù)?!俺霈F(xiàn)次數(shù)”的初值,全部為“0”。
圖5是程序存放部102中存放有的程序的示例。程序分析裝置,根據(jù)用戶的指示,開始對圖5的程序的分析。圖5的程序中用“*”開頭的行為注釋行。另外,程序分析裝置,判斷為注釋行后不對該行進行分析。
分析部103,首先,讀入圖5的程序的第1行。由于第1行是注釋行,移到下一行(使程序計數(shù)器遞增)。分析部103,由于從第2行到第8行都是注釋行,所以不進行分析。
接下來,分析部103,讀入程序的第9行“IDENTIFICATIONDIVISION.”。分析部103,將程序的第9行,判斷為與圖3的指令樣式信息管理表的“ID=1”的指令樣式信息相對應。然后,分析部103,將圖4的指令樣式出現(xiàn)次數(shù)管理表的“ID”=“1”的記錄的“出現(xiàn)次數(shù)”的值自加1。其結果是圖6的指令樣式出現(xiàn)次數(shù)管理表。
然后,分析部103,讀入程序的第10行“PROGRAM-ID.PSD712.”。分析部103,程序的第10行,判斷為與圖3的指令樣式信息管理表的“ID=2”的指令信息相對應。此外,圖3的指令樣式信息管理表的“參數(shù)1”“參數(shù)2”等意思是參數(shù)(變量)。在程序中,參數(shù)由英文數(shù)字的字符串構成。這里,“PSD712”為參數(shù)。然后,分析部103,將圖6的指令樣式出現(xiàn)次數(shù)管理表的“ID”=“2”的“出現(xiàn)次數(shù)”的值自加1。
對圖5的程序的所有行進行以上的處理。然后,得到圖7所示的指令樣式出現(xiàn)次數(shù)管理表。
接下來,分析結果輸出部104,輸出圖8所示的分析結果。分析結果,具有“ID”“次數(shù)”“指令樣式”?!按螖?shù)”為出現(xiàn)次數(shù)。另外,圖8的分析結果,由圖3的指令樣式信息管理表和圖7的指令樣式出現(xiàn)次數(shù)管理表構成。具體來說,圖8的分析結果為,將圖3的指令樣式信息管理表的“ID”和,圖7的指令樣式出現(xiàn)次數(shù)管理表的“ID”作為基礎,經(jīng)結合運算而輸出的結果。
以上,通過本實施方式,可以對作為變換對象的源程序包含的指令樣式進行分析,其結果,能夠開發(fā)可以高效地變換源程序的自動變換程序。此外,關于收到本實施的方式中的分析結果后,自動變換程序的處理,在實施方式2以后進行敘述。
另外,在本實施方式中,可以將出現(xiàn)一定次數(shù)以上的指令樣式與其他的指令樣式在視覺上相區(qū)別地進行表示。這時,例如,表示如圖9所示的分析結果。圖9中,將出現(xiàn)3次以上的指令樣式與其他的指令樣式在視覺上相區(qū)別地進行表示。另外,將出現(xiàn)一定次數(shù)以上的指令樣式與其他的指令樣式視覺上相區(qū)別地進行表示的樣式,不限于圖9中的樣式,任何樣式都可以。
另外,在本實施的方式中說明的動作,也可以用計算機能夠讀取的程序來實現(xiàn)。該程序,可在CD-ROM等記錄媒體上記錄并傳播,也可通過網(wǎng)絡傳輸進行傳播,也可以用廣播進行傳播。這點,在其他的實施方式中也是同樣。此外,實現(xiàn)本實施方式中說明的動作的程序,在計算機中,存放了1個以上的作為表示程序的指令樣式的信息的指令樣式信息,是用于在程序中實行分析1個以上的指令樣式信息出現(xiàn)了幾次的分析步驟、和將分析步驟中的分析結果進行輸出的分析結果輸出步驟的程序。
還有,在本實施方式中,雖然用一個程序分析裝置進行程序的分析,但是也可以用多個裝置分擔處理。即,只要存放有1個以上的作為表示程序的指令樣式的信息的指令樣式信息,在程序中,通過具備分析不少于1的指令樣式信息出現(xiàn)了幾次的分析步驟和輸出分析步驟中的分析結果的分析結果輸出步驟的程序分析方法,能夠用1個以上的裝置對程序進行分析,就可實現(xiàn)所述的效果。
(實施方式2)圖10是程序自動變換裝置的塊圖。程序自動變換裝置具備指令樣式對應信息存放部1001;程序存放部102;分析部103;條件存放部1002;指令樣式存放部變換部1003;以及,新程序輸出部1004。程序自動變換裝置例如,是備有MPU、存儲器和硬盤等的個人計算機。
指令樣式對應信息存放部1001,存放有1個以上的、作為表示舊程序(變換對象的程序)的指令樣式的信息的第一指令樣式信息和作為表示新程序(變換后的程序)的指令樣式的信息的第二指令樣式信息的信息對。指令樣式對應信息存放部1001,可由非易失性的記錄媒體,或者由易失性的記錄媒體來實現(xiàn)。
條件存放部1002,存放有將與第一指令樣式信息對應的舊程序的一部分對應第二指令樣式信息地自動變換的條件。條件存放部1002,可由非易失性的記錄媒體,或者由易失性的記錄媒體來實現(xiàn)。條件,一般被嵌入到實現(xiàn)指令樣式變換部1003進行的處理的程序中(也包括在頭文件等中被定義的情況)。此外,條件是基于分析部103的分析結果的條件。
指令樣式變換部1003,對程序存放部102中存放的程序(舊程序)中,與條件存放部1002中存放的條件相吻合的與第一指令方式信息相對應的舊程序的一部分,對應與該第一指令樣式信息成對的第二指令樣式信息地進行變換處理。指令樣式變換部1003,通常,通過MPU或存儲器等得到實現(xiàn)。用于指令樣式變換部1003變換信息的處理次序,通常,用軟件實現(xiàn),該軟件被記錄在ROM等的記錄媒體上。但是,也可以用硬件(專用電路)來實現(xiàn)。
新程序輸出部1004,將作為指令樣式變換部1003變換程序的結果的新程序輸出。所謂輸出,通常,就是所說的送顯示器顯示,但也包含送打印機打印;發(fā)送到其他得裝置;存儲到記錄媒體(硬盤、數(shù)字多用光盤)中等。另外,新程序輸出部1004,認為包含和認為不包含輸出顯示器或記錄媒體都可以。新程序輸出部1004,例如,用輸出設備的驅動軟件等得到實現(xiàn)。
下面,用圖11的流程圖對關于本程序自動變換裝置的動作進行說明。
(步驟S1101)運行程序分析子程序。本程序分析子程序是用圖2的流程圖說明的程序的分析處理,輸出在作為變換對象的程序的舊程序中的每個指令樣式的出現(xiàn)次數(shù)。
(步驟S1102)指令樣式變換部1003,讀入程序存放部102的程序。程序存放部102中存有2個以上的程序時,指令樣式變換部1003,例如,讀入用戶指示的程序。
(步驟S1103)指令樣式變換部1003,讀入指令樣式對應信息存放部1001保持有的1個以上的第一指令樣式信息。
(步驟S1104)指令樣式變換部1003,向計數(shù)器i中賦1。此計數(shù)器是用步驟S1102讀入的程序的程序計數(shù)器。即,指令樣式變換部1003,將用S1102讀入的程序的第i行通過以下的處理進行變換。此外,這里,設程序是1行1個指令樣式的程序。
(步驟S1105)指令樣式變換部1003,在用步驟S1102讀入的程序中,判斷第i行的程序源行是否存在。若第i行的程序源行存在進到S1106,若第i行的程序源行不存在則跳轉到S1116。
(步驟S1106)指令樣式變換部1003,向計數(shù)器j中賦1。計數(shù)器j是在用步驟S1103讀入的1個以上的第一指令樣式信息中,用于取得變換中使用的第一指令樣式信息的計數(shù)器。
(步驟S1107)指令樣式變換部1003,判斷第i行的程序源行,是否與第j的第一指令信息相對應。若與第j的第一指令方式信息相對應的進到S1108,若與第j的第一指令樣式信息不對應跳轉到S1113。同時,第i行的程序源行是否與第j的第一指令方式信息相對應,可以通過對第i行的程序的語法分析,詞法分析來判斷。
(步驟S1108)指令樣式變換部1003,基于步驟S1101的程序分析子程序的分析結果,判斷第一指令樣式信息是否與條件存放部1002的條件相吻合。若第j的第一指令樣式信息與條件相吻合進到步驟S1109,若第j的第一指令樣式不與條件吻合跳轉到S1115。
(步驟S1109)指令樣式變換部1003,從指令樣式對應信息存放部1001取得與第j的第一指令樣式信息配對的第二指令樣式信息。
(步驟S1110)指令樣式變換部1003,將第i行的程序源行,變換為用步驟S1109取得的第二指令樣式信息所表示的指令樣式。
(步驟S1111)指令樣式變換部1003,將用步驟S1110變換的第i行源行添加到新程序中。同時,新程序,例如,存放在某種文件中,并在初期化階段(圖中未表示)進行文件生成和文件打開。
(步驟S1112)將計數(shù)器i遞增。返回步驟S1105。
(步驟S1113)將計數(shù)器j遞增。
(步驟S1114)指令樣式變換部1003,判斷是否存在第j的第一指令樣式信息。若存在第j的第一指令樣式信息返回步驟S1107,若不存在第j的第一指令樣式信息進到步驟S1115。
(步驟S1115)指令樣式變換部1003,將第i行的源行添加到新程序中。這里第i行的源行,例如,為注釋行。
(步驟S1116)新程序輸出部1004,輸出變換后的程序(新程序)。這里的輸出,包含只進行存放在記錄媒體(硬盤等)中的處理。
同時,第一指令樣式信息與條件存放部1002的條件不吻合,關于沒有由第一指令樣式變換為第二指令樣式的第一指令樣式,編程者,用鍵盤等輸入部件,通過手工操作將程序改寫為第二指令樣式。即,程序自動變換裝置具備,圖中沒有表示出的鍵盤或鼠標等輸入部件。
以下,對關于本實施方式中的程序變換裝置的具體的動作進行說明。圖12是指令樣式對應信息存放部1001所保持的指令樣式信息管理表。指令樣式信息管理表,存放了多個具有“ID”“第一指令樣式信息”“第二指令樣式信息”的記錄?!癐D”為用于識別記錄的信息。指令樣式信息管理表是對應與在變換對象的程序中出現(xiàn)的第一指令樣式信息的源行成對的第二指令樣式信息地進行變換的情況下使用的對應表。具體來說,“第一指令樣式信息”為“SOURCE-COMPUTER.XXXXXXX.”的情況時,表示“第二指令樣式信息”變換為“#DEL# SOURCE-COMPUTER.XXXXXX.#CHG# SOURCE-COMPUTER.IBM-AS400.”。此外“XXXXXX”,表示任意的參數(shù)名。另外“#DEL#”表示已刪除?!?CHG#”表示變換的結果。另外,本源行中“*”為注釋行,“#”到“#”表示注釋。
另外,圖5是程序存放部102中存放的舊程序示例。圖8是表示分析部103分析的結果的指令樣式出現(xiàn)次數(shù)管理表。還有,設條件存放部1002,保存有,將出現(xiàn)次數(shù)在2次以上的第一指令樣式信息的程序行變換為第二指令樣式信息的條件。
然后,圖13中表示,指令樣式變換部1003,將圖5的舊程序變換生成,并且新程序輸出部1004將新程序輸出的示例。在圖13中,新程序中新生成的行用下劃線進行表示。即,在新程序中,將變換后的行和沒有變換的行在視覺上相區(qū)別地表示。
圖13的新程序中,①是通過指令樣式信息管理表的“ID=1”的行進行變化的部位。②是通過指令樣式信息管理表的“ID=2”的行進行變化的部位。
另外,圖12的指令樣式信息管理表中,為了說明的方便,寫了只對舊程序的1行,對應新程序n行(n為自然數(shù))的情況,但是也可以對舊程序m行(m為2以上的自然數(shù)),對應新程序n行(n為自然數(shù))的情況。
以上,通過本實施方式,可以進行對作為對象的源程序包含的指令樣式的分析,其結果,能夠對源程序進行高效地自動變換或者半自動變換。具體來說,對出現(xiàn)次數(shù)為沒有必要開發(fā)用于變換源程序的程序來進行變換的一定次數(shù)的指令樣式,通過手工操作修正,只對出現(xiàn)一定次數(shù)(例如,2次以上的出現(xiàn)次數(shù))以上的數(shù)的指令樣式,開發(fā)用于變換源程序的程序,通過使用該變換程序進行自動變換,能夠高效地變換程序。通過此自動變換裝置,例如,使在某種環(huán)境下能動作的程序在新的環(huán)境下能動作的操作能非常高效地,并且安全地進行。
另外,在本實施方式中,對出現(xiàn)次數(shù)少于一定次數(shù)以至于沒有必要開發(fā)程序的指令樣式,用手工操作進行修正,因而程序自動變換裝置,具備用于手工操作的輸入部件。輸入部件例如是鍵盤或鼠標等。
另外,在本實施方式中,如圖14中所示,在變換后的新程序中,可用對手工操作變換的部位、自動變換的部位、沒有進行變換的部位在視覺上相區(qū)別的方式,對新程序進行存儲或表示等。圖14的新程序中,“@”到“@”為表示用手工操作操作的注釋行。“@DEL@”表示用手工操作刪除的行,“@ADD@”表示用手工操作添加的行。
另外,在本實施方式中,用于判斷是自動變換還是用手工操作進行變換的條件雖然是將程序中的第一指令樣式信息的出現(xiàn)次數(shù)設為參數(shù)(上述示例中,自動變換的條件為出現(xiàn)次數(shù)在2次以上),但也可通過其他的條件來決定。另外,也可構成對要自動變換的第一指令樣式通過用戶輸入來指示。
另外,本實施方式中說明的動作,也可用計算機能夠讀取的程序來實現(xiàn)。該程序,可以記錄在CD-ROM等媒體上并傳播,也可通過網(wǎng)絡傳輸傳播,還可通過廣播傳播。這點,在其他的實施方式中也是一樣。此外,實現(xiàn)本實施方式中所說明的動作的程序,在計算機中,存放有1個以上的作為表示舊源程序的指令樣式的信息的第一指令樣式信息和表示新源程序的指令樣式的信息的第二指令樣式信息對,是用于實現(xiàn)以下步驟的程序,這些步驟包括在舊源程序中,分析所述1個以上的第一指令樣式信息出現(xiàn)了幾次的分析步驟;輸出所述分析步驟中的分析結果的分析結果輸出步驟;將分析為在規(guī)定次數(shù)(規(guī)定次數(shù)為2以上)以上的與該第一指令樣式信息對應的舊源程序的記敘部位,對應與該第一指令樣式信息成對的第二指令樣式信息地,進行變換的指令樣式變換步驟;將作為用所述指令樣式變換步驟變換所述舊源程序的結果的新程序輸出的新程序輸出步驟;以及,對在所述分析步驟中第一指令樣式信息的出現(xiàn)次數(shù),被分析為不滿所述規(guī)定次數(shù)的與該第一指令樣式信息所對應的舊源程序的記敘部位,通過用戶的手工操作將該舊源程序的記敘部位更改為新源程序的輸入進行受理的步驟。
另外,在本實施方式中,雖為用一個程序自動變換裝置進行程序的變換,但也可用多個裝置分擔處理。即,以下的程序自動變換方法也可以用多個裝置來實現(xiàn)。在存儲部中存放有,1個以上的作為表示舊程序的指令樣式的信息的第一指令樣式信息和作為表示新程序的指令樣式信息的第二指令樣式信息的信息對,并且具備在舊源程序中,對所述1個以上的第一指令樣式信息出現(xiàn)了幾次用分析模塊進行分析的分析步驟;將所述分析步驟中的分析結果用輸出模塊進行輸出的輸出步驟;將在所述分析步驟中被分析為在所述規(guī)定次數(shù)(規(guī)定次數(shù)為2以上)以上的與該第一指令樣式信息對應的舊源程序的記敘部位,對應與該第一指令樣式信息成對的第二指令樣式信息地,用變換模塊進行變換的指令樣式變換步驟;將作為用所述指令樣式變換步驟變換所述舊源程序的結果的新程序,用輸出模塊進行輸出的新程序輸出步驟;以及,對在所述分析步驟中第一指令樣式信息的出現(xiàn)次數(shù),被分析為不滿所述規(guī)定次數(shù)的與該第一指令樣式信息所對應的舊源程序的記敘部位,通過用戶的手工操作將該舊源程序的記敘部位更改為新源程序的輸入進行受理的步驟,通過用于能使某種環(huán)境下能動作的程序在其他環(huán)境下能動作的程序自動變換方法,高效地,并且,使不合適的地方較少地進行程序移植。
另外,在本實施方式中,所述的程序自動變換裝置可稱是能對生產(chǎn)在新環(huán)境(即,移植目的地的環(huán)境)下能動作的程序的方法進行實施的裝置。即,程序自動變換裝置,實現(xiàn)以下的程序生產(chǎn)方法。其是在存儲部中存放有,1個以上的作為表示舊程序的指令樣式的信息的第一指令樣式信息和作為表示新程序的指令樣式信息的第二指令樣式信息的信息對,并且具備在舊源程序中,對所述1個以上的第一指令樣式信息出現(xiàn)了幾次用分析模塊進行分析的分析步驟;將所述分析步驟中的分析結果輸出的用輸出模塊進行輸出步驟;將在所述分析步驟中被分析為在規(guī)定次數(shù)(規(guī)定次數(shù)為2以上)以上的第一指令樣式信息對應的舊源程序的記錄部位,對應與該第一指令樣式信息成對的第二指令樣式信息地,用變換模塊進行變換的指令樣式變換步驟;將作為用所述指令樣式變換步驟變換所述舊源程序的結果的新程序,用輸出模塊進行輸出的新程序輸出步驟;以及,對在所述分析步驟中第一指令樣式信息的出現(xiàn)次數(shù),被分析為不滿所述規(guī)定次數(shù)的與該第一指令樣式信息所對應的舊源程序的記敘部位,通過用戶的手工操作將該舊源程序的記敘部位更改為新源程序的輸入通過輸入部件進行受理的步驟,為生產(chǎn)用于使某種環(huán)境下能動作的程序在其他環(huán)境下能動作的程序的程序的生產(chǎn)方法。另外,所述的程序的生產(chǎn)方法中的新程序輸出步驟,也可為在新源程序中,將用所述指令樣式變換步驟變換的部位和沒有變換的部位視覺上相區(qū)別地進行輸出的程序的產(chǎn)生方法。
還有,本實施方式中,實現(xiàn)所述的程序的生產(chǎn)方法的程序生產(chǎn)裝置可稱是生產(chǎn)在如以下的新環(huán)境(即,移植目的地的環(huán)境)下動作的程序的裝置。即,該生產(chǎn)裝置,包括存放有1個以上的作為表示舊程序的指令樣式的信息的第一指令樣式信息和作為表示新程序的指令樣式信息的第二指令樣式信息的信息對的指令樣式對應信息存放部;在舊源程序中,對1個以上的第一指令樣式信息出現(xiàn)了幾次進行分析的分析部;將分析步驟中的分析結果輸出的輸出部;將在分析部中第一指令樣式信息的出現(xiàn)次數(shù)被分析為在規(guī)定次數(shù)(規(guī)定次數(shù)為2以上)以上的第一指令樣式信息所對應的舊源程序的記敘部位,對應與該第一指令樣式信息成對的第二指令樣式信息地,進行變換的指令樣式變換部;將作為在指令樣式變換部中變換舊源程序的結果的新源程序輸出的新程序輸出部;以及,對在分析部中第一指令樣式信息的出現(xiàn)次數(shù),被分析為不滿規(guī)定的次數(shù)的與該第一指令樣式信息所對應的舊源程序的記敘部位,通過用戶的手工操作將該舊源程序的記敘部位更改為新源程序的輸入進行受理的輸入受理部,能生產(chǎn)用于使在某種環(huán)境下能動作的舊源程序能在其他的環(huán)境下動作的新源程序的程序生產(chǎn)裝置。同時,如上述,上述的新程序輸出部,也可在新源程序中,將指令樣式變換部變換了的部位和沒有進行變換的部位,在視覺上區(qū)別地進行輸出。
生產(chǎn)上的利用可能性本發(fā)明中涉及的程序變換方法及裝置等,可以對作為變換對象的程序所包含的指令樣式進行分析,其結果,可用作能夠高效地移植程序的方法及裝置等。
權利要求
1.一種程序自動變換方法,用于使在某種環(huán)境下動作的程序在其他環(huán)境下動作,其特征在于在存儲部中存放有1個以上的、表示舊源程序的指令樣式的信息——第一指令樣式信息和表示新源程序的指令樣式信息——第二指令樣式信息的信息對,具備在舊源程序中,對所述1個以上的第一指令樣式信息究竟出現(xiàn)了幾次,用分析模塊進行分析的分析步驟;將所述分析步驟中的分析結果用輸出模塊進行輸出的輸出步驟;當在所述分析步驟中得出第一指令樣式信息的出現(xiàn)次數(shù)為2以上的規(guī)定次數(shù)以上的分析時,則用變換模塊對該第一指令樣式信息對應的舊源程序的記敘部位進行變換,并使其對應與該第一指令樣式信息成對的第二指令樣式信息的指令樣式變換步驟;將用所述指令樣式變換步驟變換所述舊源程序的結果——新源程序,用輸出模塊進行輸出的新程序輸出步驟;以及當在所述分析步驟中得出第一指令樣式信息的出現(xiàn)次數(shù)小于所述規(guī)定次數(shù)的分析時,則針對該第一指令樣式信息對應的舊源程序的記敘部位,用輸入部件受理通過用戶的手工操作將該舊源程序的記敘部位更改為新源程序的輸入的步驟。
2.據(jù)權利要求1所述的程序自動變換方法,其特征在于所述的新程序輸出步驟,在新源程序中,將用所述指令樣式變換步驟變換的部位和沒有變換的部位在視覺上相區(qū)別地進行輸出。
3.一種程序,其特征在于在計算機中,存放有1個以上的、表示舊源程序的指令樣式的信息——第一指令樣式信息和表示新源程序的指令樣式的信息——第二指令樣式的信息對,執(zhí)行在舊源程序中,分析所述1個以上的第一指令樣式信息究竟出現(xiàn)了幾次的分析步驟;輸出所述分析步驟中的分析結果的分析結果輸出步驟;當在所述分析步驟中得出第一指令樣式信息的出現(xiàn)次數(shù)為2以上的規(guī)定次數(shù)以上的分析時,則對該第一指令樣式信息對應的舊源程序的記敘部位進行變換,并使其對應與該第一指令樣式信息成對的第二指令樣式信息的指令樣式變換步驟;將用所述指令樣式變換步驟變換所述舊源程序的結果——新源程序輸出的新程序輸出步驟;以及當在所述分析步驟中得出第一指令樣式信息的出現(xiàn)次數(shù)小于所述規(guī)定次數(shù)的分析時,則針對該第一指令樣式信息對應的舊源程序的記敘部位,受理通過用戶的手工操作將該舊源程序的記敘部位更改為新源程序的輸入的步驟。
4.根據(jù)權利要求3所述的程序,其特征在于所述的新程序輸出步驟,在新源程序中,將用所述指令樣式變換步驟變換的部位和沒有變換的部位在視覺上相區(qū)別地進行輸出。
5.一種程序自動變換裝置,其特征在于具備存放有1個以上的、表示舊源程序的指令樣式的信息——第一指令樣式信息和表示新源程序的指令樣式信息——第二指令樣式信息的信息對的指令樣式對應信息存放部;在舊源程序中,對1個以上的所述第一指令樣式信息究竟出現(xiàn)了幾次進行分析的分析部;將所述分析步驟中的分析結果輸出的輸出部;當在所述分析步驟中得出第一指令樣式信息的出現(xiàn)次數(shù)為2以上的規(guī)定次數(shù)以上的分析時,則對該第一指令樣式信息對應的舊源程序的記敘部位進行變換,并使其對應與該第一指令樣式信息成對的第二指令樣式信息的指令樣式變換部;將在所述指令樣式變換部中變換舊源程序的結果——新源程序輸出的新程序輸出部;以及當在所述分析步驟中得出第一指令樣式信息的出現(xiàn)次數(shù)小于所述規(guī)定次數(shù)的分析時,則針對該第一指令樣式信息對應的舊源程序的記敘部位,受理通過用戶的手工操作將該舊源程序的記敘部位更改為新源程序的輸入的受理輸入部。
6.根據(jù)權利要求5所述的程序自動變換裝置,其特征在于所述的新程序輸出部,在新源程序中,將用所述指令樣式變換步驟變換的部位和沒有變換的部位在視覺上相區(qū)別地進行輸出。
7.一種程序的生產(chǎn)方法,生產(chǎn)用于使某種環(huán)境下動作的舊源程序在其他環(huán)境下動作的新源程序,其特征在于具備在舊源程序中,對1個以上的第一指令樣式信息究竟出現(xiàn)了幾次進行分析的分析步驟;將所述分析步驟中的分析結果輸出的輸出步驟;當在所述分析步驟中得出第一指令樣式信息的出現(xiàn)次數(shù)為2以上的規(guī)定次數(shù)以上的分析時,則對該第一指令樣式信息對應的舊源程序的記敘部位進行變換,并使其對應與該第一指令樣式信息成對的第二指令樣式信息的指令樣式變換步驟;將用所述指令樣式變換步驟中變換所述舊源程序的結果——新源程序,進行輸出的新程序輸出步驟;以及當在所述分析步驟中得出第一指令樣式信息的出現(xiàn)次數(shù)小于所述規(guī)定次數(shù)的分析時,則針對該第一指令樣式信息對應的舊源程序的記敘部位,受理通過用戶的手工操作將該舊源程序的記敘部位更改為新源程序的輸入的步驟。
8.根據(jù)權利要求7所述的程序生產(chǎn)方法,其特征在于所述新程序輸出步驟,在新源程序中,將用所述指令樣式變換步驟變換的部位和沒有變換的部位在視覺上相區(qū)別地進行輸出。
9.一種程序的生產(chǎn)裝置,用于生產(chǎn)使某種環(huán)境下動作的舊源程序在其他環(huán)境下動作的新源程序,其特征在于包括存放有1個以上的、表示舊源程序的指令樣式的信息——第一指令樣式信息和表示新源程序的指令樣式信息——第二指令樣式信息的信息對的指令樣式對應信息存放部;在舊源程序中,對1個以上的所述第一指令樣式信息究竟出現(xiàn)了幾次進行分析的分析部;將所述分析步驟中的分析結果輸出的輸出部;當在所述分析步驟中得出第一指令樣式信息的出現(xiàn)次數(shù)為2以上的規(guī)定次數(shù)以上的分析時,則對該第一指令樣式信息對應的舊源程序的記敘部位進行變換,并使其對應與該第一指令樣式信息成對的第二指令樣式信息的指令樣式變換部;將在所述指令樣式變換部中變換舊源程序的結果——新源程序輸出的新程序輸出部;以及當在所述分析步驟中得出第一指令樣式信息的出現(xiàn)次數(shù)小于所述規(guī)定次數(shù)的分析時,則針對該第一指令樣式信息對應的舊源程序的記敘部位,受理通過用戶的手工操作將該舊源程序的記敘部位更改為新源程序的輸入的受理輸入部。
10.根據(jù)權利要求9所述的程序的生產(chǎn)裝置,其特征在于所述的新程序輸出部,在新源程序中,將指令樣式變換部變換了的部位和沒有進行變換的部位,在視覺上區(qū)別地進行輸出。
全文摘要
本發(fā)明的程序自動變換方法具備在舊源程序中,對第一指令樣式信息出現(xiàn)了幾次進行分析的分析步驟;將分析結果進行輸出的分析結果輸出步驟;將第一指令樣式信息的出現(xiàn)次數(shù),被分析為規(guī)定次數(shù)(規(guī)定次數(shù)為2以上)以上的與該第一指令樣式信息所對應的舊源程序的記敘部位,對應與該第一指令樣式信息成對的第二指令樣式信息地,進行變換的指令樣式變換步驟;將指令樣式變換步驟中作為變換所述舊源程序的結果的新源程序進行輸出的新程序輸出步驟;以及,對在分析步驟中第一指令樣式信息的出現(xiàn)次數(shù),被分析為不滿規(guī)定次數(shù)的與該第一指令樣式信息所對應的舊源程序的記敘部位,通過用戶的手工操作將該舊源程序的記敘部位更改為新源程序的輸入進行受理的步驟。能高效地,并且,使不合適的地方較少地進行程序移植。
文檔編號G06F9/45GK1692334SQ20038010047
公開日2005年11月2日 申請日期2003年11月28日 優(yōu)先權日2002年12月5日
發(fā)明者長島廣仲, 淺尾茂, 鶴卷正伸 申請人:株式會社智系統(tǒng)