9. A non-transitory machine-readable medium that stores instructions that, if executed by a processing device, will cause the processing device to perform operations comprising: identifying, by a first driver executed by the processing device, a first file comprising a first plurality of rules written in a first rule language, wherein the first driver corresponds to the first rule language; converting, by the first driver, the first plurality of rules written in the first rule language in a plurality of descriptor classes using a plurality of rule patterns, wherein the plurality of descriptor classes are used to model rule concepts supported by a rule engine; generating, by the first driver, an intermediate structure comprising an abstract syntax tree of the plurality of descriptor classes; inputting, by the processing device, the intermediate structure to a second driver, wherein the second driver corresponds to a second rule language; translating, by the second driver executed by the processing device, the plurality of descriptor classes in the abstract syntax tree in the intermediate structure into a second plurality of rules written in the second rule language; and generating, by the second driver, a second file comprising the second plurality of rules written in the second rule language.
10. The non-transitory machine-readable medium of claim 9 , wherein the plurality of descriptor classes comprises at least one of RuleDescr, ConditionalElementDescr, or ConstraintDescr.