�
|�e� � �� � d Z ddlZddlmZmZmZmZmZmZm Z ddl
mZmZm
Z
mZmZmZmZmZmZmZ ddlmZ g d�Z G d� de� Z ej2 d � Z G d
� de� Z G d� d
e� Z G d� de� Zy)z�
pygments.lexers.matlab
~~~~~~~~~~~~~~~~~~~~~~
Lexers for Matlab and related languages.
:copyright: Copyright 2006-2023 by the Pygments team, see AUTHORS.
:license: BSD, see LICENSE for details.
� N)�Lexer�
RegexLexer�bygroups�default�words�
do_insertions�include)
�Text�Comment�Operator�Keyword�Name�String�Number�Punctuation�Generic�
Whitespace)�_scilab_builtins)�MatlabLexer�MatlabSessionLexer�OctaveLexer�ScilabLexerc � � e Zd ZdZdZdgZdgZdgZdZee fdez e
j fde
j fd e
j fd
e
fde
fde fd
efdedfdefdefdefgdej$ fdej( dfdefd eee� dfd eeeee
� dfd eee� df eddd� � eee� f eg d!�d"d� � ej0 fd# eee� fd$ez eeee� d%f ed&� gd'ej( d(fd)ej( fdej( fgd* eeeee
eej4 e
ee
e�
d(fd+ eeej4 � d(fgd, eej0 ee
ee
� fd- eej0 ee
ee� fd.e
fd/e
d(fdefdefgdej( dfdefd0ed(f ed&� gd1ed(fgd2e
d(fee d(fd3efd4efd5efd6e
d(f ed(� gd7�Zd8� Zy9):r z=
For Matlab source code.
.. versionadded:: 0.10
�Matlab�matlab�*.mztext/matlabz<-|==|~=|<=|>=|<|>|&&|&|~|\|\|?|\.\*|\*|\+|\.\^|\.\\|\./|/|\\zB(?<!\w)((\d+\.\d+)|(\d*\.\d+)|(\d+\.(?!%s)))([eEf][+-]?\d+)?(?!\w)z\b\d+[eEf][+-]?[0-9]+\bz\b\d+\bz\[|\]|\(|\)|\{|\}|:|@|\.|,�=|:|;�(?<=[\w)\].])\'+z"(""|[^"])*"�(?<![\w)\].])\'�string�[a-zA-Z_]\w*�\s+�.z^!.*�%\{\s*\n�blockcommentz%.*$z(\s*^\s*)(function)\b�deffuncz(\s*^\s*)(properties)(\s+)(\())�defprops� propattrsz(\s*^\s*)(properties)\br' |