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");                                                        
}                                                         
}

我在词法分析和解析器中通过返回方法主体而不是方法来实现这一点。 但是稍后在编辑器中,文本区域会发生变化,并且在编辑器中执行的任何编辑都会出错。 文档中的字符位置出错。 如何解决这个问题?

您可能希望使用 Xtext 的代码生成概念将 DSL 的源代码转换为内联方法主体的新工件。

最新更新