[英]Java Lexer and Parser
I am writing a new editor for java using Xtext. 我正在使用Xtext为Java写一个新的编辑器。 I want parser to parse the main class and replace the method call by actual code.
我希望解析器解析主类,并用实际代码替换方法调用。
eg 例如
Class Test {
public static void main(String[] args ){
System.out.println("Virag");
method();
}
public static method(){
System.out.println("Purnam");
}
}
After parsing I want to return a document like mentioned below. 解析后,我想返回一个如下所述的文档。
Class Test {
public static void main(String[] args ){
System.out.println("Virag");
System.out.println("Purnam");
}
}
I achieved this in lexer and parser by return of method body instead of method. 我通过返回方法体而不是方法在lexer和解析器中实现了这一点。 But later in editor, text region gets changed and any edit performed in editor goes wrong.
但是后来在编辑器中,文本区域被更改,并且在编辑器中执行的任何编辑都出错了。 Character positions in documents are going wrong.
文档中的字符位置出错。 How to fix this problem?
如何解决这个问题?
您可能希望使用Xtext的代码生成概念将DSL的源代码转换为内联方法主体的新工件。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.