Use two-way mapping for mnemonics -> opcodes

This commit is contained in:
Yoshi Askharoun
2024-01-31 16:58:28 -06:00
parent d77d2953b8
commit 0a205c2fa8
6 changed files with 238 additions and 85 deletions
+41
View File
@@ -0,0 +1,41 @@
using System;
using System.Collections.Generic;
using System.Text;
namespace Microsoft.Iris.Asm;
internal static class StringBuilderExtensions
{
#if NETSTANDARD
public static StringBuilder AppendJoin<T>(this StringBuilder sb, string? separator, IEnumerable<T> values)
{
_ = values ?? throw new ArgumentNullException(nameof(values));
separator ??= string.Empty;
using (IEnumerator<T> en = values.GetEnumerator())
{
if (!en.MoveNext())
{
return sb;
}
T value = en.Current;
if (value != null)
{
sb.Append(value.ToString());
}
while (en.MoveNext())
{
sb.Append(separator);
value = en.Current;
if (value != null)
{
sb.Append(value.ToString());
}
}
}
return sb;
}
#endif
}