Token Context switch
ID: 168
using uCalcSoftware;
var uc = new uCalc();
var CommentTransform = uc.NewTransformer();
var CommentTokens = CommentTransform.Tokens;
CommentTokens.Add(".");
CommentTokens.Add("[a-z]+");
var txt = "'This is it' /* 'This is it' This is it */ This is it";
var t = uc.NewTransformer();
t.FromTo("is", "");
Console.WriteLine(t.Transform(txt).Text);
// Now the context will switch between /* and */
// In that context there's no quoted text token,
t.Tokens.ContextSwitch(CommentTokens, "/\\*", "\\*/");
t.FromTo("is", "");
Console.WriteLine(t.Transform(txt).Text);
'This is it' /* 'This is it' This <is> it */ This <is> it
'This is it' /* 'This <is> it' This <is> it */ This <is> it using uCalcSoftware; var uc = new uCalc(); var CommentTransform = uc.NewTransformer(); var CommentTokens = CommentTransform.Tokens; CommentTokens.Add("."); CommentTokens.Add("[a-z]+"); var txt = "'This is it' /* 'This is it' This is it */ This is it"; var t = uc.NewTransformer(); t.FromTo("is", "<is>"); Console.WriteLine(t.Transform(txt).Text); // Now the context will switch between /* and */ // In that context there's no quoted text token, t.Tokens.ContextSwitch(CommentTokens, "/\\*", "\\*/"); t.FromTo("is", "<is>"); Console.WriteLine(t.Transform(txt).Text);
#include
#include "uCalc.h"
using namespace std;
using namespace uCalcSoftware;
int main() {
uCalc uc;
auto CommentTransform = uc.NewTransformer();
auto CommentTokens = CommentTransform.Tokens();
CommentTokens.Add(".");
CommentTokens.Add("[a-z]+");
auto txt = "'This is it' /* 'This is it' This is it */ This is it";
auto t = uc.NewTransformer();
t.FromTo("is", "");
cout << t.Transform(txt).Text() << endl;
// Now the context will switch between /* and */
// In that context there's no quoted text token,
t.Tokens().ContextSwitch(CommentTokens, "/\\*", "\\*/");
t.FromTo("is", "");
cout << t.Transform(txt).Text() << endl;
}
'This is it' /* 'This is it' This <is> it */ This <is> it
'This is it' /* 'This <is> it' This <is> it */ This <is> it #include <iostream> #include "uCalc.h" using namespace std; using namespace uCalcSoftware; int main() { uCalc uc; auto CommentTransform = uc.NewTransformer(); auto CommentTokens = CommentTransform.Tokens(); CommentTokens.Add("."); CommentTokens.Add("[a-z]+"); auto txt = "'This is it' /* 'This is it' This is it */ This is it"; auto t = uc.NewTransformer(); t.FromTo("is", "<is>"); cout << t.Transform(txt).Text() << endl; // Now the context will switch between /* and */ // In that context there's no quoted text token, t.Tokens().ContextSwitch(CommentTokens, "/\\*", "\\*/"); t.FromTo("is", "<is>"); cout << t.Transform(txt).Text() << endl; }
Imports System
Imports uCalcSoftware
Public Module Program
Public Sub Main()
Dim uc As New uCalc()
Dim CommentTransform = uc.NewTransformer()
Dim CommentTokens = CommentTransform.Tokens
CommentTokens.Add(".")
CommentTokens.Add("[a-z]+")
Dim txt = "'This is it' /* 'This is it' This is it */ This is it"
Dim t = uc.NewTransformer()
t.FromTo("is", "")
Console.WriteLine(t.Transform(txt).Text)
'// Now the context will switch between /* and */
'// In that context there's no quoted text token,
t.Tokens.ContextSwitch(CommentTokens, "/\*", "\*/")
t.FromTo("is", "")
Console.WriteLine(t.Transform(txt).Text)
End Sub
End Module
'This is it' /* 'This is it' This <is> it */ This <is> it
'This is it' /* 'This <is> it' This <is> it */ This <is> it Imports System Imports uCalcSoftware Public Module Program Public Sub Main() Dim uc As New uCalc() Dim CommentTransform = uc.NewTransformer() Dim CommentTokens = CommentTransform.Tokens CommentTokens.Add(".") CommentTokens.Add("[a-z]+") Dim txt = "'This is it' /* 'This is it' This is it */ This is it" Dim t = uc.NewTransformer() t.FromTo("is", "<is>") Console.WriteLine(t.Transform(txt).Text) '// Now the context will switch between /* and */ '// In that context there's no quoted text token, t.Tokens.ContextSwitch(CommentTokens, "/\*", "\*/") t.FromTo("is", "<is>") Console.WriteLine(t.Transform(txt).Text) End Sub End Module