ThirdParty/Pygments/pygments/lexers/ampl.py

Sat, 12 Jan 2019 12:40:14 +0100

author
Detlev Offenbach <detlev@die-offenbachs.de>
date
Sat, 12 Jan 2019 12:40:14 +0100
changeset 6651
e8f3b5568b21
parent 5713
6762afd9f963
permissions
-rw-r--r--

pygments: updated Pygments to 2.3.1.

5713
6762afd9f963 Updated Pygments to 2.2.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
1 # -*- coding: utf-8 -*-
6762afd9f963 Updated Pygments to 2.2.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
2 """
6762afd9f963 Updated Pygments to 2.2.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
3 pygments.lexers.ampl
6762afd9f963 Updated Pygments to 2.2.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
4 ~~~~~~~~~~~~~~~~~~~~
6762afd9f963 Updated Pygments to 2.2.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
5
6651
e8f3b5568b21 pygments: updated Pygments to 2.3.1.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 5713
diff changeset
6 Lexers for the AMPL language.
5713
6762afd9f963 Updated Pygments to 2.2.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
7
6762afd9f963 Updated Pygments to 2.2.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
8 :copyright: Copyright 2006-2017 by the Pygments team, see AUTHORS.
6762afd9f963 Updated Pygments to 2.2.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
9 :license: BSD, see LICENSE for details.
6762afd9f963 Updated Pygments to 2.2.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
10 """
6762afd9f963 Updated Pygments to 2.2.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
11
6762afd9f963 Updated Pygments to 2.2.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
12 from pygments.lexer import RegexLexer, bygroups, using, this, words
6762afd9f963 Updated Pygments to 2.2.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
13 from pygments.token import Text, Comment, Operator, Keyword, Name, String, \
6762afd9f963 Updated Pygments to 2.2.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
14 Number, Punctuation
6762afd9f963 Updated Pygments to 2.2.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
15
6762afd9f963 Updated Pygments to 2.2.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
16 __all__ = ['AmplLexer']
6762afd9f963 Updated Pygments to 2.2.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
17
6762afd9f963 Updated Pygments to 2.2.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
18
6762afd9f963 Updated Pygments to 2.2.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
19 class AmplLexer(RegexLexer):
6762afd9f963 Updated Pygments to 2.2.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
20 """
6651
e8f3b5568b21 pygments: updated Pygments to 2.3.1.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 5713
diff changeset
21 For `AMPL <http://ampl.com/>`_ source code.
5713
6762afd9f963 Updated Pygments to 2.2.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
22
6762afd9f963 Updated Pygments to 2.2.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
23 .. versionadded:: 2.2
6762afd9f963 Updated Pygments to 2.2.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
24 """
6762afd9f963 Updated Pygments to 2.2.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
25 name = 'Ampl'
6762afd9f963 Updated Pygments to 2.2.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
26 aliases = ['ampl']
6762afd9f963 Updated Pygments to 2.2.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
27 filenames = ['*.run']
6762afd9f963 Updated Pygments to 2.2.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
28
6762afd9f963 Updated Pygments to 2.2.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
29 tokens = {
6762afd9f963 Updated Pygments to 2.2.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
30 'root': [
6762afd9f963 Updated Pygments to 2.2.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
31 (r'\n', Text),
6762afd9f963 Updated Pygments to 2.2.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
32 (r'\s+', Text.Whitespace),
6762afd9f963 Updated Pygments to 2.2.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
33 (r'#.*?\n', Comment.Single),
6762afd9f963 Updated Pygments to 2.2.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
34 (r'/[*](.|\n)*?[*]/', Comment.Multiline),
6762afd9f963 Updated Pygments to 2.2.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
35 (words((
6762afd9f963 Updated Pygments to 2.2.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
36 'call', 'cd', 'close', 'commands', 'data', 'delete', 'display',
6762afd9f963 Updated Pygments to 2.2.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
37 'drop', 'end', 'environ', 'exit', 'expand', 'include', 'load',
6762afd9f963 Updated Pygments to 2.2.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
38 'model', 'objective', 'option', 'problem', 'purge', 'quit',
6762afd9f963 Updated Pygments to 2.2.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
39 'redeclare', 'reload', 'remove', 'reset', 'restore', 'shell',
6762afd9f963 Updated Pygments to 2.2.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
40 'show', 'solexpand', 'solution', 'solve', 'update', 'unload',
6762afd9f963 Updated Pygments to 2.2.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
41 'xref', 'coeff', 'coef', 'cover', 'obj', 'interval', 'default',
6762afd9f963 Updated Pygments to 2.2.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
42 'from', 'to', 'to_come', 'net_in', 'net_out', 'dimen',
6762afd9f963 Updated Pygments to 2.2.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
43 'dimension', 'check', 'complements', 'write', 'function',
6762afd9f963 Updated Pygments to 2.2.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
44 'pipe', 'format', 'if', 'then', 'else', 'in', 'while', 'repeat',
6762afd9f963 Updated Pygments to 2.2.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
45 'for'), suffix=r'\b'), Keyword.Reserved),
6762afd9f963 Updated Pygments to 2.2.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
46 (r'(integer|binary|symbolic|ordered|circular|reversed|INOUT|IN|OUT|LOCAL)',
6762afd9f963 Updated Pygments to 2.2.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
47 Keyword.Type),
6762afd9f963 Updated Pygments to 2.2.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
48 (r'\".*?\"', String.Double),
6762afd9f963 Updated Pygments to 2.2.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
49 (r'\'.*?\'', String.Single),
6762afd9f963 Updated Pygments to 2.2.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
50 (r'[()\[\]{},;:]+', Punctuation),
6762afd9f963 Updated Pygments to 2.2.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
51 (r'\b(\w+)(\.)(astatus|init0|init|lb0|lb1|lb2|lb|lrc|'
6762afd9f963 Updated Pygments to 2.2.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
52 r'lslack|rc|relax|slack|sstatus|status|ub0|ub1|ub2|'
6762afd9f963 Updated Pygments to 2.2.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
53 r'ub|urc|uslack|val)',
6762afd9f963 Updated Pygments to 2.2.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
54 bygroups(Name.Variable, Punctuation, Keyword.Reserved)),
6762afd9f963 Updated Pygments to 2.2.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
55 (r'(set|param|var|arc|minimize|maximize|subject to|s\.t\.|subj to|'
6762afd9f963 Updated Pygments to 2.2.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
56 r'node|table|suffix|read table|write table)(\s+)(\w+)',
6762afd9f963 Updated Pygments to 2.2.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
57 bygroups(Keyword.Declaration, Text, Name.Variable)),
6762afd9f963 Updated Pygments to 2.2.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
58 (r'(param)(\s*)(:)(\s*)(\w+)(\s*)(:)(\s*)((\w|\s)+)',
6762afd9f963 Updated Pygments to 2.2.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
59 bygroups(Keyword.Declaration, Text, Punctuation, Text,
6762afd9f963 Updated Pygments to 2.2.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
60 Name.Variable, Text, Punctuation, Text, Name.Variable)),
6762afd9f963 Updated Pygments to 2.2.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
61 (r'(let|fix|unfix)(\s*)((?:\{.*\})?)(\s*)(\w+)',
6762afd9f963 Updated Pygments to 2.2.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
62 bygroups(Keyword.Declaration, Text, using(this), Text, Name.Variable)),
6762afd9f963 Updated Pygments to 2.2.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
63 (words((
6762afd9f963 Updated Pygments to 2.2.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
64 'abs', 'acos', 'acosh', 'alias', 'asin', 'asinh', 'atan', 'atan2',
6762afd9f963 Updated Pygments to 2.2.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
65 'atanh', 'ceil', 'ctime', 'cos', 'exp', 'floor', 'log', 'log10',
6762afd9f963 Updated Pygments to 2.2.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
66 'max', 'min', 'precision', 'round', 'sin', 'sinh', 'sqrt', 'tan',
6762afd9f963 Updated Pygments to 2.2.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
67 'tanh', 'time', 'trunc', 'Beta', 'Cauchy', 'Exponential', 'Gamma',
6762afd9f963 Updated Pygments to 2.2.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
68 'Irand224', 'Normal', 'Normal01', 'Poisson', 'Uniform', 'Uniform01',
6762afd9f963 Updated Pygments to 2.2.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
69 'num', 'num0', 'ichar', 'char', 'length', 'substr', 'sprintf',
6762afd9f963 Updated Pygments to 2.2.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
70 'match', 'sub', 'gsub', 'print', 'printf', 'next', 'nextw', 'prev',
6762afd9f963 Updated Pygments to 2.2.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
71 'prevw', 'first', 'last', 'ord', 'ord0', 'card', 'arity',
6762afd9f963 Updated Pygments to 2.2.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
72 'indexarity'), prefix=r'\b', suffix=r'\b'), Name.Builtin),
6762afd9f963 Updated Pygments to 2.2.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
73 (r'(\+|\-|\*|/|\*\*|=|<=|>=|==|\||\^|<|>|\!|\.\.|:=|\&|\!=|<<|>>)',
6762afd9f963 Updated Pygments to 2.2.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
74 Operator),
6762afd9f963 Updated Pygments to 2.2.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
75 (words((
6762afd9f963 Updated Pygments to 2.2.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
76 'or', 'exists', 'forall', 'and', 'in', 'not', 'within', 'union',
6762afd9f963 Updated Pygments to 2.2.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
77 'diff', 'difference', 'symdiff', 'inter', 'intersect',
6762afd9f963 Updated Pygments to 2.2.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
78 'intersection', 'cross', 'setof', 'by', 'less', 'sum', 'prod',
6762afd9f963 Updated Pygments to 2.2.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
79 'product', 'div', 'mod'), suffix=r'\b'),
6762afd9f963 Updated Pygments to 2.2.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
80 Keyword.Reserved), # Operator.Name but not enough emphasized with that
6762afd9f963 Updated Pygments to 2.2.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
81 (r'(\d+\.(?!\.)\d*|\.(?!.)\d+)([eE][+-]?\d+)?', Number.Float),
6762afd9f963 Updated Pygments to 2.2.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
82 (r'\d+([eE][+-]?\d+)?', Number.Integer),
6762afd9f963 Updated Pygments to 2.2.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
83 (r'[+-]?Infinity', Number.Integer),
6762afd9f963 Updated Pygments to 2.2.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
84 (r'(\w+|(\.(?!\.)))', Text)
6762afd9f963 Updated Pygments to 2.2.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
85 ]
6762afd9f963 Updated Pygments to 2.2.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
86
6762afd9f963 Updated Pygments to 2.2.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
87 }

eric ide

mercurial