3 ��X"/ � @ sp d Z ddlZddlmZmZ ddlmZmZmZm Z m Z mZmZm Z ddgZG dd� de�ZG dd� de�ZdS ) z� pygments.lexers.prolog ~~~~~~~~~~~~~~~~~~~~~~ Lexers for Prolog and Prolog-like languages. :copyright: Copyright 2006-2017 by the Pygments team, see AUTHORS. :license: BSD, see LICENSE for details. � N)� RegexLexer�bygroups)�Text�Comment�Operator�Keyword�Name�String�Number�Punctuation�PrologLexer�LogtalkLexerc @ s@ e Zd ZdZdZdgZddddgZdgZej ej B Zd ej fd ejdfdej fd ejfdejfdejfdejfdejfdejfdejfdefdefdejfdejfdefdefdefdefdeeje�fdeeje e�fdeeje e�fdejfd ejfd!ej!fd"e fgd#ejd$fd ejd%fd&ejfd'ejfgd(�Z"d)d*� Z#d+S ),r z! Lexer for Prolog files. ZPrologZprologz*.eclz*.prologz*.proz*.plz text/x-prologz^#.*z/\*znested-commentz%.*z0\'.z0b[01]+z0o[0-7]+z0x[0-9a-fA-F]+z\d\d?\'[a-zA-Z0-9]+z%(\d+\.\d*|\d*\.\d+)([eE][+-]?[0-9]+)?z\d+z[\[\](){}|.,;!]z:-|-->z`"(?:\\x[0-9a-fA-F]+\\|\\u[0-9a-fA-F]{4}|\\U[0-9a-fA-F]{8}|\\[0-7]+\\|\\["\nabcefnrstv]|[^\\"])*"z'(?:''|[^'])*'zis\bz5(<|>|=<|>=|==|=:=|=|/|//|\*|\+|-)(?=\s|[a-zA-Z0-9\[])z(mod|div|not)\b�_z([a-z]+)(:)uB ([a-zÀ---][\w$À---]*)(\s*)(:-|-->)u>