-
Notifications
You must be signed in to change notification settings - Fork 9
/
Copy pathlexicon-fr.jsonrnc
27 lines (24 loc) · 1.21 KB
/
lexicon-fr.jsonrnc
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
## validation of French lexicon entries
## to be called as :
## .../ValidateJsonRnc.py --slurp lexicon-fr.jsonrnc lexicon-fr.json
## there are quite a few very special cases for French pronouns and determiners
## the generated lexicon-fr.jsonrnc.json can be used for validation with VS Code
start = {*:lexInfo}
lexInfo={N?: {tab:/n(I|\d{1,3}a?)/, g?:gender, h?:one, niveau?:niv },
A?: {tab:/[an](I|\d{1,3}a?)/, h?:one, pos?:/pre|post/,niveau?:niv},
Pro?:{tab:/pn\d{1,2}(-[123][sp]?[mfn]?)?|n27|n28|n75|n76|d[1345]|nI/,
g?:gender, n?:num, pe?:oneTwoThree, niveau?:niv},
V?: {tab:/v\d{1,3}/, aux?:/av|êt|aê/, h?:one, pat?:[/tdir|tind|intr|réfl|impe/], niveau?:niv},
D?: {tab:/d\d{1,2}(-\d)?|n(I|23|25|27|28|48|75|76)/, n?:num, value?:number, niveau?:niv},
Adv?:{tab:/av|b\d/,h?:one, niveau?:niv},
P?: {tab:/ppe?/,h?:one, niveau?:niv},
C?: {tab:/cj|cje|cji/, niveau?:niv},
Q?: {tab:/av/},
Pc?: {tab:[/pc\d{1,2}/], compl?:string},
value?:number
}@(minProperties=1)
one = number@(minimum=1, maximum=1)
oneTwoThree = number@(minimum=1, maximum=3)
niv = number@(minimum=1,maximum=6)
gender = /m|f|x/
num = /s|p/