segmentation.dat 2.18 KB
[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

# TODO - zrobić z tego makro romandigI>{0,3}

#define	one_to_three(rdig)	(rdig>{0,2} rdig)

#define rzymskie1	( (romandigI> romandigX) | (romandigV> one_to_three(romandigI)) | (romandigI> romandigV) | one_to_three(romandigI) )
#define rzymskie10	( (romandigX> romandigC) | (romandigL> one_to_three(romandigX)) | (romandigX> romandigL) | one_to_three(romandigX) )
#define rzymskie100	( (romandigC> romandigM) | (romandigD> one_to_three(romandigC)) | (romandigC> romandigD) | one_to_three(romandigC) )

#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	( one_to_three(romandigM) )
#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
liczba_rzymska

### LICZBY RZYMSKIE - reguły - KONIEC

[segment types]
interp
kropka
przecinek
dywiz
dig
romandigI
romandigV
romandigX
romandigL
romandigC
romandigD
romandigM
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