home *** CD-ROM | disk | FTP | other *** search
- package webeq3.parser.mathml;
-
- import webeq3.constants.AttributeConstants;
- import webeq3.schema.Box;
- import webeq3.schema.ContentBox;
- import webeq3.schema.MRow;
-
- public abstract class P2CRuleSet implements AttributeConstants, MathMLConstants, P2CRuleConstants {
- P2CConverter converter = null;
-
- P2CRuleSet(P2CConverter var1) {
- this.converter = var1;
- }
-
- public abstract void applyRule(int var1, Box var2, ContentBox var3) throws P2CConverterException;
-
- protected Box findLeftMostTerminal(Box var1) {
- Box var2;
- for(var2 = var1; var2.children != null && var2.children.size() > 0; var2 = (Box)var2.children.firstElement()) {
- }
-
- return var2;
- }
-
- protected Box findRightMostTerminal(Box var1) {
- Box var2;
- for(var2 = var1; var2.children != null && var2.children.size() > 0; var2 = (Box)var2.children.lastElement()) {
- }
-
- return var2;
- }
-
- protected Box deNestMRows(Box var1) {
- if (!(var1 instanceof MRow)) {
- return var1;
- } else {
- int var2 = var1.children.size();
- if (var2 != 1) {
- return var1;
- } else {
- return var1.getChild(0) instanceof MRow ? this.deNestMRows(var1.getChild(0)) : var1;
- }
- }
- }
-
- public abstract int getRuleMatch(Box var1) throws P2CConverterException;
-
- protected ContentBox makeApplyBox(ContentBox var1, Box var2) {
- ContentBox var3 = new ContentBox(var1, 171, 0);
- var3.name = "apply";
- ((Box)var1).addChild(var3);
- var3.ppeer = var2;
- var2.cpeer = var3;
- return var3;
- }
-
- public static void ConvertError(String var0, Box var1) throws P2CConverterException {
- throw new P2CConverterException(var0, var1);
- }
- }
-