我想为进程代数创建一个解析器。进程代数具有以下语法:
System=P:[s,l]|(P:[s,l']|P:[s,l])\{a,b}
如何检查字符串语句是否遵循此语法?一些伪代码会非常有用。
答案 0 :(得分:2)
在一般情况下,您不能使用正则表达式来完成此任务,因为您具有嵌套构造(括号表达式)。你至少需要所谓“push-down automaton”的力量。
要解决这个问题,你需要一个能识别过程语言语法的“parser”。
你有语言的语法规范吗?您可以使用ANTLR等工具表达语法。
研究此Google搜索的结果:Java Parser Generators