make the more nested < operators faster

This commit is contained in:
Qrakhen 2025-12-10 15:50:36 +01:00
parent 8e49a333c3
commit c42a9a42e6
2 changed files with 10 additions and 33 deletions

View File

@ -1,18 +0,0 @@
<Project Sdk="Microsoft.NET.Sdk">
<PropertyGroup>
<TargetFramework>net8.0</TargetFramework>
<ImplicitUsings>enable</ImplicitUsings>
<Nullable>enable</Nullable>
<AllowUnsafeBlocks>true</AllowUnsafeBlocks>
</PropertyGroup>
<ItemGroup>
<ProjectReference Include="..\..\Qrakhen.Loq\Qrakhen.Loq.csproj" />
</ItemGroup>
<ItemGroup>
<Folder Include="Loq\" />
</ItemGroup>
</Project>

View File

@ -320,21 +320,16 @@ public class Reader : IReader<Token>, IDisposable
'=' => Check('=') ? '=' => Check('=') ?
MakeToken(EqualEqual, buffer + Next()) : MakeToken(EqualEqual, buffer + Next()) :
MakeToken(Equal, buffer), MakeToken(Equal, buffer),
'<' => Check('~') ? '<' => Peek(1) switch {
MakeToken(Equal, buffer + Next()) : '~' => MakeToken(Equal, buffer + Next()),
Check(':') ? ':' => MakeToken(Return, buffer + Next()),
MakeToken(Return, buffer + Next()) : '+' => MakeToken(PlusEqual, buffer + Next()),
Check('+') ? '-' => MakeToken(MinusEqual, buffer + Next()),
MakeToken(PlusEqual, buffer + Next()) : '<' => MakeToken(BitwiseLeft, buffer + Next()),
Check('-') ? '=' => MakeToken(LessEqual, buffer + Next()),
MakeToken(MinusEqual, buffer + Next()) : '>' => MakeToken(TernaryElse, buffer + Next()),
Check('<') ? _ => MakeToken(Less, buffer)
MakeToken(BitwiseLeft, buffer + Next()) : },
Check('=') ?
MakeToken(LessEqual, buffer + Next()) :
Check('>') ?
MakeToken(TernaryElse, buffer + Next()) :
MakeToken(Less, buffer),
'>' => Check('>') ? '>' => Check('>') ?
MakeToken(BitwiseRight, buffer + Next()) : MakeToken(BitwiseRight, buffer + Next()) :
Check('=') ? Check('=') ?