
    Mh                     t    d Z ddlmZmZmZmZmZmZ ddlm	Z	m
Z
mZmZmZmZmZmZ dgZ G d de          ZdS )z
    pygments.lexers.qvt
    ~~~~~~~~~~~~~~~~~~~

    Lexer for QVT Operational language.

    :copyright: Copyright 2006-2025 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                      e Zd ZdZdZddgZdgZdZdZde	fd	e	fd
 e
eeej        e          fdej        fde	fdej        fdej        fdefdefdefdej        fdej        j        fdej        fdej        dfd e
ej        e	ej                  fd e
ej        e	ej                  fdej        fd e
ej        e	          dfd e
ee	          dfdej        f ed          d e ed!d"          fd#e ed!d$          f ed%           ed&          gd'e	fd(ej        f ed)          gd*e	fd+ e
e	ej        e	e          d)fgd,ed)f ed)          g e d-d./          efgd0efd1efgd2ej!        fgd ed)fd3ej!        f ed4          gd#ed)fd5ej!        f ed4          gd6efgd7e"j#        fd8e"j#        fd9e"j$        fgd:Z%d;S )<r   u  
    For the QVT Operational Mapping language.

    Reference for implementing this: «Meta Object Facility (MOF) 2.0
    Query/View/Transformation Specification», Version 1.1 - January 2011
    (https://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'.
    QVTOqvtoqvtz*.qvtoz https://www.omg.org/spec/QVT/1.1 z\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)Yabstractaccessanyr   blackboxbreakcasecollectcollectNested
collectOnecollectselectcollectselectOnecomposescomputeconfigurationconstructorcontinuedatatyper   derived	disjunctsdoelifelseendendifexceptexistsextendsforAllforEachforOnefromifimpliesininheritsinitinoutintermediate
invresolveinvresolveIninvresolveoneinvresolveoneInisUniqueiteratelateletliterallogmapmerges	modeltypenewobjectoneorderedoutpackage
populationpropertyraisereadonly
referencesrefinesrejectresolve	resolveIn
resolveoneresolveoneInreturnselect	selectOnesortedBystaticswitchtagthentrytypedef	unlimiteduseswhenwherewhilewithxcollectxmapxselectz\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+)rootr   r   r   r   rz   r   r   r   r    r!   N)&__name__
__module____qualname____doc__r    aliases	filenamesurlversion_addedr	   r   r
   Preproc	Multiliner   Wordr   r   Constantr   BuiltinPseudoDeclaration	NamespaceClass	ExceptionFunctionTyper   r   r   r   r   Escaper   FloatIntegertokens     S/var/www/html/test/jupyter/venv/lib/python3.11/site-packages/pygments/lexers/qvt.pyr   r      s        * DuoG
I
,CM DM$.XgwAAC
 !'"34dO&6!8=1W%<hG[)-w/?@$dl&9:,-!2LA#XglD$*557 &XglD$.99;$-(+Xg)400+?'4!8!8(CJ\GJ&((>599:&((>599:GFOOGIE%
P  &0GFOO
 DM0XdDM4==vG
 (&9GFOO
 U #  ,1!2 2 2  4;!<
. V$ 
 <V]K
 66"&-(GI
 66"&-(GI
 d#

 6v|D"FL1V^$
Kj jFFFr   N)r   pygments.lexerr   r   r   r   r   r   pygments.tokenr	   r
   r   r   r   r   r   r   __all__r   r   r   r   <module>r      s
   
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
                    -F F F F F
 F F F F Fr   