summaryrefslogtreecommitdiffstats
path: root/venv/lib/python3.9/site-packages/pygments/lexers/cplint.py
diff options
context:
space:
mode:
Diffstat (limited to 'venv/lib/python3.9/site-packages/pygments/lexers/cplint.py')
-rw-r--r--venv/lib/python3.9/site-packages/pygments/lexers/cplint.py44
1 files changed, 44 insertions, 0 deletions
diff --git a/venv/lib/python3.9/site-packages/pygments/lexers/cplint.py b/venv/lib/python3.9/site-packages/pygments/lexers/cplint.py
new file mode 100644
index 00000000..8a48c013
--- /dev/null
+++ b/venv/lib/python3.9/site-packages/pygments/lexers/cplint.py
@@ -0,0 +1,44 @@
+"""
+ pygments.lexers.cplint
+ ~~~~~~~~~~~~~~~~~~~~~~
+
+ Lexer for the cplint language
+
+ :copyright: Copyright 2006-2023 by the Pygments team, see AUTHORS.
+ :license: BSD, see LICENSE for details.
+"""
+
+from pygments.lexer import bygroups, inherit, words
+from pygments.lexers import PrologLexer
+from pygments.token import Operator, Keyword, Name, String, Punctuation
+
+__all__ = ['CplintLexer']
+
+
+class CplintLexer(PrologLexer):
+ """
+ Lexer for cplint files, including CP-logic, Logic Programs with Annotated
+ Disjunctions, Distributional Clauses syntax, ProbLog, DTProbLog.
+
+ .. versionadded:: 2.12
+ """
+ name = 'cplint'
+ url = 'https://cplint.eu'
+ aliases = ['cplint']
+ filenames = ['*.ecl', '*.prolog', '*.pro', '*.pl', '*.P', '*.lpad', '*.cpl']
+ mimetypes = ['text/x-cplint']
+
+ tokens = {
+ 'root': [
+ (r'map_query', Keyword),
+ (words(('gaussian', 'uniform_dens', 'dirichlet', 'gamma', 'beta',
+ 'poisson', 'binomial', 'geometric', 'exponential', 'pascal',
+ 'multinomial', 'user', 'val', 'uniform', 'discrete',
+ 'finite')), Name.Builtin),
+ # annotations of atoms
+ (r'([a-z]+)(:)', bygroups(String.Atom, Punctuation)),
+ (r':(-|=)|::?|~=?|=>', Operator),
+ (r'\?', Name.Builtin),
+ inherit,
+ ],
+ }