Here is how it works. They are coded as their respective weapons, because if they were not they would be unusable. If the lancereaver was coded as an axe, it would be: Normal against axes, have the disadvantage against swords, and have the advantage against lances. But the lancereaver is normal against swords, not axes, and loses against axes. It is a sword with the weapon triangle reversed on it.
However, if two reaver weapons face each other, the triangle is actually swapped back to normal, and your lancereaver will lose to the axereaver.