Blame view

tests/analyzer/test_digits_roman/segmentation.dat 2.27 KB
Michał Lenart authored
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
[options]
aggl=strict permissive isolated
praet=split composite

[combinations]
#define wsz_interp (interp|kropka|przecinek|dywiz)*

#define moze_interp(segmenty) wsz_interp segmenty wsz_interp

# Segmenty występujące samodzielnie:
#
# domyślny typ segmentu samodzielnego:
moze_interp(samodz)

# Pojedyncze znaki interpunkcyjne
moze_interp(interp|kropka|przecinek|dywiz)

# Liczba zapisana jako ciąg cyfr:
moze_interp( dig>* dig )

### LICZBY RZYMSKIE - reguły - START

#define	one_to_three(rdig)	(rdig>{0,2} rdig)
Michał Lenart authored
25
26
27
#define rzymskie1	( (romandigI> romandigX) | romandigV | (romandigV> one_to_three(romandigI)) | (romandigI> romandigV) | one_to_three(romandigI) )
#define rzymskie10	( (romandigX> romandigC) | romandigL | (romandigL> one_to_three(romandigX)) | (romandigX> romandigL) | one_to_three(romandigX) )
#define rzymskie100	( (romandigC> romandigM) | romandigD | (romandigD> one_to_three(romandigC)) | (romandigC> romandigD) | one_to_three(romandigC) )
Michał Lenart authored
28
#define rzymskie1000	( one_to_three(romandigM) )
Michał Lenart authored
29
30
31
32
33
34
35
36
37
38

#define rzymskie1_shift	( (romandigI> romandigX>) | (romandigV> romandigI>{0,3}) | (romandigI> romandigV>) | romandigI>{1,3} )
#define rzymskie10_shift	( (romandigX> romandigC>) | (romandigL> romandigX>{0,3}) | (romandigX> romandigL>) | romandigX>{1,3} )
#define rzymskie100_shift	( (romandigC> romandigM>) | (romandigD> romandigC>{0,3}) | (romandigC> romandigD>) | romandigC>{1,3} )
#define rzymskie1000_shift	( romandigM>{1,3} )

#define liczba_rzymska  ((rzymskie1000_shift? rzymskie100_shift? rzymskie10_shift? rzymskie1) | (rzymskie1000_shift? rzymskie100_shift? rzymskie10) | (rzymskie1000_shift? rzymskie100) | rzymskie1000)


# Liczby rzymskie
Michał Lenart authored
39
moze_interp(liczba_rzymska)
Michał Lenart authored
40
41
42
43
44
45
46
47
48

### LICZBY RZYMSKIE - reguły - KONIEC

[segment types]
interp
kropka
przecinek
dywiz
dig
Michał Lenart authored
49
50

### LICZBY RZYMSKIE - typy segmentów - START
Michał Lenart authored
51
52
53
54
55
56
57
romandigI
romandigV
romandigX
romandigL
romandigC
romandigD
romandigM
Michał Lenart authored
58
59
### LICZBY RZYMSKIE - typy segmentów - KONIEC
Michał Lenart authored
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
samodz

[lexemes]
kropka	.	interp
przecinek	,	interp
dywiz	-	interp

### LICZBY RZYMSKIE - Leksemy - START
romandigI	I	romandig
romandigV	V	romandig
romandigX	X	romandig
romandigL	L	romandig
romandigC	C	romandig
romandigD	D	romandig
romandigM	M	romandig
### LICZBY RZYMSKIE - Leksemy - KONIEC

[tags]
dig	dig
interp	interp
samodz	%

[separator chars]
# ,
44

# .
46

# ;
59