首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >良好的范围分析器API

良好的范围分析器API
EN

Stack Overflow用户
提问于 2008-12-19 22:28:19
回答 1查看 118关注 0票数 0

我正在开发一些代码生成工具,很多复杂性来自于范围分析。我经常发现自己想知道这样的事情

  1. 函数或块的自由变量是什么?
  2. 这个符号是在哪里声明的?
  3. 这个申报面具是什么?
  4. 这种符号的使用是否可能发生在初始化之前?
  5. 这个变量可能会逃逸吗?

我想是时候重新考虑我的范围了。

我可以进行所有这些分析,但我正在试图找到一种方法来构造API,以便它易于使用,并且在理想情况下,可以懒洋洋地完成足够的工作。

这些工具是人们熟悉的,他们在API中做了什么正确和错误的事情?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2008-12-20 04:11:50

我对这个问题感到有点惊讶,因为我已经做了大量的代码生成,并且很少会出现范围划分的问题(除了偶尔需要生成唯一名称)。

要回答您的示例问题,需要严肃的程序分析,远远超出了的范围。逃逸分析本身是不平凡的。根据目标语言的不同,使用前初始化可以是琐碎的,也可以是非平凡的。

根据我的经验,用于程序分析的API是很难设计的,并且常常是特定于语言的。如果您的目标是一种低级语言,您可能会从机器SUIF API中学到一些有用的东西。

在您的位置上,我很想盗取别人的程序分析框架,乔治·内库拉和他的学生构建了CIL,这似乎是当前分析C代码的标准。劳里·亨德伦的团队为分析Java构建了一些很好的工具。

--如果我不得不提交自己的,我会少担心API,而更多地关注抽象语法树的良好表示。

在数据流分析的非常有限的领域(其中包括未初始化的变量问题),Jo o Dias和我已经适应了一些索林·勒纳、大卫·格罗夫和克雷格·钱伯斯的作品不错。只有我们的初步结果被发布。

最后,如果您希望生成多种语言的代码,,这是一个完整的蠕虫。我已经做了好几次了。如果你创造你喜欢的东西,发表它!

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/382431

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档