gdSc@sdZddlZddlZddlmZddlmZddlmZddl m Z ddl m Z ddl mZmZdd lmZmZdd lmZdd lmZdd lmZmZdd lmZejdZdefdYZdefdYZde fdYZ defdYZ!defdYZ"defdYZ#de fdYZ$ddZ&dZ'defd YZ(ejd!ej)Z*d"Z+d#efd$YZ,d%efd&YZ-dS('s sphinx.domains.std ~~~~~~~~~~~~~~~~~~ The standard domain. :copyright: Copyright 2007-2014 by the Sphinx team, see AUTHORS. :license: BSD, see LICENSE for details. iN(tnodes(t directives(tViewList(taddnodes(tXRefRole(tl_t_(tDomaintObjType(tObjectDescription(tws_re(t clean_astextt make_refnode(t Directives"((?:/|-|--)?[-_a-zA-Z0-9]+)(\s*.*)t GenericObjectcBs,eZdZdZdZdZdZRS(sM A generic x-ref directive registered with Sphinx.add_object_type(). tcCsZ|jr$|j|j||}n2|j|tj||7}tjd|}|S(NR(t parse_nodetenvtclearRt desc_nameR tsub(tselftsigtsignodetname((s</usr/local/lib/python2.7/site-packages/sphinx/domains/std.pythandle_signature(s   cCsd|j|f}|dj||jjj||jr|jjd}|dkr|j| j}|j|dj|f}nd}|j|f}|jdj|||dfn|j j |f|j j d d |j|fzstclassestglossarycss|]}|dVqdS(iN((t.0titem((s</usr/local/lib/python2.7/site-packages/sphinx/domains/std.pys s(!R"R#RBRRRRNtziptcontenttitemsR!tisspaceRhtreportertsystem_messageRRJRtlstript inline_textRRt paragraphRRRRt definitiont nested_parsetdefinition_list_itemtoptionstsorttdefinition_list(RRR:Rt in_definitiont was_emptytmessagesRRRVt indent_lenRttermsRt termtextsRtsystem_messagesRtresttmpRRRRytdefnodetdlist((s</usr/local/lib/python2.7/site-packages/sphinx/domains/std.pyRIs +  "  ! "            ( R0R1R2RNRKRLRMRJRORtflagRPRI(((s</usr/local/lib/python2.7/site-packages/sphinx/domains/std.pyR s s`(\w+)`c Csg}d}xtj|D]}|j|krc|||j!}|jtj||ntj|jdddddd|jd}|tj |jd|jddd g7}|j||j }qW|t |kr|jtj||||n|S( Niitreftypettokent refdomainRR6Rtxref( ttoken_retfinditertstartR!RtTextRt pending_xreftgrouptliteraltendR(RotretnodestposR]ttxtRp((s</usr/local/lib/python2.7/site-packages/sphinx/domains/std.pyt token_xrefss-1 $tProductionListcBs5eZdZeZdZdZeZiZ dZ RS(s0 Directive to list grammar productions. iic Css|jjjj}|jdd}tj}g}d}x*|jdjdD]}|dkrvd|krvqRn|d7}y|jdd\}}Wnt k rPnXtj } |j | d<| drDd| d} | |jjj kr| d j | n|jjj| | |j| f|d | df    *    cCsS|dkr|drD|jdj|d\}} |j} n"|jdj|d\}} } |spdStjdddt} tj| | } ||kr| | d s8  #&7  w (