* Improve T's metrics for Etoile (#1449).

* Fix custom build of ligations when `ineq` is disabled but `ltgt-diamond-tag` or `ltgt-slash-tag` are enabled (#1450).
This commit is contained in:
be5invis 2022-11-24 16:42:50 -08:00
parent 7fd0cb1a44
commit 153cf38e85
3 changed files with 102 additions and 91 deletions

View file

@ -838,65 +838,62 @@ define [buildLigationsImpl sink para featureName mappedFeature rankedLookups] :
equal ~> {'equal.cf'}
# <= and >=
do "inequals" : if [hasLG 'ineq'] : begin
CreateLigationLookup : list
# Disable regular expression lookaheads
chain-rule
{'parenLeft'} ~> look-around
{'question'} ~> look-around
regexLookAround ~> advance
regexLookAround ~> advance
regexLookAround ~> advance
regexLookAround ~> advance
chain-rule
{'parenLeft'} ~> look-around
{'question'} ~> look-around
regexLookAround ~> advance
regexLookAround ~> advance
regexLookAround ~> advance
chain-rule
{'parenLeft'} ~> look-around
{'question'} ~> look-around
regexLookAround ~> advance
regexLookAround ~> advance
do "inequals" : CreateLigationLookup : list
# Disable regular expression lookaheads
if [hasLG 'ineq'] : chain-rule
{'parenLeft'} ~>look-around
{'question'} ~> look-around
regexLookAround ~> advance
regexLookAround ~> advance
regexLookAround ~> advance
regexLookAround ~> advance
if [hasLG 'ineq'] : chain-rule
{'parenLeft'} ~> look-around
{'question'} ~> look-around
regexLookAround ~> advance
regexLookAround ~> advance
regexLookAround ~> advance
if [hasLG 'ineq'] : chain-rule
{'parenLeft'} ~> look-around
{'question'} ~> look-around
regexLookAround ~> advance
regexLookAround ~> advance
# <>
piecewise
[hasLG 'ltgt-diamond'] : chain-rule
lessAndEquiv ~> [just 'less.lig.diamond']
greaterAndEquiv ~> [just 'greater.lig.diamond']
[hasLG 'ltgt-diamond-tag'] : chain-rule
lessAndEquiv ~> [just 'less.lig.diamond.tag']
greaterAndEquiv ~> [just 'greater.lig.diamond.tag']
[hasLG 'ltgt-ne'] : chain-rule
lessAndEquiv ~> [just 'neq.bar-only.2l']
greaterAndEquiv ~> [just 'equal.fc+cf']
# <>
piecewise
[hasLG 'ltgt-diamond'] : chain-rule
lessAndEquiv ~> [just 'less.lig.diamond']
greaterAndEquiv ~> [just 'greater.lig.diamond']
[hasLG 'ltgt-diamond-tag'] : chain-rule
lessAndEquiv ~> [just 'less.lig.diamond.tag']
greaterAndEquiv ~> [just 'greater.lig.diamond.tag']
[hasLG 'ltgt-ne'] : chain-rule
lessAndEquiv ~> [just 'neq.bar-only.2l']
greaterAndEquiv ~> [just 'equal.fc+cf']
# <=, >=
chain-rule
[acops] ~> look-around
lessOrGreaterAndEquiv ~> advance
equal ~> advance
chain-rule
lessOrGreaterAndEquiv ~> advance
equal ~> advance
[acops] ~> look-around
chain-rule
lessAndEquiv ~> [just 'less.lig2']
equal ~> {'eq.at-lteq.lig2'}
chain-rule
greaterAndEquiv ~> [just 'greater.lig2']
equal ~> {'eq.at-gteq.lig2'}
# <=, >=
if [hasLG 'ineq'] : chain-rule
[acops] ~> look-around
lessOrGreaterAndEquiv ~> advance
equal ~> advance
if [hasLG 'ineq'] : chain-rule
lessOrGreaterAndEquiv ~> advance
equal ~> advance
[acops] ~> look-around
if [hasLG 'ineq'] : chain-rule
lessAndEquiv ~> [just 'less.lig2']
equal ~> {'eq.at-lteq.lig2'}
if [hasLG 'ineq'] : chain-rule
greaterAndEquiv ~> [just 'greater.lig2']
equal ~> {'eq.at-gteq.lig2'}
# </, /> and </>
piecewise
[hasLG 'ltgt-slash-tag'] : chain-rule
lessAndEquiv ~> [just 'less.lig.tag-slash']
slash ~> look-around
piecewise
[hasLG 'ltgt-slash-tag'] : chain-rule
slash ~> look-around
greaterAndEquiv ~> [just 'greater.lig.tag-slash']
# </, /> and </>
if [hasLG 'ltgt-slash-tag'] : chain-rule
lessAndEquiv ~> [just 'less.lig.tag-slash']
slash ~> look-around
if [hasLG 'ltgt-slash-tag'] : chain-rule
slash ~> look-around
greaterAndEquiv ~> [just 'greater.lig.tag-slash']
# :>
do "colon-less-greater" : if [hasLG 'colon-greater'] : begin