Я сейчас в середине создания простого интерпретатора байт-кода, который использует RPN для обозначения выражений и действительно постфиксной нотации для чего-либо, но теперь я пришел к вопросу, который есть: может ли оценка короткого замыкания на самом деле быть используется для постфиксных выражений? Например, при оценке выражения (false & & (factorial (7)> factorial (5))) C++ знает, что оператор & & на двух операндах оценивает значение false до того, как он даже попадает во второй операнд, поскольку (false & & ничего) всегда равно false. Теперь, когда вы помещаете это в RPN, вы получаете (false (7 факториалов 5 факториалов>) & &).Оценка короткого замыкания RPN
Я хотел создать эффективный синтаксический анализатор выражения RPN, поэтому проблема заключается в следующем: как сделать эффективный парсер выражения RPN с оценкой короткого замыкания?
Вы пишете код. Мы не здесь, чтобы проектировать вашу систему для вас или научить вас, как ее проектировать. –
@MarcB Спасибо за информацию, которую я думаю. Во всяком случае, я получил полезный ответ, так что да. –
RPN и постфиксные обозначения - это одно и то же, а не две разные вещи. Вы не создаете парсеры RPN в интерпретаторы. Ввод уже разобран и может обрабатываться линейно. Если вам нужна оценка короткого замыкания, вам нужно ввести филиалы. – EJP