我有一个像(不失一般性(仅图像可能的语法))一个源文件:区分中缀形式语言功能
function a()
return g // global variable without any internal structure exactly
end
function b(x, y)
local z = x * y
return z + 1
end
function c(z, t)
return b(z * z, a())
end
// ...etc
我想defferentiate任何功能WRT一些变量。
所有正式的参数我们可以视为一个功能与未知在派生时间内部结构。
如果我站在正确进一步,再下面是真相(用于根据符号'
是符号的一部分,全局变量是在替补时间操作阶段(DEF:g{g}
是其中之一,但g{y}
是零)):
function a'()
return g';
end
function b'(x, y, x', y')
local z' = x' * y + x * y'
return z' + 0
end
但是如何处理上一个函数呢?即用实际参数代替功能b
?
是否有任何准备使用通用算法的实现来处理上述问题?如何处理高阶导数(特别有趣,如何处理形式参数)?还有其他可能不明确的案件吗?
@HighPerformanceMark我正在尝试实现上述玩具语言的AST变换器衍生物。 – Orient 2014-09-29 11:09:32