public override void Compile(TScriptData scriptData) { scriptData.CodeList.Add(new DoubleOpCode() { Value = Value }); }
public override void Compile(TScriptData scriptData) { LeftTree.Compile(scriptData); RightTree.Compile(scriptData); switch (type) { case TokenType.PLUS: scriptData.CodeList.Add(new AddOpCode()); break; case TokenType.MINUS: scriptData.CodeList.Add(new SubOpCode()); break; case TokenType.MUL: scriptData.CodeList.Add(new MulOpCode()); break; case TokenType.DIV: scriptData.CodeList.Add(new DivOpCode()); break; default: break; } }
internal TScriptData Complie() { TScriptData scriptData = new TScriptData(); foreach (var item in _rootTree.Bodys) { item.Compile(scriptData); } return(scriptData); }
public virtual void Compile(TScriptData scriptData) { }
public void Run(TScriptData scriptData) { Run(scriptData.CodeList); }