newgramt

publicité
Fichier gramt.c
1/13
15/06/17 à 01:06
/* Fichier gramt.c */
&REFER(VARTAHIT,GRAMTAHIT).
&GRAMMAIRE.
/* Grammaire de Transfert Lexical. */
&ENTREE: depart(I).
/* RPOINT0. Lecture dans le dico dicttrttahit des valeurs de ULT des feuilles des elements structures,
equivalentes aux valeurs de UL non vides. */
RPOINT0:
0(*) / 0:( (ULT(DICT(*))^=0) & (TRAITES=0) )
=>
0 / 0:0 ( ULT = ULT(DICT(0)) ; PARTIE = PARTIE(DICT(0)) ;
ORDRE = ORDRE(DICT(0));
SUBSTADJ = SUBSTADJ(DICT(0)) ;
NUMT = NUMT(DICT(0)) ;
TRAITES=OUI ;
TYPT = TYPT(DICT(0)) ;
SUBST = SUBST(DICT(0)) ;
ULTS = ULTS(DICT(0)) ).
/* RPOINT1. Affectation aux variables ULT des noeuds non feuilles des elements structures aux valeurs
des variables UL des memes nœuds. */
RPOINT1:
0(1) / 0:( (UL^=0) & (TRAITES=0) )
=>
0(1) / 0:0( ULT = %(ULT)<-UL(*) ; TRAITES=OUI ).
--> GCréationSGV.
Fichier gramt.c
2/13
15/06/17 à 01:06
/*
Début de la Génération Syntaxique.
La grammaire GCréationSGV crée un point appelé Super Groupe Verbal contenant le sujet, le verbe et à
droite les compléments d’objet du verbe.
*/
&GRAM : GCréationSGV(I).
/*
Création du point intermédiaire entre le groupe verbal et le point phrase. Cela permet de pouvoir avoir
les COD/I et les sujets des verbes à portée de main pour le transfert structurel ainsi que de regrouper les
adverbes.
*/
RInitTrf :
0( GV ) / 0 : K=PHRASE ; GV: K=GV
=>
0( 1(GV)) / 1 : GV( ULT=’SGV’ ).
/*
Règle de traitement des groupes situés après le dernier adverbe du groupe verbal ou le verbe.
Ceux-ci sont mis à droite sous le nouveau point GV pour ne garder que les adverbes et les verbes sous le
nouveau point appelé NV pour noyau verbal.
*/
RTrfCO1 :
SGV( GV(S,*) ),* , %1 ) /
SGV : ULT=’SGV’;
NV : K=GV ;
S : ( ( K ^= GADV) | (CAT ^= VB) )
=>
SGV( GV, NV, S, %1).
/* Règle de traitement des groupes nominaux qui sont des pronoms personnels placés avant le verbe. */
RTrfCO2 :
SGV( GV( *,GN ), *, %1 ) /
SGV : ULT=’SGV’;
GV : K=GV ;
GN : ( ( (K=GN) | (K=GNPREP) ) & ( (FS=OBJT) | (FS=OBJI) ) )
=>
SGV( GV, GN, %1).
/*
On obtient alors une arborescence où un nouveau point SGV possède sous lui l’ancien groupe varbal
réduit aux verbes et aux adverbes GV et à sa droite les COD, COI et autres subordonnées infinitives.
Mettons maintenant à gauche du super groupe verbal, le GN sujet, pour avoir la liste
Super_Groupe_Verbal( Sujet, Groupe_Verbal, Compléments_d’Objet ).
*/
RTrfGNsujet :
PH( GN, SGV( GV ) ) / PH : K=PHRASE ;
GN : ( ( (K=GN) | (K=GNPREP) ) & (FN=SUJET) ) ;
SGV : ULT=’SGV’ ;
GV : K=GV
=>
PH( SGV( GN, GV ) ).
--> GTransfertStructurel.
Fichier gramt.c
3/13
15/06/17 à 01:06
/*
La grammaire suivante repose sur la lecture dans le dictionnaire de traduction, de variables d’étiquettes
liées à la construction de certaines phrases ou à la modification de certains verbes ou autres termes de la
phrase.
Pour l’instant, une seule modification a été vue dans les exemples : la modification de toute une phrase
par la transformation d’un complément du nom en verbe.
*/
&GRAM : GTransfertStructurel(I).
/*
A revoir pour intégrer les subordonnées des phrases.
*/
/*
Les adjectifs comme fatigué dans « je suis fatigué » se traduisent en verbes d’état en tahitien, par ex
rohirohi.
De même, les lexèmes complexes comme « avoir faim » se traduisent en verbes d’état, par ex po’ia
Dans ce cas, il faut créer les aspects après avoir chargé les types des verbes en tahitien, i.e. après le
transfert structurel, donc dans la génération syntaxique.
*/
/*
On réécrit entièrement la phrase en supposant dans un premier temps que l'adjectif à transformer en
verbe, fait partie du Groupe Nominal SUJET.
*/
RTrtSubstAdj:
SGV( GN(%1, *, ADJ, %2,* ), GV1(VB1) ) /
SGV: (ULT=’SGV’);
GN: (K=GN);
ADJ: (SUBSTADJ = OUI);
GV1 : (K=GV) ;
VB1: (CAT=V)
=>
NGV( GN(%1,%2, PHREL(QUI,GV1(VB1),*1<GV1,>*)),GV(VB))) /
NGV:;
GNR:GN;
PHREL: (ULT='*PHREL');
GV: (ULT='*GV'; K=GV);
QUI: (ULT='i');
VB: ( CAT=V; ULT = ULT(ADJ) ) / TEMP(GV)=TEMP(GV1).
--> GCréationAspects.
Fichier gramt.c
4/13
15/06/17 à 01:06
&GRAM : GCréationAspects (I).
/*
Suite de la Génération Syntaxique.
Les règles ci-dessous permettent de générer un aspect de la langue tahitienne en fonction du temps
utilisé en français mais aussi de la présence de compléments circonstanciels de temps et de certains
éléments de ces compléments circonstanciels. Le GV contient deux variables PVT – Particule Verbale
Tahitienne – et ASPECT qui contiendront les valeurs voulues.
*/
/*
La traduction du Passé Composé en tahitien se fait tout le temps par l’aspect du perfectif quel que soit le
type du verbe – Etat ou Action : la particule verbale sera alors UA et l’aspect PERF, quelque soit la
référence, passée, présente ou future.
*/
RPasséComposé :
GV( vb ) / GV : ( (K=GV) & (ASPECT=0) ); vb : ( (CAT=V) & (TEMPS=PASCOMP) )
=>
GV( vb ) / GV : GV ( ASPECT=PERF ; PVT=UA).
/*
Le Futur Antérierur se traduit de la même manière par le Perfectif et la particule verbale sera à UAIA,
quel que soit le type du verbe.
*/
RFuturAntérieur :
GV( vb ) / GV : ( (K=GV) & (ASPECT=0) ); vb : ( (CAT=V) & (TEMPS=FUTANT) )
=>
GV( vb ) / GV : GV ( ASPECT=PERF ; PVT=UAIA).
/*
L’imparfait se traduit généralement par l’aspect du duratif passé.
*/
RImparfait :
GV( vb ) / GV : ( (K=GV) & (ASPECT=0) ); vb : ( (CAT=V) & (TYPVB=ACTION) & (TEMPS=IMP) )
=>
GV( vb ) / GV : GV (TYPVB=ACTION ASPECT=DURATIF ; PVT=TERA).
/*
Voyons le cas du Futur Simple de l’Indicatif pour un verbe d’action :
1. Pronom personnel (tu, nous, vous) + vb au futur + adverbe bien -> On a l’aspect Optatif et PVT à E.
Signification : Impératif adouci.
2. Sujet + (être en train de …) + vb -> On a l’aspect Duratif au futur, PVT=TERA.
3. En règle générale, l’aspect sera au Futur et la PVT à E.
On a deux cas pour un verbe d’état :
4. soit l’aspect sera le Perfectif et la PVT à UAIA.
5. soit on a l’aspect au futur et la PVT à E. C’est le cas général.
Ces deux derniers cas pour le type état d’un verbe ne sont pas faciles à différencier sauf qu’on a un CCT
(complément circonstancicel de temps) marquant une référence temporelle qui transportera alors l’aspect
Perfectif. Par exemple, la préposition depuis dans un CCT.
Dans le cas général pour un verbe d’état, on met l’aspect au futur et PVT à E.
*/
Fichier gramt.c
5/13
15/06/17 à 01:06
R1FuturSimple :
0( GV( vb, GADV( adv ) ), GN ) /
GN: ( ((K=GN) | (K=GNPREP)) & (FN=SUJET) & (PRONOMPERSONNEL) );
GV : ( (K=GV) & (ASPECT=0) );
vb: ( (CAT=V) & (TYPVB=ACTION) & (TEMPS=FUT);
ADV: (UL=’bien’)
=>
0( GV( vb, GN ) /
GV: GV( ASPECT=OPTATIF; PVT=E; TYPVB=ACTION).
R2FuturSimple :
GV( vb , ENTRAINDE ) / GV : ( (K=GV) & (ASPECT=0) );
vb: ( (CAT=V) & (TYPVB=ACTION) & (TEMPS=FUT);
ENTRAINDE: (UL=’en_train_de’)
=>
GV( vb , ENTRAINDE) / GV: GV(ASPECT=DURATIF; PVT=TERA).
R3FuturSimple :
GV( vb ) / GV : ( (K=GV) & (ASPECT=0) );
vb: ( (CAT=V) & (TYPVB=ACTION) & (TEMPS=FUT)
=>
GV( vb ) / GV: GV(ASPECT=FUTUR; PVT=E).
R4FuturSimple :
0( CCT(M)-1( GV( vb ) ) ) / 0: (K=PHRASE);
CCT: ( ( (K=GN) | (K=GNPREP) ) & (FN=CCT);
M: ( ASPECT=PERFECTIF );
GV : ( (K=GV) & (ASPECT=0) );
vb: ( (CAT=V) & (TYPVB=ACTION) & (TEMPS=FUT) )
=>
0( CCT(M)-1( GV( vb ) ) ) / GV: GV(ASPECT= PERF; PVT=E).
R5FuturSimple :
GV( vb ) / GV : ( (K=GV) & (ASPECT=0) );
vb: ( (CAT=V) & (TYPVB=ETAT) & (TEMPS=FUT) )
=>
GV( vb ) / GV: GV(ASPECT=FUTUR; PVT=E).
/*
Voyons le cas du Présent de l’Indicatif.
Voici les règles données par la grammaire du Fare Vana’a pour les différents aspects du verbe en
tahitien. Voyons d’abord les règles concernant les verbes d’état.
*/
R1EtatPrésent :
0(CCT(2)-1(GV( vb ))) / 0: K=PHRASE;
CCT: ( ( (K=GN) | (K=GNPREP) )&(FN=CCT) );
2: ASPECT=PERF;
GV : ( (K=GV) & (ASPECT=0) );
vb : ( (CAT=V) & (TYPVB=ETAT) & (TEMPS=PRES)
=>
0(CCT(2)-1(GV( vb ))) / GV: GV( ASPECT=PERF; PVT=UA).
Fichier gramt.c
6/13
15/06/17 à 01:06
R2EtatPrésent :
0(CCT(2)-1(GV( vb ))) / 0: K=PHRASE;
CCT: ( ( (K=GN) | (K=GNPREP) )&(FN=CCT) );
2: ASPECT=ITERATIF;
GV : ( (K=GV) & (ASPECT=0) );
vb : ( (CAT=V) & (TYPVB=ETAT) & (TEMPS=PRES)
=>
0(CCT(2)-1(GV( vb ))) / GV: GV( ASPECT=ITERATIF; PVT=E).
R3EtatPrésent :
0( GV( vb ) ) / GV: (K=GV) & (VOIX=PASSIVE) & (ASPECT=0);
vb: ( (CAT=V) & (TYPVB=ETAT) & (TEMPS=PRES)
=>
0(GV( vb ) ) / GV: GV( ASPECT=PERF; PVT=UA).
R4EtatPrésent :
0( GV( vb ) ) / GV: (K=GV) & (ASPECT=0);
vb: ( (CAT=V) & (TYPVB=ETAT) & (TEMPS=PRES)
=>
0(GV( vb ) ) / GV: GV( ASPECT=DURATIF; PVT=TERA).
/*
Les règles concernant les verbes d’action.
*/
R1ActionPrésent :
0(CCT(2)-1(GV( vb ))) / 0: K=PHRASE;
CCT: ( ( (K=GN) | (K=GNPREP) )&(FN=CCT) );
2: ASPECT=ITERATIF;
GV : ( (K=GV) & (ASPECT=0) );
vb : ( (CAT=V) & (TYPVB=ACTION) & (TEMPS=PRES)
=>
0(CCT(2)-1(GV( vb ))) / GV: GV( ASPECT=ITERATIF; PVT=E).
R2ActionPrésent :
0( GV( vb ) ) / GV: (K=GV) & (ASPECT=0);
vb: ( (CAT=V) & (TYPVB=PERCEPTION) & (TEMPS=PRES)
=>
0(GV( vb ) ) / GV: GV( ASPECT=DURATIF; PVT=TERA).
R4ActionPrésent :
0( GV( vb ) ) / GV: (K=GV) & (ASPECT=0);
vb: ( (CAT=V) & (TYPVB=ACTION) & (TEMPS=PRES)
=>
0(GV( vb ) ) / GV: GV( ASPECT=DURATIF; PVT=TENEI).
--> GTrfPhrases.
Fichier gramt.c
7/13
15/06/17 à 01:06
/*
La grammaire suivante lance les transformations suivant le type de phrases :
affirmatives, négatives, interrogatives et intérro-négatives. Attention : pour l’instant, seules les phrases
verbales sont prises en compte.
Mode d’application : I pour itératif. L’exécution de la grammaire s’arrête quand plus aucune règle n’est
applicable.
*/
&GRAM : GTrfPhrases (I).
/*
Les deux règles suivantes concernent les transformations des phrases de type affirmatives et
interrogatives. Il y a inversion du sujet et du verbe dans les deux cas. Dans le cas interrogatif, on ajoute
en plus un adverbe interrogatif. Quand le sujet et le verbe seront inversés, les règles ne seront plus
appliquées.
*/
RtrfAffirm :
PH(GV( GN, NV,* , %1), PT,*) /
PH : (K=PHRASE) & (TYPE=AFFIRM) ;
GV : ULT=’SGV’ ;
GN : (K=GN) & (FN=SUJET) ;
NV : K=GV ;
PT : UL=’.’
=>
PH( GV( NV, GN, %1 ).
RtrfInterro :
PH( GV( GN, NV, *, %1 ), PT,* ) /
PH : (K=PHRASE) & (TYPE=AFFIRM) ;
GN : (K=GN) & (FN=SUJET) ;
PT : UL=’ ?’
=>
PH( GV( NV, GADV(ADV), GN, %1 ), PT ) /
GADV:*FGADV(ULT='*GADV');
ADV:*FSNAV (ULT=’anei’).
/*
Les deux règles suivantes concernent les transformations des phrases de type négatives et
interronégatives. Il y un déplacement de la négation de l’interieur du groupe verbal GV avant le groupe
sujet GN. Dans le cas interrogatif, on ajoute en plus un adverbe interrogatif. La condition d’arrêt
intervient quant il n’y a plus de GADV contenant d’adverbe de négation.
*/
Fichier gramt.c
8/13
15/06/17 à 01:06
RtrfNégative :
PH( GV( GN, NV( GADV( ADV ) ) ), PT, *) /
PH : (K=PHRASE) & (TYPE=NEGATIVE) ;
GV : UL=’SGV’ ;
GN : (K=GN) & (FN=SUJET) ;
NV : K=GV ;
GDAV : (K=GADV) ;
ADV : (UL=’ne-pas’) ;
PT : UL=’.’
=>
PH( GV( GADV(ADV), GN, NV ), PT).
RtrfInterroNégative :
PH( GV( GN, NV( GADV( ADV ) ) ), PT, *) /
PH : (K=PHRASE) & (TYPE=NEGATIVE) ;
GV : UL=’SGV’ ;
GN : (K=GN) & (FN=SUJET) ;
NV : K=GV ;
GDAV : (K=GADV) ;
ADV : (UL=’ne-pas’) ;
PT : UL=’?’
=>
PH( GV( GADV(ADV), GADV2(ADVI), GN, NV ), PT) /
GADV2:*FGADV(ULT='*GADV');
ADVI:*FSNAV (ULT=’anei’).
--> GTrtAspects.
Fichier gramt.c
9/13
15/06/17 à 01:06
&GRAM: GTrtAspects(I).
/*
Seules les phrases affirmatives et interrogatives sont traitées pour l’instant.
Dans cette grammaire, les règles ajoutent les particules verbales aux verbes suivant les aspects. Suivant
certains aspects, on ajoutera soit la particule seule soit la particule plus un adverbe soit enfin, la particule
plus une préposition.
*/
/*
Les deux prochaines règles concernent les phrases affirmative et interrogatives seulement. Elles donnent
la particule verbale à utiliser pour le perfectif, i.e. la particule ‘ua. Pour la deuxième règle, il faudra
remplacer la préposition i d’introduction au COD ou COI du verbe par la préposition ïa.
*/
R1PerfectifAI :
0( 1( GV( *,2) ) ) / 0 : (K=PHRASE) ; 1 : (ULT=’SGV’) ;
GV : (K=GV) & (ASPECT=PERF) & (PVT=UA)
=>
0( 1(GV(PV,2) ) ) / 1 :1( ASPECT=PERF ; PVT=UA ) ;
GV :GV(PVT=FAIT) ; PV : (ULT=’’’ua’ ; PVT=UA).
R2PerfectifAI :
0( 1( GV( *,2) ), %3, %4 ) / 0 : (K=PHRASE) ; 1 : (ULT=’SGV’) ;
GV : (K=GV) & (ASPECT=PERF) & (PVT=UAIA);
3 : (FS=OBJT) | (FS=OBJI);
4 : (FS=OBJT) | (FS=OBJI)
=>
0( 1(GV(PV,2) ), %3, %4 ) / 1 :1( ASPECT=PERF ; PVT=UAIA ) ;
3 : (PVT=UAIA);
GV :GV(PVT=FAIT) ; PV : (ULT=’’’ua’ ; PVT=UA).
/* La règle suivante est à vérifier dans les aspects. Il est censé représenter le futur simple avec CCT d’un
verbe d’action. */
R3PerfectifAI :
0( 1( GV( *,2) ) ) / 0 : (K=PHRASE) ; 1 : (ULT=’SGV’) ;
GV : (K=GV) & (ASPECT=PERF) & (PVT=E)
=>
0( 1(GV(PV,2) ) ) / 1 :1( ASPECT=PERF ; PVT=E ) ;
GV :GV(PVT=FAIT) ; PV : (ULT=’e’ ; PVT=E).
Fichier gramt.c
10/13
15/06/17 à 01:06
R1DuratifAI :
0( 1( GV(*,2, %3,*) ) ) / 0 : (K=PHRASE) ; 1 : (ULT=’SGV’) ;
GV : (K=GV) & (ASPECT=DURATIF) & (PVT=TERA)
=>
0( 1( GV(PV,2, %3,(GADV( AD ) ) ) ) / 1 :1( ASPECT= DURATIF; PVT=TERA ) ;
GV :GV(PVT=FAIT) ; PV : (ULT=’te’ ; PVT=TE) ;
GADV:*FGADV(ULT='*GADV');
ADV:*FSNAV ( ULT=’ra’ ).
R2DuratifAI :
0( 1( GV(*,2, %3,*) ) ) / 0 : (K=PHRASE) ; 1 : (ULT=’SGV’) ;
GV : (K=GV) & (ASPECT=DURATIF) & (PVT=TENEI)
=>
0( 1( GV(PV,2, %3,(GADV( AD ) ) ) ) / 1 :1( ASPECT= DURATIF; PVT=TENEI) ;
GV :GV(PVT=FAIT) ; PV : (ULT=’te’ ; PVT=TE) ;
GADV:*FGADV(ULT='*GADV');
ADV:*FSNAV ( ULT=’nei’ ).
R1FuturAI :
0( 1( GV( *,2) ) ) / 0 : (K=PHRASE) ; 1 : (ULT=’SGV’) ;
GV : (K=GV) & (ASPECT=FUTUR) & (PVT=E)
=>
0( 1(GV(PV,2) ) ) / 1 :1( ASPECT=FUTUR; PVT=E ) ;
GV :GV(PVT=FAIT) ; PV : (ULT=’e’ ; PVT=E).
R1ItératifAI :
0( 1( GV( *,2) ) ) / 0 : (K=PHRASE) ; 1 : (ULT=’SGV’) ;
GV : (K=GV) & (ASPECT=ITERATIF) & (PVT=E)
=>
0( 1(GV(PV,2) ) ) / 1 :1( ASPECT=ITERATIF; PVT=E ) ;
GV :GV(PVT=FAIT) ; PV : (ULT=’e’ ; PVT=E).
R1OptatifAI :
0( 1( GV( *,2) ) ) / 0 : (K=PHRASE) ; 1 : (ULT=’SGV’) ;
GV : (K=GV) & (ASPECT=OPTATIF) & (PVT=E)
=>
0( 1(GV(PV,2) ) ) / 1 :1( ASPECT=OPTATIF; PVT=E ) ;
GV :GV(PVT=FAIT) ; PV : (ULT=’e’ ; PVT=E).
--> GTrtGNs.
Fichier gramt.c
11/13
15/06/17 à 01:06
&GRAM : GTrtGNs(I).
/* Règles sur les Complément d’Objets Directs ou Indirects d’un verbe. */
/* Ajout de la préposition "i" dans chaque GN d'un gros COD ou COI avec Coordination sauf s'il y a
"ho'e". */
R1TrtCOs:
GN(GN1(*,QQ)) / GN:( (K=GN) & ((FS=OBJT)|(FS=OBJI)) & (COORDIN=C) );
GN1: ( (K=GN) & (COORDIN=P) );
QQ:( (ULT^='i') & (ULT^='ho''e') )
=>
GN(GN1(I,QQ)) / I: (ULT='i').
/* Ajout de la préposition "i" dans un GN, COD ou COI sauf s'il y a "ho'e".
*/
R2TrtCOs:
GN(*,QQ) / GN:( ((K=GN)|(K=GNPREP)) & ((FS=OBJT)|(FS=OBJI)) & (CAT^=REP) & (COORDIN= 0) );
QQ:( (ULT^='i') & (ULT^='ho''e') )
=>
GN(I,QQ) / I: (ULT='i').
/*
Règle concernant les Complément Circonstanciels : d’une manière générale, on ajoute la préposition "i"
dans un GNPREP, complément circonstanciel.
*/
RTrtCompCirc:
GN(*,QQ) / GN:( ( (K=GNPREP) | (K=GN) ) & (FS=COMPCIR) );
QQ:( (ULT^='i') & (CAT=PREP) )
=>
GN(NEW, QQ) / NEW :(ULT='i').
/* Le traitement de la substantivation des verbes utilisés comme nom avec préfixe. */
RTrtSubstVb:
GN(NM) / GN:( (K = GN) | (K = GNPREP) ) ; NM:( (CAT = N) & (SUBST=O) & (TRAITES=OUI))
=>
GN(NM) / NM: NM( TRAITES=NON; SUBST=N ; ULT= %(ULT)<-ULTS(*) ).
/*
Ajout de la particule MAU signifiant le pluriel.
*/
R1TrtPluriel:
GN(ART,*,NM) / GN:( (K = GN) | (K = GNPREP) ) ; ART: (CAT=DETERM) ; NM:( (CAT = N) & (NUM =
PLU) )
=>
GN(ART,PART,NM) / PART: (ULT='mau').
/*
Traitement du pluriel effectue après le chargement a partir du dico DICTTRTAHIT d'un mot au singulier
transformé en mot au pluriel.
*/
R2TrtPlur2:
GN(ART,*,NM) / GN: (K = GN); ART: (CAT=DETERM); NM: ( (CAT = N) & (NUMT = PLU) )
=>
GN(ART,PART,NM) / PART: (ULT='mau').
Fichier gramt.c
12/13
15/06/17 à 01:06
/*
L’inversion des adjectifs dans le groupe nominal intervient quand l’adjectif vient avant le nom. La
décomposition du groupe nominal est ici Nom + Adjectif.
*/
RInversionAdj:
GN(ADJ,NM) / GN: K = GN; ADJ: CAT = ADJOINT; NM: CAT = N
=>
X(*GN<,ADJ>*,NM,*GN<ADJ,NM>*,ADJ,*GN<NM,>*) / X:GN.
RDdAdj:
GN(*,GN1(Q1,*),*,CONJ,*,GN2(Q2,*),*,GA,*) / GN1: K = GN;
CONJ: CAT=CONJCT;
GN2: K=GN;
GA: K=GA
=>
GN(GN1(Q1,GA),CONJ,GN2(Q2,GA2(*GA*))) / GA2:GA.
/* Dédoublement du nom en cas de besoin: PARTIE='MULT2'. */
RDdNom:
GN(1(*),*,%2) / GN: ( (K = GN) | (K = GNPREP) ) ; 1: ( (CAT=N) & (PARTIE='MULT2') )
=>
GN(1, GA( ADJ ), %2) / 1:1 ( PARTIE='MULT2';ULT= ULT(DICT(*)); PARTIE=0 );
GA:*FGA(ULT='*GA');
ADJ:*FSNAD ( PARTIE='MULT2' ; ULT=ULT(DICT(1,2))).
/* Suppression de 'o' hérité de la traduction NON-A-PROPOS de la préposition 'DE' en français. */
RSupprimOGN:
GNP( 1 ) / GNP: ( (K=GNPREP) & ( (FS=OBJT) | (FS=OBJI) ) ); 1: ( ULT='o')
=>
GNP .
--> GTrtGVs.
&GRAM: Trt_GVs(I).
/* A REVOIR : Traitement de la Négation avec 'ne-pas' pas tout seul dans le GADV.
RTrtNega2:
PH(GN,*,GV(*,DEB_NEG,%GADV(%FIN_NEG))) /
PH: (K=PHRASE); GV : (K=GV);
DEB_NEG:( (K=GADV) & (SEM=NEGAT) );
FIN_NEG: (UL='ne-pas')
=>
PH(DEB_NEG(FIN_NEG),GN,GV).
*/
/* Traitement du préfixe dans le verbe. */
RPrefix(Trt_Prefix;0):
0(1,*,%2)/ 0: K=GV; 1: (CAT=V) & (PREFIX^=0)
=>
0(1,GADV(PREF),%2) / GADV:*FGADV; PREF:*FSNAV( ULT='PREFIX').
/* Division du verbe en verbe plus adverbe en cas de besoin: PARTIE='MULT2'. */
Fichier gramt.c
13/13
15/06/17 à 01:06
RDdVb:
0(1,*,%2) / 0: K=GV; 1: ( (CAT=V) & (PARTIE='MULT2') )
=>
0(1,GADV(ADV),%2) / 1:1 ( PARTIE='MULT2';ULT= ULT(DICT(*)); PARTIE=0 );
GADV:*FGADV(ULT='*GADV');
ADV:*FSNAV ( PARTIE='MULT2' ; ULT=ULT(DICT(1,2))).
/* Transformation d’un nom en adverbe dans le GADV. */
RTrtNomAdv:
0(1,*,2(*,3,*,4)) / 0: (K=GV); 1: (CAT=V); 2: (K=GN); 3: ( (CAT=DETERM) & (SOUSD=ARTD) ); 4: (
(CAT=N) & (TRANS=NOMADV) )
=>
X(*0<,2>*,GADV(ADV)) / X:0; GADV:*FGADV(ULT='*GADV'); ADV:*FSNAV(ULT=ULT(4)).
--> GFin.
&GRAM: Trt_Prefix(U).
/* Traitement du préfixe RE- en lui remplaçant l'adverbe 'faahou' (encore). */
RTrtPrefixRE :
0(1,*,3(2)) / 0: K=GV; 1: PREFIX=RE; 2: ULT='PREFIX'
=>
0(1,3(2)) / 2:2(UL='encore';ULT=ULT(DICT(*))); 1:1(PREFIX=0).
--> %STOP.
&GRAM : GFin.
--> %STOP.
&FIN.
Téléchargement