|eQdZddlZddlmZmZmZmZddlmZm Z m Z m Z m Z m Z mZmZmZddgZGddeZGd deZGd deZy) z pygments.lexers.vip ~~~~~~~~~~~~~~~~~~~ Lexers for Visual Prolog & Grammar files. :copyright: Copyright 2006-2023 by the Pygments team, see AUTHORS. :license: BSD, see LICENSE for details. N) RegexLexerinheritwordsinclude) TextCommentOperatorKeywordNameStringNumber Punctuation WhitespaceVisualPrologLexerVisualPrologGrammarLexerc"eZdZdZdZdZdefeeddejfdefeed ejfd e fd e fd e jjfd e jfde jfde fdedfdedfdej dfdej dfdej dfdefdefdefgeeddej(fdefgeddefd ed!fgedd"efded#fd$ed!fd%efgd&ej,fd'ej,fged(dej d!fd)efd*ej,j.d!fged(dej d!fd+efd*ej,j.d!fgd,ej,fdej d!fd-efgd.Zy/)0VisualPrologBaseLexer)tryforeachif)andcatchdoelseelseif erroneous externallyfailurefinallyrrororelse otherwisethenrdivmodremquot)shortdetailend withdomainz\s+z\bend\s+\bprefixsuffixr*r/z0[xo][\da-fA-F_]+z(((\d[\d_]*)?\.)?\d[\d_]*([eE][\-+]?\d+)?z_\w*z[A-Z]\w*z@\w+z[a-z]\w*z/\*commentz\% commentline"stringz\' stringsinglez@"atstringz[\-+*^/!?<>=~:]+z[$,.[\]|(){}\\]+.@ commentdocz[^@\n]+$z#popz[^@*/]+z#pushz\*/z[*/]z\\u[0-9a-fA-F]{4}z \\[\'"ntr\\] stringescapez [^\'\\\n]+z\nz [^"\\\n]+z""z[^"]+)rootr9r2r1r;r5r4r6N)__name__ __module__ __qualname__ minorendkw minorkwexpdockwrrr Minorr r Variable Anonymousrr Symbolr rrPreprocrEscapeErrortokens5/usr/lib/python3/dist-packages/pygments/lexers/vip.pyrrs")J6J 4EZ :k% @'-- P W  :e ,gmm < !6 * 8& A dmm-- . $-- ( dmm $ $  Wi ( G] + 6==( + FMM> 2 FMM: . ( + + . 4L% *5e 4goo F 7O L !  ! 7F # L !  ! Wg & Wf % g   "6== 1 fmm , N # FMM6 * F # FMM'' 0   N # 6==& ) 6 " FMM'' 0  FMM " 6==& ) v  k:FrLrceZdZdZdZdZdgZgdZdZdZ dZ d e e d e jfe ed e fe e d d e jfegiZdZy)rz7Lexer for VisualProlog .. versionadded:: 2.17 z Visual Prologhttps://www.visual-prolog.com/ visualprolog)z*.proz*.clz*.iz*.packz*.ph)goal namespace interfaceclass implementwhereopeninheritssupportsresolvedelegatemonitor constantsdomains predicates constructors propertiesclausesfacts)alignanyflowasbitsizedetermdigitsrrrfromguardmulti nondetermr r!r" procedurerZsingle suspending) binincluderrendiferrorexportrrjgrammargenerategrammarincluderrmessageoptions orrequiresrequires stringincluder#r<r,r0#r-c2tjd|ryy)zMCompetes with IDL and Prolog on *.pro; div. lisps on*.cl and SwigLexer on *.izc^\s*(end\s+(interface|class|implement)|(clauses|predicates|domains|facts|constants|properties)\s*$)\(\?rresearchtexts rM analyse_textzVisualPrologLexer.analyse_textos! 99{~B CrLN)r=r>r?__doc__nameurlaliases filenamesmajorkwminorkw directivekwrr rC DirectiverrJrrKrLrMrrVs D *CG:I~G{GK  75 )7== 9 75 )7 3 ;s5 97;L;L M   FrLc~eZdZdZdZdZdgZdgZdZdZ de ed e fe e d d e jfe giZd Zy)rz?Lexer for VisualProlog grammar .. versionadded:: 2.17 zVisual Prolog GrammarrOvisualprologgrammarz*.vipgrm)rWrRgrammar nonterminals startsymbols terminalsrules precedence)rqr{r<r,r0r|r-c2tjd|ryy)zNo competditors (currently)zN^\s*(end\s+grammar|(nonterminals|startsymbols|terminals|rules|precedence)\s*$)r~rrrs rMrz%VisualPrologGrammarLexer.analyse_texts 99fhl mrLN)r=r>r?rrrrrrrrr rrrJrrKrLrMrrzsl #D *C$%G ICG1K 75 )7 3 ;s5 97;L;L M  FrL)rrpygments.lexerrrrrpygments.tokenrrr r r r r rr__all__rrrrKrLrMrsY >>$$$  : ;?J?D!-!H4rL