Quantcast

Update Ovale to use abstract syntax trees.

Author Johnny C. Lam <jlam88@gmail.com>
Author date 2014-07-13 11:31:31
Author local date 2014-07-13 11:31:31 +0000
Committer Johnny C. Lam <jlam88@gmail.com>
Committer date 2014-07-13 11:31:31
Committer local date 2014-07-13 11:31:31 +0000
Commit 1140e0b9d744adb0ceed676cac19a7cc1de32b24
Tree ea7b5d91bdcdc8a4500ca291905f5004ad3be0c1
Parent c49f451a2d1581fccb2ce50bff1aee57576489d5
Update Ovale to use abstract syntax trees.

OvaleCompile has been restructured to only evaluate the declarations in
the script and populate any databases used by other modules.  It makes a
distinction between compiling the script (using OvaleAST) and evaluating
the script.  Compiling the script only needs to happen when the script
code changes.  All other events only require re-evaluating the script.

OvaleBestAction has been restructured to more readily cache computed
results of nodes during each update cycle.  Combined with the common
function elimination optimization in OvaleAST, this allows for all
function calls to be computed only once per AddIcon group.

Other miscellaenous changes to modules were made to update to correct
method names and to remove unused code.

git-svn-id: svn://svn.curseforge.net/wow/ovale/mainline/trunk@1543 d5049fe3-3747-40f7-a4b5-f36d6801af5f