コード例 #1
0
ファイル: NotBuilder.cs プロジェクト: iammitch/Slimterpreter
        public override Token Build(Token lastToken, ScriptEngine engine, Script script, ref SourceCode sourceCode)
        {
            sourceCode++;

            engine.AddPostBuildOperation(new NotToken.NotPass(), 1000);

            return new NotToken();
        }
コード例 #2
0
ファイル: InBuilder.cs プロジェクト: iammitch/Slimterpreter
        public override Token Build(Token lastToken, ScriptEngine engine, Script script, ref SourceCode sourceCode)
        {
            sourceCode += 2;

            // Add a post build operation to build this.
            engine.AddPostBuildOperation(new InToken.InTokenPass(), 10000);

            return new InToken();
        }
コード例 #3
0
ファイル: MathBuilder.cs プロジェクト: iammitch/Slimterpreter
        public override Token Build(Token lastToken, ScriptEngine engine, Script script, ref SourceCode sourceCode)
        {
            // If we are called, simply add a Token at the point that identifies what we are trying to do, and then notify the builder that we need to run a post build action.
            MathToken.MathType type = GetType(sourceCode.CurrentCode);
            sourceCode++;

            engine.AddPostBuildOperation(new MathToken.MathPass(type), (int) type);

            return new MathToken(type);
        }
コード例 #4
0
        public override Token Build(Token lastToken, ScriptEngine engine, Script script, ref SourceCode sourceCode)
        {
            engine.AddPostBuildOperation(new ComparisonOperatorToken.OperatorPass(), 100);

            return new ComparisonOperatorToken(GetType(ref sourceCode));
        }
コード例 #5
0
 public override Token Build(Token lastToken, ScriptEngine engine, Script script, ref SourceCode sourceCode)
 {
     engine.AddPostBuildOperation(new ReturnToken.ReturnPass(), int.MaxValue);
     sourceCode += 6;
     return new ReturnToken();
 }