§
    XŠtjÚ  ã                   ó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-present 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© ó    úQ/var/www/html/CA-Chatbot/venv/lib/python3.11/site-packages/pygments/lexers/qvt.pyr   r      s  € € € € € ðð ð* €DØ�uˆo€GØ�
€IØ
,€CØ€Mð �DˆMØ˜$ÐØ.ØˆX�g˜w¨¬¸ÑAÔAðCð
 ! 'Ô"3Ð4Ø�dˆOØ&¨¬Ð6Ø! 8¤=Ð1Ø˜WÐ%Ø<¸hÐGØ˜[Ð)Ø-¨wÔ/?Ð@Ø$ d¤lÔ&9Ð:Ø˜Ô,Ð-Ø Ô!2°LÐAð#àˆX�g”l D¨$¬*Ñ5Ô5ð7ð &ØˆX�g”l D¨$¬.Ñ9Ô9ð;à˜$œ-Ð(Ø+ØˆX�gÔ)¨4Ñ0Ô0°+ð?à  ¨'°4Ñ!8Ô!8¸(ÐCØJØŒ\ðàˆG�JÑÔØ�&˜(˜( >°5Ñ9Ô9Ð:Ø�&˜(˜( >°5Ñ9Ô9Ð:ØˆG�F‰OŒOØˆG�IÑÔðE%
ðP   Ð&Ø ¤Ð0ØˆG�F‰OŒOð
ð �DˆMØ0ØˆX�d˜DœM¨4°Ñ=Ô=¸vðGð
ð (¨°&Ð9ØˆG�F‰OŒOð
ð ˆUð #ð  ,1ð!2ñ 2ô 2ð  4;ð!<ð
ð. ˜VÐ$à˜Ð ð
ð <¸V¼]ÐKð
ð �6˜6Ð"Ø˜&œ-Ð(ØˆG�IÑÔð
ð �6˜6Ð"Ø˜&œ-Ð(ØˆG�IÑÔð
ð ˜dÐ#ð
ð
 6°v´|ÐDØ" F¤LÐ1Ø�V”^Ð$ð
ðKjð j€F€F€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
  ððð ð
ð 
ð 
ð 
ð 
ð 
ð 
ð 
ð 
ð 
ð 
ð 
ð 
ð 
ð 
ð 
ðð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ˆ-€ðFð Fð Fð Fð F�
ñ Fô Fð Fð Fð Fr•   