Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/joomla/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Syntax 算术/命题逻辑/布尔代数中字符串的基本语法检查算法?_Syntax - Fatal编程技术网

Syntax 算术/命题逻辑/布尔代数中字符串的基本语法检查算法?

Syntax 算术/命题逻辑/布尔代数中字符串的基本语法检查算法?,syntax,Syntax,我想为布尔代数中的字符串编写一个简单的语法检查算法,当&仅当传递的字符串格式正确时,该算法才会返回true 在英语中,您可以如下定义格式良好的布尔代数公式集:字母、整数0和整数1都是格式良好的公式;格式良好的公式集在否定(',一元,后缀)析取(+,二元,中缀)和连词(*,二元,中缀)下闭合;任何不符合上述两条规定的内容都是不符合规定的 所以,二元连接词需要有一个格式良好的公式作为两边的参数,一元连接词必须有一个格式良好的参数,括号应该正确嵌套。。。等等 我大致知道需要做什么,但我不确定如何将其转

我想为布尔代数中的字符串编写一个简单的语法检查算法,当&仅当传递的字符串格式正确时,该算法才会返回true

在英语中,您可以如下定义格式良好的布尔代数公式集:字母、整数0和整数1都是格式良好的公式;格式良好的公式集在否定(',一元,后缀)析取(+,二元,中缀)和连词(*,二元,中缀)下闭合;任何不符合上述两条规定的内容都是不符合规定的

所以,二元连接词需要有一个格式良好的公式作为两边的参数,一元连接词必须有一个格式良好的参数,括号应该正确嵌套。。。等等


我大致知道需要做什么,但我不确定如何将其转化为算法。有人能帮忙吗?

你忘了括号(可能)。您想完全自己编写还是使用现有的帮助软件(LIB)?编程语言?我希望它独立于语言。括号当然是一个问题。但是:我目前正在用Java编写程序,可能会在某个时候将其移植到Javascript,有库的解决方案比没有解决方案更好。:)还有一件事:我的程序已经通过将中缀转换为后缀,然后解析后缀,将格式良好的字符串解析为树结构。我觉得可能有某种方法可以利用它进行语法检查,但我不确定。