问题标签 [polish-notation]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
127 浏览

history - 如何理解 Burks/Warren/Wright 的 Lukasiewicz Logic Machine 中的 F 函数

从 1962 年A Programming Language的第 1 章的参考书目中,我发现了对正向波兰语 (Lukasiewicz) 逻辑机的简洁描述。而且我认为我已经完成了逻辑功能F的这一部分: 伯克斯/

(2a) 是什么意思?这是一个怎样的功能?

这是我对该部分的所有实现(在 PostScript 中)(已完成 PostscriptC 版本):

0 投票
1 回答
187 浏览

java - 以波兰表示法的简单形式合并两个数组列表

我有两个字符串类型的数组列表,一个是操作数,一个是运算符

他们像这样被填满

理想情况下,我会将其转换为像这样填充的单个 ArrayList

为三个元素硬编码波兰表示法很容易,但我有不同数量的运算符和操作数(最多四个操作数和三个运算符)。此代码用于将 SQL 选择语句转换为 MongoDB.find() 语句。任何关于如何以波兰表示法(前缀波兰表示法)实现 ArrayList 合并的指针将不胜感激。

[编辑 2] 下面是一个带有 3 个运算符(“like”、“and”、“<”)和三个操作数('FLIR%'、“price”、“price”)的 SQL 语句示例,它与 MongoDB 等效。我认为使用波兰表示法可以帮助我将 SQL 的查询顺序转换为 Mongo 排序的查询

在 SQL 中

在 MongoDB 中

0 投票
1 回答
327 浏览

scala - 在 Scala 中将表达式转换为波兰符号

我想将诸如:的表达式转换为执行该精确计算a.meth(b)的类型函数。(A, B) => C

到目前为止,我最好的尝试是沿着这些思路:

然后像这样使用它:

正如您几乎可以看到的,它非常难看,您必须“手动”进行大量类型检查。

有替代方案吗?

0 投票
2 回答
560 浏览

haskell - 制作串联 Haskell 变体:应用和组合的优先级

我正在学习连接语言的基础知识,其最初的想法是函数名称连接与函数组合相同,而不是像 Haskell 中的函数应用程序。

Joy、Forth 或 Factor 是后缀,这意味着基于堆栈,但也有一些前缀连接语言,例如 Om。

我想知道 Haskell 变体理论上是否可以通过将组合优先级(现在为 9)与函数应用程序优先级(现在为 10)交换(甚至等于)来成为一种连接语言。

如果 Haskell 中的值只是零参数函数,为什么函数应用与函数组合不同?,函数应用与用零参数函数组合不一样吗?

是否有可能以简单的方式制作一个解释器或预编译器,通过定义具有不同优先级的新组合和应用运算符,并将连接语法转换为 Haskell 语法,并假设没有括号的简单连接是组合?我认为这只是语法问题,我错了吗?它可以避免许多我们必须在 Haskell 中使用括号或 $ 运算符的情况。或者它是一个更根本的问题,而不仅仅是语法和优先级?

提示:假设 Haskell 中的每个函数和运算符都是前缀,我们可以在这个练习中忘记中缀符号和各种“语法糖”。

0 投票
1 回答
296 浏览

java - 反向波兰符号代码审查

我一直试图在 SPOJ 上解决这个问题:http ://www.spoj.com/problems/ONP/ 。

我试图为上述问题实施两个堆栈解决方案。它在我的系统上运行良好,但每次我尝试将以下代码提交到 SPOJ 引擎时都会收到“错误答案”。

我不知道哪里出错了;我已经尝试了所有可能的测试用例。

PS:问题假设所有输入都用括号括起来;无需包含任何代码来解决运算符优先级。

0 投票
1 回答
64 浏览

python - 给定一个字符串,波兰表示法中最长的 WFF 的长度是多少?

我正在尝试用 Python编写WFF 'N Proof 游戏(无意侵犯版权)的始终流行的 Count-A-WFF 部分的版本。好吧,不那么受欢迎。

我认为我已经根据需要启动并运行了最多 4 个字母字符串的情况。

maximum_string 辅助函数的目的是,给定任何字符串 S,找出您可以仅从 S 的字母组成的最长 wff 之一的长度。当然,我可以继续我目前对 maximum_string 辅助函数的模式最长为 13。但是,组合爆炸是显而易见的。因此,是否有更优雅的方式来完成最大字符串辅助函数?

0 投票
4 回答
878 浏览

algorithm - 如何在将中缀表达式转换为反向波兰符号时计算方法的参数数量

我有一个像下面这样的表达。MIN(MAX(AVG(AVG(4,2),2,3),SUM(1,2))) 我已经实现了调车场算法来将中缀转换为反向波兰符号。我用两个参数添加了函数 MAX 、 MIN 和 AVG 。但是假设如果我想实现可变参数,那么我必须知道每个函数在中缀表达式中有多少个参数。有人可以告诉我如何修改调车场算法以包含否。将中缀转换为 rpn 时每个函数的参数?

0 投票
2 回答
715 浏览

c++ - 波兰语表达的计算

我正在寻找可以解释如何计算的东西Polish Expression,例如:

如果我有这个((1+2)*4)+3,通常是这样1+2*4+3 = 15,但我需要这样写:12+4*3+使用stack获取顶部的值并再次放入堆栈,请参阅我的代码:https ://ideone.com/0bdkkM

我已经看到一篇帖子,但我不明白如何进行所需的操作:StackOverflow

0 投票
1 回答
1218 浏览

c - 使用链表的 RPN 计算器

我的代码有问题。它似乎只适用于一位数 int。我不知道如何创建一个适用于大于 9 的 int 的函数。如果字符串为空,我也不知道如何结束程序。

这是我的代码:

0 投票
0 回答
203 浏览

c - RPN 计算器程序出现错误 C

我正在创建一个反向波兰符号计算器,它还可以做一些其他的事情argv[]来输入选项。但是现在,我只有 RPN 计算器选项,我遇到了一个奇怪的错误,我需要帮助。

我收到错误消息:

这是我的代码: