文件名称:pratt-calculator:使用Pratt Parser编写的非常简单的表达式求值器
文件大小:27KB
文件格式:ZIP
更新时间:2024-05-28 06:12:57
nodejs javascript calculator parser pratt-parser
普拉特·帕瑟(Pratt Parser) 该项目演示了Pratt Parser的基本原理。 它基于Vaughan Pratt的,并从和中学到东西。 另外,此README文件试图简化概念,以便当我再次尝试实现此功能时(在将来的某个不确定的时刻),我将能够记住它是如何工作的。 本自述文件假定您已经阅读了前两篇文章,因为本文仅试图简化其中的一些概念,希望为它们增加直觉。 概念 通常,Pratt Parser解决以下问题:给定字符串“ 1 + 2 * 3”,“ 2”是否与“ +”或“ *”关联。 它还解决了“-”既是前缀运算符又是中缀运算符的问题,同时还很好地处理了正确的关联性。 Pratt解析器基于三个计算单元: parser . expr ( rbp ) // the expression parser token . nud ( ) // "Null Denotation" (op
【文件预览】:
pratt-calculator-master
----.eslintrc.yml(70B)
----index.js(531B)
----test.js(439B)
----package.json(825B)
----package-lock.json(47KB)
----.gitlab-ci.yml(128B)
----.prettierrc.yml(110B)
----.gitignore(14B)
----parser.js(2KB)
----lexer.js(1KB)
----README.md(3KB)
----yarn.lock(33KB)