#include <iostream>
#include "uCalc.h"

using namespace std;
using namespace uCalcSoftware;

int main() {
   uCalc uc;
   // 1. Expression Parser: Evaluate a simple math or string expression
   cout << "Parser Result: " << uc.Eval("(100 - 50) / 2") << endl;
   cout << "Parser Result (string): " << uc.EvalStr("'Hello ' + 'World'") << endl;

   // 2. Transformer: Perform a basic find-and-replace
   uCalc::Transformer t;
   t.FromTo("Hello", "Hi");
   t.FromTo("World", "Planet");
   t.SkipOver("/* {comment} */");
   cout << "Transformer Result: " << t.Transform("Hello World /* Was Hello World */") << endl;

   // 3. String Library: Use a fluent, chainable operation
   uCalc::String s = "The value is: important";
   s.After(":").ToUpper();
   cout << "String Library Result: " << s << endl;


}