ó Z-Qc@sÆdZddlZddlmZmZmZmZmZddlm Z m Z m Z m Z m Z mZmZmZmZmZddlmZmZmZmZmZddlmZddlmZmZmZddlm Z d d d d d dddddddddddddgZ!d efd„ƒYZ"d efd„ƒYZ#defd„ƒYZ$d efd„ƒYZ%d efd„ƒYZ&d efd „ƒYZ'defd!„ƒYZ(defd"„ƒYZ)defd#„ƒYZ*defd$„ƒYZ+defd%„ƒYZ,defd&„ƒYZ-defd'„ƒYZ.defd(„ƒYZ/defd)„ƒYZ0defd*„ƒYZ1defd+„ƒYZ2d,efd-„ƒYZ3defd.„ƒYZ4dS(/sÐ pygments.lexers.parsers ~~~~~~~~~~~~~~~~~~~~~~~ Lexers for parser generators. :copyright: Copyright 2006-2013 by the Pygments team, see AUTHORS. :license: BSD, see LICENSE for details. iÿÿÿÿN(t RegexLexertDelegatingLexertincludetbygroupstusing( t PunctuationtOthertTexttCommenttOperatortKeywordtNametStringtNumbert Whitespace(t JavaLexertCLexertCppLexertObjectiveCLexertDLexer(t CSharpLexer(t RubyLexert PythonLexert PerlLexer(tActionScriptLexert RagelLexertRagelEmbeddedLexert RagelCLexert RagelDLexert RagelCppLexertRagelObjectiveCLexertRagelRubyLexertRagelJavaLexert AntlrLexertAntlrPythonLexertAntlrPerlLexertAntlrRubyLexert AntlrCppLexertAntlrCSharpLexertAntlrObjectiveCLexertAntlrJavaLexertAntlrActionScriptLexert TreetopLexercBsöeZdZdZdgZgZi defgd6defgd6defdefd efd efgd 6d e j fd e j fgd6de fde fde fde j fgd6dejfgd6defdefdefdefdefdefdefdefdefdefd efd!efd"efd#efgd$6edƒedƒedƒed ƒedƒedƒed$ƒd%ed&fd'efd(efg d)6d*d+jd6ƒd2efd%ed3fd4ed5fgd&6ZRS(7sè A pure `Ragel `_ lexer. Use this for fragments of Ragel. For ``.rl`` files, use RagelEmbeddedLexer instead (or one of the language-specific subclasses). *New in Pygments 1.1.* tRageltragels\s+t whitespaces\#.*$tcommentss(access|action|alphtype)\bs (getkey|write|machine|include)\bs2(any|ascii|extend|alpha|digit|alnum|lower|upper)\bs3(xdigit|cntrl|graph|print|punct|space|zlen|empty)\btkeywordss0x[0-9A-Fa-f]+s [+-]?[0-9]+tnumberss"(\\\\|\\"|[^"])*"s'(\\\\|\\'|[^'])*'s\[(\\\\|\\\]|[^\]])*\]s/(?!\*)(\\\\|\\/|[^/])*/tliteralss[a-zA-Z_][a-zA-Z_0-9]*t identifierst,s\||&|--?s \.|<:|:>>?t:s->s(>|\$|%|<|@|<>)(/|eof\b)s(>|\$|%|<|@|<>)(!|err\b)s(>|\$|%|<|@|<>)(\^|lerr\b)s(>|\$|%|<|@|<>)(~|to\b)s(>|\$|%|<|@|<>)(\*|from\b)s>|@|\$|%s\*|\?|\+|{[0-9]*,[0-9]*}s!|\^s\(|\)t operatorst{thostt=t;troott(t|s [^{}\'"/#]+s [^\\][\\][{}]s//.*$\n?s/\*(.|\n)*?\*/s\#.*$\n?t/s)+s#pusht}s#pop( s [^{}\'"/#]+s [^\\][\\][{}]s"(\\\\|\\"|[^"])*"s'(\\\\|\\'|[^'])*'s//.*$\n?s/\*(.|\n)*?\*/s\#.*$\n?s/(?!\*)(\\\\|\\/|[^/])*/R=(t__name__t __module__t__doc__tnametaliasest filenamesRRR R tHextIntegerR tRegexR tVariableR RRtjoinRttokens(((sA/usr/local/lib/python2.7/site-packages/pygments/lexers/parsers.pyR#sZ                               c BsÙeZdZdZdgZdgZiddjdƒdefdee e e ƒe e ƒfde dfgd6ddjddjd ƒddd dd d d fƒde e ƒfde dfgd6Z d„ZRS(!sä 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. *New in Pygments 1.1.* sEmbedded Ragelsragel-ems*.rlR;R<s [^%\'"/#]+s %(?=[^%]|$)s"(\\\\|\\"|[^"])*"s'(\\\\|\\'|[^'])*'s/\*(.|\n)*?\*/s//.*$\n?s\#.*$\n?s/(?!\*)(\\\\|\\/|[^/])*/R=s)+s(%%)(?![{%])(.*)($|;)(\n?)s (%%%%|%%){smulti-line-fsmR:s [^}\'"\[/#]s }(?=[^%]|$)s }%(?=[^%]|$)s [^\\][\\][{}]s(>|\$|%|<|@|<>)/s/(?!\*)(\\\\|\\/|[^/])*/\*s /(?=[^/\*]|$)s\[(\\\\|\\\]|[^\]])*\]s}%%s#popcCsd|kpdS(Ns @LANG: indepgš™™™™™¹?((ttext((sA/usr/local/lib/python2.7/site-packages/pygments/lexers/parsers.pyt analyse_textÏs( s [^%\'"/#]+s %(?=[^%]|$)s"(\\\\|\\"|[^"])*"s'(\\\\|\\'|[^'])*'s/\*(.|\n)*?\*/s//.*$\n?s\#.*$\n?s/(?!\*)(\\\\|\\/|[^/])*/R=(s [^}\'"\[/#]s }(?=[^%]|$)s }%(?=[^%]|$)s [^\\][\\][{}]s(>|\$|%|<|@|<>)/s/(?!\*)(\\\\|\\/|[^/])*/\*s /(?=[^/\*]|$)(R?R@RARBRCRDRIRRRRRRRJRL(((sA/usr/local/lib/python2.7/site-packages/pygments/lexers/parsers.pyR€s     !FcBs;eZdZdZddgZdgZd„Zd„ZRS(sO A lexer for `Ragel`_ in a Ruby host file. *New in Pygments 1.1.* sRagel in Ruby Hosts ragel-rubysragel-rbs*.rlcKs tt|ƒjtt|dS(N(tsuperRt__init__RR(tselftoptions((sA/usr/local/lib/python2.7/site-packages/pygments/lexers/parsers.pyRNÞscCs d|kS(Ns @LANG: ruby((RK((sA/usr/local/lib/python2.7/site-packages/pygments/lexers/parsers.pyRLâs(R?R@RARBRCRDRNRL(((sA/usr/local/lib/python2.7/site-packages/pygments/lexers/parsers.pyRÓs    cBs8eZdZdZdgZdgZd„Zd„ZRS(sL A lexer for `Ragel`_ in a C host file. *New in Pygments 1.1.* sRagel in C Hostsragel-cs*.rlcKs tt|ƒjtt|dS(N(RMRRNRR(RORP((sA/usr/local/lib/python2.7/site-packages/pygments/lexers/parsers.pyRNñscCs d|kS(Ns@LANG: c((RK((sA/usr/local/lib/python2.7/site-packages/pygments/lexers/parsers.pyRLõs(R?R@RARBRCRDRNRL(((sA/usr/local/lib/python2.7/site-packages/pygments/lexers/parsers.pyRæs    cBs8eZdZdZdgZdgZd„Zd„ZRS(sL A lexer for `Ragel`_ in a D host file. *New in Pygments 1.1.* sRagel in D Hostsragel-ds*.rlcKs tt|ƒjtt|dS(N(RMRRNRR(RORP((sA/usr/local/lib/python2.7/site-packages/pygments/lexers/parsers.pyRNscCs d|kS(Ns@LANG: d((RK((sA/usr/local/lib/python2.7/site-packages/pygments/lexers/parsers.pyRLs(R?R@RARBRCRDRNRL(((sA/usr/local/lib/python2.7/site-packages/pygments/lexers/parsers.pyRùs    cBs8eZdZdZdgZdgZd„Zd„ZRS(sN A lexer for `Ragel`_ in a CPP host file. *New in Pygments 1.1.* sRagel in CPP Hosts ragel-cpps*.rlcKs tt|ƒjtt|dS(N(RMRRNRR(RORP((sA/usr/local/lib/python2.7/site-packages/pygments/lexers/parsers.pyRNscCs d|kS(Ns @LANG: c++((RK((sA/usr/local/lib/python2.7/site-packages/pygments/lexers/parsers.pyRLs(R?R@RARBRCRDRNRL(((sA/usr/local/lib/python2.7/site-packages/pygments/lexers/parsers.pyR s    cBs8eZdZdZdgZdgZd„Zd„ZRS(sW A lexer for `Ragel`_ in an Objective C host file. *New in Pygments 1.1.* sRagel in Objective C Hosts ragel-objcs*.rlcKs tt|ƒjtt|dS(N(RMRRNRR(RORP((sA/usr/local/lib/python2.7/site-packages/pygments/lexers/parsers.pyRN(scCs d|kS(Ns @LANG: objc((RK((sA/usr/local/lib/python2.7/site-packages/pygments/lexers/parsers.pyRL-s(R?R@RARBRCRDRNRL(((sA/usr/local/lib/python2.7/site-packages/pygments/lexers/parsers.pyRs    cBs8eZdZdZdgZdgZd„Zd„ZRS(sO A lexer for `Ragel`_ in a Java host file. *New in Pygments 1.1.* sRagel in Java Hosts ragel-javas*.rlcKs tt|ƒjtt|dS(N(RMR RNRR(RORP((sA/usr/local/lib/python2.7/site-packages/pygments/lexers/parsers.pyRN<scCs d|kS(Ns @LANG: java((RK((sA/usr/local/lib/python2.7/site-packages/pygments/lexers/parsers.pyRL@s(R?R@RARBRCRDRNRL(((sA/usr/local/lib/python2.7/site-packages/pygments/lexers/parsers.pyR 1s    cBsËeZdZdZdgZgZdZdZdZdZ dZ i de fgd 6d e fd e fgd 6e d ƒe d ƒd edeee ee ejeƒfdedfdedfdedeee eje eƒdfdedfdededeeje ee eje eƒdfdedeee ejeƒdJfg d6de d fd!e fe d ƒd"ed#fd$edfgd6e d ƒe d ƒd%efd"ed#fd$edfd&ed'eee ejƒfd(ed'eee ejƒfdedfd)eee eƒdfd*ed+eee eje eƒfdedeeje eƒdfd,ed fg d6e d ƒe d ƒdedfd,efd-efd.efd/efd0ejfd1ejfd2efd3efd"ed#fd$edfd4ed fgd6e d ƒe d ƒd5efd6ed7e d8eeje ee ee eƒfd9ed fgd6e d ƒe d ƒd5efd6ed:d;jee e d<fƒd+eeje ee ee eƒfd9ed fgd6d6d;jdKƒdBefdCeeeƒfdDeejeejƒfd5edEfd9ed fgd6d6d;jdLƒdBefd"edEfdGed fdDeejeejƒfdHefgd#6ZdI„ZRS(MsÀ Generic `ANTLR`_ Lexer. Should not be called directly, instead use DelegatingLexer for your target language. *New in Pygments 1.1.* .. _ANTLR: http://www.antlr.org/ tANTLRtantlrs[A-Za-z][A-Za-z_0-9]*s[A-Z][A-Za-z_0-9]*s[a-z][A-Za-z_0-9]*s\'(?:\\\\|\\\'|[^\']*)\'s[0-9]+s\s+R-s//.*$s/\*(.|\n)*?\*/R.s*(lexer|parser|tree)?(\s*)(grammar\b)(\s*)(s)(;)s options\bRPstokens\bRJs (scope)(\s*)(s )(\s*)({)tactions(catch|finally)\bt exceptions(@s)(\s*)(::)?(\s*)(s0((?:protected|private|public|fragment)\b)?(\s*)(s)(!)?s rule-altss rule-prelimsR:s\ns#pops\ss\[snested-arg-actions\{s returns\bs(throws)(\s+)(t)s (,)(\s*)(s(scope)(\s+)({)s (scope)(\s+)(s )(\s*)(;)R4s'(\\\\|\\'|[^'])*'s"(\\\\|\\"|[^"])*"s<<([^>]|>[^>])>>s\$?[A-Z_][A-Za-z_0-9]*s\$?[a-z_][A-Za-z_0-9]*s-(\+|\||->|=>|=|\(|\)|\.\.|\.|\?|\*|\^|!|\#|~)R3R9R6R;s)(\s*)(=)?(\s*)(s )?(\s*)(;)R>s)(\s*)(=)(\s*)(R<s\*s[^\${}\'"/\\]+s//.*$\n?s/(?!\*)(\\\\|\\/|[^/])*/s\\(?!%)R=s)+s(\\)(%)s(\$[a-zA-Z]+)(\.?)(text|value)?s#pushs[^\$\[\]\'"/]+s\]s(\\\\|\\\]|\\\[|[^\[\]])+cCstjd|tjƒS(Ns^\s*grammar\s+[a-zA-Z0-9]+\s*;(tretsearchtM(RK((sA/usr/local/lib/python2.7/site-packages/pygments/lexers/parsers.pyRLs(s rule-altss rule-prelims(s[^\${}\'"/\\]+s"(\\\\|\\"|[^"])*"s'(\\\\|\\'|[^'])*'s//.*$\n?s/\*(.|\n)*?\*/s/(?!\*)(\\\\|\\/|[^/])*/s\\(?!%)R=(s[^\$\[\]\'"/]+s"(\\\\|\\"|[^"])*"s'(\\\\|\\'|[^'])*'s//.*$\n?s/\*(.|\n)*?\*/s/(?!\*)(\\\\|\\/|[^/])*/R=(R?R@RARBRCRDt_idt _TOKEN_REFt _RULE_REFt_STRING_LITERALt_INTRRRRR R tClassRRHtLabelR tConstantR RIRRtPropertyRJRL(((sA/usr/local/lib/python2.7/site-packages/pygments/lexers/parsers.pyR!Dsº                                               (   cBs;eZdZdZdgZddgZd„Zd„ZRS(s> `ANTLR`_ with CPP Target *New in Pygments 1.1.* sANTLR With CPP Targets antlr-cpps*.Gs*.gcKs tt|ƒjtt|dS(N(RMR%RNRR!(RORP((sA/usr/local/lib/python2.7/site-packages/pygments/lexers/parsers.pyRN'scCs%tj|ƒo$tjd|tjƒS(Ns^\s*language\s*=\s*C\s*;(R!RLRVRWRX(RK((sA/usr/local/lib/python2.7/site-packages/pygments/lexers/parsers.pyRL*s(R?R@RARBRCRDRNRL(((sA/usr/local/lib/python2.7/site-packages/pygments/lexers/parsers.pyR%s    cBs;eZdZdZdgZddgZd„Zd„ZRS(sF `ANTLR`_ with Objective-C Target *New in Pygments 1.1.* sANTLR With ObjectiveC Targets antlr-objcs*.Gs*.gcKs tt|ƒjtt|dS(N(RMR'RNRR!(RORP((sA/usr/local/lib/python2.7/site-packages/pygments/lexers/parsers.pyRN:scCstj|ƒotjd|ƒS(Ns^\s*language\s*=\s*ObjC\s*;(R!RLRVRW(RK((sA/usr/local/lib/python2.7/site-packages/pygments/lexers/parsers.pyRL>s(R?R@RARBRCRDRNRL(((sA/usr/local/lib/python2.7/site-packages/pygments/lexers/parsers.pyR'/s    cBs>eZdZdZddgZddgZd„Zd„ZRS(s= `ANTLR`_ with C# Target *New in Pygments 1.1.* sANTLR With C# Targets antlr-csharpsantlr-c#s*.Gs*.gcKs tt|ƒjtt|dS(N(RMR&RNRR!(RORP((sA/usr/local/lib/python2.7/site-packages/pygments/lexers/parsers.pyRNNscCs%tj|ƒo$tjd|tjƒS(Ns^\s*language\s*=\s*CSharp2\s*;(R!RLRVRWRX(RK((sA/usr/local/lib/python2.7/site-packages/pygments/lexers/parsers.pyRLRs(R?R@RARBRCRDRNRL(((sA/usr/local/lib/python2.7/site-packages/pygments/lexers/parsers.pyR&Cs    cBs;eZdZdZdgZddgZd„Zd„ZRS(sA `ANTLR`_ with Python Target *New in Pygments 1.1.* sANTLR With Python Targets antlr-pythons*.Gs*.gcKs tt|ƒjtt|dS(N(RMR"RNRR!(RORP((sA/usr/local/lib/python2.7/site-packages/pygments/lexers/parsers.pyRNbscCs%tj|ƒo$tjd|tjƒS(Ns^\s*language\s*=\s*Python\s*;(R!RLRVRWRX(RK((sA/usr/local/lib/python2.7/site-packages/pygments/lexers/parsers.pyRLfs(R?R@RARBRCRDRNRL(((sA/usr/local/lib/python2.7/site-packages/pygments/lexers/parsers.pyR"Ws    cBs;eZdZdZdgZddgZd„Zd„ZRS(s> `ANTLR`_ with Java Target *New in Pygments 1.1* sANTLR With Java Targets antlr-javas*.Gs*.gcKs tt|ƒjtt|dS(N(RMR(RNRR!(RORP((sA/usr/local/lib/python2.7/site-packages/pygments/lexers/parsers.pyRNvscCstj|ƒodS(NgÍÌÌÌÌÌì?(R!RL(RK((sA/usr/local/lib/python2.7/site-packages/pygments/lexers/parsers.pyRLzs(R?R@RARBRCRDRNRL(((sA/usr/local/lib/python2.7/site-packages/pygments/lexers/parsers.pyR(ks    cBs>eZdZdZddgZddgZd„Zd„ZRS(s? `ANTLR`_ with Ruby Target *New in Pygments 1.1.* sANTLR With Ruby Targets antlr-rubysantlr-rbs*.Gs*.gcKs tt|ƒjtt|dS(N(RMR$RNRR!(RORP((sA/usr/local/lib/python2.7/site-packages/pygments/lexers/parsers.pyRNŠscCs%tj|ƒo$tjd|tjƒS(Ns^\s*language\s*=\s*Ruby\s*;(R!RLRVRWRX(RK((sA/usr/local/lib/python2.7/site-packages/pygments/lexers/parsers.pyRLŽs(R?R@RARBRCRDRNRL(((sA/usr/local/lib/python2.7/site-packages/pygments/lexers/parsers.pyR$s    cBs;eZdZdZdgZddgZd„Zd„ZRS(s? `ANTLR`_ with Perl Target *New in Pygments 1.1.* sANTLR With Perl Targets antlr-perls*.Gs*.gcKs tt|ƒjtt|dS(N(RMR#RNRR!(RORP((sA/usr/local/lib/python2.7/site-packages/pygments/lexers/parsers.pyRNžscCs%tj|ƒo$tjd|tjƒS(Ns^\s*language\s*=\s*Perl5\s*;(R!RLRVRWRX(RK((sA/usr/local/lib/python2.7/site-packages/pygments/lexers/parsers.pyRL¢s(R?R@RARBRCRDRNRL(((sA/usr/local/lib/python2.7/site-packages/pygments/lexers/parsers.pyR#“s    cBs>eZdZdZddgZddgZd„Zd„ZRS(sG `ANTLR`_ with ActionScript Target *New in Pygments 1.1.* sANTLR With ActionScript Targetsantlr-assantlr-actionscripts*.Gs*.gcKs tt|ƒjtt|dS(N(RMR)RNRR!(RORP((sA/usr/local/lib/python2.7/site-packages/pygments/lexers/parsers.pyRN²scCs%tj|ƒo$tjd|tjƒS(Ns#^\s*language\s*=\s*ActionScript\s*;(R!RLRVRWRX(RK((sA/usr/local/lib/python2.7/site-packages/pygments/lexers/parsers.pyRL¶s(R?R@RARBRCRDRNRL(((sA/usr/local/lib/python2.7/site-packages/pygments/lexers/parsers.pyR)§s    tTreetopBaseLexercBseZdZi edƒdefdejdfdedfgd6edƒedƒded fdedfd ejfgd6edƒedƒd ed fd edfdefgd6edƒd ejdfgd6edƒedƒde j fde j fde ej eƒfdefdefdefde jfde ejeejƒfde eejeƒfdedfde jfg d 6dedfdedfdefgd6ded fdedfdefgd6d efd!ej fgd6d"edfgd6ZRS(#s A base lexer for `Treetop `_ grammars. Not for direct use; use TreetopLexer instead. *New in Pygments 1.6.* tspacesrequire[ \t]+[^\n\r]+[\n\r]smodule\btmodules grammar\btgrammarR:tends#pushs+[A-Z][A-Za-z_0-9]*(?:::[A-Z][A-Za-z_0-9]*)*srule\btrules include\bRs[A-Z][A-Za-z_0-9]*s#pops"(\\\\|\\"|[^"])*"s'(\\\\|\\'|[^'])*'s([A-Za-z_][A-Za-z_0-9]*)(:)s[A-Za-z_][A-Za-z_0-9]*s[()]s [?+*/&!~]s$\[(?:\\.|\[:\^?[a-z]+:\]|[^\\\]])+\]s([0-9]*)(\.\.)([0-9]*)s (<)([^>]+)(>)R6t inline_modules\.trubyR>s[^{}]+s [ \t\n\r]+s#[^\n]*send\b(R?R@RARRR t NamespaceR R^R tDoubletSingleRR_RR RGR RFRRRJ(((sA/usr/local/lib/python2.7/site-packages/pygments/lexers/parsers.pyRbºsR                         cBs2eZdZdZdgZddgZd„ZRS(sf A lexer for `Treetop `_ grammars. *New in Pygments 1.6.* tTreetopttreetops *.treetops*.ttcKs tt|ƒjtt|dS(N(RMR*RNRRb(RORP((sA/usr/local/lib/python2.7/site-packages/pygments/lexers/parsers.pyRN s(R?R@RARBRCRDRN(((sA/usr/local/lib/python2.7/site-packages/pygments/lexers/parsers.pyR*þs   (5RARVtpygments.lexerRRRRRtpygments.tokenRRRRR R R R R Rtpygments.lexers.compiledRRRRRtpygments.lexers.dotnetRtpygments.lexers.agileRRRtpygments.lexers.webRt__all__RRRRRRRR R!R%R'R&R"R(R$R#R)RbR*(((sA/usr/local/lib/python2.7/site-packages/pygments/lexers/parsers.pyt sB (F(     ]SØD