mirror of
https://github.com/GrammaticalFramework/gf-rgl.git
synced 2026-05-27 17:08:54 -06:00
(Kor) Cleanup in conjunctions
This commit is contained in:
@@ -36,43 +36,29 @@ lin
|
||||
ConjAdv, ConjAdV, ConjIAdv = conjSS ;
|
||||
|
||||
oper
|
||||
ConjSS : Type = SS ** {firstSS : ConjType => Str} ;
|
||||
ConjSS : Type = {s : ConjType => Str} ;
|
||||
|
||||
baseSS : SS -> SS -> ConjSS = \s1,s2 -> s2 ** {
|
||||
firstSS = mkFirstSS s1 ;
|
||||
baseSS : SS -> SS -> ConjSS = \s1,s2 -> {
|
||||
s = \\conj => glue s1.s (conjTable ! NStar ! conj) ++ s2.s ;
|
||||
} ;
|
||||
|
||||
consSS : SS -> ConjSS -> ConjSS = \s,ss -> ss ** {
|
||||
firstSS = \\conj =>
|
||||
mkFirstSS s ! conj ++ ss.firstSS ! conj ;
|
||||
s = \\conj => glue s.s (conjTable ! NStar ! conj) ++ ss.s ! conj ;
|
||||
} ;
|
||||
|
||||
conjSS : Conj -> ConjSS -> SS = \co,ss -> {
|
||||
s = co.s1 ++ ss.firstSS ! co.c ++ ss.s
|
||||
} ;
|
||||
|
||||
-- Versions with commas, no repeated conjunctions
|
||||
baseSScomma : SS -> SS -> ConjSS = \s1,s2 -> s2 ** {
|
||||
firstSS = \\conj => s1.s ++ SOFT_BIND ++ "," ;
|
||||
s = co.s1 ++ ss.s ! co.c
|
||||
} ;
|
||||
|
||||
-- Version with commas, no repeated conjunctions!
|
||||
-- baseSS works for both: always conjunction between penultimate and last.
|
||||
-- Difference from consSS: conjTable ! NStar ! conj isn't used, only comma.
|
||||
consSScomma : SS -> ConjSS -> ConjSS = \s,ss -> ss ** {
|
||||
firstSS = \\conj =>
|
||||
s.s ++ SOFT_BIND ++ "," ++ ss.firstSS ! conj ;
|
||||
s = \\conj => s.s
|
||||
++ SOFT_BIND ++ "," -- Don't add conjunction, only comma
|
||||
++ ss.s ! conj ;
|
||||
} ;
|
||||
|
||||
conjSScomma : Conj -> ConjSS -> SS = \co,ss -> {
|
||||
s = co.s1
|
||||
++ ss.firstSS ! co.c
|
||||
++ co.s2
|
||||
++ ss.s
|
||||
} ;
|
||||
|
||||
oper
|
||||
mkFirstSS : SS -> ConjType => Str = \s ->
|
||||
\\conj => glue s.s (conjTable ! VStar ! conj) ;
|
||||
|
||||
|
||||
|
||||
lincat
|
||||
[S], [RS] = ResKor.Sentence ** {firstS : ConjType => Str} ;
|
||||
|
||||
Reference in New Issue
Block a user