September 2017 Update
This commit is contained in:
parent
bba7bfd280
commit
ba8067c3b7
14570 changed files with 153136 additions and 63871 deletions
|
|
@ -0,0 +1,26 @@
|
|||
fcn parseRuleSet(lines){
|
||||
if(vm.numArgs>1) lines=vm.arglist; // lines or object
|
||||
ks:=L(); vs:=L();
|
||||
foreach line in (lines){
|
||||
if(line[0]=="#") continue; // nuke <comment>
|
||||
pattern,replacement:=line.replace("\t"," ")
|
||||
.split(" -> ",1).apply("strip");
|
||||
ks.append(pattern); vs.append(replacement);
|
||||
}
|
||||
return(ks,vs);
|
||||
}
|
||||
|
||||
fcn markov(text,rules){
|
||||
ks,vs:=rules; eks:=ks.enumerate();
|
||||
do{ go:=False;
|
||||
foreach n,k in (eks){
|
||||
if (Void!=text.find(k)){
|
||||
if (Void==(v:=vs[n])) return(text);
|
||||
if (v[0,1]==".") v=v[1,*] else go=True;
|
||||
text=text.replace(k,v,1);
|
||||
break; // restart after every rule application, unless terminating
|
||||
}
|
||||
}
|
||||
}while(go);
|
||||
text
|
||||
}
|
||||
Loading…
Add table
Add a link
Reference in a new issue