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

using namespace std;
using namespace uCalcSoftware;

int main() {
   uCalc uc;
   uCalc::Transformer t;
   string txt = "start one; two end";

   // Default behavior is StatementSensitive(true), so {body} stops at the semicolon
   // and the 'end' anchor is never found. The transform fails.
   auto rule = t.FromTo("start {body} end", "[{body}]");
   cout << "Sensitive (default): " << t.Transform(txt) << endl;

   rule.StatementSensitive(false);
   // With StatementSensitive(false), {body} captures across the semicolon.
   cout << "Insensitive: " << t.Transform(txt) << endl;
}