Changeset a15e59b
- Timestamp:
- 03/13/12 17:07:34 (13 years ago)
- Branches:
- master
- Children:
- f4bf33e
- Parents:
- abd28d1
- git-author:
- Tomasz Obrebski <to@…> (03/13/12 17:07:34)
- git-committer:
- Tomasz Obrebski <to@…> (03/13/12 17:07:34)
- Files:
-
- 1 deleted
- 7 edited
Legend:
- Unmodified
- Added
- Removed
-
share/gram.dgc
r5f4d9c3 ra15e59b 1 #FLAG REL 2 3 #UP REL 1 2 FLAG RQ 3 FLAG init 4 5 #==================================================================================================== 6 # subj 7 #==================================================================================================== 8 9 ROLE subj 10 SGL subj 11 AGR subj N 12 AGR subj G 13 GOV subj */Cn 14 15 LINK V/VpP3Kn,BYC/VpP3 N,NUMCRD subj 16 LINK V/VpP12Kn,BYC/VpP12 NPRO;RQ- subj 17 LINK V/VpP3Kn,BYC/VpP3 NPRO;RQ- subj 18 LINK V/VpP3Kn,BYC/VpP3 NPRO;RQ+ subj&INIT 19 20 #==================================================================================================== 21 # cmpl_g 22 #==================================================================================================== 23 24 ROLE cmpl_g 25 SGL cmpl_g 26 GOV cmpl_g */Cg 27 28 LINK V,ADVPRP,ADVANP,ADJPRP,ADJPAP,NV N,NPRO,NUMCRD cmpl_g 29 30 #==================================================================================================== 31 # cmpl_a 32 #==================================================================================================== 33 34 ROLE cmpl_a 35 SGL cmpl_a 36 GOV cmpl_a */Ca 37 38 LINK V,ADVPRP,ADVANP,ADJPRP,ADJPAP,NV N,NPRO,NUMCRD;RQ- cmpl_a 39 LINK V,ADVPRP,ADVANP,ADJPRP,ADJPAP,NV NPRO;RQ+ cmpl_a&INIT 40 41 #==================================================================================================== 42 # cmpl_d 43 #==================================================================================================== 44 45 ROLE cmpl_d 46 SGL cmpl_d 47 GOV cmpl_d */Cd 48 49 LINK V,ADVPRP,ADVANP,ADJPRP,ADJPAP,NV N,NPRO,NUMCRD cmpl_d 50 51 #==================================================================================================== 52 # cmpl_i 53 #==================================================================================================== 54 55 ROLE cmpl_i 56 SGL cmpl_i 57 GOV cmpl_i */Ci 58 59 LINK V,ADVPRP,ADVANP,ADJPRP,ADJPAP,NV N,NPRO,NUMCRD cmpl_i 60 61 #==================================================================================================== 62 # cmpl_ze 63 #==================================================================================================== 64 65 ROLE cmpl_ze 66 SGL cmpl_ze 67 68 LINK V,ADVPRP,ADVANP,ADJPRP,ADJPAP,NV CONJ/Si cmpl_ze&FIN 69 70 #==================================================================================================== 71 # cmpl_inf 72 #==================================================================================================== 73 74 ROLE cmpl_inf 75 SGL cmpl_inf 76 77 LINK V,VM,ADVPRP,ADVANP,ADJPRP,ADJPAP,NV V/Vb cmpl_inf 78 79 #==================================================================================================== 80 # cmpl_s 81 #==================================================================================================== 82 83 ROLE cmpl_s 84 SGL cmpl_s 85 86 #==================================================================================================== 87 # aux 88 #==================================================================================================== 89 90 ROLE aux 91 SGL aux 92 AGR aux N 93 AGR aux G 94 95 LINK BYC/VpMdTf V/AiVpP3,V/AiVb aux #czas przyszly analityczny 96 LINK BYC/VpMc V/VpP3 aux #czas zaprzesz³y 97 LINK BYC ADJPAP/Cn,ADJ/Cn,N/Ci aux #BYC jako lacznik w (jest bialy, jest zaszlachtowany, jest pilotem) 98 99 #==================================================================================================== 100 # mod 101 #==================================================================================================== 102 103 ROLE mod 104 AGR mod N 105 AGR mod C 106 AGR mod G 107 108 LINK V ADV,ADVPRP,ADVANP mod 109 LINK V ADVPRO/Zqr mod&INIT 110 LINK N,NV ADJ,ADJPAP,ADJPRP mod 111 LINK N,NV ADJPRO/Zqr mod&INIT 112 113 #==================================================================================================== 114 # prep 115 #==================================================================================================== 116 117 ROLE prep 118 119 LINK V P prep 120 LINK N P;RQ- prep 121 122 #==================================================================================================== 123 # pcmpl 124 #==================================================================================================== 125 126 ROLE pcmpl 127 RIGHT pcmpl 128 SGL pcmpl 129 AGR pcmpl C 130 131 LINK P N,NV,NPRO pcmpl 132 133 REQ P pcmpl 134 135 #==================================================================================================== 136 # conj 137 #==================================================================================================== 138 139 ROLE conj 140 RIGHT conj 141 142 LINK N CONJ/Sc conj 143 LINK V/Vp CONJ/Sc conj&FIN 144 145 #==================================================================================================== 146 # conj1 147 #==================================================================================================== 148 149 ROLE conj1 150 SGL conj1 151 LEFT conj1 152 LINK N CONJ/S1 conj1 153 154 #==================================================================================================== 155 # conj2 156 #==================================================================================================== 157 158 ROLE conj2 159 SGL conj2 160 RIGHT conj2 161 LINK N CONJ/S2 conj2 162 163 #==================================================================================================== 164 # ccmpl 165 #==================================================================================================== 166 167 ROLE ccmpl 168 SGL ccmpl 169 RIGHT ccmpl 170 171 LINK CONJ/JpSci2 N ccmpl 172 LINK CONJ/JcpSci2 V/Vp ccmpl 173 174 REQ CONJ/Sci2 ccmpl 175 176 #==================================================================================================== 177 # poss 178 #==================================================================================================== 179 180 ROLE poss 181 SGL poss 182 GOV poss */Cg 183 184 LINK N N,NV poss 185 186 #==================================================================================================== 187 # num 188 #==================================================================================================== 189 190 ROLE num 191 SGL num 192 193 LINK NUMCRD N,NV num 194 195 #==================================================================================================== 196 # restr 197 #==================================================================================================== 198 199 ROLE restr 200 SGL restr 201 202 LINK ADJ ADV restr 203 204 #==================================================================================================== 205 # quant 206 #==================================================================================================== 207 208 ROLE quant 209 SGL quant 210 AGR quant N 211 AGR quant C 212 AGR quant G 213 LEFT quant 214 215 LINK N ADJPRO/Zg quant 216 217 #==================================================================================================== 218 # part 219 #==================================================================================================== 220 221 ROLE part 222 223 LINK V,BYC PART part 224 225 #==================================================================================================== 226 # subj_copred 227 #==================================================================================================== 228 229 ROLE subj_copred 230 SGL subj_copred 231 232 #==================================================================================================== 233 # cmpl_g_copred 234 #==================================================================================================== 235 236 ROLE cmpl_g_copred 237 SGL cmpl_g_copred 238 239 #==================================================================================================== 240 # cmpl_a_copred 241 #==================================================================================================== 242 243 ROLE cmpl_a_copred 244 SGL cmpl_a_copred 245 246 #==================================================================================================== 247 # cmpl_d_copred 248 #==================================================================================================== 249 250 ROLE cmpl_d_copred 251 SGL cmpl_d_copred 252 253 #==================================================================================================== 254 # cmpl_i_copred 255 #==================================================================================================== 256 257 ROLE cmpl_i_copred 258 SGL cmpl_i_copred 259 260 261 #==================================================================================================== 262 # rel 263 #==================================================================================================== 264 265 ROLE rel 266 RIGHT rel 267 SGL rel 268 FIN rel 269 270 LINK N V/Vp;RQ+ rel&FIN 271 272 #==================================================================================================== 273 #==================================================================================================== 274 # CONSTR 275 #==================================================================================================== 276 #==================================================================================================== 277 278 CONSTRE cmpl_g cmpl_a 279 CONSTRE cmpl_a cmpl_g 280 281 CONSTRI conj1 conj2 282 CONSTRI conj2 conj1 283 284 #CONSTR cmpl_g ~cmpl_a 285 #CONSTR cmpl_a ~cmpl_g 286 #CONSTR cmpl_inf ~cmpl_g ~cmpl_d ~cmpl_a ~cmpl_p ~cmpl_ez ~cmpl_s 287 #CONSTR subj_copred => subj 288 #CONSTR cmpl_g_copred => cmpl_g 289 #CONSTR cmpl_a_copred => cmpl_a 290 #CONSTR cmpl_i_copred => cmpl_i 291 #CONSTR cmpl_d_copred => cmpl_d 292 293 294 295 #==================================================================================================== 296 #==================================================================================================== 297 # LONG 298 #==================================================================================================== 299 #==================================================================================================== 300 301 #==================================================================================================== 302 # ncoord 303 #==================================================================================================== 304 305 LONG ncoord conj> ccmpl> 306 LONG ncoord conj2> ccmpl> 307 308 AGR ncoord C 309 AGR ncoord N 310 311 LINK N N ncoord 312 313 #==================================================================================================== 314 # vcoord 315 #==================================================================================================== 316 317 LONG vcoord conj> ccmpl> 318 319 AGR vcoord P 320 AGR vcoord N 321 AGR vcoord A 322 AGR vcoord G 323 324 LINK V V vcoord 325 326 #==================================================================================================== 327 # adjcoord 328 #==================================================================================================== 329 330 LONG adjcoord conj> ccmpl> 331 332 AGR adjcoord C 333 AGR adjcoord N 334 AGR adjcoord G 335 336 LINK ADJ ADJ ncoord 337 338 #==================================================================================================== 339 # advcoord 340 #==================================================================================================== 341 342 LONG advcoord conj> ccmpl> 343 344 AGR ncoord C 345 AGR ncoord N 346 347 LINK ADV ADV ncoord 348 349 350 #==================================================================================================== 351 # relagr 352 #==================================================================================================== 353 354 LONG relagr <subj <rel 355 LONG relagr <cmpl_a <rel 356 357 AGR relagr C 358 AGR relagr N 359 AGR relagr G 360 361 LINK NPRO/Zqr N relagr 362 363 364 #==================================================================================================== 365 #==================================================================================================== 366 # FLAG 367 #==================================================================================================== 368 #==================================================================================================== 369 370 #==================================================================================================== 371 # RQ 372 #==================================================================================================== 373 374 SET NPRO/Zrq RQ 375 SET ADJPRO/Zrq RQ 376 SET ADVPRO/Zqr RQ 377 378 PASS subj RQ 379 PASS cmpl_g RQ 380 PASS cmpl_d RQ 381 PASS cmpl_a RQ 382 PASS cmpl_i RQ 383 PASS mod RQ 384 PASS pcmpl RQ 385 PASS prep RQ 386 387 #==================================================================================================== 388 # init 389 #==================================================================================================== 390 391 #SET NPRO/Zrq init 392 #SET ADJPRO/Zrq init 393 394 #==================================================================================================== 395 # ZE 396 #==================================================================================================== 397 398 #FLAG ZE 399 400 #==================================================================================================== 401 #==================================================================================================== 402 403 #INIT RQ+ 404 405 #==================================================================================================== 406 #==================================================================================================== 407 #==================================================================================================== 408 #==================================================================================================== 409 #==================================================================================================== 410 #==================================================================================================== 411 #==================================================================================================== 412 #==================================================================================================== 413 #==================================================================================================== 414 #==================================================================================================== 415 #==================================================================================================== 416 417 418 #CLASS @Cn : */Cn 419 #CLASS @Cg : */Cg 420 #CLASS @Cd : */Cd 421 #CLASS @Ca : */Ca 422 #CLASS @Ci : */Ci 423 #CLASS @Cl : */Cl 424 #CLASS @Cv : */Cv 425 426 #CLASS @Ns : */Ns 427 #CLASS @Np : */Np 428 429 #CLASS @N : N | NPRO | NV 430 #CLASS @ADJ : ADJ | ADJPRO | ADJPRP | ADJPAP | ADJPP 4 431 5 432 #ORDER * pcmpl … … 9 436 #ORDER * refl 10 437 11 #CONSTR cmpl_g => ~cmpl_a12 #CONSTR cmpl_inf => ~(cmpl_g|cmpl_d|cmpl_a|cmpl_p|cmpl_ze|cmpl_s)13 #CONSTR subj_pred => subj14 #constr cmpl_pred => cmpl15 16 17 18 #subj19 ROLE subj # deklaracja roli (typ zaleznosci) podmiot20 AGR subj N # zgodnosc podrzednika z nadrzednikiem co do liczby21 AGR subj G # zgodnosc podrzednika z nadrzednikiem co do rodzaju22 GOV subj */Cn # wymaganie by podrzednik byl w mianowniku23 24 # pary kategorii, jakie mozna polaczyc zaleznoscia typu podmiot25 26 # nadrzednik podrzednik27 LINK V/VpP3,BYC/VpP3 N,NPRO subj28 29 # (przecinek znaczy lub)30 31 ROLE cmpl_ga # dopelnienie w bierniku/dopelniaczu32 ROLE cmpl_d # w celowniku33 ROLE cmpl_i # w narzedniku34 ROLE cmpl_inf # w bezokoliczniku35 ROLE cmpl_s # bedace zdaniem36 ROLE cmpl_ze # bedace zdaniem poprzedzonym 'ze'37 ROLE aux #38 ROLE mod # modyfikator (okolicznik/przydawka) (niewymagane okreÅlenie) (biaÅy kot)39 ROLE prep # modyfikator w postaci frazy przyimkowej40 ROLE pcmpl # dopeÅnienie przyimka (wymagany rzeczownik)41 ROLE ccmpl # dopeÅnienie spójnika (wymagany drugi czÅon konstrukcji spójnikowej)42 ROLE poss # np. ksiÄ43 ÅŒka Marii, ojciec kolegi44 ROLE restr # (bardzo <- duÅŒy)45 ROLE part # partykuÅa46 ROLE coord # koordynacja (powiÄ47 zanie pierwszego czÅonu konstrukcji wspóÅrzÄdnej48 # ze spójnikiem wspóÅrzÄdnym centralnym ( Oto [pies -> i] kot. )49 50 51 AGR aux N52 AGR aux G53 54 AGR mod N55 AGR mod C56 AGR mod G57 58 AGR pcmpl C59 60 GOV cmpl_ga */Cga61 GOV cmpl_d */Cd62 GOV cmpl_i */Ci63 GOV poss */Cg64 65 SGL subj66 SGL cmpl_ga67 SGL cmpl_d68 SGL cmpl_i69 SGL cmpl_inf70 SGL aux71 SGL pcmpl72 SGL ccmpl73 SGL poss74 SGL restr75 76 REQ P pcmpl77 REQ CONJ ccmpl78 79 RIGHT pcmpl80 RIGHT ccmpl81 RIGHT cmpl_ze82 RIGHT poss83 84 85 #cmpl_*86 LINK V,ADVPRP,ADVANP,ADJPRP,ADJPAP,NV N,NPRO cmpl_ga87 LINK V,ADVPRP,ADVANP,ADJPRP,ADJPAP,NV N,NPRO cmpl_d88 LINK V,ADVPRP,ADVANP,ADJPRP,ADJPAP,NV N,NPRO cmpl_i89 LINK V,ADVPRP,ADVANP,ADJPRP,ADJPAP,NV V/Vb cmpl_inf90 LINK V,ADVPRP,ADVANP,ADJPRP,ADJPAP,NV CONJ cmpl_ze91 92 #aux93 #czas przyszly analityczny94 LINK BYC/VpMdTf V/AiVpP3,V/AiVb aux95 #czas zaprzeszly(?)96 LINK BYC/VpMc V/VpP3 aux97 #BYC jako lacznik w (jest bialy, jest zaszlachtowany, jest pilotem)98 LINK BYC ADJPAP/Cn,ADJ/Cn,N/Ci aux99 100 #mod101 102 LINK V ADV,ADVPRP,ADVANP,ADVPRO mod103 LINK N,NV ADJ,ADJPAP,ADJPRP,ADJPRO mod104 105 106 #prep107 LINK N,V P prep108 109 #pcmpl110 LINK P N,NV pcmpl111 112 113 #poss114 LINK N N,NV,NPRO poss115 116 117 #ccmpl118 LINK CONJ V/Vp ccmpl119 120 121 #restr122 LINK ADJ ADV restr123 124 125 #part126 LINK V PART part -
src/dgp/cmdline_dgp.ggo
r5f4d9c3 ra15e59b 11 11 flag off 12 12 13 option "time" - "Print parse time." 14 flag off 15 13 16 option "info" - "Print info. 14 h - heads d - dependents 15 s - sets 16 c - constraints n - node/arc counts t - parse time 17 " 17 h - heads d - dependents 18 s - sets 19 c - constraints n - node/arc counts" 18 20 string no default="h" -
src/dgp/dgp1.cc
re7de6cc ra15e59b 303 303 //==================================================================================================== 304 304 305 bool check_boubbles_at_target(list<Boubble*> boubbles, int node) 306 { 307 for(list<Boubble*>::iterator b = boubbles.begin(); b != boubbles.end(); b++) 308 if( (*b)->is_at_target() && !grammar.check_longrel(sgraph.cat((*b)->src()), sgraph.cat(node), (*b)->rel())) 309 return false; 305 // sprawdza czy te, spo¶ród b±bli, które dotar³y do celu node 306 // daj± wynik prawdziwy, dodatkowo - usuwa je z listy boubbles 307 308 bool check_boubbles_at_target(list<Boubble*>& boubbles, int node) 309 { 310 list<Boubble*>::iterator last; // ostatnio sprawdzany b±bel 311 bool remove=false; // czy usun±æ ostatnio sprawdzany b±bel 312 313 for(list<Boubble*>::iterator b = boubbles.begin(); b != boubbles.end(); b = remove ? boubbles.erase(b) : ++b ) 314 if( (*b)->is_at_target() ) 315 if( grammar.check_longrel(sgraph.cat((*b)->src()), sgraph.cat(node), (*b)->rel()) ) 316 remove=true; 317 else 318 return false; 319 else 320 remove=false; 321 310 322 return true; 311 323 } 324 325 // bool check_boubbles_at_target(list<Boubble*> boubbles, int node) 326 // { 327 // for(list<Boubble*>::iterator b = boubbles.begin(); b != boubbles.end(); ++b ) 328 // if( (*b)->is_at_target() && !grammar.check_longrel(sgraph.cat((*b)->src()), sgraph.cat(node), (*b)->rel()) ) 329 // return false; 330 // return true; 331 // } 312 332 313 333 //==================================================================================================== -
src/dgp/grammar.cc
re7de6cc ra15e59b 187 187 Prop::add("INIT"); 188 188 Prop::add("FIN"); 189 Prop::add("LEFT"); 190 Prop::add("RIGHT"); 189 191 190 192 //<<< TU? -
src/dgp/grammar.hh
re7de6cc ra15e59b 192 192 //---------------------------------------------------------------------------------------------------- 193 193 194 inline195 bool Grammar::check_constr(NodeProp& hprop, NodeProp& dprop, int dir, Role role) // dir: 0-left 1-right196 {197 return198 !hprop.forbidden[role] &&199 ( dir==1 || !right[role] ) &&200 ( dir==0 || !left[role] ) &&201 ( dir==1 || (hprop.attached&init).none() ) &&202 ( dir==0 || (hprop.attached&fin).none() )203 ;204 }194 // inline 195 // bool Grammar::check_constr(NodeProp& hprop, NodeProp& dprop, int dir, Role role) // dir: 0-left 1-right 196 // { 197 // return 198 // !hprop.forbidden[role] && 199 // ( dir==1 || !right[role] ) && 200 // ( dir==0 || !left[role] ) && 201 // ( dir==1 || (hprop.attached&init).none() ) && 202 // ( dir==0 || (hprop.attached&fin).none() ) 203 // ; 204 // } 205 205 206 206 //---------------------------------------------------------------------------------------------------- … … 211 211 return 212 212 !hprop.forbidden[link.role] && 213 ( dir==1 || !right[link.role] ) &&214 ( dir==0 || !left[link.role]) &&213 ( dir==1 || (!right[link.role] && !link.props[Prop("RIGHT")]) ) && // ZREZYGNOWAÆ Z TABLICY right[<role>] 214 ( dir==0 || (!left[link.role] && !link.props[Prop("LEFT")]) ) && 215 215 ( dir!=0 || !hprop.init_attached ) && 216 216 ( dir!=1 || !hprop.fin_attached ) -
src/dgp/main.cc
re7de6cc ra15e59b 6 6 * Author: Tomasz Obrebski 7 7 */ 8 9 #include <ctime> 10 #include <sys/time.h> 8 11 9 12 #include "global.hh" … … 16 19 17 20 #define MAXSEGMENTS 500 21 22 #define MICROSECONDSELAPSED(A,B) ((B.tv_sec - A.tv_sec)*1000000 + (B.tv_usec - A.tv_usec)) 18 23 19 24 char segment[MAXSEGMENTS][MAXLINE]; … … 30 35 FILE* debugf=stdout; 31 36 unsigned int info=0U; 37 38 bool printtimeinfo=false; 32 39 33 40 void output(); … … 53 60 if(args.debug_given) debug=true; 54 61 62 if(args.time_given) printtimeinfo=true; 63 55 64 for(char* c=args.info_arg; *c!='\0' ; ++c) 56 65 switch(*c) … … 70 79 // exit(0); 71 80 72 81 struct timeval starttime,afterinput,afterparse,endtime; 73 82 74 83 mgraph.clear(); … … 78 87 while (fgets(line, MAXLINE+1, inputf)) 79 88 { 89 gettimeofday(&starttime,NULL); 80 90 line[strlen(line)-1] = '\0'; 81 91 strcpy(segment[segcount],line); … … 90 100 if(strcmp(segtype,"EOS")==0) 91 101 { 102 gettimeofday(&afterinput,NULL); 92 103 dgp1(); // parametry!!! MGraph, SGraph, Grammar 104 gettimeofday(&afterparse,NULL); 93 105 output(); 106 gettimeofday(&endtime,NULL); 107 108 if(printtimeinfo) 109 { 110 fprintf(stderr,"### INPUT TIME: %10.2fms\n", (float)MICROSECONDSELAPSED(starttime,afterinput)/1000 ); 111 fprintf(stderr,"### PARSE TIME: %10.2fms\n", (float)MICROSECONDSELAPSED(afterinput,afterparse)/1000 ); 112 fprintf(stderr,"### OUTPUT TIME: %10.2fms\n", (float)MICROSECONDSELAPSED(afterparse,endtime)/1000 ); 113 fprintf(stderr,"### TOTAL TIME: %10.2fms\n", (float)MICROSECONDSELAPSED(starttime,endtime)/1000 ); 114 } 94 115 95 116 mgraph.clear(); -
src/dgp/sgraph.cc
re7de6cc ra15e59b 148 148 if(node.prop.forbidden[i]) buf+=sprintf(buf,"%s!%s",(cont++)?",":"",i.str()); 149 149 for(Role i=1; i<=Role::count(); ++i) 150 if(node.prop.required[i]) buf+=sprintf(buf,"%s &%s",(cont++)?",":"",i.str());150 if(node.prop.required[i]) buf+=sprintf(buf,"%s-%s",(cont++)?",":"",i.str()); 151 151 for(Role i=1; i<=Role::count(); ++i) 152 152 if(node.prop.attached[i]) buf+=sprintf(buf,"%s+%s",(cont++)?",":"",i.str());
Note: See TracChangeset
for help on using the changeset viewer.