!7 sS stuffToParse = [[ 1 1 + 2 (5) 2 * (3) 1 * (2 + 3) (1 + 2) * 3 (1 + 2) * (3 + 4) 1 + 2 * 3 1 * 2 + 3 ]]; sS concepts = [[ ["jcnbmtmfzktxhzyf", "X + Y"], ["bwqhmnorjpyomdbv", "X * Y", "multiplication"], ["mcoswmplpqlieruo", "(X)"], ["olphazqzxxnvtjcx", "X evaluates through standard function Y."], ["wwaprwlmqzqeaikp", "A leaf satisfying standard function X evaluates through standard function Y."], ["hkihrqgdlkdayxzn", "X is just bracketing."], ]]; sS statements = [[ olphazqzxxnvtjcx jcnbmtmfzktxhzyf "plus" olphazqzxxnvtjcx bwqhmnorjpyomdbv "multiply" hkihrqgdlkdayxzn mcoswmplpqlieruo wwaprwlmqzqeaikp "isInteger" "bigint" ]]; p-tt { centerHigherConsole(); useConceptsAndCLStatements(concepts, statements); //set englishToConceptLanguage_xyz_debug; for (S line : toLinesFullTrim(stuffToParse)) testParse(line); } svoid testParse(S s) { Lisp l = hygienicParse1(s); S result = null; if (l != null) result = str(eval(l)); printIndent(s + " = " + or(result, "?")); if (l != null) printIndent(l); print(); } static O eval(Lisp l) { ret generalLispEval(l); }