ó <æCVc@s=ddlmZydddlmZddlmZmZmZmZm Z m Z m Z m Z ddl mZmZWnek r‡nXddlmZddlmZddlmZddlmZdd lmZmZdd lmZd efd „ƒYZd efd„ƒYZ d„Z!e"dkr9e!ƒndS(i’’’’(tcompat(tFont(tButtontFrametIntVartLabeltListboxtMenut ScrollbartTk(t CanvasFrametShowText(tin_idle(t RegexpTagger(t MaltParser(tVariable(t DrsDrawertDrtVariableExpression(tDrtGluet DrtGlueDemocBsõeZd„Zd„Zd„Zd„Zd„Zd„Zd„Zd„Z d„Z d „Z d „Z d „Z d „Zd „Zd„Zd„Zd„Zd„Zd„Zd„Zdd„Zd„Zd„Zd„Zd„Zd„ZRS(cCstƒ|_|jjdƒ|jƒ|j|jƒ||_g|D] }d^qF|_t|jƒ|_ |j j dƒd|_ g|_ d|_ d|_d|_|jƒ|j|jƒ|j|jƒ|j|jƒ|j|jƒ|j|jƒ|jjd|jƒdS(Ns DRT Glue Demoii’’’’s (R t_topttitlet_init_bindingst _init_fontst _examplestNonet _readingCacheRt _show_grammartsett _curExamplet _readingst_drst _drsWidgett_errort _init_gluet _init_menubart _init_buttonst_init_exampleListboxt_init_readingListboxt _init_canvast_canvastbindt _configure(tselftexamplestexample((sh/private/var/folders/cc/xm4nqn811x9b50x1q_zpkmvdjlphkp/T/pip-build-FUwmDn/nltk/nltk/sem/drt_glue_demo.pyt__init__ s(         c CsOtddddddddgƒ}td|ƒ}td|dtƒ|_dS(Ns^(David|Mary|John)$tNNPsT^(walks|sees|eats|chases|believes|gives|sleeps|chases|persuades|tries|seems|leaves)$tVBs!^(go|order|vanish|find|approach)$s^(a)$tex_quants ^(every)$t univ_quants.^(sandwich|man|dog|pizza|unicorn|cat|senator)$tNNs^(big|gray|former)$tJJs^(him|himself)$tPRPttaggert depparsertremove_duplicates(s^(David|Mary|John)$R/(sT^(walks|sees|eats|chases|believes|gives|sleeps|chases|persuades|tries|seems|leaves)$R0(s!^(go|order|vanish|find|approach)$R0(s^(a)$R1(s ^(every)$R2(s.^(sandwich|man|dog|pizza|unicorn|cat|senator)$R3(s^(big|gray|former)$R4(s^(him|himself)$R5(R RRtFalset_glue(R+R6R7((sh/private/var/folders/cc/xm4nqn811x9b50x1q_zpkmvdjlphkp/T/pip-build-FUwmDn/nltk/nltk/sem/drt_glue_demo.pyR"Is cCs’tdtƒdƒ|_|jd|jƒt|ƒ|_|jj|jjdƒƒtddddd|jjƒƒ|_ tddd|jjƒƒ|_ |jjƒdkrŹ|jjƒd }n|jjƒd }tddddd|ƒ|_ dS( Ntfonts*Fonttsizetfamilyt helveticatweighttboldii( RRt_sysfontt option_addRt_sizeRtcgettgett _boldfontt_fontt_bigfont(R+troottbig((sh/private/var/folders/cc/xm4nqn811x9b50x1q_zpkmvdjlphkp/T/pip-build-FUwmDn/nltk/nltk/sem/drt_glue_demo.pyRXs cCst|ƒ|_}|jjddddddƒt|jd|jdd ƒ|_|jjƒt|jd d d d ddddd|jddddƒ|_|jjddddddƒx(|j D]}|jj dd|ƒqČW|jj dt t |j ƒdƒddƒt |j ƒdkrƒt|jdd ƒ}|jj d!|jƒ|j d"|jjƒ|jdddd#ƒn|jjd$|jƒdS(%NtfilltbothtsidetlefttpadxiR;ttexttExamplest selectmodetsingletrelieftgroovet backgroundtwhitet foregrounds#909090tselectforegrounds#004040tselectbackgrounds#c0f0c0trighttexpanditends %stheightitwidthi(torienttverticaltyscrollcommandtcommandtys<>(Rt _exampleFrametpackRRFt_exampleList_labelRRGt _exampleListRtinserttconfigtmintlenRRtyviewR)t_exampleList_select(R+tparentt listframeR-t listscroll((sh/private/var/folders/cc/xm4nqn811x9b50x1q_zpkmvdjlphkp/T/pip-build-FUwmDn/nltk/nltk/sem/drt_glue_demo.pyR%js*    +  cCs#t|ƒ|_}|jjddddddƒt|jd|jdd ƒ|_|jjƒt|jd d d d ddddd|jddddƒ|_|jjddddddƒt |jddƒ}|jj d|j ƒ|j d|jj ƒ|jddddƒ|j ƒdS(NRKRLRMRNROiR;RPtReadingsRRRSRTRURVRWRXs#909090RYs#004040RZs#c0f0c0R[R\iR`RaRbRcRd(Rt _readingFrameRfRRFt_readingList_labelRRGt _readingListRRjRRmt_populate_readingListbox(R+RoRpRq((sh/private/var/folders/cc/xm4nqn811x9b50x1q_zpkmvdjlphkp/T/pip-build-FUwmDn/nltk/nltk/sem/drt_glue_demo.pyR&‡s"      cCs“|jjddƒx8tt|jƒƒD]!}|jjdd|dƒq)W|jjdtt|jƒdƒddƒ|jjd |j ƒdS( NiR]s %siR^iR_is<>( RutdeletetrangeRlRRiRjRkR)t_readingList_select(R+ti((sh/private/var/folders/cc/xm4nqn811x9b50x1q_zpkmvdjlphkp/T/pip-build-FUwmDn/nltk/nltk/sem/drt_glue_demo.pyRvžs +cCsž|jjd|jƒ|jjd|jƒ|jjd|jƒ|jjd|jƒ|jjd|jƒ|jjd|jƒ|jjd|jƒdS(Ns s stnstps (RR)tdestroytnexttprev(R+((sh/private/var/folders/cc/xm4nqn811x9b50x1q_zpkmvdjlphkp/T/pip-build-FUwmDn/nltk/nltk/sem/drt_glue_demo.pyRØsc Cs›t|ƒ|_}|jddddddddƒt|d d d d d dd|jƒjddƒt|d dd d d dd|jƒjddƒdS(NRKtnoneRMtbottomROitpadyiRPtPrevRVs#90c0d0RXtblackRcRNtNext(Rt _buttonframeRfRRR~(R+Rot buttonframe((sh/private/var/folders/cc/xm4nqn811x9b50x1q_zpkmvdjlphkp/T/pip-build-FUwmDn/nltk/nltk/sem/drt_glue_demo.pyR$²s"  cCs\d|_|jjƒ\}}}}|jd}d||||f|jd<|jƒdS(Niis %d %d %d %dt scrollregion(t _autostept_cframeRˆR^R(t_redraw(R+teventtx1ty1tx2ty2((sh/private/var/folders/cc/xm4nqn811x9b50x1q_zpkmvdjlphkp/T/pip-build-FUwmDn/nltk/nltk/sem/drt_glue_demo.pyR*½s   c Cst|ddddddddƒ|_|jjd d d d d dddƒ|jjƒ}|_d|_g|_d|_dS(NRVRWt closeenoughi tborderiRTtsunkenR\iRKRLRMttopR‚( R RŠRftcanvasR(Rt_treet _textwidgetst _textline(R+RoR•((sh/private/var/folders/cc/xm4nqn811x9b50x1q_zpkmvdjlphkp/T/pip-build-FUwmDn/nltk/nltk/sem/drt_glue_demo.pyR'Äs%  c Cs«t|ƒ}t|ddƒ}|jddddd|jdd ƒ|jdd ddd |ƒt|ddƒ}|jdd ddd|jdd ƒ|jddddd|jddƒ|jddddd |ƒt|ddƒ}|jddddd|jjd|j ddƒ|jddddd |ƒt|ddƒ}|j ddd|j ddddd|j ƒ|j ddd|j ddddd|j ƒ|j ddd|j ddddd|j ƒ|j ddd|j ddddd|j ƒ|j ddd|j ddddd|j ƒ|jdd ddd |ƒt|ddƒ}|jdd!ddd|j ƒ|jdd"ddd |ƒ|jd |ƒdS(#NttearoffitlabeltExitt underlineiRct acceleratortqtFiletmenuR…sn, SpacetPreviouss p, BackspacetActionsRemove DuplicatestvariabletrtOptionstTinytvaluei tSmalli tMediumitLargeitHugeitViewtAbouttHelp(Rt add_commandR}t add_cascadeR~Rtadd_checkbuttonR:R8t_toggle_remove_duplicatestadd_radiobuttonRCtresizetaboutRj(R+Rotmenubartfilemenut actionmenut optionmenutviewmenuthelpmenu((sh/private/var/folders/cc/xm4nqn811x9b50x1q_zpkmvdjlphkp/T/pip-build-FUwmDn/nltk/nltk/sem/drt_glue_demo.pyR#ŃsD    cCsŽ|j}|jdk r(|jjƒn|jrYt|j|jƒ|_|jjƒn|jrŠt|j|jƒ|_|jjƒndS(N(R(R RtclearRt DrsWidgettdrawR!(R+R•((sh/private/var/folders/cc/xm4nqn811x9b50x1q_zpkmvdjlphkp/T/pip-build-FUwmDn/nltk/nltk/sem/drt_glue_demo.pyR‹’s   cGs6d|_|jdkrdS|jjƒd|_dS(Ni(R‰RRR}(R+te((sh/private/var/folders/cc/xm4nqn811x9b50x1q_zpkmvdjlphkp/T/pip-build-FUwmDn/nltk/nltk/sem/drt_glue_demo.pyR}s   cGs›|jjƒ}|jjƒ}|dkrt|ƒdkryt|dƒ}|dkre|jƒqŠ|j|dƒq—|j|dƒn |jƒdS(Nii(Rut curselectionR<Rltintt_select_previous_examplet_readingList_store_selection(R+Ræt selectiontreadingListSizetindex((sh/private/var/folders/cc/xm4nqn811x9b50x1q_zpkmvdjlphkp/T/pip-build-FUwmDn/nltk/nltk/sem/drt_glue_demo.pyRs   cCsD|jdkr&|j|jdƒn|jt|jƒdƒdS(Nii(Rt_exampleList_store_selectionRlR(R+((sh/private/var/folders/cc/xm4nqn811x9b50x1q_zpkmvdjlphkp/T/pip-build-FUwmDn/nltk/nltk/sem/drt_glue_demo.pyRĀ0scGs›|jjƒ}|jjƒ}|dkrt|ƒdkr}t|dƒ}||dkri|jƒqŠ|j|dƒq—|jdƒn |jƒdS(Nii(RuRĄR<RlRĮt_select_next_exampleRĆ(R+RæRÄRÅRĘ((sh/private/var/folders/cc/xm4nqn811x9b50x1q_zpkmvdjlphkp/T/pip-build-FUwmDn/nltk/nltk/sem/drt_glue_demo.pyR~8s  cCsD|jt|jƒdkr3|j|jdƒn |jdƒdS(Nii(RRlRRĒ(R+((sh/private/var/folders/cc/xm4nqn811x9b50x1q_zpkmvdjlphkp/T/pip-build-FUwmDn/nltk/nltk/sem/drt_glue_demo.pyRČOscGs^dd}d}y-ddlm}|d|d|ƒjƒWnt|j||ƒnXdS(Ns?NLTK Discourse Representation Theory (DRT) Glue Semantics Demo sWritten by Daniel H. GarrettesAbout: NLTK DRT Glue Demoi’’’’(tMessagetmessageR(t tkMessageBoxRÉtshowR R(R+RætABOUTtTITLERÉ((sh/private/var/folders/cc/xm4nqn811x9b50x1q_zpkmvdjlphkp/T/pip-build-FUwmDn/nltk/nltk/sem/drt_glue_demo.pyRµXscGsd|_|jjƒdS(Ni(R‰RŠt print_to_file(R+Ræ((sh/private/var/folders/cc/xm4nqn811x9b50x1q_zpkmvdjlphkp/T/pip-build-FUwmDn/nltk/nltk/sem/drt_glue_demo.pyt postscriptbs cOs$tƒr dS|jj||ŽdS(sń Enter the Tkinter mainloop. This function must be called if this demo is created from a non-interactive program (e.g. from a secript); otherwise, the demo will close as soon as the script completes. N(R Rtmainloop(R+targstkwargs((sh/private/var/folders/cc/xm4nqn811x9b50x1q_zpkmvdjlphkp/T/pip-build-FUwmDn/nltk/nltk/sem/drt_glue_demo.pyRŃfs cCsØ|dk r|jj|ƒn|jjƒ}|jjdt|ƒ ƒ|jjdt|ƒ ƒ|jjdt|ƒ ƒ|j jdt|dƒ ƒ|j ƒdS(NR<i( RRCRRERGt configuretabsRFRARHR‹(R+R<((sh/private/var/folders/cc/xm4nqn811x9b50x1q_zpkmvdjlphkp/T/pip-build-FUwmDn/nltk/nltk/sem/drt_glue_demo.pyR“ps cCs|jj |j_|jjddƒg|_|jƒg|jD] }d^qC|_d|_ d|_ d|_ |j ƒdS(NiR]i’’’’( R:R8Rhtselection_clearRRvRRRRR!RR‹(R+tex((sh/private/var/folders/cc/xm4nqn811x9b50x1q_zpkmvdjlphkp/T/pip-build-FUwmDn/nltk/nltk/sem/drt_glue_demo.pyR²ys     cCs@|jjƒ}t|ƒdkr%dS|jt|dƒƒdS(Nii(RhRĄRlRĒRĮ(R+RŒRÄ((sh/private/var/folders/cc/xm4nqn811x9b50x1q_zpkmvdjlphkp/T/pip-build-FUwmDn/nltk/nltk/sem/drt_glue_demo.pyRn‡scCs||_|j|}|jjddƒ|r}|j|}|r{t|tƒrf||_d|_ qMg|_||_ nŅy2|j j |ƒ|_d|_ |j|j| s$: ’¤