我對ANTLR &語法有一定的理解。說ANTLR可以做源語言來將目標語言轉換爲目標語言,如ASP轉換爲JSP或將COBOL轉換爲JSP,這是否正確?如果是的話,你能幫我提供一些信息/教程/鏈接到探險家的可能性?ANTLR:源語言到目標語言的轉換
想法是使用ANTLR務實地將大量代碼從源代碼轉換爲目標代碼。
感謝
我對ANTLR &語法有一定的理解。說ANTLR可以做源語言來將目標語言轉換爲目標語言,如ASP轉換爲JSP或將COBOL轉換爲JSP,這是否正確?如果是的話,你能幫我提供一些信息/教程/鏈接到探險家的可能性?ANTLR:源語言到目標語言的轉換
想法是使用ANTLR務實地將大量代碼從源代碼轉換爲目標代碼。
感謝
的基本步驟建設Antlr4翻譯是:
屬性的形式和內容以及創建和演化的過程完全取決於源語言和目標語言的性質以及架構師的轉換策略。
由於Antlr parse-tree散步可以在邏輯上彼此獨立,因此可以在單獨的散步中解決特定的轉換問題。例如,一次散步可以評估(可能除其他事項之外)個人perform until
陳述是否將被轉換爲if
或while
陳述。另一個步驟可以致力於分析變量名稱,以確保它們在正確的範圍內創建/訪問,並確定任何目標語言所需的臨時變量的命名和範圍。等
鑑於轉換是一次性的事情,實施5,10甚至更多的散步沒有根本的懲罰。只是「無論你的情況是否合理」的實用性。
其他QA中提到的(相關)警告是如何處理兩種語言中語句之間沒有簡單或接近同一性的轉換。要轉換唯一的源語言語句,則需要創建目標語言運行時包以實現相應的功能。
GenPackage(我是作者)自動生成一個基本的轉換項目。生成的項目僅代表一種可能的架構方法,並且留下了大量工作來使其適合任何特定的最終用途。
在這[問題和答案](http://stackoverflow.com/questions/29201861/antlr4-language-translation-separating-template-logic-from-visitor-class)中提出的討論可能會有所幫助。 – GRosenberg
是的,我早先看過這個,但幾乎沒有理解它甚至接近..!比方說,我有cobol代碼和語法。我想要將代碼轉換爲C#。我該怎麼辦? – user1480864