mirror of
https://github.com/GrammaticalFramework/gf-core.git
synced 2026-04-09 04:59:31 -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>
|
||||
Danish
|
||||
<p>
|
||||
English
|
||||
English:
|
||||
<p>
|
||||
Finnish
|
||||
<p>
|
||||
@@ -763,7 +763,8 @@ German
|
||||
<p>
|
||||
Italian:
|
||||
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>
|
||||
Norwegian:
|
||||
possessives <i>bilen min</i> not included
|
||||
@@ -773,10 +774,12 @@ Russian
|
||||
Spanish:
|
||||
no omission of unstressed subject pronouns;
|
||||
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>
|
||||
Swedish
|
||||
Swedish:
|
||||
|
||||
|
||||
|
||||
|
||||
@@ -161,6 +161,16 @@ incomplete concrete ClauseRomance of Clause = CategoriesRomance **
|
||||
QPredAdv subj adv =
|
||||
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
|
||||
|
||||
@@ -430,7 +430,7 @@ oper
|
||||
param
|
||||
VPForm = VPF Anteriority VF ;
|
||||
Anteriority = Simul | Anter ;
|
||||
VIForm = VIInfinit | VIImperat Bool Number ;
|
||||
VIForm = VIInfinit | VIImperat Bool Number ; ---- | VIGerund ;
|
||||
|
||||
oper
|
||||
VerbPhrase = {s : VIForm => Gender => Number => Person => Str} ;
|
||||
@@ -1312,16 +1312,13 @@ negNe, negPas : Str ;
|
||||
in
|
||||
{s = \\b,f,_ => cl.s ! b ! f} ;
|
||||
|
||||
-- VIForm = VIInfinit | VIImperat Bool Number ;
|
||||
-- VerbPhrase = {s : VIForm => Gender => Number => Person => Str} ;
|
||||
|
||||
sats2verbPhrase : Sats -> VerbPhrase =
|
||||
\sats -> {s = \\vi,g,n,p => ---- b,cf =>
|
||||
let
|
||||
b = True ; ----
|
||||
lui = sats.s3 ;
|
||||
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 ;
|
||||
dit = dire.p2 ;
|
||||
toujours = sats.s5 ;
|
||||
|
||||
@@ -41,13 +41,13 @@ data ModType =
|
||||
data ModBody =
|
||||
MBody Extend Opens [TopDef]
|
||||
| MWith Ident [Open]
|
||||
| MWithE [Ident] Ident [Open]
|
||||
| MWithE [Included] Ident [Open]
|
||||
| MReuse Ident
|
||||
| MUnion [Included]
|
||||
deriving (Eq,Ord,Show)
|
||||
|
||||
data Extend =
|
||||
Ext [Ident]
|
||||
Ext [Included]
|
||||
| NoExt
|
||||
deriving (Eq,Ord,Show)
|
||||
|
||||
@@ -76,6 +76,7 @@ data QualOpen =
|
||||
data Included =
|
||||
IAll Ident
|
||||
| ISome Ident [Ident]
|
||||
| IMinus Ident [Ident]
|
||||
deriving (Eq,Ord,Show)
|
||||
|
||||
data Def =
|
||||
|
||||
@@ -40,13 +40,13 @@ MTTransfer. ModType ::= "transfer" Ident ":" Open "->" Open ;
|
||||
|
||||
MBody. ModBody ::= Extend Opens "{" [TopDef] "}" ;
|
||||
MWith. ModBody ::= Ident "with" [Open] ;
|
||||
MWithE. ModBody ::= [Ident] "**" Ident "with" [Open] ;
|
||||
MWithE. ModBody ::= [Included] "**" Ident "with" [Open] ;
|
||||
MReuse. ModBody ::= "reuse" Ident ;
|
||||
MUnion. ModBody ::= "union" [Included] ;
|
||||
|
||||
separator TopDef "" ;
|
||||
|
||||
Ext. Extend ::= [Ident] "**" ;
|
||||
Ext. Extend ::= [Included] "**" ;
|
||||
NoExt. Extend ::= ;
|
||||
|
||||
separator Open "," ;
|
||||
@@ -66,8 +66,9 @@ QOInterface. QualOpen ::= "interface" ;
|
||||
|
||||
separator Included "," ;
|
||||
|
||||
IAll. Included ::= Ident ;
|
||||
ISome. Included ::= Ident "[" [Ident] "]" ;
|
||||
IAll. Included ::= Ident ;
|
||||
ISome. Included ::= Ident "[" [Ident] "]" ;
|
||||
IMinus. Included ::= Ident "-" "[" [Ident] "]" ;
|
||||
|
||||
-- definitions after the $oper$ keywords
|
||||
|
||||
@@ -167,7 +168,7 @@ ETyped. Exp4 ::= "<" Exp ":" Exp ">" ; -- typing, used for annotations
|
||||
|
||||
EProj. Exp3 ::= Exp3 "." Label ;
|
||||
EQConstr. Exp3 ::= "{" Ident "." Ident "}" ; -- qualified constructor
|
||||
EQCons. Exp3 ::= "%" Ident "." Ident "%" ; -- qualified constant
|
||||
EQCons. Exp3 ::= "%" Ident "." Ident ; -- qualified constant
|
||||
|
||||
EApp. Exp2 ::= Exp2 Exp3 ;
|
||||
ETable. Exp2 ::= "table" "{" [Case] "}" ;
|
||||
|
||||
@@ -5,9 +5,9 @@
|
||||
-- Stability : (stable)
|
||||
-- Portability : (portable)
|
||||
--
|
||||
-- > CVS $Date: 2005/05/25 10:41:59 $
|
||||
-- > CVS $Author: bringert $
|
||||
-- > CVS $Revision: 1.20 $
|
||||
-- > CVS $Date: 2005/05/26 14:18:17 $
|
||||
-- > CVS $Author: aarne $
|
||||
-- > CVS $Revision: 1.21 $
|
||||
--
|
||||
-- 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)))
|
||||
|
||||
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
|
||||
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
|
||||
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])
|
||||
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])
|
||||
MUnion includeds -> prPrec i 0 (concatD [doc (showString "union") , prt 0 includeds])
|
||||
|
||||
|
||||
instance Print Extend where
|
||||
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 [])
|
||||
|
||||
|
||||
@@ -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 ">")])
|
||||
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
|
||||
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 "%")])
|
||||
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 "}")])
|
||||
|
||||
@@ -5,9 +5,9 @@
|
||||
-- Stability : (stable)
|
||||
-- Portability : (portable)
|
||||
--
|
||||
-- > CVS $Date: 2005/05/25 10:42:00 $
|
||||
-- > CVS $Author: bringert $
|
||||
-- > CVS $Revision: 1.23 $
|
||||
-- > CVS $Date: 2005/05/26 14:18:18 $
|
||||
-- > CVS $Author: aarne $
|
||||
-- > CVS $Revision: 1.24 $
|
||||
--
|
||||
-- based on the skeleton Haskell module generated by the BNF converter
|
||||
-----------------------------------------------------------------------------
|
||||
@@ -112,7 +112,7 @@ transModDef x = case x of
|
||||
opens' <- mapM transOpen opens
|
||||
return (id', GM.ModWith mtyp' mstat' m' [] opens')
|
||||
MWithE extends m opens -> do
|
||||
extends' <- mapM transIdent extends
|
||||
extends' <- mapM transIncludedExt extends
|
||||
m' <- transIdent m
|
||||
opens' <- mapM transOpen opens
|
||||
return (id', GM.ModWith mtyp' mstat' m' extends' opens')
|
||||
@@ -170,7 +170,7 @@ transTransfer x = case x of
|
||||
|
||||
transExtend :: Extend -> Err [Ident]
|
||||
transExtend x = case x of
|
||||
Ext ids -> mapM transIdent ids
|
||||
Ext ids -> mapM transIncludedExt ids
|
||||
NoExt -> return []
|
||||
|
||||
transOpens :: Opens -> Err [GM.OpenSpec Ident]
|
||||
@@ -193,8 +193,14 @@ transQualOpen x = case x of
|
||||
transIncluded :: Included -> Err (Ident,[Ident])
|
||||
transIncluded x = case x of
|
||||
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 x = case x of
|
||||
|
||||
Reference in New Issue
Block a user