Esempio n. 1
0
 override public IRTSLinker appendRightChild(IRTSLinker oper)
 {
     IRTSDefine.Linker id = oper.getId();
     if (mCArg)
     {
         if (id == IRTSDefine.Linker.BRACKET2)
         {
             mCArg = false;
             mCur++;
             return(this);
         }
         else if (id == IRTSDefine.Linker.SEMICOLON)
         {
             if (mCur < 2)
             {
                 mCur++;
                 return(this);
             }
             else
             {
                 return(oper);
             }
         }
         else
         {
             IRTSLinker ret = mChildren[mCur];
             if (ret != null)
             {
                 ret.setSuper(null);
             }
             mChildren[mCur] = oper;
             oper.setSuper(this);
             return(ret);
         }
     }
     else if (mCur == 0)
     {
         if (id != IRTSDefine.Linker.BRACKET)
         {
             return(oper);
         }
         mCArg = true;
         return(this);
     }
     else
     {
         if (mCur != 3)
         {
             return(oper);
         }
         IRTSLinker ret = mChildren[mCur];
         if (ret != null)
         {
             ret.setSuper(null);
         }
         mChildren[mCur] = oper;
         oper.setSuper(this);
         return(ret);
     }
 }
Esempio n. 2
0
 override public IRTSLinker appendRightChild(IRTSLinker linker)
 {
     IRTSDefine.Linker id = linker.getId();
     if (id == IRTSDefine.Linker.SEMICOLON)
     {
         if (mBodyL == null)
         {
             return(linker);
         }
         mOver = true;
         return(this);
     }
     else
     {
         if (mOver)
         {
             return(linker);
         }
         IRTSLinker ret = mBodyL;
         if (ret != null)
         {
             ret.setSuper(null);
         }
         mBodyL = linker;
         linker.setSuper(this);
         if (linker.isStructure())
         {
             mOver = true;
         }
         return(ret);
     }
 }
        override public IRTSLinker appendRightChild(IRTSLinker linker)
        {
            IRTSDefine.Linker id = linker.getId();
            if (mOnBody)
            {
                if (id == IRTSDefine.Linker.ELSE)
                {
                    if (mElseL != null)
                    {
                        return(linker);
                    }
                    mOver  = true;
                    mElseL = linker;
                    linker.setSuper(this);
                    return(null);
                }
                else if (id == IRTSDefine.Linker.SEMICOLON)
                {
                    if (mBodyL == null || mOver)
                    {
                        return(linker);
                    }
                    mOver = true;
                    return(this);
                }
                else if (linker.isStructure())
                {
                    if (mBodyL != null)
                    {
                        return(linker);
                    }
                    mOver  = true;
                    mBodyL = linker;
                    linker.setSuper(this);
                    return(null);
                }
                else
                {
                    if (mOver)
                    {
                        return(linker);
                    }
                    IRTSLinker ret = mBodyL;
                    if (ret != null)
                    {
                        ret.setSuper(null);
                    }
                    mBodyL = linker;
                    linker.setSuper(this);
                    return(ret);
                }
            }
            else
            {
                if (id == IRTSDefine.Linker.THEN)
                {
                    mOnBody = true;
                    return(this);
                }
                IRTSLinker ret = mConditionL;
                if (ret != null)
                {
                    ret.setSuper(null);
                }
                mConditionL = linker;
                linker.setSuper(this);
                return(ret);
            }

            //if (mConditionL == null)
            //{
            //    if (id != IRTSDefine.Linker.BRACKET)
            //        return linker;
            //    mConditionL = linker;
            //    linker.setSuper(this);
            //    return null;
            //}
            //else if (id == IRTSDefine.Linker.ELSE)
            //{
            //    if (mElseL != null)
            //        return linker;
            //    mOver = true;
            //    mElseL = linker;
            //    linker.setSuper(this);
            //    return null;
            //}
            //else if (id == IRTSDefine.Linker.SEMICOLON)
            //{
            //    if (mBodyL == null || mOver)
            //        return linker;
            //    mOver = true;
            //    return this;
            //}
            //else if (linker.isStructure())
            //{
            //    if (mBodyL != null)
            //        return linker;
            //    mOver = true;
            //    mBodyL = linker;
            //    linker.setSuper(this);
            //    return null;
            //}
            //else
            //{
            //    if (mOver)
            //        return linker;
            //    IRTSLinker ret = mBodyL;
            //    if (ret != null)
            //        ret.setSuper(null);
            //    mBodyL = linker;
            //    linker.setSuper(this);
            //    return ret;
            //}
        }
Esempio n. 4
0
 public RTSArithmeticL(IRTSDefine.Linker id)
     : base(id)
 {
 }
Esempio n. 5
0
 public RTSArithmeticR(IRTSDefine.Linker id, IRTSLinker left, IRTSLinker right)
     : base(left, right)
 {
     mId = id;
 }
Esempio n. 6
0
 public RTSCompareL(IRTSDefine.Linker id)
     : base(id)
 {
 }
 public RTSSelfRaiseR(IRTSDefine.Linker operId, IRTSRunner var, bool varAtLeft)
 {
     mOperId = operId;
     mVar    = var;
     mLeft   = varAtLeft;
 }
Esempio n. 8
0
 public RTSExecL(IRTSDefine.Linker id, IRTSDefine.Linker rightId)
     : base(id)
 {
     mRId = rightId;
 }
Esempio n. 9
0
 public RTSExecL()
     : base(0)
 {
     mRId = 0;
 }
Esempio n. 10
0
 public RTSEndingL(IRTSDefine.Linker id)
     : base(id)
 {
 }
 public RTSLinker(IRTSDefine.Linker id)
 {
     mId = id;
 }
 public RTSLogicL(IRTSDefine.Linker id)
     : base(id)
 {
 }
 public RTSCompareR(IRTSDefine.Linker id, IRTSLinker left, IRTSLinker right)
     : base(left, right)
 {
     mId = id;
 }
 public RTSBinaryL(IRTSDefine.Linker id)
     : base(id)
 {
 }
 public RTSSelfRaiseL(IRTSDefine.Linker id)
     : base(id)
 {
 }
 public RTSBracketL(IRTSDefine.Linker id, IRTSDefine.Linker rightId)
     : base(id)
 {
     mRId = rightId;
 }