Overview
| Comment: | [core] gc engine: small code clarification |
|---|---|
| Downloads: | Tarball | ZIP archive | SQL archive |
| Timelines: | family | ancestors | descendants | both | core | rg |
| Files: | files | file ages | folders |
| SHA3-256: |
70e6105d8a286372a3712b10b3ad2e1c |
| User & Date: | olr on 2018-06-11 09:11:41 |
| Other Links: | branch diff | manifest | tags |
Context
|
2018-06-11
| ||
| 09:26 | [build][core] named graphs check-in: 7e92a17d42 user: olr tags: core, build, rg | |
| 09:11 | [core] gc engine: small code clarification check-in: 70e6105d8a user: olr tags: core, rg | |
|
2018-06-09
| ||
| 09:46 | [core] debug mode check-in: cb932c349b user: olr tags: core, rg | |
Changes
Modified gc_core/py/lang_core/gc_engine.py from [0afa6afeb1] to [7c7a312e6d].
| ︙ | ︙ | |||
136 137 138 139 140 141 142 |
dDA.clear()
try:
# regex parser
_, errs = _proofread(sText[iStart:iEnd], sRealText[iStart:iEnd], iStart, False, dDA, dPriority, sCountry, dOpt, bShowRuleId, bDebug, bContext)
aErrors.update(errs)
# token parser
oSentence = TokenSentence(sText[iStart:iEnd], sRealText[iStart:iEnd], iStart)
| | | > > > > | 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 |
dDA.clear()
try:
# regex parser
_, errs = _proofread(sText[iStart:iEnd], sRealText[iStart:iEnd], iStart, False, dDA, dPriority, sCountry, dOpt, bShowRuleId, bDebug, bContext)
aErrors.update(errs)
# token parser
oSentence = TokenSentence(sText[iStart:iEnd], sRealText[iStart:iEnd], iStart)
bChange, errs = oSentence.parse(dPriority, sCountry, dOpt, bShowRuleId, bDebug, bContext)
aErrors.update(errs)
if bChange:
oSentence.rewrite()
if bDebug:
print("~", oSentence.sSentence)
except:
raise
return aErrors.values() # this is a view (iterable)
_zEndOfSentence = re.compile(r'([.?!:;…][ .?!… »”")]*|.$)')
_zBeginOfParagraph = re.compile(r"^\W*")
_zEndOfParagraph = re.compile(r"\W*$")
def _getSentenceBoundaries (sText):
iStart = _zBeginOfParagraph.match(sText).end()
for m in _zEndOfSentence.finditer(sText):
yield (iStart, m.end())
iStart = m.end()
|
| ︙ | ︙ | |||
374 375 376 377 378 379 380 |
def _getPath ():
return os.path.join(os.path.dirname(sys.modules[__name__].__file__), __name__ + ".py")
#### common functions
| < < < < < < < < | 378 379 380 381 382 383 384 385 386 387 388 389 390 391 |
def _getPath ():
return os.path.join(os.path.dirname(sys.modules[__name__].__file__), __name__ + ".py")
#### common functions
def option (sOpt):
"return True if option sOpt is active"
return _dOptions.get(sOpt, False)
def displayInfo (dDA, tWord):
|
| ︙ | ︙ | |||
462 463 464 465 466 467 468 469 470 471 472 473 474 475 |
## functions to get text outside pattern scope
# warning: check compile_rules.py to understand how it works
def nextword (s, iStart, n):
"get the nth word of the input string or empty string"
m = re.match("(?: +[\\w%-]+){" + str(n-1) + "} +([\\w%-]+)", s[iStart:])
if not m:
return None
return (iStart+m.start(1), m.group(1))
| > > > | 458 459 460 461 462 463 464 465 466 467 468 469 470 471 472 473 474 |
## functions to get text outside pattern scope
# warning: check compile_rules.py to understand how it works
_zNextWord = re.compile(r" +(\w[\w-]*)")
_zPrevWord = re.compile(r"(\w[\w-]*) +$")
def nextword (s, iStart, n):
"get the nth word of the input string or empty string"
m = re.match("(?: +[\\w%-]+){" + str(n-1) + "} +([\\w%-]+)", s[iStart:])
if not m:
return None
return (iStart+m.start(1), m.group(1))
|
| ︙ | ︙ | |||
563 564 565 566 567 568 569 |
return True
#### GRAMMAR CHECKER PLUGINS
${plugins}
| < < < < < | 562 563 564 565 566 567 568 569 570 571 572 573 574 575 |
return True
#### GRAMMAR CHECKER PLUGINS
${plugins}
#### TOKEN SENTENCE CHECKER
class TokenSentence:
def __init__ (self, sSentence, sSentence0, nOffset):
|
| ︙ | ︙ | |||
925 926 927 928 929 930 931 |
def g_define (dToken, lMorph):
"set morphologies of <dToken>, always return True"
dToken["lMorph"] = lMorph
#print("DA:", dToken["sValue"], lMorph)
return True
| | > > > > > | 919 920 921 922 923 924 925 926 927 928 929 930 931 932 933 |
def g_define (dToken, lMorph):
"set morphologies of <dToken>, always return True"
dToken["lMorph"] = lMorph
#print("DA:", dToken["sValue"], lMorph)
return True
#### CALLABLES FOR REGEX RULES (generated code)
${callables}
#### CALLABLES FOR GRAPH RULES (generated code)
${graph_callables}
|