HEX
Server: Apache
System: Linux srv1.prosuiteplus.com 5.4.0-216-generic #236-Ubuntu SMP Fri Apr 11 19:53:21 UTC 2025 x86_64
User: prosuiteplus (1001)
PHP: 8.3.20
Disabled: NONE
Upload Files
File: //usr/lib/python3/dist-packages/pygments/lexers/__pycache__/qvt.cpython-38.pyc
U

G�
\��@sfdZddlmZmZmZmZmZmZddlm	Z	m
Z
mZmZm
Z
mZmZmZdgZGdd�de�ZdS)z�
    pygments.lexers.qvt
    ~~~~~~~~~~~~~~~~~~~

    Lexer for QVT Operational language.

    :copyright: Copyright 2006-2017 by the Pygments team, see AUTHORS.
    :license: BSD, see LICENSE for details.
�)�
RegexLexer�bygroups�include�combined�default�words)�Text�Comment�Operator�Keyword�Punctuation�Name�String�Number�	QVToLexerc@s�eZdZdZdZddgZdgZdefdefdee	e	e	j
e	�fd	e	jfd
efdej
fdej
fd
efdefdefdejfdejjfdejfdejdfdeej
eej�fdeej
eej�fdejfdeeje�dfdeee�dfdejfed�deedd �fd!eedd"�fed#�ed$�gd%efd&ejfed'�gd(efd)eeejee�d'fgd*ed'fed'�ged+d,d-�efgd.efd/efgd0ejfgded'fd1ejfed2�gd!ed'fd3ejfed2�gd4efgd5e j!fd6e j!fd7e j"fgd8�Z#d9S):ru�
    For the `QVT Operational Mapping language <http://www.omg.org/spec/QVT/1.1/>`_.

    Reference for implementing this: «Meta Object Facility (MOF) 2.0
    Query/View/Transformation Specification», Version 1.1 - January 2011
    (http://www.omg.org/spec/QVT/1.1/), see §8.4, «Concrete Syntax» in
    particular.

    Notable tokens assignments:

    - Name.Class is assigned to the identifier following any of the following
      keywords: metamodel, class, exception, primitive, enum, transformation
      or library

    - Name.Function is assigned to the names of mappings and queries

    - Name.Builtin.Pseudo is assigned to the pre-defined variables 'this',
      'self' and 'result'.
    ZQVTOZqvtoZqvtz*.qvtoz\nz[^\S\n]+z(--|//)(\s*)(directive:)?(.*)$z/[*](.|\n)*?[*]/z\\\nz(and|not|or|xor|##?)\bz(:{1,2}=|[-+]=)\bz(@|<<|>>)\bz,!=|<>|==|=|!->|->|>=|<=|[.]{3}|[+/*%=<>&|.~]z[]{}:(),;[]z(true|false|unlimited|null)\bz(this|self|result)\bz(var)\bz(from|import)\b�
fromimportzK(metamodel|class|exception|primitive|enum|transformation|library)(\s+)(\w+)z(exception)(\s+)(\w+)z(main)\bz(mapping|helper|query)(\s+)�	operationz(assert)(\s+)\b�assertz:(Bag|Collection|Dict|OrderedSet|Sequence|Set|Tuple|List)\b�keywords�"�stringescape�dqs�'�sqs�name�numbersz(?:[ \t]|\\\n)+z[a-zA-Z_][\w.]*z#popz::z (.*::)([a-zA-Z_]\w*)([ \t]*)(\()z(warning|error|fatal)\b)YZabstract�access�anyrZblackbox�breakZcaseZcollectZ
collectNestedZ
collectOneZ
collectselectZcollectselectOneZcomposesZcomputeZ
configuration�constructor�continueZdatatyperZderivedZ	disjunctsZdo�elif�else�endZendif�except�existsZextendsZforAllZforEachZforOne�from�ifZimplies�inZinheritsZinitZinoutZintermediateZ
invresolveZinvresolveInZ
invresolveoneZinvresolveoneInZisUniqueZiterateZlateZlet�literal�log�mapZmergesZ	modeltype�new�objectZoneZordered�out�packageZ
population�property�raise�readonlyZ
referencesZrefinesZrejectZresolveZ	resolveInZ
resolveoneZresolveoneIn�returnZselectZ	selectOneZsortedByZstaticZswitch�tagZthen�tryZtypedefZ	unlimitedZusesZwhen�where�while�withZxcollectZxmapZxselectz\b)�suffixz[^\\\'"\n]+z[\'"\\]z+\\([\\btnfr"\']|u[0-3][0-7]{2}|u[0-7]{1,2})z\\\\|\\"�stringsz\\\\|\\'z[a-zA-Z_]\w*z%(\d+\.\d*|\d*\.\d+)([eE][+-]?[0-9]+)?z\d+[eE][+-]?[0-9]+z\d+)�rootrrrrr:rrrrrN)$�__name__�
__module__�__qualname__�__doc__r�aliases�	filenamesrrr	ZPreprocZ	Multiliner
ZWordrrZConstantr
ZBuiltinZPseudoZDeclarationZ	NamespaceZClass�	ExceptionZFunctionZTyperrrrrZEscaperZFloatZInteger�tokens�rDrD�5/usr/lib/python3/dist-packages/pygments/lexers/qvt.pyrs��

��
���(��������������N)r?Zpygments.lexerrrrrrrZpygments.tokenrr	r
rrr
rr�__all__rrDrDrDrE�<module>s
 (