home *** CD-ROM | disk | FTP | other *** search
/ PC Online 1997 August / PCO0897.ISO / filesbbs / os2 / fp1os2.arj / OS2 / DATA / 49 / C / 0 / F_26836 / JScriptExprNode.class (.txt) < prev    next >
Encoding:
Java Class File  |  1997-05-15  |  2.6 KB  |  132 lines

  1. import java.io.PrintStream;
  2.  
  3. public abstract class JScriptExprNode extends JScriptParserExpression {
  4.    private JScriptExprNode aParentNode;
  5.    protected JScriptExprNode aRestTermNode;
  6.    private static final int nShiftValue = 2;
  7.  
  8.    public JScriptExprNode() {
  9.       this((JScriptExprNode)null);
  10.    }
  11.  
  12.    public JScriptExprNode(JScriptExprNode var1) {
  13.       this.Init();
  14.       this.aParentNode = var1;
  15.       this.aRestTermNode = null;
  16.    }
  17.  
  18.    public JScriptExprNode GetLeftExpr() {
  19.       return null;
  20.    }
  21.  
  22.    public JScriptExprNode GetRightExpr() {
  23.       return null;
  24.    }
  25.  
  26.    public JScriptExprNode GetRestTermExpr() {
  27.       return this.aRestTermNode;
  28.    }
  29.  
  30.    public void SetRestTermExpr(JScriptExprNode var1) {
  31.       this.aRestTermNode = var1;
  32.    }
  33.  
  34.    public JScriptExprNode GetOptExpr() {
  35.       return null;
  36.    }
  37.  
  38.    public JScriptExprNode GetParent() {
  39.       return this.aParentNode;
  40.    }
  41.  
  42.    public boolean HasParent() {
  43.       return this.aParentNode != null;
  44.    }
  45.  
  46.    public void InsertLeftExpr(JScriptExprNode var1) throws JScriptExprParserException {
  47.       throw new JScriptExprParserException(1007, "error creating expression tree");
  48.    }
  49.  
  50.    public void InsertRightExpr(JScriptExprNode var1) throws JScriptExprParserException {
  51.       throw new JScriptExprParserException(1007, "error creating expression tree");
  52.    }
  53.  
  54.    public void InsertOptExpr(JScriptExprNode var1) throws JScriptExprParserException {
  55.       throw new JScriptExprParserException(1007, "error creating expression tree");
  56.    }
  57.  
  58.    public void InsertParent(JScriptExprNode var1) {
  59.       this.aParentNode = var1;
  60.    }
  61.  
  62.    public abstract boolean IsConstant();
  63.  
  64.    public JScriptExprNode GetRoot() {
  65.       JScriptExprNode var1;
  66.       for(var1 = this; var1.GetParent() != null; var1 = var1.GetParent()) {
  67.       }
  68.  
  69.       return var1;
  70.    }
  71.  
  72.    public abstract void Show(PrintStream var1, int var2);
  73.  
  74.    public void ShowTotalTree(PrintStream var1) {
  75.       if (this.GetRoot() != null) {
  76.          this.GetRoot().ShowTree(var1);
  77.       } else {
  78.          var1.println("Warning: NO ROOT-NODE FOUND !");
  79.       }
  80.    }
  81.  
  82.    public void ShowTree(PrintStream var1) {
  83.       this.ShowTree(var1, 1);
  84.    }
  85.  
  86.    public void ShowTree(PrintStream var1, int var2) {
  87.       String var4 = LevelShift(var2, 2);
  88.       this.Show(var1, var2);
  89.       JScriptExprNode var3 = this.GetLeftExpr();
  90.       if (var3 != null) {
  91.          var1.print(var4 + "L:");
  92.          var3.ShowTree(var1, var2 + 2);
  93.       }
  94.  
  95.       var3 = this.GetRightExpr();
  96.       if (var3 != null) {
  97.          var1.print(var4 + "R:");
  98.          var3.ShowTree(var1, var2 + 2);
  99.       }
  100.  
  101.       var3 = this.GetOptExpr();
  102.       if (var3 != null) {
  103.          var1.print(var4 + "OPT:");
  104.          var3.ShowTree(var1, var2 + 2);
  105.       }
  106.  
  107.    }
  108.  
  109.    public static String LevelShift(int var0) {
  110.       return LevelShift(var0, 2);
  111.    }
  112.  
  113.    public static String LevelShift(int var0, int var1) {
  114.       String var2 = "";
  115.       String var3 = "";
  116.  
  117.       for(int var4 = 0; var4 < var1; ++var4) {
  118.          var2 = var2 + " ";
  119.       }
  120.  
  121.       for(int var5 = 0; var5 < var0; ++var5) {
  122.          var3 = var3 + var2;
  123.       }
  124.  
  125.       return new String(var3);
  126.    }
  127.  
  128.    private void Init() {
  129.       this.aParentNode = null;
  130.    }
  131. }
  132.