コード例 #1
0
ファイル: TestHelper.cs プロジェクト: dopeldead/yodii-script
        public static void RunNormalAndStepByStep( string script, Action<RuntimeObj> test, GlobalContext ctx = null )
        {
            var e = ExprAnalyser.AnalyseString( script );

            // Tests the empty, default, visitor: no change must have been made to the AST.
            var emptyVisitor = new ExprVisitor();
            Assert.That( emptyVisitor.VisitExpr( e ), Is.SameAs( e ) );

            // Evaluates result directly.
            RuntimeObj syncResult = ScriptEngine.Evaluate( e, ctx );
            test( syncResult );

            // Step-by-step evaluation.
            ScriptEngine engine = new ScriptEngine( ctx );
            engine.Breakpoints.BreakAlways = true;
            ExecAsync( script, test, null, e, syncResult, engine, true );
        }
コード例 #2
0
ファイル: IfExpAST.cs プロジェクト: yogeshlc/LLVMSharp
 protected internal override ExprAST Accept(ExprVisitor visitor)
 {
     return(visitor.VisitIfExprAST(this));
 }
コード例 #3
0
 public override TResult Accept <TResult, TContext>(ExprVisitor <TResult, TContext> visitor, TContext ctx)
 {
     return(visitor.VisitIfExpAST(ctx, this));
 }
コード例 #4
0
ファイル: UnaryExpression.cs プロジェクト: jimdeselms/bifoql
 internal override void Accept(ExprVisitor visitor)
 {
     visitor.Visit(this);
     _innerExpression.Accept(visitor);
 }
コード例 #5
0
 internal override void Accept(ExprVisitor visitor)
 {
     visitor.Visit(this);
     SpreadObject.Accept(visitor);
 }
コード例 #6
0
ファイル: ExprAST.cs プロジェクト: rflechner/LLVMSharp
 protected internal virtual ExprAST Accept(ExprVisitor visitor)
 {
     return visitor.VisitExtension(this);
 }
コード例 #7
0
 public abstract R Accept(ExprVisitor <R> visitor);
コード例 #8
0
ファイル: KeyExpr.cs プロジェクト: jimdeselms/bifoql
 internal override void Accept(ExprVisitor visitor)
 {
     visitor.Visit(this);
     Target?.Accept(visitor);
 }
コード例 #9
0
ファイル: BindingExplorer.cs プロジェクト: Phoshi/Gram
 public BindingExplorer(ExprVisitor interpreter)
 {
     this.interpreter = interpreter;
 }
コード例 #10
0
 protected internal virtual ExprAST VisitChildren(ExprVisitor visitor)
 {
     return(visitor.Visit(this));
 }
コード例 #11
0
 internal abstract void Accept(ExprVisitor visitor);
コード例 #12
0
 protected internal virtual ExprAST Accept(ExprVisitor visitor)
 {
     return(visitor.VisitExtension(this));
 }
コード例 #13
0
ファイル: BinaryExpr.cs プロジェクト: jimdeselms/bifoql
 internal override void Accept(ExprVisitor visitor)
 {
     visitor.Visit(this);
     LeftHandSide.Accept(visitor);
     RightHandSide.Accept(visitor);
 }
コード例 #14
0
ファイル: ExprAST.cs プロジェクト: rflechner/LLVMSharp
 protected internal virtual ExprAST VisitChildren(ExprVisitor visitor)
 {
     return visitor.Visit(this);
 }
コード例 #15
0
 public override R Accept <R>(ExprVisitor <R> visitor)
 {
     return(visitor.Visit(this));
 }
コード例 #16
0
ファイル: GramInterpreter.cs プロジェクト: Phoshi/Gram
 public GramInterpreter()
 {
     interpreter = new ExprVisitor();
 }
コード例 #17
0
ファイル: ForExprAST.cs プロジェクト: rflechner/LLVMSharp
 protected internal override ExprAST Accept(ExprVisitor visitor)
 {
     return visitor.VisitForExprAST(this);
 }
コード例 #18
0
 internal override void Accept(ExprVisitor visitor)
 {
     visitor.Visit(this);
     _obj.Accept(visitor);
 }
コード例 #19
0
 public override R Accept(ExprVisitor <R> visitor)
 {
     return(visitor.VisitSetExpr(this));
 }
コード例 #20
0
 public abstract TResult Accept <TResult, TContext>(ExprVisitor <TResult, TContext> visitor, TContext ctx);
コード例 #21
0
ファイル: EvalExpression.cs プロジェクト: michyer/canape
        public bool ParseInt(out int value)
        {
            bool parsed = false;

            value = 0;
            if (IsValid)
            {
                try
                {
                    NCalc.Expression expr = new NCalc.Expression(Expression);
                    LogicalExpression pexpr = NCalc.Expression.Compile(Expression, false);
                    ExprVisitor v = new ExprVisitor();

                    pexpr.Accept(v);

                    if (!v.ComplexExpression)
                    {
                        value = Convert.ToInt32(expr.Evaluate());
                        parsed = true;
                    }
                }
                catch (Exception)
                {
                }
            }

            return parsed;
        }
コード例 #22
0
ファイル: ChainExpr.cs プロジェクト: jimdeselms/bifoql
 internal override void Accept(ExprVisitor visitor)
 {
     visitor.Visit(this);
     First.Accept(visitor);
     Next.Accept(visitor);
 }