コード例 #1
0
ファイル: Interpreter.cs プロジェクト: dylanbeattie/Starship
        public RSResult Apply(RSExpression lhs, RSExpression rhs, Func <dynamic, dynamic, dynamic> f)
        {
            var lhsValue = Evaluate(lhs).Value as dynamic;
            var rhsValue = Evaluate(rhs).Value as dynamic;

            return(RSResult.FromValue(f(lhsValue, rhsValue)));
        }
コード例 #2
0
 public RSOutput(RSExpression expression)
 {
     this.Expression = expression;
 }
コード例 #3
0
ファイル: RSStatement.cs プロジェクト: dylanbeattie/Starship
 public RSConditional(RSExpression condition, RSBlock consequent, RSBlock alternate = null)
 {
     this.Condition  = condition;
     this.Consequent = consequent;
     this.Alternate  = alternate;
 }
コード例 #4
0
ファイル: RSStatement.cs プロジェクト: dylanbeattie/Starship
 public RSUntil(RSExpression condition, RSBlock body)
 {
     Condition = condition;
     Body      = body;
 }
コード例 #5
0
ファイル: RSStatement.cs プロジェクト: dylanbeattie/Starship
 public RSWhile(RSExpression condition, RSBlock body)
 {
     Condition = condition;
     Body      = body;
 }
コード例 #6
0
ファイル: RSStatement.cs プロジェクト: dylanbeattie/Starship
 public RSReturn(RSExpression expr)
 {
     this.Expression = expr;
 }
コード例 #7
0
ファイル: RSConstant.cs プロジェクト: dylanbeattie/Starship
 public RSNegate(RSExpression expr)
 {
     this.Expression = expr;
 }
コード例 #8
0
ファイル: RSConstant.cs プロジェクト: dylanbeattie/Starship
 public RSComparison(RSComparator comp, RSExpression lhs, RSExpression rhs)
 {
     Lhs        = lhs;
     Rhs        = rhs;
     Comparator = comp;
 }
コード例 #9
0
ファイル: RSConstant.cs プロジェクト: dylanbeattie/Starship
 public RSBinary(RSOperator op, RSExpression lhs, RSExpression rhs)
 {
     this.Operator = op;
     this.Lhs      = lhs;
     this.Rhs      = rhs;
 }
コード例 #10
0
ファイル: RSConstant.cs プロジェクト: dylanbeattie/Starship
 public RSAssign(RSVariable v, RSExpression e)
 {
     this.Variable   = v;
     this.Expression = e;
 }