3 ��X� � @ sZ d Z ddlmZmZmZ ddlmZmZmZm Z m Z mZmZm Z dgZG dd� de�ZdS )z� pygments.lexers.ooc ~~~~~~~~~~~~~~~~~~~ Lexers for the Ooc language. :copyright: Copyright 2006-2017 by the Pygments team, see AUTHORS. :license: BSD, see LICENSE for details. � )� RegexLexer�bygroups�words)�Text�Comment�Operator�Keyword�Name�String�Number�Punctuation�OocLexerc $ @ s, e Zd ZdZdZdgZdgZdgZedKd)d)d*�e fd+e d,fd-e e ee eej �fd.e e eej�fd/e fd0efd1ejfd2efd3e eeej�fd4ejfd5ej fd6e eje�fd7ejfd8efd9ejfd:ejfd;ejfd<ejfd=ejfd>ejfd?ejfd@efdAefdBefdCefgdDefdEefdFefdGedHfgdI�ZdJS )Lr zR For `Ooc <http://ooc-lang.org/>`_ source code .. versionadded:: 1.2 ZOocZoocz*.oocz text/x-ooc�class� interface� implement�abstract�extends�from�this�super�new�const�final�static�import�use�extern�inline�proto�break�continue�fallthrough�operator�if�else�for�while�do�switch�case�as�in�version�return�true�false�nullz\b)�prefix�suffixz include\b�includez'(cover)([ \t]+)(from)([ \t]+)(\w+[*@]?)z#(func)((?:[ \t]|\\\n)+)(~[a-z_]\w*)z\bfunc\bz//.*z (?s)/\*.*?\*/zN(==?|\+=?|-[=>]?|\*=?|/=?|:=|!=?|%=?|\?|>{1,3}=?|<{1,3}=?|\.\.|&&?|\|\|?|\^=?)z(\.)([ \t]*)([a-z]\w*)z[A-Z][A-Z0-9_]+z[A-Z]\w*([@*]|\[[ \t]*\])?z/([a-z]\w*(?:~[a-z]\w*)?)((?:[ \t]|\\\n)*)(?=\()z[a-z]\w*z [:(){}\[\];,]z0x[0-9a-fA-F]+z0c[0-9]+z0b[01]+z[0-9_]\.[0-9_]*(?!\.)z[0-9_]+z2"(?:\\.|\\[0-7]{1,3}|\\x[a-fA-F0-9]{1,2}|[^\\"])*"z4'(?:\\.|\\[0-9]{1,3}|\\x[a-fA-F0-9]{1,2}|[^\\\'\n])'�@z\.z \\[ \t\n]z[ \t]+z[\w/]+�,z[ \t]z[;\n]z#pop)�rootr3 N)#r r r r r r r r r r r r r r r r r r r r! r"