我有一個像(不失一般性(僅圖像可能的語法))一個源文件:區分中綴形式語言功能
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