B 3UDB@sRddlZedjZedjZedZedZedZ[GdddZdS) Nz[a-zA-Z][-_.a-zA-Z0-9]*\s*z(\'[^\']*\'|"[^"]*")\s*z--\s*>z ]\s*]\s*>z]\s*>c@seZdZddZddZddZddZd d Zd Zd d Z d"ddZ d#ddZ ddZ ddZ ddZddZddZddZdd Zd!S)$ ParserBasecCs|jtkrtddS)Nz)_markupbase.ParserBase must be subclassed) __class__r RuntimeError)selfr./opt/alt/python37/lib/python3.7/_markupbase.py__init__s zParserBase.__init__cCs tddS)Nz.subclasses of ParserBase must override error())NotImplementedError)rmessagerrrerror szParserBase.errorcCsd|_d|_dS)Nr)linenooffset)rrrrreset$szParserBase.resetcCs |j|jfS)N)r r)rrrrgetpos(szParserBase.getposcCsb||kr |S|j}|d||}|rN|j||_|d||}||d|_n|j|||_|S)N r )rawdatacountr rindexr)rijrZnlinesposrrr updatepos0s zParserBase.updateposc Cs|j}|d}|||ddkr*|dS|||ddkrBdSt|}|||ddkrh||S||dkr~||S|||\}}|dkr|S|d krd |_x||kr||}|dkr||d|}|d kr||n |||dS|d kr&t||}|sdS| }n|d krB|||\} }nt||jkrX|d}n^|dkr|d kr~| |d|}n$|d kr| d|n | dn| d|||dkr|SqWdS)Nr >)-rz--[rZdoctyperz"'Z4abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ>attlistlinklinktypeelementz&unsupported '[' char in %s declarationz"unexpected '[' char in declarationz!unexpected %r char in declaration) rlen parse_commentparse_marked_section _scan_name_decl_othercharsZ handle_decl unknown_decl_declstringlit_matchend_parse_doctype_subsetr ) rrrrnZdecltypecdatamnamerrrparse_declaration@sX                 zParserBase.parse_declarationr cCs|j}||d|\}}|dkr&|S|dkr@t||d}n4|dkrZt||d}n|d||d||s|dS|r|d}|||d||dS)Nr>includeignorecdatarcdatatemp>endififelsez+unknown status keyword %r in marked sectionr) rr&_markedsectionclosesearch_msmarkedsectioncloser startr(r*)rrreportrZsectNamermatchrrrr%s zParserBase.parse_marked_sectioncCsj|j}|||ddkr$|dt||d}|sZhandle_commentr*)rrr?rr@rrrrr$s  zParserBase.parse_commentc Cs4|j}t|}|}x||kr.||}|dkr4|||d}|dkrNdS|dkrt|||d|d||d|krdS|d|krdS|||ddkr|j|d d }|d kr|Sq||d|\}}|dkrdS|d kr |||d|d |t|d |} | ||}|d kr,|Sq|dkr|d|krPdS||d|\}}|d krr|S||dkr,|d}q|dkr|d}x&||kr||r|d}qW||kr||dkr|S||||dndSq|r|d}q||||d|qWdS)Nnotationrentityr"z)unknown declaration %r in internal subsetZ_parse_doctype_%;]rz%unexpected char after internal subsetz%unexpected char %r in internal subset)rr#rr r$r&getattrisspace) rr declstartposrr,rr-sr0Zmethrrrr+sn                 z ParserBase._parse_doctype_subsetcCsF|||\}}|dkrdS|j}d||dkrB|d|dSdS)Nrrr )r&rfind)rrrKr0rrrrr_parse_doctype_elementsz!ParserBase._parse_doctype_elementcCs|j}|||\}}|||d}|dkr2dS|dkrB|dSxv|||\}}|dkrb|S|||d}|dkr~dS|dkrd||dkr|d|d}ndSx |||dr|d}qW||dsdSn|||\}}|||d}|s dS|dkrLt||}|r.|}ndS|||d}|sLdS|d kr||dd krldS||d|\}}|dkr|S|||d}|sdS|dkrF|dSqFWdS) Nr rrrr()z'"#)rr&rMrJr)r*)rrrKrr0rr-r/rrr_parse_doctype_attlistsZ       z!ParserBase._parse_doctype_attlistcCs|||\}}|dkr|S|j}xl|||d}|ss