Compiler construction setter/getter函数的高效运行时表示

Compiler construction setter/getter函数的高效运行时表示,compiler-construction,interpreter,vm-implementation,Compiler Construction,Interpreter,Vm Implementation,对于类声明,如(使用我正在开发的动态类型语言): 用户可以编写如下内容: var f = New Foo(); f.bar = 20; var n = f.bar; 然后,编译器将f.bar=20转换为setter调用,将n=f.bar转换为getter调用。Foo类中setter/getter函数的高效运行时表示是什么 编译器是否应该仅基于赋值表达式中使用了f.bar这一事实而决定使用setter?您是否在用C解释自己的语言,正如您的其他问题和问题中的标记所显示的那样。请更新相应的问题。这可

对于类声明,如(使用我正在开发的动态类型语言):

用户可以编写如下内容:

var f = New Foo();
f.bar = 20;
var n = f.bar;
然后,编译器将f.bar=20转换为setter调用,将n=f.bar转换为getter调用。Foo类中setter/getter函数的高效运行时表示是什么


编译器是否应该仅基于赋值表达式中使用了f.bar这一事实而决定使用setter?

您是否在用C解释自己的语言,正如您的其他问题和问题中的标记所显示的那样。请更新相应的问题。这可能是C,它看起来不太像C++。对不起,我的意思是,我是动态类型的(原始的后缀)。如果这是动态类型的,那么你如何告诉编译时的<代码> f>代码>的类型(这是确定正确的吸气剂/设置器所需要的)。?但问题是如何在运行时有效地完成这一点。在编译时显然是不可能的。
var f = New Foo();
f.bar = 20;
var n = f.bar;