Improved expression prefix

This commit is contained in:
2026-05-05 22:44:38 +02:00
parent d958057502
commit 3211b6e6ec
2 changed files with 7 additions and 10 deletions
+3 -1
View File
@@ -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
View File
@@ -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());