dodana opcja --time w dgp, poprawione przesyanie bbelkw, obsluga &LEFT, &RIGHT

This commit is contained in:
Tomasz Obrebski 2012-03-13 17:07:34 +01:00
parent abd28d16d6
commit a15e59b825
8 changed files with 497 additions and 643 deletions

View File

@ -1,504 +0,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

View File

@ -1,6 +1,433 @@
#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 #ORDER * pcmpl
#ORDER .. #ORDER ..
@ -8,117 +435,3 @@
#ORDER refl .. * #ORDER refl .. *
#ORDER * refl #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

View File

@ -10,9 +10,11 @@ option "long" l "Long output"
option "debug" d "Debug mode." option "debug" d "Debug mode."
flag off flag off
option "time" - "Print parse time."
flag off
option "info" - "Print info. option "info" - "Print info.
h - heads d - dependents h - heads d - dependents
s - sets s - sets
c - constraints n - node/arc counts t - parse time c - constraints n - node/arc counts"
"
string no default="h" string no default="h"

View File

@ -302,14 +302,34 @@ void connect_right(list<int>::iterator h, list<int>::iterator d, const Link& l,
//==================================================================================================== //====================================================================================================
bool check_boubbles_at_target(list<Boubble*> boubbles, int node) // 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)
{ {
for(list<Boubble*>::iterator b = boubbles.begin(); b != boubbles.end(); b++) list<Boubble*>::iterator last; // ostatnio sprawdzany b±bel
if( (*b)->is_at_target() && !grammar.check_longrel(sgraph.cat((*b)->src()), sgraph.cat(node), (*b)->rel())) 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; return false;
else
remove=false;
return true; 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;
// }
//==================================================================================================== //====================================================================================================
void try_connect_dependents(list<int>::iterator j) void try_connect_dependents(list<int>::iterator j)

View File

@ -186,6 +186,8 @@ bool Grammar::read(FILE* f)
Prop::add("INIT"); Prop::add("INIT");
Prop::add("FIN"); Prop::add("FIN");
Prop::add("LEFT");
Prop::add("RIGHT");
//<<< TU? //<<< TU?

View File

@ -191,17 +191,17 @@ list<const Link*> Grammar::connectable2(Cat h, Cat d, FlagSet hfs, FlagSet dfs)
//---------------------------------------------------------------------------------------------------- //----------------------------------------------------------------------------------------------------
inline // inline
bool Grammar::check_constr(NodeProp& hprop, NodeProp& dprop, int dir, Role role) // dir: 0-left 1-right // bool Grammar::check_constr(NodeProp& hprop, NodeProp& dprop, int dir, Role role) // dir: 0-left 1-right
{ // {
return // return
!hprop.forbidden[role] && // !hprop.forbidden[role] &&
( dir==1 || !right[role] ) && // ( dir==1 || !right[role] ) &&
( dir==0 || !left[role] ) && // ( dir==0 || !left[role] ) &&
( dir==1 || (hprop.attached&init).none() ) && // ( dir==1 || (hprop.attached&init).none() ) &&
( dir==0 || (hprop.attached&fin).none() ) // ( dir==0 || (hprop.attached&fin).none() )
; // ;
} // }
//---------------------------------------------------------------------------------------------------- //----------------------------------------------------------------------------------------------------
@ -210,8 +210,8 @@ bool Grammar::check_constr2(NodeProp& hprop, NodeProp& dprop, int dir, const Lin
{ {
return return
!hprop.forbidden[link.role] && !hprop.forbidden[link.role] &&
( dir==1 || !right[link.role] ) && ( dir==1 || (!right[link.role] && !link.props[Prop("RIGHT")]) ) && // ZREZYGNOWAÆ Z TABLICY right[<role>]
( dir==0 || !left[link.role] ) && ( dir==0 || (!left[link.role] && !link.props[Prop("LEFT")]) ) &&
( dir!=0 || !hprop.init_attached ) && ( dir!=0 || !hprop.init_attached ) &&
( dir!=1 || !hprop.fin_attached ) ( dir!=1 || !hprop.fin_attached )
; ;

View File

@ -6,6 +6,9 @@
* Author: Tomasz Obrebski * Author: Tomasz Obrebski
*/ */
#include <ctime>
#include <sys/time.h>
#include "global.hh" #include "global.hh"
#include "mgraph.hh" #include "mgraph.hh"
#include "sgraph.hh" #include "sgraph.hh"
@ -16,6 +19,8 @@
#define MAXSEGMENTS 500 #define MAXSEGMENTS 500
#define MICROSECONDSELAPSED(A,B) ((B.tv_sec - A.tv_sec)*1000000 + (B.tv_usec - A.tv_usec))
char segment[MAXSEGMENTS][MAXLINE]; char segment[MAXSEGMENTS][MAXLINE];
int segcount=0; int segcount=0;
char seg_mnode[MAXSEGMENTS]; char seg_mnode[MAXSEGMENTS];
@ -30,6 +35,8 @@ FILE* grammarf;
FILE* debugf=stdout; FILE* debugf=stdout;
unsigned int info=0U; unsigned int info=0U;
bool printtimeinfo=false;
void output(); void output();
main(int argc, char* argv[]) main(int argc, char* argv[])
@ -52,6 +59,8 @@ main(int argc, char* argv[])
if(args.debug_given) debug=true; if(args.debug_given) debug=true;
if(args.time_given) printtimeinfo=true;
for(char* c=args.info_arg; *c!='\0' ; ++c) for(char* c=args.info_arg; *c!='\0' ; ++c)
switch(*c) switch(*c)
{ {
@ -69,7 +78,7 @@ main(int argc, char* argv[])
// grammar.write(cout); // grammar.write(cout);
// exit(0); // exit(0);
struct timeval starttime,afterinput,afterparse,endtime;
mgraph.clear(); mgraph.clear();
sgraph.clear(); sgraph.clear();
@ -77,6 +86,7 @@ main(int argc, char* argv[])
char line[1000]; char line[1000];
while (fgets(line, MAXLINE+1, inputf)) while (fgets(line, MAXLINE+1, inputf))
{ {
gettimeofday(&starttime,NULL);
line[strlen(line)-1] = '\0'; line[strlen(line)-1] = '\0';
strcpy(segment[segcount],line); strcpy(segment[segcount],line);
@ -89,8 +99,19 @@ main(int argc, char* argv[])
getfield(line,"3",segtype); getfield(line,"3",segtype);
if(strcmp(segtype,"EOS")==0) if(strcmp(segtype,"EOS")==0)
{ {
gettimeofday(&afterinput,NULL);
dgp1(); // parametry!!! MGraph, SGraph, Grammar dgp1(); // parametry!!! MGraph, SGraph, Grammar
gettimeofday(&afterparse,NULL);
output(); 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(); mgraph.clear();
sgraph.clear(); sgraph.clear();

View File

@ -147,7 +147,7 @@ int SGraph::sprint_node(char* buf, int nodeind, int anc, unsigned int info)
for(Role i=1; i<=Role::count(); ++i) for(Role i=1; i<=Role::count(); ++i)
if(node.prop.forbidden[i]) buf+=sprintf(buf,"%s!%s",(cont++)?",":"",i.str()); if(node.prop.forbidden[i]) buf+=sprintf(buf,"%s!%s",(cont++)?",":"",i.str());
for(Role i=1; i<=Role::count(); ++i) 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) for(Role i=1; i<=Role::count(); ++i)
if(node.prop.attached[i]) buf+=sprintf(buf,"%s+%s",(cont++)?",":"",i.str()); if(node.prop.attached[i]) buf+=sprintf(buf,"%s+%s",(cont++)?",":"",i.str());
for(Flag i=1; i<=Flag::count(); ++i) for(Flag i=1; i<=Flag::count(); ++i)