ICode9

精准搜索请尝试: 精确搜索
  • 从Python到CIL(C中间语言)的翻译2019-12-08 13:06:04

    我最近在Python源代码上进行了静态分析. 我们小组中已经有用Ocaml编写的CIL(C中间语言)静态分析器.我们要重用此分析器,因此我们的理想方法是将Python转换为CIL. 当前,我使用Python内置的ast模块将Python解析为Python AST.然后,我将ast.dump打印的Python AST转换为C AST.考虑到C AS

  • java-如何使用Python生成AST(以XML表示)的控制流?2019-12-01 19:59:08

    我有XML格式的AST WHILE语言(http://www.program-analysis.com/while.html).目前,我不处理函数调用或递归.我需要为该程序生成控制流. 一个示例程序(//后面的数字表示解析器生成的标签): begin x:=1; // 1 z:= 2+x; // 2 x := x+z; // 3 y:=z-x+z; // 4 w:=x+y+z

  • 在python中的ast.nodevisitor上进行后顺序遍历2019-12-01 14:58:14

    是否可以仅通过操作ast.NodeVisitor.generic_visit()在Python中的ast.NodeVisitor实例上进行后置遍历?我这样做: class ExpParser(ast.NodeVisitor): def generic_visit(self, node): for x in ast.iter_child_nodes(node): ast.NodeVisitor.generic_visit

  • ast.parse的filename参数的用途是什么?2019-11-23 03:08:05

    该文档的内容如下: ast.parse(source, filename='<unknown>', mode='exec') Equivalent to compile(source, filename, mode, ast.PyCF_ONLY_AST). compile(source, filename, mode[, flags[, dont_inherit]]) The filename argument should g

  • javascript-JS:重命名变量以进行重构(使用AST,而不是文本)2019-11-22 15:36:30

    重构代码时,我经常需要重命名变量,目前我正使用正则表达式以某种不明智的方式进行操作-由于缺乏实际的结构,我最终不得不采用愚蠢的文本解决方法,例如,将“ req”重命名为“ request”并避免使用类似“ require”之类的副作用. 考虑一下这些东西:有点像用正则表达式修改DOM:只是行不

  • AST解析器获取Java类的名称2019-11-22 15:12:40

    我正在使用Eclipse的AST解析器来解析独立的Java文件.这是我下面的重写代码,用于获取CompilationUnit(即Java文件)详细信息: @Override public boolean visit(CompilationUnit node) { System.out.println("Compilation unit: " + node.getPackage().getName()); System.out

  • ast模块使用哪种类型的树遍历?2019-11-22 00:10:05

    ast使用哪种类型的树遍历(特别是ast.NodeVisitor())?当我创建一个堆栈并将被遍历的每个节点推入堆栈时,结果似乎是“广度优先”的树遍历.这意味着顺序取决于树中的级别. 例如树看起来像 Module Assign Name Store Call Attribute Str Load

  • 如何在python中处理结构化语言文件2019-11-20 18:07:25

    我有一个很大的结构化语言文件,如下所示: TASK SchM_Task { TYPE = AUTO; SCHEDULE = NON; PRIORITY = 160; ACTIVATION = 1; TIMING_PROTECTION = FALSE; AUTOSTART = FALSE; EVENT = SchM_Event; RESOURCE = SystemS_Resource; StackSize =

  • 用变量评估数学表达式. (java 8)2019-11-12 02:03:07

    我希望获得有关此问题的答案(Evaluating a math expression given in string form)的其他帮助.@ Boann用户使用非常有趣的算法回答了该问题,他还指出该算法可以更改为接受变量.我设法对其进行了修改,并使它正常工作,但不知道他如何区分编译和评估.这是我的代码: import java.util.H

  • 在Eclipse JDT Java解析器中,是否可以在不使用访问者的情况下逐节点遍历AST节点?2019-11-08 19:00:09

    通过Eclipse JDT API访问节点上信息的标准方法是使用Visitor模式.例如: unit.accept(new MyVisitorAdapter<Object>() { @Override public void visit(MethodCallExpr node, Object arg) { System.out.println("found method call: " + node.toString()); } }, null); 在

  • Python AST中的ExtSlice节点表示什么语法?2019-11-02 00:56:34

    我正在遍历Python的ast模块,无法弄清切片的定义: slice = Ellipsis | Slice(expr? lower, expr? upper, expr? step) | ExtSlice(slice* dims) | Index(expr value) 到目前为止,我知道Ellipsis是[…],Slice是通常的[start:end:step]表示法,Ind

  • 用C解析Java源代码2019-11-02 00:00:55

    我想在C中创建Java源代码parsing功能.此应用程序的目的是在内部数据结构中生成syntax tree,以便我能够遍历数据树结构并自行分析. 哪些工具可以帮助我实现目标?解决方法:也许ANTLR可以为您提供帮助,但是了解Java程序需要加载该程序中引用的相关类.

  • Python AST,ast.NodeTransformer,TypeError:stmt中缺少必填字段“ lineno”2019-10-29 14:57:13

    我会很感激地学习一些有用的东西,因为到目前为止,我一直在盲目地前进. 所以问题出在python的ast.NodeTransformer中.我想知道是否可以使用这种方法将功能添加到现有类中,而不会发疯. 到目前为止,这就是我的处理方式. import ast, inspect, cla # cla is a name of class to which

  • 使用解析将**运算符更改为幂函数?2019-10-11 22:57:59

    我的要求是将**运算符更改为幂函数 例如 1.Input -"B**2" Output - power(B,2) 2."B**2&&T**2*X" Output - power(B,2) 我写了以下正则表达式来解决这个问题 rx=r"([a-zA-Z0-9]+)\*\*([a-zA-Z0-9()]+)" result = regex.sub(rx, r"power(\1,\2)&quo

  • c – 来自语义动作的boost :: spirit访问位置迭代器2019-09-27 08:05:40

    可以说我有这样的代码(行号作为参考): 1: 2:function FuncName_1 { 3: var Var_1 = 3; 4: var Var_2 = 4; 5: ... 我想编写一个语法来解析这样的文本,将所有的标识符(函数和变量名)信息放入一个树(utree?). 每个节点应保留:line_num,column_num和符号值.例: root: FuncNam

  • java – 忽略带有Test注释的方法的PMD规则2019-09-10 22:02:41

    我将PMD用于包含MockMvc个测试的Spring Boot项目.该类强制用户捕获常规异常. class MockMvc { public ResultActions perform(RequestBuilder requestBuilder) throws Exception {} } 使用导致PMD错误 – SignatureDeclareThrowsException.我想取消所有@Test方法的检查.因此

  • Python AST:如何获取节点的子节点2019-08-27 01:57:50

    我正在研究Python 2.6.5. 给定一个抽象语法树,我想获得它的孩子. 我搜索了堆栈溢出但无济于事.大多数帖子都在ast.NodeVisitor上,并在其中定义的方法访问,generic_visit(). 但是AFAIU,visit()和generic_visit()不给我们孩子,而是直接在他们身上递归应用函数 有人可以写一个简短的代

  • ast.literal_eval for python中的变量?2019-08-25 00:59:25

    假设我有一个example.py文件:     导入示例 VVV = 2 DictionaryNameB = { 'a' : VVV, 'bb' : 'SomethingB', 'c' : False, 'ccc' : None,

  • c – Spirit qi解析为嵌套函数的抽象语法树2019-07-28 08:12:56

    我正在尝试使用boost的精神qi解析器创建一个解析器.它正在解析包含三种类型值的字符串.常量,变量或函数.这些函数可以嵌套在一起.测试串是f(a,b)= f(g(z,x),g(x,h(x)),c),其中a-e是常数,f-r是函数,s-z是变量.我成功创建了一个可以正确解析表达式的规则.当我将解析规则的函数更改为g

  • 如何修改Python源代码以添加新的AST节点?2019-07-09 19:55:20

    例如,如果我要创建一个名为“Something”的节点,我想在Python AST树中使用,我必须在哪里和哪些更改添加到Python源代码才能做到这一点? 我知道我应该从Python.asdl开始,其中定义了AST语法.然后我应该进入ast.c. 不幸的是,我不确定我必须在ast.c文件中进行更改才能实现节点. 另外,为

  • 在python源代码/脚本中查找依赖项2019-06-29 20:45:02

    我在Python中有一堆简单的脚本,带有简单的表达式[1],如: C = A+B D = C * 4 我需要执行它们,但最重要的是我需要知道我依赖的对象是什么;在前一种情况下,对象A和B是外部依赖关系.例如.鉴于我有一个名为source的var中的前代码,我希望能够: deps = { "A" : 1 , "B": 2} exec source

  • java – 有没有解析器将SQL转换为树(AST)?2019-06-28 08:47:10

    我有Postgres的SQL表达式.我想让Abstract syntax tree从Java程序中操作它. 我从代码学校找到sqlite-parser(请找谷歌,请,我没有足够的声誉),但它正处于开发阶段. 那么,你知道可以从Java程序执行的另一个解析器吗?如果有可能,请写几乎稳定的解析器.解决方法:https://github.com/lfitt

  • c# – 行号的方法名称2019-06-27 05:47:09

    给定特定类源代码(Java / C#)的行号 – 是否有一种简单的方法来获取它所属的方法的名称? (如果它在一个内)(推测使用抽象语法树) (这有助于将checkstyle的输出限制为仅触及的方法). 我假设您必须使用抽象语法树来执行Line# – > MethodName.解决方法:(针对Java) 如果使用调试信息编

  • 使用javax.lang.model或ANTLR JavaParser获取有关Java源代码的信息的示例/教程2019-06-26 18:50:45

    我想为简单的Java Logic创建一个类似自动流程图的可视化,为此我需要解析Java源代码,我有2个候选者,Java 6000的ANTLR和javax.lang.model.两者都不容易. 我还没有找到一个可以远离我想要实现的工作示例. 我想找到简单的变量声明,赋值和流(if,for,switch,boolean conditions等) 这些

  • java – JDT:将MethodInvocation替换为另一个时缺少分号2019-06-25 11:47:19

    我正在尝试使用Eclipse JDT的AST模型将一个MethodInvocation替换为另一个.举一个简单的例子 – 我试图通过调用System.out.println()来替换对Log.(i / e / d / w)的所有调用.我正在使用ASTVisitor来定位有趣的ASTNode并将其替换为新的MethodInvocation节点.这是代码的概述: class S

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有