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

using namespace std;
using namespace uCalcSoftware;

int main() {
   uCalc uc;
   // Create two transformers with different token configurations
   uCalc::Transformer strict_t;
   strict_t.Tokens().Description("Strict Mode: only 'is' as a whole word.");

   uCalc::Transformer flexible_t;
   flexible_t.Tokens().Description("Flexible Mode: matches 'is' inside other words.");
   flexible_t.Tokens().Clear();
   flexible_t.Tokens().Add("."); // Match by character

   string text = "This island is nice.";

   strict_t.FromTo("is", "[MATCH]");
   flexible_t.FromTo("is", "[MATCH]");

   cout << strict_t.Tokens().Description() << endl;
   cout << "Result: " << strict_t.Transform(text) << endl;
   cout << "" << endl;
   cout << flexible_t.Tokens().Description() << endl;
   cout << "Result: " << flexible_t.Transform(text) << endl;
}