diff --git a/share/Makefile b/share/Makefile index 03592ea..595db31 100644 --- a/share/Makefile +++ b/share/Makefile @@ -15,7 +15,15 @@ gram.dgp: gram.dgc .PHONY: install -install: +install: install-grammar install-dictionaries + +.PHONY: install-grammar +install-grammar: + install -m 0644 gram.dgp $(LANG_DIR) + install -m 0644 gram.dgc $(LANG_DIR) + +.PHONY: install-dictionaries +install-dictionaries: ifdef LANG_DIR install -d $(LANG_DIR)/pl_PL.ISO-8859-2 install -d $(LANG_DIR)/pl_PL.UTF-8 @@ -26,8 +34,6 @@ ifdef LANG_DIR install -m 0644 pl_PL.ISO-8859-2/lem.cats $(LANG_DIR)/pl_PL.ISO-8859-2 install -m 0644 pl_PL.ISO-8859-2/pl_PL.ISO-8859-2.sym $(LANG_DIR)/pl_PL.ISO-8859-2 install -m 0644 pl_PL.UTF-8/lem.bin $(LANG_DIR)/pl_PL.UTF-8 - install -m 0644 gram.dgp $(LANG_DIR) - install -m 0644 gram.dgc $(LANG_DIR) install -m 0644 weights.kor $(LANG_DIR) endif diff --git a/share/gram.dgc b/share/gram.dgc index 98fd9f9..c4866c0 100644 --- a/share/gram.dgc +++ b/share/gram.dgc @@ -1,7 +1,5 @@ # TODO! -# * DOROBIĆ WARUNEK SÄ„SIEDZTWA! -# 'nie nikt wszedÅ‚' dziaÅ‚a #==================================================================================================== @@ -11,7 +9,7 @@ #==================================================================================================== FLAG RQ -FLAG TESTFLAGGG +FLAG NEG FLAG init #==================================================================================================== @@ -20,8 +18,9 @@ FLAG init #==================================================================================================== #==================================================================================================== +class $V- = V|VM|AUX|BYC class $N- = N|NV|NPRO|NUMCRD -class $ADJ- = ADJ|ADJPRP|ADJPAP|ADJPP +class $ADJ- = ADJ|ADJPRP|ADJPAP|ADJPP|ADJPRO class $ADV- = ADV|ADVPRP|ADVANP #==================================================================================================== @@ -34,14 +33,14 @@ class $V+ = V|ADVPRP|ADVANP|ADJPRP|ADJPAP|NV #################################################################################################### -# neg +# NEG #################################################################################################### ROLE neg SGL neg LEFT neg -LINK V|BYC NEG neg +LINK V|VM|AUX|BYC|ADJPRP|ADJPAP|ADJPP NEG neg #################################################################################################### @@ -69,7 +68,8 @@ ROLE cmpl_g SGL cmpl_g GOV cmpl_g */Cg -LINK $V+ $N- cmpl_g +LINK $V+ $N-//RQ- cmpl_g +LINK $V+ $N-//RQ+ cmpl_g&INIT #==================================================================================================== # cmpl_a @@ -79,8 +79,8 @@ ROLE cmpl_a SGL cmpl_a GOV cmpl_a */Ca -LINK $V+ $N-//RQ- cmpl_a -LINK $V+ NPRO//RQ+ cmpl_a&INIT +LINK $V+ $N-//RQ-NEG- cmpl_a +LINK $V+ $N-//RQ+NEG- cmpl_a&INIT #==================================================================================================== # cmpl_d @@ -141,12 +141,13 @@ AGR aux N AGR aux G LINK BYC/VpMdTf (V/VpP3|V/Vb)/Ai aux #czas przyszly analityczny -LINK BYC/VpMc V/VpP3 aux #czas zaprzeszÅ‚y +LINK BYC/VpMc V/VpP3 aux #czas zaprzesz³y LINK BYC (ADJPAP|ADJ)/Cn aux #BYC jako lacznik w (jest bialy, jest zaszlachtowany) LINK BYC N/Ci aux #BYC jako lacznik w (jest pilotem) + #==================================================================================================== -# mod +# MOD #==================================================================================================== ROLE mod @@ -154,13 +155,16 @@ AGR mod N AGR mod C AGR mod G -LINK V $ADV- mod -LINK V ADVPRO/Zqr mod&LEFT&INIT # kiedy uÅ›nie -LINK N|NV $ADJ- mod -LINK N|NV ADJPRO/Zqr mod&LEFT&INIT +LINK V|VM|AUX|BYC $ADV- mod +LINK V|VM|AUX|BYC ADVPRO/Zqr mod&LEFT&INIT # kiedy u¶nie +LINK N|NV $ADJ- mod +LINK N|NV ADJPRO/Zqr mod&LEFT&INIT +LINK N|NV P mod +LINK N|NV P/Zqr mod&LEFT&INIT + #==================================================================================================== -# prep +# PREP #==================================================================================================== ROLE prep @@ -169,7 +173,7 @@ LINK V P prep LINK N P//RQ- prep #==================================================================================================== -# pcmpl +# PCMPL #==================================================================================================== ROLE pcmpl @@ -188,8 +192,10 @@ REQ P pcmpl ROLE conj RIGHT conj -LINK N CONJ/Sc conj -LINK V/Vp CONJ/Sc conj&FIN +LINK $V+ CONJ/Sc conj&FIN +LINK $N- CONJ/Sc conj +LINK $ADJ- CONJ/Sc conj +LINK $ADV- CONJ/Sc conj #==================================================================================================== # conj1 @@ -217,8 +223,8 @@ ROLE ccmpl SGL ccmpl RIGHT ccmpl -LINK CONJ/JpSci2 N ccmpl -LINK CONJ/JcpSci2 V/Vp ccmpl +LINK CONJ/JcSci2 V/Vf ccmpl +LINK CONJ/JpSci2 ($N-|$V+|$ADJ-|$ADV-) ccmpl REQ CONJ/Sci2 ccmpl @@ -231,6 +237,7 @@ SGL poss GOV poss */Cg LINK N $N- ~ NPRO poss +LINK N NPRO/Zqr poss&LEFT&INIT #==================================================================================================== # numa @@ -313,14 +320,14 @@ ROLE cmpl_a_copred SGL cmpl_a_copred #==================================================================================================== -# cmpl_d_copred +# CMPL_D_COPRED #==================================================================================================== ROLE cmpl_d_copred SGL cmpl_d_copred #==================================================================================================== -# cmpl_i_copred +# CMPL_I_COPRED #==================================================================================================== ROLE cmpl_i_copred @@ -328,7 +335,7 @@ SGL cmpl_i_copred #==================================================================================================== -# rel +# REL #==================================================================================================== ROLE rel @@ -421,7 +428,10 @@ LINK ADV ADV ncoord #==================================================================================================== LONG relagr subj,rel^ +LONG relagr poss,cmpl_a,rel^ LONG relagr cmpl_a,rel^ +LONG relagr cmpl_g,rel^ +LONG relagr pcmpl,rel^ AGR relagr N AGR relagr G @@ -442,6 +452,7 @@ LINK NPRO/Zqr N relagr SET NPRO/Zrq RQ SET ADJPRO/Zrq RQ SET ADVPRO/Zqr RQ +SET NEG NEG PASS subj RQ PASS cmpl_g RQ @@ -451,6 +462,9 @@ PASS cmpl_i RQ PASS mod RQ PASS pcmpl RQ PASS prep RQ +PASS poss RQ +PASS neg NEG + #==================================================================================================== # init diff --git a/share/pl_PL.ISO-8859-2/Makefile b/share/pl_PL.ISO-8859-2/Makefile index 520ca2e..fae3177 100644 --- a/share/pl_PL.ISO-8859-2/Makefile +++ b/share/pl_PL.ISO-8859-2/Makefile @@ -1,7 +1,7 @@ include ../../config.mak -TARGETS = lem.bin lem.cats cor.bin gue.bin -COMPDICDIR = ../ +#TARGETS = lem.bin lem.cats cor.bin gue.bin + .PHONY: all all: $(TARGETS) diff --git a/src/compdic/Makefile b/src/compdic/Makefile index 360719c..07120a5 100644 --- a/src/compdic/Makefile +++ b/src/compdic/Makefile @@ -22,6 +22,7 @@ ifdef BIN_DIR install -m 0755 compdic-dic-to-cats $(BIN_DIR) install -m 0755 compdic-fst-to-bin $(BIN_DIR) + install -m 0755 canonize $(BIN_DIR) install -m 0755 fsm2aut $(BIN_DIR) install -m 0755 aut2fsa $(BIN_DIR) install -m 0755 lst2fstext $(BIN_DIR) @@ -41,6 +42,7 @@ ifdef BIN_DIR rm $(BIN_DIR)/fsm2aut rm $(BIN_DIR)/aut2fsa rm $(BIN_DIR)/lst2fstext + rm $(BIN_DIR)/canonize endif .PHONY: clean diff --git a/src/compdic/compdic b/src/compdic/compdic index 4408249..7f590ba 100755 --- a/src/compdic/compdic +++ b/src/compdic/compdic @@ -1,5 +1,7 @@ #!/bin/bash +echo `basename $0` $@ + no_of_parts=0 while [ $# -gt 2 ] @@ -37,7 +39,6 @@ fi echo number of parts: $no_of_parts - tempdir=`mktemp -d /tmp/compdic.XXXXXX` alphabet=`tempfile -d $tempdir` diff --git a/src/compdic/compdic-update b/src/compdic/compdic-update index 601c9b2..4aafff5 100755 --- a/src/compdic/compdic-update +++ b/src/compdic/compdic-update @@ -2,7 +2,6 @@ . /etc/utt/compdic.conf - while [ $# -gt 2 ] do case $1 @@ -27,7 +26,7 @@ then echo " compdic-update [-d ] ..." echo "where" echo " - dictionary home directory" - echo " - dictionary name" + echo " - dictionary name (without extension)" echo " - diff format file containing paths to be added/removed from dictionary" exit 0 fi diff --git a/src/compdic/compdic-update-fst b/src/compdic/compdic-update-fst index c9147fe..4788140 100755 --- a/src/compdic/compdic-update-fst +++ b/src/compdic/compdic-update-fst @@ -1,5 +1,7 @@ #! /bin/bash +set -e + if [ $# -lt 2 ] then echo "Usage:" @@ -33,6 +35,12 @@ done echo updating $dict ... +if ! (( `cat $dicminus $dicplus | wc -l` )) +then + echo "Empty diff." + exit 1 +fi + if (( `cat $dicminus | wc -l` )) then tmpfst1=$tempdir/tmp1.fst