Ñò Žf¯Jc@sGdZddkZyeWn#ej oddklZnXddklZlZl Z l Z l Z ddk l Z lZlZddkTddd d d d d gZdefd„ƒYZdefd„ƒYZd e fd„ƒYZd e fd„ƒYZd e fd„ƒYZd efd„ƒYZd efd„ƒYZdS(sÉ pygments.lexers.asm ~~~~~~~~~~~~~~~~~~~ Lexers for assembly languages. :copyright: Copyright 2006-2009 by the Pygments team, see AUTHORS. :license: BSD, see LICENSE for details. iÿÿÿÿN(tSet(t RegexLexertincludetbygroupstusingtDelegatingLexer(tDLexertCppLexertCLexer(t*tGasLexert ObjdumpLexert DObjdumpLexertCppObjdumpLexert CObjdumpLexert LlvmLexert NasmLexerc Bs eZdZdZdgZddgZdgZdZdZded ed Z d Z he d ƒe d e i fde e idfde ife e idfdefgd6e e ifeefde e ife eifdedfdedfe dƒe d ƒgd6de deeieee ieƒfde de deeieee ieeieƒfe e ife eifde e ifde eifdedfdedfe dƒe d ƒg d6defdefdefgd 6d efgd6Zd!„ZRS("s' For Gas (AT&T) assembly code. tGAStgass*.ss*.Ss text/x-gass "(\\"|[^"])*"s[a-zA-Z$._0-9@]s (?:[a-zA-Z$_]s*|\.s+)s(?:0[xX][a-zA-Z0-9]+|\d+)t whitespacet:s\.sdirective-argsslock|rep(n?z)?|data\d+sinstruction-argss[\r\n]+troott@s#pops#.*?$t punctuations([a-z0-9]+)( )(<)(s)(>)s)([-+])(t%t$s\ns\s+s#.*?\ns [-*,.():]+cCstid|tiƒS(Ns^\.\w+(tretmatchtM(ttext((s7/usr/lib/python2.6/site-packages/pygments/lexers/asm.pyt analyse_text^s(t__name__t __module__t__doc__tnametaliasest filenamest mimetypeststringtchart identifiertnumberRtNametLabelt AttributetFunctiontTexttConstanttStringtNumbertIntegertCommentRtHext PunctuationtVariablettokensR(((s7/usr/lib/python2.6/site-packages/pygments/lexers/asm.pyR sV                    cBsùeZdZdZdgZdgZdgZdZhdee i e e e ƒfdee e i e ƒfdedeeie e e ie eie ƒfded eeie e e ie ƒfd ed eed ee e i e eie eeƒƒfd ed eed ee e i e eie e ƒfd ed eedee e i e eiƒfde fdededee e i e e ie e ie eiƒfdedee e i e e ie e iƒfdefg d6ZRS(s) For the output of 'objdump -dr' tobjdumps *.objdumpstext/x-objdumps [0-9A-Za-z]s(.*?)(:)( +file format )(.*?)$s"(Disassembly of section )(.*?)(:)$t(s++)( )(<)(.*?)([-+])(0[xX][A-Za-z0-9]+)(>:)$s+)( )(<)(.*?)(>:)$s( *)(s +:)(\t)((?:s )+)( * )([a-zA-Z].*?)$s )+)( *)(.*?)$s )+)$s \.\.\.$s( )(s+:)( )([^ ]+)( )(.*?)([-+])(0xs+)$s+:)( )([^ ]+)( )(.*?)$s[^ ]+ R(RR R!R"R#R$R%thexRR*R+R5R.R0R1R4R-RR tPropertyR/tOtherR7(((s7/usr/lib/python2.6/site-packages/pygments/lexers/asm.pyR as@      !   cBs8eZdZdZdgZdgZdgZd„ZRS(s= For the output of 'objdump -Sr on compiled D files' s d-objdumps *.d-objdumpstext/x-d-objdumpcKs tt|ƒitt|dS(N(tsuperR t__init__RR (tselftoptions((s7/usr/lib/python2.6/site-packages/pygments/lexers/asm.pyR>¡s(RR R!R"R#R$R%R>(((s7/usr/lib/python2.6/site-packages/pygments/lexers/asm.pyR ˜s    cBsDeZdZdZdddgZdddgZdgZd„ZRS( s? For the output of 'objdump -Sr on compiled C++ files' s cpp-objdumps c++-objdumbs cxx-objdumps *.cpp-objdumps *.c++-objdumps *.cxx-objdumpstext/x-cpp-objdumpcKs tt|ƒitt|dS(N(R=R R>RR (R?R@((s7/usr/lib/python2.6/site-packages/pygments/lexers/asm.pyR>®s(RR R!R"R#R$R%R>(((s7/usr/lib/python2.6/site-packages/pygments/lexers/asm.pyR ¥s  cBs8eZdZdZdgZdgZdgZd„ZRS(s= For the output of 'objdump -Sr on compiled C files' s c-objdumps *.c-objdumpstext/x-c-objdumpcKs tt|ƒitt|dS(N(R=RR>RR (R?R@((s7/usr/lib/python2.6/site-packages/pygments/lexers/asm.pyR>»s(RR R!R"R#R$R%R>(((s7/usr/lib/python2.6/site-packages/pygments/lexers/asm.pyR²s    c BsÿeZdZdZdgZdgZdgZdZdedZhe dƒd ed e i fe d ƒd ee i fd ee i fde i ifdeefdefdefdefg d6defdefgd6defdefgd 6ZRS(s! For LLVM assembly code. tLLVMtllvms*.lls text/x-llvms"[^"]*?"s([a-zA-Z$._][a-zA-Z$._0-9]*|t)Rs^\s*s\s*:tkeywordRRs%\d+sc?s0[xX][a-fA-F0-9]+s,-?\d+(?:[.]\d+)?(?:[eE][-+]?\d+(?:[.]\d+)?)?s[=<>{}\[\]()*.,]|x\bRs(\n|\s)+s;.*?\ns(void|label|float|double|opaque|to|alias|type|zeroext|signext|inreg|sret|noalias|noreturn|nounwind|nest|module|asm|target|datalayout|triple|true|false|null|zeroinitializer|undef|global|internal|external|linkonce|weak|appending|extern_weak|dllimport|dllexport|ccc|fastcc|coldcc|cc|tail|default|hidden|protected|thread_local|constant|align|section|define|declare|trunc|zext|sext|fptrunc|fpext|fptoui|fptosi|uitofp|sitofp|ptrtoint|inttoptr|bitcast|getelementptr|select|icmp|fcmp|extractelement|insertelement|shufflevector|sideeffect|volatile|ret|br|switch|invoke|unwind|unreachable|add|sub|mul|udiv|sdiv|fdiv|urem|srem|frem|shl|lshr|ashr|and|or|xor|malloc|free|alloca|load|store|phi|call|va_arg|va_list|eq|ne|ugt|uge|ult|ule|sgt|sge|slt|sle|oeq|ogt|oge|olt|ole|one|ord|ueq|ugt|uge|une|uno)\bs i[1-9]\d*(RR R!R"R#R$R%R&R(RR*R+R6R/t AnonymousR0R1R5R.R3tKeywordR7(((s7/usr/lib/python2.6/site-packages/pygments/lexers/asm.pyR¿s.         c Bs/eZdZdZdgZddgZdgZdZdZdZ d Z d Z e d e Z d d Z dZdZdZdZdZeieiBZhedƒdeidfedeifeedfdeeeieiƒdfeeidfeei dfde!fgd6e e"fee#i$fe e#i%fe e#fe e#i&fe e#i'fedƒeei(feei)fde!dfedƒg d6deifdei*dfdeidfgd6de!fd e!fd!ei*fgd6d"e+fd#e,fd$eifee,i-feei.fgd6Z/RS(%s) For Nasm (Intel) assembly code. tNASMtnasms*.asms*.ASMs text/x-nasms[a-zA-Z$._?][a-zA-Z0-9$._?#@~]*s2(?:0[xX][0-9a-fA-F]+|$0[0-9a-fA-F]*|[0-9a-fA-F]+h)s[0-7]+qs[01]+bs[0-9]+s\.e?s"(\\"|[^"])*"|s '(\\'|[^'])*'s(?:res|d)[bwdqt]|timessT[a-d][lh]|e?[a-d]x|e?[sb]p|e?[sd]i|[c-gs]s|st[0-7]|mm[0-7]|cr[0-4]|dr[0-367]|tr[3-7]sseg|wrt|strictsbyte|[dq]?wordsoBITS|USE16|USE32|SECTION|SEGMENT|ABSOLUTE|EXTERN|GLOBAL|COMMON|CPU|GROUP|UPPERCASE|IMPORT|EXPORT|LIBRARY|MODULERs^\s*%tpreprocRsinstruction-argss (%s)\s+(equ)s[\r\n]+RRs#pops[^;\n]+s;.*?\ns\ns[ \t]+s;.*s [,():\[\]]+s[&|^<>+*/%~-]+s[$]+(0RR R!R"R#R$R%R(thexntoctntbinntdecntfloatnR&tdeclkwtregistertwordopttypet directivesRt IGNORECASEt MULTILINEtflagsRR3tPreprocR*R+RFRR/t DeclarationR-R.R0R1R4tOcttFloatR2tBuiltinR6tSingleR5tOperatortWordtTypeR7(((s7/usr/lib/python2.6/site-packages/pygments/lexers/asm.pyR sf                       (R!Rtsett NameErrortsetsRtpygments.lexerRRRRRtpygments.lexers.compiledRRRtpygments.tokent__all__R R R R RRR(((s7/usr/lib/python2.6/site-packages/pygments/lexers/asm.pyt s" (  G7   J