mirror of
https://github.com/GrammaticalFramework/gf-core.git
synced 2026-04-22 19:22:50 -06:00
romance Inf ; %, included
This commit is contained in:
BIN
doc/DocGF.pdf
BIN
doc/DocGF.pdf
Binary file not shown.
@@ -751,7 +751,7 @@ the previous page</i>.)
|
|||||||
<p>
|
<p>
|
||||||
Danish
|
Danish
|
||||||
<p>
|
<p>
|
||||||
English
|
English:
|
||||||
<p>
|
<p>
|
||||||
Finnish
|
Finnish
|
||||||
<p>
|
<p>
|
||||||
@@ -763,7 +763,8 @@ German
|
|||||||
<p>
|
<p>
|
||||||
Italian:
|
Italian:
|
||||||
no omission of unstressed subject pronouns;
|
no omission of unstressed subject pronouns;
|
||||||
some verbs in Basic should be reflexive
|
some verbs in Basic should be reflexive;
|
||||||
|
bad forms of reflexive infinitives
|
||||||
<p>
|
<p>
|
||||||
Norwegian:
|
Norwegian:
|
||||||
possessives <i>bilen min</i> not included
|
possessives <i>bilen min</i> not included
|
||||||
@@ -773,10 +774,12 @@ Russian
|
|||||||
Spanish:
|
Spanish:
|
||||||
no omission of unstressed subject pronouns;
|
no omission of unstressed subject pronouns;
|
||||||
no switch to dative case for human objects;
|
no switch to dative case for human objects;
|
||||||
some verbs in Basic should be reflexive
|
some verbs in Basic should be reflexive;
|
||||||
|
bad forms of reflexive infinitives;
|
||||||
|
spurious parameter for verb auxiliary inherited from Romance
|
||||||
|
|
||||||
<p>
|
<p>
|
||||||
Swedish
|
Swedish:
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|||||||
@@ -161,6 +161,16 @@ incomplete concrete ClauseRomance of Clause = CategoriesRomance **
|
|||||||
QPredAdv subj adv =
|
QPredAdv subj adv =
|
||||||
sats2quest (mkSatsCopula (intNounPhrase subj) adv.s) ;
|
sats2quest (mkSatsCopula (intNounPhrase subj) adv.s) ;
|
||||||
|
|
||||||
|
----- anteriority _ ; gender and number of Adj
|
||||||
|
|
||||||
|
IPredV _ v =
|
||||||
|
sats2verbPhrase (mkSats pronImpers v) ;
|
||||||
|
IPredV2 _ v y =
|
||||||
|
sats2verbPhrase (mkSatsObject pronImpers v y) ;
|
||||||
|
IPredAP _ adj =
|
||||||
|
sats2verbPhrase (mkSatsCopula pronImpers (adj.s ! AF Masc Sg)) ;
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
{-
|
{-
|
||||||
-- Use VPs
|
-- Use VPs
|
||||||
|
|||||||
@@ -430,7 +430,7 @@ oper
|
|||||||
param
|
param
|
||||||
VPForm = VPF Anteriority VF ;
|
VPForm = VPF Anteriority VF ;
|
||||||
Anteriority = Simul | Anter ;
|
Anteriority = Simul | Anter ;
|
||||||
VIForm = VIInfinit | VIImperat Bool Number ;
|
VIForm = VIInfinit | VIImperat Bool Number ; ---- | VIGerund ;
|
||||||
|
|
||||||
oper
|
oper
|
||||||
VerbPhrase = {s : VIForm => Gender => Number => Person => Str} ;
|
VerbPhrase = {s : VIForm => Gender => Number => Person => Str} ;
|
||||||
@@ -1312,16 +1312,13 @@ negNe, negPas : Str ;
|
|||||||
in
|
in
|
||||||
{s = \\b,f,_ => cl.s ! b ! f} ;
|
{s = \\b,f,_ => cl.s ! b ! f} ;
|
||||||
|
|
||||||
-- VIForm = VIInfinit | VIImperat Bool Number ;
|
|
||||||
-- VerbPhrase = {s : VIForm => Gender => Number => Person => Str} ;
|
|
||||||
|
|
||||||
sats2verbPhrase : Sats -> VerbPhrase =
|
sats2verbPhrase : Sats -> VerbPhrase =
|
||||||
\sats -> {s = \\vi,g,n,p => ---- b,cf =>
|
\sats -> {s = \\vi,g,n,p => ---- b,cf =>
|
||||||
let
|
let
|
||||||
b = True ; ----
|
b = True ; ----
|
||||||
lui = sats.s3 ;
|
lui = sats.s3 ;
|
||||||
dire = verbVIForm {s = sats.s4 ; aux = sats.aux}
|
dire = verbVIForm {s = sats.s4 ; aux = sats.aux}
|
||||||
vi sats.g sats.n sats.p sats.g2 sats.n2 ;
|
vi g n p sats.g2 sats.n2 ;
|
||||||
ai = dire.p1 ;
|
ai = dire.p1 ;
|
||||||
dit = dire.p2 ;
|
dit = dire.p2 ;
|
||||||
toujours = sats.s5 ;
|
toujours = sats.s5 ;
|
||||||
|
|||||||
@@ -41,13 +41,13 @@ data ModType =
|
|||||||
data ModBody =
|
data ModBody =
|
||||||
MBody Extend Opens [TopDef]
|
MBody Extend Opens [TopDef]
|
||||||
| MWith Ident [Open]
|
| MWith Ident [Open]
|
||||||
| MWithE [Ident] Ident [Open]
|
| MWithE [Included] Ident [Open]
|
||||||
| MReuse Ident
|
| MReuse Ident
|
||||||
| MUnion [Included]
|
| MUnion [Included]
|
||||||
deriving (Eq,Ord,Show)
|
deriving (Eq,Ord,Show)
|
||||||
|
|
||||||
data Extend =
|
data Extend =
|
||||||
Ext [Ident]
|
Ext [Included]
|
||||||
| NoExt
|
| NoExt
|
||||||
deriving (Eq,Ord,Show)
|
deriving (Eq,Ord,Show)
|
||||||
|
|
||||||
@@ -76,6 +76,7 @@ data QualOpen =
|
|||||||
data Included =
|
data Included =
|
||||||
IAll Ident
|
IAll Ident
|
||||||
| ISome Ident [Ident]
|
| ISome Ident [Ident]
|
||||||
|
| IMinus Ident [Ident]
|
||||||
deriving (Eq,Ord,Show)
|
deriving (Eq,Ord,Show)
|
||||||
|
|
||||||
data Def =
|
data Def =
|
||||||
|
|||||||
@@ -40,13 +40,13 @@ MTTransfer. ModType ::= "transfer" Ident ":" Open "->" Open ;
|
|||||||
|
|
||||||
MBody. ModBody ::= Extend Opens "{" [TopDef] "}" ;
|
MBody. ModBody ::= Extend Opens "{" [TopDef] "}" ;
|
||||||
MWith. ModBody ::= Ident "with" [Open] ;
|
MWith. ModBody ::= Ident "with" [Open] ;
|
||||||
MWithE. ModBody ::= [Ident] "**" Ident "with" [Open] ;
|
MWithE. ModBody ::= [Included] "**" Ident "with" [Open] ;
|
||||||
MReuse. ModBody ::= "reuse" Ident ;
|
MReuse. ModBody ::= "reuse" Ident ;
|
||||||
MUnion. ModBody ::= "union" [Included] ;
|
MUnion. ModBody ::= "union" [Included] ;
|
||||||
|
|
||||||
separator TopDef "" ;
|
separator TopDef "" ;
|
||||||
|
|
||||||
Ext. Extend ::= [Ident] "**" ;
|
Ext. Extend ::= [Included] "**" ;
|
||||||
NoExt. Extend ::= ;
|
NoExt. Extend ::= ;
|
||||||
|
|
||||||
separator Open "," ;
|
separator Open "," ;
|
||||||
@@ -66,8 +66,9 @@ QOInterface. QualOpen ::= "interface" ;
|
|||||||
|
|
||||||
separator Included "," ;
|
separator Included "," ;
|
||||||
|
|
||||||
IAll. Included ::= Ident ;
|
IAll. Included ::= Ident ;
|
||||||
ISome. Included ::= Ident "[" [Ident] "]" ;
|
ISome. Included ::= Ident "[" [Ident] "]" ;
|
||||||
|
IMinus. Included ::= Ident "-" "[" [Ident] "]" ;
|
||||||
|
|
||||||
-- definitions after the $oper$ keywords
|
-- definitions after the $oper$ keywords
|
||||||
|
|
||||||
@@ -167,7 +168,7 @@ ETyped. Exp4 ::= "<" Exp ":" Exp ">" ; -- typing, used for annotations
|
|||||||
|
|
||||||
EProj. Exp3 ::= Exp3 "." Label ;
|
EProj. Exp3 ::= Exp3 "." Label ;
|
||||||
EQConstr. Exp3 ::= "{" Ident "." Ident "}" ; -- qualified constructor
|
EQConstr. Exp3 ::= "{" Ident "." Ident "}" ; -- qualified constructor
|
||||||
EQCons. Exp3 ::= "%" Ident "." Ident "%" ; -- qualified constant
|
EQCons. Exp3 ::= "%" Ident "." Ident ; -- qualified constant
|
||||||
|
|
||||||
EApp. Exp2 ::= Exp2 Exp3 ;
|
EApp. Exp2 ::= Exp2 Exp3 ;
|
||||||
ETable. Exp2 ::= "table" "{" [Case] "}" ;
|
ETable. Exp2 ::= "table" "{" [Case] "}" ;
|
||||||
|
|||||||
@@ -5,9 +5,9 @@
|
|||||||
-- Stability : (stable)
|
-- Stability : (stable)
|
||||||
-- Portability : (portable)
|
-- Portability : (portable)
|
||||||
--
|
--
|
||||||
-- > CVS $Date: 2005/05/25 10:41:59 $
|
-- > CVS $Date: 2005/05/26 14:18:17 $
|
||||||
-- > CVS $Author: bringert $
|
-- > CVS $Author: aarne $
|
||||||
-- > CVS $Revision: 1.20 $
|
-- > CVS $Revision: 1.21 $
|
||||||
--
|
--
|
||||||
-- From internal source syntax to BNFC-generated (used for printing).
|
-- From internal source syntax to BNFC-generated (used for printing).
|
||||||
-----------------------------------------------------------------------------
|
-----------------------------------------------------------------------------
|
||||||
@@ -50,7 +50,7 @@ trModule (i,mo) = case mo of
|
|||||||
(mkTopDefs (concatMap trAnyDef (tree2list (jments m)) ++ map trFlag (flags m)))
|
(mkTopDefs (concatMap trAnyDef (tree2list (jments m)) ++ map trFlag (flags m)))
|
||||||
|
|
||||||
trExtend :: [Ident] -> P.Extend
|
trExtend :: [Ident] -> P.Extend
|
||||||
trExtend i = ifNull P.NoExt (P.Ext . map tri) i
|
trExtend i = ifNull P.NoExt (P.Ext . map (P.IAll . tri)) i ---- IAll
|
||||||
|
|
||||||
---- this has to be completed with other mtys
|
---- this has to be completed with other mtys
|
||||||
forName (MTConcrete a) = tri a
|
forName (MTConcrete a) = tri a
|
||||||
|
|||||||
File diff suppressed because one or more lines are too long
@@ -147,14 +147,14 @@ instance Print ModBody where
|
|||||||
prt i e = case e of
|
prt i e = case e of
|
||||||
MBody extend opens topdefs -> prPrec i 0 (concatD [prt 0 extend , prt 0 opens , doc (showString "{") , prt 0 topdefs , doc (showString "}")])
|
MBody extend opens topdefs -> prPrec i 0 (concatD [prt 0 extend , prt 0 opens , doc (showString "{") , prt 0 topdefs , doc (showString "}")])
|
||||||
MWith id opens -> prPrec i 0 (concatD [prt 0 id , doc (showString "with") , prt 0 opens])
|
MWith id opens -> prPrec i 0 (concatD [prt 0 id , doc (showString "with") , prt 0 opens])
|
||||||
MWithE ids id opens -> prPrec i 0 (concatD [prt 0 ids , doc (showString "**") , prt 0 id , doc (showString "with") , prt 0 opens])
|
MWithE includeds id opens -> prPrec i 0 (concatD [prt 0 includeds , doc (showString "**") , prt 0 id , doc (showString "with") , prt 0 opens])
|
||||||
MReuse id -> prPrec i 0 (concatD [doc (showString "reuse") , prt 0 id])
|
MReuse id -> prPrec i 0 (concatD [doc (showString "reuse") , prt 0 id])
|
||||||
MUnion includeds -> prPrec i 0 (concatD [doc (showString "union") , prt 0 includeds])
|
MUnion includeds -> prPrec i 0 (concatD [doc (showString "union") , prt 0 includeds])
|
||||||
|
|
||||||
|
|
||||||
instance Print Extend where
|
instance Print Extend where
|
||||||
prt i e = case e of
|
prt i e = case e of
|
||||||
Ext ids -> prPrec i 0 (concatD [prt 0 ids , doc (showString "**")])
|
Ext includeds -> prPrec i 0 (concatD [prt 0 includeds , doc (showString "**")])
|
||||||
NoExt -> prPrec i 0 (concatD [])
|
NoExt -> prPrec i 0 (concatD [])
|
||||||
|
|
||||||
|
|
||||||
@@ -346,6 +346,7 @@ instance Print Exp where
|
|||||||
ETyped exp0 exp -> prPrec i 4 (concatD [doc (showString "<") , prt 0 exp0 , doc (showString ":") , prt 0 exp , doc (showString ">")])
|
ETyped exp0 exp -> prPrec i 4 (concatD [doc (showString "<") , prt 0 exp0 , doc (showString ":") , prt 0 exp , doc (showString ">")])
|
||||||
EProj exp label -> prPrec i 3 (concatD [prt 3 exp , doc (showString ".") , prt 0 label])
|
EProj exp label -> prPrec i 3 (concatD [prt 3 exp , doc (showString ".") , prt 0 label])
|
||||||
EQConstr id0 id -> prPrec i 3 (concatD [doc (showString "{0") , prt 0 id0 , doc (showString ".") , prt 0 id , doc (showString "}0")]) -- H
|
EQConstr id0 id -> prPrec i 3 (concatD [doc (showString "{0") , prt 0 id0 , doc (showString ".") , prt 0 id , doc (showString "}0")]) -- H
|
||||||
|
EQCons id0 id -> prPrec i 3 (concatD [doc (showString "%") , prt 0 id0 , doc (showString ".") , prt 0 id])
|
||||||
EQCons id0 id -> prPrec i 3 (concatD [doc (showString "%") , prt 0 id0 , doc (showString ".") , prt 0 id , doc (showString "%")])
|
EQCons id0 id -> prPrec i 3 (concatD [doc (showString "%") , prt 0 id0 , doc (showString ".") , prt 0 id , doc (showString "%")])
|
||||||
EApp exp0 exp -> prPrec i 2 (concatD [prt 2 exp0 , prt 3 exp])
|
EApp exp0 exp -> prPrec i 2 (concatD [prt 2 exp0 , prt 3 exp])
|
||||||
ETable cases -> prPrec i 2 (concatD [doc (showString "table") , doc (showString "{") , prt 0 cases , doc (showString "}")])
|
ETable cases -> prPrec i 2 (concatD [doc (showString "table") , doc (showString "{") , prt 0 cases , doc (showString "}")])
|
||||||
|
|||||||
@@ -5,9 +5,9 @@
|
|||||||
-- Stability : (stable)
|
-- Stability : (stable)
|
||||||
-- Portability : (portable)
|
-- Portability : (portable)
|
||||||
--
|
--
|
||||||
-- > CVS $Date: 2005/05/25 10:42:00 $
|
-- > CVS $Date: 2005/05/26 14:18:18 $
|
||||||
-- > CVS $Author: bringert $
|
-- > CVS $Author: aarne $
|
||||||
-- > CVS $Revision: 1.23 $
|
-- > CVS $Revision: 1.24 $
|
||||||
--
|
--
|
||||||
-- based on the skeleton Haskell module generated by the BNF converter
|
-- based on the skeleton Haskell module generated by the BNF converter
|
||||||
-----------------------------------------------------------------------------
|
-----------------------------------------------------------------------------
|
||||||
@@ -112,7 +112,7 @@ transModDef x = case x of
|
|||||||
opens' <- mapM transOpen opens
|
opens' <- mapM transOpen opens
|
||||||
return (id', GM.ModWith mtyp' mstat' m' [] opens')
|
return (id', GM.ModWith mtyp' mstat' m' [] opens')
|
||||||
MWithE extends m opens -> do
|
MWithE extends m opens -> do
|
||||||
extends' <- mapM transIdent extends
|
extends' <- mapM transIncludedExt extends
|
||||||
m' <- transIdent m
|
m' <- transIdent m
|
||||||
opens' <- mapM transOpen opens
|
opens' <- mapM transOpen opens
|
||||||
return (id', GM.ModWith mtyp' mstat' m' extends' opens')
|
return (id', GM.ModWith mtyp' mstat' m' extends' opens')
|
||||||
@@ -170,7 +170,7 @@ transTransfer x = case x of
|
|||||||
|
|
||||||
transExtend :: Extend -> Err [Ident]
|
transExtend :: Extend -> Err [Ident]
|
||||||
transExtend x = case x of
|
transExtend x = case x of
|
||||||
Ext ids -> mapM transIdent ids
|
Ext ids -> mapM transIncludedExt ids
|
||||||
NoExt -> return []
|
NoExt -> return []
|
||||||
|
|
||||||
transOpens :: Opens -> Err [GM.OpenSpec Ident]
|
transOpens :: Opens -> Err [GM.OpenSpec Ident]
|
||||||
@@ -193,8 +193,14 @@ transQualOpen x = case x of
|
|||||||
transIncluded :: Included -> Err (Ident,[Ident])
|
transIncluded :: Included -> Err (Ident,[Ident])
|
||||||
transIncluded x = case x of
|
transIncluded x = case x of
|
||||||
IAll i -> liftM (flip (curry id) []) $ transIdent i
|
IAll i -> liftM (flip (curry id) []) $ transIdent i
|
||||||
ISome i ids -> liftM2 (curry id) (transIdent i) (mapM transIdent ids)
|
ISome i ids -> liftM2 (curry id) (transIdent i) (mapM transIdent ids)
|
||||||
|
IMinus i ids -> liftM2 (curry id) (transIdent i) (mapM transIdent ids) ----
|
||||||
|
|
||||||
|
transIncludedExt :: Included -> Err Ident ---- (Ident,[Ident])
|
||||||
|
transIncludedExt x = case x of
|
||||||
|
IAll i -> transIdent i
|
||||||
|
ISome i ids -> transIdent i
|
||||||
|
IMinus i ids -> transIdent i
|
||||||
|
|
||||||
transAbsDef :: TopDef -> Err (Either [(Ident, G.Info)] [GO.Option])
|
transAbsDef :: TopDef -> Err (Either [(Ident, G.Info)] [GO.Option])
|
||||||
transAbsDef x = case x of
|
transAbsDef x = case x of
|
||||||
|
|||||||
Reference in New Issue
Block a user