summaryrefslogtreecommitdiff
path: root/docs/ext/smtliblexer.py
blob: e796e2404556910a2f6460173569e763d14bd8a7 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
from pygments.lexer import RegexLexer
from pygments import token

class SmtLibLexer(RegexLexer):

    name = 'smtlib'

    tokens = {
        'root': [
            (r'ALL', token.Text),
            (r'QF_ALL', token.Text),
            (r'QF_BV', token.Text),
            (r'QF_UFDT', token.Text),
            (r'QF_UFLIAFS', token.Text),
            (r'set-info', token.Keyword),
            (r'set-logic', token.Keyword),
            (r'set-option', token.Keyword),
            (r'declare-codatatypes', token.Keyword),
            (r'declare-const', token.Keyword),
            (r'declare-datatype', token.Keyword),
            (r'declare-datatypes', token.Keyword),
            (r'declare-fun', token.Keyword),
            (r'declare-sort', token.Keyword),
            (r'define-fun', token.Keyword),
            (r'assert\b', token.Keyword),
            (r'check-sat-assuming', token.Keyword),
            (r'check-sat', token.Keyword),
            (r'exit', token.Keyword),
            (r'get-model', token.Keyword),
            (r'get-unsat-assumptions', token.Keyword),
            (r'get-unsat-core', token.Keyword),
            (r'push', token.Keyword),
            (r'pop', token.Keyword),
            (r'as', token.Name.Attribute),
            (r':incremental', token.Name.Attribute),
            (r':named', token.Name.Attribute),
            (r':produce-models', token.Name.Attribute),
            (r':produce-unsat-cores', token.Name.Attribute),
            (r':produce-unsat-assumptions', token.Name.Attribute),
            (r':status', token.Name.Attribute),
            (r'!', token.Name.Attribute),
            (r'Array', token.Name.Attribute),
            (r'BitVec', token.Name.Attribute),
            (r'Int', token.Name.Attribute),
            (r'RNE', token.Name.Attribute),
            (r'Set', token.Name.Attribute),
            (r'String', token.Name.Attribute),
            (r'Tuple', token.Name.Attribute),
            (r'tupSel', token.Name.Attribute),
            (r'true', token.String),
            (r'distinct', token.Operator),
            (r'=', token.Operator),
            (r'>', token.Operator),
            (r'\*', token.Operator),
            (r'and', token.Operator),
            (r'bvadd', token.Operator),
            (r'bvashr', token.Operator),
            (r'bvmul', token.Operator),
            (r'bvugt', token.Operator),
            (r'bvult', token.Operator),
            (r'bvule', token.Operator),
            (r'bvsdiv', token.Operator),
            (r'card', token.Operator),
            (r'emp', token.Operator),
            (r'emptyset', token.Operator),
            (r'exists', token.Operator),
            (r'extract', token.Operator),
            (r'forall', token.Operator),
            (r'fp.gt', token.Operator),
            (r'insert', token.Operator),
            (r'intersection', token.Operator),
            (r'ite', token.Operator),
            (r'member', token.Operator),
            (r'mkTuple', token.Operator),
            (r'not', token.Operator),
            (r'product', token.Operator),
            (r'pto', token.Operator),
            (r'sep', token.Operator),
            (r'singleton', token.Operator),
            (r'subset', token.Operator),
            (r'tclosure', token.Operator),
            (r'to_fp_unsigned', token.Operator),
            (r'transpose', token.Operator),
            (r'union', token.Operator),
            (r'univset', token.Operator),
            (r'wand', token.Operator),
            (r'\+zero', token.Operator),
            (r'#b[0-1]+', token.Text),
            (r'bv[0-9]+', token.Text),
            (r'".*?"', token.String),
            (r'[a-zA-Z][a-zA-Z0-9]*', token.Name),
            (r'[0-9]+', token.Number),
            (r'\s', token.Text),
            (r'\(_', token.Text),
            (r'\(', token.Text),
            (r'\)', token.Text),
            (r';.*$', token.Comment),
            (r'\.\.\.', token.Text)
        ]
    }
generated by cgit on debian on lair
contact matthew@masot.net with questions or feedback