override public bool appendLeftChild(IRTSLinker linker) { if (linker.getId() == IRTSDefine.Linker.BRACKET) { IRTSType ctp = ((RTSBracketL)linker).getCastType(); mCastType = ctp; return(ctp != null); } else if (linker.getId() == IRTSDefine.Linker.PROPERTY) { mProperty |= ((RTSPropertyL)linker).getProperty(); return(true); } else if (linker.getId() == IRTSDefine.Linker.TYPE) { mProperty |= IRTSDefine.Property.DECALRE; mCastType = ((RTSTypeL)linker).getRTSType(); linker.setSuper(this); return(true); } else { return(false); } }
public IRTSType getCastType() { if (mCastType == null && mChild != null && mChild.getId() == IRTSDefine.Linker.TYPE && mClosed) { return(((RTSTypeL)mChild).getRTSType()); } else { return(null); } }
override public IRTSLinker appendRightChild(IRTSLinker linker) { if (linker.getId() == IRTSDefine.Linker.COLON) { if (mOnFalse) { return(linker); } mOnFalse = true; return(this); } else if (mOnFalse) { IRTSLinker ret = mFalseL; if (ret != null) { ret.setSuper(null); } mFalseL = linker; linker.setSuper(this); return(ret); } else { IRTSLinker ret = mTrueL; if (ret != null) { ret.setSuper(null); } mTrueL = linker; linker.setSuper(this); return(ret); } }
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 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); } }
override public IRTSRunner createRunner() { if (mVar != null) { return(new runner.RTSSquareR(mVar, mChild)); } else { util.RTSList <IRTSLinker> lst; if (mChild == null) { lst = null; } else if (mChild.getId() == IRTSDefine.Linker.COMMA) { lst = ((RTSCommaL)mChild).getChildren(); } else { lst = new util.RTSList <IRTSLinker>(1); lst.add(mChild); } return(new org.vr.rts.runner.RTSSquareR(lst)); } }
public RTSForR(IRTSLinker initL, IRTSLinker condition, IRTSLinker endL, IRTSLinker bodyL) { mLins = new IRTSRunner[3]; mLins[0] = condition == null ? null : condition.createRunner(); mLins[1] = bodyL == null ? null : bodyL.createRunner(); mLins[2] = endL == null ? null : endL.createRunner(); if (initL == null) { mInit = null; } else if (initL.getId() == IRTSDefine.Linker.COMMA) { org.vr.rts.util.RTSList <IRTSLinker> lst = ((org.vr.rts.linker.RTSCommaL)initL).getChildren(); if (lst == null || lst.length() == 0) { mInit = null; } else { mInit = new IRTSRunner[lst.length()]; for (int i = 0; i < mInit.Length; i++) { IRTSLinker l = lst.get(i); mInit[i] = l == null ? null : l.createRunner(); } } } else { mInit = new IRTSRunner[1]; mInit[0] = initL.createRunner(); } }
public IRTSDefine.Stack run(IRTSStack stack) { if (mLeftL == null) { return(0); } if (!mChildLoaded) { mChildLoaded = true; bool ret = false; if (mPreRunner != null) { mRight = mPreRunner.createRunnerWith(mLeftL, mRightL); } else { mRight = mRightL == null ? null : mRightL.createRunner(); mLeft = mLeftL.createRunner(); if (mLeftL.getId() != IRTSDefine.Linker.VARIABLE) { ret = stack.getThread().loadRunner(mLeft); } } ret |= stack.getThread().loadRunner(mRight); if (ret) { return(0); } } if (!mEvaluate) { mEvaluate = true; if (mPreRunner != null && mRight != null) { mLeft = ((RTSBinaryR)mRight).getLeft(); } mLeft.evaluate(stack, mRight == null ? null : mRight.getOutput()); mValue = mLeft.getOutput(); mOutput = mValue as IRTSRunner; mLeft = null; if (stack.getThread().loadRunner(mOutput)) { return(0); } } if (mOutput != null) { mValue = mOutput.getOutput(); mOutput = mValue as IRTSRunner; if (stack.getThread().loadRunner(mOutput)) { return(0); } } return(0); }
public override bool appendLeftChild(IRTSLinker linker) { if (linker.getId() == IRTSDefine.Linker.BRACKET) { IRTSType ctp = ((RTSBracketL)linker).getCastType(); mCastType = ctp; return(ctp != null); } return(false); }
override public bool isPriority(IRTSLinker linker) { if (linker.getId() == mId) { return(false); } else { return(base.isPriority(linker)); } }
override public bool isPriority(IRTSLinker linker) { if (mOver) { return(linker.getId() != IRTSDefine.Linker.ELSE); } else { return(false); } }
override public IRTSLinker appendRightChild(IRTSLinker linker) { if (linker.getId() == mRId) { mClosed = true; return(this); } else if (linker.getId() == IRTSDefine.Linker.SEMICOLON) { if (mTempL != null) { if (mChildrenL == null) { mChildrenL = new org.vr.rts.util.RTSList <IRTSLinker>(2, 5); } mChildrenL.add(mTempL); mTempL = null; } return(this); } else { if (mTempL != null && mTempL.isStructure()) { if (mChildrenL == null) { mChildrenL = new org.vr.rts.util.RTSList <IRTSLinker>(2, 5); } mChildrenL.add(mTempL); mTempL = null; } IRTSLinker ret = mTempL; if (ret != null) { ret.setSuper(null); } mTempL = linker; linker.setSuper(this); return(ret); } }
override public bool appendLeftChild(IRTSLinker linker) { if (linker.getId() == IRTSDefine.Linker.BRACKET) { mCastType = ((RTSBracketL)linker).getCastType(); return(mCastType != null); } else { return(false); } }
override public IRTSLinker appendRightChild(IRTSLinker linker) { if (linker.getId() == IRTSDefine.Linker.PROPERTY) { mAllProperty |= ((RTSPropertyL)linker).getProperty(); return(this); } else { return(linker); } }
override public bool appendLeftChild(IRTSLinker linker) { if (linker.getId() == IRTSDefine.Linker.PROPERTY) { mAllProperty |= ((RTSPropertyL)linker).getProperty(); return(true); } else { return(false); } }
override public IRTSLinker appendRightChild(IRTSLinker linker) { if (mVarName == null) { if (linker.getId() != IRTSDefine.Linker.VARIABLE || !RTSUtil.isGoodName(linker.getSrc())) { return(linker); } mVarName = linker.getSrc(); return(this); } else if (mArg == null) { if (linker.getId() != IRTSDefine.Linker.BRACKET) { return(linker); } mId = IRTSDefine.Linker.FUNCTION_DEFINE; mArg = linker; linker.setSuper(this); return(null); } else if (mBody == null) { if (linker.getId() != IRTSDefine.Linker.BRACKET_FLOWER) { return(linker); } mId = IRTSDefine.Linker.FUNCTION_DEFINE; mBody = linker; linker.setSuper(this); return(null); } else { return(linker); } }
override public IRTSDefine.Error onCompile(util.RTSList <IRTSLinker> compileList) { if (mLeft == null || !RTSUtil.isGoodName(mDomain)) { return(IRTSDefine.Error.Compiling_DenyLinker); } if (mArgs != null && mArgs.getId() != IRTSDefine.Linker.BRACKET) { return(IRTSDefine.Error.Compiling_DenyLinker); } compileList.add(mLeft); compileList.add(mArgs); return(0); }
public bool isVarList() { for (int i = 0; i < mLins.length(); i++) { IRTSLinker l = mLins.get(i); if (l == null || l.getId() != IRTSDefine.Linker.VARIABLE) { return(false); } if (!RTSUtil.isGoodName(l.getSrc())) { return(false); } } return(true); }
override public IRTSLinker appendRightChild(IRTSLinker linker) { if (linker.getId() == IRTSDefine.Linker.BRACKET_SQUARE2) { mClosed = true; return(this); } IRTSLinker ret = mChild; if (ret != null) { ret.setSuper(null); } mChild = linker; linker.setSuper(this); return(ret); }
override public IRTSLinker appendRightChild(IRTSLinker linker) { if (mArg == null) { if (linker.getId() != IRTSDefine.Linker.BRACKET) { return(linker); } mArg = linker; linker.setSuper(this); return(null); } else { return(linker); } }
override public IRTSLinker appendRightChild(IRTSLinker linker) { if (linker.getId() == mId) { mLins.add(mCur); mCur = null; return(this); } else { IRTSLinker lin = mCur; if (lin != null) { lin.setSuper(null); } mCur = linker; linker.setSuper(this); return(lin); } }
override public IRTSLinker appendRightChild(IRTSLinker linker) { if (mClosed) { return(linker); } if (linker.getId() == mRId) { mClosed = true; return(this); } else { IRTSLinker ret = mChild; if (ret != null) { ret.setSuper(null); } mChild = linker; linker.setSuper(this); return(ret); } }
//override public bool isPriority(IRTSLinker linker) //{ // return linker.isStructure() // && linker.getId() != IRTSDefine.Linker.SEMICOLON; //} override public IRTSLinker appendRightChild(IRTSLinker linker) { if (linker.getId() == IRTSDefine.Linker.COMMA) { if (!(mCur is RTSVariableL)) { return(linker); } mVars.add((RTSVariableL)mCur); mCur = null; return(this); } else { IRTSLinker ret = mCur; if (ret != null) { ret.setSuper(null); } mCur = linker; linker.setSuper(this); 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; //} }
virtual public bool isPriority(IRTSLinker linker) { return((mId & IRTSDefine.Linker.PRIORITY_MASK) >= (linker.getId() & IRTSDefine.Linker.PRIORITY_MASK)); }
public override bool isPriority(IRTSLinker linker) { return(linker.getId() == IRTSDefine.Linker.SEMICOLON); }