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:alias = range-from? nl* ":" nl* range-to?;
simple-indexer:alias = primary-expression "[" nl* expression nl* "]";
range-indexer:alias = primary-expression "[" nl* range nl* "]";
expression-indexer = simple-indexer | range-indexer;
symbol-indexer = primary-expression nl* "." nl* symbol;
// simple-indexer:alias = primary-expression "[" nl* expression nl* "]";
// range-indexer:alias = primary-expression "[" nl* range nl* "]";
// expression-indexer = simple-indexer | range-indexer;
// 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? ")";
@ -84,8 +90,9 @@ primary-expression:alias = int
| mutable-struct
| function
| effect
| expression-indexer
| symbol-indexer
// | expression-indexer
// | symbol-indexer
| indexer
| function-application
| expression-group;

View File

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