HOME


Mini Shell 1.0
DIR: /usr/lib/python3/dist-packages/pygments/lexers/__pycache__/
Upload File :
Current File : //usr/lib/python3/dist-packages/pygments/lexers/__pycache__/business.cpython-312.pyc
�

|�e�m����dZddlZddlmZmZmZmZddlmZm	Z	m
Z
mZmZm
Z
mZmZmZmZddlmZgd�ZGd�de�ZGd	�d
e�ZGd�de�ZGd
�de�ZGd�de�ZGd�de�Zy)z�
    pygments.lexers.business
    ~~~~~~~~~~~~~~~~~~~~~~~~

    Lexers for "business-oriented" languages.

    :copyright: Copyright 2006-2023 by the Pygments team, see AUTHORS.
    :license: BSD, see LICENSE for details.
�N)�
RegexLexer�include�words�bygroups)
�Text�Comment�Operator�Keyword�Name�String�Number�Punctuation�Error�
Whitespace)�OPENEDGEKEYWORDS)�
CobolLexer�CobolFreeformatLexer�	ABAPLexer�
OpenEdgeLexer�GoodDataCLLexer�	MaqlLexerc
�H�eZdZdZdZdgZgd�ZdgZejejzZed�ed�ed�ed	�d
e
jfdefgdefgd
e
j"feddd��ej(feddd��ej*feddd��efdej.fdefdefde
j4fde
j6fdej8fg
dej<fdej>fgde jBfde jDfde jDfgd�Z#y )!rz>
    Lexer for OpenCOBOL code.

    .. versionadded:: 1.6
    �COBOL�cobol)z*.cobz*.COBz*.cpyz*.CPYztext/x-cobol�comment�strings�core�numsz-z0-9]([\w\-]*[a-z0-9]+)?z[ \t]+z(^.{6}[*/].*\n|^.{6}|\*>.*\n)za(^|(?<=[^\w\-]))(ALL\s+)?((ZEROES)|(HIGH-VALUE|LOW-VALUE|QUOTE|SPACE|ZERO)(S)?)\s*($|(?=[^\w\-])))Z�ACCEPT�ADD�ALLOCATE�CALL�CANCEL�CLOSE�COMPUTE�
CONFIGURATION�CONTINUE�DATA�DELETE�DISPLAY�DIVIDE�DIVISION�ELSE�ENDz
END-ACCEPTzEND-ADDzEND-CALLzEND-COMPUTEz
END-DELETEzEND-DISPLAYz
END-DIVIDEzEND-EVALUATEzEND-IFzEND-MULTIPLYzEND-OF-PAGEzEND-PERFORMzEND-READz
END-RETURNzEND-REWRITEz
END-SEARCHz	END-STARTz
END-STRINGzEND-SUBTRACTzEND-UNSTRINGz	END-WRITE�ENVIRONMENT�EVALUATE�EXIT�FD�FILEzFILE-CONTROL�FOREVER�FREE�GENERATE�GO�GOBACK�IDENTIFICATION�IF�
INITIALIZE�INITIATEzINPUT-OUTPUT�INSPECT�INVOKEzI-O-CONTROL�LINKAGEz
LOCAL-STORAGE�MERGE�MOVE�MULTIPLY�OPEN�PERFORM�	PROCEDUREz
PROGRAM-ID�RAISE�READ�RELEASE�RESUME�RETURN�REWRITE�SCREEN�SD�SEARCH�SECTION�SET�SORT�START�STOP�STRING�SUBTRACT�SUPPRESS�	TERMINATE�THEN�UNLOCK�UNSTRING�USE�VALIDATEzWORKING-STORAGE�WRITEz(^|(?<=[^\w\-]))�\s*($|(?=[^\w\-]))��prefix�suffix("�ACCESS�ADDRESS�	ADVANCING�AFTER�ALL�ALPHABET�
ALPHABETICzALPHABETIC-LOWERzALPHABETIC-UPPER�ALPHANUMERICzALPHANUMERIC-EDITED�ALSO�ALTER�ALTERNATEANY�ARE�AREA�AREASzARGUMENT-NUMBERzARGUMENT-VALUE�AS�	ASCENDING�ASSIGN�AT�AUTOz	AUTO-SKIP�	AUTOMATIC�
AUTOTERMINATEzBACKGROUND-COLOR�BASED�BEEP�BEFORE�BELL�BLANK�BLINK�BLOCK�BOTTOM�BYzBYTE-LENGTH�CHAINING�	CHARACTER�
CHARACTERS�CLASS�CODEzCODE-SET�COL�	COLLATING�COLS�COLUMN�COLUMNS�COMMAzCOMMAND-LINE�COMMIT�COMMON�CONSTANT�CONTAINS�CONTENT�CONTROL�CONTROLS�
CONVERTING�COPY�CORR�
CORRESPONDING�COUNT�CRT�CURRENCY�CURSOR�CYCLE�DATE�DAYzDAY-OF-WEEK�DE�	DEBUGGINGz
DECIMAL-POINT�DECLARATIVES�DEFAULT�	DELIMITED�	DELIMITER�	DEPENDING�
DESCENDING�DETAIL�DISK�DOWN�
DUPLICATES�DYNAMIC�EBCDIC�ENTRYzENVIRONMENT-NAMEzENVIRONMENT-VALUE�EOL�EOP�EOS�ERASE�ERROR�ESCAPE�	EXCEPTION�	EXCLUSIVE�EXTEND�EXTERNALzFILE-ID�FILLER�FINAL�FIRST�FIXEDz
FLOAT-LONGzFLOAT-SHORT�FOOTING�FORzFOREGROUND-COLOR�FORMAT�FROM�FULL�FUNCTIONzFUNCTION-ID�GIVING�GLOBAL�GROUP�HEADING�	HIGHLIGHTzI-O�ID�IGNORE�IGNORING�IN�INDEX�INDEXED�INDICATE�INITIAL�INITIALIZED�INPUT�INTO�	INTRINSIC�INVALID�IS�JUST�	JUSTIFIED�KEY�LABEL�LAST�LEADING�LEFT�LENGTH�LIMIT�LIMITS�LINAGEzLINAGE-COUNTER�LINE�LINES�LOCALE�LOCK�LOWLIGHT�MANUAL�MEMORY�MINUS�MODE�MULTIPLE�NATIONALzNATIONAL-EDITED�NATIVE�NEGATIVE�NEXT�NO�NULL�NULLS�NUMBER�NUMBERS�NUMERICzNUMERIC-EDITEDzOBJECT-COMPUTER�OCCURS�OF�OFF�OMITTED�ON�ONLY�OPTIONAL�ORDER�ORGANIZATION�OTHER�OUTPUT�OVERFLOW�OVERLINEzPACKED-DECIMAL�PADDING�PAGE�	PARAGRAPH�PLUS�POINTER�POSITION�POSITIVE�PRESENT�PREVIOUS�PRINTER�PRINTINGzPROCEDURE-POINTER�
PROCEDURES�PROCEED�PROGRAMzPROGRAM-POINTER�PROMPT�QUOTE�QUOTES�RANDOM�RD�RECORD�	RECORDING�RECORDS�	RECURSIVE�	REDEFINES�REEL�	REFERENCE�RELATIVE�	REMAINDER�REMOVAL�RENAMES�	REPLACING�REPORT�	REPORTING�REPORTS�
REPOSITORY�REQUIRED�RESERVE�	RETURNINGz
REVERSE-VIDEO�REWIND�RIGHT�ROLLBACK�ROUNDED�RUN�SAME�SCROLL�SECUREz
SEGMENT-LIMIT�SELECT�SENTENCE�SEPARATE�SEQUENCE�
SEQUENTIAL�SHARING�SIGN�SIGNEDz
SIGNED-INTzSIGNED-LONGzSIGNED-SHORT�SIZEz
SORT-MERGE�SOURCEzSOURCE-COMPUTERz
SPECIAL-NAMES�STANDARDz
STANDARD-1z
STANDARD-2�STATUS�SUBKEY�SUM�SYMBOLIC�SYNC�SYNCHRONIZED�TALLYING�TAPE�TEST�THROUGH�THRU�TIME�TIMES�TO�TOP�TRAILING�	TRANSFORM�TYPE�	UNDERLINE�UNIT�UNSIGNEDzUNSIGNED-INTz
UNSIGNED-LONGzUNSIGNED-SHORT�UNTIL�UP�UPDATE�UPON�USAGE�USING�VALUE�VALUES�VARYING�WAIT�WHEN�WITH�WORDS�YYYYDDD�YYYYMMDD)qzACTIVE-CLASS�ALIGNED�ANYCASE�
ARITHMETIC�	ATTRIBUTEzB-ANDzB-NOTzB-ORzB-XOR�BIT�BOOLEAN�CD�CENTER�CF�CH�CHAINzCLASS-ID�CLASSIFICATION�
COMMUNICATION�	CONDITIONzDATA-POINTER�DESTINATION�DISABLE�EC�EGI�EMI�ENABLEzEND-RECEIVEzENTRY-CONVENTION�EO�ESIzEXCEPTION-OBJECT�EXPANDS�FACTORYzFLOAT-BINARY-16zFLOAT-BINARY-34zFLOAT-BINARY-7zFLOAT-DECIMAL-16zFLOAT-DECIMAL-34zFLOAT-EXTENDEDr�zFUNCTION-POINTER�GETzGROUP-USAGE�
IMPLEMENTS�INFINITY�INHERITS�	INTERFACEzINTERFACE-IDr>�LC_ALL�
LC_COLLATE�LC_CTYPE�LC_MESSAGES�LC_MONETARY�
LC_NUMERIC�LC_TIMEzLINE-COUNTER�MESSAGE�METHODz	METHOD-ID�NESTED�NONE�NORMAL�OBJECTzOBJECT-REFERENCE�OPTIONS�OVERRIDEzPAGE-COUNTER�PF�PH�PROPERTY�	PROTOTYPE�PURGE�QUEUErF�RAISING�RECEIVE�RELATION�REPLACEzREPRESENTS-NOT-A-NUMBER�RESETrI�RETRY�RF�RH�SECONDS�SEGMENT�SELF�SEND�SOURCES�	STATEMENT�STEP�STRONGzSUB-QUEUE-1zSUB-QUEUE-2zSUB-QUEUE-3�SUPER�SYMBOLzSYSTEM-DEFAULT�TABLE�TERMINAL�TEXT�TYPEDEFzUCS-4�	UNIVERSALzUSER-DEFAULTzUTF-16zUTF-8z
VAL-STATUS�VALIDr\zVALIDATE-STATUSz�(^|(?<=[^\w\-]))(PIC\s+.+?(?=(\s|\.\s))|PICTURE\s+.+?(?=(\s|\.\s))|(COMPUTATIONAL)(-[1-5X])?|(COMP)(-[1-5X])?|BINARY-C-LONG|BINARY-CHAR|BINARY-DOUBLE|BINARY-LONG|BINARY-SHORT|BINARY)\s*($|(?=[^\w\-]))z"(\*\*|\*|\+|-|/|<=|>=|<|>|==|/=|=)z([(),;:&%.])a�(^|(?<=[^\w\-]))(ABS|ACOS|ANNUITY|ASIN|ATAN|BYTE-LENGTH|CHAR|COMBINED-DATETIME|CONCATENATE|COS|CURRENT-DATE|DATE-OF-INTEGER|DATE-TO-YYYYMMDD|DAY-OF-INTEGER|DAY-TO-YYYYDDD|EXCEPTION-(?:FILE|LOCATION|STATEMENT|STATUS)|EXP10|EXP|E|FACTORIAL|FRACTION-PART|INTEGER-OF-(?:DATE|DAY|PART)|INTEGER|LENGTH|LOCALE-(?:DATE|TIME(?:-FROM-SECONDS)?)|LOG(?:10)?|LOWER-CASE|MAX|MEAN|MEDIAN|MIDRANGE|MIN|MOD|NUMVAL(?:-C)?|ORD(?:-MAX|-MIN)?|PI|PRESENT-VALUE|RANDOM|RANGE|REM|REVERSE|SECONDS-FROM-FORMATTED-TIME|SECONDS-PAST-MIDNIGHT|SIGN|SIN|SQRT|STANDARD-DEVIATION|STORED-CHAR-LENGTH|SUBSTITUTE(?:-CASE)?|SUM|TAN|TEST-DATE-YYYYMMDD|TEST-DAY-YYYYDDD|TRIM|UPPER-CASE|VARIANCE|WHEN-COMPILED|YEAR-TO-YYYY)\s*($|(?=[^\w\-]))z.(^|(?<=[^\w\-]))(true|false)\s*($|(?=[^\w\-]))z\(^|(?<=[^\w\-]))(equal|equals|ne|lt|le|gt|ge|greater|less|than|not|and|or)\s*($|(?=[^\w\-]))z"[^"\n]*("|\n)z'[^'\n]*('|\n)z\d+(\s*|\.$|$)z[+-]?\d*\.\d+(E[-+]?\d+)?z[+-]?\d+\.\d*(E[-+]?\d+)?)�rootrrrrN)$�__name__�
__module__�__qualname__�__doc__�name�aliases�	filenames�	mimetypes�re�
IGNORECASE�	MULTILINE�flagsrr�Variablerr�Constantrr
�Reserved�Pseudor�Typer	r�Function�Builtin�Wordr�Double�Singler
�Integer�Float�tokens���:/usr/lib/python3/dist-packages/pygments/lexers/business.pyrrs����
�D��i�G�4�I�� �I��M�M�B�L�L�(�E�
�I���I���F�O��F�O�
+�T�]�]�;�
�
�#�
�.�w�7�
�
#��]�]�
��,� 5H�,�#.�$�
�
�%
�*�4H�j+�3H�k5J�l�^�^�m6
�r�F�,.�6K�-M�.�/
�4*�
,3�<�<�
9�3�H�=��k�*� �"&���
0�?����M�@�AI���
P�aR
�p��
�
�.�
��
�
�.�	
�����/�
)�6�<�<�8�
)�6�<�<�8�
�Sn�Fr�rc�f�eZdZdZdZdgZddgZgZejejzZddefgiZ
y)	rzJ
    Lexer for Free format OpenCOBOL code.

    .. versionadded:: 1.6
    �	COBOLFree�	cobolfreez*.cblz*.CBLrz(\*>.*\n|^\w*\*.*$)N)r�r�r�r�r�r�r�r�r�r�r�r�rr�r�r�r�rr�sO���
�D��m�G��'�"�I��I��M�M�B�L�L�(�E�	�
#�W�-�
��Fr�rc�f�eZdZdZdZdgZddgZdgZejejzZdefde
jfd	e
jfd
e
jfgdej"fdej"fged
�defdefdeeeej*�fdeeeeej"e�fdeeeej*ee�fdeeeej*�fdeeej"eej*�fdej*fdeeeej2�fdeeeej"�fdefdefdefdeej4e�fdefdej2fdej6fed�d efd!ejfd"ejfd#eeeje�fd$efd%eee�fgd&�Zy')(rzO
    Lexer for ABAP, SAP's integrated language.

    .. versionadded:: 1.1
    �ABAP�abapz*.abapz*.ABAPztext/x-abap�\s+z^\*.*$z\".*?\nz##\w+z<\S+>z\w[\w~]*(?:(\[\])|->\*)?�commonz*CALL\s+(?:BADI|CUSTOMER-FUNCTION|FUNCTION)zR(CALL\s+(?:DIALOG|SCREEN|SUBSCREEN|SELECTION-SCREEN|TRANSACTION|TRANSFORMATION))\bz(FORM|PERFORM)(\s+)(\w+)z(PERFORM)(\s+)(\()(\w+)(\))z%(MODULE)(\s+)(\S+)(\s+)(INPUT|OUTPUT)z(METHOD)(\s+)([\w~]+)z (\s+)([\w\-]+)([=\-]>)([\w\-~]+)z(?<=(=|-)>)([\w\-~]+)(?=\()z(TEXT)(-)(\d{3})z(TEXT)(-)(\w{3})a(ADD-CORRESPONDING|AUTHORITY-CHECK|CLASS-DATA|CLASS-EVENTS|CLASS-METHODS|CLASS-POOL|DELETE-ADJACENT|DIVIDE-CORRESPONDING|EDITOR-CALL|ENHANCEMENT-POINT|ENHANCEMENT-SECTION|EXIT-COMMAND|FIELD-GROUPS|FIELD-SYMBOLS|FIELD-SYMBOL|FUNCTION-POOL|INTERFACE-POOL|INVERTED-DATE|LOAD-OF-PROGRAM|LOG-POINT|MESSAGE-ID|MOVE-CORRESPONDING|MULTIPLY-CORRESPONDING|NEW-LINE|NEW-PAGE|NEW-SECTION|NO-EXTENSION|OUTPUT-LENGTH|PRINT-CONTROL|SELECT-OPTIONS|START-OF-SELECTION|SUBTRACT-CORRESPONDING|SYNTAX-CHECK|SYSTEM-EXCEPTIONS|TYPE-POOL|TYPE-POOLS|NO-DISPLAY)\ba	(?<![-\>])(CREATE\s+(PUBLIC|PRIVATE|DATA|OBJECT)|(PUBLIC|PRIVATE|PROTECTED)\s+SECTION|(TYPE|LIKE)\s+((LINE\s+OF|REF\s+TO|(SORTED|STANDARD|HASHED)\s+TABLE\s+OF))?|FROM\s+(DATABASE|MEMORY)|CALL\s+METHOD|(GROUP|ORDER) BY|HAVING|SEPARATED BY|GET\s+(BADI|BIT|CURSOR|DATASET|LOCALE|PARAMETER|PF-STATUS|(PROPERTY|REFERENCE)\s+OF|RUN\s+TIME|TIME\s+(STAMP)?)?|SET\s+(BIT|BLANK\s+LINES|COUNTRY|CURSOR|DATASET|EXTENDED\s+CHECK|HANDLER|HOLD\s+DATA|LANGUAGE|LEFT\s+SCROLL-BOUNDARY|LOCALE|MARGIN|PARAMETER|PF-STATUS|PROPERTY\s+OF|RUN\s+TIME\s+(ANALYZER|CLOCK\s+RESOLUTION)|SCREEN|TITLEBAR|UPADTE\s+TASK\s+LOCAL|USER-COMMAND)|CONVERT\s+((INVERTED-)?DATE|TIME|TIME\s+STAMP|TEXT)|(CLOSE|OPEN)\s+(DATASET|CURSOR)|(TO|FROM)\s+(DATA BUFFER|INTERNAL TABLE|MEMORY ID|DATABASE|SHARED\s+(MEMORY|BUFFER))|DESCRIBE\s+(DISTANCE\s+BETWEEN|FIELD|LIST|TABLE)|FREE\s(MEMORY|OBJECT)?|PROCESS\s+(BEFORE\s+OUTPUT|AFTER\s+INPUT|ON\s+(VALUE-REQUEST|HELP-REQUEST))|AT\s+(LINE-SELECTION|USER-COMMAND|END\s+OF|NEW)|AT\s+SELECTION-SCREEN(\s+(ON(\s+(BLOCK|(HELP|VALUE)-REQUEST\s+FOR|END\s+OF|RADIOBUTTON\s+GROUP))?|OUTPUT))?|SELECTION-SCREEN:?\s+((BEGIN|END)\s+OF\s+((TABBED\s+)?BLOCK|LINE|SCREEN)|COMMENT|FUNCTION\s+KEY|INCLUDE\s+BLOCKS|POSITION|PUSHBUTTON|SKIP|ULINE)|LEAVE\s+(LIST-PROCESSING|PROGRAM|SCREEN|TO LIST-PROCESSING|TO TRANSACTION)(ENDING|STARTING)\s+AT|FORMAT\s+(COLOR|INTENSIFIED|INVERSE|HOTSPOT|INPUT|FRAMES|RESET)|AS\s+(CHECKBOX|SUBSCREEN|WINDOW)|WITH\s+(((NON-)?UNIQUE)?\s+KEY|FRAME)|(BEGIN|END)\s+OF|DELETE(\s+ADJACENT\s+DUPLICATES\sFROM)?|COMPARING(\s+ALL\s+FIELDS)?|(INSERT|APPEND)(\s+INITIAL\s+LINE\s+(IN)?TO|\s+LINES\s+OF)?|IN\s+((BYTE|CHARACTER)\s+MODE|PROGRAM)|END-OF-(DEFINITION|PAGE|SELECTION)|WITH\s+FRAME(\s+TITLE)|(REPLACE|FIND)\s+((FIRST|ALL)\s+OCCURRENCES?\s+OF\s+)?(SUBSTRING|REGEX)?|MATCH\s+(LENGTH|COUNT|LINE|OFFSET)|(RESPECTING|IGNORING)\s+CASE|IN\s+UPDATE\s+TASK|(SOURCE|RESULT)\s+(XML)?|REFERENCE\s+INTO|AND\s+(MARK|RETURN)|CLIENT\s+SPECIFIED|CORRESPONDING\s+FIELDS\s+OF|IF\s+FOUND|FOR\s+EVENT|INHERITING\s+FROM|LEAVE\s+TO\s+SCREEN|LOOP\s+AT\s+(SCREEN)?|LOWER\s+CASE|MATCHCODE\s+OBJECT|MODIF\s+ID|MODIFY\s+SCREEN|NESTING\s+LEVEL|NO\s+INTERVALS|OF\s+STRUCTURE|RADIOBUTTON\s+GROUP|RANGE\s+OF|REF\s+TO|SUPPRESS DIALOG|TABLE\s+OF|UPPER\s+CASE|TRANSPORTING\s+NO\s+FIELDS|VALUE\s+CHECK|VISIBLE\s+LENGTH|HEADER\s+LINE|COMMON\s+PART)\ba(^|(?<=(\s|\.)))(ABBREVIATED|ABSTRACT|ADD|ALIASES|ALIGN|ALPHA|ASSERT|AS|ASSIGN(ING)?|AT(\s+FIRST)?|BACK|BLOCK|BREAK-POINT|CASE|CAST|CATCH|CHANGING|CHECK|CLASS|CLEAR|COLLECT|COLOR|COMMIT|COND|CONV|CREATE|COMMUNICATION|COMPONENTS?|COMPUTE|CONCATENATE|CONDENSE|CONSTANTS|CONTEXTS|CONTINUE|CONTROLS|COUNTRY|CURRENCY|DATA|DATE|DECIMALS|DEFAULT|DEFINE|DEFINITION|DEFERRED|DEMAND|DETAIL|DIRECTORY|DIVIDE|DO|DUMMY|ELSE(IF)?|ENDAT|ENDCASE|ENDCATCH|ENDCLASS|ENDDO|ENDFORM|ENDFUNCTION|ENDIF|ENDINTERFACE|ENDLOOP|ENDMETHOD|ENDMODULE|ENDSELECT|ENDTRY|ENDWHILE|ENHANCEMENT|EVENTS|EXACT|EXCEPTIONS?|EXIT|EXPONENT|EXPORT|EXPORTING|EXTRACT|FETCH|FIELDS?|FOR|FORM|FORMAT|FREE|FROM|FUNCTION|HIDE|ID|IF|IMPORT|IMPLEMENTATION|IMPORTING|IN|INCLUDE|INCLUDING|INDEX|INFOTYPES|INITIALIZATION|INTERFACE|INTERFACES|INTO|LANGUAGE|LEAVE|LENGTH|LINES|LOAD|LOCAL|JOIN|KEY|NEW|NEXT|MAXIMUM|MESSAGE|METHOD[S]?|MINIMUM|MODULE|MODIFIER|MODIFY|MOVE|MULTIPLY|NODES|NUMBER|OBLIGATORY|OBJECT|OF|OFF|ON|OTHERS|OVERLAY|PACK|PAD|PARAMETERS|PERCENTAGE|POSITION|PROGRAM|PROVIDE|PUBLIC|PUT|PF\d\d|RAISE|RAISING|RANGES?|READ|RECEIVE|REDEFINITION|REFRESH|REJECT|REPORT|RESERVE|REF|RESUME|RETRY|RETURN|RETURNING|RIGHT|ROLLBACK|REPLACE|SCROLL|SEARCH|SELECT|SHIFT|SIGN|SINGLE|SIZE|SKIP|SORT|SPLIT|STATICS|STOP|STYLE|SUBMATCHES|SUBMIT|SUBTRACT|SUM(?!\()|SUMMARY|SUMMING|SUPPLY|SWITCH|TABLE|TABLES|TIMESTAMP|TIMES?|TIMEZONE|TITLE|\??TO|TOP-OF-PAGE|TRANSFER|TRANSLATE|TRY|TYPES|ULINE|UNDER|UNPACK|UPDATE|USING|VALUE|VALUES|VIA|VARYING|VARY|WAIT|WHEN|WHERE|WIDTH|WHILE|WITH|WINDOW|WRITE|XSD|ZERO)\ba8(abs|acos|asin|atan|boolc|boolx|bit_set|char_off|charlen|ceil|cmax|cmin|condense|contains|contains_any_of|contains_any_not_of|concat_lines_of|cos|cosh|count|count_any_of|count_any_not_of|dbmaxlen|distance|escape|exp|find|find_end|find_any_of|find_any_not_of|floor|frac|from_mixed|insert|lines|log|log10|match|matches|nmax|nmin|numofchar|repeat|replace|rescale|reverse|round|segment|shift_left|shift_right|sign|sin|sinh|sqrt|strlen|substring|substring_after|substring_from|substring_before|substring_to|tan|tanh|to_upper|to_lower|to_mixed|translate|trunc|xstrlen)(\()\bz&[0-9]�[0-9]+z�(?<=(\s|.))(AND|OR|EQ|NE|GT|LT|GE|LE|CO|CN|CA|NA|CS|NOT|NS|CP|NP|BYTE-CO|BYTE-CN|BYTE-CA|BYTE-NA|BYTE-CS|BYTE-NS|IS\s+(NOT\s+)?(INITIAL|ASSIGNED|REQUESTED|BOUND))\b�variable-namesz[?*<>=\-+&]z'(''|[^'])*'z	`([^`])*`z([|}])([^{}|]*?)([|{])z
[/;:()\[\],.]z(!)(\w+))r�r�r�N)r�r�r�r�r�r�r�r�r�r�r�r�rrr��Specialrr�rr
rr�rr	r
r�r�r�rr�r�r�r�rr�sd���
�D��h�G��8�$�I���I��M�M�B�L�L�(�E��Z� �
����'�
����(�
�w���'�	
��t�}�}�%�
(�$�-�-�8�
�

�H��
:�
�
�/�
�
�)�
�g�z�4�=�=�
9�
;�
+�
�g�z�;��
�
�{�
S�
U�
5�
�g�z�4�=�=�*�g�
N�
P�&�
�g�z�4�=�=�
9�
;�1�
�j�$�-�-��4�=�=�
I�
K�,�T�]�]�;�!�
�g�{�F�N�N�
;�
=�
 �
�g�{�D�M�M�
:�
<�
��

� 8N�pPW�q8
X�vJ�>LS�?
T�D� !)����{� C�!
E�$���
����'�D�EM�]�]�
T�
�$�%��X�&�
�f�m�m�,�
�6�=�=�)�
&�
�k�6�=�=�+�
>�
@�
�{�+�
�(�8�T�2�3�iu
�A�Fr�rc�d�eZdZdZdZgd�ZddgZddgZdZe	e
d	d
��Zdejd
fdejdfdejfdej fdej$feej&feej*fdej.fdej0fdej2fdej4fdefdefdefdej<fgdejfdejdfdejdfdejfgd ejfdejdfd!ejdfgd"�Zd#�Z y$)%rz�
    Lexer for `OpenEdge ABL (formerly Progress)
    <http://web.progress.com/en/openedge/abl.html>`_ source code.

    .. versionadded:: 1.5
    zOpenEdge ABL)�openedge�abl�progressz*.pz*.clsztext/x-openedgezapplication/x-openedgez�(?i)(^|(?<=[^\w\-]))(CHARACTER|CHAR|CHARA|CHARAC|CHARACT|CHARACTE|COM-HANDLE|DATE|DATETIME|DATETIME-TZ|DECIMAL|DEC|DECI|DECIM|DECIMA|HANDLE|INT64|INTEGER|INT|INTE|INTEG|INTEGE|LOGICAL|LONGCHAR|MEMPTR|RAW|RECID|ROWID)\s*($|(?=[^\w\-]))z(?i)(^|(?<=[^\w\-]))r^r_z/\*rz\{�preprocessorz\s*&.*z0[xX][0-9a-fA-F]+[LlUu]*z(?i)(DEFINE|DEF|DEFI|DEFIN)\bz"(\\\\|\\[^\\]|[^"\\])*"z'(\\\\|\\[^\\]|[^'\\])*'z%[0-9][0-9]*\.[0-9]+([eE][0-9]+)?[fd]?r�r�z[+*/=-]z[.:()]�.z[^*/]z#pushz\*/�#popz[*/]z[^{}]z\})r�rr�c�@�d}d|vr|dz
}d|vr|dz
}d|vr|dz
}|S)z>Try to identify OpenEdge ABL based on a few common constructs.rzEND.g�������?zEND PROCEDURE.zELSE DO:r�)�text�results  r��analyse_textzOpenEdgeLexer.analyse_text�s>�����T�>��d�N�F��t�#��d�N�F�����d�N�F��
r�N)!r�r�r�r�r�r�r�r��typesrr�keywordsr�	Multiline�Preprocr
�Hexr
�Declarationr�rr�rr�r�r�r�rr	rr�r�r�r�r�r�rr�sz����D�-�G��� �I�"�$<�=�I�K�E��%�3�1�3�H��W�&�&�	�2�
�G�O�O�^�4�
����(�
(�&�*�*�5�
-�w�/B�/B�C�
�G�L�L�!�
�t�|�|�$�
(�&�-�-�8�
(�&�-�-�8�
5�v�|�|�D�
����'�
�Z� �
��"�
��$�
�4�=�=�!�
�$�w�(�(�)�
�W�&�&��0�
�W�&�&��/�
�g�'�'�(�	
��w���'�
�G�O�O�W�-�
�G�O�O�V�,�
�1�F�>
r�rc	��eZdZdZdZdgZdgZdgZejZ
dejfde
jfded	fd
efdefgded
fdefde
j"fdefdedfdefdefgdej,fded
fdefgd�Zy)rz�
    Lexer for `GoodData-CL
    <https://github.com/gooddata/GoodData-CL/raw/master/cli/src/main/resources/com/gooddata/processor/COMMANDS.txt>`_
    script files.

    .. versionadded:: 1.4
    zGoodData-CLzgooddata-clz*.gdcztext/x-gooddata-cl�#.*z[a-z]\w*z\(�	args-list�;r�z\)r��,�=�"�string-literal�([0-9]+(?:\.[0-9]+)?(?:e[+-]?[0-9]{1,3})?z\s�\\[tnrfbae"\\]�[^\\"]+)r�r�r�N)r�r�r�r�r�r�r�r�r�r�r�rr�rr�rrr�r	rr
r�Escaper�r�r�r�rrs�����D��o�G��	�I�%�&�I��M�M�E��W�^�^�$�
�$�-�-�(�
�K��-�
�;��
�T�N�
��K��(�
�;��
�$�-�-�(�
�8��
�6�+�,�
8�&�A�
�J��	
���
�
�.�
�6�6�"�
�� �
�/�Fr�rc�J�eZdZdZdZdgZdgZddgZejZ
dejfdejfd	efd
edfdefd
efdefdejj"fedd��efdej(fdej,fdefdefg
dej2fd
edfdefgd�Zy)rz�
    Lexer for `GoodData MAQL
    <https://secure.gooddata.com/docs/html/advanced.metric.tutorial.html>`_
    scripts.

    .. versionadded:: 1.4
    �MAQL�maqlz*.maqlztext/x-gooddata-maqlzapplication/x-gooddata-maqlzIDENTIFIER\bz	\{[^}]+\}r�r�r�z	\<\>|\!\=z\=|\>\=|\>|\<\=|\<z\:\=z	\[[^]]+\])J�	DIMENSION�
DIMENSIONSr~�METRICr�r��FACTrXrF�ORr_�CREATE�PARENT�FALSE�ROW�ROWSr�rfrpr�r�r��DEFINErr�r��LIKE�ANDr�BETWEEN�EXCEPTr-�MATCH�WHERE�TRUEr�r��WITHOUT�FILTER�ALIASrW�NOTr��KEYSr��FULLSET�PRIMARY�LABELSr��VISUAL�TITLE�DESCRIPTION�FOLDERrk�DROPr �DATASET�DATATYPE�INT�BIGINT�DOUBLEr��VARCHAR�DECIMAL�SYNCHRONIZErIr�r��ASC�DESC�	HYPERLINK�INCLUDE�TEMPLATE�MODIFYz\b)raz
[a-z]\w*\br�z[,;()]r�r�r�r�)r�r�N)r�r�r�r�r�r�r�r�r�r�r�rr�r�r
rr	�Classrr
r�rr�rrr�r�r�r�r�rr5s����D��h�G��
�I�'�)F�G�I��M�M�E��d�l�l�+�
�4�=�=�)�
8�&�A�
�6�+�,�
�8�$�
"�H�-�
�h��
�4�=�=�.�.�/�
�M����

��D�M�M�*�
�W�^�^�$�
��$�
�Z� �M'
�R��
�
�.�
�6�6�"�
�� �
�S.�Fr�r)r�r��pygments.lexerrrrr�pygments.tokenrrr	r
rrr
rrr�"pygments.lexers._openedge_builtinsr�__all__rrrrrrr�r�r��<module>r s����
�?�?�+�+�+�@�+��C��C�L�:��&N�
�N�bB�J�B�J,�j�,�^=�
�=r�