a
    lc                     @   sf   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 deZdS )z
    pygments.lexers.qvt
    ~~~~~~~~~~~~~~~~~~~

    Lexer for QVT Operational language.

    :copyright: Copyright 2006-2022 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  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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,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 j!fd6e j!fd7e j"fgd8Z#d9S ):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)YZabstractaccessanyr   ZblackboxbreakcaseZcollectZcollectNestedZ
collectOneZcollectselectZcollectselectOneZcomposesZcomputeconfigurationconstructorcontinuedatatyper   ZderivedZ	disjunctsdoelifelseendendifexceptexistsZextendsZforAllZforEachZforOnefromifZimpliesinZinheritsinitZinoutZintermediateZ
invresolveZinvresolveInZinvresolveoneZinvresolveoneInZisUniqueZiterateZlateZletliterallogmapZmergesZ	modeltypenewobjectoneZorderedoutpackage
populationpropertyraisereadonlyZ
referencesZrefinesZrejectresolveZ	resolveInZ
resolveoneZresolveoneInreturnselectZ	selectOneZsortedByZstaticswitchtagZthentryZtypedefZ	unlimitedZuseswhenwherewhilewithZxcollectZxmapZ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   rI   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 ra   ra   O/var/www/html/django/DPS/env/lib/python3.9/site-packages/pygments/lexers/qvt.pyr      s   

(N)rN   Zpygments.lexerr   r   r   r   r   r   Zpygments.tokenr   r	   r
   r   r   r   r   r   __all__r   ra   ra   ra   rb   <module>   s   
 (