fix test syntax

This commit is contained in:
Arpad Ryszka 2018-10-11 23:48:00 +02:00
parent a31134291d
commit a7dc82ff12
2 changed files with 30 additions and 17 deletions

View File

@ -64,10 +64,16 @@ range-from = expression;
range-to = expression; range-to = expression;
range:alias = range-from? nl* ":" nl* range-to?; range:alias = range-from? nl* ":" nl* range-to?;
simple-indexer:alias = primary-expression "[" nl* expression nl* "]"; // simple-indexer:alias = primary-expression "[" nl* expression nl* "]";
range-indexer:alias = primary-expression "[" nl* range nl* "]"; // range-indexer:alias = primary-expression "[" nl* range nl* "]";
expression-indexer = simple-indexer | range-indexer; // expression-indexer = simple-indexer | range-indexer;
symbol-indexer = primary-expression nl* "." nl* symbol; // symbol-indexer = primary-expression nl* "." nl* symbol;
symbol-index = "." nl* symbol;
expression-index = "[" nl* expression nl* "]";
index:alias = symbol-index | expression-index;
index-list:alias = index (nl* index)?;
indexer = primary-expression nl* index-list;
function-application = primary-expression "(" list-sep? expression-list? list-sep? ")"; function-application = primary-expression "(" list-sep? expression-list? list-sep? ")";
@ -84,8 +90,9 @@ primary-expression:alias = int
| mutable-struct | mutable-struct
| function | function
| effect | effect
| expression-indexer // | expression-indexer
| symbol-indexer // | symbol-indexer
| indexer
| function-application | function-application
| expression-group; | expression-group;

View File

@ -13,25 +13,28 @@ func TestMMLExp2(t *testing.T) {
t.Run("indexer", func(t *testing.T) { t.Run("indexer", func(t *testing.T) {
// BUG: // BUG:
t.Skip() // t.Skip()
runTestsSyntax(t, s, []testItem{{ runTestsSyntax(t, s, []testItem{{
title: "mixed indexer", title: "mixed indexer",
text: "a.b[c]", text: "a.b[c]",
ignorePosition: true, ignorePosition: true,
nodes: []*Node{{ nodes: []*Node{{
Name: "expression-indexer", Name: "indexer",
Nodes: []*Node{{
Name: "symbol-indexer",
Nodes: []*Node{{ Nodes: []*Node{{
Name: "symbol", Name: "symbol",
}, { }, {
Name: "symbol-index",
Nodes: []*Node{{
Name: "symbol", Name: "symbol",
}}, }},
}, { }, {
Name: "expression-index",
Nodes: []*Node{{
Name: "symbol", Name: "symbol",
}}, }},
}}, }},
}},
}}) }})
runTestsSyntax(t, s, []testItem{{ runTestsSyntax(t, s, []testItem{{
@ -39,18 +42,21 @@ func TestMMLExp2(t *testing.T) {
text: "a[b].c", text: "a[b].c",
ignorePosition: true, ignorePosition: true,
nodes: []*Node{{ nodes: []*Node{{
Name: "symbol-indexer", Name: "indexer",
Nodes: []*Node{{
Name: "expression-indexer",
Nodes: []*Node{{ Nodes: []*Node{{
Name: "symbol", Name: "symbol",
}, { }, {
Name: "expression-index",
Nodes: []*Node{{
Name: "symbol", Name: "symbol",
}}, }},
}, { }, {
Name: "symbol-index",
Nodes: []*Node{{
Name: "symbol", Name: "symbol",
}}, }},
}}, }},
}},
}}) }})
}) })
} }