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
// Copyright (c) The Diem Core Contributors
// Copyright (c) The Move Contributors
// SPDX-License-Identifier: Apache-2.0

pub const KEYWORDS: &[&str] = &[
    "abort",
    "acquires",
    "as",
    "break",
    "const",
    "continue",
    "copy",
    "else",
    "false",
    "friend",
    "fun",
    "has",
    "if",
    "invariant",
    "let",
    "loop",
    "module",
    "move",
    "native",
    "public",
    "return",
    "script",
    "spec",
    "struct",
    "true",
    "use",
    "while",
];

pub const CONTEXTUAL_KEYWORDS: &[&str] = &[
    "aborts_if",
    "aborts_with",
    "address",
    "apply",
    "assume",
    "axiom",
    "choose",
    "decreases",
    "emits",
    "ensures",
    "except",
    "forall",
    "global",
    "include",
    "internal",
    "local",
    "min",
    "modifies",
    "mut",
    "phantom",
    "post",
    "pragma",
    "requires",
    "Self",
    "schema",
    "succeeds_if",
    "to",
    "update",
    "where",
    "with",
];

pub const PRIMITIVE_TYPES: &[&str] = &["u8", "u64", "u128", "bool", "vector"];

pub const BUILTINS: &[&str] = &[
    "assert",
    "borrow_global",
    "borrow_global_mut",
    "exists",
    "freeze",
    "move_from",
    "move_to",
    "old",
];