Improved expression prefix
This commit is contained in:
@@ -179,6 +179,8 @@ mut_ref_px = { "&" ~ mutable }
|
|||||||
ref_px = { "&" }
|
ref_px = { "&" }
|
||||||
new_px = { "new" }
|
new_px = { "new" }
|
||||||
|
|
||||||
|
prefix_list = { prefix* }
|
||||||
|
|
||||||
expr = {
|
expr = {
|
||||||
prefix* ~ primary ~ postfix*
|
prefix_list ~ primary ~ postfix*
|
||||||
}
|
}
|
||||||
|
|||||||
+4
-9
@@ -368,15 +368,10 @@ impl From<pest::iterators::Pair<'_, Rule>> for Expression {
|
|||||||
|
|
||||||
match rule {
|
match rule {
|
||||||
Rule::expr => {
|
Rule::expr => {
|
||||||
let mut prefixes = Vec::new();
|
let prefixes: Vec<Prefix> = inner
|
||||||
|
.next()
|
||||||
while inner
|
.map(|p| p.into_inner().into_iter().map(Prefix::from).collect())
|
||||||
.peek()
|
.unwrap_or_default();
|
||||||
.map(|v| v.as_rule() == Rule::prefix)
|
|
||||||
.unwrap_or_default()
|
|
||||||
{
|
|
||||||
prefixes.push(Prefix::from(inner.next().unwrap()));
|
|
||||||
}
|
|
||||||
|
|
||||||
let exp = Expression::from(inner.next().unwrap());
|
let exp = Expression::from(inner.next().unwrap());
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user