next up previous contents
Next: IR to MathML Module Up: Use of Tables in Previous: Use of Tables in   Contents

MathML to IR Module

All MathML elements are stored in the tables constructors!*, relations!* and functions!*. These tables determine what functions must be called for each MathML element encountered and what the equivalent intermediate representation operator is.

When a MathML object is encountered, the first element will inform us of how the expression is constructed. We look this element up in the constructors!* table to call the proper function which deals with objects constructed in this manner.

If the expression constructor is the <reln> element then the relations!* table is used. This table will determine which function to call as well as containing the equivalent intermediate representation operator. The functions!* table is the same as the relations!* table only that it contains all operators appearing within <apply>...</apply> instead.

These tables together will inform the translator of how to deal with all MathML elements

New MathML elements can be added to these tables to modify the translator's scope. An existing procedure can be related to the new element, or a new procedure can be implemented and added to the table next to the element's entry. An equivalent intermediate operator must also be defined here.


next up previous contents
Next: IR to MathML Module Up: Use of Tables in Previous: Use of Tables in   Contents
root
2000-05-01