AST用于基本的OOP语言

时间:2015-08-09 08:41:50

标签: oop parsing abstract-syntax-tree

简而言之:

我正在尝试为教育目的实现Ada语言前端的子集,但我陷入了基本的OOP AST构建。

详细信息:

我想构建一个Ada语言前端的子集,以便与LLVM系统一起使用。我的目的仅仅是出于教育目的,而不是用于功能齐全,高度优化的编译器系统。

我的词法分析器/解析器是使用Flex / Bison构建的,我已经有一个语法(基于Ada RM)来解析一些代码。现在我想为这个语法构建一个抽象语法树,最后编写IR代码以传递给LLVM系统。 (我的问题与编写flex / bison规则和定义我的语法无关,我知道如何去做。)

我已经知道如何处理算术表达式和函数声明,定义和调用,但是我找不到有关OOP处理的AST结构的有用信息。

我的问题是:

  • 您如何处理结构/类字段?它是单个变量的总和(在这种情况下如何处理名称,像C ++这样的变形?)
  • 如何处理功能成员? (范围和可访问性)
  • 是否有关于OOP语言的AST的处理/构建的良好参考(链接,文章,书籍......)(我只找到一些关于使用OOP语言编写AST的链接,但它没用)?

我有一个关于如何处理泛型的更高级的问题。我不知道他们是如何申报和使用的,有什么建议吗?

提前致谢!

0 个答案:

没有答案