Index: compile_rules.py ================================================================== --- compile_rules.py +++ compile_rules.py @@ -20,10 +20,18 @@ def prepareFunction (s): s = s.replace("__also__", "bCondMemo") s = s.replace("__else__", "not bCondMemo") + s = re.sub(r"isStart *\(\)", 'before("^ *$|, *$")', s) + s = re.sub(r"isRealStart *\(\)", 'before("^ *$")', s) + s = re.sub(r"isStart0 *\(\)", 'before0("^ *$|, *$")', s) + s = re.sub(r"isRealStart0 *\(\)", 'before0("^ *$")', s) + s = re.sub(r"isEnd *\(\)", 'after("^ *$|^,")', s) + s = re.sub(r"isRealEnd *\(\)", 'after("^ *$")', s) + s = re.sub(r"isEnd0 *\(\)", 'after0("^ *$|^,")', s) + s = re.sub(r"isRealEnd0 *\(\)", 'after0("^ *$")', s) s = re.sub(r"(select|exclude)[(][\\](\d+)", '\\1(dDA, m.start(\\2), m.group(\\2)', s) s = re.sub(r"define[(][\\](\d+)", 'define(dDA, m.start(\\1)', s) s = re.sub(r"(morph|morphex|displayInfo)[(][\\](\d+)", '\\1((m.start(\\2), m.group(\\2))', s) s = re.sub(r"(morph|morphex|displayInfo)[(]", '\\1(dDA, ', s) s = re.sub(r"(sugg\w+|switch\w+)\(@", '\\1(m.group(i[4])', s)