标签: superpower

用Superpower解析一个简单的文本语法

我正在尝试用Superpower创建一个解析器.我已经看过我在回购中找到的样品,但是它们有点难以理解,至少对于像我这样的初学者来说:)所以我带来了这个小挑战.

我发明了一个非常基本的语法,只是为了学习.我想到了一个电梯,它遵循一系列指令,上下,上下等待.

例:

(UP 100),
(DOWN 200),
(DOWN 100),
(DOWN @1),
(UP @3),
(WAIT),
(UP 300)
Run Code Online (Sandbox Code Playgroud)

如您所见,它由一系列以逗号分隔的动词组成,例如电梯.

  • 动词是UP,DOWNWAIT.
  • 每个动词都用括号括起来:( )
  • UPDOWN需要绝对数字相对数字,表示电梯应移动的楼层.相对楼层号码在号码前加@.
  • WAIT不接受任何号码,因为它会暂停电梯一段时间.

我真的想学习如何为这个语法创建一个基于令牌的解析器作为开始,以了解如何使用SuperPower.

.net c# parsing superpower

6
推荐指数
1
解决办法
1057
查看次数

标签 统计

.net ×1

c# ×1

parsing ×1

superpower ×1