abstract-syntax-tree

    1热度

    2回答

    我需要使用ply从正则表达式创建AST。例如,如果RE是(a | b *)abc,我想将一个缩减的元组作为(':',(':',(':',('|','a',(' *','b')),'a'),'b'),'c')< - ':'表示只是将字符串分成两部分。 这是我的代码。 tokens = ( "SYMBOL", "LBRACKET", "RBRACKET", "ST

    4热度

    1回答

    我正在使用基于示例Clang ASTFrontendActions sample的LibTooling编写叮当4.0工具。鉴于目前的声明stmt,我想在AST中获得它的直接父母。因此,我想下面的代码转储语句的所有家长(用于测试目的): bool VisitStmt(Stmt *s) { cout <<"Trying to get parents \n"; const Stmt

    2热度

    1回答

    对于Haskell和函数式编程,我一般都很新,所以如果问题看起来很简单或很愚蠢,请原谅。 我有一个解析器,用于生成抽象语法树的简单语言。为了扁平化AST(将while和if语句变成跳转),我需要在树中放置标签。问题是,我不知道下一个标签应该是什么(我仍然认为是必要的,因为如果我有状态,这些都不会成为问题)。 是我到目前为止的功能如下: transform :: Stmt -> FStmt tra

    2热度

    3回答

    我想要解答这个问题的更多帮助,Evaluating a math expression given in string form。用户@Boann用一个非常有趣的算法回答了这个问题,他也指出可以改变以接受变量。我已经设法改变它,并让它起作用,但不知道他是如何分离编译和评估。这里是我的代码: import java.util.HashMap; import java.util.Map; pub

    0热度

    1回答

    我试图使用Java TreePathScanner API来确定将从给定编译生成的类文件的列表。例如,下面的代码: public class InnerClass { private final InnerInnerClass clazz = new InnerInnerClass(); private class InnerInnerClass { } }

    1热度

    1回答

    背景: 使用罗斯林用C#,我试图扩大自动实现的属性,从而使访问机构可以通过后处理注入的代码。我使用StackExchange.Precompilation作为编译器钩子,因此这些语法转换发生在构建管道中,而不是作为分析器或重构的一部分。 我希望把这个: [SpecialAttribute] int AutoImplemented { get; set; } 成这样: [SpecialAttr

    4热度

    1回答

    一个空值我有一个ADT如下: sealed trait Tree[A] case object EmptyTree extends Tree[Nothing] case class Leaf[A](value: A) extends Tree[A] case class Node[A](op: Seq[A] => A, branches: Tree[A]*) extends Tree[A]

    11热度

    1回答

    我正在写一个自定义的皮棉探测器的乐趣。我正在关于创建custom lint rule in Android(应该与Java相同)的Big Nerd Ranches课程 我可以检测到我想要的发生。类构造函数被调用。但由于我们通过Abstract Syntax Tree 遍历的事实,我无法检测到回调的实现。我不知道如何告诉Java检查该文件,只有在无法找到事件时才报告。在这种情况下,接口的实现。因为我

    1热度

    1回答

    我是呱呱libTooling开发新手。 考虑下面的变量声明 int i, j, k = 10; ^ ^ 我的项目的要求,我想捕捉整个声明表达包括“I”,“J”和“K”。 如何捕获包含clang libTooling的所有变量的完整声明表达式? 我正在经历的是,我没有得到访问者的完整表达式,而是我得到访问者的个人变量声明。 这是叮当libTooling的预期行为还是我错过了什么? 请建议我

    1热度

    2回答

    集合不可变,因为它们是可变的。但有没有办法在{1,2,{3,4}}上仍然使用literal_eval?我只想知道外部结构是一个集合,我不关心内部类型,但集合内的集合是可能的输入。 更新: 输入从文件中读取字符串。