Fichier gramt.c 1/8 16/04/17 à 21:04
/* 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 ).
--> RelaisA.
/* Grammaire de relais, début de la grammaire de Génération Syntaxique. */
&GRAM: RelaisA.
--> GTrfCObjet.
/*
La grammaire GTrfCObjet s’occupe de remonter les Compléments d’objets du verbe qui sont dans le
groupe verbal à droite du même groupe verbal. Elle représente le début de la Génération Syntaxique.
--
L’ordre de placement des règles n’est pas innocent. D’abord, le traitement de la subordonnée infinitive
permet de pouvoir mettre les éventuels COD/I avant la subordonnée et après le verbe. Ensuite, les GN
non pronoms personnels seront placés entre les subordonnées infinitives et le verbe. Enfin, les pronoms
personnels sont situés entre le nouveau GV et les autres COD/I.
*/
&GRAM : GTrfCObjet(I).
/* Traitement de la subordonnée infinitive, elle est considérée comme COD du verbe. */
RTrfPHINF1:
Fichier gramt.c 2/8 16/04/17 à 21:04
0( GV( PHINF ),*,%3 ) / 0 : K=PHRASE ;
GV: K=GV;
PHINF: KPH=PHINF
=>
0( GV, PHINF, %3 ).
/* Règle de traitement des groupes nominaux GN ou GNPREP qui sont COD ou COI. */
RTrfCO1 :
PH( GV( GN,* ), *, %1 ) / PH : K=PHRASE ;
GV : K=GV ;
GN : ( ( (K=GN) | (K=GNPREP) ) & ( (FS=OBJT) | (FS=OBJI) ) )
=>
PH( GV, GN, %1).
/* Règle de traitement des groupes nominaux qui sont des pronoms personnels placés avant le verbe. */
RTrfCO2 :
PH( GV( *, GN ), *, %1 ) / PH : K=PHRASE ;
GV : K=GV ;
GN : ( ( (K=GN) | (K=GNPREP) ) & ( (FS=OBJT) | (FS=OBJI) ) )
=>
PH( GV, GN, %1).
--> GTransfertStructurel.
/*
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. */
--> GTrfPhrases.
/*
La grammaire suivante lance les transformations suivant le type de phrases :
affirmatives, négatives, interrogatives et intérroné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 gle n’est
applicable.
Elle représente la suite de la Génération Syntaxique.
*/
&GRAM : GTrfPhrases (I).
/*
Les deux règles suivantes concernent les transformations des phrases de type affirmatives et
Fichier gramt.c 3/8 16/04/17 à 21:04
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( GN, *, GV, *, %1, PT,* ) / PH : (K=PHRASE) & (TYPE=AFFIRM) ;
GN : (K=GN) & (FN=SUJET) ;
PT : UL=’.’
=>
PH( GV, GN, %1, PT).
RtrfInterro :
PH( GN, *, GV, *, %1, PT,* ) / PH : (K=PHRASE) & (TYPE=AFFIRM) ;
GN : (K=GN) & (FN=SUJET) ;
PT : UL=’ ?’
=>
PH( GV, GADV(ADV), GN, %1, PT) /
GDAV : (K=GADV) ;
ADV : (SOUSA=ADVERB) & (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.
*/
RtrfNégative :
PH( %1, *, GN, *, GV( GADV( ADV ), PT, *) /
PH : (K=PHRASE) & (TYPE=NEGATIVE) ;
GN : (K=GN) & (FN=SUJET) ;
GDAV : (K=GADV) ;
ADV : (UL=’ne-pas’) ;
PT : UL=’.’
=>
PH( %1, GADV(ADV), GN, GV, PT).
RtrfInterroNégative :
PH( %1, *, GN, *, GV( GADV( ADV ), PT, *) /
PH : (K=PHRASE) & (TYPE=NEGATIVE) ;
GN : (K=GN) & (FN=SUJET) ;
GDAV : (K=GADV) ;
ADV : (UL=’ne-pas’) ;
PT : UL=’?’
=>
PH( %1, GADV(ADV), GADV2(ADVI),GN, GV, PT) /
GDAV : (K=GADV) ;
ADV : (SOUSA=ADVERB) & (ULT=’anei’).
/* A revoir */
/* Lancement de la grammaire de Substantivation d'Adjectif si SUBSTADJ=OUI. */
Fichier gramt.c 4/8 16/04/17 à 21:04
RSubstAdj(@Trt_SubstAdj; 2):
2(0?(1)) / 0: (K=PHRASE); 1: (SUBSTADJ = OUI)
=>
2(0(1)).
--> Trt_CCirc: 0 / 0: (FS = COMPCIR).
--> Trt_Sub_Inf: 0 / 0: (FS = OBJT) | (FS=OBJI).
--> Relais1.
/* Grammaire de Substantivation de l'Adjectif. */
&GRAM: Trt_SubstAdj.
/*
On refabrique entièrement la phrase en supposant dans un premier temps que l'adjectif à substantiver fait
partie du Groupe Nominal SUJET.
*/
RTrtSubstAdj:
0(1(GN(*,ADJ),*,GV1(VB1))) / 1: (K=PHRASE);
GN: (K=GN);
ADJ: (SUBSTADJ = OUI);
VB1: (CAT=V)
=>
0(X(GNR(*GN<ADJ,>*,PHREL(QUI,GV1(VB1),*1<GV1,>*)),GV(VB))) /
X:1;
GNR:GN;
PHREL: (ULT='*PHREL');
GV: (ULT='*GV'; K=GV);
QUI: (ULT='i');
VB: ( CAT=V; ULT = ULT(ADJ) ) / TEMP(GV)=TEMP(GV1).
--> %STOP.
&GRAM: Trt_CCirc(I).
/*
Ajout de la preposition "i" dans un GNPREP, complement circonstanciel.
*/
R1TrtCompCirc:
GN(*,QQ) / GN:( (K=GNPREP) & (FS=COMPCIR) );
QQ:( (ULT^='i') & (CAT=PREP) & (TPREP^=SUR) )
=>
GN(QQ) / QQ:(ULT='i').
/*
Ajout de la preposition "i" dans un GN, complement circonstanciel.
*/
R2TrtCompCirc:
GN(*,QQ) / GN:( (K=GN) & (FS=COMPCIR) ); QQ: (ULT^='i')
=>
GN(I,QQ) / I: (ULT='i').
Fichier gramt.c 5/8 16/04/17 à 21:04
/*
Ajout de la preposition "i" dans un GNPREP, complement circonstanciel.
*/
R3TrtCompCirc:
GN(*,QQ) / GN:( (K=GNPREP) & (FS=COMPCIR) );
QQ:( (ULT^='i') & (CAT=PREP) & (TPREP=SUR) )
=>
GN(NEW,QQ) / NEW:( ULT='i').
--> Trt_Sub_Inf: 0 / 0: ( KPH=PHINF).
--> Relais1.
&GRAM:Trt_Sub_Inf(U(10)).
/* Traitement de la preposition 'de' introduisant une subordonnee infinitive. */
RTrtDeInf:
0(1) / 0: (KPH=PHINF) ; 1: (TPREP=DE)
=>
0(1) / 1:1 (ULT='e').
/* Traitement interne du PHINF dans le cas d'un verbe de decision. */
RPhinf2:
PHINF(*,GV) / GV: K=GV; PHINF: KPH=PHINF
=>
PHINF(I,TE,GV) / I:(ULT='i'); TE: (ULT='te').
--> Trt_CObjet.
&GRAM: Trt_CObjet(I).
/* Traitement du pronom personnel COI place avant le verbe ainsi que des GN, complement d'objet
direct et indirect. */
RCODI1:
PH(GV(*,%GN1,GN2,*),*,PT) / PH: K=PHRASE; GV: K=GV;
GN1: (K=GN)&(FS=OBJI);
GN2: ((K=GN) | (K=GNPREP)) & ((FS=OBJT)|(FS=OBJI))
=>
PH(GV,%GN1,GN2,PT).
/* Traitement du pronom personnel COI place avant le verbe dans le cas d'un seul pronom personnel. */
RCODI2:
PH(GV(*,GN),*,PT) / PH: K=PHRASE; GV: K=GV;
GN: (K=GN)&( (FS=OBJI)|(FS=OBJT) );
GN$: ( (FS^=OBJT)&(FS^=OBJI) )
=>
PH(GV,GN,PT).
/* Ajout de la preposition "i" dans chaque GN d'un gros COD ou COI avec Coordination sauf s'il y a
"ho'e". */
1 / 8 100%
La catégorie de ce document est-elle correcte?
Merci pour votre participation!

Faire une suggestion

Avez-vous trouvé des erreurs dans linterface ou les textes ? Ou savez-vous comment améliorer linterface utilisateur de StudyLib ? Nhésitez pas à envoyer vos suggestions. Cest très important pour nous !