进程代数的解析器

时间:2011-06-03 17:48:42

标签: java

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

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

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

1 个答案:

答案 0 :(得分:2)

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

要解决这个问题,你需要一个能识别过程语言语法的“parser”。

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

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