Получить строку из ключевого слова в 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);
Другие вопросы по тегам