YBFjxpdZddlZddlmZmZmZddlmZmZm Z m Z m Z m Z m Z mZdgZGddeZdS)z pygments.lexers.oberon ~~~~~~~~~~~~~~~~~~~~~~ Lexers for Oberon family languages. :copyright: Copyright 2006-present by the Pygments team, see AUTHORS. :license: BSD, see LICENSE for details. N) RegexLexerincludewords)TextCommentOperatorKeywordNameStringNumber PunctuationComponentPascalLexerc&eZdZdZdZddgZddgZdgZdZd Z e j e j zZ ed ed ed ed ededededgdefdefgdejfgdefgdejfdejfdejfdejfdejfgdefdefgdefdefdefd efd!efd"efd#efd$efd%efg d&efged'd()ejfed*d()ejfd+ejfgd, Zd-Z d.S)/rz+ For Component Pascal source code. zComponent Pascalcomponentpascalcpz*.cpz*.cpsztext/x-component-pascalzhttps://blackboxframework.orgz2.1 whitespacecomments punctuation numliteralsstrings operatorsbuiltins identifiersz\n+z\s+z\(\*([^$].*?)\*\)z[()\[\]{},.:;|]z [0-9A-F]+X\bz[0-9A-F]+[HL]\bz[0-9]+\.[0-9]+E[+-][0-9]+z[0-9]+\.[0-9]+z[0-9]+z '[^\n']*'z "[^\n"]*"z[+-]z[*/]z[=#<>]z\^&~z:=z\.\.z\$z([a-zA-Z_$][\w$]*)) ANYPTRANYRECBOOLEANBYTECHARINTEGERLONGINTREALSET SHORTCHARSHORTINT SHORTREALz\b)suffix)>ABSABSTRACTARRAYASHASSERTBEGINBITSBYCAPCASECHRCLOSECONSTDECDIVDOELSEELSIFEMPTYENDENTIEREXCLEXIT EXTENSIBLEFORHALTIFIMPORTININCINCLISLENLIMITEDLONGLOOPMAXMINMODMODULENEWODDOFORORDOUTPOINTER PROCEDURERECORDREPEATRETURNSHORTr%r&SIZETHENTYPETOUNTILVARWHILEWITHz(TRUE|FALSE|NIL|INF)\b) rootrrrrrrrrcRd}d|vr|dz }d|vr|dz }d|vr|dz }d|vr|dz }|S)zThe only other lexer using .cp is the C++ one, so we check if for a few common Pascal keywords here. Those are unfortunately quite common across various business languages as well.rr.g{Gz?r<rXrP)textresults DC:\PYTHON\_runtimes\venv\Lib\site-packages\pygments/lexers/oberon.py analyse_textz!ComponentPascalLexer.analyse_textjsZ d?? dNF D== dNF $   dNF t   dNF N)!__name__ __module__ __qualname____doc__namealiases filenames mimetypesurl version_addedre MULTILINEDOTALLflagsrrr Multiliner r HexFloatIntegerr rr rr TypeReservedConstanttokensrkrgrlrjrrs6 D $'G!I*+I )CM L29 $E GL ! ! GJ   GM " " GM " " GI   GK GJ   GM " "  TN TN "7#4 5   - fj )  , )6< 8  -  '  6 " 6 " h  h   ! H  8  8  H  h  H ! &#D ) U !!!#*, 0U   ! ! !#*"2 4'(8 9 mGGFRrl)rprwpygments.lexerrrrpygments.tokenrrrr r r r r __all__rrgrlrjrs 5555555555 " "ddddd:dddddrl