When parsing a Language the search space is traversed in a pre-defined way — top-down or bottom-up, depth-first or breath-first, typically. However, these might not be the ideal strategies: there are languages for which that process is very expensive or even, some valid sentences are not parsed straightly. Our aim is to describe an alternative method where the traversal may be heuristically defined during the process of parsing, depending only on the linguistic phenomena being analyzed. Such parser is data-driven by the string, and heuristically-driven by the annotated grammar rules. This makes it possible to mix top-down and bottom-up and also, to alternate parsing to the left or to the right of the symbol which causes the rule to be triggered. A bidirectional chart parsing was implemented in Prolog to express this idea. The results then obtained gave us some rules of thumb to get the best annotation of a grammar rule set and showed us the gain in time analysis by the spectacular pruning (65% in average for any phenomenon) of the search space.