mirror of
https://github.com/GrammaticalFramework/gf-rgl.git
synced 2026-06-07 14:16:31 -06:00
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.
76 lines
2.0 KiB
Plaintext
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
|
|
--
|
|
}
|
|
|