|eIhdZddlZddlmZmZmZddlmZmZm Z m Z m Z m Z m Z mZdgZGddeZy)z pygments.lexers.oberon ~~~~~~~~~~~~~~~~~~~~~~ Lexers for Oberon family languages. :copyright: Copyright 2006-2023 by the Pygments team, see AUTHORS. :license: BSD, see LICENSE for details. N) RegexLexerincludewords)TextCommentOperatorKeywordNameStringNumber PunctuationComponentPascalLexercNeZdZdZdZddgZddgZdgZejejzZ e de d e d e d e d e d e de dgde fde fgdejfgdefgdej$fdej$fdej&fdej&fdej(fgdefdefgdefdefdefdefdefd efd!efd"efd#efg d$efged%d&'ej4fed(d&'ej6fd)ej8fgd* Zd+Zy,)-rzF For Component Pascal source code. .. versionadded:: 2.1 zComponent Pascalcomponentpascalcpz*.cpz*.cpsztext/x-component-pascal 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<rX)textresults 8/usr/lib/python3/dist-packages/pygments/lexers/oberon.py analyse_textz!ComponentPascalLexer.analyse_textjsO d? dNF D= dNF $  dNF D= dNF N)__name__ __module__ __qualname____doc__namealiases filenames mimetypesre MULTILINEDOTALLflagsrrr Multiliner r HexFloatIntegerr rr rr TypeReservedConstanttokensrkrgrlrjrrs D $'G!I*+I LL299 $E L ! J  M " M " I  K J  M "  TN TN "7#4#4 5   - fjj )  , )6<< 8  -  '  6 " 6 " h  h   ! H  8  8  H  h  H ! &#D )  !#*,, 0   !#*"2"2 4'(8(8 9 mGFRrl)rprupygments.lexerrrrpygments.tokenrrrr r r r r __all__rrgrlrjrs< 55 " "d:drl