File manager - Edit - /opt/saltstack/salt/lib/python3.10/site-packages/pygments/lexers/__pycache__/parsers.cpython-310.pyc
Back
o ;j�g � @ s d Z ddlZddlmZmZmZmZmZ ddlm Z m Z mZmZm Z mZmZmZmZmZ ddlmZ ddlmZmZ ddlmZ ddlmZ dd lmZ dd lmZ ddl m!Z! ddl"m#Z# g d �Z$G dd� de�Z%G dd� de�Z&G dd� de�Z'G dd� de�Z(G dd� de�Z)G dd� de�Z*G dd� de�Z+G dd� de�Z,G dd� de�Z-G d d!� d!e�Z.G d"d#� d#e�Z/G d$d%� d%e�Z0G d&d'� d'e�Z1G d(d)� d)e�Z2G d*d+� d+e�Z3G d,d-� d-e�Z4G d.d/� d/e�Z5G d0d1� d1e�Z6G d2d3� d3e�Z7G d4d5� d5e�Z8dS )6z� pygments.lexers.parsers ~~~~~~~~~~~~~~~~~~~~~~~ Lexers for parser generators. :copyright: Copyright 2006-present by the Pygments team, see AUTHORS. :license: BSD, see LICENSE for details. � N)� RegexLexer�DelegatingLexer�include�bygroups�using) �Punctuation�Other�Text�Comment�Operator�Keyword�Name�String�Number� Whitespace)� JavaLexer)�CLexer�CppLexer)�ObjectiveCLexer)�DLexer)�CSharpLexer)� RubyLexer)�PythonLexer)� PerlLexer)� RagelLexer�RagelEmbeddedLexer�RagelCLexer�RagelDLexer� RagelCppLexer�RagelObjectiveCLexer�RagelRubyLexer�RagelJavaLexer� AntlrLexer�AntlrPythonLexer�AntlrPerlLexer�AntlrRubyLexer� AntlrCppLexer�AntlrCSharpLexer�AntlrObjectiveCLexer�AntlrJavaLexer�AntlrActionScriptLexer�TreetopLexer� EbnfLexerc @ sN e Zd ZdZdZdZdgZg ZdZde fgde fgdefd efd efdefgdej fd ejfgdejfdejfdefdejfgdejfgdefdefdefdefdefdefdefdefdefdefdefdefdefd efged!�ed"�ed#�ed$�ed%�ed&�ed'�d(ed)fd*efd+efg d,d-�d.� d/ efd(ed0fd1ed2fgd3� Zd4S )5r z�A pure `Ragel <www.colm.net/open-source/ragel>`_ lexer. Use this for fragments of Ragel. For ``.rl`` files, use :class:`RagelEmbeddedLexer` instead (or one of the language-specific subclasses). ZRagel�&http://www.colm.net/open-source/ragel/Zragel�1.1�\s+z\#.*$z(access|action|alphtype)\bz (getkey|write|machine|include)\bz2(any|ascii|extend|alpha|digit|alnum|lower|upper)\bz3(xdigit|cntrl|graph|print|punct|space|zlen|empty)\bz0x[0-9A-Fa-f]+z[+-]?[0-9]+�"(\\\\|\\[^\\]|[^"\\])*"�'(\\\\|\\[^\\]|[^'\\])*'z\[(\\\\|\\[^\\]|[^\\\]])*\]�/(?!\*)(\\\\|\\[^\\]|[^/\\])*/z[a-zA-Z_]\w*�,z\||&|--?z \.|<:|:>>?�:z->z(>|\$|%|<|@|<>)(/|eof\b)z(>|\$|%|<|@|<>)(!|err\b)z(>|\$|%|<|@|<>)(\^|lerr\b)z(>|\$|%|<|@|<>)(~|to\b)z(>|\$|%|<|@|<>)(\*|from\b)z>|@|\$|%z\*|\?|\+|\{[0-9]*,[0-9]*\}z!|\^z\(|\)�literals� whitespace�comments�keywords�numbers�identifiers� operators�\{�host�=�;�(�|) z[^{}\'"/#]+�[^\\]\\[{}]r0 r1 �//.*$\n?�/\*(.|\n)*?\*/�\#.*$\n?r2 �/�)+�#push�\}�#pop) r6 r7 r8 r9 r5 r: r; �rootr= N)�__name__� __module__�__qualname__�__doc__�name�url�aliases� filenames� version_addedr r r r ZHex�Integerr �Double�Single�Regexr �Variabler r r �joinr �tokens� r\ r\ �K/opt/saltstack/salt/lib/python3.10/site-packages/pygments/lexers/parsers.pyr # sz �������� ��� �r c @ s� e Zd ZdZdZdgZdgZdZdZdd� d � d e fdeee e�ee�fded fgdd� dd� d� d ddddddf� d e e�fdedfgd�Zdd� ZdS )r z� A lexer for Ragel embedded in a host language file. This will only highlight Ragel statements. If you want host language highlighting then call the language-specific Ragel lexer. zEmbedded Ragelzragel-em�*.rlr- r. r@ rA ) z [^%\'"/#]+z%(?=[^%]|$)r0 r1 rD rC rE r2 rF rG z(%%)(?![{%])(.*)($|;)(\n?)z(%%%%|%%)\{�multi-line-fsm)z[^}\'"\[/#]z\}(?=[^%]|$)z \}%(?=[^%]|$)rB z(>|\$|%|<|@|<>)/z /(?!\*)(\\\\|\\[^\\]|[^/\\])*/\*z/(?=[^/*]|$)r0 r1 z\[(\\\\|\\[^\\]|[^\]\\])*\]rD rC rE z\}%%rJ )rK r_ c C � d| v S )Nz@LANG: indepr\ ��textr\ r\ r] �analyse_text� � zRagelEmbeddedLexer.analyse_textN)rL rM rN rO rP rR rS rQ rT rZ r r r r r r r[ rc r\ r\ r\ r] r � sJ �������� ��Ar c sB e Zd ZdZdZddgZdgZdZdZ� fdd �Z d d� Z � ZS )r z0 A lexer for Ragel in a Ruby host file. zRagel in Ruby Hostz ragel-rubyzragel-rbr^ r- r. c � t � jttfi |�� d S �N)�super�__init__r r ��self�options�� __class__r\ r] rh � � zRagelRubyLexer.__init__c C r` )Nz@LANG: rubyr\ ra r\ r\ r] rc � rd zRagelRubyLexer.analyse_text�rL rM rN rO rP rR rS rQ rT rh rc � __classcell__r\ r\ rl r] r � s r c �@ e Zd ZdZdZdgZdgZdZdZ� fdd�Z d d � Z � ZS )r z- A lexer for Ragel in a C host file. zRagel in C Hostzragel-cr^ r- r. c re rf )rg rh r r ri rl r\ r] rh � rn zRagelCLexer.__init__c C r` )Nz@LANG: cr\ ra r\ r\ r] rc � rd zRagelCLexer.analyse_textro r\ r\ rl r] r � � r c rq )r z- A lexer for Ragel in a D host file. zRagel in D Hostzragel-dr^ r- r. c re rf )rg rh r r ri rl r\ r] rh rn zRagelDLexer.__init__c C r` )Nz@LANG: dr\ ra r\ r\ r] rc rd zRagelDLexer.analyse_textro r\ r\ rl r] r � rr r c rq )r z/ A lexer for Ragel in a C++ host file. zRagel in CPP Hostz ragel-cppr^ r- r. c re rf )rg rh r r ri rl r\ r] rh rn zRagelCppLexer.__init__c C r` )Nz @LANG: c++r\ ra r\ r\ r] rc rd zRagelCppLexer.analyse_textro r\ r\ rl r] r rr r c rq )r z8 A lexer for Ragel in an Objective C host file. zRagel in Objective C Hostz ragel-objcr^ r- r. c re rf )rg rh r r ri rl r\ r] rh ' rn zRagelObjectiveCLexer.__init__c C r` )Nz@LANG: objcr\ ra r\ r\ r] rc * rd z!RagelObjectiveCLexer.analyse_textro r\ r\ rl r] r rr r c rq )r! z0 A lexer for Ragel in a Java host file. zRagel in Java Hostz ragel-javar^ r- r. c re rf )rg rh r r ri rl r\ r] rh 9 rn zRagelJavaLexer.__init__c C r` )Nz@LANG: javar\ ra r\ r\ r] rc < rd zRagelJavaLexer.analyse_textro r\ r\ rl r] r! . rr r! c @ sV e Zd ZdZdZdgZg ZdZdZdZ dZ dZd Zd Z defgdefd efged�ed�de d eeeeeeje�fdedfdedfde d eeeejee�dfdedfde d e d eejeeeejee�dfde d eeeeje�dfg d ed!fd"efed�d#ed$fd%edfged�ed�d&efd#ed$fd%edfd'e d( eeeej�fd)e d( eeeej�fdedfd*eeee�dfd+e d, eeeejee�fde d eejee�dfd-ed!fged�ed�dedfd-efd.ejfd/ejfd0efd1ejfd2ejfd3efd4efd#ed$fd%edfd5ed!fged�ed�d%efd6e d7 e d8 eejeeeeee�fd9ed!fged�ed�d%efd6e d: d;�e ee d<f� d, eejeeeeee�fd9ed!fgd6d;�d=� d> efd?eee�fd@eejeej �fd%edAfd9ed!fgd6d;�dB� d> efd#edAfdCed!fd@eejeej �fdDefgdE� Z!dFdG� Z"dHS )Ir"