我一直在環顧四周,可能只是無法在我的搜索中放入正確的術語,因爲我不知道這會被稱爲什麼。我翻譯了大量的口譯員,但我不認爲這就是我想要的。假設我想在Visual C++(2010,如果真的很重要)中使用C++的基本語法,但是將它編譯成我自己的格式。所以,我會帶:更改Visual C++編譯
if(myVar == 1)
而不是讓VC++組裝的話,我可以以某種方式重寫(而無需建立自己的該死的編譯器),以我自己的字節碼是這樣的:
1F00EE01
在我虛構的字節碼語言中,1F表示IF,00是變量號(按某些確定的變量順序),EE是運算符'等於',01是自然角色。
顯然它會比這更復雜一點,但現在我只是猜測。只是尋找任何方式來使用VC++解析已經很好建立的語言,而不是創建自己的語言並改變編譯結果。現在我把它寫下來了,但這個想法看起來很荒謬,但希望儘管答覆仍然會很有趣。
如果你想玩編譯器,看看它是如何工作的,用gcc這樣的開源編譯器會更好。但是如果你對編譯器和解釋器感興趣,我認爲你最好找一本書或者一本教程,然後試着寫一本書。 MSVS真的是一個「黑盒子」(而且是一個非常大,複雜而複雜的)!開放源代碼編譯器不是「黑色」 - 但可以是每一個一樣大而複雜。從小開始,從頭開始。恕我直言... – paulsm4 2012-08-08 02:37:47
試圖從小開始是有意向的。我試圖不必建立一個編譯器(認識到關鍵字,縮進,值等,對我來說似乎都太過分了)。我在想,如果使用#define作爲一個宏(我聽說可能)會'超載'一個IF,它可以將它變成一個函數,在那裏我可以編寫代碼來編寫正確的字節碼(所以有點像構建一個應用程序用另一種語言編譯)。功能會很容易。這只是關鍵字和運營商,這將是一個痛苦的變化。 – Deji 2012-08-08 02:48:08
您可以告訴Visual Studio使用任何您想要的編譯器,但是不會有任何編譯器可以輕鬆更改輸出格式。即使你使用像GCC這樣的開源和體系結構,它也會涉及到編碼的問題。 – 2012-08-08 06:55:53