Changeset e3d1cc1 for doc/aaron_comp_II
 Timestamp:
 Aug 12, 2016, 11:05:16 AM (7 years ago)
 Branches:
 ADT, aaronthesis, armeh, cleanupdtors, ctor, deferred_resn, demangler, enum, forallpointerdecay, jacob/cs343translation, jenkinssandbox, master, memory, newast, newastuniqueexpr, newenv, no_list, persistentindexer, pthreademulation, qualifiedEnum, resolvnew, with_gc
 Children:
 71b5d4d3
 Parents:
 ce2fed5
 File:

 1 edited
Legend:
 Unmodified
 Added
 Removed

doc/aaron_comp_II/comp_II.tex
rce2fed5 re3d1cc1 462 462 463 463 Deciding when to switch between bottomup and topdown resolution to minimize wasted work in a hybrid algorithm is a necessarily heuristic process, and though finding good heuristics for which subexpressions to swich matching strategies on is an open question, one reasonable approach might be to set a threshold $t$ for the number of candidate functions, and to use topdown resolution for any subexpression with fewer than $t$ candidate functions, to minimize the number of unmatchable argument interpretations computed, but to use bottomup resolution for any subexpression with at least $t$ candidate functions, to reduce duplication in argument interpretation computation between the different candidate functions. 464 465 Ganzinger and Ripken~\cite{Ganzinger80} propose an approach that uses a topdown filtering pass followed by a bottomup filtering pass to reduce the number of candidate interpretations; they prove that for the Ada programming language a small number of such iterations is sufficient to converge to a solution for the expression resolution problem. 466 Their algorithm differs from the hybrid approach under investigation in that it takes multiple passes over the expression tree to yield a solution, but is otherwise similar. 464 467 465 468 \subsubsection{Common Subexpression Caching}
Note: See TracChangeset
for help on using the changeset viewer.