Ë
    |í¼e¸  ã                   ól   — 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y)zÎ
    pygments.lexers.qvt
    ~~~~~~~~~~~~~~~~~~~

    Lexer for QVT Operational language.

    :copyright: Copyright 2006-2023 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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j0                  fd eej(                  e«      dfd eee«      dfdej2                  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j0                  ee«      d'fgd*ed'f ed'«      g ed+d,¬-«      efgd.efd/efgd0ej>                  fgded'fd1ej>                  f ed2«      gd!ed'fd3ej>                  f ed2«      gd4efgd5e jB                  fd6e jB                  fd7e jD                  fgd8œZ#y9):r   u¿  
    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'.
    ÚQVTOÚqvtoÚqvtz*.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)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   ry   r   r   r   r   r    N)$Ú__name__Ú
__module__Ú__qualname__Ú__doc__r   ÚaliasesÚ	filenamesr	   r   r
   ÚPreprocÚ	Multiliner   ÚWordr   r   ÚConstantr   ÚBuiltinÚPseudoÚDeclarationÚ	NamespaceÚClassÚ	ExceptionÚFunctionÚTyper   r   r   r   r   ÚEscaper   ÚFloatÚIntegerÚtokens© ó    ú5/usr/lib/python3/dist-packages/pygments/lexers/qvt.pyr   r      sÐ  „ ñð* €DØ�uˆo€GØ�
€Ið �DˆMØ˜$ÐØ.Ù�g˜w¨¯©¸ÓAðCð
 ! '×"3Ñ"3Ð4Ø�dˆOØ&¨¯©Ð6Ø! 8§=¡=Ð1Ø˜WÐ%Ø<¸hÐGØ˜[Ð)Ø-¨w×/?Ñ/?Ð@Ø$ d§l¡l×&9Ñ&9Ð:Ø˜×,Ñ,Ð-Ø ×!2Ñ!2°LÐAð#á�g—l‘l D¨$¯*©*Ó5ð7ð &Ù�g—l‘l D¨$¯.©.Ó9ð;à˜$Ÿ-™-Ð(Ø+Ù�g×)Ñ)¨4Ó0°+ð?à¡¨'°4Ó!8¸(ÐCØJØ�\‰\ðá�JÓØ�&™( >°5Ó9Ð:Ø�&™( >°5Ó9Ð:Ù�F‹OÙ�IÓðE%
ðP   Ð&Ø §¡Ð0Ù�F‹Oð
ð �DˆMØ0Ù�d˜DŸM™M¨4°Ó=¸vðGð
ð (¨°&Ð9Ù�F‹Oð
ñ ð #ð  ,1ô!2ð  4;ð!<ð
ð. ˜VÐ$à˜Ð ð
ð <¸V¿]¹]ÐKð
ð �6˜6Ð"Ø˜&Ÿ-™-Ð(Ù�IÓð
ð �6˜6Ð"Ø˜&Ÿ-™-Ð(Ù�IÓð
ð ˜dÐ#ð
ð
 6°v·|±|ÐDØ" F§L¡LÐ1Ø�V—^‘^Ð$ð
ñKj�Fr’   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:   ðñ÷
÷ 
÷÷ ó ð ˆ-€ôD�
õ Dr’   