从 SuperPower 中的关键字获取字符串
Get string from Keyword in 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
是一个简单的 class 构造函数签名 ShmemWord(string name, ulong value)
.
到目前为止,我是否正确定义了它?如何将名称转换为字符串?
Token<TKind>
为此提供 ToStringValue()
:
select new ShmemWord(name.ToStringValue(), value);
我正在为一个工作项目开发一种简单的脚本语言,我需要创建一个 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
是一个简单的 class 构造函数签名 ShmemWord(string name, ulong value)
.
到目前为止,我是否正确定义了它?如何将名称转换为字符串?
Token<TKind>
为此提供 ToStringValue()
:
select new ShmemWord(name.ToStringValue(), value);