Subversion Repositories wimsdev

Rev

Rev 7692 | Details | Compare with Previous | Last modification | View Log | RSS feed

Rev Author Line No. Line
20 reyssat 1
!if $wims_read_parm!=slib_header
13585 bpr 2
  !goto proc
20 reyssat 3
!endif
4158 bpr 4
 
4349 bpr 5
slib_author=Gang, XIAO ;Bernadette,Perrin-Riou
20 reyssat 6
slib_example= mordre
7
!exit
8
 
9
:proc
3027 bpr 10
slib_pr=!word 1 of $wims_read_parm
11
!if $slib_pr=se
12
  slib_type=pr1
13
  slib_inf=!word 2 of $wims_read_parm
14
!else
15
  slib_inf=!word 1 of $wims_read_parm
16
  !if  __s' isin __$slib_inf
17
    slib_inf=!replace internal __s' by in __$slib_inf
18
    slib_type=pr2
19
  !endif
20
!endif
21
 
20 reyssat 22
slib_out=
23
!if $slib_inf=$empty
13585 bpr 24
  !exit
20 reyssat 25
!endif
26
 
27
slib_i=!text reverse $slib_inf
28
slib_t=!char 1 of $slib_i
29
slib_n=!charcnt $slib_i
30
slib_i=!text expand $slib_i using 10
31
slib_i=$slib_t$slib_i
32
dictionary=bases/dic/fr/conj
33
slib_t=!exec translator $slib_i aa
34
!if | notin $slib_t
13585 bpr 35
  !exit
20 reyssat 36
!endif
37
slib_t=!translate internal | to $\
38
$ in $slib_t
39
slib_t=!line 1 of $slib_t
40
slib_t=!nospace $slib_t
41
slib_t=!translate internal ; to $\
42
$ in $slib_t
43
!distribute lines $slib_t into slib_1,slib_2,slib_3,slib_4,slib_5,slib_6,slib_7,slib_8,slib_9,slib_10
44
slib_m=!charcnt $slib_1
45
slib_r=!char 1 to $slib_n-$slib_m of $slib_inf
46
!if , notin $slib_5
13585 bpr 47
  !distribute item $slib_5 into slib_5a,slib_5b,slib_5c
48
  !default slib_5a=!item 2 of $slib_2
49
  !default slib_5b=!item 4 of $slib_2
50
  !default slib_5c=!item 5 of $slib_2
51
  slib_5=$slib_5a,$slib_5b,$slib_5c
20 reyssat 52
!endif
53
!for slib_k=2 to 10
13585 bpr 54
  slib_$slib_k=!replace internal , by ,$slib_r in $slib_r$(slib_$slib_k)
20 reyssat 55
!next slib_k
3027 bpr 56
 
20 reyssat 57
slib_s3=ais,ais,ait,ions,iez,aient
58
slib_s4=rai,ras,ra,rons,rez,ront
59
slib_s5=rais,rais,rait,rions,riez,raient
60
slib_s7=e,es,e,ions,iez,ent
61
slib_s8=sse,sses,t,ssions,ssiez,ssent
62
!if , notin $slib_4
63
 slib_4b=!replace internal , by ,$slib_4 in $slib_4$slib_s5
64
!endif
65
!for slib_k in 3,4,7
13585 bpr 66
  !if , notin $(slib_$slib_k)
67
    slib_$slib_k=!replace internal , by ,$(slib_$slib_k) in $(slib_$slib_k)$(slib_s$slib_k)
68
  !endif
20 reyssat 69
!next slib_k
70
!if , notin $slib_6
13585 bpr 71
  slib_c=!char -1 of $slib_6
72
  slib_c=!translate internal aieou to âîêôû in $slib_c
73
  slib_c=!replace char number -1 by $slib_c in $slib_6
74
  slib_6=$(slib_6)s,$(slib_6)s,$(slib_6)t,$(slib_c)mes,$(slib_c)tes,$(slib_6)rent
20 reyssat 75
!endif
76
!if , notin $slib_8
13585 bpr 77
  slib_c=!char -1 of $slib_8
78
  slib_c=!translate internal aieou to âîêôû in $slib_c
79
  slib_c=!replace char number -1 by $slib_c in $slib_8
80
  slib_8=$(slib_8)sse,$(slib_8)sses,$(slib_c)t,$(slib_8)ssions,$(slib_8)ssiez,$(slib_8)ssent
20 reyssat 81
!endif
82
!if , notin $slib_9
13585 bpr 83
  slib_c=!char -1 of $slib_9
84
  !if $slib_c notin s
85
    slib_9=$slib_9,$(slib_9)e,$(slib_9)s,$(slib_9)es
86
  !else
87
    slib_9=$slib_9,$(slib_9)e,$slib_9,$(slib_9)es
88
  !endif
20 reyssat 89
!endif
90
 
91
slib_out=$slib_2\
92
$slib_3\
93
$slib_4\
94
$slib_4b\
95
$slib_5\
96
$slib_6\
97
$slib_7\
98
$slib_8\
99
$slib_9\
100
$slib_10
101
 
102
!if $slib_1=er
13585 bpr 103
  slib_c1=!char -1 of $slib_r
104
  slib_c2=!char -2 of $slib_r
105
  slib_c3=!char -3 of $slib_r
106
  slib_c4=!char -2,-1 of $slib_r
107
  !if $slib_c3 isin eé and $slib_c4 iswordof br ch cr gl gn gr gu qu tr vr
108
    slib_ra=!replace char number -3 by è in $slib_r
109
    slib_c2=$slib_c3
110
    !goto repl
20 reyssat 111
  !endif
13585 bpr 112
  !if ($slib_c2 isin eé and $slib_c1 isin bcdfghjklmnpqrstvwxz) or \
113
    ($slib_c2=é and $slib_c1=y)
114
    slib_ra=!replace char number -2 by è in $slib_r
115
    :repl
116
    slib_out=!replace internal $(slib_r)e, by $(slib_ra)e, in $slib_out
117
    slib_out=!replace internal $(slib_r)en by $(slib_ra)en in $slib_out
118
    slib_out=!replace internal $(slib_r)es by $(slib_ra)es in $slib_out
119
    !if $slib_c2=e and ($slib_c1 isin lmnstv or $slib_c4=vr)
120
      slib_out=!replace internal $(slib_r)er by $(slib_ra)er in $slib_out
121
    !endif
122
  !endif
123
  !if $slib_c1=c
124
    slib_ra=!replace char number -1 by ç in $slib_r
125
    !for slib_c in a,o,â
126
      slib_out=!replace internal $(slib_r)$slib_c by $(slib_ra)$slib_c in $slib_out
127
    !next slib_c
128
  !endif
129
  !if $slib_c1=g
130
    slib_ra=$(slib_r)e
131
    !for slib_c in a,o,â
132
      slib_out=!replace internal $(slib_r)$slib_c by $(slib_ra)$slib_c in $slib_out
133
    !next slib_c
134
  !endif
20 reyssat 135
!endif
136
 
3027 bpr 137
!if pr isin $slib_type
138
  !if $slib_type=pr1
139
    slib_pref=me,te,se,nous,vous,se
140
  !else
141
    slib_pref=m',t',s',nous $ $ $,vous $ $ $ $,s'
142
  !endif
143
  !for slib_k in 1,2, 3, 4, 6, 7, 8
13585 bpr 144
    slib_pre=!line $slib_k of $slib_out
145
    slib_pre1=
146
    !for slib_j_=1 to 6
147
      slib_prefi=!item $(slib_j_) of $slib_pref
148
      !if $slib_j_ iswordof 4 5 or $slib_type=pr1
149
        slib_sep=$ $
150
      !else
151
        slib_sep=
152
      !endif
153
      slib_pre1=!append item $slib_prefi$slib_sep$(slib_pre[$slib_j_]) to $(slib_pre1)
154
      slib_out=!replace line number $slib_k by $(slib_pre1) in $slib_out
155
    !next
3027 bpr 156
  !next
13585 bpr 157
  !!imperatif
3027 bpr 158
  slib_pre=!line 5 of $slib_out
13585 bpr 159
  slib_pre1=
160
  slib_pref=-toi,-nous,-vous
161
  !for slib_j_=1 to 3
3027 bpr 162
    slib_pre1=!append item $(slib_pre[$slib_j_])$(slib_pref[$slib_j_]) to $(slib_pre1)
163
    slib_out=!replace line number 5 by $(slib_pre1) in $slib_out
13585 bpr 164
  !next
165
  !!participe present
3027 bpr 166
  slib_pre=!line 10 of $slib_out
167
  !if $slib_type=pr1
168
    slib_pre1=se $slib_pre
169
  !else
170
    slib_pre1=s'$slib_pre
171
  !endif
13585 bpr 172
  slib_out=!replace line number 10 by $(slib_pre1) in $slib_out
3027 bpr 173
!endif