我想为进程代数创建一个解析器。过程代数具有以下语法:

System=P:[s,l]|(P:[s,l']|P:[s,l])\{a,b}

如何检查字符串语句是否遵循此语法???一些伪代码会很有帮助。

最佳答案

在一般情况下,您不能使用正则表达式来完成此任务,因为您具有嵌套结构(括号表达式)。你至少需要所谓的“push-down automaton”的力量。

为了解决这个问题,你需要一个叫做“parser”的东西来识别过程语言的语法。

你有语言的语法规范吗?您可以使用 ANTLR 之类的工具来表达语法。

研究此 Google 搜索的结果:Java Parser Generators

关于java - 进程代数的解析器,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/6230729/

10-09 04:14