|eldZddlmZmZmZmZmZmZddlm Z m Z m Z m Z m Z mZmZmZdgZGddeZy)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. ) RegexLexerbygroupsincludecombineddefaultwords)TextCommentOperatorKeyword PunctuationNameStringNumber QVToLexerceZdZdZdZddgZdgZdefdefdee e e je fd e jfd efd e jfd e jfd efde fdefdej fdej$j&fdej(fdej*dfdeejeej,fdeejeej.fdej0fdeej(edfdeeedfdej2feddeedd fd!eedd"fed#ed$gd%efd&ej*fed'gd(efd)eeej0eed'fgd*ed'fed'ged+d,-efgd.efd/efgd0ej>fgded'fd1ej>fed2gd!ed'fd3ej>fed2gd4efgd5e jBfd6e jBfd7e jDfgd8 Z#y9):ru 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 (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'. QVTOqvtoqvtz*.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+)\bassertz:(Bag|Collection|Dict|OrderedSet|Sequence|Set|Tuple|List)\bkeywords" stringescapedqs'sqsnamenumbersz(?:[ \t]|\\\n)+z[a-zA-Z_][\w.]*z#popz::z (.*::)([a-zA-Z_]\w*)([ \t]*)(\()z(warning|error|fatal)\b)Yabstractaccessanyrblackboxbreakcasecollect collectNested collectOne collectselectcollectselectOnecomposescompute configuration constructorcontinuedatatyperderived disjunctsdoelifelseendendifexceptexistsextendsforAllforEachforOnefromifimpliesininheritsinitinout intermediate invresolve invresolveIn invresolveoneinvresolveoneInisUniqueiteratelateletliterallogmapmerges modeltypenewobjectoneorderedoutpackage populationpropertyraisereadonly referencesrefinesrejectresolve resolveIn resolveone resolveoneInreturnselect selectOnesortedBystaticswitchtagthentrytypedef unlimiteduseswhenwherewhilewithxcollectxmapxselectz\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+) rootrrrrryrrrrr N)$__name__ __module__ __qualname____doc__raliases filenamesr rr Preproc Multiliner Wordr r ConstantrBuiltinPseudo Declaration NamespaceClass ExceptionFunctionTyperrrrrEscaperFloatIntegertokens5/usr/lib/python3/dist-packages/pygments/lexers/qvt.pyrrs* DuoG IDM $  . gw A C !'"3"3 4 dO & 6 !8== 1 W % 59 : &(>59 : FO I E% P  &  0 FO DM 0 dDMM4 =v G (& 9 FO # ,1!2 4;! < .V $   rs:   -D Dr