从SuperPower中的关键字获取字符串

时间:2018-07-19 13:40:02

标签: c# superpower

我正在为工作项目开发一种简单的脚本语言,因此我需要创建type name = value形式的定义语句。我一直在遵循SuperpowerSimpleSql example并创建了令牌生成器,该令牌生成器正确地对输入进行了令牌化。

问题来自于为赋值语句创建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 个答案:

答案 0 :(得分:1)

Token<TKind>为此提供了ToStringValue()

     select new ShmemWord(name.ToStringValue(), value);