TWM646597U - 原始碼最佳化器 - Google Patents
原始碼最佳化器 Download PDFInfo
- Publication number
- TWM646597U TWM646597U TW112202466U TW112202466U TWM646597U TW M646597 U TWM646597 U TW M646597U TW 112202466 U TW112202466 U TW 112202466U TW 112202466 U TW112202466 U TW 112202466U TW M646597 U TWM646597 U TW M646597U
- Authority
- TW
- Taiwan
- Prior art keywords
- source code
- language
- fragments
- optimizer
- user interface
- Prior art date
Links
- 239000012634 fragment Substances 0.000 claims description 118
- 238000006243 chemical reaction Methods 0.000 claims description 49
- 238000000034 method Methods 0.000 claims description 23
- 230000006870 function Effects 0.000 claims description 11
- 238000013500 data storage Methods 0.000 claims description 5
- 230000002452 interceptive effect Effects 0.000 claims description 5
- 230000004931 aggregating effect Effects 0.000 claims description 4
- 238000007781 pre-processing Methods 0.000 claims description 3
- 230000001131 transforming effect Effects 0.000 abstract 2
- 238000010586 diagram Methods 0.000 description 28
- 238000000354 decomposition reaction Methods 0.000 description 4
- 238000005457 optimization Methods 0.000 description 3
- 230000008569 process Effects 0.000 description 3
- 230000009471 action Effects 0.000 description 1
- 125000002015 acyclic group Chemical group 0.000 description 1
- 238000004891 communication Methods 0.000 description 1
- 230000005012 migration Effects 0.000 description 1
- 238000013508 migration Methods 0.000 description 1
- 101150108812 proC gene Proteins 0.000 description 1
Landscapes
- Vehicle Body Suspensions (AREA)
- Ultra Sonic Daignosis Equipment (AREA)
- Luminescent Compositions (AREA)
Abstract
本創作揭露原始碼最佳化器。原始碼最佳化器包括一儲存裝置、一連接裝置、一顯示裝置及一處理裝置。處理裝置提供一使用者介面、一原始碼分析單元及一原始碼轉換模組。使用者可透過操作使用者介面,將第一種語言的一原始碼輸入使用者介面,並傳送到原始碼分析單元由原始碼分析單元進行分析並分解成第一種語言的多個片段之後,再由原始碼轉換模組將經分解的第一種語言的片段轉換為對應的第二種語言的片段,原始碼分析單元再依據之前產生的多標籤有向非循環圖聚合第二種語言的片段以形成第二種語言的一原始碼。
Description
本創作係與原始碼最佳化器及最佳化原始碼的方法相關,尤其是與將第一種語言的原始碼轉換成對應的第二種語言的原始碼之原始碼最佳化器及最佳化原始碼的方法相關。
進行資料遷移(data migration)或轉換平台時,通常需要投入大量的人工並花去許多時間在程式編輯上,將原始碼轉換成實質相同的另一程式語言的版本。因此,亟需發展可依據一程式快速編輯並減少人工需求的程式編輯裝置。
本創作之一目的在於提供原始碼最佳化器,藉由配置處理裝置以提供一原始碼分析單元分析並分解一第一種語言的至少一原始碼,以獲得第一種語言的多個片段,並產生一多標籤有向非循環圖定義第一種語言的片段的相依性,經一原始碼轉換模組將第一種語言的片段轉換成對應的一第二種語言的多個片段之後,由原始碼分析單元依據多標籤有向非循環圖聚合此些第二種語言的片段以形成第二種語言的至少一原始碼。因此透過本創作的原始碼最佳化器,可依據第一種語言的原始碼以快速並減少人工需求的方式編輯出第二種語言的原始碼。較佳地,在原始碼分析單元依據多標籤有向非循環圖聚合第二種
語言的片段時,可以省略第二種語言的片段中不具有相依性的至少一片段,以優化第二種語言的原始碼。
依據本創作之一面向,本創作提供一原始碼最佳化器,包括一儲存裝置、一連接裝置及一處理裝置。儲存裝置提供一資料儲存空間。處理裝置透過連接裝置電性連接儲存裝置以使用資料儲存空間,並被配置以提供一使用者介面、一原始碼分析單元及一原始碼轉換模組。使用者介面提供多種互動功能及物件顯示於該顯示裝置上供使用者操作,以將接收的一第一種語言的至少一原始碼轉換為一第二種語言的至少一原始碼。原始碼分析單元接收來自該使用者介面的該第一種語言的該至少一原始碼,分析並分解該第一種語言的該至少一原始碼以獲得該第一種語言的多個片段,並產生一多標籤有向非循環圖定義該第一種語言的該些片段的相依性。原始碼轉換模組將該第一種語言的該些片段轉換成對應的一第二種語言的多個片段。該原始碼分析單元接收該第二種語言的該些片段,並依據該多標籤有向非循環圖聚合該第二種語言的該些片段以形成該第二種語言的該至少一原始碼。
1:處理裝置
2:連接裝置
3:儲存裝置
4:顯示裝置
11:使用者介面
12:原始碼分析單元
13:原始碼轉換模組
14:資料轉換模組
41,42:視窗框
43,44:功能選單
45:複製快速鍵
100:原始碼最佳化器
121:分解模塊
122:MLDAG產生模塊
131,132,133:原始碼轉換模塊
141,142,143:資料轉換模塊
51,52,53,54:步驟
在此圖式可用以更為理解本創作之目的與優點,其中:圖1顯示依據本創作之一第一實施例之原始碼最佳化器之一系統架構圖;圖2顯示依據本創作之第一實施例之處理裝置之一功能方塊圖;圖3A顯示依據本創作之第一實施例之多標籤有向非循環圖一示意圖;圖3B顯示依據本創作之第一實施例之多標籤有向非循環圖之一資料結構之示意圖;圖4顯示依據本創作之第一實施例之使用者介面之一示意圖;
圖5繪示依據本創作之一第二實施例之原始碼最佳化器實施之最佳化原始碼的方法之一流程圖;圖6顯示依據本創作之第二實施例之一SAS原始碼之一示意圖;圖7A至圖7E分別顯示依據本創作之第二實施例之原始碼最佳化器實施之最佳化原始碼的方法將圖6的SAS原始碼分解後的五個片段之一示意圖;圖8顯示依據本創作之第二實施例之原始碼最佳化器實施之最佳化原始碼的方法以圖6的SAS原始碼為例所產生的多標籤有向非循環圖之一示意圖;圖9顯示依據本創作之第二實施例之原始碼最佳化器實施之最佳化原始碼的方法以圖6的SAS原始碼為例所產生的SQL原始碼之一示意圖;圖10顯示依據本創作之一第三實施例之一C++原始碼之一示意圖;圖11顯示依據本創作之第三實施例之一原始碼分析單元將C++原始碼分解之一示意圖;圖12A至圖12C分別顯示依據本創作之第三實施例之原始碼最佳化器將圖10的C++原始碼分解後的三個片段之一示意圖;圖13顯示依據本創作之第三實施例之原始碼最佳化器以圖10的C++原始碼為例所產生的多標籤有向非循環圖之一示意圖;圖14顯示依據本創作之第三實施例之原始碼最佳化器以圖10的C++原始碼為例所產生的Python原始碼之一示意圖。
為進一步說明各實施例及其優點,本創作乃配合圖式提供下列說明。此些圖式乃為本創作揭露內容之一部分,其主要係用以說明實施例,並可配合說明書之相關描述來解釋實施例的運作原理。配合參考這些內容,本領域
具有通常知識者應能理解其他可能的實施方式以及本創作之優點。圖中的元件並未按比例繪製,而類似的元件符號通常用來表示類似的元件。如在此揭露,「實施例」、「示例」及「本實施例」並非專指單一實施例,而可及於依據本創作不同結合方式實施之例子,不悖于本創作之精神與範圍。此處使用之詞彙僅用以闡明本創作原則之具體實施例,應不拘限本創作。故而,如「之中」可包括「之內」及「之上」,「一」及「該」可包括單數或複數;「藉」可指「從」,「若」可指「當」或「一旦」,端示於前後文字內容。此外,「及/或」可包括有關元件的任何可能的組合。
本說明書揭露可將第一種語言的原始碼轉換成對應的第二種語言的原始碼之原始碼最佳化器之多個示例,其可藉由配置處理裝置以提供一原始碼分析單元分析並分解一第一種語言的至少一原始碼(source code),以獲得第一種語言的多個片段(segments),並產生一多標籤有向非循環圖(Multi-labeled Directed Acyclic Graph,簡稱MLDAG)定義第一種語言的片段的相依性,經一原始碼轉換模組將第一種語言的片段轉換成對應的一第二種語言的多個片段之後,由原始碼分析單元分析依據多標籤有向非循環圖聚合第二種語言的片段以形成第二種語言的至少一原始碼。因此透過本創作的原始碼最佳化器,可依據第一種語言的原始碼以快速並減少人工需求的方式編輯出第二種語言的原始碼。較佳地,在使用者介面依據多標籤有向非循環圖聚合第二種語言的片段時,可省略第二種語言的片段中不具有相依性的至少一片段,以優化第二種語言的原始碼。第一種語言與第二種語言為程式編輯語言,但並無限制其種類,舉例來說,可為SAS語言、SQL(Structured Query Language)語言、C++語言、Python語言及其他語言。
請參考圖1顯示依據本創作之一第一實施例之一原始碼最佳化器100。原始碼最佳化器100包括一處理裝置1、一連接裝置2、一儲存裝置3及一顯示裝置4。處理裝置1可以是一處理器(Processor)、一微處理器(Micro-processing Unit)、一中央處理單元(Center Processing Unit)、一微控制器(Micro-controlling Unit)或其他電子裝置,在此無須限定,並以一中央處理單元為例。連接裝置2可以是一電路板、一網路卡、一網路晶片、一無線通訊接收器或其他電子裝置,在此無須限定,並以作為主機板的一印刷電路板(Printed Circuit Board)為例。儲存裝置3提供一資料儲存空間供儲存電子資訊,可以是一記憶體(Memory)、一硬碟(Hard Disc)、一外部資料庫(External Database)或其他電子裝置,在此無須限定,並以一記憶體為例。顯示裝置4可以是一顯示器、一顯示面板、一投影器或其他電子裝置,在此無須限定,並以一顯示器為例。處理裝置1可透過連接裝置2與儲存裝置3之間傳遞對應協定的封包,使得處理裝置1的指令得以傳送至儲存裝置3,並使得處理裝置1得以接收儲存裝置3傳送的資料。在此無須限制協定的種類,舉例來說可為UART、ISP、I2C或其他協定。
請參考圖2顯示依據本創作之一第一實施例之處理裝置1之一功能方塊圖。處理裝置1在此係被配置以提供一使用者介面11、一原始碼分析單元12、一原始碼轉換模組13及一資料轉換模組14。使用者介面11提供操作介面、控制輸入的原始碼及輸出的原始碼並至少顯示轉換好的原始碼。簡單地說,使用者可透過操作使用者介面11,將第一種語言的一原始碼輸入使用者介面11,並傳送到原始碼分析單元12由原始碼分析單元12進行分析並分解成第一種語言的多個片段之後,再由原始碼轉換模組13將經分解的第一種語言的片段轉換為
對應的第二種語言的片段,原始碼分析單元12再依據之前產生的多標籤有向非循環圖聚合第二種語言的片段以形成第二種語言的一原始碼。詳細作動過程會在後續段落說明。第二種語言的原始碼可為第一種語言的原始碼實質相同的另一程式語言的版本,然而,較佳地,第二種語言的原始碼可為大致相同於第一種語言的原始碼但更優化的另一程式語言的版本。
請一併參考圖2、圖3A及圖3B,其中圖3A顯示依據本創作之第一實施例之多標籤有向非循環圖一示意圖,圖3B顯示依據本創作之第一實施例之多標籤有向非循環圖之一資料結構之示意圖,其為SAS語言轉換為SQL語言的一示例。原始碼分析單元12的分解模塊121接收到來自使用者介面11的第一種語言的原始碼之後,可依據第一種語言的原始碼其中的方法宣告分割成不同區塊,每一區塊對應成為一個片段,如此來獲得第一種語言的多個片段。接著,原始碼分析單元12的MLDAG產生模塊122在接收到第一種語言的片段後,可產生對應的多標籤有向非循環圖。詳細地說,MLDAG產生模塊122可確認其一片段的輸出是否被用作另一片段的輸入,並在確認一片段的輸入用作另一片段的輸入時,以圖3B示範的資料結構產生一標籤標記後一片段存在對前一片段的相依性,藉此定義第一種語言的片段的相依性,並逐一確認全部的片段以完成多標籤有向非循環圖。如圖3A中所示,每個圓圈表示一個片段,如:片段1~8之一,片段之間的箭頭用以表示其間的相依性,箭頭指向的片段的輸出為箭頭起始處的片段的輸入,如:片段1的輸出將會輸入至片段2、3,因此箭頭起始處的片段對箭頭指向的片段具有相依性。多標籤有向非循環圖G在此可以G=<V,E>表示第一種語言的片段的結構,|V|是包括一片段的片段類型、輸入碼、輸出碼的一組頂點,|E|=<u,v>是一組有向邊,指示的以u、v兩頂點代表兩片段之間
關係是u為v的預處理。接著,原始碼分析單元12將分解產生的第一種語言的片段傳送到使用者介面11。
原始碼轉換模組13包括數量不限的原始碼轉換模塊131~133,在此以三個原始碼轉換模塊131~133為例。在使用者介面11接收到第一種語言的片段之後,接著會依據第一種語言的片段的內容將該片段分派到對應的原始碼轉換模塊131~133,由原始碼轉換模塊131~133分別轉換為對應的第二種語言的片段。每個原始碼轉換模塊131~133可對應第一種語言或第二種語言的不同方法,因此較佳可依據所應用的語言的不同來適應性調整原始碼轉換模塊131~133的數量。原始碼轉換模組13接著將轉換好的第二種語言的片段輸出至原始碼分析單元12。
其次,依據應用的複雜度,本實施例的原始碼最佳化器100還將處理裝置1配置出資料轉換模組14,然而在其他實施例中可省略之。資料轉換模組14包括數量不限的多個資料轉換模塊141~143,在此以三個資料轉換模塊141~143為例。在此示例地將資料檔案1、2輸入資料轉換模組14後,由資料轉換模塊141~143分別將一資料檔案的原始數據轉換成對應的該第二種語言的多個片段。在本實施例中,數據轉換為原始碼的過程舉例為:首先,以資料轉換模塊141~143中的一段程式來讀取資料檔案1、2;接著,將上一步讀取到之資料以正確順序放入第二種語言相對應的位置上,如:各資料應依原先在資料檔案1、2的原始順序出現在第二種語言的特定函式之中並帶入第二種語言的特定格式,如:以逗號分隔等;最後一步是將資料檔案1、2的原始欄位名稱放入第二種語言相對應的位置上,如:應將資料檔案1、2的各個欄位名稱依原始順序放入另一特定函式之中並帶入第二種語言的特定格式,如:以逗號分隔。資料轉換模
組14接著將轉換好的第二種語言的片段輸出至原始碼分析單元12。
原始碼分析單元12接收到前述第二種語言的片段(包括來自資料轉換模組14及原始碼轉換模組13的第二種語言的片段)後,依據先前產生的多標籤有向非循環圖中各個片段的相依性一同聚合此些第二種語言的片段以形成所需求的第二種語言的原始碼,並且將第二種語言的原始碼傳到使用者介面11供顯示在顯示裝置4上。然而,依照圖3A提供的示例可以發現並無任何其他片段對片段2具有相依性,顯然片段2並非是必要存在的,因此在聚合第二種語言的片段時,可以省略不具和對應於片段2的第二種語言的片段,以此優化第二種語言的原始碼。
此外,請參考圖4顯示依據本創作之第一實施例之使用者介面11之一示意圖,使用者介面11可包括兩個視窗框41、42,其一視窗框41顯示第一種語言的原始碼,另一視窗框42顯示第二種語言的原始碼以供比對。除此之外,使用者介面11還可包括選擇輸入的第一種語言的原始碼的功能選單43、上傳一種語言的原始碼的功能選單44及複製快速鍵45,然而其不限於此,亦可依需求更改使用者介面11多種互動功能及物件的排列位置、形狀、尺寸與內容。
以下說明依據本創作之一第二實施例,請一併參考圖1、圖2及圖5到圖9,其中圖5繪示第二實施例之原始碼最佳化器實施之最佳化原始碼的方法之一流程圖,圖6顯示第二實施例之一SAS原始碼之一示意圖,圖7A至圖7E分別顯示第二實施例之原始碼最佳化器實施之最佳化原始碼的方法將圖6的SAS原始碼分解後的五個片段之一示意圖,分別對應片段1~5,圖8顯示第二實施例之原始碼最佳化器實施之最佳化原始碼的方法以圖6的SAS原始碼為例所產生的多標籤有向非循環圖之一示意圖,圖9顯示第二實施例之原始碼最佳化器實施之最
佳化原始碼的方法以圖6的SAS原始碼為例所產生的SQL原始碼之一示意圖。本實施例的原始碼最佳化器舉例為圖1顯示的原始碼最佳化器100,其所實施之最佳化原始碼的方法係以SAS原始碼轉換為SQL原始碼為例,並可應用於如圖1、2顯示的原始碼最佳化器100中的處理裝置1,然並不限於此。如圖2、圖5所示,最佳化原始碼的方法首先進行步驟51:以使用者介面11,提供多種互動功能及物件顯示於顯示裝置4上供使用者操作,以將接收的一第一種語言的至少一原始碼轉換為一第二種語言的至少一原始碼。此處的第一種語言指的是SAS語言,SAS原始碼示例顯示於圖6。
經使用者操作使用者介面11進行轉換,如:選取欲轉換的第一種語言的原始碼並點選轉換按鈕後,在步驟52中,以原始碼分析單元12,接收來自使用者介面11的第一種語言的原始碼,分析並分解第一種語言的原始碼以獲得第一種語言的多個片段,並產生一多標籤有向非循環圖定義第一種語言的片段的相依性。圖7A到圖7E分別顯示圖6的SAS原始碼經分解的一個SAS片段。以圖6的SAS原始碼為例,原始碼分析單元12的MLDAG產生模塊122在接收到SAS片段後,可產生對應的多標籤有向非循環圖。詳細地說,MLDAG產生模塊122可確認其一片段的輸出是否被用作另一片段的輸入,並在確認一片段的輸入用作另一片段的輸入時,產生一標籤標記後一片段存在對前一片段的相依性,藉此定義SAS片段的相依性,並逐一確認全部的SAS片段以完成多標籤有向非循環圖。如圖8中所示,每個圓圈表示一個片段,如:SAS片段1~4之一,片段之間的箭頭用以表示其間的相依性,箭頭指向的SAS片段的輸出為箭頭起始處的SAS片段的輸入,如:SAS片段1的輸出將會輸入至SAS片段2、3,因此箭頭起始處的SAS片段對箭頭指向的SAS片段具有相依性。多標籤有向非循環圖G在此
可以G=<V,E>表示SAS片段的結構,|V|是包括一片段的片段類型、輸入碼、輸出碼的一組頂點,|E|=<u,v>是一組有向邊,指示的以u、v兩頂點代表兩片段之間關係是u為v的預處理。請注意在本實施例中,圖7E顯示的片段5示例為最終輸出(Proc export),應會儲存在一變數當中,且根據輸出形式不同將其顯現在網頁或任一畫面上,這段過程沒有特定做法與對應之原始碼需要轉換或產生,因此可以省略片段5的轉換而不顯示於圖8的多標籤有向非循環圖G中,以此優化SQL原始碼。
接著,在步驟53中,以原始碼轉換模組13,將第一種語言的片段轉換成對應的一第二種語言的多個片段。以圖6的SAS原始碼為例,在使用者介面11接收到來自原始碼分析單元12的SAS片段之後,接著會依據SAS片段的內容將該片段分派到對應的原始碼轉換模塊131~133,由原始碼轉換模塊131~133分別轉換為對應的SQL片段。
接著,進行步驟54:以原始碼分析單元12,接收第二種語言的片段,並依據多標籤有向非循環圖聚合第二種語言的片段以形成第二種語言的至少一原始碼。在本例中,原始碼分析單元12在接收到SQL片段後,依據先前產生的多標籤有向非循環圖中各個SAS片段的相依性聚合SQL片段以形成所需求的SQL原始碼,並且將SQL原始碼傳到使用者介面11供顯示在顯示裝置4上,聚合的SQL原始碼顯示如圖9。較佳地,在聚合SQL片段時,可以省略多標籤有向非循環圖中顯示沒有任何相依性的片段對應的SQL片段,以此優化SQL原始碼。
在其他實施例中,可以依據需求額外增加下列步驟:以一資料轉換模組的多個資料轉換模塊,分別將一資料檔案的原始數據轉換成對應的第二
種語言的多個片段;以原始碼分析單元,將資料檔案的該原始數據轉換成的第二種語言的片段一同聚合以形成第二種語言的原始碼。
在其他實施例中,可以依據需求額外增加下列步驟:以原始碼轉換模組的多個原始碼轉換模塊,分別將該第一種語言的片段之一轉換為對應的第二種語言的片段。
在其他實施例中,可以依據需求額外增加下列步驟:以原始碼轉換模組,將第一種語言的原始碼依據其中的方法宣告分割成不同區塊,每一區塊對應第一種語言的片段之一。
在其他實施例中,可以依據需求額外增加下列步驟:以原始碼分析單元,在確認一片段的輸出被用作另一片段的輸入時,在多標籤有向非循環圖中以一標籤標記該一片段存在對該片段的相依性。
在其他實施例中,可以依據需求額外增加下列步驟:配置使用者介面提供多種互動功能及物件供使用者操作,使用者介面包括兩個視窗框,其一視窗框顯示第一種語言的原始碼,另一視窗框顯示第二種語言的原始碼。
在其他實施例中,可以依據需求額外增加下列步驟:以使用者介面,依據多標籤有向非循環圖聚合第二種語言的片段時,省略第二種語言的該片段中不具有相依性的至少一片段,以優化第二種語言的原始碼。
以下說明依據本創作之一第三實施例,請一併參考圖1、圖2及圖10到圖11,其中圖10顯示第三實施例之一C++原始碼之一示意圖,圖11顯示第三實施例之一原始碼分析單元將C++原始碼分解之一示意圖,圖12A至圖12C分別顯示依據第三實施例之原始碼最佳化器將圖10的C++原始碼分解後的三個片段之一示意圖,圖13顯示第三實施例之原始碼最佳化器以圖10的C++原始碼為
例所產生的多標籤有向非循環圖之一示意圖,圖14顯示第三實施例之原始碼最佳化器以圖10的C++原始碼為例所產生的Python原始碼之一示意圖。如圖2、圖10所示,使用者可透過操作使用者介面11,將第一種語言的一原始碼輸入使用者介面11,以將接收的一第一種語言的至少一原始碼轉換為一第二種語言的至少一原始碼。本實施例的原始碼最佳化器100係以C++原始碼轉換為Python原始碼為例,因此第一種語言指的是C++語言,C++原始碼示例顯示於圖10。
接著,原始碼分析單元12的分解模塊121依據如圖11顯示的程序作動,在使用者介面11將C++原始碼傳送到原始碼分析單元12時,由原始碼分析單元12進行分析並分解成如圖12A~12C顯示的三個C++片段並且據此產生如圖13顯示的多標籤有向非循環圖。之後,再由原始碼轉換模組13將經分解的C++片段轉換為對應的Python片段,且由原始碼分析單元12再依據之前產生的多標籤有向非循環圖聚合Python片段以形成Python原始碼。原始碼分析單元12將Python原始碼傳回使用者介面11與C++原始碼一同顯示在顯示裝置4上。
由上述中可以得知,透過原始碼分析單元與原始碼轉換模組的配合,本創作的原始碼最佳化器及最佳化原始碼的方法可將第一種語言的原始碼轉換成對應的第二種語言的原始碼並優化第二種語言的原始碼。
以上敍述依據本創作多個不同實施例,其中各項特徵可以單一或不同結合方式實施。因此,本創作實施方式之揭露為闡明本創作原則之具體實施例,應不拘限本創作於所揭示的實施例。進一步言之,先前敍述及其附圖僅為本創作示範之用,並不受其限囿。其他元件之變化或組合皆可能,且不悖于本創作之精神與範圍。
1:處理裝置
2:連接裝置
3:儲存裝置
4:顯示裝置
100:原始碼最佳化器
Claims (8)
- 一種原始碼最佳化器,包括: 一儲存裝置,提供一資料儲存空間; 一連接裝置; 一顯示裝置;及 一處理裝置,透過該連接裝置電性連接該儲存裝置以使用該資料儲存空間,並被配置以提供: 一使用者介面,提供多種互動功能及物件顯示於該顯示裝置上供使用者操作,以將接收的一第一種語言的至少一原始碼轉換為一第二種語言的至少一原始碼; 一原始碼分析單元,接收來自該使用者介面的該第一種語言的該至少一原始碼,分析並分解該第一種語言的該至少一原始碼以獲得該第一種語言的多個片段,並產生一多標籤有向非循環圖定義該第一種語言的該些片段的相依性;及 一原始碼轉換模組,將該第一種語言的該些片段轉換成對應的一第二種語言的多個片段; 其中,該原始碼分析單元接收該第二種語言的該些片段,並依據該多標籤有向非循環圖聚合該第二種語言的該些片段以形成該第二種語言的該至少一原始碼。
- 如請求項1所述的原始碼最佳化器,其中該處理裝置更被配置以提供: 一資料轉換模組,包括多個資料轉換模塊分別將一資料檔案的原始數據轉換成對應的該第二種語言的多個片段; 其中,從該資料檔案的該原始數據轉換成的該第二種語言的該些片段由該原始碼分析單元一同聚合以形成該第二種語言的該原始碼。
- 如請求項1所述的原始碼最佳化器,其中該原始碼轉換模組包括多個原始碼轉換模塊,該些原始碼轉換模塊分別將該第一種語言的該些片段之一轉換為對應的第二種語言的片段。
- 如請求項1所述的原始碼最佳化器,其中該原始碼分析單元將該第一種語言的該原始碼依據其中的方法宣告分割成不同區塊,每一區塊對應該第一種語言的該些片段之一。
- 如請求項1所述的原始碼最佳化器,其中該原始碼分析單元在確認該些片段之一片段的輸出被用作該些片段之另一片段的輸入時,在該多標籤有向非循環圖中以一標籤標記該另一片段存在對該片段的相依性。
- 如請求項5所述的原始碼最佳化器,其中該多標籤有向非循環圖G以G = <V, E>表示該第一種語言的該些片段的結構,|V|是包括一片段的片段類型、輸入碼、輸出碼的一組頂點,|E| = <u, v>是一組有向邊,指示的以u、v兩頂點代表兩片段之間關係是u為v的預處理。
- 如請求項1所述的原始碼最佳化器,其中該使用者介面包括兩個視窗框,其一視窗框顯示該第一種語言的該原始碼,另一視窗框顯示該第二種語言的該原始碼。
- 如請求項1所述的原始碼最佳化器,其中該使用者介面依據該多標籤有向非循環圖聚合該第二種語言的該些片段時,省略該第二種語言的該些片段中不具有相依性的至少一片段,以優化該第二種語言的該原始碼。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
TW112202466U TWM646597U (zh) | 2023-03-20 | 2023-03-20 | 原始碼最佳化器 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
TW112202466U TWM646597U (zh) | 2023-03-20 | 2023-03-20 | 原始碼最佳化器 |
Publications (1)
Publication Number | Publication Date |
---|---|
TWM646597U true TWM646597U (zh) | 2023-10-01 |
Family
ID=89856442
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
TW112202466U TWM646597U (zh) | 2023-03-20 | 2023-03-20 | 原始碼最佳化器 |
Country Status (1)
Country | Link |
---|---|
TW (1) | TWM646597U (zh) |
-
2023
- 2023-03-20 TW TW112202466U patent/TWM646597U/zh unknown
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP2017215996A (ja) | 変更要求フォームの注釈 | |
US20060048107A1 (en) | Enhanced compiled representation of transformation formats | |
US8756407B2 (en) | Configuration rule prototyping tool | |
JPH10307816A (ja) | 構造化文書処理装置、構造化文書処理方法およびその方法をコンピュータに実行させるプログラムを記録したコンピュータ読み取り可能な記録媒体 | |
JP6479184B2 (ja) | コンピュータ実行可能なモデルリバースエンジニアリング方法及び装置 | |
CN112783482B (zh) | 一种可视化表单生成方法、装置、设备及存储介质 | |
CN112685435A (zh) | 一种基于Vue和Mybatis的表格查询方法及系统 | |
CN110308907B (zh) | 数据转换方法、装置、存储介质及电子设备 | |
CN113687827B (zh) | 基于微件的数据列表生成方法、装置、设备及存储介质 | |
US20170249372A1 (en) | Pluggable Domain-Specific Typing Systems and Methods of Use | |
CN112582073B (zh) | 医疗信息获取方法、装置、电子设备和介质 | |
CN113360139A (zh) | 前端框架的集成方法、装置、电子设备及存储介质 | |
TWM646597U (zh) | 原始碼最佳化器 | |
JP2010267092A (ja) | 情報処理装置、情報処理方法 | |
WO2022262448A1 (zh) | 物品筛选方法及装置、电子设备、存储介质 | |
US7716653B2 (en) | Configurable importers and resource writers for converting data into another format | |
WO2014094534A1 (zh) | 一种基于文件字典拼装的文件开发工具装置以及方法 | |
US20190121681A1 (en) | Framework for integrating a user device and a mainframe system | |
US20130305213A1 (en) | Modularized customization of a model in a model driven development environment | |
US9002870B2 (en) | System, method and computer program product for EDI-to-EDI translations | |
JP3994854B2 (ja) | 電子カタログ変換システムにおけるデータマッピングルール再利用装置、方法、及びプログラム | |
CN112667141A (zh) | 输入撤销方法、装置、电子设备及计算机可读存储介质 | |
CN111414741A (zh) | 出版物的版式模板制作方法、装置、设备及介质 | |
JPH1055339A (ja) | オンライン型業務処理システム | |
CN113032003B (zh) | 开发文件导出方法、装置、电子设备及计算机存储介质 |