eval.js:
package BLUEPIXY {
class Math {
static public function Evaluate(exp : String) : double {
return eval(exp);
}
}
}
скомпилировать в eval.dll
>jsc /t:library eval.js
calc.cs:
using System;
using System.Text.RegularExpressions;
class Calc {
static void Main(){
int? answer = null;
String equation = Console.ReadLine();
Console.WriteLine("your equation is {0}", equation);
if(Regex.IsMatch(equation, @"^[0-9\.\*\-\+\/\(\) ]+$")){
answer = (int)BLUEPIXY.Math.Evaluate(equation);
}
Console.WriteLine("answer is {0}", answer);
}
}
скомпилировать в calc.exe
>csc /r:eval.dll /r:Microsoft.JScript.dll calc.cs
DEMO
>calc
3 * 4 - 2 * 3
your equation is 3 * 4 - 2 * 3
answer is 6