/([^β(])(.*?)(β+)\1/$3$1$2/g Gleiche Zeichen summieren /(β+)(β+)([^β]+)\1([^β]+)/$1$4$1$2$3/g Sortierschritt /^(β+)([^β]+)(β+)([^β]+)/$1$3($2,$4)/g Kleinste Zusammenfassen /^β+([^β]+)$/$1/ ! Terminierung /(.)/β$1/g Einfügen von βs
/[a-z]/ϖ/ /\(ϖ,ϖ\)/ϖ/ /^ϖ$/ok/! /.*/error/!
/\(([a-z01]*),([a-z01]*)\)/π$1τ$2/ /π([a-z])([01]*)/$10$2π/ /π?τ([a-z])([01]*)/$11$2τ/ /τ//
/^([a-z])([01]+)([^β]*)χ([^θ]*)\1/$1$2$3χ$4$2/ /^([a-z])([01]+)// /^χ//! /\(([a-z01]*),([a-z01]*)\)/π$1τ$2/ /π([a-z])([01]*)/$10$2π/ /π?τ([a-z])([01]*)/$11$2τ/ /τ// /ϒ([a-z])/β$1ϒ/ /ϒ\n/χ/ /([^β(])(.*?)(β+)\1/$3$1$2/g /(β+)(β+)([^βχ]+)\1([^βχ]+)/$1$4$1$2$3/g /^(β+)([^βχ]+)(β+)([^βχ]+)/$1$3($2,$4)/g /^β*(.*)χ(.*)/$1χ$2θ$1/ /.*/ϒ$&\n$&/
Eingabe
mississippi
/^[a-zA-Z ]*$/⇒$&\n⊕θ$&\n⇐$&/ ! /(\n|.)*/error/!
⇒mississippi ⊕θmississippi ⇐mississippi
Der Codebaum soll in folgenden Teilschritten erzeugt werden
⊕θmississippi
⊕mιiιιιιsιιιιpιιθ
⊕iιιιιsιιιιpιιmιθ
⊕iιιιιsιιιι(p,m)ιιιθ
(3)⊕iιιιι(s,(p,m))ιιιιιιιθ
(3)⊕(s,(p,m))ιιιιιιιiιιιιθ
(2)⊕((s,(p,m)),i)ιιιιιιιιιιιθ
(3)⊕((s,(p,m)),i)
/θ(.)/$1ιθ/ /([^ι)])(ι+)(.*)\1(ι+)/$1$2$4$3/g /([^⊕ι]+)(ι+)([^ι]+)\2(ι+)/$3$2$4$1$2/ /([^⊕ι]+)(ι+)([^ι]+)(ι+)θ/($1,$3)$2$4θ/ /ι+θ//!
Zwischenstand
/\((.*),(.*)\)/π$1τ$2/ /π([a-zA-Z ])([01]*)/$10$2π/ /π?τ([a-zA-Z ])([01]*)/$11$2τ/ /τ// /θ(.)/$1ιθ/ /([^ι)])(ι+)(.*)\1(ι+)/$1$2$4$3/g /([^⊕ι]+)(ι+)([^ι]+)\2(ι+)/$3$2$4$1$2/ /([^⊕ι]+)(ι+)([^ι]+)(ι+)θ/($1,$3)$2$4θ/ /ι+θ//! /^[a-zA-Z ]*$/⇒$&\n⊕θ$&\n⇐$&/ /(\n|.)*/error/!
Arbeitsumgebung: http://exorciser.ch/dev/rema.html
Aufgaben
This work by Vincent Tscherter, vincent.tscherter@karmin.ch and Kurt Jakob, kurt.jakob@gmx.ch is licensed under Creative Commons Attribution-NonCommercial 3.0.