Получить строку из ключевого слова в SuperPower
Я работаю над простым языком сценариев для рабочего проекта, и мне нужно создать определение определения формы type name = value
, Я следовал примеру SuperpowerSimpleSql и создал токенизатор, который корректно токенизирует входные данные.
Проблема заключается в создании TokenListParser для оператора присваивания. В настоящее время синтаксический анализатор определен как это:
public static TokenListParser<AumToken, ShmemWord> ShmemWord =
from keyword in Token.EqualToValueIgnoreCase(AumToken.Keyword, "ShmemWord")
from name in Token.EqualTo(AumToken.Keyword)
from equal in Token.EqualTo(AumToken.Assignment)
from value in Token>EqualTo(AumToken.Number).Apply(Numerics.HexDigitsUInt64)
select new ShmemWord(name, value);
а также ShmemWord
простой класс с сигнатурой конструктора ShmemWord(string name, ulong value)
,
До сих пор я правильно определяю это, и как я могу преобразовать имя в строку?
1 ответ
Token<TKind>
обеспечивает ToStringValue()
за это:
select new ShmemWord(name.ToStringValue(), value);