using uCalcSoftware; var uc = new uCalc(); // Practical: Basic Syntax Highlighter var t = new uCalc.Transformer(); // Define categories with integer tags var TAG_KEYWORD = 1; var TAG_STRING = 2; var TAG_COMMENT = 3; // Define rules and tag them t.Pattern("{ if | else | for | while }").SetTag(TAG_KEYWORD); t.Pattern("{@String}").SetTag(TAG_STRING); t.Pattern("// {text}").SetTag(TAG_COMMENT); t.Text = """ for (i=0; i<10; i++) { s = "hello"; // comment } """; t.Find(); foreach(var match in t.Matches) { var tag = match.Rule.Tag; if (tag == TAG_KEYWORD) { Console.WriteLine($"TAG_KEYWORD: {match.Text}"); } else if (tag == TAG_STRING) { Console.WriteLine($"TAG_STRING: {match.Text}"); } else if (tag == TAG_COMMENT) { Console.WriteLine($"TAG_COMMENT: {match.Text}"); } }