# structured code query **Repository Path**: observerw/structured-code-query ## Basic Information - **Project Name**: structured code query - **Description**: No description available - **Primary Language**: C# - **License**: GPL-3.0 - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 1 - **Forks**: 0 - **Created**: 2022-04-17 - **Last Updated**: 2022-04-29 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # structured code query #### 迭代一 查询目标 - 类 - 属性 - 方法 - 表达式 指定查询范围 - 某文件 - 某目录 - 某包 查询结果跳转 代码替换,查询结果替换 定义一种DSL查询语言 导出,导入查询结果(自定义格式?) 和ide结合 支持通配,两种编程语言 ``` filter v.class map v.name as a filtermap v.if find v.name = "fuck" apply [bool] a alter v.name "fuck" alter v " class {"my" + v.name} {v.body} " ``` ``` it filter select trans * apply alter collect ``` 选出名为"Foo"的类中,所有类方法所包含的if语句的条件: ``` trans class trans method trans statement trans if select cond collect ``` 查找一个名为"Foo"的函数中,var1 > var2这个表达式: ``` trans func filter name = 'Foo' trans expr filter op = GT and exp1 = 'a' and exp2 = 'b' collect ``` tree-grower