3 ��X� � @ sb d Z ddlZddlmZmZmZ ddlmZmZm Z m Z mZmZm Z mZ dgZG dd� de�ZdS )z� pygments.lexers.oberon ~~~~~~~~~~~~~~~~~~~~~~ Lexers for Oberon family languages. :copyright: Copyright 2006-2017 by the Pygments team, see AUTHORS. :license: BSD, see LICENSE for details. � N)� RegexLexer�include�words)�Text�Comment�Operator�Keyword�Name�String�Number�Punctuation�ComponentPascalLexerc H @ s0 e Zd ZdZdZddgZddgZdgZej ej B Zed�ed �ed �ed�ed�ed �ed�ed�gde fde fgdejfgdefgdejfdejfdejfdejfdejfgdefdefgdefdefdefdefdefd efd!efd"efd#efg d$efgedrd1d2�ejfedsd1d2�ejfdoejfgdp� ZdqS )tr zp For `Component Pascal <http://www.oberon.ch/pdf/CP-Lang.pdf>`_ source code. .. versionadded:: 2.1 zComponent PascalZcomponentpascalZcpz*.cpz*.cpsztext/x-component-pascal� whitespace�comments�punctuation�numliterals�strings� operators�builtins�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$]*)�ANYPTR�ANYREC�BOOLEAN�BYTE�CHAR�INTEGER�LONGINT�REAL�SET� SHORTCHAR�SHORTINT� SHORTREALz\b)�suffix�ABS�ABSTRACT�ARRAY�ASH�ASSERT�BEGIN�BITS�BY�CAP�CASE�CHR�CLOSE�CONST�DEC�DIV�DO�ELSE�ELSIF�EMPTY�END�ENTIER�EXCL�EXIT� EXTENSIBLE�FOR�HALT�IF�IMPORT�IN�INC�INCL�IS�LEN�LIMITED�LONG�LOOP�MAX�MIN�MOD�MODULE�NEW�ODD�OF�OR�ORD�OUT�POINTER� PROCEDURE�RECORD�REPEAT�RETURN�SHORT�SIZE�THEN�TYPE�TO�UNTIL�VAR�WHILE�WITHz(TRUE|FALSE|NIL|INF)\b) �rootr r r r r r r r N)r r r r r r r r r r! r"