aboutsummaryrefslogtreecommitdiff
path: root/grammar.ron
blob: 44826c779c6295511fff37fd2a5eec95bd5fe675 (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
101
102
103
104
105
106
Grammar(
    keywords: [
        "use",
        "fn",
        "struct",
        "enum",
        "trait",
        "impl",
        "true",
        "false",
        "as",
        "extern",
        "crate",
        "mod",
        "pub",
        "self",
        "super",
        "in",
        "where",
        "for",
        "loop",
        "while",
        "if",
        "match"
    ],
    tokens: [
        "ERROR",
        "IDENT",
        "UNDERSCORE",
        "WHITESPACE",
        "INT_NUMBER",
        "FLOAT_NUMBER",
        "SEMI",
        "COMMA",
        "DOT",
        "DOTDOT",
        "DOTDOTDOT",
        "DOTDOTEQ",
        "L_PAREN",
        "R_PAREN",
        "L_CURLY",
        "R_CURLY",
        "L_BRACK",
        "R_BRACK",
        "L_ANGLE",
        "R_ANGLE",
        "AT",
        "POUND",
        "TILDE",
        "QUESTION",
        "COLON",
        "COLONCOLON",
        "DOLLAR",
        "EQ",
        "EQEQ",
        "FAT_ARROW",
        "NEQ",
        "EXCL",
        "LIFETIME",
        "CHAR",
        "BYTE",
        "STRING",
        "RAW_STRING",
        "BYTE_STRING",
        "RAW_BYTE_STRING",
        "PLUS",
        "MINUS",
        "STAR",
        "SLASH",
        "CARET",
        "PERCENT",
        "AMPERSAND",
        "PIPE",
        "THIN_ARROW",
        "COMMENT",
        "DOC_COMMENT",
        "SHEBANG",
    ],
    nodes: [
        "FILE",

        "STRUCT_ITEM",
        "ENUM_ITEM",
        "FN_ITEM",
        "EXTERN_CRATE_ITEM",
        "MOD_ITEM",
        "USE_ITEM",

        "EXTERN_BLOCK",
        "ENUM_VARIANT",
        "NAMED_FIELD",
        "POS_FIELD",
        "ATTR",
        "META_ITEM", // not an item actually
        "USE_TREE",
        "PATH",
        "PATH_SEGMENT",
        "LITERAL",
        "ALIAS",
        "VISIBILITY",
        "TYPE_PARAM_LIST",
        "LIFETIME_PARAM",
        "TYPE_PARAM",
        "ABI",
    ]
)