;ò
v$„@c           @   sE   d  Z  d Z d k Z d k Z d k Z d k Td f  d „  ƒ  YZ d S(   s   Hugo Liu <hugo@media.mit.edu>s   1.3.1N(   s   *s   LexicalRuleParserc        	   B   su   t  Z e Z d Z g  Z d d d d d d d d	 d
 g	 Z e e d „  e ƒ 7Z d „  Z d „  Z	 d „  Z
 d „  Z RS(   Ns   LEXICALRULEFILEs   chars   hassufs	   deletesufs   addsufs   hasprefs
   deleteprefs   addprefs   goodlefts	   goodrightc         C   s   d |  S(   Ns   f(   s   x(   s   x(    (    s   ./omcsnet/LexicalRuleParser.pys   <lambda>   s    c         C   s_   | |  _ t i ƒ  i |  i ƒ |  _ |  i d j o d GHd GHn |  i |  i ƒ d GHd  Sd  S(   Ns    s%   ERROR: could not find LEXICALRULEFILEs'   in current dir, %MONTYLINGUA% or %PATH%s   LexicalRuleParser OK!(   s   LexiconHandles   selfs
   theLexicons
   MontyUtilss	   find_files   lexicalrules_filenames   populate_from_file(   s   selfs   LexiconHandle(    (    s   ./omcsnet/LexicalRuleParser.pys   __init__   s    		c         C   sG   |  i } x7 t t | ƒ ƒ D]# } | | } |  i | | | ƒ q Wd  S(   N(
   s   selfs	   lex_ruless   ruless   ranges   lens   is   rules
   apply_rules   text_arrs
   word_index(   s   selfs   text_arrs
   word_indexs   ruless   is   rule(    (    s   ./omcsnet/LexicalRuleParser.pys   apply_all_rules   s
    	 
c         C   sb  | | d } | | d } |  i i } | d } d } | d d j o | d } d } n | d } d }
 d } | d j o | | d d }
 n | t | ƒ d j  o | | d d } n d } | o | d } | d } n | d } | d }	 | i ƒ  } | i ƒ  } |
 i ƒ  }
 | i ƒ  } | o
 | | j o d  Sn | d j o# | | j o |	 | | d <qZnã| d	 j o- | | t | ƒ j o |	 | | d <qZn©| d
 j oD | | t | ƒ j o | | t | ƒ  ƒ o |	 | | d <qZnX| d j o' | | | ƒ o |	 | | d <qZn$| d j o- | | t | ƒ  j o |	 | | d <qZnê | d j oH | | t | ƒ  j o | | t | ƒ d ƒ o |	 | | d <qZn• | d j o' | | | ƒ o |	 | | d <qZna | d j o# |
 | j o |	 | | d <qZn1 | d j o# | | j o |	 | | d <qZn d  Sd  S(   Ns   words   posi    s   fi   s    işÿÿÿs   chars   hassufs	   deletesufs   addsufs   hasprefs
   deleteprefs   goodlefts	   goodright(   s   text_arrs
   word_indexs   words   poss   selfs
   theLexicons   is_words   rules   preds   f_ps   argss	   left_words
   right_words   lens   from_tags   patterns   to_tags   lower(   s   selfs   rules   text_arrs
   word_indexs   argss   words
   right_words   preds   poss   to_tags	   left_words   f_ps   from_tags   patterns   is_word(    (    s   ./omcsnet/LexicalRuleParser.pys
   apply_rule   sn    






.2c   	      C   sË   y§ t  | d ƒ } | i ƒ  } x{ | os t i | ƒ } d } x) |  i
 D] } | | j o | } PqG qG W| } | | g } |  i i | ƒ | i ƒ  } q! W| i ƒ  Wn d GHt i d ƒ n Xd  Sd  S(   Ns   rs    s    Error parsing Lexical rule file!iÿÿÿÿ(   s   opens   filenames   fs   readlines   lines   strings   splits   tokss   preds   selfs
   rule_namess	   rule_names   argss   rules	   lex_ruless   appends   closes   syss   exit(	   s   selfs   filenames   tokss   fs   preds   argss   rules	   rule_names   line(    (    s   ./omcsnet/LexicalRuleParser.pys   populate_from_fileW   s*     
 	(   s   __name__s
   __module__s   Nones
   theLexicons   lexicalrules_filenames	   lex_ruless
   rule_namess   maps   __init__s   apply_all_ruless
   apply_rules   populate_from_file(    (    (    s   ./omcsnet/LexicalRuleParser.pys   LexicalRuleParser   s   !	
		9(   s
   __author__s   __version__s   syss   strings
   MontyUtilss   typess   LexicalRuleParser(   s   strings
   __author__s   syss
   MontyUtilss   __version__s   LexicalRuleParser(    (    s   ./omcsnet/LexicalRuleParser.pys   ?   s
   	