我正在製作一個程序,用於將代碼從一種語言編譯到另一種語言。例如codefile.lang1 => codefile.lang2僅在需要時才編譯代碼
我想編譯發生的每一個程序啓動時,但只有當它是需要的,換句話說,只有變化是自上次編譯製作。
我的猜測是我需要在編譯代碼(codefile.lang2)中包含某種類型的元數據,用於存儲預編譯代碼(codefile.lang1)內容的「彙總」。 可以說,執行預編譯代碼的「彙總」功能是F. 我的想法是,每次程序啓動時,它都會評估F(預編譯的代碼)並將其與元數據進行比較編譯代碼,
if F == metadata:不需要編譯,否則編譯。
由於顯而易見的原因,F必須是內射的(一對一函數)。 此外,我試圖避免微不足道的執行,即F(某些代碼)=某些代碼
這是一個好方法嗎?如果是這樣,我應該用什麼F? 我想過哈希,但哈希不是完全內射的,特別是對於大文本。
您有什麼建議? 謝謝:)
它取決於最有可能的語言,源代碼的哈希將是一種開始的方式 – OMGtechy
你的意思是依賴於語言嗎? 它依賴於語法嗎?或長度? 另外,也許哈希是一個很好的開始,但它不是最終產品中實現的東西,因爲它不是完美的。 我想完全避免碰撞。 – areller
如果我添加評論。你不需要重新編譯。註釋的符號在語言之間變化 – OMGtechy