Vladislav Folts 10 anni fa
parent
commit
9c7ad33cda
2 ha cambiato i file con 4 aggiunte e 21 eliminazioni
  1. BIN
      bin/compiled.zip
  2. 4 21
      src/ob/ContextExpression.ob

BIN
bin/compiled.zip


+ 4 - 21
src/ob/ContextExpression.ob

@@ -40,17 +40,13 @@ TYPE
         expression: Expression.PType;
         relation: STRING;
     END;
-    PExpressionNode = POINTER TO ExpressionNode;
 
     SimpleExpression* = RECORD(ContextHierarchy.Node)
-        PROCEDURE SimpleExpression*(parent: PExpressionNode);
-
         PROCEDURE handleTerm(e: Expression.PType);
         PROCEDURE type(): Types.PType;
         PROCEDURE setType(type: Types.PType);
         PROCEDURE handleOperator(op: BinaryOperator);
 
-        parentExpression: PExpressionNode;  
         mType: Types.PType;
         unaryOperator: STRING;
         binaryOperator: BinaryOperator;
@@ -85,9 +81,6 @@ TYPE
     END;
 
     Const = RECORD(ContextHierarchy.Node)
-        PROCEDURE Const(parent: PExpressionHandler);
-
-        parentExpression: PExpressionHandler;
     END;
 
     Integer* = RECORD(Const)
@@ -631,11 +624,6 @@ BEGIN
     RETURN TRUE;
 END;
 
-PROCEDURE SimpleExpression.SimpleExpression(parent: PExpressionNode)
-    | SUPER(parent),
-      parentExpression(parent);
-END;
-
 PROCEDURE SimpleExpression.handleTerm(e: Expression.PType);
 VAR
     o: PROCEDURE(e: Expression.PType): Expression.PType;
@@ -698,7 +686,7 @@ END;
 
 PROCEDURE SimpleExpression.endParse(): BOOLEAN;
 BEGIN
-    SELF.parentExpression.handleSimpleExpression(SELF.expression);
+    SELF.parent()^(ExpressionNode).handleSimpleExpression(SELF.expression);
     RETURN TRUE;
 END;
 
@@ -865,14 +853,9 @@ PROCEDURE AddOperator.doExpectPlusOperator(): STRING;
     RETURN "numeric type or SET";
 END;
 
-PROCEDURE Const.Const(parent: PExpressionHandler)
-    | SUPER(parent),
-      parentExpression(parent);
-END;
-
 PROCEDURE Integer.handleInt(n: INTEGER);
 BEGIN
-    SELF.parentExpression.handleExpression(expressionFromConst(
+    SELF.parent()^(ExpressionHandler).handleExpression(expressionFromConst(
         Types.basic.integer, 
         NEW ConstValue.Int(n), 
         String.fromInt(n)));
@@ -880,7 +863,7 @@ END;
 
 PROCEDURE Real.handleReal(r: REAL);
 BEGIN
-    SELF.parentExpression.handleExpression(expressionFromConst(
+    SELF.parent()^(ExpressionHandler).handleExpression(expressionFromConst(
         Types.basic.real, 
         NEW ConstValue.Real(r), 
         String.fromReal(r)));
@@ -922,7 +905,7 @@ END;
 
 PROCEDURE Str.handleStr(s: STRING);
 BEGIN
-    SELF.parentExpression.handleExpression(expressionFromConst(
+    SELF.parent()^(ExpressionHandler).handleExpression(expressionFromConst(
         NEW Types.String(s), 
         NEW ConstValue.String(s), 
         escapeString(s)));