diff options
Diffstat (limited to 'lib/nix/tokens.ml')
-rw-r--r-- | lib/nix/tokens.ml | 64 |
1 files changed, 64 insertions, 0 deletions
diff --git a/lib/nix/tokens.ml b/lib/nix/tokens.ml new file mode 100644 index 0000000..4891d48 --- /dev/null +++ b/lib/nix/tokens.ml | |||
@@ -0,0 +1,64 @@ | |||
1 | type token = | ||
2 | (* Tokens with data *) | ||
3 | | INT of string | ||
4 | | FLOAT of string | ||
5 | (* A path (starting with / or ./) *) | ||
6 | | PATH of string | ||
7 | (* Search path, enclosed in < and > *) | ||
8 | | SPATH of string | ||
9 | (* Home path, starting with ~/ *) | ||
10 | | HPATH of string | ||
11 | | URI of string | ||
12 | | STR_START of string | ||
13 | | STR_MID of string | ||
14 | | STR_END | ||
15 | | ISTR_START of string | ||
16 | | ISTR_MID of string | ||
17 | | ISTR_END of int | ||
18 | | ID of string | ||
19 | (* Tokens that stand for themselves *) | ||
20 | | SELECT | ||
21 | | QMARK | ||
22 | | CONCAT | ||
23 | | NOT | ||
24 | | MERGE | ||
25 | | ASSIGN | ||
26 | | LT | ||
27 | | LTE | ||
28 | | GT | ||
29 | | GTE | ||
30 | | EQ | ||
31 | | NEQ | ||
32 | | AND | ||
33 | | OR | ||
34 | | IMPL | ||
35 | | AQUOTE_OPEN | ||
36 | | AQUOTE_CLOSE | ||
37 | | LBRACE | ||
38 | | RBRACE | ||
39 | | LBRACK | ||
40 | | RBRACK | ||
41 | | PLUS | ||
42 | | MINUS | ||
43 | | TIMES | ||
44 | | SLASH | ||
45 | | LPAREN | ||
46 | | RPAREN | ||
47 | | COLON | ||
48 | | SEMICOLON | ||
49 | | COMMA | ||
50 | | ELLIPSIS | ||
51 | | AS | ||
52 | (* Keywords *) | ||
53 | | WITH | ||
54 | | REC | ||
55 | | LET | ||
56 | | IN | ||
57 | | INHERIT | ||
58 | | IF | ||
59 | | THEN | ||
60 | | ELSE | ||
61 | | ASSERT | ||
62 | | ORDEF | ||
63 | (* End of input *) | ||
64 | | EOF | ||