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('=') ?
MakeToken(EqualEqual, buffer + Next()) :
MakeToken(Equal, buffer),
'<' => Check('~') ?
MakeToken(Equal, buffer + Next()) :
Check(':') ?
MakeToken(Return, buffer + Next()) :
Check('+') ?
MakeToken(PlusEqual, buffer + Next()) :
Check('-') ?
MakeToken(MinusEqual, buffer + Next()) :
Check('<') ?
MakeToken(BitwiseLeft, buffer + Next()) :
Check('=') ?
MakeToken(LessEqual, buffer + Next()) :
Check('>') ?
MakeToken(TernaryElse, buffer + Next()) :
MakeToken(Less, buffer),
'<' => Peek(1) switch {
'~' => MakeToken(Equal, buffer + Next()),
':' => MakeToken(Return, buffer + Next()),
'+' => MakeToken(PlusEqual, buffer + Next()),
'-' => MakeToken(MinusEqual, buffer + Next()),
'<' => MakeToken(BitwiseLeft, buffer + Next()),
'=' => MakeToken(LessEqual, buffer + Next()),
'>' => MakeToken(TernaryElse, buffer + Next()),
_ => MakeToken(Less, buffer)
},
'>' => Check('>') ?
MakeToken(BitwiseRight, buffer + Next()) :
Check('=') ?