iga reegel koosneb paarist tingimus peab koosnema kahest muutujast ja nendevahelisest kas == v]i != v]rdlusest. tingimuses esineb commandlineilt saadud muutuja siis peab see olema teisel kohal suurt'hed k[sitakse programmi k'ivitamisel kasutajalt, v'iket'hed on programmi k'ivitades algv''rtustatud nullile ja v''rtus siis muutub t;; k'igus. tegevus koosneb reeglitest kujul muutuja = function(i); v]i muutuja = a * b + c; ehk siis: *) iga rida peab olema omistamine mingile muutujale, isegi kui seda tegelt vaja pole nagu on esimese reegli puhul. *) iga rida peab l]ppema ; m'rgiga *) funktsiooni argument v]ib olla ainult muutuja(d) *) legaalsed funktsioonid on fract(a), pow(a, b), die(a), eval("a + 3 * X") *) muutuja 'z' on reserveeritud sisemiste arvutuste jaoks. *) legaalsed tehtem'rgid on - + * / *) tehted peavad olema antud arvutamise j'rjekorras vasakult paremale st. (a * b + c) != (c + a * b) ei viitsind reverse polish notationisse peksmisega jamada. *) sorts on tehniliste [ksikasjade osas kommenteeritud, mingit [ldpilti sealt ei saa *) igasugused k]rvalekalded siin 'eldud ja ytlemata piirangutest l]ppevad crashiga. ei ole robustne.. pole aega. liigutused nagu f = 0 - 1; c = pow(f, i); on rulesetis tehtud parsimise lihtsustamiseks, et peaks argumentidena ainult muutujatega arvestama