fix test syntax
This commit is contained in:
parent
a31134291d
commit
a7dc82ff12
@ -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;
|
||||
|
||||
|
@ -13,25 +13,28 @@ 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",
|
||||
Nodes: []*Node{{
|
||||
Name: "symbol-indexer",
|
||||
Name: "indexer",
|
||||
Nodes: []*Node{{
|
||||
Name: "symbol",
|
||||
}, {
|
||||
Name: "symbol-index",
|
||||
Nodes: []*Node{{
|
||||
Name: "symbol",
|
||||
}},
|
||||
}, {
|
||||
Name: "expression-index",
|
||||
Nodes: []*Node{{
|
||||
Name: "symbol",
|
||||
}},
|
||||
}},
|
||||
}},
|
||||
}})
|
||||
|
||||
runTestsSyntax(t, s, []testItem{{
|
||||
@ -39,18 +42,21 @@ func TestMMLExp2(t *testing.T) {
|
||||
text: "a[b].c",
|
||||
ignorePosition: true,
|
||||
nodes: []*Node{{
|
||||
Name: "symbol-indexer",
|
||||
Nodes: []*Node{{
|
||||
Name: "expression-indexer",
|
||||
Name: "indexer",
|
||||
Nodes: []*Node{{
|
||||
Name: "symbol",
|
||||
}, {
|
||||
Name: "expression-index",
|
||||
Nodes: []*Node{{
|
||||
Name: "symbol",
|
||||
}},
|
||||
}, {
|
||||
Name: "symbol-index",
|
||||
Nodes: []*Node{{
|
||||
Name: "symbol",
|
||||
}},
|
||||
}},
|
||||
}},
|
||||
}})
|
||||
})
|
||||
}
|
||||
|
Loading…
Reference in New Issue
Block a user