Files
gf-rgl/src/latin/SentenceLat.gf
Herbert Lange 0c24247c2a Latin grammar: clean up and update
This patch removes all superfluous files from the directory, especially the
binary files in the doc folder. They are still available in the git
repository http://github.com/daherb/GF-latin which is still the main
repository for the development of the latin grammar.
The GF files are updated to a state close to the one at the end of the GF
Summer School 2015 where they were extended to support the MUSTE grammar.
2016-04-11 14:37:32 +00:00

76 lines
2.0 KiB
Plaintext

concrete SentenceLat of Sentence = CatLat ** open Prelude, ResLat in {
flags optimize=all_subs ;
lin
PredVP np vp = -- NP -> VP -> Cl
mkClause np vp ;
--
-- PredSCVP sc vp = mkClause sc.s (agrP3 Sg) vp ;
--
-- ImpVP vp = {
-- s = \\pol,n =>
-- let
-- agr = AgP2 (numImp n) ;
-- verb = infVP True vp agr ;
-- dont = case pol of {
-- CNeg True => "don't" ;
-- CNeg False => "do" ++ "not" ;
-- _ => []
-- }
-- in
-- dont ++ verb
-- } ;
-- SlashVP : NP -> VPSlash -> ClSlash ; -- (whom) he sees
SlashVP np vp =
mkClause np ( vp ** {c2 = vp.c2} ) ;
--
-- AdvSlash slash adv = {
-- s = \\t,a,b,o => slash.s ! t ! a ! b ! o ++ adv.s ;
-- c2 = slash.c2
-- } ;
-- SlashPrep : Cl -> Prep -> ClSlash ; -- (with whom) he walks
SlashPrep cl prep = cl ** {c2 = prep.s} ;
--
-- SlashVS np vs slash =
-- mkClause (np.s ! Nom) np.a
-- (insertObj (\\_ => conjThat ++ slash.s) (predV vs)) **
-- {c2 = slash.c2} ;
--
-- EmbedS s = {s = conjThat ++ s.s} ;
-- EmbedQS qs = {s = qs.s ! QIndir} ;
-- EmbedVP vp = {s = infVP False vp (agrP3 Sg)} ; --- agr
--
UseCl t p cl = -- Temp -> Pol-> Cl -> S
{
s = t.s ++ p.s ++ cl.s ! t.t ! t.a ! p.p ! VQFalse ! SOV
} ;
UseQCl t p cl = {
s = \\q => t.s ++ p.s ++ cl.s ! t.t ! t.a ! p.p ! q
} ;
-- UseRCl t p cl = {
-- s = \\r => t.s ++ p.s ++ cl.s ! t.t ! t.a ! ctr p.p ! r ;
-- c = cl.c
-- } ;
-- UseSlash t p cl = {
-- s = t.s ++ p.s ++ cl.s ! t.t ! t.a ! ctr p.p ! ODir ;
-- c2 = cl.c2
-- } ;
--
-- AdvS a s = {s = a.s ++ "," ++ s.s} ;
-- This covers subjunctive clauses, but they can also be added to the end.
-- SSubjS : S -> Subj -> S -> S ; -- I go home if she comes
SSubjS s1 subj s2 = ss ( subj.s ++ s2.s ++ s1.s );
-- RelS s r = {s = s.s ++ "," ++ r.s ! agrP3 Sg} ;
--
-- oper
-- ctr = contrNeg True ; -- contracted negations
--
}