
    |e
                     \    d Z ddlmZmZ ddlmZmZmZmZm	Z	m
Z
mZmZ dgZ G d de      Zy)z
    pygments.lexers.snobol
    ~~~~~~~~~~~~~~~~~~~~~~

    Lexers for the SNOBOL language.

    :copyright: Copyright 2006-2023 by the Pygments team, see AUTHORS.
    :license: BSD, see LICENSE for details.
    )
RegexLexerbygroups)TextCommentOperatorKeywordNameStringNumberPunctuationSnobolLexerc                   b   e Zd ZdZdZdgZdgZdgZdefde	dfd	efd
e
j                  dfde
j                  dfdedfgdedfdefde
j                  fde
fdefdefdefdej"                  fdej$                  fde	dfde	fgdedfdefdefd ee	e
j                  e	      fgdej*                  fgdZy) r   z
    Lexer for the SNOBOL4 programming language.

    Recognizes the common ASCII equivalents of the original SNOBOL4 operators.
    Does not require spaces around binary operators.

    .. versionadded:: 1.5
    Snobolsnobolz*.snobolztext/x-snobolz\*.*\nz[+.] 	statementz-.*\nzEND\s*\nheredocz[A-Za-z$][\w$]*z\s+z\s*\nz#popz(?<=[^\w.])(LT|LE|EQ|NE|GE|GT|INTEGER|IDENT|DIFFER|LGT|SIZE|REPLACE|TRIM|DUPL|REMDR|DATE|TIME|EVAL|APPLY|OPSYN|LOAD|UNLOAD|LEN|SPAN|BREAK|ANY|NOTANY|TAB|RTAB|REM|POS|RPOS|FAIL|FENCE|ABORT|ARB|ARBNO|BAL|SUCCEED|INPUT|OUTPUT|TERMINAL)(?=[^\w.])z[A-Za-z][\w.]*z\*\*|[?$.!%*/#+\-@|&\\=]z"[^"]*"z'[^']*'z[0-9]+(?=[^.EeDd])z%[0-9]+(\.[0-9]*)?([EDed][-+]?[0-9]+)?:gotoz[()<>,;]z#pop:2zF|Sz(\()([A-Za-z][\w.]*)(\))z.*\n)rootr   r   r   N)__name__
__module____qualname____doc__namealiases	filenames	mimetypesr   r   r	   Labelr   Builtinr   r
   r   IntegerFloatr   r   Heredoctokens     8/usr/lib/python3/dist-packages/pygments/lexers/snobol.pyr   r      s:    DjGI !I  {K0w$**i0[9T;'
 tV$TNM \\	
 % )(3   #FNN35v||D;'+&+
2 tX&TNW(k4::{;=	
 fnn%
]1Fr%   N)r   pygments.lexerr   r   pygments.tokenr   r   r   r   r	   r
   r   r   __all__r   r$   r%   r&   <module>r*      s5    0   /@* @r%   