eric6/ThirdParty/Pygments/pygments/lexers/boa.py

Tue, 21 Apr 2020 19:47:10 +0200

author
Detlev Offenbach <detlev@die-offenbachs.de>
date
Tue, 21 Apr 2020 19:47:10 +0200
changeset 7547
21b0534faebc
child 7701
25f42e208e08
permissions
-rw-r--r--

Pygments: updated Pygments to 2.3.1

7547
21b0534faebc Pygments: updated Pygments to 2.3.1
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
1 # -*- coding: utf-8 -*-
21b0534faebc Pygments: updated Pygments to 2.3.1
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
2 """
21b0534faebc Pygments: updated Pygments to 2.3.1
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
3 pygments.lexers.boa
21b0534faebc Pygments: updated Pygments to 2.3.1
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
4 ~~~~~~~~~~~~~~~~~~~
21b0534faebc Pygments: updated Pygments to 2.3.1
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
5
21b0534faebc Pygments: updated Pygments to 2.3.1
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
6 Lexers for the Boa language.
21b0534faebc Pygments: updated Pygments to 2.3.1
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
7
21b0534faebc Pygments: updated Pygments to 2.3.1
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
8 :copyright: Copyright 2006-2019 by the Pygments team, see AUTHORS.
21b0534faebc Pygments: updated Pygments to 2.3.1
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
9 :license: BSD, see LICENSE for details.
21b0534faebc Pygments: updated Pygments to 2.3.1
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
10 """
21b0534faebc Pygments: updated Pygments to 2.3.1
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
11
21b0534faebc Pygments: updated Pygments to 2.3.1
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
12 import re
21b0534faebc Pygments: updated Pygments to 2.3.1
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
13
21b0534faebc Pygments: updated Pygments to 2.3.1
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
14 from pygments.lexer import RegexLexer, words
21b0534faebc Pygments: updated Pygments to 2.3.1
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
15 from pygments.token import String, Comment, Keyword, Name, Number, Text, \
21b0534faebc Pygments: updated Pygments to 2.3.1
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
16 Operator, Punctuation
21b0534faebc Pygments: updated Pygments to 2.3.1
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
17
21b0534faebc Pygments: updated Pygments to 2.3.1
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
18 __all__ = ['BoaLexer']
21b0534faebc Pygments: updated Pygments to 2.3.1
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
19
21b0534faebc Pygments: updated Pygments to 2.3.1
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
20 line_re = re.compile('.*?\n')
21b0534faebc Pygments: updated Pygments to 2.3.1
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
21
21b0534faebc Pygments: updated Pygments to 2.3.1
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
22
21b0534faebc Pygments: updated Pygments to 2.3.1
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
23 class BoaLexer(RegexLexer):
21b0534faebc Pygments: updated Pygments to 2.3.1
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
24 """
21b0534faebc Pygments: updated Pygments to 2.3.1
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
25 Lexer for the `Boa <http://boa.cs.iastate.edu/docs/>`_ language.
21b0534faebc Pygments: updated Pygments to 2.3.1
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
26
21b0534faebc Pygments: updated Pygments to 2.3.1
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
27 .. versionadded:: 2.4
21b0534faebc Pygments: updated Pygments to 2.3.1
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
28 """
21b0534faebc Pygments: updated Pygments to 2.3.1
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
29 name = 'Boa'
21b0534faebc Pygments: updated Pygments to 2.3.1
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
30 aliases = ['boa']
21b0534faebc Pygments: updated Pygments to 2.3.1
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
31 filenames = ['*.boa']
21b0534faebc Pygments: updated Pygments to 2.3.1
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
32
21b0534faebc Pygments: updated Pygments to 2.3.1
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
33 reserved = words(
21b0534faebc Pygments: updated Pygments to 2.3.1
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
34 ('input', 'output', 'of', 'weight', 'before', 'after', 'stop',
21b0534faebc Pygments: updated Pygments to 2.3.1
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
35 'ifall', 'foreach', 'exists', 'function', 'break', 'switch', 'case',
21b0534faebc Pygments: updated Pygments to 2.3.1
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
36 'visitor', 'default', 'return', 'visit', 'while', 'if', 'else'),
21b0534faebc Pygments: updated Pygments to 2.3.1
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
37 suffix=r'\b', prefix=r'\b')
21b0534faebc Pygments: updated Pygments to 2.3.1
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
38 keywords = words(
21b0534faebc Pygments: updated Pygments to 2.3.1
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
39 ('bottom', 'collection', 'maximum', 'mean', 'minimum', 'set', 'sum',
21b0534faebc Pygments: updated Pygments to 2.3.1
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
40 'top', 'string', 'int', 'bool', 'float', 'time', 'false', 'true',
21b0534faebc Pygments: updated Pygments to 2.3.1
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
41 'array', 'map', 'stack', 'enum', 'type'), suffix=r'\b', prefix=r'\b')
21b0534faebc Pygments: updated Pygments to 2.3.1
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
42 classes = words(
21b0534faebc Pygments: updated Pygments to 2.3.1
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
43 ('Project', 'ForgeKind', 'CodeRepository', 'Revision', 'RepositoryKind',
21b0534faebc Pygments: updated Pygments to 2.3.1
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
44 'ChangedFile', 'FileKind', 'ASTRoot', 'Namespace', 'Declaration', 'Type',
21b0534faebc Pygments: updated Pygments to 2.3.1
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
45 'Method', 'Variable', 'Statement', 'Expression', 'Modifier',
21b0534faebc Pygments: updated Pygments to 2.3.1
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
46 'StatementKind', 'ExpressionKind', 'ModifierKind', 'Visibility',
21b0534faebc Pygments: updated Pygments to 2.3.1
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
47 'TypeKind', 'Person', 'ChangeKind'),
21b0534faebc Pygments: updated Pygments to 2.3.1
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
48 suffix=r'\b', prefix=r'\b')
21b0534faebc Pygments: updated Pygments to 2.3.1
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
49 operators = ('->', ':=', ':', '=', '<<', '!', '++', '||',
21b0534faebc Pygments: updated Pygments to 2.3.1
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
50 '&&', '+', '-', '*', ">", "<")
21b0534faebc Pygments: updated Pygments to 2.3.1
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
51 string_sep = ('`', '\"')
21b0534faebc Pygments: updated Pygments to 2.3.1
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
52 built_in_functions = words(
21b0534faebc Pygments: updated Pygments to 2.3.1
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
53 (
21b0534faebc Pygments: updated Pygments to 2.3.1
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
54 # Array functions
21b0534faebc Pygments: updated Pygments to 2.3.1
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
55 'new', 'sort',
21b0534faebc Pygments: updated Pygments to 2.3.1
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
56 # Date & Time functions
21b0534faebc Pygments: updated Pygments to 2.3.1
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
57 'yearof', 'dayofyear', 'hourof', 'minuteof', 'secondof', 'now',
21b0534faebc Pygments: updated Pygments to 2.3.1
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
58 'addday', 'addmonth', 'addweek', 'addyear', 'dayofmonth', 'dayofweek',
21b0534faebc Pygments: updated Pygments to 2.3.1
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
59 'dayofyear', 'formattime', 'trunctoday', 'trunctohour', 'trunctominute',
21b0534faebc Pygments: updated Pygments to 2.3.1
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
60 'trunctomonth', 'trunctosecond', 'trunctoyear',
21b0534faebc Pygments: updated Pygments to 2.3.1
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
61 # Map functions
21b0534faebc Pygments: updated Pygments to 2.3.1
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
62 'clear', 'haskey', 'keys', 'lookup', 'remove', 'values',
21b0534faebc Pygments: updated Pygments to 2.3.1
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
63 # Math functions
21b0534faebc Pygments: updated Pygments to 2.3.1
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
64 'abs', 'acos', 'acosh', 'asin', 'asinh', 'atan', 'atan2', 'atanh',
21b0534faebc Pygments: updated Pygments to 2.3.1
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
65 'ceil', 'cos', 'cosh', 'exp', 'floor', 'highbit', 'isfinite', 'isinf',
21b0534faebc Pygments: updated Pygments to 2.3.1
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
66 'isnan', 'isnormal', 'log', 'log10', 'max', 'min', 'nrand', 'pow',
21b0534faebc Pygments: updated Pygments to 2.3.1
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
67 'rand', 'round', 'sin', 'sinh', 'sqrt', 'tan', 'tanh', 'trunc',
21b0534faebc Pygments: updated Pygments to 2.3.1
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
68 # Other functions
21b0534faebc Pygments: updated Pygments to 2.3.1
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
69 'def', 'hash', 'len',
21b0534faebc Pygments: updated Pygments to 2.3.1
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
70 # Set functions
21b0534faebc Pygments: updated Pygments to 2.3.1
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
71 'add', 'contains', 'remove',
21b0534faebc Pygments: updated Pygments to 2.3.1
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
72 # String functions
21b0534faebc Pygments: updated Pygments to 2.3.1
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
73 'format', 'lowercase', 'match', 'matchposns', 'matchstrs', 'regex',
21b0534faebc Pygments: updated Pygments to 2.3.1
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
74 'split', 'splitall', 'splitn', 'strfind', 'strreplace', 'strrfind',
21b0534faebc Pygments: updated Pygments to 2.3.1
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
75 'substring', 'trim', 'uppercase',
21b0534faebc Pygments: updated Pygments to 2.3.1
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
76 # Type Conversion functions
21b0534faebc Pygments: updated Pygments to 2.3.1
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
77 'bool', 'float', 'int', 'string', 'time',
21b0534faebc Pygments: updated Pygments to 2.3.1
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
78 # Domain-Specific functions
21b0534faebc Pygments: updated Pygments to 2.3.1
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
79 'getast', 'getsnapshot', 'hasfiletype', 'isfixingrevision', 'iskind',
21b0534faebc Pygments: updated Pygments to 2.3.1
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
80 'isliteral',
21b0534faebc Pygments: updated Pygments to 2.3.1
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
81 ),
21b0534faebc Pygments: updated Pygments to 2.3.1
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
82 prefix=r'\b',
21b0534faebc Pygments: updated Pygments to 2.3.1
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
83 suffix=r'\(')
21b0534faebc Pygments: updated Pygments to 2.3.1
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
84
21b0534faebc Pygments: updated Pygments to 2.3.1
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
85 tokens = {
21b0534faebc Pygments: updated Pygments to 2.3.1
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
86 'root': [
21b0534faebc Pygments: updated Pygments to 2.3.1
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
87 (r'#.*?$', Comment.Single),
21b0534faebc Pygments: updated Pygments to 2.3.1
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
88 (r'/\*.*?\*/', Comment.Multiline),
21b0534faebc Pygments: updated Pygments to 2.3.1
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
89 (reserved, Keyword.Reserved),
21b0534faebc Pygments: updated Pygments to 2.3.1
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
90 (built_in_functions, Name.Function),
21b0534faebc Pygments: updated Pygments to 2.3.1
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
91 (keywords, Keyword.Type),
21b0534faebc Pygments: updated Pygments to 2.3.1
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
92 (classes, Name.Classes),
21b0534faebc Pygments: updated Pygments to 2.3.1
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
93 (words(operators), Operator),
21b0534faebc Pygments: updated Pygments to 2.3.1
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
94 (r'[][(),;{}\\.]', Punctuation),
21b0534faebc Pygments: updated Pygments to 2.3.1
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
95 (r'"(\\\\|\\"|[^"])*"', String),
21b0534faebc Pygments: updated Pygments to 2.3.1
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
96 (r'`(\\\\|\\`|[^`])*`', String),
21b0534faebc Pygments: updated Pygments to 2.3.1
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
97 (words(string_sep), String.Delimeter),
21b0534faebc Pygments: updated Pygments to 2.3.1
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
98 (r'[a-zA-Z_]+', Name.Variable),
21b0534faebc Pygments: updated Pygments to 2.3.1
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
99 (r'[0-9]+', Number.Integer),
21b0534faebc Pygments: updated Pygments to 2.3.1
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
100 (r'\s+?', Text), # Whitespace
21b0534faebc Pygments: updated Pygments to 2.3.1
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
101 ]
21b0534faebc Pygments: updated Pygments to 2.3.1
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
102 }

eric ide

mercurial