computed information for the new K rewriting algorithm during kompilation
refactored PatternMatcher to provide better api for the new rewriting algorithm
fixing bugs when kompiling rules for the rewrite machine
first running prototype of the K abstract rewrite machine
minor refactoring
added index for IO rules; fixed a bug in io.k; renaming methods of getting indexing pairs
optimized the evaluation of data structure lookup/choice operations
fixed conflicts after rebasing on unified-builtins2
included cloning library for reflection-based deep copy; tagged maximal shared classes to avoid deep copy violating maximal sharing contract
fixed a latent bug when constructing KSequence
implemented the computation of info that whether a term has cell inside; the computed info will be used in rewriting to determince whether a term needs to be deep cloned because a term with cell inside is implicitly mutable
set the visibility of computeHash to protected; added final modifiers to several methods in non-leaf classes
implemented a faster deep cloner
included more rules to be eligible for the new rewrite engine; minor refactoring and comments
added do_fast_exec flag
implemented 1) a more efficient subst&eval transformer; 2) a copy-on-share version of subst&eval transformer
implemented EliminateUnsafeSharingTransformer and UnsafeSharingDetector
revised the kompilation pass which adds local rewrites under the cells of interest
implemented a utility class for profiling
revised the computation of extra informations of a rule that are used in fast rewriting