build(rust): vendor rnix parser crate

This commit was merged in pull request #57.
This commit is contained in:
2026-09-16 15:51:43 -04:00
parent cbdf482422
commit 82ad65a3a4
492 changed files with 67785 additions and 1 deletions

View File

@@ -0,0 +1,21 @@
error: unexpected TOKEN_ERROR at 2..3, wanted any of [TOKEN_IDENT, TOKEN_OR, TOKEN_CUR_POS]
NODE_ROOT@0..12
NODE_ATTR_SET@0..12
TOKEN_L_BRACE@0..1 "{"
TOKEN_WHITESPACE@1..2 " "
NODE_ATTRPATH_VALUE@2..10
NODE_ATTRPATH@2..4
NODE_ERROR@2..3
TOKEN_ERROR@2..3 "$"
NODE_IDENT@3..4
TOKEN_IDENT@3..4 "a"
TOKEN_WHITESPACE@4..5 " "
TOKEN_ASSIGN@5..6 "="
TOKEN_WHITESPACE@6..7 " "
NODE_STRING@7..9
TOKEN_STRING_START@7..8 "\""
TOKEN_STRING_END@8..9 "\""
TOKEN_SEMICOLON@9..10 ";"
TOKEN_WHITESPACE@10..11 " "
TOKEN_R_BRACE@11..12 "}"

View File

@@ -0,0 +1 @@
{ $a = ""; }

View File

@@ -0,0 +1,110 @@
error: unexpected TOKEN_STRING_START at 10..28, wanted any of [TOKEN_ASSIGN]
error: unexpected TOKEN_STRING_START at 78..98, wanted any of [TOKEN_ASSIGN]
error: unexpected TOKEN_R_BRACE at 162..166, wanted any of [TOKEN_ASSIGN]
error: unexpected end of file, wanted any of [TOKEN_ASSIGN]
error: unexpected end of file
error: unexpected end of file, wanted any of [TOKEN_SEMICOLON]
error: unexpected end of file
error: unexpected end of file, wanted any of [TOKEN_SEMICOLON]
error: unexpected end of file
NODE_ROOT@0..166
NODE_ATTR_SET@0..166
TOKEN_L_BRACE@0..1 "{"
TOKEN_WHITESPACE@1..4 "\n "
NODE_ATTRPATH_VALUE@4..33
NODE_ATTRPATH@4..9
NODE_IDENT@4..9
TOKEN_IDENT@4..9 "hello"
TOKEN_WHITESPACE@9..10 " "
NODE_ERROR@10..28
TOKEN_STRING_START@10..11 "\""
TOKEN_STRING_CONTENT@11..27 "Hello Ùnicödə"
TOKEN_STRING_END@27..28 "\""
TOKEN_WHITESPACE@28..29 " "
TOKEN_ASSIGN@29..30 "="
TOKEN_WHITESPACE@30..31 " "
NODE_LITERAL@31..32
TOKEN_INTEGER@31..32 "1"
TOKEN_SEMICOLON@32..33 ";"
TOKEN_WHITESPACE@33..36 "\n "
NODE_ATTRPATH_VALUE@36..120
NODE_ATTRPATH@36..40
NODE_IDENT@36..40
TOKEN_IDENT@36..40 "test"
TOKEN_WHITESPACE@40..41 " "
TOKEN_ASSIGN@41..42 "="
TOKEN_WHITESPACE@42..43 " "
NODE_ATTR_SET@43..119
TOKEN_L_BRACE@43..44 "{"
TOKEN_WHITESPACE@44..49 "\n "
NODE_ATTRPATH_VALUE@49..65
NODE_ATTRPATH@49..54
NODE_IDENT@49..54
TOKEN_IDENT@49..54 "valid"
TOKEN_WHITESPACE@54..55 " "
TOKEN_ASSIGN@55..56 "="
TOKEN_WHITESPACE@56..57 " "
NODE_STRING@57..64
TOKEN_STRING_START@57..58 "\""
TOKEN_STRING_CONTENT@58..63 "entry"
TOKEN_STRING_END@63..64 "\""
TOKEN_SEMICOLON@64..65 ";"
TOKEN_WHITESPACE@65..70 "\n "
NODE_ATTRPATH_VALUE@70..115
NODE_ATTRPATH@70..77
NODE_IDENT@70..77
TOKEN_IDENT@70..77 "invalid"
TOKEN_WHITESPACE@77..78 " "
NODE_ERROR@78..98
TOKEN_STRING_START@78..79 "\""
TOKEN_STRING_CONTENT@79..84 "entry"
TOKEN_STRING_END@84..85 "\""
TOKEN_SEMICOLON@85..86 ";"
TOKEN_WHITESPACE@86..91 "\n "
TOKEN_IDENT@91..98 "another"
TOKEN_WHITESPACE@98..99 " "
TOKEN_ASSIGN@99..100 "="
TOKEN_WHITESPACE@100..101 " "
NODE_STRING@101..114
TOKEN_STRING_START@101..102 "\""
TOKEN_STRING_CONTENT@102..113 "valid entry"
TOKEN_STRING_END@113..114 "\""
TOKEN_SEMICOLON@114..115 ";"
TOKEN_WHITESPACE@115..118 "\n "
TOKEN_R_BRACE@118..119 "}"
TOKEN_SEMICOLON@119..120 ";"
TOKEN_WHITESPACE@120..123 "\n "
NODE_ATTRPATH_VALUE@123..166
NODE_ATTRPATH@123..128
NODE_IDENT@123..128
TOKEN_IDENT@123..128 "test2"
TOKEN_WHITESPACE@128..129 " "
TOKEN_ASSIGN@129..130 "="
TOKEN_WHITESPACE@130..131 " "
NODE_ATTR_SET@131..166
TOKEN_L_BRACE@131..132 "{"
TOKEN_WHITESPACE@132..137 "\n "
NODE_ATTRPATH_VALUE@137..150
NODE_ATTRPATH@137..142
NODE_IDENT@137..142
TOKEN_IDENT@137..142 "hello"
TOKEN_WHITESPACE@142..143 " "
TOKEN_ASSIGN@143..144 "="
TOKEN_WHITESPACE@144..145 " "
NODE_STRING@145..149
TOKEN_STRING_START@145..146 "\""
TOKEN_STRING_CONTENT@146..148 "hi"
TOKEN_STRING_END@148..149 "\""
TOKEN_SEMICOLON@149..150 ";"
TOKEN_WHITESPACE@150..155 "\n "
NODE_ATTRPATH_VALUE@155..166
NODE_ATTRPATH@155..159
NODE_IDENT@155..159
TOKEN_IDENT@155..159 "aaaa"
TOKEN_WHITESPACE@159..162 "\n "
NODE_ERROR@162..166
TOKEN_R_BRACE@162..163 "}"
TOKEN_SEMICOLON@163..164 ";"
TOKEN_WHITESPACE@164..165 "\n"
TOKEN_R_BRACE@165..166 "}"

View File

@@ -0,0 +1,12 @@
{
hello "Hello Ùnicödə" = 1;
test = {
valid = "entry";
invalid "entry";
another = "valid entry";
};
test2 = {
hello = "hi";
aaaa
};
}

View File

@@ -0,0 +1,9 @@
error: unexpected token at 3..4
NODE_ROOT@0..4
NODE_ATTR_SET@0..2
TOKEN_L_BRACE@0..1 "{"
TOKEN_R_BRACE@1..2 "}"
TOKEN_WHITESPACE@2..3 "\n"
NODE_ERROR@3..4
TOKEN_COMMA@3..4 ","

View File

@@ -0,0 +1,2 @@
{}
,

View File

@@ -0,0 +1,20 @@
error: unexpected double bind at 4..6
NODE_ROOT@0..10
NODE_LAMBDA@0..10
NODE_PATTERN@0..6
NODE_PAT_BIND@0..2
NODE_IDENT@0..1
TOKEN_IDENT@0..1 "f"
TOKEN_AT@1..2 "@"
TOKEN_L_BRACE@2..3 "{"
TOKEN_R_BRACE@3..4 "}"
NODE_ERROR@4..6
TOKEN_AT@4..5 "@"
NODE_IDENT@5..6
TOKEN_IDENT@5..6 "f"
TOKEN_COLON@6..7 ":"
TOKEN_WHITESPACE@7..8 "\n"
NODE_STRING@8..10
TOKEN_STRING_START@8..9 "\""
TOKEN_STRING_END@9..10 "\""

View File

@@ -0,0 +1,2 @@
f@{}@f:
""

View File

@@ -0,0 +1,25 @@
error: unexpected TOKEN_L_PAREN at 12..13, wanted any of [TOKEN_IDENT, TOKEN_OR, TOKEN_CUR_POS]
error: unexpected TOKEN_R_PAREN at 14..15, wanted any of [TOKEN_IDENT, TOKEN_OR, TOKEN_CUR_POS]
NODE_ROOT@0..20
NODE_ATTR_SET@0..20
TOKEN_L_BRACE@0..1 "{"
TOKEN_WHITESPACE@1..2 " "
NODE_INHERIT@2..18
TOKEN_INHERIT@2..9 "inherit"
TOKEN_WHITESPACE@9..10 " "
NODE_IDENT@10..11
TOKEN_IDENT@10..11 "a"
TOKEN_WHITESPACE@11..12 " "
NODE_ERROR@12..13
TOKEN_L_PAREN@12..13 "("
NODE_IDENT@13..14
TOKEN_IDENT@13..14 "b"
NODE_ERROR@14..15
TOKEN_R_PAREN@14..15 ")"
TOKEN_WHITESPACE@15..16 " "
NODE_IDENT@16..17
TOKEN_IDENT@16..17 "c"
TOKEN_SEMICOLON@17..18 ";"
TOKEN_WHITESPACE@18..19 " "
TOKEN_R_BRACE@19..20 "}"

View File

@@ -0,0 +1 @@
{ inherit a (b) c; }

View File

@@ -0,0 +1,11 @@
error: unexpected end of file
error: unexpected end of file, wanted any of [TOKEN_SEMICOLON]
error: unexpected end of file
error: unexpected end of file
NODE_ROOT@0..13
NODE_LET_IN@0..13
TOKEN_LET@0..3 "let"
TOKEN_WHITESPACE@3..6 "\n "
NODE_INHERIT@6..13
TOKEN_INHERIT@6..13 "inherit"

View File

@@ -0,0 +1,2 @@
let
inherit

View File

@@ -0,0 +1,5 @@
error: unexpected TOKEN_ERROR at 0..1, wanted any of [TOKEN_L_PAREN, TOKEN_REC, TOKEN_L_BRACE, TOKEN_L_BRACK, TOKEN_STRING_START, TOKEN_IDENT]
NODE_ROOT@0..1
NODE_ERROR@0..1
TOKEN_ERROR@0..1 "~"

View File

@@ -0,0 +1 @@
~

View File

@@ -0,0 +1,5 @@
error: unexpected TOKEN_ERROR at 0..9, wanted any of [TOKEN_L_PAREN, TOKEN_REC, TOKEN_L_BRACE, TOKEN_L_BRACK, TOKEN_STRING_START, TOKEN_IDENT]
NODE_ROOT@0..9
NODE_ERROR@0..9
TOKEN_ERROR@0..9 "/foo//bar"

View File

@@ -0,0 +1 @@
/foo//bar

View File

@@ -0,0 +1,10 @@
error: unexpected token at 1..7
NODE_ROOT@0..7
NODE_IDENT@0..1
TOKEN_IDENT@0..1 "a"
NODE_ERROR@1..7
TOKEN_INTERPOL_START@1..3 "${"
TOKEN_IDENT@3..4 "b"
TOKEN_INTERPOL_END@4..5 "}"
TOKEN_PATH_ABS@5..7 "/c"

View File

@@ -0,0 +1 @@
a${b}/c

View File

@@ -0,0 +1,12 @@
error: unexpected token at 8..9
NODE_ROOT@0..9
NODE_PATH_REL@0..8
TOKEN_PATH_REL@0..2 "./"
NODE_INTERPOL@2..8
TOKEN_INTERPOL_START@2..4 "${"
NODE_IDENT@4..7
TOKEN_IDENT@4..7 "foo"
TOKEN_INTERPOL_END@7..8 "}"
NODE_ERROR@8..9
TOKEN_ERROR@8..9 "/"

View File

@@ -0,0 +1 @@
./${foo}/

View File

@@ -0,0 +1,59 @@
error: unexpected TOKEN_ERROR at 57..66, wanted any of [TOKEN_L_PAREN, TOKEN_REC, TOKEN_L_BRACE, TOKEN_L_BRACK, TOKEN_STRING_START, TOKEN_IDENT]
error: unexpected TOKEN_ERROR at 84..93, wanted any of [TOKEN_L_PAREN, TOKEN_REC, TOKEN_L_BRACE, TOKEN_L_BRACK, TOKEN_STRING_START, TOKEN_IDENT]
error: unexpected TOKEN_ERROR at 108..110, wanted any of [TOKEN_L_PAREN, TOKEN_REC, TOKEN_L_BRACE, TOKEN_L_BRACK, TOKEN_STRING_START, TOKEN_IDENT]
error: unexpected TOKEN_ERROR at 128..133, wanted any of [TOKEN_L_PAREN, TOKEN_REC, TOKEN_L_BRACE, TOKEN_L_BRACK, TOKEN_STRING_START, TOKEN_IDENT]
NODE_ROOT@0..141
NODE_ATTR_SET@0..141
TOKEN_L_BRACE@0..1 "{"
TOKEN_WHITESPACE@1..4 "\n "
TOKEN_COMMENT@4..38 "# Multiple path error ..."
TOKEN_WHITESPACE@38..41 "\n "
NODE_ATTRPATH_VALUE@41..67
NODE_ATTRPATH@41..54
NODE_IDENT@41..54
TOKEN_IDENT@41..54 "trailingSlash"
TOKEN_WHITESPACE@54..55 " "
TOKEN_ASSIGN@55..56 "="
TOKEN_WHITESPACE@56..57 " "
NODE_ERROR@57..66
TOKEN_ERROR@57..66 "/foo/bar/"
TOKEN_SEMICOLON@66..67 ";"
TOKEN_WHITESPACE@67..70 "\n "
NODE_ATTRPATH_VALUE@70..94
NODE_ATTRPATH@70..81
NODE_IDENT@70..81
TOKEN_IDENT@70..81 "doubleSlash"
TOKEN_WHITESPACE@81..82 " "
TOKEN_ASSIGN@82..83 "="
TOKEN_WHITESPACE@83..84 " "
NODE_ERROR@84..93
TOKEN_ERROR@84..93 "/foo//bar"
TOKEN_SEMICOLON@93..94 ";"
TOKEN_WHITESPACE@94..97 "\n "
NODE_ATTRPATH_VALUE@97..111
NODE_ATTRPATH@97..105
NODE_IDENT@97..105
TOKEN_IDENT@97..105 "bareHome"
TOKEN_WHITESPACE@105..106 " "
TOKEN_ASSIGN@106..107 "="
TOKEN_WHITESPACE@107..108 " "
NODE_ERROR@108..110
TOKEN_ERROR@108..110 "~/"
TOKEN_SEMICOLON@110..111 ";"
TOKEN_WHITESPACE@111..114 "\n "
NODE_ATTRPATH_VALUE@114..139
NODE_ATTRPATH@114..125
NODE_IDENT@114..125
TOKEN_IDENT@114..125 "tildeMiddle"
TOKEN_WHITESPACE@125..126 " "
TOKEN_ASSIGN@126..127 "="
TOKEN_WHITESPACE@127..128 " "
NODE_APPLY@128..138
NODE_ERROR@128..133
TOKEN_ERROR@128..133 "/foo/"
NODE_PATH_HOME@133..138
TOKEN_PATH_HOME@133..138 "~/bar"
TOKEN_SEMICOLON@138..139 ";"
TOKEN_WHITESPACE@139..140 "\n"
TOKEN_R_BRACE@140..141 "}"

View File

@@ -0,0 +1,7 @@
{
# Multiple path errors in one file
trailingSlash = /foo/bar/;
doubleSlash = /foo//bar;
bareHome = ~/;
tildeMiddle = /foo/~/bar;
}

View File

@@ -0,0 +1,17 @@
error: unexpected TOKEN_LESS at 0..1, wanted any of [TOKEN_L_PAREN, TOKEN_REC, TOKEN_L_BRACE, TOKEN_L_BRACK, TOKEN_STRING_START, TOKEN_IDENT]
error: unexpected end of file
NODE_ROOT@0..20
NODE_BIN_OP@0..20
NODE_APPLY@0..19
NODE_ERROR@0..1
TOKEN_LESS@0..1 "<"
NODE_PATH_REL@1..19
TOKEN_PATH_REL@1..9 "nixpkgs/"
NODE_INTERPOL@9..15
TOKEN_INTERPOL_START@9..11 "${"
NODE_IDENT@11..14
TOKEN_IDENT@11..14 "foo"
TOKEN_INTERPOL_END@14..15 "}"
TOKEN_PATH_REL@15..19 "/bar"
TOKEN_MORE@19..20 ">"

View File

@@ -0,0 +1 @@
<nixpkgs/${foo}/bar>

View File

@@ -0,0 +1,5 @@
error: unexpected TOKEN_ERROR at 0..2, wanted any of [TOKEN_L_PAREN, TOKEN_REC, TOKEN_L_BRACE, TOKEN_L_BRACK, TOKEN_STRING_START, TOKEN_IDENT]
NODE_ROOT@0..2
NODE_ERROR@0..2
TOKEN_ERROR@0..2 "~p"

View File

@@ -0,0 +1 @@
~p

View File

@@ -0,0 +1,5 @@
error: unexpected TOKEN_ERROR at 0..2, wanted any of [TOKEN_L_PAREN, TOKEN_REC, TOKEN_L_BRACE, TOKEN_L_BRACK, TOKEN_STRING_START, TOKEN_IDENT]
NODE_ROOT@0..2
NODE_ERROR@0..2
TOKEN_ERROR@0..2 "~/"

View File

@@ -0,0 +1 @@
~/

View File

@@ -0,0 +1,5 @@
error: unexpected TOKEN_ERROR at 0..3, wanted any of [TOKEN_L_PAREN, TOKEN_REC, TOKEN_L_BRACE, TOKEN_L_BRACK, TOKEN_STRING_START, TOKEN_IDENT]
NODE_ROOT@0..3
NODE_ERROR@0..3
TOKEN_ERROR@0..3 "/a/"

View File

@@ -0,0 +1 @@
/a/

View File

@@ -0,0 +1,9 @@
error: unexpected TOKEN_R_BRACK at 0..1, wanted any of [TOKEN_L_PAREN, TOKEN_REC, TOKEN_L_BRACE, TOKEN_L_BRACK, TOKEN_STRING_START, TOKEN_IDENT]
error: unexpected end of file, wanted any of [TOKEN_IDENT, TOKEN_OR, TOKEN_CUR_POS]
NODE_ROOT@0..2
NODE_SELECT@0..2
NODE_ERROR@0..1
TOKEN_R_BRACK@0..1 "]"
TOKEN_DOT@1..2 "."
NODE_ATTRPATH@2..2

View File

@@ -0,0 +1 @@
].

View File

@@ -0,0 +1,23 @@
error: unexpected end of file
error: unexpected end of file, wanted any of [TOKEN_SEMICOLON]
error: unexpected end of file
NODE_ROOT@0..50
NODE_ATTR_SET@0..48
TOKEN_L_BRACE@0..1 "{"
TOKEN_WHITESPACE@1..4 "\n "
NODE_ATTRPATH_VALUE@4..48
NODE_ATTRPATH@4..11
NODE_IDENT@4..11
TOKEN_IDENT@4..11 "traceIf"
TOKEN_WHITESPACE@11..12 " "
TOKEN_ASSIGN@12..13 "="
TOKEN_WHITESPACE@13..18 "\n "
TOKEN_COMMENT@18..38 "# predicate to check"
TOKEN_WHITESPACE@38..43 "\n "
NODE_LAMBDA@43..48
NODE_IDENT_PARAM@43..47
NODE_IDENT@43..47
TOKEN_IDENT@43..47 "pred"
TOKEN_COLON@47..48 ":"
TOKEN_WHITESPACE@48..50 "\n\n"

View File

@@ -0,0 +1,6 @@
{
traceIf =
# predicate to check
pred:

View File

@@ -0,0 +1,10 @@
error: unexpected token at 3..4
NODE_ROOT@0..5
NODE_ATTR_SET@0..2
TOKEN_L_BRACE@0..1 "{"
TOKEN_R_BRACE@1..2 "}"
TOKEN_WHITESPACE@2..3 " "
NODE_ERROR@3..4
TOKEN_ASSIGN@3..4 "="
TOKEN_WHITESPACE@4..5 "\n"

View File

@@ -0,0 +1,2 @@
{} =

View File

@@ -0,0 +1,18 @@
NODE_ROOT@0..9
NODE_BIN_OP@0..9
NODE_APPLY@0..5
NODE_APPLY@0..3
NODE_IDENT@0..1
TOKEN_IDENT@0..1 "a"
TOKEN_WHITESPACE@1..2 " "
NODE_LITERAL@2..3
TOKEN_INTEGER@2..3 "1"
TOKEN_WHITESPACE@3..4 " "
NODE_LITERAL@4..5
TOKEN_INTEGER@4..5 "2"
TOKEN_WHITESPACE@5..6 " "
TOKEN_ADD@6..7 "+"
TOKEN_WHITESPACE@7..8 " "
NODE_LITERAL@8..9
TOKEN_INTEGER@8..9 "3"

View File

@@ -0,0 +1 @@
a 1 2 + 3

View File

@@ -0,0 +1,16 @@
NODE_ROOT@0..18
NODE_ASSERT@0..18
TOKEN_ASSERT@0..6 "assert"
TOKEN_WHITESPACE@6..7 " "
NODE_BIN_OP@7..11
NODE_IDENT@7..8
TOKEN_IDENT@7..8 "a"
TOKEN_EQUAL@8..10 "=="
NODE_IDENT@10..11
TOKEN_IDENT@10..11 "b"
TOKEN_SEMICOLON@11..12 ";"
NODE_STRING@12..18
TOKEN_STRING_START@12..13 "\""
TOKEN_STRING_CONTENT@13..17 "a==b"
TOKEN_STRING_END@17..18 "\""

View File

@@ -0,0 +1 @@
assert a==b;"a==b"

View File

@@ -0,0 +1,19 @@
NODE_ROOT@0..10
NODE_ATTR_SET@0..10
TOKEN_L_BRACE@0..1 "{"
NODE_ATTRPATH_VALUE@1..9
NODE_ATTRPATH@1..6
NODE_IDENT@1..2
TOKEN_IDENT@1..2 "a"
TOKEN_DOT@2..3 "."
NODE_IDENT@3..4
TOKEN_IDENT@3..4 "b"
TOKEN_DOT@4..5 "."
NODE_IDENT@5..6
TOKEN_IDENT@5..6 "c"
TOKEN_ASSIGN@6..7 "="
NODE_LITERAL@7..8
TOKEN_INTEGER@7..8 "1"
TOKEN_SEMICOLON@8..9 ";"
TOKEN_R_BRACE@9..10 "}"

View File

@@ -0,0 +1 @@
{a.b.c=1;}

View File

@@ -0,0 +1,28 @@
NODE_ROOT@0..49
NODE_ATTR_SET@0..49
TOKEN_L_BRACE@0..1 "{"
TOKEN_WHITESPACE@1..4 "\n "
NODE_ATTRPATH_VALUE@4..25
NODE_ATTRPATH@4..19
NODE_IDENT@4..19
TOKEN_IDENT@4..19 "meaning_of_life"
TOKEN_WHITESPACE@19..20 " "
TOKEN_ASSIGN@20..21 "="
TOKEN_WHITESPACE@21..22 " "
NODE_LITERAL@22..24
TOKEN_INTEGER@22..24 "42"
TOKEN_SEMICOLON@24..25 ";"
TOKEN_WHITESPACE@25..28 "\n "
NODE_ATTRPATH_VALUE@28..47
NODE_ATTRPATH@28..38
NODE_IDENT@28..38
TOKEN_IDENT@28..38 "H4X0RNUM83"
TOKEN_WHITESPACE@38..39 " "
TOKEN_ASSIGN@39..40 "="
TOKEN_WHITESPACE@40..41 " "
NODE_LITERAL@41..46
TOKEN_FLOAT@41..46 "1.337"
TOKEN_SEMICOLON@46..47 ";"
TOKEN_WHITESPACE@47..48 "\n"
TOKEN_R_BRACE@48..49 "}"

View File

@@ -0,0 +1,4 @@
{
meaning_of_life = 42;
H4X0RNUM83 = 1.337;
}

View File

@@ -0,0 +1,43 @@
NODE_ROOT@0..33
NODE_ATTR_SET@0..33
TOKEN_L_BRACE@0..1 "{"
TOKEN_WHITESPACE@1..4 "\n "
NODE_ATTRPATH_VALUE@4..12
NODE_ATTRPATH@4..7
NODE_IDENT@4..5
TOKEN_IDENT@4..5 "a"
TOKEN_DOT@5..6 "."
NODE_IDENT@6..7
TOKEN_IDENT@6..7 "b"
TOKEN_WHITESPACE@7..8 " "
TOKEN_ASSIGN@8..9 "="
TOKEN_WHITESPACE@9..10 " "
NODE_LITERAL@10..11
TOKEN_INTEGER@10..11 "2"
TOKEN_SEMICOLON@11..12 ";"
TOKEN_WHITESPACE@12..15 "\n "
NODE_ATTRPATH_VALUE@15..31
NODE_ATTRPATH@15..26
NODE_STRING@15..21
TOKEN_STRING_START@15..16 "\""
NODE_INTERPOL@16..20
TOKEN_INTERPOL_START@16..18 "${"
NODE_IDENT@18..19
TOKEN_IDENT@18..19 "c"
TOKEN_INTERPOL_END@19..20 "}"
TOKEN_STRING_END@20..21 "\""
TOKEN_DOT@21..22 "."
NODE_DYNAMIC@22..26
TOKEN_INTERPOL_START@22..24 "${"
NODE_IDENT@24..25
TOKEN_IDENT@24..25 "d"
TOKEN_INTERPOL_END@25..26 "}"
TOKEN_WHITESPACE@26..27 " "
TOKEN_ASSIGN@27..28 "="
TOKEN_WHITESPACE@28..29 " "
NODE_LITERAL@29..30
TOKEN_INTEGER@29..30 "3"
TOKEN_SEMICOLON@30..31 ";"
TOKEN_WHITESPACE@31..32 "\n"
TOKEN_R_BRACE@32..33 "}"

View File

@@ -0,0 +1,4 @@
{
a.b = 2;
"${c}".${d} = 3;
}

View File

@@ -0,0 +1,5 @@
NODE_ROOT@0..2
NODE_ATTR_SET@0..2
TOKEN_L_BRACE@0..1 "{"
TOKEN_R_BRACE@1..2 "}"

View File

@@ -0,0 +1 @@
{}

View File

@@ -0,0 +1,14 @@
NODE_ROOT@0..12
NODE_ATTR_SET@0..12
TOKEN_REC@0..3 "rec"
TOKEN_L_BRACE@3..4 "{"
NODE_ATTRPATH_VALUE@4..11
NODE_ATTRPATH@4..8
NODE_IDENT@4..8
TOKEN_IDENT@4..8 "test"
TOKEN_ASSIGN@8..9 "="
NODE_LITERAL@9..10
TOKEN_INTEGER@9..10 "1"
TOKEN_SEMICOLON@10..11 ";"
TOKEN_R_BRACE@11..12 "}"

View File

@@ -0,0 +1 @@
rec{test=1;}

View File

@@ -0,0 +1,32 @@
NODE_ROOT@0..20
NODE_BIN_OP@0..20
NODE_BIN_OP@0..3
NODE_LITERAL@0..1
TOKEN_INTEGER@0..1 "1"
TOKEN_LESS@1..2 "<"
NODE_LITERAL@2..3
TOKEN_INTEGER@2..3 "2"
TOKEN_OR_OR@3..5 "||"
NODE_BIN_OP@5..20
NODE_BIN_OP@5..14
NODE_BIN_OP@5..9
NODE_LITERAL@5..6
TOKEN_INTEGER@5..6 "2"
TOKEN_LESS_OR_EQ@6..8 "<="
NODE_LITERAL@8..9
TOKEN_INTEGER@8..9 "2"
TOKEN_AND_AND@9..11 "&&"
NODE_BIN_OP@11..14
NODE_LITERAL@11..12
TOKEN_INTEGER@11..12 "2"
TOKEN_MORE@12..13 ">"
NODE_LITERAL@13..14
TOKEN_INTEGER@13..14 "1"
TOKEN_AND_AND@14..16 "&&"
NODE_BIN_OP@16..20
NODE_LITERAL@16..17
TOKEN_INTEGER@16..17 "2"
TOKEN_MORE_OR_EQ@17..19 ">="
NODE_LITERAL@19..20
TOKEN_INTEGER@19..20 "2"

View File

@@ -0,0 +1 @@
1<2||2<=2&&2>1&&2>=2

View File

@@ -0,0 +1,23 @@
NODE_ROOT@0..33
NODE_BIN_OP@0..33
NODE_IDENT@0..5
TOKEN_IDENT@0..5 "false"
TOKEN_WHITESPACE@5..6 " "
TOKEN_IMPLICATION@6..8 "->"
NODE_BIN_OP@8..33
NODE_BIN_OP@8..27
NODE_UNARY_OP@8..14
TOKEN_INVERT@8..9 "!"
NODE_IDENT@9..14
TOKEN_IDENT@9..14 "false"
TOKEN_AND_AND@14..16 "&&"
NODE_BIN_OP@16..27
NODE_IDENT@16..21
TOKEN_IDENT@16..21 "false"
TOKEN_EQUAL@21..23 "=="
NODE_IDENT@23..27
TOKEN_IDENT@23..27 "true"
TOKEN_OR_OR@27..29 "||"
NODE_IDENT@29..33
TOKEN_IDENT@29..33 "true"

View File

@@ -0,0 +1 @@
false ->!false&&false==true||true

View File

@@ -0,0 +1,16 @@
NODE_ROOT@0..10
NODE_BIN_OP@0..10
NODE_BIN_OP@0..4
NODE_LITERAL@0..1
TOKEN_INTEGER@0..1 "1"
TOKEN_EQUAL@1..3 "=="
NODE_LITERAL@3..4
TOKEN_INTEGER@3..4 "1"
TOKEN_AND_AND@4..6 "&&"
NODE_BIN_OP@6..10
NODE_LITERAL@6..7
TOKEN_INTEGER@6..7 "2"
TOKEN_NOT_EQUAL@7..9 "!="
NODE_LITERAL@9..10
TOKEN_INTEGER@9..10 "3"

View File

@@ -0,0 +1 @@
1==1&&2!=3

View File

@@ -0,0 +1,30 @@
NODE_ROOT@0..44
NODE_STRING@0..44
TOKEN_STRING_START@0..1 "\""
NODE_INTERPOL@1..17
TOKEN_INTERPOL_START@1..3 "${"
NODE_SELECT@3..16
NODE_CUR_POS@3..11
TOKEN_CUR_POS@3..11 "__curPos"
TOKEN_DOT@11..12 "."
NODE_ATTRPATH@12..16
NODE_IDENT@12..16
TOKEN_IDENT@12..16 "file"
TOKEN_INTERPOL_END@16..17 "}"
TOKEN_STRING_CONTENT@17..18 ":"
NODE_INTERPOL@18..43
TOKEN_INTERPOL_START@18..20 "${"
NODE_APPLY@20..42
NODE_IDENT@20..28
TOKEN_IDENT@20..28 "toString"
TOKEN_WHITESPACE@28..29 " "
NODE_SELECT@29..42
NODE_CUR_POS@29..37
TOKEN_CUR_POS@29..37 "__curPos"
TOKEN_DOT@37..38 "."
NODE_ATTRPATH@38..42
NODE_IDENT@38..42
TOKEN_IDENT@38..42 "line"
TOKEN_INTERPOL_END@42..43 "}"
TOKEN_STRING_END@43..44 "\""

View File

@@ -0,0 +1 @@
"${__curPos.file}:${toString __curPos.line}"

View File

@@ -0,0 +1,22 @@
NODE_ROOT@0..26
NODE_SELECT@0..26
NODE_ATTR_SET@0..17
TOKEN_L_BRACE@0..1 "{"
TOKEN_WHITESPACE@1..2 " "
NODE_ATTRPATH_VALUE@2..15
NODE_ATTRPATH@2..10
NODE_IDENT@2..10
TOKEN_IDENT@2..10 "__curPos"
TOKEN_WHITESPACE@10..11 " "
TOKEN_ASSIGN@11..12 "="
TOKEN_WHITESPACE@12..13 " "
NODE_LITERAL@13..14
TOKEN_INTEGER@13..14 "1"
TOKEN_SEMICOLON@14..15 ";"
TOKEN_WHITESPACE@15..16 " "
TOKEN_R_BRACE@16..17 "}"
TOKEN_DOT@17..18 "."
NODE_ATTRPATH@18..26
NODE_IDENT@18..26
TOKEN_IDENT@18..26 "__curPos"

View File

@@ -0,0 +1 @@
{ __curPos = 1; }.__curPos

View File

@@ -0,0 +1,10 @@
NODE_ROOT@0..18
NODE_LAMBDA@0..18
NODE_IDENT_PARAM@0..8
NODE_IDENT@0..8
TOKEN_IDENT@0..8 "__curPos"
TOKEN_COLON@8..9 ":"
TOKEN_WHITESPACE@9..10 " "
NODE_CUR_POS@10..18
TOKEN_CUR_POS@10..18 "__curPos"

View File

@@ -0,0 +1 @@
__curPos: __curPos

View File

@@ -0,0 +1,22 @@
NODE_ROOT@0..32
NODE_LET_IN@0..32
TOKEN_LET@0..3 "let"
TOKEN_WHITESPACE@3..4 " "
NODE_ATTRPATH_VALUE@4..20
NODE_ATTRPATH@4..12
NODE_IDENT@4..12
TOKEN_IDENT@4..12 "__curPos"
TOKEN_WHITESPACE@12..13 " "
TOKEN_ASSIGN@13..14 "="
TOKEN_WHITESPACE@14..15 " "
NODE_STRING@15..19
TOKEN_STRING_START@15..16 "\""
TOKEN_STRING_CONTENT@16..18 "no"
TOKEN_STRING_END@18..19 "\""
TOKEN_SEMICOLON@19..20 ";"
TOKEN_WHITESPACE@20..21 " "
TOKEN_IN@21..23 "in"
TOKEN_WHITESPACE@23..24 " "
NODE_CUR_POS@24..32
TOKEN_CUR_POS@24..32 "__curPos"

View File

@@ -0,0 +1 @@
let __curPos = "no"; in __curPos

View File

@@ -0,0 +1,17 @@
NODE_ROOT@0..24
NODE_LAMBDA@0..24
NODE_PATTERN@0..14
NODE_PAT_BIND@0..10
NODE_IDENT@0..8
TOKEN_IDENT@0..8 "__curPos"
TOKEN_WHITESPACE@8..9 " "
TOKEN_AT@9..10 "@"
TOKEN_WHITESPACE@10..11 " "
TOKEN_L_BRACE@11..12 "{"
TOKEN_WHITESPACE@12..13 " "
TOKEN_R_BRACE@13..14 "}"
TOKEN_COLON@14..15 ":"
TOKEN_WHITESPACE@15..16 " "
NODE_CUR_POS@16..24
TOKEN_CUR_POS@16..24 "__curPos"

View File

@@ -0,0 +1 @@
__curPos @ { }: __curPos

View File

@@ -0,0 +1,20 @@
NODE_ROOT@0..26
NODE_LAMBDA@0..26
NODE_PATTERN@0..16
TOKEN_L_BRACE@0..1 "{"
TOKEN_WHITESPACE@1..2 " "
NODE_PAT_ENTRY@2..14
NODE_IDENT@2..10
TOKEN_IDENT@2..10 "__curPos"
TOKEN_WHITESPACE@10..11 " "
TOKEN_QUESTION@11..12 "?"
TOKEN_WHITESPACE@12..13 " "
NODE_LITERAL@13..14
TOKEN_INTEGER@13..14 "1"
TOKEN_WHITESPACE@14..15 " "
TOKEN_R_BRACE@15..16 "}"
TOKEN_COLON@16..17 ":"
TOKEN_WHITESPACE@17..18 " "
NODE_CUR_POS@18..26
TOKEN_CUR_POS@18..26 "__curPos"

View File

@@ -0,0 +1 @@
{ __curPos ? 1 }: __curPos

View File

@@ -0,0 +1,18 @@
NODE_ROOT@0..27
NODE_LAMBDA@0..27
NODE_PATTERN@0..17
TOKEN_L_BRACE@0..1 "{"
TOKEN_WHITESPACE@1..2 " "
NODE_PAT_ENTRY@2..10
NODE_IDENT@2..10
TOKEN_IDENT@2..10 "__curPos"
TOKEN_COMMA@10..11 ","
TOKEN_WHITESPACE@11..12 " "
TOKEN_ELLIPSIS@12..15 "..."
TOKEN_WHITESPACE@15..16 " "
TOKEN_R_BRACE@16..17 "}"
TOKEN_COLON@17..18 ":"
TOKEN_WHITESPACE@18..19 " "
NODE_CUR_POS@19..27
TOKEN_CUR_POS@19..27 "__curPos"

View File

@@ -0,0 +1 @@
{ __curPos, ... }: __curPos

View File

@@ -0,0 +1,4 @@
NODE_ROOT@0..8
NODE_CUR_POS@0..8
TOKEN_CUR_POS@0..8 "__curPos"

View File

@@ -0,0 +1 @@
__curPos

View File

@@ -0,0 +1,85 @@
NODE_ROOT@0..306
TOKEN_COMMENT@0..35 "# Test used by exampl ..."
TOKEN_WHITESPACE@35..36 "\n"
NODE_ATTR_SET@36..306
TOKEN_REC@36..39 "rec"
TOKEN_WHITESPACE@39..40 " "
TOKEN_L_BRACE@40..41 "{"
TOKEN_WHITESPACE@41..44 "\n "
TOKEN_COMMENT@44..60 "# Usage: add x y"
TOKEN_WHITESPACE@60..63 "\n "
TOKEN_COMMENT@63..122 "# Adds the integers x ..."
TOKEN_WHITESPACE@122..125 "\n "
NODE_ATTRPATH_VALUE@125..196
NODE_ATTRPATH@125..128
NODE_IDENT@125..128
TOKEN_IDENT@125..128 "add"
TOKEN_WHITESPACE@128..129 " "
TOKEN_ASSIGN@129..130 "="
TOKEN_WHITESPACE@130..135 "\n "
TOKEN_COMMENT@135..150 "# First integer"
TOKEN_WHITESPACE@150..155 "\n "
NODE_LAMBDA@155..195
NODE_IDENT_PARAM@155..156
NODE_IDENT@155..156
TOKEN_IDENT@155..156 "x"
TOKEN_COLON@156..157 ":"
TOKEN_WHITESPACE@157..162 "\n "
TOKEN_COMMENT@162..178 "# Second integer"
TOKEN_WHITESPACE@178..183 "\n "
NODE_LAMBDA@183..195
NODE_IDENT_PARAM@183..184
NODE_IDENT@183..184
TOKEN_IDENT@183..184 "y"
TOKEN_COLON@184..185 ":"
TOKEN_WHITESPACE@185..190 "\n "
NODE_BIN_OP@190..195
NODE_IDENT@190..191
TOKEN_IDENT@190..191 "x"
TOKEN_WHITESPACE@191..192 " "
TOKEN_ADD@192..193 "+"
TOKEN_WHITESPACE@193..194 " "
NODE_IDENT@194..195
TOKEN_IDENT@194..195 "y"
TOKEN_SEMICOLON@195..196 ";"
TOKEN_WHITESPACE@196..199 "\n "
TOKEN_COMMENT@199..216 "# Usage: sum nums"
TOKEN_WHITESPACE@216..219 "\n "
TOKEN_COMMENT@219..262 "# Returns the sum of ..."
TOKEN_WHITESPACE@262..265 "\n "
NODE_ATTRPATH_VALUE@265..304
NODE_ATTRPATH@265..268
NODE_IDENT@265..268
TOKEN_IDENT@265..268 "sum"
TOKEN_WHITESPACE@268..269 " "
TOKEN_ASSIGN@269..270 "="
TOKEN_WHITESPACE@270..271 " "
NODE_LAMBDA@271..303
NODE_IDENT_PARAM@271..275
NODE_IDENT@271..275
TOKEN_IDENT@271..275 "nums"
TOKEN_COLON@275..276 ":"
TOKEN_WHITESPACE@276..277 " "
NODE_APPLY@277..303
NODE_APPLY@277..298
NODE_APPLY@277..296
NODE_SELECT@277..292
NODE_IDENT@277..285
TOKEN_IDENT@277..285 "builtins"
TOKEN_DOT@285..286 "."
NODE_ATTRPATH@286..292
NODE_IDENT@286..292
TOKEN_IDENT@286..292 "foldl'"
TOKEN_WHITESPACE@292..293 " "
NODE_IDENT@293..296
TOKEN_IDENT@293..296 "add"
TOKEN_WHITESPACE@296..297 " "
NODE_LITERAL@297..298
TOKEN_INTEGER@297..298 "0"
TOKEN_WHITESPACE@298..299 " "
NODE_IDENT@299..303
TOKEN_IDENT@299..303 "nums"
TOKEN_SEMICOLON@303..304 ";"
TOKEN_WHITESPACE@304..305 "\n"
TOKEN_R_BRACE@305..306 "}"

View File

@@ -0,0 +1,14 @@
# Test used by examples/list-fns.rs
rec {
# Usage: add x y
# Adds the integers x and y together and returns the result
add =
# First integer
x:
# Second integer
y:
x + y;
# Usage: sum nums
# Returns the sum of the integer array nums
sum = nums: builtins.foldl' add 0 nums;
}

View File

@@ -0,0 +1,15 @@
NODE_ROOT@0..11
NODE_BIN_OP@0..11
NODE_HAS_ATTR@0..5
NODE_IDENT@0..1
TOKEN_IDENT@0..1 "a"
TOKEN_QUESTION@1..2 "?"
NODE_ATTRPATH@2..5
NODE_STRING@2..5
TOKEN_STRING_START@2..3 "\""
TOKEN_STRING_CONTENT@3..4 "b"
TOKEN_STRING_END@4..5 "\""
TOKEN_AND_AND@5..7 "&&"
NODE_IDENT@7..11
TOKEN_IDENT@7..11 "true"

View File

@@ -0,0 +1 @@
a?"b"&&true

View File

@@ -0,0 +1,30 @@
NODE_ROOT@0..44
NODE_IF_ELSE@0..44
TOKEN_IF@0..2 "if"
TOKEN_WHITESPACE@2..3 " "
NODE_IDENT@3..8
TOKEN_IDENT@3..8 "false"
TOKEN_WHITESPACE@8..9 " "
TOKEN_THEN@9..13 "then"
TOKEN_WHITESPACE@13..14 " "
NODE_LITERAL@14..15
TOKEN_INTEGER@14..15 "1"
TOKEN_WHITESPACE@15..16 " "
TOKEN_ELSE@16..20 "else"
TOKEN_WHITESPACE@20..21 " "
NODE_IF_ELSE@21..44
TOKEN_IF@21..23 "if"
TOKEN_WHITESPACE@23..24 " "
NODE_IDENT@24..28
TOKEN_IDENT@24..28 "true"
TOKEN_WHITESPACE@28..29 " "
TOKEN_THEN@29..33 "then"
TOKEN_WHITESPACE@33..34 " "
NODE_IDENT@34..37
TOKEN_IDENT@34..37 "two"
TOKEN_WHITESPACE@37..38 " "
TOKEN_ELSE@38..42 "else"
TOKEN_WHITESPACE@42..43 " "
NODE_LITERAL@43..44
TOKEN_INTEGER@43..44 "3"

View File

@@ -0,0 +1 @@
if false then 1 else if true then two else 3

View File

@@ -0,0 +1,11 @@
NODE_ROOT@0..17
NODE_APPLY@0..17
NODE_APPLY@0..15
NODE_IDENT@0..6
TOKEN_IDENT@0..6 "import"
NODE_PATH_SEARCH@6..15
TOKEN_PATH_SEARCH@6..15 "<nixpkgs>"
NODE_ATTR_SET@15..17
TOKEN_L_BRACE@15..16 "{"
TOKEN_R_BRACE@16..17 "}"

View File

@@ -0,0 +1 @@
import<nixpkgs>{}

View File

@@ -0,0 +1,102 @@
NODE_ROOT@0..96
NODE_LET_IN@0..96
TOKEN_LET@0..3 "let"
TOKEN_WHITESPACE@3..6 "\n "
NODE_ATTRPATH_VALUE@6..12
NODE_ATTRPATH@6..7
NODE_IDENT@6..7
TOKEN_IDENT@6..7 "y"
TOKEN_WHITESPACE@7..8 " "
TOKEN_ASSIGN@8..9 "="
TOKEN_WHITESPACE@9..10 " "
NODE_LITERAL@10..11
TOKEN_INTEGER@10..11 "2"
TOKEN_SEMICOLON@11..12 ";"
TOKEN_WHITESPACE@12..15 "\n "
NODE_ATTRPATH_VALUE@15..46
NODE_ATTRPATH@15..18
NODE_IDENT@15..18
TOKEN_IDENT@15..18 "set"
TOKEN_WHITESPACE@18..19 " "
TOKEN_ASSIGN@19..20 "="
TOKEN_WHITESPACE@20..21 " "
NODE_ATTR_SET@21..45
TOKEN_L_BRACE@21..22 "{"
TOKEN_WHITESPACE@22..23 " "
NODE_ATTRPATH_VALUE@23..29
NODE_ATTRPATH@23..24
NODE_IDENT@23..24
TOKEN_IDENT@23..24 "z"
TOKEN_WHITESPACE@24..25 " "
TOKEN_ASSIGN@25..26 "="
TOKEN_WHITESPACE@26..27 " "
NODE_LITERAL@27..28
TOKEN_INTEGER@27..28 "3"
TOKEN_SEMICOLON@28..29 ";"
TOKEN_WHITESPACE@29..30 " "
NODE_ATTRPATH_VALUE@30..36
NODE_ATTRPATH@30..31
NODE_IDENT@30..31
TOKEN_IDENT@30..31 "a"
TOKEN_WHITESPACE@31..32 " "
TOKEN_ASSIGN@32..33 "="
TOKEN_WHITESPACE@33..34 " "
NODE_LITERAL@34..35
TOKEN_INTEGER@34..35 "4"
TOKEN_SEMICOLON@35..36 ";"
TOKEN_WHITESPACE@36..37 " "
NODE_ATTRPATH_VALUE@37..43
NODE_ATTRPATH@37..38
NODE_IDENT@37..38
TOKEN_IDENT@37..38 "b"
TOKEN_WHITESPACE@38..39 " "
TOKEN_ASSIGN@39..40 "="
TOKEN_WHITESPACE@40..41 " "
NODE_LITERAL@41..42
TOKEN_INTEGER@41..42 "5"
TOKEN_SEMICOLON@42..43 ";"
TOKEN_WHITESPACE@43..44 " "
TOKEN_R_BRACE@44..45 "}"
TOKEN_SEMICOLON@45..46 ";"
TOKEN_WHITESPACE@46..47 "\n"
TOKEN_IN@47..49 "in"
TOKEN_WHITESPACE@49..50 " "
NODE_ATTR_SET@50..96
TOKEN_L_BRACE@50..51 "{"
TOKEN_WHITESPACE@51..54 "\n "
NODE_ATTRPATH_VALUE@54..60
NODE_ATTRPATH@54..55
NODE_IDENT@54..55
TOKEN_IDENT@54..55 "x"
TOKEN_WHITESPACE@55..56 " "
TOKEN_ASSIGN@56..57 "="
TOKEN_WHITESPACE@57..58 " "
NODE_LITERAL@58..59
TOKEN_INTEGER@58..59 "1"
TOKEN_SEMICOLON@59..60 ";"
TOKEN_WHITESPACE@60..63 "\n "
NODE_INHERIT@63..73
TOKEN_INHERIT@63..70 "inherit"
TOKEN_WHITESPACE@70..71 " "
NODE_IDENT@71..72
TOKEN_IDENT@71..72 "y"
TOKEN_SEMICOLON@72..73 ";"
TOKEN_WHITESPACE@73..76 "\n "
NODE_INHERIT@76..94
TOKEN_INHERIT@76..83 "inherit"
TOKEN_WHITESPACE@83..84 " "
NODE_INHERIT_FROM@84..89
TOKEN_L_PAREN@84..85 "("
NODE_IDENT@85..88
TOKEN_IDENT@85..88 "set"
TOKEN_R_PAREN@88..89 ")"
TOKEN_WHITESPACE@89..90 " "
NODE_IDENT@90..91
TOKEN_IDENT@90..91 "z"
TOKEN_WHITESPACE@91..92 " "
NODE_IDENT@92..93
TOKEN_IDENT@92..93 "a"
TOKEN_SEMICOLON@93..94 ";"
TOKEN_WHITESPACE@94..95 "\n"
TOKEN_R_BRACE@95..96 "}"

View File

@@ -0,0 +1,8 @@
let
y = 2;
set = { z = 3; a = 4; b = 5; };
in {
x = 1;
inherit y;
inherit (set) z a;
}

View File

@@ -0,0 +1,77 @@
NODE_ROOT@0..95
NODE_ATTR_SET@0..95
TOKEN_L_BRACE@0..1 "{"
NODE_ATTRPATH_VALUE@1..5
NODE_ATTRPATH@1..2
NODE_IDENT@1..2
TOKEN_IDENT@1..2 "a"
TOKEN_ASSIGN@2..3 "="
NODE_LITERAL@3..4
TOKEN_INTEGER@3..4 "1"
TOKEN_SEMICOLON@4..5 ";"
NODE_INHERIT@5..17
TOKEN_INHERIT@5..12 "inherit"
TOKEN_WHITESPACE@12..13 " "
NODE_IDENT@13..14
TOKEN_IDENT@13..14 "b"
TOKEN_WHITESPACE@14..15 " "
NODE_IDENT@15..16
TOKEN_IDENT@15..16 "c"
TOKEN_SEMICOLON@16..17 ";"
NODE_INHERIT@17..35
TOKEN_INHERIT@17..24 "inherit"
TOKEN_WHITESPACE@24..25 " "
NODE_INHERIT_FROM@25..30
TOKEN_L_PAREN@25..26 "("
NODE_IDENT@26..29
TOKEN_IDENT@26..29 "set"
TOKEN_R_PAREN@29..30 ")"
TOKEN_WHITESPACE@30..31 " "
NODE_IDENT@31..32
TOKEN_IDENT@31..32 "d"
TOKEN_WHITESPACE@32..33 " "
NODE_IDENT@33..34
TOKEN_IDENT@33..34 "e"
TOKEN_SEMICOLON@34..35 ";"
TOKEN_WHITESPACE@35..36 " "
NODE_INHERIT@36..51
TOKEN_INHERIT@36..43 "inherit"
TOKEN_WHITESPACE@43..44 " "
NODE_DYNAMIC@44..50
TOKEN_INTERPOL_START@44..46 "${"
NODE_STRING@46..49
TOKEN_STRING_START@46..47 "\""
TOKEN_STRING_CONTENT@47..48 "f"
TOKEN_STRING_END@48..49 "\""
TOKEN_INTERPOL_END@49..50 "}"
TOKEN_SEMICOLON@50..51 ";"
TOKEN_WHITESPACE@51..52 " "
NODE_INHERIT@52..66
TOKEN_INHERIT@52..59 "inherit"
TOKEN_WHITESPACE@59..60 " "
NODE_STRING@60..65
TOKEN_STRING_START@60..61 "\""
TOKEN_STRING_CONTENT@61..64 "foo"
TOKEN_STRING_END@64..65 "\""
TOKEN_SEMICOLON@65..66 ";"
TOKEN_WHITESPACE@66..67 " "
NODE_INHERIT@67..85
TOKEN_INHERIT@67..74 "inherit"
TOKEN_WHITESPACE@74..75 " "
NODE_INHERIT_FROM@75..78
TOKEN_L_PAREN@75..76 "("
NODE_IDENT@76..77
TOKEN_IDENT@76..77 "a"
TOKEN_R_PAREN@77..78 ")"
TOKEN_WHITESPACE@78..79 " "
NODE_STRING@79..84
TOKEN_STRING_START@79..80 "\""
TOKEN_STRING_CONTENT@80..83 "bar"
TOKEN_STRING_END@83..84 "\""
TOKEN_SEMICOLON@84..85 ";"
TOKEN_WHITESPACE@85..86 " "
NODE_INHERIT@86..94
TOKEN_INHERIT@86..93 "inherit"
TOKEN_SEMICOLON@93..94 ";"
TOKEN_R_BRACE@94..95 "}"

View File

@@ -0,0 +1 @@
{a=1;inherit b c;inherit (set) d e; inherit ${"f"}; inherit "foo"; inherit (a) "bar"; inherit;}

View File

@@ -0,0 +1,107 @@
NODE_ROOT@0..270
NODE_LET_IN@0..270
TOKEN_LET@0..3 "let"
TOKEN_WHITESPACE@3..6 "\n "
NODE_ATTRPATH_VALUE@6..22
NODE_ATTRPATH@6..11
NODE_IDENT@6..11
TOKEN_IDENT@6..11 "world"
TOKEN_WHITESPACE@11..12 " "
TOKEN_ASSIGN@12..13 "="
TOKEN_WHITESPACE@13..14 " "
NODE_STRING@14..21
TOKEN_STRING_START@14..15 "\""
TOKEN_STRING_CONTENT@15..20 "World"
TOKEN_STRING_END@20..21 "\""
TOKEN_SEMICOLON@21..22 ";"
TOKEN_WHITESPACE@22..23 "\n"
TOKEN_IN@23..25 "in"
TOKEN_WHITESPACE@25..26 " "
NODE_ATTR_SET@26..270
TOKEN_L_BRACE@26..27 "{"
TOKEN_WHITESPACE@27..30 "\n "
NODE_ATTRPATH_VALUE@30..57
NODE_ATTRPATH@30..36
NODE_IDENT@30..36
TOKEN_IDENT@30..36 "string"
TOKEN_WHITESPACE@36..37 " "
TOKEN_ASSIGN@37..38 "="
TOKEN_WHITESPACE@38..39 " "
NODE_STRING@39..56
TOKEN_STRING_START@39..40 "\""
TOKEN_STRING_CONTENT@40..46 "Hello "
NODE_INTERPOL@46..54
TOKEN_INTERPOL_START@46..48 "${"
NODE_IDENT@48..53
TOKEN_IDENT@48..53 "world"
TOKEN_INTERPOL_END@53..54 "}"
TOKEN_STRING_CONTENT@54..55 "!"
TOKEN_STRING_END@55..56 "\""
TOKEN_SEMICOLON@56..57 ";"
TOKEN_WHITESPACE@57..60 "\n "
NODE_ATTRPATH_VALUE@60..268
NODE_ATTRPATH@60..69
NODE_IDENT@60..69
TOKEN_IDENT@60..69 "multiline"
TOKEN_WHITESPACE@69..70 " "
TOKEN_ASSIGN@70..71 "="
TOKEN_WHITESPACE@71..72 " "
NODE_STRING@72..267
TOKEN_STRING_START@72..74 "''"
TOKEN_STRING_CONTENT@74..101 "\n The set's x valu ..."
NODE_INTERPOL@101..161
TOKEN_INTERPOL_START@101..103 "${"
TOKEN_WHITESPACE@103..110 "\n "
NODE_SELECT@110..155
NODE_ATTR_SET@110..153
TOKEN_L_BRACE@110..111 "{"
TOKEN_WHITESPACE@111..120 "\n "
NODE_ATTRPATH_VALUE@120..128
NODE_ATTRPATH@120..121
NODE_IDENT@120..121
TOKEN_IDENT@120..121 "x"
TOKEN_WHITESPACE@121..122 " "
TOKEN_ASSIGN@122..123 "="
TOKEN_WHITESPACE@123..124 " "
NODE_STRING@124..127
TOKEN_STRING_START@124..125 "\""
TOKEN_STRING_CONTENT@125..126 "1"
TOKEN_STRING_END@126..127 "\""
TOKEN_SEMICOLON@127..128 ";"
TOKEN_WHITESPACE@128..137 "\n "
NODE_ATTRPATH_VALUE@137..145
NODE_ATTRPATH@137..138
NODE_IDENT@137..138
TOKEN_IDENT@137..138 "y"
TOKEN_WHITESPACE@138..139 " "
TOKEN_ASSIGN@139..140 "="
TOKEN_WHITESPACE@140..141 " "
NODE_STRING@141..144
TOKEN_STRING_START@141..142 "\""
TOKEN_STRING_CONTENT@142..143 "2"
TOKEN_STRING_END@143..144 "\""
TOKEN_SEMICOLON@144..145 ";"
TOKEN_WHITESPACE@145..152 "\n "
TOKEN_R_BRACE@152..153 "}"
TOKEN_DOT@153..154 "."
NODE_ATTRPATH@154..155
NODE_IDENT@154..155
TOKEN_IDENT@154..155 "x"
TOKEN_WHITESPACE@155..160 "\n "
TOKEN_INTERPOL_END@160..161 "}"
TOKEN_STRING_CONTENT@161..253 "\n\n This line shall ..."
NODE_INTERPOL@253..262
TOKEN_INTERPOL_START@253..255 "${"
TOKEN_WHITESPACE@255..256 " "
NODE_STRING@256..260
TOKEN_STRING_START@256..257 "\""
TOKEN_STRING_CONTENT@257..259 "hi"
TOKEN_STRING_END@259..260 "\""
TOKEN_WHITESPACE@260..261 " "
TOKEN_INTERPOL_END@261..262 "}"
TOKEN_STRING_CONTENT@262..265 "\n "
TOKEN_STRING_END@265..267 "''"
TOKEN_SEMICOLON@267..268 ";"
TOKEN_WHITESPACE@268..269 "\n"
TOKEN_R_BRACE@269..270 "}"

View File

@@ -0,0 +1,18 @@
let
world = "World";
in {
string = "Hello ${world}!";
multiline = ''
The set's x value is: ${
{
x = "1";
y = "2";
}.x
}
This line shall have no indention
This line shall be indented by 2
''\n
${ "hi" }
'';
}

View File

@@ -0,0 +1,9 @@
NODE_ROOT@0..6
NODE_LAMBDA@0..6
NODE_IDENT_PARAM@0..1
NODE_IDENT@0..1
TOKEN_IDENT@0..1 "_"
TOKEN_COLON@1..2 ":"
NODE_IDENT@2..6
TOKEN_IDENT@2..6 "null"

View File

@@ -0,0 +1 @@
_:null

View File

@@ -0,0 +1,14 @@
NODE_ROOT@0..7
NODE_LAMBDA@0..7
NODE_IDENT_PARAM@0..1
NODE_IDENT@0..1
TOKEN_IDENT@0..1 "m"
TOKEN_COLON@1..2 ":"
NODE_LIST@2..7
TOKEN_L_BRACK@2..3 "["
TOKEN_WHITESPACE@3..4 " "
NODE_IDENT@4..5
TOKEN_IDENT@4..5 "m"
TOKEN_WHITESPACE@5..6 " "
TOKEN_R_BRACK@6..7 "]"

View File

@@ -0,0 +1 @@
m:[ m ]

View File

@@ -0,0 +1,22 @@
NODE_ROOT@0..11
NODE_LAMBDA@0..11
NODE_IDENT_PARAM@0..1
NODE_IDENT@0..1
TOKEN_IDENT@0..1 "a"
TOKEN_COLON@1..2 ":"
TOKEN_WHITESPACE@2..3 " "
NODE_LAMBDA@3..11
NODE_IDENT_PARAM@3..4
NODE_IDENT@3..4
TOKEN_IDENT@3..4 "b"
TOKEN_COLON@4..5 ":"
TOKEN_WHITESPACE@5..6 " "
NODE_BIN_OP@6..11
NODE_IDENT@6..7
TOKEN_IDENT@6..7 "a"
TOKEN_WHITESPACE@7..8 " "
TOKEN_ADD@8..9 "+"
TOKEN_WHITESPACE@9..10 " "
NODE_IDENT@10..11
TOKEN_IDENT@10..11 "b"

View File

@@ -0,0 +1 @@
a: b: a + b

View File

@@ -0,0 +1,20 @@
NODE_ROOT@0..16
NODE_LET_IN@0..16
TOKEN_LET@0..3 "let"
TOKEN_WHITESPACE@3..4 " "
NODE_ATTRPATH_VALUE@4..11
NODE_ATTRPATH@4..5
NODE_IDENT@4..5
TOKEN_IDENT@4..5 "a"
TOKEN_WHITESPACE@5..6 " "
TOKEN_ASSIGN@6..7 "="
TOKEN_WHITESPACE@7..8 " "
NODE_LITERAL@8..10
TOKEN_INTEGER@8..10 "42"
TOKEN_SEMICOLON@10..11 ";"
TOKEN_WHITESPACE@11..12 " "
TOKEN_IN@12..14 "in"
TOKEN_WHITESPACE@14..15 " "
NODE_IDENT@15..16
TOKEN_IDENT@15..16 "a"

View File

@@ -0,0 +1 @@
let a = 42; in a

View File

@@ -0,0 +1,22 @@
NODE_ROOT@0..17
NODE_LEGACY_LET@0..17
TOKEN_LET@0..3 "let"
TOKEN_L_BRACE@3..4 "{"
NODE_ATTRPATH_VALUE@4..9
NODE_ATTRPATH@4..5
NODE_IDENT@4..5
TOKEN_IDENT@4..5 "a"
TOKEN_ASSIGN@5..6 "="
NODE_LITERAL@6..8
TOKEN_INTEGER@6..8 "42"
TOKEN_SEMICOLON@8..9 ";"
NODE_ATTRPATH_VALUE@9..16
NODE_ATTRPATH@9..13
NODE_IDENT@9..13
TOKEN_IDENT@9..13 "body"
TOKEN_ASSIGN@13..14 "="
NODE_IDENT@14..15
TOKEN_IDENT@14..15 "a"
TOKEN_SEMICOLON@15..16 ";"
TOKEN_R_BRACE@16..17 "}"

View File

@@ -0,0 +1 @@
let{a=42;body=a;}

View File

@@ -0,0 +1,18 @@
NODE_ROOT@0..13
NODE_LIST@0..13
TOKEN_L_BRACK@0..1 "["
NODE_IDENT@1..2
TOKEN_IDENT@1..2 "a"
TOKEN_WHITESPACE@2..3 " "
NODE_LITERAL@3..4
TOKEN_INTEGER@3..4 "2"
TOKEN_WHITESPACE@4..5 " "
NODE_LITERAL@5..6
TOKEN_INTEGER@5..6 "3"
TOKEN_WHITESPACE@6..7 " "
NODE_STRING@7..12
TOKEN_STRING_START@7..8 "\""
TOKEN_STRING_CONTENT@8..11 "lol"
TOKEN_STRING_END@11..12 "\""
TOKEN_R_BRACK@12..13 "]"

View File

@@ -0,0 +1 @@
[a 2 3 "lol"]

View File

@@ -0,0 +1,21 @@
NODE_ROOT@0..15
NODE_BIN_OP@0..15
NODE_LIST@0..3
TOKEN_L_BRACK@0..1 "["
NODE_LITERAL@1..2
TOKEN_INTEGER@1..2 "1"
TOKEN_R_BRACK@2..3 "]"
TOKEN_CONCAT@3..5 "++"
NODE_BIN_OP@5..15
NODE_LIST@5..10
TOKEN_L_BRACK@5..6 "["
NODE_IDENT@6..9
TOKEN_IDENT@6..9 "two"
TOKEN_R_BRACK@9..10 "]"
TOKEN_CONCAT@10..12 "++"
NODE_LIST@12..15
TOKEN_L_BRACK@12..13 "["
NODE_LITERAL@13..14
TOKEN_INTEGER@13..14 "3"
TOKEN_R_BRACK@14..15 "]"

View File

@@ -0,0 +1 @@
[1]++[two]++[3]

Some files were not shown because too many files have changed in this diff Show More