幾個學期回來我有一堂課,我們寫了一個非常基本的方案解析器,最終是一個解釋器。課後,我將解析器轉換爲C++解析器,只要我沒有對預處理器或宏執行任何操作,就可以很好地解析C++。我可以用它來讀取我的類和函數,並做一些簡潔的事情,例如自動生成類讀取器或編寫器,或者從文本文件中設置函數回調。有沒有免費的工具來幫助自動生成代碼?
但是,我的程序非常有限。我相信我可以花一些時間讓它變得更加健壯,做更多漂亮的事情,但是如果已經有更強大的工具可以做同樣的事情,我不想花費時間和精力。我認爲必須有這樣的東西,因爲解析器是編譯器的重要組成部分,但是我沒有看到專門用於自動代碼生成的工具,可以輕鬆地處理代表類,函數和特定於C++的變量。有沒有工具可以做到這一點?
編輯:
希望這會澄清什麼我正在尋找一點點。我在Visual Studio中作爲預建步驟運行該程序。它讀取我的源文件,創建一個類的列表,它們的成員,它們的函數等等,然後用它來生成新的代碼。目前我只是用它來簡化讀寫我的數據結構到純文本文件,但我也可以做其他事情。文件讀取器和編寫器會輸出到純文本格式的.cpp和.h文件中,這些文件包含在我的項目的其餘部分中,就像其他文件一樣。我在尋找的是能夠做類似事情的工具,所以我可以決定是否應該繼續使用我自己的產品或切換到更好的解決方案。我沒有尋找任何能夠生成機器碼或編輯我寫的代碼的東西。
我想這取決於水平。你可以說編譯器執行自動機器代碼生成。 :-) – xpda 2009-09-21 19:28:57
爲了擴大xpda的評論,你想要生成什麼? UI代碼(平臺?),ORM綁定,數據庫模式,業務邏輯驗證等。 – 2009-09-21 19:32:05
聽起來像他想要一個解析器甚至編譯器生成器,爲他提供了一個框架來改變C++的行爲。 – 2009-09-21 19:37:32