问题标签 [postfix-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 投票
4 回答
960 浏览

parsing - 有什么原因我不能创建支持中缀、后缀和前缀函数等的语言?

我一直在考虑创建一种非常适合创建 DSL 的语言,方法是允许定义中缀、后缀、前缀甚至由多个单词组成的函数。例如,您可以如下定义中缀乘法运算符(其中 multiply(X,Y) 已定义):

或后缀“平方”运算符:

或者是 C 或 Java 风格的三元运算符,它涉及两个散布在变量中的关键字:

显然,在这种语言中存在很多歧义,但如果它是静态类型的(使用类型推断),则可以消除大多数歧义,并且可以将剩余的歧义视为语法错误(通过添加括号来纠正合适的)。

是否有一些我看不到的原因会使这变得极其困难、不可能,或者只是一个糟糕的主意?

编辑:许多人向我指出了可能执行此操作或类似操作的语言,但我实际上对如何实现我自己的解析器的指针感兴趣,或者如果这样做我可能会遇到的问题。

0 投票
4 回答
15577 浏览

validation - 后缀符号验证?

评估包含后缀表达式(例如:3 5 +)的字符串(数组,某物)以检查有效性的好方法是什么?

0 投票
2 回答
1660 浏览

ruby - Ruby 中的“评估后缀表达式”程序

我尝试制作一个小脚本来评估 Ruby 中的后修复表达式。

  1. 我不知道在不使用这种粗略方法或正则表达式的情况下检查表达式中的字符是否为整数的更好方法。你们有什么建议吗?
  2. 有没有办法抽象案例。Ruby 中有 eval("num1 ch num2") 函数吗?
0 投票
4 回答
15447 浏览

c# - 中缀到后缀转换器

我一直在研究这个中缀到后缀/polis 符号转换器。虽然,我觉得解决方案不够。特别是 j (编辑:现在称为索引)变量困扰着我。

你们有什么建议吗?或者也许有更好的方法来完成它?还是我太担心了?

0 投票
2 回答
1486 浏览

math - 如何通过归纳证明程序做了某事?

我有一个计算机程序,它读取以后缀表示法编写的操作数和运算符的字符数组。然后程序扫描数组,使用堆栈计算结果,如下所示:

我如何通过归纳证明该程序正确评估任何后缀表达式?(取自练习 4.16 Java 算法(Sedgewick 2003))

0 投票
1 回答
1435 浏览

c# - 帮助优化我的 RPN 评估功能

我的解析器通过首先从中缀转换为后缀然后使用标准后缀评估规则来评估 PEMDAS 表达式。我解析表达式并将标记存储在列表中。这个预编译对我来说没问题,因为我计划缓存预编译的函数。

我正在尝试优化评估函数(参见代码中的 Evaluate04)。在我的硬件上,我可以在不到 600 毫秒的时间内完成 1,000,000 次评估。老实说,我相信这已经足够快了。比数据库访问调用获取表达式要快得多。

我想看看你们能不能让它更快。微优化,类的完整重构。它是如何完成的并不重要。

这是我能得到的最快的,你能改进它吗?

0 投票
1 回答
1104 浏览

postfix-notation - 中缀到后缀的转换和求值

我有一个复杂的问题,我从数据库中获取公式,我需要评估它们。我选择将它们转换为后期修复......并评估它们问题是......我的公式就像

任何人都可以为这些类型的转换和评估找到解决方案...

0 投票
0 回答
4599 浏览

stack - 我们如何将前缀转换为后缀表达式(不使用表达式树)?

通过使用 Stack 数据结构,我们可以轻松地将“Infix to Postfix”和“infix to Prefix”转换,但我无法将 Prefix 转换为 postfix。

是的,我们可以将前缀转换为中缀,然后将中缀转换为后缀。但我想直接从前缀转换为后缀。

有没有可行的解决方案(不是表达式树)?

0 投票
4 回答
985 浏览

c++ - 从不遵循特定格式的字符串中提取数字和字符?(后缀计算器)

我无法从输入字符串中分离数字和字符。我的程序的目的是在后缀中加、减、乘和除, 所以我无法预测输入形式,因为它可以是从 2 2 3 + *(答案是 10)2 2 + 3 *(答案是 12)的任何东西. 所以我不能使用 sscanf 来提取数字和运算符字符,而不需要输入字符串的特定格式。我应该在这里做什么?

0 投票
2 回答
2156 浏览

java - Java 后缀计算器中的 StackOverFlowError

下面的类被另一个程序使用。当它被访问时,它会抛出一个 StackOverFlowError。这是我在大学里必须做的一个后缀计算器的一部分。

任何帮助将不胜感激,在此先感谢您。我对 Java 很陌生,我不知道该怎么做。

代码:

}