Tag: abstract syntax tree

一个面向对象的编程语言的AST(抽象语法树)是什么样的?

我正在阅读关于AST(抽象语法树),但我看到的所有示例使用expression式,如: a + b * c 这可以用类似下面的语法来表示: (+ a (* bc) ) 这将相当于: + / \ a * / \ bc 我的问题是一个OOPL中类的AST如何? 我天真的尝试是这个Java代码: class Person { String name; int age; public String toString() { return "name"; } } 方法是: ;Hand written (classDeclaration Person (varDeclaration String name) (varDeclaration int age ) (funcDeclaration String toString (return "name") […]