Ric*_*ton 1 c++ compiler-construction uml language-design state-machine
最近作为我日常工作的一部分,我一直在学习IBM Rhapsody并使用它从UML生成C++代码.
昨天让我感到震惊的是,考虑将状态机支持添加到我的C++编译器可能会很酷,所以我在这里写了一些注释:http://ellcc.org/wiki/index.php/State_machines_and_Active_Classes
我这样做的动机是:
我可能会尝试扩展我的语法,除了提议看看它的工作情况.
您对该提案有何看法?它看起来可读吗?看起来值得吗?
感谢建议特定库来执行状态机的答案,但这不是我的问题.我已经使用我编写的库和代码实现了许多状态机.
我真的在寻找关于设计类似C++的语言的状态机扩展的想法,批评等,而不是这种改变是否适合添加到标准C++.可以将其视为特定于域的扩展,我的域名是实时控制应用程序.
我已经开始在我的编译器中实现扩展,如下所述:http://ellcc.org/wiki/index.php/State%5Fmachines%5Fand%5FActive%5FClasses
到目前为止,这个概念不需要从提议到实现有太大的变化,但细节上有一些变化,我正在完善我对问题语义的理解.
然而,时间将证明整个概念是否具有任何价值.;-)
小智 9
除了少数例外,C++传统上使用类库而不是新关键字进行扩展.可以使用这样的库轻松实现状态机,因此我认为您的提议没有太多机会.
我在你的提案中看到的一个问题是使用'goto'去另一个州.如果我想在状态转换中使用我自己的代码中的goto,会发生什么?