Index: are/cats.dgc
===================================================================
--- share/cats.dgc	(revision e7de6cc88c605c4f810cbc852e843294b4b0e8ac)
+++ 	(revision )
@@ -1,504 +1,0 @@
-ADJ/CaDcGapNs
-ADJ/CaDcGiNs
-ADJ/CaDcGpNp
-ADJ/CaDpGapNs
-ADJ/CaDpGiNs
-ADJ/CaDpGpNp
-ADJ/CaDsGapNs
-ADJ/CaDsGiNs
-ADJ/CaDsGpNp
-ADJ/CaiDcGfNs
-ADJ/CaiDpGfNs
-ADJ/CaiDsGfNs
-ADJ/CanvDcGafinNp
-ADJ/CanvDcGnNs
-ADJ/CanvDpGafinNp
-ADJ/CanvDpGfNs
-ADJ/CanvDpGnNs
-ADJ/CanvDsGafinNp
-ADJ/CanvDsGnNs
-ADJ/CavDcGfNs
-ADJ/CavDsGfNs
-ADJ/CdDcGainpNs
-ADJ/CdDcNp
-ADJ/CdDpGainpNs
-ADJ/CdDpNp
-ADJ/CdDsGainpNs
-ADJ/CdDsNp
-ADJ/CdglDcGfNs
-ADJ/CdglDpGfNs
-ADJ/CdglDsGfNs
-ADJ/CgDcGainpNs
-ADJ/CgDpGainpNs
-ADJ/CgDsGainpNs
-ADJ/CglDcNp
-ADJ/CglDpNp
-ADJ/CglDsNp
-ADJ/CiDcNp
-ADJ/CiDpNp
-ADJ/CiDsNp
-ADJ/CilDcGainpNs
-ADJ/CilDpGainpNs
-ADJ/CilDsGainpNs
-ADJ/CnvDcGaipNs
-ADJ/CnvDcGpNp
-ADJ/CnvDpGaipNs
-ADJ/CnvDpGpNp
-ADJ/CnvDsGaipNs
-ADJ/CnvDsGpNp
-ADJNUM/CaGapNs
-ADJNUM/CaGiNs
-ADJNUM/CaGpNp
-ADJNUM/CaiGfNs
-ADJNUM/CanvGafinNp
-ADJNUM/CanvGnNs
-ADJNUM/CdGainpNs
-ADJNUM/CdglGfNs
-ADJNUM/CdNp
-ADJNUM/CgGainpNs
-ADJNUM/CglNp
-ADJNUM/CilGainpNs
-ADJNUM/CiNp
-ADJNUM/CnvGaipNs
-ADJNUM/CnvGfNs
-ADJNUM/CnvGpNp
-ADJPAP/CaGapNs
-ADJPAP/CaGiNs
-ADJPAP/CaGpNp
-ADJPAP/CaiGfNs
-ADJPAP/CanvGafinNp
-ADJPAP/CanvGnNs
-ADJPAP/CdGainpNs
-ADJPAP/CdglGfNs
-ADJPAP/CdNp
-ADJPAP/CgGainpNs
-ADJPAP/CglNp
-ADJPAP/CilGainpNs
-ADJPAP/CiNp
-ADJPAP/CnvGaipNs
-ADJPAP/CnvGfNs
-ADJPAP/CnvGpNp
-ADJPP/CaGapNs
-ADJPP/CaGiNs
-ADJPP/CaGpNp
-ADJPP/CaiGfNs
-ADJPP/CanvGafinNp
-ADJPP/CanvGnNs
-ADJPP/CdGainpNs
-ADJPP/CdglGfNs
-ADJPP/CdNp
-ADJPP/CgGainpNs
-ADJPP/CglNp
-ADJPP/CilGainpNs
-ADJPP/CiNp
-ADJPP/CnvGaipNs
-ADJPP/CnvGfNs
-ADJPP/CnvGpNp
-ADJPRO/CaGapNs
-ADJPRO/CaGiNs
-ADJPRO/CaGpNp
-ADJPRO/CaiGfNs
-ADJPRO/CanvGafinNp
-ADJPRO/CanvGnNs
-ADJPRO/CdGainpNs
-ADJPRO/CdglGfNs
-ADJPRO/CdNp
-ADJPRO/CgGainpNs
-ADJPRO/CglNp
-ADJPRO/CilGainpNs
-ADJPRO/CiNp
-ADJPRO/CnvGaipNs
-ADJPRO/CnvGfNs
-ADJPRO/CnvGpNp
-ADJPRP/CaGapNs
-ADJPRP/CaGiNs
-ADJPRP/CaGpNp
-ADJPRP/CaiGfNs
-ADJPRP/CanvGafinNp
-ADJPRP/CanvGnNs
-ADJPRP/CdGainpNs
-ADJPRP/CdglGfNs
-ADJPRP/CdNp
-ADJPRP/CgGainpNs
-ADJPRP/CglNp
-ADJPRP/CilGainpNs
-ADJPRP/CiNp
-ADJPRP/CnvGaipNs
-ADJPRP/CnvGfNs
-ADJPRP/CnvGpNp
-ADVANP
-ADVANP/C
-ADV/Dc
-ADV/Dp
-ADV/Ds
-ADVNUM
-ADVPRO
-ADVPRO/C
-ADVPRP
-ADVPRP/C
-APP
-BYC/GafinMcNpP1Vp
-BYC/GafinMcNpP2Vp
-BYC/GafinMcNpP3Vp
-BYC/GafinMdNpP1TaVp
-BYC/GafinMdNpP2TaVp
-BYC/GafinMdNpP3TaVp
-BYC/GaipMcNsP1Vp
-BYC/GaipMcNsP2Vp
-BYC/GaipMcNsP3Vp
-BYC/GaipMdNsP1TaVp
-BYC/GaipMdNsP2TaVp
-BYC/GaipMdNsP3TaVp
-BYC/GfMcNsP1Vp
-BYC/GfMcNsP2Vp
-BYC/GfMcNsP3Vp
-BYC/GfMdNsP1TaVp
-BYC/GfMdNsP2TaVp
-BYC/GfMdNsP3TaVp
-BYC/GnMcNsP3Vp
-BYC/GnMdNsP3TaVp
-BYC/GpMcNpP1Vp
-BYC/GpMcNpP2Vp
-BYC/GpMcNpP3Vp
-BYC/GpMdNpP1TaVp
-BYC/GpMdNpP2TaVp
-BYC/GpMdNpP3TaVp
-BYC/MdNpP1TfrVp
-BYC/MdNpP2TfrVp
-BYC/MdNpP3TfrVp
-BYC/MdNsP1TfrVp
-BYC/MdNsP2TfrVp
-BYC/MdNsP3TfrVp
-BYC/MiNpP1Vp
-BYC/MiNpP2Vp
-BYC/MiNsP2Vp
-BYC/Vb
-CONJ
-EXCL
-N/Ca
-N/CaGaNp
-N/CaGaNs
-N/CaGfNp
-N/CaGfNs
-N/CaGiNp
-N/CaGiNs
-N/CaGnNp
-N/CaGnNs
-N/CaG?Np
-N/CaG?Ns
-N/CaGpNp
-N/CaGpNs
-N/CaNp
-N/Cd
-N/CdGaNp
-N/CdGaNs
-N/CdGfNp
-N/CdGfNs
-N/CdGiNp
-N/CdGiNs
-N/CdGnNp
-N/CdGnNs
-N/CdG?Np
-N/CdG?Ns
-N/CdGpNp
-N/CdGpNs
-N/CdNp
-N/Cg
-N/CgGaNp
-N/CgGaNs
-N/CgGfNp
-N/CgGfNs
-N/CgGiNp
-N/CgGiNs
-N/CgGnNp
-N/CgGnNs
-N/CgG?Np
-N/CgG?Ns
-N/CgGpNp
-N/CgGpNs
-N/CgNp
-N/Ci
-N/CiGaNp
-N/CiGaNs
-N/CiGfNp
-N/CiGfNs
-N/CiGiNp
-N/CiGiNs
-N/CiGnNp
-N/CiGnNs
-N/CiG?Np
-N/CiG?Ns
-N/CiGpNp
-N/CiGpNs
-N/CiNp
-N/Cl
-N/ClGaNp
-N/ClGaNs
-N/ClGfNp
-N/ClGfNs
-N/ClGiNp
-N/ClGiNs
-N/ClGnNp
-N/ClGnNs
-N/ClG?Np
-N/ClG?Ns
-N/ClGpNp
-N/ClGpNs
-N/ClNp
-N/Cn
-N/CnGaNp
-N/CnGaNs
-N/CnGfNp
-N/CnGfNs
-N/CnGiNp
-N/CnGiNs
-N/CnGnNp
-N/CnGnNs
-N/CnG?Np
-N/CnG?Ns
-N/CnGpNp
-N/CnGpNs
-N/CnNp
-N/CvGaNp
-N/CvGaNs
-N/CvGfNp
-N/CvGfNs
-N/CvGiNp
-N/CvGiNs
-N/CvGnNp
-N/CvGnNs
-N/CvG?Np
-N/CvG?Ns
-N/CvGpNp
-N/CvGpNs
-N/CvNp
-NPRO/Ca
-NPRO/CaGafinNp
-NPRO/CaGaipNs
-NPRO/CaGfNs
-NPRO/CaGnNs
-NPRO/CaGpNp
-NPRO/CaGpNs
-NPRO/CaNp
-NPRO/CaNs
-NPRO/Cd
-NPRO/CdGafinNp
-NPRO/CdGaipNs
-NPRO/CdGfNs
-NPRO/CdGnNs
-NPRO/CdGpNp
-NPRO/CdGpNs
-NPRO/CdNp
-NPRO/CdNs
-NPRO/Cg
-NPRO/CgGafinNp
-NPRO/CgGaipNs
-NPRO/CgGfNs
-NPRO/CgGnNs
-NPRO/CgGpNp
-NPRO/CgGpNs
-NPRO/CgNp
-NPRO/CgNs
-NPRO/Ci
-NPRO/CiGafinNp
-NPRO/CiGaipNs
-NPRO/CiGfNs
-NPRO/CiGnNs
-NPRO/CiGpNp
-NPRO/CiGpNs
-NPRO/CiNp
-NPRO/CiNs
-NPRO/Cl
-NPRO/ClGafinNp
-NPRO/ClGaipNs
-NPRO/ClGfNs
-NPRO/ClGnNs
-NPRO/ClGpNp
-NPRO/ClGpNs
-NPRO/ClNp
-NPRO/ClNs
-NPRO/CnGafinNp
-NPRO/CnGaipNs
-NPRO/CnGfNs
-NPRO/CnGnNs
-NPRO/CnGpNp
-NPRO/CnGpNs
-NPRO/CnNp
-NPRO/CnNs
-NUMCOL/Ca
-NUMCOL/Cd
-NUMCOL/Cg
-NUMCOL/Ci
-NUMCOL/Cl
-NUMCOL/Cn
-NUMCRD/Ca
-NUMCRD/CaGafin
-NUMCRD/CaGain
-NUMCRD/CaGf
-NUMCRD/CaGp
-NUMCRD/Cd
-NUMCRD/Cg
-NUMCRD/Ci
-NUMCRD/CiGainp
-NUMCRD/CiGf
-NUMCRD/Cl
-NUMCRD/Cn
-NUMCRD/CnGafin
-NUMCRD/CnGain
-NUMCRD/CnGf
-NUMCRD/CnGp
-NUMORD/CaGapNs
-NUMORD/CaGiNs
-NUMORD/CaGpNp
-NUMORD/CaiGfNs
-NUMORD/CanvGafinNp
-NUMORD/CanvGnNs
-NUMORD/CdGainpNs
-NUMORD/CdglGfNs
-NUMORD/CdNp
-NUMORD/CgGainpNs
-NUMORD/CglNp
-NUMORD/CilGainpNs
-NUMORD/CiNp
-NUMORD/CnvGaipNs
-NUMORD/CnvGfNs
-NUMORD/CnvGpNp
-NUMPAR
-NUMPAR/Dc
-NUMPAR/Dp
-NUMPAR/Ds
-NUMPAR/GainpNs
-NUMPAR/GfNs
-NUMPAR/Ns
-NV/Ca
-NV/Cd
-NV/Cg
-NV/Ci
-NV/Cl
-NV/Cn
-ONO
-P
-PART
-P/Ca
-P/Cag
-P/Cagi
-P/Cai
-P/Cal
-P/Cd
-P/Cdg
-P/Cg
-P/Cgi
-P/Cl
-PPRO/C
-V/AiGafinMcNpP1Vp
-V/AiGafinMcNpP2Vp
-V/AiGafinMcNpP3Vp
-V/AiGafinMdNpP1TaVp
-V/AiGafinMdNpP2TaVp
-V/AiGafinMdNpP3TaVp
-V/AiGaipMcNsP1Vp
-V/AiGaipMcNsP2Vp
-V/AiGaipMcNsP3Vp
-V/AiGaipMdNsP1TaVp
-V/AiGaipMdNsP2TaVp
-V/AiGaipMdNsP3TaVp
-V/AiGfMcNsP1Vp
-V/AiGfMcNsP2Vp
-V/AiGfMcNsP3Vp
-V/AiGfMdNsP1TaVp
-V/AiGfMdNsP2TaVp
-V/AiGfMdNsP3TaVp
-V/AiGnMcNsP3Vp
-V/AiGnMdNsP3TaVp
-V/AiGpMcNpP1Vp
-V/AiGpMcNpP2Vp
-V/AiGpMcNpP3Vp
-V/AiGpMdNpP1TaVp
-V/AiGpMdNpP2TaVp
-V/AiGpMdNpP3TaVp
-V/AiMdNpP1TfrVp
-V/AiMdNpP2TfrVp
-V/AiMdNpP3TfrVp
-V/AiMdNsP1TfrVp
-V/AiMdNsP2TfrVp
-V/AiMdNsP3TfrVp
-V/AiMiNpP1Vp
-V/AiMiNpP2Vp
-V/AiMiNsP2Vp
-V/AiTaVi
-V/AiVb
-V/ApGafinMcNpP1Vp
-V/ApGafinMcNpP2Vp
-V/ApGafinMcNpP3Vp
-V/ApGafinMdNpP1TaVp
-V/ApGafinMdNpP2TaVp
-V/ApGafinMdNpP3TaVp
-V/ApGaipMcNsP1Vp
-V/ApGaipMcNsP2Vp
-V/ApGaipMcNsP3Vp
-V/ApGaipMdNsP1TaVp
-V/ApGaipMdNsP2TaVp
-V/ApGaipMdNsP3TaVp
-V/ApGfMcNsP1Vp
-V/ApGfMcNsP2Vp
-V/ApGfMcNsP3Vp
-V/ApGfMdNsP1TaVp
-V/ApGfMdNsP2TaVp
-V/ApGfMdNsP3TaVp
-V/ApGnMcNsP3Vp
-V/ApGnMdNsP3TaVp
-V/ApGpMcNpP1Vp
-V/ApGpMcNpP2Vp
-V/ApGpMcNpP3Vp
-V/ApGpMdNpP1TaVp
-V/ApGpMdNpP2TaVp
-V/ApGpMdNpP3TaVp
-V/ApMdNpP1TfrVp
-V/ApMdNpP2TfrVp
-V/ApMdNpP3TfrVp
-V/ApMdNsP1TfrVp
-V/ApMdNsP2TfrVp
-V/ApMdNsP3TfrVp
-V/ApMiNpP1Vp
-V/ApMiNpP2Vp
-V/ApMiNsP2Vp
-V/ApTaVi
-V/ApVb
-V/GafinMcNpP1Vp
-V/GafinMcNpP2Vp
-V/GafinMcNpP3Vp
-V/GafinMdNpP1TaVp
-V/GafinMdNpP2TaVp
-V/GafinMdNpP3TaVp
-V/GaipMcNsP1Vp
-V/GaipMcNsP2Vp
-V/GaipMcNsP3Vp
-V/GaipMdNsP1TaVp
-V/GaipMdNsP2TaVp
-V/GaipMdNsP3TaVp
-V/GfMcNsP1Vp
-V/GfMcNsP2Vp
-V/GfMcNsP3Vp
-V/GfMdNsP1TaVp
-V/GfMdNsP2TaVp
-V/GfMdNsP3TaVp
-V/GiMdNpP1TfrVp
-V/GiMdNpP2TfrVp
-V/GiMdNpP3TfrVp
-V/GiMdNsP1TfrVp
-V/GiMdNsP2TfrVp
-V/GiMdNsP3TfrVp
-V/GiMiNpP1Vp
-V/GiMiNpP2Vp
-V/GiMiNsP2Vp
-V/GiTaVi
-V/GiVb
-V/GnMcNsP3Vp
-V/GnMdNsP3TaVp
-V/GpMcNpP1Vp
-V/GpMcNpP2Vp
-V/GpMcNpP3Vp
-V/GpMdNpP1TaVp
-V/GpMdNpP2TaVp
-V/GpMdNpP3TaVp
-VNI
Index: share/gram.dgc
===================================================================
--- share/gram.dgc	(revision 5f4d9c3b32eea7b6643a751aa75bdb05b7d41576)
+++ share/gram.dgc	(revision a15e59b825ae3aa1d5f3555afaf4cdbf22beda62)
@@ -1,5 +1,432 @@
-#FLAG REL
-
-#UP REL 
+
+FLAG	RQ
+FLAG	init
+
+#====================================================================================================
+# subj
+#====================================================================================================
+
+ROLE	subj
+SGL	subj
+AGR	subj	     N
+AGR	subj	     G
+GOV 	subj	     */Cn
+
+LINK	V/VpP3Kn,BYC/VpP3		N,NUMCRD	subj
+LINK	V/VpP12Kn,BYC/VpP12		NPRO;RQ-	subj
+LINK	V/VpP3Kn,BYC/VpP3		NPRO;RQ-	subj
+LINK	V/VpP3Kn,BYC/VpP3		NPRO;RQ+	subj&INIT
+
+#====================================================================================================
+# cmpl_g
+#====================================================================================================
+
+ROLE	cmpl_g
+SGL	cmpl_g
+GOV	cmpl_g       */Cg
+
+LINK	V,ADVPRP,ADVANP,ADJPRP,ADJPAP,NV	N,NPRO,NUMCRD			cmpl_g
+
+#====================================================================================================
+# cmpl_a
+#====================================================================================================
+
+ROLE	cmpl_a
+SGL	cmpl_a
+GOV	cmpl_a	     */Ca
+
+LINK	V,ADVPRP,ADVANP,ADJPRP,ADJPAP,NV	N,NPRO,NUMCRD;RQ-		cmpl_a
+LINK	V,ADVPRP,ADVANP,ADJPRP,ADJPAP,NV	NPRO;RQ+		cmpl_a&INIT
+
+#====================================================================================================
+# cmpl_d
+#====================================================================================================
+
+ROLE	cmpl_d
+SGL	cmpl_d
+GOV	cmpl_d	     */Cd
+
+LINK	V,ADVPRP,ADVANP,ADJPRP,ADJPAP,NV	N,NPRO,NUMCRD		cmpl_d
+
+#====================================================================================================
+# cmpl_i
+#====================================================================================================
+
+ROLE	cmpl_i
+SGL	cmpl_i
+GOV	cmpl_i       */Ci
+
+LINK	V,ADVPRP,ADVANP,ADJPRP,ADJPAP,NV	N,NPRO,NUMCRD		cmpl_i
+
+#====================================================================================================
+# cmpl_ze
+#====================================================================================================
+
+ROLE	cmpl_ze
+SGL	cmpl_ze
+
+LINK	V,ADVPRP,ADVANP,ADJPRP,ADJPAP,NV	CONJ/Si			cmpl_ze&FIN
+
+#====================================================================================================
+# cmpl_inf
+#====================================================================================================
+
+ROLE	cmpl_inf
+SGL	cmpl_inf
+
+LINK	V,VM,ADVPRP,ADVANP,ADJPRP,ADJPAP,NV	V/Vb			cmpl_inf
+
+#====================================================================================================
+# cmpl_s
+#====================================================================================================
+
+ROLE	cmpl_s
+SGL	cmpl_s
+
+#====================================================================================================
+# aux
+#====================================================================================================
+
+ROLE	aux     
+SGL	aux
+AGR	aux	   N
+AGR	aux	   G
+
+LINK	BYC/VpMdTf				V/AiVpP3,V/AiVb		aux	#czas przyszly analityczny
+LINK	BYC/VpMc				V/VpP3			aux	#czas zaprzesz³y
+LINK	BYC					ADJPAP/Cn,ADJ/Cn,N/Ci	aux	#BYC jako lacznik w (jest bialy, jest zaszlachtowany, jest pilotem)
+
+#====================================================================================================
+# mod
+#====================================================================================================
+
+ROLE	mod
+AGR	mod	N
+AGR	mod	C
+AGR	mod	G
+ 
+LINK	V	ADV,ADVPRP,ADVANP		mod
+LINK	V	ADVPRO/Zqr			mod&INIT
+LINK	N,NV	ADJ,ADJPAP,ADJPRP		mod
+LINK	N,NV	ADJPRO/Zqr				mod&INIT
+
+#====================================================================================================
+# prep
+#====================================================================================================
+
+ROLE 	prep
+
+LINK	V	P	prep
+LINK	N	P;RQ-	prep
+
+#====================================================================================================
+# pcmpl
+#====================================================================================================
+
+ROLE	pcmpl
+RIGHT	pcmpl
+SGL	pcmpl
+AGR 	pcmpl	C
+
+LINK	P	N,NV,NPRO	pcmpl
+
+REQ	P	pcmpl
+
+#====================================================================================================
+# conj
+#====================================================================================================
+
+ROLE	conj
+RIGHT	conj
+
+LINK	N	CONJ/Sc	conj
+LINK	V/Vp	CONJ/Sc	conj&FIN	
+
+#====================================================================================================
+# conj1
+#====================================================================================================
+
+ROLE	conj1
+SGL	conj1
+LEFT	conj1
+LINK	N	CONJ/S1	conj1	
+
+#====================================================================================================
+# conj2
+#====================================================================================================
+
+ROLE	conj2
+SGL	conj2
+RIGHT	conj2
+LINK	N	CONJ/S2	conj2	
+
+#====================================================================================================
+# ccmpl
+#====================================================================================================
+ 
+ROLE	ccmpl
+SGL	ccmpl
+RIGHT	ccmpl
+
+LINK	CONJ/JpSci2	N	ccmpl
+LINK	CONJ/JcpSci2	V/Vp	ccmpl
+
+REQ	CONJ/Sci2	ccmpl
+
+#====================================================================================================
+# poss
+#====================================================================================================
+
+ROLE	poss
+SGL	poss
+GOV	poss	*/Cg
+
+LINK	N	N,NV	 poss
+
+#====================================================================================================
+# num
+#====================================================================================================
+
+ROLE	num
+SGL	num
+
+LINK	NUMCRD	N,NV	 num
+
+#====================================================================================================
+# restr
+#====================================================================================================
+
+ROLE	restr
+SGL	restr
+
+LINK	ADJ	ADV		restr
+
+#====================================================================================================
+# quant
+#====================================================================================================
+
+ROLE	quant
+SGL	quant
+AGR	quant	N
+AGR	quant	C
+AGR	quant	G
+LEFT	quant
+
+LINK	N	ADJPRO/Zg	quant
+
+#====================================================================================================
+# part
+#====================================================================================================
+
+ROLE	part
+
+LINK	V,BYC	PART	part
+
+#====================================================================================================
+# subj_copred
+#====================================================================================================
+
+ROLE	subj_copred
+SGL	subj_copred
+
+#====================================================================================================
+# cmpl_g_copred
+#====================================================================================================
+
+ROLE 	cmpl_g_copred
+SGL	cmpl_g_copred
+
+#====================================================================================================
+# cmpl_a_copred
+#====================================================================================================
+
+ROLE	cmpl_a_copred
+SGL	cmpl_a_copred
+
+#====================================================================================================
+# cmpl_d_copred
+#====================================================================================================
+
+ROLE	cmpl_d_copred
+SGL	cmpl_d_copred
+
+#====================================================================================================
+# cmpl_i_copred
+#====================================================================================================
+
+ROLE	cmpl_i_copred
+SGL	cmpl_i_copred
+
+
+#====================================================================================================
+# rel
+#====================================================================================================
+
+ROLE	rel
+RIGHT	rel
+SGL	rel
+FIN	rel
+
+LINK	N	V/Vp;RQ+ 	rel&FIN
+
+#====================================================================================================
+#====================================================================================================
+# CONSTR
+#====================================================================================================
+#====================================================================================================
+
+CONSTRE cmpl_g cmpl_a
+CONSTRE cmpl_a cmpl_g
+
+CONSTRI conj1 conj2
+CONSTRI conj2 conj1
+
+#CONSTR	cmpl_g	~cmpl_a
+#CONSTR cmpl_a	~cmpl_g
+#CONSTR	cmpl_inf	~cmpl_g ~cmpl_d ~cmpl_a ~cmpl_p ~cmpl_ez ~cmpl_s
+#CONSTR subj_copred	=> subj
+#CONSTR cmpl_g_copred	=> cmpl_g
+#CONSTR cmpl_a_copred	=> cmpl_a
+#CONSTR	cmpl_i_copred	=> cmpl_i
+#CONSTR cmpl_d_copred	=> cmpl_d
+
+
+
+#====================================================================================================
+#====================================================================================================
+# LONG
+#====================================================================================================
+#====================================================================================================
+
+#====================================================================================================
+# ncoord
+#====================================================================================================
+
+LONG  ncoord conj> ccmpl>
+LONG  ncoord conj2> ccmpl>
+
+AGR  ncoord    C
+AGR  ncoord    N
+
+LINK N N ncoord
+
+#====================================================================================================
+# vcoord
+#====================================================================================================
+
+LONG  vcoord conj> ccmpl>
+
+AGR  vcoord    P
+AGR  vcoord    N
+AGR  vcoord    A
+AGR  vcoord    G
+
+LINK V V vcoord
+
+#====================================================================================================
+# adjcoord
+#====================================================================================================
+
+LONG  adjcoord conj> ccmpl>
+
+AGR  adjcoord    C
+AGR  adjcoord    N
+AGR  adjcoord	 G
+
+LINK ADJ ADJ ncoord
+
+#====================================================================================================
+# advcoord
+#====================================================================================================
+
+LONG  advcoord conj> ccmpl>
+
+AGR  ncoord    C
+AGR  ncoord    N
+
+LINK ADV ADV ncoord
+
+
+#====================================================================================================
+# relagr
+#====================================================================================================
+
+LONG  relagr <subj <rel
+LONG  relagr <cmpl_a <rel
+
+AGR  relagr    C
+AGR  relagr    N
+AGR  relagr    G
+
+LINK NPRO/Zqr N relagr
+
+
+#====================================================================================================
+#====================================================================================================
+# FLAG
+#====================================================================================================
+#====================================================================================================
+
+#====================================================================================================
+# RQ
+#====================================================================================================
+
+SET	NPRO/Zrq	RQ
+SET	ADJPRO/Zrq	RQ
+SET	ADVPRO/Zqr	RQ
+
+PASS	subj	RQ
+PASS	cmpl_g	RQ
+PASS	cmpl_d	RQ
+PASS	cmpl_a	RQ
+PASS	cmpl_i	RQ
+PASS	mod	RQ
+PASS	pcmpl	RQ
+PASS	prep	RQ
+
+#====================================================================================================
+# init
+#====================================================================================================
+
+#SET	NPRO/Zrq	init
+#SET	ADJPRO/Zrq	init
+
+#====================================================================================================
+# ZE
+#====================================================================================================
+
+#FLAG ZE
+
+#====================================================================================================
+#====================================================================================================
+
+#INIT RQ+
+
+#====================================================================================================
+#====================================================================================================
+#====================================================================================================
+#====================================================================================================
+#====================================================================================================
+#====================================================================================================
+#====================================================================================================
+#====================================================================================================
+#====================================================================================================
+#====================================================================================================
+#====================================================================================================
+
+
+#CLASS @Cn     : */Cn
+#CLASS @Cg     : */Cg
+#CLASS @Cd     : */Cd
+#CLASS @Ca     : */Ca
+#CLASS @Ci     : */Ci
+#CLASS @Cl     : */Cl
+#CLASS @Cv     : */Cv
+
+#CLASS @Ns     : */Ns
+#CLASS @Np     : */Np
+
+#CLASS @N      : N | NPRO | NV
+#CLASS @ADJ    : ADJ | ADJPRO | ADJPRP | ADJPAP | ADJPP
 
 #ORDER * pcmpl
@@ -9,118 +436,2 @@
 #ORDER * refl
 
-#CONSTR	cmpl_g	 => ~cmpl_a
-#CONSTR	cmpl_inf => ~(cmpl_g|cmpl_d|cmpl_a|cmpl_p|cmpl_ze|cmpl_s)
-#CONSTR subj_pred => subj
-#constr cmpl_pred => cmpl
-
-
-
-#subj
-ROLE subj         # deklaracja roli (typ zaleznosci) podmiot
-AGR subj N        # zgodnosc podrzednika z nadrzednikiem co do liczby
-AGR subj G        # zgodnosc podrzednika z nadrzednikiem co do rodzaju
-GOV subj */Cn     # wymaganie by podrzednik byl w mianowniku
-
-# pary kategorii, jakie mozna polaczyc zaleznoscia typu podmiot
-
-#	nadrzednik		podrzednik
-LINK	V/VpP3,BYC/VpP3		N,NPRO		subj
-
-# (przecinek znaczy lub)
-
-ROLE cmpl_ga	# dopelnienie w bierniku/dopelniaczu
-ROLE cmpl_d     #             w celowniku
-ROLE cmpl_i     #             w narzedniku
-ROLE cmpl_inf   #             w bezokoliczniku
-ROLE cmpl_s     #             bedace zdaniem
-ROLE cmpl_ze    #             bedace zdaniem poprzedzonym 'ze'
-ROLE aux        # 
-ROLE mod	# modyfikator (okolicznik/przydawka) (niewymagane okreÅlenie) (biaÅy kot)
-ROLE prep	# modyfikator w postaci frazy przyimkowej
-ROLE pcmpl	# dopeÅnienie przyimka (wymagany rzeczownik)
-ROLE ccmpl	# dopeÅnienie spÃ³jnika (wymagany drugi czÅon konstrukcji spÃ³jnikowej)
-ROLE poss	# np. ksiÄ
-ÅŒka Marii, ojciec kolegi
-ROLE restr	# (bardzo <- duÅŒy)
-ROLE part	# partykuÅa
-ROLE coord	# koordynacja (powiÄ
-zanie pierwszego czÅonu konstrukcji wspÃ³ÅrzÄdnej
-		# ze spÃ³jnikiem wspÃ³ÅrzÄdnym centralnym ( Oto [pies -> i] kot. )
- 
-
-AGR aux N
-AGR aux G
-
-AGR mod N
-AGR mod C
-AGR mod G
-
-AGR pcmpl C
-
-GOV	cmpl_ga	*/Cga
-GOV	cmpl_d	*/Cd
-GOV	cmpl_i	*/Ci
-GOV	poss	*/Cg
-
-SGL subj
-SGL cmpl_ga
-SGL cmpl_d
-SGL cmpl_i
-SGL cmpl_inf
-SGL aux
-SGL pcmpl
-SGL ccmpl
-SGL poss
-SGL restr
-
-REQ	P	pcmpl
-REQ	CONJ	ccmpl
-
-RIGHT pcmpl
-RIGHT ccmpl
-RIGHT cmpl_ze
-RIGHT poss
-
-
-#cmpl_*
-LINK	V,ADVPRP,ADVANP,ADJPRP,ADJPAP,NV	N,NPRO			cmpl_ga
-LINK	V,ADVPRP,ADVANP,ADJPRP,ADJPAP,NV	N,NPRO			cmpl_d
-LINK	V,ADVPRP,ADVANP,ADJPRP,ADJPAP,NV	N,NPRO			cmpl_i
-LINK	V,ADVPRP,ADVANP,ADJPRP,ADJPAP,NV	V/Vb			cmpl_inf
-LINK	V,ADVPRP,ADVANP,ADJPRP,ADJPAP,NV	CONJ			cmpl_ze
-
-#aux
-#czas przyszly analityczny
-LINK	BYC/VpMdTf				V/AiVpP3,V/AiVb		aux
-#czas zaprzeszly(?)
-LINK	BYC/VpMc				V/VpP3			aux
-#BYC jako lacznik w (jest bialy, jest zaszlachtowany, jest pilotem)
-LINK	BYC					ADJPAP/Cn,ADJ/Cn,N/Ci	aux
-
-#mod
-
-LINK	V	ADV,ADVPRP,ADVANP,ADVPRO	mod
-LINK	N,NV	ADJ,ADJPAP,ADJPRP,ADJPRO	mod
-
-
-#prep
-LINK	N,V	P	prep
-
-#pcmpl
-LINK	P	N,NV	pcmpl
-
-
-#poss
-LINK	N	N,NV,NPRO	poss
-
-
-#ccmpl
-LINK	CONJ	V/Vp	ccmpl
-
-
-#restr
-LINK	ADJ	ADV	restr
-
-
-#part
-LINK	V	PART	part
Index: src/dgp/cmdline_dgp.ggo
===================================================================
--- src/dgp/cmdline_dgp.ggo	(revision 5f4d9c3b32eea7b6643a751aa75bdb05b7d41576)
+++ src/dgp/cmdline_dgp.ggo	(revision a15e59b825ae3aa1d5f3555afaf4cdbf22beda62)
@@ -11,8 +11,10 @@
 				flag off
 
+option  "time"		-	"Print parse time."
+				flag off
+
 option	"info"		-	"Print info. 
-h - heads         d - dependents
-s - sets
-c - constraints	  n - node/arc counts	t - parse time
-"
+				       h - heads         d - dependents
+				       s - sets
+				       c - constraints	  n - node/arc counts"
 string no default="h"
Index: src/dgp/dgp1.cc
===================================================================
--- src/dgp/dgp1.cc	(revision e7de6cc88c605c4f810cbc852e843294b4b0e8ac)
+++ src/dgp/dgp1.cc	(revision a15e59b825ae3aa1d5f3555afaf4cdbf22beda62)
@@ -303,11 +303,31 @@
 //====================================================================================================
 
-bool check_boubbles_at_target(list<Boubble*> boubbles, int node)
-{
-  for(list<Boubble*>::iterator b = boubbles.begin(); b != boubbles.end(); b++)
-    if( (*b)->is_at_target() && !grammar.check_longrel(sgraph.cat((*b)->src()), sgraph.cat(node), (*b)->rel()))
-      return false;
+// sprawdza czy te, spo¶ród b±bli, które dotar³y do celu node
+// daj± wynik prawdziwy, dodatkowo - usuwa je z listy boubbles
+
+bool check_boubbles_at_target(list<Boubble*>& boubbles, int node)
+{
+  list<Boubble*>::iterator last; // ostatnio sprawdzany b±bel
+  bool remove=false;             // czy usun±æ ostatnio sprawdzany b±bel
+
+  for(list<Boubble*>::iterator b = boubbles.begin(); b != boubbles.end(); b = remove ? boubbles.erase(b) : ++b )
+    if( (*b)->is_at_target() )
+      if( grammar.check_longrel(sgraph.cat((*b)->src()), sgraph.cat(node), (*b)->rel()) )
+	remove=true;
+      else
+	return false;
+    else
+      remove=false;
+      
   return true;
 }
+
+// bool check_boubbles_at_target(list<Boubble*> boubbles, int node)
+// {
+//   for(list<Boubble*>::iterator b = boubbles.begin(); b != boubbles.end(); ++b )
+//     if( (*b)->is_at_target() && !grammar.check_longrel(sgraph.cat((*b)->src()), sgraph.cat(node), (*b)->rel()) )
+//       return false;
+//   return true;
+// }
 
 //====================================================================================================
Index: src/dgp/grammar.cc
===================================================================
--- src/dgp/grammar.cc	(revision e7de6cc88c605c4f810cbc852e843294b4b0e8ac)
+++ src/dgp/grammar.cc	(revision a15e59b825ae3aa1d5f3555afaf4cdbf22beda62)
@@ -187,4 +187,6 @@
   Prop::add("INIT");
   Prop::add("FIN");
+  Prop::add("LEFT");
+  Prop::add("RIGHT");
 
   //<<< TU?
Index: src/dgp/grammar.hh
===================================================================
--- src/dgp/grammar.hh	(revision e7de6cc88c605c4f810cbc852e843294b4b0e8ac)
+++ src/dgp/grammar.hh	(revision a15e59b825ae3aa1d5f3555afaf4cdbf22beda62)
@@ -192,15 +192,15 @@
 //----------------------------------------------------------------------------------------------------
 
-inline
-bool Grammar::check_constr(NodeProp& hprop, NodeProp& dprop, int dir, Role role)    // dir: 0-left 1-right
-{
-  return 
-    !hprop.forbidden[role] &&
-    ( dir==1 || !right[role] ) &&
-    ( dir==0 || !left[role]  ) &&
-    ( dir==1 || (hprop.attached&init).none() ) &&
-    ( dir==0 || (hprop.attached&fin).none() )
-    ;
-}
+// inline
+// bool Grammar::check_constr(NodeProp& hprop, NodeProp& dprop, int dir, Role role)    // dir: 0-left 1-right
+// {
+//   return 
+//     !hprop.forbidden[role] &&
+//     ( dir==1 || !right[role] ) &&
+//     ( dir==0 || !left[role]  ) &&
+//     ( dir==1 || (hprop.attached&init).none() ) &&
+//     ( dir==0 || (hprop.attached&fin).none() )
+//     ;
+// }
 
 //----------------------------------------------------------------------------------------------------
@@ -211,6 +211,6 @@
   return 
     !hprop.forbidden[link.role] &&
-    ( dir==1 || !right[link.role] ) &&
-    ( dir==0 || !left[link.role]  ) &&
+    ( dir==1 || (!right[link.role] && !link.props[Prop("RIGHT")]) ) &&  // ZREZYGNOWAÆ Z TABLICY right[<role>]
+    ( dir==0 || (!left[link.role] && !link.props[Prop("LEFT")]) ) &&
     ( dir!=0 || !hprop.init_attached ) &&
     ( dir!=1 || !hprop.fin_attached )
Index: src/dgp/main.cc
===================================================================
--- src/dgp/main.cc	(revision e7de6cc88c605c4f810cbc852e843294b4b0e8ac)
+++ src/dgp/main.cc	(revision a15e59b825ae3aa1d5f3555afaf4cdbf22beda62)
@@ -6,4 +6,7 @@
  * Author:	Tomasz Obrebski
  */
+
+#include <ctime>
+#include <sys/time.h>
 
 #include "global.hh"
@@ -16,4 +19,6 @@
 
 #define MAXSEGMENTS 500
+
+#define MICROSECONDSELAPSED(A,B) ((B.tv_sec - A.tv_sec)*1000000 + (B.tv_usec - A.tv_usec))
 
 char segment[MAXSEGMENTS][MAXLINE];
@@ -30,4 +35,6 @@
 FILE* debugf=stdout;
 unsigned int info=0U;
+
+bool printtimeinfo=false;
 
 void output();
@@ -53,4 +60,6 @@
   if(args.debug_given) debug=true;
 
+  if(args.time_given) printtimeinfo=true;
+
   for(char* c=args.info_arg; *c!='\0' ; ++c)
     switch(*c)
@@ -70,5 +79,5 @@
   // exit(0);
 
-
+  struct timeval starttime,afterinput,afterparse,endtime;
 
   mgraph.clear();
@@ -78,4 +87,5 @@
   while (fgets(line, MAXLINE+1, inputf))
   {
+    gettimeofday(&starttime,NULL);
     line[strlen(line)-1] = '\0';
     strcpy(segment[segcount],line);
@@ -90,6 +100,17 @@
     if(strcmp(segtype,"EOS")==0)
     {
+      gettimeofday(&afterinput,NULL);
       dgp1(); // parametry!!! MGraph, SGraph, Grammar
+      gettimeofday(&afterparse,NULL);
       output();
+      gettimeofday(&endtime,NULL);
+
+      if(printtimeinfo)
+	{
+	  fprintf(stderr,"### INPUT  TIME: %10.2fms\n", (float)MICROSECONDSELAPSED(starttime,afterinput)/1000 );
+	  fprintf(stderr,"### PARSE  TIME: %10.2fms\n", (float)MICROSECONDSELAPSED(afterinput,afterparse)/1000 );
+	  fprintf(stderr,"### OUTPUT TIME: %10.2fms\n", (float)MICROSECONDSELAPSED(afterparse,endtime)/1000 );
+	  fprintf(stderr,"### TOTAL  TIME: %10.2fms\n", (float)MICROSECONDSELAPSED(starttime,endtime)/1000 );
+	}
       
       mgraph.clear();
Index: src/dgp/sgraph.cc
===================================================================
--- src/dgp/sgraph.cc	(revision e7de6cc88c605c4f810cbc852e843294b4b0e8ac)
+++ src/dgp/sgraph.cc	(revision a15e59b825ae3aa1d5f3555afaf4cdbf22beda62)
@@ -148,5 +148,5 @@
       if(node.prop.forbidden[i]) buf+=sprintf(buf,"%s!%s",(cont++)?",":"",i.str());
     for(Role i=1; i<=Role::count(); ++i)
-      if(node.prop.required[i]) buf+=sprintf(buf,"%s&%s",(cont++)?",":"",i.str());
+      if(node.prop.required[i]) buf+=sprintf(buf,"%s-%s",(cont++)?",":"",i.str());
     for(Role i=1; i<=Role::count(); ++i)
       if(node.prop.attached[i]) buf+=sprintf(buf,"%s+%s",(cont++)?",":"",i.str());
