HEX
Server: LiteSpeed
System: Linux us-phx-web1284.main-hosting.eu 4.18.0-553.109.1.lve.el8.x86_64 #1 SMP Thu Mar 5 20:23:46 UTC 2026 x86_64
User: u300739242 (300739242)
PHP: 8.2.30
Disabled: system, shell_exec, passthru, mysql_list_dbs, ini_alter, dl, symlink, link, chgrp, leak, popen, apache_child_terminate, virtual, mb_send_mail
Upload Files
File: //opt/alt/python311/lib/python3.11/site-packages/pygments/lexers/__pycache__/hdl.cpython-311.pyc
�

�;f�X���dZddlZddlmZmZmZmZmZmZddl	m
Z
mZmZm
Z
mZmZmZmZmZgd�ZGd�de��ZGd�d	e��ZGd
�de��ZdS)z�
    pygments.lexers.hdl
    ~~~~~~~~~~~~~~~~~~~

    Lexers for hardware descriptor languages.

    :copyright: Copyright 2006-2024 by the Pygments team, see AUTHORS.
    :license: BSD, see LICENSE for details.
�N)�
RegexLexer�bygroups�include�using�this�words)	�Text�Comment�Operator�Keyword�Name�String�Number�Punctuation�
Whitespace)�VerilogLexer�SystemVerilogLexer�	VhdlLexerc��eZdZdZdZddgZdgZdgZdZdZ	dZ
d	ejd
fde
fdeeje
��fd
ejfdejfdefdedfdejfdejfdejfdejfdejfdejfdejfdefdejfdefdefdejfdee
eje ��fdee
eje ��d fe!d!d"�#��efe!d$d%d"�&��ejfe!d'd(d"�&��ej"fe!d)d"�#��ej#fd*ej$fd+efd,efgd-ed.fd/ejfd0efdeeje
��fd1efgd2ejfd3ejfd4ejd.fd5ejfd6ejfd7e
d.fgd8ejd.fgd9�Z%d:�Z&d;S)<rz?
    For verilog source code with preprocessor directives.
    �verilog�vz*.vztext/x-verilogz%https://en.wikipedia.org/wiki/Verilogz1.4�(?:\s|//.*?\n|/[*].*?[*]/)+z^\s*`define�macro�\s+�(\\)(\n)�/(\\\n)?/(\n|(.|\n)*?[^\\]\n)�/(\\\n)?[*](.|\n)*?[*](\\\n)?/�[{}#@]�L?"�string�4L?'(\\.|\\[0-7]{1,3}|\\x[a-fA-F0-9]{1,2}|[^\\\'\n])'�%(\d+\.\d*|\.\d+|\d+)[eE][+-]?\d+[lL]?�(\d+\.\d*|\.\d+|\d+[fF])[fF]?z([0-9]+)|(\'h)[0-9a-fA-F]+z([0-9]+)|(\'b)[01]+z([0-9]+)|(\'d)[0-9]+z([0-9]+)|(\'o)[0-7]+z\'[01xz]z\d+[Ll]?�[~!%^&*+=|?:<>/-]�
[()\[\],.;\']�
`[a-zA-Z_]\w*�^(\s*)(package)(\s+)�^(\s*)(import)(\s+)�import)q�always�always_comb�	always_ff�always_latch�and�assign�	automatic�begin�break�buf�bufif0�bufif1�case�casex�casez�cmos�const�continue�deassign�default�defparam�disable�do�edge�else�end�endcase�endfunction�endgenerate�	endmodule�
endpackage�endprimitive�
endspecify�endtable�endtask�enum�event�final�for�force�forever�fork�function�generate�genvar�highz0�highz1�if�initial�inout�input�integer�join�large�
localparam�macromodule�medium�module�nand�negedge�nmos�nor�not�notif0�notif1�or�output�packed�	parameter�pmos�posedge�	primitive�pull0�pull1�pulldown�pullup�rcmos�ref�release�repeat�return�rnmos�rpmos�rtran�rtranif0�rtranif1�scalared�signed�small�specify�	specparam�strengthr �strong0�strong1�struct�table�task�tran�tranif0�tranif1�type�typedef�unsigned�var�vectored�void�wait�weak0�weak1�while�xnor�xor�\b��suffix)�
accelerate�autoexpand_vectornets�
celldefine�default_nettyperB�elsif�
endcelldefine�endif�
endprotect�endprotected�expand_vectornets�ifdef�ifndefr�noaccelerate�noexpand_vectornets�noremove_gatenames�noremove_netnames�nounconnected_drive�protect�	protected�remove_gatenames�remove_netnames�resetall�	timescale�unconnected_drive�undef�`)�prefixr�)4�bits�
bitstoreal�bitstoshortreal�countdrivers�display�fclose�fdisplay�finish�floor�fmonitor�fopen�fstrobe�fwrite�
getpattern�history�incsaver\�itor�key�list�log�monitor�
monitoroff�	monitoron�nokey�nolog�printtimescale�random�readmemb�readmemh�realtime�
realtobits�reset�reset_count�reset_value�restart�rtoi�save�scale�scope�shortrealtobits�
showscopes�
showvariables�showvars�	sreadmemb�	sreadmemh�stime�stop�strobe�time�
timeformat�writez\$)�byte�shortint�int�longintr]r��bit�logic�reg�supply0�supply1�tri�triand�trior�tri0�tri1�trireg�uwire�wire�wand�worshortreal�realr��[a-zA-Z_]\w*:(?!:)�\$?[a-zA-Z_]\w*�\\(\S+)�"�#pop�/\\([\\abfnrtv"\']|x[a-fA-F0-9]{2,4}|[0-7]{1,3})�	[^\\"\n]+�\\�[^/\n]+�/[*](.|\n)*?[*]/z//.*?\n�/�	(?<=\\)\n�\n�	[\w:]+\*?��rootr rr)c�@�d}d|vr|dz
}d|vr|dz
}d|vr|dz
}|S)z`Verilog code will use one of reg/wire/assign for sure, and that
        is not common elsewhere.rr�g�������?r�r/�)�text�results  �F/opt/alt/python311/lib/python3.11/site-packages/pygments/lexers/hdl.py�analyse_textzVerilogLexer.analyse_text�sF�����D�=�=��c�M�F��T�>�>��c�M�F��t����c�M�F��
�N)'�__name__�
__module__�__qualname__�__doc__�name�aliases�	filenames�	mimetypes�url�
version_added�_wsr
�Preprocrrr�Escape�Single�	Multiliner�Charr�Float�Hex�Bin�Integer�Octrr
�Constantr�	Namespacer	r�Builtin�Type�Label�tokensrrrrrrs����������D��#��G���I�!�"�I�
1�C��M�)�C��W�_�g�6�
�Z� �
�(�(�6�=�*�=�=�>�
-�w�~�>�
.��0A�B�
��$�
�V�X�&�
D�f�k�R�
5�v�|�D�
-�v�|�<�
*�F�J�7�
#�V�Z�0�
$�f�n�5�
$�f�j�1�
�&�!�
�&�.�)�
!�8�,�
�{�+�
�t�}�-�
$�h�h�z�7�;L�d�&S�&S�T�
#�X�X�j�'�:K�T�%R�%R�
�
��U�:�"CH�#I�I�I�$�%
�(�U��"&�e�5�5�5��_�
��U�W��U�	,�	,�	,��\�

��U�1�:?�	@�@�@�
�\�
�#�D�J�/�
��&�
���WL
�\�6�6�"�
?���O�
�6�"�
�(�(�6�=�*�=�=�>�
�F�O�
����)�
 �'�"3�4�
����0�
�7�?�#�
�7�?�+�
�J��'�

��4�>�6�2�
�{`�`�F�D����rrc
��eZdZdZdZddgZddgZdgZdZdZ	d	Z
gd
eee
j��df�deeeje��f�d
eeeje��df�def�deeje��f�de
jf�de
jf�def�dedf�dejf�dejf�dejf�dejf�dejf�dejf�dejf�def�dejf�def�ed d!�"��ejf�d#ef�d$e j!f�ed%d!�"��ef�d&eej"ee j#��f�d'eej"ee j#��f�d(eej"eeee j#��f�ed)d!�"��ej$f�ed*d!�"��e
jf�ed+d!�"��e j%f�d,e j&f�d-e f�d.e f�d/ed0fd1ejfd2efdeeje��fd3efgd4e
jfd5e
jfd6e
jd0fd7e
jfd8e
jfd9ed0fgd:e jd0fgd;�Z'd<S)=rzi
    Extends verilog lexer to recognise all SystemVerilog keywords from IEEE
    1800-2009 standard.
    �
systemverilog�svz*.svz*.svhztext/x-systemverilogz+https://en.wikipedia.org/wiki/SystemVerilog�1.5rz^(\s*)(`define)rr'r(r)rrrrrrr r!r"r#z4([1-9][_0-9]*)?\s*\'[sS]?[bB]\s*[xXzZ?01][_xXzZ?01]*z6([1-9][_0-9]*)?\s*\'[sS]?[oO]\s*[xXzZ?0-7][_xXzZ?0-7]*z6([1-9][_0-9]*)?\s*\'[sS]?[dD]\s*[xXzZ?0-9][_xXzZ?0-9]*zB([1-9][_0-9]*)?\s*\'[sS]?[hH]\s*[xXzZ?0-9a-fA-F][_xXzZ?0-9a-fA-F]*z
\'[01xXzZ]z[0-9][_0-9]*r$)�inside�distr�r�z[()\[\],.;\'$]r&)��	accept_on�aliasr*r+r,r-r.�assertr/�assumer0�beforer1�bind�bins�binsofr2r3r4r5r6r7r8�cell�checker�clockingr9�config�
constraint�contextr;�cover�
covergroup�
coverpoint�crossr<r=r>�designr?r@rArBrCrD�
endchecker�endclocking�	endconfigrErF�endgroup�endinterfacerGrHrI�
endprogram�endproperty�endsequencerJrKrLrM�
eventually�expect�export�externrO�first_matchrPrQ�foreachrRrS�forkjoinrTrUrV�globalrWrXrY�iff�ifnone�ignore_bins�illegal_bins�implies�
implementsr)�incdirrrZr[r\�instance�interconnect�	interface�	intersectr^�join_any�	join_noner_�let�liblist�library�localr`ra�matchesrb�modportrcrdre�nettype�new�nexttimerfrg�noshowcancelledrhrirj�nullrkrl�packagermrnrorprq�priority�program�propertyr�rrrsrtru�pulsestyle_ondetect�pulsestyle_onevent�pure�rand�randc�randcase�randsequencervrw�	reject_onrxry�restrictrzr{r|r}r~r�s_always�s_eventually�
s_nexttime�s_until�s_until_withr��sequence�
showcancelledr��soft�solver�r��static�strongr�r�r��super�sync_accept_on�sync_reject_onr��taggedr�r�
throughout�
timeprecision�timeunitr�r�r�r��union�unique�unique0�until�
until_with�untyped�user��virtualr��
wait_order�weakr�r�r��wildcard�with�withinr�r�z(class)(\s+)([a-zA-Z_]\w*)z(extends)(\s+)([a-zA-Z_]\w*)z,(endclass\b)(?:(\s*)(:)(\s*)([a-zA-Z_]\w*))?)!r�r��chandler:rNr�r]r�r�r�r�r�r��	shortrealr�r r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r��wor)z	`__FILE__z	`__LINE__z`begin_keywordsz`celldefinez`default_nettypez`definez`elsez`elsifz
`end_keywordsz`endcelldefinez`endifz`ifdefz`ifndefz`includez`linez`nounconnected_drivez`pragmaz	`resetallz
`timescalez`unconnected_drivez`undefz`undefineall)�z$exitz$finishz$stopz	$realtimez$stimez$timez$printtimescalez$timeformatz$bitstorealz$bitstoshortrealz$castz$itorz$realtobitsz$rtoiz$shortrealtobitsz$signedz	$unsignedz$bitsz$isunboundedz	$typenamez$dimensionsz$highz
$incrementz$leftz$lowz$rightz$sizez$unpacked_dimensionsz$acosz$acoshz$asinz$asinhz$atanz$atan2z$atanhz$ceilz$clog2z$cosz$coshz$expz$floorz$hypotz$lnz$log10z$powz$sinz$sinhz$sqrtz$tanz$tanhz
$countbitsz
$countonesz
$isunknownz$onehotz$onehot0z$infoz$errorz$fatalz$warningz$assertcontrolz$assertfailoffz
$assertfailonz$assertkillz$assertnonvacuousonz
$assertoffz	$assertonz$assertpassoffz
$assertpassonz$assertvacuousoffz$changedz
$changed_gclkz$changing_gclkz
$falling_gclkz$fellz
$fell_gclkz$future_gclkz$pastz
$past_gclkz$rising_gclkz$rosez
$rose_gclkz$sampledz$stablez$stable_gclkz$steady_gclkz$coverage_controlz
$coverage_getz$coverage_get_maxz$coverage_mergez$coverage_savez
$get_coveragez$load_coverage_dbz$set_coverage_db_namez$dist_chi_squarez$dist_erlangz$dist_exponentialz$dist_normalz
$dist_poissonz$dist_tz
$dist_uniformz$randomz$q_addz$q_examz$q_fullz
$q_initializez	$q_removez$async$and$arrayz$async$and$planez$async$nand$arrayz$async$nand$planez$async$nor$arrayz$async$nor$planez$async$or$arrayz$async$or$planez$sync$and$arrayz$sync$and$planez$sync$nand$arrayz$sync$nand$planez$sync$nor$arrayz$sync$nor$planez$sync$or$arrayz$sync$or$planez$systemz$displayz	$displaybz	$displayhz	$displayoz$monitorz	$monitorbz	$monitorhz	$monitoroz$monitoroffz
$monitoronz$strobez$strobebz$strobehz$strobeoz$writez$writebz$writehz$writeoz$fclosez	$fdisplayz
$fdisplaybz
$fdisplayhz
$fdisplayoz$feofz$ferrorz$fflushz$fgetcz$fgetsz	$fmonitorz
$fmonitorbz
$fmonitorhz
$fmonitoroz$fopenz$freadz$fscanfz$fseekz$fstrobez	$fstrobebz	$fstrobehz	$fstrobeoz$ftellz$fwritez$fwritebz$fwritehz$fwriteoz$rewindz$sformatz	$sformatfz$sscanfz$swritez$swritebz$swritehz$swriteoz$ungetcz	$readmembz	$readmemhz
$writemembz
$writememhz$test$plusargsz$value$plusargsz$dumpallz	$dumpfilez
$dumpflushz
$dumplimitz$dumpoffz$dumponz
$dumpportsz
$dumpportsallz$dumpportsflushz$dumpportslimitz
$dumpportsoffz$dumpportsonz	$dumpvarsr�rrrrrrrrrz//.*?$r	r
rrr
N)(rrrrrrrrrrr rrr
r!rr,rr"r#r$rr%rr&r(r*r)r'rr�Wordr
r+�Declaration�Classr.r-r/r0rrrrr�sn���������D���%�G���!�I�'�(�I�
7�C��M�)�C�}
�
���*�g�o�!F�!F��P�}
�
$�h�h�z�7�;L�j�&Y�&Y�Z�}
�$�X�X�j�'�:K�Z�%X�%X�Zb�c�}
�
�Z� �}
��(�(�6�=�*�=�=�>�
}
�.�w�~�>�}
�/��0A�B�}
���$�}
��V�X�&�}
�E�f�k�R�}
�6�v�|�D�}
�.�v�|�<�}
� E�
�Z�
�!}
�$G�
�Z�
�%}
�(G�
�^�
�)}
�,S�
�Z�
�-}
�2�F�#�3}
�4�f�n�-�5}
�8"�8�,�9}
�:�U�%�e�
4�
4�
4�h�m�D�;}
�>��,�?}
�@�t�}�-�A}
�D�U�(�R�S)�)�)�T�U*
�E}
�\+�
�X�g�)�:�t�z�
B�
B�
D�]}
�`-�
�X�g�)�:�t�z�
B�
B�
D�a}
�d=�
�X�g�)�:�{�J�PT�PZ�
[�
[�
]�e}
�j�U�@��	�	�	��\�

�k}
�B�U�N��
����_�
�C}
�T�U�M�Z �[M!�M!�M!�\�\�]N
�U}
�t#�D�J�/�u}
�v ��&�w}
�x���y}
�~�6�6�"�
?���O�
�6�"�
�(�(�6�=�*�=�=�>�
�F�O�
����)�
 �'�"3�4�
����/�
�7�?�#�
�7�?�+�
�J��'�

��4�>�6�2�
�]Q�Q�F�F�Frrc��eZdZdZdZdgZddgZdgZdZdZ	e
je
jzZ
defd	eeje��fd
ejfdejfdejfd
efdejfdefdefdeeeej��fdeeee��fdeeeeje��fdeeeej��fdeejej��fedd���ejfdeeeej��fdeeeejeeeejee�	�	fdeejeee��fdeee��e��dfe d��e d��e d ��d!efge d��d!ejfdefd"ed#fged$d���ej!fged%d���efgd&e"j#fd'e"j#fd(e"j$fd)e"j%fd*e"j&fd+e"j'fgd,�Z(d-S).rz
    For VHDL source code.
    �vhdlz*.vhdlz*.vhdztext/x-vhdlz"https://en.wikipedia.org/wiki/VHDLr4rrz--.*?$rz'(U|X|0|1|Z|W|L|H|-)'r$z
'[a-z_]\w*r%z"[^\n\\"]*"z(library)(\s+)([a-z_]\w*)z(use)(\s+)(entity)z(use)(\s+)([a-z_][\w.]*\.)(all)z(use)(\s+)([a-z_][\w.]*)z(std|ieee)(\.[a-z_]\w*))�std�ieee�workr�r�z"(entity|component)(\s+)([a-z_]\w*)zN(architecture|configuration)(\s+)([a-z_]\w*)(\s+)(of)(\s+)([a-z_]\w*)(\s+)(is)z ([a-z_]\w*)(:)(\s+)(process|for)z
(end)(\s+)�endblock�types�keywords�numbersz	[a-z_]\w*�;r)�booleanr��	character�severity_levelr]r��delay_length�natural�positiver �
bit_vector�file_open_kind�file_open_status�
std_ulogic�std_ulogic_vector�	std_logic�std_logic_vectorr�r�)_�abs�access�afterr8�allr.�architecture�arrayr9�	attributer1�block�body�buffer�busr6�	component�
configuration�constant�
disconnect�downtorBr�rC�entity�exit�filerPrTrU�generic�group�guardedrY�impure�in�inertialr[�is�labelri�linkage�literal�loop�map�modrdrn�nextrgrhrq�of�on�openrk�others�outrr�port�	postponed�	procedure�processrx�range�record�register�reject�remrz�rol�ror�select�severity�signal�shared�sla�sll�sra�srl�subtype�then�to�	transportr��unitsr�r��variabler��whenr�r�r�r�z\d{1,2}#[0-9a-f_]+#?z\d+z(\d+\.\d*|\.\d+|\d+)E[+-]?\d+z
X"[0-9a-f_]+"z
O"[0-7_]+"z	B"[01_]+")rr�r�r�r�N))rrrrrrrrrr�re�	MULTILINE�
IGNORECASE�flagsrrrr"r
r#r$r%rr
�	Attributerrr,rr�rrrr.rr)r&r'r*r(r0rrrrrus����������D��h�G��7�#�I���I�
.�C��M��L�2�=�(�E��Z� �
�(�(�6�=�*�=�=�>�
���'�
.��0A�B�
%�v�{�3�
!�8�,�
�D�N�+�
�{�+�
�V�$�
)�
�X�g�z�4�>�
:�
:�
<�
"�H�H�W�j�'�$J�$J�K�
/�
�X�g�z�4�>�7�
C�
C�
E�
(�
�X�g�z�4�>�
:�
:�
<�
'�
�X�d�n�d�n�
5�
5�
7�
�U�*�5�
9�
9�
9�
�^�
�
2�
�X�g�z�4�:�
6�
6�
8�.�
�X�g�z�4�:�z�7�J��j�*�g�7�7�
8�1�
�X�d�j�(�J��
@�
@�
B�
�H�H�U�U�4�[�[�*�=�=�z�J��G�G����G�J����G�I���
�4� �I%
�N
�G�J���
�4�:�&�
�Z� �
�;��'�	
��U�G�PU�	V�V�V�
�\�
�
��U�0� 9>�!?�?�?�"�#
�
�*%�f�n�5�
�V�^�$�
-�v�|�<�
�v�z�*�
�F�J�'�
�6�:�&�

�SQ�Q�F�F�Frr)rr��pygments.lexerrrrrrr�pygments.tokenr	r
rrr
rrrr�__all__rrrrrr�<module>rsi����
�	�	�	�L�L�L�L�L�L�L�L�L�L�L�L�L�L�L�L�$�$�$�$�$�$�$�$�$�$�$�$�$�$�$�$�$�$�$�$�$�$�>�
=�
=��{�{�{�{�{�:�{�{�{�|`�`�`�`�`��`�`�`�F]�]�]�]�]�
�]�]�]�]�]r