簡體   English   中英

Java Lexer和解析器

[英]Java Lexer and Parser

我正在使用Xtext為Java寫一個新的編輯器。 我希望解析器解析主類,並用實際代碼替換方法調用。

例如

Class Test {                                                           
           public static void main(String[] args ){ 
                 System.out.println("Virag");                            
                 method();                                                        
           }                                                           
           public static method(){             
                System.out.println("Purnam");                                    
           }                                                                
}

解析后,我想返回一個如下所述的文檔。

Class Test {                                                           
           public static void main(String[] args ){ 
                 System.out.println("Virag");                            
                 System.out.println("Purnam");                                                        
           }                                                         

}

我通過返回方法體而不是方法在lexer和解析器中實現了這一點。 但是后來在編輯器中,文本區域被更改,並且在編輯器中執行的任何編輯都出錯了。 文檔中的字符位置出錯。 如何解決這個問題?

您可能希望使用Xtext的代碼生成概念將DSL的源代碼轉換為內聯方法主體的新工件。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM