3
V'íc0e ã @ 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# d
ddddddddddddddddddgZ$G d d
d
eZ%G d!d deZ&G d"d deZ'G d#d deZ(G d$d deZ)G d%d deZ*G d&d deZ+G d'd deZ,G d(d deZ-G d)d deZ.G d*d deZ/G d+d deZ0G d,d deZ1G d-d deZ2G d.d deZ3G d/d deZ4G d0d deZ5G d1d2 d2eZ6G d3d deZ7G d4d deZ8dS )5zÐ
pygments.lexers.parsers
~~~~~~~~~~~~~~~~~~~~~~~
Lexers for parser generators.
:copyright: Copyright 2006-2022 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 @ sJ e Zd ZdZdZdZdgZg Zdefgde fgde
fde
fd e
fd
e
fgdejfdej
fgd
ejfdejfdefdejfgdejfgdefdefdefdefdefdefdefdefdefdefdefdefdefdefged ed!ed"ed#ed$ed%ed&d'ed(fd)efd*efg
d+d,jd9 d3 efd'ed4fd5ed6fgd7 Zd8S ):r 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).
.. versionadded:: 1.1
ZRagelz&http://www.colm.net/open-source/ragel/Zragelz\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Ú operatorsz\{Úhostú=ú;ú(ú|ú[^{}\'"/#]+ú[^\\]\\[{}]ú//.*$\n?ú/\*(.|\n)*?\*/ú\#.*$\n?ú/z)+z#pushz\}z#pop) r3 r4 r5 r6 r2 r7 r8 Úrootr9 N) r>