花了一点时间完成了语法分析器。现在它应该可以实现自定义的语法。
我一直都在想,如果要做这方面的一个设计模式,应该怎么处理我的游戏架构的接口呢?

一个通用游戏引擎的设想:把语言刻入世界,还是把世界刻入语言?

现在觉得有趣的是,语法树处理一个战斗,结果在语法中是得到一个新的东西,还是返回一个已经改变的旧的?

这件事一直在困扰我。

新的和旧的有很多的含义,首先它们是区分,何时触发你想要触发的那个功能?

其次可以这样想,它们只是将这个过程包裹起来而已,

比如用一个action来包裹(a和b),然后把这个action返回出去。这个action是哪个类别?无所谓哪个类别,反正可以被后续的内容处理就是了。

有一些优先级,要求我们先处理某个action,都可以。

1, 那怎样的情况会触发类似haskell中的一些特点呢?比如无尽、比如惰性?

我只能说,用现有的机制能写出来。但是要完整的方便的体系,似乎在这个语法分析器之后,还有一个语法分析器才行?也就是说……如果把这些与意义有关的功能和语法分析脱节之后,其实我只是实现了一个词法分析器而已?我以一种语法的方式读入了我的内容,借助移进规约的方法形成了树。这个树怎么处理,则是另外一种语法的分析?

如果我把无尽和惰性用类型系统来实现,那么归于了语义的分析。反之如果把它们当作语言的一部分进行处理,(比如把类型变成一个对于世界来说特殊的存在),那才是把世界刻入了语言中。前者只是把语言刻入游戏中罢了。

在这件事上,人们能做的是无限的。在哪一方面的创新带来的深度也是无限的。这里就是世界和语言的界限。

相关文章:

  • 2022-12-23
  • 2022-01-07
  • 2021-08-05
  • 2021-06-05
  • 2022-01-29
  • 2021-12-17
  • 2022-01-13
猜你喜欢
  • 2022-01-20
  • 2021-12-26
  • 2022-12-23
  • 2021-07-15
  • 2021-12-07
  • 2021-09-25
相关资源
相似解决方案