romance Inf ; %, included

This commit is contained in:
aarne
2005-05-26 13:18:17 +00:00
parent 0cc8911950
commit 63ee4ef12d
10 changed files with 522 additions and 490 deletions

Binary file not shown.

View File

@@ -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:

View File

@@ -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

View File

@@ -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 ;

View File

@@ -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 =

View File

@@ -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] "}" ;

View File

@@ -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

View File

@@ -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 "}")])

View File

@@ -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