gpt4 book ai didi

java - 如何使用rascal从java eclipse项目中提取特定语句

转载 作者:太空宇宙 更新时间:2023-11-04 07:09:57 31 4
gpt4 key购买 nike

我是 rascal 新手,想从 java 项目中提取条件语句(if、while 等)。

最好的方法似乎是 http://tutor.rascal-mpl.org/Rascal/Libraries/analysis/m3/Core/containment/containment.html#/Rascal/Libraries/analysis/m3/AST/AST.html

到目前为止我的代码是

    void statements(loc location) {
ast = createAstFromFile(location,true,javaVersion="1.7");
for(/Statement s := ast) println(readFile(s@src));
}

但这会返回所有语句,包括注释。如何过滤语句以仅返回条件语句 if、while、for 等?

最佳答案

Rascal 为此实现了访客模式。您可以对 ast 变量执行类似的操作:

visit(ast){ 
case \if(icond,ithen,ielse): {
println(" if-then-else statement with condition <icond> found"); }
case \if(icond,ithen): {
println(" if-then statement with condition <icond> found"); }
};

此示例从代码中返回 if 语句。

您可以在包lang::java::m3::AST中找到用作案例模式的模式定义。 .

关于java - 如何使用rascal从java eclipse项目中提取特定语句,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20801772/

31 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com