54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
|
def prepareFunction (s):
"convert simple rule syntax to a string of Python code"
s = s.replace("__also__", "bCondMemo")
s = s.replace("__else__", "not bCondMemo")
s = s.replace("sContext", "_sAppContext")
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(dTokenPos, m.start(\\2), m.group(\\2)', s)
s = re.sub(r"define[(][\\](\d+)", 'define(dTokenPos, m.start(\\1)', s)
s = re.sub(r"(morph|info)[(][\\](\d+)", '\\1((m.start(\\2), m.group(\\2))', s)
s = re.sub(r"(morph|info)[(]", '\\1(dTokenPos, ', s)
s = re.sub(r"(sugg\w+|switch\w+)\(@", '\\1(m.group(i[4])', s)
s = re.sub(r"word\(\s*1\b", 'nextword1(sSentence, m.end()', s) # word(1)
s = re.sub(r"word\(\s*-1\b", 'prevword1(sSentence, m.start()', s) # word(-1)
s = re.sub(r"word\(\s*(\d)", 'nextword(sSentence, m.end(), \\1', s) # word(n)
s = re.sub(r"word\(\s*-(\d)", 'prevword(sSentence, m.start(), \\1', s) # word(-n)
s = re.sub(r"before\(\s*", 'look(sSentence[:m.start()], ', s) # before(sSentence)
s = re.sub(r"after\(\s*", 'look(sSentence[m.end():], ', s) # after(sSentence)
s = re.sub(r"textarea\(\s*", 'look(sSentence, ', s) # textarea(sSentence)
s = re.sub(r"/0", 'sSentence0[m.start():m.end()]', s) # /0
s = re.sub(r"before0\(\s*", 'look(sSentence0[:m.start()], ', s) # before0(sSentence)
s = re.sub(r"after0\(\s*", 'look(sSentence0[m.end():], ', s) # after0(sSentence)
s = re.sub(r"textarea0\(\s*", 'look(sSentence0, ', s) # textarea0(sSentence)
s = re.sub(r"\bspell *[(]", '_oSpellChecker.isValid(', s)
s = re.sub(r"[\\](\d+)", 'm.group(\\1)', s)
return s
def uppercase (sText, sLang):
"(flag i is not enough): converts regex to uppercase regex: 'foo' becomes '[Ff][Oo][Oo]', but 'Bar' becomes 'B[Aa][Rr]'."
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
|
def prepareFunction (s):
"convert simple rule syntax to a string of Python code"
s = s.replace("__also__", "bCondMemo")
s = s.replace("__else__", "not bCondMemo")
s = s.replace("sContext", "_sAppContext")
s = re.sub(r"\bstart\(\)", 'before("^ *$|, *$")', s)
s = re.sub(r"\brealstart\(\)", 'before("^ *$")', s)
s = re.sub(r"\bstart0\(\)", 'before0("^ *$|, *$")', s)
s = re.sub(r"\brealstart0\(\)", 'before0("^ *$")', s)
s = re.sub(r"\bend\(\)", 'after("^ *$|^,")', s)
s = re.sub(r"\brealend\(\)", 'after("^ *$")', s)
s = re.sub(r"\bend0\(\)", 'after0("^ *$|^,")', s)
s = re.sub(r"\brealend0\(\)", 'after0("^ *$")', s)
s = re.sub(r"\b(select|exclude)[(][\\](\d+)", '\\1(dTokenPos, m.start(\\2), m.group(\\2)', s)
s = re.sub(r"\bdefine[(][\\](\d+)", 'define(dTokenPos, m.start(\\1)', s)
s = re.sub(r"\b(morph|info)[(][\\](\d+)", '\\1((m.start(\\2), m.group(\\2))', s)
s = re.sub(r"\b(morph|info)[(]", '\\1(dTokenPos, ', s)
s = re.sub(r"\b(sugg\w+|switch\w+)\(@", '\\1(m.group(i[4])', s)
s = re.sub(r"\bword\(\s*1\b", 'nextword1(sSentence, m.end()', s) # word(1)
s = re.sub(r"\bword\(\s*-1\b", 'prevword1(sSentence, m.start()', s) # word(-1)
s = re.sub(r"\bword\(\s*(\d)", 'nextword(sSentence, m.end(), \\1', s) # word(n)
s = re.sub(r"\bword\(\s*-(\d)", 'prevword(sSentence, m.start(), \\1', s) # word(-n)
s = re.sub(r"\bbefore\(\s*", 'look(sSentence[:m.start()], ', s) # before(sSentence)
s = re.sub(r"\bafter\(\s*", 'look(sSentence[m.end():], ', s) # after(sSentence)
s = re.sub(r"\btextarea\(\s*", 'look(sSentence, ', s) # textarea(sSentence)
s = re.sub(r"/0", 'sSentence0[m.start():m.end()]', s) # /0
s = re.sub(r"\bbefore0\(\s*", 'look(sSentence0[:m.start()], ', s) # before0(sSentence)
s = re.sub(r"\bafter0\(\s*", 'look(sSentence0[m.end():], ', s) # after0(sSentence)
s = re.sub(r"\btextarea0\(\s*", 'look(sSentence0, ', s) # textarea0(sSentence)
s = re.sub(r"\bspell *[(]", '_oSpellChecker.isValid(', s)
s = re.sub(r"[\\](\d+)", 'm.group(\\1)', s)
return s
def uppercase (sText, sLang):
"(flag i is not enough): converts regex to uppercase regex: 'foo' becomes '[Ff][Oo][Oo]', but 'Bar' becomes 'B[Aa][Rr]'."
|