This commit is contained in:
nub31
2025-05-08 18:57:38 +02:00
parent 1429c3a993
commit 626b2fef0c
5 changed files with 124 additions and 64 deletions

View File

@@ -396,7 +396,9 @@ public class Parser
return new StructInitializerNode(type, initializers);
}
default:
{
throw new Exception($"Unknown symbol: {symbolToken.Symbol}");
}
}
}
default:
@@ -421,18 +423,15 @@ public class Parser
case Symbol.Period:
{
Next();
List<string> members =
[
identifier.Value,
ExpectIdentifier().Value
];
while (TryExpectSymbol(Symbol.Period))
ExpressionNode result = new IdentifierNode(identifier.Value);
do
{
members.Add(ExpectIdentifier().Value);
}
var field = ExpectIdentifier();
result = new StructFieldAccessorNode(result, field.Value);
} while (TryExpectSymbol(Symbol.Period));
return new StructMemberAccessorNode(members);
return result;
}
case Symbol.OpenParen:
{