§
    ]ö6iÊ  ã                   ór   — d dl mZ d dl mZ  G d„ de¦  «        Z G d„ de¦  «        Z G d„ de¦  «        Zd	S )
é    )Úabsolute_import)Úprint_functionc                   ó    — e Zd ZdZdd„Zd„ ZdS )ÚCoordzž Coordinates of a syntactic element. Consists of:
            - File name
            - Line number
            - (optional) column number, for the Lexer
    Nc                 ó>   — || _         || _        || _        d | _        d S ©N)ÚfileÚ	directoryÚlinenoÚcolumn)Úselfr	   r
   r   s       úS/home/metal/girl-os/anki/victor/victor-clad/tools/message-buffers/clad/plyparser.pyÚ__init__zCoord.__init__   s"   € ØˆŒ	Ø"ˆŒØˆŒØˆŒˆˆó    c                 óP   — | j         ›d| j        ›�}| j        r|d| j        z  z  }|S )Nú:z:%s)r	   r   r   )r   Ústrs     r   Ú__str__zCoord.__str__   s3   € Øœ˜˜ D¤K KÐ0ˆØŒ;Ð2˜˜u t¤{Ñ2Ñ2˜Øˆ
r   )NN)Ú__name__Ú
__module__Ú__qualname__Ú__doc__r   r   © r   r   r   r      sA   € € € € € ðð ð
ð ð ð ðð ð ð ð r   r   c                   ó   — e Zd ZdS )Ú
ParseErrorN)r   r   r   r   r   r   r   r       s   € € € € € € € r   r   c                   ó   — e Zd Zd„ Zd„ ZdS )Ú	PLYParserc                 óx   — |dz   }d„ }|›d|›�|_         d|z  |_        t          | j        |j        |¦  «         dS )zŽ Given a rule name, creates an optional ply.yacc rule
            for it. The name of the optional rule is
            <rulename>_opt
        Ú_optc                 ó   — |d         |d<   d S )Né   r   r   )r   Úps     r   Úoptrulez+PLYParser._create_opt_rule.<locals>.optrule+   s   € Ø�Q”4ˆAˆa‰DˆDˆDr   z : empty
| zp_%sN)r   r   ÚsetattrÚ	__class__)r   ÚrulenameÚoptnamer#   s       r   Ú_create_opt_rulezPLYParser._create_opt_rule$   s[   € ð
 ˜VÑ#ˆð	ð 	ð 	ð 18°°¸¸ÐBˆŒØ! GÑ+ˆÔÝ�” Ô 0°'Ñ:Ô:Ð:Ð:Ð:r   c                 ó"   — t          ||¦  «        ‚r   )r   )r   ÚmsgÚcoords      r   Ú_parse_errorzPLYParser._parse_error2   s   € Ý˜ Ñ$Ô$Ð$r   N)r   r   r   r(   r,   r   r   r   r   r   #   s2   € € € € € ð;ð ;ð ;ð%ð %ð %ð %ð %r   r   N)Ú
__future__r   r   Úobjectr   Ú	Exceptionr   r   r   r   r   ú<module>r0      s¥   ðð 'Ð &Ð &Ð &Ð &Ð &Ø %Ð %Ð %Ð %Ð %Ð %ðð ð ð ð ˆFñ ô ð ð$ "Ð !Ð !Ð !Ð !�Ñ !Ô !Ð !ð%ð %ð %ð %ð %�ñ %ô %ð %ð %ð %r   