HEX
Server: Apache
System: Linux srv1.prosuiteplus.com 5.4.0-216-generic #236-Ubuntu SMP Fri Apr 11 19:53:21 UTC 2025 x86_64
User: prosuiteplus (1001)
PHP: 8.3.20
Disabled: NONE
Upload Files
File: //usr/lib/python3/dist-packages/pygments/lexers/__pycache__/int_fiction.cpython-38.pyc
U

G�
\���@s�dZddlZddlmZmZmZmZmZmZm	Z	ddl
mZmZm
Z
mZmZmZmZmZmZmZddddgZGd	d�de�ZGd
d�de�ZGdd�de�ZGdd�de�ZdS)
z�
    pygments.lexers.int_fiction
    ~~~~~~~~~~~~~~~~~~~~~~~~~~~

    Lexers for interactive fiction languages.

    :copyright: Copyright 2006-2017 by the Pygments team, see AUTHORS.
    :license: BSD, see LICENSE for details.
�N)�
RegexLexer�include�bygroups�using�this�default�words)
�Text�Comment�Operator�Keyword�Name�String�Number�Punctuation�Error�Generic�Inform6Lexer�Inform6TemplateLexer�Inform7Lexer�
Tads3Lexerc<@s�eZdZdZdZddgZdgZejej	Bej
BZdZdZ
dZd	Zd
Zdeefejdfed�gd
efdeejfged�dedfdedfdefed�ged�dedfdeefedfde
efde
edfged�dedfdedfdedfdeefde
efd ed!fd"e
ed!fd#ejd!fd$efd%ejd&fd'efed�g
ded(fd)efd*e
ed!fd$ejfd+ed,fed-�gded.fd/edfed-�gd0ed!fed-�gd edfed-�gd1ejdfed2�ged�d3eefe j!dfd4eefe"e j!e j#e j!�dfd5eefe"e j!e j#e j!�dfd6ee jd7fd6ee j$d8fd9e
e
fe%j&dfd:e%j'dfd;e%j(dfd<e%j)dfd=ee"ee�dfd>ee"eej*j+�dfd?ed@fdAee"eej,�dfdBej-dCfe.dDdEdF�ej-dfdGej-dfe.dHdIdEdJ�ej-dfe.dKdIdEdJ�ej-dfeedfgdLe j#fdMee jfdNe jfdOe j#fdPe j#fd6ee jdfgdLe j#fdMee j$fdNe j$fdQe j#fdReefe j#fdSeeefe j#fdTeefe j#fd6ee j$dfgdUee j$fdVe j$fdQe j#fd6ee j$dfged�eej/dfedW�ged�eej*j+dfedW�ged�eejdfed�ged�eej*dfed�gdXe j0dfged�eej-dfged�dBefd+edfdedYfe.dZdIdEdJ�ed[fd\ed]fd^ed_fd`edafdbedcfdde"ee�fdeedffdgedhfdiedjfdkedlfdmedhfdnedofdpedqfdredsfdtedufdvedwfdxedyfdzed{fd|ed}feej1dqfged�eej,dfed�ged�d+edfd~efde j$d�feej*fged�d+efd�edfd/efed�ged�d�ed�fed�ged�d�edfeej1dfged�ded�fed�gd*e
efd�ejdfed��ged�d+ed.fd efd�ejd�fd�ejfd/efed��ged�d�edfeej1fedW�ged�d�ed�fd~ed�fed��ged�d+edfd�efd*e
edWfd�ed�fed��ged�d�ed�fed�ged�d+edfd efd�ed�fed��ged�d6ee j$d�fed��ged�d6ee j$d�fgdLe j#fed��ged�e.d�dEdF�edfd�e
edfged��edW�ged��ed�ged�d�efed�ged�e.d�dEdF�edfed�ged�d�edfd�efe.d�dEdF�ed[fd�efd�ed�fd�ed�fd�ed�fd�ed�fd�ed�fd�eed�fd�ejd&fd�ed�fd�edfded[fd�ed�fed��ged�d�edfd�eejdfd�eefej,dfed�ged�dedfed�ged�d+ed�fed��ged�d+edfd/efed��ged�ded�fed�ged�d6ee j$d�feed�fgd/efed��gd��2Z2d�d��Z3d�S)�rz^
    For `Inform 6 <http://inform-fiction.org/>`_ source code.

    .. versionadded:: 2.0
    zInform 6Zinform6Zi6z*.infz[a-zA-Z_]\w*u	\-‐-—u"“”u'‘’u
\n…

z\A(!%%[^%s]*[%s])+�	directive�\s+�![^%s]*�_whitespace�\[�many-valuesz:|(?=;)�#pop�<)�
expression�_expressionz(?=sp\b)z(?=[%s%s$0-9#a-zA-Z_]))r�valuez\+\+|[%s]{1,2}(?!>)|~~?z(?=[()\[%s,?@{:;])�\(�\))r�
statements�localsz>(?=(\s+|(![^%s]*))*[>;])z\+\+|[%s]{2}(?!>)�,r z6&&?|\|\|?|[=~><]?=|[%s]{1,2}>?|\.\.?[&#]?|::|[<>+*/%%]z*(has|hasnt|in|notin|ofclass|or|provides)\bzsp\bz\?~?�label?z[@{])�#pushr z[\[\]]z[%s]>�;�#pop:3r�#pop:2�:z(from|near|to)\bzhas\b�_list-expressionz[%s][^@][%s]z#([%s])(@\{[0-9a-fA-F]{1,4}\})([%s])z([%s])(@.{2})([%s])�[%s])r�dictionary-word)r�stringz)\$[+%s][0-9]*\.?[0-9]*([eE][+%s]?[0-9]+)?z\$[0-9a-fA-F]+z	\$\$[01]+z[0-9]+z
(##|#a\$)(%s)z
(#g\$)(%s)z#[nw]\$)r�obsolete-dictionary-wordz
(#r\$)(%s)�#)r�system-constant)ZchildZchildrenZelderZeldestZglkZindirect�	metaclass�parentZrandomZsiblingZyoungerZyoungestz\b)�suffixz#(?i)(Class|Object|Routine|String)\b)2ZBox__RoutineZCA__PrZCDefArtZ	CInDefArtZCl__MsZCopy__PrimitiveZCP__TabZDA__PrZDB__PrZDefArtZ
Dynam__StringZ
EnglishNumberZ	Glk__WrapZIA__PrZIB__PrZInDefArtZMain__ZMeta__classZOB__MoveZ
OB__RemoveZOC__ClZOP__PrZPrint__AddrZPrint__PNameZPrintShortNameZRA__PrZRA__ScZRL__PrZ	R_ProcessZRT__ChGZRT__ChGtZ	RT__ChLDBZ	RT__ChLDWZRT__ChPRZRT__ChPrintAZRT__ChPrintCZRT__ChPrintOZRT__ChPrintSZRT__ChPSZRT__ChRZ	RT__ChSTBZ	RT__ChSTWZRT__ChTZRT__ErrZRT__TrPSZRV__PrZ	Symb__TabZUnsigned__CompareZWV__PrZ	Z__Regionz(?i))�prefixr6)2�call�copyZcreate�DEBUGZdestroyZDICT_CHAR_SIZEZDICT_ENTRY_BYTESZDICT_IS_UNICODEZDICT_WORD_SIZEZfalseZFLOAT_INFINITYZ	FLOAT_NANZFLOAT_NINFINITYZGOBJFIELD_CHAINZGOBJFIELD_CHILDZGOBJFIELD_NAMEZGOBJFIELD_PARENTZGOBJFIELD_PROPTABZGOBJFIELD_SIBLINGZGOBJ_EXT_STARTZGOBJ_TOTAL_LENGTHZGrammar__VersionZINDIV_PROP_STARTZINFIXZinfix__watchingZMODULE_MODE�nameZnothingZNUM_ATTR_BYTES�printZprint_to_arrayZrecreateZ	remaining�selfZsenderZSTRICT_MODEZsw__varZ
sys__glob0Z
sys__glob1Z
sys__glob2Zsys_statusline_flagZTARGET_GLULXZTARGET_ZCODEZ
temp__global2Z
temp__global3Z
temp__global4Ztemp_global�trueZUSE_MODULESZWORDSIZEz[~^]+z
[^~^\\@({%s]+z[({]z@\{[0-9a-fA-F]{,4}\}z@.{2}z\\z(@(\\\s*[%s]\s*)*@((\\\s*[%s]\s*)*[0-9])*zC@(\\\s*[%s]\s*)*\{((\\\s*[%s]\s*)*[0-9a-fA-F]){,4}(\\\s*[%s]\s*)*\}z!@(\\\s*[%s]\s*)*.(\\\s*[%s]\s*)*.z[^~^\\({\[\]%s]+z
[~^({\[\]]r!z\S\w*)rr$r%�
routine-name?)Z
abbreviateZendif�
dictionaryZifdefZiffalseZifndefZifnotZiftrueZifv3Zifv5�release�serialZswitchesZsystem_file�versionrz(?i)(array|global)\b)r�directive-keyword?�_globalz(?i)attribute\b)r�alias?�	_constantz(?i)class\b)�object-body�
duplicates�
class-namez(?i)(constant|default)\b)rrrGz(?i)(end\b)(.*)z(?i)(extend|verb)\b�grammarz(?i)fake_action\b)rrGz(?i)import\b�manifestz(?i)(include|link)\b)r�before-plain-stringz(?i)(lowstring|undef)\bz
(?i)message\b)r�
diagnosticz(?i)(nearby|object)\b)rH�_object-headz(?i)property\b)rrFrG�property-keyword*z
(?i)replace\b)rr?r?z(?i)statusline\b)rrDz
(?i)stub\b)rr?z(?i)trace\b)r�trace-keyword?rQz(?i)zcharacter\b)rrDrDz\*�"�plain-string�\]zalias\b)rrGz#(?=[,;]|(class|has|private|with)\b))rrr z(class|has|private|with)\brE�class\b�
class-segmentz(has|private|with)\b)�_object-expressionr �=)rr)r�grammar-line�_directive-keywordz[/*]z(noun|scope)\b�=routiner?z(?i)global\b)r�message-string)rrMrD)rrS)$Zadditive�alias�buffer�classZcreature�data�errorZ
fatalerror�firstZhasZheld�initialZinitstrZlastZlong�metaZmultiZmultiexceptZ	multiheldZmultiinsideZnounZnumberZonlyZprivate�replace�reverseZscopeZscoreZspecialr0�tableZterminating�timeZtopicZwarning�withz[%s]{1,2}>|[+=]�_directive-keyword!z(additive|long)\b)Zassemblyr@Zexpressions�linesZlinkerZobjectsZoffZonZsymbols�tokensZverbsz[;{}])Zbox�break�continuerZgiveZ	inversionZnew_line�quit�read�remove�returnZrfalseZrtrueZspacesr0Zuntilz(do|else)\bz(font|style)\b)r�miscellaneous-keyword?zfor\b)�for�(?z(if|switch|while))rr ruz(jump|save|restore)\b)rr'zobjectloop\b)�_keyword-expression�	variable?ruzprint(_ret)?\b|(?=[%s])�
print-listz\.�@�opcodez#(?![agrnw]\$|#)zmove\b)rrvr z:(bold|fixed|from|near|off|on|reverse|roman|to|underline)\bzX(a|A|an|address|char|name|number|object|property|string|the|The)\b(?=(\s+|(![^%s]*))*\))z%s(?=(\s+|(![^%s]*))*\)))�_for-expressionr )r-r r-�form)rrs)�operandsrSr})�_assembly-expressionr )2�rootrrr rr~r{rvr-rWr!r/r0rSrGrEr'rwr1r3rr?r%rrFrJrIrOrHrVrKrYr[rLrNrMr\rjrZrDrPrQr$rsrurtrxr|rzr}ccs�g}d}d}t�||�D]�\}}}|tjkrF|dkrF|||gg}d}nx|dkrx|tkrf|tkrf|d8}|�|||f�nF|dkr�|dddkr�t|dd<|r�|�d�Vq�d}|||fV|tkr|tkr|}q|r�|�d�Vq�dS)N����in�r��))	r�get_tokens_unprocessedr
�Variabler
r	�appendr�pop)r=�textZobjectloop_queueZobjectloop_token_countZprevious_token�index�tokenr!�r��=/usr/lib/python3/dist-packages/pygments/lexers/int_fiction.pyr��s0�z#Inform6Lexer.get_tokens_unprocessedN)4�__name__�
__module__�__qualname__�__doc__r;�aliases�	filenames�re�	MULTILINE�DOTALL�UNICODE�flags�_name�_dash�_dquoteZ_squote�_newliner
�Preprocrr	�Singlerrr�Wordr
�Labelrr�PseudoZDeclarationrZCharr�Escape�Doubler�Float�HexZBin�Integerr�ZGlobal�Function�Builtinr�Constant�Other�Classrlr�r�r�r�r�rs0����
�
�	

��
��	���
�
�
�
�


�
��

��
�
��?�	����
���
��
�
�
�
�������������
�*
�
�	�	�
��

�
�
���	��	�����������������
�����������������;c@s�eZdZdZdZddgZddgZejej	Bej
BZej
Z
ejZejZdeZiZdd	d
gZeD�]�Zeejd�dejejd
fgdefdejdfdeejdfed�gdeejfdeejdfgdejdfdeefejfdeejdfdeeefedfdeedfdeejfgdeefefdeejdfdedfd ed!fdejdfd"e
e
feee e!d#dd$�e�fd%eeefed&fd'eefgd(efdejdfd"e
e
feee e!d)d	d$�e�dfed�gd(efdejdfd"e
e
feee e!d#d
d$�e�dfed�gd*ejfdejd+fd,ejdfgd-eejfd.ej"fdeejdfgdefdejdfd/e
ed0fd1e
efd2eejdfed�gd(efdejdfd3ed4fed�gd(efdejdfd5e
ed6fed7�gd8eefejfd9eefej#fd:eefe e!d;d<�fd=eefefdejdfgd>eefejfd?ee
efejfd@eefejdAfge$d�dBeeee�fgdCeee e!d;d<�e�fgdDe
eeej%e�fdEe
eee&eee�dFfdGe
eee&eee�fdHeee e!d;d<�e�fgdIejfd>eefejdfdJee
fejfd@eefejfdKejfgd>eefejfdLee
efejfd@eefejdAfdMeefe&fdNeej%fdOe
eee&e�dfdPeefgdQ�ee<ejD]VZ'e'dk�r��q�eeje'�eee'<e'�(dR��s�e$dS�e$e�geee'dTdU�<�q�q^dVdW�Z)dTS)XrzW
    For `Inform 7 <http://inform7.com/>`_ source code.

    .. versionadded:: 2.0
    zInform 7Zinform7Zi7z*.niz*.i7xz\A|(?<=[%s])�+i6t-not-inline�+i6t-inline�+i6t-use-optionrz[^%s]*)r�+pz(\|?\s)+r�+commentr.)�+main�+titling�+titling-string)r��	+heading?z[^%s]+rz[^%s.;:|%s]+r�z[%s]{2}|(?<=[\s%s])\|[\s%s])rr�z[.;:]|(?<=[\s%s])\|z[|%s]z(?i)[^%s:a\[(|%s]+�+textr,�+phrase-definitionz
(?i)\bas\b�+use-optionz(\([%s])(.*?)([%s]\)))�+i6-rootr)�state�i6tz (%s|(?<=[\s;:.%s]))\|\s|[%s]{2,}r�z(?i)[a(|%s]r)r�rrr$z[^\[\]]+r(rTz[^\[%s]+z\[.*?\]z
[%s]{4}\s+�+documentation-headingz	[%s]{1,3}z.(?i)(volume|book|part|chapter|section)\b[^%s]*z(?i)documentation\s+�+documentation-heading2z	[%s]{4}\s�+documentationr+z&(?i)(%s)\s*(chapter|example)\s*:[^%s]*z(?i)(%s)\s*section\s*:[^%s]*z((%s)\t.*?[%s])+r��r�z[^%s\[]+|[%s\[]z(%s)@c( .*?)?([%s]|\Z)z(%s)@([%s]+|Purpose:)[^%s]*z(%s)@p( .*?)?([%s]|\Z)r�z(\{)(N)(\})z(\{)(\S[^}]*)?(\})z(\{[%s])(![^}]*)(\}?)z(\{[%s])(lines)(:)([^}]*)(\}?)�+linesz (\{[%s])([^:}]*)(:?)([^}]*)(\}?)z(\(\+)(.*?)(\+\)|\Z)z[^@]+z(%s)@([%s]|Purpose:)ryz(%s)@([%s]|Purpose:)[^%s]*z
(%s)@\w*[ %s]rz(\{)([%s]endlines)(\})z[^@!{]+?([%s]|\Z)|.)r��	+i6t-rootrr�r�r�r�r�r�r�r�r�r�r�r�r�r��+i6tr�r��_r�NrcKsD|�dd�}||jkr&|j�|�|_n|j||_tj|f|�dS)Nr�r�)�getZ_all_tokens�	__class__Zprocess_tokendefZ_tokensr�__init__)r=Zoptions�levelr�r�r�r��s

zInform7Lexer.__init__)*r�r�r�r�r;r�r�r�r�r�r�r�rr�r�r�Z_startrlZtoken_variantsr��listr
r�r	�	MultilinerZHeadingrrr�rrrr�InterpolZ
Subheadingrr�rr��
startswithr�r�r�r�r�rs�

��

���
��


�����
�

����

����


��

��

�
���
�

�
�
��
��	�����
��
�����
�
��

��
�
�
���
!

&c@s*eZdZdZdZdgZdgZd	dd�ZdS)
rz�
    For `Inform 6 template
    <http://inform7.com/sources/src/i6template/Woven/index.html>`_ code.

    .. versionadded:: 2.0
    zInform 6 templater�z*.i6t�r�cCst�|||�S)N)rr�)r=r��stackr�r�r�r��sz+Inform6TemplateLexer.get_tokens_unprocessedN)r�)r�r�r�r�r;r�r�r�r�r�r�r�r�s
cT@seZdZdZdZdgZdgZejej	BZ
dZdZdZ
dZd	Zd
ZdeefZdeefZd
e
fdd�Ze
fdd�Ze
fdd�Zdefdedfdefdedfdeefeejeedd�e�dfed�defdefd ed!fg	ed"�ed#�gd$ed%fded&fed�gd$efded'fd(ed%fd)ed*fd+eefeejeedd�e�d,fd-eefeejeedd�e�dfd.eefeej eedd�e�d/fed�d0eed1fed2�g
ed"�d3eefeej eedd�e�d4fed5�gded6fed�d7ed8fed9�gded6fed�ed%�gd:efded'fd(ed%fd;e!j"fd.eefeej#eedd�e�fed�ged<�d ed=fgd>e$j%d%fed<�d ed?fged�d@ed4fdAedBfdedCfdDed%fdEe&j'd%fdFe&j(d%fdGe&j)d%fdHe&j*d%fdIe$j+dJfdKe$j,dLfdMe$j+dNfdOe$j,dPfdQe$j-dRfdSe$j-dTfdUe$j-dVfdWe$j-dXfdYeee!j"eedd�e!j"�fdZeee!j"eedd�e�d[fd\eee!j"eedd�e!j"�d]fd^eee!j"eedd��fd_eee!j"eedd�e!j"�d`fdaeee!eedd�e!j"�dbfdcej.d%fdde!j"defdfe!j"fdge!j"dhfdie!j"djfdke!j"d%fdle!j"dmfdne!j"dofdpe!j"dqfdre!j"dsfdte!j"dufdve!j"dwfdxe!j"dyfdze!j"d{fd|e!j"d%fd}e!j"d~fde!j/d%fd�e!j"d9fd�e!j"d�fd�e!j"d�fd�ej.j0d%fd�e!j"d`fd�eee1j2eedd�e1�d�fd�e1j2fd�ej.d%fg0ed"�eed%fed%�gd@ed�fdAed=fd�efd�ed1fd�ed%fed�ee1d1fd�e1d�fd�eee1j2eedd�e1j2�fd�efg
ed��ed%�gd�e1d%fed��gd>e$j%d5fed��gd@edsfdze!j"d�fed1�gd(ed%fd�ed�fd�e!d�fed��geej d%fed�gd�ed�fed��gd�ed1fed��gd�eefeej eedd��d%fd�eeefeej3eedd�ej �d%fd�efed"�eej d%fed%�gd�eeeeedd��fd�efd�ed�fd�ed�fd�ed�fed��gd�ed%fed��gd�e!d%fed�ed%�gd�ed�fd�e1d%fed��gd�e!d%fed�gd�efeej4d�fed�ged�d�e!dmfedm�gd�efd@ed�fd)ed�feej3fed�ged�d�e$j5d%fged��ed�d�eeeeedd�e!�d1fd�eefeej/fed5�gd)ed%fgd�e$j%fd�eefed%feejd%fed�gd�ed�fed�eej3d%fed%�gd�e1j2d%fed�ee1fed%�gd@ed�fded&fed�gd�ed%fed��dxe!j"fed�d�eefeej fgdDed%fd�e!j"d%fd�e!j"feej3d%fed�ed%�gd�ed�fed�d�ed%fed%�gd�efd$ed%fd�e!j"feej/fed�geej#d%fed�ed%�gd�efd�ed%fed�eej fgd�eefe6j7fee6j,fee6j8fd�eefgdIe$j+d�fdKe$j,d�fdMe$j+d�fdOe$j,d�fgd�e
e$j9fgd�e$j%fd�e
e
fe$j%d�fgd�ej:fged�d΃ed�dσed�d΃ed�dσed�d�dЃed�d�dЃed�d�dЃed�d�dЃed�d�dуed�d�dуed�d�dуed�d�dуed�d΃ed�dσed�d΃ed�dσedMd�d΃edMd�dσedMd�d΃edMd�dσedOd�d΃edOd�dσedOd�d΃edOd�dσeed�d΃eed�dσeed�d΃eed�dσd�e$j-fd�e$j-fd�e$j-d%fdMe$j-fgd�e$j-fd�e$j-fd�e$j-d%fdOe$j-fgd�e$j-fd�e$j-fdMe$j-d%fgd�e$j-fd�e$j-fdOe$j-d%fgdڜPZ;d�d܄Z<d
S)�rz;
    For `TADS 3 <http://www.tads.org/>`_ source code.
    zTADS 3Ztads3z*.tz(?://(?:[^\\\n]|\\+[\w\W])*$)z(?:/\*(?:[^*]|\*(?!/))*\*/)zM(?:\\(?:[\n\\<>"\'^v bnrt]|u[\da-fA-F]{,4}|x[\da-fA-F]{,2}|[0-3]?[0-7]{1,2}))z(?:[_a-zA-Z]\w*)z(?=\s|\\?>)zD(?:&&|\|\||\+\+|--|\?\?|::|[.,@\[\]~]|(?:[=+\-*/%!&|^]|<<?|>>?>?)=?)z(?:\\|\s|%s|%s)z(?:\\\n|[^\S\n]|%s|%s)Nc
	Csz|rd�dd�|D��}|r dnd}|r.tjntj}|rDd||fnd}d|rRdnd|r\d	nd
f}d|}g}	|r�|	d||d
fd|tjf||fg7}	n|	�||d
f�|	td�d||fg7}	|r�|	�d||ftjd
d||ff�n`|	d||||ft	j
fdtjd
d||ffdtjd
d||ffd||||ftj|ftd�g7}	|	td�d||||ftjfd|fg7}	|	S)N�cSs,g|]$}dt�|���t�|���f�qS)z	(?:%s|%s))r��escape�lower�upper)�.0�cr�r�r��
<listcomp>�s��z1Tads3Lexer._make_string_state.<locals>.<listcomp>rR�'�
+|%s(?!%s{2})�%s%s�t�d�sz%sqtz%s{3,}rz\\%s+�
s/verbatimz[^\\<&{}%s]+z!\\?<(/|\\\\|(?!%s)\\)%s(?=[\s=>])z%sqsz(\\?<!([^><\\%s]|<(?!<)|\\%s%s|%s|\\.)*>?z(?i)\\?<listing(?=[\s=>]|\\>)z%sqs/listingz(?i)\\?<xmp(?=[\s=>]|\\>)z%sqs/xmpz(\\?<([^\s=><\\%s]|<(?!<)|\\%s%s|%s|\\.)*�s/entity�s/escape�%\{([^}<\\%s]|<(?!<)|\\%s%s|%s|\\.)*\}z[\\&{}<])�joinrr�r�r�r�rr
�Tagr
r�r�)
�triple�doubleZverbatim�_escape�charr��escaped_quotesr7Ztag_state_namer�r�r�r��_make_string_state�st
��
���
����
���
���zTads3Lexer._make_string_statec
Cs�|rdnd}|rdnd}d|r"dnd|r,dndf}|r>tjntj}|rTd	||fnd}d
||f|dfdtfd
tttj�d|fdtttj�d|fdtd|fdtjdfd||||ftjfd||||ftj	ft
d�t
d�t
d�dtj	fgS)NrRr��{3,}r�z%s%sqtr�r�r�r�r�r+z
(\s|\\\n)+z	(=)(\\?")zdqs/%sz	(=)(\\?')zsqs/%srXzuqs/%sz\\?>rr�z$([^\s=><\\%s]|<(?!<)|\\%s%s|%s|\\.)+r�r�r�z[\\{}&])rr�r�r	rrr
r�r�Z	Attributer)r�r�r�r�Z
quantifierZ
state_namer�r�r�r�r��_make_tag_state)s<��

��
���zTads3Lexer._make_tag_statec		Cs�|dkrtjn|dkrtjntj}|r*dnd}|r6dnd}|rDtjntj}|rZd||fnd}d||f|dfd|tjkr~dnd|f|d	ftd
�td�d||||ftjfd
|tjkr�dnd|ftd�d|fgS)NrRr�r�r�r�r�r*z\\?rr�r�r�z([^\s"\'<%s{}\\&])+�>r�z
["\'\s&{<}\\])rr�r�r�rr�)	�
terminatorZhost_tripleZhost_doubler�r�Z	host_charZhost_quantifierZ
host_tokenr�r�r�r��_make_attribute_value_stateBs8����
����z&Tads3Lexer._make_attribute_value_stateuz\{rHz;+z�(?=(argcount|break|case|catch|continue|default|definingobj|delegated|do|else|for|foreach|finally|goto|if|inherited|invokee|local|nil|new|operator|replaced|return|self|switch|targetobj|targetprop|throw|true|try|while)\b)�blockz
(%s)(%s*)(\()�
whitespacer�)�block?/root�more/parameters�main/parametersz\++z[^\s!"%-(*->@-_a-z{-~]+z(?!\Z)�	main/root�
main/basic)r�object-body/no-braces�classesr_r)r)rrHr(z\}r,)r�r_z(%s?)(%s*)(\())�block?r�r�z
(%s)(%s*)(\{)z(%s)(%s*)(:))r�r�r_z->|%s�main�main/object-bodyz
(%s)(%s*)(=?))r�morer�r+)rr�z(?=[\[\'"<(:]))rr�rK�
grammar-rules)rr�z[;:]+z	default\b�block/basic)r�r�z>>)�
more/embedr�r"r)r�	more/listr�)r�
more/inner�
main/innerr�r�z\*|\.{3}z(?i)0x[\da-f]+z5(\d+\.(?!\.)\d*|\.\d+)([eE][-+]?\d+)?|\d+[eE][-+]?\d+z0[0-7]+z\d+z""")r�tdqsz''')r�tsqsrR)r�dqsr�)r�sqszR""")r�tdqrzR''')r�tsqrzR")r�dqrzR')r�sqrz(extern)(%s+)(object\b)z(function|method)(%s*)(\())rr�r�r�z(modify)(%s+)(grammar\b))rr�r,rKz#(new)(%s+(?=(?:function|method)\b))z(object)(%s+)(template\b))r�templatez(string)(%s+)(template\b))r�
function-namez>(argcount|definingobj|invokee|replaced|targetobj|targetprop)\bz(break|continue|goto)\b)r�labelz0(case|extern|if|intrinsic|return|static|while)\bzcatch\b)r�catchrU)rr�r_z(default|do|else|finally|try)\bz(dictionary|property)\b)r�	constantszenum\b)r�enumzexport\b)rr�z(for|foreach)\b)rr�r�z(function|method)\b)rr�rz	grammar\b)rr�rKzinherited\b)r�	inheritedzlocal\b)r�
more/local�
main/localz)(modify|replace|switch|throw|transient)\bznew\b)rr_z(nil|true)\bzobject\bz
operator\b)r�operatorz
propertyset\b)r�propertysetr�zself\bz
template\bz(__objref|defined)(%s*)(\())r�
more/__objrefr�zdelegated\ba*(__DATE__|__DEBUG|__LINE__|__FILE__|__TADS_MACRO_FORMAT_VERSION|__TADS_SYS_\w*|__TADS_SYSTEM_NAME|__TADS_VERSION_MAJOR|__TADS_VERSION_MINOR|__TADS3|__TIME__|construct|finalize|grammarInfo|grammarTag|lexicalParent|miscVocab|sourceTextGroup|sourceTextGroupName|sourceTextGroupOrder|sourceTextOrder)\b)r�r�z\.{3}z->|\.\.z(?=;)|[:)\]]z\?)r��more/conditionalr�z(is|not)(%s+)(in\b)z[^\s!"%-_a-z{-~]+�
more/basicz:(?!:)r�)rrr&r�z(in|step)\brz[,:]z(%s)(%s*)(?=:)z
(%s)(%s+)(%s)z\[+z(:)(%s*(?=[?=,:)]))z[?\]]+z[:)])r�multimethod?r�rX)�more/parameterr�z(?=[,)])z
multimethod\b�moder#z(error|warn)\bz\(+)r�	variablesztoken\bz\)+�grammar-tagr�a!"""([^\\"<]|""?(?!")|\\"+|\\.|<(?!<))+("{3,}|<<)|R"""([^\\"]|""?(?!")|\\"+|\\.)+"{3,}|'''([^\\'<]|''?(?!')|\\'+|\\.|<(?!<))+('{3,}|<<)|R'''([^\\']|''?(?!')|\\'+|\\.)+'{3,}|"([^\\"<]|\\.|<(?!<))+("|<<)|R"([^\\"]|\\.)+"|'([^\\'<]|\\.|<(?!<))+('|<<)|R'([^\\']|\\.)+'|([^)\s\\/]|/(?![/*]))+|\)r0z(\[)(%s*)(badness)z
->|%s|[()]z(<<([^>]|>>>|>(?!>))*>>)+z(?=%s?%s*[({])r)rr�r_znegate\b)r�r�z(?=;)z->|\?|%sztransient\bz[:,]r_r�z,+z
property\bz^%s*#(%s|[^\n]|(?<=\\)\n)*\n?z\\+\n+%s*#?|\n+|([^\S\n]|\\)+r�r�rrz\{\{|\}\}|%sz�<<\s*(as\s+decreasingly\s+likely\s+outcomes|cycling|else|end|first\s+time|one\s+of|only|or|otherwise|(sticky|(then\s+)?(purely\s+)?at)\s+random|stopping|(then\s+)?(half\s+)?shuffled|\|\|)\s*>>z_<<(%%(_(%s|\\?.)|[\-+ ,#]|\[\d*\]?)*\d*\.?\d*(%s|\\?.)|\s*((else|otherwise)\s+)?(if|unless)\b)?)�block/embedr�r�z'(?i)&(#(x[\da-f]+|\d+)|[a-z][\da-z]*);?TFZlistingZxmpz[^\\"]+z\\"*z"{3,}z[^\\']+z\\'*z'{3,}z\\"?z\\'?)Prr�r�rHr�r�r�r�r�rr�r�rr�rr�r�r�rr
r�r�r�rrrrr	rrKrr�r,rrrrrr_r�r
rrr�r0r�r�r�r�r�rrztdqs/listingztsqs/listingzdqs/listingzsqs/listingztdqs/xmpztsqs/xmpzdqs/xmpzsqs/xmpZtdqtZtsqtZdqtZsqtzdqs/tdqtzdqs/tsqtzdqs/dqtzdqs/sqtzsqs/tdqtzsqs/tsqtzsqs/dqtzsqs/sqtzuqs/tdqtzuqs/tsqtzuqs/dqtzuqs/sqtrrrrcks�d|j|jf}d}tj||f|�D]�\}}}|dkr`|tjkr�t�d||j|jf|�r�d}n`|tjkr�|dkr�t�d||�r�d}q�t�d||�r�|d7}q�t�d||�r�|d8}nt}|||fVq$dS)Nz^%s*#%s*rz%sif%s+(0|nil)%s*$\n?r�z
%sel(if|se)\bz%sifz	%sendif\b)�_ws_pprr�r
r�r��match)r=r��kwargsZppZif_false_levelr�r�r!r�r�r�r�*s0�
���
�

z!Tads3Lexer.get_tokens_unprocessed)=r�r�r�r�r;r�r�r�r�r�r�Z_comment_singleZ_comment_multiliner�r�Z	_no_quote�	_operatorZ_wsrr�r�r�r	rrr
r�rrrrrr�rZReservedr�rr�rr�r�ZOctr�r�r�ZRegexr�r�r�rr�r��	Exceptionr�r
r�r�r�ZEntityrlr�r�r�r�r�r�s�2�
�
�����
��
��
���
�����	�
����
�
�









������������
�
�
�

���
��



�
����W������
�
��
���
���
���
����
������
��
�
�
��
�

�	��
��	
�
�




������
�




















�
�
�
�����T)r�r�Zpygments.lexerrrrrrrrZpygments.tokenr	r
rrr
rrrrr�__all__rrrrr�r�r�r��<module>s
$0�rL