#include "libstd"
proc main()
{
const str1 = "String sep by space";
const lstr1 = L"Lstring sep by space";
const tok1 = " ";
const ltok1 = L" ";
const pat1 = "sep";
const lpat1 = L"sep";
var strs1 = {str1, lstr1};
var toks1 = {tok1, ltok1};
var pats1 = {pat1, lpat1};
const str2 = "String, sep by space, or comma";
const lstr2 = L"LString, sep by space, or comma";
const tok2 = ", ";
const ltok2 = L", ";
var strs2 = {str2, lstr2};
var toks2 = {tok2, ltok2};
forall (strs1[i]) forall (toks1[j]) {
var str = strs1[i];
var tok = toks1[j];
print("V,X,*,V,:,'|'", tok.parent, str.strtok(tok));
}
forall (strs2[i]) forall (toks2[j]) {
var str = strs2[i];
var tok = toks2[j];
print("V,X,*,V,:,'|'", tok.parent, str.strtok(tok));
}
forall (strs1[i]) forall (pats1[j]) {
var str = strs1[i];
var pat = pats1[j];
print("V,:,X", str.parent, pat.parent, str.strstr(pat));
}
}