Affisix Documentation


How Affisix works?

First of all it takes input file and computes statistics about word from this file. This is handled by module "db". Details are described in file db.h.

Next step is searching for prefixes. This is hard work, so various aspects of this are handled by different modules. And because it's hard, this part of work supports threads, so we can use several processors or several cores of the same processor.

We start with browsing trees and filling tmpstats structure. Once this structure is filled, we continue with evaluating expression given to us by user. We evaluate it for each segmentation of world. If it returns true (any positive number), we evaluate stats, average them with already existent stats and same prefix. For its description take a look at compute.h file. Most of this is handled by compute module. As you can expect, evaluating of expression is the hardest part, so it has separate module named evaluator.

Evaluator just evaluates expressions. Fore details see evaluator.cpp. But for each implemented method it uses functions from functions module. Functions module is the place, where actual algorithms are stored. Everything other is used just to process data, interact with user and call functions from functions module. For list of possible functions take a look at functions.h file.

Generated on Sat Dec 20 11:32:17 2008 for Affisix by  doxygen