From ba61dfd69504ec6263a9dee9931d93adeb6f3142 Mon Sep 17 00:00:00 2001 From: Rutger Broekhoff Date: Mon, 7 Jul 2025 21:52:08 +0200 Subject: Initialize repository --- lib/nix/tokens.ml | 64 +++++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 64 insertions(+) create mode 100644 lib/nix/tokens.ml (limited to 'lib/nix/tokens.ml') 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 @@ +type token = + (* Tokens with data *) + | INT of string + | FLOAT of string + (* A path (starting with / or ./) *) + | PATH of string + (* Search path, enclosed in < and > *) + | SPATH of string + (* Home path, starting with ~/ *) + | HPATH of string + | URI of string + | STR_START of string + | STR_MID of string + | STR_END + | ISTR_START of string + | ISTR_MID of string + | ISTR_END of int + | ID of string + (* Tokens that stand for themselves *) + | SELECT + | QMARK + | CONCAT + | NOT + | MERGE + | ASSIGN + | LT + | LTE + | GT + | GTE + | EQ + | NEQ + | AND + | OR + | IMPL + | AQUOTE_OPEN + | AQUOTE_CLOSE + | LBRACE + | RBRACE + | LBRACK + | RBRACK + | PLUS + | MINUS + | TIMES + | SLASH + | LPAREN + | RPAREN + | COLON + | SEMICOLON + | COMMA + | ELLIPSIS + | AS + (* Keywords *) + | WITH + | REC + | LET + | IN + | INHERIT + | IF + | THEN + | ELSE + | ASSERT + | ORDEF + (* End of input *) + | EOF -- cgit v1.2.3